Files
dota-replay-dump/demo/dota_usermessages.pb.go
2022-07-11 19:18:06 +02:00

18725 lines
764 KiB
Go

// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// protoc-gen-go v1.28.0
// protoc v3.21.2
// source: dota_usermessages.proto
package demo
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 EDotaUserMessages int32
const (
EDotaUserMessages_DOTA_UM_AddUnitToSelection EDotaUserMessages = 464
EDotaUserMessages_DOTA_UM_AIDebugLine EDotaUserMessages = 465
EDotaUserMessages_DOTA_UM_ChatEvent EDotaUserMessages = 466
EDotaUserMessages_DOTA_UM_CombatHeroPositions EDotaUserMessages = 467
EDotaUserMessages_DOTA_UM_CombatLogData EDotaUserMessages = 468
EDotaUserMessages_DOTA_UM_CombatLogBulkData EDotaUserMessages = 470
EDotaUserMessages_DOTA_UM_CreateLinearProjectile EDotaUserMessages = 471
EDotaUserMessages_DOTA_UM_DestroyLinearProjectile EDotaUserMessages = 472
EDotaUserMessages_DOTA_UM_DodgeTrackingProjectiles EDotaUserMessages = 473
EDotaUserMessages_DOTA_UM_GlobalLightColor EDotaUserMessages = 474
EDotaUserMessages_DOTA_UM_GlobalLightDirection EDotaUserMessages = 475
EDotaUserMessages_DOTA_UM_InvalidCommand EDotaUserMessages = 476
EDotaUserMessages_DOTA_UM_LocationPing EDotaUserMessages = 477
EDotaUserMessages_DOTA_UM_MapLine EDotaUserMessages = 478
EDotaUserMessages_DOTA_UM_MiniKillCamInfo EDotaUserMessages = 479
EDotaUserMessages_DOTA_UM_MinimapDebugPoint EDotaUserMessages = 480
EDotaUserMessages_DOTA_UM_MinimapEvent EDotaUserMessages = 481
EDotaUserMessages_DOTA_UM_NevermoreRequiem EDotaUserMessages = 482
EDotaUserMessages_DOTA_UM_OverheadEvent EDotaUserMessages = 483
EDotaUserMessages_DOTA_UM_SetNextAutobuyItem EDotaUserMessages = 484
EDotaUserMessages_DOTA_UM_SharedCooldown EDotaUserMessages = 485
EDotaUserMessages_DOTA_UM_SpectatorPlayerClick EDotaUserMessages = 486
EDotaUserMessages_DOTA_UM_TutorialTipInfo EDotaUserMessages = 487
EDotaUserMessages_DOTA_UM_UnitEvent EDotaUserMessages = 488
EDotaUserMessages_DOTA_UM_ParticleManager EDotaUserMessages = 489
EDotaUserMessages_DOTA_UM_BotChat EDotaUserMessages = 490
EDotaUserMessages_DOTA_UM_HudError EDotaUserMessages = 491
EDotaUserMessages_DOTA_UM_ItemPurchased EDotaUserMessages = 492
EDotaUserMessages_DOTA_UM_Ping EDotaUserMessages = 493
EDotaUserMessages_DOTA_UM_ItemFound EDotaUserMessages = 494
EDotaUserMessages_DOTA_UM_CharacterSpeakConcept EDotaUserMessages = 495
EDotaUserMessages_DOTA_UM_SwapVerify EDotaUserMessages = 496
EDotaUserMessages_DOTA_UM_WorldLine EDotaUserMessages = 497
EDotaUserMessages_DOTA_UM_TournamentDrop EDotaUserMessages = 498
EDotaUserMessages_DOTA_UM_ItemAlert EDotaUserMessages = 499
EDotaUserMessages_DOTA_UM_HalloweenDrops EDotaUserMessages = 500
EDotaUserMessages_DOTA_UM_ChatWheel EDotaUserMessages = 501
EDotaUserMessages_DOTA_UM_ReceivedXmasGift EDotaUserMessages = 502
EDotaUserMessages_DOTA_UM_UpdateSharedContent EDotaUserMessages = 503
EDotaUserMessages_DOTA_UM_TutorialRequestExp EDotaUserMessages = 504
EDotaUserMessages_DOTA_UM_TutorialPingMinimap EDotaUserMessages = 505
EDotaUserMessages_DOTA_UM_GamerulesStateChanged EDotaUserMessages = 506
EDotaUserMessages_DOTA_UM_ShowSurvey EDotaUserMessages = 507
EDotaUserMessages_DOTA_UM_TutorialFade EDotaUserMessages = 508
EDotaUserMessages_DOTA_UM_AddQuestLogEntry EDotaUserMessages = 509
EDotaUserMessages_DOTA_UM_SendStatPopup EDotaUserMessages = 510
EDotaUserMessages_DOTA_UM_TutorialFinish EDotaUserMessages = 511
EDotaUserMessages_DOTA_UM_SendRoshanPopup EDotaUserMessages = 512
EDotaUserMessages_DOTA_UM_SendGenericToolTip EDotaUserMessages = 513
EDotaUserMessages_DOTA_UM_SendFinalGold EDotaUserMessages = 514
EDotaUserMessages_DOTA_UM_CustomMsg EDotaUserMessages = 515
EDotaUserMessages_DOTA_UM_CoachHUDPing EDotaUserMessages = 516
EDotaUserMessages_DOTA_UM_ClientLoadGridNav EDotaUserMessages = 517
EDotaUserMessages_DOTA_UM_TE_Projectile EDotaUserMessages = 518
EDotaUserMessages_DOTA_UM_TE_ProjectileLoc EDotaUserMessages = 519
EDotaUserMessages_DOTA_UM_TE_DotaBloodImpact EDotaUserMessages = 520
EDotaUserMessages_DOTA_UM_TE_UnitAnimation EDotaUserMessages = 521
EDotaUserMessages_DOTA_UM_TE_UnitAnimationEnd EDotaUserMessages = 522
EDotaUserMessages_DOTA_UM_AbilityPing EDotaUserMessages = 523
EDotaUserMessages_DOTA_UM_ShowGenericPopup EDotaUserMessages = 524
EDotaUserMessages_DOTA_UM_VoteStart EDotaUserMessages = 525
EDotaUserMessages_DOTA_UM_VoteUpdate EDotaUserMessages = 526
EDotaUserMessages_DOTA_UM_VoteEnd EDotaUserMessages = 527
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
EDotaUserMessages_DOTA_UM_StatsMatchDetails EDotaUserMessages = 535
EDotaUserMessages_DOTA_UM_MiniTaunt EDotaUserMessages = 536
EDotaUserMessages_DOTA_UM_BuyBackStateAlert EDotaUserMessages = 537
EDotaUserMessages_DOTA_UM_SpeechBubble EDotaUserMessages = 538
EDotaUserMessages_DOTA_UM_CustomHeaderMessage EDotaUserMessages = 539
EDotaUserMessages_DOTA_UM_QuickBuyAlert EDotaUserMessages = 540
EDotaUserMessages_DOTA_UM_StatsHeroDetails EDotaUserMessages = 541
EDotaUserMessages_DOTA_UM_PredictionResult EDotaUserMessages = 542
EDotaUserMessages_DOTA_UM_ModifierAlert EDotaUserMessages = 543
EDotaUserMessages_DOTA_UM_HPManaAlert EDotaUserMessages = 544
EDotaUserMessages_DOTA_UM_GlyphAlert EDotaUserMessages = 545
EDotaUserMessages_DOTA_UM_BeastChat EDotaUserMessages = 546
EDotaUserMessages_DOTA_UM_SpectatorPlayerUnitOrders EDotaUserMessages = 547
EDotaUserMessages_DOTA_UM_CustomHudElement_Create EDotaUserMessages = 548
EDotaUserMessages_DOTA_UM_CustomHudElement_Modify EDotaUserMessages = 549
EDotaUserMessages_DOTA_UM_CustomHudElement_Destroy EDotaUserMessages = 550
EDotaUserMessages_DOTA_UM_CompendiumState EDotaUserMessages = 551
EDotaUserMessages_DOTA_UM_ProjectionAbility EDotaUserMessages = 552
EDotaUserMessages_DOTA_UM_ProjectionEvent EDotaUserMessages = 553
EDotaUserMessages_DOTA_UM_CombatLogDataHLTV EDotaUserMessages = 554
EDotaUserMessages_DOTA_UM_XPAlert EDotaUserMessages = 555
EDotaUserMessages_DOTA_UM_UpdateQuestProgress EDotaUserMessages = 556
EDotaUserMessages_DOTA_UM_MatchMetadata EDotaUserMessages = 557
EDotaUserMessages_DOTA_UM_MatchDetails EDotaUserMessages = 558
EDotaUserMessages_DOTA_UM_QuestStatus EDotaUserMessages = 559
EDotaUserMessages_DOTA_UM_SuggestHeroPick EDotaUserMessages = 560
EDotaUserMessages_DOTA_UM_SuggestHeroRole EDotaUserMessages = 561
EDotaUserMessages_DOTA_UM_KillcamDamageTaken EDotaUserMessages = 562
EDotaUserMessages_DOTA_UM_SelectPenaltyGold EDotaUserMessages = 563
EDotaUserMessages_DOTA_UM_RollDiceResult EDotaUserMessages = 564
EDotaUserMessages_DOTA_UM_FlipCoinResult EDotaUserMessages = 565
EDotaUserMessages_DOTA_UM_RequestItemSuggestions EDotaUserMessages = 566
EDotaUserMessages_DOTA_UM_TeamCaptainChanged EDotaUserMessages = 567
EDotaUserMessages_DOTA_UM_SendRoshanSpectatorPhase EDotaUserMessages = 568
EDotaUserMessages_DOTA_UM_ChatWheelCooldown EDotaUserMessages = 569
EDotaUserMessages_DOTA_UM_DismissAllStatPopups EDotaUserMessages = 570
EDotaUserMessages_DOTA_UM_TE_DestroyProjectile EDotaUserMessages = 571
EDotaUserMessages_DOTA_UM_HeroRelicProgress EDotaUserMessages = 572
EDotaUserMessages_DOTA_UM_AbilityDraftRequestAbility EDotaUserMessages = 573
EDotaUserMessages_DOTA_UM_ItemSold EDotaUserMessages = 574
EDotaUserMessages_DOTA_UM_DamageReport EDotaUserMessages = 575
EDotaUserMessages_DOTA_UM_SalutePlayer EDotaUserMessages = 576
EDotaUserMessages_DOTA_UM_TipAlert EDotaUserMessages = 577
EDotaUserMessages_DOTA_UM_ReplaceQueryUnit EDotaUserMessages = 578
EDotaUserMessages_DOTA_UM_EmptyTeleportAlert EDotaUserMessages = 579
EDotaUserMessages_DOTA_UM_MarsArenaOfBloodAttack EDotaUserMessages = 580
EDotaUserMessages_DOTA_UM_ESArcanaCombo EDotaUserMessages = 581
EDotaUserMessages_DOTA_UM_ESArcanaComboSummary EDotaUserMessages = 582
EDotaUserMessages_DOTA_UM_HighFiveLeftHanging EDotaUserMessages = 583
EDotaUserMessages_DOTA_UM_HighFiveCompleted EDotaUserMessages = 584
EDotaUserMessages_DOTA_UM_ShovelUnearth EDotaUserMessages = 585
EDotaUserMessages_DOTA_EM_InvokerSpellCast EDotaUserMessages = 586
EDotaUserMessages_DOTA_UM_RadarAlert EDotaUserMessages = 587
EDotaUserMessages_DOTA_UM_AllStarEvent EDotaUserMessages = 588
EDotaUserMessages_DOTA_UM_TalentTreeAlert EDotaUserMessages = 589
EDotaUserMessages_DOTA_UM_QueuedOrderRemoved EDotaUserMessages = 590
EDotaUserMessages_DOTA_UM_DebugChallenge EDotaUserMessages = 591
EDotaUserMessages_DOTA_UM_OMArcanaCombo EDotaUserMessages = 592
EDotaUserMessages_DOTA_UM_FoundNeutralItem EDotaUserMessages = 593
EDotaUserMessages_DOTA_UM_OutpostCaptured EDotaUserMessages = 594
EDotaUserMessages_DOTA_UM_OutpostGrantedXP EDotaUserMessages = 595
EDotaUserMessages_DOTA_UM_MoveCameraToUnit EDotaUserMessages = 596
EDotaUserMessages_DOTA_UM_PauseMinigameData EDotaUserMessages = 597
EDotaUserMessages_DOTA_UM_VersusScene_PlayerBehavior EDotaUserMessages = 598
EDotaUserMessages_DOTA_UM_QoP_ArcanaSummary EDotaUserMessages = 600
EDotaUserMessages_DOTA_UM_HotPotato_Created EDotaUserMessages = 601
EDotaUserMessages_DOTA_UM_HotPotato_Exploded EDotaUserMessages = 602
EDotaUserMessages_DOTA_UM_WK_Arcana_Progress EDotaUserMessages = 603
EDotaUserMessages_DOTA_UM_GuildChallenge_Progress EDotaUserMessages = 604
EDotaUserMessages_DOTA_UM_WRArcanaProgress EDotaUserMessages = 605
EDotaUserMessages_DOTA_UM_WRArcanaSummary EDotaUserMessages = 606
EDotaUserMessages_DOTA_UM_EmptyItemSlotAlert EDotaUserMessages = 607
EDotaUserMessages_DOTA_UM_AghsStatusAlert EDotaUserMessages = 608
EDotaUserMessages_DOTA_UM_PingConfirmation EDotaUserMessages = 609
EDotaUserMessages_DOTA_UM_MutedPlayers EDotaUserMessages = 610
EDotaUserMessages_DOTA_UM_ContextualTip EDotaUserMessages = 611
EDotaUserMessages_DOTA_UM_ChatMessage EDotaUserMessages = 612
)
// Enum value maps for EDotaUserMessages.
var (
EDotaUserMessages_name = map[int32]string{
464: "DOTA_UM_AddUnitToSelection",
465: "DOTA_UM_AIDebugLine",
466: "DOTA_UM_ChatEvent",
467: "DOTA_UM_CombatHeroPositions",
468: "DOTA_UM_CombatLogData",
470: "DOTA_UM_CombatLogBulkData",
471: "DOTA_UM_CreateLinearProjectile",
472: "DOTA_UM_DestroyLinearProjectile",
473: "DOTA_UM_DodgeTrackingProjectiles",
474: "DOTA_UM_GlobalLightColor",
475: "DOTA_UM_GlobalLightDirection",
476: "DOTA_UM_InvalidCommand",
477: "DOTA_UM_LocationPing",
478: "DOTA_UM_MapLine",
479: "DOTA_UM_MiniKillCamInfo",
480: "DOTA_UM_MinimapDebugPoint",
481: "DOTA_UM_MinimapEvent",
482: "DOTA_UM_NevermoreRequiem",
483: "DOTA_UM_OverheadEvent",
484: "DOTA_UM_SetNextAutobuyItem",
485: "DOTA_UM_SharedCooldown",
486: "DOTA_UM_SpectatorPlayerClick",
487: "DOTA_UM_TutorialTipInfo",
488: "DOTA_UM_UnitEvent",
489: "DOTA_UM_ParticleManager",
490: "DOTA_UM_BotChat",
491: "DOTA_UM_HudError",
492: "DOTA_UM_ItemPurchased",
493: "DOTA_UM_Ping",
494: "DOTA_UM_ItemFound",
495: "DOTA_UM_CharacterSpeakConcept",
496: "DOTA_UM_SwapVerify",
497: "DOTA_UM_WorldLine",
498: "DOTA_UM_TournamentDrop",
499: "DOTA_UM_ItemAlert",
500: "DOTA_UM_HalloweenDrops",
501: "DOTA_UM_ChatWheel",
502: "DOTA_UM_ReceivedXmasGift",
503: "DOTA_UM_UpdateSharedContent",
504: "DOTA_UM_TutorialRequestExp",
505: "DOTA_UM_TutorialPingMinimap",
506: "DOTA_UM_GamerulesStateChanged",
507: "DOTA_UM_ShowSurvey",
508: "DOTA_UM_TutorialFade",
509: "DOTA_UM_AddQuestLogEntry",
510: "DOTA_UM_SendStatPopup",
511: "DOTA_UM_TutorialFinish",
512: "DOTA_UM_SendRoshanPopup",
513: "DOTA_UM_SendGenericToolTip",
514: "DOTA_UM_SendFinalGold",
515: "DOTA_UM_CustomMsg",
516: "DOTA_UM_CoachHUDPing",
517: "DOTA_UM_ClientLoadGridNav",
518: "DOTA_UM_TE_Projectile",
519: "DOTA_UM_TE_ProjectileLoc",
520: "DOTA_UM_TE_DotaBloodImpact",
521: "DOTA_UM_TE_UnitAnimation",
522: "DOTA_UM_TE_UnitAnimationEnd",
523: "DOTA_UM_AbilityPing",
524: "DOTA_UM_ShowGenericPopup",
525: "DOTA_UM_VoteStart",
526: "DOTA_UM_VoteUpdate",
527: "DOTA_UM_VoteEnd",
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",
535: "DOTA_UM_StatsMatchDetails",
536: "DOTA_UM_MiniTaunt",
537: "DOTA_UM_BuyBackStateAlert",
538: "DOTA_UM_SpeechBubble",
539: "DOTA_UM_CustomHeaderMessage",
540: "DOTA_UM_QuickBuyAlert",
541: "DOTA_UM_StatsHeroDetails",
542: "DOTA_UM_PredictionResult",
543: "DOTA_UM_ModifierAlert",
544: "DOTA_UM_HPManaAlert",
545: "DOTA_UM_GlyphAlert",
546: "DOTA_UM_BeastChat",
547: "DOTA_UM_SpectatorPlayerUnitOrders",
548: "DOTA_UM_CustomHudElement_Create",
549: "DOTA_UM_CustomHudElement_Modify",
550: "DOTA_UM_CustomHudElement_Destroy",
551: "DOTA_UM_CompendiumState",
552: "DOTA_UM_ProjectionAbility",
553: "DOTA_UM_ProjectionEvent",
554: "DOTA_UM_CombatLogDataHLTV",
555: "DOTA_UM_XPAlert",
556: "DOTA_UM_UpdateQuestProgress",
557: "DOTA_UM_MatchMetadata",
558: "DOTA_UM_MatchDetails",
559: "DOTA_UM_QuestStatus",
560: "DOTA_UM_SuggestHeroPick",
561: "DOTA_UM_SuggestHeroRole",
562: "DOTA_UM_KillcamDamageTaken",
563: "DOTA_UM_SelectPenaltyGold",
564: "DOTA_UM_RollDiceResult",
565: "DOTA_UM_FlipCoinResult",
566: "DOTA_UM_RequestItemSuggestions",
567: "DOTA_UM_TeamCaptainChanged",
568: "DOTA_UM_SendRoshanSpectatorPhase",
569: "DOTA_UM_ChatWheelCooldown",
570: "DOTA_UM_DismissAllStatPopups",
571: "DOTA_UM_TE_DestroyProjectile",
572: "DOTA_UM_HeroRelicProgress",
573: "DOTA_UM_AbilityDraftRequestAbility",
574: "DOTA_UM_ItemSold",
575: "DOTA_UM_DamageReport",
576: "DOTA_UM_SalutePlayer",
577: "DOTA_UM_TipAlert",
578: "DOTA_UM_ReplaceQueryUnit",
579: "DOTA_UM_EmptyTeleportAlert",
580: "DOTA_UM_MarsArenaOfBloodAttack",
581: "DOTA_UM_ESArcanaCombo",
582: "DOTA_UM_ESArcanaComboSummary",
583: "DOTA_UM_HighFiveLeftHanging",
584: "DOTA_UM_HighFiveCompleted",
585: "DOTA_UM_ShovelUnearth",
586: "DOTA_EM_InvokerSpellCast",
587: "DOTA_UM_RadarAlert",
588: "DOTA_UM_AllStarEvent",
589: "DOTA_UM_TalentTreeAlert",
590: "DOTA_UM_QueuedOrderRemoved",
591: "DOTA_UM_DebugChallenge",
592: "DOTA_UM_OMArcanaCombo",
593: "DOTA_UM_FoundNeutralItem",
594: "DOTA_UM_OutpostCaptured",
595: "DOTA_UM_OutpostGrantedXP",
596: "DOTA_UM_MoveCameraToUnit",
597: "DOTA_UM_PauseMinigameData",
598: "DOTA_UM_VersusScene_PlayerBehavior",
600: "DOTA_UM_QoP_ArcanaSummary",
601: "DOTA_UM_HotPotato_Created",
602: "DOTA_UM_HotPotato_Exploded",
603: "DOTA_UM_WK_Arcana_Progress",
604: "DOTA_UM_GuildChallenge_Progress",
605: "DOTA_UM_WRArcanaProgress",
606: "DOTA_UM_WRArcanaSummary",
607: "DOTA_UM_EmptyItemSlotAlert",
608: "DOTA_UM_AghsStatusAlert",
609: "DOTA_UM_PingConfirmation",
610: "DOTA_UM_MutedPlayers",
611: "DOTA_UM_ContextualTip",
612: "DOTA_UM_ChatMessage",
}
EDotaUserMessages_value = map[string]int32{
"DOTA_UM_AddUnitToSelection": 464,
"DOTA_UM_AIDebugLine": 465,
"DOTA_UM_ChatEvent": 466,
"DOTA_UM_CombatHeroPositions": 467,
"DOTA_UM_CombatLogData": 468,
"DOTA_UM_CombatLogBulkData": 470,
"DOTA_UM_CreateLinearProjectile": 471,
"DOTA_UM_DestroyLinearProjectile": 472,
"DOTA_UM_DodgeTrackingProjectiles": 473,
"DOTA_UM_GlobalLightColor": 474,
"DOTA_UM_GlobalLightDirection": 475,
"DOTA_UM_InvalidCommand": 476,
"DOTA_UM_LocationPing": 477,
"DOTA_UM_MapLine": 478,
"DOTA_UM_MiniKillCamInfo": 479,
"DOTA_UM_MinimapDebugPoint": 480,
"DOTA_UM_MinimapEvent": 481,
"DOTA_UM_NevermoreRequiem": 482,
"DOTA_UM_OverheadEvent": 483,
"DOTA_UM_SetNextAutobuyItem": 484,
"DOTA_UM_SharedCooldown": 485,
"DOTA_UM_SpectatorPlayerClick": 486,
"DOTA_UM_TutorialTipInfo": 487,
"DOTA_UM_UnitEvent": 488,
"DOTA_UM_ParticleManager": 489,
"DOTA_UM_BotChat": 490,
"DOTA_UM_HudError": 491,
"DOTA_UM_ItemPurchased": 492,
"DOTA_UM_Ping": 493,
"DOTA_UM_ItemFound": 494,
"DOTA_UM_CharacterSpeakConcept": 495,
"DOTA_UM_SwapVerify": 496,
"DOTA_UM_WorldLine": 497,
"DOTA_UM_TournamentDrop": 498,
"DOTA_UM_ItemAlert": 499,
"DOTA_UM_HalloweenDrops": 500,
"DOTA_UM_ChatWheel": 501,
"DOTA_UM_ReceivedXmasGift": 502,
"DOTA_UM_UpdateSharedContent": 503,
"DOTA_UM_TutorialRequestExp": 504,
"DOTA_UM_TutorialPingMinimap": 505,
"DOTA_UM_GamerulesStateChanged": 506,
"DOTA_UM_ShowSurvey": 507,
"DOTA_UM_TutorialFade": 508,
"DOTA_UM_AddQuestLogEntry": 509,
"DOTA_UM_SendStatPopup": 510,
"DOTA_UM_TutorialFinish": 511,
"DOTA_UM_SendRoshanPopup": 512,
"DOTA_UM_SendGenericToolTip": 513,
"DOTA_UM_SendFinalGold": 514,
"DOTA_UM_CustomMsg": 515,
"DOTA_UM_CoachHUDPing": 516,
"DOTA_UM_ClientLoadGridNav": 517,
"DOTA_UM_TE_Projectile": 518,
"DOTA_UM_TE_ProjectileLoc": 519,
"DOTA_UM_TE_DotaBloodImpact": 520,
"DOTA_UM_TE_UnitAnimation": 521,
"DOTA_UM_TE_UnitAnimationEnd": 522,
"DOTA_UM_AbilityPing": 523,
"DOTA_UM_ShowGenericPopup": 524,
"DOTA_UM_VoteStart": 525,
"DOTA_UM_VoteUpdate": 526,
"DOTA_UM_VoteEnd": 527,
"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,
"DOTA_UM_StatsMatchDetails": 535,
"DOTA_UM_MiniTaunt": 536,
"DOTA_UM_BuyBackStateAlert": 537,
"DOTA_UM_SpeechBubble": 538,
"DOTA_UM_CustomHeaderMessage": 539,
"DOTA_UM_QuickBuyAlert": 540,
"DOTA_UM_StatsHeroDetails": 541,
"DOTA_UM_PredictionResult": 542,
"DOTA_UM_ModifierAlert": 543,
"DOTA_UM_HPManaAlert": 544,
"DOTA_UM_GlyphAlert": 545,
"DOTA_UM_BeastChat": 546,
"DOTA_UM_SpectatorPlayerUnitOrders": 547,
"DOTA_UM_CustomHudElement_Create": 548,
"DOTA_UM_CustomHudElement_Modify": 549,
"DOTA_UM_CustomHudElement_Destroy": 550,
"DOTA_UM_CompendiumState": 551,
"DOTA_UM_ProjectionAbility": 552,
"DOTA_UM_ProjectionEvent": 553,
"DOTA_UM_CombatLogDataHLTV": 554,
"DOTA_UM_XPAlert": 555,
"DOTA_UM_UpdateQuestProgress": 556,
"DOTA_UM_MatchMetadata": 557,
"DOTA_UM_MatchDetails": 558,
"DOTA_UM_QuestStatus": 559,
"DOTA_UM_SuggestHeroPick": 560,
"DOTA_UM_SuggestHeroRole": 561,
"DOTA_UM_KillcamDamageTaken": 562,
"DOTA_UM_SelectPenaltyGold": 563,
"DOTA_UM_RollDiceResult": 564,
"DOTA_UM_FlipCoinResult": 565,
"DOTA_UM_RequestItemSuggestions": 566,
"DOTA_UM_TeamCaptainChanged": 567,
"DOTA_UM_SendRoshanSpectatorPhase": 568,
"DOTA_UM_ChatWheelCooldown": 569,
"DOTA_UM_DismissAllStatPopups": 570,
"DOTA_UM_TE_DestroyProjectile": 571,
"DOTA_UM_HeroRelicProgress": 572,
"DOTA_UM_AbilityDraftRequestAbility": 573,
"DOTA_UM_ItemSold": 574,
"DOTA_UM_DamageReport": 575,
"DOTA_UM_SalutePlayer": 576,
"DOTA_UM_TipAlert": 577,
"DOTA_UM_ReplaceQueryUnit": 578,
"DOTA_UM_EmptyTeleportAlert": 579,
"DOTA_UM_MarsArenaOfBloodAttack": 580,
"DOTA_UM_ESArcanaCombo": 581,
"DOTA_UM_ESArcanaComboSummary": 582,
"DOTA_UM_HighFiveLeftHanging": 583,
"DOTA_UM_HighFiveCompleted": 584,
"DOTA_UM_ShovelUnearth": 585,
"DOTA_EM_InvokerSpellCast": 586,
"DOTA_UM_RadarAlert": 587,
"DOTA_UM_AllStarEvent": 588,
"DOTA_UM_TalentTreeAlert": 589,
"DOTA_UM_QueuedOrderRemoved": 590,
"DOTA_UM_DebugChallenge": 591,
"DOTA_UM_OMArcanaCombo": 592,
"DOTA_UM_FoundNeutralItem": 593,
"DOTA_UM_OutpostCaptured": 594,
"DOTA_UM_OutpostGrantedXP": 595,
"DOTA_UM_MoveCameraToUnit": 596,
"DOTA_UM_PauseMinigameData": 597,
"DOTA_UM_VersusScene_PlayerBehavior": 598,
"DOTA_UM_QoP_ArcanaSummary": 600,
"DOTA_UM_HotPotato_Created": 601,
"DOTA_UM_HotPotato_Exploded": 602,
"DOTA_UM_WK_Arcana_Progress": 603,
"DOTA_UM_GuildChallenge_Progress": 604,
"DOTA_UM_WRArcanaProgress": 605,
"DOTA_UM_WRArcanaSummary": 606,
"DOTA_UM_EmptyItemSlotAlert": 607,
"DOTA_UM_AghsStatusAlert": 608,
"DOTA_UM_PingConfirmation": 609,
"DOTA_UM_MutedPlayers": 610,
"DOTA_UM_ContextualTip": 611,
"DOTA_UM_ChatMessage": 612,
}
)
func (x EDotaUserMessages) Enum() *EDotaUserMessages {
p := new(EDotaUserMessages)
*p = x
return p
}
func (x EDotaUserMessages) String() string {
return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}
func (EDotaUserMessages) Descriptor() protoreflect.EnumDescriptor {
return file_dota_usermessages_proto_enumTypes[0].Descriptor()
}
func (EDotaUserMessages) Type() protoreflect.EnumType {
return &file_dota_usermessages_proto_enumTypes[0]
}
func (x EDotaUserMessages) Number() protoreflect.EnumNumber {
return protoreflect.EnumNumber(x)
}
// Deprecated: Do not use.
func (x *EDotaUserMessages) UnmarshalJSON(b []byte) error {
num, err := protoimpl.X.UnmarshalJSONEnum(x.Descriptor(), b)
if err != nil {
return err
}
*x = EDotaUserMessages(num)
return nil
}
// Deprecated: Use EDotaUserMessages.Descriptor instead.
func (EDotaUserMessages) EnumDescriptor() ([]byte, []int) {
return file_dota_usermessages_proto_rawDescGZIP(), []int{0}
}
type DOTA_CHAT_MESSAGE int32
const (
DOTA_CHAT_MESSAGE_CHAT_MESSAGE_INVALID DOTA_CHAT_MESSAGE = -1
DOTA_CHAT_MESSAGE_CHAT_MESSAGE_HERO_KILL DOTA_CHAT_MESSAGE = 0
DOTA_CHAT_MESSAGE_CHAT_MESSAGE_HERO_DENY DOTA_CHAT_MESSAGE = 1
DOTA_CHAT_MESSAGE_CHAT_MESSAGE_BARRACKS_KILL DOTA_CHAT_MESSAGE = 2
DOTA_CHAT_MESSAGE_CHAT_MESSAGE_TOWER_KILL DOTA_CHAT_MESSAGE = 3
DOTA_CHAT_MESSAGE_CHAT_MESSAGE_TOWER_DENY DOTA_CHAT_MESSAGE = 4
DOTA_CHAT_MESSAGE_CHAT_MESSAGE_FIRSTBLOOD DOTA_CHAT_MESSAGE = 5
DOTA_CHAT_MESSAGE_CHAT_MESSAGE_STREAK_KILL DOTA_CHAT_MESSAGE = 6
DOTA_CHAT_MESSAGE_CHAT_MESSAGE_BUYBACK DOTA_CHAT_MESSAGE = 7
DOTA_CHAT_MESSAGE_CHAT_MESSAGE_AEGIS DOTA_CHAT_MESSAGE = 8
DOTA_CHAT_MESSAGE_CHAT_MESSAGE_ROSHAN_KILL DOTA_CHAT_MESSAGE = 9
DOTA_CHAT_MESSAGE_CHAT_MESSAGE_COURIER_LOST DOTA_CHAT_MESSAGE = 10
DOTA_CHAT_MESSAGE_CHAT_MESSAGE_COURIER_RESPAWNED DOTA_CHAT_MESSAGE = 11
DOTA_CHAT_MESSAGE_CHAT_MESSAGE_GLYPH_USED DOTA_CHAT_MESSAGE = 12
DOTA_CHAT_MESSAGE_CHAT_MESSAGE_ITEM_PURCHASE DOTA_CHAT_MESSAGE = 13
DOTA_CHAT_MESSAGE_CHAT_MESSAGE_CONNECT DOTA_CHAT_MESSAGE = 14
DOTA_CHAT_MESSAGE_CHAT_MESSAGE_DISCONNECT DOTA_CHAT_MESSAGE = 15
DOTA_CHAT_MESSAGE_CHAT_MESSAGE_DISCONNECT_WAIT_FOR_RECONNECT DOTA_CHAT_MESSAGE = 16
DOTA_CHAT_MESSAGE_CHAT_MESSAGE_DISCONNECT_TIME_REMAINING DOTA_CHAT_MESSAGE = 17
DOTA_CHAT_MESSAGE_CHAT_MESSAGE_DISCONNECT_TIME_REMAINING_PLURAL DOTA_CHAT_MESSAGE = 18
DOTA_CHAT_MESSAGE_CHAT_MESSAGE_RECONNECT DOTA_CHAT_MESSAGE = 19
DOTA_CHAT_MESSAGE_CHAT_MESSAGE_PLAYER_LEFT DOTA_CHAT_MESSAGE = 20
DOTA_CHAT_MESSAGE_CHAT_MESSAGE_SAFE_TO_LEAVE DOTA_CHAT_MESSAGE = 21
DOTA_CHAT_MESSAGE_CHAT_MESSAGE_RUNE_PICKUP DOTA_CHAT_MESSAGE = 22
DOTA_CHAT_MESSAGE_CHAT_MESSAGE_RUNE_BOTTLE DOTA_CHAT_MESSAGE = 23
DOTA_CHAT_MESSAGE_CHAT_MESSAGE_RUNE_DENY DOTA_CHAT_MESSAGE = 114
DOTA_CHAT_MESSAGE_CHAT_MESSAGE_INTHEBAG DOTA_CHAT_MESSAGE = 24
DOTA_CHAT_MESSAGE_CHAT_MESSAGE_SECRETSHOP DOTA_CHAT_MESSAGE = 25
DOTA_CHAT_MESSAGE_CHAT_MESSAGE_ITEM_AUTOPURCHASED DOTA_CHAT_MESSAGE = 26
DOTA_CHAT_MESSAGE_CHAT_MESSAGE_ITEMS_COMBINED DOTA_CHAT_MESSAGE = 27
DOTA_CHAT_MESSAGE_CHAT_MESSAGE_SUPER_CREEPS DOTA_CHAT_MESSAGE = 28
DOTA_CHAT_MESSAGE_CHAT_MESSAGE_CANT_USE_ACTION_ITEM DOTA_CHAT_MESSAGE = 29
DOTA_CHAT_MESSAGE_CHAT_MESSAGE_CANTPAUSE DOTA_CHAT_MESSAGE = 31
DOTA_CHAT_MESSAGE_CHAT_MESSAGE_NOPAUSESLEFT DOTA_CHAT_MESSAGE = 32
DOTA_CHAT_MESSAGE_CHAT_MESSAGE_CANTPAUSEYET DOTA_CHAT_MESSAGE = 33
DOTA_CHAT_MESSAGE_CHAT_MESSAGE_PAUSED DOTA_CHAT_MESSAGE = 34
DOTA_CHAT_MESSAGE_CHAT_MESSAGE_UNPAUSE_COUNTDOWN DOTA_CHAT_MESSAGE = 35
DOTA_CHAT_MESSAGE_CHAT_MESSAGE_UNPAUSED DOTA_CHAT_MESSAGE = 36
DOTA_CHAT_MESSAGE_CHAT_MESSAGE_AUTO_UNPAUSED DOTA_CHAT_MESSAGE = 37
DOTA_CHAT_MESSAGE_CHAT_MESSAGE_YOUPAUSED DOTA_CHAT_MESSAGE = 38
DOTA_CHAT_MESSAGE_CHAT_MESSAGE_CANTUNPAUSETEAM DOTA_CHAT_MESSAGE = 39
DOTA_CHAT_MESSAGE_CHAT_MESSAGE_VOICE_TEXT_BANNED DOTA_CHAT_MESSAGE = 41
DOTA_CHAT_MESSAGE_CHAT_MESSAGE_SPECTATORS_WATCHING_THIS_GAME DOTA_CHAT_MESSAGE = 42
DOTA_CHAT_MESSAGE_CHAT_MESSAGE_REPORT_REMINDER DOTA_CHAT_MESSAGE = 43
DOTA_CHAT_MESSAGE_CHAT_MESSAGE_ECON_ITEM DOTA_CHAT_MESSAGE = 44
DOTA_CHAT_MESSAGE_CHAT_MESSAGE_TAUNT DOTA_CHAT_MESSAGE = 45
DOTA_CHAT_MESSAGE_CHAT_MESSAGE_RANDOM DOTA_CHAT_MESSAGE = 46
DOTA_CHAT_MESSAGE_CHAT_MESSAGE_RD_TURN DOTA_CHAT_MESSAGE = 47
DOTA_CHAT_MESSAGE_CHAT_MESSAGE_DROP_RATE_BONUS DOTA_CHAT_MESSAGE = 49
DOTA_CHAT_MESSAGE_CHAT_MESSAGE_NO_BATTLE_POINTS DOTA_CHAT_MESSAGE = 50
DOTA_CHAT_MESSAGE_CHAT_MESSAGE_DENIED_AEGIS DOTA_CHAT_MESSAGE = 51
DOTA_CHAT_MESSAGE_CHAT_MESSAGE_INFORMATIONAL DOTA_CHAT_MESSAGE = 52
DOTA_CHAT_MESSAGE_CHAT_MESSAGE_AEGIS_STOLEN DOTA_CHAT_MESSAGE = 53
DOTA_CHAT_MESSAGE_CHAT_MESSAGE_ROSHAN_CANDY DOTA_CHAT_MESSAGE = 54
DOTA_CHAT_MESSAGE_CHAT_MESSAGE_ITEM_GIFTED DOTA_CHAT_MESSAGE = 55
DOTA_CHAT_MESSAGE_CHAT_MESSAGE_HERO_KILL_WITH_GREEVIL DOTA_CHAT_MESSAGE = 56
DOTA_CHAT_MESSAGE_CHAT_MESSAGE_HOLDOUT_TOWER_DESTROYED DOTA_CHAT_MESSAGE = 57
DOTA_CHAT_MESSAGE_CHAT_MESSAGE_HOLDOUT_WALL_DESTROYED DOTA_CHAT_MESSAGE = 58
DOTA_CHAT_MESSAGE_CHAT_MESSAGE_HOLDOUT_WALL_FINISHED DOTA_CHAT_MESSAGE = 59
DOTA_CHAT_MESSAGE_CHAT_MESSAGE_PLAYER_LEFT_LIMITED_HERO DOTA_CHAT_MESSAGE = 62
DOTA_CHAT_MESSAGE_CHAT_MESSAGE_ABANDON_LIMITED_HERO_EXPLANATION DOTA_CHAT_MESSAGE = 63
DOTA_CHAT_MESSAGE_CHAT_MESSAGE_DISCONNECT_LIMITED_HERO DOTA_CHAT_MESSAGE = 64
DOTA_CHAT_MESSAGE_CHAT_MESSAGE_LOW_PRIORITY_COMPLETED_EXPLANATION DOTA_CHAT_MESSAGE = 65
DOTA_CHAT_MESSAGE_CHAT_MESSAGE_RECRUITMENT_DROP_RATE_BONUS DOTA_CHAT_MESSAGE = 66
DOTA_CHAT_MESSAGE_CHAT_MESSAGE_FROSTIVUS_SHINING_BOOSTER_ACTIVE DOTA_CHAT_MESSAGE = 67
DOTA_CHAT_MESSAGE_CHAT_MESSAGE_PLAYER_LEFT_AFK DOTA_CHAT_MESSAGE = 73
DOTA_CHAT_MESSAGE_CHAT_MESSAGE_PLAYER_LEFT_DISCONNECTED_TOO_LONG DOTA_CHAT_MESSAGE = 74
DOTA_CHAT_MESSAGE_CHAT_MESSAGE_PLAYER_ABANDONED DOTA_CHAT_MESSAGE = 75
DOTA_CHAT_MESSAGE_CHAT_MESSAGE_PLAYER_ABANDONED_AFK DOTA_CHAT_MESSAGE = 76
DOTA_CHAT_MESSAGE_CHAT_MESSAGE_PLAYER_ABANDONED_DISCONNECTED_TOO_LONG DOTA_CHAT_MESSAGE = 77
DOTA_CHAT_MESSAGE_CHAT_MESSAGE_WILL_NOT_BE_SCORED DOTA_CHAT_MESSAGE = 78
DOTA_CHAT_MESSAGE_CHAT_MESSAGE_WILL_NOT_BE_SCORED_RANKED DOTA_CHAT_MESSAGE = 79
DOTA_CHAT_MESSAGE_CHAT_MESSAGE_WILL_NOT_BE_SCORED_NETWORK DOTA_CHAT_MESSAGE = 80
DOTA_CHAT_MESSAGE_CHAT_MESSAGE_WILL_NOT_BE_SCORED_NETWORK_RANKED DOTA_CHAT_MESSAGE = 81
DOTA_CHAT_MESSAGE_CHAT_MESSAGE_CAN_QUIT_WITHOUT_ABANDON DOTA_CHAT_MESSAGE = 82
DOTA_CHAT_MESSAGE_CHAT_MESSAGE_RANKED_GAME_STILL_SCORED_LEAVERS_GET_LOSS DOTA_CHAT_MESSAGE = 83
DOTA_CHAT_MESSAGE_CHAT_MESSAGE_ABANDON_RANKED_BEFORE_FIRST_BLOOD_PARTY DOTA_CHAT_MESSAGE = 84
DOTA_CHAT_MESSAGE_CHAT_MESSAGE_COMPENDIUM_LEVEL DOTA_CHAT_MESSAGE = 85
DOTA_CHAT_MESSAGE_CHAT_MESSAGE_VICTORY_PREDICTION_STREAK DOTA_CHAT_MESSAGE = 86
DOTA_CHAT_MESSAGE_CHAT_MESSAGE_ASSASSIN_ANNOUNCE DOTA_CHAT_MESSAGE = 87
DOTA_CHAT_MESSAGE_CHAT_MESSAGE_ASSASSIN_SUCCESS DOTA_CHAT_MESSAGE = 88
DOTA_CHAT_MESSAGE_CHAT_MESSAGE_ASSASSIN_DENIED DOTA_CHAT_MESSAGE = 89
DOTA_CHAT_MESSAGE_CHAT_MESSAGE_VICTORY_PREDICTION_SINGLE_USER_CONFIRM DOTA_CHAT_MESSAGE = 90
DOTA_CHAT_MESSAGE_CHAT_MESSAGE_EFFIGY_KILL DOTA_CHAT_MESSAGE = 91
DOTA_CHAT_MESSAGE_CHAT_MESSAGE_VOICE_TEXT_BANNED_OVERFLOW DOTA_CHAT_MESSAGE = 92
DOTA_CHAT_MESSAGE_CHAT_MESSAGE_YEAR_BEAST_KILLED DOTA_CHAT_MESSAGE = 93
DOTA_CHAT_MESSAGE_CHAT_MESSAGE_PAUSE_COUNTDOWN DOTA_CHAT_MESSAGE = 94
DOTA_CHAT_MESSAGE_CHAT_MESSAGE_COINS_WAGERED DOTA_CHAT_MESSAGE = 95
DOTA_CHAT_MESSAGE_CHAT_MESSAGE_HERO_NOMINATED_BAN DOTA_CHAT_MESSAGE = 96
DOTA_CHAT_MESSAGE_CHAT_MESSAGE_HERO_BANNED DOTA_CHAT_MESSAGE = 97
DOTA_CHAT_MESSAGE_CHAT_MESSAGE_HERO_BAN_COUNT DOTA_CHAT_MESSAGE = 98
DOTA_CHAT_MESSAGE_CHAT_MESSAGE_RIVER_PAINTED DOTA_CHAT_MESSAGE = 99
DOTA_CHAT_MESSAGE_CHAT_MESSAGE_SCAN_USED DOTA_CHAT_MESSAGE = 100
DOTA_CHAT_MESSAGE_CHAT_MESSAGE_SHRINE_KILLED DOTA_CHAT_MESSAGE = 101
DOTA_CHAT_MESSAGE_CHAT_MESSAGE_WAGER_TOKEN_SPENT DOTA_CHAT_MESSAGE = 102
DOTA_CHAT_MESSAGE_CHAT_MESSAGE_RANK_WAGER DOTA_CHAT_MESSAGE = 103
DOTA_CHAT_MESSAGE_CHAT_MESSAGE_NEW_PLAYER_REMINDER DOTA_CHAT_MESSAGE = 104
DOTA_CHAT_MESSAGE_CHAT_MESSAGE_OBSERVER_WARD_KILLED DOTA_CHAT_MESSAGE = 105
DOTA_CHAT_MESSAGE_CHAT_MESSAGE_SENTRY_WARD_KILLED DOTA_CHAT_MESSAGE = 106
DOTA_CHAT_MESSAGE_CHAT_MESSAGE_ITEM_PLACED_IN_NEUTRAL_STASH DOTA_CHAT_MESSAGE = 107
DOTA_CHAT_MESSAGE_CHAT_MESSAGE_HERO_CHOICE_INVALID DOTA_CHAT_MESSAGE = 108
DOTA_CHAT_MESSAGE_CHAT_MESSAGE_BOUNTY DOTA_CHAT_MESSAGE = 109
DOTA_CHAT_MESSAGE_CHAT_MESSAGE_ABILITY_DRAFT_START DOTA_CHAT_MESSAGE = 110
DOTA_CHAT_MESSAGE_CHAT_MESSAGE_HERO_FOUND_CANDY DOTA_CHAT_MESSAGE = 111
DOTA_CHAT_MESSAGE_CHAT_MESSAGE_ABILITY_DRAFT_RANDOMED DOTA_CHAT_MESSAGE = 112
DOTA_CHAT_MESSAGE_CHAT_MESSAGE_PRIVATE_COACH_CONNECTED DOTA_CHAT_MESSAGE = 113
DOTA_CHAT_MESSAGE_CHAT_MESSAGE_CANT_PAUSE_TOO_EARLY DOTA_CHAT_MESSAGE = 115
)
// Enum value maps for DOTA_CHAT_MESSAGE.
var (
DOTA_CHAT_MESSAGE_name = map[int32]string{
-1: "CHAT_MESSAGE_INVALID",
0: "CHAT_MESSAGE_HERO_KILL",
1: "CHAT_MESSAGE_HERO_DENY",
2: "CHAT_MESSAGE_BARRACKS_KILL",
3: "CHAT_MESSAGE_TOWER_KILL",
4: "CHAT_MESSAGE_TOWER_DENY",
5: "CHAT_MESSAGE_FIRSTBLOOD",
6: "CHAT_MESSAGE_STREAK_KILL",
7: "CHAT_MESSAGE_BUYBACK",
8: "CHAT_MESSAGE_AEGIS",
9: "CHAT_MESSAGE_ROSHAN_KILL",
10: "CHAT_MESSAGE_COURIER_LOST",
11: "CHAT_MESSAGE_COURIER_RESPAWNED",
12: "CHAT_MESSAGE_GLYPH_USED",
13: "CHAT_MESSAGE_ITEM_PURCHASE",
14: "CHAT_MESSAGE_CONNECT",
15: "CHAT_MESSAGE_DISCONNECT",
16: "CHAT_MESSAGE_DISCONNECT_WAIT_FOR_RECONNECT",
17: "CHAT_MESSAGE_DISCONNECT_TIME_REMAINING",
18: "CHAT_MESSAGE_DISCONNECT_TIME_REMAINING_PLURAL",
19: "CHAT_MESSAGE_RECONNECT",
20: "CHAT_MESSAGE_PLAYER_LEFT",
21: "CHAT_MESSAGE_SAFE_TO_LEAVE",
22: "CHAT_MESSAGE_RUNE_PICKUP",
23: "CHAT_MESSAGE_RUNE_BOTTLE",
114: "CHAT_MESSAGE_RUNE_DENY",
24: "CHAT_MESSAGE_INTHEBAG",
25: "CHAT_MESSAGE_SECRETSHOP",
26: "CHAT_MESSAGE_ITEM_AUTOPURCHASED",
27: "CHAT_MESSAGE_ITEMS_COMBINED",
28: "CHAT_MESSAGE_SUPER_CREEPS",
29: "CHAT_MESSAGE_CANT_USE_ACTION_ITEM",
31: "CHAT_MESSAGE_CANTPAUSE",
32: "CHAT_MESSAGE_NOPAUSESLEFT",
33: "CHAT_MESSAGE_CANTPAUSEYET",
34: "CHAT_MESSAGE_PAUSED",
35: "CHAT_MESSAGE_UNPAUSE_COUNTDOWN",
36: "CHAT_MESSAGE_UNPAUSED",
37: "CHAT_MESSAGE_AUTO_UNPAUSED",
38: "CHAT_MESSAGE_YOUPAUSED",
39: "CHAT_MESSAGE_CANTUNPAUSETEAM",
41: "CHAT_MESSAGE_VOICE_TEXT_BANNED",
42: "CHAT_MESSAGE_SPECTATORS_WATCHING_THIS_GAME",
43: "CHAT_MESSAGE_REPORT_REMINDER",
44: "CHAT_MESSAGE_ECON_ITEM",
45: "CHAT_MESSAGE_TAUNT",
46: "CHAT_MESSAGE_RANDOM",
47: "CHAT_MESSAGE_RD_TURN",
49: "CHAT_MESSAGE_DROP_RATE_BONUS",
50: "CHAT_MESSAGE_NO_BATTLE_POINTS",
51: "CHAT_MESSAGE_DENIED_AEGIS",
52: "CHAT_MESSAGE_INFORMATIONAL",
53: "CHAT_MESSAGE_AEGIS_STOLEN",
54: "CHAT_MESSAGE_ROSHAN_CANDY",
55: "CHAT_MESSAGE_ITEM_GIFTED",
56: "CHAT_MESSAGE_HERO_KILL_WITH_GREEVIL",
57: "CHAT_MESSAGE_HOLDOUT_TOWER_DESTROYED",
58: "CHAT_MESSAGE_HOLDOUT_WALL_DESTROYED",
59: "CHAT_MESSAGE_HOLDOUT_WALL_FINISHED",
62: "CHAT_MESSAGE_PLAYER_LEFT_LIMITED_HERO",
63: "CHAT_MESSAGE_ABANDON_LIMITED_HERO_EXPLANATION",
64: "CHAT_MESSAGE_DISCONNECT_LIMITED_HERO",
65: "CHAT_MESSAGE_LOW_PRIORITY_COMPLETED_EXPLANATION",
66: "CHAT_MESSAGE_RECRUITMENT_DROP_RATE_BONUS",
67: "CHAT_MESSAGE_FROSTIVUS_SHINING_BOOSTER_ACTIVE",
73: "CHAT_MESSAGE_PLAYER_LEFT_AFK",
74: "CHAT_MESSAGE_PLAYER_LEFT_DISCONNECTED_TOO_LONG",
75: "CHAT_MESSAGE_PLAYER_ABANDONED",
76: "CHAT_MESSAGE_PLAYER_ABANDONED_AFK",
77: "CHAT_MESSAGE_PLAYER_ABANDONED_DISCONNECTED_TOO_LONG",
78: "CHAT_MESSAGE_WILL_NOT_BE_SCORED",
79: "CHAT_MESSAGE_WILL_NOT_BE_SCORED_RANKED",
80: "CHAT_MESSAGE_WILL_NOT_BE_SCORED_NETWORK",
81: "CHAT_MESSAGE_WILL_NOT_BE_SCORED_NETWORK_RANKED",
82: "CHAT_MESSAGE_CAN_QUIT_WITHOUT_ABANDON",
83: "CHAT_MESSAGE_RANKED_GAME_STILL_SCORED_LEAVERS_GET_LOSS",
84: "CHAT_MESSAGE_ABANDON_RANKED_BEFORE_FIRST_BLOOD_PARTY",
85: "CHAT_MESSAGE_COMPENDIUM_LEVEL",
86: "CHAT_MESSAGE_VICTORY_PREDICTION_STREAK",
87: "CHAT_MESSAGE_ASSASSIN_ANNOUNCE",
88: "CHAT_MESSAGE_ASSASSIN_SUCCESS",
89: "CHAT_MESSAGE_ASSASSIN_DENIED",
90: "CHAT_MESSAGE_VICTORY_PREDICTION_SINGLE_USER_CONFIRM",
91: "CHAT_MESSAGE_EFFIGY_KILL",
92: "CHAT_MESSAGE_VOICE_TEXT_BANNED_OVERFLOW",
93: "CHAT_MESSAGE_YEAR_BEAST_KILLED",
94: "CHAT_MESSAGE_PAUSE_COUNTDOWN",
95: "CHAT_MESSAGE_COINS_WAGERED",
96: "CHAT_MESSAGE_HERO_NOMINATED_BAN",
97: "CHAT_MESSAGE_HERO_BANNED",
98: "CHAT_MESSAGE_HERO_BAN_COUNT",
99: "CHAT_MESSAGE_RIVER_PAINTED",
100: "CHAT_MESSAGE_SCAN_USED",
101: "CHAT_MESSAGE_SHRINE_KILLED",
102: "CHAT_MESSAGE_WAGER_TOKEN_SPENT",
103: "CHAT_MESSAGE_RANK_WAGER",
104: "CHAT_MESSAGE_NEW_PLAYER_REMINDER",
105: "CHAT_MESSAGE_OBSERVER_WARD_KILLED",
106: "CHAT_MESSAGE_SENTRY_WARD_KILLED",
107: "CHAT_MESSAGE_ITEM_PLACED_IN_NEUTRAL_STASH",
108: "CHAT_MESSAGE_HERO_CHOICE_INVALID",
109: "CHAT_MESSAGE_BOUNTY",
110: "CHAT_MESSAGE_ABILITY_DRAFT_START",
111: "CHAT_MESSAGE_HERO_FOUND_CANDY",
112: "CHAT_MESSAGE_ABILITY_DRAFT_RANDOMED",
113: "CHAT_MESSAGE_PRIVATE_COACH_CONNECTED",
115: "CHAT_MESSAGE_CANT_PAUSE_TOO_EARLY",
}
DOTA_CHAT_MESSAGE_value = map[string]int32{
"CHAT_MESSAGE_INVALID": -1,
"CHAT_MESSAGE_HERO_KILL": 0,
"CHAT_MESSAGE_HERO_DENY": 1,
"CHAT_MESSAGE_BARRACKS_KILL": 2,
"CHAT_MESSAGE_TOWER_KILL": 3,
"CHAT_MESSAGE_TOWER_DENY": 4,
"CHAT_MESSAGE_FIRSTBLOOD": 5,
"CHAT_MESSAGE_STREAK_KILL": 6,
"CHAT_MESSAGE_BUYBACK": 7,
"CHAT_MESSAGE_AEGIS": 8,
"CHAT_MESSAGE_ROSHAN_KILL": 9,
"CHAT_MESSAGE_COURIER_LOST": 10,
"CHAT_MESSAGE_COURIER_RESPAWNED": 11,
"CHAT_MESSAGE_GLYPH_USED": 12,
"CHAT_MESSAGE_ITEM_PURCHASE": 13,
"CHAT_MESSAGE_CONNECT": 14,
"CHAT_MESSAGE_DISCONNECT": 15,
"CHAT_MESSAGE_DISCONNECT_WAIT_FOR_RECONNECT": 16,
"CHAT_MESSAGE_DISCONNECT_TIME_REMAINING": 17,
"CHAT_MESSAGE_DISCONNECT_TIME_REMAINING_PLURAL": 18,
"CHAT_MESSAGE_RECONNECT": 19,
"CHAT_MESSAGE_PLAYER_LEFT": 20,
"CHAT_MESSAGE_SAFE_TO_LEAVE": 21,
"CHAT_MESSAGE_RUNE_PICKUP": 22,
"CHAT_MESSAGE_RUNE_BOTTLE": 23,
"CHAT_MESSAGE_RUNE_DENY": 114,
"CHAT_MESSAGE_INTHEBAG": 24,
"CHAT_MESSAGE_SECRETSHOP": 25,
"CHAT_MESSAGE_ITEM_AUTOPURCHASED": 26,
"CHAT_MESSAGE_ITEMS_COMBINED": 27,
"CHAT_MESSAGE_SUPER_CREEPS": 28,
"CHAT_MESSAGE_CANT_USE_ACTION_ITEM": 29,
"CHAT_MESSAGE_CANTPAUSE": 31,
"CHAT_MESSAGE_NOPAUSESLEFT": 32,
"CHAT_MESSAGE_CANTPAUSEYET": 33,
"CHAT_MESSAGE_PAUSED": 34,
"CHAT_MESSAGE_UNPAUSE_COUNTDOWN": 35,
"CHAT_MESSAGE_UNPAUSED": 36,
"CHAT_MESSAGE_AUTO_UNPAUSED": 37,
"CHAT_MESSAGE_YOUPAUSED": 38,
"CHAT_MESSAGE_CANTUNPAUSETEAM": 39,
"CHAT_MESSAGE_VOICE_TEXT_BANNED": 41,
"CHAT_MESSAGE_SPECTATORS_WATCHING_THIS_GAME": 42,
"CHAT_MESSAGE_REPORT_REMINDER": 43,
"CHAT_MESSAGE_ECON_ITEM": 44,
"CHAT_MESSAGE_TAUNT": 45,
"CHAT_MESSAGE_RANDOM": 46,
"CHAT_MESSAGE_RD_TURN": 47,
"CHAT_MESSAGE_DROP_RATE_BONUS": 49,
"CHAT_MESSAGE_NO_BATTLE_POINTS": 50,
"CHAT_MESSAGE_DENIED_AEGIS": 51,
"CHAT_MESSAGE_INFORMATIONAL": 52,
"CHAT_MESSAGE_AEGIS_STOLEN": 53,
"CHAT_MESSAGE_ROSHAN_CANDY": 54,
"CHAT_MESSAGE_ITEM_GIFTED": 55,
"CHAT_MESSAGE_HERO_KILL_WITH_GREEVIL": 56,
"CHAT_MESSAGE_HOLDOUT_TOWER_DESTROYED": 57,
"CHAT_MESSAGE_HOLDOUT_WALL_DESTROYED": 58,
"CHAT_MESSAGE_HOLDOUT_WALL_FINISHED": 59,
"CHAT_MESSAGE_PLAYER_LEFT_LIMITED_HERO": 62,
"CHAT_MESSAGE_ABANDON_LIMITED_HERO_EXPLANATION": 63,
"CHAT_MESSAGE_DISCONNECT_LIMITED_HERO": 64,
"CHAT_MESSAGE_LOW_PRIORITY_COMPLETED_EXPLANATION": 65,
"CHAT_MESSAGE_RECRUITMENT_DROP_RATE_BONUS": 66,
"CHAT_MESSAGE_FROSTIVUS_SHINING_BOOSTER_ACTIVE": 67,
"CHAT_MESSAGE_PLAYER_LEFT_AFK": 73,
"CHAT_MESSAGE_PLAYER_LEFT_DISCONNECTED_TOO_LONG": 74,
"CHAT_MESSAGE_PLAYER_ABANDONED": 75,
"CHAT_MESSAGE_PLAYER_ABANDONED_AFK": 76,
"CHAT_MESSAGE_PLAYER_ABANDONED_DISCONNECTED_TOO_LONG": 77,
"CHAT_MESSAGE_WILL_NOT_BE_SCORED": 78,
"CHAT_MESSAGE_WILL_NOT_BE_SCORED_RANKED": 79,
"CHAT_MESSAGE_WILL_NOT_BE_SCORED_NETWORK": 80,
"CHAT_MESSAGE_WILL_NOT_BE_SCORED_NETWORK_RANKED": 81,
"CHAT_MESSAGE_CAN_QUIT_WITHOUT_ABANDON": 82,
"CHAT_MESSAGE_RANKED_GAME_STILL_SCORED_LEAVERS_GET_LOSS": 83,
"CHAT_MESSAGE_ABANDON_RANKED_BEFORE_FIRST_BLOOD_PARTY": 84,
"CHAT_MESSAGE_COMPENDIUM_LEVEL": 85,
"CHAT_MESSAGE_VICTORY_PREDICTION_STREAK": 86,
"CHAT_MESSAGE_ASSASSIN_ANNOUNCE": 87,
"CHAT_MESSAGE_ASSASSIN_SUCCESS": 88,
"CHAT_MESSAGE_ASSASSIN_DENIED": 89,
"CHAT_MESSAGE_VICTORY_PREDICTION_SINGLE_USER_CONFIRM": 90,
"CHAT_MESSAGE_EFFIGY_KILL": 91,
"CHAT_MESSAGE_VOICE_TEXT_BANNED_OVERFLOW": 92,
"CHAT_MESSAGE_YEAR_BEAST_KILLED": 93,
"CHAT_MESSAGE_PAUSE_COUNTDOWN": 94,
"CHAT_MESSAGE_COINS_WAGERED": 95,
"CHAT_MESSAGE_HERO_NOMINATED_BAN": 96,
"CHAT_MESSAGE_HERO_BANNED": 97,
"CHAT_MESSAGE_HERO_BAN_COUNT": 98,
"CHAT_MESSAGE_RIVER_PAINTED": 99,
"CHAT_MESSAGE_SCAN_USED": 100,
"CHAT_MESSAGE_SHRINE_KILLED": 101,
"CHAT_MESSAGE_WAGER_TOKEN_SPENT": 102,
"CHAT_MESSAGE_RANK_WAGER": 103,
"CHAT_MESSAGE_NEW_PLAYER_REMINDER": 104,
"CHAT_MESSAGE_OBSERVER_WARD_KILLED": 105,
"CHAT_MESSAGE_SENTRY_WARD_KILLED": 106,
"CHAT_MESSAGE_ITEM_PLACED_IN_NEUTRAL_STASH": 107,
"CHAT_MESSAGE_HERO_CHOICE_INVALID": 108,
"CHAT_MESSAGE_BOUNTY": 109,
"CHAT_MESSAGE_ABILITY_DRAFT_START": 110,
"CHAT_MESSAGE_HERO_FOUND_CANDY": 111,
"CHAT_MESSAGE_ABILITY_DRAFT_RANDOMED": 112,
"CHAT_MESSAGE_PRIVATE_COACH_CONNECTED": 113,
"CHAT_MESSAGE_CANT_PAUSE_TOO_EARLY": 115,
}
)
func (x DOTA_CHAT_MESSAGE) Enum() *DOTA_CHAT_MESSAGE {
p := new(DOTA_CHAT_MESSAGE)
*p = x
return p
}
func (x DOTA_CHAT_MESSAGE) String() string {
return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}
func (DOTA_CHAT_MESSAGE) Descriptor() protoreflect.EnumDescriptor {
return file_dota_usermessages_proto_enumTypes[1].Descriptor()
}
func (DOTA_CHAT_MESSAGE) Type() protoreflect.EnumType {
return &file_dota_usermessages_proto_enumTypes[1]
}
func (x DOTA_CHAT_MESSAGE) Number() protoreflect.EnumNumber {
return protoreflect.EnumNumber(x)
}
// Deprecated: Do not use.
func (x *DOTA_CHAT_MESSAGE) UnmarshalJSON(b []byte) error {
num, err := protoimpl.X.UnmarshalJSONEnum(x.Descriptor(), b)
if err != nil {
return err
}
*x = DOTA_CHAT_MESSAGE(num)
return nil
}
// Deprecated: Use DOTA_CHAT_MESSAGE.Descriptor instead.
func (DOTA_CHAT_MESSAGE) EnumDescriptor() ([]byte, []int) {
return file_dota_usermessages_proto_rawDescGZIP(), []int{1}
}
type DOTA_NO_BATTLE_POINTS_REASONS int32
const (
DOTA_NO_BATTLE_POINTS_REASONS_NO_BATTLE_POINTS_WRONG_LOBBY_TYPE DOTA_NO_BATTLE_POINTS_REASONS = 1
DOTA_NO_BATTLE_POINTS_REASONS_NO_BATTLE_POINTS_PRACTICE_BOTS DOTA_NO_BATTLE_POINTS_REASONS = 2
DOTA_NO_BATTLE_POINTS_REASONS_NO_BATTLE_POINTS_CHEATS_ENABLED DOTA_NO_BATTLE_POINTS_REASONS = 3
DOTA_NO_BATTLE_POINTS_REASONS_NO_BATTLE_POINTS_LOW_PRIORITY DOTA_NO_BATTLE_POINTS_REASONS = 4
)
// Enum value maps for DOTA_NO_BATTLE_POINTS_REASONS.
var (
DOTA_NO_BATTLE_POINTS_REASONS_name = map[int32]string{
1: "NO_BATTLE_POINTS_WRONG_LOBBY_TYPE",
2: "NO_BATTLE_POINTS_PRACTICE_BOTS",
3: "NO_BATTLE_POINTS_CHEATS_ENABLED",
4: "NO_BATTLE_POINTS_LOW_PRIORITY",
}
DOTA_NO_BATTLE_POINTS_REASONS_value = map[string]int32{
"NO_BATTLE_POINTS_WRONG_LOBBY_TYPE": 1,
"NO_BATTLE_POINTS_PRACTICE_BOTS": 2,
"NO_BATTLE_POINTS_CHEATS_ENABLED": 3,
"NO_BATTLE_POINTS_LOW_PRIORITY": 4,
}
)
func (x DOTA_NO_BATTLE_POINTS_REASONS) Enum() *DOTA_NO_BATTLE_POINTS_REASONS {
p := new(DOTA_NO_BATTLE_POINTS_REASONS)
*p = x
return p
}
func (x DOTA_NO_BATTLE_POINTS_REASONS) String() string {
return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}
func (DOTA_NO_BATTLE_POINTS_REASONS) Descriptor() protoreflect.EnumDescriptor {
return file_dota_usermessages_proto_enumTypes[2].Descriptor()
}
func (DOTA_NO_BATTLE_POINTS_REASONS) Type() protoreflect.EnumType {
return &file_dota_usermessages_proto_enumTypes[2]
}
func (x DOTA_NO_BATTLE_POINTS_REASONS) Number() protoreflect.EnumNumber {
return protoreflect.EnumNumber(x)
}
// Deprecated: Do not use.
func (x *DOTA_NO_BATTLE_POINTS_REASONS) UnmarshalJSON(b []byte) error {
num, err := protoimpl.X.UnmarshalJSONEnum(x.Descriptor(), b)
if err != nil {
return err
}
*x = DOTA_NO_BATTLE_POINTS_REASONS(num)
return nil
}
// Deprecated: Use DOTA_NO_BATTLE_POINTS_REASONS.Descriptor instead.
func (DOTA_NO_BATTLE_POINTS_REASONS) EnumDescriptor() ([]byte, []int) {
return file_dota_usermessages_proto_rawDescGZIP(), []int{2}
}
type DOTA_CHAT_INFORMATIONAL int32
const (
DOTA_CHAT_INFORMATIONAL_INFO_COOP_BATTLE_POINTS_RULES DOTA_CHAT_INFORMATIONAL = 1
DOTA_CHAT_INFORMATIONAL_INFO_FROSTIVUS_ABANDON_REMINDER DOTA_CHAT_INFORMATIONAL = 2
DOTA_CHAT_INFORMATIONAL_INFO_RANKED_REMINDER DOTA_CHAT_INFORMATIONAL = 3
DOTA_CHAT_INFORMATIONAL_INFO_COOP_LOW_PRIORITY_PASSIVE_REMINDER DOTA_CHAT_INFORMATIONAL = 4
DOTA_CHAT_INFORMATIONAL_INFO_CUSTOM_GAME_PENALTY_REMINDER DOTA_CHAT_INFORMATIONAL = 5
)
// Enum value maps for DOTA_CHAT_INFORMATIONAL.
var (
DOTA_CHAT_INFORMATIONAL_name = map[int32]string{
1: "INFO_COOP_BATTLE_POINTS_RULES",
2: "INFO_FROSTIVUS_ABANDON_REMINDER",
3: "INFO_RANKED_REMINDER",
4: "INFO_COOP_LOW_PRIORITY_PASSIVE_REMINDER",
5: "INFO_CUSTOM_GAME_PENALTY_REMINDER",
}
DOTA_CHAT_INFORMATIONAL_value = map[string]int32{
"INFO_COOP_BATTLE_POINTS_RULES": 1,
"INFO_FROSTIVUS_ABANDON_REMINDER": 2,
"INFO_RANKED_REMINDER": 3,
"INFO_COOP_LOW_PRIORITY_PASSIVE_REMINDER": 4,
"INFO_CUSTOM_GAME_PENALTY_REMINDER": 5,
}
)
func (x DOTA_CHAT_INFORMATIONAL) Enum() *DOTA_CHAT_INFORMATIONAL {
p := new(DOTA_CHAT_INFORMATIONAL)
*p = x
return p
}
func (x DOTA_CHAT_INFORMATIONAL) String() string {
return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}
func (DOTA_CHAT_INFORMATIONAL) Descriptor() protoreflect.EnumDescriptor {
return file_dota_usermessages_proto_enumTypes[3].Descriptor()
}
func (DOTA_CHAT_INFORMATIONAL) Type() protoreflect.EnumType {
return &file_dota_usermessages_proto_enumTypes[3]
}
func (x DOTA_CHAT_INFORMATIONAL) Number() protoreflect.EnumNumber {
return protoreflect.EnumNumber(x)
}
// Deprecated: Do not use.
func (x *DOTA_CHAT_INFORMATIONAL) UnmarshalJSON(b []byte) error {
num, err := protoimpl.X.UnmarshalJSONEnum(x.Descriptor(), b)
if err != nil {
return err
}
*x = DOTA_CHAT_INFORMATIONAL(num)
return nil
}
// Deprecated: Use DOTA_CHAT_INFORMATIONAL.Descriptor instead.
func (DOTA_CHAT_INFORMATIONAL) EnumDescriptor() ([]byte, []int) {
return file_dota_usermessages_proto_rawDescGZIP(), []int{3}
}
type DOTA_ABILITY_PING_TYPE int32
const (
DOTA_ABILITY_PING_TYPE_ABILITY_PING_READY DOTA_ABILITY_PING_TYPE = 1
DOTA_ABILITY_PING_TYPE_ABILITY_PING_MANA DOTA_ABILITY_PING_TYPE = 2
DOTA_ABILITY_PING_TYPE_ABILITY_PING_COOLDOWN DOTA_ABILITY_PING_TYPE = 3
DOTA_ABILITY_PING_TYPE_ABILITY_PING_ENEMY DOTA_ABILITY_PING_TYPE = 4
DOTA_ABILITY_PING_TYPE_ABILITY_PING_UNLEARNED DOTA_ABILITY_PING_TYPE = 5
DOTA_ABILITY_PING_TYPE_ABILITY_PING_INBACKPACK DOTA_ABILITY_PING_TYPE = 6
DOTA_ABILITY_PING_TYPE_ABILITY_PING_INSTASH DOTA_ABILITY_PING_TYPE = 7
DOTA_ABILITY_PING_TYPE_ABILITY_PING_ONCOURIER DOTA_ABILITY_PING_TYPE = 8
DOTA_ABILITY_PING_TYPE_ABILITY_PING_ALLY DOTA_ABILITY_PING_TYPE = 9
DOTA_ABILITY_PING_TYPE_ABILITY_PING_LEARN_READY DOTA_ABILITY_PING_TYPE = 10
DOTA_ABILITY_PING_TYPE_ABILITY_PING_WILL_LEARN DOTA_ABILITY_PING_TYPE = 11
DOTA_ABILITY_PING_TYPE_ABILITY_PING_FUTURE_LEARN DOTA_ABILITY_PING_TYPE = 12
DOTA_ABILITY_PING_TYPE_ABILITY_PING_NEUTRAL_OFFER DOTA_ABILITY_PING_TYPE = 13
DOTA_ABILITY_PING_TYPE_ABILITY_PING_NEUTRAL_REQUEST DOTA_ABILITY_PING_TYPE = 14
DOTA_ABILITY_PING_TYPE_ABILITY_PING_NEUTRAL_EQUIP DOTA_ABILITY_PING_TYPE = 15
)
// Enum value maps for DOTA_ABILITY_PING_TYPE.
var (
DOTA_ABILITY_PING_TYPE_name = map[int32]string{
1: "ABILITY_PING_READY",
2: "ABILITY_PING_MANA",
3: "ABILITY_PING_COOLDOWN",
4: "ABILITY_PING_ENEMY",
5: "ABILITY_PING_UNLEARNED",
6: "ABILITY_PING_INBACKPACK",
7: "ABILITY_PING_INSTASH",
8: "ABILITY_PING_ONCOURIER",
9: "ABILITY_PING_ALLY",
10: "ABILITY_PING_LEARN_READY",
11: "ABILITY_PING_WILL_LEARN",
12: "ABILITY_PING_FUTURE_LEARN",
13: "ABILITY_PING_NEUTRAL_OFFER",
14: "ABILITY_PING_NEUTRAL_REQUEST",
15: "ABILITY_PING_NEUTRAL_EQUIP",
}
DOTA_ABILITY_PING_TYPE_value = map[string]int32{
"ABILITY_PING_READY": 1,
"ABILITY_PING_MANA": 2,
"ABILITY_PING_COOLDOWN": 3,
"ABILITY_PING_ENEMY": 4,
"ABILITY_PING_UNLEARNED": 5,
"ABILITY_PING_INBACKPACK": 6,
"ABILITY_PING_INSTASH": 7,
"ABILITY_PING_ONCOURIER": 8,
"ABILITY_PING_ALLY": 9,
"ABILITY_PING_LEARN_READY": 10,
"ABILITY_PING_WILL_LEARN": 11,
"ABILITY_PING_FUTURE_LEARN": 12,
"ABILITY_PING_NEUTRAL_OFFER": 13,
"ABILITY_PING_NEUTRAL_REQUEST": 14,
"ABILITY_PING_NEUTRAL_EQUIP": 15,
}
)
func (x DOTA_ABILITY_PING_TYPE) Enum() *DOTA_ABILITY_PING_TYPE {
p := new(DOTA_ABILITY_PING_TYPE)
*p = x
return p
}
func (x DOTA_ABILITY_PING_TYPE) String() string {
return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}
func (DOTA_ABILITY_PING_TYPE) Descriptor() protoreflect.EnumDescriptor {
return file_dota_usermessages_proto_enumTypes[4].Descriptor()
}
func (DOTA_ABILITY_PING_TYPE) Type() protoreflect.EnumType {
return &file_dota_usermessages_proto_enumTypes[4]
}
func (x DOTA_ABILITY_PING_TYPE) Number() protoreflect.EnumNumber {
return protoreflect.EnumNumber(x)
}
// Deprecated: Do not use.
func (x *DOTA_ABILITY_PING_TYPE) UnmarshalJSON(b []byte) error {
num, err := protoimpl.X.UnmarshalJSONEnum(x.Descriptor(), b)
if err != nil {
return err
}
*x = DOTA_ABILITY_PING_TYPE(num)
return nil
}
// Deprecated: Use DOTA_ABILITY_PING_TYPE.Descriptor instead.
func (DOTA_ABILITY_PING_TYPE) EnumDescriptor() ([]byte, []int) {
return file_dota_usermessages_proto_rawDescGZIP(), []int{4}
}
type DOTA_REPLAY_STATE_EVENT int32
const (
DOTA_REPLAY_STATE_EVENT_DOTA_REPLAY_STATE_EVENT_GAME_START DOTA_REPLAY_STATE_EVENT = 1
DOTA_REPLAY_STATE_EVENT_DOTA_REPLAY_STATE_EVENT_STARTING_HORN DOTA_REPLAY_STATE_EVENT = 2
DOTA_REPLAY_STATE_EVENT_DOTA_REPLAY_STATE_EVENT_FIRST_BLOOD DOTA_REPLAY_STATE_EVENT = 3
DOTA_REPLAY_STATE_EVENT_DOTA_REPLAY_STATE_EVENT_SHOWCASE DOTA_REPLAY_STATE_EVENT = 4
DOTA_REPLAY_STATE_EVENT_DOTA_REPLAY_STATE_EVENT_POST_GAME DOTA_REPLAY_STATE_EVENT = 5
DOTA_REPLAY_STATE_EVENT_DOTA_REPLAY_STATE_EVENT_WAIT_FOR_MAP DOTA_REPLAY_STATE_EVENT = 6
)
// Enum value maps for DOTA_REPLAY_STATE_EVENT.
var (
DOTA_REPLAY_STATE_EVENT_name = map[int32]string{
1: "DOTA_REPLAY_STATE_EVENT_GAME_START",
2: "DOTA_REPLAY_STATE_EVENT_STARTING_HORN",
3: "DOTA_REPLAY_STATE_EVENT_FIRST_BLOOD",
4: "DOTA_REPLAY_STATE_EVENT_SHOWCASE",
5: "DOTA_REPLAY_STATE_EVENT_POST_GAME",
6: "DOTA_REPLAY_STATE_EVENT_WAIT_FOR_MAP",
}
DOTA_REPLAY_STATE_EVENT_value = map[string]int32{
"DOTA_REPLAY_STATE_EVENT_GAME_START": 1,
"DOTA_REPLAY_STATE_EVENT_STARTING_HORN": 2,
"DOTA_REPLAY_STATE_EVENT_FIRST_BLOOD": 3,
"DOTA_REPLAY_STATE_EVENT_SHOWCASE": 4,
"DOTA_REPLAY_STATE_EVENT_POST_GAME": 5,
"DOTA_REPLAY_STATE_EVENT_WAIT_FOR_MAP": 6,
}
)
func (x DOTA_REPLAY_STATE_EVENT) Enum() *DOTA_REPLAY_STATE_EVENT {
p := new(DOTA_REPLAY_STATE_EVENT)
*p = x
return p
}
func (x DOTA_REPLAY_STATE_EVENT) String() string {
return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}
func (DOTA_REPLAY_STATE_EVENT) Descriptor() protoreflect.EnumDescriptor {
return file_dota_usermessages_proto_enumTypes[5].Descriptor()
}
func (DOTA_REPLAY_STATE_EVENT) Type() protoreflect.EnumType {
return &file_dota_usermessages_proto_enumTypes[5]
}
func (x DOTA_REPLAY_STATE_EVENT) Number() protoreflect.EnumNumber {
return protoreflect.EnumNumber(x)
}
// Deprecated: Do not use.
func (x *DOTA_REPLAY_STATE_EVENT) UnmarshalJSON(b []byte) error {
num, err := protoimpl.X.UnmarshalJSONEnum(x.Descriptor(), b)
if err != nil {
return err
}
*x = DOTA_REPLAY_STATE_EVENT(num)
return nil
}
// Deprecated: Use DOTA_REPLAY_STATE_EVENT.Descriptor instead.
func (DOTA_REPLAY_STATE_EVENT) EnumDescriptor() ([]byte, []int) {
return file_dota_usermessages_proto_rawDescGZIP(), []int{5}
}
type EDotaEntityMessages int32
const (
EDotaEntityMessages_DOTA_UNIT_SPEECH EDotaEntityMessages = 0
EDotaEntityMessages_DOTA_UNIT_SPEECH_MUTE EDotaEntityMessages = 1
EDotaEntityMessages_DOTA_UNIT_ADD_GESTURE EDotaEntityMessages = 2
EDotaEntityMessages_DOTA_UNIT_REMOVE_GESTURE EDotaEntityMessages = 3
EDotaEntityMessages_DOTA_UNIT_REMOVE_ALL_GESTURES EDotaEntityMessages = 4
EDotaEntityMessages_DOTA_UNIT_FADE_GESTURE EDotaEntityMessages = 6
EDotaEntityMessages_DOTA_UNIT_SPEECH_CLIENTSIDE_RULES EDotaEntityMessages = 7
)
// Enum value maps for EDotaEntityMessages.
var (
EDotaEntityMessages_name = map[int32]string{
0: "DOTA_UNIT_SPEECH",
1: "DOTA_UNIT_SPEECH_MUTE",
2: "DOTA_UNIT_ADD_GESTURE",
3: "DOTA_UNIT_REMOVE_GESTURE",
4: "DOTA_UNIT_REMOVE_ALL_GESTURES",
6: "DOTA_UNIT_FADE_GESTURE",
7: "DOTA_UNIT_SPEECH_CLIENTSIDE_RULES",
}
EDotaEntityMessages_value = map[string]int32{
"DOTA_UNIT_SPEECH": 0,
"DOTA_UNIT_SPEECH_MUTE": 1,
"DOTA_UNIT_ADD_GESTURE": 2,
"DOTA_UNIT_REMOVE_GESTURE": 3,
"DOTA_UNIT_REMOVE_ALL_GESTURES": 4,
"DOTA_UNIT_FADE_GESTURE": 6,
"DOTA_UNIT_SPEECH_CLIENTSIDE_RULES": 7,
}
)
func (x EDotaEntityMessages) Enum() *EDotaEntityMessages {
p := new(EDotaEntityMessages)
*p = x
return p
}
func (x EDotaEntityMessages) String() string {
return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}
func (EDotaEntityMessages) Descriptor() protoreflect.EnumDescriptor {
return file_dota_usermessages_proto_enumTypes[6].Descriptor()
}
func (EDotaEntityMessages) Type() protoreflect.EnumType {
return &file_dota_usermessages_proto_enumTypes[6]
}
func (x EDotaEntityMessages) Number() protoreflect.EnumNumber {
return protoreflect.EnumNumber(x)
}
// Deprecated: Do not use.
func (x *EDotaEntityMessages) UnmarshalJSON(b []byte) error {
num, err := protoimpl.X.UnmarshalJSONEnum(x.Descriptor(), b)
if err != nil {
return err
}
*x = EDotaEntityMessages(num)
return nil
}
// Deprecated: Use EDotaEntityMessages.Descriptor instead.
func (EDotaEntityMessages) EnumDescriptor() ([]byte, []int) {
return file_dota_usermessages_proto_rawDescGZIP(), []int{6}
}
type DOTA_OVERHEAD_ALERT int32
const (
DOTA_OVERHEAD_ALERT_OVERHEAD_ALERT_GOLD DOTA_OVERHEAD_ALERT = 0
DOTA_OVERHEAD_ALERT_OVERHEAD_ALERT_DENY DOTA_OVERHEAD_ALERT = 1
DOTA_OVERHEAD_ALERT_OVERHEAD_ALERT_CRITICAL DOTA_OVERHEAD_ALERT = 2
DOTA_OVERHEAD_ALERT_OVERHEAD_ALERT_XP DOTA_OVERHEAD_ALERT = 3
DOTA_OVERHEAD_ALERT_OVERHEAD_ALERT_BONUS_SPELL_DAMAGE DOTA_OVERHEAD_ALERT = 4
DOTA_OVERHEAD_ALERT_OVERHEAD_ALERT_MISS DOTA_OVERHEAD_ALERT = 5
DOTA_OVERHEAD_ALERT_OVERHEAD_ALERT_DAMAGE DOTA_OVERHEAD_ALERT = 6
DOTA_OVERHEAD_ALERT_OVERHEAD_ALERT_EVADE DOTA_OVERHEAD_ALERT = 7
DOTA_OVERHEAD_ALERT_OVERHEAD_ALERT_BLOCK DOTA_OVERHEAD_ALERT = 8
DOTA_OVERHEAD_ALERT_OVERHEAD_ALERT_BONUS_POISON_DAMAGE DOTA_OVERHEAD_ALERT = 9
DOTA_OVERHEAD_ALERT_OVERHEAD_ALERT_HEAL DOTA_OVERHEAD_ALERT = 10
DOTA_OVERHEAD_ALERT_OVERHEAD_ALERT_MANA_ADD DOTA_OVERHEAD_ALERT = 11
DOTA_OVERHEAD_ALERT_OVERHEAD_ALERT_MANA_LOSS DOTA_OVERHEAD_ALERT = 12
DOTA_OVERHEAD_ALERT_OVERHEAD_ALERT_LAST_HIT_EARLY DOTA_OVERHEAD_ALERT = 13
DOTA_OVERHEAD_ALERT_OVERHEAD_ALERT_LAST_HIT_CLOSE DOTA_OVERHEAD_ALERT = 14
DOTA_OVERHEAD_ALERT_OVERHEAD_ALERT_LAST_HIT_MISS DOTA_OVERHEAD_ALERT = 15
DOTA_OVERHEAD_ALERT_OVERHEAD_ALERT_MAGICAL_BLOCK DOTA_OVERHEAD_ALERT = 16
DOTA_OVERHEAD_ALERT_OVERHEAD_ALERT_INCOMING_DAMAGE DOTA_OVERHEAD_ALERT = 17
DOTA_OVERHEAD_ALERT_OVERHEAD_ALERT_OUTGOING_DAMAGE DOTA_OVERHEAD_ALERT = 18
DOTA_OVERHEAD_ALERT_OVERHEAD_ALERT_DISABLE_RESIST DOTA_OVERHEAD_ALERT = 19
DOTA_OVERHEAD_ALERT_OVERHEAD_ALERT_DEATH DOTA_OVERHEAD_ALERT = 20
DOTA_OVERHEAD_ALERT_OVERHEAD_ALERT_BLOCKED DOTA_OVERHEAD_ALERT = 21
DOTA_OVERHEAD_ALERT_OVERHEAD_ALERT_ITEM_RECEIVED DOTA_OVERHEAD_ALERT = 22
DOTA_OVERHEAD_ALERT_OVERHEAD_ALERT_SHARD DOTA_OVERHEAD_ALERT = 23
DOTA_OVERHEAD_ALERT_OVERHEAD_ALERT_DEADLY_BLOW DOTA_OVERHEAD_ALERT = 24
)
// Enum value maps for DOTA_OVERHEAD_ALERT.
var (
DOTA_OVERHEAD_ALERT_name = map[int32]string{
0: "OVERHEAD_ALERT_GOLD",
1: "OVERHEAD_ALERT_DENY",
2: "OVERHEAD_ALERT_CRITICAL",
3: "OVERHEAD_ALERT_XP",
4: "OVERHEAD_ALERT_BONUS_SPELL_DAMAGE",
5: "OVERHEAD_ALERT_MISS",
6: "OVERHEAD_ALERT_DAMAGE",
7: "OVERHEAD_ALERT_EVADE",
8: "OVERHEAD_ALERT_BLOCK",
9: "OVERHEAD_ALERT_BONUS_POISON_DAMAGE",
10: "OVERHEAD_ALERT_HEAL",
11: "OVERHEAD_ALERT_MANA_ADD",
12: "OVERHEAD_ALERT_MANA_LOSS",
13: "OVERHEAD_ALERT_LAST_HIT_EARLY",
14: "OVERHEAD_ALERT_LAST_HIT_CLOSE",
15: "OVERHEAD_ALERT_LAST_HIT_MISS",
16: "OVERHEAD_ALERT_MAGICAL_BLOCK",
17: "OVERHEAD_ALERT_INCOMING_DAMAGE",
18: "OVERHEAD_ALERT_OUTGOING_DAMAGE",
19: "OVERHEAD_ALERT_DISABLE_RESIST",
20: "OVERHEAD_ALERT_DEATH",
21: "OVERHEAD_ALERT_BLOCKED",
22: "OVERHEAD_ALERT_ITEM_RECEIVED",
23: "OVERHEAD_ALERT_SHARD",
24: "OVERHEAD_ALERT_DEADLY_BLOW",
}
DOTA_OVERHEAD_ALERT_value = map[string]int32{
"OVERHEAD_ALERT_GOLD": 0,
"OVERHEAD_ALERT_DENY": 1,
"OVERHEAD_ALERT_CRITICAL": 2,
"OVERHEAD_ALERT_XP": 3,
"OVERHEAD_ALERT_BONUS_SPELL_DAMAGE": 4,
"OVERHEAD_ALERT_MISS": 5,
"OVERHEAD_ALERT_DAMAGE": 6,
"OVERHEAD_ALERT_EVADE": 7,
"OVERHEAD_ALERT_BLOCK": 8,
"OVERHEAD_ALERT_BONUS_POISON_DAMAGE": 9,
"OVERHEAD_ALERT_HEAL": 10,
"OVERHEAD_ALERT_MANA_ADD": 11,
"OVERHEAD_ALERT_MANA_LOSS": 12,
"OVERHEAD_ALERT_LAST_HIT_EARLY": 13,
"OVERHEAD_ALERT_LAST_HIT_CLOSE": 14,
"OVERHEAD_ALERT_LAST_HIT_MISS": 15,
"OVERHEAD_ALERT_MAGICAL_BLOCK": 16,
"OVERHEAD_ALERT_INCOMING_DAMAGE": 17,
"OVERHEAD_ALERT_OUTGOING_DAMAGE": 18,
"OVERHEAD_ALERT_DISABLE_RESIST": 19,
"OVERHEAD_ALERT_DEATH": 20,
"OVERHEAD_ALERT_BLOCKED": 21,
"OVERHEAD_ALERT_ITEM_RECEIVED": 22,
"OVERHEAD_ALERT_SHARD": 23,
"OVERHEAD_ALERT_DEADLY_BLOW": 24,
}
)
func (x DOTA_OVERHEAD_ALERT) Enum() *DOTA_OVERHEAD_ALERT {
p := new(DOTA_OVERHEAD_ALERT)
*p = x
return p
}
func (x DOTA_OVERHEAD_ALERT) String() string {
return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}
func (DOTA_OVERHEAD_ALERT) Descriptor() protoreflect.EnumDescriptor {
return file_dota_usermessages_proto_enumTypes[7].Descriptor()
}
func (DOTA_OVERHEAD_ALERT) Type() protoreflect.EnumType {
return &file_dota_usermessages_proto_enumTypes[7]
}
func (x DOTA_OVERHEAD_ALERT) Number() protoreflect.EnumNumber {
return protoreflect.EnumNumber(x)
}
// Deprecated: Do not use.
func (x *DOTA_OVERHEAD_ALERT) UnmarshalJSON(b []byte) error {
num, err := protoimpl.X.UnmarshalJSONEnum(x.Descriptor(), b)
if err != nil {
return err
}
*x = DOTA_OVERHEAD_ALERT(num)
return nil
}
// Deprecated: Use DOTA_OVERHEAD_ALERT.Descriptor instead.
func (DOTA_OVERHEAD_ALERT) EnumDescriptor() ([]byte, []int) {
return file_dota_usermessages_proto_rawDescGZIP(), []int{7}
}
type DOTA_ROSHAN_PHASE int32
const (
DOTA_ROSHAN_PHASE_k_SRSP_ROSHAN_ALIVE DOTA_ROSHAN_PHASE = 0
DOTA_ROSHAN_PHASE_k_SRSP_ROSHAN_BASE_TIMER DOTA_ROSHAN_PHASE = 1
DOTA_ROSHAN_PHASE_k_SRSP_ROSHAN_VISIBLE_TIMER DOTA_ROSHAN_PHASE = 2
)
// Enum value maps for DOTA_ROSHAN_PHASE.
var (
DOTA_ROSHAN_PHASE_name = map[int32]string{
0: "k_SRSP_ROSHAN_ALIVE",
1: "k_SRSP_ROSHAN_BASE_TIMER",
2: "k_SRSP_ROSHAN_VISIBLE_TIMER",
}
DOTA_ROSHAN_PHASE_value = map[string]int32{
"k_SRSP_ROSHAN_ALIVE": 0,
"k_SRSP_ROSHAN_BASE_TIMER": 1,
"k_SRSP_ROSHAN_VISIBLE_TIMER": 2,
}
)
func (x DOTA_ROSHAN_PHASE) Enum() *DOTA_ROSHAN_PHASE {
p := new(DOTA_ROSHAN_PHASE)
*p = x
return p
}
func (x DOTA_ROSHAN_PHASE) String() string {
return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}
func (DOTA_ROSHAN_PHASE) Descriptor() protoreflect.EnumDescriptor {
return file_dota_usermessages_proto_enumTypes[8].Descriptor()
}
func (DOTA_ROSHAN_PHASE) Type() protoreflect.EnumType {
return &file_dota_usermessages_proto_enumTypes[8]
}
func (x DOTA_ROSHAN_PHASE) Number() protoreflect.EnumNumber {
return protoreflect.EnumNumber(x)
}
// Deprecated: Do not use.
func (x *DOTA_ROSHAN_PHASE) UnmarshalJSON(b []byte) error {
num, err := protoimpl.X.UnmarshalJSONEnum(x.Descriptor(), b)
if err != nil {
return err
}
*x = DOTA_ROSHAN_PHASE(num)
return nil
}
// Deprecated: Use DOTA_ROSHAN_PHASE.Descriptor instead.
func (DOTA_ROSHAN_PHASE) EnumDescriptor() ([]byte, []int) {
return file_dota_usermessages_proto_rawDescGZIP(), []int{8}
}
type DOTA_POSITION_CATEGORY int32
const (
DOTA_POSITION_CATEGORY_DOTA_POSITION_NONE DOTA_POSITION_CATEGORY = 0
DOTA_POSITION_CATEGORY_DOTA_POSITION_BOTTOM_LANE DOTA_POSITION_CATEGORY = 1
DOTA_POSITION_CATEGORY_DOTA_POSITION_MID_LANE DOTA_POSITION_CATEGORY = 2
DOTA_POSITION_CATEGORY_DOTA_POSITION_TOP_LANE DOTA_POSITION_CATEGORY = 3
DOTA_POSITION_CATEGORY_DOTA_POSITION_RADIANT_JUNGLE DOTA_POSITION_CATEGORY = 4
DOTA_POSITION_CATEGORY_DOTA_POSITION_DIRE_JUNGLE DOTA_POSITION_CATEGORY = 5
DOTA_POSITION_CATEGORY_DOTA_POSITION_RADIANT_ANCIENTS DOTA_POSITION_CATEGORY = 6
DOTA_POSITION_CATEGORY_DOTA_POSITION_DIRE_ANCIENTS DOTA_POSITION_CATEGORY = 7
DOTA_POSITION_CATEGORY_DOTA_POSITION_RADIANT_SECRET_SHOP DOTA_POSITION_CATEGORY = 8
DOTA_POSITION_CATEGORY_DOTA_POSITION_DIRE_SECRET_SHOP DOTA_POSITION_CATEGORY = 9
DOTA_POSITION_CATEGORY_DOTA_POSITION_RIVER DOTA_POSITION_CATEGORY = 10
DOTA_POSITION_CATEGORY_DOTA_POSITION_ROSHAN_PIT DOTA_POSITION_CATEGORY = 11
DOTA_POSITION_CATEGORY_DOTA_POSITION_RADIANT_BASE DOTA_POSITION_CATEGORY = 12
DOTA_POSITION_CATEGORY_DOTA_POSITION_DIRE_BASE DOTA_POSITION_CATEGORY = 13
DOTA_POSITION_CATEGORY_DOTA_POSITION_FOUNTAIN DOTA_POSITION_CATEGORY = 14
DOTA_POSITION_CATEGORY_DOTA_POSITION_OTHER DOTA_POSITION_CATEGORY = 15
)
// Enum value maps for DOTA_POSITION_CATEGORY.
var (
DOTA_POSITION_CATEGORY_name = map[int32]string{
0: "DOTA_POSITION_NONE",
1: "DOTA_POSITION_BOTTOM_LANE",
2: "DOTA_POSITION_MID_LANE",
3: "DOTA_POSITION_TOP_LANE",
4: "DOTA_POSITION_RADIANT_JUNGLE",
5: "DOTA_POSITION_DIRE_JUNGLE",
6: "DOTA_POSITION_RADIANT_ANCIENTS",
7: "DOTA_POSITION_DIRE_ANCIENTS",
8: "DOTA_POSITION_RADIANT_SECRET_SHOP",
9: "DOTA_POSITION_DIRE_SECRET_SHOP",
10: "DOTA_POSITION_RIVER",
11: "DOTA_POSITION_ROSHAN_PIT",
12: "DOTA_POSITION_RADIANT_BASE",
13: "DOTA_POSITION_DIRE_BASE",
14: "DOTA_POSITION_FOUNTAIN",
15: "DOTA_POSITION_OTHER",
}
DOTA_POSITION_CATEGORY_value = map[string]int32{
"DOTA_POSITION_NONE": 0,
"DOTA_POSITION_BOTTOM_LANE": 1,
"DOTA_POSITION_MID_LANE": 2,
"DOTA_POSITION_TOP_LANE": 3,
"DOTA_POSITION_RADIANT_JUNGLE": 4,
"DOTA_POSITION_DIRE_JUNGLE": 5,
"DOTA_POSITION_RADIANT_ANCIENTS": 6,
"DOTA_POSITION_DIRE_ANCIENTS": 7,
"DOTA_POSITION_RADIANT_SECRET_SHOP": 8,
"DOTA_POSITION_DIRE_SECRET_SHOP": 9,
"DOTA_POSITION_RIVER": 10,
"DOTA_POSITION_ROSHAN_PIT": 11,
"DOTA_POSITION_RADIANT_BASE": 12,
"DOTA_POSITION_DIRE_BASE": 13,
"DOTA_POSITION_FOUNTAIN": 14,
"DOTA_POSITION_OTHER": 15,
}
)
func (x DOTA_POSITION_CATEGORY) Enum() *DOTA_POSITION_CATEGORY {
p := new(DOTA_POSITION_CATEGORY)
*p = x
return p
}
func (x DOTA_POSITION_CATEGORY) String() string {
return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}
func (DOTA_POSITION_CATEGORY) Descriptor() protoreflect.EnumDescriptor {
return file_dota_usermessages_proto_enumTypes[9].Descriptor()
}
func (DOTA_POSITION_CATEGORY) Type() protoreflect.EnumType {
return &file_dota_usermessages_proto_enumTypes[9]
}
func (x DOTA_POSITION_CATEGORY) Number() protoreflect.EnumNumber {
return protoreflect.EnumNumber(x)
}
// Deprecated: Do not use.
func (x *DOTA_POSITION_CATEGORY) UnmarshalJSON(b []byte) error {
num, err := protoimpl.X.UnmarshalJSONEnum(x.Descriptor(), b)
if err != nil {
return err
}
*x = DOTA_POSITION_CATEGORY(num)
return nil
}
// Deprecated: Use DOTA_POSITION_CATEGORY.Descriptor instead.
func (DOTA_POSITION_CATEGORY) EnumDescriptor() ([]byte, []int) {
return file_dota_usermessages_proto_rawDescGZIP(), []int{9}
}
type DOTA_ABILITY_TARGET_TYPE int32
const (
DOTA_ABILITY_TARGET_TYPE_DOTA_ABILITY_TARGET_NONE DOTA_ABILITY_TARGET_TYPE = 0
DOTA_ABILITY_TARGET_TYPE_DOTA_ABILITY_TARGET_SELF DOTA_ABILITY_TARGET_TYPE = 1
DOTA_ABILITY_TARGET_TYPE_DOTA_ABILITY_TARGET_ALLY_HERO DOTA_ABILITY_TARGET_TYPE = 2
DOTA_ABILITY_TARGET_TYPE_DOTA_ABILITY_TARGET_ALLY_CREEP DOTA_ABILITY_TARGET_TYPE = 3
DOTA_ABILITY_TARGET_TYPE_DOTA_ABILITY_TARGET_ENEMY_HERO DOTA_ABILITY_TARGET_TYPE = 4
DOTA_ABILITY_TARGET_TYPE_DOTA_ABILITY_TARGET_ENEMY_CREEP DOTA_ABILITY_TARGET_TYPE = 5
)
// Enum value maps for DOTA_ABILITY_TARGET_TYPE.
var (
DOTA_ABILITY_TARGET_TYPE_name = map[int32]string{
0: "DOTA_ABILITY_TARGET_NONE",
1: "DOTA_ABILITY_TARGET_SELF",
2: "DOTA_ABILITY_TARGET_ALLY_HERO",
3: "DOTA_ABILITY_TARGET_ALLY_CREEP",
4: "DOTA_ABILITY_TARGET_ENEMY_HERO",
5: "DOTA_ABILITY_TARGET_ENEMY_CREEP",
}
DOTA_ABILITY_TARGET_TYPE_value = map[string]int32{
"DOTA_ABILITY_TARGET_NONE": 0,
"DOTA_ABILITY_TARGET_SELF": 1,
"DOTA_ABILITY_TARGET_ALLY_HERO": 2,
"DOTA_ABILITY_TARGET_ALLY_CREEP": 3,
"DOTA_ABILITY_TARGET_ENEMY_HERO": 4,
"DOTA_ABILITY_TARGET_ENEMY_CREEP": 5,
}
)
func (x DOTA_ABILITY_TARGET_TYPE) Enum() *DOTA_ABILITY_TARGET_TYPE {
p := new(DOTA_ABILITY_TARGET_TYPE)
*p = x
return p
}
func (x DOTA_ABILITY_TARGET_TYPE) String() string {
return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}
func (DOTA_ABILITY_TARGET_TYPE) Descriptor() protoreflect.EnumDescriptor {
return file_dota_usermessages_proto_enumTypes[10].Descriptor()
}
func (DOTA_ABILITY_TARGET_TYPE) Type() protoreflect.EnumType {
return &file_dota_usermessages_proto_enumTypes[10]
}
func (x DOTA_ABILITY_TARGET_TYPE) Number() protoreflect.EnumNumber {
return protoreflect.EnumNumber(x)
}
// Deprecated: Do not use.
func (x *DOTA_ABILITY_TARGET_TYPE) UnmarshalJSON(b []byte) error {
num, err := protoimpl.X.UnmarshalJSONEnum(x.Descriptor(), b)
if err != nil {
return err
}
*x = DOTA_ABILITY_TARGET_TYPE(num)
return nil
}
// Deprecated: Use DOTA_ABILITY_TARGET_TYPE.Descriptor instead.
func (DOTA_ABILITY_TARGET_TYPE) EnumDescriptor() ([]byte, []int) {
return file_dota_usermessages_proto_rawDescGZIP(), []int{10}
}
type EHeroStatType int32
const (
EHeroStatType_k_EHeroStatType_None EHeroStatType = 0
EHeroStatType_k_EHeroStatType_AxeTotalDamage EHeroStatType = 2000
EHeroStatType_k_EHeroStatType_BattleHungerDamage EHeroStatType = 2001
EHeroStatType_k_EHeroStatType_CounterHelixDamage EHeroStatType = 2002
EHeroStatType_k_EHeroStatType_CullingBladeDamage EHeroStatType = 2003
EHeroStatType_k_EHeroStatType_BerserkersCallCastCount EHeroStatType = 2004
EHeroStatType_k_EHeroStatType_BerserkersCallHeroesHitAverage EHeroStatType = 2005
EHeroStatType_k_EHeroStatType_BerserkersCallOtherUnitsHit EHeroStatType = 2006
EHeroStatType_k_EHeroStatType_BerserkersCallHeroAttacksTaken EHeroStatType = 2007
EHeroStatType_k_EHeroStatType_BerserkersCallOtherAttacksTaken EHeroStatType = 2008
EHeroStatType_k_EHeroStatType_BattleHungerCastCount EHeroStatType = 2009
EHeroStatType_k_EHeroStatType_BattleHungerPotentialDuration EHeroStatType = 2010
EHeroStatType_k_EHeroStatType_BattleHungerAverageDuration EHeroStatType = 2011
EHeroStatType_k_EHeroStatType_CounterHelixProcCount EHeroStatType = 2012
EHeroStatType_k_EHeroStatType_CounterHelixHeroProcCount EHeroStatType = 2013
EHeroStatType_k_EHeroStatType_CounterHelixHeroesHitAverage EHeroStatType = 2014
EHeroStatType_k_EHeroStatType_CounterHelixOtherUnitsHitCount EHeroStatType = 2015
EHeroStatType_k_EHeroStatType_CullingBladeCastCount EHeroStatType = 2016
EHeroStatType_k_EHeroStatType_CullingBladeKillCount EHeroStatType = 2017
EHeroStatType_k_EHeroStatType_CullingBladeAverageHealthCulled EHeroStatType = 2018
EHeroStatType_k_EHeroStatType_CullingBladeAverageDamageAvailable EHeroStatType = 2019
EHeroStatType_k_EHeroStatType_CullingBladeHeroBuffAverage EHeroStatType = 2020
)
// Enum value maps for EHeroStatType.
var (
EHeroStatType_name = map[int32]string{
0: "k_EHeroStatType_None",
2000: "k_EHeroStatType_AxeTotalDamage",
2001: "k_EHeroStatType_BattleHungerDamage",
2002: "k_EHeroStatType_CounterHelixDamage",
2003: "k_EHeroStatType_CullingBladeDamage",
2004: "k_EHeroStatType_BerserkersCallCastCount",
2005: "k_EHeroStatType_BerserkersCallHeroesHitAverage",
2006: "k_EHeroStatType_BerserkersCallOtherUnitsHit",
2007: "k_EHeroStatType_BerserkersCallHeroAttacksTaken",
2008: "k_EHeroStatType_BerserkersCallOtherAttacksTaken",
2009: "k_EHeroStatType_BattleHungerCastCount",
2010: "k_EHeroStatType_BattleHungerPotentialDuration",
2011: "k_EHeroStatType_BattleHungerAverageDuration",
2012: "k_EHeroStatType_CounterHelixProcCount",
2013: "k_EHeroStatType_CounterHelixHeroProcCount",
2014: "k_EHeroStatType_CounterHelixHeroesHitAverage",
2015: "k_EHeroStatType_CounterHelixOtherUnitsHitCount",
2016: "k_EHeroStatType_CullingBladeCastCount",
2017: "k_EHeroStatType_CullingBladeKillCount",
2018: "k_EHeroStatType_CullingBladeAverageHealthCulled",
2019: "k_EHeroStatType_CullingBladeAverageDamageAvailable",
2020: "k_EHeroStatType_CullingBladeHeroBuffAverage",
}
EHeroStatType_value = map[string]int32{
"k_EHeroStatType_None": 0,
"k_EHeroStatType_AxeTotalDamage": 2000,
"k_EHeroStatType_BattleHungerDamage": 2001,
"k_EHeroStatType_CounterHelixDamage": 2002,
"k_EHeroStatType_CullingBladeDamage": 2003,
"k_EHeroStatType_BerserkersCallCastCount": 2004,
"k_EHeroStatType_BerserkersCallHeroesHitAverage": 2005,
"k_EHeroStatType_BerserkersCallOtherUnitsHit": 2006,
"k_EHeroStatType_BerserkersCallHeroAttacksTaken": 2007,
"k_EHeroStatType_BerserkersCallOtherAttacksTaken": 2008,
"k_EHeroStatType_BattleHungerCastCount": 2009,
"k_EHeroStatType_BattleHungerPotentialDuration": 2010,
"k_EHeroStatType_BattleHungerAverageDuration": 2011,
"k_EHeroStatType_CounterHelixProcCount": 2012,
"k_EHeroStatType_CounterHelixHeroProcCount": 2013,
"k_EHeroStatType_CounterHelixHeroesHitAverage": 2014,
"k_EHeroStatType_CounterHelixOtherUnitsHitCount": 2015,
"k_EHeroStatType_CullingBladeCastCount": 2016,
"k_EHeroStatType_CullingBladeKillCount": 2017,
"k_EHeroStatType_CullingBladeAverageHealthCulled": 2018,
"k_EHeroStatType_CullingBladeAverageDamageAvailable": 2019,
"k_EHeroStatType_CullingBladeHeroBuffAverage": 2020,
}
)
func (x EHeroStatType) Enum() *EHeroStatType {
p := new(EHeroStatType)
*p = x
return p
}
func (x EHeroStatType) String() string {
return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}
func (EHeroStatType) Descriptor() protoreflect.EnumDescriptor {
return file_dota_usermessages_proto_enumTypes[11].Descriptor()
}
func (EHeroStatType) Type() protoreflect.EnumType {
return &file_dota_usermessages_proto_enumTypes[11]
}
func (x EHeroStatType) Number() protoreflect.EnumNumber {
return protoreflect.EnumNumber(x)
}
// Deprecated: Do not use.
func (x *EHeroStatType) UnmarshalJSON(b []byte) error {
num, err := protoimpl.X.UnmarshalJSONEnum(x.Descriptor(), b)
if err != nil {
return err
}
*x = EHeroStatType(num)
return nil
}
// Deprecated: Use EHeroStatType.Descriptor instead.
func (EHeroStatType) EnumDescriptor() ([]byte, []int) {
return file_dota_usermessages_proto_rawDescGZIP(), []int{11}
}
type EPlayerVoiceListenState int32
const (
EPlayerVoiceListenState_kPVLS_None EPlayerVoiceListenState = 0
EPlayerVoiceListenState_kPVLS_DeniedChatBanned EPlayerVoiceListenState = 1
EPlayerVoiceListenState_kPVLS_DeniedPartner EPlayerVoiceListenState = 2
EPlayerVoiceListenState_kPVLS_DeniedHLTVTalkerNotSpectator EPlayerVoiceListenState = 3
EPlayerVoiceListenState_kPVLS_DeniedHLTVNoTalkerPlayerID EPlayerVoiceListenState = 4
EPlayerVoiceListenState_kPVLS_DeniedHLTVTalkerNotBroadcaster EPlayerVoiceListenState = 5
EPlayerVoiceListenState_kPVLS_DeniedTeamSpectator EPlayerVoiceListenState = 6
EPlayerVoiceListenState_kPVLS_DeniedStudent EPlayerVoiceListenState = 8
EPlayerVoiceListenState_kPVLS_DeniedPrivateCoach EPlayerVoiceListenState = 9
EPlayerVoiceListenState_kPVLS_Denied EPlayerVoiceListenState = 64
EPlayerVoiceListenState_kPVLS_AllowHLTVTalkerIsBroadcaster EPlayerVoiceListenState = 65
EPlayerVoiceListenState_kPVLS_AllowCoBroadcaster EPlayerVoiceListenState = 66
EPlayerVoiceListenState_kPVLS_AllowAllChat EPlayerVoiceListenState = 67
EPlayerVoiceListenState_kPVLS_AllowStudentToCoach EPlayerVoiceListenState = 68
EPlayerVoiceListenState_kPVLS_AllowFellowStudent EPlayerVoiceListenState = 69
EPlayerVoiceListenState_kPVLS_AllowTalkerIsCoach EPlayerVoiceListenState = 70
EPlayerVoiceListenState_kPVLS_AllowCoachHearTeam EPlayerVoiceListenState = 71
EPlayerVoiceListenState_kPVLS_AllowSameTeam EPlayerVoiceListenState = 72
EPlayerVoiceListenState_kPVLS_AllowShowcase EPlayerVoiceListenState = 73
EPlayerVoiceListenState_kPVLS_AllowPrivateCoach EPlayerVoiceListenState = 74
)
// Enum value maps for EPlayerVoiceListenState.
var (
EPlayerVoiceListenState_name = map[int32]string{
0: "kPVLS_None",
1: "kPVLS_DeniedChatBanned",
2: "kPVLS_DeniedPartner",
3: "kPVLS_DeniedHLTVTalkerNotSpectator",
4: "kPVLS_DeniedHLTVNoTalkerPlayerID",
5: "kPVLS_DeniedHLTVTalkerNotBroadcaster",
6: "kPVLS_DeniedTeamSpectator",
8: "kPVLS_DeniedStudent",
9: "kPVLS_DeniedPrivateCoach",
64: "kPVLS_Denied",
65: "kPVLS_AllowHLTVTalkerIsBroadcaster",
66: "kPVLS_AllowCoBroadcaster",
67: "kPVLS_AllowAllChat",
68: "kPVLS_AllowStudentToCoach",
69: "kPVLS_AllowFellowStudent",
70: "kPVLS_AllowTalkerIsCoach",
71: "kPVLS_AllowCoachHearTeam",
72: "kPVLS_AllowSameTeam",
73: "kPVLS_AllowShowcase",
74: "kPVLS_AllowPrivateCoach",
}
EPlayerVoiceListenState_value = map[string]int32{
"kPVLS_None": 0,
"kPVLS_DeniedChatBanned": 1,
"kPVLS_DeniedPartner": 2,
"kPVLS_DeniedHLTVTalkerNotSpectator": 3,
"kPVLS_DeniedHLTVNoTalkerPlayerID": 4,
"kPVLS_DeniedHLTVTalkerNotBroadcaster": 5,
"kPVLS_DeniedTeamSpectator": 6,
"kPVLS_DeniedStudent": 8,
"kPVLS_DeniedPrivateCoach": 9,
"kPVLS_Denied": 64,
"kPVLS_AllowHLTVTalkerIsBroadcaster": 65,
"kPVLS_AllowCoBroadcaster": 66,
"kPVLS_AllowAllChat": 67,
"kPVLS_AllowStudentToCoach": 68,
"kPVLS_AllowFellowStudent": 69,
"kPVLS_AllowTalkerIsCoach": 70,
"kPVLS_AllowCoachHearTeam": 71,
"kPVLS_AllowSameTeam": 72,
"kPVLS_AllowShowcase": 73,
"kPVLS_AllowPrivateCoach": 74,
}
)
func (x EPlayerVoiceListenState) Enum() *EPlayerVoiceListenState {
p := new(EPlayerVoiceListenState)
*p = x
return p
}
func (x EPlayerVoiceListenState) String() string {
return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}
func (EPlayerVoiceListenState) Descriptor() protoreflect.EnumDescriptor {
return file_dota_usermessages_proto_enumTypes[12].Descriptor()
}
func (EPlayerVoiceListenState) Type() protoreflect.EnumType {
return &file_dota_usermessages_proto_enumTypes[12]
}
func (x EPlayerVoiceListenState) Number() protoreflect.EnumNumber {
return protoreflect.EnumNumber(x)
}
// Deprecated: Do not use.
func (x *EPlayerVoiceListenState) UnmarshalJSON(b []byte) error {
num, err := protoimpl.X.UnmarshalJSONEnum(x.Descriptor(), b)
if err != nil {
return err
}
*x = EPlayerVoiceListenState(num)
return nil
}
// Deprecated: Use EPlayerVoiceListenState.Descriptor instead.
func (EPlayerVoiceListenState) EnumDescriptor() ([]byte, []int) {
return file_dota_usermessages_proto_rawDescGZIP(), []int{12}
}
type EProjectionEvent int32
const (
EProjectionEvent_ePE_FirstBlood EProjectionEvent = 0
EProjectionEvent_ePE_Killstreak_godlike EProjectionEvent = 1
)
// Enum value maps for EProjectionEvent.
var (
EProjectionEvent_name = map[int32]string{
0: "ePE_FirstBlood",
1: "ePE_Killstreak_godlike",
}
EProjectionEvent_value = map[string]int32{
"ePE_FirstBlood": 0,
"ePE_Killstreak_godlike": 1,
}
)
func (x EProjectionEvent) Enum() *EProjectionEvent {
p := new(EProjectionEvent)
*p = x
return p
}
func (x EProjectionEvent) String() string {
return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}
func (EProjectionEvent) Descriptor() protoreflect.EnumDescriptor {
return file_dota_usermessages_proto_enumTypes[13].Descriptor()
}
func (EProjectionEvent) Type() protoreflect.EnumType {
return &file_dota_usermessages_proto_enumTypes[13]
}
func (x EProjectionEvent) Number() protoreflect.EnumNumber {
return protoreflect.EnumNumber(x)
}
// Deprecated: Do not use.
func (x *EProjectionEvent) UnmarshalJSON(b []byte) error {
num, err := protoimpl.X.UnmarshalJSONEnum(x.Descriptor(), b)
if err != nil {
return err
}
*x = EProjectionEvent(num)
return nil
}
// Deprecated: Use EProjectionEvent.Descriptor instead.
func (EProjectionEvent) EnumDescriptor() ([]byte, []int) {
return file_dota_usermessages_proto_rawDescGZIP(), []int{13}
}
type CDOTAUserMsg_PredictionResult_Prediction_EResult int32
const (
CDOTAUserMsg_PredictionResult_Prediction_k_eResult_ItemGranted CDOTAUserMsg_PredictionResult_Prediction_EResult = 1
CDOTAUserMsg_PredictionResult_Prediction_k_eResult_Destroyed CDOTAUserMsg_PredictionResult_Prediction_EResult = 2
)
// Enum value maps for CDOTAUserMsg_PredictionResult_Prediction_EResult.
var (
CDOTAUserMsg_PredictionResult_Prediction_EResult_name = map[int32]string{
1: "k_eResult_ItemGranted",
2: "k_eResult_Destroyed",
}
CDOTAUserMsg_PredictionResult_Prediction_EResult_value = map[string]int32{
"k_eResult_ItemGranted": 1,
"k_eResult_Destroyed": 2,
}
)
func (x CDOTAUserMsg_PredictionResult_Prediction_EResult) Enum() *CDOTAUserMsg_PredictionResult_Prediction_EResult {
p := new(CDOTAUserMsg_PredictionResult_Prediction_EResult)
*p = x
return p
}
func (x CDOTAUserMsg_PredictionResult_Prediction_EResult) String() string {
return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}
func (CDOTAUserMsg_PredictionResult_Prediction_EResult) Descriptor() protoreflect.EnumDescriptor {
return file_dota_usermessages_proto_enumTypes[14].Descriptor()
}
func (CDOTAUserMsg_PredictionResult_Prediction_EResult) Type() protoreflect.EnumType {
return &file_dota_usermessages_proto_enumTypes[14]
}
func (x CDOTAUserMsg_PredictionResult_Prediction_EResult) Number() protoreflect.EnumNumber {
return protoreflect.EnumNumber(x)
}
// Deprecated: Do not use.
func (x *CDOTAUserMsg_PredictionResult_Prediction_EResult) UnmarshalJSON(b []byte) error {
num, err := protoimpl.X.UnmarshalJSONEnum(x.Descriptor(), b)
if err != nil {
return err
}
*x = CDOTAUserMsg_PredictionResult_Prediction_EResult(num)
return nil
}
// Deprecated: Use CDOTAUserMsg_PredictionResult_Prediction_EResult.Descriptor instead.
func (CDOTAUserMsg_PredictionResult_Prediction_EResult) EnumDescriptor() ([]byte, []int) {
return file_dota_usermessages_proto_rawDescGZIP(), []int{40, 0, 0}
}
type CDOTAResponseQuerySerialized_Fact_ValueType int32
const (
CDOTAResponseQuerySerialized_Fact_NUMERIC CDOTAResponseQuerySerialized_Fact_ValueType = 1
CDOTAResponseQuerySerialized_Fact_STRING CDOTAResponseQuerySerialized_Fact_ValueType = 2
CDOTAResponseQuerySerialized_Fact_STRINGTABLE_INDEX CDOTAResponseQuerySerialized_Fact_ValueType = 3
CDOTAResponseQuerySerialized_Fact_INT_NUMERIC CDOTAResponseQuerySerialized_Fact_ValueType = 4
)
// Enum value maps for CDOTAResponseQuerySerialized_Fact_ValueType.
var (
CDOTAResponseQuerySerialized_Fact_ValueType_name = map[int32]string{
1: "NUMERIC",
2: "STRING",
3: "STRINGTABLE_INDEX",
4: "INT_NUMERIC",
}
CDOTAResponseQuerySerialized_Fact_ValueType_value = map[string]int32{
"NUMERIC": 1,
"STRING": 2,
"STRINGTABLE_INDEX": 3,
"INT_NUMERIC": 4,
}
)
func (x CDOTAResponseQuerySerialized_Fact_ValueType) Enum() *CDOTAResponseQuerySerialized_Fact_ValueType {
p := new(CDOTAResponseQuerySerialized_Fact_ValueType)
*p = x
return p
}
func (x CDOTAResponseQuerySerialized_Fact_ValueType) String() string {
return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}
func (CDOTAResponseQuerySerialized_Fact_ValueType) Descriptor() protoreflect.EnumDescriptor {
return file_dota_usermessages_proto_enumTypes[15].Descriptor()
}
func (CDOTAResponseQuerySerialized_Fact_ValueType) Type() protoreflect.EnumType {
return &file_dota_usermessages_proto_enumTypes[15]
}
func (x CDOTAResponseQuerySerialized_Fact_ValueType) Number() protoreflect.EnumNumber {
return protoreflect.EnumNumber(x)
}
// Deprecated: Do not use.
func (x *CDOTAResponseQuerySerialized_Fact_ValueType) UnmarshalJSON(b []byte) error {
num, err := protoimpl.X.UnmarshalJSONEnum(x.Descriptor(), b)
if err != nil {
return err
}
*x = CDOTAResponseQuerySerialized_Fact_ValueType(num)
return nil
}
// Deprecated: Use CDOTAResponseQuerySerialized_Fact_ValueType.Descriptor instead.
func (CDOTAResponseQuerySerialized_Fact_ValueType) EnumDescriptor() ([]byte, []int) {
return file_dota_usermessages_proto_rawDescGZIP(), []int{41, 0, 0}
}
type CDOTAUserMsg_GuildChallenge_Progress_EChallengeType int32
const (
CDOTAUserMsg_GuildChallenge_Progress_k_EChallengeType_Invalid CDOTAUserMsg_GuildChallenge_Progress_EChallengeType = 0
CDOTAUserMsg_GuildChallenge_Progress_k_EChallengeType_Cooperative CDOTAUserMsg_GuildChallenge_Progress_EChallengeType = 1
CDOTAUserMsg_GuildChallenge_Progress_k_EChallengeType_Contract CDOTAUserMsg_GuildChallenge_Progress_EChallengeType = 2
)
// Enum value maps for CDOTAUserMsg_GuildChallenge_Progress_EChallengeType.
var (
CDOTAUserMsg_GuildChallenge_Progress_EChallengeType_name = map[int32]string{
0: "k_EChallengeType_Invalid",
1: "k_EChallengeType_Cooperative",
2: "k_EChallengeType_Contract",
}
CDOTAUserMsg_GuildChallenge_Progress_EChallengeType_value = map[string]int32{
"k_EChallengeType_Invalid": 0,
"k_EChallengeType_Cooperative": 1,
"k_EChallengeType_Contract": 2,
}
)
func (x CDOTAUserMsg_GuildChallenge_Progress_EChallengeType) Enum() *CDOTAUserMsg_GuildChallenge_Progress_EChallengeType {
p := new(CDOTAUserMsg_GuildChallenge_Progress_EChallengeType)
*p = x
return p
}
func (x CDOTAUserMsg_GuildChallenge_Progress_EChallengeType) String() string {
return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}
func (CDOTAUserMsg_GuildChallenge_Progress_EChallengeType) Descriptor() protoreflect.EnumDescriptor {
return file_dota_usermessages_proto_enumTypes[16].Descriptor()
}
func (CDOTAUserMsg_GuildChallenge_Progress_EChallengeType) Type() protoreflect.EnumType {
return &file_dota_usermessages_proto_enumTypes[16]
}
func (x CDOTAUserMsg_GuildChallenge_Progress_EChallengeType) Number() protoreflect.EnumNumber {
return protoreflect.EnumNumber(x)
}
// Deprecated: Do not use.
func (x *CDOTAUserMsg_GuildChallenge_Progress_EChallengeType) UnmarshalJSON(b []byte) error {
num, err := protoimpl.X.UnmarshalJSONEnum(x.Descriptor(), b)
if err != nil {
return err
}
*x = CDOTAUserMsg_GuildChallenge_Progress_EChallengeType(num)
return nil
}
// Deprecated: Use CDOTAUserMsg_GuildChallenge_Progress_EChallengeType.Descriptor instead.
func (CDOTAUserMsg_GuildChallenge_Progress_EChallengeType) EnumDescriptor() ([]byte, []int) {
return file_dota_usermessages_proto_rawDescGZIP(), []int{144, 0}
}
type CDOTAUserMsg_AIDebugLine struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Message *string `protobuf:"bytes,1,opt,name=message" json:"message,omitempty"`
}
func (x *CDOTAUserMsg_AIDebugLine) Reset() {
*x = CDOTAUserMsg_AIDebugLine{}
if protoimpl.UnsafeEnabled {
mi := &file_dota_usermessages_proto_msgTypes[0]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *CDOTAUserMsg_AIDebugLine) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*CDOTAUserMsg_AIDebugLine) ProtoMessage() {}
func (x *CDOTAUserMsg_AIDebugLine) ProtoReflect() protoreflect.Message {
mi := &file_dota_usermessages_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 CDOTAUserMsg_AIDebugLine.ProtoReflect.Descriptor instead.
func (*CDOTAUserMsg_AIDebugLine) Descriptor() ([]byte, []int) {
return file_dota_usermessages_proto_rawDescGZIP(), []int{0}
}
func (x *CDOTAUserMsg_AIDebugLine) GetMessage() string {
if x != nil && x.Message != nil {
return *x.Message
}
return ""
}
type CDOTAUserMsg_Ping struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Ping *uint32 `protobuf:"varint,2,opt,name=ping" json:"ping,omitempty"`
Loss *uint32 `protobuf:"varint,3,opt,name=loss" json:"loss,omitempty"`
}
func (x *CDOTAUserMsg_Ping) Reset() {
*x = CDOTAUserMsg_Ping{}
if protoimpl.UnsafeEnabled {
mi := &file_dota_usermessages_proto_msgTypes[1]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *CDOTAUserMsg_Ping) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*CDOTAUserMsg_Ping) ProtoMessage() {}
func (x *CDOTAUserMsg_Ping) ProtoReflect() protoreflect.Message {
mi := &file_dota_usermessages_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 CDOTAUserMsg_Ping.ProtoReflect.Descriptor instead.
func (*CDOTAUserMsg_Ping) Descriptor() ([]byte, []int) {
return file_dota_usermessages_proto_rawDescGZIP(), []int{1}
}
func (x *CDOTAUserMsg_Ping) GetPing() uint32 {
if x != nil && x.Ping != nil {
return *x.Ping
}
return 0
}
func (x *CDOTAUserMsg_Ping) GetLoss() uint32 {
if x != nil && x.Loss != nil {
return *x.Loss
}
return 0
}
type CDOTAUserMsg_SwapVerify 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"`
}
func (x *CDOTAUserMsg_SwapVerify) Reset() {
*x = CDOTAUserMsg_SwapVerify{}
if protoimpl.UnsafeEnabled {
mi := &file_dota_usermessages_proto_msgTypes[2]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *CDOTAUserMsg_SwapVerify) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*CDOTAUserMsg_SwapVerify) ProtoMessage() {}
func (x *CDOTAUserMsg_SwapVerify) ProtoReflect() protoreflect.Message {
mi := &file_dota_usermessages_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 CDOTAUserMsg_SwapVerify.ProtoReflect.Descriptor instead.
func (*CDOTAUserMsg_SwapVerify) Descriptor() ([]byte, []int) {
return file_dota_usermessages_proto_rawDescGZIP(), []int{2}
}
func (x *CDOTAUserMsg_SwapVerify) GetPlayerId() int32 {
if x != nil && x.PlayerId != nil {
return *x.PlayerId
}
return 0
}
type CDOTAUserMsg_ChatEvent struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Type *DOTA_CHAT_MESSAGE `protobuf:"varint,1,req,name=type,enum=DOTA_CHAT_MESSAGE,def=-1" json:"type,omitempty"`
Value *uint32 `protobuf:"varint,2,opt,name=value" json:"value,omitempty"`
Playerid_1 *int32 `protobuf:"zigzag32,3,opt,name=playerid_1,json=playerid1,def=-1" json:"playerid_1,omitempty"`
Playerid_2 *int32 `protobuf:"zigzag32,4,opt,name=playerid_2,json=playerid2,def=-1" json:"playerid_2,omitempty"`
Playerid_3 *int32 `protobuf:"zigzag32,5,opt,name=playerid_3,json=playerid3,def=-1" json:"playerid_3,omitempty"`
Playerid_4 *int32 `protobuf:"zigzag32,6,opt,name=playerid_4,json=playerid4,def=-1" json:"playerid_4,omitempty"`
Playerid_5 *int32 `protobuf:"zigzag32,7,opt,name=playerid_5,json=playerid5,def=-1" json:"playerid_5,omitempty"`
Playerid_6 *int32 `protobuf:"zigzag32,8,opt,name=playerid_6,json=playerid6,def=-1" json:"playerid_6,omitempty"`
Value2 *uint32 `protobuf:"varint,9,opt,name=value2" json:"value2,omitempty"`
Value3 *uint32 `protobuf:"varint,10,opt,name=value3" json:"value3,omitempty"`
}
// Default values for CDOTAUserMsg_ChatEvent fields.
const (
Default_CDOTAUserMsg_ChatEvent_Type = DOTA_CHAT_MESSAGE_CHAT_MESSAGE_INVALID
Default_CDOTAUserMsg_ChatEvent_Playerid_1 = int32(-1)
Default_CDOTAUserMsg_ChatEvent_Playerid_2 = int32(-1)
Default_CDOTAUserMsg_ChatEvent_Playerid_3 = int32(-1)
Default_CDOTAUserMsg_ChatEvent_Playerid_4 = int32(-1)
Default_CDOTAUserMsg_ChatEvent_Playerid_5 = int32(-1)
Default_CDOTAUserMsg_ChatEvent_Playerid_6 = int32(-1)
)
func (x *CDOTAUserMsg_ChatEvent) Reset() {
*x = CDOTAUserMsg_ChatEvent{}
if protoimpl.UnsafeEnabled {
mi := &file_dota_usermessages_proto_msgTypes[3]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *CDOTAUserMsg_ChatEvent) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*CDOTAUserMsg_ChatEvent) ProtoMessage() {}
func (x *CDOTAUserMsg_ChatEvent) ProtoReflect() protoreflect.Message {
mi := &file_dota_usermessages_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 CDOTAUserMsg_ChatEvent.ProtoReflect.Descriptor instead.
func (*CDOTAUserMsg_ChatEvent) Descriptor() ([]byte, []int) {
return file_dota_usermessages_proto_rawDescGZIP(), []int{3}
}
func (x *CDOTAUserMsg_ChatEvent) GetType() DOTA_CHAT_MESSAGE {
if x != nil && x.Type != nil {
return *x.Type
}
return Default_CDOTAUserMsg_ChatEvent_Type
}
func (x *CDOTAUserMsg_ChatEvent) GetValue() uint32 {
if x != nil && x.Value != nil {
return *x.Value
}
return 0
}
func (x *CDOTAUserMsg_ChatEvent) GetPlayerid_1() int32 {
if x != nil && x.Playerid_1 != nil {
return *x.Playerid_1
}
return Default_CDOTAUserMsg_ChatEvent_Playerid_1
}
func (x *CDOTAUserMsg_ChatEvent) GetPlayerid_2() int32 {
if x != nil && x.Playerid_2 != nil {
return *x.Playerid_2
}
return Default_CDOTAUserMsg_ChatEvent_Playerid_2
}
func (x *CDOTAUserMsg_ChatEvent) GetPlayerid_3() int32 {
if x != nil && x.Playerid_3 != nil {
return *x.Playerid_3
}
return Default_CDOTAUserMsg_ChatEvent_Playerid_3
}
func (x *CDOTAUserMsg_ChatEvent) GetPlayerid_4() int32 {
if x != nil && x.Playerid_4 != nil {
return *x.Playerid_4
}
return Default_CDOTAUserMsg_ChatEvent_Playerid_4
}
func (x *CDOTAUserMsg_ChatEvent) GetPlayerid_5() int32 {
if x != nil && x.Playerid_5 != nil {
return *x.Playerid_5
}
return Default_CDOTAUserMsg_ChatEvent_Playerid_5
}
func (x *CDOTAUserMsg_ChatEvent) GetPlayerid_6() int32 {
if x != nil && x.Playerid_6 != nil {
return *x.Playerid_6
}
return Default_CDOTAUserMsg_ChatEvent_Playerid_6
}
func (x *CDOTAUserMsg_ChatEvent) GetValue2() uint32 {
if x != nil && x.Value2 != nil {
return *x.Value2
}
return 0
}
func (x *CDOTAUserMsg_ChatEvent) GetValue3() uint32 {
if x != nil && x.Value3 != nil {
return *x.Value3
}
return 0
}
type CDOTAUserMsg_BotChat 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"`
Message *string `protobuf:"bytes,3,opt,name=message" json:"message,omitempty"`
Target *string `protobuf:"bytes,4,opt,name=target" json:"target,omitempty"`
TeamOnly *bool `protobuf:"varint,5,opt,name=team_only,json=teamOnly" json:"team_only,omitempty"`
}
func (x *CDOTAUserMsg_BotChat) Reset() {
*x = CDOTAUserMsg_BotChat{}
if protoimpl.UnsafeEnabled {
mi := &file_dota_usermessages_proto_msgTypes[4]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *CDOTAUserMsg_BotChat) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*CDOTAUserMsg_BotChat) ProtoMessage() {}
func (x *CDOTAUserMsg_BotChat) ProtoReflect() protoreflect.Message {
mi := &file_dota_usermessages_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 CDOTAUserMsg_BotChat.ProtoReflect.Descriptor instead.
func (*CDOTAUserMsg_BotChat) Descriptor() ([]byte, []int) {
return file_dota_usermessages_proto_rawDescGZIP(), []int{4}
}
func (x *CDOTAUserMsg_BotChat) GetPlayerId() int32 {
if x != nil && x.PlayerId != nil {
return *x.PlayerId
}
return 0
}
func (x *CDOTAUserMsg_BotChat) GetMessage() string {
if x != nil && x.Message != nil {
return *x.Message
}
return ""
}
func (x *CDOTAUserMsg_BotChat) GetTarget() string {
if x != nil && x.Target != nil {
return *x.Target
}
return ""
}
func (x *CDOTAUserMsg_BotChat) GetTeamOnly() bool {
if x != nil && x.TeamOnly != nil {
return *x.TeamOnly
}
return false
}
type CDOTAUserMsg_CombatHeroPositions struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Index *uint32 `protobuf:"varint,1,opt,name=index" json:"index,omitempty"`
Time *int32 `protobuf:"varint,2,opt,name=time" json:"time,omitempty"`
WorldPos *CMsgVector2D `protobuf:"bytes,3,opt,name=world_pos,json=worldPos" json:"world_pos,omitempty"`
Health *int32 `protobuf:"varint,4,opt,name=health" json:"health,omitempty"`
}
func (x *CDOTAUserMsg_CombatHeroPositions) Reset() {
*x = CDOTAUserMsg_CombatHeroPositions{}
if protoimpl.UnsafeEnabled {
mi := &file_dota_usermessages_proto_msgTypes[5]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *CDOTAUserMsg_CombatHeroPositions) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*CDOTAUserMsg_CombatHeroPositions) ProtoMessage() {}
func (x *CDOTAUserMsg_CombatHeroPositions) ProtoReflect() protoreflect.Message {
mi := &file_dota_usermessages_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 CDOTAUserMsg_CombatHeroPositions.ProtoReflect.Descriptor instead.
func (*CDOTAUserMsg_CombatHeroPositions) Descriptor() ([]byte, []int) {
return file_dota_usermessages_proto_rawDescGZIP(), []int{5}
}
func (x *CDOTAUserMsg_CombatHeroPositions) GetIndex() uint32 {
if x != nil && x.Index != nil {
return *x.Index
}
return 0
}
func (x *CDOTAUserMsg_CombatHeroPositions) GetTime() int32 {
if x != nil && x.Time != nil {
return *x.Time
}
return 0
}
func (x *CDOTAUserMsg_CombatHeroPositions) GetWorldPos() *CMsgVector2D {
if x != nil {
return x.WorldPos
}
return nil
}
func (x *CDOTAUserMsg_CombatHeroPositions) GetHealth() int32 {
if x != nil && x.Health != nil {
return *x.Health
}
return 0
}
type CDOTAUserMsg_CombatLogBulkData struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
CombatEntries []*CMsgDOTACombatLogEntry `protobuf:"bytes,1,rep,name=combat_entries,json=combatEntries" json:"combat_entries,omitempty"`
Timestamp *float32 `protobuf:"fixed32,2,opt,name=timestamp" json:"timestamp,omitempty"`
Duration *float32 `protobuf:"fixed32,3,opt,name=duration" json:"duration,omitempty"`
PlayerId *int32 `protobuf:"varint,4,opt,name=player_id,json=playerId" json:"player_id,omitempty"`
}
func (x *CDOTAUserMsg_CombatLogBulkData) Reset() {
*x = CDOTAUserMsg_CombatLogBulkData{}
if protoimpl.UnsafeEnabled {
mi := &file_dota_usermessages_proto_msgTypes[6]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *CDOTAUserMsg_CombatLogBulkData) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*CDOTAUserMsg_CombatLogBulkData) ProtoMessage() {}
func (x *CDOTAUserMsg_CombatLogBulkData) ProtoReflect() protoreflect.Message {
mi := &file_dota_usermessages_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 CDOTAUserMsg_CombatLogBulkData.ProtoReflect.Descriptor instead.
func (*CDOTAUserMsg_CombatLogBulkData) Descriptor() ([]byte, []int) {
return file_dota_usermessages_proto_rawDescGZIP(), []int{6}
}
func (x *CDOTAUserMsg_CombatLogBulkData) GetCombatEntries() []*CMsgDOTACombatLogEntry {
if x != nil {
return x.CombatEntries
}
return nil
}
func (x *CDOTAUserMsg_CombatLogBulkData) GetTimestamp() float32 {
if x != nil && x.Timestamp != nil {
return *x.Timestamp
}
return 0
}
func (x *CDOTAUserMsg_CombatLogBulkData) GetDuration() float32 {
if x != nil && x.Duration != nil {
return *x.Duration
}
return 0
}
func (x *CDOTAUserMsg_CombatLogBulkData) GetPlayerId() int32 {
if x != nil && x.PlayerId != nil {
return *x.PlayerId
}
return 0
}
type CDOTAUserMsg_ProjectileParticleCPData struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
ControlPoint *int32 `protobuf:"varint,1,opt,name=control_point,json=controlPoint" json:"control_point,omitempty"`
Vector *CMsgVector `protobuf:"bytes,2,opt,name=vector" json:"vector,omitempty"`
}
func (x *CDOTAUserMsg_ProjectileParticleCPData) Reset() {
*x = CDOTAUserMsg_ProjectileParticleCPData{}
if protoimpl.UnsafeEnabled {
mi := &file_dota_usermessages_proto_msgTypes[7]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *CDOTAUserMsg_ProjectileParticleCPData) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*CDOTAUserMsg_ProjectileParticleCPData) ProtoMessage() {}
func (x *CDOTAUserMsg_ProjectileParticleCPData) ProtoReflect() protoreflect.Message {
mi := &file_dota_usermessages_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 CDOTAUserMsg_ProjectileParticleCPData.ProtoReflect.Descriptor instead.
func (*CDOTAUserMsg_ProjectileParticleCPData) Descriptor() ([]byte, []int) {
return file_dota_usermessages_proto_rawDescGZIP(), []int{7}
}
func (x *CDOTAUserMsg_ProjectileParticleCPData) GetControlPoint() int32 {
if x != nil && x.ControlPoint != nil {
return *x.ControlPoint
}
return 0
}
func (x *CDOTAUserMsg_ProjectileParticleCPData) GetVector() *CMsgVector {
if x != nil {
return x.Vector
}
return nil
}
type CDOTAUserMsg_MiniKillCamInfo struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Attackers []*CDOTAUserMsg_MiniKillCamInfo_Attacker `protobuf:"bytes,1,rep,name=attackers" json:"attackers,omitempty"`
}
func (x *CDOTAUserMsg_MiniKillCamInfo) Reset() {
*x = CDOTAUserMsg_MiniKillCamInfo{}
if protoimpl.UnsafeEnabled {
mi := &file_dota_usermessages_proto_msgTypes[8]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *CDOTAUserMsg_MiniKillCamInfo) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*CDOTAUserMsg_MiniKillCamInfo) ProtoMessage() {}
func (x *CDOTAUserMsg_MiniKillCamInfo) ProtoReflect() protoreflect.Message {
mi := &file_dota_usermessages_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 CDOTAUserMsg_MiniKillCamInfo.ProtoReflect.Descriptor instead.
func (*CDOTAUserMsg_MiniKillCamInfo) Descriptor() ([]byte, []int) {
return file_dota_usermessages_proto_rawDescGZIP(), []int{8}
}
func (x *CDOTAUserMsg_MiniKillCamInfo) GetAttackers() []*CDOTAUserMsg_MiniKillCamInfo_Attacker {
if x != nil {
return x.Attackers
}
return nil
}
type CDOTAUserMsg_GlobalLightColor struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Color *uint32 `protobuf:"varint,1,opt,name=color" json:"color,omitempty"`
Duration *float32 `protobuf:"fixed32,2,opt,name=duration" json:"duration,omitempty"`
}
func (x *CDOTAUserMsg_GlobalLightColor) Reset() {
*x = CDOTAUserMsg_GlobalLightColor{}
if protoimpl.UnsafeEnabled {
mi := &file_dota_usermessages_proto_msgTypes[9]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *CDOTAUserMsg_GlobalLightColor) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*CDOTAUserMsg_GlobalLightColor) ProtoMessage() {}
func (x *CDOTAUserMsg_GlobalLightColor) ProtoReflect() protoreflect.Message {
mi := &file_dota_usermessages_proto_msgTypes[9]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use CDOTAUserMsg_GlobalLightColor.ProtoReflect.Descriptor instead.
func (*CDOTAUserMsg_GlobalLightColor) Descriptor() ([]byte, []int) {
return file_dota_usermessages_proto_rawDescGZIP(), []int{9}
}
func (x *CDOTAUserMsg_GlobalLightColor) GetColor() uint32 {
if x != nil && x.Color != nil {
return *x.Color
}
return 0
}
func (x *CDOTAUserMsg_GlobalLightColor) GetDuration() float32 {
if x != nil && x.Duration != nil {
return *x.Duration
}
return 0
}
type CDOTAUserMsg_GlobalLightDirection struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Direction *CMsgVector `protobuf:"bytes,1,opt,name=direction" json:"direction,omitempty"`
Duration *float32 `protobuf:"fixed32,2,opt,name=duration" json:"duration,omitempty"`
}
func (x *CDOTAUserMsg_GlobalLightDirection) Reset() {
*x = CDOTAUserMsg_GlobalLightDirection{}
if protoimpl.UnsafeEnabled {
mi := &file_dota_usermessages_proto_msgTypes[10]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *CDOTAUserMsg_GlobalLightDirection) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*CDOTAUserMsg_GlobalLightDirection) ProtoMessage() {}
func (x *CDOTAUserMsg_GlobalLightDirection) ProtoReflect() protoreflect.Message {
mi := &file_dota_usermessages_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 CDOTAUserMsg_GlobalLightDirection.ProtoReflect.Descriptor instead.
func (*CDOTAUserMsg_GlobalLightDirection) Descriptor() ([]byte, []int) {
return file_dota_usermessages_proto_rawDescGZIP(), []int{10}
}
func (x *CDOTAUserMsg_GlobalLightDirection) GetDirection() *CMsgVector {
if x != nil {
return x.Direction
}
return nil
}
func (x *CDOTAUserMsg_GlobalLightDirection) GetDuration() float32 {
if x != nil && x.Duration != nil {
return *x.Duration
}
return 0
}
type CDOTAUserMsg_LocationPing 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"`
LocationPing *CDOTAMsg_LocationPing `protobuf:"bytes,2,opt,name=location_ping,json=locationPing" json:"location_ping,omitempty"`
}
func (x *CDOTAUserMsg_LocationPing) Reset() {
*x = CDOTAUserMsg_LocationPing{}
if protoimpl.UnsafeEnabled {
mi := &file_dota_usermessages_proto_msgTypes[11]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *CDOTAUserMsg_LocationPing) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*CDOTAUserMsg_LocationPing) ProtoMessage() {}
func (x *CDOTAUserMsg_LocationPing) ProtoReflect() protoreflect.Message {
mi := &file_dota_usermessages_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 CDOTAUserMsg_LocationPing.ProtoReflect.Descriptor instead.
func (*CDOTAUserMsg_LocationPing) Descriptor() ([]byte, []int) {
return file_dota_usermessages_proto_rawDescGZIP(), []int{11}
}
func (x *CDOTAUserMsg_LocationPing) GetPlayerId() int32 {
if x != nil && x.PlayerId != nil {
return *x.PlayerId
}
return 0
}
func (x *CDOTAUserMsg_LocationPing) GetLocationPing() *CDOTAMsg_LocationPing {
if x != nil {
return x.LocationPing
}
return nil
}
type CDOTAUserMsg_PingConfirmation struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
PlayerIdOfOriginalPinger *int32 `protobuf:"varint,1,opt,name=player_id_of_original_pinger,json=playerIdOfOriginalPinger" json:"player_id_of_original_pinger,omitempty"`
EntityIndex *uint32 `protobuf:"varint,2,opt,name=entity_index,json=entityIndex" json:"entity_index,omitempty"`
IconType *uint32 `protobuf:"varint,3,opt,name=icon_type,json=iconType" json:"icon_type,omitempty"`
Location *CMsgVector `protobuf:"bytes,4,opt,name=location" json:"location,omitempty"`
}
func (x *CDOTAUserMsg_PingConfirmation) Reset() {
*x = CDOTAUserMsg_PingConfirmation{}
if protoimpl.UnsafeEnabled {
mi := &file_dota_usermessages_proto_msgTypes[12]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *CDOTAUserMsg_PingConfirmation) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*CDOTAUserMsg_PingConfirmation) ProtoMessage() {}
func (x *CDOTAUserMsg_PingConfirmation) ProtoReflect() protoreflect.Message {
mi := &file_dota_usermessages_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 CDOTAUserMsg_PingConfirmation.ProtoReflect.Descriptor instead.
func (*CDOTAUserMsg_PingConfirmation) Descriptor() ([]byte, []int) {
return file_dota_usermessages_proto_rawDescGZIP(), []int{12}
}
func (x *CDOTAUserMsg_PingConfirmation) GetPlayerIdOfOriginalPinger() int32 {
if x != nil && x.PlayerIdOfOriginalPinger != nil {
return *x.PlayerIdOfOriginalPinger
}
return 0
}
func (x *CDOTAUserMsg_PingConfirmation) GetEntityIndex() uint32 {
if x != nil && x.EntityIndex != nil {
return *x.EntityIndex
}
return 0
}
func (x *CDOTAUserMsg_PingConfirmation) GetIconType() uint32 {
if x != nil && x.IconType != nil {
return *x.IconType
}
return 0
}
func (x *CDOTAUserMsg_PingConfirmation) GetLocation() *CMsgVector {
if x != nil {
return x.Location
}
return nil
}
type CDOTAUserMsg_ItemAlert 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"`
ItemAlert *CDOTAMsg_ItemAlert `protobuf:"bytes,2,opt,name=item_alert,json=itemAlert" json:"item_alert,omitempty"`
}
func (x *CDOTAUserMsg_ItemAlert) Reset() {
*x = CDOTAUserMsg_ItemAlert{}
if protoimpl.UnsafeEnabled {
mi := &file_dota_usermessages_proto_msgTypes[13]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *CDOTAUserMsg_ItemAlert) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*CDOTAUserMsg_ItemAlert) ProtoMessage() {}
func (x *CDOTAUserMsg_ItemAlert) ProtoReflect() protoreflect.Message {
mi := &file_dota_usermessages_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 CDOTAUserMsg_ItemAlert.ProtoReflect.Descriptor instead.
func (*CDOTAUserMsg_ItemAlert) Descriptor() ([]byte, []int) {
return file_dota_usermessages_proto_rawDescGZIP(), []int{13}
}
func (x *CDOTAUserMsg_ItemAlert) GetPlayerId() int32 {
if x != nil && x.PlayerId != nil {
return *x.PlayerId
}
return 0
}
func (x *CDOTAUserMsg_ItemAlert) GetItemAlert() *CDOTAMsg_ItemAlert {
if x != nil {
return x.ItemAlert
}
return nil
}
type CDOTAUserMsg_EnemyItemAlert 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"`
TargetPlayerId *int32 `protobuf:"varint,2,opt,name=target_player_id,json=targetPlayerId" json:"target_player_id,omitempty"`
ItemAbilityId *int32 `protobuf:"varint,3,opt,name=item_ability_id,json=itemAbilityId" json:"item_ability_id,omitempty"`
RuneType *int32 `protobuf:"varint,4,opt,name=rune_type,json=runeType,def=-1" json:"rune_type,omitempty"`
EntityId *int32 `protobuf:"varint,5,opt,name=entity_id,json=entityId" json:"entity_id,omitempty"`
ItemLevel *int32 `protobuf:"varint,6,opt,name=item_level,json=itemLevel,def=-1" json:"item_level,omitempty"`
PrimaryCharges *int32 `protobuf:"varint,7,opt,name=primary_charges,json=primaryCharges,def=-1" json:"primary_charges,omitempty"`
SecondaryCharges *int32 `protobuf:"varint,8,opt,name=secondary_charges,json=secondaryCharges,def=-1" json:"secondary_charges,omitempty"`
}
// Default values for CDOTAUserMsg_EnemyItemAlert fields.
const (
Default_CDOTAUserMsg_EnemyItemAlert_RuneType = int32(-1)
Default_CDOTAUserMsg_EnemyItemAlert_ItemLevel = int32(-1)
Default_CDOTAUserMsg_EnemyItemAlert_PrimaryCharges = int32(-1)
Default_CDOTAUserMsg_EnemyItemAlert_SecondaryCharges = int32(-1)
)
func (x *CDOTAUserMsg_EnemyItemAlert) Reset() {
*x = CDOTAUserMsg_EnemyItemAlert{}
if protoimpl.UnsafeEnabled {
mi := &file_dota_usermessages_proto_msgTypes[14]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *CDOTAUserMsg_EnemyItemAlert) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*CDOTAUserMsg_EnemyItemAlert) ProtoMessage() {}
func (x *CDOTAUserMsg_EnemyItemAlert) ProtoReflect() protoreflect.Message {
mi := &file_dota_usermessages_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 CDOTAUserMsg_EnemyItemAlert.ProtoReflect.Descriptor instead.
func (*CDOTAUserMsg_EnemyItemAlert) Descriptor() ([]byte, []int) {
return file_dota_usermessages_proto_rawDescGZIP(), []int{14}
}
func (x *CDOTAUserMsg_EnemyItemAlert) GetPlayerId() int32 {
if x != nil && x.PlayerId != nil {
return *x.PlayerId
}
return 0
}
func (x *CDOTAUserMsg_EnemyItemAlert) GetTargetPlayerId() int32 {
if x != nil && x.TargetPlayerId != nil {
return *x.TargetPlayerId
}
return 0
}
func (x *CDOTAUserMsg_EnemyItemAlert) GetItemAbilityId() int32 {
if x != nil && x.ItemAbilityId != nil {
return *x.ItemAbilityId
}
return 0
}
func (x *CDOTAUserMsg_EnemyItemAlert) GetRuneType() int32 {
if x != nil && x.RuneType != nil {
return *x.RuneType
}
return Default_CDOTAUserMsg_EnemyItemAlert_RuneType
}
func (x *CDOTAUserMsg_EnemyItemAlert) GetEntityId() int32 {
if x != nil && x.EntityId != nil {
return *x.EntityId
}
return 0
}
func (x *CDOTAUserMsg_EnemyItemAlert) GetItemLevel() int32 {
if x != nil && x.ItemLevel != nil {
return *x.ItemLevel
}
return Default_CDOTAUserMsg_EnemyItemAlert_ItemLevel
}
func (x *CDOTAUserMsg_EnemyItemAlert) GetPrimaryCharges() int32 {
if x != nil && x.PrimaryCharges != nil {
return *x.PrimaryCharges
}
return Default_CDOTAUserMsg_EnemyItemAlert_PrimaryCharges
}
func (x *CDOTAUserMsg_EnemyItemAlert) GetSecondaryCharges() int32 {
if x != nil && x.SecondaryCharges != nil {
return *x.SecondaryCharges
}
return Default_CDOTAUserMsg_EnemyItemAlert_SecondaryCharges
}
type CDOTAUserMsg_ModifierAlert 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"`
ClassName *string `protobuf:"bytes,2,opt,name=class_name,json=className" json:"class_name,omitempty"`
StackCount *uint32 `protobuf:"varint,3,opt,name=stack_count,json=stackCount" json:"stack_count,omitempty"`
IsDebuff *bool `protobuf:"varint,4,opt,name=is_debuff,json=isDebuff" json:"is_debuff,omitempty"`
TargetEntindex *int32 `protobuf:"varint,5,opt,name=target_entindex,json=targetEntindex" json:"target_entindex,omitempty"`
SecondsRemaining *float32 `protobuf:"fixed32,6,opt,name=seconds_remaining,json=secondsRemaining" json:"seconds_remaining,omitempty"`
}
func (x *CDOTAUserMsg_ModifierAlert) Reset() {
*x = CDOTAUserMsg_ModifierAlert{}
if protoimpl.UnsafeEnabled {
mi := &file_dota_usermessages_proto_msgTypes[15]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *CDOTAUserMsg_ModifierAlert) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*CDOTAUserMsg_ModifierAlert) ProtoMessage() {}
func (x *CDOTAUserMsg_ModifierAlert) ProtoReflect() protoreflect.Message {
mi := &file_dota_usermessages_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 CDOTAUserMsg_ModifierAlert.ProtoReflect.Descriptor instead.
func (*CDOTAUserMsg_ModifierAlert) Descriptor() ([]byte, []int) {
return file_dota_usermessages_proto_rawDescGZIP(), []int{15}
}
func (x *CDOTAUserMsg_ModifierAlert) GetPlayerId() int32 {
if x != nil && x.PlayerId != nil {
return *x.PlayerId
}
return 0
}
func (x *CDOTAUserMsg_ModifierAlert) GetClassName() string {
if x != nil && x.ClassName != nil {
return *x.ClassName
}
return ""
}
func (x *CDOTAUserMsg_ModifierAlert) GetStackCount() uint32 {
if x != nil && x.StackCount != nil {
return *x.StackCount
}
return 0
}
func (x *CDOTAUserMsg_ModifierAlert) GetIsDebuff() bool {
if x != nil && x.IsDebuff != nil {
return *x.IsDebuff
}
return false
}
func (x *CDOTAUserMsg_ModifierAlert) GetTargetEntindex() int32 {
if x != nil && x.TargetEntindex != nil {
return *x.TargetEntindex
}
return 0
}
func (x *CDOTAUserMsg_ModifierAlert) GetSecondsRemaining() float32 {
if x != nil && x.SecondsRemaining != nil {
return *x.SecondsRemaining
}
return 0
}
type CDOTAUserMsg_HPManaAlert 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"`
ShowRawValues *bool `protobuf:"varint,3,opt,name=show_raw_values,json=showRawValues" json:"show_raw_values,omitempty"`
}
func (x *CDOTAUserMsg_HPManaAlert) Reset() {
*x = CDOTAUserMsg_HPManaAlert{}
if protoimpl.UnsafeEnabled {
mi := &file_dota_usermessages_proto_msgTypes[16]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *CDOTAUserMsg_HPManaAlert) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*CDOTAUserMsg_HPManaAlert) ProtoMessage() {}
func (x *CDOTAUserMsg_HPManaAlert) ProtoReflect() protoreflect.Message {
mi := &file_dota_usermessages_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 CDOTAUserMsg_HPManaAlert.ProtoReflect.Descriptor instead.
func (*CDOTAUserMsg_HPManaAlert) Descriptor() ([]byte, []int) {
return file_dota_usermessages_proto_rawDescGZIP(), []int{16}
}
func (x *CDOTAUserMsg_HPManaAlert) GetPlayerId() int32 {
if x != nil && x.PlayerId != nil {
return *x.PlayerId
}
return 0
}
func (x *CDOTAUserMsg_HPManaAlert) GetTargetEntindex() int32 {
if x != nil && x.TargetEntindex != nil {
return *x.TargetEntindex
}
return 0
}
func (x *CDOTAUserMsg_HPManaAlert) GetShowRawValues() bool {
if x != nil && x.ShowRawValues != nil {
return *x.ShowRawValues
}
return false
}
type CDOTAUserMsg_GlyphAlert 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_GlyphAlert) Reset() {
*x = CDOTAUserMsg_GlyphAlert{}
if protoimpl.UnsafeEnabled {
mi := &file_dota_usermessages_proto_msgTypes[17]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *CDOTAUserMsg_GlyphAlert) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*CDOTAUserMsg_GlyphAlert) ProtoMessage() {}
func (x *CDOTAUserMsg_GlyphAlert) ProtoReflect() protoreflect.Message {
mi := &file_dota_usermessages_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 CDOTAUserMsg_GlyphAlert.ProtoReflect.Descriptor instead.
func (*CDOTAUserMsg_GlyphAlert) Descriptor() ([]byte, []int) {
return file_dota_usermessages_proto_rawDescGZIP(), []int{17}
}
func (x *CDOTAUserMsg_GlyphAlert) GetPlayerId() int32 {
if x != nil && x.PlayerId != nil {
return *x.PlayerId
}
return 0
}
func (x *CDOTAUserMsg_GlyphAlert) GetNegative() bool {
if x != nil && x.Negative != nil {
return *x.Negative
}
return false
}
type CDOTAUserMsg_RadarAlert 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_RadarAlert) Reset() {
*x = CDOTAUserMsg_RadarAlert{}
if protoimpl.UnsafeEnabled {
mi := &file_dota_usermessages_proto_msgTypes[18]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *CDOTAUserMsg_RadarAlert) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*CDOTAUserMsg_RadarAlert) ProtoMessage() {}
func (x *CDOTAUserMsg_RadarAlert) ProtoReflect() protoreflect.Message {
mi := &file_dota_usermessages_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 CDOTAUserMsg_RadarAlert.ProtoReflect.Descriptor instead.
func (*CDOTAUserMsg_RadarAlert) Descriptor() ([]byte, []int) {
return file_dota_usermessages_proto_rawDescGZIP(), []int{18}
}
func (x *CDOTAUserMsg_RadarAlert) GetPlayerId() int32 {
if x != nil && x.PlayerId != nil {
return *x.PlayerId
}
return 0
}
func (x *CDOTAUserMsg_RadarAlert) GetNegative() bool {
if x != nil && x.Negative != nil {
return *x.Negative
}
return false
}
type CDOTAUserMsg_WillPurchaseAlert struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
ItemAbilityId *int32 `protobuf:"varint,1,opt,name=item_ability_id,json=itemAbilityId" json:"item_ability_id,omitempty"`
PlayerId *int32 `protobuf:"varint,2,opt,name=player_id,json=playerId" json:"player_id,omitempty"`
GoldRemaining *uint32 `protobuf:"varint,3,opt,name=gold_remaining,json=goldRemaining" json:"gold_remaining,omitempty"`
SuggestionPlayerId *int32 `protobuf:"varint,4,opt,name=suggestion_player_id,json=suggestionPlayerId" json:"suggestion_player_id,omitempty"`
}
func (x *CDOTAUserMsg_WillPurchaseAlert) Reset() {
*x = CDOTAUserMsg_WillPurchaseAlert{}
if protoimpl.UnsafeEnabled {
mi := &file_dota_usermessages_proto_msgTypes[19]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *CDOTAUserMsg_WillPurchaseAlert) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*CDOTAUserMsg_WillPurchaseAlert) ProtoMessage() {}
func (x *CDOTAUserMsg_WillPurchaseAlert) ProtoReflect() protoreflect.Message {
mi := &file_dota_usermessages_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 CDOTAUserMsg_WillPurchaseAlert.ProtoReflect.Descriptor instead.
func (*CDOTAUserMsg_WillPurchaseAlert) Descriptor() ([]byte, []int) {
return file_dota_usermessages_proto_rawDescGZIP(), []int{19}
}
func (x *CDOTAUserMsg_WillPurchaseAlert) GetItemAbilityId() int32 {
if x != nil && x.ItemAbilityId != nil {
return *x.ItemAbilityId
}
return 0
}
func (x *CDOTAUserMsg_WillPurchaseAlert) GetPlayerId() int32 {
if x != nil && x.PlayerId != nil {
return *x.PlayerId
}
return 0
}
func (x *CDOTAUserMsg_WillPurchaseAlert) GetGoldRemaining() uint32 {
if x != nil && x.GoldRemaining != nil {
return *x.GoldRemaining
}
return 0
}
func (x *CDOTAUserMsg_WillPurchaseAlert) GetSuggestionPlayerId() int32 {
if x != nil && x.SuggestionPlayerId != nil {
return *x.SuggestionPlayerId
}
return 0
}
type CDOTAUserMsg_EmptyTeleportAlert struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
SourcePlayerId *int32 `protobuf:"varint,1,opt,name=source_player_id,json=sourcePlayerId" json:"source_player_id,omitempty"`
TargetPlayerId *int32 `protobuf:"varint,2,opt,name=target_player_id,json=targetPlayerId" json:"target_player_id,omitempty"`
CooldownSeconds *int32 `protobuf:"varint,3,opt,name=cooldown_seconds,json=cooldownSeconds" json:"cooldown_seconds,omitempty"`
}
func (x *CDOTAUserMsg_EmptyTeleportAlert) Reset() {
*x = CDOTAUserMsg_EmptyTeleportAlert{}
if protoimpl.UnsafeEnabled {
mi := &file_dota_usermessages_proto_msgTypes[20]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *CDOTAUserMsg_EmptyTeleportAlert) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*CDOTAUserMsg_EmptyTeleportAlert) ProtoMessage() {}
func (x *CDOTAUserMsg_EmptyTeleportAlert) ProtoReflect() protoreflect.Message {
mi := &file_dota_usermessages_proto_msgTypes[20]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use CDOTAUserMsg_EmptyTeleportAlert.ProtoReflect.Descriptor instead.
func (*CDOTAUserMsg_EmptyTeleportAlert) Descriptor() ([]byte, []int) {
return file_dota_usermessages_proto_rawDescGZIP(), []int{20}
}
func (x *CDOTAUserMsg_EmptyTeleportAlert) GetSourcePlayerId() int32 {
if x != nil && x.SourcePlayerId != nil {
return *x.SourcePlayerId
}
return 0
}
func (x *CDOTAUserMsg_EmptyTeleportAlert) GetTargetPlayerId() int32 {
if x != nil && x.TargetPlayerId != nil {
return *x.TargetPlayerId
}
return 0
}
func (x *CDOTAUserMsg_EmptyTeleportAlert) GetCooldownSeconds() int32 {
if x != nil && x.CooldownSeconds != nil {
return *x.CooldownSeconds
}
return 0
}
type CDOTAUserMsg_MarsArenaOfBloodAttack struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
SourceEhandle *uint32 `protobuf:"varint,1,opt,name=source_ehandle,json=sourceEhandle" json:"source_ehandle,omitempty"`
TargetEhandle *uint32 `protobuf:"varint,2,opt,name=target_ehandle,json=targetEhandle" json:"target_ehandle,omitempty"`
WarriorIndex *int32 `protobuf:"varint,3,opt,name=warrior_index,json=warriorIndex" json:"warrior_index,omitempty"`
}
func (x *CDOTAUserMsg_MarsArenaOfBloodAttack) Reset() {
*x = CDOTAUserMsg_MarsArenaOfBloodAttack{}
if protoimpl.UnsafeEnabled {
mi := &file_dota_usermessages_proto_msgTypes[21]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *CDOTAUserMsg_MarsArenaOfBloodAttack) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*CDOTAUserMsg_MarsArenaOfBloodAttack) ProtoMessage() {}
func (x *CDOTAUserMsg_MarsArenaOfBloodAttack) 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_MarsArenaOfBloodAttack.ProtoReflect.Descriptor instead.
func (*CDOTAUserMsg_MarsArenaOfBloodAttack) Descriptor() ([]byte, []int) {
return file_dota_usermessages_proto_rawDescGZIP(), []int{21}
}
func (x *CDOTAUserMsg_MarsArenaOfBloodAttack) GetSourceEhandle() uint32 {
if x != nil && x.SourceEhandle != nil {
return *x.SourceEhandle
}
return 0
}
func (x *CDOTAUserMsg_MarsArenaOfBloodAttack) GetTargetEhandle() uint32 {
if x != nil && x.TargetEhandle != nil {
return *x.TargetEhandle
}
return 0
}
func (x *CDOTAUserMsg_MarsArenaOfBloodAttack) GetWarriorIndex() int32 {
if x != nil && x.WarriorIndex != nil {
return *x.WarriorIndex
}
return 0
}
type CDOTAEntityMsg_InvokerSpellCast struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
EntityMsg *CEntityMsg `protobuf:"bytes,1,opt,name=entity_msg,json=entityMsg" json:"entity_msg,omitempty"`
CastActivity *int32 `protobuf:"varint,2,opt,name=cast_activity,json=castActivity" json:"cast_activity,omitempty"`
}
func (x *CDOTAEntityMsg_InvokerSpellCast) Reset() {
*x = CDOTAEntityMsg_InvokerSpellCast{}
if protoimpl.UnsafeEnabled {
mi := &file_dota_usermessages_proto_msgTypes[22]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *CDOTAEntityMsg_InvokerSpellCast) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*CDOTAEntityMsg_InvokerSpellCast) ProtoMessage() {}
func (x *CDOTAEntityMsg_InvokerSpellCast) ProtoReflect() protoreflect.Message {
mi := &file_dota_usermessages_proto_msgTypes[22]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use CDOTAEntityMsg_InvokerSpellCast.ProtoReflect.Descriptor instead.
func (*CDOTAEntityMsg_InvokerSpellCast) Descriptor() ([]byte, []int) {
return file_dota_usermessages_proto_rawDescGZIP(), []int{22}
}
func (x *CDOTAEntityMsg_InvokerSpellCast) GetEntityMsg() *CEntityMsg {
if x != nil {
return x.EntityMsg
}
return nil
}
func (x *CDOTAEntityMsg_InvokerSpellCast) GetCastActivity() int32 {
if x != nil && x.CastActivity != nil {
return *x.CastActivity
}
return 0
}
type CDOTAUserMsg_BuyBackStateAlert 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"`
}
func (x *CDOTAUserMsg_BuyBackStateAlert) Reset() {
*x = CDOTAUserMsg_BuyBackStateAlert{}
if protoimpl.UnsafeEnabled {
mi := &file_dota_usermessages_proto_msgTypes[23]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *CDOTAUserMsg_BuyBackStateAlert) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*CDOTAUserMsg_BuyBackStateAlert) ProtoMessage() {}
func (x *CDOTAUserMsg_BuyBackStateAlert) ProtoReflect() protoreflect.Message {
mi := &file_dota_usermessages_proto_msgTypes[23]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use CDOTAUserMsg_BuyBackStateAlert.ProtoReflect.Descriptor instead.
func (*CDOTAUserMsg_BuyBackStateAlert) Descriptor() ([]byte, []int) {
return file_dota_usermessages_proto_rawDescGZIP(), []int{23}
}
func (x *CDOTAUserMsg_BuyBackStateAlert) GetPlayerId() int32 {
if x != nil && x.PlayerId != nil {
return *x.PlayerId
}
return 0
}
type CDOTAUserMsg_QuickBuyAlert 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"`
ItemAbilityId *int32 `protobuf:"varint,2,opt,name=item_ability_id,json=itemAbilityId" json:"item_ability_id,omitempty"`
GoldCost *int32 `protobuf:"varint,3,opt,name=gold_cost,json=goldCost" json:"gold_cost,omitempty"`
ItemCooldownSeconds *int32 `protobuf:"varint,4,opt,name=item_cooldown_seconds,json=itemCooldownSeconds" json:"item_cooldown_seconds,omitempty"`
ShowBuyback *bool `protobuf:"varint,5,opt,name=show_buyback,json=showBuyback" json:"show_buyback,omitempty"`
}
func (x *CDOTAUserMsg_QuickBuyAlert) Reset() {
*x = CDOTAUserMsg_QuickBuyAlert{}
if protoimpl.UnsafeEnabled {
mi := &file_dota_usermessages_proto_msgTypes[24]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *CDOTAUserMsg_QuickBuyAlert) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*CDOTAUserMsg_QuickBuyAlert) ProtoMessage() {}
func (x *CDOTAUserMsg_QuickBuyAlert) ProtoReflect() protoreflect.Message {
mi := &file_dota_usermessages_proto_msgTypes[24]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use CDOTAUserMsg_QuickBuyAlert.ProtoReflect.Descriptor instead.
func (*CDOTAUserMsg_QuickBuyAlert) Descriptor() ([]byte, []int) {
return file_dota_usermessages_proto_rawDescGZIP(), []int{24}
}
func (x *CDOTAUserMsg_QuickBuyAlert) GetPlayerId() int32 {
if x != nil && x.PlayerId != nil {
return *x.PlayerId
}
return 0
}
func (x *CDOTAUserMsg_QuickBuyAlert) GetItemAbilityId() int32 {
if x != nil && x.ItemAbilityId != nil {
return *x.ItemAbilityId
}
return 0
}
func (x *CDOTAUserMsg_QuickBuyAlert) GetGoldCost() int32 {
if x != nil && x.GoldCost != nil {
return *x.GoldCost
}
return 0
}
func (x *CDOTAUserMsg_QuickBuyAlert) GetItemCooldownSeconds() int32 {
if x != nil && x.ItemCooldownSeconds != nil {
return *x.ItemCooldownSeconds
}
return 0
}
func (x *CDOTAUserMsg_QuickBuyAlert) GetShowBuyback() bool {
if x != nil && x.ShowBuyback != nil {
return *x.ShowBuyback
}
return false
}
type CDOTAUserMsg_CourierKilledAlert struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Team *uint32 `protobuf:"varint,1,opt,name=team" json:"team,omitempty"`
GoldValue *uint32 `protobuf:"varint,2,opt,name=gold_value,json=goldValue" json:"gold_value,omitempty"`
EntityHandle *uint32 `protobuf:"varint,3,opt,name=entity_handle,json=entityHandle" json:"entity_handle,omitempty"`
Timestamp *int32 `protobuf:"varint,4,opt,name=timestamp" json:"timestamp,omitempty"`
LostItems []*CDOTAUserMsg_CourierKilledAlert_LostItem `protobuf:"bytes,5,rep,name=lost_items,json=lostItems" json:"lost_items,omitempty"`
KillerPlayerId *int32 `protobuf:"varint,6,opt,name=killer_player_id,json=killerPlayerId" json:"killer_player_id,omitempty"`
OwningPlayerId *int32 `protobuf:"varint,7,opt,name=owning_player_id,json=owningPlayerId" json:"owning_player_id,omitempty"`
}
func (x *CDOTAUserMsg_CourierKilledAlert) Reset() {
*x = CDOTAUserMsg_CourierKilledAlert{}
if protoimpl.UnsafeEnabled {
mi := &file_dota_usermessages_proto_msgTypes[25]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *CDOTAUserMsg_CourierKilledAlert) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*CDOTAUserMsg_CourierKilledAlert) ProtoMessage() {}
func (x *CDOTAUserMsg_CourierKilledAlert) ProtoReflect() protoreflect.Message {
mi := &file_dota_usermessages_proto_msgTypes[25]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use CDOTAUserMsg_CourierKilledAlert.ProtoReflect.Descriptor instead.
func (*CDOTAUserMsg_CourierKilledAlert) Descriptor() ([]byte, []int) {
return file_dota_usermessages_proto_rawDescGZIP(), []int{25}
}
func (x *CDOTAUserMsg_CourierKilledAlert) GetTeam() uint32 {
if x != nil && x.Team != nil {
return *x.Team
}
return 0
}
func (x *CDOTAUserMsg_CourierKilledAlert) GetGoldValue() uint32 {
if x != nil && x.GoldValue != nil {
return *x.GoldValue
}
return 0
}
func (x *CDOTAUserMsg_CourierKilledAlert) GetEntityHandle() uint32 {
if x != nil && x.EntityHandle != nil {
return *x.EntityHandle
}
return 0
}
func (x *CDOTAUserMsg_CourierKilledAlert) GetTimestamp() int32 {
if x != nil && x.Timestamp != nil {
return *x.Timestamp
}
return 0
}
func (x *CDOTAUserMsg_CourierKilledAlert) GetLostItems() []*CDOTAUserMsg_CourierKilledAlert_LostItem {
if x != nil {
return x.LostItems
}
return nil
}
func (x *CDOTAUserMsg_CourierKilledAlert) GetKillerPlayerId() int32 {
if x != nil && x.KillerPlayerId != nil {
return *x.KillerPlayerId
}
return 0
}
func (x *CDOTAUserMsg_CourierKilledAlert) GetOwningPlayerId() int32 {
if x != nil && x.OwningPlayerId != nil {
return *x.OwningPlayerId
}
return 0
}
type CDOTAUserMsg_MinimapEvent struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
EventType *int32 `protobuf:"varint,1,opt,name=event_type,json=eventType" json:"event_type,omitempty"`
EntityHandle *uint32 `protobuf:"varint,2,opt,name=entity_handle,json=entityHandle" json:"entity_handle,omitempty"`
X *int32 `protobuf:"varint,3,opt,name=x" json:"x,omitempty"`
Y *int32 `protobuf:"varint,4,opt,name=y" json:"y,omitempty"`
Duration *int32 `protobuf:"varint,5,opt,name=duration" json:"duration,omitempty"`
TargetEntityHandle *uint32 `protobuf:"varint,6,opt,name=target_entity_handle,json=targetEntityHandle" json:"target_entity_handle,omitempty"`
}
func (x *CDOTAUserMsg_MinimapEvent) Reset() {
*x = CDOTAUserMsg_MinimapEvent{}
if protoimpl.UnsafeEnabled {
mi := &file_dota_usermessages_proto_msgTypes[26]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *CDOTAUserMsg_MinimapEvent) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*CDOTAUserMsg_MinimapEvent) ProtoMessage() {}
func (x *CDOTAUserMsg_MinimapEvent) ProtoReflect() protoreflect.Message {
mi := &file_dota_usermessages_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 CDOTAUserMsg_MinimapEvent.ProtoReflect.Descriptor instead.
func (*CDOTAUserMsg_MinimapEvent) Descriptor() ([]byte, []int) {
return file_dota_usermessages_proto_rawDescGZIP(), []int{26}
}
func (x *CDOTAUserMsg_MinimapEvent) GetEventType() int32 {
if x != nil && x.EventType != nil {
return *x.EventType
}
return 0
}
func (x *CDOTAUserMsg_MinimapEvent) GetEntityHandle() uint32 {
if x != nil && x.EntityHandle != nil {
return *x.EntityHandle
}
return 0
}
func (x *CDOTAUserMsg_MinimapEvent) GetX() int32 {
if x != nil && x.X != nil {
return *x.X
}
return 0
}
func (x *CDOTAUserMsg_MinimapEvent) GetY() int32 {
if x != nil && x.Y != nil {
return *x.Y
}
return 0
}
func (x *CDOTAUserMsg_MinimapEvent) GetDuration() int32 {
if x != nil && x.Duration != nil {
return *x.Duration
}
return 0
}
func (x *CDOTAUserMsg_MinimapEvent) GetTargetEntityHandle() uint32 {
if x != nil && x.TargetEntityHandle != nil {
return *x.TargetEntityHandle
}
return 0
}
type CDOTAUserMsg_MapLine 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"`
Mapline *CDOTAMsg_MapLine `protobuf:"bytes,2,opt,name=mapline" json:"mapline,omitempty"`
}
func (x *CDOTAUserMsg_MapLine) Reset() {
*x = CDOTAUserMsg_MapLine{}
if protoimpl.UnsafeEnabled {
mi := &file_dota_usermessages_proto_msgTypes[27]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *CDOTAUserMsg_MapLine) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*CDOTAUserMsg_MapLine) ProtoMessage() {}
func (x *CDOTAUserMsg_MapLine) ProtoReflect() protoreflect.Message {
mi := &file_dota_usermessages_proto_msgTypes[27]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use CDOTAUserMsg_MapLine.ProtoReflect.Descriptor instead.
func (*CDOTAUserMsg_MapLine) Descriptor() ([]byte, []int) {
return file_dota_usermessages_proto_rawDescGZIP(), []int{27}
}
func (x *CDOTAUserMsg_MapLine) GetPlayerId() int32 {
if x != nil && x.PlayerId != nil {
return *x.PlayerId
}
return 0
}
func (x *CDOTAUserMsg_MapLine) GetMapline() *CDOTAMsg_MapLine {
if x != nil {
return x.Mapline
}
return nil
}
type CDOTAUserMsg_MinimapDebugPoint struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Location *CMsgVector `protobuf:"bytes,1,opt,name=location" json:"location,omitempty"`
Color *uint32 `protobuf:"varint,2,opt,name=color" json:"color,omitempty"`
Size *int32 `protobuf:"varint,3,opt,name=size" json:"size,omitempty"`
Duration *float32 `protobuf:"fixed32,4,opt,name=duration" json:"duration,omitempty"`
Index *int32 `protobuf:"varint,5,opt,name=index" json:"index,omitempty"`
}
func (x *CDOTAUserMsg_MinimapDebugPoint) Reset() {
*x = CDOTAUserMsg_MinimapDebugPoint{}
if protoimpl.UnsafeEnabled {
mi := &file_dota_usermessages_proto_msgTypes[28]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *CDOTAUserMsg_MinimapDebugPoint) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*CDOTAUserMsg_MinimapDebugPoint) ProtoMessage() {}
func (x *CDOTAUserMsg_MinimapDebugPoint) ProtoReflect() protoreflect.Message {
mi := &file_dota_usermessages_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 CDOTAUserMsg_MinimapDebugPoint.ProtoReflect.Descriptor instead.
func (*CDOTAUserMsg_MinimapDebugPoint) Descriptor() ([]byte, []int) {
return file_dota_usermessages_proto_rawDescGZIP(), []int{28}
}
func (x *CDOTAUserMsg_MinimapDebugPoint) GetLocation() *CMsgVector {
if x != nil {
return x.Location
}
return nil
}
func (x *CDOTAUserMsg_MinimapDebugPoint) GetColor() uint32 {
if x != nil && x.Color != nil {
return *x.Color
}
return 0
}
func (x *CDOTAUserMsg_MinimapDebugPoint) GetSize() int32 {
if x != nil && x.Size != nil {
return *x.Size
}
return 0
}
func (x *CDOTAUserMsg_MinimapDebugPoint) GetDuration() float32 {
if x != nil && x.Duration != nil {
return *x.Duration
}
return 0
}
func (x *CDOTAUserMsg_MinimapDebugPoint) GetIndex() int32 {
if x != nil && x.Index != nil {
return *x.Index
}
return 0
}
type CDOTAUserMsg_CreateLinearProjectile struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Origin *CMsgVector `protobuf:"bytes,1,opt,name=origin" json:"origin,omitempty"`
Velocity *CMsgVector2D `protobuf:"bytes,2,opt,name=velocity" json:"velocity,omitempty"`
Entindex *int32 `protobuf:"varint,4,opt,name=entindex" json:"entindex,omitempty"`
ParticleIndex *uint64 `protobuf:"varint,5,opt,name=particle_index,json=particleIndex" json:"particle_index,omitempty"`
Handle *int32 `protobuf:"varint,6,opt,name=handle" json:"handle,omitempty"`
Acceleration *CMsgVector2D `protobuf:"bytes,7,opt,name=acceleration" json:"acceleration,omitempty"`
MaxSpeed *float32 `protobuf:"fixed32,8,opt,name=max_speed,json=maxSpeed" json:"max_speed,omitempty"`
FowRadius *float32 `protobuf:"fixed32,9,opt,name=fow_radius,json=fowRadius" json:"fow_radius,omitempty"`
StickyFowReveal *bool `protobuf:"varint,10,opt,name=sticky_fow_reveal,json=stickyFowReveal" json:"sticky_fow_reveal,omitempty"`
Distance *float32 `protobuf:"fixed32,11,opt,name=distance" json:"distance,omitempty"`
Colorgemcolor *uint32 `protobuf:"fixed32,12,opt,name=colorgemcolor" json:"colorgemcolor,omitempty"`
ParticleCpData []*CDOTAUserMsg_ProjectileParticleCPData `protobuf:"bytes,13,rep,name=particle_cp_data,json=particleCpData" json:"particle_cp_data,omitempty"`
}
func (x *CDOTAUserMsg_CreateLinearProjectile) Reset() {
*x = CDOTAUserMsg_CreateLinearProjectile{}
if protoimpl.UnsafeEnabled {
mi := &file_dota_usermessages_proto_msgTypes[29]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *CDOTAUserMsg_CreateLinearProjectile) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*CDOTAUserMsg_CreateLinearProjectile) ProtoMessage() {}
func (x *CDOTAUserMsg_CreateLinearProjectile) ProtoReflect() protoreflect.Message {
mi := &file_dota_usermessages_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 CDOTAUserMsg_CreateLinearProjectile.ProtoReflect.Descriptor instead.
func (*CDOTAUserMsg_CreateLinearProjectile) Descriptor() ([]byte, []int) {
return file_dota_usermessages_proto_rawDescGZIP(), []int{29}
}
func (x *CDOTAUserMsg_CreateLinearProjectile) GetOrigin() *CMsgVector {
if x != nil {
return x.Origin
}
return nil
}
func (x *CDOTAUserMsg_CreateLinearProjectile) GetVelocity() *CMsgVector2D {
if x != nil {
return x.Velocity
}
return nil
}
func (x *CDOTAUserMsg_CreateLinearProjectile) GetEntindex() int32 {
if x != nil && x.Entindex != nil {
return *x.Entindex
}
return 0
}
func (x *CDOTAUserMsg_CreateLinearProjectile) GetParticleIndex() uint64 {
if x != nil && x.ParticleIndex != nil {
return *x.ParticleIndex
}
return 0
}
func (x *CDOTAUserMsg_CreateLinearProjectile) GetHandle() int32 {
if x != nil && x.Handle != nil {
return *x.Handle
}
return 0
}
func (x *CDOTAUserMsg_CreateLinearProjectile) GetAcceleration() *CMsgVector2D {
if x != nil {
return x.Acceleration
}
return nil
}
func (x *CDOTAUserMsg_CreateLinearProjectile) GetMaxSpeed() float32 {
if x != nil && x.MaxSpeed != nil {
return *x.MaxSpeed
}
return 0
}
func (x *CDOTAUserMsg_CreateLinearProjectile) GetFowRadius() float32 {
if x != nil && x.FowRadius != nil {
return *x.FowRadius
}
return 0
}
func (x *CDOTAUserMsg_CreateLinearProjectile) GetStickyFowReveal() bool {
if x != nil && x.StickyFowReveal != nil {
return *x.StickyFowReveal
}
return false
}
func (x *CDOTAUserMsg_CreateLinearProjectile) GetDistance() float32 {
if x != nil && x.Distance != nil {
return *x.Distance
}
return 0
}
func (x *CDOTAUserMsg_CreateLinearProjectile) GetColorgemcolor() uint32 {
if x != nil && x.Colorgemcolor != nil {
return *x.Colorgemcolor
}
return 0
}
func (x *CDOTAUserMsg_CreateLinearProjectile) GetParticleCpData() []*CDOTAUserMsg_ProjectileParticleCPData {
if x != nil {
return x.ParticleCpData
}
return nil
}
type CDOTAUserMsg_DestroyLinearProjectile struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Handle *int32 `protobuf:"varint,1,opt,name=handle" json:"handle,omitempty"`
}
func (x *CDOTAUserMsg_DestroyLinearProjectile) Reset() {
*x = CDOTAUserMsg_DestroyLinearProjectile{}
if protoimpl.UnsafeEnabled {
mi := &file_dota_usermessages_proto_msgTypes[30]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *CDOTAUserMsg_DestroyLinearProjectile) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*CDOTAUserMsg_DestroyLinearProjectile) ProtoMessage() {}
func (x *CDOTAUserMsg_DestroyLinearProjectile) ProtoReflect() protoreflect.Message {
mi := &file_dota_usermessages_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 CDOTAUserMsg_DestroyLinearProjectile.ProtoReflect.Descriptor instead.
func (*CDOTAUserMsg_DestroyLinearProjectile) Descriptor() ([]byte, []int) {
return file_dota_usermessages_proto_rawDescGZIP(), []int{30}
}
func (x *CDOTAUserMsg_DestroyLinearProjectile) GetHandle() int32 {
if x != nil && x.Handle != nil {
return *x.Handle
}
return 0
}
type CDOTAUserMsg_DodgeTrackingProjectiles struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Entindex *int32 `protobuf:"varint,1,req,name=entindex" json:"entindex,omitempty"`
AttacksOnly *bool `protobuf:"varint,2,opt,name=attacks_only,json=attacksOnly" json:"attacks_only,omitempty"`
}
func (x *CDOTAUserMsg_DodgeTrackingProjectiles) Reset() {
*x = CDOTAUserMsg_DodgeTrackingProjectiles{}
if protoimpl.UnsafeEnabled {
mi := &file_dota_usermessages_proto_msgTypes[31]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *CDOTAUserMsg_DodgeTrackingProjectiles) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*CDOTAUserMsg_DodgeTrackingProjectiles) ProtoMessage() {}
func (x *CDOTAUserMsg_DodgeTrackingProjectiles) ProtoReflect() protoreflect.Message {
mi := &file_dota_usermessages_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 CDOTAUserMsg_DodgeTrackingProjectiles.ProtoReflect.Descriptor instead.
func (*CDOTAUserMsg_DodgeTrackingProjectiles) Descriptor() ([]byte, []int) {
return file_dota_usermessages_proto_rawDescGZIP(), []int{31}
}
func (x *CDOTAUserMsg_DodgeTrackingProjectiles) GetEntindex() int32 {
if x != nil && x.Entindex != nil {
return *x.Entindex
}
return 0
}
func (x *CDOTAUserMsg_DodgeTrackingProjectiles) GetAttacksOnly() bool {
if x != nil && x.AttacksOnly != nil {
return *x.AttacksOnly
}
return false
}
type CDOTAUserMsg_SpectatorPlayerClick struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Entindex *int32 `protobuf:"varint,1,req,name=entindex" json:"entindex,omitempty"`
OrderType *int32 `protobuf:"varint,2,opt,name=order_type,json=orderType" json:"order_type,omitempty"`
TargetIndex *int32 `protobuf:"varint,3,opt,name=target_index,json=targetIndex" json:"target_index,omitempty"`
}
func (x *CDOTAUserMsg_SpectatorPlayerClick) Reset() {
*x = CDOTAUserMsg_SpectatorPlayerClick{}
if protoimpl.UnsafeEnabled {
mi := &file_dota_usermessages_proto_msgTypes[32]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *CDOTAUserMsg_SpectatorPlayerClick) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*CDOTAUserMsg_SpectatorPlayerClick) ProtoMessage() {}
func (x *CDOTAUserMsg_SpectatorPlayerClick) ProtoReflect() protoreflect.Message {
mi := &file_dota_usermessages_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 CDOTAUserMsg_SpectatorPlayerClick.ProtoReflect.Descriptor instead.
func (*CDOTAUserMsg_SpectatorPlayerClick) Descriptor() ([]byte, []int) {
return file_dota_usermessages_proto_rawDescGZIP(), []int{32}
}
func (x *CDOTAUserMsg_SpectatorPlayerClick) GetEntindex() int32 {
if x != nil && x.Entindex != nil {
return *x.Entindex
}
return 0
}
func (x *CDOTAUserMsg_SpectatorPlayerClick) GetOrderType() int32 {
if x != nil && x.OrderType != nil {
return *x.OrderType
}
return 0
}
func (x *CDOTAUserMsg_SpectatorPlayerClick) GetTargetIndex() int32 {
if x != nil && x.TargetIndex != nil {
return *x.TargetIndex
}
return 0
}
type CDOTAUserMsg_SpectatorPlayerUnitOrders struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Entindex *int32 `protobuf:"varint,1,opt,name=entindex" json:"entindex,omitempty"`
OrderType *int32 `protobuf:"varint,2,opt,name=order_type,json=orderType" json:"order_type,omitempty"`
Units []int32 `protobuf:"varint,3,rep,name=units" json:"units,omitempty"`
TargetIndex *int32 `protobuf:"varint,4,opt,name=target_index,json=targetIndex" json:"target_index,omitempty"`
AbilityId *int32 `protobuf:"varint,5,opt,name=ability_id,json=abilityId" json:"ability_id,omitempty"`
Position *CMsgVector `protobuf:"bytes,6,opt,name=position" json:"position,omitempty"`
Queue *bool `protobuf:"varint,7,opt,name=queue" json:"queue,omitempty"`
SequenceNumber *int32 `protobuf:"varint,8,opt,name=sequence_number,json=sequenceNumber" json:"sequence_number,omitempty"`
Flags *uint32 `protobuf:"varint,9,opt,name=flags" json:"flags,omitempty"`
}
func (x *CDOTAUserMsg_SpectatorPlayerUnitOrders) Reset() {
*x = CDOTAUserMsg_SpectatorPlayerUnitOrders{}
if protoimpl.UnsafeEnabled {
mi := &file_dota_usermessages_proto_msgTypes[33]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *CDOTAUserMsg_SpectatorPlayerUnitOrders) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*CDOTAUserMsg_SpectatorPlayerUnitOrders) ProtoMessage() {}
func (x *CDOTAUserMsg_SpectatorPlayerUnitOrders) ProtoReflect() protoreflect.Message {
mi := &file_dota_usermessages_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 CDOTAUserMsg_SpectatorPlayerUnitOrders.ProtoReflect.Descriptor instead.
func (*CDOTAUserMsg_SpectatorPlayerUnitOrders) Descriptor() ([]byte, []int) {
return file_dota_usermessages_proto_rawDescGZIP(), []int{33}
}
func (x *CDOTAUserMsg_SpectatorPlayerUnitOrders) GetEntindex() int32 {
if x != nil && x.Entindex != nil {
return *x.Entindex
}
return 0
}
func (x *CDOTAUserMsg_SpectatorPlayerUnitOrders) GetOrderType() int32 {
if x != nil && x.OrderType != nil {
return *x.OrderType
}
return 0
}
func (x *CDOTAUserMsg_SpectatorPlayerUnitOrders) GetUnits() []int32 {
if x != nil {
return x.Units
}
return nil
}
func (x *CDOTAUserMsg_SpectatorPlayerUnitOrders) GetTargetIndex() int32 {
if x != nil && x.TargetIndex != nil {
return *x.TargetIndex
}
return 0
}
func (x *CDOTAUserMsg_SpectatorPlayerUnitOrders) GetAbilityId() int32 {
if x != nil && x.AbilityId != nil {
return *x.AbilityId
}
return 0
}
func (x *CDOTAUserMsg_SpectatorPlayerUnitOrders) GetPosition() *CMsgVector {
if x != nil {
return x.Position
}
return nil
}
func (x *CDOTAUserMsg_SpectatorPlayerUnitOrders) GetQueue() bool {
if x != nil && x.Queue != nil {
return *x.Queue
}
return false
}
func (x *CDOTAUserMsg_SpectatorPlayerUnitOrders) GetSequenceNumber() int32 {
if x != nil && x.SequenceNumber != nil {
return *x.SequenceNumber
}
return 0
}
func (x *CDOTAUserMsg_SpectatorPlayerUnitOrders) GetFlags() uint32 {
if x != nil && x.Flags != nil {
return *x.Flags
}
return 0
}
type CDOTAUserMsg_NevermoreRequiem struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
EntityHandle *uint32 `protobuf:"varint,1,opt,name=entity_handle,json=entityHandle" json:"entity_handle,omitempty"`
Lines *int32 `protobuf:"varint,2,opt,name=lines" json:"lines,omitempty"`
Origin *CMsgVector `protobuf:"bytes,3,opt,name=origin" json:"origin,omitempty"`
Reverse *bool `protobuf:"varint,4,opt,name=reverse" json:"reverse,omitempty"`
}
func (x *CDOTAUserMsg_NevermoreRequiem) Reset() {
*x = CDOTAUserMsg_NevermoreRequiem{}
if protoimpl.UnsafeEnabled {
mi := &file_dota_usermessages_proto_msgTypes[34]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *CDOTAUserMsg_NevermoreRequiem) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*CDOTAUserMsg_NevermoreRequiem) ProtoMessage() {}
func (x *CDOTAUserMsg_NevermoreRequiem) ProtoReflect() protoreflect.Message {
mi := &file_dota_usermessages_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 CDOTAUserMsg_NevermoreRequiem.ProtoReflect.Descriptor instead.
func (*CDOTAUserMsg_NevermoreRequiem) Descriptor() ([]byte, []int) {
return file_dota_usermessages_proto_rawDescGZIP(), []int{34}
}
func (x *CDOTAUserMsg_NevermoreRequiem) GetEntityHandle() uint32 {
if x != nil && x.EntityHandle != nil {
return *x.EntityHandle
}
return 0
}
func (x *CDOTAUserMsg_NevermoreRequiem) GetLines() int32 {
if x != nil && x.Lines != nil {
return *x.Lines
}
return 0
}
func (x *CDOTAUserMsg_NevermoreRequiem) GetOrigin() *CMsgVector {
if x != nil {
return x.Origin
}
return nil
}
func (x *CDOTAUserMsg_NevermoreRequiem) GetReverse() bool {
if x != nil && x.Reverse != nil {
return *x.Reverse
}
return false
}
type CDOTAUserMsg_InvalidCommand struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Message *string `protobuf:"bytes,1,opt,name=message" json:"message,omitempty"`
SequenceNumber *int32 `protobuf:"varint,2,opt,name=sequence_number,json=sequenceNumber" json:"sequence_number,omitempty"`
}
func (x *CDOTAUserMsg_InvalidCommand) Reset() {
*x = CDOTAUserMsg_InvalidCommand{}
if protoimpl.UnsafeEnabled {
mi := &file_dota_usermessages_proto_msgTypes[35]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *CDOTAUserMsg_InvalidCommand) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*CDOTAUserMsg_InvalidCommand) ProtoMessage() {}
func (x *CDOTAUserMsg_InvalidCommand) ProtoReflect() protoreflect.Message {
mi := &file_dota_usermessages_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 CDOTAUserMsg_InvalidCommand.ProtoReflect.Descriptor instead.
func (*CDOTAUserMsg_InvalidCommand) Descriptor() ([]byte, []int) {
return file_dota_usermessages_proto_rawDescGZIP(), []int{35}
}
func (x *CDOTAUserMsg_InvalidCommand) GetMessage() string {
if x != nil && x.Message != nil {
return *x.Message
}
return ""
}
func (x *CDOTAUserMsg_InvalidCommand) GetSequenceNumber() int32 {
if x != nil && x.SequenceNumber != nil {
return *x.SequenceNumber
}
return 0
}
type CDOTAUserMsg_HudError struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
OrderId *int32 `protobuf:"varint,1,opt,name=order_id,json=orderId" json:"order_id,omitempty"`
SequenceNumber *int32 `protobuf:"varint,2,opt,name=sequence_number,json=sequenceNumber" json:"sequence_number,omitempty"`
}
func (x *CDOTAUserMsg_HudError) Reset() {
*x = CDOTAUserMsg_HudError{}
if protoimpl.UnsafeEnabled {
mi := &file_dota_usermessages_proto_msgTypes[36]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *CDOTAUserMsg_HudError) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*CDOTAUserMsg_HudError) ProtoMessage() {}
func (x *CDOTAUserMsg_HudError) ProtoReflect() protoreflect.Message {
mi := &file_dota_usermessages_proto_msgTypes[36]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use CDOTAUserMsg_HudError.ProtoReflect.Descriptor instead.
func (*CDOTAUserMsg_HudError) Descriptor() ([]byte, []int) {
return file_dota_usermessages_proto_rawDescGZIP(), []int{36}
}
func (x *CDOTAUserMsg_HudError) GetOrderId() int32 {
if x != nil && x.OrderId != nil {
return *x.OrderId
}
return 0
}
func (x *CDOTAUserMsg_HudError) GetSequenceNumber() int32 {
if x != nil && x.SequenceNumber != nil {
return *x.SequenceNumber
}
return 0
}
type CDOTAUserMsg_SharedCooldown struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Entindex *int32 `protobuf:"varint,1,opt,name=entindex" json:"entindex,omitempty"`
Name *string `protobuf:"bytes,2,opt,name=name" json:"name,omitempty"`
Cooldown *float32 `protobuf:"fixed32,3,opt,name=cooldown" json:"cooldown,omitempty"`
NameIndex *int32 `protobuf:"varint,4,opt,name=name_index,json=nameIndex" json:"name_index,omitempty"`
}
func (x *CDOTAUserMsg_SharedCooldown) Reset() {
*x = CDOTAUserMsg_SharedCooldown{}
if protoimpl.UnsafeEnabled {
mi := &file_dota_usermessages_proto_msgTypes[37]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *CDOTAUserMsg_SharedCooldown) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*CDOTAUserMsg_SharedCooldown) ProtoMessage() {}
func (x *CDOTAUserMsg_SharedCooldown) ProtoReflect() protoreflect.Message {
mi := &file_dota_usermessages_proto_msgTypes[37]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use CDOTAUserMsg_SharedCooldown.ProtoReflect.Descriptor instead.
func (*CDOTAUserMsg_SharedCooldown) Descriptor() ([]byte, []int) {
return file_dota_usermessages_proto_rawDescGZIP(), []int{37}
}
func (x *CDOTAUserMsg_SharedCooldown) GetEntindex() int32 {
if x != nil && x.Entindex != nil {
return *x.Entindex
}
return 0
}
func (x *CDOTAUserMsg_SharedCooldown) GetName() string {
if x != nil && x.Name != nil {
return *x.Name
}
return ""
}
func (x *CDOTAUserMsg_SharedCooldown) GetCooldown() float32 {
if x != nil && x.Cooldown != nil {
return *x.Cooldown
}
return 0
}
func (x *CDOTAUserMsg_SharedCooldown) GetNameIndex() int32 {
if x != nil && x.NameIndex != nil {
return *x.NameIndex
}
return 0
}
type CDOTAUserMsg_SetNextAutobuyItem struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Name *string `protobuf:"bytes,1,opt,name=name" json:"name,omitempty"`
}
func (x *CDOTAUserMsg_SetNextAutobuyItem) Reset() {
*x = CDOTAUserMsg_SetNextAutobuyItem{}
if protoimpl.UnsafeEnabled {
mi := &file_dota_usermessages_proto_msgTypes[38]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *CDOTAUserMsg_SetNextAutobuyItem) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*CDOTAUserMsg_SetNextAutobuyItem) ProtoMessage() {}
func (x *CDOTAUserMsg_SetNextAutobuyItem) ProtoReflect() protoreflect.Message {
mi := &file_dota_usermessages_proto_msgTypes[38]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use CDOTAUserMsg_SetNextAutobuyItem.ProtoReflect.Descriptor instead.
func (*CDOTAUserMsg_SetNextAutobuyItem) Descriptor() ([]byte, []int) {
return file_dota_usermessages_proto_rawDescGZIP(), []int{38}
}
func (x *CDOTAUserMsg_SetNextAutobuyItem) GetName() string {
if x != nil && x.Name != nil {
return *x.Name
}
return ""
}
type CDOTAUserMsg_HalloweenDrops struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
ItemDefs []uint32 `protobuf:"varint,1,rep,name=item_defs,json=itemDefs" json:"item_defs,omitempty"`
PlayerIds []int32 `protobuf:"varint,2,rep,name=player_ids,json=playerIds" json:"player_ids,omitempty"`
PrizeList *uint32 `protobuf:"varint,3,opt,name=prize_list,json=prizeList" json:"prize_list,omitempty"`
}
func (x *CDOTAUserMsg_HalloweenDrops) Reset() {
*x = CDOTAUserMsg_HalloweenDrops{}
if protoimpl.UnsafeEnabled {
mi := &file_dota_usermessages_proto_msgTypes[39]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *CDOTAUserMsg_HalloweenDrops) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*CDOTAUserMsg_HalloweenDrops) ProtoMessage() {}
func (x *CDOTAUserMsg_HalloweenDrops) ProtoReflect() protoreflect.Message {
mi := &file_dota_usermessages_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 CDOTAUserMsg_HalloweenDrops.ProtoReflect.Descriptor instead.
func (*CDOTAUserMsg_HalloweenDrops) Descriptor() ([]byte, []int) {
return file_dota_usermessages_proto_rawDescGZIP(), []int{39}
}
func (x *CDOTAUserMsg_HalloweenDrops) GetItemDefs() []uint32 {
if x != nil {
return x.ItemDefs
}
return nil
}
func (x *CDOTAUserMsg_HalloweenDrops) GetPlayerIds() []int32 {
if x != nil {
return x.PlayerIds
}
return nil
}
func (x *CDOTAUserMsg_HalloweenDrops) GetPrizeList() uint32 {
if x != nil && x.PrizeList != nil {
return *x.PrizeList
}
return 0
}
type CDOTAUserMsg_PredictionResult 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"`
MatchId *uint64 `protobuf:"varint,2,opt,name=match_id,json=matchId" json:"match_id,omitempty"`
Correct *bool `protobuf:"varint,3,opt,name=correct" json:"correct,omitempty"`
Predictions []*CDOTAUserMsg_PredictionResult_Prediction `protobuf:"bytes,4,rep,name=predictions" json:"predictions,omitempty"`
}
func (x *CDOTAUserMsg_PredictionResult) Reset() {
*x = CDOTAUserMsg_PredictionResult{}
if protoimpl.UnsafeEnabled {
mi := &file_dota_usermessages_proto_msgTypes[40]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *CDOTAUserMsg_PredictionResult) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*CDOTAUserMsg_PredictionResult) ProtoMessage() {}
func (x *CDOTAUserMsg_PredictionResult) ProtoReflect() protoreflect.Message {
mi := &file_dota_usermessages_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 CDOTAUserMsg_PredictionResult.ProtoReflect.Descriptor instead.
func (*CDOTAUserMsg_PredictionResult) Descriptor() ([]byte, []int) {
return file_dota_usermessages_proto_rawDescGZIP(), []int{40}
}
func (x *CDOTAUserMsg_PredictionResult) GetAccountId() uint32 {
if x != nil && x.AccountId != nil {
return *x.AccountId
}
return 0
}
func (x *CDOTAUserMsg_PredictionResult) GetMatchId() uint64 {
if x != nil && x.MatchId != nil {
return *x.MatchId
}
return 0
}
func (x *CDOTAUserMsg_PredictionResult) GetCorrect() bool {
if x != nil && x.Correct != nil {
return *x.Correct
}
return false
}
func (x *CDOTAUserMsg_PredictionResult) GetPredictions() []*CDOTAUserMsg_PredictionResult_Prediction {
if x != nil {
return x.Predictions
}
return nil
}
type CDOTAResponseQuerySerialized struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Facts []*CDOTAResponseQuerySerialized_Fact `protobuf:"bytes,1,rep,name=facts" json:"facts,omitempty"`
}
func (x *CDOTAResponseQuerySerialized) Reset() {
*x = CDOTAResponseQuerySerialized{}
if protoimpl.UnsafeEnabled {
mi := &file_dota_usermessages_proto_msgTypes[41]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *CDOTAResponseQuerySerialized) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*CDOTAResponseQuerySerialized) ProtoMessage() {}
func (x *CDOTAResponseQuerySerialized) ProtoReflect() protoreflect.Message {
mi := &file_dota_usermessages_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 CDOTAResponseQuerySerialized.ProtoReflect.Descriptor instead.
func (*CDOTAResponseQuerySerialized) Descriptor() ([]byte, []int) {
return file_dota_usermessages_proto_rawDescGZIP(), []int{41}
}
func (x *CDOTAResponseQuerySerialized) GetFacts() []*CDOTAResponseQuerySerialized_Fact {
if x != nil {
return x.Facts
}
return nil
}
type CDOTASpeechMatchOnClient struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
SpeechConcept *int32 `protobuf:"varint,1,opt,name=speech_concept,json=speechConcept" json:"speech_concept,omitempty"`
RecipientType *int32 `protobuf:"varint,2,opt,name=recipient_type,json=recipientType" json:"recipient_type,omitempty"`
Responsequery *CDOTAResponseQuerySerialized `protobuf:"bytes,3,opt,name=responsequery" json:"responsequery,omitempty"`
Randomseed *int32 `protobuf:"fixed32,4,opt,name=randomseed,def=0" json:"randomseed,omitempty"`
}
// Default values for CDOTASpeechMatchOnClient fields.
const (
Default_CDOTASpeechMatchOnClient_Randomseed = int32(0)
)
func (x *CDOTASpeechMatchOnClient) Reset() {
*x = CDOTASpeechMatchOnClient{}
if protoimpl.UnsafeEnabled {
mi := &file_dota_usermessages_proto_msgTypes[42]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *CDOTASpeechMatchOnClient) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*CDOTASpeechMatchOnClient) ProtoMessage() {}
func (x *CDOTASpeechMatchOnClient) ProtoReflect() protoreflect.Message {
mi := &file_dota_usermessages_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 CDOTASpeechMatchOnClient.ProtoReflect.Descriptor instead.
func (*CDOTASpeechMatchOnClient) Descriptor() ([]byte, []int) {
return file_dota_usermessages_proto_rawDescGZIP(), []int{42}
}
func (x *CDOTASpeechMatchOnClient) GetSpeechConcept() int32 {
if x != nil && x.SpeechConcept != nil {
return *x.SpeechConcept
}
return 0
}
func (x *CDOTASpeechMatchOnClient) GetRecipientType() int32 {
if x != nil && x.RecipientType != nil {
return *x.RecipientType
}
return 0
}
func (x *CDOTASpeechMatchOnClient) GetResponsequery() *CDOTAResponseQuerySerialized {
if x != nil {
return x.Responsequery
}
return nil
}
func (x *CDOTASpeechMatchOnClient) GetRandomseed() int32 {
if x != nil && x.Randomseed != nil {
return *x.Randomseed
}
return Default_CDOTASpeechMatchOnClient_Randomseed
}
type CDOTAUserMsg_UnitEvent struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
MsgType *EDotaEntityMessages `protobuf:"varint,1,req,name=msg_type,json=msgType,enum=EDotaEntityMessages,def=0" json:"msg_type,omitempty"`
EntityIndex *int32 `protobuf:"varint,2,req,name=entity_index,json=entityIndex" json:"entity_index,omitempty"`
Speech *CDOTAUserMsg_UnitEvent_Speech `protobuf:"bytes,3,opt,name=speech" json:"speech,omitempty"`
SpeechMute *CDOTAUserMsg_UnitEvent_SpeechMute `protobuf:"bytes,4,opt,name=speech_mute,json=speechMute" json:"speech_mute,omitempty"`
AddGesture *CDOTAUserMsg_UnitEvent_AddGesture `protobuf:"bytes,5,opt,name=add_gesture,json=addGesture" json:"add_gesture,omitempty"`
RemoveGesture *CDOTAUserMsg_UnitEvent_RemoveGesture `protobuf:"bytes,6,opt,name=remove_gesture,json=removeGesture" json:"remove_gesture,omitempty"`
BloodImpact *CDOTAUserMsg_UnitEvent_BloodImpact `protobuf:"bytes,7,opt,name=blood_impact,json=bloodImpact" json:"blood_impact,omitempty"`
FadeGesture *CDOTAUserMsg_UnitEvent_FadeGesture `protobuf:"bytes,8,opt,name=fade_gesture,json=fadeGesture" json:"fade_gesture,omitempty"`
SpeechMatchOnClient *CDOTASpeechMatchOnClient `protobuf:"bytes,9,opt,name=speech_match_on_client,json=speechMatchOnClient" json:"speech_match_on_client,omitempty"`
}
// Default values for CDOTAUserMsg_UnitEvent fields.
const (
Default_CDOTAUserMsg_UnitEvent_MsgType = EDotaEntityMessages_DOTA_UNIT_SPEECH
)
func (x *CDOTAUserMsg_UnitEvent) Reset() {
*x = CDOTAUserMsg_UnitEvent{}
if protoimpl.UnsafeEnabled {
mi := &file_dota_usermessages_proto_msgTypes[43]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *CDOTAUserMsg_UnitEvent) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*CDOTAUserMsg_UnitEvent) ProtoMessage() {}
func (x *CDOTAUserMsg_UnitEvent) ProtoReflect() protoreflect.Message {
mi := &file_dota_usermessages_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 CDOTAUserMsg_UnitEvent.ProtoReflect.Descriptor instead.
func (*CDOTAUserMsg_UnitEvent) Descriptor() ([]byte, []int) {
return file_dota_usermessages_proto_rawDescGZIP(), []int{43}
}
func (x *CDOTAUserMsg_UnitEvent) GetMsgType() EDotaEntityMessages {
if x != nil && x.MsgType != nil {
return *x.MsgType
}
return Default_CDOTAUserMsg_UnitEvent_MsgType
}
func (x *CDOTAUserMsg_UnitEvent) GetEntityIndex() int32 {
if x != nil && x.EntityIndex != nil {
return *x.EntityIndex
}
return 0
}
func (x *CDOTAUserMsg_UnitEvent) GetSpeech() *CDOTAUserMsg_UnitEvent_Speech {
if x != nil {
return x.Speech
}
return nil
}
func (x *CDOTAUserMsg_UnitEvent) GetSpeechMute() *CDOTAUserMsg_UnitEvent_SpeechMute {
if x != nil {
return x.SpeechMute
}
return nil
}
func (x *CDOTAUserMsg_UnitEvent) GetAddGesture() *CDOTAUserMsg_UnitEvent_AddGesture {
if x != nil {
return x.AddGesture
}
return nil
}
func (x *CDOTAUserMsg_UnitEvent) GetRemoveGesture() *CDOTAUserMsg_UnitEvent_RemoveGesture {
if x != nil {
return x.RemoveGesture
}
return nil
}
func (x *CDOTAUserMsg_UnitEvent) GetBloodImpact() *CDOTAUserMsg_UnitEvent_BloodImpact {
if x != nil {
return x.BloodImpact
}
return nil
}
func (x *CDOTAUserMsg_UnitEvent) GetFadeGesture() *CDOTAUserMsg_UnitEvent_FadeGesture {
if x != nil {
return x.FadeGesture
}
return nil
}
func (x *CDOTAUserMsg_UnitEvent) GetSpeechMatchOnClient() *CDOTASpeechMatchOnClient {
if x != nil {
return x.SpeechMatchOnClient
}
return nil
}
type CDOTAUserMsg_ItemPurchased struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
ItemAbilityId *int32 `protobuf:"varint,1,opt,name=item_ability_id,json=itemAbilityId" json:"item_ability_id,omitempty"`
}
func (x *CDOTAUserMsg_ItemPurchased) Reset() {
*x = CDOTAUserMsg_ItemPurchased{}
if protoimpl.UnsafeEnabled {
mi := &file_dota_usermessages_proto_msgTypes[44]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *CDOTAUserMsg_ItemPurchased) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*CDOTAUserMsg_ItemPurchased) ProtoMessage() {}
func (x *CDOTAUserMsg_ItemPurchased) ProtoReflect() protoreflect.Message {
mi := &file_dota_usermessages_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 CDOTAUserMsg_ItemPurchased.ProtoReflect.Descriptor instead.
func (*CDOTAUserMsg_ItemPurchased) Descriptor() ([]byte, []int) {
return file_dota_usermessages_proto_rawDescGZIP(), []int{44}
}
func (x *CDOTAUserMsg_ItemPurchased) GetItemAbilityId() int32 {
if x != nil && x.ItemAbilityId != nil {
return *x.ItemAbilityId
}
return 0
}
type CDOTAUserMsg_ItemSold struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
ItemAbilityId *int32 `protobuf:"varint,1,opt,name=item_ability_id,json=itemAbilityId" json:"item_ability_id,omitempty"`
}
func (x *CDOTAUserMsg_ItemSold) Reset() {
*x = CDOTAUserMsg_ItemSold{}
if protoimpl.UnsafeEnabled {
mi := &file_dota_usermessages_proto_msgTypes[45]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *CDOTAUserMsg_ItemSold) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*CDOTAUserMsg_ItemSold) ProtoMessage() {}
func (x *CDOTAUserMsg_ItemSold) ProtoReflect() protoreflect.Message {
mi := &file_dota_usermessages_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 CDOTAUserMsg_ItemSold.ProtoReflect.Descriptor instead.
func (*CDOTAUserMsg_ItemSold) Descriptor() ([]byte, []int) {
return file_dota_usermessages_proto_rawDescGZIP(), []int{45}
}
func (x *CDOTAUserMsg_ItemSold) GetItemAbilityId() int32 {
if x != nil && x.ItemAbilityId != nil {
return *x.ItemAbilityId
}
return 0
}
type CDOTAUserMsg_ItemFound struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Player *int32 `protobuf:"varint,1,opt,name=player" json:"player,omitempty"`
Quality *int32 `protobuf:"varint,2,opt,name=quality" json:"quality,omitempty"`
Rarity *int32 `protobuf:"varint,3,opt,name=rarity" json:"rarity,omitempty"`
Method *int32 `protobuf:"varint,4,opt,name=method" json:"method,omitempty"`
Itemdef *uint32 `protobuf:"varint,5,opt,name=itemdef" json:"itemdef,omitempty"`
}
func (x *CDOTAUserMsg_ItemFound) Reset() {
*x = CDOTAUserMsg_ItemFound{}
if protoimpl.UnsafeEnabled {
mi := &file_dota_usermessages_proto_msgTypes[46]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *CDOTAUserMsg_ItemFound) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*CDOTAUserMsg_ItemFound) ProtoMessage() {}
func (x *CDOTAUserMsg_ItemFound) ProtoReflect() protoreflect.Message {
mi := &file_dota_usermessages_proto_msgTypes[46]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use CDOTAUserMsg_ItemFound.ProtoReflect.Descriptor instead.
func (*CDOTAUserMsg_ItemFound) Descriptor() ([]byte, []int) {
return file_dota_usermessages_proto_rawDescGZIP(), []int{46}
}
func (x *CDOTAUserMsg_ItemFound) GetPlayer() int32 {
if x != nil && x.Player != nil {
return *x.Player
}
return 0
}
func (x *CDOTAUserMsg_ItemFound) GetQuality() int32 {
if x != nil && x.Quality != nil {
return *x.Quality
}
return 0
}
func (x *CDOTAUserMsg_ItemFound) GetRarity() int32 {
if x != nil && x.Rarity != nil {
return *x.Rarity
}
return 0
}
func (x *CDOTAUserMsg_ItemFound) GetMethod() int32 {
if x != nil && x.Method != nil {
return *x.Method
}
return 0
}
func (x *CDOTAUserMsg_ItemFound) GetItemdef() uint32 {
if x != nil && x.Itemdef != nil {
return *x.Itemdef
}
return 0
}
type CDOTAUserMsg_OverheadEvent struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
MessageType *DOTA_OVERHEAD_ALERT `protobuf:"varint,1,req,name=message_type,json=messageType,enum=DOTA_OVERHEAD_ALERT,def=0" json:"message_type,omitempty"`
Value *int32 `protobuf:"varint,2,opt,name=value" json:"value,omitempty"`
TargetPlayerEntindex *int32 `protobuf:"varint,3,opt,name=target_player_entindex,json=targetPlayerEntindex" json:"target_player_entindex,omitempty"`
TargetEntindex *int32 `protobuf:"varint,4,opt,name=target_entindex,json=targetEntindex" json:"target_entindex,omitempty"`
SourcePlayerEntindex *int32 `protobuf:"varint,5,opt,name=source_player_entindex,json=sourcePlayerEntindex" json:"source_player_entindex,omitempty"`
}
// Default values for CDOTAUserMsg_OverheadEvent fields.
const (
Default_CDOTAUserMsg_OverheadEvent_MessageType = DOTA_OVERHEAD_ALERT_OVERHEAD_ALERT_GOLD
)
func (x *CDOTAUserMsg_OverheadEvent) Reset() {
*x = CDOTAUserMsg_OverheadEvent{}
if protoimpl.UnsafeEnabled {
mi := &file_dota_usermessages_proto_msgTypes[47]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *CDOTAUserMsg_OverheadEvent) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*CDOTAUserMsg_OverheadEvent) ProtoMessage() {}
func (x *CDOTAUserMsg_OverheadEvent) ProtoReflect() protoreflect.Message {
mi := &file_dota_usermessages_proto_msgTypes[47]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use CDOTAUserMsg_OverheadEvent.ProtoReflect.Descriptor instead.
func (*CDOTAUserMsg_OverheadEvent) Descriptor() ([]byte, []int) {
return file_dota_usermessages_proto_rawDescGZIP(), []int{47}
}
func (x *CDOTAUserMsg_OverheadEvent) GetMessageType() DOTA_OVERHEAD_ALERT {
if x != nil && x.MessageType != nil {
return *x.MessageType
}
return Default_CDOTAUserMsg_OverheadEvent_MessageType
}
func (x *CDOTAUserMsg_OverheadEvent) GetValue() int32 {
if x != nil && x.Value != nil {
return *x.Value
}
return 0
}
func (x *CDOTAUserMsg_OverheadEvent) GetTargetPlayerEntindex() int32 {
if x != nil && x.TargetPlayerEntindex != nil {
return *x.TargetPlayerEntindex
}
return 0
}
func (x *CDOTAUserMsg_OverheadEvent) GetTargetEntindex() int32 {
if x != nil && x.TargetEntindex != nil {
return *x.TargetEntindex
}
return 0
}
func (x *CDOTAUserMsg_OverheadEvent) GetSourcePlayerEntindex() int32 {
if x != nil && x.SourcePlayerEntindex != nil {
return *x.SourcePlayerEntindex
}
return 0
}
type CDOTAUserMsg_TutorialTipInfo struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Name *string `protobuf:"bytes,1,opt,name=name" json:"name,omitempty"`
Progress *int32 `protobuf:"varint,2,opt,name=progress" json:"progress,omitempty"`
}
func (x *CDOTAUserMsg_TutorialTipInfo) Reset() {
*x = CDOTAUserMsg_TutorialTipInfo{}
if protoimpl.UnsafeEnabled {
mi := &file_dota_usermessages_proto_msgTypes[48]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *CDOTAUserMsg_TutorialTipInfo) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*CDOTAUserMsg_TutorialTipInfo) ProtoMessage() {}
func (x *CDOTAUserMsg_TutorialTipInfo) ProtoReflect() protoreflect.Message {
mi := &file_dota_usermessages_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 CDOTAUserMsg_TutorialTipInfo.ProtoReflect.Descriptor instead.
func (*CDOTAUserMsg_TutorialTipInfo) Descriptor() ([]byte, []int) {
return file_dota_usermessages_proto_rawDescGZIP(), []int{48}
}
func (x *CDOTAUserMsg_TutorialTipInfo) GetName() string {
if x != nil && x.Name != nil {
return *x.Name
}
return ""
}
func (x *CDOTAUserMsg_TutorialTipInfo) GetProgress() int32 {
if x != nil && x.Progress != nil {
return *x.Progress
}
return 0
}
type CDOTAUserMsg_TutorialFinish struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Heading *string `protobuf:"bytes,1,opt,name=heading" json:"heading,omitempty"`
Emblem *string `protobuf:"bytes,2,opt,name=emblem" json:"emblem,omitempty"`
Body *string `protobuf:"bytes,3,opt,name=body" json:"body,omitempty"`
Success *bool `protobuf:"varint,4,opt,name=success" json:"success,omitempty"`
}
func (x *CDOTAUserMsg_TutorialFinish) Reset() {
*x = CDOTAUserMsg_TutorialFinish{}
if protoimpl.UnsafeEnabled {
mi := &file_dota_usermessages_proto_msgTypes[49]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *CDOTAUserMsg_TutorialFinish) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*CDOTAUserMsg_TutorialFinish) ProtoMessage() {}
func (x *CDOTAUserMsg_TutorialFinish) ProtoReflect() protoreflect.Message {
mi := &file_dota_usermessages_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 CDOTAUserMsg_TutorialFinish.ProtoReflect.Descriptor instead.
func (*CDOTAUserMsg_TutorialFinish) Descriptor() ([]byte, []int) {
return file_dota_usermessages_proto_rawDescGZIP(), []int{49}
}
func (x *CDOTAUserMsg_TutorialFinish) GetHeading() string {
if x != nil && x.Heading != nil {
return *x.Heading
}
return ""
}
func (x *CDOTAUserMsg_TutorialFinish) GetEmblem() string {
if x != nil && x.Emblem != nil {
return *x.Emblem
}
return ""
}
func (x *CDOTAUserMsg_TutorialFinish) GetBody() string {
if x != nil && x.Body != nil {
return *x.Body
}
return ""
}
func (x *CDOTAUserMsg_TutorialFinish) GetSuccess() bool {
if x != nil && x.Success != nil {
return *x.Success
}
return false
}
type CDOTAUserMsg_TutorialMinimapPosition struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
}
func (x *CDOTAUserMsg_TutorialMinimapPosition) Reset() {
*x = CDOTAUserMsg_TutorialMinimapPosition{}
if protoimpl.UnsafeEnabled {
mi := &file_dota_usermessages_proto_msgTypes[50]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *CDOTAUserMsg_TutorialMinimapPosition) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*CDOTAUserMsg_TutorialMinimapPosition) ProtoMessage() {}
func (x *CDOTAUserMsg_TutorialMinimapPosition) ProtoReflect() protoreflect.Message {
mi := &file_dota_usermessages_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 CDOTAUserMsg_TutorialMinimapPosition.ProtoReflect.Descriptor instead.
func (*CDOTAUserMsg_TutorialMinimapPosition) Descriptor() ([]byte, []int) {
return file_dota_usermessages_proto_rawDescGZIP(), []int{50}
}
type CDOTAUserMsg_SendGenericToolTip struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Title *string `protobuf:"bytes,1,opt,name=title" json:"title,omitempty"`
Text *string `protobuf:"bytes,2,opt,name=text" json:"text,omitempty"`
Entindex *int32 `protobuf:"varint,3,opt,name=entindex" json:"entindex,omitempty"`
Close *bool `protobuf:"varint,4,opt,name=close" json:"close,omitempty"`
}
func (x *CDOTAUserMsg_SendGenericToolTip) Reset() {
*x = CDOTAUserMsg_SendGenericToolTip{}
if protoimpl.UnsafeEnabled {
mi := &file_dota_usermessages_proto_msgTypes[51]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *CDOTAUserMsg_SendGenericToolTip) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*CDOTAUserMsg_SendGenericToolTip) ProtoMessage() {}
func (x *CDOTAUserMsg_SendGenericToolTip) ProtoReflect() protoreflect.Message {
mi := &file_dota_usermessages_proto_msgTypes[51]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use CDOTAUserMsg_SendGenericToolTip.ProtoReflect.Descriptor instead.
func (*CDOTAUserMsg_SendGenericToolTip) Descriptor() ([]byte, []int) {
return file_dota_usermessages_proto_rawDescGZIP(), []int{51}
}
func (x *CDOTAUserMsg_SendGenericToolTip) GetTitle() string {
if x != nil && x.Title != nil {
return *x.Title
}
return ""
}
func (x *CDOTAUserMsg_SendGenericToolTip) GetText() string {
if x != nil && x.Text != nil {
return *x.Text
}
return ""
}
func (x *CDOTAUserMsg_SendGenericToolTip) GetEntindex() int32 {
if x != nil && x.Entindex != nil {
return *x.Entindex
}
return 0
}
func (x *CDOTAUserMsg_SendGenericToolTip) GetClose() bool {
if x != nil && x.Close != nil {
return *x.Close
}
return false
}
type CDOTAUserMsg_WorldLine 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"`
Worldline *CDOTAMsg_WorldLine `protobuf:"bytes,2,opt,name=worldline" json:"worldline,omitempty"`
}
func (x *CDOTAUserMsg_WorldLine) Reset() {
*x = CDOTAUserMsg_WorldLine{}
if protoimpl.UnsafeEnabled {
mi := &file_dota_usermessages_proto_msgTypes[52]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *CDOTAUserMsg_WorldLine) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*CDOTAUserMsg_WorldLine) ProtoMessage() {}
func (x *CDOTAUserMsg_WorldLine) ProtoReflect() protoreflect.Message {
mi := &file_dota_usermessages_proto_msgTypes[52]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use CDOTAUserMsg_WorldLine.ProtoReflect.Descriptor instead.
func (*CDOTAUserMsg_WorldLine) Descriptor() ([]byte, []int) {
return file_dota_usermessages_proto_rawDescGZIP(), []int{52}
}
func (x *CDOTAUserMsg_WorldLine) GetPlayerId() int32 {
if x != nil && x.PlayerId != nil {
return *x.PlayerId
}
return 0
}
func (x *CDOTAUserMsg_WorldLine) GetWorldline() *CDOTAMsg_WorldLine {
if x != nil {
return x.Worldline
}
return nil
}
type CDOTAUserMsg_ChatWheel struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
ChatMessageId *uint32 `protobuf:"varint,1,opt,name=chat_message_id,json=chatMessageId" json:"chat_message_id,omitempty"`
PlayerId *int32 `protobuf:"varint,2,opt,name=player_id,json=playerId" json:"player_id,omitempty"`
AccountId *uint32 `protobuf:"varint,3,opt,name=account_id,json=accountId" json:"account_id,omitempty"`
ParamHeroId *uint32 `protobuf:"varint,4,opt,name=param_hero_id,json=paramHeroId" json:"param_hero_id,omitempty"`
EmoticonId *uint32 `protobuf:"varint,5,opt,name=emoticon_id,json=emoticonId" json:"emoticon_id,omitempty"`
}
func (x *CDOTAUserMsg_ChatWheel) Reset() {
*x = CDOTAUserMsg_ChatWheel{}
if protoimpl.UnsafeEnabled {
mi := &file_dota_usermessages_proto_msgTypes[53]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *CDOTAUserMsg_ChatWheel) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*CDOTAUserMsg_ChatWheel) ProtoMessage() {}
func (x *CDOTAUserMsg_ChatWheel) ProtoReflect() protoreflect.Message {
mi := &file_dota_usermessages_proto_msgTypes[53]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use CDOTAUserMsg_ChatWheel.ProtoReflect.Descriptor instead.
func (*CDOTAUserMsg_ChatWheel) Descriptor() ([]byte, []int) {
return file_dota_usermessages_proto_rawDescGZIP(), []int{53}
}
func (x *CDOTAUserMsg_ChatWheel) GetChatMessageId() uint32 {
if x != nil && x.ChatMessageId != nil {
return *x.ChatMessageId
}
return 0
}
func (x *CDOTAUserMsg_ChatWheel) GetPlayerId() int32 {
if x != nil && x.PlayerId != nil {
return *x.PlayerId
}
return 0
}
func (x *CDOTAUserMsg_ChatWheel) GetAccountId() uint32 {
if x != nil && x.AccountId != nil {
return *x.AccountId
}
return 0
}
func (x *CDOTAUserMsg_ChatWheel) GetParamHeroId() uint32 {
if x != nil && x.ParamHeroId != nil {
return *x.ParamHeroId
}
return 0
}
func (x *CDOTAUserMsg_ChatWheel) GetEmoticonId() uint32 {
if x != nil && x.EmoticonId != nil {
return *x.EmoticonId
}
return 0
}
type CDOTAUserMsg_ReceivedXmasGift 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"`
ItemName *string `protobuf:"bytes,2,opt,name=item_name,json=itemName" json:"item_name,omitempty"`
InventorySlot *int32 `protobuf:"varint,3,opt,name=inventory_slot,json=inventorySlot" json:"inventory_slot,omitempty"`
}
func (x *CDOTAUserMsg_ReceivedXmasGift) Reset() {
*x = CDOTAUserMsg_ReceivedXmasGift{}
if protoimpl.UnsafeEnabled {
mi := &file_dota_usermessages_proto_msgTypes[54]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *CDOTAUserMsg_ReceivedXmasGift) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*CDOTAUserMsg_ReceivedXmasGift) ProtoMessage() {}
func (x *CDOTAUserMsg_ReceivedXmasGift) ProtoReflect() protoreflect.Message {
mi := &file_dota_usermessages_proto_msgTypes[54]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use CDOTAUserMsg_ReceivedXmasGift.ProtoReflect.Descriptor instead.
func (*CDOTAUserMsg_ReceivedXmasGift) Descriptor() ([]byte, []int) {
return file_dota_usermessages_proto_rawDescGZIP(), []int{54}
}
func (x *CDOTAUserMsg_ReceivedXmasGift) GetPlayerId() int32 {
if x != nil && x.PlayerId != nil {
return *x.PlayerId
}
return 0
}
func (x *CDOTAUserMsg_ReceivedXmasGift) GetItemName() string {
if x != nil && x.ItemName != nil {
return *x.ItemName
}
return ""
}
func (x *CDOTAUserMsg_ReceivedXmasGift) GetInventorySlot() int32 {
if x != nil && x.InventorySlot != nil {
return *x.InventorySlot
}
return 0
}
type CDOTAUserMsg_ShowSurvey struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
SurveyId *int32 `protobuf:"varint,1,opt,name=survey_id,json=surveyId" json:"survey_id,omitempty"`
MatchId *uint64 `protobuf:"varint,2,opt,name=match_id,json=matchId" json:"match_id,omitempty"`
ResponseStyle *string `protobuf:"bytes,3,opt,name=response_style,json=responseStyle" json:"response_style,omitempty"`
TeammateHeroId *uint32 `protobuf:"varint,4,opt,name=teammate_hero_id,json=teammateHeroId" json:"teammate_hero_id,omitempty"`
TeammateName *string `protobuf:"bytes,5,opt,name=teammate_name,json=teammateName" json:"teammate_name,omitempty"`
TeammateAccountId *uint32 `protobuf:"varint,6,opt,name=teammate_account_id,json=teammateAccountId" json:"teammate_account_id,omitempty"`
}
func (x *CDOTAUserMsg_ShowSurvey) Reset() {
*x = CDOTAUserMsg_ShowSurvey{}
if protoimpl.UnsafeEnabled {
mi := &file_dota_usermessages_proto_msgTypes[55]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *CDOTAUserMsg_ShowSurvey) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*CDOTAUserMsg_ShowSurvey) ProtoMessage() {}
func (x *CDOTAUserMsg_ShowSurvey) ProtoReflect() protoreflect.Message {
mi := &file_dota_usermessages_proto_msgTypes[55]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use CDOTAUserMsg_ShowSurvey.ProtoReflect.Descriptor instead.
func (*CDOTAUserMsg_ShowSurvey) Descriptor() ([]byte, []int) {
return file_dota_usermessages_proto_rawDescGZIP(), []int{55}
}
func (x *CDOTAUserMsg_ShowSurvey) GetSurveyId() int32 {
if x != nil && x.SurveyId != nil {
return *x.SurveyId
}
return 0
}
func (x *CDOTAUserMsg_ShowSurvey) GetMatchId() uint64 {
if x != nil && x.MatchId != nil {
return *x.MatchId
}
return 0
}
func (x *CDOTAUserMsg_ShowSurvey) GetResponseStyle() string {
if x != nil && x.ResponseStyle != nil {
return *x.ResponseStyle
}
return ""
}
func (x *CDOTAUserMsg_ShowSurvey) GetTeammateHeroId() uint32 {
if x != nil && x.TeammateHeroId != nil {
return *x.TeammateHeroId
}
return 0
}
func (x *CDOTAUserMsg_ShowSurvey) GetTeammateName() string {
if x != nil && x.TeammateName != nil {
return *x.TeammateName
}
return ""
}
func (x *CDOTAUserMsg_ShowSurvey) GetTeammateAccountId() uint32 {
if x != nil && x.TeammateAccountId != nil {
return *x.TeammateAccountId
}
return 0
}
type CDOTAUserMsg_UpdateSharedContent struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
SlotType *int32 `protobuf:"varint,1,opt,name=slot_type,json=slotType" json:"slot_type,omitempty"`
}
func (x *CDOTAUserMsg_UpdateSharedContent) Reset() {
*x = CDOTAUserMsg_UpdateSharedContent{}
if protoimpl.UnsafeEnabled {
mi := &file_dota_usermessages_proto_msgTypes[56]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *CDOTAUserMsg_UpdateSharedContent) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*CDOTAUserMsg_UpdateSharedContent) ProtoMessage() {}
func (x *CDOTAUserMsg_UpdateSharedContent) ProtoReflect() protoreflect.Message {
mi := &file_dota_usermessages_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 CDOTAUserMsg_UpdateSharedContent.ProtoReflect.Descriptor instead.
func (*CDOTAUserMsg_UpdateSharedContent) Descriptor() ([]byte, []int) {
return file_dota_usermessages_proto_rawDescGZIP(), []int{56}
}
func (x *CDOTAUserMsg_UpdateSharedContent) GetSlotType() int32 {
if x != nil && x.SlotType != nil {
return *x.SlotType
}
return 0
}
type CDOTAUserMsg_TutorialRequestExp struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
}
func (x *CDOTAUserMsg_TutorialRequestExp) Reset() {
*x = CDOTAUserMsg_TutorialRequestExp{}
if protoimpl.UnsafeEnabled {
mi := &file_dota_usermessages_proto_msgTypes[57]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *CDOTAUserMsg_TutorialRequestExp) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*CDOTAUserMsg_TutorialRequestExp) ProtoMessage() {}
func (x *CDOTAUserMsg_TutorialRequestExp) ProtoReflect() protoreflect.Message {
mi := &file_dota_usermessages_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 CDOTAUserMsg_TutorialRequestExp.ProtoReflect.Descriptor instead.
func (*CDOTAUserMsg_TutorialRequestExp) Descriptor() ([]byte, []int) {
return file_dota_usermessages_proto_rawDescGZIP(), []int{57}
}
type CDOTAUserMsg_TutorialFade struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
TgtAlpha *int32 `protobuf:"varint,1,opt,name=tgt_alpha,json=tgtAlpha" json:"tgt_alpha,omitempty"`
}
func (x *CDOTAUserMsg_TutorialFade) Reset() {
*x = CDOTAUserMsg_TutorialFade{}
if protoimpl.UnsafeEnabled {
mi := &file_dota_usermessages_proto_msgTypes[58]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *CDOTAUserMsg_TutorialFade) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*CDOTAUserMsg_TutorialFade) ProtoMessage() {}
func (x *CDOTAUserMsg_TutorialFade) ProtoReflect() protoreflect.Message {
mi := &file_dota_usermessages_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 CDOTAUserMsg_TutorialFade.ProtoReflect.Descriptor instead.
func (*CDOTAUserMsg_TutorialFade) Descriptor() ([]byte, []int) {
return file_dota_usermessages_proto_rawDescGZIP(), []int{58}
}
func (x *CDOTAUserMsg_TutorialFade) GetTgtAlpha() int32 {
if x != nil && x.TgtAlpha != nil {
return *x.TgtAlpha
}
return 0
}
type CDOTAUserMsg_TutorialPingMinimap 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"`
PosX *float32 `protobuf:"fixed32,2,opt,name=pos_x,json=posX" json:"pos_x,omitempty"`
PosY *float32 `protobuf:"fixed32,3,opt,name=pos_y,json=posY" json:"pos_y,omitempty"`
PosZ *float32 `protobuf:"fixed32,4,opt,name=pos_z,json=posZ" json:"pos_z,omitempty"`
EntityIndex *int32 `protobuf:"varint,5,opt,name=entity_index,json=entityIndex" json:"entity_index,omitempty"`
}
func (x *CDOTAUserMsg_TutorialPingMinimap) Reset() {
*x = CDOTAUserMsg_TutorialPingMinimap{}
if protoimpl.UnsafeEnabled {
mi := &file_dota_usermessages_proto_msgTypes[59]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *CDOTAUserMsg_TutorialPingMinimap) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*CDOTAUserMsg_TutorialPingMinimap) ProtoMessage() {}
func (x *CDOTAUserMsg_TutorialPingMinimap) ProtoReflect() protoreflect.Message {
mi := &file_dota_usermessages_proto_msgTypes[59]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use CDOTAUserMsg_TutorialPingMinimap.ProtoReflect.Descriptor instead.
func (*CDOTAUserMsg_TutorialPingMinimap) Descriptor() ([]byte, []int) {
return file_dota_usermessages_proto_rawDescGZIP(), []int{59}
}
func (x *CDOTAUserMsg_TutorialPingMinimap) GetPlayerId() int32 {
if x != nil && x.PlayerId != nil {
return *x.PlayerId
}
return 0
}
func (x *CDOTAUserMsg_TutorialPingMinimap) GetPosX() float32 {
if x != nil && x.PosX != nil {
return *x.PosX
}
return 0
}
func (x *CDOTAUserMsg_TutorialPingMinimap) GetPosY() float32 {
if x != nil && x.PosY != nil {
return *x.PosY
}
return 0
}
func (x *CDOTAUserMsg_TutorialPingMinimap) GetPosZ() float32 {
if x != nil && x.PosZ != nil {
return *x.PosZ
}
return 0
}
func (x *CDOTAUserMsg_TutorialPingMinimap) GetEntityIndex() int32 {
if x != nil && x.EntityIndex != nil {
return *x.EntityIndex
}
return 0
}
type CDOTAUserMsg_GamerulesStateChanged struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
State *uint32 `protobuf:"varint,1,opt,name=state" json:"state,omitempty"`
}
func (x *CDOTAUserMsg_GamerulesStateChanged) Reset() {
*x = CDOTAUserMsg_GamerulesStateChanged{}
if protoimpl.UnsafeEnabled {
mi := &file_dota_usermessages_proto_msgTypes[60]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *CDOTAUserMsg_GamerulesStateChanged) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*CDOTAUserMsg_GamerulesStateChanged) ProtoMessage() {}
func (x *CDOTAUserMsg_GamerulesStateChanged) ProtoReflect() protoreflect.Message {
mi := &file_dota_usermessages_proto_msgTypes[60]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use CDOTAUserMsg_GamerulesStateChanged.ProtoReflect.Descriptor instead.
func (*CDOTAUserMsg_GamerulesStateChanged) Descriptor() ([]byte, []int) {
return file_dota_usermessages_proto_rawDescGZIP(), []int{60}
}
func (x *CDOTAUserMsg_GamerulesStateChanged) GetState() uint32 {
if x != nil && x.State != nil {
return *x.State
}
return 0
}
type CDOTAUserMsg_AddQuestLogEntry struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
NpcName *string `protobuf:"bytes,1,opt,name=npc_name,json=npcName" json:"npc_name,omitempty"`
NpcDialog *string `protobuf:"bytes,2,opt,name=npc_dialog,json=npcDialog" json:"npc_dialog,omitempty"`
}
func (x *CDOTAUserMsg_AddQuestLogEntry) Reset() {
*x = CDOTAUserMsg_AddQuestLogEntry{}
if protoimpl.UnsafeEnabled {
mi := &file_dota_usermessages_proto_msgTypes[61]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *CDOTAUserMsg_AddQuestLogEntry) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*CDOTAUserMsg_AddQuestLogEntry) ProtoMessage() {}
func (x *CDOTAUserMsg_AddQuestLogEntry) ProtoReflect() protoreflect.Message {
mi := &file_dota_usermessages_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 CDOTAUserMsg_AddQuestLogEntry.ProtoReflect.Descriptor instead.
func (*CDOTAUserMsg_AddQuestLogEntry) Descriptor() ([]byte, []int) {
return file_dota_usermessages_proto_rawDescGZIP(), []int{61}
}
func (x *CDOTAUserMsg_AddQuestLogEntry) GetNpcName() string {
if x != nil && x.NpcName != nil {
return *x.NpcName
}
return ""
}
func (x *CDOTAUserMsg_AddQuestLogEntry) GetNpcDialog() string {
if x != nil && x.NpcDialog != nil {
return *x.NpcDialog
}
return ""
}
type CDOTAUserMsg_SendStatPopup 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"`
Statpopup *CDOTAMsg_SendStatPopup `protobuf:"bytes,2,opt,name=statpopup" json:"statpopup,omitempty"`
}
func (x *CDOTAUserMsg_SendStatPopup) Reset() {
*x = CDOTAUserMsg_SendStatPopup{}
if protoimpl.UnsafeEnabled {
mi := &file_dota_usermessages_proto_msgTypes[62]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *CDOTAUserMsg_SendStatPopup) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*CDOTAUserMsg_SendStatPopup) ProtoMessage() {}
func (x *CDOTAUserMsg_SendStatPopup) ProtoReflect() protoreflect.Message {
mi := &file_dota_usermessages_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 CDOTAUserMsg_SendStatPopup.ProtoReflect.Descriptor instead.
func (*CDOTAUserMsg_SendStatPopup) Descriptor() ([]byte, []int) {
return file_dota_usermessages_proto_rawDescGZIP(), []int{62}
}
func (x *CDOTAUserMsg_SendStatPopup) GetPlayerId() int32 {
if x != nil && x.PlayerId != nil {
return *x.PlayerId
}
return 0
}
func (x *CDOTAUserMsg_SendStatPopup) GetStatpopup() *CDOTAMsg_SendStatPopup {
if x != nil {
return x.Statpopup
}
return nil
}
type CDOTAUserMsg_DismissAllStatPopups struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Dismissallmsg *CDOTAMsg_DismissAllStatPopups `protobuf:"bytes,1,opt,name=dismissallmsg" json:"dismissallmsg,omitempty"`
}
func (x *CDOTAUserMsg_DismissAllStatPopups) Reset() {
*x = CDOTAUserMsg_DismissAllStatPopups{}
if protoimpl.UnsafeEnabled {
mi := &file_dota_usermessages_proto_msgTypes[63]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *CDOTAUserMsg_DismissAllStatPopups) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*CDOTAUserMsg_DismissAllStatPopups) ProtoMessage() {}
func (x *CDOTAUserMsg_DismissAllStatPopups) ProtoReflect() protoreflect.Message {
mi := &file_dota_usermessages_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 CDOTAUserMsg_DismissAllStatPopups.ProtoReflect.Descriptor instead.
func (*CDOTAUserMsg_DismissAllStatPopups) Descriptor() ([]byte, []int) {
return file_dota_usermessages_proto_rawDescGZIP(), []int{63}
}
func (x *CDOTAUserMsg_DismissAllStatPopups) GetDismissallmsg() *CDOTAMsg_DismissAllStatPopups {
if x != nil {
return x.Dismissallmsg
}
return nil
}
type CDOTAUserMsg_SendRoshanSpectatorPhase struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Phase *DOTA_ROSHAN_PHASE `protobuf:"varint,1,opt,name=phase,enum=DOTA_ROSHAN_PHASE,def=0" json:"phase,omitempty"`
PhaseStartTime *int32 `protobuf:"varint,2,opt,name=phase_start_time,json=phaseStartTime" json:"phase_start_time,omitempty"`
PhaseLength *int32 `protobuf:"varint,3,opt,name=phase_length,json=phaseLength" json:"phase_length,omitempty"`
}
// Default values for CDOTAUserMsg_SendRoshanSpectatorPhase fields.
const (
Default_CDOTAUserMsg_SendRoshanSpectatorPhase_Phase = DOTA_ROSHAN_PHASE_k_SRSP_ROSHAN_ALIVE
)
func (x *CDOTAUserMsg_SendRoshanSpectatorPhase) Reset() {
*x = CDOTAUserMsg_SendRoshanSpectatorPhase{}
if protoimpl.UnsafeEnabled {
mi := &file_dota_usermessages_proto_msgTypes[64]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *CDOTAUserMsg_SendRoshanSpectatorPhase) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*CDOTAUserMsg_SendRoshanSpectatorPhase) ProtoMessage() {}
func (x *CDOTAUserMsg_SendRoshanSpectatorPhase) ProtoReflect() protoreflect.Message {
mi := &file_dota_usermessages_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 CDOTAUserMsg_SendRoshanSpectatorPhase.ProtoReflect.Descriptor instead.
func (*CDOTAUserMsg_SendRoshanSpectatorPhase) Descriptor() ([]byte, []int) {
return file_dota_usermessages_proto_rawDescGZIP(), []int{64}
}
func (x *CDOTAUserMsg_SendRoshanSpectatorPhase) GetPhase() DOTA_ROSHAN_PHASE {
if x != nil && x.Phase != nil {
return *x.Phase
}
return Default_CDOTAUserMsg_SendRoshanSpectatorPhase_Phase
}
func (x *CDOTAUserMsg_SendRoshanSpectatorPhase) GetPhaseStartTime() int32 {
if x != nil && x.PhaseStartTime != nil {
return *x.PhaseStartTime
}
return 0
}
func (x *CDOTAUserMsg_SendRoshanSpectatorPhase) GetPhaseLength() int32 {
if x != nil && x.PhaseLength != nil {
return *x.PhaseLength
}
return 0
}
type CDOTAUserMsg_SendRoshanPopup struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Reclaimed *bool `protobuf:"varint,1,opt,name=reclaimed" json:"reclaimed,omitempty"`
Gametime *int32 `protobuf:"varint,2,opt,name=gametime" json:"gametime,omitempty"`
}
func (x *CDOTAUserMsg_SendRoshanPopup) Reset() {
*x = CDOTAUserMsg_SendRoshanPopup{}
if protoimpl.UnsafeEnabled {
mi := &file_dota_usermessages_proto_msgTypes[65]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *CDOTAUserMsg_SendRoshanPopup) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*CDOTAUserMsg_SendRoshanPopup) ProtoMessage() {}
func (x *CDOTAUserMsg_SendRoshanPopup) ProtoReflect() protoreflect.Message {
mi := &file_dota_usermessages_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 CDOTAUserMsg_SendRoshanPopup.ProtoReflect.Descriptor instead.
func (*CDOTAUserMsg_SendRoshanPopup) Descriptor() ([]byte, []int) {
return file_dota_usermessages_proto_rawDescGZIP(), []int{65}
}
func (x *CDOTAUserMsg_SendRoshanPopup) GetReclaimed() bool {
if x != nil && x.Reclaimed != nil {
return *x.Reclaimed
}
return false
}
func (x *CDOTAUserMsg_SendRoshanPopup) GetGametime() int32 {
if x != nil && x.Gametime != nil {
return *x.Gametime
}
return 0
}
type CDOTAUserMsg_SendFinalGold struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
ReliableGold []uint32 `protobuf:"varint,1,rep,name=reliable_gold,json=reliableGold" json:"reliable_gold,omitempty"`
UnreliableGold []uint32 `protobuf:"varint,2,rep,name=unreliable_gold,json=unreliableGold" json:"unreliable_gold,omitempty"`
}
func (x *CDOTAUserMsg_SendFinalGold) Reset() {
*x = CDOTAUserMsg_SendFinalGold{}
if protoimpl.UnsafeEnabled {
mi := &file_dota_usermessages_proto_msgTypes[66]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *CDOTAUserMsg_SendFinalGold) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*CDOTAUserMsg_SendFinalGold) ProtoMessage() {}
func (x *CDOTAUserMsg_SendFinalGold) ProtoReflect() protoreflect.Message {
mi := &file_dota_usermessages_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 CDOTAUserMsg_SendFinalGold.ProtoReflect.Descriptor instead.
func (*CDOTAUserMsg_SendFinalGold) Descriptor() ([]byte, []int) {
return file_dota_usermessages_proto_rawDescGZIP(), []int{66}
}
func (x *CDOTAUserMsg_SendFinalGold) GetReliableGold() []uint32 {
if x != nil {
return x.ReliableGold
}
return nil
}
func (x *CDOTAUserMsg_SendFinalGold) GetUnreliableGold() []uint32 {
if x != nil {
return x.UnreliableGold
}
return nil
}
type CDOTAUserMsg_CustomMsg struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Message *string `protobuf:"bytes,1,opt,name=message" json:"message,omitempty"`
PlayerId *int32 `protobuf:"varint,2,opt,name=player_id,json=playerId" json:"player_id,omitempty"`
Value *int32 `protobuf:"varint,3,opt,name=value" json:"value,omitempty"`
}
func (x *CDOTAUserMsg_CustomMsg) Reset() {
*x = CDOTAUserMsg_CustomMsg{}
if protoimpl.UnsafeEnabled {
mi := &file_dota_usermessages_proto_msgTypes[67]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *CDOTAUserMsg_CustomMsg) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*CDOTAUserMsg_CustomMsg) ProtoMessage() {}
func (x *CDOTAUserMsg_CustomMsg) ProtoReflect() protoreflect.Message {
mi := &file_dota_usermessages_proto_msgTypes[67]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use CDOTAUserMsg_CustomMsg.ProtoReflect.Descriptor instead.
func (*CDOTAUserMsg_CustomMsg) Descriptor() ([]byte, []int) {
return file_dota_usermessages_proto_rawDescGZIP(), []int{67}
}
func (x *CDOTAUserMsg_CustomMsg) GetMessage() string {
if x != nil && x.Message != nil {
return *x.Message
}
return ""
}
func (x *CDOTAUserMsg_CustomMsg) GetPlayerId() int32 {
if x != nil && x.PlayerId != nil {
return *x.PlayerId
}
return 0
}
func (x *CDOTAUserMsg_CustomMsg) GetValue() int32 {
if x != nil && x.Value != nil {
return *x.Value
}
return 0
}
type CDOTAUserMsg_CoachHUDPing 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"`
HudPing *CDOTAMsg_CoachHUDPing `protobuf:"bytes,2,opt,name=hud_ping,json=hudPing" json:"hud_ping,omitempty"`
}
func (x *CDOTAUserMsg_CoachHUDPing) Reset() {
*x = CDOTAUserMsg_CoachHUDPing{}
if protoimpl.UnsafeEnabled {
mi := &file_dota_usermessages_proto_msgTypes[68]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *CDOTAUserMsg_CoachHUDPing) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*CDOTAUserMsg_CoachHUDPing) ProtoMessage() {}
func (x *CDOTAUserMsg_CoachHUDPing) ProtoReflect() protoreflect.Message {
mi := &file_dota_usermessages_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 CDOTAUserMsg_CoachHUDPing.ProtoReflect.Descriptor instead.
func (*CDOTAUserMsg_CoachHUDPing) Descriptor() ([]byte, []int) {
return file_dota_usermessages_proto_rawDescGZIP(), []int{68}
}
func (x *CDOTAUserMsg_CoachHUDPing) GetPlayerId() int32 {
if x != nil && x.PlayerId != nil {
return *x.PlayerId
}
return 0
}
func (x *CDOTAUserMsg_CoachHUDPing) GetHudPing() *CDOTAMsg_CoachHUDPing {
if x != nil {
return x.HudPing
}
return nil
}
type CDOTAUserMsg_ClientLoadGridNav struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
}
func (x *CDOTAUserMsg_ClientLoadGridNav) Reset() {
*x = CDOTAUserMsg_ClientLoadGridNav{}
if protoimpl.UnsafeEnabled {
mi := &file_dota_usermessages_proto_msgTypes[69]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *CDOTAUserMsg_ClientLoadGridNav) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*CDOTAUserMsg_ClientLoadGridNav) ProtoMessage() {}
func (x *CDOTAUserMsg_ClientLoadGridNav) ProtoReflect() protoreflect.Message {
mi := &file_dota_usermessages_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 CDOTAUserMsg_ClientLoadGridNav.ProtoReflect.Descriptor instead.
func (*CDOTAUserMsg_ClientLoadGridNav) Descriptor() ([]byte, []int) {
return file_dota_usermessages_proto_rawDescGZIP(), []int{69}
}
type CDOTAUserMsg_TE_Projectile struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Source *uint32 `protobuf:"varint,1,opt,name=source" json:"source,omitempty"`
Target *uint32 `protobuf:"varint,2,opt,name=target" json:"target,omitempty"`
MoveSpeed *int32 `protobuf:"varint,3,opt,name=move_speed,json=moveSpeed" json:"move_speed,omitempty"`
SourceAttachment *int32 `protobuf:"varint,4,opt,name=source_attachment,json=sourceAttachment" json:"source_attachment,omitempty"`
ParticleSystemHandle *int64 `protobuf:"varint,5,opt,name=particle_system_handle,json=particleSystemHandle" json:"particle_system_handle,omitempty"`
Dodgeable *bool `protobuf:"varint,6,opt,name=dodgeable" json:"dodgeable,omitempty"`
IsAttack *bool `protobuf:"varint,7,opt,name=is_attack,json=isAttack" json:"is_attack,omitempty"`
ExpireTime *float32 `protobuf:"fixed32,9,opt,name=expire_time,json=expireTime" json:"expire_time,omitempty"`
Maximpacttime *float32 `protobuf:"fixed32,10,opt,name=maximpacttime" json:"maximpacttime,omitempty"`
Colorgemcolor *uint32 `protobuf:"fixed32,11,opt,name=colorgemcolor" json:"colorgemcolor,omitempty"`
LaunchTick *int32 `protobuf:"varint,12,opt,name=launch_tick,json=launchTick" json:"launch_tick,omitempty"`
Handle *int32 `protobuf:"varint,13,opt,name=handle" json:"handle,omitempty"`
TargetLoc *CMsgVector `protobuf:"bytes,14,opt,name=target_loc,json=targetLoc" json:"target_loc,omitempty"`
ParticleCpData []*CDOTAUserMsg_ProjectileParticleCPData `protobuf:"bytes,15,rep,name=particle_cp_data,json=particleCpData" json:"particle_cp_data,omitempty"`
}
func (x *CDOTAUserMsg_TE_Projectile) Reset() {
*x = CDOTAUserMsg_TE_Projectile{}
if protoimpl.UnsafeEnabled {
mi := &file_dota_usermessages_proto_msgTypes[70]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *CDOTAUserMsg_TE_Projectile) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*CDOTAUserMsg_TE_Projectile) ProtoMessage() {}
func (x *CDOTAUserMsg_TE_Projectile) ProtoReflect() protoreflect.Message {
mi := &file_dota_usermessages_proto_msgTypes[70]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use CDOTAUserMsg_TE_Projectile.ProtoReflect.Descriptor instead.
func (*CDOTAUserMsg_TE_Projectile) Descriptor() ([]byte, []int) {
return file_dota_usermessages_proto_rawDescGZIP(), []int{70}
}
func (x *CDOTAUserMsg_TE_Projectile) GetSource() uint32 {
if x != nil && x.Source != nil {
return *x.Source
}
return 0
}
func (x *CDOTAUserMsg_TE_Projectile) GetTarget() uint32 {
if x != nil && x.Target != nil {
return *x.Target
}
return 0
}
func (x *CDOTAUserMsg_TE_Projectile) GetMoveSpeed() int32 {
if x != nil && x.MoveSpeed != nil {
return *x.MoveSpeed
}
return 0
}
func (x *CDOTAUserMsg_TE_Projectile) GetSourceAttachment() int32 {
if x != nil && x.SourceAttachment != nil {
return *x.SourceAttachment
}
return 0
}
func (x *CDOTAUserMsg_TE_Projectile) GetParticleSystemHandle() int64 {
if x != nil && x.ParticleSystemHandle != nil {
return *x.ParticleSystemHandle
}
return 0
}
func (x *CDOTAUserMsg_TE_Projectile) GetDodgeable() bool {
if x != nil && x.Dodgeable != nil {
return *x.Dodgeable
}
return false
}
func (x *CDOTAUserMsg_TE_Projectile) GetIsAttack() bool {
if x != nil && x.IsAttack != nil {
return *x.IsAttack
}
return false
}
func (x *CDOTAUserMsg_TE_Projectile) GetExpireTime() float32 {
if x != nil && x.ExpireTime != nil {
return *x.ExpireTime
}
return 0
}
func (x *CDOTAUserMsg_TE_Projectile) GetMaximpacttime() float32 {
if x != nil && x.Maximpacttime != nil {
return *x.Maximpacttime
}
return 0
}
func (x *CDOTAUserMsg_TE_Projectile) GetColorgemcolor() uint32 {
if x != nil && x.Colorgemcolor != nil {
return *x.Colorgemcolor
}
return 0
}
func (x *CDOTAUserMsg_TE_Projectile) GetLaunchTick() int32 {
if x != nil && x.LaunchTick != nil {
return *x.LaunchTick
}
return 0
}
func (x *CDOTAUserMsg_TE_Projectile) GetHandle() int32 {
if x != nil && x.Handle != nil {
return *x.Handle
}
return 0
}
func (x *CDOTAUserMsg_TE_Projectile) GetTargetLoc() *CMsgVector {
if x != nil {
return x.TargetLoc
}
return nil
}
func (x *CDOTAUserMsg_TE_Projectile) GetParticleCpData() []*CDOTAUserMsg_ProjectileParticleCPData {
if x != nil {
return x.ParticleCpData
}
return nil
}
type CDOTAUserMsg_TE_ProjectileLoc struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
SourceLoc *CMsgVector `protobuf:"bytes,1,opt,name=source_loc,json=sourceLoc" json:"source_loc,omitempty"`
Target *uint32 `protobuf:"varint,2,opt,name=target" json:"target,omitempty"`
MoveSpeed *int32 `protobuf:"varint,3,opt,name=move_speed,json=moveSpeed" json:"move_speed,omitempty"`
ParticleSystemHandle *int64 `protobuf:"varint,4,opt,name=particle_system_handle,json=particleSystemHandle" json:"particle_system_handle,omitempty"`
Dodgeable *bool `protobuf:"varint,5,opt,name=dodgeable" json:"dodgeable,omitempty"`
IsAttack *bool `protobuf:"varint,6,opt,name=is_attack,json=isAttack" json:"is_attack,omitempty"`
ExpireTime *float32 `protobuf:"fixed32,9,opt,name=expire_time,json=expireTime" json:"expire_time,omitempty"`
TargetLoc *CMsgVector `protobuf:"bytes,10,opt,name=target_loc,json=targetLoc" json:"target_loc,omitempty"`
Colorgemcolor *uint32 `protobuf:"fixed32,11,opt,name=colorgemcolor" json:"colorgemcolor,omitempty"`
LaunchTick *int32 `protobuf:"varint,12,opt,name=launch_tick,json=launchTick" json:"launch_tick,omitempty"`
Handle *int32 `protobuf:"varint,13,opt,name=handle" json:"handle,omitempty"`
Source *uint32 `protobuf:"varint,14,opt,name=source" json:"source,omitempty"`
SourceAttachment *int32 `protobuf:"varint,15,opt,name=source_attachment,json=sourceAttachment" json:"source_attachment,omitempty"`
ParticleCpData []*CDOTAUserMsg_ProjectileParticleCPData `protobuf:"bytes,16,rep,name=particle_cp_data,json=particleCpData" json:"particle_cp_data,omitempty"`
}
func (x *CDOTAUserMsg_TE_ProjectileLoc) Reset() {
*x = CDOTAUserMsg_TE_ProjectileLoc{}
if protoimpl.UnsafeEnabled {
mi := &file_dota_usermessages_proto_msgTypes[71]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *CDOTAUserMsg_TE_ProjectileLoc) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*CDOTAUserMsg_TE_ProjectileLoc) ProtoMessage() {}
func (x *CDOTAUserMsg_TE_ProjectileLoc) ProtoReflect() protoreflect.Message {
mi := &file_dota_usermessages_proto_msgTypes[71]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use CDOTAUserMsg_TE_ProjectileLoc.ProtoReflect.Descriptor instead.
func (*CDOTAUserMsg_TE_ProjectileLoc) Descriptor() ([]byte, []int) {
return file_dota_usermessages_proto_rawDescGZIP(), []int{71}
}
func (x *CDOTAUserMsg_TE_ProjectileLoc) GetSourceLoc() *CMsgVector {
if x != nil {
return x.SourceLoc
}
return nil
}
func (x *CDOTAUserMsg_TE_ProjectileLoc) GetTarget() uint32 {
if x != nil && x.Target != nil {
return *x.Target
}
return 0
}
func (x *CDOTAUserMsg_TE_ProjectileLoc) GetMoveSpeed() int32 {
if x != nil && x.MoveSpeed != nil {
return *x.MoveSpeed
}
return 0
}
func (x *CDOTAUserMsg_TE_ProjectileLoc) GetParticleSystemHandle() int64 {
if x != nil && x.ParticleSystemHandle != nil {
return *x.ParticleSystemHandle
}
return 0
}
func (x *CDOTAUserMsg_TE_ProjectileLoc) GetDodgeable() bool {
if x != nil && x.Dodgeable != nil {
return *x.Dodgeable
}
return false
}
func (x *CDOTAUserMsg_TE_ProjectileLoc) GetIsAttack() bool {
if x != nil && x.IsAttack != nil {
return *x.IsAttack
}
return false
}
func (x *CDOTAUserMsg_TE_ProjectileLoc) GetExpireTime() float32 {
if x != nil && x.ExpireTime != nil {
return *x.ExpireTime
}
return 0
}
func (x *CDOTAUserMsg_TE_ProjectileLoc) GetTargetLoc() *CMsgVector {
if x != nil {
return x.TargetLoc
}
return nil
}
func (x *CDOTAUserMsg_TE_ProjectileLoc) GetColorgemcolor() uint32 {
if x != nil && x.Colorgemcolor != nil {
return *x.Colorgemcolor
}
return 0
}
func (x *CDOTAUserMsg_TE_ProjectileLoc) GetLaunchTick() int32 {
if x != nil && x.LaunchTick != nil {
return *x.LaunchTick
}
return 0
}
func (x *CDOTAUserMsg_TE_ProjectileLoc) GetHandle() int32 {
if x != nil && x.Handle != nil {
return *x.Handle
}
return 0
}
func (x *CDOTAUserMsg_TE_ProjectileLoc) GetSource() uint32 {
if x != nil && x.Source != nil {
return *x.Source
}
return 0
}
func (x *CDOTAUserMsg_TE_ProjectileLoc) GetSourceAttachment() int32 {
if x != nil && x.SourceAttachment != nil {
return *x.SourceAttachment
}
return 0
}
func (x *CDOTAUserMsg_TE_ProjectileLoc) GetParticleCpData() []*CDOTAUserMsg_ProjectileParticleCPData {
if x != nil {
return x.ParticleCpData
}
return nil
}
type CDOTAUserMsg_TE_DestroyProjectile struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Handle *int32 `protobuf:"varint,1,opt,name=handle" json:"handle,omitempty"`
}
func (x *CDOTAUserMsg_TE_DestroyProjectile) Reset() {
*x = CDOTAUserMsg_TE_DestroyProjectile{}
if protoimpl.UnsafeEnabled {
mi := &file_dota_usermessages_proto_msgTypes[72]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *CDOTAUserMsg_TE_DestroyProjectile) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*CDOTAUserMsg_TE_DestroyProjectile) ProtoMessage() {}
func (x *CDOTAUserMsg_TE_DestroyProjectile) ProtoReflect() protoreflect.Message {
mi := &file_dota_usermessages_proto_msgTypes[72]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use CDOTAUserMsg_TE_DestroyProjectile.ProtoReflect.Descriptor instead.
func (*CDOTAUserMsg_TE_DestroyProjectile) Descriptor() ([]byte, []int) {
return file_dota_usermessages_proto_rawDescGZIP(), []int{72}
}
func (x *CDOTAUserMsg_TE_DestroyProjectile) GetHandle() int32 {
if x != nil && x.Handle != nil {
return *x.Handle
}
return 0
}
type CDOTAUserMsg_TE_DotaBloodImpact struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Entity *uint32 `protobuf:"varint,1,opt,name=entity" json:"entity,omitempty"`
Scale *float32 `protobuf:"fixed32,2,opt,name=scale" json:"scale,omitempty"`
Xnormal *float32 `protobuf:"fixed32,3,opt,name=xnormal" json:"xnormal,omitempty"`
Ynormal *float32 `protobuf:"fixed32,4,opt,name=ynormal" json:"ynormal,omitempty"`
}
func (x *CDOTAUserMsg_TE_DotaBloodImpact) Reset() {
*x = CDOTAUserMsg_TE_DotaBloodImpact{}
if protoimpl.UnsafeEnabled {
mi := &file_dota_usermessages_proto_msgTypes[73]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *CDOTAUserMsg_TE_DotaBloodImpact) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*CDOTAUserMsg_TE_DotaBloodImpact) ProtoMessage() {}
func (x *CDOTAUserMsg_TE_DotaBloodImpact) ProtoReflect() protoreflect.Message {
mi := &file_dota_usermessages_proto_msgTypes[73]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use CDOTAUserMsg_TE_DotaBloodImpact.ProtoReflect.Descriptor instead.
func (*CDOTAUserMsg_TE_DotaBloodImpact) Descriptor() ([]byte, []int) {
return file_dota_usermessages_proto_rawDescGZIP(), []int{73}
}
func (x *CDOTAUserMsg_TE_DotaBloodImpact) GetEntity() uint32 {
if x != nil && x.Entity != nil {
return *x.Entity
}
return 0
}
func (x *CDOTAUserMsg_TE_DotaBloodImpact) GetScale() float32 {
if x != nil && x.Scale != nil {
return *x.Scale
}
return 0
}
func (x *CDOTAUserMsg_TE_DotaBloodImpact) GetXnormal() float32 {
if x != nil && x.Xnormal != nil {
return *x.Xnormal
}
return 0
}
func (x *CDOTAUserMsg_TE_DotaBloodImpact) GetYnormal() float32 {
if x != nil && x.Ynormal != nil {
return *x.Ynormal
}
return 0
}
type CDOTAUserMsg_AbilityPing 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"`
AbilityId *uint32 `protobuf:"varint,2,opt,name=ability_id,json=abilityId" json:"ability_id,omitempty"`
Type *DOTA_ABILITY_PING_TYPE `protobuf:"varint,3,opt,name=type,enum=DOTA_ABILITY_PING_TYPE,def=1" json:"type,omitempty"`
CooldownSeconds *uint32 `protobuf:"varint,4,opt,name=cooldown_seconds,json=cooldownSeconds" json:"cooldown_seconds,omitempty"`
Level *uint32 `protobuf:"varint,5,opt,name=level" json:"level,omitempty"`
Passive *bool `protobuf:"varint,6,opt,name=passive" json:"passive,omitempty"`
ManaNeeded *uint32 `protobuf:"varint,7,opt,name=mana_needed,json=manaNeeded" json:"mana_needed,omitempty"`
EntityId *uint32 `protobuf:"varint,8,opt,name=entity_id,json=entityId" json:"entity_id,omitempty"`
PrimaryCharges *int32 `protobuf:"varint,9,opt,name=primary_charges,json=primaryCharges" json:"primary_charges,omitempty"`
SecondaryCharges *int32 `protobuf:"varint,10,opt,name=secondary_charges,json=secondaryCharges" json:"secondary_charges,omitempty"`
CtrlHeld *bool `protobuf:"varint,12,opt,name=ctrl_held,json=ctrlHeld" json:"ctrl_held,omitempty"`
ReclaimTime *float32 `protobuf:"fixed32,13,opt,name=reclaim_time,json=reclaimTime" json:"reclaim_time,omitempty"`
}
// Default values for CDOTAUserMsg_AbilityPing fields.
const (
Default_CDOTAUserMsg_AbilityPing_Type = DOTA_ABILITY_PING_TYPE_ABILITY_PING_READY
)
func (x *CDOTAUserMsg_AbilityPing) Reset() {
*x = CDOTAUserMsg_AbilityPing{}
if protoimpl.UnsafeEnabled {
mi := &file_dota_usermessages_proto_msgTypes[74]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *CDOTAUserMsg_AbilityPing) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*CDOTAUserMsg_AbilityPing) ProtoMessage() {}
func (x *CDOTAUserMsg_AbilityPing) ProtoReflect() protoreflect.Message {
mi := &file_dota_usermessages_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 CDOTAUserMsg_AbilityPing.ProtoReflect.Descriptor instead.
func (*CDOTAUserMsg_AbilityPing) Descriptor() ([]byte, []int) {
return file_dota_usermessages_proto_rawDescGZIP(), []int{74}
}
func (x *CDOTAUserMsg_AbilityPing) GetPlayerId() int32 {
if x != nil && x.PlayerId != nil {
return *x.PlayerId
}
return 0
}
func (x *CDOTAUserMsg_AbilityPing) GetAbilityId() uint32 {
if x != nil && x.AbilityId != nil {
return *x.AbilityId
}
return 0
}
func (x *CDOTAUserMsg_AbilityPing) GetType() DOTA_ABILITY_PING_TYPE {
if x != nil && x.Type != nil {
return *x.Type
}
return Default_CDOTAUserMsg_AbilityPing_Type
}
func (x *CDOTAUserMsg_AbilityPing) GetCooldownSeconds() uint32 {
if x != nil && x.CooldownSeconds != nil {
return *x.CooldownSeconds
}
return 0
}
func (x *CDOTAUserMsg_AbilityPing) GetLevel() uint32 {
if x != nil && x.Level != nil {
return *x.Level
}
return 0
}
func (x *CDOTAUserMsg_AbilityPing) GetPassive() bool {
if x != nil && x.Passive != nil {
return *x.Passive
}
return false
}
func (x *CDOTAUserMsg_AbilityPing) GetManaNeeded() uint32 {
if x != nil && x.ManaNeeded != nil {
return *x.ManaNeeded
}
return 0
}
func (x *CDOTAUserMsg_AbilityPing) GetEntityId() uint32 {
if x != nil && x.EntityId != nil {
return *x.EntityId
}
return 0
}
func (x *CDOTAUserMsg_AbilityPing) GetPrimaryCharges() int32 {
if x != nil && x.PrimaryCharges != nil {
return *x.PrimaryCharges
}
return 0
}
func (x *CDOTAUserMsg_AbilityPing) GetSecondaryCharges() int32 {
if x != nil && x.SecondaryCharges != nil {
return *x.SecondaryCharges
}
return 0
}
func (x *CDOTAUserMsg_AbilityPing) GetCtrlHeld() bool {
if x != nil && x.CtrlHeld != nil {
return *x.CtrlHeld
}
return false
}
func (x *CDOTAUserMsg_AbilityPing) GetReclaimTime() float32 {
if x != nil && x.ReclaimTime != nil {
return *x.ReclaimTime
}
return 0
}
type CDOTAUserMsg_TE_UnitAnimation struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Entity *uint32 `protobuf:"varint,1,opt,name=entity" json:"entity,omitempty"`
SequenceVariant *int32 `protobuf:"varint,2,opt,name=sequence_variant,json=sequenceVariant" json:"sequence_variant,omitempty"`
Playbackrate *float32 `protobuf:"fixed32,3,opt,name=playbackrate" json:"playbackrate,omitempty"`
Castpoint *float32 `protobuf:"fixed32,4,opt,name=castpoint" json:"castpoint,omitempty"`
Type *int32 `protobuf:"varint,5,opt,name=type" json:"type,omitempty"`
Activity *int32 `protobuf:"varint,6,opt,name=activity" json:"activity,omitempty"`
LagCompensationTime *float32 `protobuf:"fixed32,7,opt,name=lag_compensation_time,json=lagCompensationTime" json:"lag_compensation_time,omitempty"`
}
func (x *CDOTAUserMsg_TE_UnitAnimation) Reset() {
*x = CDOTAUserMsg_TE_UnitAnimation{}
if protoimpl.UnsafeEnabled {
mi := &file_dota_usermessages_proto_msgTypes[75]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *CDOTAUserMsg_TE_UnitAnimation) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*CDOTAUserMsg_TE_UnitAnimation) ProtoMessage() {}
func (x *CDOTAUserMsg_TE_UnitAnimation) ProtoReflect() protoreflect.Message {
mi := &file_dota_usermessages_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 CDOTAUserMsg_TE_UnitAnimation.ProtoReflect.Descriptor instead.
func (*CDOTAUserMsg_TE_UnitAnimation) Descriptor() ([]byte, []int) {
return file_dota_usermessages_proto_rawDescGZIP(), []int{75}
}
func (x *CDOTAUserMsg_TE_UnitAnimation) GetEntity() uint32 {
if x != nil && x.Entity != nil {
return *x.Entity
}
return 0
}
func (x *CDOTAUserMsg_TE_UnitAnimation) GetSequenceVariant() int32 {
if x != nil && x.SequenceVariant != nil {
return *x.SequenceVariant
}
return 0
}
func (x *CDOTAUserMsg_TE_UnitAnimation) GetPlaybackrate() float32 {
if x != nil && x.Playbackrate != nil {
return *x.Playbackrate
}
return 0
}
func (x *CDOTAUserMsg_TE_UnitAnimation) GetCastpoint() float32 {
if x != nil && x.Castpoint != nil {
return *x.Castpoint
}
return 0
}
func (x *CDOTAUserMsg_TE_UnitAnimation) GetType() int32 {
if x != nil && x.Type != nil {
return *x.Type
}
return 0
}
func (x *CDOTAUserMsg_TE_UnitAnimation) GetActivity() int32 {
if x != nil && x.Activity != nil {
return *x.Activity
}
return 0
}
func (x *CDOTAUserMsg_TE_UnitAnimation) GetLagCompensationTime() float32 {
if x != nil && x.LagCompensationTime != nil {
return *x.LagCompensationTime
}
return 0
}
type CDOTAUserMsg_TE_UnitAnimationEnd struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Entity *uint32 `protobuf:"varint,1,opt,name=entity" json:"entity,omitempty"`
Snap *bool `protobuf:"varint,2,opt,name=snap" json:"snap,omitempty"`
}
func (x *CDOTAUserMsg_TE_UnitAnimationEnd) Reset() {
*x = CDOTAUserMsg_TE_UnitAnimationEnd{}
if protoimpl.UnsafeEnabled {
mi := &file_dota_usermessages_proto_msgTypes[76]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *CDOTAUserMsg_TE_UnitAnimationEnd) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*CDOTAUserMsg_TE_UnitAnimationEnd) ProtoMessage() {}
func (x *CDOTAUserMsg_TE_UnitAnimationEnd) ProtoReflect() protoreflect.Message {
mi := &file_dota_usermessages_proto_msgTypes[76]
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_TE_UnitAnimationEnd.ProtoReflect.Descriptor instead.
func (*CDOTAUserMsg_TE_UnitAnimationEnd) Descriptor() ([]byte, []int) {
return file_dota_usermessages_proto_rawDescGZIP(), []int{76}
}
func (x *CDOTAUserMsg_TE_UnitAnimationEnd) GetEntity() uint32 {
if x != nil && x.Entity != nil {
return *x.Entity
}
return 0
}
func (x *CDOTAUserMsg_TE_UnitAnimationEnd) GetSnap() bool {
if x != nil && x.Snap != nil {
return *x.Snap
}
return false
}
type CDOTAUserMsg_ShowGenericPopup struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Header *string `protobuf:"bytes,1,req,name=header" json:"header,omitempty"`
Body *string `protobuf:"bytes,2,req,name=body" json:"body,omitempty"`
Param1 *string `protobuf:"bytes,3,opt,name=param1" json:"param1,omitempty"`
Param2 *string `protobuf:"bytes,4,opt,name=param2" json:"param2,omitempty"`
TintScreen *bool `protobuf:"varint,5,opt,name=tint_screen,json=tintScreen" json:"tint_screen,omitempty"`
ShowNoOtherDialogs *bool `protobuf:"varint,6,opt,name=show_no_other_dialogs,json=showNoOtherDialogs" json:"show_no_other_dialogs,omitempty"`
}
func (x *CDOTAUserMsg_ShowGenericPopup) Reset() {
*x = CDOTAUserMsg_ShowGenericPopup{}
if protoimpl.UnsafeEnabled {
mi := &file_dota_usermessages_proto_msgTypes[77]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *CDOTAUserMsg_ShowGenericPopup) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*CDOTAUserMsg_ShowGenericPopup) ProtoMessage() {}
func (x *CDOTAUserMsg_ShowGenericPopup) ProtoReflect() protoreflect.Message {
mi := &file_dota_usermessages_proto_msgTypes[77]
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_ShowGenericPopup.ProtoReflect.Descriptor instead.
func (*CDOTAUserMsg_ShowGenericPopup) Descriptor() ([]byte, []int) {
return file_dota_usermessages_proto_rawDescGZIP(), []int{77}
}
func (x *CDOTAUserMsg_ShowGenericPopup) GetHeader() string {
if x != nil && x.Header != nil {
return *x.Header
}
return ""
}
func (x *CDOTAUserMsg_ShowGenericPopup) GetBody() string {
if x != nil && x.Body != nil {
return *x.Body
}
return ""
}
func (x *CDOTAUserMsg_ShowGenericPopup) GetParam1() string {
if x != nil && x.Param1 != nil {
return *x.Param1
}
return ""
}
func (x *CDOTAUserMsg_ShowGenericPopup) GetParam2() string {
if x != nil && x.Param2 != nil {
return *x.Param2
}
return ""
}
func (x *CDOTAUserMsg_ShowGenericPopup) GetTintScreen() bool {
if x != nil && x.TintScreen != nil {
return *x.TintScreen
}
return false
}
func (x *CDOTAUserMsg_ShowGenericPopup) GetShowNoOtherDialogs() bool {
if x != nil && x.ShowNoOtherDialogs != nil {
return *x.ShowNoOtherDialogs
}
return false
}
type CDOTAUserMsg_VoteStart struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Title *string `protobuf:"bytes,1,opt,name=title" json:"title,omitempty"`
Duration *float32 `protobuf:"fixed32,2,opt,name=duration" json:"duration,omitempty"`
ChoiceCount *int32 `protobuf:"varint,3,opt,name=choice_count,json=choiceCount" json:"choice_count,omitempty"`
Choices []string `protobuf:"bytes,4,rep,name=choices" json:"choices,omitempty"`
}
func (x *CDOTAUserMsg_VoteStart) Reset() {
*x = CDOTAUserMsg_VoteStart{}
if protoimpl.UnsafeEnabled {
mi := &file_dota_usermessages_proto_msgTypes[78]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *CDOTAUserMsg_VoteStart) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*CDOTAUserMsg_VoteStart) ProtoMessage() {}
func (x *CDOTAUserMsg_VoteStart) ProtoReflect() protoreflect.Message {
mi := &file_dota_usermessages_proto_msgTypes[78]
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_VoteStart.ProtoReflect.Descriptor instead.
func (*CDOTAUserMsg_VoteStart) Descriptor() ([]byte, []int) {
return file_dota_usermessages_proto_rawDescGZIP(), []int{78}
}
func (x *CDOTAUserMsg_VoteStart) GetTitle() string {
if x != nil && x.Title != nil {
return *x.Title
}
return ""
}
func (x *CDOTAUserMsg_VoteStart) GetDuration() float32 {
if x != nil && x.Duration != nil {
return *x.Duration
}
return 0
}
func (x *CDOTAUserMsg_VoteStart) GetChoiceCount() int32 {
if x != nil && x.ChoiceCount != nil {
return *x.ChoiceCount
}
return 0
}
func (x *CDOTAUserMsg_VoteStart) GetChoices() []string {
if x != nil {
return x.Choices
}
return nil
}
type CDOTAUserMsg_VoteUpdate struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
ChoiceCounts []int32 `protobuf:"varint,1,rep,name=choice_counts,json=choiceCounts" json:"choice_counts,omitempty"`
}
func (x *CDOTAUserMsg_VoteUpdate) Reset() {
*x = CDOTAUserMsg_VoteUpdate{}
if protoimpl.UnsafeEnabled {
mi := &file_dota_usermessages_proto_msgTypes[79]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *CDOTAUserMsg_VoteUpdate) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*CDOTAUserMsg_VoteUpdate) ProtoMessage() {}
func (x *CDOTAUserMsg_VoteUpdate) ProtoReflect() protoreflect.Message {
mi := &file_dota_usermessages_proto_msgTypes[79]
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_VoteUpdate.ProtoReflect.Descriptor instead.
func (*CDOTAUserMsg_VoteUpdate) Descriptor() ([]byte, []int) {
return file_dota_usermessages_proto_rawDescGZIP(), []int{79}
}
func (x *CDOTAUserMsg_VoteUpdate) GetChoiceCounts() []int32 {
if x != nil {
return x.ChoiceCounts
}
return nil
}
type CDOTAUserMsg_VoteEnd struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
SelectedChoice *int32 `protobuf:"varint,1,opt,name=selected_choice,json=selectedChoice" json:"selected_choice,omitempty"`
}
func (x *CDOTAUserMsg_VoteEnd) Reset() {
*x = CDOTAUserMsg_VoteEnd{}
if protoimpl.UnsafeEnabled {
mi := &file_dota_usermessages_proto_msgTypes[80]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *CDOTAUserMsg_VoteEnd) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*CDOTAUserMsg_VoteEnd) ProtoMessage() {}
func (x *CDOTAUserMsg_VoteEnd) ProtoReflect() protoreflect.Message {
mi := &file_dota_usermessages_proto_msgTypes[80]
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_VoteEnd.ProtoReflect.Descriptor instead.
func (*CDOTAUserMsg_VoteEnd) Descriptor() ([]byte, []int) {
return file_dota_usermessages_proto_rawDescGZIP(), []int{80}
}
func (x *CDOTAUserMsg_VoteEnd) GetSelectedChoice() int32 {
if x != nil && x.SelectedChoice != nil {
return *x.SelectedChoice
}
return 0
}
type CDOTAUserMsg_BoosterStatePlayer 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"`
Bonus *float32 `protobuf:"fixed32,2,opt,name=bonus" json:"bonus,omitempty"`
EventBonus *float32 `protobuf:"fixed32,3,opt,name=event_bonus,json=eventBonus" json:"event_bonus,omitempty"`
BonusItemId *uint32 `protobuf:"varint,4,opt,name=bonus_item_id,json=bonusItemId" json:"bonus_item_id,omitempty"`
EventBonusItemId *uint32 `protobuf:"varint,5,opt,name=event_bonus_item_id,json=eventBonusItemId" json:"event_bonus_item_id,omitempty"`
}
func (x *CDOTAUserMsg_BoosterStatePlayer) Reset() {
*x = CDOTAUserMsg_BoosterStatePlayer{}
if protoimpl.UnsafeEnabled {
mi := &file_dota_usermessages_proto_msgTypes[81]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *CDOTAUserMsg_BoosterStatePlayer) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*CDOTAUserMsg_BoosterStatePlayer) ProtoMessage() {}
func (x *CDOTAUserMsg_BoosterStatePlayer) ProtoReflect() protoreflect.Message {
mi := &file_dota_usermessages_proto_msgTypes[81]
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_BoosterStatePlayer.ProtoReflect.Descriptor instead.
func (*CDOTAUserMsg_BoosterStatePlayer) Descriptor() ([]byte, []int) {
return file_dota_usermessages_proto_rawDescGZIP(), []int{81}
}
func (x *CDOTAUserMsg_BoosterStatePlayer) GetPlayerId() int32 {
if x != nil && x.PlayerId != nil {
return *x.PlayerId
}
return 0
}
func (x *CDOTAUserMsg_BoosterStatePlayer) GetBonus() float32 {
if x != nil && x.Bonus != nil {
return *x.Bonus
}
return 0
}
func (x *CDOTAUserMsg_BoosterStatePlayer) GetEventBonus() float32 {
if x != nil && x.EventBonus != nil {
return *x.EventBonus
}
return 0
}
func (x *CDOTAUserMsg_BoosterStatePlayer) GetBonusItemId() uint32 {
if x != nil && x.BonusItemId != nil {
return *x.BonusItemId
}
return 0
}
func (x *CDOTAUserMsg_BoosterStatePlayer) GetEventBonusItemId() uint32 {
if x != nil && x.EventBonusItemId != nil {
return *x.EventBonusItemId
}
return 0
}
type CDOTAUserMsg_BoosterState struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
BoostedPlayers []*CDOTAUserMsg_BoosterStatePlayer `protobuf:"bytes,1,rep,name=boosted_players,json=boostedPlayers" json:"boosted_players,omitempty"`
}
func (x *CDOTAUserMsg_BoosterState) Reset() {
*x = CDOTAUserMsg_BoosterState{}
if protoimpl.UnsafeEnabled {
mi := &file_dota_usermessages_proto_msgTypes[82]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *CDOTAUserMsg_BoosterState) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*CDOTAUserMsg_BoosterState) ProtoMessage() {}
func (x *CDOTAUserMsg_BoosterState) ProtoReflect() protoreflect.Message {
mi := &file_dota_usermessages_proto_msgTypes[82]
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_BoosterState.ProtoReflect.Descriptor instead.
func (*CDOTAUserMsg_BoosterState) Descriptor() ([]byte, []int) {
return file_dota_usermessages_proto_rawDescGZIP(), []int{82}
}
func (x *CDOTAUserMsg_BoosterState) GetBoostedPlayers() []*CDOTAUserMsg_BoosterStatePlayer {
if x != nil {
return x.BoostedPlayers
}
return nil
}
type CDOTAUserMsg_PlayerMMR struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Mmr []int32 `protobuf:"zigzag32,1,rep,packed,name=mmr" json:"mmr,omitempty"`
}
func (x *CDOTAUserMsg_PlayerMMR) Reset() {
*x = CDOTAUserMsg_PlayerMMR{}
if protoimpl.UnsafeEnabled {
mi := &file_dota_usermessages_proto_msgTypes[83]
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[83]
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{83}
}
func (x *CDOTAUserMsg_PlayerMMR) GetMmr() []int32 {
if x != nil {
return x.Mmr
}
return nil
}
type CDOTAUserMsg_AbilitySteal 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"`
AbilityId *uint32 `protobuf:"varint,2,opt,name=ability_id,json=abilityId" json:"ability_id,omitempty"`
AbilityLevel *uint32 `protobuf:"varint,3,opt,name=ability_level,json=abilityLevel" json:"ability_level,omitempty"`
}
func (x *CDOTAUserMsg_AbilitySteal) Reset() {
*x = CDOTAUserMsg_AbilitySteal{}
if protoimpl.UnsafeEnabled {
mi := &file_dota_usermessages_proto_msgTypes[84]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *CDOTAUserMsg_AbilitySteal) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*CDOTAUserMsg_AbilitySteal) ProtoMessage() {}
func (x *CDOTAUserMsg_AbilitySteal) 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_AbilitySteal.ProtoReflect.Descriptor instead.
func (*CDOTAUserMsg_AbilitySteal) Descriptor() ([]byte, []int) {
return file_dota_usermessages_proto_rawDescGZIP(), []int{84}
}
func (x *CDOTAUserMsg_AbilitySteal) GetPlayerId() int32 {
if x != nil && x.PlayerId != nil {
return *x.PlayerId
}
return 0
}
func (x *CDOTAUserMsg_AbilitySteal) GetAbilityId() uint32 {
if x != nil && x.AbilityId != nil {
return *x.AbilityId
}
return 0
}
func (x *CDOTAUserMsg_AbilitySteal) GetAbilityLevel() uint32 {
if x != nil && x.AbilityLevel != nil {
return *x.AbilityLevel
}
return 0
}
type CDOTAUserMsg_StatsHeroLookup 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"`
HeroId *int32 `protobuf:"varint,2,opt,name=hero_id,json=heroId" json:"hero_id,omitempty"`
HeroName *string `protobuf:"bytes,3,opt,name=hero_name,json=heroName" json:"hero_name,omitempty"`
Persona *string `protobuf:"bytes,4,opt,name=persona" json:"persona,omitempty"`
}
func (x *CDOTAUserMsg_StatsHeroLookup) Reset() {
*x = CDOTAUserMsg_StatsHeroLookup{}
if protoimpl.UnsafeEnabled {
mi := &file_dota_usermessages_proto_msgTypes[85]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *CDOTAUserMsg_StatsHeroLookup) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*CDOTAUserMsg_StatsHeroLookup) ProtoMessage() {}
func (x *CDOTAUserMsg_StatsHeroLookup) ProtoReflect() protoreflect.Message {
mi := &file_dota_usermessages_proto_msgTypes[85]
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_StatsHeroLookup.ProtoReflect.Descriptor instead.
func (*CDOTAUserMsg_StatsHeroLookup) Descriptor() ([]byte, []int) {
return file_dota_usermessages_proto_rawDescGZIP(), []int{85}
}
func (x *CDOTAUserMsg_StatsHeroLookup) GetPlayerId() int32 {
if x != nil && x.PlayerId != nil {
return *x.PlayerId
}
return 0
}
func (x *CDOTAUserMsg_StatsHeroLookup) GetHeroId() int32 {
if x != nil && x.HeroId != nil {
return *x.HeroId
}
return 0
}
func (x *CDOTAUserMsg_StatsHeroLookup) GetHeroName() string {
if x != nil && x.HeroName != nil {
return *x.HeroName
}
return ""
}
func (x *CDOTAUserMsg_StatsHeroLookup) GetPersona() string {
if x != nil && x.Persona != nil {
return *x.Persona
}
return ""
}
type CDOTAUserMsg_StatsHeroPositionInfo struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
AveragePosition *float32 `protobuf:"fixed32,1,opt,name=average_position,json=averagePosition" json:"average_position,omitempty"`
PositionDetails []*CDOTAUserMsg_StatsHeroPositionInfo_PositionPair `protobuf:"bytes,2,rep,name=position_details,json=positionDetails" json:"position_details,omitempty"`
}
func (x *CDOTAUserMsg_StatsHeroPositionInfo) Reset() {
*x = CDOTAUserMsg_StatsHeroPositionInfo{}
if protoimpl.UnsafeEnabled {
mi := &file_dota_usermessages_proto_msgTypes[86]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *CDOTAUserMsg_StatsHeroPositionInfo) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*CDOTAUserMsg_StatsHeroPositionInfo) ProtoMessage() {}
func (x *CDOTAUserMsg_StatsHeroPositionInfo) ProtoReflect() protoreflect.Message {
mi := &file_dota_usermessages_proto_msgTypes[86]
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_StatsHeroPositionInfo.ProtoReflect.Descriptor instead.
func (*CDOTAUserMsg_StatsHeroPositionInfo) Descriptor() ([]byte, []int) {
return file_dota_usermessages_proto_rawDescGZIP(), []int{86}
}
func (x *CDOTAUserMsg_StatsHeroPositionInfo) GetAveragePosition() float32 {
if x != nil && x.AveragePosition != nil {
return *x.AveragePosition
}
return 0
}
func (x *CDOTAUserMsg_StatsHeroPositionInfo) GetPositionDetails() []*CDOTAUserMsg_StatsHeroPositionInfo_PositionPair {
if x != nil {
return x.PositionDetails
}
return nil
}
type CDOTAUserMsg_StatsHeroMinuteDetails struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
LastHits *uint32 `protobuf:"varint,1,opt,name=last_hits,json=lastHits" json:"last_hits,omitempty"`
HeroKills *uint32 `protobuf:"varint,2,opt,name=hero_kills,json=heroKills" json:"hero_kills,omitempty"`
HeroDamage *uint32 `protobuf:"varint,3,opt,name=hero_damage,json=heroDamage" json:"hero_damage,omitempty"`
TowerDamage *uint32 `protobuf:"varint,4,opt,name=tower_damage,json=towerDamage" json:"tower_damage,omitempty"`
PositionInfo *CDOTAUserMsg_StatsHeroPositionInfo `protobuf:"bytes,5,opt,name=position_info,json=positionInfo" json:"position_info,omitempty"`
TotalXp *uint32 `protobuf:"varint,6,opt,name=total_xp,json=totalXp" json:"total_xp,omitempty"`
NetWorth *uint32 `protobuf:"varint,7,opt,name=net_worth,json=netWorth" json:"net_worth,omitempty"`
HarvestedCreepGold *uint32 `protobuf:"varint,8,opt,name=harvested_creep_gold,json=harvestedCreepGold" json:"harvested_creep_gold,omitempty"`
ClaimedFarm *uint32 `protobuf:"varint,9,opt,name=claimed_farm,json=claimedFarm" json:"claimed_farm,omitempty"`
WardsPlaced *uint32 `protobuf:"varint,10,opt,name=wards_placed,json=wardsPlaced" json:"wards_placed,omitempty"`
RunesCollected *uint32 `protobuf:"varint,11,opt,name=runes_collected,json=runesCollected" json:"runes_collected,omitempty"`
TpsUsed *uint32 `protobuf:"varint,12,opt,name=tps_used,json=tpsUsed" json:"tps_used,omitempty"`
ManaSpent []uint32 `protobuf:"varint,13,rep,name=mana_spent,json=manaSpent" json:"mana_spent,omitempty"`
DamageAbsorbed []uint32 `protobuf:"varint,14,rep,name=damage_absorbed,json=damageAbsorbed" json:"damage_absorbed,omitempty"`
DamageDone []uint32 `protobuf:"varint,15,rep,name=damage_done,json=damageDone" json:"damage_done,omitempty"`
}
func (x *CDOTAUserMsg_StatsHeroMinuteDetails) Reset() {
*x = CDOTAUserMsg_StatsHeroMinuteDetails{}
if protoimpl.UnsafeEnabled {
mi := &file_dota_usermessages_proto_msgTypes[87]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *CDOTAUserMsg_StatsHeroMinuteDetails) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*CDOTAUserMsg_StatsHeroMinuteDetails) ProtoMessage() {}
func (x *CDOTAUserMsg_StatsHeroMinuteDetails) ProtoReflect() protoreflect.Message {
mi := &file_dota_usermessages_proto_msgTypes[87]
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_StatsHeroMinuteDetails.ProtoReflect.Descriptor instead.
func (*CDOTAUserMsg_StatsHeroMinuteDetails) Descriptor() ([]byte, []int) {
return file_dota_usermessages_proto_rawDescGZIP(), []int{87}
}
func (x *CDOTAUserMsg_StatsHeroMinuteDetails) GetLastHits() uint32 {
if x != nil && x.LastHits != nil {
return *x.LastHits
}
return 0
}
func (x *CDOTAUserMsg_StatsHeroMinuteDetails) GetHeroKills() uint32 {
if x != nil && x.HeroKills != nil {
return *x.HeroKills
}
return 0
}
func (x *CDOTAUserMsg_StatsHeroMinuteDetails) GetHeroDamage() uint32 {
if x != nil && x.HeroDamage != nil {
return *x.HeroDamage
}
return 0
}
func (x *CDOTAUserMsg_StatsHeroMinuteDetails) GetTowerDamage() uint32 {
if x != nil && x.TowerDamage != nil {
return *x.TowerDamage
}
return 0
}
func (x *CDOTAUserMsg_StatsHeroMinuteDetails) GetPositionInfo() *CDOTAUserMsg_StatsHeroPositionInfo {
if x != nil {
return x.PositionInfo
}
return nil
}
func (x *CDOTAUserMsg_StatsHeroMinuteDetails) GetTotalXp() uint32 {
if x != nil && x.TotalXp != nil {
return *x.TotalXp
}
return 0
}
func (x *CDOTAUserMsg_StatsHeroMinuteDetails) GetNetWorth() uint32 {
if x != nil && x.NetWorth != nil {
return *x.NetWorth
}
return 0
}
func (x *CDOTAUserMsg_StatsHeroMinuteDetails) GetHarvestedCreepGold() uint32 {
if x != nil && x.HarvestedCreepGold != nil {
return *x.HarvestedCreepGold
}
return 0
}
func (x *CDOTAUserMsg_StatsHeroMinuteDetails) GetClaimedFarm() uint32 {
if x != nil && x.ClaimedFarm != nil {
return *x.ClaimedFarm
}
return 0
}
func (x *CDOTAUserMsg_StatsHeroMinuteDetails) GetWardsPlaced() uint32 {
if x != nil && x.WardsPlaced != nil {
return *x.WardsPlaced
}
return 0
}
func (x *CDOTAUserMsg_StatsHeroMinuteDetails) GetRunesCollected() uint32 {
if x != nil && x.RunesCollected != nil {
return *x.RunesCollected
}
return 0
}
func (x *CDOTAUserMsg_StatsHeroMinuteDetails) GetTpsUsed() uint32 {
if x != nil && x.TpsUsed != nil {
return *x.TpsUsed
}
return 0
}
func (x *CDOTAUserMsg_StatsHeroMinuteDetails) GetManaSpent() []uint32 {
if x != nil {
return x.ManaSpent
}
return nil
}
func (x *CDOTAUserMsg_StatsHeroMinuteDetails) GetDamageAbsorbed() []uint32 {
if x != nil {
return x.DamageAbsorbed
}
return nil
}
func (x *CDOTAUserMsg_StatsHeroMinuteDetails) GetDamageDone() []uint32 {
if x != nil {
return x.DamageDone
}
return nil
}
type CDOTAUserMsg_StatsTeamMinuteDetails struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
PlayerStats []*CDOTAUserMsg_StatsHeroMinuteDetails `protobuf:"bytes,1,rep,name=player_stats,json=playerStats" json:"player_stats,omitempty"`
TowerKills *uint32 `protobuf:"varint,2,opt,name=tower_kills,json=towerKills" json:"tower_kills,omitempty"`
BarrackKills *uint32 `protobuf:"varint,3,opt,name=barrack_kills,json=barrackKills" json:"barrack_kills,omitempty"`
AvailableLaneCreepGold *uint32 `protobuf:"varint,4,opt,name=available_lane_creep_gold,json=availableLaneCreepGold" json:"available_lane_creep_gold,omitempty"`
BalanceKillValue *uint32 `protobuf:"varint,5,opt,name=balance_kill_value,json=balanceKillValue" json:"balance_kill_value,omitempty"`
BalanceTowerValue *uint32 `protobuf:"varint,6,opt,name=balance_tower_value,json=balanceTowerValue" json:"balance_tower_value,omitempty"`
BalanceBarracksValue *uint32 `protobuf:"varint,7,opt,name=balance_barracks_value,json=balanceBarracksValue" json:"balance_barracks_value,omitempty"`
BalanceGoldValue *uint32 `protobuf:"varint,8,opt,name=balance_gold_value,json=balanceGoldValue" json:"balance_gold_value,omitempty"`
BalanceXpValue *uint32 `protobuf:"varint,9,opt,name=balance_xp_value,json=balanceXpValue" json:"balance_xp_value,omitempty"`
LanePerformance []*CDOTAUserMsg_StatsTeamMinuteDetails_LocationPerformance `protobuf:"bytes,10,rep,name=lane_performance,json=lanePerformance" json:"lane_performance,omitempty"`
}
func (x *CDOTAUserMsg_StatsTeamMinuteDetails) Reset() {
*x = CDOTAUserMsg_StatsTeamMinuteDetails{}
if protoimpl.UnsafeEnabled {
mi := &file_dota_usermessages_proto_msgTypes[88]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *CDOTAUserMsg_StatsTeamMinuteDetails) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*CDOTAUserMsg_StatsTeamMinuteDetails) ProtoMessage() {}
func (x *CDOTAUserMsg_StatsTeamMinuteDetails) ProtoReflect() protoreflect.Message {
mi := &file_dota_usermessages_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 CDOTAUserMsg_StatsTeamMinuteDetails.ProtoReflect.Descriptor instead.
func (*CDOTAUserMsg_StatsTeamMinuteDetails) Descriptor() ([]byte, []int) {
return file_dota_usermessages_proto_rawDescGZIP(), []int{88}
}
func (x *CDOTAUserMsg_StatsTeamMinuteDetails) GetPlayerStats() []*CDOTAUserMsg_StatsHeroMinuteDetails {
if x != nil {
return x.PlayerStats
}
return nil
}
func (x *CDOTAUserMsg_StatsTeamMinuteDetails) GetTowerKills() uint32 {
if x != nil && x.TowerKills != nil {
return *x.TowerKills
}
return 0
}
func (x *CDOTAUserMsg_StatsTeamMinuteDetails) GetBarrackKills() uint32 {
if x != nil && x.BarrackKills != nil {
return *x.BarrackKills
}
return 0
}
func (x *CDOTAUserMsg_StatsTeamMinuteDetails) GetAvailableLaneCreepGold() uint32 {
if x != nil && x.AvailableLaneCreepGold != nil {
return *x.AvailableLaneCreepGold
}
return 0
}
func (x *CDOTAUserMsg_StatsTeamMinuteDetails) GetBalanceKillValue() uint32 {
if x != nil && x.BalanceKillValue != nil {
return *x.BalanceKillValue
}
return 0
}
func (x *CDOTAUserMsg_StatsTeamMinuteDetails) GetBalanceTowerValue() uint32 {
if x != nil && x.BalanceTowerValue != nil {
return *x.BalanceTowerValue
}
return 0
}
func (x *CDOTAUserMsg_StatsTeamMinuteDetails) GetBalanceBarracksValue() uint32 {
if x != nil && x.BalanceBarracksValue != nil {
return *x.BalanceBarracksValue
}
return 0
}
func (x *CDOTAUserMsg_StatsTeamMinuteDetails) GetBalanceGoldValue() uint32 {
if x != nil && x.BalanceGoldValue != nil {
return *x.BalanceGoldValue
}
return 0
}
func (x *CDOTAUserMsg_StatsTeamMinuteDetails) GetBalanceXpValue() uint32 {
if x != nil && x.BalanceXpValue != nil {
return *x.BalanceXpValue
}
return 0
}
func (x *CDOTAUserMsg_StatsTeamMinuteDetails) GetLanePerformance() []*CDOTAUserMsg_StatsTeamMinuteDetails_LocationPerformance {
if x != nil {
return x.LanePerformance
}
return nil
}
type CDOTAUserMsg_StatsPlayerKillShare 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"`
KillSharePercent *float32 `protobuf:"fixed32,2,opt,name=kill_share_percent,json=killSharePercent" json:"kill_share_percent,omitempty"`
PlayerLocX *float32 `protobuf:"fixed32,3,opt,name=player_loc_x,json=playerLocX" json:"player_loc_x,omitempty"`
PlayerLocY *float32 `protobuf:"fixed32,4,opt,name=player_loc_y,json=playerLocY" json:"player_loc_y,omitempty"`
HealthPercent *float32 `protobuf:"fixed32,5,opt,name=health_percent,json=healthPercent" json:"health_percent,omitempty"`
ManaPercent *float32 `protobuf:"fixed32,6,opt,name=mana_percent,json=manaPercent" json:"mana_percent,omitempty"`
}
func (x *CDOTAUserMsg_StatsPlayerKillShare) Reset() {
*x = CDOTAUserMsg_StatsPlayerKillShare{}
if protoimpl.UnsafeEnabled {
mi := &file_dota_usermessages_proto_msgTypes[89]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *CDOTAUserMsg_StatsPlayerKillShare) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*CDOTAUserMsg_StatsPlayerKillShare) ProtoMessage() {}
func (x *CDOTAUserMsg_StatsPlayerKillShare) ProtoReflect() protoreflect.Message {
mi := &file_dota_usermessages_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 CDOTAUserMsg_StatsPlayerKillShare.ProtoReflect.Descriptor instead.
func (*CDOTAUserMsg_StatsPlayerKillShare) Descriptor() ([]byte, []int) {
return file_dota_usermessages_proto_rawDescGZIP(), []int{89}
}
func (x *CDOTAUserMsg_StatsPlayerKillShare) GetPlayerId() int32 {
if x != nil && x.PlayerId != nil {
return *x.PlayerId
}
return 0
}
func (x *CDOTAUserMsg_StatsPlayerKillShare) GetKillSharePercent() float32 {
if x != nil && x.KillSharePercent != nil {
return *x.KillSharePercent
}
return 0
}
func (x *CDOTAUserMsg_StatsPlayerKillShare) GetPlayerLocX() float32 {
if x != nil && x.PlayerLocX != nil {
return *x.PlayerLocX
}
return 0
}
func (x *CDOTAUserMsg_StatsPlayerKillShare) GetPlayerLocY() float32 {
if x != nil && x.PlayerLocY != nil {
return *x.PlayerLocY
}
return 0
}
func (x *CDOTAUserMsg_StatsPlayerKillShare) GetHealthPercent() float32 {
if x != nil && x.HealthPercent != nil {
return *x.HealthPercent
}
return 0
}
func (x *CDOTAUserMsg_StatsPlayerKillShare) GetManaPercent() float32 {
if x != nil && x.ManaPercent != nil {
return *x.ManaPercent
}
return 0
}
type CDOTAUserMsg_StatsKillDetails struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
VictimId *int32 `protobuf:"varint,1,opt,name=victim_id,json=victimId" json:"victim_id,omitempty"`
KillShares []*CDOTAUserMsg_StatsPlayerKillShare `protobuf:"bytes,2,rep,name=kill_shares,json=killShares" json:"kill_shares,omitempty"`
DamageToKill *uint32 `protobuf:"varint,3,opt,name=damage_to_kill,json=damageToKill" json:"damage_to_kill,omitempty"`
EffectiveHealth *uint32 `protobuf:"varint,4,opt,name=effective_health,json=effectiveHealth" json:"effective_health,omitempty"`
DeathTime *float32 `protobuf:"fixed32,5,opt,name=death_time,json=deathTime" json:"death_time,omitempty"`
KillerId *int32 `protobuf:"varint,6,opt,name=killer_id,json=killerId" json:"killer_id,omitempty"`
}
func (x *CDOTAUserMsg_StatsKillDetails) Reset() {
*x = CDOTAUserMsg_StatsKillDetails{}
if protoimpl.UnsafeEnabled {
mi := &file_dota_usermessages_proto_msgTypes[90]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *CDOTAUserMsg_StatsKillDetails) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*CDOTAUserMsg_StatsKillDetails) ProtoMessage() {}
func (x *CDOTAUserMsg_StatsKillDetails) ProtoReflect() protoreflect.Message {
mi := &file_dota_usermessages_proto_msgTypes[90]
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_StatsKillDetails.ProtoReflect.Descriptor instead.
func (*CDOTAUserMsg_StatsKillDetails) Descriptor() ([]byte, []int) {
return file_dota_usermessages_proto_rawDescGZIP(), []int{90}
}
func (x *CDOTAUserMsg_StatsKillDetails) GetVictimId() int32 {
if x != nil && x.VictimId != nil {
return *x.VictimId
}
return 0
}
func (x *CDOTAUserMsg_StatsKillDetails) GetKillShares() []*CDOTAUserMsg_StatsPlayerKillShare {
if x != nil {
return x.KillShares
}
return nil
}
func (x *CDOTAUserMsg_StatsKillDetails) GetDamageToKill() uint32 {
if x != nil && x.DamageToKill != nil {
return *x.DamageToKill
}
return 0
}
func (x *CDOTAUserMsg_StatsKillDetails) GetEffectiveHealth() uint32 {
if x != nil && x.EffectiveHealth != nil {
return *x.EffectiveHealth
}
return 0
}
func (x *CDOTAUserMsg_StatsKillDetails) GetDeathTime() float32 {
if x != nil && x.DeathTime != nil {
return *x.DeathTime
}
return 0
}
func (x *CDOTAUserMsg_StatsKillDetails) GetKillerId() int32 {
if x != nil && x.KillerId != nil {
return *x.KillerId
}
return 0
}
type CDOTAUserMsg_StatsMatchDetails struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
HeroLookup []*CDOTAUserMsg_StatsHeroLookup `protobuf:"bytes,1,rep,name=hero_lookup,json=heroLookup" json:"hero_lookup,omitempty"`
RadiantStats []*CDOTAUserMsg_StatsTeamMinuteDetails `protobuf:"bytes,2,rep,name=radiant_stats,json=radiantStats" json:"radiant_stats,omitempty"`
DireStats []*CDOTAUserMsg_StatsTeamMinuteDetails `protobuf:"bytes,3,rep,name=dire_stats,json=direStats" json:"dire_stats,omitempty"`
RadiantKills []*CDOTAUserMsg_StatsKillDetails `protobuf:"bytes,4,rep,name=radiant_kills,json=radiantKills" json:"radiant_kills,omitempty"`
DireKills []*CDOTAUserMsg_StatsKillDetails `protobuf:"bytes,5,rep,name=dire_kills,json=direKills" json:"dire_kills,omitempty"`
FightDetails []*CDOTAUserMsg_StatsMatchDetails_CDOTAUserMsg_StatsFightDetails `protobuf:"bytes,6,rep,name=fight_details,json=fightDetails" json:"fight_details,omitempty"`
}
func (x *CDOTAUserMsg_StatsMatchDetails) Reset() {
*x = CDOTAUserMsg_StatsMatchDetails{}
if protoimpl.UnsafeEnabled {
mi := &file_dota_usermessages_proto_msgTypes[91]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *CDOTAUserMsg_StatsMatchDetails) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*CDOTAUserMsg_StatsMatchDetails) ProtoMessage() {}
func (x *CDOTAUserMsg_StatsMatchDetails) ProtoReflect() protoreflect.Message {
mi := &file_dota_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 CDOTAUserMsg_StatsMatchDetails.ProtoReflect.Descriptor instead.
func (*CDOTAUserMsg_StatsMatchDetails) Descriptor() ([]byte, []int) {
return file_dota_usermessages_proto_rawDescGZIP(), []int{91}
}
func (x *CDOTAUserMsg_StatsMatchDetails) GetHeroLookup() []*CDOTAUserMsg_StatsHeroLookup {
if x != nil {
return x.HeroLookup
}
return nil
}
func (x *CDOTAUserMsg_StatsMatchDetails) GetRadiantStats() []*CDOTAUserMsg_StatsTeamMinuteDetails {
if x != nil {
return x.RadiantStats
}
return nil
}
func (x *CDOTAUserMsg_StatsMatchDetails) GetDireStats() []*CDOTAUserMsg_StatsTeamMinuteDetails {
if x != nil {
return x.DireStats
}
return nil
}
func (x *CDOTAUserMsg_StatsMatchDetails) GetRadiantKills() []*CDOTAUserMsg_StatsKillDetails {
if x != nil {
return x.RadiantKills
}
return nil
}
func (x *CDOTAUserMsg_StatsMatchDetails) GetDireKills() []*CDOTAUserMsg_StatsKillDetails {
if x != nil {
return x.DireKills
}
return nil
}
func (x *CDOTAUserMsg_StatsMatchDetails) GetFightDetails() []*CDOTAUserMsg_StatsMatchDetails_CDOTAUserMsg_StatsFightDetails {
if x != nil {
return x.FightDetails
}
return nil
}
type CDOTAUserMsg_MiniTaunt struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
TauntingPlayerId *int32 `protobuf:"varint,1,opt,name=taunting_player_id,json=tauntingPlayerId" json:"taunting_player_id,omitempty"`
}
func (x *CDOTAUserMsg_MiniTaunt) Reset() {
*x = CDOTAUserMsg_MiniTaunt{}
if protoimpl.UnsafeEnabled {
mi := &file_dota_usermessages_proto_msgTypes[92]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *CDOTAUserMsg_MiniTaunt) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*CDOTAUserMsg_MiniTaunt) ProtoMessage() {}
func (x *CDOTAUserMsg_MiniTaunt) ProtoReflect() protoreflect.Message {
mi := &file_dota_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 CDOTAUserMsg_MiniTaunt.ProtoReflect.Descriptor instead.
func (*CDOTAUserMsg_MiniTaunt) Descriptor() ([]byte, []int) {
return file_dota_usermessages_proto_rawDescGZIP(), []int{92}
}
func (x *CDOTAUserMsg_MiniTaunt) GetTauntingPlayerId() int32 {
if x != nil && x.TauntingPlayerId != nil {
return *x.TauntingPlayerId
}
return 0
}
type CDOTAUserMsg_SpeechBubble struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
DestroyAll *bool `protobuf:"varint,1,opt,name=destroy_all,json=destroyAll" json:"destroy_all,omitempty"`
}
func (x *CDOTAUserMsg_SpeechBubble) Reset() {
*x = CDOTAUserMsg_SpeechBubble{}
if protoimpl.UnsafeEnabled {
mi := &file_dota_usermessages_proto_msgTypes[93]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *CDOTAUserMsg_SpeechBubble) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*CDOTAUserMsg_SpeechBubble) ProtoMessage() {}
func (x *CDOTAUserMsg_SpeechBubble) ProtoReflect() protoreflect.Message {
mi := &file_dota_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 CDOTAUserMsg_SpeechBubble.ProtoReflect.Descriptor instead.
func (*CDOTAUserMsg_SpeechBubble) Descriptor() ([]byte, []int) {
return file_dota_usermessages_proto_rawDescGZIP(), []int{93}
}
func (x *CDOTAUserMsg_SpeechBubble) GetDestroyAll() bool {
if x != nil && x.DestroyAll != nil {
return *x.DestroyAll
}
return false
}
type CDOTAUserMsg_CustomHeaderMessage 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"`
Duration *float32 `protobuf:"fixed32,2,opt,name=duration" json:"duration,omitempty"`
Message *string `protobuf:"bytes,3,opt,name=message" json:"message,omitempty"`
Value *int32 `protobuf:"varint,4,opt,name=value" json:"value,omitempty"`
}
func (x *CDOTAUserMsg_CustomHeaderMessage) Reset() {
*x = CDOTAUserMsg_CustomHeaderMessage{}
if protoimpl.UnsafeEnabled {
mi := &file_dota_usermessages_proto_msgTypes[94]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *CDOTAUserMsg_CustomHeaderMessage) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*CDOTAUserMsg_CustomHeaderMessage) ProtoMessage() {}
func (x *CDOTAUserMsg_CustomHeaderMessage) ProtoReflect() protoreflect.Message {
mi := &file_dota_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 CDOTAUserMsg_CustomHeaderMessage.ProtoReflect.Descriptor instead.
func (*CDOTAUserMsg_CustomHeaderMessage) Descriptor() ([]byte, []int) {
return file_dota_usermessages_proto_rawDescGZIP(), []int{94}
}
func (x *CDOTAUserMsg_CustomHeaderMessage) GetPlayerId() int32 {
if x != nil && x.PlayerId != nil {
return *x.PlayerId
}
return 0
}
func (x *CDOTAUserMsg_CustomHeaderMessage) GetDuration() float32 {
if x != nil && x.Duration != nil {
return *x.Duration
}
return 0
}
func (x *CDOTAUserMsg_CustomHeaderMessage) GetMessage() string {
if x != nil && x.Message != nil {
return *x.Message
}
return ""
}
func (x *CDOTAUserMsg_CustomHeaderMessage) GetValue() int32 {
if x != nil && x.Value != nil {
return *x.Value
}
return 0
}
type CMsgHeroAbilityStat struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
StatType *EHeroStatType `protobuf:"varint,1,opt,name=stat_type,json=statType,enum=EHeroStatType,def=0" json:"stat_type,omitempty"`
IntValue *int32 `protobuf:"varint,2,opt,name=int_value,json=intValue" json:"int_value,omitempty"`
FloatValue *float32 `protobuf:"fixed32,3,opt,name=float_value,json=floatValue" json:"float_value,omitempty"`
}
// Default values for CMsgHeroAbilityStat fields.
const (
Default_CMsgHeroAbilityStat_StatType = EHeroStatType_k_EHeroStatType_None
)
func (x *CMsgHeroAbilityStat) Reset() {
*x = CMsgHeroAbilityStat{}
if protoimpl.UnsafeEnabled {
mi := &file_dota_usermessages_proto_msgTypes[95]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *CMsgHeroAbilityStat) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*CMsgHeroAbilityStat) ProtoMessage() {}
func (x *CMsgHeroAbilityStat) ProtoReflect() protoreflect.Message {
mi := &file_dota_usermessages_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 CMsgHeroAbilityStat.ProtoReflect.Descriptor instead.
func (*CMsgHeroAbilityStat) Descriptor() ([]byte, []int) {
return file_dota_usermessages_proto_rawDescGZIP(), []int{95}
}
func (x *CMsgHeroAbilityStat) GetStatType() EHeroStatType {
if x != nil && x.StatType != nil {
return *x.StatType
}
return Default_CMsgHeroAbilityStat_StatType
}
func (x *CMsgHeroAbilityStat) GetIntValue() int32 {
if x != nil && x.IntValue != nil {
return *x.IntValue
}
return 0
}
func (x *CMsgHeroAbilityStat) GetFloatValue() float32 {
if x != nil && x.FloatValue != nil {
return *x.FloatValue
}
return 0
}
type CMsgCombatAnalyzerPlayerStat 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"`
HeroAbilityStats []*CMsgHeroAbilityStat `protobuf:"bytes,2,rep,name=hero_ability_stats,json=heroAbilityStats" json:"hero_ability_stats,omitempty"`
}
func (x *CMsgCombatAnalyzerPlayerStat) Reset() {
*x = CMsgCombatAnalyzerPlayerStat{}
if protoimpl.UnsafeEnabled {
mi := &file_dota_usermessages_proto_msgTypes[96]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *CMsgCombatAnalyzerPlayerStat) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*CMsgCombatAnalyzerPlayerStat) ProtoMessage() {}
func (x *CMsgCombatAnalyzerPlayerStat) ProtoReflect() protoreflect.Message {
mi := &file_dota_usermessages_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 CMsgCombatAnalyzerPlayerStat.ProtoReflect.Descriptor instead.
func (*CMsgCombatAnalyzerPlayerStat) Descriptor() ([]byte, []int) {
return file_dota_usermessages_proto_rawDescGZIP(), []int{96}
}
func (x *CMsgCombatAnalyzerPlayerStat) GetAccountId() uint32 {
if x != nil && x.AccountId != nil {
return *x.AccountId
}
return 0
}
func (x *CMsgCombatAnalyzerPlayerStat) GetHeroAbilityStats() []*CMsgHeroAbilityStat {
if x != nil {
return x.HeroAbilityStats
}
return nil
}
type CMsgCombatAnalyzerStats struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
MatchId *uint64 `protobuf:"varint,1,opt,name=match_id,json=matchId" json:"match_id,omitempty"`
PlayerStats []*CMsgCombatAnalyzerPlayerStat `protobuf:"bytes,2,rep,name=player_stats,json=playerStats" json:"player_stats,omitempty"`
}
func (x *CMsgCombatAnalyzerStats) Reset() {
*x = CMsgCombatAnalyzerStats{}
if protoimpl.UnsafeEnabled {
mi := &file_dota_usermessages_proto_msgTypes[97]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *CMsgCombatAnalyzerStats) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*CMsgCombatAnalyzerStats) ProtoMessage() {}
func (x *CMsgCombatAnalyzerStats) ProtoReflect() protoreflect.Message {
mi := &file_dota_usermessages_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 CMsgCombatAnalyzerStats.ProtoReflect.Descriptor instead.
func (*CMsgCombatAnalyzerStats) Descriptor() ([]byte, []int) {
return file_dota_usermessages_proto_rawDescGZIP(), []int{97}
}
func (x *CMsgCombatAnalyzerStats) GetMatchId() uint64 {
if x != nil && x.MatchId != nil {
return *x.MatchId
}
return 0
}
func (x *CMsgCombatAnalyzerStats) GetPlayerStats() []*CMsgCombatAnalyzerPlayerStat {
if x != nil {
return x.PlayerStats
}
return nil
}
type CDOTAUserMsg_BeastChat struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Team *uint32 `protobuf:"varint,1,opt,name=team" json:"team,omitempty"`
Format *string `protobuf:"bytes,2,opt,name=format" json:"format,omitempty"`
Message *string `protobuf:"bytes,3,opt,name=message" json:"message,omitempty"`
Target *string `protobuf:"bytes,4,opt,name=target" json:"target,omitempty"`
}
func (x *CDOTAUserMsg_BeastChat) Reset() {
*x = CDOTAUserMsg_BeastChat{}
if protoimpl.UnsafeEnabled {
mi := &file_dota_usermessages_proto_msgTypes[98]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *CDOTAUserMsg_BeastChat) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*CDOTAUserMsg_BeastChat) ProtoMessage() {}
func (x *CDOTAUserMsg_BeastChat) ProtoReflect() protoreflect.Message {
mi := &file_dota_usermessages_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 CDOTAUserMsg_BeastChat.ProtoReflect.Descriptor instead.
func (*CDOTAUserMsg_BeastChat) Descriptor() ([]byte, []int) {
return file_dota_usermessages_proto_rawDescGZIP(), []int{98}
}
func (x *CDOTAUserMsg_BeastChat) GetTeam() uint32 {
if x != nil && x.Team != nil {
return *x.Team
}
return 0
}
func (x *CDOTAUserMsg_BeastChat) GetFormat() string {
if x != nil && x.Format != nil {
return *x.Format
}
return ""
}
func (x *CDOTAUserMsg_BeastChat) GetMessage() string {
if x != nil && x.Message != nil {
return *x.Message
}
return ""
}
func (x *CDOTAUserMsg_BeastChat) GetTarget() string {
if x != nil && x.Target != nil {
return *x.Target
}
return ""
}
type CDOTAUserMsg_CustomHudElement_Create struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
ElementId *string `protobuf:"bytes,1,opt,name=element_id,json=elementId" json:"element_id,omitempty"`
LayoutFilename *string `protobuf:"bytes,2,opt,name=layout_filename,json=layoutFilename" json:"layout_filename,omitempty"`
Data []byte `protobuf:"bytes,3,opt,name=data" json:"data,omitempty"`
}
func (x *CDOTAUserMsg_CustomHudElement_Create) Reset() {
*x = CDOTAUserMsg_CustomHudElement_Create{}
if protoimpl.UnsafeEnabled {
mi := &file_dota_usermessages_proto_msgTypes[99]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *CDOTAUserMsg_CustomHudElement_Create) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*CDOTAUserMsg_CustomHudElement_Create) ProtoMessage() {}
func (x *CDOTAUserMsg_CustomHudElement_Create) ProtoReflect() protoreflect.Message {
mi := &file_dota_usermessages_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 CDOTAUserMsg_CustomHudElement_Create.ProtoReflect.Descriptor instead.
func (*CDOTAUserMsg_CustomHudElement_Create) Descriptor() ([]byte, []int) {
return file_dota_usermessages_proto_rawDescGZIP(), []int{99}
}
func (x *CDOTAUserMsg_CustomHudElement_Create) GetElementId() string {
if x != nil && x.ElementId != nil {
return *x.ElementId
}
return ""
}
func (x *CDOTAUserMsg_CustomHudElement_Create) GetLayoutFilename() string {
if x != nil && x.LayoutFilename != nil {
return *x.LayoutFilename
}
return ""
}
func (x *CDOTAUserMsg_CustomHudElement_Create) GetData() []byte {
if x != nil {
return x.Data
}
return nil
}
type CDOTAUserMsg_CustomHudElement_Modify struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
ElementId *string `protobuf:"bytes,1,opt,name=element_id,json=elementId" json:"element_id,omitempty"`
ModifyVisible *bool `protobuf:"varint,2,opt,name=modify_visible,json=modifyVisible" json:"modify_visible,omitempty"`
Data []byte `protobuf:"bytes,3,opt,name=data" json:"data,omitempty"`
}
func (x *CDOTAUserMsg_CustomHudElement_Modify) Reset() {
*x = CDOTAUserMsg_CustomHudElement_Modify{}
if protoimpl.UnsafeEnabled {
mi := &file_dota_usermessages_proto_msgTypes[100]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *CDOTAUserMsg_CustomHudElement_Modify) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*CDOTAUserMsg_CustomHudElement_Modify) ProtoMessage() {}
func (x *CDOTAUserMsg_CustomHudElement_Modify) ProtoReflect() protoreflect.Message {
mi := &file_dota_usermessages_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 CDOTAUserMsg_CustomHudElement_Modify.ProtoReflect.Descriptor instead.
func (*CDOTAUserMsg_CustomHudElement_Modify) Descriptor() ([]byte, []int) {
return file_dota_usermessages_proto_rawDescGZIP(), []int{100}
}
func (x *CDOTAUserMsg_CustomHudElement_Modify) GetElementId() string {
if x != nil && x.ElementId != nil {
return *x.ElementId
}
return ""
}
func (x *CDOTAUserMsg_CustomHudElement_Modify) GetModifyVisible() bool {
if x != nil && x.ModifyVisible != nil {
return *x.ModifyVisible
}
return false
}
func (x *CDOTAUserMsg_CustomHudElement_Modify) GetData() []byte {
if x != nil {
return x.Data
}
return nil
}
type CDOTAUserMsg_CustomHudElement_Destroy struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
ElementId *string `protobuf:"bytes,1,opt,name=element_id,json=elementId" json:"element_id,omitempty"`
}
func (x *CDOTAUserMsg_CustomHudElement_Destroy) Reset() {
*x = CDOTAUserMsg_CustomHudElement_Destroy{}
if protoimpl.UnsafeEnabled {
mi := &file_dota_usermessages_proto_msgTypes[101]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *CDOTAUserMsg_CustomHudElement_Destroy) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*CDOTAUserMsg_CustomHudElement_Destroy) ProtoMessage() {}
func (x *CDOTAUserMsg_CustomHudElement_Destroy) ProtoReflect() protoreflect.Message {
mi := &file_dota_usermessages_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 CDOTAUserMsg_CustomHudElement_Destroy.ProtoReflect.Descriptor instead.
func (*CDOTAUserMsg_CustomHudElement_Destroy) Descriptor() ([]byte, []int) {
return file_dota_usermessages_proto_rawDescGZIP(), []int{101}
}
func (x *CDOTAUserMsg_CustomHudElement_Destroy) GetElementId() string {
if x != nil && x.ElementId != nil {
return *x.ElementId
}
return ""
}
type CDOTAUserMsg_CompendiumStatePlayer 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"`
Level *uint32 `protobuf:"varint,2,opt,name=level" json:"level,omitempty"`
}
func (x *CDOTAUserMsg_CompendiumStatePlayer) Reset() {
*x = CDOTAUserMsg_CompendiumStatePlayer{}
if protoimpl.UnsafeEnabled {
mi := &file_dota_usermessages_proto_msgTypes[102]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *CDOTAUserMsg_CompendiumStatePlayer) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*CDOTAUserMsg_CompendiumStatePlayer) ProtoMessage() {}
func (x *CDOTAUserMsg_CompendiumStatePlayer) ProtoReflect() protoreflect.Message {
mi := &file_dota_usermessages_proto_msgTypes[102]
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_CompendiumStatePlayer.ProtoReflect.Descriptor instead.
func (*CDOTAUserMsg_CompendiumStatePlayer) Descriptor() ([]byte, []int) {
return file_dota_usermessages_proto_rawDescGZIP(), []int{102}
}
func (x *CDOTAUserMsg_CompendiumStatePlayer) GetPlayerId() int32 {
if x != nil && x.PlayerId != nil {
return *x.PlayerId
}
return 0
}
func (x *CDOTAUserMsg_CompendiumStatePlayer) GetLevel() uint32 {
if x != nil && x.Level != nil {
return *x.Level
}
return 0
}
type CDOTAUserMsg_CompendiumState struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
CompendiumPlayers []*CDOTAUserMsg_CompendiumStatePlayer `protobuf:"bytes,1,rep,name=compendium_players,json=compendiumPlayers" json:"compendium_players,omitempty"`
}
func (x *CDOTAUserMsg_CompendiumState) Reset() {
*x = CDOTAUserMsg_CompendiumState{}
if protoimpl.UnsafeEnabled {
mi := &file_dota_usermessages_proto_msgTypes[103]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *CDOTAUserMsg_CompendiumState) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*CDOTAUserMsg_CompendiumState) ProtoMessage() {}
func (x *CDOTAUserMsg_CompendiumState) ProtoReflect() protoreflect.Message {
mi := &file_dota_usermessages_proto_msgTypes[103]
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_CompendiumState.ProtoReflect.Descriptor instead.
func (*CDOTAUserMsg_CompendiumState) Descriptor() ([]byte, []int) {
return file_dota_usermessages_proto_rawDescGZIP(), []int{103}
}
func (x *CDOTAUserMsg_CompendiumState) GetCompendiumPlayers() []*CDOTAUserMsg_CompendiumStatePlayer {
if x != nil {
return x.CompendiumPlayers
}
return nil
}
type CDOTAUserMsg_ProjectionAbility struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
AbilityId *uint32 `protobuf:"varint,1,opt,name=ability_id,json=abilityId" json:"ability_id,omitempty"`
CasterEntIndex *int32 `protobuf:"varint,2,opt,name=caster_ent_index,json=casterEntIndex" json:"caster_ent_index,omitempty"`
CasterTeam *int32 `protobuf:"varint,3,opt,name=caster_team,json=casterTeam" json:"caster_team,omitempty"`
ChannelEnd *bool `protobuf:"varint,4,opt,name=channel_end,json=channelEnd" json:"channel_end,omitempty"`
Origin *CMsgVector `protobuf:"bytes,5,opt,name=origin" json:"origin,omitempty"`
TrackCasterOnly *bool `protobuf:"varint,6,opt,name=track_caster_only,json=trackCasterOnly" json:"track_caster_only,omitempty"`
EndTime *float32 `protobuf:"fixed32,7,opt,name=end_time,json=endTime" json:"end_time,omitempty"`
VictimEntIndex *int32 `protobuf:"varint,8,opt,name=victim_ent_index,json=victimEntIndex" json:"victim_ent_index,omitempty"`
}
func (x *CDOTAUserMsg_ProjectionAbility) Reset() {
*x = CDOTAUserMsg_ProjectionAbility{}
if protoimpl.UnsafeEnabled {
mi := &file_dota_usermessages_proto_msgTypes[104]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *CDOTAUserMsg_ProjectionAbility) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*CDOTAUserMsg_ProjectionAbility) ProtoMessage() {}
func (x *CDOTAUserMsg_ProjectionAbility) ProtoReflect() protoreflect.Message {
mi := &file_dota_usermessages_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 CDOTAUserMsg_ProjectionAbility.ProtoReflect.Descriptor instead.
func (*CDOTAUserMsg_ProjectionAbility) Descriptor() ([]byte, []int) {
return file_dota_usermessages_proto_rawDescGZIP(), []int{104}
}
func (x *CDOTAUserMsg_ProjectionAbility) GetAbilityId() uint32 {
if x != nil && x.AbilityId != nil {
return *x.AbilityId
}
return 0
}
func (x *CDOTAUserMsg_ProjectionAbility) GetCasterEntIndex() int32 {
if x != nil && x.CasterEntIndex != nil {
return *x.CasterEntIndex
}
return 0
}
func (x *CDOTAUserMsg_ProjectionAbility) GetCasterTeam() int32 {
if x != nil && x.CasterTeam != nil {
return *x.CasterTeam
}
return 0
}
func (x *CDOTAUserMsg_ProjectionAbility) GetChannelEnd() bool {
if x != nil && x.ChannelEnd != nil {
return *x.ChannelEnd
}
return false
}
func (x *CDOTAUserMsg_ProjectionAbility) GetOrigin() *CMsgVector {
if x != nil {
return x.Origin
}
return nil
}
func (x *CDOTAUserMsg_ProjectionAbility) GetTrackCasterOnly() bool {
if x != nil && x.TrackCasterOnly != nil {
return *x.TrackCasterOnly
}
return false
}
func (x *CDOTAUserMsg_ProjectionAbility) GetEndTime() float32 {
if x != nil && x.EndTime != nil {
return *x.EndTime
}
return 0
}
func (x *CDOTAUserMsg_ProjectionAbility) GetVictimEntIndex() int32 {
if x != nil && x.VictimEntIndex != nil {
return *x.VictimEntIndex
}
return 0
}
type CDOTAUserMsg_ProjectionEvent struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
EventId *EProjectionEvent `protobuf:"varint,1,opt,name=event_id,json=eventId,enum=EProjectionEvent,def=0" json:"event_id,omitempty"`
Team *uint32 `protobuf:"varint,2,opt,name=team" json:"team,omitempty"`
}
// Default values for CDOTAUserMsg_ProjectionEvent fields.
const (
Default_CDOTAUserMsg_ProjectionEvent_EventId = EProjectionEvent_ePE_FirstBlood
)
func (x *CDOTAUserMsg_ProjectionEvent) Reset() {
*x = CDOTAUserMsg_ProjectionEvent{}
if protoimpl.UnsafeEnabled {
mi := &file_dota_usermessages_proto_msgTypes[105]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *CDOTAUserMsg_ProjectionEvent) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*CDOTAUserMsg_ProjectionEvent) ProtoMessage() {}
func (x *CDOTAUserMsg_ProjectionEvent) ProtoReflect() protoreflect.Message {
mi := &file_dota_usermessages_proto_msgTypes[105]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use CDOTAUserMsg_ProjectionEvent.ProtoReflect.Descriptor instead.
func (*CDOTAUserMsg_ProjectionEvent) Descriptor() ([]byte, []int) {
return file_dota_usermessages_proto_rawDescGZIP(), []int{105}
}
func (x *CDOTAUserMsg_ProjectionEvent) GetEventId() EProjectionEvent {
if x != nil && x.EventId != nil {
return *x.EventId
}
return Default_CDOTAUserMsg_ProjectionEvent_EventId
}
func (x *CDOTAUserMsg_ProjectionEvent) GetTeam() uint32 {
if x != nil && x.Team != nil {
return *x.Team
}
return 0
}
type CDOTAUserMsg_XPAlert 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"`
}
func (x *CDOTAUserMsg_XPAlert) Reset() {
*x = CDOTAUserMsg_XPAlert{}
if protoimpl.UnsafeEnabled {
mi := &file_dota_usermessages_proto_msgTypes[106]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *CDOTAUserMsg_XPAlert) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*CDOTAUserMsg_XPAlert) ProtoMessage() {}
func (x *CDOTAUserMsg_XPAlert) ProtoReflect() protoreflect.Message {
mi := &file_dota_usermessages_proto_msgTypes[106]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use CDOTAUserMsg_XPAlert.ProtoReflect.Descriptor instead.
func (*CDOTAUserMsg_XPAlert) Descriptor() ([]byte, []int) {
return file_dota_usermessages_proto_rawDescGZIP(), []int{106}
}
func (x *CDOTAUserMsg_XPAlert) GetPlayerId() int32 {
if x != nil && x.PlayerId != nil {
return *x.PlayerId
}
return 0
}
func (x *CDOTAUserMsg_XPAlert) GetTargetEntindex() int32 {
if x != nil && x.TargetEntindex != nil {
return *x.TargetEntindex
}
return 0
}
type CDOTAUserMsg_TalentTreeAlert 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"`
AbilityId *int32 `protobuf:"varint,3,opt,name=ability_id,json=abilityId" json:"ability_id,omitempty"`
Slot *int32 `protobuf:"varint,4,opt,name=slot" json:"slot,omitempty"`
Learned *bool `protobuf:"varint,5,opt,name=learned" json:"learned,omitempty"`
}
func (x *CDOTAUserMsg_TalentTreeAlert) Reset() {
*x = CDOTAUserMsg_TalentTreeAlert{}
if protoimpl.UnsafeEnabled {
mi := &file_dota_usermessages_proto_msgTypes[107]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *CDOTAUserMsg_TalentTreeAlert) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*CDOTAUserMsg_TalentTreeAlert) ProtoMessage() {}
func (x *CDOTAUserMsg_TalentTreeAlert) ProtoReflect() protoreflect.Message {
mi := &file_dota_usermessages_proto_msgTypes[107]
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_TalentTreeAlert.ProtoReflect.Descriptor instead.
func (*CDOTAUserMsg_TalentTreeAlert) Descriptor() ([]byte, []int) {
return file_dota_usermessages_proto_rawDescGZIP(), []int{107}
}
func (x *CDOTAUserMsg_TalentTreeAlert) GetPlayerId() int32 {
if x != nil && x.PlayerId != nil {
return *x.PlayerId
}
return 0
}
func (x *CDOTAUserMsg_TalentTreeAlert) GetTargetEntindex() int32 {
if x != nil && x.TargetEntindex != nil {
return *x.TargetEntindex
}
return 0
}
func (x *CDOTAUserMsg_TalentTreeAlert) GetAbilityId() int32 {
if x != nil && x.AbilityId != nil {
return *x.AbilityId
}
return 0
}
func (x *CDOTAUserMsg_TalentTreeAlert) GetSlot() int32 {
if x != nil && x.Slot != nil {
return *x.Slot
}
return 0
}
func (x *CDOTAUserMsg_TalentTreeAlert) GetLearned() bool {
if x != nil && x.Learned != nil {
return *x.Learned
}
return false
}
type CDOTAUserMsg_UpdateQuestProgress struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
}
func (x *CDOTAUserMsg_UpdateQuestProgress) Reset() {
*x = CDOTAUserMsg_UpdateQuestProgress{}
if protoimpl.UnsafeEnabled {
mi := &file_dota_usermessages_proto_msgTypes[108]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *CDOTAUserMsg_UpdateQuestProgress) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*CDOTAUserMsg_UpdateQuestProgress) ProtoMessage() {}
func (x *CDOTAUserMsg_UpdateQuestProgress) ProtoReflect() protoreflect.Message {
mi := &file_dota_usermessages_proto_msgTypes[108]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use CDOTAUserMsg_UpdateQuestProgress.ProtoReflect.Descriptor instead.
func (*CDOTAUserMsg_UpdateQuestProgress) Descriptor() ([]byte, []int) {
return file_dota_usermessages_proto_rawDescGZIP(), []int{108}
}
type CDOTAUserMsg_QuestStatus struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
PlayerId *int32 `protobuf:"varint,1,req,name=player_id,json=playerId" json:"player_id,omitempty"`
QuestId *uint32 `protobuf:"varint,2,opt,name=quest_id,json=questId" json:"quest_id,omitempty"`
ChallengeId *uint32 `protobuf:"varint,3,opt,name=challenge_id,json=challengeId" json:"challenge_id,omitempty"`
Progress *uint32 `protobuf:"varint,4,opt,name=progress" json:"progress,omitempty"`
Goal *uint32 `protobuf:"varint,5,opt,name=goal" json:"goal,omitempty"`
Query *uint32 `protobuf:"varint,6,opt,name=query" json:"query,omitempty"`
FailGametime *float32 `protobuf:"fixed32,7,opt,name=fail_gametime,json=failGametime" json:"fail_gametime,omitempty"`
ItemAbilityId *uint32 `protobuf:"varint,8,opt,name=item_ability_id,json=itemAbilityId" json:"item_ability_id,omitempty"`
}
func (x *CDOTAUserMsg_QuestStatus) Reset() {
*x = CDOTAUserMsg_QuestStatus{}
if protoimpl.UnsafeEnabled {
mi := &file_dota_usermessages_proto_msgTypes[109]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *CDOTAUserMsg_QuestStatus) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*CDOTAUserMsg_QuestStatus) ProtoMessage() {}
func (x *CDOTAUserMsg_QuestStatus) ProtoReflect() protoreflect.Message {
mi := &file_dota_usermessages_proto_msgTypes[109]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use CDOTAUserMsg_QuestStatus.ProtoReflect.Descriptor instead.
func (*CDOTAUserMsg_QuestStatus) Descriptor() ([]byte, []int) {
return file_dota_usermessages_proto_rawDescGZIP(), []int{109}
}
func (x *CDOTAUserMsg_QuestStatus) GetPlayerId() int32 {
if x != nil && x.PlayerId != nil {
return *x.PlayerId
}
return 0
}
func (x *CDOTAUserMsg_QuestStatus) GetQuestId() uint32 {
if x != nil && x.QuestId != nil {
return *x.QuestId
}
return 0
}
func (x *CDOTAUserMsg_QuestStatus) GetChallengeId() uint32 {
if x != nil && x.ChallengeId != nil {
return *x.ChallengeId
}
return 0
}
func (x *CDOTAUserMsg_QuestStatus) GetProgress() uint32 {
if x != nil && x.Progress != nil {
return *x.Progress
}
return 0
}
func (x *CDOTAUserMsg_QuestStatus) GetGoal() uint32 {
if x != nil && x.Goal != nil {
return *x.Goal
}
return 0
}
func (x *CDOTAUserMsg_QuestStatus) GetQuery() uint32 {
if x != nil && x.Query != nil {
return *x.Query
}
return 0
}
func (x *CDOTAUserMsg_QuestStatus) GetFailGametime() float32 {
if x != nil && x.FailGametime != nil {
return *x.FailGametime
}
return 0
}
func (x *CDOTAUserMsg_QuestStatus) GetItemAbilityId() uint32 {
if x != nil && x.ItemAbilityId != nil {
return *x.ItemAbilityId
}
return 0
}
type CDOTAUserMsg_SuggestHeroPick struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
PlayerId *int32 `protobuf:"varint,1,req,name=player_id,json=playerId" json:"player_id,omitempty"`
HeroId *uint32 `protobuf:"varint,2,opt,name=hero_id,json=heroId" json:"hero_id,omitempty"`
Ban *bool `protobuf:"varint,3,opt,name=ban" json:"ban,omitempty"`
}
func (x *CDOTAUserMsg_SuggestHeroPick) Reset() {
*x = CDOTAUserMsg_SuggestHeroPick{}
if protoimpl.UnsafeEnabled {
mi := &file_dota_usermessages_proto_msgTypes[110]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *CDOTAUserMsg_SuggestHeroPick) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*CDOTAUserMsg_SuggestHeroPick) ProtoMessage() {}
func (x *CDOTAUserMsg_SuggestHeroPick) ProtoReflect() protoreflect.Message {
mi := &file_dota_usermessages_proto_msgTypes[110]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use CDOTAUserMsg_SuggestHeroPick.ProtoReflect.Descriptor instead.
func (*CDOTAUserMsg_SuggestHeroPick) Descriptor() ([]byte, []int) {
return file_dota_usermessages_proto_rawDescGZIP(), []int{110}
}
func (x *CDOTAUserMsg_SuggestHeroPick) GetPlayerId() int32 {
if x != nil && x.PlayerId != nil {
return *x.PlayerId
}
return 0
}
func (x *CDOTAUserMsg_SuggestHeroPick) GetHeroId() uint32 {
if x != nil && x.HeroId != nil {
return *x.HeroId
}
return 0
}
func (x *CDOTAUserMsg_SuggestHeroPick) GetBan() bool {
if x != nil && x.Ban != nil {
return *x.Ban
}
return false
}
type CDOTAUserMsg_SuggestHeroRole struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
PlayerId *int32 `protobuf:"varint,1,req,name=player_id,json=playerId" json:"player_id,omitempty"`
HeroRole *string `protobuf:"bytes,2,opt,name=hero_role,json=heroRole" json:"hero_role,omitempty"`
}
func (x *CDOTAUserMsg_SuggestHeroRole) Reset() {
*x = CDOTAUserMsg_SuggestHeroRole{}
if protoimpl.UnsafeEnabled {
mi := &file_dota_usermessages_proto_msgTypes[111]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *CDOTAUserMsg_SuggestHeroRole) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*CDOTAUserMsg_SuggestHeroRole) ProtoMessage() {}
func (x *CDOTAUserMsg_SuggestHeroRole) ProtoReflect() protoreflect.Message {
mi := &file_dota_usermessages_proto_msgTypes[111]
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_SuggestHeroRole.ProtoReflect.Descriptor instead.
func (*CDOTAUserMsg_SuggestHeroRole) Descriptor() ([]byte, []int) {
return file_dota_usermessages_proto_rawDescGZIP(), []int{111}
}
func (x *CDOTAUserMsg_SuggestHeroRole) GetPlayerId() int32 {
if x != nil && x.PlayerId != nil {
return *x.PlayerId
}
return 0
}
func (x *CDOTAUserMsg_SuggestHeroRole) GetHeroRole() string {
if x != nil && x.HeroRole != nil {
return *x.HeroRole
}
return ""
}
type CDOTAUserMsg_KillcamDamageTaken struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
PlayerId *int32 `protobuf:"varint,1,req,name=player_id,json=playerId" json:"player_id,omitempty"`
DamageTaken *uint32 `protobuf:"varint,2,opt,name=damage_taken,json=damageTaken" json:"damage_taken,omitempty"`
ItemType *uint32 `protobuf:"varint,3,opt,name=item_type,json=itemType" json:"item_type,omitempty"`
ItemAbilityId *uint32 `protobuf:"varint,4,opt,name=item_ability_id,json=itemAbilityId" json:"item_ability_id,omitempty"`
HeroName *string `protobuf:"bytes,5,opt,name=hero_name,json=heroName" json:"hero_name,omitempty"`
DamageColor *string `protobuf:"bytes,6,opt,name=damage_color,json=damageColor" json:"damage_color,omitempty"`
}
func (x *CDOTAUserMsg_KillcamDamageTaken) Reset() {
*x = CDOTAUserMsg_KillcamDamageTaken{}
if protoimpl.UnsafeEnabled {
mi := &file_dota_usermessages_proto_msgTypes[112]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *CDOTAUserMsg_KillcamDamageTaken) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*CDOTAUserMsg_KillcamDamageTaken) ProtoMessage() {}
func (x *CDOTAUserMsg_KillcamDamageTaken) ProtoReflect() protoreflect.Message {
mi := &file_dota_usermessages_proto_msgTypes[112]
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_KillcamDamageTaken.ProtoReflect.Descriptor instead.
func (*CDOTAUserMsg_KillcamDamageTaken) Descriptor() ([]byte, []int) {
return file_dota_usermessages_proto_rawDescGZIP(), []int{112}
}
func (x *CDOTAUserMsg_KillcamDamageTaken) GetPlayerId() int32 {
if x != nil && x.PlayerId != nil {
return *x.PlayerId
}
return 0
}
func (x *CDOTAUserMsg_KillcamDamageTaken) GetDamageTaken() uint32 {
if x != nil && x.DamageTaken != nil {
return *x.DamageTaken
}
return 0
}
func (x *CDOTAUserMsg_KillcamDamageTaken) GetItemType() uint32 {
if x != nil && x.ItemType != nil {
return *x.ItemType
}
return 0
}
func (x *CDOTAUserMsg_KillcamDamageTaken) GetItemAbilityId() uint32 {
if x != nil && x.ItemAbilityId != nil {
return *x.ItemAbilityId
}
return 0
}
func (x *CDOTAUserMsg_KillcamDamageTaken) GetHeroName() string {
if x != nil && x.HeroName != nil {
return *x.HeroName
}
return ""
}
func (x *CDOTAUserMsg_KillcamDamageTaken) GetDamageColor() string {
if x != nil && x.DamageColor != nil {
return *x.DamageColor
}
return ""
}
type CDOTAUserMsg_SelectPenaltyGold struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
PlayerId *int32 `protobuf:"varint,1,req,name=player_id,json=playerId" json:"player_id,omitempty"`
Cost *int32 `protobuf:"zigzag32,2,opt,name=cost" json:"cost,omitempty"`
}
func (x *CDOTAUserMsg_SelectPenaltyGold) Reset() {
*x = CDOTAUserMsg_SelectPenaltyGold{}
if protoimpl.UnsafeEnabled {
mi := &file_dota_usermessages_proto_msgTypes[113]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *CDOTAUserMsg_SelectPenaltyGold) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*CDOTAUserMsg_SelectPenaltyGold) ProtoMessage() {}
func (x *CDOTAUserMsg_SelectPenaltyGold) ProtoReflect() protoreflect.Message {
mi := &file_dota_usermessages_proto_msgTypes[113]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use CDOTAUserMsg_SelectPenaltyGold.ProtoReflect.Descriptor instead.
func (*CDOTAUserMsg_SelectPenaltyGold) Descriptor() ([]byte, []int) {
return file_dota_usermessages_proto_rawDescGZIP(), []int{113}
}
func (x *CDOTAUserMsg_SelectPenaltyGold) GetPlayerId() int32 {
if x != nil && x.PlayerId != nil {
return *x.PlayerId
}
return 0
}
func (x *CDOTAUserMsg_SelectPenaltyGold) GetCost() int32 {
if x != nil && x.Cost != nil {
return *x.Cost
}
return 0
}
type CDOTAUserMsg_RollDiceResult 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"`
ChannelType *uint32 `protobuf:"varint,2,opt,name=channel_type,json=channelType" json:"channel_type,omitempty"`
RollMin *uint32 `protobuf:"varint,3,opt,name=roll_min,json=rollMin" json:"roll_min,omitempty"`
RollMax *uint32 `protobuf:"varint,4,opt,name=roll_max,json=rollMax" json:"roll_max,omitempty"`
Result *uint32 `protobuf:"varint,5,opt,name=result" json:"result,omitempty"`
}
func (x *CDOTAUserMsg_RollDiceResult) Reset() {
*x = CDOTAUserMsg_RollDiceResult{}
if protoimpl.UnsafeEnabled {
mi := &file_dota_usermessages_proto_msgTypes[114]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *CDOTAUserMsg_RollDiceResult) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*CDOTAUserMsg_RollDiceResult) ProtoMessage() {}
func (x *CDOTAUserMsg_RollDiceResult) ProtoReflect() protoreflect.Message {
mi := &file_dota_usermessages_proto_msgTypes[114]
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_RollDiceResult.ProtoReflect.Descriptor instead.
func (*CDOTAUserMsg_RollDiceResult) Descriptor() ([]byte, []int) {
return file_dota_usermessages_proto_rawDescGZIP(), []int{114}
}
func (x *CDOTAUserMsg_RollDiceResult) GetPlayerId() int32 {
if x != nil && x.PlayerId != nil {
return *x.PlayerId
}
return 0
}
func (x *CDOTAUserMsg_RollDiceResult) GetChannelType() uint32 {
if x != nil && x.ChannelType != nil {
return *x.ChannelType
}
return 0
}
func (x *CDOTAUserMsg_RollDiceResult) GetRollMin() uint32 {
if x != nil && x.RollMin != nil {
return *x.RollMin
}
return 0
}
func (x *CDOTAUserMsg_RollDiceResult) GetRollMax() uint32 {
if x != nil && x.RollMax != nil {
return *x.RollMax
}
return 0
}
func (x *CDOTAUserMsg_RollDiceResult) GetResult() uint32 {
if x != nil && x.Result != nil {
return *x.Result
}
return 0
}
type CDOTAUserMsg_FlipCoinResult 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"`
ChannelType *uint32 `protobuf:"varint,2,opt,name=channel_type,json=channelType" json:"channel_type,omitempty"`
Result *bool `protobuf:"varint,3,opt,name=result" json:"result,omitempty"`
}
func (x *CDOTAUserMsg_FlipCoinResult) Reset() {
*x = CDOTAUserMsg_FlipCoinResult{}
if protoimpl.UnsafeEnabled {
mi := &file_dota_usermessages_proto_msgTypes[115]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *CDOTAUserMsg_FlipCoinResult) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*CDOTAUserMsg_FlipCoinResult) ProtoMessage() {}
func (x *CDOTAUserMsg_FlipCoinResult) ProtoReflect() protoreflect.Message {
mi := &file_dota_usermessages_proto_msgTypes[115]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use CDOTAUserMsg_FlipCoinResult.ProtoReflect.Descriptor instead.
func (*CDOTAUserMsg_FlipCoinResult) Descriptor() ([]byte, []int) {
return file_dota_usermessages_proto_rawDescGZIP(), []int{115}
}
func (x *CDOTAUserMsg_FlipCoinResult) GetPlayerId() int32 {
if x != nil && x.PlayerId != nil {
return *x.PlayerId
}
return 0
}
func (x *CDOTAUserMsg_FlipCoinResult) GetChannelType() uint32 {
if x != nil && x.ChannelType != nil {
return *x.ChannelType
}
return 0
}
func (x *CDOTAUserMsg_FlipCoinResult) GetResult() bool {
if x != nil && x.Result != nil {
return *x.Result
}
return false
}
type CDOTAUserMessage_RequestItemSuggestions 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"`
}
func (x *CDOTAUserMessage_RequestItemSuggestions) Reset() {
*x = CDOTAUserMessage_RequestItemSuggestions{}
if protoimpl.UnsafeEnabled {
mi := &file_dota_usermessages_proto_msgTypes[116]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *CDOTAUserMessage_RequestItemSuggestions) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*CDOTAUserMessage_RequestItemSuggestions) ProtoMessage() {}
func (x *CDOTAUserMessage_RequestItemSuggestions) ProtoReflect() protoreflect.Message {
mi := &file_dota_usermessages_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 CDOTAUserMessage_RequestItemSuggestions.ProtoReflect.Descriptor instead.
func (*CDOTAUserMessage_RequestItemSuggestions) Descriptor() ([]byte, []int) {
return file_dota_usermessages_proto_rawDescGZIP(), []int{116}
}
func (x *CDOTAUserMessage_RequestItemSuggestions) GetPlayerId() int32 {
if x != nil && x.PlayerId != nil {
return *x.PlayerId
}
return 0
}
type CDOTAUserMessage_TeamCaptainChanged struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Team *uint32 `protobuf:"varint,1,opt,name=team" json:"team,omitempty"`
CaptainPlayerId *int32 `protobuf:"varint,2,opt,name=captain_player_id,json=captainPlayerId" json:"captain_player_id,omitempty"`
}
func (x *CDOTAUserMessage_TeamCaptainChanged) Reset() {
*x = CDOTAUserMessage_TeamCaptainChanged{}
if protoimpl.UnsafeEnabled {
mi := &file_dota_usermessages_proto_msgTypes[117]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *CDOTAUserMessage_TeamCaptainChanged) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*CDOTAUserMessage_TeamCaptainChanged) ProtoMessage() {}
func (x *CDOTAUserMessage_TeamCaptainChanged) ProtoReflect() protoreflect.Message {
mi := &file_dota_usermessages_proto_msgTypes[117]
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 CDOTAUserMessage_TeamCaptainChanged.ProtoReflect.Descriptor instead.
func (*CDOTAUserMessage_TeamCaptainChanged) Descriptor() ([]byte, []int) {
return file_dota_usermessages_proto_rawDescGZIP(), []int{117}
}
func (x *CDOTAUserMessage_TeamCaptainChanged) GetTeam() uint32 {
if x != nil && x.Team != nil {
return *x.Team
}
return 0
}
func (x *CDOTAUserMessage_TeamCaptainChanged) GetCaptainPlayerId() int32 {
if x != nil && x.CaptainPlayerId != nil {
return *x.CaptainPlayerId
}
return 0
}
type CDOTAUserMsg_ChatWheelCooldown struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
MessageId *uint32 `protobuf:"varint,1,opt,name=message_id,json=messageId" json:"message_id,omitempty"`
CooldownRemaining *float32 `protobuf:"fixed32,2,opt,name=cooldown_remaining,json=cooldownRemaining" json:"cooldown_remaining,omitempty"`
}
func (x *CDOTAUserMsg_ChatWheelCooldown) Reset() {
*x = CDOTAUserMsg_ChatWheelCooldown{}
if protoimpl.UnsafeEnabled {
mi := &file_dota_usermessages_proto_msgTypes[118]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *CDOTAUserMsg_ChatWheelCooldown) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*CDOTAUserMsg_ChatWheelCooldown) ProtoMessage() {}
func (x *CDOTAUserMsg_ChatWheelCooldown) ProtoReflect() protoreflect.Message {
mi := &file_dota_usermessages_proto_msgTypes[118]
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_ChatWheelCooldown.ProtoReflect.Descriptor instead.
func (*CDOTAUserMsg_ChatWheelCooldown) Descriptor() ([]byte, []int) {
return file_dota_usermessages_proto_rawDescGZIP(), []int{118}
}
func (x *CDOTAUserMsg_ChatWheelCooldown) GetMessageId() uint32 {
if x != nil && x.MessageId != nil {
return *x.MessageId
}
return 0
}
func (x *CDOTAUserMsg_ChatWheelCooldown) GetCooldownRemaining() float32 {
if x != nil && x.CooldownRemaining != nil {
return *x.CooldownRemaining
}
return 0
}
type CDOTAUserMsg_HeroRelicProgress struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
HeroRelicType *uint32 `protobuf:"varint,1,opt,name=hero_relic_type,json=heroRelicType" json:"hero_relic_type,omitempty"`
Value *uint32 `protobuf:"varint,2,opt,name=value" json:"value,omitempty"`
Ehandle *uint32 `protobuf:"varint,3,opt,name=ehandle" json:"ehandle,omitempty"`
EventId *uint32 `protobuf:"varint,4,opt,name=event_id,json=eventId" json:"event_id,omitempty"`
ValueDisplay *float32 `protobuf:"fixed32,5,opt,name=value_display,json=valueDisplay" json:"value_display,omitempty"`
}
func (x *CDOTAUserMsg_HeroRelicProgress) Reset() {
*x = CDOTAUserMsg_HeroRelicProgress{}
if protoimpl.UnsafeEnabled {
mi := &file_dota_usermessages_proto_msgTypes[119]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *CDOTAUserMsg_HeroRelicProgress) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*CDOTAUserMsg_HeroRelicProgress) ProtoMessage() {}
func (x *CDOTAUserMsg_HeroRelicProgress) ProtoReflect() protoreflect.Message {
mi := &file_dota_usermessages_proto_msgTypes[119]
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_HeroRelicProgress.ProtoReflect.Descriptor instead.
func (*CDOTAUserMsg_HeroRelicProgress) Descriptor() ([]byte, []int) {
return file_dota_usermessages_proto_rawDescGZIP(), []int{119}
}
func (x *CDOTAUserMsg_HeroRelicProgress) GetHeroRelicType() uint32 {
if x != nil && x.HeroRelicType != nil {
return *x.HeroRelicType
}
return 0
}
func (x *CDOTAUserMsg_HeroRelicProgress) GetValue() uint32 {
if x != nil && x.Value != nil {
return *x.Value
}
return 0
}
func (x *CDOTAUserMsg_HeroRelicProgress) GetEhandle() uint32 {
if x != nil && x.Ehandle != nil {
return *x.Ehandle
}
return 0
}
func (x *CDOTAUserMsg_HeroRelicProgress) GetEventId() uint32 {
if x != nil && x.EventId != nil {
return *x.EventId
}
return 0
}
func (x *CDOTAUserMsg_HeroRelicProgress) GetValueDisplay() float32 {
if x != nil && x.ValueDisplay != nil {
return *x.ValueDisplay
}
return 0
}
type CDOTAUserMsg_AbilityDraftRequestAbility 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"`
RequestedAbilityId *uint32 `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"`
}
func (x *CDOTAUserMsg_AbilityDraftRequestAbility) Reset() {
*x = CDOTAUserMsg_AbilityDraftRequestAbility{}
if protoimpl.UnsafeEnabled {
mi := &file_dota_usermessages_proto_msgTypes[120]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *CDOTAUserMsg_AbilityDraftRequestAbility) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*CDOTAUserMsg_AbilityDraftRequestAbility) ProtoMessage() {}
func (x *CDOTAUserMsg_AbilityDraftRequestAbility) ProtoReflect() protoreflect.Message {
mi := &file_dota_usermessages_proto_msgTypes[120]
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_AbilityDraftRequestAbility.ProtoReflect.Descriptor instead.
func (*CDOTAUserMsg_AbilityDraftRequestAbility) Descriptor() ([]byte, []int) {
return file_dota_usermessages_proto_rawDescGZIP(), []int{120}
}
func (x *CDOTAUserMsg_AbilityDraftRequestAbility) GetPlayerId() int32 {
if x != nil && x.PlayerId != nil {
return *x.PlayerId
}
return 0
}
func (x *CDOTAUserMsg_AbilityDraftRequestAbility) GetRequestedAbilityId() uint32 {
if x != nil && x.RequestedAbilityId != nil {
return *x.RequestedAbilityId
}
return 0
}
func (x *CDOTAUserMsg_AbilityDraftRequestAbility) GetCtrlIsDown() bool {
if x != nil && x.CtrlIsDown != nil {
return *x.CtrlIsDown
}
return false
}
type CDOTAUserMsg_DamageReport 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"`
TargetHeroId *uint32 `protobuf:"varint,2,opt,name=target_hero_id,json=targetHeroId" json:"target_hero_id,omitempty"`
SourceHeroId *uint32 `protobuf:"varint,3,opt,name=source_hero_id,json=sourceHeroId" json:"source_hero_id,omitempty"`
DamageAmount *int32 `protobuf:"varint,4,opt,name=damage_amount,json=damageAmount" json:"damage_amount,omitempty"`
Broadcast *bool `protobuf:"varint,5,opt,name=broadcast" json:"broadcast,omitempty"`
}
func (x *CDOTAUserMsg_DamageReport) Reset() {
*x = CDOTAUserMsg_DamageReport{}
if protoimpl.UnsafeEnabled {
mi := &file_dota_usermessages_proto_msgTypes[121]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *CDOTAUserMsg_DamageReport) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*CDOTAUserMsg_DamageReport) ProtoMessage() {}
func (x *CDOTAUserMsg_DamageReport) ProtoReflect() protoreflect.Message {
mi := &file_dota_usermessages_proto_msgTypes[121]
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_DamageReport.ProtoReflect.Descriptor instead.
func (*CDOTAUserMsg_DamageReport) Descriptor() ([]byte, []int) {
return file_dota_usermessages_proto_rawDescGZIP(), []int{121}
}
func (x *CDOTAUserMsg_DamageReport) GetPlayerId() int32 {
if x != nil && x.PlayerId != nil {
return *x.PlayerId
}
return 0
}
func (x *CDOTAUserMsg_DamageReport) GetTargetHeroId() uint32 {
if x != nil && x.TargetHeroId != nil {
return *x.TargetHeroId
}
return 0
}
func (x *CDOTAUserMsg_DamageReport) GetSourceHeroId() uint32 {
if x != nil && x.SourceHeroId != nil {
return *x.SourceHeroId
}
return 0
}
func (x *CDOTAUserMsg_DamageReport) GetDamageAmount() int32 {
if x != nil && x.DamageAmount != nil {
return *x.DamageAmount
}
return 0
}
func (x *CDOTAUserMsg_DamageReport) GetBroadcast() bool {
if x != nil && x.Broadcast != nil {
return *x.Broadcast
}
return false
}
type CDOTAUserMsg_SalutePlayer struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
SourcePlayerId *int32 `protobuf:"varint,1,opt,name=source_player_id,json=sourcePlayerId" json:"source_player_id,omitempty"`
TargetPlayerId *int32 `protobuf:"varint,2,opt,name=target_player_id,json=targetPlayerId" json:"target_player_id,omitempty"`
TipAmount *uint32 `protobuf:"varint,3,opt,name=tip_amount,json=tipAmount" json:"tip_amount,omitempty"`
EventId *uint32 `protobuf:"varint,4,opt,name=event_id,json=eventId" json:"event_id,omitempty"`
}
func (x *CDOTAUserMsg_SalutePlayer) Reset() {
*x = CDOTAUserMsg_SalutePlayer{}
if protoimpl.UnsafeEnabled {
mi := &file_dota_usermessages_proto_msgTypes[122]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *CDOTAUserMsg_SalutePlayer) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*CDOTAUserMsg_SalutePlayer) ProtoMessage() {}
func (x *CDOTAUserMsg_SalutePlayer) ProtoReflect() protoreflect.Message {
mi := &file_dota_usermessages_proto_msgTypes[122]
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_SalutePlayer.ProtoReflect.Descriptor instead.
func (*CDOTAUserMsg_SalutePlayer) Descriptor() ([]byte, []int) {
return file_dota_usermessages_proto_rawDescGZIP(), []int{122}
}
func (x *CDOTAUserMsg_SalutePlayer) GetSourcePlayerId() int32 {
if x != nil && x.SourcePlayerId != nil {
return *x.SourcePlayerId
}
return 0
}
func (x *CDOTAUserMsg_SalutePlayer) GetTargetPlayerId() int32 {
if x != nil && x.TargetPlayerId != nil {
return *x.TargetPlayerId
}
return 0
}
func (x *CDOTAUserMsg_SalutePlayer) GetTipAmount() uint32 {
if x != nil && x.TipAmount != nil {
return *x.TipAmount
}
return 0
}
func (x *CDOTAUserMsg_SalutePlayer) GetEventId() uint32 {
if x != nil && x.EventId != nil {
return *x.EventId
}
return 0
}
type CDOTAUserMsg_TipAlert 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"`
TipText *string `protobuf:"bytes,2,opt,name=tip_text,json=tipText" json:"tip_text,omitempty"`
}
func (x *CDOTAUserMsg_TipAlert) Reset() {
*x = CDOTAUserMsg_TipAlert{}
if protoimpl.UnsafeEnabled {
mi := &file_dota_usermessages_proto_msgTypes[123]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *CDOTAUserMsg_TipAlert) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*CDOTAUserMsg_TipAlert) ProtoMessage() {}
func (x *CDOTAUserMsg_TipAlert) ProtoReflect() protoreflect.Message {
mi := &file_dota_usermessages_proto_msgTypes[123]
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_TipAlert.ProtoReflect.Descriptor instead.
func (*CDOTAUserMsg_TipAlert) Descriptor() ([]byte, []int) {
return file_dota_usermessages_proto_rawDescGZIP(), []int{123}
}
func (x *CDOTAUserMsg_TipAlert) GetPlayerId() int32 {
if x != nil && x.PlayerId != nil {
return *x.PlayerId
}
return 0
}
func (x *CDOTAUserMsg_TipAlert) GetTipText() string {
if x != nil && x.TipText != nil {
return *x.TipText
}
return ""
}
type CDOTAUserMsg_ReplaceQueryUnit struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
PlayerId *int32 `protobuf:"varint,1,req,name=player_id,json=playerId" json:"player_id,omitempty"`
SourceEntindex *int32 `protobuf:"varint,2,opt,name=source_entindex,json=sourceEntindex" json:"source_entindex,omitempty"`
TargetEntindex *int32 `protobuf:"varint,3,opt,name=target_entindex,json=targetEntindex" json:"target_entindex,omitempty"`
}
func (x *CDOTAUserMsg_ReplaceQueryUnit) Reset() {
*x = CDOTAUserMsg_ReplaceQueryUnit{}
if protoimpl.UnsafeEnabled {
mi := &file_dota_usermessages_proto_msgTypes[124]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *CDOTAUserMsg_ReplaceQueryUnit) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*CDOTAUserMsg_ReplaceQueryUnit) ProtoMessage() {}
func (x *CDOTAUserMsg_ReplaceQueryUnit) ProtoReflect() protoreflect.Message {
mi := &file_dota_usermessages_proto_msgTypes[124]
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_ReplaceQueryUnit.ProtoReflect.Descriptor instead.
func (*CDOTAUserMsg_ReplaceQueryUnit) Descriptor() ([]byte, []int) {
return file_dota_usermessages_proto_rawDescGZIP(), []int{124}
}
func (x *CDOTAUserMsg_ReplaceQueryUnit) GetPlayerId() int32 {
if x != nil && x.PlayerId != nil {
return *x.PlayerId
}
return 0
}
func (x *CDOTAUserMsg_ReplaceQueryUnit) GetSourceEntindex() int32 {
if x != nil && x.SourceEntindex != nil {
return *x.SourceEntindex
}
return 0
}
func (x *CDOTAUserMsg_ReplaceQueryUnit) GetTargetEntindex() int32 {
if x != nil && x.TargetEntindex != nil {
return *x.TargetEntindex
}
return 0
}
type CDOTAUserMsg_ESArcanaCombo struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Ehandle *uint32 `protobuf:"varint,1,opt,name=ehandle" json:"ehandle,omitempty"`
ComboCount *uint32 `protobuf:"varint,2,opt,name=combo_count,json=comboCount" json:"combo_count,omitempty"`
ArcanaLevel *uint32 `protobuf:"varint,3,opt,name=arcana_level,json=arcanaLevel" json:"arcana_level,omitempty"`
}
func (x *CDOTAUserMsg_ESArcanaCombo) Reset() {
*x = CDOTAUserMsg_ESArcanaCombo{}
if protoimpl.UnsafeEnabled {
mi := &file_dota_usermessages_proto_msgTypes[125]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *CDOTAUserMsg_ESArcanaCombo) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*CDOTAUserMsg_ESArcanaCombo) ProtoMessage() {}
func (x *CDOTAUserMsg_ESArcanaCombo) ProtoReflect() protoreflect.Message {
mi := &file_dota_usermessages_proto_msgTypes[125]
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_ESArcanaCombo.ProtoReflect.Descriptor instead.
func (*CDOTAUserMsg_ESArcanaCombo) Descriptor() ([]byte, []int) {
return file_dota_usermessages_proto_rawDescGZIP(), []int{125}
}
func (x *CDOTAUserMsg_ESArcanaCombo) GetEhandle() uint32 {
if x != nil && x.Ehandle != nil {
return *x.Ehandle
}
return 0
}
func (x *CDOTAUserMsg_ESArcanaCombo) GetComboCount() uint32 {
if x != nil && x.ComboCount != nil {
return *x.ComboCount
}
return 0
}
func (x *CDOTAUserMsg_ESArcanaCombo) GetArcanaLevel() uint32 {
if x != nil && x.ArcanaLevel != nil {
return *x.ArcanaLevel
}
return 0
}
type CDOTAUserMsg_ESArcanaComboSummary struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Ehandle *uint32 `protobuf:"varint,1,opt,name=ehandle" json:"ehandle,omitempty"`
ComboCount *uint32 `protobuf:"varint,2,opt,name=combo_count,json=comboCount" json:"combo_count,omitempty"`
DamageAmount *uint32 `protobuf:"varint,3,opt,name=damage_amount,json=damageAmount" json:"damage_amount,omitempty"`
}
func (x *CDOTAUserMsg_ESArcanaComboSummary) Reset() {
*x = CDOTAUserMsg_ESArcanaComboSummary{}
if protoimpl.UnsafeEnabled {
mi := &file_dota_usermessages_proto_msgTypes[126]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *CDOTAUserMsg_ESArcanaComboSummary) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*CDOTAUserMsg_ESArcanaComboSummary) ProtoMessage() {}
func (x *CDOTAUserMsg_ESArcanaComboSummary) ProtoReflect() protoreflect.Message {
mi := &file_dota_usermessages_proto_msgTypes[126]
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_ESArcanaComboSummary.ProtoReflect.Descriptor instead.
func (*CDOTAUserMsg_ESArcanaComboSummary) Descriptor() ([]byte, []int) {
return file_dota_usermessages_proto_rawDescGZIP(), []int{126}
}
func (x *CDOTAUserMsg_ESArcanaComboSummary) GetEhandle() uint32 {
if x != nil && x.Ehandle != nil {
return *x.Ehandle
}
return 0
}
func (x *CDOTAUserMsg_ESArcanaComboSummary) GetComboCount() uint32 {
if x != nil && x.ComboCount != nil {
return *x.ComboCount
}
return 0
}
func (x *CDOTAUserMsg_ESArcanaComboSummary) GetDamageAmount() uint32 {
if x != nil && x.DamageAmount != nil {
return *x.DamageAmount
}
return 0
}
type CDOTAUserMsg_OMArcanaCombo struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Ehandle *uint32 `protobuf:"varint,1,opt,name=ehandle" json:"ehandle,omitempty"`
MulticastAmount *uint32 `protobuf:"varint,2,opt,name=multicast_amount,json=multicastAmount" json:"multicast_amount,omitempty"`
ArcanaLevel *uint32 `protobuf:"varint,3,opt,name=arcana_level,json=arcanaLevel" json:"arcana_level,omitempty"`
MulticastChance *uint32 `protobuf:"varint,4,opt,name=multicast_chance,json=multicastChance" json:"multicast_chance,omitempty"`
}
func (x *CDOTAUserMsg_OMArcanaCombo) Reset() {
*x = CDOTAUserMsg_OMArcanaCombo{}
if protoimpl.UnsafeEnabled {
mi := &file_dota_usermessages_proto_msgTypes[127]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *CDOTAUserMsg_OMArcanaCombo) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*CDOTAUserMsg_OMArcanaCombo) ProtoMessage() {}
func (x *CDOTAUserMsg_OMArcanaCombo) ProtoReflect() protoreflect.Message {
mi := &file_dota_usermessages_proto_msgTypes[127]
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_OMArcanaCombo.ProtoReflect.Descriptor instead.
func (*CDOTAUserMsg_OMArcanaCombo) Descriptor() ([]byte, []int) {
return file_dota_usermessages_proto_rawDescGZIP(), []int{127}
}
func (x *CDOTAUserMsg_OMArcanaCombo) GetEhandle() uint32 {
if x != nil && x.Ehandle != nil {
return *x.Ehandle
}
return 0
}
func (x *CDOTAUserMsg_OMArcanaCombo) GetMulticastAmount() uint32 {
if x != nil && x.MulticastAmount != nil {
return *x.MulticastAmount
}
return 0
}
func (x *CDOTAUserMsg_OMArcanaCombo) GetArcanaLevel() uint32 {
if x != nil && x.ArcanaLevel != nil {
return *x.ArcanaLevel
}
return 0
}
func (x *CDOTAUserMsg_OMArcanaCombo) GetMulticastChance() uint32 {
if x != nil && x.MulticastChance != nil {
return *x.MulticastChance
}
return 0
}
type CDOTAUserMsg_HighFiveCompleted struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
PlayerId_1 *int32 `protobuf:"varint,1,opt,name=player_id_1,json=playerId1" json:"player_id_1,omitempty"`
PlayerId_2 *int32 `protobuf:"varint,2,opt,name=player_id_2,json=playerId2" json:"player_id_2,omitempty"`
SpecialHighFive *bool `protobuf:"varint,3,opt,name=special_high_five,json=specialHighFive" json:"special_high_five,omitempty"`
}
func (x *CDOTAUserMsg_HighFiveCompleted) Reset() {
*x = CDOTAUserMsg_HighFiveCompleted{}
if protoimpl.UnsafeEnabled {
mi := &file_dota_usermessages_proto_msgTypes[128]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *CDOTAUserMsg_HighFiveCompleted) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*CDOTAUserMsg_HighFiveCompleted) ProtoMessage() {}
func (x *CDOTAUserMsg_HighFiveCompleted) ProtoReflect() protoreflect.Message {
mi := &file_dota_usermessages_proto_msgTypes[128]
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_HighFiveCompleted.ProtoReflect.Descriptor instead.
func (*CDOTAUserMsg_HighFiveCompleted) Descriptor() ([]byte, []int) {
return file_dota_usermessages_proto_rawDescGZIP(), []int{128}
}
func (x *CDOTAUserMsg_HighFiveCompleted) GetPlayerId_1() int32 {
if x != nil && x.PlayerId_1 != nil {
return *x.PlayerId_1
}
return 0
}
func (x *CDOTAUserMsg_HighFiveCompleted) GetPlayerId_2() int32 {
if x != nil && x.PlayerId_2 != nil {
return *x.PlayerId_2
}
return 0
}
func (x *CDOTAUserMsg_HighFiveCompleted) GetSpecialHighFive() bool {
if x != nil && x.SpecialHighFive != nil {
return *x.SpecialHighFive
}
return false
}
type CDOTAUserMsg_HighFiveLeftHanging 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"`
}
func (x *CDOTAUserMsg_HighFiveLeftHanging) Reset() {
*x = CDOTAUserMsg_HighFiveLeftHanging{}
if protoimpl.UnsafeEnabled {
mi := &file_dota_usermessages_proto_msgTypes[129]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *CDOTAUserMsg_HighFiveLeftHanging) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*CDOTAUserMsg_HighFiveLeftHanging) ProtoMessage() {}
func (x *CDOTAUserMsg_HighFiveLeftHanging) ProtoReflect() protoreflect.Message {
mi := &file_dota_usermessages_proto_msgTypes[129]
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_HighFiveLeftHanging.ProtoReflect.Descriptor instead.
func (*CDOTAUserMsg_HighFiveLeftHanging) Descriptor() ([]byte, []int) {
return file_dota_usermessages_proto_rawDescGZIP(), []int{129}
}
func (x *CDOTAUserMsg_HighFiveLeftHanging) GetPlayerId() int32 {
if x != nil && x.PlayerId != nil {
return *x.PlayerId
}
return 0
}
type CDOTAUserMsg_ShovelUnearth 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"`
AllChat *bool `protobuf:"varint,2,opt,name=all_chat,json=allChat" json:"all_chat,omitempty"`
Locstring *string `protobuf:"bytes,3,opt,name=locstring" json:"locstring,omitempty"`
Quantity *uint32 `protobuf:"varint,4,opt,name=quantity" json:"quantity,omitempty"`
}
func (x *CDOTAUserMsg_ShovelUnearth) Reset() {
*x = CDOTAUserMsg_ShovelUnearth{}
if protoimpl.UnsafeEnabled {
mi := &file_dota_usermessages_proto_msgTypes[130]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *CDOTAUserMsg_ShovelUnearth) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*CDOTAUserMsg_ShovelUnearth) ProtoMessage() {}
func (x *CDOTAUserMsg_ShovelUnearth) ProtoReflect() protoreflect.Message {
mi := &file_dota_usermessages_proto_msgTypes[130]
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_ShovelUnearth.ProtoReflect.Descriptor instead.
func (*CDOTAUserMsg_ShovelUnearth) Descriptor() ([]byte, []int) {
return file_dota_usermessages_proto_rawDescGZIP(), []int{130}
}
func (x *CDOTAUserMsg_ShovelUnearth) GetPlayerId() int32 {
if x != nil && x.PlayerId != nil {
return *x.PlayerId
}
return 0
}
func (x *CDOTAUserMsg_ShovelUnearth) GetAllChat() bool {
if x != nil && x.AllChat != nil {
return *x.AllChat
}
return false
}
func (x *CDOTAUserMsg_ShovelUnearth) GetLocstring() string {
if x != nil && x.Locstring != nil {
return *x.Locstring
}
return ""
}
func (x *CDOTAUserMsg_ShovelUnearth) GetQuantity() uint32 {
if x != nil && x.Quantity != nil {
return *x.Quantity
}
return 0
}
type CDOTAUserMsg_AllStarEvent struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
SourcePlayerId *int32 `protobuf:"varint,1,opt,name=source_player_id,json=sourcePlayerId" json:"source_player_id,omitempty"`
TargetPlayerId *int32 `protobuf:"varint,2,opt,name=target_player_id,json=targetPlayerId" json:"target_player_id,omitempty"`
PointAmount *uint32 `protobuf:"varint,3,opt,name=point_amount,json=pointAmount" json:"point_amount,omitempty"`
EventId *uint32 `protobuf:"varint,4,opt,name=event_id,json=eventId" json:"event_id,omitempty"`
PlayerScores []*CDOTAUserMsg_AllStarEvent_PlayerScore `protobuf:"bytes,5,rep,name=player_scores,json=playerScores" json:"player_scores,omitempty"`
}
func (x *CDOTAUserMsg_AllStarEvent) Reset() {
*x = CDOTAUserMsg_AllStarEvent{}
if protoimpl.UnsafeEnabled {
mi := &file_dota_usermessages_proto_msgTypes[131]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *CDOTAUserMsg_AllStarEvent) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*CDOTAUserMsg_AllStarEvent) ProtoMessage() {}
func (x *CDOTAUserMsg_AllStarEvent) ProtoReflect() protoreflect.Message {
mi := &file_dota_usermessages_proto_msgTypes[131]
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_AllStarEvent.ProtoReflect.Descriptor instead.
func (*CDOTAUserMsg_AllStarEvent) Descriptor() ([]byte, []int) {
return file_dota_usermessages_proto_rawDescGZIP(), []int{131}
}
func (x *CDOTAUserMsg_AllStarEvent) GetSourcePlayerId() int32 {
if x != nil && x.SourcePlayerId != nil {
return *x.SourcePlayerId
}
return 0
}
func (x *CDOTAUserMsg_AllStarEvent) GetTargetPlayerId() int32 {
if x != nil && x.TargetPlayerId != nil {
return *x.TargetPlayerId
}
return 0
}
func (x *CDOTAUserMsg_AllStarEvent) GetPointAmount() uint32 {
if x != nil && x.PointAmount != nil {
return *x.PointAmount
}
return 0
}
func (x *CDOTAUserMsg_AllStarEvent) GetEventId() uint32 {
if x != nil && x.EventId != nil {
return *x.EventId
}
return 0
}
func (x *CDOTAUserMsg_AllStarEvent) GetPlayerScores() []*CDOTAUserMsg_AllStarEvent_PlayerScore {
if x != nil {
return x.PlayerScores
}
return nil
}
type CDOTAUserMsg_QueuedOrderRemoved struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
UnitOrderSequence []uint32 `protobuf:"varint,1,rep,name=unit_order_sequence,json=unitOrderSequence" json:"unit_order_sequence,omitempty"`
}
func (x *CDOTAUserMsg_QueuedOrderRemoved) Reset() {
*x = CDOTAUserMsg_QueuedOrderRemoved{}
if protoimpl.UnsafeEnabled {
mi := &file_dota_usermessages_proto_msgTypes[132]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *CDOTAUserMsg_QueuedOrderRemoved) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*CDOTAUserMsg_QueuedOrderRemoved) ProtoMessage() {}
func (x *CDOTAUserMsg_QueuedOrderRemoved) ProtoReflect() protoreflect.Message {
mi := &file_dota_usermessages_proto_msgTypes[132]
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_QueuedOrderRemoved.ProtoReflect.Descriptor instead.
func (*CDOTAUserMsg_QueuedOrderRemoved) Descriptor() ([]byte, []int) {
return file_dota_usermessages_proto_rawDescGZIP(), []int{132}
}
func (x *CDOTAUserMsg_QueuedOrderRemoved) GetUnitOrderSequence() []uint32 {
if x != nil {
return x.UnitOrderSequence
}
return nil
}
type CDOTAUserMsg_DebugChallenge struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
ChallengeType *uint32 `protobuf:"varint,1,req,name=challenge_type,json=challengeType" json:"challenge_type,omitempty"`
ChallengeQueryId *uint32 `protobuf:"varint,2,req,name=challenge_query_id,json=challengeQueryId" json:"challenge_query_id,omitempty"`
EventId *uint32 `protobuf:"varint,3,req,name=event_id,json=eventId" json:"event_id,omitempty"`
InstanceId *uint32 `protobuf:"varint,4,opt,name=instance_id,json=instanceId" json:"instance_id,omitempty"`
ChallengeVar_0 *uint32 `protobuf:"varint,5,opt,name=challenge_var_0,json=challengeVar0" json:"challenge_var_0,omitempty"`
ChallengeVar_1 *uint32 `protobuf:"varint,6,opt,name=challenge_var_1,json=challengeVar1" json:"challenge_var_1,omitempty"`
ChallengeMaxRank *uint32 `protobuf:"varint,7,opt,name=challenge_max_rank,json=challengeMaxRank" json:"challenge_max_rank,omitempty"`
}
func (x *CDOTAUserMsg_DebugChallenge) Reset() {
*x = CDOTAUserMsg_DebugChallenge{}
if protoimpl.UnsafeEnabled {
mi := &file_dota_usermessages_proto_msgTypes[133]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *CDOTAUserMsg_DebugChallenge) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*CDOTAUserMsg_DebugChallenge) ProtoMessage() {}
func (x *CDOTAUserMsg_DebugChallenge) ProtoReflect() protoreflect.Message {
mi := &file_dota_usermessages_proto_msgTypes[133]
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_DebugChallenge.ProtoReflect.Descriptor instead.
func (*CDOTAUserMsg_DebugChallenge) Descriptor() ([]byte, []int) {
return file_dota_usermessages_proto_rawDescGZIP(), []int{133}
}
func (x *CDOTAUserMsg_DebugChallenge) GetChallengeType() uint32 {
if x != nil && x.ChallengeType != nil {
return *x.ChallengeType
}
return 0
}
func (x *CDOTAUserMsg_DebugChallenge) GetChallengeQueryId() uint32 {
if x != nil && x.ChallengeQueryId != nil {
return *x.ChallengeQueryId
}
return 0
}
func (x *CDOTAUserMsg_DebugChallenge) GetEventId() uint32 {
if x != nil && x.EventId != nil {
return *x.EventId
}
return 0
}
func (x *CDOTAUserMsg_DebugChallenge) GetInstanceId() uint32 {
if x != nil && x.InstanceId != nil {
return *x.InstanceId
}
return 0
}
func (x *CDOTAUserMsg_DebugChallenge) GetChallengeVar_0() uint32 {
if x != nil && x.ChallengeVar_0 != nil {
return *x.ChallengeVar_0
}
return 0
}
func (x *CDOTAUserMsg_DebugChallenge) GetChallengeVar_1() uint32 {
if x != nil && x.ChallengeVar_1 != nil {
return *x.ChallengeVar_1
}
return 0
}
func (x *CDOTAUserMsg_DebugChallenge) GetChallengeMaxRank() uint32 {
if x != nil && x.ChallengeMaxRank != nil {
return *x.ChallengeMaxRank
}
return 0
}
type CDOTAUserMsg_FoundNeutralItem 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"`
ItemAbilityId *uint32 `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"`
}
func (x *CDOTAUserMsg_FoundNeutralItem) Reset() {
*x = CDOTAUserMsg_FoundNeutralItem{}
if protoimpl.UnsafeEnabled {
mi := &file_dota_usermessages_proto_msgTypes[134]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *CDOTAUserMsg_FoundNeutralItem) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*CDOTAUserMsg_FoundNeutralItem) ProtoMessage() {}
func (x *CDOTAUserMsg_FoundNeutralItem) ProtoReflect() protoreflect.Message {
mi := &file_dota_usermessages_proto_msgTypes[134]
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_FoundNeutralItem.ProtoReflect.Descriptor instead.
func (*CDOTAUserMsg_FoundNeutralItem) Descriptor() ([]byte, []int) {
return file_dota_usermessages_proto_rawDescGZIP(), []int{134}
}
func (x *CDOTAUserMsg_FoundNeutralItem) GetPlayerId() int32 {
if x != nil && x.PlayerId != nil {
return *x.PlayerId
}
return 0
}
func (x *CDOTAUserMsg_FoundNeutralItem) GetItemAbilityId() uint32 {
if x != nil && x.ItemAbilityId != nil {
return *x.ItemAbilityId
}
return 0
}
func (x *CDOTAUserMsg_FoundNeutralItem) GetItemTier() uint32 {
if x != nil && x.ItemTier != nil {
return *x.ItemTier
}
return 0
}
func (x *CDOTAUserMsg_FoundNeutralItem) GetTierItemCount() uint32 {
if x != nil && x.TierItemCount != nil {
return *x.TierItemCount
}
return 0
}
type CDOTAUserMsg_OutpostCaptured struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
OutpostEntindex *int32 `protobuf:"varint,1,opt,name=outpost_entindex,json=outpostEntindex" json:"outpost_entindex,omitempty"`
TeamId *uint32 `protobuf:"varint,2,opt,name=team_id,json=teamId" json:"team_id,omitempty"`
}
func (x *CDOTAUserMsg_OutpostCaptured) Reset() {
*x = CDOTAUserMsg_OutpostCaptured{}
if protoimpl.UnsafeEnabled {
mi := &file_dota_usermessages_proto_msgTypes[135]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *CDOTAUserMsg_OutpostCaptured) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*CDOTAUserMsg_OutpostCaptured) ProtoMessage() {}
func (x *CDOTAUserMsg_OutpostCaptured) ProtoReflect() protoreflect.Message {
mi := &file_dota_usermessages_proto_msgTypes[135]
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_OutpostCaptured.ProtoReflect.Descriptor instead.
func (*CDOTAUserMsg_OutpostCaptured) Descriptor() ([]byte, []int) {
return file_dota_usermessages_proto_rawDescGZIP(), []int{135}
}
func (x *CDOTAUserMsg_OutpostCaptured) GetOutpostEntindex() int32 {
if x != nil && x.OutpostEntindex != nil {
return *x.OutpostEntindex
}
return 0
}
func (x *CDOTAUserMsg_OutpostCaptured) GetTeamId() uint32 {
if x != nil && x.TeamId != nil {
return *x.TeamId
}
return 0
}
type CDOTAUserMsg_OutpostGrantedXP struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
TeamId *uint32 `protobuf:"varint,1,opt,name=team_id,json=teamId" json:"team_id,omitempty"`
XpAmount *uint32 `protobuf:"varint,2,opt,name=xp_amount,json=xpAmount" json:"xp_amount,omitempty"`
}
func (x *CDOTAUserMsg_OutpostGrantedXP) Reset() {
*x = CDOTAUserMsg_OutpostGrantedXP{}
if protoimpl.UnsafeEnabled {
mi := &file_dota_usermessages_proto_msgTypes[136]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *CDOTAUserMsg_OutpostGrantedXP) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*CDOTAUserMsg_OutpostGrantedXP) ProtoMessage() {}
func (x *CDOTAUserMsg_OutpostGrantedXP) ProtoReflect() protoreflect.Message {
mi := &file_dota_usermessages_proto_msgTypes[136]
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_OutpostGrantedXP.ProtoReflect.Descriptor instead.
func (*CDOTAUserMsg_OutpostGrantedXP) Descriptor() ([]byte, []int) {
return file_dota_usermessages_proto_rawDescGZIP(), []int{136}
}
func (x *CDOTAUserMsg_OutpostGrantedXP) GetTeamId() uint32 {
if x != nil && x.TeamId != nil {
return *x.TeamId
}
return 0
}
func (x *CDOTAUserMsg_OutpostGrantedXP) GetXpAmount() uint32 {
if x != nil && x.XpAmount != nil {
return *x.XpAmount
}
return 0
}
type CDOTAUserMsg_MoveCameraToUnit struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
UnitEhandle *uint32 `protobuf:"varint,1,opt,name=unit_ehandle,json=unitEhandle" json:"unit_ehandle,omitempty"`
}
func (x *CDOTAUserMsg_MoveCameraToUnit) Reset() {
*x = CDOTAUserMsg_MoveCameraToUnit{}
if protoimpl.UnsafeEnabled {
mi := &file_dota_usermessages_proto_msgTypes[137]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *CDOTAUserMsg_MoveCameraToUnit) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*CDOTAUserMsg_MoveCameraToUnit) ProtoMessage() {}
func (x *CDOTAUserMsg_MoveCameraToUnit) ProtoReflect() protoreflect.Message {
mi := &file_dota_usermessages_proto_msgTypes[137]
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_MoveCameraToUnit.ProtoReflect.Descriptor instead.
func (*CDOTAUserMsg_MoveCameraToUnit) Descriptor() ([]byte, []int) {
return file_dota_usermessages_proto_rawDescGZIP(), []int{137}
}
func (x *CDOTAUserMsg_MoveCameraToUnit) GetUnitEhandle() uint32 {
if x != nil && x.UnitEhandle != nil {
return *x.UnitEhandle
}
return 0
}
type CDOTAUserMsg_PauseMinigameData struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
DataBits []*CDOTAUserMsg_PauseMinigameData_DataBit `protobuf:"bytes,1,rep,name=data_bits,json=dataBits" json:"data_bits,omitempty"`
}
func (x *CDOTAUserMsg_PauseMinigameData) Reset() {
*x = CDOTAUserMsg_PauseMinigameData{}
if protoimpl.UnsafeEnabled {
mi := &file_dota_usermessages_proto_msgTypes[138]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *CDOTAUserMsg_PauseMinigameData) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*CDOTAUserMsg_PauseMinigameData) ProtoMessage() {}
func (x *CDOTAUserMsg_PauseMinigameData) ProtoReflect() protoreflect.Message {
mi := &file_dota_usermessages_proto_msgTypes[138]
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_PauseMinigameData.ProtoReflect.Descriptor instead.
func (*CDOTAUserMsg_PauseMinigameData) Descriptor() ([]byte, []int) {
return file_dota_usermessages_proto_rawDescGZIP(), []int{138}
}
func (x *CDOTAUserMsg_PauseMinigameData) GetDataBits() []*CDOTAUserMsg_PauseMinigameData_DataBit {
if x != nil {
return x.DataBits
}
return nil
}
type CDOTAUserMsg_VersusScene_PlayerBehavior 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"`
Behavior *EDOTAVersusScenePlayerBehavior `protobuf:"varint,2,opt,name=behavior,enum=EDOTAVersusScenePlayerBehavior,def=1" json:"behavior,omitempty"`
PlayActivity *VersusScene_PlayActivity `protobuf:"bytes,3,opt,name=play_activity,json=playActivity" json:"play_activity,omitempty"`
ChatWheel *VersusScene_ChatWheel `protobuf:"bytes,4,opt,name=chat_wheel,json=chatWheel" json:"chat_wheel,omitempty"`
PlaybackRate *VersusScene_PlaybackRate `protobuf:"bytes,5,opt,name=playback_rate,json=playbackRate" json:"playback_rate,omitempty"`
}
// Default values for CDOTAUserMsg_VersusScene_PlayerBehavior fields.
const (
Default_CDOTAUserMsg_VersusScene_PlayerBehavior_Behavior = EDOTAVersusScenePlayerBehavior_VS_PLAYER_BEHAVIOR_PLAY_ACTIVITY
)
func (x *CDOTAUserMsg_VersusScene_PlayerBehavior) Reset() {
*x = CDOTAUserMsg_VersusScene_PlayerBehavior{}
if protoimpl.UnsafeEnabled {
mi := &file_dota_usermessages_proto_msgTypes[139]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *CDOTAUserMsg_VersusScene_PlayerBehavior) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*CDOTAUserMsg_VersusScene_PlayerBehavior) ProtoMessage() {}
func (x *CDOTAUserMsg_VersusScene_PlayerBehavior) ProtoReflect() protoreflect.Message {
mi := &file_dota_usermessages_proto_msgTypes[139]
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_VersusScene_PlayerBehavior.ProtoReflect.Descriptor instead.
func (*CDOTAUserMsg_VersusScene_PlayerBehavior) Descriptor() ([]byte, []int) {
return file_dota_usermessages_proto_rawDescGZIP(), []int{139}
}
func (x *CDOTAUserMsg_VersusScene_PlayerBehavior) GetPlayerId() int32 {
if x != nil && x.PlayerId != nil {
return *x.PlayerId
}
return 0
}
func (x *CDOTAUserMsg_VersusScene_PlayerBehavior) GetBehavior() EDOTAVersusScenePlayerBehavior {
if x != nil && x.Behavior != nil {
return *x.Behavior
}
return Default_CDOTAUserMsg_VersusScene_PlayerBehavior_Behavior
}
func (x *CDOTAUserMsg_VersusScene_PlayerBehavior) GetPlayActivity() *VersusScene_PlayActivity {
if x != nil {
return x.PlayActivity
}
return nil
}
func (x *CDOTAUserMsg_VersusScene_PlayerBehavior) GetChatWheel() *VersusScene_ChatWheel {
if x != nil {
return x.ChatWheel
}
return nil
}
func (x *CDOTAUserMsg_VersusScene_PlayerBehavior) GetPlaybackRate() *VersusScene_PlaybackRate {
if x != nil {
return x.PlaybackRate
}
return nil
}
type CDOTAUserMsg_QoP_ArcanaSummary struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Ehandle *uint32 `protobuf:"varint,1,opt,name=ehandle" json:"ehandle,omitempty"`
ArcanaLevel *uint32 `protobuf:"varint,2,opt,name=arcana_level,json=arcanaLevel" json:"arcana_level,omitempty"`
PlayersHit *uint32 `protobuf:"varint,3,opt,name=players_hit,json=playersHit" json:"players_hit,omitempty"`
PlayersKilled *uint32 `protobuf:"varint,4,opt,name=players_killed,json=playersKilled" json:"players_killed,omitempty"`
}
func (x *CDOTAUserMsg_QoP_ArcanaSummary) Reset() {
*x = CDOTAUserMsg_QoP_ArcanaSummary{}
if protoimpl.UnsafeEnabled {
mi := &file_dota_usermessages_proto_msgTypes[140]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *CDOTAUserMsg_QoP_ArcanaSummary) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*CDOTAUserMsg_QoP_ArcanaSummary) ProtoMessage() {}
func (x *CDOTAUserMsg_QoP_ArcanaSummary) ProtoReflect() protoreflect.Message {
mi := &file_dota_usermessages_proto_msgTypes[140]
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_QoP_ArcanaSummary.ProtoReflect.Descriptor instead.
func (*CDOTAUserMsg_QoP_ArcanaSummary) Descriptor() ([]byte, []int) {
return file_dota_usermessages_proto_rawDescGZIP(), []int{140}
}
func (x *CDOTAUserMsg_QoP_ArcanaSummary) GetEhandle() uint32 {
if x != nil && x.Ehandle != nil {
return *x.Ehandle
}
return 0
}
func (x *CDOTAUserMsg_QoP_ArcanaSummary) GetArcanaLevel() uint32 {
if x != nil && x.ArcanaLevel != nil {
return *x.ArcanaLevel
}
return 0
}
func (x *CDOTAUserMsg_QoP_ArcanaSummary) GetPlayersHit() uint32 {
if x != nil && x.PlayersHit != nil {
return *x.PlayersHit
}
return 0
}
func (x *CDOTAUserMsg_QoP_ArcanaSummary) GetPlayersKilled() uint32 {
if x != nil && x.PlayersKilled != nil {
return *x.PlayersKilled
}
return 0
}
type CDOTAUserMsg_HotPotato_Created struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
PlayerId_1 *int32 `protobuf:"varint,1,opt,name=player_id_1,json=playerId1" json:"player_id_1,omitempty"`
PlayerId_2 *int32 `protobuf:"varint,2,opt,name=player_id_2,json=playerId2" json:"player_id_2,omitempty"`
}
func (x *CDOTAUserMsg_HotPotato_Created) Reset() {
*x = CDOTAUserMsg_HotPotato_Created{}
if protoimpl.UnsafeEnabled {
mi := &file_dota_usermessages_proto_msgTypes[141]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *CDOTAUserMsg_HotPotato_Created) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*CDOTAUserMsg_HotPotato_Created) ProtoMessage() {}
func (x *CDOTAUserMsg_HotPotato_Created) ProtoReflect() protoreflect.Message {
mi := &file_dota_usermessages_proto_msgTypes[141]
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_HotPotato_Created.ProtoReflect.Descriptor instead.
func (*CDOTAUserMsg_HotPotato_Created) Descriptor() ([]byte, []int) {
return file_dota_usermessages_proto_rawDescGZIP(), []int{141}
}
func (x *CDOTAUserMsg_HotPotato_Created) GetPlayerId_1() int32 {
if x != nil && x.PlayerId_1 != nil {
return *x.PlayerId_1
}
return 0
}
func (x *CDOTAUserMsg_HotPotato_Created) GetPlayerId_2() int32 {
if x != nil && x.PlayerId_2 != nil {
return *x.PlayerId_2
}
return 0
}
type CDOTAUserMsg_HotPotato_Exploded 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"`
}
func (x *CDOTAUserMsg_HotPotato_Exploded) Reset() {
*x = CDOTAUserMsg_HotPotato_Exploded{}
if protoimpl.UnsafeEnabled {
mi := &file_dota_usermessages_proto_msgTypes[142]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *CDOTAUserMsg_HotPotato_Exploded) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*CDOTAUserMsg_HotPotato_Exploded) ProtoMessage() {}
func (x *CDOTAUserMsg_HotPotato_Exploded) ProtoReflect() protoreflect.Message {
mi := &file_dota_usermessages_proto_msgTypes[142]
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_HotPotato_Exploded.ProtoReflect.Descriptor instead.
func (*CDOTAUserMsg_HotPotato_Exploded) Descriptor() ([]byte, []int) {
return file_dota_usermessages_proto_rawDescGZIP(), []int{142}
}
func (x *CDOTAUserMsg_HotPotato_Exploded) GetPlayerId() int32 {
if x != nil && x.PlayerId != nil {
return *x.PlayerId
}
return 0
}
type CDOTAUserMsg_WK_Arcana_Progress struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Ehandle *uint32 `protobuf:"varint,1,opt,name=ehandle" json:"ehandle,omitempty"`
ArcanaLevel *uint32 `protobuf:"varint,2,opt,name=arcana_level,json=arcanaLevel" json:"arcana_level,omitempty"`
HeroId *uint32 `protobuf:"varint,3,opt,name=hero_id,json=heroId" json:"hero_id,omitempty"`
}
func (x *CDOTAUserMsg_WK_Arcana_Progress) Reset() {
*x = CDOTAUserMsg_WK_Arcana_Progress{}
if protoimpl.UnsafeEnabled {
mi := &file_dota_usermessages_proto_msgTypes[143]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *CDOTAUserMsg_WK_Arcana_Progress) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*CDOTAUserMsg_WK_Arcana_Progress) ProtoMessage() {}
func (x *CDOTAUserMsg_WK_Arcana_Progress) ProtoReflect() protoreflect.Message {
mi := &file_dota_usermessages_proto_msgTypes[143]
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_WK_Arcana_Progress.ProtoReflect.Descriptor instead.
func (*CDOTAUserMsg_WK_Arcana_Progress) Descriptor() ([]byte, []int) {
return file_dota_usermessages_proto_rawDescGZIP(), []int{143}
}
func (x *CDOTAUserMsg_WK_Arcana_Progress) GetEhandle() uint32 {
if x != nil && x.Ehandle != nil {
return *x.Ehandle
}
return 0
}
func (x *CDOTAUserMsg_WK_Arcana_Progress) GetArcanaLevel() uint32 {
if x != nil && x.ArcanaLevel != nil {
return *x.ArcanaLevel
}
return 0
}
func (x *CDOTAUserMsg_WK_Arcana_Progress) GetHeroId() uint32 {
if x != nil && x.HeroId != nil {
return *x.HeroId
}
return 0
}
type CDOTAUserMsg_GuildChallenge_Progress struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
PlayerProgress []*CDOTAUserMsg_GuildChallenge_Progress_PlayerProgress `protobuf:"bytes,1,rep,name=player_progress,json=playerProgress" json:"player_progress,omitempty"`
GuildId *uint32 `protobuf:"varint,2,opt,name=guild_id,json=guildId" json:"guild_id,omitempty"`
ChallengeInstanceId *uint32 `protobuf:"varint,3,opt,name=challenge_instance_id,json=challengeInstanceId" json:"challenge_instance_id,omitempty"`
ChallengeParameter *uint32 `protobuf:"varint,4,opt,name=challenge_parameter,json=challengeParameter" json:"challenge_parameter,omitempty"`
ChallengeType *CDOTAUserMsg_GuildChallenge_Progress_EChallengeType `protobuf:"varint,5,opt,name=challenge_type,json=challengeType,enum=CDOTAUserMsg_GuildChallenge_Progress_EChallengeType,def=0" json:"challenge_type,omitempty"`
ChallengeProgressAtStart *uint32 `protobuf:"varint,7,opt,name=challenge_progress_at_start,json=challengeProgressAtStart" json:"challenge_progress_at_start,omitempty"`
Complete *bool `protobuf:"varint,8,opt,name=complete" json:"complete,omitempty"`
}
// Default values for CDOTAUserMsg_GuildChallenge_Progress fields.
const (
Default_CDOTAUserMsg_GuildChallenge_Progress_ChallengeType = CDOTAUserMsg_GuildChallenge_Progress_k_EChallengeType_Invalid
)
func (x *CDOTAUserMsg_GuildChallenge_Progress) Reset() {
*x = CDOTAUserMsg_GuildChallenge_Progress{}
if protoimpl.UnsafeEnabled {
mi := &file_dota_usermessages_proto_msgTypes[144]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *CDOTAUserMsg_GuildChallenge_Progress) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*CDOTAUserMsg_GuildChallenge_Progress) ProtoMessage() {}
func (x *CDOTAUserMsg_GuildChallenge_Progress) ProtoReflect() protoreflect.Message {
mi := &file_dota_usermessages_proto_msgTypes[144]
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_GuildChallenge_Progress.ProtoReflect.Descriptor instead.
func (*CDOTAUserMsg_GuildChallenge_Progress) Descriptor() ([]byte, []int) {
return file_dota_usermessages_proto_rawDescGZIP(), []int{144}
}
func (x *CDOTAUserMsg_GuildChallenge_Progress) GetPlayerProgress() []*CDOTAUserMsg_GuildChallenge_Progress_PlayerProgress {
if x != nil {
return x.PlayerProgress
}
return nil
}
func (x *CDOTAUserMsg_GuildChallenge_Progress) GetGuildId() uint32 {
if x != nil && x.GuildId != nil {
return *x.GuildId
}
return 0
}
func (x *CDOTAUserMsg_GuildChallenge_Progress) GetChallengeInstanceId() uint32 {
if x != nil && x.ChallengeInstanceId != nil {
return *x.ChallengeInstanceId
}
return 0
}
func (x *CDOTAUserMsg_GuildChallenge_Progress) GetChallengeParameter() uint32 {
if x != nil && x.ChallengeParameter != nil {
return *x.ChallengeParameter
}
return 0
}
func (x *CDOTAUserMsg_GuildChallenge_Progress) GetChallengeType() CDOTAUserMsg_GuildChallenge_Progress_EChallengeType {
if x != nil && x.ChallengeType != nil {
return *x.ChallengeType
}
return Default_CDOTAUserMsg_GuildChallenge_Progress_ChallengeType
}
func (x *CDOTAUserMsg_GuildChallenge_Progress) GetChallengeProgressAtStart() uint32 {
if x != nil && x.ChallengeProgressAtStart != nil {
return *x.ChallengeProgressAtStart
}
return 0
}
func (x *CDOTAUserMsg_GuildChallenge_Progress) GetComplete() bool {
if x != nil && x.Complete != nil {
return *x.Complete
}
return false
}
type CDOTAUserMsg_WRArcanaProgress struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Ehandle *uint32 `protobuf:"varint,1,opt,name=ehandle" json:"ehandle,omitempty"`
TargetEhandle *uint32 `protobuf:"varint,2,opt,name=target_ehandle,json=targetEhandle" json:"target_ehandle,omitempty"`
ArrowsLanded *uint32 `protobuf:"varint,3,opt,name=arrows_landed,json=arrowsLanded" json:"arrows_landed,omitempty"`
DamageDealt *uint32 `protobuf:"varint,4,opt,name=damage_dealt,json=damageDealt" json:"damage_dealt,omitempty"`
TargetHp *uint32 `protobuf:"varint,5,opt,name=target_hp,json=targetHp" json:"target_hp,omitempty"`
TargetMaxHp *uint32 `protobuf:"varint,6,opt,name=target_max_hp,json=targetMaxHp" json:"target_max_hp,omitempty"`
ArcanaLevel *uint32 `protobuf:"varint,7,opt,name=arcana_level,json=arcanaLevel" json:"arcana_level,omitempty"`
}
func (x *CDOTAUserMsg_WRArcanaProgress) Reset() {
*x = CDOTAUserMsg_WRArcanaProgress{}
if protoimpl.UnsafeEnabled {
mi := &file_dota_usermessages_proto_msgTypes[145]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *CDOTAUserMsg_WRArcanaProgress) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*CDOTAUserMsg_WRArcanaProgress) ProtoMessage() {}
func (x *CDOTAUserMsg_WRArcanaProgress) ProtoReflect() protoreflect.Message {
mi := &file_dota_usermessages_proto_msgTypes[145]
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_WRArcanaProgress.ProtoReflect.Descriptor instead.
func (*CDOTAUserMsg_WRArcanaProgress) Descriptor() ([]byte, []int) {
return file_dota_usermessages_proto_rawDescGZIP(), []int{145}
}
func (x *CDOTAUserMsg_WRArcanaProgress) GetEhandle() uint32 {
if x != nil && x.Ehandle != nil {
return *x.Ehandle
}
return 0
}
func (x *CDOTAUserMsg_WRArcanaProgress) GetTargetEhandle() uint32 {
if x != nil && x.TargetEhandle != nil {
return *x.TargetEhandle
}
return 0
}
func (x *CDOTAUserMsg_WRArcanaProgress) GetArrowsLanded() uint32 {
if x != nil && x.ArrowsLanded != nil {
return *x.ArrowsLanded
}
return 0
}
func (x *CDOTAUserMsg_WRArcanaProgress) GetDamageDealt() uint32 {
if x != nil && x.DamageDealt != nil {
return *x.DamageDealt
}
return 0
}
func (x *CDOTAUserMsg_WRArcanaProgress) GetTargetHp() uint32 {
if x != nil && x.TargetHp != nil {
return *x.TargetHp
}
return 0
}
func (x *CDOTAUserMsg_WRArcanaProgress) GetTargetMaxHp() uint32 {
if x != nil && x.TargetMaxHp != nil {
return *x.TargetMaxHp
}
return 0
}
func (x *CDOTAUserMsg_WRArcanaProgress) GetArcanaLevel() uint32 {
if x != nil && x.ArcanaLevel != nil {
return *x.ArcanaLevel
}
return 0
}
type CDOTAUserMsg_WRArcanaSummary struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Ehandle *uint32 `protobuf:"varint,1,opt,name=ehandle" json:"ehandle,omitempty"`
TargetEhandle *uint32 `protobuf:"varint,2,opt,name=target_ehandle,json=targetEhandle" json:"target_ehandle,omitempty"`
ArrowsLanded *uint32 `protobuf:"varint,3,opt,name=arrows_landed,json=arrowsLanded" json:"arrows_landed,omitempty"`
DamageDealt *uint32 `protobuf:"varint,4,opt,name=damage_dealt,json=damageDealt" json:"damage_dealt,omitempty"`
TargetHp *uint32 `protobuf:"varint,5,opt,name=target_hp,json=targetHp" json:"target_hp,omitempty"`
TargetMaxHp *uint32 `protobuf:"varint,6,opt,name=target_max_hp,json=targetMaxHp" json:"target_max_hp,omitempty"`
ArcanaLevel *uint32 `protobuf:"varint,7,opt,name=arcana_level,json=arcanaLevel" json:"arcana_level,omitempty"`
Success *bool `protobuf:"varint,8,opt,name=success" json:"success,omitempty"`
}
func (x *CDOTAUserMsg_WRArcanaSummary) Reset() {
*x = CDOTAUserMsg_WRArcanaSummary{}
if protoimpl.UnsafeEnabled {
mi := &file_dota_usermessages_proto_msgTypes[146]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *CDOTAUserMsg_WRArcanaSummary) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*CDOTAUserMsg_WRArcanaSummary) ProtoMessage() {}
func (x *CDOTAUserMsg_WRArcanaSummary) ProtoReflect() protoreflect.Message {
mi := &file_dota_usermessages_proto_msgTypes[146]
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_WRArcanaSummary.ProtoReflect.Descriptor instead.
func (*CDOTAUserMsg_WRArcanaSummary) Descriptor() ([]byte, []int) {
return file_dota_usermessages_proto_rawDescGZIP(), []int{146}
}
func (x *CDOTAUserMsg_WRArcanaSummary) GetEhandle() uint32 {
if x != nil && x.Ehandle != nil {
return *x.Ehandle
}
return 0
}
func (x *CDOTAUserMsg_WRArcanaSummary) GetTargetEhandle() uint32 {
if x != nil && x.TargetEhandle != nil {
return *x.TargetEhandle
}
return 0
}
func (x *CDOTAUserMsg_WRArcanaSummary) GetArrowsLanded() uint32 {
if x != nil && x.ArrowsLanded != nil {
return *x.ArrowsLanded
}
return 0
}
func (x *CDOTAUserMsg_WRArcanaSummary) GetDamageDealt() uint32 {
if x != nil && x.DamageDealt != nil {
return *x.DamageDealt
}
return 0
}
func (x *CDOTAUserMsg_WRArcanaSummary) GetTargetHp() uint32 {
if x != nil && x.TargetHp != nil {
return *x.TargetHp
}
return 0
}
func (x *CDOTAUserMsg_WRArcanaSummary) GetTargetMaxHp() uint32 {
if x != nil && x.TargetMaxHp != nil {
return *x.TargetMaxHp
}
return 0
}
func (x *CDOTAUserMsg_WRArcanaSummary) GetArcanaLevel() uint32 {
if x != nil && x.ArcanaLevel != nil {
return *x.ArcanaLevel
}
return 0
}
func (x *CDOTAUserMsg_WRArcanaSummary) GetSuccess() bool {
if x != nil && x.Success != nil {
return *x.Success
}
return false
}
type CDOTAUserMsg_EmptyItemSlotAlert struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
SourcePlayerId *int32 `protobuf:"varint,1,opt,name=source_player_id,json=sourcePlayerId" json:"source_player_id,omitempty"`
TargetPlayerId *int32 `protobuf:"varint,2,opt,name=target_player_id,json=targetPlayerId" json:"target_player_id,omitempty"`
SlotIndex *int32 `protobuf:"varint,3,opt,name=slot_index,json=slotIndex" json:"slot_index,omitempty"`
CooldownSeconds *int32 `protobuf:"varint,4,opt,name=cooldown_seconds,json=cooldownSeconds" json:"cooldown_seconds,omitempty"`
}
func (x *CDOTAUserMsg_EmptyItemSlotAlert) Reset() {
*x = CDOTAUserMsg_EmptyItemSlotAlert{}
if protoimpl.UnsafeEnabled {
mi := &file_dota_usermessages_proto_msgTypes[147]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *CDOTAUserMsg_EmptyItemSlotAlert) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*CDOTAUserMsg_EmptyItemSlotAlert) ProtoMessage() {}
func (x *CDOTAUserMsg_EmptyItemSlotAlert) ProtoReflect() protoreflect.Message {
mi := &file_dota_usermessages_proto_msgTypes[147]
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_EmptyItemSlotAlert.ProtoReflect.Descriptor instead.
func (*CDOTAUserMsg_EmptyItemSlotAlert) Descriptor() ([]byte, []int) {
return file_dota_usermessages_proto_rawDescGZIP(), []int{147}
}
func (x *CDOTAUserMsg_EmptyItemSlotAlert) GetSourcePlayerId() int32 {
if x != nil && x.SourcePlayerId != nil {
return *x.SourcePlayerId
}
return 0
}
func (x *CDOTAUserMsg_EmptyItemSlotAlert) GetTargetPlayerId() int32 {
if x != nil && x.TargetPlayerId != nil {
return *x.TargetPlayerId
}
return 0
}
func (x *CDOTAUserMsg_EmptyItemSlotAlert) GetSlotIndex() int32 {
if x != nil && x.SlotIndex != nil {
return *x.SlotIndex
}
return 0
}
func (x *CDOTAUserMsg_EmptyItemSlotAlert) GetCooldownSeconds() int32 {
if x != nil && x.CooldownSeconds != nil {
return *x.CooldownSeconds
}
return 0
}
type CDOTAUserMsg_AghsStatusAlert struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
SourcePlayerId *int32 `protobuf:"varint,1,opt,name=source_player_id,json=sourcePlayerId" json:"source_player_id,omitempty"`
TargetPlayerId *int32 `protobuf:"varint,2,opt,name=target_player_id,json=targetPlayerId" json:"target_player_id,omitempty"`
TargetEntindex *int32 `protobuf:"varint,3,opt,name=target_entindex,json=targetEntindex" json:"target_entindex,omitempty"`
AlertType *uint32 `protobuf:"varint,4,opt,name=alert_type,json=alertType" json:"alert_type,omitempty"`
HasScepter *bool `protobuf:"varint,5,opt,name=has_scepter,json=hasScepter" json:"has_scepter,omitempty"`
HasShard *bool `protobuf:"varint,6,opt,name=has_shard,json=hasShard" json:"has_shard,omitempty"`
}
func (x *CDOTAUserMsg_AghsStatusAlert) Reset() {
*x = CDOTAUserMsg_AghsStatusAlert{}
if protoimpl.UnsafeEnabled {
mi := &file_dota_usermessages_proto_msgTypes[148]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *CDOTAUserMsg_AghsStatusAlert) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*CDOTAUserMsg_AghsStatusAlert) ProtoMessage() {}
func (x *CDOTAUserMsg_AghsStatusAlert) ProtoReflect() protoreflect.Message {
mi := &file_dota_usermessages_proto_msgTypes[148]
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_AghsStatusAlert.ProtoReflect.Descriptor instead.
func (*CDOTAUserMsg_AghsStatusAlert) Descriptor() ([]byte, []int) {
return file_dota_usermessages_proto_rawDescGZIP(), []int{148}
}
func (x *CDOTAUserMsg_AghsStatusAlert) GetSourcePlayerId() int32 {
if x != nil && x.SourcePlayerId != nil {
return *x.SourcePlayerId
}
return 0
}
func (x *CDOTAUserMsg_AghsStatusAlert) GetTargetPlayerId() int32 {
if x != nil && x.TargetPlayerId != nil {
return *x.TargetPlayerId
}
return 0
}
func (x *CDOTAUserMsg_AghsStatusAlert) GetTargetEntindex() int32 {
if x != nil && x.TargetEntindex != nil {
return *x.TargetEntindex
}
return 0
}
func (x *CDOTAUserMsg_AghsStatusAlert) GetAlertType() uint32 {
if x != nil && x.AlertType != nil {
return *x.AlertType
}
return 0
}
func (x *CDOTAUserMsg_AghsStatusAlert) GetHasScepter() bool {
if x != nil && x.HasScepter != nil {
return *x.HasScepter
}
return false
}
func (x *CDOTAUserMsg_AghsStatusAlert) GetHasShard() bool {
if x != nil && x.HasShard != nil {
return *x.HasShard
}
return false
}
type CDOTAUserMsg_MutedPlayers struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
TextMutedPlayerIds []int32 `protobuf:"varint,1,rep,name=text_muted_player_ids,json=textMutedPlayerIds" json:"text_muted_player_ids,omitempty"`
VoiceMutedPlayerIds []int32 `protobuf:"varint,2,rep,name=voice_muted_player_ids,json=voiceMutedPlayerIds" json:"voice_muted_player_ids,omitempty"`
}
func (x *CDOTAUserMsg_MutedPlayers) Reset() {
*x = CDOTAUserMsg_MutedPlayers{}
if protoimpl.UnsafeEnabled {
mi := &file_dota_usermessages_proto_msgTypes[149]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *CDOTAUserMsg_MutedPlayers) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*CDOTAUserMsg_MutedPlayers) ProtoMessage() {}
func (x *CDOTAUserMsg_MutedPlayers) ProtoReflect() protoreflect.Message {
mi := &file_dota_usermessages_proto_msgTypes[149]
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_MutedPlayers.ProtoReflect.Descriptor instead.
func (*CDOTAUserMsg_MutedPlayers) Descriptor() ([]byte, []int) {
return file_dota_usermessages_proto_rawDescGZIP(), []int{149}
}
func (x *CDOTAUserMsg_MutedPlayers) GetTextMutedPlayerIds() []int32 {
if x != nil {
return x.TextMutedPlayerIds
}
return nil
}
func (x *CDOTAUserMsg_MutedPlayers) GetVoiceMutedPlayerIds() []int32 {
if x != nil {
return x.VoiceMutedPlayerIds
}
return nil
}
type CDOTAUserMsg_ContextualTip struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
TipId *int32 `protobuf:"varint,1,opt,name=tip_id,json=tipId" json:"tip_id,omitempty"`
ReferencedAbilities []string `protobuf:"bytes,2,rep,name=referenced_abilities,json=referencedAbilities" json:"referenced_abilities,omitempty"`
ReferencedUnits []string `protobuf:"bytes,3,rep,name=referenced_units,json=referencedUnits" json:"referenced_units,omitempty"`
PanoramaClasses []string `protobuf:"bytes,4,rep,name=panorama_classes,json=panoramaClasses" json:"panorama_classes,omitempty"`
ForceAnnotation *bool `protobuf:"varint,5,opt,name=force_annotation,json=forceAnnotation" json:"force_annotation,omitempty"`
Variant *int32 `protobuf:"varint,6,opt,name=variant" json:"variant,omitempty"`
IntParam *int32 `protobuf:"varint,7,opt,name=int_param,json=intParam" json:"int_param,omitempty"`
IntParam2 *int32 `protobuf:"varint,8,opt,name=int_param2,json=intParam2" json:"int_param2,omitempty"`
FloatParam *float32 `protobuf:"fixed32,9,opt,name=float_param,json=floatParam" json:"float_param,omitempty"`
FloatParam2 *float32 `protobuf:"fixed32,10,opt,name=float_param2,json=floatParam2" json:"float_param2,omitempty"`
StringParam *string `protobuf:"bytes,11,opt,name=string_param,json=stringParam" json:"string_param,omitempty"`
StringParam2 *string `protobuf:"bytes,12,opt,name=string_param2,json=stringParam2" json:"string_param2,omitempty"`
TipTextOverride *string `protobuf:"bytes,13,opt,name=tip_text_override,json=tipTextOverride" json:"tip_text_override,omitempty"`
TipAnnotationOverride *string `protobuf:"bytes,14,opt,name=tip_annotation_override,json=tipAnnotationOverride" json:"tip_annotation_override,omitempty"`
PanoramaSnippet *string `protobuf:"bytes,15,opt,name=panorama_snippet,json=panoramaSnippet" json:"panorama_snippet,omitempty"`
}
func (x *CDOTAUserMsg_ContextualTip) Reset() {
*x = CDOTAUserMsg_ContextualTip{}
if protoimpl.UnsafeEnabled {
mi := &file_dota_usermessages_proto_msgTypes[150]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *CDOTAUserMsg_ContextualTip) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*CDOTAUserMsg_ContextualTip) ProtoMessage() {}
func (x *CDOTAUserMsg_ContextualTip) ProtoReflect() protoreflect.Message {
mi := &file_dota_usermessages_proto_msgTypes[150]
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_ContextualTip.ProtoReflect.Descriptor instead.
func (*CDOTAUserMsg_ContextualTip) Descriptor() ([]byte, []int) {
return file_dota_usermessages_proto_rawDescGZIP(), []int{150}
}
func (x *CDOTAUserMsg_ContextualTip) GetTipId() int32 {
if x != nil && x.TipId != nil {
return *x.TipId
}
return 0
}
func (x *CDOTAUserMsg_ContextualTip) GetReferencedAbilities() []string {
if x != nil {
return x.ReferencedAbilities
}
return nil
}
func (x *CDOTAUserMsg_ContextualTip) GetReferencedUnits() []string {
if x != nil {
return x.ReferencedUnits
}
return nil
}
func (x *CDOTAUserMsg_ContextualTip) GetPanoramaClasses() []string {
if x != nil {
return x.PanoramaClasses
}
return nil
}
func (x *CDOTAUserMsg_ContextualTip) GetForceAnnotation() bool {
if x != nil && x.ForceAnnotation != nil {
return *x.ForceAnnotation
}
return false
}
func (x *CDOTAUserMsg_ContextualTip) GetVariant() int32 {
if x != nil && x.Variant != nil {
return *x.Variant
}
return 0
}
func (x *CDOTAUserMsg_ContextualTip) GetIntParam() int32 {
if x != nil && x.IntParam != nil {
return *x.IntParam
}
return 0
}
func (x *CDOTAUserMsg_ContextualTip) GetIntParam2() int32 {
if x != nil && x.IntParam2 != nil {
return *x.IntParam2
}
return 0
}
func (x *CDOTAUserMsg_ContextualTip) GetFloatParam() float32 {
if x != nil && x.FloatParam != nil {
return *x.FloatParam
}
return 0
}
func (x *CDOTAUserMsg_ContextualTip) GetFloatParam2() float32 {
if x != nil && x.FloatParam2 != nil {
return *x.FloatParam2
}
return 0
}
func (x *CDOTAUserMsg_ContextualTip) GetStringParam() string {
if x != nil && x.StringParam != nil {
return *x.StringParam
}
return ""
}
func (x *CDOTAUserMsg_ContextualTip) GetStringParam2() string {
if x != nil && x.StringParam2 != nil {
return *x.StringParam2
}
return ""
}
func (x *CDOTAUserMsg_ContextualTip) GetTipTextOverride() string {
if x != nil && x.TipTextOverride != nil {
return *x.TipTextOverride
}
return ""
}
func (x *CDOTAUserMsg_ContextualTip) GetTipAnnotationOverride() string {
if x != nil && x.TipAnnotationOverride != nil {
return *x.TipAnnotationOverride
}
return ""
}
func (x *CDOTAUserMsg_ContextualTip) GetPanoramaSnippet() string {
if x != nil && x.PanoramaSnippet != nil {
return *x.PanoramaSnippet
}
return ""
}
type CDOTAUserMsg_ChatMessage struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
SourcePlayerId *int32 `protobuf:"varint,1,opt,name=source_player_id,json=sourcePlayerId" json:"source_player_id,omitempty"`
ChannelType *uint32 `protobuf:"varint,2,opt,name=channel_type,json=channelType" json:"channel_type,omitempty"`
MessageText *string `protobuf:"bytes,3,opt,name=message_text,json=messageText" json:"message_text,omitempty"`
}
func (x *CDOTAUserMsg_ChatMessage) Reset() {
*x = CDOTAUserMsg_ChatMessage{}
if protoimpl.UnsafeEnabled {
mi := &file_dota_usermessages_proto_msgTypes[151]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *CDOTAUserMsg_ChatMessage) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*CDOTAUserMsg_ChatMessage) ProtoMessage() {}
func (x *CDOTAUserMsg_ChatMessage) ProtoReflect() protoreflect.Message {
mi := &file_dota_usermessages_proto_msgTypes[151]
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_ChatMessage.ProtoReflect.Descriptor instead.
func (*CDOTAUserMsg_ChatMessage) Descriptor() ([]byte, []int) {
return file_dota_usermessages_proto_rawDescGZIP(), []int{151}
}
func (x *CDOTAUserMsg_ChatMessage) GetSourcePlayerId() int32 {
if x != nil && x.SourcePlayerId != nil {
return *x.SourcePlayerId
}
return 0
}
func (x *CDOTAUserMsg_ChatMessage) GetChannelType() uint32 {
if x != nil && x.ChannelType != nil {
return *x.ChannelType
}
return 0
}
func (x *CDOTAUserMsg_ChatMessage) GetMessageText() string {
if x != nil && x.MessageText != nil {
return *x.MessageText
}
return ""
}
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[152]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *CDOTAUserMsg_MiniKillCamInfo_Attacker) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*CDOTAUserMsg_MiniKillCamInfo_Attacker) ProtoMessage() {}
func (x *CDOTAUserMsg_MiniKillCamInfo_Attacker) ProtoReflect() protoreflect.Message {
mi := &file_dota_usermessages_proto_msgTypes[152]
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_MiniKillCamInfo_Attacker.ProtoReflect.Descriptor instead.
func (*CDOTAUserMsg_MiniKillCamInfo_Attacker) Descriptor() ([]byte, []int) {
return file_dota_usermessages_proto_rawDescGZIP(), []int{8, 0}
}
func (x *CDOTAUserMsg_MiniKillCamInfo_Attacker) GetAttacker() uint32 {
if x != nil && x.Attacker != nil {
return *x.Attacker
}
return 0
}
func (x *CDOTAUserMsg_MiniKillCamInfo_Attacker) GetTotalDamage() int32 {
if x != nil && x.TotalDamage != nil {
return *x.TotalDamage
}
return 0
}
func (x *CDOTAUserMsg_MiniKillCamInfo_Attacker) GetAbilities() []*CDOTAUserMsg_MiniKillCamInfo_Attacker_Ability {
if x != nil {
return x.Abilities
}
return nil
}
func (x *CDOTAUserMsg_MiniKillCamInfo_Attacker) GetAttackerName() string {
if x != nil && x.AttackerName != nil {
return *x.AttackerName
}
return ""
}
type CDOTAUserMsg_MiniKillCamInfo_Attacker_Ability struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
AbilityId *uint32 `protobuf:"varint,1,opt,name=ability_id,json=abilityId" json:"ability_id,omitempty"`
Damage *int32 `protobuf:"varint,2,opt,name=damage" json:"damage,omitempty"`
}
func (x *CDOTAUserMsg_MiniKillCamInfo_Attacker_Ability) Reset() {
*x = CDOTAUserMsg_MiniKillCamInfo_Attacker_Ability{}
if protoimpl.UnsafeEnabled {
mi := &file_dota_usermessages_proto_msgTypes[153]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *CDOTAUserMsg_MiniKillCamInfo_Attacker_Ability) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*CDOTAUserMsg_MiniKillCamInfo_Attacker_Ability) ProtoMessage() {}
func (x *CDOTAUserMsg_MiniKillCamInfo_Attacker_Ability) ProtoReflect() protoreflect.Message {
mi := &file_dota_usermessages_proto_msgTypes[153]
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_MiniKillCamInfo_Attacker_Ability.ProtoReflect.Descriptor instead.
func (*CDOTAUserMsg_MiniKillCamInfo_Attacker_Ability) Descriptor() ([]byte, []int) {
return file_dota_usermessages_proto_rawDescGZIP(), []int{8, 0, 0}
}
func (x *CDOTAUserMsg_MiniKillCamInfo_Attacker_Ability) GetAbilityId() uint32 {
if x != nil && x.AbilityId != nil {
return *x.AbilityId
}
return 0
}
func (x *CDOTAUserMsg_MiniKillCamInfo_Attacker_Ability) GetDamage() int32 {
if x != nil && x.Damage != nil {
return *x.Damage
}
return 0
}
type CDOTAUserMsg_CourierKilledAlert_LostItem struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
ItemAbilityId *int32 `protobuf:"varint,1,opt,name=item_ability_id,json=itemAbilityId" json:"item_ability_id,omitempty"`
Quantity *uint32 `protobuf:"varint,2,opt,name=quantity" json:"quantity,omitempty"`
}
func (x *CDOTAUserMsg_CourierKilledAlert_LostItem) Reset() {
*x = CDOTAUserMsg_CourierKilledAlert_LostItem{}
if protoimpl.UnsafeEnabled {
mi := &file_dota_usermessages_proto_msgTypes[154]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *CDOTAUserMsg_CourierKilledAlert_LostItem) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*CDOTAUserMsg_CourierKilledAlert_LostItem) ProtoMessage() {}
func (x *CDOTAUserMsg_CourierKilledAlert_LostItem) ProtoReflect() protoreflect.Message {
mi := &file_dota_usermessages_proto_msgTypes[154]
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_CourierKilledAlert_LostItem.ProtoReflect.Descriptor instead.
func (*CDOTAUserMsg_CourierKilledAlert_LostItem) Descriptor() ([]byte, []int) {
return file_dota_usermessages_proto_rawDescGZIP(), []int{25, 0}
}
func (x *CDOTAUserMsg_CourierKilledAlert_LostItem) GetItemAbilityId() int32 {
if x != nil && x.ItemAbilityId != nil {
return *x.ItemAbilityId
}
return 0
}
func (x *CDOTAUserMsg_CourierKilledAlert_LostItem) GetQuantity() uint32 {
if x != nil && x.Quantity != nil {
return *x.Quantity
}
return 0
}
type CDOTAUserMsg_PredictionResult_Prediction struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
ItemDef *uint32 `protobuf:"varint,1,opt,name=item_def,json=itemDef" json:"item_def,omitempty"`
NumCorrect *uint32 `protobuf:"varint,2,opt,name=num_correct,json=numCorrect" json:"num_correct,omitempty"`
NumFails *uint32 `protobuf:"varint,3,opt,name=num_fails,json=numFails" json:"num_fails,omitempty"`
Result *CDOTAUserMsg_PredictionResult_Prediction_EResult `protobuf:"varint,4,opt,name=result,enum=CDOTAUserMsg_PredictionResult_Prediction_EResult,def=1" json:"result,omitempty"`
GrantedItemDefs []uint32 `protobuf:"varint,6,rep,name=granted_item_defs,json=grantedItemDefs" json:"granted_item_defs,omitempty"`
}
// Default values for CDOTAUserMsg_PredictionResult_Prediction fields.
const (
Default_CDOTAUserMsg_PredictionResult_Prediction_Result = CDOTAUserMsg_PredictionResult_Prediction_k_eResult_ItemGranted
)
func (x *CDOTAUserMsg_PredictionResult_Prediction) Reset() {
*x = CDOTAUserMsg_PredictionResult_Prediction{}
if protoimpl.UnsafeEnabled {
mi := &file_dota_usermessages_proto_msgTypes[155]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *CDOTAUserMsg_PredictionResult_Prediction) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*CDOTAUserMsg_PredictionResult_Prediction) ProtoMessage() {}
func (x *CDOTAUserMsg_PredictionResult_Prediction) ProtoReflect() protoreflect.Message {
mi := &file_dota_usermessages_proto_msgTypes[155]
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_PredictionResult_Prediction.ProtoReflect.Descriptor instead.
func (*CDOTAUserMsg_PredictionResult_Prediction) Descriptor() ([]byte, []int) {
return file_dota_usermessages_proto_rawDescGZIP(), []int{40, 0}
}
func (x *CDOTAUserMsg_PredictionResult_Prediction) GetItemDef() uint32 {
if x != nil && x.ItemDef != nil {
return *x.ItemDef
}
return 0
}
func (x *CDOTAUserMsg_PredictionResult_Prediction) GetNumCorrect() uint32 {
if x != nil && x.NumCorrect != nil {
return *x.NumCorrect
}
return 0
}
func (x *CDOTAUserMsg_PredictionResult_Prediction) GetNumFails() uint32 {
if x != nil && x.NumFails != nil {
return *x.NumFails
}
return 0
}
func (x *CDOTAUserMsg_PredictionResult_Prediction) GetResult() CDOTAUserMsg_PredictionResult_Prediction_EResult {
if x != nil && x.Result != nil {
return *x.Result
}
return Default_CDOTAUserMsg_PredictionResult_Prediction_Result
}
func (x *CDOTAUserMsg_PredictionResult_Prediction) GetGrantedItemDefs() []uint32 {
if x != nil {
return x.GrantedItemDefs
}
return nil
}
type CDOTAResponseQuerySerialized_Fact struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Key *int32 `protobuf:"varint,1,req,name=key" json:"key,omitempty"`
Valtype *CDOTAResponseQuerySerialized_Fact_ValueType `protobuf:"varint,2,req,name=valtype,enum=CDOTAResponseQuerySerialized_Fact_ValueType,def=1" json:"valtype,omitempty"`
ValNumeric *float32 `protobuf:"fixed32,3,opt,name=val_numeric,json=valNumeric" json:"val_numeric,omitempty"`
ValString *string `protobuf:"bytes,4,opt,name=val_string,json=valString" json:"val_string,omitempty"`
ValStringtableIndex *int32 `protobuf:"varint,5,opt,name=val_stringtable_index,json=valStringtableIndex" json:"val_stringtable_index,omitempty"`
ValIntNumeric *int32 `protobuf:"zigzag32,6,opt,name=val_int_numeric,json=valIntNumeric" json:"val_int_numeric,omitempty"`
}
// Default values for CDOTAResponseQuerySerialized_Fact fields.
const (
Default_CDOTAResponseQuerySerialized_Fact_Valtype = CDOTAResponseQuerySerialized_Fact_NUMERIC
)
func (x *CDOTAResponseQuerySerialized_Fact) Reset() {
*x = CDOTAResponseQuerySerialized_Fact{}
if protoimpl.UnsafeEnabled {
mi := &file_dota_usermessages_proto_msgTypes[156]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *CDOTAResponseQuerySerialized_Fact) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*CDOTAResponseQuerySerialized_Fact) ProtoMessage() {}
func (x *CDOTAResponseQuerySerialized_Fact) ProtoReflect() protoreflect.Message {
mi := &file_dota_usermessages_proto_msgTypes[156]
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 CDOTAResponseQuerySerialized_Fact.ProtoReflect.Descriptor instead.
func (*CDOTAResponseQuerySerialized_Fact) Descriptor() ([]byte, []int) {
return file_dota_usermessages_proto_rawDescGZIP(), []int{41, 0}
}
func (x *CDOTAResponseQuerySerialized_Fact) GetKey() int32 {
if x != nil && x.Key != nil {
return *x.Key
}
return 0
}
func (x *CDOTAResponseQuerySerialized_Fact) GetValtype() CDOTAResponseQuerySerialized_Fact_ValueType {
if x != nil && x.Valtype != nil {
return *x.Valtype
}
return Default_CDOTAResponseQuerySerialized_Fact_Valtype
}
func (x *CDOTAResponseQuerySerialized_Fact) GetValNumeric() float32 {
if x != nil && x.ValNumeric != nil {
return *x.ValNumeric
}
return 0
}
func (x *CDOTAResponseQuerySerialized_Fact) GetValString() string {
if x != nil && x.ValString != nil {
return *x.ValString
}
return ""
}
func (x *CDOTAResponseQuerySerialized_Fact) GetValStringtableIndex() int32 {
if x != nil && x.ValStringtableIndex != nil {
return *x.ValStringtableIndex
}
return 0
}
func (x *CDOTAResponseQuerySerialized_Fact) GetValIntNumeric() int32 {
if x != nil && x.ValIntNumeric != nil {
return *x.ValIntNumeric
}
return 0
}
type CDOTAUserMsg_UnitEvent_Interval struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Start *float32 `protobuf:"fixed32,1,opt,name=start" json:"start,omitempty"`
Range *float32 `protobuf:"fixed32,2,opt,name=range" json:"range,omitempty"`
}
func (x *CDOTAUserMsg_UnitEvent_Interval) Reset() {
*x = CDOTAUserMsg_UnitEvent_Interval{}
if protoimpl.UnsafeEnabled {
mi := &file_dota_usermessages_proto_msgTypes[157]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *CDOTAUserMsg_UnitEvent_Interval) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*CDOTAUserMsg_UnitEvent_Interval) ProtoMessage() {}
func (x *CDOTAUserMsg_UnitEvent_Interval) ProtoReflect() protoreflect.Message {
mi := &file_dota_usermessages_proto_msgTypes[157]
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_UnitEvent_Interval.ProtoReflect.Descriptor instead.
func (*CDOTAUserMsg_UnitEvent_Interval) Descriptor() ([]byte, []int) {
return file_dota_usermessages_proto_rawDescGZIP(), []int{43, 0}
}
func (x *CDOTAUserMsg_UnitEvent_Interval) GetStart() float32 {
if x != nil && x.Start != nil {
return *x.Start
}
return 0
}
func (x *CDOTAUserMsg_UnitEvent_Interval) GetRange() float32 {
if x != nil && x.Range != nil {
return *x.Range
}
return 0
}
type CDOTAUserMsg_UnitEvent_Speech struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
SpeechConcept *int32 `protobuf:"varint,1,opt,name=speech_concept,json=speechConcept" json:"speech_concept,omitempty"`
Response *string `protobuf:"bytes,2,opt,name=response" json:"response,omitempty"`
RecipientType *int32 `protobuf:"varint,3,opt,name=recipient_type,json=recipientType" json:"recipient_type,omitempty"`
Level *int32 `protobuf:"varint,4,opt,name=level" json:"level,omitempty"`
Muteable *bool `protobuf:"varint,5,opt,name=muteable,def=0" 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"`
}
// Default values for CDOTAUserMsg_UnitEvent_Speech fields.
const (
Default_CDOTAUserMsg_UnitEvent_Speech_Muteable = bool(false)
)
func (x *CDOTAUserMsg_UnitEvent_Speech) Reset() {
*x = CDOTAUserMsg_UnitEvent_Speech{}
if protoimpl.UnsafeEnabled {
mi := &file_dota_usermessages_proto_msgTypes[158]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *CDOTAUserMsg_UnitEvent_Speech) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*CDOTAUserMsg_UnitEvent_Speech) ProtoMessage() {}
func (x *CDOTAUserMsg_UnitEvent_Speech) ProtoReflect() protoreflect.Message {
mi := &file_dota_usermessages_proto_msgTypes[158]
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_UnitEvent_Speech.ProtoReflect.Descriptor instead.
func (*CDOTAUserMsg_UnitEvent_Speech) Descriptor() ([]byte, []int) {
return file_dota_usermessages_proto_rawDescGZIP(), []int{43, 1}
}
func (x *CDOTAUserMsg_UnitEvent_Speech) GetSpeechConcept() int32 {
if x != nil && x.SpeechConcept != nil {
return *x.SpeechConcept
}
return 0
}
func (x *CDOTAUserMsg_UnitEvent_Speech) GetResponse() string {
if x != nil && x.Response != nil {
return *x.Response
}
return ""
}
func (x *CDOTAUserMsg_UnitEvent_Speech) GetRecipientType() int32 {
if x != nil && x.RecipientType != nil {
return *x.RecipientType
}
return 0
}
func (x *CDOTAUserMsg_UnitEvent_Speech) GetLevel() int32 {
if x != nil && x.Level != nil {
return *x.Level
}
return 0
}
func (x *CDOTAUserMsg_UnitEvent_Speech) GetMuteable() bool {
if x != nil && x.Muteable != nil {
return *x.Muteable
}
return Default_CDOTAUserMsg_UnitEvent_Speech_Muteable
}
func (x *CDOTAUserMsg_UnitEvent_Speech) GetPredelay() *CDOTAUserMsg_UnitEvent_Interval {
if x != nil {
return x.Predelay
}
return nil
}
func (x *CDOTAUserMsg_UnitEvent_Speech) GetFlags() uint32 {
if x != nil && x.Flags != nil {
return *x.Flags
}
return 0
}
type CDOTAUserMsg_UnitEvent_SpeechMute struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Delay *float32 `protobuf:"fixed32,1,opt,name=delay,def=0.5" json:"delay,omitempty"`
}
// Default values for CDOTAUserMsg_UnitEvent_SpeechMute fields.
const (
Default_CDOTAUserMsg_UnitEvent_SpeechMute_Delay = float32(0.5)
)
func (x *CDOTAUserMsg_UnitEvent_SpeechMute) Reset() {
*x = CDOTAUserMsg_UnitEvent_SpeechMute{}
if protoimpl.UnsafeEnabled {
mi := &file_dota_usermessages_proto_msgTypes[159]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *CDOTAUserMsg_UnitEvent_SpeechMute) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*CDOTAUserMsg_UnitEvent_SpeechMute) ProtoMessage() {}
func (x *CDOTAUserMsg_UnitEvent_SpeechMute) ProtoReflect() protoreflect.Message {
mi := &file_dota_usermessages_proto_msgTypes[159]
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_UnitEvent_SpeechMute.ProtoReflect.Descriptor instead.
func (*CDOTAUserMsg_UnitEvent_SpeechMute) Descriptor() ([]byte, []int) {
return file_dota_usermessages_proto_rawDescGZIP(), []int{43, 2}
}
func (x *CDOTAUserMsg_UnitEvent_SpeechMute) GetDelay() float32 {
if x != nil && x.Delay != nil {
return *x.Delay
}
return Default_CDOTAUserMsg_UnitEvent_SpeechMute_Delay
}
type CDOTAUserMsg_UnitEvent_AddGesture struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Activity *int32 `protobuf:"varint,1,opt,name=activity" json:"activity,omitempty"`
Slot *int32 `protobuf:"varint,2,opt,name=slot" json:"slot,omitempty"`
FadeIn *float32 `protobuf:"fixed32,3,opt,name=fade_in,json=fadeIn,def=0" json:"fade_in,omitempty"`
FadeOut *float32 `protobuf:"fixed32,4,opt,name=fade_out,json=fadeOut,def=0.1" json:"fade_out,omitempty"`
PlaybackRate *float32 `protobuf:"fixed32,5,opt,name=playback_rate,json=playbackRate,def=1" json:"playback_rate,omitempty"`
SequenceVariant *int32 `protobuf:"varint,6,opt,name=sequence_variant,json=sequenceVariant" json:"sequence_variant,omitempty"`
}
// Default values for CDOTAUserMsg_UnitEvent_AddGesture fields.
const (
Default_CDOTAUserMsg_UnitEvent_AddGesture_FadeIn = float32(0)
Default_CDOTAUserMsg_UnitEvent_AddGesture_FadeOut = float32(0.10000000149011612)
Default_CDOTAUserMsg_UnitEvent_AddGesture_PlaybackRate = float32(1)
)
func (x *CDOTAUserMsg_UnitEvent_AddGesture) Reset() {
*x = CDOTAUserMsg_UnitEvent_AddGesture{}
if protoimpl.UnsafeEnabled {
mi := &file_dota_usermessages_proto_msgTypes[160]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *CDOTAUserMsg_UnitEvent_AddGesture) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*CDOTAUserMsg_UnitEvent_AddGesture) ProtoMessage() {}
func (x *CDOTAUserMsg_UnitEvent_AddGesture) ProtoReflect() protoreflect.Message {
mi := &file_dota_usermessages_proto_msgTypes[160]
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_UnitEvent_AddGesture.ProtoReflect.Descriptor instead.
func (*CDOTAUserMsg_UnitEvent_AddGesture) Descriptor() ([]byte, []int) {
return file_dota_usermessages_proto_rawDescGZIP(), []int{43, 3}
}
func (x *CDOTAUserMsg_UnitEvent_AddGesture) GetActivity() int32 {
if x != nil && x.Activity != nil {
return *x.Activity
}
return 0
}
func (x *CDOTAUserMsg_UnitEvent_AddGesture) GetSlot() int32 {
if x != nil && x.Slot != nil {
return *x.Slot
}
return 0
}
func (x *CDOTAUserMsg_UnitEvent_AddGesture) GetFadeIn() float32 {
if x != nil && x.FadeIn != nil {
return *x.FadeIn
}
return Default_CDOTAUserMsg_UnitEvent_AddGesture_FadeIn
}
func (x *CDOTAUserMsg_UnitEvent_AddGesture) GetFadeOut() float32 {
if x != nil && x.FadeOut != nil {
return *x.FadeOut
}
return Default_CDOTAUserMsg_UnitEvent_AddGesture_FadeOut
}
func (x *CDOTAUserMsg_UnitEvent_AddGesture) GetPlaybackRate() float32 {
if x != nil && x.PlaybackRate != nil {
return *x.PlaybackRate
}
return Default_CDOTAUserMsg_UnitEvent_AddGesture_PlaybackRate
}
func (x *CDOTAUserMsg_UnitEvent_AddGesture) GetSequenceVariant() int32 {
if x != nil && x.SequenceVariant != nil {
return *x.SequenceVariant
}
return 0
}
type CDOTAUserMsg_UnitEvent_RemoveGesture struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Activity *int32 `protobuf:"varint,1,opt,name=activity" json:"activity,omitempty"`
}
func (x *CDOTAUserMsg_UnitEvent_RemoveGesture) Reset() {
*x = CDOTAUserMsg_UnitEvent_RemoveGesture{}
if protoimpl.UnsafeEnabled {
mi := &file_dota_usermessages_proto_msgTypes[161]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *CDOTAUserMsg_UnitEvent_RemoveGesture) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*CDOTAUserMsg_UnitEvent_RemoveGesture) ProtoMessage() {}
func (x *CDOTAUserMsg_UnitEvent_RemoveGesture) ProtoReflect() protoreflect.Message {
mi := &file_dota_usermessages_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 CDOTAUserMsg_UnitEvent_RemoveGesture.ProtoReflect.Descriptor instead.
func (*CDOTAUserMsg_UnitEvent_RemoveGesture) Descriptor() ([]byte, []int) {
return file_dota_usermessages_proto_rawDescGZIP(), []int{43, 4}
}
func (x *CDOTAUserMsg_UnitEvent_RemoveGesture) GetActivity() int32 {
if x != nil && x.Activity != nil {
return *x.Activity
}
return 0
}
type CDOTAUserMsg_UnitEvent_BloodImpact struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Scale *int32 `protobuf:"varint,1,opt,name=scale" json:"scale,omitempty"`
XNormal *int32 `protobuf:"varint,2,opt,name=x_normal,json=xNormal" json:"x_normal,omitempty"`
YNormal *int32 `protobuf:"varint,3,opt,name=y_normal,json=yNormal" json:"y_normal,omitempty"`
}
func (x *CDOTAUserMsg_UnitEvent_BloodImpact) Reset() {
*x = CDOTAUserMsg_UnitEvent_BloodImpact{}
if protoimpl.UnsafeEnabled {
mi := &file_dota_usermessages_proto_msgTypes[162]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *CDOTAUserMsg_UnitEvent_BloodImpact) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*CDOTAUserMsg_UnitEvent_BloodImpact) ProtoMessage() {}
func (x *CDOTAUserMsg_UnitEvent_BloodImpact) ProtoReflect() protoreflect.Message {
mi := &file_dota_usermessages_proto_msgTypes[162]
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_UnitEvent_BloodImpact.ProtoReflect.Descriptor instead.
func (*CDOTAUserMsg_UnitEvent_BloodImpact) Descriptor() ([]byte, []int) {
return file_dota_usermessages_proto_rawDescGZIP(), []int{43, 5}
}
func (x *CDOTAUserMsg_UnitEvent_BloodImpact) GetScale() int32 {
if x != nil && x.Scale != nil {
return *x.Scale
}
return 0
}
func (x *CDOTAUserMsg_UnitEvent_BloodImpact) GetXNormal() int32 {
if x != nil && x.XNormal != nil {
return *x.XNormal
}
return 0
}
func (x *CDOTAUserMsg_UnitEvent_BloodImpact) GetYNormal() int32 {
if x != nil && x.YNormal != nil {
return *x.YNormal
}
return 0
}
type CDOTAUserMsg_UnitEvent_FadeGesture struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Activity *int32 `protobuf:"varint,1,opt,name=activity" json:"activity,omitempty"`
}
func (x *CDOTAUserMsg_UnitEvent_FadeGesture) Reset() {
*x = CDOTAUserMsg_UnitEvent_FadeGesture{}
if protoimpl.UnsafeEnabled {
mi := &file_dota_usermessages_proto_msgTypes[163]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *CDOTAUserMsg_UnitEvent_FadeGesture) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*CDOTAUserMsg_UnitEvent_FadeGesture) ProtoMessage() {}
func (x *CDOTAUserMsg_UnitEvent_FadeGesture) ProtoReflect() protoreflect.Message {
mi := &file_dota_usermessages_proto_msgTypes[163]
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_UnitEvent_FadeGesture.ProtoReflect.Descriptor instead.
func (*CDOTAUserMsg_UnitEvent_FadeGesture) Descriptor() ([]byte, []int) {
return file_dota_usermessages_proto_rawDescGZIP(), []int{43, 6}
}
func (x *CDOTAUserMsg_UnitEvent_FadeGesture) GetActivity() int32 {
if x != nil && x.Activity != nil {
return *x.Activity
}
return 0
}
type CDOTAUserMsg_StatsHeroPositionInfo_PositionPair struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
PositionCategory *DOTA_POSITION_CATEGORY `protobuf:"varint,1,opt,name=position_category,json=positionCategory,enum=DOTA_POSITION_CATEGORY,def=0" json:"position_category,omitempty"`
PositionCount *uint32 `protobuf:"varint,2,opt,name=position_count,json=positionCount" json:"position_count,omitempty"`
}
// Default values for CDOTAUserMsg_StatsHeroPositionInfo_PositionPair fields.
const (
Default_CDOTAUserMsg_StatsHeroPositionInfo_PositionPair_PositionCategory = DOTA_POSITION_CATEGORY_DOTA_POSITION_NONE
)
func (x *CDOTAUserMsg_StatsHeroPositionInfo_PositionPair) Reset() {
*x = CDOTAUserMsg_StatsHeroPositionInfo_PositionPair{}
if protoimpl.UnsafeEnabled {
mi := &file_dota_usermessages_proto_msgTypes[164]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *CDOTAUserMsg_StatsHeroPositionInfo_PositionPair) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*CDOTAUserMsg_StatsHeroPositionInfo_PositionPair) ProtoMessage() {}
func (x *CDOTAUserMsg_StatsHeroPositionInfo_PositionPair) 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_StatsHeroPositionInfo_PositionPair.ProtoReflect.Descriptor instead.
func (*CDOTAUserMsg_StatsHeroPositionInfo_PositionPair) Descriptor() ([]byte, []int) {
return file_dota_usermessages_proto_rawDescGZIP(), []int{86, 0}
}
func (x *CDOTAUserMsg_StatsHeroPositionInfo_PositionPair) GetPositionCategory() DOTA_POSITION_CATEGORY {
if x != nil && x.PositionCategory != nil {
return *x.PositionCategory
}
return Default_CDOTAUserMsg_StatsHeroPositionInfo_PositionPair_PositionCategory
}
func (x *CDOTAUserMsg_StatsHeroPositionInfo_PositionPair) GetPositionCount() uint32 {
if x != nil && x.PositionCount != nil {
return *x.PositionCount
}
return 0
}
type CDOTAUserMsg_StatsTeamMinuteDetails_LocationPerformance struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
LocationCategory *uint32 `protobuf:"varint,1,opt,name=location_category,json=locationCategory" json:"location_category,omitempty"`
StatType *uint32 `protobuf:"varint,2,opt,name=stat_type,json=statType" json:"stat_type,omitempty"`
Value *uint32 `protobuf:"varint,3,opt,name=value" json:"value,omitempty"`
}
func (x *CDOTAUserMsg_StatsTeamMinuteDetails_LocationPerformance) Reset() {
*x = CDOTAUserMsg_StatsTeamMinuteDetails_LocationPerformance{}
if protoimpl.UnsafeEnabled {
mi := &file_dota_usermessages_proto_msgTypes[165]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *CDOTAUserMsg_StatsTeamMinuteDetails_LocationPerformance) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*CDOTAUserMsg_StatsTeamMinuteDetails_LocationPerformance) ProtoMessage() {}
func (x *CDOTAUserMsg_StatsTeamMinuteDetails_LocationPerformance) 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_StatsTeamMinuteDetails_LocationPerformance.ProtoReflect.Descriptor instead.
func (*CDOTAUserMsg_StatsTeamMinuteDetails_LocationPerformance) Descriptor() ([]byte, []int) {
return file_dota_usermessages_proto_rawDescGZIP(), []int{88, 0}
}
func (x *CDOTAUserMsg_StatsTeamMinuteDetails_LocationPerformance) GetLocationCategory() uint32 {
if x != nil && x.LocationCategory != nil {
return *x.LocationCategory
}
return 0
}
func (x *CDOTAUserMsg_StatsTeamMinuteDetails_LocationPerformance) GetStatType() uint32 {
if x != nil && x.StatType != nil {
return *x.StatType
}
return 0
}
func (x *CDOTAUserMsg_StatsTeamMinuteDetails_LocationPerformance) GetValue() uint32 {
if x != nil && x.Value != nil {
return *x.Value
}
return 0
}
type CDOTAUserMsg_StatsMatchDetails_CDOTAUserMsg_StatsFightTeamDetails struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Participants []int32 `protobuf:"varint,1,rep,name=participants" json:"participants,omitempty"`
Deaths []int32 `protobuf:"varint,2,rep,name=deaths" json:"deaths,omitempty"`
GoldDelta *uint32 `protobuf:"varint,3,opt,name=gold_delta,json=goldDelta" json:"gold_delta,omitempty"`
XpDelta *uint32 `protobuf:"varint,4,opt,name=xp_delta,json=xpDelta" json:"xp_delta,omitempty"`
}
func (x *CDOTAUserMsg_StatsMatchDetails_CDOTAUserMsg_StatsFightTeamDetails) Reset() {
*x = CDOTAUserMsg_StatsMatchDetails_CDOTAUserMsg_StatsFightTeamDetails{}
if protoimpl.UnsafeEnabled {
mi := &file_dota_usermessages_proto_msgTypes[166]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *CDOTAUserMsg_StatsMatchDetails_CDOTAUserMsg_StatsFightTeamDetails) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*CDOTAUserMsg_StatsMatchDetails_CDOTAUserMsg_StatsFightTeamDetails) ProtoMessage() {}
func (x *CDOTAUserMsg_StatsMatchDetails_CDOTAUserMsg_StatsFightTeamDetails) 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_StatsMatchDetails_CDOTAUserMsg_StatsFightTeamDetails.ProtoReflect.Descriptor instead.
func (*CDOTAUserMsg_StatsMatchDetails_CDOTAUserMsg_StatsFightTeamDetails) Descriptor() ([]byte, []int) {
return file_dota_usermessages_proto_rawDescGZIP(), []int{91, 0}
}
func (x *CDOTAUserMsg_StatsMatchDetails_CDOTAUserMsg_StatsFightTeamDetails) GetParticipants() []int32 {
if x != nil {
return x.Participants
}
return nil
}
func (x *CDOTAUserMsg_StatsMatchDetails_CDOTAUserMsg_StatsFightTeamDetails) GetDeaths() []int32 {
if x != nil {
return x.Deaths
}
return nil
}
func (x *CDOTAUserMsg_StatsMatchDetails_CDOTAUserMsg_StatsFightTeamDetails) GetGoldDelta() uint32 {
if x != nil && x.GoldDelta != nil {
return *x.GoldDelta
}
return 0
}
func (x *CDOTAUserMsg_StatsMatchDetails_CDOTAUserMsg_StatsFightTeamDetails) GetXpDelta() uint32 {
if x != nil && x.XpDelta != nil {
return *x.XpDelta
}
return 0
}
type CDOTAUserMsg_StatsMatchDetails_CDOTAUserMsg_StatsFightDetails struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
StartTime *float32 `protobuf:"fixed32,1,opt,name=start_time,json=startTime" json:"start_time,omitempty"`
EndTime *float32 `protobuf:"fixed32,2,opt,name=end_time,json=endTime" json:"end_time,omitempty"`
RadiantFightDetails *CDOTAUserMsg_StatsMatchDetails_CDOTAUserMsg_StatsFightTeamDetails `protobuf:"bytes,3,opt,name=radiant_fight_details,json=radiantFightDetails" json:"radiant_fight_details,omitempty"`
DireFightDetails *CDOTAUserMsg_StatsMatchDetails_CDOTAUserMsg_StatsFightTeamDetails `protobuf:"bytes,4,opt,name=dire_fight_details,json=direFightDetails" json:"dire_fight_details,omitempty"`
}
func (x *CDOTAUserMsg_StatsMatchDetails_CDOTAUserMsg_StatsFightDetails) Reset() {
*x = CDOTAUserMsg_StatsMatchDetails_CDOTAUserMsg_StatsFightDetails{}
if protoimpl.UnsafeEnabled {
mi := &file_dota_usermessages_proto_msgTypes[167]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *CDOTAUserMsg_StatsMatchDetails_CDOTAUserMsg_StatsFightDetails) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*CDOTAUserMsg_StatsMatchDetails_CDOTAUserMsg_StatsFightDetails) ProtoMessage() {}
func (x *CDOTAUserMsg_StatsMatchDetails_CDOTAUserMsg_StatsFightDetails) ProtoReflect() protoreflect.Message {
mi := &file_dota_usermessages_proto_msgTypes[167]
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_StatsMatchDetails_CDOTAUserMsg_StatsFightDetails.ProtoReflect.Descriptor instead.
func (*CDOTAUserMsg_StatsMatchDetails_CDOTAUserMsg_StatsFightDetails) Descriptor() ([]byte, []int) {
return file_dota_usermessages_proto_rawDescGZIP(), []int{91, 1}
}
func (x *CDOTAUserMsg_StatsMatchDetails_CDOTAUserMsg_StatsFightDetails) GetStartTime() float32 {
if x != nil && x.StartTime != nil {
return *x.StartTime
}
return 0
}
func (x *CDOTAUserMsg_StatsMatchDetails_CDOTAUserMsg_StatsFightDetails) GetEndTime() float32 {
if x != nil && x.EndTime != nil {
return *x.EndTime
}
return 0
}
func (x *CDOTAUserMsg_StatsMatchDetails_CDOTAUserMsg_StatsFightDetails) GetRadiantFightDetails() *CDOTAUserMsg_StatsMatchDetails_CDOTAUserMsg_StatsFightTeamDetails {
if x != nil {
return x.RadiantFightDetails
}
return nil
}
func (x *CDOTAUserMsg_StatsMatchDetails_CDOTAUserMsg_StatsFightDetails) GetDireFightDetails() *CDOTAUserMsg_StatsMatchDetails_CDOTAUserMsg_StatsFightTeamDetails {
if x != nil {
return x.DireFightDetails
}
return nil
}
type CDOTAUserMsg_AllStarEvent_PlayerScore 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"`
ScoreSansKda *uint32 `protobuf:"varint,2,opt,name=score_sans_kda,json=scoreSansKda" json:"score_sans_kda,omitempty"`
}
func (x *CDOTAUserMsg_AllStarEvent_PlayerScore) Reset() {
*x = CDOTAUserMsg_AllStarEvent_PlayerScore{}
if protoimpl.UnsafeEnabled {
mi := &file_dota_usermessages_proto_msgTypes[168]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *CDOTAUserMsg_AllStarEvent_PlayerScore) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*CDOTAUserMsg_AllStarEvent_PlayerScore) ProtoMessage() {}
func (x *CDOTAUserMsg_AllStarEvent_PlayerScore) ProtoReflect() protoreflect.Message {
mi := &file_dota_usermessages_proto_msgTypes[168]
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_AllStarEvent_PlayerScore.ProtoReflect.Descriptor instead.
func (*CDOTAUserMsg_AllStarEvent_PlayerScore) Descriptor() ([]byte, []int) {
return file_dota_usermessages_proto_rawDescGZIP(), []int{131, 0}
}
func (x *CDOTAUserMsg_AllStarEvent_PlayerScore) GetPlayerId() int32 {
if x != nil && x.PlayerId != nil {
return *x.PlayerId
}
return 0
}
func (x *CDOTAUserMsg_AllStarEvent_PlayerScore) GetScoreSansKda() uint32 {
if x != nil && x.ScoreSansKda != nil {
return *x.ScoreSansKda
}
return 0
}
type CDOTAUserMsg_PauseMinigameData_DataBit struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Index *uint32 `protobuf:"varint,1,opt,name=index" json:"index,omitempty"`
Data *int32 `protobuf:"varint,2,opt,name=data" json:"data,omitempty"`
DataExtra *int64 `protobuf:"varint,3,opt,name=data_extra,json=dataExtra" json:"data_extra,omitempty"`
}
func (x *CDOTAUserMsg_PauseMinigameData_DataBit) Reset() {
*x = CDOTAUserMsg_PauseMinigameData_DataBit{}
if protoimpl.UnsafeEnabled {
mi := &file_dota_usermessages_proto_msgTypes[169]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *CDOTAUserMsg_PauseMinigameData_DataBit) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*CDOTAUserMsg_PauseMinigameData_DataBit) ProtoMessage() {}
func (x *CDOTAUserMsg_PauseMinigameData_DataBit) ProtoReflect() protoreflect.Message {
mi := &file_dota_usermessages_proto_msgTypes[169]
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_PauseMinigameData_DataBit.ProtoReflect.Descriptor instead.
func (*CDOTAUserMsg_PauseMinigameData_DataBit) Descriptor() ([]byte, []int) {
return file_dota_usermessages_proto_rawDescGZIP(), []int{138, 0}
}
func (x *CDOTAUserMsg_PauseMinigameData_DataBit) GetIndex() uint32 {
if x != nil && x.Index != nil {
return *x.Index
}
return 0
}
func (x *CDOTAUserMsg_PauseMinigameData_DataBit) GetData() int32 {
if x != nil && x.Data != nil {
return *x.Data
}
return 0
}
func (x *CDOTAUserMsg_PauseMinigameData_DataBit) GetDataExtra() int64 {
if x != nil && x.DataExtra != nil {
return *x.DataExtra
}
return 0
}
type CDOTAUserMsg_GuildChallenge_Progress_PlayerProgress 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"`
Progress *uint32 `protobuf:"varint,6,opt,name=progress" json:"progress,omitempty"`
}
func (x *CDOTAUserMsg_GuildChallenge_Progress_PlayerProgress) Reset() {
*x = CDOTAUserMsg_GuildChallenge_Progress_PlayerProgress{}
if protoimpl.UnsafeEnabled {
mi := &file_dota_usermessages_proto_msgTypes[170]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *CDOTAUserMsg_GuildChallenge_Progress_PlayerProgress) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*CDOTAUserMsg_GuildChallenge_Progress_PlayerProgress) ProtoMessage() {}
func (x *CDOTAUserMsg_GuildChallenge_Progress_PlayerProgress) ProtoReflect() protoreflect.Message {
mi := &file_dota_usermessages_proto_msgTypes[170]
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_GuildChallenge_Progress_PlayerProgress.ProtoReflect.Descriptor instead.
func (*CDOTAUserMsg_GuildChallenge_Progress_PlayerProgress) Descriptor() ([]byte, []int) {
return file_dota_usermessages_proto_rawDescGZIP(), []int{144, 0}
}
func (x *CDOTAUserMsg_GuildChallenge_Progress_PlayerProgress) GetPlayerId() int32 {
if x != nil && x.PlayerId != nil {
return *x.PlayerId
}
return 0
}
func (x *CDOTAUserMsg_GuildChallenge_Progress_PlayerProgress) GetProgress() uint32 {
if x != nil && x.Progress != nil {
return *x.Progress
}
return 0
}
var File_dota_usermessages_proto protoreflect.FileDescriptor
var file_dota_usermessages_proto_rawDesc = []byte{
0x0a, 0x17, 0x64, 0x6f, 0x74, 0x61, 0x5f, 0x75, 0x73, 0x65, 0x72, 0x6d, 0x65, 0x73, 0x73, 0x61,
0x67, 0x65, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x16, 0x6e, 0x65, 0x74, 0x77, 0x6f,
0x72, 0x6b, 0x62, 0x61, 0x73, 0x65, 0x74, 0x79, 0x70, 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, 0x19, 0x64, 0x6f, 0x74, 0x61,
0x5f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x2e,
0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x34, 0x0a, 0x18, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x55, 0x73,
0x65, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x41, 0x49, 0x44, 0x65, 0x62, 0x75, 0x67, 0x4c, 0x69, 0x6e,
0x65, 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, 0x22, 0x3b, 0x0a, 0x11, 0x43,
0x44, 0x4f, 0x54, 0x41, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x50, 0x69, 0x6e, 0x67,
0x12, 0x12, 0x0a, 0x04, 0x70, 0x69, 0x6e, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x04,
0x70, 0x69, 0x6e, 0x67, 0x12, 0x12, 0x0a, 0x04, 0x6c, 0x6f, 0x73, 0x73, 0x18, 0x03, 0x20, 0x01,
0x28, 0x0d, 0x52, 0x04, 0x6c, 0x6f, 0x73, 0x73, 0x22, 0x36, 0x0a, 0x17, 0x43, 0x44, 0x4f, 0x54,
0x41, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x53, 0x77, 0x61, 0x70, 0x56, 0x65, 0x72,
0x69, 0x66, 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,
0x22, 0xee, 0x02, 0x0a, 0x16, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x73,
0x67, 0x5f, 0x43, 0x68, 0x61, 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x12, 0x3c, 0x0a, 0x04, 0x74,
0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x02, 0x28, 0x0e, 0x32, 0x12, 0x2e, 0x44, 0x4f, 0x54, 0x41,
0x5f, 0x43, 0x48, 0x41, 0x54, 0x5f, 0x4d, 0x45, 0x53, 0x53, 0x41, 0x47, 0x45, 0x3a, 0x14, 0x43,
0x48, 0x41, 0x54, 0x5f, 0x4d, 0x45, 0x53, 0x53, 0x41, 0x47, 0x45, 0x5f, 0x49, 0x4e, 0x56, 0x41,
0x4c, 0x49, 0x44, 0x52, 0x04, 0x74, 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,
0x21, 0x0a, 0x0a, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x69, 0x64, 0x5f, 0x31, 0x18, 0x03, 0x20,
0x01, 0x28, 0x11, 0x3a, 0x02, 0x2d, 0x31, 0x52, 0x09, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x69,
0x64, 0x31, 0x12, 0x21, 0x0a, 0x0a, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x69, 0x64, 0x5f, 0x32,
0x18, 0x04, 0x20, 0x01, 0x28, 0x11, 0x3a, 0x02, 0x2d, 0x31, 0x52, 0x09, 0x70, 0x6c, 0x61, 0x79,
0x65, 0x72, 0x69, 0x64, 0x32, 0x12, 0x21, 0x0a, 0x0a, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x69,
0x64, 0x5f, 0x33, 0x18, 0x05, 0x20, 0x01, 0x28, 0x11, 0x3a, 0x02, 0x2d, 0x31, 0x52, 0x09, 0x70,
0x6c, 0x61, 0x79, 0x65, 0x72, 0x69, 0x64, 0x33, 0x12, 0x21, 0x0a, 0x0a, 0x70, 0x6c, 0x61, 0x79,
0x65, 0x72, 0x69, 0x64, 0x5f, 0x34, 0x18, 0x06, 0x20, 0x01, 0x28, 0x11, 0x3a, 0x02, 0x2d, 0x31,
0x52, 0x09, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x69, 0x64, 0x34, 0x12, 0x21, 0x0a, 0x0a, 0x70,
0x6c, 0x61, 0x79, 0x65, 0x72, 0x69, 0x64, 0x5f, 0x35, 0x18, 0x07, 0x20, 0x01, 0x28, 0x11, 0x3a,
0x02, 0x2d, 0x31, 0x52, 0x09, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x69, 0x64, 0x35, 0x12, 0x21,
0x0a, 0x0a, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x69, 0x64, 0x5f, 0x36, 0x18, 0x08, 0x20, 0x01,
0x28, 0x11, 0x3a, 0x02, 0x2d, 0x31, 0x52, 0x09, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x69, 0x64,
0x36, 0x12, 0x16, 0x0a, 0x06, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x32, 0x18, 0x09, 0x20, 0x01, 0x28,
0x0d, 0x52, 0x06, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x32, 0x12, 0x16, 0x0a, 0x06, 0x76, 0x61, 0x6c,
0x75, 0x65, 0x33, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x76, 0x61, 0x6c, 0x75, 0x65,
0x33, 0x22, 0x82, 0x01, 0x0a, 0x14, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x55, 0x73, 0x65, 0x72, 0x4d,
0x73, 0x67, 0x5f, 0x42, 0x6f, 0x74, 0x43, 0x68, 0x61, 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, 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, 0x12, 0x1b, 0x0a, 0x09, 0x74, 0x65, 0x61,
0x6d, 0x5f, 0x6f, 0x6e, 0x6c, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x74, 0x65,
0x61, 0x6d, 0x4f, 0x6e, 0x6c, 0x79, 0x22, 0x90, 0x01, 0x0a, 0x20, 0x43, 0x44, 0x4f, 0x54, 0x41,
0x55, 0x73, 0x65, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x43, 0x6f, 0x6d, 0x62, 0x61, 0x74, 0x48, 0x65,
0x72, 0x6f, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 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, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52,
0x04, 0x74, 0x69, 0x6d, 0x65, 0x12, 0x2a, 0x0a, 0x09, 0x77, 0x6f, 0x72, 0x6c, 0x64, 0x5f, 0x70,
0x6f, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x56,
0x65, 0x63, 0x74, 0x6f, 0x72, 0x32, 0x44, 0x52, 0x08, 0x77, 0x6f, 0x72, 0x6c, 0x64, 0x50, 0x6f,
0x73, 0x12, 0x16, 0x0a, 0x06, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x18, 0x04, 0x20, 0x01, 0x28,
0x05, 0x52, 0x06, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x22, 0xb7, 0x01, 0x0a, 0x1e, 0x43, 0x44,
0x4f, 0x54, 0x41, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x43, 0x6f, 0x6d, 0x62, 0x61,
0x74, 0x4c, 0x6f, 0x67, 0x42, 0x75, 0x6c, 0x6b, 0x44, 0x61, 0x74, 0x61, 0x12, 0x3e, 0x0a, 0x0e,
0x63, 0x6f, 0x6d, 0x62, 0x61, 0x74, 0x5f, 0x65, 0x6e, 0x74, 0x72, 0x69, 0x65, 0x73, 0x18, 0x01,
0x20, 0x03, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x44, 0x4f, 0x54, 0x41, 0x43,
0x6f, 0x6d, 0x62, 0x61, 0x74, 0x4c, 0x6f, 0x67, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0d, 0x63,
0x6f, 0x6d, 0x62, 0x61, 0x74, 0x45, 0x6e, 0x74, 0x72, 0x69, 0x65, 0x73, 0x12, 0x1c, 0x0a, 0x09,
0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x02, 0x20, 0x01, 0x28, 0x02, 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, 0x02, 0x52, 0x08, 0x64, 0x75,
0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 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, 0x71, 0x0a, 0x25, 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, 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, 0x06, 0x76, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28,
0x0b, 0x32, 0x0b, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x52, 0x06,
0x76, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x22, 0xe5, 0x02, 0x0a, 0x1c, 0x43, 0x44, 0x4f, 0x54, 0x41,
0x55, 0x73, 0x65, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x4d, 0x69, 0x6e, 0x69, 0x4b, 0x69, 0x6c, 0x6c,
0x43, 0x61, 0x6d, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x44, 0x0a, 0x09, 0x61, 0x74, 0x74, 0x61, 0x63,
0x6b, 0x65, 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x43, 0x44, 0x4f,
0x54, 0x41, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x4d, 0x69, 0x6e, 0x69, 0x4b, 0x69,
0x6c, 0x6c, 0x43, 0x61, 0x6d, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x41, 0x74, 0x74, 0x61, 0x63, 0x6b,
0x65, 0x72, 0x52, 0x09, 0x61, 0x74, 0x74, 0x61, 0x63, 0x6b, 0x65, 0x72, 0x73, 0x1a, 0xfe, 0x01,
0x0a, 0x08, 0x41, 0x74, 0x74, 0x61, 0x63, 0x6b, 0x65, 0x72, 0x12, 0x1a, 0x0a, 0x08, 0x61, 0x74,
0x74, 0x61, 0x63, 0x6b, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x61, 0x74,
0x74, 0x61, 0x63, 0x6b, 0x65, 0x72, 0x12, 0x21, 0x0a, 0x0c, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f,
0x64, 0x61, 0x6d, 0x61, 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x74, 0x6f,
0x74, 0x61, 0x6c, 0x44, 0x61, 0x6d, 0x61, 0x67, 0x65, 0x12, 0x4c, 0x0a, 0x09, 0x61, 0x62, 0x69,
0x6c, 0x69, 0x74, 0x69, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x43,
0x44, 0x4f, 0x54, 0x41, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x4d, 0x69, 0x6e, 0x69,
0x4b, 0x69, 0x6c, 0x6c, 0x43, 0x61, 0x6d, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x41, 0x74, 0x74, 0x61,
0x63, 0x6b, 0x65, 0x72, 0x2e, 0x41, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x52, 0x09, 0x61, 0x62,
0x69, 0x6c, 0x69, 0x74, 0x69, 0x65, 0x73, 0x12, 0x23, 0x0a, 0x0d, 0x61, 0x74, 0x74, 0x61, 0x63,
0x6b, 0x65, 0x72, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c,
0x61, 0x74, 0x74, 0x61, 0x63, 0x6b, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x1a, 0x40, 0x0a, 0x07,
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, 0x0d, 0x52, 0x09, 0x61, 0x62, 0x69,
0x6c, 0x69, 0x74, 0x79, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x64, 0x61, 0x6d, 0x61, 0x67, 0x65,
0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x64, 0x61, 0x6d, 0x61, 0x67, 0x65, 0x22, 0x51,
0x0a, 0x1d, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x47,
0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x4c, 0x69, 0x67, 0x68, 0x74, 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x12,
0x14, 0x0a, 0x05, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05,
0x63, 0x6f, 0x6c, 0x6f, 0x72, 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, 0x22, 0x6a, 0x0a, 0x21, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x73,
0x67, 0x5f, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x4c, 0x69, 0x67, 0x68, 0x74, 0x44, 0x69, 0x72,
0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x29, 0x0a, 0x09, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74,
0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x43, 0x4d, 0x73, 0x67,
0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x52, 0x09, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f,
0x6e, 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, 0x22, 0x75, 0x0a,
0x19, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x4c, 0x6f,
0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 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, 0x3b, 0x0a, 0x0d, 0x6c, 0x6f, 0x63, 0x61, 0x74,
0x69, 0x6f, 0x6e, 0x5f, 0x70, 0x69, 0x6e, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16,
0x2e, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x4d, 0x73, 0x67, 0x5f, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69,
0x6f, 0x6e, 0x50, 0x69, 0x6e, 0x67, 0x52, 0x0c, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e,
0x50, 0x69, 0x6e, 0x67, 0x22, 0xc8, 0x01, 0x0a, 0x1d, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x55, 0x73,
0x65, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x50, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x72,
0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x3e, 0x0a, 0x1c, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72,
0x5f, 0x69, 0x64, 0x5f, 0x6f, 0x66, 0x5f, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x61, 0x6c, 0x5f,
0x70, 0x69, 0x6e, 0x67, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x18, 0x70, 0x6c,
0x61, 0x79, 0x65, 0x72, 0x49, 0x64, 0x4f, 0x66, 0x4f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x61, 0x6c,
0x50, 0x69, 0x6e, 0x67, 0x65, 0x72, 0x12, 0x21, 0x0a, 0x0c, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79,
0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x65, 0x6e,
0x74, 0x69, 0x74, 0x79, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x1b, 0x0a, 0x09, 0x69, 0x63, 0x6f,
0x6e, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x69, 0x63,
0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, 0x27, 0x0a, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69,
0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x56,
0x65, 0x63, 0x74, 0x6f, 0x72, 0x52, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22,
0x69, 0x0a, 0x16, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x73, 0x67, 0x5f,
0x49, 0x74, 0x65, 0x6d, 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, 0x32, 0x0a, 0x0a, 0x69, 0x74, 0x65, 0x6d, 0x5f, 0x61,
0x6c, 0x65, 0x72, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x43, 0x44, 0x4f,
0x54, 0x41, 0x4d, 0x73, 0x67, 0x5f, 0x49, 0x74, 0x65, 0x6d, 0x41, 0x6c, 0x65, 0x72, 0x74, 0x52,
0x09, 0x69, 0x74, 0x65, 0x6d, 0x41, 0x6c, 0x65, 0x72, 0x74, 0x22, 0xcb, 0x02, 0x0a, 0x1b, 0x43,
0x44, 0x4f, 0x54, 0x41, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x45, 0x6e, 0x65, 0x6d,
0x79, 0x49, 0x74, 0x65, 0x6d, 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, 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, 0x26, 0x0a, 0x0f, 0x69, 0x74, 0x65, 0x6d, 0x5f, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74,
0x79, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0d, 0x69, 0x74, 0x65, 0x6d,
0x41, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x49, 0x64, 0x12, 0x1f, 0x0a, 0x09, 0x72, 0x75, 0x6e,
0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x3a, 0x02, 0x2d, 0x31,
0x52, 0x08, 0x72, 0x75, 0x6e, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x65, 0x6e,
0x74, 0x69, 0x74, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x65,
0x6e, 0x74, 0x69, 0x74, 0x79, 0x49, 0x64, 0x12, 0x21, 0x0a, 0x0a, 0x69, 0x74, 0x65, 0x6d, 0x5f,
0x6c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x3a, 0x02, 0x2d, 0x31, 0x52,
0x09, 0x69, 0x74, 0x65, 0x6d, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x2b, 0x0a, 0x0f, 0x70, 0x72,
0x69, 0x6d, 0x61, 0x72, 0x79, 0x5f, 0x63, 0x68, 0x61, 0x72, 0x67, 0x65, 0x73, 0x18, 0x07, 0x20,
0x01, 0x28, 0x05, 0x3a, 0x02, 0x2d, 0x31, 0x52, 0x0e, 0x70, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79,
0x43, 0x68, 0x61, 0x72, 0x67, 0x65, 0x73, 0x12, 0x2f, 0x0a, 0x11, 0x73, 0x65, 0x63, 0x6f, 0x6e,
0x64, 0x61, 0x72, 0x79, 0x5f, 0x63, 0x68, 0x61, 0x72, 0x67, 0x65, 0x73, 0x18, 0x08, 0x20, 0x01,
0x28, 0x05, 0x3a, 0x02, 0x2d, 0x31, 0x52, 0x10, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x61, 0x72,
0x79, 0x43, 0x68, 0x61, 0x72, 0x67, 0x65, 0x73, 0x22, 0xec, 0x01, 0x0a, 0x1a, 0x43, 0x44, 0x4f,
0x54, 0x41, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x4d, 0x6f, 0x64, 0x69, 0x66, 0x69,
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, 0x1d, 0x0a, 0x0a, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x5f, 0x6e, 0x61,
0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x4e,
0x61, 0x6d, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x5f, 0x63, 0x6f, 0x75,
0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x43,
0x6f, 0x75, 0x6e, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x69, 0x73, 0x5f, 0x64, 0x65, 0x62, 0x75, 0x66,
0x66, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x69, 0x73, 0x44, 0x65, 0x62, 0x75, 0x66,
0x66, 0x12, 0x27, 0x0a, 0x0f, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x65, 0x6e, 0x74, 0x69,
0x6e, 0x64, 0x65, 0x78, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0e, 0x74, 0x61, 0x72, 0x67,
0x65, 0x74, 0x45, 0x6e, 0x74, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x2b, 0x0a, 0x11, 0x73, 0x65,
0x63, 0x6f, 0x6e, 0x64, 0x73, 0x5f, 0x72, 0x65, 0x6d, 0x61, 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x18,
0x06, 0x20, 0x01, 0x28, 0x02, 0x52, 0x10, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x52, 0x65,
0x6d, 0x61, 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x22, 0x88, 0x01, 0x0a, 0x18, 0x43, 0x44, 0x4f, 0x54,
0x41, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x48, 0x50, 0x4d, 0x61, 0x6e, 0x61, 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, 0x26, 0x0a, 0x0f, 0x73, 0x68,
0x6f, 0x77, 0x5f, 0x72, 0x61, 0x77, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x18, 0x03, 0x20,
0x01, 0x28, 0x08, 0x52, 0x0d, 0x73, 0x68, 0x6f, 0x77, 0x52, 0x61, 0x77, 0x56, 0x61, 0x6c, 0x75,
0x65, 0x73, 0x22, 0x52, 0x0a, 0x17, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x55, 0x73, 0x65, 0x72, 0x4d,
0x73, 0x67, 0x5f, 0x47, 0x6c, 0x79, 0x70, 0x68, 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, 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, 0x52, 0x0a, 0x17, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x55,
0x73, 0x65, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x52, 0x61, 0x64, 0x61, 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, 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, 0x72, 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, 0x2a, 0x0a, 0x0a,
0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x6d, 0x73, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b,
0x32, 0x0b, 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, 0x85, 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, 0x48,
0x0a, 0x0a, 0x6c, 0x6f, 0x73, 0x74, 0x5f, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x18, 0x05, 0x20, 0x03,
0x28, 0x0b, 0x32, 0x29, 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, 0x60, 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, 0x2b, 0x0a,
0x07, 0x6d, 0x61, 0x70, 0x6c, 0x69, 0x6e, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11,
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, 0xa5, 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, 0x27, 0x0a,
0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32,
0x0b, 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, 0xff, 0x03, 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, 0x23, 0x0a, 0x06, 0x6f, 0x72,
0x69, 0x67, 0x69, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x43, 0x4d, 0x73,
0x67, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x52, 0x06, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x12,
0x29, 0x0a, 0x08, 0x76, 0x65, 0x6c, 0x6f, 0x63, 0x69, 0x74, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28,
0x0b, 0x32, 0x0d, 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, 0x31, 0x0a, 0x0c, 0x61, 0x63, 0x63, 0x65, 0x6c, 0x65, 0x72,
0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 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, 0x50, 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, 0x26, 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, 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, 0xb9, 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, 0x27,
0x0a, 0x08, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b,
0x32, 0x0b, 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, 0x99, 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, 0x23, 0x0a, 0x06, 0x6f, 0x72, 0x69,
0x67, 0x69, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 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, 0xf5, 0x03, 0x0a, 0x1d, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x55, 0x73, 0x65,
0x72, 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, 0x4b, 0x0a, 0x0b, 0x70, 0x72, 0x65,
0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x29,
0x2e, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x55, 0x73, 0x65, 0x72, 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, 0xb2, 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, 0x60,
0x0a, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x31,
0x2e, 0x43, 0x44, 0x4f, 0x54, 0x41, 0x55, 0x73, 0x65, 0x72, 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, 0x3a, 0x15, 0x6b, 0x5f, 0x65, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x5f, 0x49, 0x74, 0x65,
0x6d, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x65, 0x64, 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, 0x22, 0xae, 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, 0x38, 0x0a, 0x05,
0x66, 0x61, 0x63, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x22, 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, 0xd3, 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, 0x4f, 0x0a, 0x07, 0x76, 0x61, 0x6c, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x02,
0x28, 0x0e, 0x32, 0x2c, 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,
0x3a, 0x07, 0x4e, 0x55, 0x4d, 0x45, 0x52, 0x49, 0x43, 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, 0xd0, 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, 0x43, 0x0a, 0x0d, 0x72, 0x65, 0x73, 0x70, 0x6f,
0x6e, 0x73, 0x65, 0x71, 0x75, 0x65, 0x72, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d,
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, 0x21, 0x0a, 0x0a,
0x72, 0x61, 0x6e, 0x64, 0x6f, 0x6d, 0x73, 0x65, 0x65, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0f,
0x3a, 0x01, 0x30, 0x52, 0x0a, 0x72, 0x61, 0x6e, 0x64, 0x6f, 0x6d, 0x73, 0x65, 0x65, 0x64, 0x22,
0xd2, 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, 0x41, 0x0a, 0x08, 0x6d, 0x73,
0x67, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x02, 0x28, 0x0e, 0x32, 0x14, 0x2e, 0x45,
0x44, 0x6f, 0x74, 0x61, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67,
0x65, 0x73, 0x3a, 0x10, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x55, 0x4e, 0x49, 0x54, 0x5f, 0x53, 0x50,
0x45, 0x45, 0x43, 0x48, 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, 0x36, 0x0a, 0x06, 0x73, 0x70, 0x65, 0x65, 0x63, 0x68, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b,
0x32, 0x1e, 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, 0x43, 0x0a, 0x0b, 0x73, 0x70, 0x65, 0x65,
0x63, 0x68, 0x5f, 0x6d, 0x75, 0x74, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 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, 0x43, 0x0a,
0x0b, 0x61, 0x64, 0x64, 0x5f, 0x67, 0x65, 0x73, 0x74, 0x75, 0x72, 0x65, 0x18, 0x05, 0x20, 0x01,
0x28, 0x0b, 0x32, 0x22, 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, 0x4c, 0x0a, 0x0e, 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x5f, 0x67, 0x65, 0x73,
0x74, 0x75, 0x72, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 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, 0x46, 0x0a, 0x0c, 0x62, 0x6c, 0x6f, 0x6f, 0x64, 0x5f, 0x69, 0x6d, 0x70, 0x61, 0x63, 0x74,
0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 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, 0x46, 0x0a, 0x0c, 0x66, 0x61, 0x64, 0x65,
0x5f, 0x67, 0x65, 0x73, 0x74, 0x75, 0x72, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23,
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, 0x4e, 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, 0x19, 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, 0xff, 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, 0x14, 0x0a,
0x05, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x6c, 0x65,
0x76, 0x65, 0x6c, 0x12, 0x21, 0x0a, 0x08, 0x6d, 0x75, 0x74, 0x65, 0x61, 0x62, 0x6c, 0x65, 0x18,
0x05, 0x20, 0x01, 0x28, 0x08, 0x3a, 0x05, 0x66, 0x61, 0x6c, 0x73, 0x65, 0x52, 0x08, 0x6d, 0x75,
0x74, 0x65, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x3c, 0x0a, 0x08, 0x70, 0x72, 0x65, 0x64, 0x65, 0x6c,
0x61, 0x79, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 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, 0x27, 0x0a, 0x0a, 0x53, 0x70,
0x65, 0x65, 0x63, 0x68, 0x4d, 0x75, 0x74, 0x65, 0x12, 0x19, 0x0a, 0x05, 0x64, 0x65, 0x6c, 0x61,
0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x02, 0x3a, 0x03, 0x30, 0x2e, 0x35, 0x52, 0x05, 0x64, 0x65,
0x6c, 0x61, 0x79, 0x1a, 0xcb, 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, 0x1a, 0x0a, 0x07, 0x66, 0x61, 0x64, 0x65, 0x5f, 0x69, 0x6e, 0x18, 0x03, 0x20,
0x01, 0x28, 0x02, 0x3a, 0x01, 0x30, 0x52, 0x06, 0x66, 0x61, 0x64, 0x65, 0x49, 0x6e, 0x12, 0x1e,
0x0a, 0x08, 0x66, 0x61, 0x64, 0x65, 0x5f, 0x6f, 0x75, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x02,
0x3a, 0x03, 0x30, 0x2e, 0x31, 0x52, 0x07, 0x66, 0x61, 0x64, 0x65, 0x4f, 0x75, 0x74, 0x12, 0x26,
0x0a, 0x0d, 0x70, 0x6c, 0x61, 0x79, 0x62, 0x61, 0x63, 0x6b, 0x5f, 0x72, 0x61, 0x74, 0x65, 0x18,
0x05, 0x20, 0x01, 0x28, 0x02, 0x3a, 0x01, 0x31, 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, 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, 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, 0x95, 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, 0x4c, 0x0a, 0x0c, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x79, 0x70,
0x65, 0x18, 0x01, 0x20, 0x02, 0x28, 0x0e, 0x32, 0x14, 0x2e, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x4f,
0x56, 0x45, 0x52, 0x48, 0x45, 0x41, 0x44, 0x5f, 0x41, 0x4c, 0x45, 0x52, 0x54, 0x3a, 0x13, 0x4f,
0x56, 0x45, 0x52, 0x48, 0x45, 0x41, 0x44, 0x5f, 0x41, 0x4c, 0x45, 0x52, 0x54, 0x5f, 0x47, 0x4f,
0x4c, 0x44, 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, 0x68, 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, 0x31, 0x0a, 0x09, 0x77, 0x6f, 0x72, 0x6c, 0x64,
0x6c, 0x69, 0x6e, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 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, 0x0d,
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, 0x0d, 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, 0x70, 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,
0x35, 0x0a, 0x09, 0x73, 0x74, 0x61, 0x74, 0x70, 0x6f, 0x70, 0x75, 0x70, 0x18, 0x02, 0x20, 0x01,
0x28, 0x0b, 0x32, 0x17, 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, 0x69, 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, 0x44, 0x0a, 0x0d, 0x64,
0x69, 0x73, 0x6d, 0x69, 0x73, 0x73, 0x61, 0x6c, 0x6c, 0x6d, 0x73, 0x67, 0x18, 0x01, 0x20, 0x01,
0x28, 0x0b, 0x32, 0x1e, 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, 0xb3, 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, 0x3d, 0x0a, 0x05, 0x70,
0x68, 0x61, 0x73, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x12, 0x2e, 0x44, 0x4f, 0x54,
0x41, 0x5f, 0x52, 0x4f, 0x53, 0x48, 0x41, 0x4e, 0x5f, 0x50, 0x48, 0x41, 0x53, 0x45, 0x3a, 0x13,
0x6b, 0x5f, 0x53, 0x52, 0x53, 0x50, 0x5f, 0x52, 0x4f, 0x53, 0x48, 0x41, 0x4e, 0x5f, 0x41, 0x4c,
0x49, 0x56, 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, 0x6b, 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, 0x31,
0x0a, 0x08, 0x68, 0x75, 0x64, 0x5f, 0x70, 0x69, 0x6e, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b,
0x32, 0x16, 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, 0xad, 0x04, 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, 0x2a, 0x0a, 0x0a, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f,
0x6c, 0x6f, 0x63, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x43, 0x4d, 0x73, 0x67,
0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x52, 0x09, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x4c, 0x6f,
0x63, 0x12, 0x50, 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, 0x26, 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, 0xb6, 0x04, 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, 0x2a, 0x0a, 0x0a, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f,
0x6c, 0x6f, 0x63, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 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, 0x2a, 0x0a, 0x0a, 0x74, 0x61,
0x72, 0x67, 0x65, 0x74, 0x5f, 0x6c, 0x6f, 0x63, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b,
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, 0x50, 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, 0x26, 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, 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,
0xc6, 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, 0x0d, 0x52, 0x09, 0x61,
0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x49, 0x64, 0x12, 0x3f, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65,
0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x17, 0x2e, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x41, 0x42,
0x49, 0x4c, 0x49, 0x54, 0x59, 0x5f, 0x50, 0x49, 0x4e, 0x47, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x3a,
0x12, 0x41, 0x42, 0x49, 0x4c, 0x49, 0x54, 0x59, 0x5f, 0x50, 0x49, 0x4e, 0x47, 0x5f, 0x52, 0x45,
0x41, 0x44, 0x59, 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, 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, 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, 0x66, 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, 0x49, 0x0a, 0x0f, 0x62, 0x6f, 0x6f, 0x73,
0x74, 0x65, 0x64, 0x5f, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28,
0x0b, 0x32, 0x20, 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, 0x2e, 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, 0x14, 0x0a,
0x03, 0x6d, 0x6d, 0x72, 0x18, 0x01, 0x20, 0x03, 0x28, 0x11, 0x42, 0x02, 0x10, 0x01, 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, 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,
0x0d, 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,
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,
0xbe, 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, 0x5b, 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, 0x30, 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, 0x8f,
0x01, 0x0a, 0x0c, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x61, 0x69, 0x72, 0x12,
0x58, 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, 0x17, 0x2e, 0x44, 0x4f, 0x54,
0x41, 0x5f, 0x50, 0x4f, 0x53, 0x49, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x43, 0x41, 0x54, 0x45, 0x47,
0x4f, 0x52, 0x59, 0x3a, 0x12, 0x44, 0x4f, 0x54, 0x41, 0x5f, 0x50, 0x4f, 0x53, 0x49, 0x54, 0x49,
0x4f, 0x4e, 0x5f, 0x4e, 0x4f, 0x4e, 0x45, 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, 0xcc, 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, 0x48, 0x0a, 0x0d, 0x70, 0x6f, 0x73, 0x69,
0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32,
0x23, 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,
0xb7, 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, 0x47, 0x0a, 0x0c, 0x70, 0x6c, 0x61, 0x79, 0x65,
0x72, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x24, 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, 0x63, 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, 0x38, 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, 0x8e, 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, 0x43, 0x0a, 0x0b, 0x6b, 0x69, 0x6c, 0x6c, 0x5f,
0x73, 0x68, 0x61, 0x72, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x22, 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, 0xbd, 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, 0x3e, 0x0a, 0x0b,
0x68, 0x65, 0x72, 0x6f, 0x5f, 0x6c, 0x6f, 0x6f, 0x6b, 0x75, 0x70, 0x18, 0x01, 0x20, 0x03, 0x28,
0x0b, 0x32, 0x1d, 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, 0x49, 0x0a, 0x0d,
0x72, 0x61, 0x64, 0x69, 0x61, 0x6e, 0x74, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x73, 0x18, 0x02, 0x20,
0x03, 0x28, 0x0b, 0x32, 0x24, 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, 0x43, 0x0a, 0x0a, 0x64, 0x69, 0x72, 0x65, 0x5f,
0x73, 0x74, 0x61, 0x74, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x24, 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, 0x43, 0x0a, 0x0d,
0x72, 0x61, 0x64, 0x69, 0x61, 0x6e, 0x74, 0x5f, 0x6b, 0x69, 0x6c, 0x6c, 0x73, 0x18, 0x04, 0x20,
0x03, 0x28, 0x0b, 0x32, 0x1e, 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, 0x3d, 0x0a, 0x0a, 0x64, 0x69, 0x72, 0x65, 0x5f, 0x6b, 0x69, 0x6c, 0x6c, 0x73, 0x18,
0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1e, 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, 0x63, 0x0a, 0x0d, 0x66, 0x69, 0x67, 0x68, 0x74, 0x5f, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c,
0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3e, 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, 0xc4, 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,
0x76, 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, 0x42,
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, 0x70, 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, 0x42, 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, 0x96, 0x01,
0x0a, 0x13, 0x43, 0x4d, 0x73, 0x67, 0x48, 0x65, 0x72, 0x6f, 0x41, 0x62, 0x69, 0x6c, 0x69, 0x74,
0x79, 0x53, 0x74, 0x61, 0x74, 0x12, 0x41, 0x0a, 0x09, 0x73, 0x74, 0x61, 0x74, 0x5f, 0x74, 0x79,
0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x0e, 0x2e, 0x45, 0x48, 0x65, 0x72, 0x6f,
0x53, 0x74, 0x61, 0x74, 0x54, 0x79, 0x70, 0x65, 0x3a, 0x14, 0x6b, 0x5f, 0x45, 0x48, 0x65, 0x72,
0x6f, 0x53, 0x74, 0x61, 0x74, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x4e, 0x6f, 0x6e, 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, 0x81, 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, 0x42, 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, 0x14, 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, 0x76, 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, 0x40, 0x0a, 0x0c, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x73,
0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1d, 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, 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, 0x72, 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, 0x52, 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,
0x23, 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, 0xc1, 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, 0x0d, 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, 0x23, 0x0a, 0x06, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x18,
0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 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, 0x70, 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, 0x3c, 0x0a, 0x08, 0x65,
0x76, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x11, 0x2e,
0x45, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x76, 0x65, 0x6e, 0x74,
0x3a, 0x0e, 0x65, 0x50, 0x45, 0x5f, 0x46, 0x69, 0x72, 0x73, 0x74, 0x42, 0x6c, 0x6f, 0x6f, 0x64,
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, 0x0d, 0x52,
0x0d, 0x69, 0x74, 0x65, 0x6d, 0x41, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x49, 0x64, 0x22, 0x66,
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, 0x0d, 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, 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, 0x0d, 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,
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, 0x0d, 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, 0x0d, 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,
0x0d, 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, 0xa9, 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, 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, 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, 0x8c, 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, 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, 0xcc, 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, 0x4b, 0x0a, 0x0d, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x5f,
0x73, 0x63, 0x6f, 0x72, 0x65, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x26, 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, 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, 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, 0x0d, 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, 0xba, 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, 0x44, 0x0a, 0x09, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x62, 0x69, 0x74,
0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x27, 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, 0xdc,
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, 0x5d, 0x0a, 0x08, 0x62, 0x65, 0x68, 0x61, 0x76,
0x69, 0x6f, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1f, 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, 0x3a, 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, 0x52, 0x08, 0x62, 0x65,
0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x12, 0x3e, 0x0a, 0x0d, 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x61,
0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 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, 0x35, 0x0a, 0x0a, 0x63, 0x68, 0x61, 0x74, 0x5f, 0x77,
0x68, 0x65, 0x65, 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 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, 0x3e, 0x0a,
0x0d, 0x70, 0x6c, 0x61, 0x79, 0x62, 0x61, 0x63, 0x6b, 0x5f, 0x72, 0x61, 0x74, 0x65, 0x18, 0x05,
0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 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, 0x0d, 0x52, 0x06, 0x68, 0x65, 0x72, 0x6f, 0x49, 0x64,
0x22, 0x93, 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, 0x5d, 0x0a, 0x0f, 0x70, 0x6c, 0x61,
0x79, 0x65, 0x72, 0x5f, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x03,
0x28, 0x0b, 0x32, 0x34, 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, 0x75, 0x0a, 0x0e, 0x63, 0x68, 0x61, 0x6c,
0x6c, 0x65, 0x6e, 0x67, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0e,
0x32, 0x34, 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, 0x3a, 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,
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, 0x2a, 0xe5, 0x22, 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, 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, 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,
0x2a, 0x90, 0x1e, 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, 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, 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, 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, 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, 0xbc, 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, 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, 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, 0x43, 0x4c,
0x49, 0x45, 0x4e, 0x54, 0x53, 0x49, 0x44, 0x45, 0x5f, 0x52, 0x55, 0x4c, 0x45, 0x53, 0x10, 0x07,
0x2a, 0x8d, 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, 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,
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, 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, 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, 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, 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, 0x0d, 0x48, 0x01, 0x5a, 0x06, 0x2e, 0x2f, 0x64, 0x65, 0x6d, 0x6f, 0x80, 0x01, 0x00,
}
var (
file_dota_usermessages_proto_rawDescOnce sync.Once
file_dota_usermessages_proto_rawDescData = file_dota_usermessages_proto_rawDesc
)
func file_dota_usermessages_proto_rawDescGZIP() []byte {
file_dota_usermessages_proto_rawDescOnce.Do(func() {
file_dota_usermessages_proto_rawDescData = protoimpl.X.CompressGZIP(file_dota_usermessages_proto_rawDescData)
})
return file_dota_usermessages_proto_rawDescData
}
var file_dota_usermessages_proto_enumTypes = make([]protoimpl.EnumInfo, 17)
var file_dota_usermessages_proto_msgTypes = make([]protoimpl.MessageInfo, 171)
var file_dota_usermessages_proto_goTypes = []interface{}{
(EDotaUserMessages)(0), // 0: EDotaUserMessages
(DOTA_CHAT_MESSAGE)(0), // 1: DOTA_CHAT_MESSAGE
(DOTA_NO_BATTLE_POINTS_REASONS)(0), // 2: DOTA_NO_BATTLE_POINTS_REASONS
(DOTA_CHAT_INFORMATIONAL)(0), // 3: DOTA_CHAT_INFORMATIONAL
(DOTA_ABILITY_PING_TYPE)(0), // 4: DOTA_ABILITY_PING_TYPE
(DOTA_REPLAY_STATE_EVENT)(0), // 5: DOTA_REPLAY_STATE_EVENT
(EDotaEntityMessages)(0), // 6: EDotaEntityMessages
(DOTA_OVERHEAD_ALERT)(0), // 7: DOTA_OVERHEAD_ALERT
(DOTA_ROSHAN_PHASE)(0), // 8: DOTA_ROSHAN_PHASE
(DOTA_POSITION_CATEGORY)(0), // 9: DOTA_POSITION_CATEGORY
(DOTA_ABILITY_TARGET_TYPE)(0), // 10: DOTA_ABILITY_TARGET_TYPE
(EHeroStatType)(0), // 11: EHeroStatType
(EPlayerVoiceListenState)(0), // 12: EPlayerVoiceListenState
(EProjectionEvent)(0), // 13: EProjectionEvent
(CDOTAUserMsg_PredictionResult_Prediction_EResult)(0), // 14: CDOTAUserMsg_PredictionResult.Prediction.EResult
(CDOTAResponseQuerySerialized_Fact_ValueType)(0), // 15: CDOTAResponseQuerySerialized.Fact.ValueType
(CDOTAUserMsg_GuildChallenge_Progress_EChallengeType)(0), // 16: CDOTAUserMsg_GuildChallenge_Progress.EChallengeType
(*CDOTAUserMsg_AIDebugLine)(nil), // 17: CDOTAUserMsg_AIDebugLine
(*CDOTAUserMsg_Ping)(nil), // 18: CDOTAUserMsg_Ping
(*CDOTAUserMsg_SwapVerify)(nil), // 19: CDOTAUserMsg_SwapVerify
(*CDOTAUserMsg_ChatEvent)(nil), // 20: CDOTAUserMsg_ChatEvent
(*CDOTAUserMsg_BotChat)(nil), // 21: CDOTAUserMsg_BotChat
(*CDOTAUserMsg_CombatHeroPositions)(nil), // 22: CDOTAUserMsg_CombatHeroPositions
(*CDOTAUserMsg_CombatLogBulkData)(nil), // 23: CDOTAUserMsg_CombatLogBulkData
(*CDOTAUserMsg_ProjectileParticleCPData)(nil), // 24: CDOTAUserMsg_ProjectileParticleCPData
(*CDOTAUserMsg_MiniKillCamInfo)(nil), // 25: CDOTAUserMsg_MiniKillCamInfo
(*CDOTAUserMsg_GlobalLightColor)(nil), // 26: CDOTAUserMsg_GlobalLightColor
(*CDOTAUserMsg_GlobalLightDirection)(nil), // 27: CDOTAUserMsg_GlobalLightDirection
(*CDOTAUserMsg_LocationPing)(nil), // 28: CDOTAUserMsg_LocationPing
(*CDOTAUserMsg_PingConfirmation)(nil), // 29: CDOTAUserMsg_PingConfirmation
(*CDOTAUserMsg_ItemAlert)(nil), // 30: CDOTAUserMsg_ItemAlert
(*CDOTAUserMsg_EnemyItemAlert)(nil), // 31: CDOTAUserMsg_EnemyItemAlert
(*CDOTAUserMsg_ModifierAlert)(nil), // 32: CDOTAUserMsg_ModifierAlert
(*CDOTAUserMsg_HPManaAlert)(nil), // 33: CDOTAUserMsg_HPManaAlert
(*CDOTAUserMsg_GlyphAlert)(nil), // 34: CDOTAUserMsg_GlyphAlert
(*CDOTAUserMsg_RadarAlert)(nil), // 35: CDOTAUserMsg_RadarAlert
(*CDOTAUserMsg_WillPurchaseAlert)(nil), // 36: CDOTAUserMsg_WillPurchaseAlert
(*CDOTAUserMsg_EmptyTeleportAlert)(nil), // 37: CDOTAUserMsg_EmptyTeleportAlert
(*CDOTAUserMsg_MarsArenaOfBloodAttack)(nil), // 38: CDOTAUserMsg_MarsArenaOfBloodAttack
(*CDOTAEntityMsg_InvokerSpellCast)(nil), // 39: CDOTAEntityMsg_InvokerSpellCast
(*CDOTAUserMsg_BuyBackStateAlert)(nil), // 40: CDOTAUserMsg_BuyBackStateAlert
(*CDOTAUserMsg_QuickBuyAlert)(nil), // 41: CDOTAUserMsg_QuickBuyAlert
(*CDOTAUserMsg_CourierKilledAlert)(nil), // 42: CDOTAUserMsg_CourierKilledAlert
(*CDOTAUserMsg_MinimapEvent)(nil), // 43: CDOTAUserMsg_MinimapEvent
(*CDOTAUserMsg_MapLine)(nil), // 44: CDOTAUserMsg_MapLine
(*CDOTAUserMsg_MinimapDebugPoint)(nil), // 45: CDOTAUserMsg_MinimapDebugPoint
(*CDOTAUserMsg_CreateLinearProjectile)(nil), // 46: CDOTAUserMsg_CreateLinearProjectile
(*CDOTAUserMsg_DestroyLinearProjectile)(nil), // 47: CDOTAUserMsg_DestroyLinearProjectile
(*CDOTAUserMsg_DodgeTrackingProjectiles)(nil), // 48: CDOTAUserMsg_DodgeTrackingProjectiles
(*CDOTAUserMsg_SpectatorPlayerClick)(nil), // 49: CDOTAUserMsg_SpectatorPlayerClick
(*CDOTAUserMsg_SpectatorPlayerUnitOrders)(nil), // 50: CDOTAUserMsg_SpectatorPlayerUnitOrders
(*CDOTAUserMsg_NevermoreRequiem)(nil), // 51: CDOTAUserMsg_NevermoreRequiem
(*CDOTAUserMsg_InvalidCommand)(nil), // 52: CDOTAUserMsg_InvalidCommand
(*CDOTAUserMsg_HudError)(nil), // 53: CDOTAUserMsg_HudError
(*CDOTAUserMsg_SharedCooldown)(nil), // 54: CDOTAUserMsg_SharedCooldown
(*CDOTAUserMsg_SetNextAutobuyItem)(nil), // 55: CDOTAUserMsg_SetNextAutobuyItem
(*CDOTAUserMsg_HalloweenDrops)(nil), // 56: CDOTAUserMsg_HalloweenDrops
(*CDOTAUserMsg_PredictionResult)(nil), // 57: CDOTAUserMsg_PredictionResult
(*CDOTAResponseQuerySerialized)(nil), // 58: CDOTAResponseQuerySerialized
(*CDOTASpeechMatchOnClient)(nil), // 59: CDOTASpeechMatchOnClient
(*CDOTAUserMsg_UnitEvent)(nil), // 60: CDOTAUserMsg_UnitEvent
(*CDOTAUserMsg_ItemPurchased)(nil), // 61: CDOTAUserMsg_ItemPurchased
(*CDOTAUserMsg_ItemSold)(nil), // 62: CDOTAUserMsg_ItemSold
(*CDOTAUserMsg_ItemFound)(nil), // 63: CDOTAUserMsg_ItemFound
(*CDOTAUserMsg_OverheadEvent)(nil), // 64: CDOTAUserMsg_OverheadEvent
(*CDOTAUserMsg_TutorialTipInfo)(nil), // 65: CDOTAUserMsg_TutorialTipInfo
(*CDOTAUserMsg_TutorialFinish)(nil), // 66: CDOTAUserMsg_TutorialFinish
(*CDOTAUserMsg_TutorialMinimapPosition)(nil), // 67: CDOTAUserMsg_TutorialMinimapPosition
(*CDOTAUserMsg_SendGenericToolTip)(nil), // 68: CDOTAUserMsg_SendGenericToolTip
(*CDOTAUserMsg_WorldLine)(nil), // 69: CDOTAUserMsg_WorldLine
(*CDOTAUserMsg_ChatWheel)(nil), // 70: CDOTAUserMsg_ChatWheel
(*CDOTAUserMsg_ReceivedXmasGift)(nil), // 71: CDOTAUserMsg_ReceivedXmasGift
(*CDOTAUserMsg_ShowSurvey)(nil), // 72: CDOTAUserMsg_ShowSurvey
(*CDOTAUserMsg_UpdateSharedContent)(nil), // 73: CDOTAUserMsg_UpdateSharedContent
(*CDOTAUserMsg_TutorialRequestExp)(nil), // 74: CDOTAUserMsg_TutorialRequestExp
(*CDOTAUserMsg_TutorialFade)(nil), // 75: CDOTAUserMsg_TutorialFade
(*CDOTAUserMsg_TutorialPingMinimap)(nil), // 76: CDOTAUserMsg_TutorialPingMinimap
(*CDOTAUserMsg_GamerulesStateChanged)(nil), // 77: CDOTAUserMsg_GamerulesStateChanged
(*CDOTAUserMsg_AddQuestLogEntry)(nil), // 78: CDOTAUserMsg_AddQuestLogEntry
(*CDOTAUserMsg_SendStatPopup)(nil), // 79: CDOTAUserMsg_SendStatPopup
(*CDOTAUserMsg_DismissAllStatPopups)(nil), // 80: CDOTAUserMsg_DismissAllStatPopups
(*CDOTAUserMsg_SendRoshanSpectatorPhase)(nil), // 81: CDOTAUserMsg_SendRoshanSpectatorPhase
(*CDOTAUserMsg_SendRoshanPopup)(nil), // 82: CDOTAUserMsg_SendRoshanPopup
(*CDOTAUserMsg_SendFinalGold)(nil), // 83: CDOTAUserMsg_SendFinalGold
(*CDOTAUserMsg_CustomMsg)(nil), // 84: CDOTAUserMsg_CustomMsg
(*CDOTAUserMsg_CoachHUDPing)(nil), // 85: CDOTAUserMsg_CoachHUDPing
(*CDOTAUserMsg_ClientLoadGridNav)(nil), // 86: CDOTAUserMsg_ClientLoadGridNav
(*CDOTAUserMsg_TE_Projectile)(nil), // 87: CDOTAUserMsg_TE_Projectile
(*CDOTAUserMsg_TE_ProjectileLoc)(nil), // 88: CDOTAUserMsg_TE_ProjectileLoc
(*CDOTAUserMsg_TE_DestroyProjectile)(nil), // 89: CDOTAUserMsg_TE_DestroyProjectile
(*CDOTAUserMsg_TE_DotaBloodImpact)(nil), // 90: CDOTAUserMsg_TE_DotaBloodImpact
(*CDOTAUserMsg_AbilityPing)(nil), // 91: CDOTAUserMsg_AbilityPing
(*CDOTAUserMsg_TE_UnitAnimation)(nil), // 92: CDOTAUserMsg_TE_UnitAnimation
(*CDOTAUserMsg_TE_UnitAnimationEnd)(nil), // 93: CDOTAUserMsg_TE_UnitAnimationEnd
(*CDOTAUserMsg_ShowGenericPopup)(nil), // 94: CDOTAUserMsg_ShowGenericPopup
(*CDOTAUserMsg_VoteStart)(nil), // 95: CDOTAUserMsg_VoteStart
(*CDOTAUserMsg_VoteUpdate)(nil), // 96: CDOTAUserMsg_VoteUpdate
(*CDOTAUserMsg_VoteEnd)(nil), // 97: CDOTAUserMsg_VoteEnd
(*CDOTAUserMsg_BoosterStatePlayer)(nil), // 98: CDOTAUserMsg_BoosterStatePlayer
(*CDOTAUserMsg_BoosterState)(nil), // 99: CDOTAUserMsg_BoosterState
(*CDOTAUserMsg_PlayerMMR)(nil), // 100: CDOTAUserMsg_PlayerMMR
(*CDOTAUserMsg_AbilitySteal)(nil), // 101: CDOTAUserMsg_AbilitySteal
(*CDOTAUserMsg_StatsHeroLookup)(nil), // 102: CDOTAUserMsg_StatsHeroLookup
(*CDOTAUserMsg_StatsHeroPositionInfo)(nil), // 103: CDOTAUserMsg_StatsHeroPositionInfo
(*CDOTAUserMsg_StatsHeroMinuteDetails)(nil), // 104: CDOTAUserMsg_StatsHeroMinuteDetails
(*CDOTAUserMsg_StatsTeamMinuteDetails)(nil), // 105: CDOTAUserMsg_StatsTeamMinuteDetails
(*CDOTAUserMsg_StatsPlayerKillShare)(nil), // 106: CDOTAUserMsg_StatsPlayerKillShare
(*CDOTAUserMsg_StatsKillDetails)(nil), // 107: CDOTAUserMsg_StatsKillDetails
(*CDOTAUserMsg_StatsMatchDetails)(nil), // 108: CDOTAUserMsg_StatsMatchDetails
(*CDOTAUserMsg_MiniTaunt)(nil), // 109: CDOTAUserMsg_MiniTaunt
(*CDOTAUserMsg_SpeechBubble)(nil), // 110: CDOTAUserMsg_SpeechBubble
(*CDOTAUserMsg_CustomHeaderMessage)(nil), // 111: CDOTAUserMsg_CustomHeaderMessage
(*CMsgHeroAbilityStat)(nil), // 112: CMsgHeroAbilityStat
(*CMsgCombatAnalyzerPlayerStat)(nil), // 113: CMsgCombatAnalyzerPlayerStat
(*CMsgCombatAnalyzerStats)(nil), // 114: CMsgCombatAnalyzerStats
(*CDOTAUserMsg_BeastChat)(nil), // 115: CDOTAUserMsg_BeastChat
(*CDOTAUserMsg_CustomHudElement_Create)(nil), // 116: CDOTAUserMsg_CustomHudElement_Create
(*CDOTAUserMsg_CustomHudElement_Modify)(nil), // 117: CDOTAUserMsg_CustomHudElement_Modify
(*CDOTAUserMsg_CustomHudElement_Destroy)(nil), // 118: CDOTAUserMsg_CustomHudElement_Destroy
(*CDOTAUserMsg_CompendiumStatePlayer)(nil), // 119: CDOTAUserMsg_CompendiumStatePlayer
(*CDOTAUserMsg_CompendiumState)(nil), // 120: CDOTAUserMsg_CompendiumState
(*CDOTAUserMsg_ProjectionAbility)(nil), // 121: CDOTAUserMsg_ProjectionAbility
(*CDOTAUserMsg_ProjectionEvent)(nil), // 122: CDOTAUserMsg_ProjectionEvent
(*CDOTAUserMsg_XPAlert)(nil), // 123: CDOTAUserMsg_XPAlert
(*CDOTAUserMsg_TalentTreeAlert)(nil), // 124: CDOTAUserMsg_TalentTreeAlert
(*CDOTAUserMsg_UpdateQuestProgress)(nil), // 125: CDOTAUserMsg_UpdateQuestProgress
(*CDOTAUserMsg_QuestStatus)(nil), // 126: CDOTAUserMsg_QuestStatus
(*CDOTAUserMsg_SuggestHeroPick)(nil), // 127: CDOTAUserMsg_SuggestHeroPick
(*CDOTAUserMsg_SuggestHeroRole)(nil), // 128: CDOTAUserMsg_SuggestHeroRole
(*CDOTAUserMsg_KillcamDamageTaken)(nil), // 129: CDOTAUserMsg_KillcamDamageTaken
(*CDOTAUserMsg_SelectPenaltyGold)(nil), // 130: CDOTAUserMsg_SelectPenaltyGold
(*CDOTAUserMsg_RollDiceResult)(nil), // 131: CDOTAUserMsg_RollDiceResult
(*CDOTAUserMsg_FlipCoinResult)(nil), // 132: CDOTAUserMsg_FlipCoinResult
(*CDOTAUserMessage_RequestItemSuggestions)(nil), // 133: CDOTAUserMessage_RequestItemSuggestions
(*CDOTAUserMessage_TeamCaptainChanged)(nil), // 134: CDOTAUserMessage_TeamCaptainChanged
(*CDOTAUserMsg_ChatWheelCooldown)(nil), // 135: CDOTAUserMsg_ChatWheelCooldown
(*CDOTAUserMsg_HeroRelicProgress)(nil), // 136: CDOTAUserMsg_HeroRelicProgress
(*CDOTAUserMsg_AbilityDraftRequestAbility)(nil), // 137: CDOTAUserMsg_AbilityDraftRequestAbility
(*CDOTAUserMsg_DamageReport)(nil), // 138: CDOTAUserMsg_DamageReport
(*CDOTAUserMsg_SalutePlayer)(nil), // 139: CDOTAUserMsg_SalutePlayer
(*CDOTAUserMsg_TipAlert)(nil), // 140: CDOTAUserMsg_TipAlert
(*CDOTAUserMsg_ReplaceQueryUnit)(nil), // 141: CDOTAUserMsg_ReplaceQueryUnit
(*CDOTAUserMsg_ESArcanaCombo)(nil), // 142: CDOTAUserMsg_ESArcanaCombo
(*CDOTAUserMsg_ESArcanaComboSummary)(nil), // 143: CDOTAUserMsg_ESArcanaComboSummary
(*CDOTAUserMsg_OMArcanaCombo)(nil), // 144: CDOTAUserMsg_OMArcanaCombo
(*CDOTAUserMsg_HighFiveCompleted)(nil), // 145: CDOTAUserMsg_HighFiveCompleted
(*CDOTAUserMsg_HighFiveLeftHanging)(nil), // 146: CDOTAUserMsg_HighFiveLeftHanging
(*CDOTAUserMsg_ShovelUnearth)(nil), // 147: CDOTAUserMsg_ShovelUnearth
(*CDOTAUserMsg_AllStarEvent)(nil), // 148: CDOTAUserMsg_AllStarEvent
(*CDOTAUserMsg_QueuedOrderRemoved)(nil), // 149: CDOTAUserMsg_QueuedOrderRemoved
(*CDOTAUserMsg_DebugChallenge)(nil), // 150: CDOTAUserMsg_DebugChallenge
(*CDOTAUserMsg_FoundNeutralItem)(nil), // 151: CDOTAUserMsg_FoundNeutralItem
(*CDOTAUserMsg_OutpostCaptured)(nil), // 152: CDOTAUserMsg_OutpostCaptured
(*CDOTAUserMsg_OutpostGrantedXP)(nil), // 153: CDOTAUserMsg_OutpostGrantedXP
(*CDOTAUserMsg_MoveCameraToUnit)(nil), // 154: CDOTAUserMsg_MoveCameraToUnit
(*CDOTAUserMsg_PauseMinigameData)(nil), // 155: CDOTAUserMsg_PauseMinigameData
(*CDOTAUserMsg_VersusScene_PlayerBehavior)(nil), // 156: CDOTAUserMsg_VersusScene_PlayerBehavior
(*CDOTAUserMsg_QoP_ArcanaSummary)(nil), // 157: CDOTAUserMsg_QoP_ArcanaSummary
(*CDOTAUserMsg_HotPotato_Created)(nil), // 158: CDOTAUserMsg_HotPotato_Created
(*CDOTAUserMsg_HotPotato_Exploded)(nil), // 159: CDOTAUserMsg_HotPotato_Exploded
(*CDOTAUserMsg_WK_Arcana_Progress)(nil), // 160: CDOTAUserMsg_WK_Arcana_Progress
(*CDOTAUserMsg_GuildChallenge_Progress)(nil), // 161: CDOTAUserMsg_GuildChallenge_Progress
(*CDOTAUserMsg_WRArcanaProgress)(nil), // 162: CDOTAUserMsg_WRArcanaProgress
(*CDOTAUserMsg_WRArcanaSummary)(nil), // 163: CDOTAUserMsg_WRArcanaSummary
(*CDOTAUserMsg_EmptyItemSlotAlert)(nil), // 164: CDOTAUserMsg_EmptyItemSlotAlert
(*CDOTAUserMsg_AghsStatusAlert)(nil), // 165: CDOTAUserMsg_AghsStatusAlert
(*CDOTAUserMsg_MutedPlayers)(nil), // 166: CDOTAUserMsg_MutedPlayers
(*CDOTAUserMsg_ContextualTip)(nil), // 167: CDOTAUserMsg_ContextualTip
(*CDOTAUserMsg_ChatMessage)(nil), // 168: CDOTAUserMsg_ChatMessage
(*CDOTAUserMsg_MiniKillCamInfo_Attacker)(nil), // 169: CDOTAUserMsg_MiniKillCamInfo.Attacker
(*CDOTAUserMsg_MiniKillCamInfo_Attacker_Ability)(nil), // 170: CDOTAUserMsg_MiniKillCamInfo.Attacker.Ability
(*CDOTAUserMsg_CourierKilledAlert_LostItem)(nil), // 171: CDOTAUserMsg_CourierKilledAlert.LostItem
(*CDOTAUserMsg_PredictionResult_Prediction)(nil), // 172: CDOTAUserMsg_PredictionResult.Prediction
(*CDOTAResponseQuerySerialized_Fact)(nil), // 173: CDOTAResponseQuerySerialized.Fact
(*CDOTAUserMsg_UnitEvent_Interval)(nil), // 174: CDOTAUserMsg_UnitEvent.Interval
(*CDOTAUserMsg_UnitEvent_Speech)(nil), // 175: CDOTAUserMsg_UnitEvent.Speech
(*CDOTAUserMsg_UnitEvent_SpeechMute)(nil), // 176: CDOTAUserMsg_UnitEvent.SpeechMute
(*CDOTAUserMsg_UnitEvent_AddGesture)(nil), // 177: CDOTAUserMsg_UnitEvent.AddGesture
(*CDOTAUserMsg_UnitEvent_RemoveGesture)(nil), // 178: CDOTAUserMsg_UnitEvent.RemoveGesture
(*CDOTAUserMsg_UnitEvent_BloodImpact)(nil), // 179: CDOTAUserMsg_UnitEvent.BloodImpact
(*CDOTAUserMsg_UnitEvent_FadeGesture)(nil), // 180: CDOTAUserMsg_UnitEvent.FadeGesture
(*CDOTAUserMsg_StatsHeroPositionInfo_PositionPair)(nil), // 181: CDOTAUserMsg_StatsHeroPositionInfo.PositionPair
(*CDOTAUserMsg_StatsTeamMinuteDetails_LocationPerformance)(nil), // 182: CDOTAUserMsg_StatsTeamMinuteDetails.LocationPerformance
(*CDOTAUserMsg_StatsMatchDetails_CDOTAUserMsg_StatsFightTeamDetails)(nil), // 183: CDOTAUserMsg_StatsMatchDetails.CDOTAUserMsg_StatsFightTeamDetails
(*CDOTAUserMsg_StatsMatchDetails_CDOTAUserMsg_StatsFightDetails)(nil), // 184: CDOTAUserMsg_StatsMatchDetails.CDOTAUserMsg_StatsFightDetails
(*CDOTAUserMsg_AllStarEvent_PlayerScore)(nil), // 185: CDOTAUserMsg_AllStarEvent.PlayerScore
(*CDOTAUserMsg_PauseMinigameData_DataBit)(nil), // 186: CDOTAUserMsg_PauseMinigameData.DataBit
(*CDOTAUserMsg_GuildChallenge_Progress_PlayerProgress)(nil), // 187: CDOTAUserMsg_GuildChallenge_Progress.PlayerProgress
(*CMsgVector2D)(nil), // 188: CMsgVector2D
(*CMsgDOTACombatLogEntry)(nil), // 189: CMsgDOTACombatLogEntry
(*CMsgVector)(nil), // 190: CMsgVector
(*CDOTAMsg_LocationPing)(nil), // 191: CDOTAMsg_LocationPing
(*CDOTAMsg_ItemAlert)(nil), // 192: CDOTAMsg_ItemAlert
(*CEntityMsg)(nil), // 193: CEntityMsg
(*CDOTAMsg_MapLine)(nil), // 194: CDOTAMsg_MapLine
(*CDOTAMsg_WorldLine)(nil), // 195: CDOTAMsg_WorldLine
(*CDOTAMsg_SendStatPopup)(nil), // 196: CDOTAMsg_SendStatPopup
(*CDOTAMsg_DismissAllStatPopups)(nil), // 197: CDOTAMsg_DismissAllStatPopups
(*CDOTAMsg_CoachHUDPing)(nil), // 198: CDOTAMsg_CoachHUDPing
(EDOTAVersusScenePlayerBehavior)(0), // 199: EDOTAVersusScenePlayerBehavior
(*VersusScene_PlayActivity)(nil), // 200: VersusScene_PlayActivity
(*VersusScene_ChatWheel)(nil), // 201: VersusScene_ChatWheel
(*VersusScene_PlaybackRate)(nil), // 202: VersusScene_PlaybackRate
}
var file_dota_usermessages_proto_depIdxs = []int32{
1, // 0: CDOTAUserMsg_ChatEvent.type:type_name -> DOTA_CHAT_MESSAGE
188, // 1: CDOTAUserMsg_CombatHeroPositions.world_pos:type_name -> CMsgVector2D
189, // 2: CDOTAUserMsg_CombatLogBulkData.combat_entries:type_name -> CMsgDOTACombatLogEntry
190, // 3: CDOTAUserMsg_ProjectileParticleCPData.vector:type_name -> CMsgVector
169, // 4: CDOTAUserMsg_MiniKillCamInfo.attackers:type_name -> CDOTAUserMsg_MiniKillCamInfo.Attacker
190, // 5: CDOTAUserMsg_GlobalLightDirection.direction:type_name -> CMsgVector
191, // 6: CDOTAUserMsg_LocationPing.location_ping:type_name -> CDOTAMsg_LocationPing
190, // 7: CDOTAUserMsg_PingConfirmation.location:type_name -> CMsgVector
192, // 8: CDOTAUserMsg_ItemAlert.item_alert:type_name -> CDOTAMsg_ItemAlert
193, // 9: CDOTAEntityMsg_InvokerSpellCast.entity_msg:type_name -> CEntityMsg
171, // 10: CDOTAUserMsg_CourierKilledAlert.lost_items:type_name -> CDOTAUserMsg_CourierKilledAlert.LostItem
194, // 11: CDOTAUserMsg_MapLine.mapline:type_name -> CDOTAMsg_MapLine
190, // 12: CDOTAUserMsg_MinimapDebugPoint.location:type_name -> CMsgVector
190, // 13: CDOTAUserMsg_CreateLinearProjectile.origin:type_name -> CMsgVector
188, // 14: CDOTAUserMsg_CreateLinearProjectile.velocity:type_name -> CMsgVector2D
188, // 15: CDOTAUserMsg_CreateLinearProjectile.acceleration:type_name -> CMsgVector2D
24, // 16: CDOTAUserMsg_CreateLinearProjectile.particle_cp_data:type_name -> CDOTAUserMsg_ProjectileParticleCPData
190, // 17: CDOTAUserMsg_SpectatorPlayerUnitOrders.position:type_name -> CMsgVector
190, // 18: CDOTAUserMsg_NevermoreRequiem.origin:type_name -> CMsgVector
172, // 19: CDOTAUserMsg_PredictionResult.predictions:type_name -> CDOTAUserMsg_PredictionResult.Prediction
173, // 20: CDOTAResponseQuerySerialized.facts:type_name -> CDOTAResponseQuerySerialized.Fact
58, // 21: CDOTASpeechMatchOnClient.responsequery:type_name -> CDOTAResponseQuerySerialized
6, // 22: CDOTAUserMsg_UnitEvent.msg_type:type_name -> EDotaEntityMessages
175, // 23: CDOTAUserMsg_UnitEvent.speech:type_name -> CDOTAUserMsg_UnitEvent.Speech
176, // 24: CDOTAUserMsg_UnitEvent.speech_mute:type_name -> CDOTAUserMsg_UnitEvent.SpeechMute
177, // 25: CDOTAUserMsg_UnitEvent.add_gesture:type_name -> CDOTAUserMsg_UnitEvent.AddGesture
178, // 26: CDOTAUserMsg_UnitEvent.remove_gesture:type_name -> CDOTAUserMsg_UnitEvent.RemoveGesture
179, // 27: CDOTAUserMsg_UnitEvent.blood_impact:type_name -> CDOTAUserMsg_UnitEvent.BloodImpact
180, // 28: CDOTAUserMsg_UnitEvent.fade_gesture:type_name -> CDOTAUserMsg_UnitEvent.FadeGesture
59, // 29: CDOTAUserMsg_UnitEvent.speech_match_on_client:type_name -> CDOTASpeechMatchOnClient
7, // 30: CDOTAUserMsg_OverheadEvent.message_type:type_name -> DOTA_OVERHEAD_ALERT
195, // 31: CDOTAUserMsg_WorldLine.worldline:type_name -> CDOTAMsg_WorldLine
196, // 32: CDOTAUserMsg_SendStatPopup.statpopup:type_name -> CDOTAMsg_SendStatPopup
197, // 33: CDOTAUserMsg_DismissAllStatPopups.dismissallmsg:type_name -> CDOTAMsg_DismissAllStatPopups
8, // 34: CDOTAUserMsg_SendRoshanSpectatorPhase.phase:type_name -> DOTA_ROSHAN_PHASE
198, // 35: CDOTAUserMsg_CoachHUDPing.hud_ping:type_name -> CDOTAMsg_CoachHUDPing
190, // 36: CDOTAUserMsg_TE_Projectile.target_loc:type_name -> CMsgVector
24, // 37: CDOTAUserMsg_TE_Projectile.particle_cp_data:type_name -> CDOTAUserMsg_ProjectileParticleCPData
190, // 38: CDOTAUserMsg_TE_ProjectileLoc.source_loc:type_name -> CMsgVector
190, // 39: CDOTAUserMsg_TE_ProjectileLoc.target_loc:type_name -> CMsgVector
24, // 40: CDOTAUserMsg_TE_ProjectileLoc.particle_cp_data:type_name -> CDOTAUserMsg_ProjectileParticleCPData
4, // 41: CDOTAUserMsg_AbilityPing.type:type_name -> DOTA_ABILITY_PING_TYPE
98, // 42: CDOTAUserMsg_BoosterState.boosted_players:type_name -> CDOTAUserMsg_BoosterStatePlayer
181, // 43: CDOTAUserMsg_StatsHeroPositionInfo.position_details:type_name -> CDOTAUserMsg_StatsHeroPositionInfo.PositionPair
103, // 44: CDOTAUserMsg_StatsHeroMinuteDetails.position_info:type_name -> CDOTAUserMsg_StatsHeroPositionInfo
104, // 45: CDOTAUserMsg_StatsTeamMinuteDetails.player_stats:type_name -> CDOTAUserMsg_StatsHeroMinuteDetails
182, // 46: CDOTAUserMsg_StatsTeamMinuteDetails.lane_performance:type_name -> CDOTAUserMsg_StatsTeamMinuteDetails.LocationPerformance
106, // 47: CDOTAUserMsg_StatsKillDetails.kill_shares:type_name -> CDOTAUserMsg_StatsPlayerKillShare
102, // 48: CDOTAUserMsg_StatsMatchDetails.hero_lookup:type_name -> CDOTAUserMsg_StatsHeroLookup
105, // 49: CDOTAUserMsg_StatsMatchDetails.radiant_stats:type_name -> CDOTAUserMsg_StatsTeamMinuteDetails
105, // 50: CDOTAUserMsg_StatsMatchDetails.dire_stats:type_name -> CDOTAUserMsg_StatsTeamMinuteDetails
107, // 51: CDOTAUserMsg_StatsMatchDetails.radiant_kills:type_name -> CDOTAUserMsg_StatsKillDetails
107, // 52: CDOTAUserMsg_StatsMatchDetails.dire_kills:type_name -> CDOTAUserMsg_StatsKillDetails
184, // 53: CDOTAUserMsg_StatsMatchDetails.fight_details:type_name -> CDOTAUserMsg_StatsMatchDetails.CDOTAUserMsg_StatsFightDetails
11, // 54: CMsgHeroAbilityStat.stat_type:type_name -> EHeroStatType
112, // 55: CMsgCombatAnalyzerPlayerStat.hero_ability_stats:type_name -> CMsgHeroAbilityStat
113, // 56: CMsgCombatAnalyzerStats.player_stats:type_name -> CMsgCombatAnalyzerPlayerStat
119, // 57: CDOTAUserMsg_CompendiumState.compendium_players:type_name -> CDOTAUserMsg_CompendiumStatePlayer
190, // 58: CDOTAUserMsg_ProjectionAbility.origin:type_name -> CMsgVector
13, // 59: CDOTAUserMsg_ProjectionEvent.event_id:type_name -> EProjectionEvent
185, // 60: CDOTAUserMsg_AllStarEvent.player_scores:type_name -> CDOTAUserMsg_AllStarEvent.PlayerScore
186, // 61: CDOTAUserMsg_PauseMinigameData.data_bits:type_name -> CDOTAUserMsg_PauseMinigameData.DataBit
199, // 62: CDOTAUserMsg_VersusScene_PlayerBehavior.behavior:type_name -> EDOTAVersusScenePlayerBehavior
200, // 63: CDOTAUserMsg_VersusScene_PlayerBehavior.play_activity:type_name -> VersusScene_PlayActivity
201, // 64: CDOTAUserMsg_VersusScene_PlayerBehavior.chat_wheel:type_name -> VersusScene_ChatWheel
202, // 65: CDOTAUserMsg_VersusScene_PlayerBehavior.playback_rate:type_name -> VersusScene_PlaybackRate
187, // 66: CDOTAUserMsg_GuildChallenge_Progress.player_progress:type_name -> CDOTAUserMsg_GuildChallenge_Progress.PlayerProgress
16, // 67: CDOTAUserMsg_GuildChallenge_Progress.challenge_type:type_name -> CDOTAUserMsg_GuildChallenge_Progress.EChallengeType
170, // 68: CDOTAUserMsg_MiniKillCamInfo.Attacker.abilities:type_name -> CDOTAUserMsg_MiniKillCamInfo.Attacker.Ability
14, // 69: CDOTAUserMsg_PredictionResult.Prediction.result:type_name -> CDOTAUserMsg_PredictionResult.Prediction.EResult
15, // 70: CDOTAResponseQuerySerialized.Fact.valtype:type_name -> CDOTAResponseQuerySerialized.Fact.ValueType
174, // 71: CDOTAUserMsg_UnitEvent.Speech.predelay:type_name -> CDOTAUserMsg_UnitEvent.Interval
9, // 72: CDOTAUserMsg_StatsHeroPositionInfo.PositionPair.position_category:type_name -> DOTA_POSITION_CATEGORY
183, // 73: CDOTAUserMsg_StatsMatchDetails.CDOTAUserMsg_StatsFightDetails.radiant_fight_details:type_name -> CDOTAUserMsg_StatsMatchDetails.CDOTAUserMsg_StatsFightTeamDetails
183, // 74: CDOTAUserMsg_StatsMatchDetails.CDOTAUserMsg_StatsFightDetails.dire_fight_details:type_name -> CDOTAUserMsg_StatsMatchDetails.CDOTAUserMsg_StatsFightTeamDetails
75, // [75:75] is the sub-list for method output_type
75, // [75:75] is the sub-list for method input_type
75, // [75:75] is the sub-list for extension type_name
75, // [75:75] is the sub-list for extension extendee
0, // [0:75] is the sub-list for field type_name
}
func init() { file_dota_usermessages_proto_init() }
func file_dota_usermessages_proto_init() {
if File_dota_usermessages_proto != nil {
return
}
file_networkbasetypes_proto_init()
file_dota_shared_enums_proto_init()
file_dota_commonmessages_proto_init()
if !protoimpl.UnsafeEnabled {
file_dota_usermessages_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*CDOTAUserMsg_AIDebugLine); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_dota_usermessages_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*CDOTAUserMsg_Ping); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_dota_usermessages_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*CDOTAUserMsg_SwapVerify); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_dota_usermessages_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*CDOTAUserMsg_ChatEvent); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_dota_usermessages_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*CDOTAUserMsg_BotChat); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_dota_usermessages_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*CDOTAUserMsg_CombatHeroPositions); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_dota_usermessages_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*CDOTAUserMsg_CombatLogBulkData); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_dota_usermessages_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*CDOTAUserMsg_ProjectileParticleCPData); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_dota_usermessages_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*CDOTAUserMsg_MiniKillCamInfo); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_dota_usermessages_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*CDOTAUserMsg_GlobalLightColor); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_dota_usermessages_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*CDOTAUserMsg_GlobalLightDirection); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_dota_usermessages_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*CDOTAUserMsg_LocationPing); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_dota_usermessages_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*CDOTAUserMsg_PingConfirmation); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_dota_usermessages_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*CDOTAUserMsg_ItemAlert); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_dota_usermessages_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*CDOTAUserMsg_EnemyItemAlert); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_dota_usermessages_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*CDOTAUserMsg_ModifierAlert); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_dota_usermessages_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*CDOTAUserMsg_HPManaAlert); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_dota_usermessages_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*CDOTAUserMsg_GlyphAlert); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_dota_usermessages_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*CDOTAUserMsg_RadarAlert); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_dota_usermessages_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*CDOTAUserMsg_WillPurchaseAlert); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_dota_usermessages_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*CDOTAUserMsg_EmptyTeleportAlert); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_dota_usermessages_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*CDOTAUserMsg_MarsArenaOfBloodAttack); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_dota_usermessages_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*CDOTAEntityMsg_InvokerSpellCast); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_dota_usermessages_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*CDOTAUserMsg_BuyBackStateAlert); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_dota_usermessages_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*CDOTAUserMsg_QuickBuyAlert); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_dota_usermessages_proto_msgTypes[25].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*CDOTAUserMsg_CourierKilledAlert); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_dota_usermessages_proto_msgTypes[26].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*CDOTAUserMsg_MinimapEvent); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_dota_usermessages_proto_msgTypes[27].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*CDOTAUserMsg_MapLine); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_dota_usermessages_proto_msgTypes[28].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*CDOTAUserMsg_MinimapDebugPoint); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_dota_usermessages_proto_msgTypes[29].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*CDOTAUserMsg_CreateLinearProjectile); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_dota_usermessages_proto_msgTypes[30].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*CDOTAUserMsg_DestroyLinearProjectile); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_dota_usermessages_proto_msgTypes[31].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*CDOTAUserMsg_DodgeTrackingProjectiles); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_dota_usermessages_proto_msgTypes[32].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*CDOTAUserMsg_SpectatorPlayerClick); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_dota_usermessages_proto_msgTypes[33].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*CDOTAUserMsg_SpectatorPlayerUnitOrders); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_dota_usermessages_proto_msgTypes[34].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*CDOTAUserMsg_NevermoreRequiem); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_dota_usermessages_proto_msgTypes[35].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*CDOTAUserMsg_InvalidCommand); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_dota_usermessages_proto_msgTypes[36].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*CDOTAUserMsg_HudError); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_dota_usermessages_proto_msgTypes[37].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*CDOTAUserMsg_SharedCooldown); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_dota_usermessages_proto_msgTypes[38].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*CDOTAUserMsg_SetNextAutobuyItem); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_dota_usermessages_proto_msgTypes[39].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*CDOTAUserMsg_HalloweenDrops); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_dota_usermessages_proto_msgTypes[40].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*CDOTAUserMsg_PredictionResult); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_dota_usermessages_proto_msgTypes[41].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*CDOTAResponseQuerySerialized); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_dota_usermessages_proto_msgTypes[42].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*CDOTASpeechMatchOnClient); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_dota_usermessages_proto_msgTypes[43].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*CDOTAUserMsg_UnitEvent); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_dota_usermessages_proto_msgTypes[44].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*CDOTAUserMsg_ItemPurchased); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_dota_usermessages_proto_msgTypes[45].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*CDOTAUserMsg_ItemSold); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_dota_usermessages_proto_msgTypes[46].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*CDOTAUserMsg_ItemFound); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_dota_usermessages_proto_msgTypes[47].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*CDOTAUserMsg_OverheadEvent); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_dota_usermessages_proto_msgTypes[48].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*CDOTAUserMsg_TutorialTipInfo); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_dota_usermessages_proto_msgTypes[49].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*CDOTAUserMsg_TutorialFinish); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_dota_usermessages_proto_msgTypes[50].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*CDOTAUserMsg_TutorialMinimapPosition); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_dota_usermessages_proto_msgTypes[51].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*CDOTAUserMsg_SendGenericToolTip); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_dota_usermessages_proto_msgTypes[52].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*CDOTAUserMsg_WorldLine); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_dota_usermessages_proto_msgTypes[53].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*CDOTAUserMsg_ChatWheel); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_dota_usermessages_proto_msgTypes[54].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*CDOTAUserMsg_ReceivedXmasGift); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_dota_usermessages_proto_msgTypes[55].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*CDOTAUserMsg_ShowSurvey); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_dota_usermessages_proto_msgTypes[56].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*CDOTAUserMsg_UpdateSharedContent); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_dota_usermessages_proto_msgTypes[57].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*CDOTAUserMsg_TutorialRequestExp); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_dota_usermessages_proto_msgTypes[58].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*CDOTAUserMsg_TutorialFade); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_dota_usermessages_proto_msgTypes[59].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*CDOTAUserMsg_TutorialPingMinimap); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_dota_usermessages_proto_msgTypes[60].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*CDOTAUserMsg_GamerulesStateChanged); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_dota_usermessages_proto_msgTypes[61].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*CDOTAUserMsg_AddQuestLogEntry); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_dota_usermessages_proto_msgTypes[62].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*CDOTAUserMsg_SendStatPopup); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_dota_usermessages_proto_msgTypes[63].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*CDOTAUserMsg_DismissAllStatPopups); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_dota_usermessages_proto_msgTypes[64].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*CDOTAUserMsg_SendRoshanSpectatorPhase); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_dota_usermessages_proto_msgTypes[65].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*CDOTAUserMsg_SendRoshanPopup); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_dota_usermessages_proto_msgTypes[66].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*CDOTAUserMsg_SendFinalGold); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_dota_usermessages_proto_msgTypes[67].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*CDOTAUserMsg_CustomMsg); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_dota_usermessages_proto_msgTypes[68].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*CDOTAUserMsg_CoachHUDPing); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_dota_usermessages_proto_msgTypes[69].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*CDOTAUserMsg_ClientLoadGridNav); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_dota_usermessages_proto_msgTypes[70].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*CDOTAUserMsg_TE_Projectile); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_dota_usermessages_proto_msgTypes[71].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*CDOTAUserMsg_TE_ProjectileLoc); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_dota_usermessages_proto_msgTypes[72].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*CDOTAUserMsg_TE_DestroyProjectile); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_dota_usermessages_proto_msgTypes[73].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*CDOTAUserMsg_TE_DotaBloodImpact); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_dota_usermessages_proto_msgTypes[74].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*CDOTAUserMsg_AbilityPing); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_dota_usermessages_proto_msgTypes[75].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*CDOTAUserMsg_TE_UnitAnimation); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_dota_usermessages_proto_msgTypes[76].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*CDOTAUserMsg_TE_UnitAnimationEnd); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_dota_usermessages_proto_msgTypes[77].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*CDOTAUserMsg_ShowGenericPopup); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_dota_usermessages_proto_msgTypes[78].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*CDOTAUserMsg_VoteStart); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_dota_usermessages_proto_msgTypes[79].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*CDOTAUserMsg_VoteUpdate); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_dota_usermessages_proto_msgTypes[80].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*CDOTAUserMsg_VoteEnd); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_dota_usermessages_proto_msgTypes[81].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*CDOTAUserMsg_BoosterStatePlayer); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_dota_usermessages_proto_msgTypes[82].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*CDOTAUserMsg_BoosterState); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_dota_usermessages_proto_msgTypes[83].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*CDOTAUserMsg_PlayerMMR); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_dota_usermessages_proto_msgTypes[84].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*CDOTAUserMsg_AbilitySteal); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_dota_usermessages_proto_msgTypes[85].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*CDOTAUserMsg_StatsHeroLookup); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_dota_usermessages_proto_msgTypes[86].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*CDOTAUserMsg_StatsHeroPositionInfo); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_dota_usermessages_proto_msgTypes[87].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*CDOTAUserMsg_StatsHeroMinuteDetails); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_dota_usermessages_proto_msgTypes[88].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*CDOTAUserMsg_StatsTeamMinuteDetails); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_dota_usermessages_proto_msgTypes[89].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*CDOTAUserMsg_StatsPlayerKillShare); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_dota_usermessages_proto_msgTypes[90].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*CDOTAUserMsg_StatsKillDetails); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_dota_usermessages_proto_msgTypes[91].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*CDOTAUserMsg_StatsMatchDetails); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_dota_usermessages_proto_msgTypes[92].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*CDOTAUserMsg_MiniTaunt); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_dota_usermessages_proto_msgTypes[93].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*CDOTAUserMsg_SpeechBubble); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_dota_usermessages_proto_msgTypes[94].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*CDOTAUserMsg_CustomHeaderMessage); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_dota_usermessages_proto_msgTypes[95].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*CMsgHeroAbilityStat); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_dota_usermessages_proto_msgTypes[96].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*CMsgCombatAnalyzerPlayerStat); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_dota_usermessages_proto_msgTypes[97].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*CMsgCombatAnalyzerStats); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_dota_usermessages_proto_msgTypes[98].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*CDOTAUserMsg_BeastChat); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_dota_usermessages_proto_msgTypes[99].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*CDOTAUserMsg_CustomHudElement_Create); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_dota_usermessages_proto_msgTypes[100].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*CDOTAUserMsg_CustomHudElement_Modify); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_dota_usermessages_proto_msgTypes[101].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*CDOTAUserMsg_CustomHudElement_Destroy); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_dota_usermessages_proto_msgTypes[102].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*CDOTAUserMsg_CompendiumStatePlayer); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_dota_usermessages_proto_msgTypes[103].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*CDOTAUserMsg_CompendiumState); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_dota_usermessages_proto_msgTypes[104].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*CDOTAUserMsg_ProjectionAbility); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_dota_usermessages_proto_msgTypes[105].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*CDOTAUserMsg_ProjectionEvent); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_dota_usermessages_proto_msgTypes[106].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*CDOTAUserMsg_XPAlert); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_dota_usermessages_proto_msgTypes[107].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*CDOTAUserMsg_TalentTreeAlert); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_dota_usermessages_proto_msgTypes[108].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*CDOTAUserMsg_UpdateQuestProgress); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_dota_usermessages_proto_msgTypes[109].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*CDOTAUserMsg_QuestStatus); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_dota_usermessages_proto_msgTypes[110].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*CDOTAUserMsg_SuggestHeroPick); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_dota_usermessages_proto_msgTypes[111].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*CDOTAUserMsg_SuggestHeroRole); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_dota_usermessages_proto_msgTypes[112].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*CDOTAUserMsg_KillcamDamageTaken); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_dota_usermessages_proto_msgTypes[113].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*CDOTAUserMsg_SelectPenaltyGold); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_dota_usermessages_proto_msgTypes[114].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*CDOTAUserMsg_RollDiceResult); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_dota_usermessages_proto_msgTypes[115].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*CDOTAUserMsg_FlipCoinResult); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_dota_usermessages_proto_msgTypes[116].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*CDOTAUserMessage_RequestItemSuggestions); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_dota_usermessages_proto_msgTypes[117].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*CDOTAUserMessage_TeamCaptainChanged); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_dota_usermessages_proto_msgTypes[118].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*CDOTAUserMsg_ChatWheelCooldown); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_dota_usermessages_proto_msgTypes[119].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*CDOTAUserMsg_HeroRelicProgress); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_dota_usermessages_proto_msgTypes[120].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*CDOTAUserMsg_AbilityDraftRequestAbility); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_dota_usermessages_proto_msgTypes[121].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*CDOTAUserMsg_DamageReport); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_dota_usermessages_proto_msgTypes[122].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*CDOTAUserMsg_SalutePlayer); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_dota_usermessages_proto_msgTypes[123].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*CDOTAUserMsg_TipAlert); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_dota_usermessages_proto_msgTypes[124].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*CDOTAUserMsg_ReplaceQueryUnit); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_dota_usermessages_proto_msgTypes[125].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*CDOTAUserMsg_ESArcanaCombo); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_dota_usermessages_proto_msgTypes[126].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*CDOTAUserMsg_ESArcanaComboSummary); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_dota_usermessages_proto_msgTypes[127].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*CDOTAUserMsg_OMArcanaCombo); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_dota_usermessages_proto_msgTypes[128].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*CDOTAUserMsg_HighFiveCompleted); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_dota_usermessages_proto_msgTypes[129].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*CDOTAUserMsg_HighFiveLeftHanging); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_dota_usermessages_proto_msgTypes[130].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*CDOTAUserMsg_ShovelUnearth); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_dota_usermessages_proto_msgTypes[131].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*CDOTAUserMsg_AllStarEvent); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_dota_usermessages_proto_msgTypes[132].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*CDOTAUserMsg_QueuedOrderRemoved); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_dota_usermessages_proto_msgTypes[133].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*CDOTAUserMsg_DebugChallenge); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_dota_usermessages_proto_msgTypes[134].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*CDOTAUserMsg_FoundNeutralItem); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_dota_usermessages_proto_msgTypes[135].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*CDOTAUserMsg_OutpostCaptured); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_dota_usermessages_proto_msgTypes[136].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*CDOTAUserMsg_OutpostGrantedXP); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_dota_usermessages_proto_msgTypes[137].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*CDOTAUserMsg_MoveCameraToUnit); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_dota_usermessages_proto_msgTypes[138].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*CDOTAUserMsg_PauseMinigameData); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_dota_usermessages_proto_msgTypes[139].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*CDOTAUserMsg_VersusScene_PlayerBehavior); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_dota_usermessages_proto_msgTypes[140].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*CDOTAUserMsg_QoP_ArcanaSummary); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_dota_usermessages_proto_msgTypes[141].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*CDOTAUserMsg_HotPotato_Created); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_dota_usermessages_proto_msgTypes[142].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*CDOTAUserMsg_HotPotato_Exploded); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_dota_usermessages_proto_msgTypes[143].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*CDOTAUserMsg_WK_Arcana_Progress); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_dota_usermessages_proto_msgTypes[144].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*CDOTAUserMsg_GuildChallenge_Progress); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_dota_usermessages_proto_msgTypes[145].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*CDOTAUserMsg_WRArcanaProgress); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_dota_usermessages_proto_msgTypes[146].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*CDOTAUserMsg_WRArcanaSummary); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_dota_usermessages_proto_msgTypes[147].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*CDOTAUserMsg_EmptyItemSlotAlert); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_dota_usermessages_proto_msgTypes[148].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*CDOTAUserMsg_AghsStatusAlert); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_dota_usermessages_proto_msgTypes[149].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*CDOTAUserMsg_MutedPlayers); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_dota_usermessages_proto_msgTypes[150].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*CDOTAUserMsg_ContextualTip); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_dota_usermessages_proto_msgTypes[151].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*CDOTAUserMsg_ChatMessage); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_dota_usermessages_proto_msgTypes[152].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*CDOTAUserMsg_MiniKillCamInfo_Attacker); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_dota_usermessages_proto_msgTypes[153].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*CDOTAUserMsg_MiniKillCamInfo_Attacker_Ability); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_dota_usermessages_proto_msgTypes[154].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*CDOTAUserMsg_CourierKilledAlert_LostItem); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_dota_usermessages_proto_msgTypes[155].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*CDOTAUserMsg_PredictionResult_Prediction); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_dota_usermessages_proto_msgTypes[156].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*CDOTAResponseQuerySerialized_Fact); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_dota_usermessages_proto_msgTypes[157].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*CDOTAUserMsg_UnitEvent_Interval); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_dota_usermessages_proto_msgTypes[158].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*CDOTAUserMsg_UnitEvent_Speech); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_dota_usermessages_proto_msgTypes[159].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*CDOTAUserMsg_UnitEvent_SpeechMute); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_dota_usermessages_proto_msgTypes[160].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*CDOTAUserMsg_UnitEvent_AddGesture); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_dota_usermessages_proto_msgTypes[161].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*CDOTAUserMsg_UnitEvent_RemoveGesture); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_dota_usermessages_proto_msgTypes[162].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*CDOTAUserMsg_UnitEvent_BloodImpact); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_dota_usermessages_proto_msgTypes[163].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*CDOTAUserMsg_UnitEvent_FadeGesture); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_dota_usermessages_proto_msgTypes[164].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*CDOTAUserMsg_StatsHeroPositionInfo_PositionPair); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_dota_usermessages_proto_msgTypes[165].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*CDOTAUserMsg_StatsTeamMinuteDetails_LocationPerformance); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_dota_usermessages_proto_msgTypes[166].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*CDOTAUserMsg_StatsMatchDetails_CDOTAUserMsg_StatsFightTeamDetails); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_dota_usermessages_proto_msgTypes[167].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[168].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[169].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[170].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*CDOTAUserMsg_GuildChallenge_Progress_PlayerProgress); 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_usermessages_proto_rawDesc,
NumEnums: 17,
NumMessages: 171,
NumExtensions: 0,
NumServices: 0,
},
GoTypes: file_dota_usermessages_proto_goTypes,
DependencyIndexes: file_dota_usermessages_proto_depIdxs,
EnumInfos: file_dota_usermessages_proto_enumTypes,
MessageInfos: file_dota_usermessages_proto_msgTypes,
}.Build()
File_dota_usermessages_proto = out.File
file_dota_usermessages_proto_rawDesc = nil
file_dota_usermessages_proto_goTypes = nil
file_dota_usermessages_proto_depIdxs = nil
}