// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.27.1-devel // protoc v3.19.4 // source: protocol/webapi/webapi.proto package webapi 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 TagCode int32 const ( // option allow_alias = true; TagCode_UNKNOWN TagCode = 0 // 占位,不使用 TagCode_SUCCESS TagCode = 1 //成功 TagCode_FAILED TagCode = 2 //失败 TagCode_SIGN_ERROR TagCode = 3 //验签失败 TagCode_PROTO_DATA_ERROR TagCode = 4 // pb数据错误 TagCode_JYB_DATA_ERROR TagCode = 5 // 兑换卷输入信息错误 TagCode_JYB_CODE_EXIST TagCode = 6 // 兑换卷已存在 TagCode_Play_NotEXIST TagCode = 7 // 找不到玩家 TagCode_Limit TagCode = 8 // 已达上限 TagCode_TelExist TagCode = 9 // 手机号已存在 TagCode_AccountNotFound TagCode = 10 // 账号未找到 TagCode_TelNotBind TagCode = 11 // 手机号未绑定 TagCode_NotFound TagCode = 12 // 未找到 ) // Enum value maps for TagCode. var ( TagCode_name = map[int32]string{ 0: "UNKNOWN", 1: "SUCCESS", 2: "FAILED", 3: "SIGN_ERROR", 4: "PROTO_DATA_ERROR", 5: "JYB_DATA_ERROR", 6: "JYB_CODE_EXIST", 7: "Play_NotEXIST", 8: "Limit", 9: "TelExist", 10: "AccountNotFound", 11: "TelNotBind", 12: "NotFound", } TagCode_value = map[string]int32{ "UNKNOWN": 0, "SUCCESS": 1, "FAILED": 2, "SIGN_ERROR": 3, "PROTO_DATA_ERROR": 4, "JYB_DATA_ERROR": 5, "JYB_CODE_EXIST": 6, "Play_NotEXIST": 7, "Limit": 8, "TelExist": 9, "AccountNotFound": 10, "TelNotBind": 11, "NotFound": 12, } ) func (x TagCode) Enum() *TagCode { p := new(TagCode) *p = x return p } func (x TagCode) String() string { return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } func (TagCode) Descriptor() protoreflect.EnumDescriptor { return file_protocol_webapi_webapi_proto_enumTypes[0].Descriptor() } func (TagCode) Type() protoreflect.EnumType { return &file_protocol_webapi_webapi_proto_enumTypes[0] } func (x TagCode) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } // Deprecated: Use TagCode.Descriptor instead. func (TagCode) EnumDescriptor() ([]byte, []int) { return file_protocol_webapi_webapi_proto_rawDescGZIP(), []int{0} } // 保持和 shop.proto 中的 OpResultCode 一样 type ExchangeCreateCode int32 const ( ExchangeCreateCode_OPRC_Sucess ExchangeCreateCode = 0 //成功 ExchangeCreateCode_OPRC_Error ExchangeCreateCode = 1 //失败 ExchangeCreateCode_OPRC_VCoinNotEnough ExchangeCreateCode = 2 //V卡不够 ExchangeCreateCode_OPRC_ExchangeLimit ExchangeCreateCode = 3 //今日兑换已达上限,请明日再来 ExchangeCreateCode_OPRC_ExchangeNotEnough ExchangeCreateCode = 4 //该物品已被兑换完 ExchangeCreateCode_OPRC_ExchangeDataRtt ExchangeCreateCode = 5 //输入信息有误 ExchangeCreateCode_OPRC_ExchangeSoldOut ExchangeCreateCode = 6 //该商品已下架 ExchangeCreateCode_OPRC_ExchangeLimitAcc ExchangeCreateCode = 7 //账号被限制,无法进行该操作 ExchangeCreateCode_OPRC_JCoinNotEnough ExchangeCreateCode = 8 //金券不足 ExchangeCreateCode_OPRC_VipLevelNotEnough ExchangeCreateCode = 9 //Vip等级不足 ExchangeCreateCode_OPRC_NotSIMCode ExchangeCreateCode = 10 //兑换码不足 ExchangeCreateCode_OPRC_DCoinNotEnough ExchangeCreateCode = 11 //娃娃积分不足 ) // Enum value maps for ExchangeCreateCode. var ( ExchangeCreateCode_name = map[int32]string{ 0: "OPRC_Sucess", 1: "OPRC_Error", 2: "OPRC_VCoinNotEnough", 3: "OPRC_ExchangeLimit", 4: "OPRC_ExchangeNotEnough", 5: "OPRC_ExchangeDataRtt", 6: "OPRC_ExchangeSoldOut", 7: "OPRC_ExchangeLimitAcc", 8: "OPRC_JCoinNotEnough", 9: "OPRC_VipLevelNotEnough", 10: "OPRC_NotSIMCode", 11: "OPRC_DCoinNotEnough", } ExchangeCreateCode_value = map[string]int32{ "OPRC_Sucess": 0, "OPRC_Error": 1, "OPRC_VCoinNotEnough": 2, "OPRC_ExchangeLimit": 3, "OPRC_ExchangeNotEnough": 4, "OPRC_ExchangeDataRtt": 5, "OPRC_ExchangeSoldOut": 6, "OPRC_ExchangeLimitAcc": 7, "OPRC_JCoinNotEnough": 8, "OPRC_VipLevelNotEnough": 9, "OPRC_NotSIMCode": 10, "OPRC_DCoinNotEnough": 11, } ) func (x ExchangeCreateCode) Enum() *ExchangeCreateCode { p := new(ExchangeCreateCode) *p = x return p } func (x ExchangeCreateCode) String() string { return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } func (ExchangeCreateCode) Descriptor() protoreflect.EnumDescriptor { return file_protocol_webapi_webapi_proto_enumTypes[1].Descriptor() } func (ExchangeCreateCode) Type() protoreflect.EnumType { return &file_protocol_webapi_webapi_proto_enumTypes[1] } func (x ExchangeCreateCode) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } // Deprecated: Use ExchangeCreateCode.Descriptor instead. func (ExchangeCreateCode) EnumDescriptor() ([]byte, []int) { return file_protocol_webapi_webapi_proto_rawDescGZIP(), []int{1} } // 游服api模式初始化的时候从后台获取平台配置 // [action] /game_srv/platform_list type SAPlatformInfo struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields PlatformId int32 `protobuf:"varint,1,opt,name=PlatformId,proto3" json:"PlatformId,omitempty"` //可选参数,如果加了id说明只获取指定平台信息即可 } func (x *SAPlatformInfo) Reset() { *x = SAPlatformInfo{} if protoimpl.UnsafeEnabled { mi := &file_protocol_webapi_webapi_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *SAPlatformInfo) String() string { return protoimpl.X.MessageStringOf(x) } func (*SAPlatformInfo) ProtoMessage() {} func (x *SAPlatformInfo) ProtoReflect() protoreflect.Message { mi := &file_protocol_webapi_webapi_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 SAPlatformInfo.ProtoReflect.Descriptor instead. func (*SAPlatformInfo) Descriptor() ([]byte, []int) { return file_protocol_webapi_webapi_proto_rawDescGZIP(), []int{0} } func (x *SAPlatformInfo) GetPlatformId() int32 { if x != nil { return x.PlatformId } return 0 } // 后台返回给游服的数据,如果是单个平台的话,获取数组第一个即可 // [action] /game_srv/platform_list type ASPlatformInfo struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Tag TagCode `protobuf:"varint,1,opt,name=Tag,proto3,enum=webapi.TagCode" json:"Tag,omitempty"` //错误码 Msg string `protobuf:"bytes,2,opt,name=Msg,proto3" json:"Msg,omitempty"` //错误信息(选填) Platforms []*Platform `protobuf:"bytes,3,rep,name=Platforms,proto3" json:"Platforms,omitempty"` //平台列表 } func (x *ASPlatformInfo) Reset() { *x = ASPlatformInfo{} if protoimpl.UnsafeEnabled { mi := &file_protocol_webapi_webapi_proto_msgTypes[1] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ASPlatformInfo) String() string { return protoimpl.X.MessageStringOf(x) } func (*ASPlatformInfo) ProtoMessage() {} func (x *ASPlatformInfo) ProtoReflect() protoreflect.Message { mi := &file_protocol_webapi_webapi_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 ASPlatformInfo.ProtoReflect.Descriptor instead. func (*ASPlatformInfo) Descriptor() ([]byte, []int) { return file_protocol_webapi_webapi_proto_rawDescGZIP(), []int{1} } func (x *ASPlatformInfo) GetTag() TagCode { if x != nil { return x.Tag } return TagCode_UNKNOWN } func (x *ASPlatformInfo) GetMsg() string { if x != nil { return x.Msg } return "" } func (x *ASPlatformInfo) GetPlatforms() []*Platform { if x != nil { return x.Platforms } return nil } // 游服请求游戏配置 // [action] /game_srv/game_config_list type SAGameConfig struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields PlatformId int32 `protobuf:"varint,1,opt,name=PlatformId,proto3" json:"PlatformId,omitempty"` //可选参数,如果加了id说明只获取指定平台信息即可 Id int32 `protobuf:"varint,2,opt,name=Id,proto3" json:"Id,omitempty"` //可选参数 excel 游戏ID,如果!=0 PlatformId必须填写 } func (x *SAGameConfig) Reset() { *x = SAGameConfig{} if protoimpl.UnsafeEnabled { mi := &file_protocol_webapi_webapi_proto_msgTypes[2] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *SAGameConfig) String() string { return protoimpl.X.MessageStringOf(x) } func (*SAGameConfig) ProtoMessage() {} func (x *SAGameConfig) ProtoReflect() protoreflect.Message { mi := &file_protocol_webapi_webapi_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 SAGameConfig.ProtoReflect.Descriptor instead. func (*SAGameConfig) Descriptor() ([]byte, []int) { return file_protocol_webapi_webapi_proto_rawDescGZIP(), []int{2} } func (x *SAGameConfig) GetPlatformId() int32 { if x != nil { return x.PlatformId } return 0 } func (x *SAGameConfig) GetId() int32 { if x != nil { return x.Id } return 0 } // 返回游戏配置 type ASGameConfig struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Tag TagCode `protobuf:"varint,1,opt,name=Tag,proto3,enum=webapi.TagCode" json:"Tag,omitempty"` //错误码 Msg string `protobuf:"bytes,2,opt,name=Msg,proto3" json:"Msg,omitempty"` //错误信息(选填) Configs []*PlatformGameConfig `protobuf:"bytes,3,rep,name=Configs,proto3" json:"Configs,omitempty"` //配置列表 } func (x *ASGameConfig) Reset() { *x = ASGameConfig{} if protoimpl.UnsafeEnabled { mi := &file_protocol_webapi_webapi_proto_msgTypes[3] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ASGameConfig) String() string { return protoimpl.X.MessageStringOf(x) } func (*ASGameConfig) ProtoMessage() {} func (x *ASGameConfig) ProtoReflect() protoreflect.Message { mi := &file_protocol_webapi_webapi_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 ASGameConfig.ProtoReflect.Descriptor instead. func (*ASGameConfig) Descriptor() ([]byte, []int) { return file_protocol_webapi_webapi_proto_rawDescGZIP(), []int{3} } func (x *ASGameConfig) GetTag() TagCode { if x != nil { return x.Tag } return TagCode_UNKNOWN } func (x *ASGameConfig) GetMsg() string { if x != nil { return x.Msg } return "" } func (x *ASGameConfig) GetConfigs() []*PlatformGameConfig { if x != nil { return x.Configs } return nil } // 后台返回游戏配置组信息 type ASGameConfigGroup struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Tag TagCode `protobuf:"varint,1,opt,name=Tag,proto3,enum=webapi.TagCode" json:"Tag,omitempty"` //错误码 Msg string `protobuf:"bytes,2,opt,name=Msg,proto3" json:"Msg,omitempty"` //错误信息(选填) GameConfigGroup []*GameConfigGroup `protobuf:"bytes,3,rep,name=GameConfigGroup,proto3" json:"GameConfigGroup,omitempty"` //游戏组配置信息 } func (x *ASGameConfigGroup) Reset() { *x = ASGameConfigGroup{} if protoimpl.UnsafeEnabled { mi := &file_protocol_webapi_webapi_proto_msgTypes[4] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ASGameConfigGroup) String() string { return protoimpl.X.MessageStringOf(x) } func (*ASGameConfigGroup) ProtoMessage() {} func (x *ASGameConfigGroup) ProtoReflect() protoreflect.Message { mi := &file_protocol_webapi_webapi_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 ASGameConfigGroup.ProtoReflect.Descriptor instead. func (*ASGameConfigGroup) Descriptor() ([]byte, []int) { return file_protocol_webapi_webapi_proto_rawDescGZIP(), []int{4} } func (x *ASGameConfigGroup) GetTag() TagCode { if x != nil { return x.Tag } return TagCode_UNKNOWN } func (x *ASGameConfigGroup) GetMsg() string { if x != nil { return x.Msg } return "" } func (x *ASGameConfigGroup) GetGameConfigGroup() []*GameConfigGroup { if x != nil { return x.GameConfigGroup } return nil } // 后台返回 type ASGameConfigGlobal struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Tag TagCode `protobuf:"varint,1,opt,name=Tag,proto3,enum=webapi.TagCode" json:"Tag,omitempty"` // 错误码 Msg string `protobuf:"bytes,2,opt,name=Msg,proto3" json:"Msg,omitempty"` // 错误信息(选填) GameStatus *GameConfigGlobal `protobuf:"bytes,3,opt,name=GameStatus,proto3" json:"GameStatus,omitempty"` // 全局游戏开关 } func (x *ASGameConfigGlobal) Reset() { *x = ASGameConfigGlobal{} if protoimpl.UnsafeEnabled { mi := &file_protocol_webapi_webapi_proto_msgTypes[5] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ASGameConfigGlobal) String() string { return protoimpl.X.MessageStringOf(x) } func (*ASGameConfigGlobal) ProtoMessage() {} func (x *ASGameConfigGlobal) ProtoReflect() protoreflect.Message { mi := &file_protocol_webapi_webapi_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 ASGameConfigGlobal.ProtoReflect.Descriptor instead. func (*ASGameConfigGlobal) Descriptor() ([]byte, []int) { return file_protocol_webapi_webapi_proto_rawDescGZIP(), []int{5} } func (x *ASGameConfigGlobal) GetTag() TagCode { if x != nil { return x.Tag } return TagCode_UNKNOWN } func (x *ASGameConfigGlobal) GetMsg() string { if x != nil { return x.Msg } return "" } func (x *ASGameConfigGlobal) GetGameStatus() *GameConfigGlobal { if x != nil { return x.GameStatus } return nil } // [action] /game_srv/db_config type SADbConfig struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields PlatformId int32 `protobuf:"varint,1,opt,name=PlatformId,proto3" json:"PlatformId,omitempty"` //可选参数,如果加了id说明只获取指定平台的数据库配置 } func (x *SADbConfig) Reset() { *x = SADbConfig{} if protoimpl.UnsafeEnabled { mi := &file_protocol_webapi_webapi_proto_msgTypes[6] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *SADbConfig) String() string { return protoimpl.X.MessageStringOf(x) } func (*SADbConfig) ProtoMessage() {} func (x *SADbConfig) ProtoReflect() protoreflect.Message { mi := &file_protocol_webapi_webapi_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 SADbConfig.ProtoReflect.Descriptor instead. func (*SADbConfig) Descriptor() ([]byte, []int) { return file_protocol_webapi_webapi_proto_rawDescGZIP(), []int{6} } func (x *SADbConfig) GetPlatformId() int32 { if x != nil { return x.PlatformId } return 0 } // 后台返回 type ASDbConfig struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Tag TagCode `protobuf:"varint,1,opt,name=Tag,proto3,enum=webapi.TagCode" json:"Tag,omitempty"` // 错误码 Msg string `protobuf:"bytes,2,opt,name=Msg,proto3" json:"Msg,omitempty"` // 错误信息(选填) DbConfigs []*PlatformDbConfig `protobuf:"bytes,3,rep,name=DbConfigs,proto3" json:"DbConfigs,omitempty"` // 平台数据库配置列表 } func (x *ASDbConfig) Reset() { *x = ASDbConfig{} if protoimpl.UnsafeEnabled { mi := &file_protocol_webapi_webapi_proto_msgTypes[7] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ASDbConfig) String() string { return protoimpl.X.MessageStringOf(x) } func (*ASDbConfig) ProtoMessage() {} func (x *ASDbConfig) ProtoReflect() protoreflect.Message { mi := &file_protocol_webapi_webapi_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 ASDbConfig.ProtoReflect.Descriptor instead. func (*ASDbConfig) Descriptor() ([]byte, []int) { return file_protocol_webapi_webapi_proto_rawDescGZIP(), []int{7} } func (x *ASDbConfig) GetTag() TagCode { if x != nil { return x.Tag } return TagCode_UNKNOWN } func (x *ASDbConfig) GetMsg() string { if x != nil { return x.Msg } return "" } func (x *ASDbConfig) GetDbConfigs() []*PlatformDbConfig { if x != nil { return x.DbConfigs } return nil } // [action] /game_srv/platform_config type ASUpdatePlatform struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Platforms []*Platform `protobuf:"bytes,1,rep,name=Platforms,proto3" json:"Platforms,omitempty"` // 平台信息 } func (x *ASUpdatePlatform) Reset() { *x = ASUpdatePlatform{} if protoimpl.UnsafeEnabled { mi := &file_protocol_webapi_webapi_proto_msgTypes[8] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ASUpdatePlatform) String() string { return protoimpl.X.MessageStringOf(x) } func (*ASUpdatePlatform) ProtoMessage() {} func (x *ASUpdatePlatform) ProtoReflect() protoreflect.Message { mi := &file_protocol_webapi_webapi_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 ASUpdatePlatform.ProtoReflect.Descriptor instead. func (*ASUpdatePlatform) Descriptor() ([]byte, []int) { return file_protocol_webapi_webapi_proto_rawDescGZIP(), []int{8} } func (x *ASUpdatePlatform) GetPlatforms() []*Platform { if x != nil { return x.Platforms } return nil } // 游服返回修改结果 // [action] type SAUpdatePlatform struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Tag TagCode `protobuf:"varint,1,opt,name=Tag,proto3,enum=webapi.TagCode" json:"Tag,omitempty"` //错误码 Msg string `protobuf:"bytes,2,opt,name=Msg,proto3" json:"Msg,omitempty"` //错误信息(选填) } func (x *SAUpdatePlatform) Reset() { *x = SAUpdatePlatform{} if protoimpl.UnsafeEnabled { mi := &file_protocol_webapi_webapi_proto_msgTypes[9] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *SAUpdatePlatform) String() string { return protoimpl.X.MessageStringOf(x) } func (*SAUpdatePlatform) ProtoMessage() {} func (x *SAUpdatePlatform) ProtoReflect() protoreflect.Message { mi := &file_protocol_webapi_webapi_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 SAUpdatePlatform.ProtoReflect.Descriptor instead. func (*SAUpdatePlatform) Descriptor() ([]byte, []int) { return file_protocol_webapi_webapi_proto_rawDescGZIP(), []int{9} } func (x *SAUpdatePlatform) GetTag() TagCode { if x != nil { return x.Tag } return TagCode_UNKNOWN } func (x *SAUpdatePlatform) GetMsg() string { if x != nil { return x.Msg } return "" } // 更新全局游戏开关 //[action] /game_srv/update_global_game_status type ASUpdateGameConfigGlobal struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields GameStatus *GameConfigGlobal `protobuf:"bytes,1,opt,name=GameStatus,proto3" json:"GameStatus,omitempty"` } func (x *ASUpdateGameConfigGlobal) Reset() { *x = ASUpdateGameConfigGlobal{} if protoimpl.UnsafeEnabled { mi := &file_protocol_webapi_webapi_proto_msgTypes[10] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ASUpdateGameConfigGlobal) String() string { return protoimpl.X.MessageStringOf(x) } func (*ASUpdateGameConfigGlobal) ProtoMessage() {} func (x *ASUpdateGameConfigGlobal) ProtoReflect() protoreflect.Message { mi := &file_protocol_webapi_webapi_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 ASUpdateGameConfigGlobal.ProtoReflect.Descriptor instead. func (*ASUpdateGameConfigGlobal) Descriptor() ([]byte, []int) { return file_protocol_webapi_webapi_proto_rawDescGZIP(), []int{10} } func (x *ASUpdateGameConfigGlobal) GetGameStatus() *GameConfigGlobal { if x != nil { return x.GameStatus } return nil } // 返回 type SAUpdateGameConfigGlobal struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Tag TagCode `protobuf:"varint,1,opt,name=Tag,proto3,enum=webapi.TagCode" json:"Tag,omitempty"` //错误码 Msg string `protobuf:"bytes,2,opt,name=Msg,proto3" json:"Msg,omitempty"` //错误信息(选填) } func (x *SAUpdateGameConfigGlobal) Reset() { *x = SAUpdateGameConfigGlobal{} if protoimpl.UnsafeEnabled { mi := &file_protocol_webapi_webapi_proto_msgTypes[11] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *SAUpdateGameConfigGlobal) String() string { return protoimpl.X.MessageStringOf(x) } func (*SAUpdateGameConfigGlobal) ProtoMessage() {} func (x *SAUpdateGameConfigGlobal) ProtoReflect() protoreflect.Message { mi := &file_protocol_webapi_webapi_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 SAUpdateGameConfigGlobal.ProtoReflect.Descriptor instead. func (*SAUpdateGameConfigGlobal) Descriptor() ([]byte, []int) { return file_protocol_webapi_webapi_proto_rawDescGZIP(), []int{11} } func (x *SAUpdateGameConfigGlobal) GetTag() TagCode { if x != nil { return x.Tag } return TagCode_UNKNOWN } func (x *SAUpdateGameConfigGlobal) GetMsg() string { if x != nil { return x.Msg } return "" } // 更新游戏配置 //[action] /game_srv/update_game_configs type ASUpdateGameConfig struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Config *PlatformGameConfig `protobuf:"bytes,1,opt,name=Config,proto3" json:"Config,omitempty"` //配置列表 } func (x *ASUpdateGameConfig) Reset() { *x = ASUpdateGameConfig{} if protoimpl.UnsafeEnabled { mi := &file_protocol_webapi_webapi_proto_msgTypes[12] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ASUpdateGameConfig) String() string { return protoimpl.X.MessageStringOf(x) } func (*ASUpdateGameConfig) ProtoMessage() {} func (x *ASUpdateGameConfig) ProtoReflect() protoreflect.Message { mi := &file_protocol_webapi_webapi_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 ASUpdateGameConfig.ProtoReflect.Descriptor instead. func (*ASUpdateGameConfig) Descriptor() ([]byte, []int) { return file_protocol_webapi_webapi_proto_rawDescGZIP(), []int{12} } func (x *ASUpdateGameConfig) GetConfig() *PlatformGameConfig { if x != nil { return x.Config } return nil } // 返回 type SAUpdateGameConfig struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Tag TagCode `protobuf:"varint,1,opt,name=Tag,proto3,enum=webapi.TagCode" json:"Tag,omitempty"` //错误码 Msg string `protobuf:"bytes,2,opt,name=Msg,proto3" json:"Msg,omitempty"` //错误信息(选填) } func (x *SAUpdateGameConfig) Reset() { *x = SAUpdateGameConfig{} if protoimpl.UnsafeEnabled { mi := &file_protocol_webapi_webapi_proto_msgTypes[13] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *SAUpdateGameConfig) String() string { return protoimpl.X.MessageStringOf(x) } func (*SAUpdateGameConfig) ProtoMessage() {} func (x *SAUpdateGameConfig) ProtoReflect() protoreflect.Message { mi := &file_protocol_webapi_webapi_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 SAUpdateGameConfig.ProtoReflect.Descriptor instead. func (*SAUpdateGameConfig) Descriptor() ([]byte, []int) { return file_protocol_webapi_webapi_proto_rawDescGZIP(), []int{13} } func (x *SAUpdateGameConfig) GetTag() TagCode { if x != nil { return x.Tag } return TagCode_UNKNOWN } func (x *SAUpdateGameConfig) GetMsg() string { if x != nil { return x.Msg } return "" } // 更新游戏分组配置 // [action] /game_srv/game_config_group type ASUpdateGameConfigGroup struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields GameConfigGroup *GameConfigGroup `protobuf:"bytes,1,opt,name=GameConfigGroup,proto3" json:"GameConfigGroup,omitempty"` //游戏组配置信息 } func (x *ASUpdateGameConfigGroup) Reset() { *x = ASUpdateGameConfigGroup{} if protoimpl.UnsafeEnabled { mi := &file_protocol_webapi_webapi_proto_msgTypes[14] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ASUpdateGameConfigGroup) String() string { return protoimpl.X.MessageStringOf(x) } func (*ASUpdateGameConfigGroup) ProtoMessage() {} func (x *ASUpdateGameConfigGroup) ProtoReflect() protoreflect.Message { mi := &file_protocol_webapi_webapi_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 ASUpdateGameConfigGroup.ProtoReflect.Descriptor instead. func (*ASUpdateGameConfigGroup) Descriptor() ([]byte, []int) { return file_protocol_webapi_webapi_proto_rawDescGZIP(), []int{14} } func (x *ASUpdateGameConfigGroup) GetGameConfigGroup() *GameConfigGroup { if x != nil { return x.GameConfigGroup } return nil } // 返回 type SAUpdateGameConfigGroup struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Tag TagCode `protobuf:"varint,1,opt,name=Tag,proto3,enum=webapi.TagCode" json:"Tag,omitempty"` //错误码 Msg string `protobuf:"bytes,2,opt,name=Msg,proto3" json:"Msg,omitempty"` //错误信息(选填) } func (x *SAUpdateGameConfigGroup) Reset() { *x = SAUpdateGameConfigGroup{} if protoimpl.UnsafeEnabled { mi := &file_protocol_webapi_webapi_proto_msgTypes[15] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *SAUpdateGameConfigGroup) String() string { return protoimpl.X.MessageStringOf(x) } func (*SAUpdateGameConfigGroup) ProtoMessage() {} func (x *SAUpdateGameConfigGroup) ProtoReflect() protoreflect.Message { mi := &file_protocol_webapi_webapi_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 SAUpdateGameConfigGroup.ProtoReflect.Descriptor instead. func (*SAUpdateGameConfigGroup) Descriptor() ([]byte, []int) { return file_protocol_webapi_webapi_proto_rawDescGZIP(), []int{15} } func (x *SAUpdateGameConfigGroup) GetTag() TagCode { if x != nil { return x.Tag } return TagCode_UNKNOWN } func (x *SAUpdateGameConfigGroup) GetMsg() string { if x != nil { return x.Msg } return "" } /////////////////////////////////////////////////////////////////////////////////////// //加币 // [action] /api/game/AddCoinById type ASAddCoinById struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields ID int32 `protobuf:"varint,1,opt,name=ID,proto3" json:"ID,omitempty"` //玩家id Gold int64 `protobuf:"varint,2,opt,name=Gold,proto3" json:"Gold,omitempty"` //加币金额 GoldEx int64 `protobuf:"varint,3,opt,name=GoldEx,proto3" json:"GoldEx,omitempty"` //赠送金额 Oper string `protobuf:"bytes,4,opt,name=Oper,proto3" json:"Oper,omitempty"` //操作人 Desc string `protobuf:"bytes,5,opt,name=Desc,proto3" json:"Desc,omitempty"` //remark BillNo int64 `protobuf:"varint,6,opt,name=BillNo,proto3" json:"BillNo,omitempty"` //订单号 Platform string `protobuf:"bytes,7,opt,name=Platform,proto3" json:"Platform,omitempty"` //平台号 LogType int32 `protobuf:"varint,8,opt,name=LogType,proto3" json:"LogType,omitempty"` //日志类型(金币或者保险箱或者钻石) IsAccTodayRecharge bool `protobuf:"varint,9,opt,name=IsAccTodayRecharge,proto3" json:"IsAccTodayRecharge,omitempty"` NeedFlowRate int32 `protobuf:"varint,10,opt,name=NeedFlowRate,proto3" json:"NeedFlowRate,omitempty"` NeedGiveFlowRate int32 `protobuf:"varint,11,opt,name=NeedGiveFlowRate,proto3" json:"NeedGiveFlowRate,omitempty"` } func (x *ASAddCoinById) Reset() { *x = ASAddCoinById{} if protoimpl.UnsafeEnabled { mi := &file_protocol_webapi_webapi_proto_msgTypes[16] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ASAddCoinById) String() string { return protoimpl.X.MessageStringOf(x) } func (*ASAddCoinById) ProtoMessage() {} func (x *ASAddCoinById) ProtoReflect() protoreflect.Message { mi := &file_protocol_webapi_webapi_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 ASAddCoinById.ProtoReflect.Descriptor instead. func (*ASAddCoinById) Descriptor() ([]byte, []int) { return file_protocol_webapi_webapi_proto_rawDescGZIP(), []int{16} } func (x *ASAddCoinById) GetID() int32 { if x != nil { return x.ID } return 0 } func (x *ASAddCoinById) GetGold() int64 { if x != nil { return x.Gold } return 0 } func (x *ASAddCoinById) GetGoldEx() int64 { if x != nil { return x.GoldEx } return 0 } func (x *ASAddCoinById) GetOper() string { if x != nil { return x.Oper } return "" } func (x *ASAddCoinById) GetDesc() string { if x != nil { return x.Desc } return "" } func (x *ASAddCoinById) GetBillNo() int64 { if x != nil { return x.BillNo } return 0 } func (x *ASAddCoinById) GetPlatform() string { if x != nil { return x.Platform } return "" } func (x *ASAddCoinById) GetLogType() int32 { if x != nil { return x.LogType } return 0 } func (x *ASAddCoinById) GetIsAccTodayRecharge() bool { if x != nil { return x.IsAccTodayRecharge } return false } func (x *ASAddCoinById) GetNeedFlowRate() int32 { if x != nil { return x.NeedFlowRate } return 0 } func (x *ASAddCoinById) GetNeedGiveFlowRate() int32 { if x != nil { return x.NeedGiveFlowRate } return 0 } // 返回 type SAAddCoinById struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Tag TagCode `protobuf:"varint,1,opt,name=Tag,proto3,enum=webapi.TagCode" json:"Tag,omitempty"` //错误码 Msg string `protobuf:"bytes,2,opt,name=Msg,proto3" json:"Msg,omitempty"` //错误信息(选填) } func (x *SAAddCoinById) Reset() { *x = SAAddCoinById{} if protoimpl.UnsafeEnabled { mi := &file_protocol_webapi_webapi_proto_msgTypes[17] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *SAAddCoinById) String() string { return protoimpl.X.MessageStringOf(x) } func (*SAAddCoinById) ProtoMessage() {} func (x *SAAddCoinById) ProtoReflect() protoreflect.Message { mi := &file_protocol_webapi_webapi_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 SAAddCoinById.ProtoReflect.Descriptor instead. func (*SAAddCoinById) Descriptor() ([]byte, []int) { return file_protocol_webapi_webapi_proto_rawDescGZIP(), []int{17} } func (x *SAAddCoinById) GetTag() TagCode { if x != nil { return x.Tag } return TagCode_UNKNOWN } func (x *SAAddCoinById) GetMsg() string { if x != nil { return x.Msg } return "" } //重置水池 // [action] /api/game/ResetGamePool type ASResetGamePool struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields GameFreeId int32 `protobuf:"varint,1,opt,name=GameFreeId,proto3" json:"GameFreeId,omitempty"` Platform string `protobuf:"bytes,2,opt,name=Platform,proto3" json:"Platform,omitempty"` ServerId int32 `protobuf:"varint,3,opt,name=ServerId,proto3" json:"ServerId,omitempty"` GroupId int32 `protobuf:"varint,4,opt,name=GroupId,proto3" json:"GroupId,omitempty"` PoolType int32 `protobuf:"varint,5,opt,name=PoolType,proto3" json:"PoolType,omitempty"` //1:水池 2:营收池 Value int64 `protobuf:"varint,6,opt,name=value,proto3" json:"value,omitempty"` //-1:表示清除 水池的话回到初始水位 营收池清0;否则按照指定的值设置 } func (x *ASResetGamePool) Reset() { *x = ASResetGamePool{} if protoimpl.UnsafeEnabled { mi := &file_protocol_webapi_webapi_proto_msgTypes[18] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ASResetGamePool) String() string { return protoimpl.X.MessageStringOf(x) } func (*ASResetGamePool) ProtoMessage() {} func (x *ASResetGamePool) ProtoReflect() protoreflect.Message { mi := &file_protocol_webapi_webapi_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 ASResetGamePool.ProtoReflect.Descriptor instead. func (*ASResetGamePool) Descriptor() ([]byte, []int) { return file_protocol_webapi_webapi_proto_rawDescGZIP(), []int{18} } func (x *ASResetGamePool) GetGameFreeId() int32 { if x != nil { return x.GameFreeId } return 0 } func (x *ASResetGamePool) GetPlatform() string { if x != nil { return x.Platform } return "" } func (x *ASResetGamePool) GetServerId() int32 { if x != nil { return x.ServerId } return 0 } func (x *ASResetGamePool) GetGroupId() int32 { if x != nil { return x.GroupId } return 0 } func (x *ASResetGamePool) GetPoolType() int32 { if x != nil { return x.PoolType } return 0 } func (x *ASResetGamePool) GetValue() int64 { if x != nil { return x.Value } return 0 } type SAResetGamePool struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Tag TagCode `protobuf:"varint,1,opt,name=Tag,proto3,enum=webapi.TagCode" json:"Tag,omitempty"` //错误码 Msg string `protobuf:"bytes,2,opt,name=Msg,proto3" json:"Msg,omitempty"` //错误信息(选填) } func (x *SAResetGamePool) Reset() { *x = SAResetGamePool{} if protoimpl.UnsafeEnabled { mi := &file_protocol_webapi_webapi_proto_msgTypes[19] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *SAResetGamePool) String() string { return protoimpl.X.MessageStringOf(x) } func (*SAResetGamePool) ProtoMessage() {} func (x *SAResetGamePool) ProtoReflect() protoreflect.Message { mi := &file_protocol_webapi_webapi_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 SAResetGamePool.ProtoReflect.Descriptor instead. func (*SAResetGamePool) Descriptor() ([]byte, []int) { return file_protocol_webapi_webapi_proto_rawDescGZIP(), []int{19} } func (x *SAResetGamePool) GetTag() TagCode { if x != nil { return x.Tag } return TagCode_UNKNOWN } func (x *SAResetGamePool) GetMsg() string { if x != nil { return x.Msg } return "" } //更新水池 // [action] /api/game/UpdateGamePool type ASUpdateGamePool struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields GameFreeId int32 `protobuf:"varint,1,opt,name=GameFreeId,proto3" json:"GameFreeId,omitempty"` Platform string `protobuf:"bytes,2,opt,name=Platform,proto3" json:"Platform,omitempty"` ServerId int32 `protobuf:"varint,3,opt,name=ServerId,proto3" json:"ServerId,omitempty"` GroupId int32 `protobuf:"varint,4,opt,name=GroupId,proto3" json:"GroupId,omitempty"` CoinPoolSetting *CoinPoolSetting `protobuf:"bytes,5,opt,name=CoinPoolSetting,proto3" json:"CoinPoolSetting,omitempty"` } func (x *ASUpdateGamePool) Reset() { *x = ASUpdateGamePool{} if protoimpl.UnsafeEnabled { mi := &file_protocol_webapi_webapi_proto_msgTypes[20] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ASUpdateGamePool) String() string { return protoimpl.X.MessageStringOf(x) } func (*ASUpdateGamePool) ProtoMessage() {} func (x *ASUpdateGamePool) ProtoReflect() protoreflect.Message { mi := &file_protocol_webapi_webapi_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 ASUpdateGamePool.ProtoReflect.Descriptor instead. func (*ASUpdateGamePool) Descriptor() ([]byte, []int) { return file_protocol_webapi_webapi_proto_rawDescGZIP(), []int{20} } func (x *ASUpdateGamePool) GetGameFreeId() int32 { if x != nil { return x.GameFreeId } return 0 } func (x *ASUpdateGamePool) GetPlatform() string { if x != nil { return x.Platform } return "" } func (x *ASUpdateGamePool) GetServerId() int32 { if x != nil { return x.ServerId } return 0 } func (x *ASUpdateGamePool) GetGroupId() int32 { if x != nil { return x.GroupId } return 0 } func (x *ASUpdateGamePool) GetCoinPoolSetting() *CoinPoolSetting { if x != nil { return x.CoinPoolSetting } return nil } type SAUpdateGamePool struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Tag TagCode `protobuf:"varint,1,opt,name=Tag,proto3,enum=webapi.TagCode" json:"Tag,omitempty"` //错误码 Msg string `protobuf:"bytes,2,opt,name=Msg,proto3" json:"Msg,omitempty"` //错误信息(选填) } func (x *SAUpdateGamePool) Reset() { *x = SAUpdateGamePool{} if protoimpl.UnsafeEnabled { mi := &file_protocol_webapi_webapi_proto_msgTypes[21] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *SAUpdateGamePool) String() string { return protoimpl.X.MessageStringOf(x) } func (*SAUpdateGamePool) ProtoMessage() {} func (x *SAUpdateGamePool) ProtoReflect() protoreflect.Message { mi := &file_protocol_webapi_webapi_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 SAUpdateGamePool.ProtoReflect.Descriptor instead. func (*SAUpdateGamePool) Descriptor() ([]byte, []int) { return file_protocol_webapi_webapi_proto_rawDescGZIP(), []int{21} } func (x *SAUpdateGamePool) GetTag() TagCode { if x != nil { return x.Tag } return TagCode_UNKNOWN } func (x *SAUpdateGamePool) GetMsg() string { if x != nil { return x.Msg } return "" } //可以更新的字段 //InitValue //LowerLimit //UpperLimit //UpperOffsetLimit //MaxOutValue //ChangeRate //MinOutPlayerNum //BaseRate //CtroRate //HardTimeMin //HardTimeMax //NormalTimeMin //NormalTimeMax //EasyTimeMin //EasyTimeMax //EasrierTimeMin //EasrierTimeMax //CpCangeType //CpChangeInterval //CpChangeTotle //CpChangeLower //CpChangeUpper //ProfitRate //CoinPoolMode //ResetTime //////////////////////////////////////////////////// //查询水池gameid // [action] /api/game/QueryGamePoolByGameId type ASQueryGamePoolByGameId struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields GameId int32 `protobuf:"varint,1,opt,name=GameId,proto3" json:"GameId,omitempty"` GameMode int32 `protobuf:"varint,2,opt,name=GameMode,proto3" json:"GameMode,omitempty"` Platform string `protobuf:"bytes,3,opt,name=Platform,proto3" json:"Platform,omitempty"` GroupId int32 `protobuf:"varint,4,opt,name=GroupId,proto3" json:"GroupId,omitempty"` } func (x *ASQueryGamePoolByGameId) Reset() { *x = ASQueryGamePoolByGameId{} if protoimpl.UnsafeEnabled { mi := &file_protocol_webapi_webapi_proto_msgTypes[22] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ASQueryGamePoolByGameId) String() string { return protoimpl.X.MessageStringOf(x) } func (*ASQueryGamePoolByGameId) ProtoMessage() {} func (x *ASQueryGamePoolByGameId) ProtoReflect() protoreflect.Message { mi := &file_protocol_webapi_webapi_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 ASQueryGamePoolByGameId.ProtoReflect.Descriptor instead. func (*ASQueryGamePoolByGameId) Descriptor() ([]byte, []int) { return file_protocol_webapi_webapi_proto_rawDescGZIP(), []int{22} } func (x *ASQueryGamePoolByGameId) GetGameId() int32 { if x != nil { return x.GameId } return 0 } func (x *ASQueryGamePoolByGameId) GetGameMode() int32 { if x != nil { return x.GameMode } return 0 } func (x *ASQueryGamePoolByGameId) GetPlatform() string { if x != nil { return x.Platform } return "" } func (x *ASQueryGamePoolByGameId) GetGroupId() int32 { if x != nil { return x.GroupId } return 0 } type SAQueryGamePoolByGameId struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Tag TagCode `protobuf:"varint,1,opt,name=Tag,proto3,enum=webapi.TagCode" json:"Tag,omitempty"` //错误码 Msg string `protobuf:"bytes,2,opt,name=Msg,proto3" json:"Msg,omitempty"` //错误信息(选填) CoinPoolSetting []*CoinPoolSetting `protobuf:"bytes,3,rep,name=CoinPoolSetting,proto3" json:"CoinPoolSetting,omitempty"` } func (x *SAQueryGamePoolByGameId) Reset() { *x = SAQueryGamePoolByGameId{} if protoimpl.UnsafeEnabled { mi := &file_protocol_webapi_webapi_proto_msgTypes[23] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *SAQueryGamePoolByGameId) String() string { return protoimpl.X.MessageStringOf(x) } func (*SAQueryGamePoolByGameId) ProtoMessage() {} func (x *SAQueryGamePoolByGameId) ProtoReflect() protoreflect.Message { mi := &file_protocol_webapi_webapi_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 SAQueryGamePoolByGameId.ProtoReflect.Descriptor instead. func (*SAQueryGamePoolByGameId) Descriptor() ([]byte, []int) { return file_protocol_webapi_webapi_proto_rawDescGZIP(), []int{23} } func (x *SAQueryGamePoolByGameId) GetTag() TagCode { if x != nil { return x.Tag } return TagCode_UNKNOWN } func (x *SAQueryGamePoolByGameId) GetMsg() string { if x != nil { return x.Msg } return "" } func (x *SAQueryGamePoolByGameId) GetCoinPoolSetting() []*CoinPoolSetting { if x != nil { return x.CoinPoolSetting } return nil } //查询水池 // [action] /api/game/QueryAllGamePool type ASQueryAllGamePool struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields PageNo int32 `protobuf:"varint,1,opt,name=PageNo,proto3" json:"PageNo,omitempty"` PageSize int32 `protobuf:"varint,2,opt,name=PageSize,proto3" json:"PageSize,omitempty"` } func (x *ASQueryAllGamePool) Reset() { *x = ASQueryAllGamePool{} if protoimpl.UnsafeEnabled { mi := &file_protocol_webapi_webapi_proto_msgTypes[24] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ASQueryAllGamePool) String() string { return protoimpl.X.MessageStringOf(x) } func (*ASQueryAllGamePool) ProtoMessage() {} func (x *ASQueryAllGamePool) ProtoReflect() protoreflect.Message { mi := &file_protocol_webapi_webapi_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 ASQueryAllGamePool.ProtoReflect.Descriptor instead. func (*ASQueryAllGamePool) Descriptor() ([]byte, []int) { return file_protocol_webapi_webapi_proto_rawDescGZIP(), []int{24} } func (x *ASQueryAllGamePool) GetPageNo() int32 { if x != nil { return x.PageNo } return 0 } func (x *ASQueryAllGamePool) GetPageSize() int32 { if x != nil { return x.PageSize } return 0 } type CoinPoolStatesInfo struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Platform string `protobuf:"bytes,1,opt,name=Platform,proto3" json:"Platform,omitempty"` CoinPoolSetting []*CoinPoolSetting `protobuf:"bytes,2,rep,name=CoinPoolSetting,proto3" json:"CoinPoolSetting,omitempty"` } func (x *CoinPoolStatesInfo) Reset() { *x = CoinPoolStatesInfo{} if protoimpl.UnsafeEnabled { mi := &file_protocol_webapi_webapi_proto_msgTypes[25] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *CoinPoolStatesInfo) String() string { return protoimpl.X.MessageStringOf(x) } func (*CoinPoolStatesInfo) ProtoMessage() {} func (x *CoinPoolStatesInfo) ProtoReflect() protoreflect.Message { mi := &file_protocol_webapi_webapi_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 CoinPoolStatesInfo.ProtoReflect.Descriptor instead. func (*CoinPoolStatesInfo) Descriptor() ([]byte, []int) { return file_protocol_webapi_webapi_proto_rawDescGZIP(), []int{25} } func (x *CoinPoolStatesInfo) GetPlatform() string { if x != nil { return x.Platform } return "" } func (x *CoinPoolStatesInfo) GetCoinPoolSetting() []*CoinPoolSetting { if x != nil { return x.CoinPoolSetting } return nil } type SAQueryAllGamePool struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Tag TagCode `protobuf:"varint,1,opt,name=Tag,proto3,enum=webapi.TagCode" json:"Tag,omitempty"` //错误码 Msg string `protobuf:"bytes,2,opt,name=Msg,proto3" json:"Msg,omitempty"` //错误信息(选填) CoinPoolStatesInfo []*CoinPoolStatesInfo `protobuf:"bytes,3,rep,name=CoinPoolStatesInfo,proto3" json:"CoinPoolStatesInfo,omitempty"` } func (x *SAQueryAllGamePool) Reset() { *x = SAQueryAllGamePool{} if protoimpl.UnsafeEnabled { mi := &file_protocol_webapi_webapi_proto_msgTypes[26] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *SAQueryAllGamePool) String() string { return protoimpl.X.MessageStringOf(x) } func (*SAQueryAllGamePool) ProtoMessage() {} func (x *SAQueryAllGamePool) ProtoReflect() protoreflect.Message { mi := &file_protocol_webapi_webapi_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 SAQueryAllGamePool.ProtoReflect.Descriptor instead. func (*SAQueryAllGamePool) Descriptor() ([]byte, []int) { return file_protocol_webapi_webapi_proto_rawDescGZIP(), []int{26} } func (x *SAQueryAllGamePool) GetTag() TagCode { if x != nil { return x.Tag } return TagCode_UNKNOWN } func (x *SAQueryAllGamePool) GetMsg() string { if x != nil { return x.Msg } return "" } func (x *SAQueryAllGamePool) GetCoinPoolStatesInfo() []*CoinPoolStatesInfo { if x != nil { return x.CoinPoolStatesInfo } return nil } //房间 // [action] /api/Cache/ListRoom type ASListRoom struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Platform string `protobuf:"bytes,1,opt,name=Platform,proto3" json:"Platform,omitempty"` GameId int32 `protobuf:"varint,2,opt,name=GameId,proto3" json:"GameId,omitempty"` GameMode int32 `protobuf:"varint,3,opt,name=GameMode,proto3" json:"GameMode,omitempty"` GroupId int32 `protobuf:"varint,4,opt,name=GroupId,proto3" json:"GroupId,omitempty"` SnId int32 `protobuf:"varint,5,opt,name=SnId,proto3" json:"SnId,omitempty"` SceneId int32 `protobuf:"varint,6,opt,name=SceneId,proto3" json:"SceneId,omitempty"` PageNo int32 `protobuf:"varint,7,opt,name=PageNo,proto3" json:"PageNo,omitempty"` PageSize int32 `protobuf:"varint,8,opt,name=PageSize,proto3" json:"PageSize,omitempty"` ClubId int32 `protobuf:"varint,9,opt,name=ClubId,proto3" json:"ClubId,omitempty"` RoomType int32 `protobuf:"varint,10,opt,name=RoomType,proto3" json:"RoomType,omitempty"` //roomType=0所有房间,roomType=1俱乐部房间,roomType=2个人房间 GamefreeId int32 `protobuf:"varint,11,opt,name=GamefreeId,proto3" json:"GamefreeId,omitempty"` IsCustom int32 `protobuf:"varint,12,opt,name=IsCustom,proto3" json:"IsCustom,omitempty"` // 房卡场 1是 RoomConfigId int32 `protobuf:"varint,13,opt,name=RoomConfigId,proto3" json:"RoomConfigId,omitempty"` // 房间玩法id } func (x *ASListRoom) Reset() { *x = ASListRoom{} if protoimpl.UnsafeEnabled { mi := &file_protocol_webapi_webapi_proto_msgTypes[27] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ASListRoom) String() string { return protoimpl.X.MessageStringOf(x) } func (*ASListRoom) ProtoMessage() {} func (x *ASListRoom) ProtoReflect() protoreflect.Message { mi := &file_protocol_webapi_webapi_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 ASListRoom.ProtoReflect.Descriptor instead. func (*ASListRoom) Descriptor() ([]byte, []int) { return file_protocol_webapi_webapi_proto_rawDescGZIP(), []int{27} } func (x *ASListRoom) GetPlatform() string { if x != nil { return x.Platform } return "" } func (x *ASListRoom) GetGameId() int32 { if x != nil { return x.GameId } return 0 } func (x *ASListRoom) GetGameMode() int32 { if x != nil { return x.GameMode } return 0 } func (x *ASListRoom) GetGroupId() int32 { if x != nil { return x.GroupId } return 0 } func (x *ASListRoom) GetSnId() int32 { if x != nil { return x.SnId } return 0 } func (x *ASListRoom) GetSceneId() int32 { if x != nil { return x.SceneId } return 0 } func (x *ASListRoom) GetPageNo() int32 { if x != nil { return x.PageNo } return 0 } func (x *ASListRoom) GetPageSize() int32 { if x != nil { return x.PageSize } return 0 } func (x *ASListRoom) GetClubId() int32 { if x != nil { return x.ClubId } return 0 } func (x *ASListRoom) GetRoomType() int32 { if x != nil { return x.RoomType } return 0 } func (x *ASListRoom) GetGamefreeId() int32 { if x != nil { return x.GamefreeId } return 0 } func (x *ASListRoom) GetIsCustom() int32 { if x != nil { return x.IsCustom } return 0 } func (x *ASListRoom) GetRoomConfigId() int32 { if x != nil { return x.RoomConfigId } return 0 } type SAListRoom struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Tag TagCode `protobuf:"varint,1,opt,name=Tag,proto3,enum=webapi.TagCode" json:"Tag,omitempty"` //错误码 Msg string `protobuf:"bytes,2,opt,name=Msg,proto3" json:"Msg,omitempty"` //错误信息(选填) PageNo int32 `protobuf:"varint,3,opt,name=PageNo,proto3" json:"PageNo,omitempty"` PageCount int32 `protobuf:"varint,4,opt,name=PageCount,proto3" json:"PageCount,omitempty"` TotalList int32 `protobuf:"varint,5,opt,name=TotalList,proto3" json:"TotalList,omitempty"` RoomInfo []*RoomInfo `protobuf:"bytes,6,rep,name=RoomInfo,proto3" json:"RoomInfo,omitempty"` } func (x *SAListRoom) Reset() { *x = SAListRoom{} if protoimpl.UnsafeEnabled { mi := &file_protocol_webapi_webapi_proto_msgTypes[28] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *SAListRoom) String() string { return protoimpl.X.MessageStringOf(x) } func (*SAListRoom) ProtoMessage() {} func (x *SAListRoom) ProtoReflect() protoreflect.Message { mi := &file_protocol_webapi_webapi_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 SAListRoom.ProtoReflect.Descriptor instead. func (*SAListRoom) Descriptor() ([]byte, []int) { return file_protocol_webapi_webapi_proto_rawDescGZIP(), []int{28} } func (x *SAListRoom) GetTag() TagCode { if x != nil { return x.Tag } return TagCode_UNKNOWN } func (x *SAListRoom) GetMsg() string { if x != nil { return x.Msg } return "" } func (x *SAListRoom) GetPageNo() int32 { if x != nil { return x.PageNo } return 0 } func (x *SAListRoom) GetPageCount() int32 { if x != nil { return x.PageCount } return 0 } func (x *SAListRoom) GetTotalList() int32 { if x != nil { return x.TotalList } return 0 } func (x *SAListRoom) GetRoomInfo() []*RoomInfo { if x != nil { return x.RoomInfo } return nil } // [action] /api/Cache/GetRoom type ASGetRoom struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields SceneId int32 `protobuf:"varint,1,opt,name=SceneId,proto3" json:"SceneId,omitempty"` SnId int32 `protobuf:"varint,2,opt,name=SnId,proto3" json:"SnId,omitempty"` } func (x *ASGetRoom) Reset() { *x = ASGetRoom{} if protoimpl.UnsafeEnabled { mi := &file_protocol_webapi_webapi_proto_msgTypes[29] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ASGetRoom) String() string { return protoimpl.X.MessageStringOf(x) } func (*ASGetRoom) ProtoMessage() {} func (x *ASGetRoom) ProtoReflect() protoreflect.Message { mi := &file_protocol_webapi_webapi_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 ASGetRoom.ProtoReflect.Descriptor instead. func (*ASGetRoom) Descriptor() ([]byte, []int) { return file_protocol_webapi_webapi_proto_rawDescGZIP(), []int{29} } func (x *ASGetRoom) GetSceneId() int32 { if x != nil { return x.SceneId } return 0 } func (x *ASGetRoom) GetSnId() int32 { if x != nil { return x.SnId } return 0 } type SAGetRoom struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Tag TagCode `protobuf:"varint,1,opt,name=Tag,proto3,enum=webapi.TagCode" json:"Tag,omitempty"` //错误码 Msg string `protobuf:"bytes,2,opt,name=Msg,proto3" json:"Msg,omitempty"` //错误信息(选填) RoomInfo *RoomInfo `protobuf:"bytes,3,opt,name=RoomInfo,proto3" json:"RoomInfo,omitempty"` } func (x *SAGetRoom) Reset() { *x = SAGetRoom{} if protoimpl.UnsafeEnabled { mi := &file_protocol_webapi_webapi_proto_msgTypes[30] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *SAGetRoom) String() string { return protoimpl.X.MessageStringOf(x) } func (*SAGetRoom) ProtoMessage() {} func (x *SAGetRoom) ProtoReflect() protoreflect.Message { mi := &file_protocol_webapi_webapi_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 SAGetRoom.ProtoReflect.Descriptor instead. func (*SAGetRoom) Descriptor() ([]byte, []int) { return file_protocol_webapi_webapi_proto_rawDescGZIP(), []int{30} } func (x *SAGetRoom) GetTag() TagCode { if x != nil { return x.Tag } return TagCode_UNKNOWN } func (x *SAGetRoom) GetMsg() string { if x != nil { return x.Msg } return "" } func (x *SAGetRoom) GetRoomInfo() *RoomInfo { if x != nil { return x.RoomInfo } return nil } //销毁房间 // [action] /api/Cache/DestroyRoom type ASDestroyRoom struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields SceneIds []int32 `protobuf:"varint,1,rep,packed,name=SceneIds,proto3" json:"SceneIds,omitempty"` Platform string `protobuf:"bytes,2,opt,name=Platform,proto3" json:"Platform,omitempty"` DestroyType int32 `protobuf:"varint,3,opt,name=DestroyType,proto3" json:"DestroyType,omitempty"` // 0 删除指定ID 1 删除空房间 2 删除未开始 } func (x *ASDestroyRoom) Reset() { *x = ASDestroyRoom{} if protoimpl.UnsafeEnabled { mi := &file_protocol_webapi_webapi_proto_msgTypes[31] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ASDestroyRoom) String() string { return protoimpl.X.MessageStringOf(x) } func (*ASDestroyRoom) ProtoMessage() {} func (x *ASDestroyRoom) ProtoReflect() protoreflect.Message { mi := &file_protocol_webapi_webapi_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 ASDestroyRoom.ProtoReflect.Descriptor instead. func (*ASDestroyRoom) Descriptor() ([]byte, []int) { return file_protocol_webapi_webapi_proto_rawDescGZIP(), []int{31} } func (x *ASDestroyRoom) GetSceneIds() []int32 { if x != nil { return x.SceneIds } return nil } func (x *ASDestroyRoom) GetPlatform() string { if x != nil { return x.Platform } return "" } func (x *ASDestroyRoom) GetDestroyType() int32 { if x != nil { return x.DestroyType } return 0 } type SADestroyRoom struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Tag TagCode `protobuf:"varint,1,opt,name=Tag,proto3,enum=webapi.TagCode" json:"Tag,omitempty"` //错误码 Msg string `protobuf:"bytes,2,opt,name=Msg,proto3" json:"Msg,omitempty"` //错误信息(选填) } func (x *SADestroyRoom) Reset() { *x = SADestroyRoom{} if protoimpl.UnsafeEnabled { mi := &file_protocol_webapi_webapi_proto_msgTypes[32] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *SADestroyRoom) String() string { return protoimpl.X.MessageStringOf(x) } func (*SADestroyRoom) ProtoMessage() {} func (x *SADestroyRoom) ProtoReflect() protoreflect.Message { mi := &file_protocol_webapi_webapi_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 SADestroyRoom.ProtoReflect.Descriptor instead. func (*SADestroyRoom) Descriptor() ([]byte, []int) { return file_protocol_webapi_webapi_proto_rawDescGZIP(), []int{32} } func (x *SADestroyRoom) GetTag() TagCode { if x != nil { return x.Tag } return TagCode_UNKNOWN } func (x *SADestroyRoom) GetMsg() string { if x != nil { return x.Msg } return "" } //单控 // [action] /api/game/SinglePlayerAdjust //PACKET_WG_SINGLEADJUST type ASSinglePlayerAdjust struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Opration int32 `protobuf:"varint,1,opt,name=Opration,proto3" json:"Opration,omitempty"` //1.add 2.edit 3.del 4.查询最新的 PlayerSingleAdjust *PlayerSingleAdjust `protobuf:"bytes,2,opt,name=PlayerSingleAdjust,proto3" json:"PlayerSingleAdjust,omitempty"` } func (x *ASSinglePlayerAdjust) Reset() { *x = ASSinglePlayerAdjust{} if protoimpl.UnsafeEnabled { mi := &file_protocol_webapi_webapi_proto_msgTypes[33] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ASSinglePlayerAdjust) String() string { return protoimpl.X.MessageStringOf(x) } func (*ASSinglePlayerAdjust) ProtoMessage() {} func (x *ASSinglePlayerAdjust) ProtoReflect() protoreflect.Message { mi := &file_protocol_webapi_webapi_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 ASSinglePlayerAdjust.ProtoReflect.Descriptor instead. func (*ASSinglePlayerAdjust) Descriptor() ([]byte, []int) { return file_protocol_webapi_webapi_proto_rawDescGZIP(), []int{33} } func (x *ASSinglePlayerAdjust) GetOpration() int32 { if x != nil { return x.Opration } return 0 } func (x *ASSinglePlayerAdjust) GetPlayerSingleAdjust() *PlayerSingleAdjust { if x != nil { return x.PlayerSingleAdjust } return nil } type SASinglePlayerAdjust struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Tag TagCode `protobuf:"varint,1,opt,name=Tag,proto3,enum=webapi.TagCode" json:"Tag,omitempty"` //错误码 Msg string `protobuf:"bytes,2,opt,name=Msg,proto3" json:"Msg,omitempty"` //错误信息(选填) PlayerSingleAdjust *PlayerSingleAdjust `protobuf:"bytes,3,opt,name=PlayerSingleAdjust,proto3" json:"PlayerSingleAdjust,omitempty"` } func (x *SASinglePlayerAdjust) Reset() { *x = SASinglePlayerAdjust{} if protoimpl.UnsafeEnabled { mi := &file_protocol_webapi_webapi_proto_msgTypes[34] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *SASinglePlayerAdjust) String() string { return protoimpl.X.MessageStringOf(x) } func (*SASinglePlayerAdjust) ProtoMessage() {} func (x *SASinglePlayerAdjust) ProtoReflect() protoreflect.Message { mi := &file_protocol_webapi_webapi_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 SASinglePlayerAdjust.ProtoReflect.Descriptor instead. func (*SASinglePlayerAdjust) Descriptor() ([]byte, []int) { return file_protocol_webapi_webapi_proto_rawDescGZIP(), []int{34} } func (x *SASinglePlayerAdjust) GetTag() TagCode { if x != nil { return x.Tag } return TagCode_UNKNOWN } func (x *SASinglePlayerAdjust) GetMsg() string { if x != nil { return x.Msg } return "" } func (x *SASinglePlayerAdjust) GetPlayerSingleAdjust() *PlayerSingleAdjust { if x != nil { return x.PlayerSingleAdjust } return nil } //玩家信息 //获取玩家信息 // [action] /api/Player/PlayerData type ASGetPlayerData struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Platform string `protobuf:"bytes,1,opt,name=Platform,proto3" json:"Platform,omitempty"` //平台号 ID int32 `protobuf:"varint,2,opt,name=ID,proto3" json:"ID,omitempty"` //玩家id } func (x *ASGetPlayerData) Reset() { *x = ASGetPlayerData{} if protoimpl.UnsafeEnabled { mi := &file_protocol_webapi_webapi_proto_msgTypes[35] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ASGetPlayerData) String() string { return protoimpl.X.MessageStringOf(x) } func (*ASGetPlayerData) ProtoMessage() {} func (x *ASGetPlayerData) ProtoReflect() protoreflect.Message { mi := &file_protocol_webapi_webapi_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 ASGetPlayerData.ProtoReflect.Descriptor instead. func (*ASGetPlayerData) Descriptor() ([]byte, []int) { return file_protocol_webapi_webapi_proto_rawDescGZIP(), []int{35} } func (x *ASGetPlayerData) GetPlatform() string { if x != nil { return x.Platform } return "" } func (x *ASGetPlayerData) GetID() int32 { if x != nil { return x.ID } return 0 } type SAGetPlayerData struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Tag TagCode `protobuf:"varint,1,opt,name=Tag,proto3,enum=webapi.TagCode" json:"Tag,omitempty"` //错误码 Msg string `protobuf:"bytes,2,opt,name=Msg,proto3" json:"Msg,omitempty"` //错误信息(选填) PlayerData *PlayerData `protobuf:"bytes,3,opt,name=PlayerData,proto3" json:"PlayerData,omitempty"` //玩家信息 } func (x *SAGetPlayerData) Reset() { *x = SAGetPlayerData{} if protoimpl.UnsafeEnabled { mi := &file_protocol_webapi_webapi_proto_msgTypes[36] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *SAGetPlayerData) String() string { return protoimpl.X.MessageStringOf(x) } func (*SAGetPlayerData) ProtoMessage() {} func (x *SAGetPlayerData) ProtoReflect() protoreflect.Message { mi := &file_protocol_webapi_webapi_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 SAGetPlayerData.ProtoReflect.Descriptor instead. func (*SAGetPlayerData) Descriptor() ([]byte, []int) { return file_protocol_webapi_webapi_proto_rawDescGZIP(), []int{36} } func (x *SAGetPlayerData) GetTag() TagCode { if x != nil { return x.Tag } return TagCode_UNKNOWN } func (x *SAGetPlayerData) GetMsg() string { if x != nil { return x.Msg } return "" } func (x *SAGetPlayerData) GetPlayerData() *PlayerData { if x != nil { return x.PlayerData } return nil } // [action] /api/Player/MorePlayerData type ASMorePlayerData struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields SnIds []int32 `protobuf:"varint,1,rep,packed,name=SnIds,proto3" json:"SnIds,omitempty"` Platform string `protobuf:"bytes,2,opt,name=Platform,proto3" json:"Platform,omitempty"` //平台号 } func (x *ASMorePlayerData) Reset() { *x = ASMorePlayerData{} if protoimpl.UnsafeEnabled { mi := &file_protocol_webapi_webapi_proto_msgTypes[37] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ASMorePlayerData) String() string { return protoimpl.X.MessageStringOf(x) } func (*ASMorePlayerData) ProtoMessage() {} func (x *ASMorePlayerData) ProtoReflect() protoreflect.Message { mi := &file_protocol_webapi_webapi_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 ASMorePlayerData.ProtoReflect.Descriptor instead. func (*ASMorePlayerData) Descriptor() ([]byte, []int) { return file_protocol_webapi_webapi_proto_rawDescGZIP(), []int{37} } func (x *ASMorePlayerData) GetSnIds() []int32 { if x != nil { return x.SnIds } return nil } func (x *ASMorePlayerData) GetPlatform() string { if x != nil { return x.Platform } return "" } type SAMorePlayerData struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Tag TagCode `protobuf:"varint,1,opt,name=Tag,proto3,enum=webapi.TagCode" json:"Tag,omitempty"` //错误码 Msg string `protobuf:"bytes,2,opt,name=Msg,proto3" json:"Msg,omitempty"` //错误信息(选填) PlayerData []*PlayerData `protobuf:"bytes,3,rep,name=PlayerData,proto3" json:"PlayerData,omitempty"` //玩家信息 } func (x *SAMorePlayerData) Reset() { *x = SAMorePlayerData{} if protoimpl.UnsafeEnabled { mi := &file_protocol_webapi_webapi_proto_msgTypes[38] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *SAMorePlayerData) String() string { return protoimpl.X.MessageStringOf(x) } func (*SAMorePlayerData) ProtoMessage() {} func (x *SAMorePlayerData) ProtoReflect() protoreflect.Message { mi := &file_protocol_webapi_webapi_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 SAMorePlayerData.ProtoReflect.Descriptor instead. func (*SAMorePlayerData) Descriptor() ([]byte, []int) { return file_protocol_webapi_webapi_proto_rawDescGZIP(), []int{38} } func (x *SAMorePlayerData) GetTag() TagCode { if x != nil { return x.Tag } return TagCode_UNKNOWN } func (x *SAMorePlayerData) GetMsg() string { if x != nil { return x.Msg } return "" } func (x *SAMorePlayerData) GetPlayerData() []*PlayerData { if x != nil { return x.PlayerData } return nil } // [action] /api/Player/KickPlayer type ASKickPlayer struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields SnId int32 `protobuf:"varint,1,opt,name=SnId,proto3" json:"SnId,omitempty"` Platform string `protobuf:"bytes,2,opt,name=Platform,proto3" json:"Platform,omitempty"` Minute int32 `protobuf:"varint,3,opt,name=Minute,proto3" json:"Minute,omitempty"` } func (x *ASKickPlayer) Reset() { *x = ASKickPlayer{} if protoimpl.UnsafeEnabled { mi := &file_protocol_webapi_webapi_proto_msgTypes[39] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ASKickPlayer) String() string { return protoimpl.X.MessageStringOf(x) } func (*ASKickPlayer) ProtoMessage() {} func (x *ASKickPlayer) ProtoReflect() protoreflect.Message { mi := &file_protocol_webapi_webapi_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 ASKickPlayer.ProtoReflect.Descriptor instead. func (*ASKickPlayer) Descriptor() ([]byte, []int) { return file_protocol_webapi_webapi_proto_rawDescGZIP(), []int{39} } func (x *ASKickPlayer) GetSnId() int32 { if x != nil { return x.SnId } return 0 } func (x *ASKickPlayer) GetPlatform() string { if x != nil { return x.Platform } return "" } func (x *ASKickPlayer) GetMinute() int32 { if x != nil { return x.Minute } return 0 } type SAKickPlayer struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Tag TagCode `protobuf:"varint,1,opt,name=Tag,proto3,enum=webapi.TagCode" json:"Tag,omitempty"` //错误码 Msg string `protobuf:"bytes,2,opt,name=Msg,proto3" json:"Msg,omitempty"` //错误信息(选填) } func (x *SAKickPlayer) Reset() { *x = SAKickPlayer{} if protoimpl.UnsafeEnabled { mi := &file_protocol_webapi_webapi_proto_msgTypes[40] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *SAKickPlayer) String() string { return protoimpl.X.MessageStringOf(x) } func (*SAKickPlayer) ProtoMessage() {} func (x *SAKickPlayer) ProtoReflect() protoreflect.Message { mi := &file_protocol_webapi_webapi_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 SAKickPlayer.ProtoReflect.Descriptor instead. func (*SAKickPlayer) Descriptor() ([]byte, []int) { return file_protocol_webapi_webapi_proto_rawDescGZIP(), []int{40} } func (x *SAKickPlayer) GetTag() TagCode { if x != nil { return x.Tag } return TagCode_UNKNOWN } func (x *SAKickPlayer) GetMsg() string { if x != nil { return x.Msg } return "" } ///////////////////////////////////////////////// type PlayerEleArgs struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Key string `protobuf:"bytes,1,opt,name=Key,proto3" json:"Key,omitempty"` Val string `protobuf:"bytes,2,opt,name=Val,proto3" json:"Val,omitempty"` } func (x *PlayerEleArgs) Reset() { *x = PlayerEleArgs{} if protoimpl.UnsafeEnabled { mi := &file_protocol_webapi_webapi_proto_msgTypes[41] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *PlayerEleArgs) String() string { return protoimpl.X.MessageStringOf(x) } func (*PlayerEleArgs) ProtoMessage() {} func (x *PlayerEleArgs) ProtoReflect() protoreflect.Message { mi := &file_protocol_webapi_webapi_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 PlayerEleArgs.ProtoReflect.Descriptor instead. func (*PlayerEleArgs) Descriptor() ([]byte, []int) { return file_protocol_webapi_webapi_proto_rawDescGZIP(), []int{41} } func (x *PlayerEleArgs) GetKey() string { if x != nil { return x.Key } return "" } func (x *PlayerEleArgs) GetVal() string { if x != nil { return x.Val } return "" } // [action] /api/Cache/UpdatePlayerElement type ASUpdatePlayerElement struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields SnId int32 `protobuf:"varint,1,opt,name=SnId,proto3" json:"SnId,omitempty"` Platform string `protobuf:"bytes,2,opt,name=Platform,proto3" json:"Platform,omitempty"` PlayerEleArgs []*PlayerEleArgs `protobuf:"bytes,3,rep,name=PlayerEleArgs,proto3" json:"PlayerEleArgs,omitempty"` } func (x *ASUpdatePlayerElement) Reset() { *x = ASUpdatePlayerElement{} if protoimpl.UnsafeEnabled { mi := &file_protocol_webapi_webapi_proto_msgTypes[42] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ASUpdatePlayerElement) String() string { return protoimpl.X.MessageStringOf(x) } func (*ASUpdatePlayerElement) ProtoMessage() {} func (x *ASUpdatePlayerElement) ProtoReflect() protoreflect.Message { mi := &file_protocol_webapi_webapi_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 ASUpdatePlayerElement.ProtoReflect.Descriptor instead. func (*ASUpdatePlayerElement) Descriptor() ([]byte, []int) { return file_protocol_webapi_webapi_proto_rawDescGZIP(), []int{42} } func (x *ASUpdatePlayerElement) GetSnId() int32 { if x != nil { return x.SnId } return 0 } func (x *ASUpdatePlayerElement) GetPlatform() string { if x != nil { return x.Platform } return "" } func (x *ASUpdatePlayerElement) GetPlayerEleArgs() []*PlayerEleArgs { if x != nil { return x.PlayerEleArgs } return nil } type SAUpdatePlayerElement struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Tag TagCode `protobuf:"varint,1,opt,name=Tag,proto3,enum=webapi.TagCode" json:"Tag,omitempty"` //错误码 Msg string `protobuf:"bytes,2,opt,name=Msg,proto3" json:"Msg,omitempty"` //错误信息(选填) } func (x *SAUpdatePlayerElement) Reset() { *x = SAUpdatePlayerElement{} if protoimpl.UnsafeEnabled { mi := &file_protocol_webapi_webapi_proto_msgTypes[43] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *SAUpdatePlayerElement) String() string { return protoimpl.X.MessageStringOf(x) } func (*SAUpdatePlayerElement) ProtoMessage() {} func (x *SAUpdatePlayerElement) ProtoReflect() protoreflect.Message { mi := &file_protocol_webapi_webapi_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 SAUpdatePlayerElement.ProtoReflect.Descriptor instead. func (*SAUpdatePlayerElement) Descriptor() ([]byte, []int) { return file_protocol_webapi_webapi_proto_rawDescGZIP(), []int{43} } func (x *SAUpdatePlayerElement) GetTag() TagCode { if x != nil { return x.Tag } return TagCode_UNKNOWN } func (x *SAUpdatePlayerElement) GetMsg() string { if x != nil { return x.Msg } return "" } //黑白名单 // [action] /api/Player/WhiteBlackControl type ASWhiteBlackControl struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Platform string `protobuf:"bytes,1,opt,name=Platform,proto3" json:"Platform,omitempty"` SnId int32 `protobuf:"varint,2,opt,name=SnId,proto3" json:"SnId,omitempty"` WBLevel int32 `protobuf:"zigzag32,3,opt,name=WBLevel,proto3" json:"WBLevel,omitempty"` //白:[1,10] 黑:[-1,-10] WBCoinLimit int64 `protobuf:"varint,4,opt,name=WBCoinLimit,proto3" json:"WBCoinLimit,omitempty"` //目标额度 ResetTotalCoin int64 `protobuf:"varint,5,opt,name=ResetTotalCoin,proto3" json:"ResetTotalCoin,omitempty"` MaxNum int32 `protobuf:"varint,6,opt,name=MaxNum,proto3" json:"MaxNum,omitempty"` //黑白名单最大干预次数 SnIds []int32 `protobuf:"varint,7,rep,packed,name=SnIds,proto3" json:"SnIds,omitempty"` State int32 `protobuf:"varint,8,opt,name=State,proto3" json:"State,omitempty"` //调控状态 } func (x *ASWhiteBlackControl) Reset() { *x = ASWhiteBlackControl{} if protoimpl.UnsafeEnabled { mi := &file_protocol_webapi_webapi_proto_msgTypes[44] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ASWhiteBlackControl) String() string { return protoimpl.X.MessageStringOf(x) } func (*ASWhiteBlackControl) ProtoMessage() {} func (x *ASWhiteBlackControl) ProtoReflect() protoreflect.Message { mi := &file_protocol_webapi_webapi_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 ASWhiteBlackControl.ProtoReflect.Descriptor instead. func (*ASWhiteBlackControl) Descriptor() ([]byte, []int) { return file_protocol_webapi_webapi_proto_rawDescGZIP(), []int{44} } func (x *ASWhiteBlackControl) GetPlatform() string { if x != nil { return x.Platform } return "" } func (x *ASWhiteBlackControl) GetSnId() int32 { if x != nil { return x.SnId } return 0 } func (x *ASWhiteBlackControl) GetWBLevel() int32 { if x != nil { return x.WBLevel } return 0 } func (x *ASWhiteBlackControl) GetWBCoinLimit() int64 { if x != nil { return x.WBCoinLimit } return 0 } func (x *ASWhiteBlackControl) GetResetTotalCoin() int64 { if x != nil { return x.ResetTotalCoin } return 0 } func (x *ASWhiteBlackControl) GetMaxNum() int32 { if x != nil { return x.MaxNum } return 0 } func (x *ASWhiteBlackControl) GetSnIds() []int32 { if x != nil { return x.SnIds } return nil } func (x *ASWhiteBlackControl) GetState() int32 { if x != nil { return x.State } return 0 } type SAWhiteBlackControl struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Tag TagCode `protobuf:"varint,1,opt,name=Tag,proto3,enum=webapi.TagCode" json:"Tag,omitempty"` //错误码 Msg string `protobuf:"bytes,2,opt,name=Msg,proto3" json:"Msg,omitempty"` //错误信息(选填) } func (x *SAWhiteBlackControl) Reset() { *x = SAWhiteBlackControl{} if protoimpl.UnsafeEnabled { mi := &file_protocol_webapi_webapi_proto_msgTypes[45] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *SAWhiteBlackControl) String() string { return protoimpl.X.MessageStringOf(x) } func (*SAWhiteBlackControl) ProtoMessage() {} func (x *SAWhiteBlackControl) ProtoReflect() protoreflect.Message { mi := &file_protocol_webapi_webapi_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 SAWhiteBlackControl.ProtoReflect.Descriptor instead. func (*SAWhiteBlackControl) Descriptor() ([]byte, []int) { return file_protocol_webapi_webapi_proto_rawDescGZIP(), []int{45} } func (x *SAWhiteBlackControl) GetTag() TagCode { if x != nil { return x.Tag } return TagCode_UNKNOWN } func (x *SAWhiteBlackControl) GetMsg() string { if x != nil { return x.Msg } return "" } //跑马灯 // [action] /api/Message/QueryHorseRaceLampList type ASQueryHorseRaceLampList struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields PageNo int32 `protobuf:"varint,1,opt,name=PageNo,proto3" json:"PageNo,omitempty"` PageSize int32 `protobuf:"varint,2,opt,name=PageSize,proto3" json:"PageSize,omitempty"` Platform string `protobuf:"bytes,3,opt,name=Platform,proto3" json:"Platform,omitempty"` State int32 `protobuf:"varint,4,opt,name=State,proto3" json:"State,omitempty"` MsgType int32 `protobuf:"varint,5,opt,name=MsgType,proto3" json:"MsgType,omitempty"` } func (x *ASQueryHorseRaceLampList) Reset() { *x = ASQueryHorseRaceLampList{} if protoimpl.UnsafeEnabled { mi := &file_protocol_webapi_webapi_proto_msgTypes[46] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ASQueryHorseRaceLampList) String() string { return protoimpl.X.MessageStringOf(x) } func (*ASQueryHorseRaceLampList) ProtoMessage() {} func (x *ASQueryHorseRaceLampList) ProtoReflect() protoreflect.Message { mi := &file_protocol_webapi_webapi_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 ASQueryHorseRaceLampList.ProtoReflect.Descriptor instead. func (*ASQueryHorseRaceLampList) Descriptor() ([]byte, []int) { return file_protocol_webapi_webapi_proto_rawDescGZIP(), []int{46} } func (x *ASQueryHorseRaceLampList) GetPageNo() int32 { if x != nil { return x.PageNo } return 0 } func (x *ASQueryHorseRaceLampList) GetPageSize() int32 { if x != nil { return x.PageSize } return 0 } func (x *ASQueryHorseRaceLampList) GetPlatform() string { if x != nil { return x.Platform } return "" } func (x *ASQueryHorseRaceLampList) GetState() int32 { if x != nil { return x.State } return 0 } func (x *ASQueryHorseRaceLampList) GetMsgType() int32 { if x != nil { return x.MsgType } return 0 } type SAQueryHorseRaceLampList struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Tag TagCode `protobuf:"varint,1,opt,name=Tag,proto3,enum=webapi.TagCode" json:"Tag,omitempty"` //错误码 Msg string `protobuf:"bytes,2,opt,name=Msg,proto3" json:"Msg,omitempty"` //错误信息(选填) PageCount int32 `protobuf:"varint,3,opt,name=PageCount,proto3" json:"PageCount,omitempty"` HorseRaceLamp []*HorseRaceLamp `protobuf:"bytes,4,rep,name=HorseRaceLamp,proto3" json:"HorseRaceLamp,omitempty"` } func (x *SAQueryHorseRaceLampList) Reset() { *x = SAQueryHorseRaceLampList{} if protoimpl.UnsafeEnabled { mi := &file_protocol_webapi_webapi_proto_msgTypes[47] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *SAQueryHorseRaceLampList) String() string { return protoimpl.X.MessageStringOf(x) } func (*SAQueryHorseRaceLampList) ProtoMessage() {} func (x *SAQueryHorseRaceLampList) ProtoReflect() protoreflect.Message { mi := &file_protocol_webapi_webapi_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 SAQueryHorseRaceLampList.ProtoReflect.Descriptor instead. func (*SAQueryHorseRaceLampList) Descriptor() ([]byte, []int) { return file_protocol_webapi_webapi_proto_rawDescGZIP(), []int{47} } func (x *SAQueryHorseRaceLampList) GetTag() TagCode { if x != nil { return x.Tag } return TagCode_UNKNOWN } func (x *SAQueryHorseRaceLampList) GetMsg() string { if x != nil { return x.Msg } return "" } func (x *SAQueryHorseRaceLampList) GetPageCount() int32 { if x != nil { return x.PageCount } return 0 } func (x *SAQueryHorseRaceLampList) GetHorseRaceLamp() []*HorseRaceLamp { if x != nil { return x.HorseRaceLamp } return nil } // [action] /api/Message/CreateHorseRaceLamp type ASCreateHorseRaceLamp struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Platform string `protobuf:"bytes,1,opt,name=Platform,proto3" json:"Platform,omitempty"` Title string `protobuf:"bytes,2,opt,name=Title,proto3" json:"Title,omitempty"` Content string `protobuf:"bytes,3,opt,name=Content,proto3" json:"Content,omitempty"` Footer string `protobuf:"bytes,4,opt,name=Footer,proto3" json:"Footer,omitempty"` Count int32 `protobuf:"varint,5,opt,name=Count,proto3" json:"Count,omitempty"` State int32 `protobuf:"varint,6,opt,name=State,proto3" json:"State,omitempty"` StartTime int64 `protobuf:"varint,7,opt,name=StartTime,proto3" json:"StartTime,omitempty"` Priority int32 `protobuf:"varint,8,opt,name=Priority,proto3" json:"Priority,omitempty"` MsgType int32 `protobuf:"varint,9,opt,name=MsgType,proto3" json:"MsgType,omitempty"` StandSec int32 `protobuf:"varint,10,opt,name=StandSec,proto3" json:"StandSec,omitempty"` Target []int32 `protobuf:"varint,11,rep,packed,name=Target,proto3" json:"Target,omitempty"` } func (x *ASCreateHorseRaceLamp) Reset() { *x = ASCreateHorseRaceLamp{} if protoimpl.UnsafeEnabled { mi := &file_protocol_webapi_webapi_proto_msgTypes[48] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ASCreateHorseRaceLamp) String() string { return protoimpl.X.MessageStringOf(x) } func (*ASCreateHorseRaceLamp) ProtoMessage() {} func (x *ASCreateHorseRaceLamp) ProtoReflect() protoreflect.Message { mi := &file_protocol_webapi_webapi_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 ASCreateHorseRaceLamp.ProtoReflect.Descriptor instead. func (*ASCreateHorseRaceLamp) Descriptor() ([]byte, []int) { return file_protocol_webapi_webapi_proto_rawDescGZIP(), []int{48} } func (x *ASCreateHorseRaceLamp) GetPlatform() string { if x != nil { return x.Platform } return "" } func (x *ASCreateHorseRaceLamp) GetTitle() string { if x != nil { return x.Title } return "" } func (x *ASCreateHorseRaceLamp) GetContent() string { if x != nil { return x.Content } return "" } func (x *ASCreateHorseRaceLamp) GetFooter() string { if x != nil { return x.Footer } return "" } func (x *ASCreateHorseRaceLamp) GetCount() int32 { if x != nil { return x.Count } return 0 } func (x *ASCreateHorseRaceLamp) GetState() int32 { if x != nil { return x.State } return 0 } func (x *ASCreateHorseRaceLamp) GetStartTime() int64 { if x != nil { return x.StartTime } return 0 } func (x *ASCreateHorseRaceLamp) GetPriority() int32 { if x != nil { return x.Priority } return 0 } func (x *ASCreateHorseRaceLamp) GetMsgType() int32 { if x != nil { return x.MsgType } return 0 } func (x *ASCreateHorseRaceLamp) GetStandSec() int32 { if x != nil { return x.StandSec } return 0 } func (x *ASCreateHorseRaceLamp) GetTarget() []int32 { if x != nil { return x.Target } return nil } type SACreateHorseRaceLamp struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Tag TagCode `protobuf:"varint,1,opt,name=Tag,proto3,enum=webapi.TagCode" json:"Tag,omitempty"` //错误码 Msg string `protobuf:"bytes,2,opt,name=Msg,proto3" json:"Msg,omitempty"` //错误信息(选填) } func (x *SACreateHorseRaceLamp) Reset() { *x = SACreateHorseRaceLamp{} if protoimpl.UnsafeEnabled { mi := &file_protocol_webapi_webapi_proto_msgTypes[49] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *SACreateHorseRaceLamp) String() string { return protoimpl.X.MessageStringOf(x) } func (*SACreateHorseRaceLamp) ProtoMessage() {} func (x *SACreateHorseRaceLamp) ProtoReflect() protoreflect.Message { mi := &file_protocol_webapi_webapi_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 SACreateHorseRaceLamp.ProtoReflect.Descriptor instead. func (*SACreateHorseRaceLamp) Descriptor() ([]byte, []int) { return file_protocol_webapi_webapi_proto_rawDescGZIP(), []int{49} } func (x *SACreateHorseRaceLamp) GetTag() TagCode { if x != nil { return x.Tag } return TagCode_UNKNOWN } func (x *SACreateHorseRaceLamp) GetMsg() string { if x != nil { return x.Msg } return "" } // [action] /api/Message/GetHorseRaceLampById type ASGetHorseRaceLampById struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields NoticeId string `protobuf:"bytes,1,opt,name=NoticeId,proto3" json:"NoticeId,omitempty"` Platform string `protobuf:"bytes,2,opt,name=Platform,proto3" json:"Platform,omitempty"` } func (x *ASGetHorseRaceLampById) Reset() { *x = ASGetHorseRaceLampById{} if protoimpl.UnsafeEnabled { mi := &file_protocol_webapi_webapi_proto_msgTypes[50] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ASGetHorseRaceLampById) String() string { return protoimpl.X.MessageStringOf(x) } func (*ASGetHorseRaceLampById) ProtoMessage() {} func (x *ASGetHorseRaceLampById) ProtoReflect() protoreflect.Message { mi := &file_protocol_webapi_webapi_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 ASGetHorseRaceLampById.ProtoReflect.Descriptor instead. func (*ASGetHorseRaceLampById) Descriptor() ([]byte, []int) { return file_protocol_webapi_webapi_proto_rawDescGZIP(), []int{50} } func (x *ASGetHorseRaceLampById) GetNoticeId() string { if x != nil { return x.NoticeId } return "" } func (x *ASGetHorseRaceLampById) GetPlatform() string { if x != nil { return x.Platform } return "" } type SAGetHorseRaceLampById struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Tag TagCode `protobuf:"varint,1,opt,name=Tag,proto3,enum=webapi.TagCode" json:"Tag,omitempty"` //错误码 Msg string `protobuf:"bytes,2,opt,name=Msg,proto3" json:"Msg,omitempty"` //错误信息(选填) HorseRaceLamp *HorseRaceLamp `protobuf:"bytes,3,opt,name=HorseRaceLamp,proto3" json:"HorseRaceLamp,omitempty"` } func (x *SAGetHorseRaceLampById) Reset() { *x = SAGetHorseRaceLampById{} if protoimpl.UnsafeEnabled { mi := &file_protocol_webapi_webapi_proto_msgTypes[51] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *SAGetHorseRaceLampById) String() string { return protoimpl.X.MessageStringOf(x) } func (*SAGetHorseRaceLampById) ProtoMessage() {} func (x *SAGetHorseRaceLampById) ProtoReflect() protoreflect.Message { mi := &file_protocol_webapi_webapi_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 SAGetHorseRaceLampById.ProtoReflect.Descriptor instead. func (*SAGetHorseRaceLampById) Descriptor() ([]byte, []int) { return file_protocol_webapi_webapi_proto_rawDescGZIP(), []int{51} } func (x *SAGetHorseRaceLampById) GetTag() TagCode { if x != nil { return x.Tag } return TagCode_UNKNOWN } func (x *SAGetHorseRaceLampById) GetMsg() string { if x != nil { return x.Msg } return "" } func (x *SAGetHorseRaceLampById) GetHorseRaceLamp() *HorseRaceLamp { if x != nil { return x.HorseRaceLamp } return nil } // [action] /api/Message/EditHorseRaceLamp type ASEditHorseRaceLamp struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields HorseRaceLamp *HorseRaceLamp `protobuf:"bytes,1,opt,name=HorseRaceLamp,proto3" json:"HorseRaceLamp,omitempty"` } func (x *ASEditHorseRaceLamp) Reset() { *x = ASEditHorseRaceLamp{} if protoimpl.UnsafeEnabled { mi := &file_protocol_webapi_webapi_proto_msgTypes[52] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ASEditHorseRaceLamp) String() string { return protoimpl.X.MessageStringOf(x) } func (*ASEditHorseRaceLamp) ProtoMessage() {} func (x *ASEditHorseRaceLamp) ProtoReflect() protoreflect.Message { mi := &file_protocol_webapi_webapi_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 ASEditHorseRaceLamp.ProtoReflect.Descriptor instead. func (*ASEditHorseRaceLamp) Descriptor() ([]byte, []int) { return file_protocol_webapi_webapi_proto_rawDescGZIP(), []int{52} } func (x *ASEditHorseRaceLamp) GetHorseRaceLamp() *HorseRaceLamp { if x != nil { return x.HorseRaceLamp } return nil } type SAEditHorseRaceLamp struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Tag TagCode `protobuf:"varint,1,opt,name=Tag,proto3,enum=webapi.TagCode" json:"Tag,omitempty"` //错误码 Msg string `protobuf:"bytes,2,opt,name=Msg,proto3" json:"Msg,omitempty"` //错误信息(选填) } func (x *SAEditHorseRaceLamp) Reset() { *x = SAEditHorseRaceLamp{} if protoimpl.UnsafeEnabled { mi := &file_protocol_webapi_webapi_proto_msgTypes[53] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *SAEditHorseRaceLamp) String() string { return protoimpl.X.MessageStringOf(x) } func (*SAEditHorseRaceLamp) ProtoMessage() {} func (x *SAEditHorseRaceLamp) ProtoReflect() protoreflect.Message { mi := &file_protocol_webapi_webapi_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 SAEditHorseRaceLamp.ProtoReflect.Descriptor instead. func (*SAEditHorseRaceLamp) Descriptor() ([]byte, []int) { return file_protocol_webapi_webapi_proto_rawDescGZIP(), []int{53} } func (x *SAEditHorseRaceLamp) GetTag() TagCode { if x != nil { return x.Tag } return TagCode_UNKNOWN } func (x *SAEditHorseRaceLamp) GetMsg() string { if x != nil { return x.Msg } return "" } // [action] /api/Message/RemoveHorseRaceLampById type ASRemoveHorseRaceLampById struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields HorseRaceId string `protobuf:"bytes,1,opt,name=HorseRaceId,proto3" json:"HorseRaceId,omitempty"` Platform string `protobuf:"bytes,2,opt,name=Platform,proto3" json:"Platform,omitempty"` } func (x *ASRemoveHorseRaceLampById) Reset() { *x = ASRemoveHorseRaceLampById{} if protoimpl.UnsafeEnabled { mi := &file_protocol_webapi_webapi_proto_msgTypes[54] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ASRemoveHorseRaceLampById) String() string { return protoimpl.X.MessageStringOf(x) } func (*ASRemoveHorseRaceLampById) ProtoMessage() {} func (x *ASRemoveHorseRaceLampById) ProtoReflect() protoreflect.Message { mi := &file_protocol_webapi_webapi_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 ASRemoveHorseRaceLampById.ProtoReflect.Descriptor instead. func (*ASRemoveHorseRaceLampById) Descriptor() ([]byte, []int) { return file_protocol_webapi_webapi_proto_rawDescGZIP(), []int{54} } func (x *ASRemoveHorseRaceLampById) GetHorseRaceId() string { if x != nil { return x.HorseRaceId } return "" } func (x *ASRemoveHorseRaceLampById) GetPlatform() string { if x != nil { return x.Platform } return "" } type SARemoveHorseRaceLampById struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Tag TagCode `protobuf:"varint,1,opt,name=Tag,proto3,enum=webapi.TagCode" json:"Tag,omitempty"` //错误码 Msg string `protobuf:"bytes,2,opt,name=Msg,proto3" json:"Msg,omitempty"` //错误信息(选填) } func (x *SARemoveHorseRaceLampById) Reset() { *x = SARemoveHorseRaceLampById{} if protoimpl.UnsafeEnabled { mi := &file_protocol_webapi_webapi_proto_msgTypes[55] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *SARemoveHorseRaceLampById) String() string { return protoimpl.X.MessageStringOf(x) } func (*SARemoveHorseRaceLampById) ProtoMessage() {} func (x *SARemoveHorseRaceLampById) ProtoReflect() protoreflect.Message { mi := &file_protocol_webapi_webapi_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 SARemoveHorseRaceLampById.ProtoReflect.Descriptor instead. func (*SARemoveHorseRaceLampById) Descriptor() ([]byte, []int) { return file_protocol_webapi_webapi_proto_rawDescGZIP(), []int{55} } func (x *SARemoveHorseRaceLampById) GetTag() TagCode { if x != nil { return x.Tag } return TagCode_UNKNOWN } func (x *SARemoveHorseRaceLampById) GetMsg() string { if x != nil { return x.Msg } return "" } //通过SnId设置黑名单 // [action] /api/Player/BlackBySnId type ASBlackBySnId struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Platform string `protobuf:"bytes,1,opt,name=Platform,proto3" json:"Platform,omitempty"` SnId int32 `protobuf:"varint,2,opt,name=SnId,proto3" json:"SnId,omitempty"` BlacklistType int32 `protobuf:"varint,3,opt,name=BlacklistType,proto3" json:"BlacklistType,omitempty"` //0是不限制 第1位是游戏登录 第2位是兑换 第3位是充值 } func (x *ASBlackBySnId) Reset() { *x = ASBlackBySnId{} if protoimpl.UnsafeEnabled { mi := &file_protocol_webapi_webapi_proto_msgTypes[56] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ASBlackBySnId) String() string { return protoimpl.X.MessageStringOf(x) } func (*ASBlackBySnId) ProtoMessage() {} func (x *ASBlackBySnId) ProtoReflect() protoreflect.Message { mi := &file_protocol_webapi_webapi_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 ASBlackBySnId.ProtoReflect.Descriptor instead. func (*ASBlackBySnId) Descriptor() ([]byte, []int) { return file_protocol_webapi_webapi_proto_rawDescGZIP(), []int{56} } func (x *ASBlackBySnId) GetPlatform() string { if x != nil { return x.Platform } return "" } func (x *ASBlackBySnId) GetSnId() int32 { if x != nil { return x.SnId } return 0 } func (x *ASBlackBySnId) GetBlacklistType() int32 { if x != nil { return x.BlacklistType } return 0 } type SABlackBySnId struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Tag TagCode `protobuf:"varint,1,opt,name=Tag,proto3,enum=webapi.TagCode" json:"Tag,omitempty"` //错误码 Msg string `protobuf:"bytes,2,opt,name=Msg,proto3" json:"Msg,omitempty"` //错误信息(选填) } func (x *SABlackBySnId) Reset() { *x = SABlackBySnId{} if protoimpl.UnsafeEnabled { mi := &file_protocol_webapi_webapi_proto_msgTypes[57] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *SABlackBySnId) String() string { return protoimpl.X.MessageStringOf(x) } func (*SABlackBySnId) ProtoMessage() {} func (x *SABlackBySnId) ProtoReflect() protoreflect.Message { mi := &file_protocol_webapi_webapi_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 SABlackBySnId.ProtoReflect.Descriptor instead. func (*SABlackBySnId) Descriptor() ([]byte, []int) { return file_protocol_webapi_webapi_proto_rawDescGZIP(), []int{57} } func (x *SABlackBySnId) GetTag() TagCode { if x != nil { return x.Tag } return TagCode_UNKNOWN } func (x *SABlackBySnId) GetMsg() string { if x != nil { return x.Msg } return "" } //邮件 // [action] /api/game/CreateShortMessage type ASCreateShortMessage struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields NoticeTitle string `protobuf:"bytes,1,opt,name=NoticeTitle,proto3" json:"NoticeTitle,omitempty"` NoticeContent string `protobuf:"bytes,2,opt,name=NoticeContent,proto3" json:"NoticeContent,omitempty"` Platform string `protobuf:"bytes,3,opt,name=Platform,proto3" json:"Platform,omitempty"` SrcSnid int32 `protobuf:"varint,4,opt,name=SrcSnid,proto3" json:"SrcSnid,omitempty"` DestSnid int32 `protobuf:"varint,5,opt,name=DestSnid,proto3" json:"DestSnid,omitempty"` MessageType int32 `protobuf:"varint,6,opt,name=MessageType,proto3" json:"MessageType,omitempty"` Coin int64 `protobuf:"varint,7,opt,name=Coin,proto3" json:"Coin,omitempty"` Diamond int64 `protobuf:"varint,8,opt,name=Diamond,proto3" json:"Diamond,omitempty"` ShowId int64 `protobuf:"varint,9,opt,name=ShowId,proto3" json:"ShowId,omitempty"` Params []int32 `protobuf:"varint,10,rep,packed,name=Params,proto3" json:"Params,omitempty"` OnChannelName []string `protobuf:"bytes,11,rep,name=OnChannelName,proto3" json:"OnChannelName,omitempty"` } func (x *ASCreateShortMessage) Reset() { *x = ASCreateShortMessage{} if protoimpl.UnsafeEnabled { mi := &file_protocol_webapi_webapi_proto_msgTypes[58] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ASCreateShortMessage) String() string { return protoimpl.X.MessageStringOf(x) } func (*ASCreateShortMessage) ProtoMessage() {} func (x *ASCreateShortMessage) ProtoReflect() protoreflect.Message { mi := &file_protocol_webapi_webapi_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 ASCreateShortMessage.ProtoReflect.Descriptor instead. func (*ASCreateShortMessage) Descriptor() ([]byte, []int) { return file_protocol_webapi_webapi_proto_rawDescGZIP(), []int{58} } func (x *ASCreateShortMessage) GetNoticeTitle() string { if x != nil { return x.NoticeTitle } return "" } func (x *ASCreateShortMessage) GetNoticeContent() string { if x != nil { return x.NoticeContent } return "" } func (x *ASCreateShortMessage) GetPlatform() string { if x != nil { return x.Platform } return "" } func (x *ASCreateShortMessage) GetSrcSnid() int32 { if x != nil { return x.SrcSnid } return 0 } func (x *ASCreateShortMessage) GetDestSnid() int32 { if x != nil { return x.DestSnid } return 0 } func (x *ASCreateShortMessage) GetMessageType() int32 { if x != nil { return x.MessageType } return 0 } func (x *ASCreateShortMessage) GetCoin() int64 { if x != nil { return x.Coin } return 0 } func (x *ASCreateShortMessage) GetDiamond() int64 { if x != nil { return x.Diamond } return 0 } func (x *ASCreateShortMessage) GetShowId() int64 { if x != nil { return x.ShowId } return 0 } func (x *ASCreateShortMessage) GetParams() []int32 { if x != nil { return x.Params } return nil } func (x *ASCreateShortMessage) GetOnChannelName() []string { if x != nil { return x.OnChannelName } return nil } type SACreateShortMessage struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Tag TagCode `protobuf:"varint,1,opt,name=Tag,proto3,enum=webapi.TagCode" json:"Tag,omitempty"` //错误码 Msg string `protobuf:"bytes,2,opt,name=Msg,proto3" json:"Msg,omitempty"` //错误信息(选填) } func (x *SACreateShortMessage) Reset() { *x = SACreateShortMessage{} if protoimpl.UnsafeEnabled { mi := &file_protocol_webapi_webapi_proto_msgTypes[59] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *SACreateShortMessage) String() string { return protoimpl.X.MessageStringOf(x) } func (*SACreateShortMessage) ProtoMessage() {} func (x *SACreateShortMessage) ProtoReflect() protoreflect.Message { mi := &file_protocol_webapi_webapi_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 SACreateShortMessage.ProtoReflect.Descriptor instead. func (*SACreateShortMessage) Descriptor() ([]byte, []int) { return file_protocol_webapi_webapi_proto_rawDescGZIP(), []int{59} } func (x *SACreateShortMessage) GetTag() TagCode { if x != nil { return x.Tag } return TagCode_UNKNOWN } func (x *SACreateShortMessage) GetMsg() string { if x != nil { return x.Msg } return "" } // [action] /api/game/QueryShortMessageList type ASQueryShortMessageList struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields StartTime int64 `protobuf:"varint,1,opt,name=StartTime,proto3" json:"StartTime,omitempty"` EndTime int64 `protobuf:"varint,2,opt,name=EndTime,proto3" json:"EndTime,omitempty"` PageNo int32 `protobuf:"varint,3,opt,name=PageNo,proto3" json:"PageNo,omitempty"` PageSize int32 `protobuf:"varint,4,opt,name=PageSize,proto3" json:"PageSize,omitempty"` MessageType int32 `protobuf:"varint,5,opt,name=MessageType,proto3" json:"MessageType,omitempty"` Platform string `protobuf:"bytes,6,opt,name=Platform,proto3" json:"Platform,omitempty"` DestSnid int32 `protobuf:"varint,7,opt,name=DestSnid,proto3" json:"DestSnid,omitempty"` } func (x *ASQueryShortMessageList) Reset() { *x = ASQueryShortMessageList{} if protoimpl.UnsafeEnabled { mi := &file_protocol_webapi_webapi_proto_msgTypes[60] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ASQueryShortMessageList) String() string { return protoimpl.X.MessageStringOf(x) } func (*ASQueryShortMessageList) ProtoMessage() {} func (x *ASQueryShortMessageList) ProtoReflect() protoreflect.Message { mi := &file_protocol_webapi_webapi_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 ASQueryShortMessageList.ProtoReflect.Descriptor instead. func (*ASQueryShortMessageList) Descriptor() ([]byte, []int) { return file_protocol_webapi_webapi_proto_rawDescGZIP(), []int{60} } func (x *ASQueryShortMessageList) GetStartTime() int64 { if x != nil { return x.StartTime } return 0 } func (x *ASQueryShortMessageList) GetEndTime() int64 { if x != nil { return x.EndTime } return 0 } func (x *ASQueryShortMessageList) GetPageNo() int32 { if x != nil { return x.PageNo } return 0 } func (x *ASQueryShortMessageList) GetPageSize() int32 { if x != nil { return x.PageSize } return 0 } func (x *ASQueryShortMessageList) GetMessageType() int32 { if x != nil { return x.MessageType } return 0 } func (x *ASQueryShortMessageList) GetPlatform() string { if x != nil { return x.Platform } return "" } func (x *ASQueryShortMessageList) GetDestSnid() int32 { if x != nil { return x.DestSnid } return 0 } type SAQueryShortMessageList struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Tag TagCode `protobuf:"varint,1,opt,name=Tag,proto3,enum=webapi.TagCode" json:"Tag,omitempty"` //错误码 Msg string `protobuf:"bytes,2,opt,name=Msg,proto3" json:"Msg,omitempty"` //错误信息(选填) Count int32 `protobuf:"varint,3,opt,name=Count,proto3" json:"Count,omitempty"` MessageInfo []*MessageInfo `protobuf:"bytes,4,rep,name=MessageInfo,proto3" json:"MessageInfo,omitempty"` } func (x *SAQueryShortMessageList) Reset() { *x = SAQueryShortMessageList{} if protoimpl.UnsafeEnabled { mi := &file_protocol_webapi_webapi_proto_msgTypes[61] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *SAQueryShortMessageList) String() string { return protoimpl.X.MessageStringOf(x) } func (*SAQueryShortMessageList) ProtoMessage() {} func (x *SAQueryShortMessageList) ProtoReflect() protoreflect.Message { mi := &file_protocol_webapi_webapi_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 SAQueryShortMessageList.ProtoReflect.Descriptor instead. func (*SAQueryShortMessageList) Descriptor() ([]byte, []int) { return file_protocol_webapi_webapi_proto_rawDescGZIP(), []int{61} } func (x *SAQueryShortMessageList) GetTag() TagCode { if x != nil { return x.Tag } return TagCode_UNKNOWN } func (x *SAQueryShortMessageList) GetMsg() string { if x != nil { return x.Msg } return "" } func (x *SAQueryShortMessageList) GetCount() int32 { if x != nil { return x.Count } return 0 } func (x *SAQueryShortMessageList) GetMessageInfo() []*MessageInfo { if x != nil { return x.MessageInfo } return nil } // [action] /api/game/DeleteShortMessage type ASDeleteShortMessage struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Id string `protobuf:"bytes,1,opt,name=Id,proto3" json:"Id,omitempty"` Platform string `protobuf:"bytes,2,opt,name=Platform,proto3" json:"Platform,omitempty"` } func (x *ASDeleteShortMessage) Reset() { *x = ASDeleteShortMessage{} if protoimpl.UnsafeEnabled { mi := &file_protocol_webapi_webapi_proto_msgTypes[62] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ASDeleteShortMessage) String() string { return protoimpl.X.MessageStringOf(x) } func (*ASDeleteShortMessage) ProtoMessage() {} func (x *ASDeleteShortMessage) ProtoReflect() protoreflect.Message { mi := &file_protocol_webapi_webapi_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 ASDeleteShortMessage.ProtoReflect.Descriptor instead. func (*ASDeleteShortMessage) Descriptor() ([]byte, []int) { return file_protocol_webapi_webapi_proto_rawDescGZIP(), []int{62} } func (x *ASDeleteShortMessage) GetId() string { if x != nil { return x.Id } return "" } func (x *ASDeleteShortMessage) GetPlatform() string { if x != nil { return x.Platform } return "" } type SADeleteShortMessage struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Tag TagCode `protobuf:"varint,1,opt,name=Tag,proto3,enum=webapi.TagCode" json:"Tag,omitempty"` //错误码 Msg string `protobuf:"bytes,2,opt,name=Msg,proto3" json:"Msg,omitempty"` //错误信息(选填) } func (x *SADeleteShortMessage) Reset() { *x = SADeleteShortMessage{} if protoimpl.UnsafeEnabled { mi := &file_protocol_webapi_webapi_proto_msgTypes[63] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *SADeleteShortMessage) String() string { return protoimpl.X.MessageStringOf(x) } func (*SADeleteShortMessage) ProtoMessage() {} func (x *SADeleteShortMessage) ProtoReflect() protoreflect.Message { mi := &file_protocol_webapi_webapi_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 SADeleteShortMessage.ProtoReflect.Descriptor instead. func (*SADeleteShortMessage) Descriptor() ([]byte, []int) { return file_protocol_webapi_webapi_proto_rawDescGZIP(), []int{63} } func (x *SADeleteShortMessage) GetTag() TagCode { if x != nil { return x.Tag } return TagCode_UNKNOWN } func (x *SADeleteShortMessage) GetMsg() string { if x != nil { return x.Msg } return "" } //在线列表 // [action] /api/Report/QueryOnlineReportList type ASQueryOnlineReportList struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Platform string `protobuf:"bytes,1,opt,name=Platform,proto3" json:"Platform,omitempty"` GameId int32 `protobuf:"varint,2,opt,name=GameId,proto3" json:"GameId,omitempty"` PageNo int32 `protobuf:"varint,3,opt,name=PageNo,proto3" json:"PageNo,omitempty"` PageSize int32 `protobuf:"varint,4,opt,name=PageSize,proto3" json:"PageSize,omitempty"` OrderColumn int32 `protobuf:"varint,5,opt,name=OrderColumn,proto3" json:"OrderColumn,omitempty"` //排序:0不排序 1、按照充值排序 2、兑换3、税收 4、注册时间 5.房间号 OrderType int32 `protobuf:"varint,6,opt,name=OrderType,proto3" json:"OrderType,omitempty"` //排序方式 0,、倒序 1、正序 GameFreeId int32 `protobuf:"varint,7,opt,name=GameFreeId,proto3" json:"GameFreeId,omitempty"` Channel string `protobuf:"bytes,8,opt,name=Channel,proto3" json:"Channel,omitempty"` } func (x *ASQueryOnlineReportList) Reset() { *x = ASQueryOnlineReportList{} if protoimpl.UnsafeEnabled { mi := &file_protocol_webapi_webapi_proto_msgTypes[64] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ASQueryOnlineReportList) String() string { return protoimpl.X.MessageStringOf(x) } func (*ASQueryOnlineReportList) ProtoMessage() {} func (x *ASQueryOnlineReportList) ProtoReflect() protoreflect.Message { mi := &file_protocol_webapi_webapi_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 ASQueryOnlineReportList.ProtoReflect.Descriptor instead. func (*ASQueryOnlineReportList) Descriptor() ([]byte, []int) { return file_protocol_webapi_webapi_proto_rawDescGZIP(), []int{64} } func (x *ASQueryOnlineReportList) GetPlatform() string { if x != nil { return x.Platform } return "" } func (x *ASQueryOnlineReportList) GetGameId() int32 { if x != nil { return x.GameId } return 0 } func (x *ASQueryOnlineReportList) GetPageNo() int32 { if x != nil { return x.PageNo } return 0 } func (x *ASQueryOnlineReportList) GetPageSize() int32 { if x != nil { return x.PageSize } return 0 } func (x *ASQueryOnlineReportList) GetOrderColumn() int32 { if x != nil { return x.OrderColumn } return 0 } func (x *ASQueryOnlineReportList) GetOrderType() int32 { if x != nil { return x.OrderType } return 0 } func (x *ASQueryOnlineReportList) GetGameFreeId() int32 { if x != nil { return x.GameFreeId } return 0 } func (x *ASQueryOnlineReportList) GetChannel() string { if x != nil { return x.Channel } return "" } type SAQueryOnlineReportList struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Tag TagCode `protobuf:"varint,1,opt,name=Tag,proto3,enum=webapi.TagCode" json:"Tag,omitempty"` //错误码 Msg string `protobuf:"bytes,2,opt,name=Msg,proto3" json:"Msg,omitempty"` //错误信息(选填) PlayerData []*PlayerData `protobuf:"bytes,3,rep,name=PlayerData,proto3" json:"PlayerData,omitempty"` //玩家信息 PageCount int32 `protobuf:"varint,4,opt,name=PageCount,proto3" json:"PageCount,omitempty"` PageNo int32 `protobuf:"varint,5,opt,name=PageNo,proto3" json:"PageNo,omitempty"` PageSize int32 `protobuf:"varint,6,opt,name=PageSize,proto3" json:"PageSize,omitempty"` } func (x *SAQueryOnlineReportList) Reset() { *x = SAQueryOnlineReportList{} if protoimpl.UnsafeEnabled { mi := &file_protocol_webapi_webapi_proto_msgTypes[65] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *SAQueryOnlineReportList) String() string { return protoimpl.X.MessageStringOf(x) } func (*SAQueryOnlineReportList) ProtoMessage() {} func (x *SAQueryOnlineReportList) ProtoReflect() protoreflect.Message { mi := &file_protocol_webapi_webapi_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 SAQueryOnlineReportList.ProtoReflect.Descriptor instead. func (*SAQueryOnlineReportList) Descriptor() ([]byte, []int) { return file_protocol_webapi_webapi_proto_rawDescGZIP(), []int{65} } func (x *SAQueryOnlineReportList) GetTag() TagCode { if x != nil { return x.Tag } return TagCode_UNKNOWN } func (x *SAQueryOnlineReportList) GetMsg() string { if x != nil { return x.Msg } return "" } func (x *SAQueryOnlineReportList) GetPlayerData() []*PlayerData { if x != nil { return x.PlayerData } return nil } func (x *SAQueryOnlineReportList) GetPageCount() int32 { if x != nil { return x.PageCount } return 0 } func (x *SAQueryOnlineReportList) GetPageNo() int32 { if x != nil { return x.PageNo } return 0 } func (x *SAQueryOnlineReportList) GetPageSize() int32 { if x != nil { return x.PageSize } return 0 } //关闭服务 // [action] /api/Ctrl/SrvCtrlClose type ASSrvCtrlClose struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields SrvType int32 `protobuf:"varint,2,opt,name=SrvType,proto3" json:"SrvType,omitempty"` //0.所有 4.网管 6.大厅.7游戏 } func (x *ASSrvCtrlClose) Reset() { *x = ASSrvCtrlClose{} if protoimpl.UnsafeEnabled { mi := &file_protocol_webapi_webapi_proto_msgTypes[66] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ASSrvCtrlClose) String() string { return protoimpl.X.MessageStringOf(x) } func (*ASSrvCtrlClose) ProtoMessage() {} func (x *ASSrvCtrlClose) ProtoReflect() protoreflect.Message { mi := &file_protocol_webapi_webapi_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 ASSrvCtrlClose.ProtoReflect.Descriptor instead. func (*ASSrvCtrlClose) Descriptor() ([]byte, []int) { return file_protocol_webapi_webapi_proto_rawDescGZIP(), []int{66} } func (x *ASSrvCtrlClose) GetSrvType() int32 { if x != nil { return x.SrvType } return 0 } type SASrvCtrlClose struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Tag TagCode `protobuf:"varint,1,opt,name=Tag,proto3,enum=webapi.TagCode" json:"Tag,omitempty"` //错误码 Msg string `protobuf:"bytes,2,opt,name=Msg,proto3" json:"Msg,omitempty"` //错误信息(选填) } func (x *SASrvCtrlClose) Reset() { *x = SASrvCtrlClose{} if protoimpl.UnsafeEnabled { mi := &file_protocol_webapi_webapi_proto_msgTypes[67] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *SASrvCtrlClose) String() string { return protoimpl.X.MessageStringOf(x) } func (*SASrvCtrlClose) ProtoMessage() {} func (x *SASrvCtrlClose) ProtoReflect() protoreflect.Message { mi := &file_protocol_webapi_webapi_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 SASrvCtrlClose.ProtoReflect.Descriptor instead. func (*SASrvCtrlClose) Descriptor() ([]byte, []int) { return file_protocol_webapi_webapi_proto_rawDescGZIP(), []int{67} } func (x *SASrvCtrlClose) GetTag() TagCode { if x != nil { return x.Tag } return TagCode_UNKNOWN } func (x *SASrvCtrlClose) GetMsg() string { if x != nil { return x.Msg } return "" } //发送公告 // [action] /api/Ctrl/SrvCtrlNotice type ASSrvCtrlNotice struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields OpNotice int32 `protobuf:"varint,1,opt,name=OpNotice,proto3" json:"OpNotice,omitempty"` //0.创建 1.停止 Times int32 `protobuf:"varint,2,opt,name=Times,proto3" json:"Times,omitempty"` //次数 Interval int32 `protobuf:"varint,3,opt,name=Interval,proto3" json:"Interval,omitempty"` //间隔秒数 Notice string `protobuf:"bytes,4,opt,name=Notice,proto3" json:"Notice,omitempty"` //公告内容 } func (x *ASSrvCtrlNotice) Reset() { *x = ASSrvCtrlNotice{} if protoimpl.UnsafeEnabled { mi := &file_protocol_webapi_webapi_proto_msgTypes[68] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ASSrvCtrlNotice) String() string { return protoimpl.X.MessageStringOf(x) } func (*ASSrvCtrlNotice) ProtoMessage() {} func (x *ASSrvCtrlNotice) ProtoReflect() protoreflect.Message { mi := &file_protocol_webapi_webapi_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 ASSrvCtrlNotice.ProtoReflect.Descriptor instead. func (*ASSrvCtrlNotice) Descriptor() ([]byte, []int) { return file_protocol_webapi_webapi_proto_rawDescGZIP(), []int{68} } func (x *ASSrvCtrlNotice) GetOpNotice() int32 { if x != nil { return x.OpNotice } return 0 } func (x *ASSrvCtrlNotice) GetTimes() int32 { if x != nil { return x.Times } return 0 } func (x *ASSrvCtrlNotice) GetInterval() int32 { if x != nil { return x.Interval } return 0 } func (x *ASSrvCtrlNotice) GetNotice() string { if x != nil { return x.Notice } return "" } type SASrvCtrlNotice struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Tag TagCode `protobuf:"varint,1,opt,name=Tag,proto3,enum=webapi.TagCode" json:"Tag,omitempty"` //错误码 Msg string `protobuf:"bytes,2,opt,name=Msg,proto3" json:"Msg,omitempty"` //错误信息(选填) } func (x *SASrvCtrlNotice) Reset() { *x = SASrvCtrlNotice{} if protoimpl.UnsafeEnabled { mi := &file_protocol_webapi_webapi_proto_msgTypes[69] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *SASrvCtrlNotice) String() string { return protoimpl.X.MessageStringOf(x) } func (*SASrvCtrlNotice) ProtoMessage() {} func (x *SASrvCtrlNotice) ProtoReflect() protoreflect.Message { mi := &file_protocol_webapi_webapi_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 SASrvCtrlNotice.ProtoReflect.Descriptor instead. func (*SASrvCtrlNotice) Descriptor() ([]byte, []int) { return file_protocol_webapi_webapi_proto_rawDescGZIP(), []int{69} } func (x *SASrvCtrlNotice) GetTag() TagCode { if x != nil { return x.Tag } return TagCode_UNKNOWN } func (x *SASrvCtrlNotice) GetMsg() string { if x != nil { return x.Msg } return "" } //执行脚本 // [action] /api/Ctrl/SrvCtrlStartScript type ASSrvCtrlStartScript struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields } func (x *ASSrvCtrlStartScript) Reset() { *x = ASSrvCtrlStartScript{} if protoimpl.UnsafeEnabled { mi := &file_protocol_webapi_webapi_proto_msgTypes[70] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ASSrvCtrlStartScript) String() string { return protoimpl.X.MessageStringOf(x) } func (*ASSrvCtrlStartScript) ProtoMessage() {} func (x *ASSrvCtrlStartScript) ProtoReflect() protoreflect.Message { mi := &file_protocol_webapi_webapi_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 ASSrvCtrlStartScript.ProtoReflect.Descriptor instead. func (*ASSrvCtrlStartScript) Descriptor() ([]byte, []int) { return file_protocol_webapi_webapi_proto_rawDescGZIP(), []int{70} } type SASrvCtrlStartScript struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Tag TagCode `protobuf:"varint,1,opt,name=Tag,proto3,enum=webapi.TagCode" json:"Tag,omitempty"` //错误码 Msg string `protobuf:"bytes,2,opt,name=Msg,proto3" json:"Msg,omitempty"` //错误信息(选填) } func (x *SASrvCtrlStartScript) Reset() { *x = SASrvCtrlStartScript{} if protoimpl.UnsafeEnabled { mi := &file_protocol_webapi_webapi_proto_msgTypes[71] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *SASrvCtrlStartScript) String() string { return protoimpl.X.MessageStringOf(x) } func (*SASrvCtrlStartScript) ProtoMessage() {} func (x *SASrvCtrlStartScript) ProtoReflect() protoreflect.Message { mi := &file_protocol_webapi_webapi_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 SASrvCtrlStartScript.ProtoReflect.Descriptor instead. func (*SASrvCtrlStartScript) Descriptor() ([]byte, []int) { return file_protocol_webapi_webapi_proto_rawDescGZIP(), []int{71} } func (x *SASrvCtrlStartScript) GetTag() TagCode { if x != nil { return x.Tag } return TagCode_UNKNOWN } func (x *SASrvCtrlStartScript) GetMsg() string { if x != nil { return x.Msg } return "" } //显示各个服务器状态 // [action] /api/Ctrl/ListServerStates type ASListServerStates struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields SrvId int32 `protobuf:"varint,1,opt,name=SrvId,proto3" json:"SrvId,omitempty"` SrvType int32 `protobuf:"varint,2,opt,name=SrvType,proto3" json:"SrvType,omitempty"` } func (x *ASListServerStates) Reset() { *x = ASListServerStates{} if protoimpl.UnsafeEnabled { mi := &file_protocol_webapi_webapi_proto_msgTypes[72] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ASListServerStates) String() string { return protoimpl.X.MessageStringOf(x) } func (*ASListServerStates) ProtoMessage() {} func (x *ASListServerStates) ProtoReflect() protoreflect.Message { mi := &file_protocol_webapi_webapi_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 ASListServerStates.ProtoReflect.Descriptor instead. func (*ASListServerStates) Descriptor() ([]byte, []int) { return file_protocol_webapi_webapi_proto_rawDescGZIP(), []int{72} } func (x *ASListServerStates) GetSrvId() int32 { if x != nil { return x.SrvId } return 0 } func (x *ASListServerStates) GetSrvType() int32 { if x != nil { return x.SrvType } return 0 } type SAListServerStates struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Tag TagCode `protobuf:"varint,1,opt,name=Tag,proto3,enum=webapi.TagCode" json:"Tag,omitempty"` //错误码 Msg string `protobuf:"bytes,2,opt,name=Msg,proto3" json:"Msg,omitempty"` //错误信息(选填) ServerInfo []*ServerInfo `protobuf:"bytes,3,rep,name=ServerInfo,proto3" json:"ServerInfo,omitempty"` } func (x *SAListServerStates) Reset() { *x = SAListServerStates{} if protoimpl.UnsafeEnabled { mi := &file_protocol_webapi_webapi_proto_msgTypes[73] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *SAListServerStates) String() string { return protoimpl.X.MessageStringOf(x) } func (*SAListServerStates) ProtoMessage() {} func (x *SAListServerStates) ProtoReflect() protoreflect.Message { mi := &file_protocol_webapi_webapi_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 SAListServerStates.ProtoReflect.Descriptor instead. func (*SAListServerStates) Descriptor() ([]byte, []int) { return file_protocol_webapi_webapi_proto_rawDescGZIP(), []int{73} } func (x *SAListServerStates) GetTag() TagCode { if x != nil { return x.Tag } return TagCode_UNKNOWN } func (x *SAListServerStates) GetMsg() string { if x != nil { return x.Msg } return "" } func (x *SAListServerStates) GetServerInfo() []*ServerInfo { if x != nil { return x.ServerInfo } return nil } //切换状态 // [action] /api/Ctrl/ServerStateSwitch type ASServerStateSwitch struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields SrvId int32 `protobuf:"varint,1,opt,name=SrvId,proto3" json:"SrvId,omitempty"` SrvType int32 `protobuf:"varint,2,opt,name=SrvType,proto3" json:"SrvType,omitempty"` //4.网管 6.大厅.7游戏 } func (x *ASServerStateSwitch) Reset() { *x = ASServerStateSwitch{} if protoimpl.UnsafeEnabled { mi := &file_protocol_webapi_webapi_proto_msgTypes[74] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ASServerStateSwitch) String() string { return protoimpl.X.MessageStringOf(x) } func (*ASServerStateSwitch) ProtoMessage() {} func (x *ASServerStateSwitch) ProtoReflect() protoreflect.Message { mi := &file_protocol_webapi_webapi_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 ASServerStateSwitch.ProtoReflect.Descriptor instead. func (*ASServerStateSwitch) Descriptor() ([]byte, []int) { return file_protocol_webapi_webapi_proto_rawDescGZIP(), []int{74} } func (x *ASServerStateSwitch) GetSrvId() int32 { if x != nil { return x.SrvId } return 0 } func (x *ASServerStateSwitch) GetSrvType() int32 { if x != nil { return x.SrvType } return 0 } type SAServerStateSwitch struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Tag TagCode `protobuf:"varint,1,opt,name=Tag,proto3,enum=webapi.TagCode" json:"Tag,omitempty"` //错误码 Msg string `protobuf:"bytes,2,opt,name=Msg,proto3" json:"Msg,omitempty"` //错误信息(选填) } func (x *SAServerStateSwitch) Reset() { *x = SAServerStateSwitch{} if protoimpl.UnsafeEnabled { mi := &file_protocol_webapi_webapi_proto_msgTypes[75] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *SAServerStateSwitch) String() string { return protoimpl.X.MessageStringOf(x) } func (*SAServerStateSwitch) ProtoMessage() {} func (x *SAServerStateSwitch) ProtoReflect() protoreflect.Message { mi := &file_protocol_webapi_webapi_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 SAServerStateSwitch.ProtoReflect.Descriptor instead. func (*SAServerStateSwitch) Descriptor() ([]byte, []int) { return file_protocol_webapi_webapi_proto_rawDescGZIP(), []int{75} } func (x *SAServerStateSwitch) GetTag() TagCode { if x != nil { return x.Tag } return TagCode_UNKNOWN } func (x *SAServerStateSwitch) GetMsg() string { if x != nil { return x.Msg } return "" } //重置Etcd 连接和数据 // [action] /api/Ctrl/ResetEtcdData type ASResetEtcdData struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields } func (x *ASResetEtcdData) Reset() { *x = ASResetEtcdData{} if protoimpl.UnsafeEnabled { mi := &file_protocol_webapi_webapi_proto_msgTypes[76] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ASResetEtcdData) String() string { return protoimpl.X.MessageStringOf(x) } func (*ASResetEtcdData) ProtoMessage() {} func (x *ASResetEtcdData) ProtoReflect() protoreflect.Message { mi := &file_protocol_webapi_webapi_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 ASResetEtcdData.ProtoReflect.Descriptor instead. func (*ASResetEtcdData) Descriptor() ([]byte, []int) { return file_protocol_webapi_webapi_proto_rawDescGZIP(), []int{76} } type SAResetEtcdData struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Tag TagCode `protobuf:"varint,1,opt,name=Tag,proto3,enum=webapi.TagCode" json:"Tag,omitempty"` //错误码 Msg string `protobuf:"bytes,2,opt,name=Msg,proto3" json:"Msg,omitempty"` //错误信息(选填) } func (x *SAResetEtcdData) Reset() { *x = SAResetEtcdData{} if protoimpl.UnsafeEnabled { mi := &file_protocol_webapi_webapi_proto_msgTypes[77] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *SAResetEtcdData) String() string { return protoimpl.X.MessageStringOf(x) } func (*SAResetEtcdData) ProtoMessage() {} func (x *SAResetEtcdData) ProtoReflect() protoreflect.Message { mi := &file_protocol_webapi_webapi_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 SAResetEtcdData.ProtoReflect.Descriptor instead. func (*SAResetEtcdData) Descriptor() ([]byte, []int) { return file_protocol_webapi_webapi_proto_rawDescGZIP(), []int{77} } func (x *SAResetEtcdData) GetTag() TagCode { if x != nil { return x.Tag } return TagCode_UNKNOWN } func (x *SAResetEtcdData) GetMsg() string { if x != nil { return x.Msg } return "" } //获取在线统计 //[action] /api/Report/OnlineReportTotal type ASOnlineReportTotal struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Platform string `protobuf:"bytes,1,opt,name=Platform,proto3" json:"Platform,omitempty"` Channel string `protobuf:"bytes,2,opt,name=Channel,proto3" json:"Channel,omitempty"` Promoter string `protobuf:"bytes,3,opt,name=Promoter,proto3" json:"Promoter,omitempty"` } func (x *ASOnlineReportTotal) Reset() { *x = ASOnlineReportTotal{} if protoimpl.UnsafeEnabled { mi := &file_protocol_webapi_webapi_proto_msgTypes[78] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ASOnlineReportTotal) String() string { return protoimpl.X.MessageStringOf(x) } func (*ASOnlineReportTotal) ProtoMessage() {} func (x *ASOnlineReportTotal) ProtoReflect() protoreflect.Message { mi := &file_protocol_webapi_webapi_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 ASOnlineReportTotal.ProtoReflect.Descriptor instead. func (*ASOnlineReportTotal) Descriptor() ([]byte, []int) { return file_protocol_webapi_webapi_proto_rawDescGZIP(), []int{78} } func (x *ASOnlineReportTotal) GetPlatform() string { if x != nil { return x.Platform } return "" } func (x *ASOnlineReportTotal) GetChannel() string { if x != nil { return x.Channel } return "" } func (x *ASOnlineReportTotal) GetPromoter() string { if x != nil { return x.Promoter } return "" } type SAOnlineReportTotal struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Tag TagCode `protobuf:"varint,1,opt,name=Tag,proto3,enum=webapi.TagCode" json:"Tag,omitempty"` //错误码 Msg string `protobuf:"bytes,2,opt,name=Msg,proto3" json:"Msg,omitempty"` //错误信息(选填) OnlineReport *OnlineReport `protobuf:"bytes,3,opt,name=OnlineReport,proto3" json:"OnlineReport,omitempty"` } func (x *SAOnlineReportTotal) Reset() { *x = SAOnlineReportTotal{} if protoimpl.UnsafeEnabled { mi := &file_protocol_webapi_webapi_proto_msgTypes[79] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *SAOnlineReportTotal) String() string { return protoimpl.X.MessageStringOf(x) } func (*SAOnlineReportTotal) ProtoMessage() {} func (x *SAOnlineReportTotal) ProtoReflect() protoreflect.Message { mi := &file_protocol_webapi_webapi_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 SAOnlineReportTotal.ProtoReflect.Descriptor instead. func (*SAOnlineReportTotal) Descriptor() ([]byte, []int) { return file_protocol_webapi_webapi_proto_rawDescGZIP(), []int{79} } func (x *SAOnlineReportTotal) GetTag() TagCode { if x != nil { return x.Tag } return TagCode_UNKNOWN } func (x *SAOnlineReportTotal) GetMsg() string { if x != nil { return x.Msg } return "" } func (x *SAOnlineReportTotal) GetOnlineReport() *OnlineReport { if x != nil { return x.OnlineReport } return nil } /////////////////////////////////////////////////////////////////////////////////////// //加币 // [action] /api/game/AddCoinByIdAndPT type ASAddCoinByIdAndPT struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields ID int32 `protobuf:"varint,1,opt,name=ID,proto3" json:"ID,omitempty"` //玩家id Platform string `protobuf:"bytes,2,opt,name=Platform,proto3" json:"Platform,omitempty"` //平台号 LogType int32 `protobuf:"varint,3,opt,name=LogType,proto3" json:"LogType,omitempty"` //日志类型(金币或者钻石) Gold int64 `protobuf:"varint,4,opt,name=Gold,proto3" json:"Gold,omitempty"` //加币金额 Oper string `protobuf:"bytes,5,opt,name=Oper,proto3" json:"Oper,omitempty"` //操作人 Desc string `protobuf:"bytes,6,opt,name=Desc,proto3" json:"Desc,omitempty"` //remark BillNo int64 `protobuf:"varint,7,opt,name=BillNo,proto3" json:"BillNo,omitempty"` //订单号 Money int64 `protobuf:"varint,8,opt,name=Money,proto3" json:"Money,omitempty"` //充值金额 ShopId int32 `protobuf:"varint,9,opt,name=ShopId,proto3" json:"ShopId,omitempty"` //商品id, 钻石首充双倍获得,用来标记玩家已经充值过了 } func (x *ASAddCoinByIdAndPT) Reset() { *x = ASAddCoinByIdAndPT{} if protoimpl.UnsafeEnabled { mi := &file_protocol_webapi_webapi_proto_msgTypes[80] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ASAddCoinByIdAndPT) String() string { return protoimpl.X.MessageStringOf(x) } func (*ASAddCoinByIdAndPT) ProtoMessage() {} func (x *ASAddCoinByIdAndPT) ProtoReflect() protoreflect.Message { mi := &file_protocol_webapi_webapi_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 ASAddCoinByIdAndPT.ProtoReflect.Descriptor instead. func (*ASAddCoinByIdAndPT) Descriptor() ([]byte, []int) { return file_protocol_webapi_webapi_proto_rawDescGZIP(), []int{80} } func (x *ASAddCoinByIdAndPT) GetID() int32 { if x != nil { return x.ID } return 0 } func (x *ASAddCoinByIdAndPT) GetPlatform() string { if x != nil { return x.Platform } return "" } func (x *ASAddCoinByIdAndPT) GetLogType() int32 { if x != nil { return x.LogType } return 0 } func (x *ASAddCoinByIdAndPT) GetGold() int64 { if x != nil { return x.Gold } return 0 } func (x *ASAddCoinByIdAndPT) GetOper() string { if x != nil { return x.Oper } return "" } func (x *ASAddCoinByIdAndPT) GetDesc() string { if x != nil { return x.Desc } return "" } func (x *ASAddCoinByIdAndPT) GetBillNo() int64 { if x != nil { return x.BillNo } return 0 } func (x *ASAddCoinByIdAndPT) GetMoney() int64 { if x != nil { return x.Money } return 0 } func (x *ASAddCoinByIdAndPT) GetShopId() int32 { if x != nil { return x.ShopId } return 0 } // 返回 type SAAddCoinByIdAndPT struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Tag TagCode `protobuf:"varint,1,opt,name=Tag,proto3,enum=webapi.TagCode" json:"Tag,omitempty"` //错误码 Msg string `protobuf:"bytes,2,opt,name=Msg,proto3" json:"Msg,omitempty"` //错误信息(选填) } func (x *SAAddCoinByIdAndPT) Reset() { *x = SAAddCoinByIdAndPT{} if protoimpl.UnsafeEnabled { mi := &file_protocol_webapi_webapi_proto_msgTypes[81] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *SAAddCoinByIdAndPT) String() string { return protoimpl.X.MessageStringOf(x) } func (*SAAddCoinByIdAndPT) ProtoMessage() {} func (x *SAAddCoinByIdAndPT) ProtoReflect() protoreflect.Message { mi := &file_protocol_webapi_webapi_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 SAAddCoinByIdAndPT.ProtoReflect.Descriptor instead. func (*SAAddCoinByIdAndPT) Descriptor() ([]byte, []int) { return file_protocol_webapi_webapi_proto_rawDescGZIP(), []int{81} } func (x *SAAddCoinByIdAndPT) GetTag() TagCode { if x != nil { return x.Tag } return TagCode_UNKNOWN } func (x *SAAddCoinByIdAndPT) GetMsg() string { if x != nil { return x.Msg } return "" } type JybInfoAward struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields ItemId []*ItemInfo `protobuf:"bytes,1,rep,name=ItemId,proto3" json:"ItemId,omitempty"` // 道具 Coin int64 `protobuf:"varint,2,opt,name=Coin,proto3" json:"Coin,omitempty"` // 金币 Diamond int64 `protobuf:"varint,3,opt,name=Diamond,proto3" json:"Diamond,omitempty"` // 钻石 } func (x *JybInfoAward) Reset() { *x = JybInfoAward{} if protoimpl.UnsafeEnabled { mi := &file_protocol_webapi_webapi_proto_msgTypes[82] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *JybInfoAward) String() string { return protoimpl.X.MessageStringOf(x) } func (*JybInfoAward) ProtoMessage() {} func (x *JybInfoAward) ProtoReflect() protoreflect.Message { mi := &file_protocol_webapi_webapi_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 JybInfoAward.ProtoReflect.Descriptor instead. func (*JybInfoAward) Descriptor() ([]byte, []int) { return file_protocol_webapi_webapi_proto_rawDescGZIP(), []int{82} } func (x *JybInfoAward) GetItemId() []*ItemInfo { if x != nil { return x.ItemId } return nil } func (x *JybInfoAward) GetCoin() int64 { if x != nil { return x.Coin } return 0 } func (x *JybInfoAward) GetDiamond() int64 { if x != nil { return x.Diamond } return 0 } //生成兑换码 // [action] /api/game/CreateJYB type ASCreateJYB struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Platform string `protobuf:"bytes,1,opt,name=Platform,proto3" json:"Platform,omitempty"` // 平台 Name string `protobuf:"bytes,2,opt,name=Name,proto3" json:"Name,omitempty"` // 礼包名称 StartTime int64 `protobuf:"varint,3,opt,name=StartTime,proto3" json:"StartTime,omitempty"` // 开始时间 Unix EndTime int64 `protobuf:"varint,4,opt,name=EndTime,proto3" json:"EndTime,omitempty"` // 结束时间 Content string `protobuf:"bytes,5,opt,name=Content,proto3" json:"Content,omitempty"` // 礼包内容 Max int32 `protobuf:"varint,6,opt,name=Max,proto3" json:"Max,omitempty"` // 总个数 Receive int32 `protobuf:"varint,7,opt,name=Receive,proto3" json:"Receive,omitempty"` // 领取个数 Code string `protobuf:"bytes,8,opt,name=Code,proto3" json:"Code,omitempty"` // 礼包码 Award *JybInfoAward `protobuf:"bytes,9,opt,name=Award,proto3" json:"Award,omitempty"` // 礼包内东西 CodeLen int32 `protobuf:"varint,10,opt,name=CodeLen,proto3" json:"CodeLen,omitempty"` // 礼包码长度 不能低于12位 CodeType int32 `protobuf:"varint,11,opt,name=CodeType,proto3" json:"CodeType,omitempty"` // 礼包类型 1 通用 2 特殊 } func (x *ASCreateJYB) Reset() { *x = ASCreateJYB{} if protoimpl.UnsafeEnabled { mi := &file_protocol_webapi_webapi_proto_msgTypes[83] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ASCreateJYB) String() string { return protoimpl.X.MessageStringOf(x) } func (*ASCreateJYB) ProtoMessage() {} func (x *ASCreateJYB) ProtoReflect() protoreflect.Message { mi := &file_protocol_webapi_webapi_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 ASCreateJYB.ProtoReflect.Descriptor instead. func (*ASCreateJYB) Descriptor() ([]byte, []int) { return file_protocol_webapi_webapi_proto_rawDescGZIP(), []int{83} } func (x *ASCreateJYB) GetPlatform() string { if x != nil { return x.Platform } return "" } func (x *ASCreateJYB) GetName() string { if x != nil { return x.Name } return "" } func (x *ASCreateJYB) GetStartTime() int64 { if x != nil { return x.StartTime } return 0 } func (x *ASCreateJYB) GetEndTime() int64 { if x != nil { return x.EndTime } return 0 } func (x *ASCreateJYB) GetContent() string { if x != nil { return x.Content } return "" } func (x *ASCreateJYB) GetMax() int32 { if x != nil { return x.Max } return 0 } func (x *ASCreateJYB) GetReceive() int32 { if x != nil { return x.Receive } return 0 } func (x *ASCreateJYB) GetCode() string { if x != nil { return x.Code } return "" } func (x *ASCreateJYB) GetAward() *JybInfoAward { if x != nil { return x.Award } return nil } func (x *ASCreateJYB) GetCodeLen() int32 { if x != nil { return x.CodeLen } return 0 } func (x *ASCreateJYB) GetCodeType() int32 { if x != nil { return x.CodeType } return 0 } // 返回 type SACreateJYB struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Tag TagCode `protobuf:"varint,1,opt,name=Tag,proto3,enum=webapi.TagCode" json:"Tag,omitempty"` //错误码 Msg string `protobuf:"bytes,2,opt,name=Msg,proto3" json:"Msg,omitempty"` //错误信息(选填) } func (x *SACreateJYB) Reset() { *x = SACreateJYB{} if protoimpl.UnsafeEnabled { mi := &file_protocol_webapi_webapi_proto_msgTypes[84] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *SACreateJYB) String() string { return protoimpl.X.MessageStringOf(x) } func (*SACreateJYB) ProtoMessage() {} func (x *SACreateJYB) ProtoReflect() protoreflect.Message { mi := &file_protocol_webapi_webapi_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 SACreateJYB.ProtoReflect.Descriptor instead. func (*SACreateJYB) Descriptor() ([]byte, []int) { return file_protocol_webapi_webapi_proto_rawDescGZIP(), []int{84} } func (x *SACreateJYB) GetTag() TagCode { if x != nil { return x.Tag } return TagCode_UNKNOWN } func (x *SACreateJYB) GetMsg() string { if x != nil { return x.Msg } return "" } //操作兑换码 删除 修改 // [action] /api/game/UpdateJYB type ASUpdateJYB struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Platform string `protobuf:"bytes,1,opt,name=Platform,proto3" json:"Platform,omitempty"` // 平台 JYBID string `protobuf:"bytes,2,opt,name=JYBID,proto3" json:"JYBID,omitempty"` // 礼包ID Opration int32 `protobuf:"varint,3,opt,name=Opration,proto3" json:"Opration,omitempty"` // 操作 1 删除 } func (x *ASUpdateJYB) Reset() { *x = ASUpdateJYB{} if protoimpl.UnsafeEnabled { mi := &file_protocol_webapi_webapi_proto_msgTypes[85] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ASUpdateJYB) String() string { return protoimpl.X.MessageStringOf(x) } func (*ASUpdateJYB) ProtoMessage() {} func (x *ASUpdateJYB) ProtoReflect() protoreflect.Message { mi := &file_protocol_webapi_webapi_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 ASUpdateJYB.ProtoReflect.Descriptor instead. func (*ASUpdateJYB) Descriptor() ([]byte, []int) { return file_protocol_webapi_webapi_proto_rawDescGZIP(), []int{85} } func (x *ASUpdateJYB) GetPlatform() string { if x != nil { return x.Platform } return "" } func (x *ASUpdateJYB) GetJYBID() string { if x != nil { return x.JYBID } return "" } func (x *ASUpdateJYB) GetOpration() int32 { if x != nil { return x.Opration } return 0 } // 返回 type SAUpdateJYB struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Tag TagCode `protobuf:"varint,1,opt,name=Tag,proto3,enum=webapi.TagCode" json:"Tag,omitempty"` //错误码 Msg string `protobuf:"bytes,2,opt,name=Msg,proto3" json:"Msg,omitempty"` //错误信息(选填) } func (x *SAUpdateJYB) Reset() { *x = SAUpdateJYB{} if protoimpl.UnsafeEnabled { mi := &file_protocol_webapi_webapi_proto_msgTypes[86] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *SAUpdateJYB) String() string { return protoimpl.X.MessageStringOf(x) } func (*SAUpdateJYB) ProtoMessage() {} func (x *SAUpdateJYB) ProtoReflect() protoreflect.Message { mi := &file_protocol_webapi_webapi_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 SAUpdateJYB.ProtoReflect.Descriptor instead. func (*SAUpdateJYB) Descriptor() ([]byte, []int) { return file_protocol_webapi_webapi_proto_rawDescGZIP(), []int{86} } func (x *SAUpdateJYB) GetTag() TagCode { if x != nil { return x.Tag } return TagCode_UNKNOWN } func (x *SAUpdateJYB) GetMsg() string { if x != nil { return x.Msg } return "" } //创建订单 type ASCreatePayOrder struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Snid int32 `protobuf:"varint,1,opt,name=Snid,proto3" json:"Snid,omitempty"` //用户id Platform int32 `protobuf:"varint,2,opt,name=Platform,proto3" json:"Platform,omitempty"` //平台id Price int32 `protobuf:"varint,3,opt,name=Price,proto3" json:"Price,omitempty"` //订单金额 Os int32 `protobuf:"varint,4,opt,name=Os,proto3" json:"Os,omitempty"` //操作系统 BeforeCoin int64 `protobuf:"varint,5,opt,name=BeforeCoin,proto3" json:"BeforeCoin,omitempty"` //充值前钻石数量 Ip string `protobuf:"bytes,6,opt,name=Ip,proto3" json:"Ip,omitempty"` //充值ip Ext string `protobuf:"bytes,7,opt,name=Ext,proto3" json:"Ext,omitempty"` // PackageTag string `protobuf:"bytes,8,opt,name=PackageTag,proto3" json:"PackageTag,omitempty"` //包标识 DiviceId string `protobuf:"bytes,9,opt,name=DiviceId,proto3" json:"DiviceId,omitempty"` //设备id } func (x *ASCreatePayOrder) Reset() { *x = ASCreatePayOrder{} if protoimpl.UnsafeEnabled { mi := &file_protocol_webapi_webapi_proto_msgTypes[87] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ASCreatePayOrder) String() string { return protoimpl.X.MessageStringOf(x) } func (*ASCreatePayOrder) ProtoMessage() {} func (x *ASCreatePayOrder) ProtoReflect() protoreflect.Message { mi := &file_protocol_webapi_webapi_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 ASCreatePayOrder.ProtoReflect.Descriptor instead. func (*ASCreatePayOrder) Descriptor() ([]byte, []int) { return file_protocol_webapi_webapi_proto_rawDescGZIP(), []int{87} } func (x *ASCreatePayOrder) GetSnid() int32 { if x != nil { return x.Snid } return 0 } func (x *ASCreatePayOrder) GetPlatform() int32 { if x != nil { return x.Platform } return 0 } func (x *ASCreatePayOrder) GetPrice() int32 { if x != nil { return x.Price } return 0 } func (x *ASCreatePayOrder) GetOs() int32 { if x != nil { return x.Os } return 0 } func (x *ASCreatePayOrder) GetBeforeCoin() int64 { if x != nil { return x.BeforeCoin } return 0 } func (x *ASCreatePayOrder) GetIp() string { if x != nil { return x.Ip } return "" } func (x *ASCreatePayOrder) GetExt() string { if x != nil { return x.Ext } return "" } func (x *ASCreatePayOrder) GetPackageTag() string { if x != nil { return x.PackageTag } return "" } func (x *ASCreatePayOrder) GetDiviceId() string { if x != nil { return x.DiviceId } return "" } type ReturnCPO struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Url string `protobuf:"bytes,1,opt,name=Url,proto3" json:"Url,omitempty"` //链接 Err string `protobuf:"bytes,2,opt,name=Err,proto3" json:"Err,omitempty"` //错误信息 } func (x *ReturnCPO) Reset() { *x = ReturnCPO{} if protoimpl.UnsafeEnabled { mi := &file_protocol_webapi_webapi_proto_msgTypes[88] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ReturnCPO) String() string { return protoimpl.X.MessageStringOf(x) } func (*ReturnCPO) ProtoMessage() {} func (x *ReturnCPO) ProtoReflect() protoreflect.Message { mi := &file_protocol_webapi_webapi_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 ReturnCPO.ProtoReflect.Descriptor instead. func (*ReturnCPO) Descriptor() ([]byte, []int) { return file_protocol_webapi_webapi_proto_rawDescGZIP(), []int{88} } func (x *ReturnCPO) GetUrl() string { if x != nil { return x.Url } return "" } func (x *ReturnCPO) GetErr() string { if x != nil { return x.Err } return "" } type SACreatePayOrder struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Tag TagCode `protobuf:"varint,1,opt,name=Tag,proto3,enum=webapi.TagCode" json:"Tag,omitempty"` //错误码 ReturnCPO *ReturnCPO `protobuf:"bytes,2,opt,name=ReturnCPO,proto3" json:"ReturnCPO,omitempty"` } func (x *SACreatePayOrder) Reset() { *x = SACreatePayOrder{} if protoimpl.UnsafeEnabled { mi := &file_protocol_webapi_webapi_proto_msgTypes[89] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *SACreatePayOrder) String() string { return protoimpl.X.MessageStringOf(x) } func (*SACreatePayOrder) ProtoMessage() {} func (x *SACreatePayOrder) ProtoReflect() protoreflect.Message { mi := &file_protocol_webapi_webapi_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 SACreatePayOrder.ProtoReflect.Descriptor instead. func (*SACreatePayOrder) Descriptor() ([]byte, []int) { return file_protocol_webapi_webapi_proto_rawDescGZIP(), []int{89} } func (x *SACreatePayOrder) GetTag() TagCode { if x != nil { return x.Tag } return TagCode_UNKNOWN } func (x *SACreatePayOrder) GetReturnCPO() *ReturnCPO { if x != nil { return x.ReturnCPO } return nil } //创建交易订单game_srv/create_exchange_order type ASCreateExchangeOrder struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Snid int32 `protobuf:"varint,1,opt,name=Snid,proto3" json:"Snid,omitempty"` //用户id Platform string `protobuf:"bytes,2,opt,name=Platform,proto3" json:"Platform,omitempty"` //用户id Type int32 `protobuf:"varint,3,opt,name=Type,proto3" json:"Type,omitempty"` //商品类型 GoodsId int32 `protobuf:"varint,4,opt,name=GoodsId,proto3" json:"GoodsId,omitempty"` //商品ID VCard int32 `protobuf:"varint,5,opt,name=VCard,proto3" json:"VCard,omitempty"` //消耗V卡 GoodsName string `protobuf:"bytes,6,opt,name=GoodsName,proto3" json:"GoodsName,omitempty"` //兑换物品名称 UserName string `protobuf:"bytes,7,opt,name=UserName,proto3" json:"UserName,omitempty"` //兑换人姓名 Mobile string `protobuf:"bytes,8,opt,name=Mobile,proto3" json:"Mobile,omitempty"` //兑换人手机号 Comment string `protobuf:"bytes,9,opt,name=Comment,proto3" json:"Comment,omitempty"` //备注信息 JPrice int32 `protobuf:"varint,10,opt,name=JPrice,proto3" json:"JPrice,omitempty"` //消耗金券 Cash int32 `protobuf:"varint,11,opt,name=Cash,proto3" json:"Cash,omitempty"` //消耗现金 Amount int32 `protobuf:"varint,12,opt,name=Amount,proto3" json:"Amount,omitempty"` //兑换数量 ExchangeType int32 `protobuf:"varint,13,opt,name=ExchangeType,proto3" json:"ExchangeType,omitempty"` GiveType int32 `protobuf:"varint,14,opt,name=GiveType,proto3" json:"GiveType,omitempty"` // 领取方式 1自提 TelCharge int32 `protobuf:"varint,15,opt,name=TelCharge,proto3" json:"TelCharge,omitempty"` // 电话充值 VipLevel int32 `protobuf:"varint,16,opt,name=VipLevel,proto3" json:"VipLevel,omitempty"` //VIP等级 TelId int32 `protobuf:"varint,17,opt,name=TelId,proto3" json:"TelId,omitempty"` //运营商ID DPrice int32 `protobuf:"varint,18,opt,name=DPrice,proto3" json:"DPrice,omitempty"` //消耗娃娃积分 } func (x *ASCreateExchangeOrder) Reset() { *x = ASCreateExchangeOrder{} if protoimpl.UnsafeEnabled { mi := &file_protocol_webapi_webapi_proto_msgTypes[90] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ASCreateExchangeOrder) String() string { return protoimpl.X.MessageStringOf(x) } func (*ASCreateExchangeOrder) ProtoMessage() {} func (x *ASCreateExchangeOrder) ProtoReflect() protoreflect.Message { mi := &file_protocol_webapi_webapi_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 ASCreateExchangeOrder.ProtoReflect.Descriptor instead. func (*ASCreateExchangeOrder) Descriptor() ([]byte, []int) { return file_protocol_webapi_webapi_proto_rawDescGZIP(), []int{90} } func (x *ASCreateExchangeOrder) GetSnid() int32 { if x != nil { return x.Snid } return 0 } func (x *ASCreateExchangeOrder) GetPlatform() string { if x != nil { return x.Platform } return "" } func (x *ASCreateExchangeOrder) GetType() int32 { if x != nil { return x.Type } return 0 } func (x *ASCreateExchangeOrder) GetGoodsId() int32 { if x != nil { return x.GoodsId } return 0 } func (x *ASCreateExchangeOrder) GetVCard() int32 { if x != nil { return x.VCard } return 0 } func (x *ASCreateExchangeOrder) GetGoodsName() string { if x != nil { return x.GoodsName } return "" } func (x *ASCreateExchangeOrder) GetUserName() string { if x != nil { return x.UserName } return "" } func (x *ASCreateExchangeOrder) GetMobile() string { if x != nil { return x.Mobile } return "" } func (x *ASCreateExchangeOrder) GetComment() string { if x != nil { return x.Comment } return "" } func (x *ASCreateExchangeOrder) GetJPrice() int32 { if x != nil { return x.JPrice } return 0 } func (x *ASCreateExchangeOrder) GetCash() int32 { if x != nil { return x.Cash } return 0 } func (x *ASCreateExchangeOrder) GetAmount() int32 { if x != nil { return x.Amount } return 0 } func (x *ASCreateExchangeOrder) GetExchangeType() int32 { if x != nil { return x.ExchangeType } return 0 } func (x *ASCreateExchangeOrder) GetGiveType() int32 { if x != nil { return x.GiveType } return 0 } func (x *ASCreateExchangeOrder) GetTelCharge() int32 { if x != nil { return x.TelCharge } return 0 } func (x *ASCreateExchangeOrder) GetVipLevel() int32 { if x != nil { return x.VipLevel } return 0 } func (x *ASCreateExchangeOrder) GetTelId() int32 { if x != nil { return x.TelId } return 0 } func (x *ASCreateExchangeOrder) GetDPrice() int32 { if x != nil { return x.DPrice } return 0 } type SACreateExchangeOrder struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Tag TagCode `protobuf:"varint,1,opt,name=Tag,proto3,enum=webapi.TagCode" json:"Tag,omitempty"` //错误码 ReturnCPO *ReturnCPO `protobuf:"bytes,2,opt,name=ReturnCPO,proto3" json:"ReturnCPO,omitempty"` Items []*ItemInfo `protobuf:"bytes,3,rep,name=Items,proto3" json:"Items,omitempty"` // 道具变化 TelCode string `protobuf:"bytes,4,opt,name=TelCode,proto3" json:"TelCode,omitempty"` // 手机兑换码 } func (x *SACreateExchangeOrder) Reset() { *x = SACreateExchangeOrder{} if protoimpl.UnsafeEnabled { mi := &file_protocol_webapi_webapi_proto_msgTypes[91] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *SACreateExchangeOrder) String() string { return protoimpl.X.MessageStringOf(x) } func (*SACreateExchangeOrder) ProtoMessage() {} func (x *SACreateExchangeOrder) ProtoReflect() protoreflect.Message { mi := &file_protocol_webapi_webapi_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 SACreateExchangeOrder.ProtoReflect.Descriptor instead. func (*SACreateExchangeOrder) Descriptor() ([]byte, []int) { return file_protocol_webapi_webapi_proto_rawDescGZIP(), []int{91} } func (x *SACreateExchangeOrder) GetTag() TagCode { if x != nil { return x.Tag } return TagCode_UNKNOWN } func (x *SACreateExchangeOrder) GetReturnCPO() *ReturnCPO { if x != nil { return x.ReturnCPO } return nil } func (x *SACreateExchangeOrder) GetItems() []*ItemInfo { if x != nil { return x.Items } return nil } func (x *SACreateExchangeOrder) GetTelCode() string { if x != nil { return x.TelCode } return "" } //获取交易订单game_srv/get_exchange_order type ASGetExchangeOrder struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Snid int32 `protobuf:"varint,1,opt,name=Snid,proto3" json:"Snid,omitempty"` //用户id Platform string `protobuf:"bytes,2,opt,name=Platform,proto3" json:"Platform,omitempty"` //平台id Page int32 `protobuf:"varint,3,opt,name=page,proto3" json:"page,omitempty"` } func (x *ASGetExchangeOrder) Reset() { *x = ASGetExchangeOrder{} if protoimpl.UnsafeEnabled { mi := &file_protocol_webapi_webapi_proto_msgTypes[92] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ASGetExchangeOrder) String() string { return protoimpl.X.MessageStringOf(x) } func (*ASGetExchangeOrder) ProtoMessage() {} func (x *ASGetExchangeOrder) ProtoReflect() protoreflect.Message { mi := &file_protocol_webapi_webapi_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 ASGetExchangeOrder.ProtoReflect.Descriptor instead. func (*ASGetExchangeOrder) Descriptor() ([]byte, []int) { return file_protocol_webapi_webapi_proto_rawDescGZIP(), []int{92} } func (x *ASGetExchangeOrder) GetSnid() int32 { if x != nil { return x.Snid } return 0 } func (x *ASGetExchangeOrder) GetPlatform() string { if x != nil { return x.Platform } return "" } func (x *ASGetExchangeOrder) GetPage() int32 { if x != nil { return x.Page } return 0 } type ExchangeOrderInfo struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Id int32 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"` //订单id Type int32 `protobuf:"varint,2,opt,name=Type,proto3" json:"Type,omitempty"` //类型 Status int32 `protobuf:"varint,3,opt,name=Status,proto3" json:"Status,omitempty"` //状态 CreateTime int64 `protobuf:"varint,4,opt,name=CreateTime,proto3" json:"CreateTime,omitempty"` //创建时间 GoodsId int32 `protobuf:"varint,5,opt,name=GoodsId,proto3" json:"GoodsId,omitempty"` //商品ID Name string `protobuf:"bytes,6,opt,name=Name,proto3" json:"Name,omitempty"` // 名称 Remark string `protobuf:"bytes,7,opt,name=Remark,proto3" json:"Remark,omitempty"` // 订单备注 PayStatus bool `protobuf:"varint,8,opt,name=PayStatus,proto3" json:"PayStatus,omitempty"` //订单的现金支付状态 ExchangeNum int32 `protobuf:"varint,9,opt,name=ExchangeNum,proto3" json:"ExchangeNum,omitempty"` //兑换数量 EXchangeType int32 `protobuf:"varint,10,opt,name=EXchangeType,proto3" json:"EXchangeType,omitempty"` //兑换类型 TelId int32 `protobuf:"varint,11,opt,name=TelId,proto3" json:"TelId,omitempty"` //运营商ID } func (x *ExchangeOrderInfo) Reset() { *x = ExchangeOrderInfo{} if protoimpl.UnsafeEnabled { mi := &file_protocol_webapi_webapi_proto_msgTypes[93] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ExchangeOrderInfo) String() string { return protoimpl.X.MessageStringOf(x) } func (*ExchangeOrderInfo) ProtoMessage() {} func (x *ExchangeOrderInfo) ProtoReflect() protoreflect.Message { mi := &file_protocol_webapi_webapi_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 ExchangeOrderInfo.ProtoReflect.Descriptor instead. func (*ExchangeOrderInfo) Descriptor() ([]byte, []int) { return file_protocol_webapi_webapi_proto_rawDescGZIP(), []int{93} } func (x *ExchangeOrderInfo) GetId() int32 { if x != nil { return x.Id } return 0 } func (x *ExchangeOrderInfo) GetType() int32 { if x != nil { return x.Type } return 0 } func (x *ExchangeOrderInfo) GetStatus() int32 { if x != nil { return x.Status } return 0 } func (x *ExchangeOrderInfo) GetCreateTime() int64 { if x != nil { return x.CreateTime } return 0 } func (x *ExchangeOrderInfo) GetGoodsId() int32 { if x != nil { return x.GoodsId } return 0 } func (x *ExchangeOrderInfo) GetName() string { if x != nil { return x.Name } return "" } func (x *ExchangeOrderInfo) GetRemark() string { if x != nil { return x.Remark } return "" } func (x *ExchangeOrderInfo) GetPayStatus() bool { if x != nil { return x.PayStatus } return false } func (x *ExchangeOrderInfo) GetExchangeNum() int32 { if x != nil { return x.ExchangeNum } return 0 } func (x *ExchangeOrderInfo) GetEXchangeType() int32 { if x != nil { return x.EXchangeType } return 0 } func (x *ExchangeOrderInfo) GetTelId() int32 { if x != nil { return x.TelId } return 0 } type SAGetExchangeOrder struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Tag TagCode `protobuf:"varint,1,opt,name=Tag,proto3,enum=webapi.TagCode" json:"Tag,omitempty"` //错误码 Total int32 `protobuf:"varint,2,opt,name=Total,proto3" json:"Total,omitempty"` //总数 CurPage int32 `protobuf:"varint,3,opt,name=CurPage,proto3" json:"CurPage,omitempty"` //当前页 PageLimit int32 `protobuf:"varint,4,opt,name=PageLimit,proto3" json:"PageLimit,omitempty"` //每页条数 PageTotal int32 `protobuf:"varint,5,opt,name=PageTotal,proto3" json:"PageTotal,omitempty"` //总页数 OrderList []*ExchangeOrderInfo `protobuf:"bytes,6,rep,name=OrderList,proto3" json:"OrderList,omitempty"` //订单数据 } func (x *SAGetExchangeOrder) Reset() { *x = SAGetExchangeOrder{} if protoimpl.UnsafeEnabled { mi := &file_protocol_webapi_webapi_proto_msgTypes[94] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *SAGetExchangeOrder) String() string { return protoimpl.X.MessageStringOf(x) } func (*SAGetExchangeOrder) ProtoMessage() {} func (x *SAGetExchangeOrder) ProtoReflect() protoreflect.Message { mi := &file_protocol_webapi_webapi_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 SAGetExchangeOrder.ProtoReflect.Descriptor instead. func (*SAGetExchangeOrder) Descriptor() ([]byte, []int) { return file_protocol_webapi_webapi_proto_rawDescGZIP(), []int{94} } func (x *SAGetExchangeOrder) GetTag() TagCode { if x != nil { return x.Tag } return TagCode_UNKNOWN } func (x *SAGetExchangeOrder) GetTotal() int32 { if x != nil { return x.Total } return 0 } func (x *SAGetExchangeOrder) GetCurPage() int32 { if x != nil { return x.CurPage } return 0 } func (x *SAGetExchangeOrder) GetPageLimit() int32 { if x != nil { return x.PageLimit } return 0 } func (x *SAGetExchangeOrder) GetPageTotal() int32 { if x != nil { return x.PageTotal } return 0 } func (x *SAGetExchangeOrder) GetOrderList() []*ExchangeOrderInfo { if x != nil { return x.OrderList } return nil } //兑换确认 // [action] /api/Customer/UpExchangeStatus type ASUpExchangeStatus struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Status int32 `protobuf:"varint,1,opt,name=Status,proto3" json:"Status,omitempty"` //状态 GoodsId int32 `protobuf:"varint,2,opt,name=GoodsId,proto3" json:"GoodsId,omitempty"` //商品ID Snid int32 `protobuf:"varint,3,opt,name=Snid,proto3" json:"Snid,omitempty"` //用户id Platform string `protobuf:"bytes,4,opt,name=Platform,proto3" json:"Platform,omitempty"` //平台id Name string `protobuf:"bytes,5,opt,name=Name,proto3" json:"Name,omitempty"` //商品名称 NeedNum int32 `protobuf:"varint,6,opt,name=NeedNum,proto3" json:"NeedNum,omitempty"` //消耗V卡 JPrice int32 `protobuf:"varint,7,opt,name=JPrice,proto3" json:"JPrice,omitempty"` //消耗的金券数量 Cash int32 `protobuf:"varint,8,opt,name=Cash,proto3" json:"Cash,omitempty"` //消耗的现金数量 DPrice int32 `protobuf:"varint,9,opt,name=DPrice,proto3" json:"DPrice,omitempty"` //消耗的娃娃积分 } func (x *ASUpExchangeStatus) Reset() { *x = ASUpExchangeStatus{} if protoimpl.UnsafeEnabled { mi := &file_protocol_webapi_webapi_proto_msgTypes[95] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ASUpExchangeStatus) String() string { return protoimpl.X.MessageStringOf(x) } func (*ASUpExchangeStatus) ProtoMessage() {} func (x *ASUpExchangeStatus) ProtoReflect() protoreflect.Message { mi := &file_protocol_webapi_webapi_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 ASUpExchangeStatus.ProtoReflect.Descriptor instead. func (*ASUpExchangeStatus) Descriptor() ([]byte, []int) { return file_protocol_webapi_webapi_proto_rawDescGZIP(), []int{95} } func (x *ASUpExchangeStatus) GetStatus() int32 { if x != nil { return x.Status } return 0 } func (x *ASUpExchangeStatus) GetGoodsId() int32 { if x != nil { return x.GoodsId } return 0 } func (x *ASUpExchangeStatus) GetSnid() int32 { if x != nil { return x.Snid } return 0 } func (x *ASUpExchangeStatus) GetPlatform() string { if x != nil { return x.Platform } return "" } func (x *ASUpExchangeStatus) GetName() string { if x != nil { return x.Name } return "" } func (x *ASUpExchangeStatus) GetNeedNum() int32 { if x != nil { return x.NeedNum } return 0 } func (x *ASUpExchangeStatus) GetJPrice() int32 { if x != nil { return x.JPrice } return 0 } func (x *ASUpExchangeStatus) GetCash() int32 { if x != nil { return x.Cash } return 0 } func (x *ASUpExchangeStatus) GetDPrice() int32 { if x != nil { return x.DPrice } return 0 } // 返回 type SAUpExchangeStatus struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Tag TagCode `protobuf:"varint,1,opt,name=Tag,proto3,enum=webapi.TagCode" json:"Tag,omitempty"` //错误码 Msg string `protobuf:"bytes,2,opt,name=Msg,proto3" json:"Msg,omitempty"` //错误信息(选填) } func (x *SAUpExchangeStatus) Reset() { *x = SAUpExchangeStatus{} if protoimpl.UnsafeEnabled { mi := &file_protocol_webapi_webapi_proto_msgTypes[96] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *SAUpExchangeStatus) String() string { return protoimpl.X.MessageStringOf(x) } func (*SAUpExchangeStatus) ProtoMessage() {} func (x *SAUpExchangeStatus) ProtoReflect() protoreflect.Message { mi := &file_protocol_webapi_webapi_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 SAUpExchangeStatus.ProtoReflect.Descriptor instead. func (*SAUpExchangeStatus) Descriptor() ([]byte, []int) { return file_protocol_webapi_webapi_proto_rawDescGZIP(), []int{96} } func (x *SAUpExchangeStatus) GetTag() TagCode { if x != nil { return x.Tag } return TagCode_UNKNOWN } func (x *SAUpExchangeStatus) GetMsg() string { if x != nil { return x.Msg } return "" } // /game_srv/get_exchange_shop //获取兑换商品信息 type ASGetExchangeShop struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Platform string `protobuf:"bytes,1,opt,name=Platform,proto3" json:"Platform,omitempty"` //平台id Snid int32 `protobuf:"varint,2,opt,name=Snid,proto3" json:"Snid,omitempty"` //用户id } func (x *ASGetExchangeShop) Reset() { *x = ASGetExchangeShop{} if protoimpl.UnsafeEnabled { mi := &file_protocol_webapi_webapi_proto_msgTypes[97] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ASGetExchangeShop) String() string { return protoimpl.X.MessageStringOf(x) } func (*ASGetExchangeShop) ProtoMessage() {} func (x *ASGetExchangeShop) ProtoReflect() protoreflect.Message { mi := &file_protocol_webapi_webapi_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 ASGetExchangeShop.ProtoReflect.Descriptor instead. func (*ASGetExchangeShop) Descriptor() ([]byte, []int) { return file_protocol_webapi_webapi_proto_rawDescGZIP(), []int{97} } func (x *ASGetExchangeShop) GetPlatform() string { if x != nil { return x.Platform } return "" } func (x *ASGetExchangeShop) GetSnid() int32 { if x != nil { return x.Snid } return 0 } type SAGetExchangeShop struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Tag TagCode `protobuf:"varint,1,opt,name=Tag,proto3,enum=webapi.TagCode" json:"Tag,omitempty"` List []*ExchangeShop `protobuf:"bytes,2,rep,name=List,proto3" json:"List,omitempty"` Weight []*ShopWeight `protobuf:"bytes,3,rep,name=Weight,proto3" json:"Weight,omitempty"` //分类排序 } func (x *SAGetExchangeShop) Reset() { *x = SAGetExchangeShop{} if protoimpl.UnsafeEnabled { mi := &file_protocol_webapi_webapi_proto_msgTypes[98] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *SAGetExchangeShop) String() string { return protoimpl.X.MessageStringOf(x) } func (*SAGetExchangeShop) ProtoMessage() {} func (x *SAGetExchangeShop) ProtoReflect() protoreflect.Message { mi := &file_protocol_webapi_webapi_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 SAGetExchangeShop.ProtoReflect.Descriptor instead. func (*SAGetExchangeShop) Descriptor() ([]byte, []int) { return file_protocol_webapi_webapi_proto_rawDescGZIP(), []int{98} } func (x *SAGetExchangeShop) GetTag() TagCode { if x != nil { return x.Tag } return TagCode_UNKNOWN } func (x *SAGetExchangeShop) GetList() []*ExchangeShop { if x != nil { return x.List } return nil } func (x *SAGetExchangeShop) GetWeight() []*ShopWeight { if x != nil { return x.Weight } return nil } //登录rocket/game_srv_third/register_or_login type SARocketLogin struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Snid int64 `protobuf:"varint,1,opt,name=Snid,proto3" json:"Snid,omitempty"` //用户id Amount int64 `protobuf:"varint,2,opt,name=Amount,proto3" json:"Amount,omitempty"` //用户金币 Platform string `protobuf:"bytes,3,opt,name=Platform,proto3" json:"Platform,omitempty"` //用户平台 } func (x *SARocketLogin) Reset() { *x = SARocketLogin{} if protoimpl.UnsafeEnabled { mi := &file_protocol_webapi_webapi_proto_msgTypes[99] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *SARocketLogin) String() string { return protoimpl.X.MessageStringOf(x) } func (*SARocketLogin) ProtoMessage() {} func (x *SARocketLogin) ProtoReflect() protoreflect.Message { mi := &file_protocol_webapi_webapi_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 SARocketLogin.ProtoReflect.Descriptor instead. func (*SARocketLogin) Descriptor() ([]byte, []int) { return file_protocol_webapi_webapi_proto_rawDescGZIP(), []int{99} } func (x *SARocketLogin) GetSnid() int64 { if x != nil { return x.Snid } return 0 } func (x *SARocketLogin) GetAmount() int64 { if x != nil { return x.Amount } return 0 } func (x *SARocketLogin) GetPlatform() string { if x != nil { return x.Platform } return "" } type ASRocketLogin struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Tag int32 `protobuf:"varint,1,opt,name=Tag,proto3" json:"Tag,omitempty"` //错误码 Msg string `protobuf:"bytes,2,opt,name=Msg,proto3" json:"Msg,omitempty"` //返回信息 Url string `protobuf:"bytes,3,opt,name=Url,proto3" json:"Url,omitempty"` //链接 } func (x *ASRocketLogin) Reset() { *x = ASRocketLogin{} if protoimpl.UnsafeEnabled { mi := &file_protocol_webapi_webapi_proto_msgTypes[100] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ASRocketLogin) String() string { return protoimpl.X.MessageStringOf(x) } func (*ASRocketLogin) ProtoMessage() {} func (x *ASRocketLogin) ProtoReflect() protoreflect.Message { mi := &file_protocol_webapi_webapi_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 ASRocketLogin.ProtoReflect.Descriptor instead. func (*ASRocketLogin) Descriptor() ([]byte, []int) { return file_protocol_webapi_webapi_proto_rawDescGZIP(), []int{100} } func (x *ASRocketLogin) GetTag() int32 { if x != nil { return x.Tag } return 0 } func (x *ASRocketLogin) GetMsg() string { if x != nil { return x.Msg } return "" } func (x *ASRocketLogin) GetUrl() string { if x != nil { return x.Url } return "" } //退出rocket/game_srv_third/login_out type SARocketLoginOut struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Snid int64 `protobuf:"varint,1,opt,name=Snid,proto3" json:"Snid,omitempty"` //用户id Platform string `protobuf:"bytes,2,opt,name=Platform,proto3" json:"Platform,omitempty"` //用户平台 } func (x *SARocketLoginOut) Reset() { *x = SARocketLoginOut{} if protoimpl.UnsafeEnabled { mi := &file_protocol_webapi_webapi_proto_msgTypes[101] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *SARocketLoginOut) String() string { return protoimpl.X.MessageStringOf(x) } func (*SARocketLoginOut) ProtoMessage() {} func (x *SARocketLoginOut) ProtoReflect() protoreflect.Message { mi := &file_protocol_webapi_webapi_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 SARocketLoginOut.ProtoReflect.Descriptor instead. func (*SARocketLoginOut) Descriptor() ([]byte, []int) { return file_protocol_webapi_webapi_proto_rawDescGZIP(), []int{101} } func (x *SARocketLoginOut) GetSnid() int64 { if x != nil { return x.Snid } return 0 } func (x *SARocketLoginOut) GetPlatform() string { if x != nil { return x.Platform } return "" } type ASRocketLoginOut struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Tag int32 `protobuf:"varint,1,opt,name=Tag,proto3" json:"Tag,omitempty"` //错误码 Amount int64 `protobuf:"varint,2,opt,name=Amount,proto3" json:"Amount,omitempty"` Msg string `protobuf:"bytes,3,opt,name=Msg,proto3" json:"Msg,omitempty"` //返回信息 } func (x *ASRocketLoginOut) Reset() { *x = ASRocketLoginOut{} if protoimpl.UnsafeEnabled { mi := &file_protocol_webapi_webapi_proto_msgTypes[102] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ASRocketLoginOut) String() string { return protoimpl.X.MessageStringOf(x) } func (*ASRocketLoginOut) ProtoMessage() {} func (x *ASRocketLoginOut) ProtoReflect() protoreflect.Message { mi := &file_protocol_webapi_webapi_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 ASRocketLoginOut.ProtoReflect.Descriptor instead. func (*ASRocketLoginOut) Descriptor() ([]byte, []int) { return file_protocol_webapi_webapi_proto_rawDescGZIP(), []int{102} } func (x *ASRocketLoginOut) GetTag() int32 { if x != nil { return x.Tag } return 0 } func (x *ASRocketLoginOut) GetAmount() int64 { if x != nil { return x.Amount } return 0 } func (x *ASRocketLoginOut) GetMsg() string { if x != nil { return x.Msg } return "" } // /api/thd/UpdatePlayerCoin type ASThdUpdatePlayerCoin struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields BaseGameID int32 `protobuf:"varint,1,opt,name=BaseGameID,proto3" json:"BaseGameID,omitempty"` //三方游戏号 Snid int32 `protobuf:"varint,2,opt,name=Snid,proto3" json:"Snid,omitempty"` //用户id Platform string `protobuf:"bytes,3,opt,name=Platform,proto3" json:"Platform,omitempty"` //平台id } func (x *ASThdUpdatePlayerCoin) Reset() { *x = ASThdUpdatePlayerCoin{} if protoimpl.UnsafeEnabled { mi := &file_protocol_webapi_webapi_proto_msgTypes[103] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ASThdUpdatePlayerCoin) String() string { return protoimpl.X.MessageStringOf(x) } func (*ASThdUpdatePlayerCoin) ProtoMessage() {} func (x *ASThdUpdatePlayerCoin) ProtoReflect() protoreflect.Message { mi := &file_protocol_webapi_webapi_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 ASThdUpdatePlayerCoin.ProtoReflect.Descriptor instead. func (*ASThdUpdatePlayerCoin) Descriptor() ([]byte, []int) { return file_protocol_webapi_webapi_proto_rawDescGZIP(), []int{103} } func (x *ASThdUpdatePlayerCoin) GetBaseGameID() int32 { if x != nil { return x.BaseGameID } return 0 } func (x *ASThdUpdatePlayerCoin) GetSnid() int32 { if x != nil { return x.Snid } return 0 } func (x *ASThdUpdatePlayerCoin) GetPlatform() string { if x != nil { return x.Platform } return "" } // 返回 type SAThdUpdatePlayerCoin struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Tag TagCode `protobuf:"varint,1,opt,name=Tag,proto3,enum=webapi.TagCode" json:"Tag,omitempty"` //错误码 Msg string `protobuf:"bytes,2,opt,name=Msg,proto3" json:"Msg,omitempty"` //错误信息(选填) } func (x *SAThdUpdatePlayerCoin) Reset() { *x = SAThdUpdatePlayerCoin{} if protoimpl.UnsafeEnabled { mi := &file_protocol_webapi_webapi_proto_msgTypes[104] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *SAThdUpdatePlayerCoin) String() string { return protoimpl.X.MessageStringOf(x) } func (*SAThdUpdatePlayerCoin) ProtoMessage() {} func (x *SAThdUpdatePlayerCoin) ProtoReflect() protoreflect.Message { mi := &file_protocol_webapi_webapi_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 SAThdUpdatePlayerCoin.ProtoReflect.Descriptor instead. func (*SAThdUpdatePlayerCoin) Descriptor() ([]byte, []int) { return file_protocol_webapi_webapi_proto_rawDescGZIP(), []int{104} } func (x *SAThdUpdatePlayerCoin) GetTag() TagCode { if x != nil { return x.Tag } return TagCode_UNKNOWN } func (x *SAThdUpdatePlayerCoin) GetMsg() string { if x != nil { return x.Msg } return "" } //订单 type SACreateOrder struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields SnId int32 `protobuf:"varint,1,opt,name=SnId,proto3" json:"SnId,omitempty"` ShopId int32 `protobuf:"varint,2,opt,name=ShopId,proto3" json:"ShopId,omitempty"` Platform string `protobuf:"bytes,3,opt,name=Platform,proto3" json:"Platform,omitempty"` PackageTag string `protobuf:"bytes,4,opt,name=PackageTag,proto3" json:"PackageTag,omitempty"` Os string `protobuf:"bytes,5,opt,name=Os,proto3" json:"Os,omitempty"` DeviceId string `protobuf:"bytes,6,opt,name=DeviceId,proto3" json:"DeviceId,omitempty"` ConfigId int32 `protobuf:"varint,7,opt,name=ConfigId,proto3" json:"ConfigId,omitempty"` ShopName string `protobuf:"bytes,8,opt,name=ShopName,proto3" json:"ShopName,omitempty"` OrderAmount []int32 `protobuf:"varint,9,rep,packed,name=OrderAmount,proto3" json:"OrderAmount,omitempty"` // 0.金币 1.钻石 2.经验 ItemInfo []*ItemInfo `protobuf:"bytes,10,rep,name=ItemInfo,proto3" json:"ItemInfo,omitempty"` //道具 DollarAmount int32 `protobuf:"varint,11,opt,name=DollarAmount,proto3" json:"DollarAmount,omitempty"` OrderId string `protobuf:"bytes,12,opt,name=OrderId,proto3" json:"OrderId,omitempty"` Ts int64 `protobuf:"varint,13,opt,name=Ts,proto3" json:"Ts,omitempty"` ExchangeOrderId string `protobuf:"bytes,14,opt,name=ExchangeOrderId,proto3" json:"ExchangeOrderId,omitempty"` //兑换订单号 Channel string `protobuf:"bytes,15,opt,name=Channel,proto3" json:"Channel,omitempty"` // 渠道 ChannelID string `protobuf:"bytes,16,opt,name=ChannelID,proto3" json:"ChannelID,omitempty"` // 渠道ID BuyType int32 `protobuf:"varint,17,opt,name=BuyType,proto3" json:"BuyType,omitempty"` // 购买类型 } func (x *SACreateOrder) Reset() { *x = SACreateOrder{} if protoimpl.UnsafeEnabled { mi := &file_protocol_webapi_webapi_proto_msgTypes[105] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *SACreateOrder) String() string { return protoimpl.X.MessageStringOf(x) } func (*SACreateOrder) ProtoMessage() {} func (x *SACreateOrder) ProtoReflect() protoreflect.Message { mi := &file_protocol_webapi_webapi_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 SACreateOrder.ProtoReflect.Descriptor instead. func (*SACreateOrder) Descriptor() ([]byte, []int) { return file_protocol_webapi_webapi_proto_rawDescGZIP(), []int{105} } func (x *SACreateOrder) GetSnId() int32 { if x != nil { return x.SnId } return 0 } func (x *SACreateOrder) GetShopId() int32 { if x != nil { return x.ShopId } return 0 } func (x *SACreateOrder) GetPlatform() string { if x != nil { return x.Platform } return "" } func (x *SACreateOrder) GetPackageTag() string { if x != nil { return x.PackageTag } return "" } func (x *SACreateOrder) GetOs() string { if x != nil { return x.Os } return "" } func (x *SACreateOrder) GetDeviceId() string { if x != nil { return x.DeviceId } return "" } func (x *SACreateOrder) GetConfigId() int32 { if x != nil { return x.ConfigId } return 0 } func (x *SACreateOrder) GetShopName() string { if x != nil { return x.ShopName } return "" } func (x *SACreateOrder) GetOrderAmount() []int32 { if x != nil { return x.OrderAmount } return nil } func (x *SACreateOrder) GetItemInfo() []*ItemInfo { if x != nil { return x.ItemInfo } return nil } func (x *SACreateOrder) GetDollarAmount() int32 { if x != nil { return x.DollarAmount } return 0 } func (x *SACreateOrder) GetOrderId() string { if x != nil { return x.OrderId } return "" } func (x *SACreateOrder) GetTs() int64 { if x != nil { return x.Ts } return 0 } func (x *SACreateOrder) GetExchangeOrderId() string { if x != nil { return x.ExchangeOrderId } return "" } func (x *SACreateOrder) GetChannel() string { if x != nil { return x.Channel } return "" } func (x *SACreateOrder) GetChannelID() string { if x != nil { return x.ChannelID } return "" } func (x *SACreateOrder) GetBuyType() int32 { if x != nil { return x.BuyType } return 0 } type ASCreateOrder struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Tag int32 `protobuf:"varint,1,opt,name=Tag,proto3" json:"Tag,omitempty"` //0.成功 1.失败 Msg string `protobuf:"bytes,2,opt,name=Msg,proto3" json:"Msg,omitempty"` //信息 Url string `protobuf:"bytes,3,opt,name=Url,proto3" json:"Url,omitempty"` } func (x *ASCreateOrder) Reset() { *x = ASCreateOrder{} if protoimpl.UnsafeEnabled { mi := &file_protocol_webapi_webapi_proto_msgTypes[106] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ASCreateOrder) String() string { return protoimpl.X.MessageStringOf(x) } func (*ASCreateOrder) ProtoMessage() {} func (x *ASCreateOrder) ProtoReflect() protoreflect.Message { mi := &file_protocol_webapi_webapi_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 ASCreateOrder.ProtoReflect.Descriptor instead. func (*ASCreateOrder) Descriptor() ([]byte, []int) { return file_protocol_webapi_webapi_proto_rawDescGZIP(), []int{106} } func (x *ASCreateOrder) GetTag() int32 { if x != nil { return x.Tag } return 0 } func (x *ASCreateOrder) GetMsg() string { if x != nil { return x.Msg } return "" } func (x *ASCreateOrder) GetUrl() string { if x != nil { return x.Url } return "" } //系统透传 type SAWebAPISystemPass struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Params string `protobuf:"bytes,1,opt,name=Params,proto3" json:"Params,omitempty"` CBData string `protobuf:"bytes,2,opt,name=CBData,proto3" json:"CBData,omitempty"` Ts int64 `protobuf:"varint,3,opt,name=Ts,proto3" json:"Ts,omitempty"` } func (x *SAWebAPISystemPass) Reset() { *x = SAWebAPISystemPass{} if protoimpl.UnsafeEnabled { mi := &file_protocol_webapi_webapi_proto_msgTypes[107] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *SAWebAPISystemPass) String() string { return protoimpl.X.MessageStringOf(x) } func (*SAWebAPISystemPass) ProtoMessage() {} func (x *SAWebAPISystemPass) ProtoReflect() protoreflect.Message { mi := &file_protocol_webapi_webapi_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 SAWebAPISystemPass.ProtoReflect.Descriptor instead. func (*SAWebAPISystemPass) Descriptor() ([]byte, []int) { return file_protocol_webapi_webapi_proto_rawDescGZIP(), []int{107} } func (x *SAWebAPISystemPass) GetParams() string { if x != nil { return x.Params } return "" } func (x *SAWebAPISystemPass) GetCBData() string { if x != nil { return x.CBData } return "" } func (x *SAWebAPISystemPass) GetTs() int64 { if x != nil { return x.Ts } return 0 } type ASWebAPISystemPass struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields OpRetCode int32 `protobuf:"varint,1,opt,name=OpRetCode,proto3" json:"OpRetCode,omitempty"` //操作结果 0.成功 1.失败 ErrMsg string `protobuf:"bytes,2,opt,name=ErrMsg,proto3" json:"ErrMsg,omitempty"` //失败原因 Response string `protobuf:"bytes,3,opt,name=Response,proto3" json:"Response,omitempty"` } func (x *ASWebAPISystemPass) Reset() { *x = ASWebAPISystemPass{} if protoimpl.UnsafeEnabled { mi := &file_protocol_webapi_webapi_proto_msgTypes[108] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ASWebAPISystemPass) String() string { return protoimpl.X.MessageStringOf(x) } func (*ASWebAPISystemPass) ProtoMessage() {} func (x *ASWebAPISystemPass) ProtoReflect() protoreflect.Message { mi := &file_protocol_webapi_webapi_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 ASWebAPISystemPass.ProtoReflect.Descriptor instead. func (*ASWebAPISystemPass) Descriptor() ([]byte, []int) { return file_protocol_webapi_webapi_proto_rawDescGZIP(), []int{108} } func (x *ASWebAPISystemPass) GetOpRetCode() int32 { if x != nil { return x.OpRetCode } return 0 } func (x *ASWebAPISystemPass) GetErrMsg() string { if x != nil { return x.ErrMsg } return "" } func (x *ASWebAPISystemPass) GetResponse() string { if x != nil { return x.Response } return "" } //支付回调 [/api/pay/CallbackPayment] type ASCallbackPayment struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields OrderId string `protobuf:"bytes,1,opt,name=OrderId,proto3" json:"OrderId,omitempty"` //订单id Platform string `protobuf:"bytes,2,opt,name=Platform,proto3" json:"Platform,omitempty"` State int32 `protobuf:"varint,3,opt,name=State,proto3" json:"State,omitempty"` //0.默认 1.支付成功 发货 2.失败 } func (x *ASCallbackPayment) Reset() { *x = ASCallbackPayment{} if protoimpl.UnsafeEnabled { mi := &file_protocol_webapi_webapi_proto_msgTypes[109] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ASCallbackPayment) String() string { return protoimpl.X.MessageStringOf(x) } func (*ASCallbackPayment) ProtoMessage() {} func (x *ASCallbackPayment) ProtoReflect() protoreflect.Message { mi := &file_protocol_webapi_webapi_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 ASCallbackPayment.ProtoReflect.Descriptor instead. func (*ASCallbackPayment) Descriptor() ([]byte, []int) { return file_protocol_webapi_webapi_proto_rawDescGZIP(), []int{109} } func (x *ASCallbackPayment) GetOrderId() string { if x != nil { return x.OrderId } return "" } func (x *ASCallbackPayment) GetPlatform() string { if x != nil { return x.Platform } return "" } func (x *ASCallbackPayment) GetState() int32 { if x != nil { return x.State } return 0 } type SACallbackPayment struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Tag TagCode `protobuf:"varint,1,opt,name=Tag,proto3,enum=webapi.TagCode" json:"Tag,omitempty"` //错误码 Msg string `protobuf:"bytes,2,opt,name=Msg,proto3" json:"Msg,omitempty"` //错误信息(选填) } func (x *SACallbackPayment) Reset() { *x = SACallbackPayment{} if protoimpl.UnsafeEnabled { mi := &file_protocol_webapi_webapi_proto_msgTypes[110] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *SACallbackPayment) String() string { return protoimpl.X.MessageStringOf(x) } func (*SACallbackPayment) ProtoMessage() {} func (x *SACallbackPayment) ProtoReflect() protoreflect.Message { mi := &file_protocol_webapi_webapi_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 SACallbackPayment.ProtoReflect.Descriptor instead. func (*SACallbackPayment) Descriptor() ([]byte, []int) { return file_protocol_webapi_webapi_proto_rawDescGZIP(), []int{110} } func (x *SACallbackPayment) GetTag() TagCode { if x != nil { return x.Tag } return TagCode_UNKNOWN } func (x *SACallbackPayment) GetMsg() string { if x != nil { return x.Msg } return "" } //资源更新通知 [/api/game/resource] type ASResource struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Msg string `protobuf:"bytes,1,opt,name=Msg,proto3" json:"Msg,omitempty"` //信息 } func (x *ASResource) Reset() { *x = ASResource{} if protoimpl.UnsafeEnabled { mi := &file_protocol_webapi_webapi_proto_msgTypes[111] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ASResource) String() string { return protoimpl.X.MessageStringOf(x) } func (*ASResource) ProtoMessage() {} func (x *ASResource) ProtoReflect() protoreflect.Message { mi := &file_protocol_webapi_webapi_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 ASResource.ProtoReflect.Descriptor instead. func (*ASResource) Descriptor() ([]byte, []int) { return file_protocol_webapi_webapi_proto_rawDescGZIP(), []int{111} } func (x *ASResource) GetMsg() string { if x != nil { return x.Msg } return "" } type SAResource struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Tag TagCode `protobuf:"varint,1,opt,name=Tag,proto3,enum=webapi.TagCode" json:"Tag,omitempty"` //错误码 Msg string `protobuf:"bytes,2,opt,name=Msg,proto3" json:"Msg,omitempty"` //错误信息(选填) } func (x *SAResource) Reset() { *x = SAResource{} if protoimpl.UnsafeEnabled { mi := &file_protocol_webapi_webapi_proto_msgTypes[112] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *SAResource) String() string { return protoimpl.X.MessageStringOf(x) } func (*SAResource) ProtoMessage() {} func (x *SAResource) ProtoReflect() protoreflect.Message { mi := &file_protocol_webapi_webapi_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 SAResource.ProtoReflect.Descriptor instead. func (*SAResource) Descriptor() ([]byte, []int) { return file_protocol_webapi_webapi_proto_rawDescGZIP(), []int{112} } func (x *SAResource) GetTag() TagCode { if x != nil { return x.Tag } return TagCode_UNKNOWN } func (x *SAResource) GetMsg() string { if x != nil { return x.Msg } return "" } //发送短信验证码 [/send_sms] type ASSendSms struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Snid int32 `protobuf:"varint,1,opt,name=Snid,proto3" json:"Snid,omitempty"` Phone string `protobuf:"bytes,2,opt,name=Phone,proto3" json:"Phone,omitempty"` // 手机号 Code string `protobuf:"bytes,3,opt,name=Code,proto3" json:"Code,omitempty"` // 验证码 Platform string `protobuf:"bytes,4,opt,name=platform,proto3" json:"platform,omitempty"` // 平台id TypeID int32 `protobuf:"varint,5,opt,name=TypeID,proto3" json:"TypeID,omitempty"` // 类型id,1绑定手机号验证码 2登录验证码 } func (x *ASSendSms) Reset() { *x = ASSendSms{} if protoimpl.UnsafeEnabled { mi := &file_protocol_webapi_webapi_proto_msgTypes[113] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ASSendSms) String() string { return protoimpl.X.MessageStringOf(x) } func (*ASSendSms) ProtoMessage() {} func (x *ASSendSms) ProtoReflect() protoreflect.Message { mi := &file_protocol_webapi_webapi_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 ASSendSms.ProtoReflect.Descriptor instead. func (*ASSendSms) Descriptor() ([]byte, []int) { return file_protocol_webapi_webapi_proto_rawDescGZIP(), []int{113} } func (x *ASSendSms) GetSnid() int32 { if x != nil { return x.Snid } return 0 } func (x *ASSendSms) GetPhone() string { if x != nil { return x.Phone } return "" } func (x *ASSendSms) GetCode() string { if x != nil { return x.Code } return "" } func (x *ASSendSms) GetPlatform() string { if x != nil { return x.Platform } return "" } func (x *ASSendSms) GetTypeID() int32 { if x != nil { return x.TypeID } return 0 } type SASendSms struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Tag TagCode `protobuf:"varint,1,opt,name=Tag,proto3,enum=webapi.TagCode" json:"Tag,omitempty"` //错误码 Msg string `protobuf:"bytes,2,opt,name=Msg,proto3" json:"Msg,omitempty"` //错误信息(选填) } func (x *SASendSms) Reset() { *x = SASendSms{} if protoimpl.UnsafeEnabled { mi := &file_protocol_webapi_webapi_proto_msgTypes[114] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *SASendSms) String() string { return protoimpl.X.MessageStringOf(x) } func (*SASendSms) ProtoMessage() {} func (x *SASendSms) ProtoReflect() protoreflect.Message { mi := &file_protocol_webapi_webapi_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 SASendSms.ProtoReflect.Descriptor instead. func (*SASendSms) Descriptor() ([]byte, []int) { return file_protocol_webapi_webapi_proto_rawDescGZIP(), []int{114} } func (x *SASendSms) GetTag() TagCode { if x != nil { return x.Tag } return TagCode_UNKNOWN } func (x *SASendSms) GetMsg() string { if x != nil { return x.Msg } return "" } //获取比赛奖品话费兑换码 [/get_match_award_code] type ASGetMatchAwardCode struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Platform string `protobuf:"bytes,1,opt,name=platform,proto3" json:"platform,omitempty"` // 平台id Snid int32 `protobuf:"varint,2,opt,name=Snid,proto3" json:"Snid,omitempty"` // 玩家id ItemID int32 `protobuf:"varint,3,opt,name=ItemID,proto3" json:"ItemID,omitempty"` // 道具id Money int64 `protobuf:"varint,4,opt,name=Money,proto3" json:"Money,omitempty"` // 金额 Tel string `protobuf:"bytes,5,opt,name=Tel,proto3" json:"Tel,omitempty"` // 手机号 CardType int32 `protobuf:"varint,6,opt,name=CardType,proto3" json:"CardType,omitempty"` // 手机卡类型 Remark string `protobuf:"bytes,7,opt,name=remark,proto3" json:"remark,omitempty"` //备注信息 } func (x *ASGetMatchAwardCode) Reset() { *x = ASGetMatchAwardCode{} if protoimpl.UnsafeEnabled { mi := &file_protocol_webapi_webapi_proto_msgTypes[115] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ASGetMatchAwardCode) String() string { return protoimpl.X.MessageStringOf(x) } func (*ASGetMatchAwardCode) ProtoMessage() {} func (x *ASGetMatchAwardCode) ProtoReflect() protoreflect.Message { mi := &file_protocol_webapi_webapi_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 ASGetMatchAwardCode.ProtoReflect.Descriptor instead. func (*ASGetMatchAwardCode) Descriptor() ([]byte, []int) { return file_protocol_webapi_webapi_proto_rawDescGZIP(), []int{115} } func (x *ASGetMatchAwardCode) GetPlatform() string { if x != nil { return x.Platform } return "" } func (x *ASGetMatchAwardCode) GetSnid() int32 { if x != nil { return x.Snid } return 0 } func (x *ASGetMatchAwardCode) GetItemID() int32 { if x != nil { return x.ItemID } return 0 } func (x *ASGetMatchAwardCode) GetMoney() int64 { if x != nil { return x.Money } return 0 } func (x *ASGetMatchAwardCode) GetTel() string { if x != nil { return x.Tel } return "" } func (x *ASGetMatchAwardCode) GetCardType() int32 { if x != nil { return x.CardType } return 0 } func (x *ASGetMatchAwardCode) GetRemark() string { if x != nil { return x.Remark } return "" } type SAGetMatchAwardCode struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Tag TagCode `protobuf:"varint,1,opt,name=Tag,proto3,enum=webapi.TagCode" json:"Tag,omitempty"` //错误码 Code string `protobuf:"bytes,2,opt,name=Code,proto3" json:"Code,omitempty"` // 兑换码 Money string `protobuf:"bytes,3,opt,name=Money,proto3" json:"Money,omitempty"` // 金额 Msg string `protobuf:"bytes,4,opt,name=Msg,proto3" json:"Msg,omitempty"` //错误信息(选填) } func (x *SAGetMatchAwardCode) Reset() { *x = SAGetMatchAwardCode{} if protoimpl.UnsafeEnabled { mi := &file_protocol_webapi_webapi_proto_msgTypes[116] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *SAGetMatchAwardCode) String() string { return protoimpl.X.MessageStringOf(x) } func (*SAGetMatchAwardCode) ProtoMessage() {} func (x *SAGetMatchAwardCode) ProtoReflect() protoreflect.Message { mi := &file_protocol_webapi_webapi_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 SAGetMatchAwardCode.ProtoReflect.Descriptor instead. func (*SAGetMatchAwardCode) Descriptor() ([]byte, []int) { return file_protocol_webapi_webapi_proto_rawDescGZIP(), []int{116} } func (x *SAGetMatchAwardCode) GetTag() TagCode { if x != nil { return x.Tag } return TagCode_UNKNOWN } func (x *SAGetMatchAwardCode) GetCode() string { if x != nil { return x.Code } return "" } func (x *SAGetMatchAwardCode) GetMoney() string { if x != nil { return x.Money } return "" } func (x *SAGetMatchAwardCode) GetMsg() string { if x != nil { return x.Msg } return "" } //修改手机号 [/api/player/update_tel] type ASUpdateTel struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Platform string `protobuf:"bytes,1,opt,name=platform,proto3" json:"platform,omitempty"` // 平台id Snid int32 `protobuf:"varint,2,opt,name=Snid,proto3" json:"Snid,omitempty"` // 玩家id Tel string `protobuf:"bytes,3,opt,name=Tel,proto3" json:"Tel,omitempty"` // 手机号(带区号) } func (x *ASUpdateTel) Reset() { *x = ASUpdateTel{} if protoimpl.UnsafeEnabled { mi := &file_protocol_webapi_webapi_proto_msgTypes[117] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ASUpdateTel) String() string { return protoimpl.X.MessageStringOf(x) } func (*ASUpdateTel) ProtoMessage() {} func (x *ASUpdateTel) ProtoReflect() protoreflect.Message { mi := &file_protocol_webapi_webapi_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 ASUpdateTel.ProtoReflect.Descriptor instead. func (*ASUpdateTel) Descriptor() ([]byte, []int) { return file_protocol_webapi_webapi_proto_rawDescGZIP(), []int{117} } func (x *ASUpdateTel) GetPlatform() string { if x != nil { return x.Platform } return "" } func (x *ASUpdateTel) GetSnid() int32 { if x != nil { return x.Snid } return 0 } func (x *ASUpdateTel) GetTel() string { if x != nil { return x.Tel } return "" } type SAUpdateTel struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Tag TagCode `protobuf:"varint,1,opt,name=Tag,proto3,enum=webapi.TagCode" json:"Tag,omitempty"` //错误码 Msg string `protobuf:"bytes,2,opt,name=Msg,proto3" json:"Msg,omitempty"` //错误信息(选填) } func (x *SAUpdateTel) Reset() { *x = SAUpdateTel{} if protoimpl.UnsafeEnabled { mi := &file_protocol_webapi_webapi_proto_msgTypes[118] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *SAUpdateTel) String() string { return protoimpl.X.MessageStringOf(x) } func (*SAUpdateTel) ProtoMessage() {} func (x *SAUpdateTel) ProtoReflect() protoreflect.Message { mi := &file_protocol_webapi_webapi_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 SAUpdateTel.ProtoReflect.Descriptor instead. func (*SAUpdateTel) Descriptor() ([]byte, []int) { return file_protocol_webapi_webapi_proto_rawDescGZIP(), []int{118} } func (x *SAUpdateTel) GetTag() TagCode { if x != nil { return x.Tag } return TagCode_UNKNOWN } func (x *SAUpdateTel) GetMsg() string { if x != nil { return x.Msg } return "" } //获取图片验证码 [/get_img_verify] type ASGetImgVerify struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Tel string `protobuf:"bytes,1,opt,name=Tel,proto3" json:"Tel,omitempty"` // 手机号(带区号) } func (x *ASGetImgVerify) Reset() { *x = ASGetImgVerify{} if protoimpl.UnsafeEnabled { mi := &file_protocol_webapi_webapi_proto_msgTypes[119] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ASGetImgVerify) String() string { return protoimpl.X.MessageStringOf(x) } func (*ASGetImgVerify) ProtoMessage() {} func (x *ASGetImgVerify) ProtoReflect() protoreflect.Message { mi := &file_protocol_webapi_webapi_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 ASGetImgVerify.ProtoReflect.Descriptor instead. func (*ASGetImgVerify) Descriptor() ([]byte, []int) { return file_protocol_webapi_webapi_proto_rawDescGZIP(), []int{119} } func (x *ASGetImgVerify) GetTel() string { if x != nil { return x.Tel } return "" } type SAGetImgVerify struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Tag TagCode `protobuf:"varint,1,opt,name=Tag,proto3,enum=webapi.TagCode" json:"Tag,omitempty"` //错误码 ImageData string `protobuf:"bytes,2,opt,name=ImageData,proto3" json:"ImageData,omitempty"` // 图片 Code string `protobuf:"bytes,3,opt,name=Code,proto3" json:"Code,omitempty"` // 验证码 Msg string `protobuf:"bytes,4,opt,name=Msg,proto3" json:"Msg,omitempty"` //错误信息(选填) } func (x *SAGetImgVerify) Reset() { *x = SAGetImgVerify{} if protoimpl.UnsafeEnabled { mi := &file_protocol_webapi_webapi_proto_msgTypes[120] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *SAGetImgVerify) String() string { return protoimpl.X.MessageStringOf(x) } func (*SAGetImgVerify) ProtoMessage() {} func (x *SAGetImgVerify) ProtoReflect() protoreflect.Message { mi := &file_protocol_webapi_webapi_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 SAGetImgVerify.ProtoReflect.Descriptor instead. func (*SAGetImgVerify) Descriptor() ([]byte, []int) { return file_protocol_webapi_webapi_proto_rawDescGZIP(), []int{120} } func (x *SAGetImgVerify) GetTag() TagCode { if x != nil { return x.Tag } return TagCode_UNKNOWN } func (x *SAGetImgVerify) GetImageData() string { if x != nil { return x.ImageData } return "" } func (x *SAGetImgVerify) GetCode() string { if x != nil { return x.Code } return "" } func (x *SAGetImgVerify) GetMsg() string { if x != nil { return x.Msg } return "" } // 删除账号 [/api/player/delete] type ASPlayerDelete struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Platform string `protobuf:"bytes,1,opt,name=platform,proto3" json:"platform,omitempty"` // 平台id Snid int32 `protobuf:"varint,2,opt,name=Snid,proto3" json:"Snid,omitempty"` // 玩家id } func (x *ASPlayerDelete) Reset() { *x = ASPlayerDelete{} if protoimpl.UnsafeEnabled { mi := &file_protocol_webapi_webapi_proto_msgTypes[121] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ASPlayerDelete) String() string { return protoimpl.X.MessageStringOf(x) } func (*ASPlayerDelete) ProtoMessage() {} func (x *ASPlayerDelete) ProtoReflect() protoreflect.Message { mi := &file_protocol_webapi_webapi_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 ASPlayerDelete.ProtoReflect.Descriptor instead. func (*ASPlayerDelete) Descriptor() ([]byte, []int) { return file_protocol_webapi_webapi_proto_rawDescGZIP(), []int{121} } func (x *ASPlayerDelete) GetPlatform() string { if x != nil { return x.Platform } return "" } func (x *ASPlayerDelete) GetSnid() int32 { if x != nil { return x.Snid } return 0 } type SAPlayerDelete struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Tag TagCode `protobuf:"varint,1,opt,name=Tag,proto3,enum=webapi.TagCode" json:"Tag,omitempty"` //错误码 Msg string `protobuf:"bytes,2,opt,name=Msg,proto3" json:"Msg,omitempty"` //错误信息(选填) } func (x *SAPlayerDelete) Reset() { *x = SAPlayerDelete{} if protoimpl.UnsafeEnabled { mi := &file_protocol_webapi_webapi_proto_msgTypes[122] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *SAPlayerDelete) String() string { return protoimpl.X.MessageStringOf(x) } func (*SAPlayerDelete) ProtoMessage() {} func (x *SAPlayerDelete) ProtoReflect() protoreflect.Message { mi := &file_protocol_webapi_webapi_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 SAPlayerDelete.ProtoReflect.Descriptor instead. func (*SAPlayerDelete) Descriptor() ([]byte, []int) { return file_protocol_webapi_webapi_proto_rawDescGZIP(), []int{122} } func (x *SAPlayerDelete) GetTag() TagCode { if x != nil { return x.Tag } return TagCode_UNKNOWN } func (x *SAPlayerDelete) GetMsg() string { if x != nil { return x.Msg } return "" } // 获取邀请连接 [/get_invite_link] type ASPlayerInviteLink struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Platform string `protobuf:"bytes,1,opt,name=platform,proto3" json:"platform,omitempty"` // 平台id SnId int32 `protobuf:"varint,2,opt,name=SnId,proto3" json:"SnId,omitempty"` // 玩家id } func (x *ASPlayerInviteLink) Reset() { *x = ASPlayerInviteLink{} if protoimpl.UnsafeEnabled { mi := &file_protocol_webapi_webapi_proto_msgTypes[123] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ASPlayerInviteLink) String() string { return protoimpl.X.MessageStringOf(x) } func (*ASPlayerInviteLink) ProtoMessage() {} func (x *ASPlayerInviteLink) ProtoReflect() protoreflect.Message { mi := &file_protocol_webapi_webapi_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 ASPlayerInviteLink.ProtoReflect.Descriptor instead. func (*ASPlayerInviteLink) Descriptor() ([]byte, []int) { return file_protocol_webapi_webapi_proto_rawDescGZIP(), []int{123} } func (x *ASPlayerInviteLink) GetPlatform() string { if x != nil { return x.Platform } return "" } func (x *ASPlayerInviteLink) GetSnId() int32 { if x != nil { return x.SnId } return 0 } type SAPlayerInviteLink struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Tag TagCode `protobuf:"varint,1,opt,name=Tag,proto3,enum=webapi.TagCode" json:"Tag,omitempty"` //错误码 Msg string `protobuf:"bytes,2,opt,name=Msg,proto3" json:"Msg,omitempty"` //错误信息(选填) Link string `protobuf:"bytes,3,opt,name=Link,proto3" json:"Link,omitempty"` // 分享连接 } func (x *SAPlayerInviteLink) Reset() { *x = SAPlayerInviteLink{} if protoimpl.UnsafeEnabled { mi := &file_protocol_webapi_webapi_proto_msgTypes[124] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *SAPlayerInviteLink) String() string { return protoimpl.X.MessageStringOf(x) } func (*SAPlayerInviteLink) ProtoMessage() {} func (x *SAPlayerInviteLink) ProtoReflect() protoreflect.Message { mi := &file_protocol_webapi_webapi_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 SAPlayerInviteLink.ProtoReflect.Descriptor instead. func (*SAPlayerInviteLink) Descriptor() ([]byte, []int) { return file_protocol_webapi_webapi_proto_rawDescGZIP(), []int{124} } func (x *SAPlayerInviteLink) GetTag() TagCode { if x != nil { return x.Tag } return TagCode_UNKNOWN } func (x *SAPlayerInviteLink) GetMsg() string { if x != nil { return x.Msg } return "" } func (x *SAPlayerInviteLink) GetLink() string { if x != nil { return x.Link } return "" } //增加道具 [/api/player/AddItem] type ASAddItemById struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Snid int32 `protobuf:"varint,1,opt,name=Snid,proto3" json:"Snid,omitempty"` // 玩家id Platform string `protobuf:"bytes,2,opt,name=Platform,proto3" json:"Platform,omitempty"` // 平台id ItemInfo []*ItemInfo `protobuf:"bytes,3,rep,name=ItemInfo,proto3" json:"ItemInfo,omitempty"` //道具 TypeId int32 `protobuf:"varint,4,opt,name=TypeId,proto3" json:"TypeId,omitempty"` // 变化类型 Remark string `protobuf:"bytes,5,opt,name=Remark,proto3" json:"Remark,omitempty"` // 描述 } func (x *ASAddItemById) Reset() { *x = ASAddItemById{} if protoimpl.UnsafeEnabled { mi := &file_protocol_webapi_webapi_proto_msgTypes[125] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ASAddItemById) String() string { return protoimpl.X.MessageStringOf(x) } func (*ASAddItemById) ProtoMessage() {} func (x *ASAddItemById) ProtoReflect() protoreflect.Message { mi := &file_protocol_webapi_webapi_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 ASAddItemById.ProtoReflect.Descriptor instead. func (*ASAddItemById) Descriptor() ([]byte, []int) { return file_protocol_webapi_webapi_proto_rawDescGZIP(), []int{125} } func (x *ASAddItemById) GetSnid() int32 { if x != nil { return x.Snid } return 0 } func (x *ASAddItemById) GetPlatform() string { if x != nil { return x.Platform } return "" } func (x *ASAddItemById) GetItemInfo() []*ItemInfo { if x != nil { return x.ItemInfo } return nil } func (x *ASAddItemById) GetTypeId() int32 { if x != nil { return x.TypeId } return 0 } func (x *ASAddItemById) GetRemark() string { if x != nil { return x.Remark } return "" } type SAAddItemById struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Tag TagCode `protobuf:"varint,1,opt,name=Tag,proto3,enum=webapi.TagCode" json:"Tag,omitempty"` //错误码 Msg string `protobuf:"bytes,2,opt,name=Msg,proto3" json:"Msg,omitempty"` //错误信息(选填) } func (x *SAAddItemById) Reset() { *x = SAAddItemById{} if protoimpl.UnsafeEnabled { mi := &file_protocol_webapi_webapi_proto_msgTypes[126] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *SAAddItemById) String() string { return protoimpl.X.MessageStringOf(x) } func (*SAAddItemById) ProtoMessage() {} func (x *SAAddItemById) ProtoReflect() protoreflect.Message { mi := &file_protocol_webapi_webapi_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 SAAddItemById.ProtoReflect.Descriptor instead. func (*SAAddItemById) Descriptor() ([]byte, []int) { return file_protocol_webapi_webapi_proto_rawDescGZIP(), []int{126} } func (x *SAAddItemById) GetTag() TagCode { if x != nil { return x.Tag } return TagCode_UNKNOWN } func (x *SAAddItemById) GetMsg() string { if x != nil { return x.Msg } return "" } //获取运营商配置[/get_SMSConfig] type ASSMSConfig struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Platform string `protobuf:"bytes,1,opt,name=Platform,proto3" json:"Platform,omitempty"` // 平台id SnId int32 `protobuf:"varint,2,opt,name=SnId,proto3" json:"SnId,omitempty"` // 玩家id } func (x *ASSMSConfig) Reset() { *x = ASSMSConfig{} if protoimpl.UnsafeEnabled { mi := &file_protocol_webapi_webapi_proto_msgTypes[127] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ASSMSConfig) String() string { return protoimpl.X.MessageStringOf(x) } func (*ASSMSConfig) ProtoMessage() {} func (x *ASSMSConfig) ProtoReflect() protoreflect.Message { mi := &file_protocol_webapi_webapi_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 ASSMSConfig.ProtoReflect.Descriptor instead. func (*ASSMSConfig) Descriptor() ([]byte, []int) { return file_protocol_webapi_webapi_proto_rawDescGZIP(), []int{127} } func (x *ASSMSConfig) GetPlatform() string { if x != nil { return x.Platform } return "" } func (x *ASSMSConfig) GetSnId() int32 { if x != nil { return x.SnId } return 0 } type SASMSConfig struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Platform string `protobuf:"bytes,1,opt,name=Platform,proto3" json:"Platform,omitempty"` // 平台id SnId int32 `protobuf:"varint,2,opt,name=SnId,proto3" json:"SnId,omitempty"` // 玩家id Info []*SMSInfo `protobuf:"bytes,3,rep,name=Info,proto3" json:"Info,omitempty"` Tag TagCode `protobuf:"varint,4,opt,name=Tag,proto3,enum=webapi.TagCode" json:"Tag,omitempty"` //错误码 Msg string `protobuf:"bytes,5,opt,name=Msg,proto3" json:"Msg,omitempty"` //错误信息(选填) } func (x *SASMSConfig) Reset() { *x = SASMSConfig{} if protoimpl.UnsafeEnabled { mi := &file_protocol_webapi_webapi_proto_msgTypes[128] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *SASMSConfig) String() string { return protoimpl.X.MessageStringOf(x) } func (*SASMSConfig) ProtoMessage() {} func (x *SASMSConfig) ProtoReflect() protoreflect.Message { mi := &file_protocol_webapi_webapi_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 SASMSConfig.ProtoReflect.Descriptor instead. func (*SASMSConfig) Descriptor() ([]byte, []int) { return file_protocol_webapi_webapi_proto_rawDescGZIP(), []int{128} } func (x *SASMSConfig) GetPlatform() string { if x != nil { return x.Platform } return "" } func (x *SASMSConfig) GetSnId() int32 { if x != nil { return x.SnId } return 0 } func (x *SASMSConfig) GetInfo() []*SMSInfo { if x != nil { return x.Info } return nil } func (x *SASMSConfig) GetTag() TagCode { if x != nil { return x.Tag } return TagCode_UNKNOWN } func (x *SASMSConfig) GetMsg() string { if x != nil { return x.Msg } return "" } type SMSInfo struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Id int32 `protobuf:"varint,1,opt,name=Id,proto3" json:"Id,omitempty"` SmsName string `protobuf:"bytes,2,opt,name=SmsName,proto3" json:"SmsName,omitempty"` } func (x *SMSInfo) Reset() { *x = SMSInfo{} if protoimpl.UnsafeEnabled { mi := &file_protocol_webapi_webapi_proto_msgTypes[129] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *SMSInfo) String() string { return protoimpl.X.MessageStringOf(x) } func (*SMSInfo) ProtoMessage() {} func (x *SMSInfo) ProtoReflect() protoreflect.Message { mi := &file_protocol_webapi_webapi_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 SMSInfo.ProtoReflect.Descriptor instead. func (*SMSInfo) Descriptor() ([]byte, []int) { return file_protocol_webapi_webapi_proto_rawDescGZIP(), []int{129} } func (x *SMSInfo) GetId() int32 { if x != nil { return x.Id } return 0 } func (x *SMSInfo) GetSmsName() string { if x != nil { return x.SmsName } return "" } //获取获奖记录 [/get_AwardLog] type ASAwardLog struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Platform string `protobuf:"bytes,1,opt,name=Platform,proto3" json:"Platform,omitempty"` // 平台id SnId int32 `protobuf:"varint,2,opt,name=SnId,proto3" json:"SnId,omitempty"` // 玩家id } func (x *ASAwardLog) Reset() { *x = ASAwardLog{} if protoimpl.UnsafeEnabled { mi := &file_protocol_webapi_webapi_proto_msgTypes[130] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ASAwardLog) String() string { return protoimpl.X.MessageStringOf(x) } func (*ASAwardLog) ProtoMessage() {} func (x *ASAwardLog) ProtoReflect() protoreflect.Message { mi := &file_protocol_webapi_webapi_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 ASAwardLog.ProtoReflect.Descriptor instead. func (*ASAwardLog) Descriptor() ([]byte, []int) { return file_protocol_webapi_webapi_proto_rawDescGZIP(), []int{130} } func (x *ASAwardLog) GetPlatform() string { if x != nil { return x.Platform } return "" } func (x *ASAwardLog) GetSnId() int32 { if x != nil { return x.SnId } return 0 } //获取弹窗配置[/get_PopupWindowsConfig] type ASPopUpWindowsConfig struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Platform string `protobuf:"bytes,1,opt,name=Platform,proto3" json:"Platform,omitempty"` // 平台id SnId int32 `protobuf:"varint,2,opt,name=SnId,proto3" json:"SnId,omitempty"` // 玩家id } func (x *ASPopUpWindowsConfig) Reset() { *x = ASPopUpWindowsConfig{} if protoimpl.UnsafeEnabled { mi := &file_protocol_webapi_webapi_proto_msgTypes[131] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ASPopUpWindowsConfig) String() string { return protoimpl.X.MessageStringOf(x) } func (*ASPopUpWindowsConfig) ProtoMessage() {} func (x *ASPopUpWindowsConfig) ProtoReflect() protoreflect.Message { mi := &file_protocol_webapi_webapi_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 ASPopUpWindowsConfig.ProtoReflect.Descriptor instead. func (*ASPopUpWindowsConfig) Descriptor() ([]byte, []int) { return file_protocol_webapi_webapi_proto_rawDescGZIP(), []int{131} } func (x *ASPopUpWindowsConfig) GetPlatform() string { if x != nil { return x.Platform } return "" } func (x *ASPopUpWindowsConfig) GetSnId() int32 { if x != nil { return x.SnId } return 0 } type SAPopUpWindowsConfig struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Platform string `protobuf:"bytes,1,opt,name=Platform,proto3" json:"Platform,omitempty"` // 平台id SnId int32 `protobuf:"varint,2,opt,name=SnId,proto3" json:"SnId,omitempty"` // 玩家id Info []*WindowsInfo `protobuf:"bytes,3,rep,name=Info,proto3" json:"Info,omitempty"` Tag TagCode `protobuf:"varint,4,opt,name=Tag,proto3,enum=webapi.TagCode" json:"Tag,omitempty"` //错误码 Msg string `protobuf:"bytes,5,opt,name=Msg,proto3" json:"Msg,omitempty"` //错误信息(选填) } func (x *SAPopUpWindowsConfig) Reset() { *x = SAPopUpWindowsConfig{} if protoimpl.UnsafeEnabled { mi := &file_protocol_webapi_webapi_proto_msgTypes[132] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *SAPopUpWindowsConfig) String() string { return protoimpl.X.MessageStringOf(x) } func (*SAPopUpWindowsConfig) ProtoMessage() {} func (x *SAPopUpWindowsConfig) ProtoReflect() protoreflect.Message { mi := &file_protocol_webapi_webapi_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 SAPopUpWindowsConfig.ProtoReflect.Descriptor instead. func (*SAPopUpWindowsConfig) Descriptor() ([]byte, []int) { return file_protocol_webapi_webapi_proto_rawDescGZIP(), []int{132} } func (x *SAPopUpWindowsConfig) GetPlatform() string { if x != nil { return x.Platform } return "" } func (x *SAPopUpWindowsConfig) GetSnId() int32 { if x != nil { return x.SnId } return 0 } func (x *SAPopUpWindowsConfig) GetInfo() []*WindowsInfo { if x != nil { return x.Info } return nil } func (x *SAPopUpWindowsConfig) GetTag() TagCode { if x != nil { return x.Tag } return TagCode_UNKNOWN } func (x *SAPopUpWindowsConfig) GetMsg() string { if x != nil { return x.Msg } return "" } type WindowsInfo struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields ItemName string `protobuf:"bytes,1,opt,name=ItemName,proto3" json:"ItemName,omitempty"` //名字 Url string `protobuf:"bytes,2,opt,name=Url,proto3" json:"Url,omitempty"` //图片地址 Sort int32 `protobuf:"varint,3,opt,name=Sort,proto3" json:"Sort,omitempty"` //排序 PartNum int32 `protobuf:"varint,4,opt,name=PartNum,proto3" json:"PartNum,omitempty"` //参与人数 GainNum int32 `protobuf:"varint,5,opt,name=GainNum,proto3" json:"GainNum,omitempty"` //领取人数 } func (x *WindowsInfo) Reset() { *x = WindowsInfo{} if protoimpl.UnsafeEnabled { mi := &file_protocol_webapi_webapi_proto_msgTypes[133] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *WindowsInfo) String() string { return protoimpl.X.MessageStringOf(x) } func (*WindowsInfo) ProtoMessage() {} func (x *WindowsInfo) ProtoReflect() protoreflect.Message { mi := &file_protocol_webapi_webapi_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 WindowsInfo.ProtoReflect.Descriptor instead. func (*WindowsInfo) Descriptor() ([]byte, []int) { return file_protocol_webapi_webapi_proto_rawDescGZIP(), []int{133} } func (x *WindowsInfo) GetItemName() string { if x != nil { return x.ItemName } return "" } func (x *WindowsInfo) GetUrl() string { if x != nil { return x.Url } return "" } func (x *WindowsInfo) GetSort() int32 { if x != nil { return x.Sort } return 0 } func (x *WindowsInfo) GetPartNum() int32 { if x != nil { return x.PartNum } return 0 } func (x *WindowsInfo) GetGainNum() int32 { if x != nil { return x.GainNum } return 0 } // 获取对局详情 /api/game/room_info type ASRoomInfo struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields RoomId int32 `protobuf:"varint,1,opt,name=RoomId,proto3" json:"RoomId,omitempty"` // 房间id } func (x *ASRoomInfo) Reset() { *x = ASRoomInfo{} if protoimpl.UnsafeEnabled { mi := &file_protocol_webapi_webapi_proto_msgTypes[134] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ASRoomInfo) String() string { return protoimpl.X.MessageStringOf(x) } func (*ASRoomInfo) ProtoMessage() {} func (x *ASRoomInfo) ProtoReflect() protoreflect.Message { mi := &file_protocol_webapi_webapi_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 ASRoomInfo.ProtoReflect.Descriptor instead. func (*ASRoomInfo) Descriptor() ([]byte, []int) { return file_protocol_webapi_webapi_proto_rawDescGZIP(), []int{134} } func (x *ASRoomInfo) GetRoomId() int32 { if x != nil { return x.RoomId } return 0 } type RoundInfo struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Round int32 `protobuf:"varint,1,opt,name=Round,proto3" json:"Round,omitempty"` //局数 Ts int64 `protobuf:"varint,2,opt,name=Ts,proto3" json:"Ts,omitempty"` //结束时间 Score []int64 `protobuf:"varint,3,rep,packed,name=Score,proto3" json:"Score,omitempty"` //分数 LogId string `protobuf:"bytes,4,opt,name=LogId,proto3" json:"LogId,omitempty"` // 牌局记录id } func (x *RoundInfo) Reset() { *x = RoundInfo{} if protoimpl.UnsafeEnabled { mi := &file_protocol_webapi_webapi_proto_msgTypes[135] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *RoundInfo) String() string { return protoimpl.X.MessageStringOf(x) } func (*RoundInfo) ProtoMessage() {} func (x *RoundInfo) ProtoReflect() protoreflect.Message { mi := &file_protocol_webapi_webapi_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 RoundInfo.ProtoReflect.Descriptor instead. func (*RoundInfo) Descriptor() ([]byte, []int) { return file_protocol_webapi_webapi_proto_rawDescGZIP(), []int{135} } func (x *RoundInfo) GetRound() int32 { if x != nil { return x.Round } return 0 } func (x *RoundInfo) GetTs() int64 { if x != nil { return x.Ts } return 0 } func (x *RoundInfo) GetScore() []int64 { if x != nil { return x.Score } return nil } func (x *RoundInfo) GetLogId() string { if x != nil { return x.LogId } return "" } type SARoomInfo struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Tag TagCode `protobuf:"varint,1,opt,name=Tag,proto3,enum=webapi.TagCode" json:"Tag,omitempty"` //错误码 Msg string `protobuf:"bytes,2,opt,name=Msg,proto3" json:"Msg,omitempty"` //错误信息 SnId []int32 `protobuf:"varint,3,rep,packed,name=SnId,proto3" json:"SnId,omitempty"` // 玩家id List []*RoundInfo `protobuf:"bytes,4,rep,name=List,proto3" json:"List,omitempty"` // 每局结算 } func (x *SARoomInfo) Reset() { *x = SARoomInfo{} if protoimpl.UnsafeEnabled { mi := &file_protocol_webapi_webapi_proto_msgTypes[136] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *SARoomInfo) String() string { return protoimpl.X.MessageStringOf(x) } func (*SARoomInfo) ProtoMessage() {} func (x *SARoomInfo) ProtoReflect() protoreflect.Message { mi := &file_protocol_webapi_webapi_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 SARoomInfo.ProtoReflect.Descriptor instead. func (*SARoomInfo) Descriptor() ([]byte, []int) { return file_protocol_webapi_webapi_proto_rawDescGZIP(), []int{136} } func (x *SARoomInfo) GetTag() TagCode { if x != nil { return x.Tag } return TagCode_UNKNOWN } func (x *SARoomInfo) GetMsg() string { if x != nil { return x.Msg } return "" } func (x *SARoomInfo) GetSnId() []int32 { if x != nil { return x.SnId } return nil } func (x *SARoomInfo) GetList() []*RoundInfo { if x != nil { return x.List } return nil } //获取娃娃兑换订单/get_dollExchange_order type ASGetDollExchangeOrder struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Snid int32 `protobuf:"varint,1,opt,name=Snid,proto3" json:"Snid,omitempty"` //用户id Platform string `protobuf:"bytes,2,opt,name=Platform,proto3" json:"Platform,omitempty"` //平台id } func (x *ASGetDollExchangeOrder) Reset() { *x = ASGetDollExchangeOrder{} if protoimpl.UnsafeEnabled { mi := &file_protocol_webapi_webapi_proto_msgTypes[137] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ASGetDollExchangeOrder) String() string { return protoimpl.X.MessageStringOf(x) } func (*ASGetDollExchangeOrder) ProtoMessage() {} func (x *ASGetDollExchangeOrder) ProtoReflect() protoreflect.Message { mi := &file_protocol_webapi_webapi_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 ASGetDollExchangeOrder.ProtoReflect.Descriptor instead. func (*ASGetDollExchangeOrder) Descriptor() ([]byte, []int) { return file_protocol_webapi_webapi_proto_rawDescGZIP(), []int{137} } func (x *ASGetDollExchangeOrder) GetSnid() int32 { if x != nil { return x.Snid } return 0 } func (x *ASGetDollExchangeOrder) GetPlatform() string { if x != nil { return x.Platform } return "" } type SAGetDollExchangeOrder struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Tag TagCode `protobuf:"varint,1,opt,name=Tag,proto3,enum=webapi.TagCode" json:"Tag,omitempty"` //错误码 OrderList []*ExchangeOrderInfo `protobuf:"bytes,2,rep,name=OrderList,proto3" json:"OrderList,omitempty"` //订单数据 } func (x *SAGetDollExchangeOrder) Reset() { *x = SAGetDollExchangeOrder{} if protoimpl.UnsafeEnabled { mi := &file_protocol_webapi_webapi_proto_msgTypes[138] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *SAGetDollExchangeOrder) String() string { return protoimpl.X.MessageStringOf(x) } func (*SAGetDollExchangeOrder) ProtoMessage() {} func (x *SAGetDollExchangeOrder) ProtoReflect() protoreflect.Message { mi := &file_protocol_webapi_webapi_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 SAGetDollExchangeOrder.ProtoReflect.Descriptor instead. func (*SAGetDollExchangeOrder) Descriptor() ([]byte, []int) { return file_protocol_webapi_webapi_proto_rawDescGZIP(), []int{138} } func (x *SAGetDollExchangeOrder) GetTag() TagCode { if x != nil { return x.Tag } return TagCode_UNKNOWN } func (x *SAGetDollExchangeOrder) GetOrderList() []*ExchangeOrderInfo { if x != nil { return x.OrderList } return nil } // 设置抽奖获奖图片和视频 // post /api/game/show_lottery type ASShowLottery struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Platform string `protobuf:"bytes,1,opt,name=Platform,proto3" json:"Platform,omitempty"` // 平台 LogId string `protobuf:"bytes,2,opt,name=LogId,proto3" json:"LogId,omitempty"` // 日志id List []*ShowLottery `protobuf:"bytes,3,rep,name=List,proto3" json:"List,omitempty"` // 资源 } func (x *ASShowLottery) Reset() { *x = ASShowLottery{} if protoimpl.UnsafeEnabled { mi := &file_protocol_webapi_webapi_proto_msgTypes[139] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ASShowLottery) String() string { return protoimpl.X.MessageStringOf(x) } func (*ASShowLottery) ProtoMessage() {} func (x *ASShowLottery) ProtoReflect() protoreflect.Message { mi := &file_protocol_webapi_webapi_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 ASShowLottery.ProtoReflect.Descriptor instead. func (*ASShowLottery) Descriptor() ([]byte, []int) { return file_protocol_webapi_webapi_proto_rawDescGZIP(), []int{139} } func (x *ASShowLottery) GetPlatform() string { if x != nil { return x.Platform } return "" } func (x *ASShowLottery) GetLogId() string { if x != nil { return x.LogId } return "" } func (x *ASShowLottery) GetList() []*ShowLottery { if x != nil { return x.List } return nil } type ShowLottery struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Tp int32 `protobuf:"varint,1,opt,name=Tp,proto3" json:"Tp,omitempty"` // 资源类型 1图片 2视频 Url string `protobuf:"bytes,2,opt,name=Url,proto3" json:"Url,omitempty"` // 资源地址 ImgUrl string `protobuf:"bytes,3,opt,name=ImgUrl,proto3" json:"ImgUrl,omitempty"` // 视频缩略图地址 } func (x *ShowLottery) Reset() { *x = ShowLottery{} if protoimpl.UnsafeEnabled { mi := &file_protocol_webapi_webapi_proto_msgTypes[140] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ShowLottery) String() string { return protoimpl.X.MessageStringOf(x) } func (*ShowLottery) ProtoMessage() {} func (x *ShowLottery) ProtoReflect() protoreflect.Message { mi := &file_protocol_webapi_webapi_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 ShowLottery.ProtoReflect.Descriptor instead. func (*ShowLottery) Descriptor() ([]byte, []int) { return file_protocol_webapi_webapi_proto_rawDescGZIP(), []int{140} } func (x *ShowLottery) GetTp() int32 { if x != nil { return x.Tp } return 0 } func (x *ShowLottery) GetUrl() string { if x != nil { return x.Url } return "" } func (x *ShowLottery) GetImgUrl() string { if x != nil { return x.ImgUrl } return "" } type SAShowLottery struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Tag TagCode `protobuf:"varint,1,opt,name=Tag,proto3,enum=webapi.TagCode" json:"Tag,omitempty"` //错误码 Msg string `protobuf:"bytes,2,opt,name=Msg,proto3" json:"Msg,omitempty"` //错误信息 } func (x *SAShowLottery) Reset() { *x = SAShowLottery{} if protoimpl.UnsafeEnabled { mi := &file_protocol_webapi_webapi_proto_msgTypes[141] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *SAShowLottery) String() string { return protoimpl.X.MessageStringOf(x) } func (*SAShowLottery) ProtoMessage() {} func (x *SAShowLottery) ProtoReflect() protoreflect.Message { mi := &file_protocol_webapi_webapi_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 SAShowLottery.ProtoReflect.Descriptor instead. func (*SAShowLottery) Descriptor() ([]byte, []int) { return file_protocol_webapi_webapi_proto_rawDescGZIP(), []int{141} } func (x *SAShowLottery) GetTag() TagCode { if x != nil { return x.Tag } return TagCode_UNKNOWN } func (x *SAShowLottery) GetMsg() string { if x != nil { return x.Msg } return "" } // 发送手机验证码 [/api/game/send_sms] type ASSendSMSCode struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Platform string `protobuf:"bytes,1,opt,name=Platform,proto3" json:"Platform,omitempty"` // 平台 Tel string `protobuf:"bytes,2,opt,name=Tel,proto3" json:"Tel,omitempty"` // 手机号,带区号 } func (x *ASSendSMSCode) Reset() { *x = ASSendSMSCode{} if protoimpl.UnsafeEnabled { mi := &file_protocol_webapi_webapi_proto_msgTypes[142] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ASSendSMSCode) String() string { return protoimpl.X.MessageStringOf(x) } func (*ASSendSMSCode) ProtoMessage() {} func (x *ASSendSMSCode) ProtoReflect() protoreflect.Message { mi := &file_protocol_webapi_webapi_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 ASSendSMSCode.ProtoReflect.Descriptor instead. func (*ASSendSMSCode) Descriptor() ([]byte, []int) { return file_protocol_webapi_webapi_proto_rawDescGZIP(), []int{142} } func (x *ASSendSMSCode) GetPlatform() string { if x != nil { return x.Platform } return "" } func (x *ASSendSMSCode) GetTel() string { if x != nil { return x.Tel } return "" } type SASendSMSCode struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Tag TagCode `protobuf:"varint,1,opt,name=Tag,proto3,enum=webapi.TagCode" json:"Tag,omitempty"` //错误码 Msg string `protobuf:"bytes,2,opt,name=Msg,proto3" json:"Msg,omitempty"` //错误信息 } func (x *SASendSMSCode) Reset() { *x = SASendSMSCode{} if protoimpl.UnsafeEnabled { mi := &file_protocol_webapi_webapi_proto_msgTypes[143] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *SASendSMSCode) String() string { return protoimpl.X.MessageStringOf(x) } func (*SASendSMSCode) ProtoMessage() {} func (x *SASendSMSCode) ProtoReflect() protoreflect.Message { mi := &file_protocol_webapi_webapi_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 SASendSMSCode.ProtoReflect.Descriptor instead. func (*SASendSMSCode) Descriptor() ([]byte, []int) { return file_protocol_webapi_webapi_proto_rawDescGZIP(), []int{143} } func (x *SASendSMSCode) GetTag() TagCode { if x != nil { return x.Tag } return TagCode_UNKNOWN } func (x *SASendSMSCode) GetMsg() string { if x != nil { return x.Msg } return "" } // 网页登录 [/api/game/web_login] type ASWebLogin struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Platform string `protobuf:"bytes,1,opt,name=Platform,proto3" json:"Platform,omitempty"` // 平台 LoginType int32 `protobuf:"varint,2,opt,name=LoginType,proto3" json:"LoginType,omitempty"` // 登录类型 1.账号密码 2.手机验证码 3.google 4.facebook Username string `protobuf:"bytes,3,opt,name=Username,proto3" json:"Username,omitempty"` // 用户名/手机号 Timestamp int64 `protobuf:"varint,4,opt,name=Timestamp,proto3" json:"Timestamp,omitempty"` // 时间戳,秒 Password string `protobuf:"bytes,5,opt,name=Password,proto3" json:"Password,omitempty"` //密码 密码模式 md5(md5(密码+AppId)+AppId+Timestamp) 非密码模式 md5(md5(Username+AppId)+AppId+Timestamp) SMSCode string `protobuf:"bytes,6,opt,name=SMSCode,proto3" json:"SMSCode,omitempty"` // 短信验证码 } func (x *ASWebLogin) Reset() { *x = ASWebLogin{} if protoimpl.UnsafeEnabled { mi := &file_protocol_webapi_webapi_proto_msgTypes[144] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ASWebLogin) String() string { return protoimpl.X.MessageStringOf(x) } func (*ASWebLogin) ProtoMessage() {} func (x *ASWebLogin) ProtoReflect() protoreflect.Message { mi := &file_protocol_webapi_webapi_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 ASWebLogin.ProtoReflect.Descriptor instead. func (*ASWebLogin) Descriptor() ([]byte, []int) { return file_protocol_webapi_webapi_proto_rawDescGZIP(), []int{144} } func (x *ASWebLogin) GetPlatform() string { if x != nil { return x.Platform } return "" } func (x *ASWebLogin) GetLoginType() int32 { if x != nil { return x.LoginType } return 0 } func (x *ASWebLogin) GetUsername() string { if x != nil { return x.Username } return "" } func (x *ASWebLogin) GetTimestamp() int64 { if x != nil { return x.Timestamp } return 0 } func (x *ASWebLogin) GetPassword() string { if x != nil { return x.Password } return "" } func (x *ASWebLogin) GetSMSCode() string { if x != nil { return x.SMSCode } return "" } type SAWebLogin struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Tag TagCode `protobuf:"varint,1,opt,name=Tag,proto3,enum=webapi.TagCode" json:"Tag,omitempty"` //错误码 Msg string `protobuf:"bytes,2,opt,name=Msg,proto3" json:"Msg,omitempty"` //错误信息 Platform string `protobuf:"bytes,3,opt,name=Platform,proto3" json:"Platform,omitempty"` // 平台 SnId int32 `protobuf:"varint,4,opt,name=SnId,proto3" json:"SnId,omitempty"` // 玩家id } func (x *SAWebLogin) Reset() { *x = SAWebLogin{} if protoimpl.UnsafeEnabled { mi := &file_protocol_webapi_webapi_proto_msgTypes[145] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *SAWebLogin) String() string { return protoimpl.X.MessageStringOf(x) } func (*SAWebLogin) ProtoMessage() {} func (x *SAWebLogin) ProtoReflect() protoreflect.Message { mi := &file_protocol_webapi_webapi_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 SAWebLogin.ProtoReflect.Descriptor instead. func (*SAWebLogin) Descriptor() ([]byte, []int) { return file_protocol_webapi_webapi_proto_rawDescGZIP(), []int{145} } func (x *SAWebLogin) GetTag() TagCode { if x != nil { return x.Tag } return TagCode_UNKNOWN } func (x *SAWebLogin) GetMsg() string { if x != nil { return x.Msg } return "" } func (x *SAWebLogin) GetPlatform() string { if x != nil { return x.Platform } return "" } func (x *SAWebLogin) GetSnId() int32 { if x != nil { return x.SnId } return 0 } // 创建兑换订单 [/api/game/exchange_create] type ASWebCreateExchange struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Platform string `protobuf:"bytes,1,opt,name=Platform,proto3" json:"Platform,omitempty"` // 平台 SnId int32 `protobuf:"varint,2,opt,name=SnId,proto3" json:"SnId,omitempty"` // 玩家id Id int32 `protobuf:"varint,3,opt,name=Id,proto3" json:"Id,omitempty"` //商品ID UserName string `protobuf:"bytes,4,opt,name=UserName,proto3" json:"UserName,omitempty"` //兑换人姓名 Mobile string `protobuf:"bytes,5,opt,name=Mobile,proto3" json:"Mobile,omitempty"` //兑换人手机号 Comment string `protobuf:"bytes,6,opt,name=Comment,proto3" json:"Comment,omitempty"` //备注信息 ExchangeTypeId int32 `protobuf:"varint,7,opt,name=ExchangeTypeId,proto3" json:"ExchangeTypeId,omitempty"` //兑换方式Id ExType中的id Amount int32 `protobuf:"varint,8,opt,name=Amount,proto3" json:"Amount,omitempty"` //兑换数量 ExchangeType int32 `protobuf:"varint,9,opt,name=ExchangeType,proto3" json:"ExchangeType,omitempty"` //兑换类型 1-自提 2-后台 TelId int32 `protobuf:"varint,10,opt,name=TelId,proto3" json:"TelId,omitempty"` //运行商id TelChargeData里的ID } func (x *ASWebCreateExchange) Reset() { *x = ASWebCreateExchange{} if protoimpl.UnsafeEnabled { mi := &file_protocol_webapi_webapi_proto_msgTypes[146] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ASWebCreateExchange) String() string { return protoimpl.X.MessageStringOf(x) } func (*ASWebCreateExchange) ProtoMessage() {} func (x *ASWebCreateExchange) ProtoReflect() protoreflect.Message { mi := &file_protocol_webapi_webapi_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 ASWebCreateExchange.ProtoReflect.Descriptor instead. func (*ASWebCreateExchange) Descriptor() ([]byte, []int) { return file_protocol_webapi_webapi_proto_rawDescGZIP(), []int{146} } func (x *ASWebCreateExchange) GetPlatform() string { if x != nil { return x.Platform } return "" } func (x *ASWebCreateExchange) GetSnId() int32 { if x != nil { return x.SnId } return 0 } func (x *ASWebCreateExchange) GetId() int32 { if x != nil { return x.Id } return 0 } func (x *ASWebCreateExchange) GetUserName() string { if x != nil { return x.UserName } return "" } func (x *ASWebCreateExchange) GetMobile() string { if x != nil { return x.Mobile } return "" } func (x *ASWebCreateExchange) GetComment() string { if x != nil { return x.Comment } return "" } func (x *ASWebCreateExchange) GetExchangeTypeId() int32 { if x != nil { return x.ExchangeTypeId } return 0 } func (x *ASWebCreateExchange) GetAmount() int32 { if x != nil { return x.Amount } return 0 } func (x *ASWebCreateExchange) GetExchangeType() int32 { if x != nil { return x.ExchangeType } return 0 } func (x *ASWebCreateExchange) GetTelId() int32 { if x != nil { return x.TelId } return 0 } type SAWebCreateExchange struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Tag ExchangeCreateCode `protobuf:"varint,1,opt,name=Tag,proto3,enum=webapi.ExchangeCreateCode" json:"Tag,omitempty"` //错误码 CreateTs int64 `protobuf:"varint,2,opt,name=CreateTs,proto3" json:"CreateTs,omitempty"` //订单创建日期 OrderId string `protobuf:"bytes,3,opt,name=OrderId,proto3" json:"OrderId,omitempty"` //订单号 Id int32 `protobuf:"varint,4,opt,name=Id,proto3" json:"Id,omitempty"` //商品Id } func (x *SAWebCreateExchange) Reset() { *x = SAWebCreateExchange{} if protoimpl.UnsafeEnabled { mi := &file_protocol_webapi_webapi_proto_msgTypes[147] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *SAWebCreateExchange) String() string { return protoimpl.X.MessageStringOf(x) } func (*SAWebCreateExchange) ProtoMessage() {} func (x *SAWebCreateExchange) ProtoReflect() protoreflect.Message { mi := &file_protocol_webapi_webapi_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 SAWebCreateExchange.ProtoReflect.Descriptor instead. func (*SAWebCreateExchange) Descriptor() ([]byte, []int) { return file_protocol_webapi_webapi_proto_rawDescGZIP(), []int{147} } func (x *SAWebCreateExchange) GetTag() ExchangeCreateCode { if x != nil { return x.Tag } return ExchangeCreateCode_OPRC_Sucess } func (x *SAWebCreateExchange) GetCreateTs() int64 { if x != nil { return x.CreateTs } return 0 } func (x *SAWebCreateExchange) GetOrderId() string { if x != nil { return x.OrderId } return "" } func (x *SAWebCreateExchange) GetId() int32 { if x != nil { return x.Id } return 0 } // 获取收货地址 [/api/player/address] type ASGetAddress struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Platform string `protobuf:"bytes,1,opt,name=Platform,proto3" json:"Platform,omitempty"` // 平台 SnId int32 `protobuf:"varint,2,opt,name=SnId,proto3" json:"SnId,omitempty"` // 玩家id } func (x *ASGetAddress) Reset() { *x = ASGetAddress{} if protoimpl.UnsafeEnabled { mi := &file_protocol_webapi_webapi_proto_msgTypes[148] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ASGetAddress) String() string { return protoimpl.X.MessageStringOf(x) } func (*ASGetAddress) ProtoMessage() {} func (x *ASGetAddress) ProtoReflect() protoreflect.Message { mi := &file_protocol_webapi_webapi_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 ASGetAddress.ProtoReflect.Descriptor instead. func (*ASGetAddress) Descriptor() ([]byte, []int) { return file_protocol_webapi_webapi_proto_rawDescGZIP(), []int{148} } func (x *ASGetAddress) GetPlatform() string { if x != nil { return x.Platform } return "" } func (x *ASGetAddress) GetSnId() int32 { if x != nil { return x.SnId } return 0 } type SAGetAddress struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Tag TagCode `protobuf:"varint,1,opt,name=Tag,proto3,enum=webapi.TagCode" json:"Tag,omitempty"` //错误码 Msg string `protobuf:"bytes,2,opt,name=Msg,proto3" json:"Msg,omitempty"` //错误信息 List []string `protobuf:"bytes,3,rep,name=List,proto3" json:"List,omitempty"` // 地址列表; 索引就是地址id } func (x *SAGetAddress) Reset() { *x = SAGetAddress{} if protoimpl.UnsafeEnabled { mi := &file_protocol_webapi_webapi_proto_msgTypes[149] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *SAGetAddress) String() string { return protoimpl.X.MessageStringOf(x) } func (*SAGetAddress) ProtoMessage() {} func (x *SAGetAddress) ProtoReflect() protoreflect.Message { mi := &file_protocol_webapi_webapi_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 SAGetAddress.ProtoReflect.Descriptor instead. func (*SAGetAddress) Descriptor() ([]byte, []int) { return file_protocol_webapi_webapi_proto_rawDescGZIP(), []int{149} } func (x *SAGetAddress) GetTag() TagCode { if x != nil { return x.Tag } return TagCode_UNKNOWN } func (x *SAGetAddress) GetMsg() string { if x != nil { return x.Msg } return "" } func (x *SAGetAddress) GetList() []string { if x != nil { return x.List } return nil } // 设置收货地址 [/api/player/update_address] type ASUpdateAddress struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Platform string `protobuf:"bytes,1,opt,name=Platform,proto3" json:"Platform,omitempty"` // 平台 SnId int32 `protobuf:"varint,2,opt,name=SnId,proto3" json:"SnId,omitempty"` // 玩家 OpType int32 `protobuf:"varint,4,opt,name=OpType,proto3" json:"OpType,omitempty"` // 1.增加 2.查询 3.删除 4.修改 Addr string `protobuf:"bytes,5,opt,name=Addr,proto3" json:"Addr,omitempty"` //地址 Id int32 `protobuf:"varint,6,opt,name=Id,proto3" json:"Id,omitempty"` //删除指定id } func (x *ASUpdateAddress) Reset() { *x = ASUpdateAddress{} if protoimpl.UnsafeEnabled { mi := &file_protocol_webapi_webapi_proto_msgTypes[150] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ASUpdateAddress) String() string { return protoimpl.X.MessageStringOf(x) } func (*ASUpdateAddress) ProtoMessage() {} func (x *ASUpdateAddress) ProtoReflect() protoreflect.Message { mi := &file_protocol_webapi_webapi_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 ASUpdateAddress.ProtoReflect.Descriptor instead. func (*ASUpdateAddress) Descriptor() ([]byte, []int) { return file_protocol_webapi_webapi_proto_rawDescGZIP(), []int{150} } func (x *ASUpdateAddress) GetPlatform() string { if x != nil { return x.Platform } return "" } func (x *ASUpdateAddress) GetSnId() int32 { if x != nil { return x.SnId } return 0 } func (x *ASUpdateAddress) GetOpType() int32 { if x != nil { return x.OpType } return 0 } func (x *ASUpdateAddress) GetAddr() string { if x != nil { return x.Addr } return "" } func (x *ASUpdateAddress) GetId() int32 { if x != nil { return x.Id } return 0 } type SAUpdateAddress struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Tag TagCode `protobuf:"varint,1,opt,name=Tag,proto3,enum=webapi.TagCode" json:"Tag,omitempty"` //错误码 Msg string `protobuf:"bytes,2,opt,name=Msg,proto3" json:"Msg,omitempty"` //错误信息 List []string `protobuf:"bytes,3,rep,name=List,proto3" json:"List,omitempty"` // 地址列表 } func (x *SAUpdateAddress) Reset() { *x = SAUpdateAddress{} if protoimpl.UnsafeEnabled { mi := &file_protocol_webapi_webapi_proto_msgTypes[151] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *SAUpdateAddress) String() string { return protoimpl.X.MessageStringOf(x) } func (*SAUpdateAddress) ProtoMessage() {} func (x *SAUpdateAddress) ProtoReflect() protoreflect.Message { mi := &file_protocol_webapi_webapi_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 SAUpdateAddress.ProtoReflect.Descriptor instead. func (*SAUpdateAddress) Descriptor() ([]byte, []int) { return file_protocol_webapi_webapi_proto_rawDescGZIP(), []int{151} } func (x *SAUpdateAddress) GetTag() TagCode { if x != nil { return x.Tag } return TagCode_UNKNOWN } func (x *SAUpdateAddress) GetMsg() string { if x != nil { return x.Msg } return "" } func (x *SAUpdateAddress) GetList() []string { if x != nil { return x.List } return nil } var File_protocol_webapi_webapi_proto protoreflect.FileDescriptor var file_protocol_webapi_webapi_proto_rawDesc = []byte{ 0x0a, 0x1c, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x2f, 0x77, 0x65, 0x62, 0x61, 0x70, 0x69, 0x2f, 0x77, 0x65, 0x62, 0x61, 0x70, 0x69, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x06, 0x77, 0x65, 0x62, 0x61, 0x70, 0x69, 0x1a, 0x1c, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x2f, 0x77, 0x65, 0x62, 0x61, 0x70, 0x69, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x30, 0x0a, 0x0e, 0x53, 0x41, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x1e, 0x0a, 0x0a, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x49, 0x64, 0x22, 0x75, 0x0a, 0x0e, 0x41, 0x53, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x21, 0x0a, 0x03, 0x54, 0x61, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x0f, 0x2e, 0x77, 0x65, 0x62, 0x61, 0x70, 0x69, 0x2e, 0x54, 0x61, 0x67, 0x43, 0x6f, 0x64, 0x65, 0x52, 0x03, 0x54, 0x61, 0x67, 0x12, 0x10, 0x0a, 0x03, 0x4d, 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x4d, 0x73, 0x67, 0x12, 0x2e, 0x0a, 0x09, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x77, 0x65, 0x62, 0x61, 0x70, 0x69, 0x2e, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x52, 0x09, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x73, 0x22, 0x3e, 0x0a, 0x0c, 0x53, 0x41, 0x47, 0x61, 0x6d, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x1e, 0x0a, 0x0a, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x49, 0x64, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x49, 0x64, 0x22, 0x79, 0x0a, 0x0c, 0x41, 0x53, 0x47, 0x61, 0x6d, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x21, 0x0a, 0x03, 0x54, 0x61, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x0f, 0x2e, 0x77, 0x65, 0x62, 0x61, 0x70, 0x69, 0x2e, 0x54, 0x61, 0x67, 0x43, 0x6f, 0x64, 0x65, 0x52, 0x03, 0x54, 0x61, 0x67, 0x12, 0x10, 0x0a, 0x03, 0x4d, 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x4d, 0x73, 0x67, 0x12, 0x34, 0x0a, 0x07, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x77, 0x65, 0x62, 0x61, 0x70, 0x69, 0x2e, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x47, 0x61, 0x6d, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x07, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x22, 0x8b, 0x01, 0x0a, 0x11, 0x41, 0x53, 0x47, 0x61, 0x6d, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x12, 0x21, 0x0a, 0x03, 0x54, 0x61, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x0f, 0x2e, 0x77, 0x65, 0x62, 0x61, 0x70, 0x69, 0x2e, 0x54, 0x61, 0x67, 0x43, 0x6f, 0x64, 0x65, 0x52, 0x03, 0x54, 0x61, 0x67, 0x12, 0x10, 0x0a, 0x03, 0x4d, 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x4d, 0x73, 0x67, 0x12, 0x41, 0x0a, 0x0f, 0x47, 0x61, 0x6d, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x77, 0x65, 0x62, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x61, 0x6d, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x0f, 0x47, 0x61, 0x6d, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x22, 0x83, 0x01, 0x0a, 0x12, 0x41, 0x53, 0x47, 0x61, 0x6d, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x12, 0x21, 0x0a, 0x03, 0x54, 0x61, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x0f, 0x2e, 0x77, 0x65, 0x62, 0x61, 0x70, 0x69, 0x2e, 0x54, 0x61, 0x67, 0x43, 0x6f, 0x64, 0x65, 0x52, 0x03, 0x54, 0x61, 0x67, 0x12, 0x10, 0x0a, 0x03, 0x4d, 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x4d, 0x73, 0x67, 0x12, 0x38, 0x0a, 0x0a, 0x47, 0x61, 0x6d, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x77, 0x65, 0x62, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x61, 0x6d, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x52, 0x0a, 0x47, 0x61, 0x6d, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, 0x2c, 0x0a, 0x0a, 0x53, 0x41, 0x44, 0x62, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x1e, 0x0a, 0x0a, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x49, 0x64, 0x22, 0x79, 0x0a, 0x0a, 0x41, 0x53, 0x44, 0x62, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x21, 0x0a, 0x03, 0x54, 0x61, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x0f, 0x2e, 0x77, 0x65, 0x62, 0x61, 0x70, 0x69, 0x2e, 0x54, 0x61, 0x67, 0x43, 0x6f, 0x64, 0x65, 0x52, 0x03, 0x54, 0x61, 0x67, 0x12, 0x10, 0x0a, 0x03, 0x4d, 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x4d, 0x73, 0x67, 0x12, 0x36, 0x0a, 0x09, 0x44, 0x62, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x77, 0x65, 0x62, 0x61, 0x70, 0x69, 0x2e, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x44, 0x62, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x09, 0x44, 0x62, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x22, 0x42, 0x0a, 0x10, 0x41, 0x53, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x2e, 0x0a, 0x09, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x77, 0x65, 0x62, 0x61, 0x70, 0x69, 0x2e, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x52, 0x09, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x73, 0x22, 0x47, 0x0a, 0x10, 0x53, 0x41, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x21, 0x0a, 0x03, 0x54, 0x61, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x0f, 0x2e, 0x77, 0x65, 0x62, 0x61, 0x70, 0x69, 0x2e, 0x54, 0x61, 0x67, 0x43, 0x6f, 0x64, 0x65, 0x52, 0x03, 0x54, 0x61, 0x67, 0x12, 0x10, 0x0a, 0x03, 0x4d, 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x4d, 0x73, 0x67, 0x22, 0x54, 0x0a, 0x18, 0x41, 0x53, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x47, 0x61, 0x6d, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x12, 0x38, 0x0a, 0x0a, 0x47, 0x61, 0x6d, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x77, 0x65, 0x62, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x61, 0x6d, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x52, 0x0a, 0x47, 0x61, 0x6d, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, 0x4f, 0x0a, 0x18, 0x53, 0x41, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x47, 0x61, 0x6d, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x12, 0x21, 0x0a, 0x03, 0x54, 0x61, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x0f, 0x2e, 0x77, 0x65, 0x62, 0x61, 0x70, 0x69, 0x2e, 0x54, 0x61, 0x67, 0x43, 0x6f, 0x64, 0x65, 0x52, 0x03, 0x54, 0x61, 0x67, 0x12, 0x10, 0x0a, 0x03, 0x4d, 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x4d, 0x73, 0x67, 0x22, 0x48, 0x0a, 0x12, 0x41, 0x53, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x47, 0x61, 0x6d, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x32, 0x0a, 0x06, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x77, 0x65, 0x62, 0x61, 0x70, 0x69, 0x2e, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x47, 0x61, 0x6d, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x06, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x22, 0x49, 0x0a, 0x12, 0x53, 0x41, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x47, 0x61, 0x6d, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x21, 0x0a, 0x03, 0x54, 0x61, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x0f, 0x2e, 0x77, 0x65, 0x62, 0x61, 0x70, 0x69, 0x2e, 0x54, 0x61, 0x67, 0x43, 0x6f, 0x64, 0x65, 0x52, 0x03, 0x54, 0x61, 0x67, 0x12, 0x10, 0x0a, 0x03, 0x4d, 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x4d, 0x73, 0x67, 0x22, 0x5c, 0x0a, 0x17, 0x41, 0x53, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x47, 0x61, 0x6d, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x12, 0x41, 0x0a, 0x0f, 0x47, 0x61, 0x6d, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x77, 0x65, 0x62, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x61, 0x6d, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x0f, 0x47, 0x61, 0x6d, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x22, 0x4e, 0x0a, 0x17, 0x53, 0x41, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x47, 0x61, 0x6d, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x12, 0x21, 0x0a, 0x03, 0x54, 0x61, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x0f, 0x2e, 0x77, 0x65, 0x62, 0x61, 0x70, 0x69, 0x2e, 0x54, 0x61, 0x67, 0x43, 0x6f, 0x64, 0x65, 0x52, 0x03, 0x54, 0x61, 0x67, 0x12, 0x10, 0x0a, 0x03, 0x4d, 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x4d, 0x73, 0x67, 0x22, 0xc1, 0x02, 0x0a, 0x0d, 0x41, 0x53, 0x41, 0x64, 0x64, 0x43, 0x6f, 0x69, 0x6e, 0x42, 0x79, 0x49, 0x64, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x49, 0x44, 0x12, 0x12, 0x0a, 0x04, 0x47, 0x6f, 0x6c, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x04, 0x47, 0x6f, 0x6c, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x47, 0x6f, 0x6c, 0x64, 0x45, 0x78, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x47, 0x6f, 0x6c, 0x64, 0x45, 0x78, 0x12, 0x12, 0x0a, 0x04, 0x4f, 0x70, 0x65, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x4f, 0x70, 0x65, 0x72, 0x12, 0x12, 0x0a, 0x04, 0x44, 0x65, 0x73, 0x63, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x44, 0x65, 0x73, 0x63, 0x12, 0x16, 0x0a, 0x06, 0x42, 0x69, 0x6c, 0x6c, 0x4e, 0x6f, 0x18, 0x06, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x42, 0x69, 0x6c, 0x6c, 0x4e, 0x6f, 0x12, 0x1a, 0x0a, 0x08, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x18, 0x0a, 0x07, 0x4c, 0x6f, 0x67, 0x54, 0x79, 0x70, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x4c, 0x6f, 0x67, 0x54, 0x79, 0x70, 0x65, 0x12, 0x2e, 0x0a, 0x12, 0x49, 0x73, 0x41, 0x63, 0x63, 0x54, 0x6f, 0x64, 0x61, 0x79, 0x52, 0x65, 0x63, 0x68, 0x61, 0x72, 0x67, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x08, 0x52, 0x12, 0x49, 0x73, 0x41, 0x63, 0x63, 0x54, 0x6f, 0x64, 0x61, 0x79, 0x52, 0x65, 0x63, 0x68, 0x61, 0x72, 0x67, 0x65, 0x12, 0x22, 0x0a, 0x0c, 0x4e, 0x65, 0x65, 0x64, 0x46, 0x6c, 0x6f, 0x77, 0x52, 0x61, 0x74, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, 0x4e, 0x65, 0x65, 0x64, 0x46, 0x6c, 0x6f, 0x77, 0x52, 0x61, 0x74, 0x65, 0x12, 0x2a, 0x0a, 0x10, 0x4e, 0x65, 0x65, 0x64, 0x47, 0x69, 0x76, 0x65, 0x46, 0x6c, 0x6f, 0x77, 0x52, 0x61, 0x74, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x05, 0x52, 0x10, 0x4e, 0x65, 0x65, 0x64, 0x47, 0x69, 0x76, 0x65, 0x46, 0x6c, 0x6f, 0x77, 0x52, 0x61, 0x74, 0x65, 0x22, 0x44, 0x0a, 0x0d, 0x53, 0x41, 0x41, 0x64, 0x64, 0x43, 0x6f, 0x69, 0x6e, 0x42, 0x79, 0x49, 0x64, 0x12, 0x21, 0x0a, 0x03, 0x54, 0x61, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x0f, 0x2e, 0x77, 0x65, 0x62, 0x61, 0x70, 0x69, 0x2e, 0x54, 0x61, 0x67, 0x43, 0x6f, 0x64, 0x65, 0x52, 0x03, 0x54, 0x61, 0x67, 0x12, 0x10, 0x0a, 0x03, 0x4d, 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x4d, 0x73, 0x67, 0x22, 0xb5, 0x01, 0x0a, 0x0f, 0x41, 0x53, 0x52, 0x65, 0x73, 0x65, 0x74, 0x47, 0x61, 0x6d, 0x65, 0x50, 0x6f, 0x6f, 0x6c, 0x12, 0x1e, 0x0a, 0x0a, 0x47, 0x61, 0x6d, 0x65, 0x46, 0x72, 0x65, 0x65, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x47, 0x61, 0x6d, 0x65, 0x46, 0x72, 0x65, 0x65, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x1a, 0x0a, 0x08, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x49, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x50, 0x6f, 0x6f, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x50, 0x6f, 0x6f, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0x46, 0x0a, 0x0f, 0x53, 0x41, 0x52, 0x65, 0x73, 0x65, 0x74, 0x47, 0x61, 0x6d, 0x65, 0x50, 0x6f, 0x6f, 0x6c, 0x12, 0x21, 0x0a, 0x03, 0x54, 0x61, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x0f, 0x2e, 0x77, 0x65, 0x62, 0x61, 0x70, 0x69, 0x2e, 0x54, 0x61, 0x67, 0x43, 0x6f, 0x64, 0x65, 0x52, 0x03, 0x54, 0x61, 0x67, 0x12, 0x10, 0x0a, 0x03, 0x4d, 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x4d, 0x73, 0x67, 0x22, 0xc7, 0x01, 0x0a, 0x10, 0x41, 0x53, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x47, 0x61, 0x6d, 0x65, 0x50, 0x6f, 0x6f, 0x6c, 0x12, 0x1e, 0x0a, 0x0a, 0x47, 0x61, 0x6d, 0x65, 0x46, 0x72, 0x65, 0x65, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x47, 0x61, 0x6d, 0x65, 0x46, 0x72, 0x65, 0x65, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x1a, 0x0a, 0x08, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x49, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x64, 0x12, 0x41, 0x0a, 0x0f, 0x43, 0x6f, 0x69, 0x6e, 0x50, 0x6f, 0x6f, 0x6c, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x77, 0x65, 0x62, 0x61, 0x70, 0x69, 0x2e, 0x43, 0x6f, 0x69, 0x6e, 0x50, 0x6f, 0x6f, 0x6c, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x0f, 0x43, 0x6f, 0x69, 0x6e, 0x50, 0x6f, 0x6f, 0x6c, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x22, 0x47, 0x0a, 0x10, 0x53, 0x41, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x47, 0x61, 0x6d, 0x65, 0x50, 0x6f, 0x6f, 0x6c, 0x12, 0x21, 0x0a, 0x03, 0x54, 0x61, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x0f, 0x2e, 0x77, 0x65, 0x62, 0x61, 0x70, 0x69, 0x2e, 0x54, 0x61, 0x67, 0x43, 0x6f, 0x64, 0x65, 0x52, 0x03, 0x54, 0x61, 0x67, 0x12, 0x10, 0x0a, 0x03, 0x4d, 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x4d, 0x73, 0x67, 0x22, 0x83, 0x01, 0x0a, 0x17, 0x41, 0x53, 0x51, 0x75, 0x65, 0x72, 0x79, 0x47, 0x61, 0x6d, 0x65, 0x50, 0x6f, 0x6f, 0x6c, 0x42, 0x79, 0x47, 0x61, 0x6d, 0x65, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x47, 0x61, 0x6d, 0x65, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x47, 0x61, 0x6d, 0x65, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x47, 0x61, 0x6d, 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x47, 0x61, 0x6d, 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x18, 0x0a, 0x07, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x64, 0x22, 0x91, 0x01, 0x0a, 0x17, 0x53, 0x41, 0x51, 0x75, 0x65, 0x72, 0x79, 0x47, 0x61, 0x6d, 0x65, 0x50, 0x6f, 0x6f, 0x6c, 0x42, 0x79, 0x47, 0x61, 0x6d, 0x65, 0x49, 0x64, 0x12, 0x21, 0x0a, 0x03, 0x54, 0x61, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x0f, 0x2e, 0x77, 0x65, 0x62, 0x61, 0x70, 0x69, 0x2e, 0x54, 0x61, 0x67, 0x43, 0x6f, 0x64, 0x65, 0x52, 0x03, 0x54, 0x61, 0x67, 0x12, 0x10, 0x0a, 0x03, 0x4d, 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x4d, 0x73, 0x67, 0x12, 0x41, 0x0a, 0x0f, 0x43, 0x6f, 0x69, 0x6e, 0x50, 0x6f, 0x6f, 0x6c, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x77, 0x65, 0x62, 0x61, 0x70, 0x69, 0x2e, 0x43, 0x6f, 0x69, 0x6e, 0x50, 0x6f, 0x6f, 0x6c, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x0f, 0x43, 0x6f, 0x69, 0x6e, 0x50, 0x6f, 0x6f, 0x6c, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x22, 0x48, 0x0a, 0x12, 0x41, 0x53, 0x51, 0x75, 0x65, 0x72, 0x79, 0x41, 0x6c, 0x6c, 0x47, 0x61, 0x6d, 0x65, 0x50, 0x6f, 0x6f, 0x6c, 0x12, 0x16, 0x0a, 0x06, 0x50, 0x61, 0x67, 0x65, 0x4e, 0x6f, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x50, 0x61, 0x67, 0x65, 0x4e, 0x6f, 0x12, 0x1a, 0x0a, 0x08, 0x50, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x50, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x22, 0x73, 0x0a, 0x12, 0x43, 0x6f, 0x69, 0x6e, 0x50, 0x6f, 0x6f, 0x6c, 0x53, 0x74, 0x61, 0x74, 0x65, 0x73, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x1a, 0x0a, 0x08, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x41, 0x0a, 0x0f, 0x43, 0x6f, 0x69, 0x6e, 0x50, 0x6f, 0x6f, 0x6c, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x77, 0x65, 0x62, 0x61, 0x70, 0x69, 0x2e, 0x43, 0x6f, 0x69, 0x6e, 0x50, 0x6f, 0x6f, 0x6c, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x0f, 0x43, 0x6f, 0x69, 0x6e, 0x50, 0x6f, 0x6f, 0x6c, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x22, 0x95, 0x01, 0x0a, 0x12, 0x53, 0x41, 0x51, 0x75, 0x65, 0x72, 0x79, 0x41, 0x6c, 0x6c, 0x47, 0x61, 0x6d, 0x65, 0x50, 0x6f, 0x6f, 0x6c, 0x12, 0x21, 0x0a, 0x03, 0x54, 0x61, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x0f, 0x2e, 0x77, 0x65, 0x62, 0x61, 0x70, 0x69, 0x2e, 0x54, 0x61, 0x67, 0x43, 0x6f, 0x64, 0x65, 0x52, 0x03, 0x54, 0x61, 0x67, 0x12, 0x10, 0x0a, 0x03, 0x4d, 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x4d, 0x73, 0x67, 0x12, 0x4a, 0x0a, 0x12, 0x43, 0x6f, 0x69, 0x6e, 0x50, 0x6f, 0x6f, 0x6c, 0x53, 0x74, 0x61, 0x74, 0x65, 0x73, 0x49, 0x6e, 0x66, 0x6f, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x77, 0x65, 0x62, 0x61, 0x70, 0x69, 0x2e, 0x43, 0x6f, 0x69, 0x6e, 0x50, 0x6f, 0x6f, 0x6c, 0x53, 0x74, 0x61, 0x74, 0x65, 0x73, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x12, 0x43, 0x6f, 0x69, 0x6e, 0x50, 0x6f, 0x6f, 0x6c, 0x53, 0x74, 0x61, 0x74, 0x65, 0x73, 0x49, 0x6e, 0x66, 0x6f, 0x22, 0xec, 0x02, 0x0a, 0x0a, 0x41, 0x53, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x6f, 0x6f, 0x6d, 0x12, 0x1a, 0x0a, 0x08, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x16, 0x0a, 0x06, 0x47, 0x61, 0x6d, 0x65, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x47, 0x61, 0x6d, 0x65, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x47, 0x61, 0x6d, 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x47, 0x61, 0x6d, 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x53, 0x6e, 0x49, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x53, 0x6e, 0x49, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x53, 0x63, 0x65, 0x6e, 0x65, 0x49, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x53, 0x63, 0x65, 0x6e, 0x65, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x50, 0x61, 0x67, 0x65, 0x4e, 0x6f, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x50, 0x61, 0x67, 0x65, 0x4e, 0x6f, 0x12, 0x1a, 0x0a, 0x08, 0x50, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x50, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x43, 0x6c, 0x75, 0x62, 0x49, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x43, 0x6c, 0x75, 0x62, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x52, 0x6f, 0x6f, 0x6d, 0x54, 0x79, 0x70, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x52, 0x6f, 0x6f, 0x6d, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x47, 0x61, 0x6d, 0x65, 0x66, 0x72, 0x65, 0x65, 0x49, 0x64, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x47, 0x61, 0x6d, 0x65, 0x66, 0x72, 0x65, 0x65, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x49, 0x73, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x49, 0x73, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x12, 0x22, 0x0a, 0x0c, 0x52, 0x6f, 0x6f, 0x6d, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x49, 0x64, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, 0x52, 0x6f, 0x6f, 0x6d, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x49, 0x64, 0x22, 0xc3, 0x01, 0x0a, 0x0a, 0x53, 0x41, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x6f, 0x6f, 0x6d, 0x12, 0x21, 0x0a, 0x03, 0x54, 0x61, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x0f, 0x2e, 0x77, 0x65, 0x62, 0x61, 0x70, 0x69, 0x2e, 0x54, 0x61, 0x67, 0x43, 0x6f, 0x64, 0x65, 0x52, 0x03, 0x54, 0x61, 0x67, 0x12, 0x10, 0x0a, 0x03, 0x4d, 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x4d, 0x73, 0x67, 0x12, 0x16, 0x0a, 0x06, 0x50, 0x61, 0x67, 0x65, 0x4e, 0x6f, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x50, 0x61, 0x67, 0x65, 0x4e, 0x6f, 0x12, 0x1c, 0x0a, 0x09, 0x50, 0x61, 0x67, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x50, 0x61, 0x67, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x4c, 0x69, 0x73, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x2c, 0x0a, 0x08, 0x52, 0x6f, 0x6f, 0x6d, 0x49, 0x6e, 0x66, 0x6f, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x77, 0x65, 0x62, 0x61, 0x70, 0x69, 0x2e, 0x52, 0x6f, 0x6f, 0x6d, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x08, 0x52, 0x6f, 0x6f, 0x6d, 0x49, 0x6e, 0x66, 0x6f, 0x22, 0x39, 0x0a, 0x09, 0x41, 0x53, 0x47, 0x65, 0x74, 0x52, 0x6f, 0x6f, 0x6d, 0x12, 0x18, 0x0a, 0x07, 0x53, 0x63, 0x65, 0x6e, 0x65, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x53, 0x63, 0x65, 0x6e, 0x65, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x53, 0x6e, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x53, 0x6e, 0x49, 0x64, 0x22, 0x6e, 0x0a, 0x09, 0x53, 0x41, 0x47, 0x65, 0x74, 0x52, 0x6f, 0x6f, 0x6d, 0x12, 0x21, 0x0a, 0x03, 0x54, 0x61, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x0f, 0x2e, 0x77, 0x65, 0x62, 0x61, 0x70, 0x69, 0x2e, 0x54, 0x61, 0x67, 0x43, 0x6f, 0x64, 0x65, 0x52, 0x03, 0x54, 0x61, 0x67, 0x12, 0x10, 0x0a, 0x03, 0x4d, 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x4d, 0x73, 0x67, 0x12, 0x2c, 0x0a, 0x08, 0x52, 0x6f, 0x6f, 0x6d, 0x49, 0x6e, 0x66, 0x6f, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x77, 0x65, 0x62, 0x61, 0x70, 0x69, 0x2e, 0x52, 0x6f, 0x6f, 0x6d, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x08, 0x52, 0x6f, 0x6f, 0x6d, 0x49, 0x6e, 0x66, 0x6f, 0x22, 0x69, 0x0a, 0x0d, 0x41, 0x53, 0x44, 0x65, 0x73, 0x74, 0x72, 0x6f, 0x79, 0x52, 0x6f, 0x6f, 0x6d, 0x12, 0x1a, 0x0a, 0x08, 0x53, 0x63, 0x65, 0x6e, 0x65, 0x49, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x05, 0x52, 0x08, 0x53, 0x63, 0x65, 0x6e, 0x65, 0x49, 0x64, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x20, 0x0a, 0x0b, 0x44, 0x65, 0x73, 0x74, 0x72, 0x6f, 0x79, 0x54, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x44, 0x65, 0x73, 0x74, 0x72, 0x6f, 0x79, 0x54, 0x79, 0x70, 0x65, 0x22, 0x44, 0x0a, 0x0d, 0x53, 0x41, 0x44, 0x65, 0x73, 0x74, 0x72, 0x6f, 0x79, 0x52, 0x6f, 0x6f, 0x6d, 0x12, 0x21, 0x0a, 0x03, 0x54, 0x61, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x0f, 0x2e, 0x77, 0x65, 0x62, 0x61, 0x70, 0x69, 0x2e, 0x54, 0x61, 0x67, 0x43, 0x6f, 0x64, 0x65, 0x52, 0x03, 0x54, 0x61, 0x67, 0x12, 0x10, 0x0a, 0x03, 0x4d, 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x4d, 0x73, 0x67, 0x22, 0x7e, 0x0a, 0x14, 0x41, 0x53, 0x53, 0x69, 0x6e, 0x67, 0x6c, 0x65, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x41, 0x64, 0x6a, 0x75, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x4f, 0x70, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x4f, 0x70, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x4a, 0x0a, 0x12, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x53, 0x69, 0x6e, 0x67, 0x6c, 0x65, 0x41, 0x64, 0x6a, 0x75, 0x73, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x77, 0x65, 0x62, 0x61, 0x70, 0x69, 0x2e, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x53, 0x69, 0x6e, 0x67, 0x6c, 0x65, 0x41, 0x64, 0x6a, 0x75, 0x73, 0x74, 0x52, 0x12, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x53, 0x69, 0x6e, 0x67, 0x6c, 0x65, 0x41, 0x64, 0x6a, 0x75, 0x73, 0x74, 0x22, 0x97, 0x01, 0x0a, 0x14, 0x53, 0x41, 0x53, 0x69, 0x6e, 0x67, 0x6c, 0x65, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x41, 0x64, 0x6a, 0x75, 0x73, 0x74, 0x12, 0x21, 0x0a, 0x03, 0x54, 0x61, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x0f, 0x2e, 0x77, 0x65, 0x62, 0x61, 0x70, 0x69, 0x2e, 0x54, 0x61, 0x67, 0x43, 0x6f, 0x64, 0x65, 0x52, 0x03, 0x54, 0x61, 0x67, 0x12, 0x10, 0x0a, 0x03, 0x4d, 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x4d, 0x73, 0x67, 0x12, 0x4a, 0x0a, 0x12, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x53, 0x69, 0x6e, 0x67, 0x6c, 0x65, 0x41, 0x64, 0x6a, 0x75, 0x73, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x77, 0x65, 0x62, 0x61, 0x70, 0x69, 0x2e, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x53, 0x69, 0x6e, 0x67, 0x6c, 0x65, 0x41, 0x64, 0x6a, 0x75, 0x73, 0x74, 0x52, 0x12, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x53, 0x69, 0x6e, 0x67, 0x6c, 0x65, 0x41, 0x64, 0x6a, 0x75, 0x73, 0x74, 0x22, 0x3d, 0x0a, 0x0f, 0x41, 0x53, 0x47, 0x65, 0x74, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x44, 0x61, 0x74, 0x61, 0x12, 0x1a, 0x0a, 0x08, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x44, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x49, 0x44, 0x22, 0x7a, 0x0a, 0x0f, 0x53, 0x41, 0x47, 0x65, 0x74, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x44, 0x61, 0x74, 0x61, 0x12, 0x21, 0x0a, 0x03, 0x54, 0x61, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x0f, 0x2e, 0x77, 0x65, 0x62, 0x61, 0x70, 0x69, 0x2e, 0x54, 0x61, 0x67, 0x43, 0x6f, 0x64, 0x65, 0x52, 0x03, 0x54, 0x61, 0x67, 0x12, 0x10, 0x0a, 0x03, 0x4d, 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x4d, 0x73, 0x67, 0x12, 0x32, 0x0a, 0x0a, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x44, 0x61, 0x74, 0x61, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x77, 0x65, 0x62, 0x61, 0x70, 0x69, 0x2e, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x44, 0x61, 0x74, 0x61, 0x52, 0x0a, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x44, 0x61, 0x74, 0x61, 0x22, 0x44, 0x0a, 0x10, 0x41, 0x53, 0x4d, 0x6f, 0x72, 0x65, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x44, 0x61, 0x74, 0x61, 0x12, 0x14, 0x0a, 0x05, 0x53, 0x6e, 0x49, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x05, 0x52, 0x05, 0x53, 0x6e, 0x49, 0x64, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x22, 0x7b, 0x0a, 0x10, 0x53, 0x41, 0x4d, 0x6f, 0x72, 0x65, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x44, 0x61, 0x74, 0x61, 0x12, 0x21, 0x0a, 0x03, 0x54, 0x61, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x0f, 0x2e, 0x77, 0x65, 0x62, 0x61, 0x70, 0x69, 0x2e, 0x54, 0x61, 0x67, 0x43, 0x6f, 0x64, 0x65, 0x52, 0x03, 0x54, 0x61, 0x67, 0x12, 0x10, 0x0a, 0x03, 0x4d, 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x4d, 0x73, 0x67, 0x12, 0x32, 0x0a, 0x0a, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x44, 0x61, 0x74, 0x61, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x77, 0x65, 0x62, 0x61, 0x70, 0x69, 0x2e, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x44, 0x61, 0x74, 0x61, 0x52, 0x0a, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x44, 0x61, 0x74, 0x61, 0x22, 0x56, 0x0a, 0x0c, 0x41, 0x53, 0x4b, 0x69, 0x63, 0x6b, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x12, 0x12, 0x0a, 0x04, 0x53, 0x6e, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x53, 0x6e, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x16, 0x0a, 0x06, 0x4d, 0x69, 0x6e, 0x75, 0x74, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x4d, 0x69, 0x6e, 0x75, 0x74, 0x65, 0x22, 0x43, 0x0a, 0x0c, 0x53, 0x41, 0x4b, 0x69, 0x63, 0x6b, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x12, 0x21, 0x0a, 0x03, 0x54, 0x61, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x0f, 0x2e, 0x77, 0x65, 0x62, 0x61, 0x70, 0x69, 0x2e, 0x54, 0x61, 0x67, 0x43, 0x6f, 0x64, 0x65, 0x52, 0x03, 0x54, 0x61, 0x67, 0x12, 0x10, 0x0a, 0x03, 0x4d, 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x4d, 0x73, 0x67, 0x22, 0x33, 0x0a, 0x0d, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x45, 0x6c, 0x65, 0x41, 0x72, 0x67, 0x73, 0x12, 0x10, 0x0a, 0x03, 0x4b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x4b, 0x65, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x56, 0x61, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x56, 0x61, 0x6c, 0x22, 0x84, 0x01, 0x0a, 0x15, 0x41, 0x53, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x45, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x53, 0x6e, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x53, 0x6e, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x3b, 0x0a, 0x0d, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x45, 0x6c, 0x65, 0x41, 0x72, 0x67, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x77, 0x65, 0x62, 0x61, 0x70, 0x69, 0x2e, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x45, 0x6c, 0x65, 0x41, 0x72, 0x67, 0x73, 0x52, 0x0d, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x45, 0x6c, 0x65, 0x41, 0x72, 0x67, 0x73, 0x22, 0x4c, 0x0a, 0x15, 0x53, 0x41, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x45, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x21, 0x0a, 0x03, 0x54, 0x61, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x0f, 0x2e, 0x77, 0x65, 0x62, 0x61, 0x70, 0x69, 0x2e, 0x54, 0x61, 0x67, 0x43, 0x6f, 0x64, 0x65, 0x52, 0x03, 0x54, 0x61, 0x67, 0x12, 0x10, 0x0a, 0x03, 0x4d, 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x4d, 0x73, 0x67, 0x22, 0xed, 0x01, 0x0a, 0x13, 0x41, 0x53, 0x57, 0x68, 0x69, 0x74, 0x65, 0x42, 0x6c, 0x61, 0x63, 0x6b, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x12, 0x1a, 0x0a, 0x08, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x12, 0x0a, 0x04, 0x53, 0x6e, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x53, 0x6e, 0x49, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x57, 0x42, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x11, 0x52, 0x07, 0x57, 0x42, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x20, 0x0a, 0x0b, 0x57, 0x42, 0x43, 0x6f, 0x69, 0x6e, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0b, 0x57, 0x42, 0x43, 0x6f, 0x69, 0x6e, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x26, 0x0a, 0x0e, 0x52, 0x65, 0x73, 0x65, 0x74, 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x43, 0x6f, 0x69, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0e, 0x52, 0x65, 0x73, 0x65, 0x74, 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x43, 0x6f, 0x69, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x4d, 0x61, 0x78, 0x4e, 0x75, 0x6d, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x4d, 0x61, 0x78, 0x4e, 0x75, 0x6d, 0x12, 0x14, 0x0a, 0x05, 0x53, 0x6e, 0x49, 0x64, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x05, 0x52, 0x05, 0x53, 0x6e, 0x49, 0x64, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x53, 0x74, 0x61, 0x74, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x53, 0x74, 0x61, 0x74, 0x65, 0x22, 0x4a, 0x0a, 0x13, 0x53, 0x41, 0x57, 0x68, 0x69, 0x74, 0x65, 0x42, 0x6c, 0x61, 0x63, 0x6b, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x12, 0x21, 0x0a, 0x03, 0x54, 0x61, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x0f, 0x2e, 0x77, 0x65, 0x62, 0x61, 0x70, 0x69, 0x2e, 0x54, 0x61, 0x67, 0x43, 0x6f, 0x64, 0x65, 0x52, 0x03, 0x54, 0x61, 0x67, 0x12, 0x10, 0x0a, 0x03, 0x4d, 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x4d, 0x73, 0x67, 0x22, 0x9a, 0x01, 0x0a, 0x18, 0x41, 0x53, 0x51, 0x75, 0x65, 0x72, 0x79, 0x48, 0x6f, 0x72, 0x73, 0x65, 0x52, 0x61, 0x63, 0x65, 0x4c, 0x61, 0x6d, 0x70, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x50, 0x61, 0x67, 0x65, 0x4e, 0x6f, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x50, 0x61, 0x67, 0x65, 0x4e, 0x6f, 0x12, 0x1a, 0x0a, 0x08, 0x50, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x50, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x14, 0x0a, 0x05, 0x53, 0x74, 0x61, 0x74, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x4d, 0x73, 0x67, 0x54, 0x79, 0x70, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x4d, 0x73, 0x67, 0x54, 0x79, 0x70, 0x65, 0x22, 0xaa, 0x01, 0x0a, 0x18, 0x53, 0x41, 0x51, 0x75, 0x65, 0x72, 0x79, 0x48, 0x6f, 0x72, 0x73, 0x65, 0x52, 0x61, 0x63, 0x65, 0x4c, 0x61, 0x6d, 0x70, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x21, 0x0a, 0x03, 0x54, 0x61, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x0f, 0x2e, 0x77, 0x65, 0x62, 0x61, 0x70, 0x69, 0x2e, 0x54, 0x61, 0x67, 0x43, 0x6f, 0x64, 0x65, 0x52, 0x03, 0x54, 0x61, 0x67, 0x12, 0x10, 0x0a, 0x03, 0x4d, 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x4d, 0x73, 0x67, 0x12, 0x1c, 0x0a, 0x09, 0x50, 0x61, 0x67, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x50, 0x61, 0x67, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x3b, 0x0a, 0x0d, 0x48, 0x6f, 0x72, 0x73, 0x65, 0x52, 0x61, 0x63, 0x65, 0x4c, 0x61, 0x6d, 0x70, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x77, 0x65, 0x62, 0x61, 0x70, 0x69, 0x2e, 0x48, 0x6f, 0x72, 0x73, 0x65, 0x52, 0x61, 0x63, 0x65, 0x4c, 0x61, 0x6d, 0x70, 0x52, 0x0d, 0x48, 0x6f, 0x72, 0x73, 0x65, 0x52, 0x61, 0x63, 0x65, 0x4c, 0x61, 0x6d, 0x70, 0x22, 0xaf, 0x02, 0x0a, 0x15, 0x41, 0x53, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x48, 0x6f, 0x72, 0x73, 0x65, 0x52, 0x61, 0x63, 0x65, 0x4c, 0x61, 0x6d, 0x70, 0x12, 0x1a, 0x0a, 0x08, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x14, 0x0a, 0x05, 0x54, 0x69, 0x74, 0x6c, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x54, 0x69, 0x74, 0x6c, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x46, 0x6f, 0x6f, 0x74, 0x65, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x46, 0x6f, 0x6f, 0x74, 0x65, 0x72, 0x12, 0x14, 0x0a, 0x05, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x53, 0x74, 0x61, 0x74, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x53, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x53, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x50, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x18, 0x08, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x50, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x12, 0x18, 0x0a, 0x07, 0x4d, 0x73, 0x67, 0x54, 0x79, 0x70, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x4d, 0x73, 0x67, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x53, 0x74, 0x61, 0x6e, 0x64, 0x53, 0x65, 0x63, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x53, 0x74, 0x61, 0x6e, 0x64, 0x53, 0x65, 0x63, 0x12, 0x16, 0x0a, 0x06, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x18, 0x0b, 0x20, 0x03, 0x28, 0x05, 0x52, 0x06, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x22, 0x4c, 0x0a, 0x15, 0x53, 0x41, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x48, 0x6f, 0x72, 0x73, 0x65, 0x52, 0x61, 0x63, 0x65, 0x4c, 0x61, 0x6d, 0x70, 0x12, 0x21, 0x0a, 0x03, 0x54, 0x61, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x0f, 0x2e, 0x77, 0x65, 0x62, 0x61, 0x70, 0x69, 0x2e, 0x54, 0x61, 0x67, 0x43, 0x6f, 0x64, 0x65, 0x52, 0x03, 0x54, 0x61, 0x67, 0x12, 0x10, 0x0a, 0x03, 0x4d, 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x4d, 0x73, 0x67, 0x22, 0x50, 0x0a, 0x16, 0x41, 0x53, 0x47, 0x65, 0x74, 0x48, 0x6f, 0x72, 0x73, 0x65, 0x52, 0x61, 0x63, 0x65, 0x4c, 0x61, 0x6d, 0x70, 0x42, 0x79, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x4e, 0x6f, 0x74, 0x69, 0x63, 0x65, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x4e, 0x6f, 0x74, 0x69, 0x63, 0x65, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x22, 0x8a, 0x01, 0x0a, 0x16, 0x53, 0x41, 0x47, 0x65, 0x74, 0x48, 0x6f, 0x72, 0x73, 0x65, 0x52, 0x61, 0x63, 0x65, 0x4c, 0x61, 0x6d, 0x70, 0x42, 0x79, 0x49, 0x64, 0x12, 0x21, 0x0a, 0x03, 0x54, 0x61, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x0f, 0x2e, 0x77, 0x65, 0x62, 0x61, 0x70, 0x69, 0x2e, 0x54, 0x61, 0x67, 0x43, 0x6f, 0x64, 0x65, 0x52, 0x03, 0x54, 0x61, 0x67, 0x12, 0x10, 0x0a, 0x03, 0x4d, 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x4d, 0x73, 0x67, 0x12, 0x3b, 0x0a, 0x0d, 0x48, 0x6f, 0x72, 0x73, 0x65, 0x52, 0x61, 0x63, 0x65, 0x4c, 0x61, 0x6d, 0x70, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x77, 0x65, 0x62, 0x61, 0x70, 0x69, 0x2e, 0x48, 0x6f, 0x72, 0x73, 0x65, 0x52, 0x61, 0x63, 0x65, 0x4c, 0x61, 0x6d, 0x70, 0x52, 0x0d, 0x48, 0x6f, 0x72, 0x73, 0x65, 0x52, 0x61, 0x63, 0x65, 0x4c, 0x61, 0x6d, 0x70, 0x22, 0x52, 0x0a, 0x13, 0x41, 0x53, 0x45, 0x64, 0x69, 0x74, 0x48, 0x6f, 0x72, 0x73, 0x65, 0x52, 0x61, 0x63, 0x65, 0x4c, 0x61, 0x6d, 0x70, 0x12, 0x3b, 0x0a, 0x0d, 0x48, 0x6f, 0x72, 0x73, 0x65, 0x52, 0x61, 0x63, 0x65, 0x4c, 0x61, 0x6d, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x77, 0x65, 0x62, 0x61, 0x70, 0x69, 0x2e, 0x48, 0x6f, 0x72, 0x73, 0x65, 0x52, 0x61, 0x63, 0x65, 0x4c, 0x61, 0x6d, 0x70, 0x52, 0x0d, 0x48, 0x6f, 0x72, 0x73, 0x65, 0x52, 0x61, 0x63, 0x65, 0x4c, 0x61, 0x6d, 0x70, 0x22, 0x4a, 0x0a, 0x13, 0x53, 0x41, 0x45, 0x64, 0x69, 0x74, 0x48, 0x6f, 0x72, 0x73, 0x65, 0x52, 0x61, 0x63, 0x65, 0x4c, 0x61, 0x6d, 0x70, 0x12, 0x21, 0x0a, 0x03, 0x54, 0x61, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x0f, 0x2e, 0x77, 0x65, 0x62, 0x61, 0x70, 0x69, 0x2e, 0x54, 0x61, 0x67, 0x43, 0x6f, 0x64, 0x65, 0x52, 0x03, 0x54, 0x61, 0x67, 0x12, 0x10, 0x0a, 0x03, 0x4d, 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x4d, 0x73, 0x67, 0x22, 0x59, 0x0a, 0x19, 0x41, 0x53, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x48, 0x6f, 0x72, 0x73, 0x65, 0x52, 0x61, 0x63, 0x65, 0x4c, 0x61, 0x6d, 0x70, 0x42, 0x79, 0x49, 0x64, 0x12, 0x20, 0x0a, 0x0b, 0x48, 0x6f, 0x72, 0x73, 0x65, 0x52, 0x61, 0x63, 0x65, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x48, 0x6f, 0x72, 0x73, 0x65, 0x52, 0x61, 0x63, 0x65, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x22, 0x50, 0x0a, 0x19, 0x53, 0x41, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x48, 0x6f, 0x72, 0x73, 0x65, 0x52, 0x61, 0x63, 0x65, 0x4c, 0x61, 0x6d, 0x70, 0x42, 0x79, 0x49, 0x64, 0x12, 0x21, 0x0a, 0x03, 0x54, 0x61, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x0f, 0x2e, 0x77, 0x65, 0x62, 0x61, 0x70, 0x69, 0x2e, 0x54, 0x61, 0x67, 0x43, 0x6f, 0x64, 0x65, 0x52, 0x03, 0x54, 0x61, 0x67, 0x12, 0x10, 0x0a, 0x03, 0x4d, 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x4d, 0x73, 0x67, 0x22, 0x65, 0x0a, 0x0d, 0x41, 0x53, 0x42, 0x6c, 0x61, 0x63, 0x6b, 0x42, 0x79, 0x53, 0x6e, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x12, 0x0a, 0x04, 0x53, 0x6e, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x53, 0x6e, 0x49, 0x64, 0x12, 0x24, 0x0a, 0x0d, 0x42, 0x6c, 0x61, 0x63, 0x6b, 0x6c, 0x69, 0x73, 0x74, 0x54, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0d, 0x42, 0x6c, 0x61, 0x63, 0x6b, 0x6c, 0x69, 0x73, 0x74, 0x54, 0x79, 0x70, 0x65, 0x22, 0x44, 0x0a, 0x0d, 0x53, 0x41, 0x42, 0x6c, 0x61, 0x63, 0x6b, 0x42, 0x79, 0x53, 0x6e, 0x49, 0x64, 0x12, 0x21, 0x0a, 0x03, 0x54, 0x61, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x0f, 0x2e, 0x77, 0x65, 0x62, 0x61, 0x70, 0x69, 0x2e, 0x54, 0x61, 0x67, 0x43, 0x6f, 0x64, 0x65, 0x52, 0x03, 0x54, 0x61, 0x67, 0x12, 0x10, 0x0a, 0x03, 0x4d, 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x4d, 0x73, 0x67, 0x22, 0xd6, 0x02, 0x0a, 0x14, 0x41, 0x53, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, 0x68, 0x6f, 0x72, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x4e, 0x6f, 0x74, 0x69, 0x63, 0x65, 0x54, 0x69, 0x74, 0x6c, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x4e, 0x6f, 0x74, 0x69, 0x63, 0x65, 0x54, 0x69, 0x74, 0x6c, 0x65, 0x12, 0x24, 0x0a, 0x0d, 0x4e, 0x6f, 0x74, 0x69, 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x4e, 0x6f, 0x74, 0x69, 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x18, 0x0a, 0x07, 0x53, 0x72, 0x63, 0x53, 0x6e, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x53, 0x72, 0x63, 0x53, 0x6e, 0x69, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x44, 0x65, 0x73, 0x74, 0x53, 0x6e, 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x44, 0x65, 0x73, 0x74, 0x53, 0x6e, 0x69, 0x64, 0x12, 0x20, 0x0a, 0x0b, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x54, 0x79, 0x70, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x43, 0x6f, 0x69, 0x6e, 0x18, 0x07, 0x20, 0x01, 0x28, 0x03, 0x52, 0x04, 0x43, 0x6f, 0x69, 0x6e, 0x12, 0x18, 0x0a, 0x07, 0x44, 0x69, 0x61, 0x6d, 0x6f, 0x6e, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x03, 0x52, 0x07, 0x44, 0x69, 0x61, 0x6d, 0x6f, 0x6e, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x53, 0x68, 0x6f, 0x77, 0x49, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x53, 0x68, 0x6f, 0x77, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x05, 0x52, 0x06, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, 0x24, 0x0a, 0x0d, 0x4f, 0x6e, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x0b, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0d, 0x4f, 0x6e, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x4e, 0x61, 0x6d, 0x65, 0x22, 0x4b, 0x0a, 0x14, 0x53, 0x41, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, 0x68, 0x6f, 0x72, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x21, 0x0a, 0x03, 0x54, 0x61, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x0f, 0x2e, 0x77, 0x65, 0x62, 0x61, 0x70, 0x69, 0x2e, 0x54, 0x61, 0x67, 0x43, 0x6f, 0x64, 0x65, 0x52, 0x03, 0x54, 0x61, 0x67, 0x12, 0x10, 0x0a, 0x03, 0x4d, 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x4d, 0x73, 0x67, 0x22, 0xdf, 0x01, 0x0a, 0x17, 0x41, 0x53, 0x51, 0x75, 0x65, 0x72, 0x79, 0x53, 0x68, 0x6f, 0x72, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x53, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x53, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x45, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x07, 0x45, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x50, 0x61, 0x67, 0x65, 0x4e, 0x6f, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x50, 0x61, 0x67, 0x65, 0x4e, 0x6f, 0x12, 0x1a, 0x0a, 0x08, 0x50, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x50, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x54, 0x79, 0x70, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x1a, 0x0a, 0x08, 0x44, 0x65, 0x73, 0x74, 0x53, 0x6e, 0x69, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x44, 0x65, 0x73, 0x74, 0x53, 0x6e, 0x69, 0x64, 0x22, 0x9b, 0x01, 0x0a, 0x17, 0x53, 0x41, 0x51, 0x75, 0x65, 0x72, 0x79, 0x53, 0x68, 0x6f, 0x72, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x21, 0x0a, 0x03, 0x54, 0x61, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x0f, 0x2e, 0x77, 0x65, 0x62, 0x61, 0x70, 0x69, 0x2e, 0x54, 0x61, 0x67, 0x43, 0x6f, 0x64, 0x65, 0x52, 0x03, 0x54, 0x61, 0x67, 0x12, 0x10, 0x0a, 0x03, 0x4d, 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x4d, 0x73, 0x67, 0x12, 0x14, 0x0a, 0x05, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x35, 0x0a, 0x0b, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x77, 0x65, 0x62, 0x61, 0x70, 0x69, 0x2e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0b, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x22, 0x42, 0x0a, 0x14, 0x41, 0x53, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x53, 0x68, 0x6f, 0x72, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x22, 0x4b, 0x0a, 0x14, 0x53, 0x41, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x53, 0x68, 0x6f, 0x72, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x21, 0x0a, 0x03, 0x54, 0x61, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x0f, 0x2e, 0x77, 0x65, 0x62, 0x61, 0x70, 0x69, 0x2e, 0x54, 0x61, 0x67, 0x43, 0x6f, 0x64, 0x65, 0x52, 0x03, 0x54, 0x61, 0x67, 0x12, 0x10, 0x0a, 0x03, 0x4d, 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x4d, 0x73, 0x67, 0x22, 0xfb, 0x01, 0x0a, 0x17, 0x41, 0x53, 0x51, 0x75, 0x65, 0x72, 0x79, 0x4f, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x16, 0x0a, 0x06, 0x47, 0x61, 0x6d, 0x65, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x47, 0x61, 0x6d, 0x65, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x50, 0x61, 0x67, 0x65, 0x4e, 0x6f, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x50, 0x61, 0x67, 0x65, 0x4e, 0x6f, 0x12, 0x1a, 0x0a, 0x08, 0x50, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x50, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x12, 0x1c, 0x0a, 0x09, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x54, 0x79, 0x70, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x47, 0x61, 0x6d, 0x65, 0x46, 0x72, 0x65, 0x65, 0x49, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x47, 0x61, 0x6d, 0x65, 0x46, 0x72, 0x65, 0x65, 0x49, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x22, 0xd4, 0x01, 0x0a, 0x17, 0x53, 0x41, 0x51, 0x75, 0x65, 0x72, 0x79, 0x4f, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x21, 0x0a, 0x03, 0x54, 0x61, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x0f, 0x2e, 0x77, 0x65, 0x62, 0x61, 0x70, 0x69, 0x2e, 0x54, 0x61, 0x67, 0x43, 0x6f, 0x64, 0x65, 0x52, 0x03, 0x54, 0x61, 0x67, 0x12, 0x10, 0x0a, 0x03, 0x4d, 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x4d, 0x73, 0x67, 0x12, 0x32, 0x0a, 0x0a, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x44, 0x61, 0x74, 0x61, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x77, 0x65, 0x62, 0x61, 0x70, 0x69, 0x2e, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x44, 0x61, 0x74, 0x61, 0x52, 0x0a, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x44, 0x61, 0x74, 0x61, 0x12, 0x1c, 0x0a, 0x09, 0x50, 0x61, 0x67, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x50, 0x61, 0x67, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x50, 0x61, 0x67, 0x65, 0x4e, 0x6f, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x50, 0x61, 0x67, 0x65, 0x4e, 0x6f, 0x12, 0x1a, 0x0a, 0x08, 0x50, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x50, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x22, 0x2a, 0x0a, 0x0e, 0x41, 0x53, 0x53, 0x72, 0x76, 0x43, 0x74, 0x72, 0x6c, 0x43, 0x6c, 0x6f, 0x73, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x53, 0x72, 0x76, 0x54, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x53, 0x72, 0x76, 0x54, 0x79, 0x70, 0x65, 0x22, 0x45, 0x0a, 0x0e, 0x53, 0x41, 0x53, 0x72, 0x76, 0x43, 0x74, 0x72, 0x6c, 0x43, 0x6c, 0x6f, 0x73, 0x65, 0x12, 0x21, 0x0a, 0x03, 0x54, 0x61, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x0f, 0x2e, 0x77, 0x65, 0x62, 0x61, 0x70, 0x69, 0x2e, 0x54, 0x61, 0x67, 0x43, 0x6f, 0x64, 0x65, 0x52, 0x03, 0x54, 0x61, 0x67, 0x12, 0x10, 0x0a, 0x03, 0x4d, 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x4d, 0x73, 0x67, 0x22, 0x77, 0x0a, 0x0f, 0x41, 0x53, 0x53, 0x72, 0x76, 0x43, 0x74, 0x72, 0x6c, 0x4e, 0x6f, 0x74, 0x69, 0x63, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x4f, 0x70, 0x4e, 0x6f, 0x74, 0x69, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x4f, 0x70, 0x4e, 0x6f, 0x74, 0x69, 0x63, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x12, 0x16, 0x0a, 0x06, 0x4e, 0x6f, 0x74, 0x69, 0x63, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x4e, 0x6f, 0x74, 0x69, 0x63, 0x65, 0x22, 0x46, 0x0a, 0x0f, 0x53, 0x41, 0x53, 0x72, 0x76, 0x43, 0x74, 0x72, 0x6c, 0x4e, 0x6f, 0x74, 0x69, 0x63, 0x65, 0x12, 0x21, 0x0a, 0x03, 0x54, 0x61, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x0f, 0x2e, 0x77, 0x65, 0x62, 0x61, 0x70, 0x69, 0x2e, 0x54, 0x61, 0x67, 0x43, 0x6f, 0x64, 0x65, 0x52, 0x03, 0x54, 0x61, 0x67, 0x12, 0x10, 0x0a, 0x03, 0x4d, 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x4d, 0x73, 0x67, 0x22, 0x16, 0x0a, 0x14, 0x41, 0x53, 0x53, 0x72, 0x76, 0x43, 0x74, 0x72, 0x6c, 0x53, 0x74, 0x61, 0x72, 0x74, 0x53, 0x63, 0x72, 0x69, 0x70, 0x74, 0x22, 0x4b, 0x0a, 0x14, 0x53, 0x41, 0x53, 0x72, 0x76, 0x43, 0x74, 0x72, 0x6c, 0x53, 0x74, 0x61, 0x72, 0x74, 0x53, 0x63, 0x72, 0x69, 0x70, 0x74, 0x12, 0x21, 0x0a, 0x03, 0x54, 0x61, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x0f, 0x2e, 0x77, 0x65, 0x62, 0x61, 0x70, 0x69, 0x2e, 0x54, 0x61, 0x67, 0x43, 0x6f, 0x64, 0x65, 0x52, 0x03, 0x54, 0x61, 0x67, 0x12, 0x10, 0x0a, 0x03, 0x4d, 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x4d, 0x73, 0x67, 0x22, 0x44, 0x0a, 0x12, 0x41, 0x53, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x65, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x53, 0x72, 0x76, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x53, 0x72, 0x76, 0x49, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x53, 0x72, 0x76, 0x54, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x53, 0x72, 0x76, 0x54, 0x79, 0x70, 0x65, 0x22, 0x7d, 0x0a, 0x12, 0x53, 0x41, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x65, 0x73, 0x12, 0x21, 0x0a, 0x03, 0x54, 0x61, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x0f, 0x2e, 0x77, 0x65, 0x62, 0x61, 0x70, 0x69, 0x2e, 0x54, 0x61, 0x67, 0x43, 0x6f, 0x64, 0x65, 0x52, 0x03, 0x54, 0x61, 0x67, 0x12, 0x10, 0x0a, 0x03, 0x4d, 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x4d, 0x73, 0x67, 0x12, 0x32, 0x0a, 0x0a, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x77, 0x65, 0x62, 0x61, 0x70, 0x69, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0a, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x22, 0x45, 0x0a, 0x13, 0x41, 0x53, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x65, 0x53, 0x77, 0x69, 0x74, 0x63, 0x68, 0x12, 0x14, 0x0a, 0x05, 0x53, 0x72, 0x76, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x53, 0x72, 0x76, 0x49, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x53, 0x72, 0x76, 0x54, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x53, 0x72, 0x76, 0x54, 0x79, 0x70, 0x65, 0x22, 0x4a, 0x0a, 0x13, 0x53, 0x41, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x65, 0x53, 0x77, 0x69, 0x74, 0x63, 0x68, 0x12, 0x21, 0x0a, 0x03, 0x54, 0x61, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x0f, 0x2e, 0x77, 0x65, 0x62, 0x61, 0x70, 0x69, 0x2e, 0x54, 0x61, 0x67, 0x43, 0x6f, 0x64, 0x65, 0x52, 0x03, 0x54, 0x61, 0x67, 0x12, 0x10, 0x0a, 0x03, 0x4d, 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x4d, 0x73, 0x67, 0x22, 0x11, 0x0a, 0x0f, 0x41, 0x53, 0x52, 0x65, 0x73, 0x65, 0x74, 0x45, 0x74, 0x63, 0x64, 0x44, 0x61, 0x74, 0x61, 0x22, 0x46, 0x0a, 0x0f, 0x53, 0x41, 0x52, 0x65, 0x73, 0x65, 0x74, 0x45, 0x74, 0x63, 0x64, 0x44, 0x61, 0x74, 0x61, 0x12, 0x21, 0x0a, 0x03, 0x54, 0x61, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x0f, 0x2e, 0x77, 0x65, 0x62, 0x61, 0x70, 0x69, 0x2e, 0x54, 0x61, 0x67, 0x43, 0x6f, 0x64, 0x65, 0x52, 0x03, 0x54, 0x61, 0x67, 0x12, 0x10, 0x0a, 0x03, 0x4d, 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x4d, 0x73, 0x67, 0x22, 0x67, 0x0a, 0x13, 0x41, 0x53, 0x4f, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x12, 0x1a, 0x0a, 0x08, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x18, 0x0a, 0x07, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x12, 0x1a, 0x0a, 0x08, 0x50, 0x72, 0x6f, 0x6d, 0x6f, 0x74, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x50, 0x72, 0x6f, 0x6d, 0x6f, 0x74, 0x65, 0x72, 0x22, 0x84, 0x01, 0x0a, 0x13, 0x53, 0x41, 0x4f, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x12, 0x21, 0x0a, 0x03, 0x54, 0x61, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x0f, 0x2e, 0x77, 0x65, 0x62, 0x61, 0x70, 0x69, 0x2e, 0x54, 0x61, 0x67, 0x43, 0x6f, 0x64, 0x65, 0x52, 0x03, 0x54, 0x61, 0x67, 0x12, 0x10, 0x0a, 0x03, 0x4d, 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x4d, 0x73, 0x67, 0x12, 0x38, 0x0a, 0x0c, 0x4f, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x77, 0x65, 0x62, 0x61, 0x70, 0x69, 0x2e, 0x4f, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x0c, 0x4f, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x22, 0xdc, 0x01, 0x0a, 0x12, 0x41, 0x53, 0x41, 0x64, 0x64, 0x43, 0x6f, 0x69, 0x6e, 0x42, 0x79, 0x49, 0x64, 0x41, 0x6e, 0x64, 0x50, 0x54, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x49, 0x44, 0x12, 0x1a, 0x0a, 0x08, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x18, 0x0a, 0x07, 0x4c, 0x6f, 0x67, 0x54, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x4c, 0x6f, 0x67, 0x54, 0x79, 0x70, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x47, 0x6f, 0x6c, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x04, 0x47, 0x6f, 0x6c, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x4f, 0x70, 0x65, 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x4f, 0x70, 0x65, 0x72, 0x12, 0x12, 0x0a, 0x04, 0x44, 0x65, 0x73, 0x63, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x44, 0x65, 0x73, 0x63, 0x12, 0x16, 0x0a, 0x06, 0x42, 0x69, 0x6c, 0x6c, 0x4e, 0x6f, 0x18, 0x07, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x42, 0x69, 0x6c, 0x6c, 0x4e, 0x6f, 0x12, 0x14, 0x0a, 0x05, 0x4d, 0x6f, 0x6e, 0x65, 0x79, 0x18, 0x08, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x4d, 0x6f, 0x6e, 0x65, 0x79, 0x12, 0x16, 0x0a, 0x06, 0x53, 0x68, 0x6f, 0x70, 0x49, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x53, 0x68, 0x6f, 0x70, 0x49, 0x64, 0x22, 0x49, 0x0a, 0x12, 0x53, 0x41, 0x41, 0x64, 0x64, 0x43, 0x6f, 0x69, 0x6e, 0x42, 0x79, 0x49, 0x64, 0x41, 0x6e, 0x64, 0x50, 0x54, 0x12, 0x21, 0x0a, 0x03, 0x54, 0x61, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x0f, 0x2e, 0x77, 0x65, 0x62, 0x61, 0x70, 0x69, 0x2e, 0x54, 0x61, 0x67, 0x43, 0x6f, 0x64, 0x65, 0x52, 0x03, 0x54, 0x61, 0x67, 0x12, 0x10, 0x0a, 0x03, 0x4d, 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x4d, 0x73, 0x67, 0x22, 0x66, 0x0a, 0x0c, 0x4a, 0x79, 0x62, 0x49, 0x6e, 0x66, 0x6f, 0x41, 0x77, 0x61, 0x72, 0x64, 0x12, 0x28, 0x0a, 0x06, 0x49, 0x74, 0x65, 0x6d, 0x49, 0x64, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x77, 0x65, 0x62, 0x61, 0x70, 0x69, 0x2e, 0x49, 0x74, 0x65, 0x6d, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x06, 0x49, 0x74, 0x65, 0x6d, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x43, 0x6f, 0x69, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x04, 0x43, 0x6f, 0x69, 0x6e, 0x12, 0x18, 0x0a, 0x07, 0x44, 0x69, 0x61, 0x6d, 0x6f, 0x6e, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x07, 0x44, 0x69, 0x61, 0x6d, 0x6f, 0x6e, 0x64, 0x22, 0xb1, 0x02, 0x0a, 0x0b, 0x41, 0x53, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4a, 0x59, 0x42, 0x12, 0x1a, 0x0a, 0x08, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x12, 0x0a, 0x04, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x53, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x53, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x45, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x07, 0x45, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x12, 0x10, 0x0a, 0x03, 0x4d, 0x61, 0x78, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x4d, 0x61, 0x78, 0x12, 0x18, 0x0a, 0x07, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x2a, 0x0a, 0x05, 0x41, 0x77, 0x61, 0x72, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x77, 0x65, 0x62, 0x61, 0x70, 0x69, 0x2e, 0x4a, 0x79, 0x62, 0x49, 0x6e, 0x66, 0x6f, 0x41, 0x77, 0x61, 0x72, 0x64, 0x52, 0x05, 0x41, 0x77, 0x61, 0x72, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x43, 0x6f, 0x64, 0x65, 0x4c, 0x65, 0x6e, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x43, 0x6f, 0x64, 0x65, 0x4c, 0x65, 0x6e, 0x12, 0x1a, 0x0a, 0x08, 0x43, 0x6f, 0x64, 0x65, 0x54, 0x79, 0x70, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x43, 0x6f, 0x64, 0x65, 0x54, 0x79, 0x70, 0x65, 0x22, 0x42, 0x0a, 0x0b, 0x53, 0x41, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4a, 0x59, 0x42, 0x12, 0x21, 0x0a, 0x03, 0x54, 0x61, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x0f, 0x2e, 0x77, 0x65, 0x62, 0x61, 0x70, 0x69, 0x2e, 0x54, 0x61, 0x67, 0x43, 0x6f, 0x64, 0x65, 0x52, 0x03, 0x54, 0x61, 0x67, 0x12, 0x10, 0x0a, 0x03, 0x4d, 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x4d, 0x73, 0x67, 0x22, 0x5b, 0x0a, 0x0b, 0x41, 0x53, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4a, 0x59, 0x42, 0x12, 0x1a, 0x0a, 0x08, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x14, 0x0a, 0x05, 0x4a, 0x59, 0x42, 0x49, 0x44, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x4a, 0x59, 0x42, 0x49, 0x44, 0x12, 0x1a, 0x0a, 0x08, 0x4f, 0x70, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x4f, 0x70, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x42, 0x0a, 0x0b, 0x53, 0x41, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4a, 0x59, 0x42, 0x12, 0x21, 0x0a, 0x03, 0x54, 0x61, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x0f, 0x2e, 0x77, 0x65, 0x62, 0x61, 0x70, 0x69, 0x2e, 0x54, 0x61, 0x67, 0x43, 0x6f, 0x64, 0x65, 0x52, 0x03, 0x54, 0x61, 0x67, 0x12, 0x10, 0x0a, 0x03, 0x4d, 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x4d, 0x73, 0x67, 0x22, 0xe6, 0x01, 0x0a, 0x10, 0x41, 0x53, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, 0x61, 0x79, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x12, 0x12, 0x0a, 0x04, 0x53, 0x6e, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x53, 0x6e, 0x69, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x14, 0x0a, 0x05, 0x50, 0x72, 0x69, 0x63, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x50, 0x72, 0x69, 0x63, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x4f, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x4f, 0x73, 0x12, 0x1e, 0x0a, 0x0a, 0x42, 0x65, 0x66, 0x6f, 0x72, 0x65, 0x43, 0x6f, 0x69, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x42, 0x65, 0x66, 0x6f, 0x72, 0x65, 0x43, 0x6f, 0x69, 0x6e, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x70, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x49, 0x70, 0x12, 0x10, 0x0a, 0x03, 0x45, 0x78, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x45, 0x78, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x50, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x54, 0x61, 0x67, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x50, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x54, 0x61, 0x67, 0x12, 0x1a, 0x0a, 0x08, 0x44, 0x69, 0x76, 0x69, 0x63, 0x65, 0x49, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x44, 0x69, 0x76, 0x69, 0x63, 0x65, 0x49, 0x64, 0x22, 0x2f, 0x0a, 0x09, 0x52, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x43, 0x50, 0x4f, 0x12, 0x10, 0x0a, 0x03, 0x55, 0x72, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x55, 0x72, 0x6c, 0x12, 0x10, 0x0a, 0x03, 0x45, 0x72, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x45, 0x72, 0x72, 0x22, 0x66, 0x0a, 0x10, 0x53, 0x41, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, 0x61, 0x79, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x12, 0x21, 0x0a, 0x03, 0x54, 0x61, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x0f, 0x2e, 0x77, 0x65, 0x62, 0x61, 0x70, 0x69, 0x2e, 0x54, 0x61, 0x67, 0x43, 0x6f, 0x64, 0x65, 0x52, 0x03, 0x54, 0x61, 0x67, 0x12, 0x2f, 0x0a, 0x09, 0x52, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x43, 0x50, 0x4f, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x77, 0x65, 0x62, 0x61, 0x70, 0x69, 0x2e, 0x52, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x43, 0x50, 0x4f, 0x52, 0x09, 0x52, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x43, 0x50, 0x4f, 0x22, 0xe3, 0x03, 0x0a, 0x15, 0x41, 0x53, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x45, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x12, 0x12, 0x0a, 0x04, 0x53, 0x6e, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x53, 0x6e, 0x69, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x12, 0x0a, 0x04, 0x54, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x54, 0x79, 0x70, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x47, 0x6f, 0x6f, 0x64, 0x73, 0x49, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x47, 0x6f, 0x6f, 0x64, 0x73, 0x49, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x56, 0x43, 0x61, 0x72, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x56, 0x43, 0x61, 0x72, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x47, 0x6f, 0x6f, 0x64, 0x73, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x47, 0x6f, 0x6f, 0x64, 0x73, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x55, 0x73, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x55, 0x73, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x4d, 0x6f, 0x62, 0x69, 0x6c, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x4d, 0x6f, 0x62, 0x69, 0x6c, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x4a, 0x50, 0x72, 0x69, 0x63, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x4a, 0x50, 0x72, 0x69, 0x63, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x43, 0x61, 0x73, 0x68, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x43, 0x61, 0x73, 0x68, 0x12, 0x16, 0x0a, 0x06, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x22, 0x0a, 0x0c, 0x45, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x54, 0x79, 0x70, 0x65, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, 0x45, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x47, 0x69, 0x76, 0x65, 0x54, 0x79, 0x70, 0x65, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x47, 0x69, 0x76, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x54, 0x65, 0x6c, 0x43, 0x68, 0x61, 0x72, 0x67, 0x65, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x54, 0x65, 0x6c, 0x43, 0x68, 0x61, 0x72, 0x67, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x56, 0x69, 0x70, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x10, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x56, 0x69, 0x70, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x14, 0x0a, 0x05, 0x54, 0x65, 0x6c, 0x49, 0x64, 0x18, 0x11, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x54, 0x65, 0x6c, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x44, 0x50, 0x72, 0x69, 0x63, 0x65, 0x18, 0x12, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x44, 0x50, 0x72, 0x69, 0x63, 0x65, 0x22, 0xad, 0x01, 0x0a, 0x15, 0x53, 0x41, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x45, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x12, 0x21, 0x0a, 0x03, 0x54, 0x61, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x0f, 0x2e, 0x77, 0x65, 0x62, 0x61, 0x70, 0x69, 0x2e, 0x54, 0x61, 0x67, 0x43, 0x6f, 0x64, 0x65, 0x52, 0x03, 0x54, 0x61, 0x67, 0x12, 0x2f, 0x0a, 0x09, 0x52, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x43, 0x50, 0x4f, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x77, 0x65, 0x62, 0x61, 0x70, 0x69, 0x2e, 0x52, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x43, 0x50, 0x4f, 0x52, 0x09, 0x52, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x43, 0x50, 0x4f, 0x12, 0x26, 0x0a, 0x05, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x77, 0x65, 0x62, 0x61, 0x70, 0x69, 0x2e, 0x49, 0x74, 0x65, 0x6d, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x05, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x54, 0x65, 0x6c, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x54, 0x65, 0x6c, 0x43, 0x6f, 0x64, 0x65, 0x22, 0x58, 0x0a, 0x12, 0x41, 0x53, 0x47, 0x65, 0x74, 0x45, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x12, 0x12, 0x0a, 0x04, 0x53, 0x6e, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x53, 0x6e, 0x69, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x61, 0x67, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x70, 0x61, 0x67, 0x65, 0x22, 0xaf, 0x02, 0x0a, 0x11, 0x45, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x54, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x54, 0x79, 0x70, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x1e, 0x0a, 0x0a, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x47, 0x6f, 0x6f, 0x64, 0x73, 0x49, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x47, 0x6f, 0x6f, 0x64, 0x73, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x52, 0x65, 0x6d, 0x61, 0x72, 0x6b, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x52, 0x65, 0x6d, 0x61, 0x72, 0x6b, 0x12, 0x1c, 0x0a, 0x09, 0x50, 0x61, 0x79, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x08, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x50, 0x61, 0x79, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x20, 0x0a, 0x0b, 0x45, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x4e, 0x75, 0x6d, 0x18, 0x09, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x45, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x4e, 0x75, 0x6d, 0x12, 0x22, 0x0a, 0x0c, 0x45, 0x58, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x54, 0x79, 0x70, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, 0x45, 0x58, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x54, 0x65, 0x6c, 0x49, 0x64, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x54, 0x65, 0x6c, 0x49, 0x64, 0x22, 0xdc, 0x01, 0x0a, 0x12, 0x53, 0x41, 0x47, 0x65, 0x74, 0x45, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x12, 0x21, 0x0a, 0x03, 0x54, 0x61, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x0f, 0x2e, 0x77, 0x65, 0x62, 0x61, 0x70, 0x69, 0x2e, 0x54, 0x61, 0x67, 0x43, 0x6f, 0x64, 0x65, 0x52, 0x03, 0x54, 0x61, 0x67, 0x12, 0x14, 0x0a, 0x05, 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x12, 0x18, 0x0a, 0x07, 0x43, 0x75, 0x72, 0x50, 0x61, 0x67, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x43, 0x75, 0x72, 0x50, 0x61, 0x67, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x50, 0x61, 0x67, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x50, 0x61, 0x67, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x12, 0x37, 0x0a, 0x09, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x4c, 0x69, 0x73, 0x74, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x77, 0x65, 0x62, 0x61, 0x70, 0x69, 0x2e, 0x45, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x09, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x4c, 0x69, 0x73, 0x74, 0x22, 0xe8, 0x01, 0x0a, 0x12, 0x41, 0x53, 0x55, 0x70, 0x45, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x47, 0x6f, 0x6f, 0x64, 0x73, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x47, 0x6f, 0x6f, 0x64, 0x73, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x53, 0x6e, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x53, 0x6e, 0x69, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x12, 0x0a, 0x04, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x4e, 0x65, 0x65, 0x64, 0x4e, 0x75, 0x6d, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x4e, 0x65, 0x65, 0x64, 0x4e, 0x75, 0x6d, 0x12, 0x16, 0x0a, 0x06, 0x4a, 0x50, 0x72, 0x69, 0x63, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x4a, 0x50, 0x72, 0x69, 0x63, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x43, 0x61, 0x73, 0x68, 0x18, 0x08, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x43, 0x61, 0x73, 0x68, 0x12, 0x16, 0x0a, 0x06, 0x44, 0x50, 0x72, 0x69, 0x63, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x44, 0x50, 0x72, 0x69, 0x63, 0x65, 0x22, 0x49, 0x0a, 0x12, 0x53, 0x41, 0x55, 0x70, 0x45, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x21, 0x0a, 0x03, 0x54, 0x61, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x0f, 0x2e, 0x77, 0x65, 0x62, 0x61, 0x70, 0x69, 0x2e, 0x54, 0x61, 0x67, 0x43, 0x6f, 0x64, 0x65, 0x52, 0x03, 0x54, 0x61, 0x67, 0x12, 0x10, 0x0a, 0x03, 0x4d, 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x4d, 0x73, 0x67, 0x22, 0x43, 0x0a, 0x11, 0x41, 0x53, 0x47, 0x65, 0x74, 0x45, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x53, 0x68, 0x6f, 0x70, 0x12, 0x1a, 0x0a, 0x08, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x12, 0x0a, 0x04, 0x53, 0x6e, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x53, 0x6e, 0x69, 0x64, 0x22, 0x8c, 0x01, 0x0a, 0x11, 0x53, 0x41, 0x47, 0x65, 0x74, 0x45, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x53, 0x68, 0x6f, 0x70, 0x12, 0x21, 0x0a, 0x03, 0x54, 0x61, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x0f, 0x2e, 0x77, 0x65, 0x62, 0x61, 0x70, 0x69, 0x2e, 0x54, 0x61, 0x67, 0x43, 0x6f, 0x64, 0x65, 0x52, 0x03, 0x54, 0x61, 0x67, 0x12, 0x28, 0x0a, 0x04, 0x4c, 0x69, 0x73, 0x74, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x77, 0x65, 0x62, 0x61, 0x70, 0x69, 0x2e, 0x45, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x53, 0x68, 0x6f, 0x70, 0x52, 0x04, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x2a, 0x0a, 0x06, 0x57, 0x65, 0x69, 0x67, 0x68, 0x74, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x77, 0x65, 0x62, 0x61, 0x70, 0x69, 0x2e, 0x53, 0x68, 0x6f, 0x70, 0x57, 0x65, 0x69, 0x67, 0x68, 0x74, 0x52, 0x06, 0x57, 0x65, 0x69, 0x67, 0x68, 0x74, 0x22, 0x57, 0x0a, 0x0d, 0x53, 0x41, 0x52, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x53, 0x6e, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x04, 0x53, 0x6e, 0x69, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x22, 0x45, 0x0a, 0x0d, 0x41, 0x53, 0x52, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x12, 0x10, 0x0a, 0x03, 0x54, 0x61, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x54, 0x61, 0x67, 0x12, 0x10, 0x0a, 0x03, 0x4d, 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x4d, 0x73, 0x67, 0x12, 0x10, 0x0a, 0x03, 0x55, 0x72, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x55, 0x72, 0x6c, 0x22, 0x42, 0x0a, 0x10, 0x53, 0x41, 0x52, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x4f, 0x75, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x53, 0x6e, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x04, 0x53, 0x6e, 0x69, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x22, 0x4e, 0x0a, 0x10, 0x41, 0x53, 0x52, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x4f, 0x75, 0x74, 0x12, 0x10, 0x0a, 0x03, 0x54, 0x61, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x54, 0x61, 0x67, 0x12, 0x16, 0x0a, 0x06, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x10, 0x0a, 0x03, 0x4d, 0x73, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x4d, 0x73, 0x67, 0x22, 0x67, 0x0a, 0x15, 0x41, 0x53, 0x54, 0x68, 0x64, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x43, 0x6f, 0x69, 0x6e, 0x12, 0x1e, 0x0a, 0x0a, 0x42, 0x61, 0x73, 0x65, 0x47, 0x61, 0x6d, 0x65, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x42, 0x61, 0x73, 0x65, 0x47, 0x61, 0x6d, 0x65, 0x49, 0x44, 0x12, 0x12, 0x0a, 0x04, 0x53, 0x6e, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x53, 0x6e, 0x69, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x22, 0x4c, 0x0a, 0x15, 0x53, 0x41, 0x54, 0x68, 0x64, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x43, 0x6f, 0x69, 0x6e, 0x12, 0x21, 0x0a, 0x03, 0x54, 0x61, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x0f, 0x2e, 0x77, 0x65, 0x62, 0x61, 0x70, 0x69, 0x2e, 0x54, 0x61, 0x67, 0x43, 0x6f, 0x64, 0x65, 0x52, 0x03, 0x54, 0x61, 0x67, 0x12, 0x10, 0x0a, 0x03, 0x4d, 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x4d, 0x73, 0x67, 0x22, 0xf5, 0x03, 0x0a, 0x0d, 0x53, 0x41, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x12, 0x12, 0x0a, 0x04, 0x53, 0x6e, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x53, 0x6e, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x53, 0x68, 0x6f, 0x70, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x53, 0x68, 0x6f, 0x70, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x1e, 0x0a, 0x0a, 0x50, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x54, 0x61, 0x67, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x50, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x54, 0x61, 0x67, 0x12, 0x0e, 0x0a, 0x02, 0x4f, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x4f, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x49, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x49, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x53, 0x68, 0x6f, 0x70, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x53, 0x68, 0x6f, 0x70, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x09, 0x20, 0x03, 0x28, 0x05, 0x52, 0x0b, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x2c, 0x0a, 0x08, 0x49, 0x74, 0x65, 0x6d, 0x49, 0x6e, 0x66, 0x6f, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x77, 0x65, 0x62, 0x61, 0x70, 0x69, 0x2e, 0x49, 0x74, 0x65, 0x6d, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x08, 0x49, 0x74, 0x65, 0x6d, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x22, 0x0a, 0x0c, 0x44, 0x6f, 0x6c, 0x6c, 0x61, 0x72, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, 0x44, 0x6f, 0x6c, 0x6c, 0x61, 0x72, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x49, 0x64, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x49, 0x64, 0x12, 0x0e, 0x0a, 0x02, 0x54, 0x73, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x03, 0x52, 0x02, 0x54, 0x73, 0x12, 0x28, 0x0a, 0x0f, 0x45, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x49, 0x64, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x45, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x49, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x12, 0x1c, 0x0a, 0x09, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x49, 0x44, 0x18, 0x10, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x49, 0x44, 0x12, 0x18, 0x0a, 0x07, 0x42, 0x75, 0x79, 0x54, 0x79, 0x70, 0x65, 0x18, 0x11, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x42, 0x75, 0x79, 0x54, 0x79, 0x70, 0x65, 0x22, 0x45, 0x0a, 0x0d, 0x41, 0x53, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x12, 0x10, 0x0a, 0x03, 0x54, 0x61, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x54, 0x61, 0x67, 0x12, 0x10, 0x0a, 0x03, 0x4d, 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x4d, 0x73, 0x67, 0x12, 0x10, 0x0a, 0x03, 0x55, 0x72, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x55, 0x72, 0x6c, 0x22, 0x54, 0x0a, 0x12, 0x53, 0x41, 0x57, 0x65, 0x62, 0x41, 0x50, 0x49, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x50, 0x61, 0x73, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x43, 0x42, 0x44, 0x61, 0x74, 0x61, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x43, 0x42, 0x44, 0x61, 0x74, 0x61, 0x12, 0x0e, 0x0a, 0x02, 0x54, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x02, 0x54, 0x73, 0x22, 0x66, 0x0a, 0x12, 0x41, 0x53, 0x57, 0x65, 0x62, 0x41, 0x50, 0x49, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x50, 0x61, 0x73, 0x73, 0x12, 0x1c, 0x0a, 0x09, 0x4f, 0x70, 0x52, 0x65, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x4f, 0x70, 0x52, 0x65, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x45, 0x72, 0x72, 0x4d, 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x45, 0x72, 0x72, 0x4d, 0x73, 0x67, 0x12, 0x1a, 0x0a, 0x08, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x5f, 0x0a, 0x11, 0x41, 0x53, 0x43, 0x61, 0x6c, 0x6c, 0x62, 0x61, 0x63, 0x6b, 0x50, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x14, 0x0a, 0x05, 0x53, 0x74, 0x61, 0x74, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x53, 0x74, 0x61, 0x74, 0x65, 0x22, 0x48, 0x0a, 0x11, 0x53, 0x41, 0x43, 0x61, 0x6c, 0x6c, 0x62, 0x61, 0x63, 0x6b, 0x50, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x21, 0x0a, 0x03, 0x54, 0x61, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x0f, 0x2e, 0x77, 0x65, 0x62, 0x61, 0x70, 0x69, 0x2e, 0x54, 0x61, 0x67, 0x43, 0x6f, 0x64, 0x65, 0x52, 0x03, 0x54, 0x61, 0x67, 0x12, 0x10, 0x0a, 0x03, 0x4d, 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x4d, 0x73, 0x67, 0x22, 0x1e, 0x0a, 0x0a, 0x41, 0x53, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x4d, 0x73, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x4d, 0x73, 0x67, 0x22, 0x41, 0x0a, 0x0a, 0x53, 0x41, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x21, 0x0a, 0x03, 0x54, 0x61, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x0f, 0x2e, 0x77, 0x65, 0x62, 0x61, 0x70, 0x69, 0x2e, 0x54, 0x61, 0x67, 0x43, 0x6f, 0x64, 0x65, 0x52, 0x03, 0x54, 0x61, 0x67, 0x12, 0x10, 0x0a, 0x03, 0x4d, 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x4d, 0x73, 0x67, 0x22, 0x7d, 0x0a, 0x09, 0x41, 0x53, 0x53, 0x65, 0x6e, 0x64, 0x53, 0x6d, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x53, 0x6e, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x53, 0x6e, 0x69, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x50, 0x68, 0x6f, 0x6e, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x50, 0x68, 0x6f, 0x6e, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x16, 0x0a, 0x06, 0x54, 0x79, 0x70, 0x65, 0x49, 0x44, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x54, 0x79, 0x70, 0x65, 0x49, 0x44, 0x22, 0x40, 0x0a, 0x09, 0x53, 0x41, 0x53, 0x65, 0x6e, 0x64, 0x53, 0x6d, 0x73, 0x12, 0x21, 0x0a, 0x03, 0x54, 0x61, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x0f, 0x2e, 0x77, 0x65, 0x62, 0x61, 0x70, 0x69, 0x2e, 0x54, 0x61, 0x67, 0x43, 0x6f, 0x64, 0x65, 0x52, 0x03, 0x54, 0x61, 0x67, 0x12, 0x10, 0x0a, 0x03, 0x4d, 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x4d, 0x73, 0x67, 0x22, 0xb9, 0x01, 0x0a, 0x13, 0x41, 0x53, 0x47, 0x65, 0x74, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x41, 0x77, 0x61, 0x72, 0x64, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x12, 0x0a, 0x04, 0x53, 0x6e, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x53, 0x6e, 0x69, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x49, 0x74, 0x65, 0x6d, 0x49, 0x44, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x49, 0x74, 0x65, 0x6d, 0x49, 0x44, 0x12, 0x14, 0x0a, 0x05, 0x4d, 0x6f, 0x6e, 0x65, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x4d, 0x6f, 0x6e, 0x65, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x54, 0x65, 0x6c, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x54, 0x65, 0x6c, 0x12, 0x1a, 0x0a, 0x08, 0x43, 0x61, 0x72, 0x64, 0x54, 0x79, 0x70, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x43, 0x61, 0x72, 0x64, 0x54, 0x79, 0x70, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x65, 0x6d, 0x61, 0x72, 0x6b, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x72, 0x65, 0x6d, 0x61, 0x72, 0x6b, 0x22, 0x74, 0x0a, 0x13, 0x53, 0x41, 0x47, 0x65, 0x74, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x41, 0x77, 0x61, 0x72, 0x64, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x21, 0x0a, 0x03, 0x54, 0x61, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x0f, 0x2e, 0x77, 0x65, 0x62, 0x61, 0x70, 0x69, 0x2e, 0x54, 0x61, 0x67, 0x43, 0x6f, 0x64, 0x65, 0x52, 0x03, 0x54, 0x61, 0x67, 0x12, 0x12, 0x0a, 0x04, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x4d, 0x6f, 0x6e, 0x65, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x4d, 0x6f, 0x6e, 0x65, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x4d, 0x73, 0x67, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x4d, 0x73, 0x67, 0x22, 0x4f, 0x0a, 0x0b, 0x41, 0x53, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x65, 0x6c, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x12, 0x0a, 0x04, 0x53, 0x6e, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x53, 0x6e, 0x69, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x54, 0x65, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x54, 0x65, 0x6c, 0x22, 0x42, 0x0a, 0x0b, 0x53, 0x41, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x65, 0x6c, 0x12, 0x21, 0x0a, 0x03, 0x54, 0x61, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x0f, 0x2e, 0x77, 0x65, 0x62, 0x61, 0x70, 0x69, 0x2e, 0x54, 0x61, 0x67, 0x43, 0x6f, 0x64, 0x65, 0x52, 0x03, 0x54, 0x61, 0x67, 0x12, 0x10, 0x0a, 0x03, 0x4d, 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x4d, 0x73, 0x67, 0x22, 0x22, 0x0a, 0x0e, 0x41, 0x53, 0x47, 0x65, 0x74, 0x49, 0x6d, 0x67, 0x56, 0x65, 0x72, 0x69, 0x66, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x54, 0x65, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x54, 0x65, 0x6c, 0x22, 0x77, 0x0a, 0x0e, 0x53, 0x41, 0x47, 0x65, 0x74, 0x49, 0x6d, 0x67, 0x56, 0x65, 0x72, 0x69, 0x66, 0x79, 0x12, 0x21, 0x0a, 0x03, 0x54, 0x61, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x0f, 0x2e, 0x77, 0x65, 0x62, 0x61, 0x70, 0x69, 0x2e, 0x54, 0x61, 0x67, 0x43, 0x6f, 0x64, 0x65, 0x52, 0x03, 0x54, 0x61, 0x67, 0x12, 0x1c, 0x0a, 0x09, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x44, 0x61, 0x74, 0x61, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x44, 0x61, 0x74, 0x61, 0x12, 0x12, 0x0a, 0x04, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x4d, 0x73, 0x67, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x4d, 0x73, 0x67, 0x22, 0x40, 0x0a, 0x0e, 0x41, 0x53, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x12, 0x0a, 0x04, 0x53, 0x6e, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x53, 0x6e, 0x69, 0x64, 0x22, 0x45, 0x0a, 0x0e, 0x53, 0x41, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x12, 0x21, 0x0a, 0x03, 0x54, 0x61, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x0f, 0x2e, 0x77, 0x65, 0x62, 0x61, 0x70, 0x69, 0x2e, 0x54, 0x61, 0x67, 0x43, 0x6f, 0x64, 0x65, 0x52, 0x03, 0x54, 0x61, 0x67, 0x12, 0x10, 0x0a, 0x03, 0x4d, 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x4d, 0x73, 0x67, 0x22, 0x44, 0x0a, 0x12, 0x41, 0x53, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x4c, 0x69, 0x6e, 0x6b, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x12, 0x0a, 0x04, 0x53, 0x6e, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x53, 0x6e, 0x49, 0x64, 0x22, 0x5d, 0x0a, 0x12, 0x53, 0x41, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x4c, 0x69, 0x6e, 0x6b, 0x12, 0x21, 0x0a, 0x03, 0x54, 0x61, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x0f, 0x2e, 0x77, 0x65, 0x62, 0x61, 0x70, 0x69, 0x2e, 0x54, 0x61, 0x67, 0x43, 0x6f, 0x64, 0x65, 0x52, 0x03, 0x54, 0x61, 0x67, 0x12, 0x10, 0x0a, 0x03, 0x4d, 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x4d, 0x73, 0x67, 0x12, 0x12, 0x0a, 0x04, 0x4c, 0x69, 0x6e, 0x6b, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x4c, 0x69, 0x6e, 0x6b, 0x22, 0x9d, 0x01, 0x0a, 0x0d, 0x41, 0x53, 0x41, 0x64, 0x64, 0x49, 0x74, 0x65, 0x6d, 0x42, 0x79, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x53, 0x6e, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x53, 0x6e, 0x69, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x2c, 0x0a, 0x08, 0x49, 0x74, 0x65, 0x6d, 0x49, 0x6e, 0x66, 0x6f, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x77, 0x65, 0x62, 0x61, 0x70, 0x69, 0x2e, 0x49, 0x74, 0x65, 0x6d, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x08, 0x49, 0x74, 0x65, 0x6d, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x16, 0x0a, 0x06, 0x54, 0x79, 0x70, 0x65, 0x49, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x54, 0x79, 0x70, 0x65, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x52, 0x65, 0x6d, 0x61, 0x72, 0x6b, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x52, 0x65, 0x6d, 0x61, 0x72, 0x6b, 0x22, 0x44, 0x0a, 0x0d, 0x53, 0x41, 0x41, 0x64, 0x64, 0x49, 0x74, 0x65, 0x6d, 0x42, 0x79, 0x49, 0x64, 0x12, 0x21, 0x0a, 0x03, 0x54, 0x61, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x0f, 0x2e, 0x77, 0x65, 0x62, 0x61, 0x70, 0x69, 0x2e, 0x54, 0x61, 0x67, 0x43, 0x6f, 0x64, 0x65, 0x52, 0x03, 0x54, 0x61, 0x67, 0x12, 0x10, 0x0a, 0x03, 0x4d, 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x4d, 0x73, 0x67, 0x22, 0x3d, 0x0a, 0x0b, 0x41, 0x53, 0x53, 0x4d, 0x53, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x1a, 0x0a, 0x08, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x12, 0x0a, 0x04, 0x53, 0x6e, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x53, 0x6e, 0x49, 0x64, 0x22, 0x97, 0x01, 0x0a, 0x0b, 0x53, 0x41, 0x53, 0x4d, 0x53, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x1a, 0x0a, 0x08, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x12, 0x0a, 0x04, 0x53, 0x6e, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x53, 0x6e, 0x49, 0x64, 0x12, 0x23, 0x0a, 0x04, 0x49, 0x6e, 0x66, 0x6f, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x77, 0x65, 0x62, 0x61, 0x70, 0x69, 0x2e, 0x53, 0x4d, 0x53, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x04, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x21, 0x0a, 0x03, 0x54, 0x61, 0x67, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x0f, 0x2e, 0x77, 0x65, 0x62, 0x61, 0x70, 0x69, 0x2e, 0x54, 0x61, 0x67, 0x43, 0x6f, 0x64, 0x65, 0x52, 0x03, 0x54, 0x61, 0x67, 0x12, 0x10, 0x0a, 0x03, 0x4d, 0x73, 0x67, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x4d, 0x73, 0x67, 0x22, 0x33, 0x0a, 0x07, 0x53, 0x4d, 0x53, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x49, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x53, 0x6d, 0x73, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x53, 0x6d, 0x73, 0x4e, 0x61, 0x6d, 0x65, 0x22, 0x3c, 0x0a, 0x0a, 0x41, 0x53, 0x41, 0x77, 0x61, 0x72, 0x64, 0x4c, 0x6f, 0x67, 0x12, 0x1a, 0x0a, 0x08, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x12, 0x0a, 0x04, 0x53, 0x6e, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x53, 0x6e, 0x49, 0x64, 0x22, 0x46, 0x0a, 0x14, 0x41, 0x53, 0x50, 0x6f, 0x70, 0x55, 0x70, 0x57, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x1a, 0x0a, 0x08, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x12, 0x0a, 0x04, 0x53, 0x6e, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x53, 0x6e, 0x49, 0x64, 0x22, 0xa4, 0x01, 0x0a, 0x14, 0x53, 0x41, 0x50, 0x6f, 0x70, 0x55, 0x70, 0x57, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x1a, 0x0a, 0x08, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x12, 0x0a, 0x04, 0x53, 0x6e, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x53, 0x6e, 0x49, 0x64, 0x12, 0x27, 0x0a, 0x04, 0x49, 0x6e, 0x66, 0x6f, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x77, 0x65, 0x62, 0x61, 0x70, 0x69, 0x2e, 0x57, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x73, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x04, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x21, 0x0a, 0x03, 0x54, 0x61, 0x67, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x0f, 0x2e, 0x77, 0x65, 0x62, 0x61, 0x70, 0x69, 0x2e, 0x54, 0x61, 0x67, 0x43, 0x6f, 0x64, 0x65, 0x52, 0x03, 0x54, 0x61, 0x67, 0x12, 0x10, 0x0a, 0x03, 0x4d, 0x73, 0x67, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x4d, 0x73, 0x67, 0x22, 0x83, 0x01, 0x0a, 0x0b, 0x57, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x73, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x1a, 0x0a, 0x08, 0x49, 0x74, 0x65, 0x6d, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x49, 0x74, 0x65, 0x6d, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x55, 0x72, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x55, 0x72, 0x6c, 0x12, 0x12, 0x0a, 0x04, 0x53, 0x6f, 0x72, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x53, 0x6f, 0x72, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x50, 0x61, 0x72, 0x74, 0x4e, 0x75, 0x6d, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x50, 0x61, 0x72, 0x74, 0x4e, 0x75, 0x6d, 0x12, 0x18, 0x0a, 0x07, 0x47, 0x61, 0x69, 0x6e, 0x4e, 0x75, 0x6d, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x47, 0x61, 0x69, 0x6e, 0x4e, 0x75, 0x6d, 0x22, 0x24, 0x0a, 0x0a, 0x41, 0x53, 0x52, 0x6f, 0x6f, 0x6d, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x16, 0x0a, 0x06, 0x52, 0x6f, 0x6f, 0x6d, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x52, 0x6f, 0x6f, 0x6d, 0x49, 0x64, 0x22, 0x5d, 0x0a, 0x09, 0x52, 0x6f, 0x75, 0x6e, 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x14, 0x0a, 0x05, 0x52, 0x6f, 0x75, 0x6e, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x52, 0x6f, 0x75, 0x6e, 0x64, 0x12, 0x0e, 0x0a, 0x02, 0x54, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x02, 0x54, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x03, 0x20, 0x03, 0x28, 0x03, 0x52, 0x05, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x4c, 0x6f, 0x67, 0x49, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x4c, 0x6f, 0x67, 0x49, 0x64, 0x22, 0x7c, 0x0a, 0x0a, 0x53, 0x41, 0x52, 0x6f, 0x6f, 0x6d, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x21, 0x0a, 0x03, 0x54, 0x61, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x0f, 0x2e, 0x77, 0x65, 0x62, 0x61, 0x70, 0x69, 0x2e, 0x54, 0x61, 0x67, 0x43, 0x6f, 0x64, 0x65, 0x52, 0x03, 0x54, 0x61, 0x67, 0x12, 0x10, 0x0a, 0x03, 0x4d, 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x4d, 0x73, 0x67, 0x12, 0x12, 0x0a, 0x04, 0x53, 0x6e, 0x49, 0x64, 0x18, 0x03, 0x20, 0x03, 0x28, 0x05, 0x52, 0x04, 0x53, 0x6e, 0x49, 0x64, 0x12, 0x25, 0x0a, 0x04, 0x4c, 0x69, 0x73, 0x74, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x77, 0x65, 0x62, 0x61, 0x70, 0x69, 0x2e, 0x52, 0x6f, 0x75, 0x6e, 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x04, 0x4c, 0x69, 0x73, 0x74, 0x22, 0x48, 0x0a, 0x16, 0x41, 0x53, 0x47, 0x65, 0x74, 0x44, 0x6f, 0x6c, 0x6c, 0x45, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x12, 0x12, 0x0a, 0x04, 0x53, 0x6e, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x53, 0x6e, 0x69, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x22, 0x74, 0x0a, 0x16, 0x53, 0x41, 0x47, 0x65, 0x74, 0x44, 0x6f, 0x6c, 0x6c, 0x45, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x12, 0x21, 0x0a, 0x03, 0x54, 0x61, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x0f, 0x2e, 0x77, 0x65, 0x62, 0x61, 0x70, 0x69, 0x2e, 0x54, 0x61, 0x67, 0x43, 0x6f, 0x64, 0x65, 0x52, 0x03, 0x54, 0x61, 0x67, 0x12, 0x37, 0x0a, 0x09, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x4c, 0x69, 0x73, 0x74, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x77, 0x65, 0x62, 0x61, 0x70, 0x69, 0x2e, 0x45, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x09, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x4c, 0x69, 0x73, 0x74, 0x22, 0x6a, 0x0a, 0x0d, 0x41, 0x53, 0x53, 0x68, 0x6f, 0x77, 0x4c, 0x6f, 0x74, 0x74, 0x65, 0x72, 0x79, 0x12, 0x1a, 0x0a, 0x08, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x14, 0x0a, 0x05, 0x4c, 0x6f, 0x67, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x4c, 0x6f, 0x67, 0x49, 0x64, 0x12, 0x27, 0x0a, 0x04, 0x4c, 0x69, 0x73, 0x74, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x77, 0x65, 0x62, 0x61, 0x70, 0x69, 0x2e, 0x53, 0x68, 0x6f, 0x77, 0x4c, 0x6f, 0x74, 0x74, 0x65, 0x72, 0x79, 0x52, 0x04, 0x4c, 0x69, 0x73, 0x74, 0x22, 0x47, 0x0a, 0x0b, 0x53, 0x68, 0x6f, 0x77, 0x4c, 0x6f, 0x74, 0x74, 0x65, 0x72, 0x79, 0x12, 0x0e, 0x0a, 0x02, 0x54, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x54, 0x70, 0x12, 0x10, 0x0a, 0x03, 0x55, 0x72, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x55, 0x72, 0x6c, 0x12, 0x16, 0x0a, 0x06, 0x49, 0x6d, 0x67, 0x55, 0x72, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x49, 0x6d, 0x67, 0x55, 0x72, 0x6c, 0x22, 0x44, 0x0a, 0x0d, 0x53, 0x41, 0x53, 0x68, 0x6f, 0x77, 0x4c, 0x6f, 0x74, 0x74, 0x65, 0x72, 0x79, 0x12, 0x21, 0x0a, 0x03, 0x54, 0x61, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x0f, 0x2e, 0x77, 0x65, 0x62, 0x61, 0x70, 0x69, 0x2e, 0x54, 0x61, 0x67, 0x43, 0x6f, 0x64, 0x65, 0x52, 0x03, 0x54, 0x61, 0x67, 0x12, 0x10, 0x0a, 0x03, 0x4d, 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x4d, 0x73, 0x67, 0x22, 0x3d, 0x0a, 0x0d, 0x41, 0x53, 0x53, 0x65, 0x6e, 0x64, 0x53, 0x4d, 0x53, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x10, 0x0a, 0x03, 0x54, 0x65, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x54, 0x65, 0x6c, 0x22, 0x44, 0x0a, 0x0d, 0x53, 0x41, 0x53, 0x65, 0x6e, 0x64, 0x53, 0x4d, 0x53, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x21, 0x0a, 0x03, 0x54, 0x61, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x0f, 0x2e, 0x77, 0x65, 0x62, 0x61, 0x70, 0x69, 0x2e, 0x54, 0x61, 0x67, 0x43, 0x6f, 0x64, 0x65, 0x52, 0x03, 0x54, 0x61, 0x67, 0x12, 0x10, 0x0a, 0x03, 0x4d, 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x4d, 0x73, 0x67, 0x22, 0xb6, 0x01, 0x0a, 0x0a, 0x41, 0x53, 0x57, 0x65, 0x62, 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x12, 0x1a, 0x0a, 0x08, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x1c, 0x0a, 0x09, 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x55, 0x73, 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x55, 0x73, 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x1a, 0x0a, 0x08, 0x50, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x50, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x53, 0x4d, 0x53, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x53, 0x4d, 0x53, 0x43, 0x6f, 0x64, 0x65, 0x22, 0x71, 0x0a, 0x0a, 0x53, 0x41, 0x57, 0x65, 0x62, 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x12, 0x21, 0x0a, 0x03, 0x54, 0x61, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x0f, 0x2e, 0x77, 0x65, 0x62, 0x61, 0x70, 0x69, 0x2e, 0x54, 0x61, 0x67, 0x43, 0x6f, 0x64, 0x65, 0x52, 0x03, 0x54, 0x61, 0x67, 0x12, 0x10, 0x0a, 0x03, 0x4d, 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x4d, 0x73, 0x67, 0x12, 0x1a, 0x0a, 0x08, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x12, 0x0a, 0x04, 0x53, 0x6e, 0x49, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x53, 0x6e, 0x49, 0x64, 0x22, 0x9d, 0x02, 0x0a, 0x13, 0x41, 0x53, 0x57, 0x65, 0x62, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x45, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x12, 0x0a, 0x04, 0x53, 0x6e, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x53, 0x6e, 0x49, 0x64, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x55, 0x73, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x55, 0x73, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x4d, 0x6f, 0x62, 0x69, 0x6c, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x4d, 0x6f, 0x62, 0x69, 0x6c, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x26, 0x0a, 0x0e, 0x45, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x54, 0x79, 0x70, 0x65, 0x49, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0e, 0x45, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x54, 0x79, 0x70, 0x65, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x22, 0x0a, 0x0c, 0x45, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x54, 0x79, 0x70, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, 0x45, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x54, 0x65, 0x6c, 0x49, 0x64, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x54, 0x65, 0x6c, 0x49, 0x64, 0x22, 0x89, 0x01, 0x0a, 0x13, 0x53, 0x41, 0x57, 0x65, 0x62, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x45, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x2c, 0x0a, 0x03, 0x54, 0x61, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1a, 0x2e, 0x77, 0x65, 0x62, 0x61, 0x70, 0x69, 0x2e, 0x45, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x64, 0x65, 0x52, 0x03, 0x54, 0x61, 0x67, 0x12, 0x1a, 0x0a, 0x08, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x49, 0x64, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x49, 0x64, 0x22, 0x3e, 0x0a, 0x0c, 0x41, 0x53, 0x47, 0x65, 0x74, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x12, 0x0a, 0x04, 0x53, 0x6e, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x53, 0x6e, 0x49, 0x64, 0x22, 0x57, 0x0a, 0x0c, 0x53, 0x41, 0x47, 0x65, 0x74, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x21, 0x0a, 0x03, 0x54, 0x61, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x0f, 0x2e, 0x77, 0x65, 0x62, 0x61, 0x70, 0x69, 0x2e, 0x54, 0x61, 0x67, 0x43, 0x6f, 0x64, 0x65, 0x52, 0x03, 0x54, 0x61, 0x67, 0x12, 0x10, 0x0a, 0x03, 0x4d, 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x4d, 0x73, 0x67, 0x12, 0x12, 0x0a, 0x04, 0x4c, 0x69, 0x73, 0x74, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x04, 0x4c, 0x69, 0x73, 0x74, 0x22, 0x7d, 0x0a, 0x0f, 0x41, 0x53, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x12, 0x0a, 0x04, 0x53, 0x6e, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x53, 0x6e, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x4f, 0x70, 0x54, 0x79, 0x70, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x4f, 0x70, 0x54, 0x79, 0x70, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x41, 0x64, 0x64, 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x41, 0x64, 0x64, 0x72, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x49, 0x64, 0x22, 0x5a, 0x0a, 0x0f, 0x53, 0x41, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x21, 0x0a, 0x03, 0x54, 0x61, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x0f, 0x2e, 0x77, 0x65, 0x62, 0x61, 0x70, 0x69, 0x2e, 0x54, 0x61, 0x67, 0x43, 0x6f, 0x64, 0x65, 0x52, 0x03, 0x54, 0x61, 0x67, 0x12, 0x10, 0x0a, 0x03, 0x4d, 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x4d, 0x73, 0x67, 0x12, 0x12, 0x0a, 0x04, 0x4c, 0x69, 0x73, 0x74, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x04, 0x4c, 0x69, 0x73, 0x74, 0x2a, 0xdc, 0x01, 0x0a, 0x07, 0x54, 0x61, 0x67, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x0b, 0x0a, 0x07, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x00, 0x12, 0x0b, 0x0a, 0x07, 0x53, 0x55, 0x43, 0x43, 0x45, 0x53, 0x53, 0x10, 0x01, 0x12, 0x0a, 0x0a, 0x06, 0x46, 0x41, 0x49, 0x4c, 0x45, 0x44, 0x10, 0x02, 0x12, 0x0e, 0x0a, 0x0a, 0x53, 0x49, 0x47, 0x4e, 0x5f, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x10, 0x03, 0x12, 0x14, 0x0a, 0x10, 0x50, 0x52, 0x4f, 0x54, 0x4f, 0x5f, 0x44, 0x41, 0x54, 0x41, 0x5f, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x10, 0x04, 0x12, 0x12, 0x0a, 0x0e, 0x4a, 0x59, 0x42, 0x5f, 0x44, 0x41, 0x54, 0x41, 0x5f, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x10, 0x05, 0x12, 0x12, 0x0a, 0x0e, 0x4a, 0x59, 0x42, 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x45, 0x58, 0x49, 0x53, 0x54, 0x10, 0x06, 0x12, 0x11, 0x0a, 0x0d, 0x50, 0x6c, 0x61, 0x79, 0x5f, 0x4e, 0x6f, 0x74, 0x45, 0x58, 0x49, 0x53, 0x54, 0x10, 0x07, 0x12, 0x09, 0x0a, 0x05, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x10, 0x08, 0x12, 0x0c, 0x0a, 0x08, 0x54, 0x65, 0x6c, 0x45, 0x78, 0x69, 0x73, 0x74, 0x10, 0x09, 0x12, 0x13, 0x0a, 0x0f, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x4e, 0x6f, 0x74, 0x46, 0x6f, 0x75, 0x6e, 0x64, 0x10, 0x0a, 0x12, 0x0e, 0x0a, 0x0a, 0x54, 0x65, 0x6c, 0x4e, 0x6f, 0x74, 0x42, 0x69, 0x6e, 0x64, 0x10, 0x0b, 0x12, 0x0c, 0x0a, 0x08, 0x4e, 0x6f, 0x74, 0x46, 0x6f, 0x75, 0x6e, 0x64, 0x10, 0x0c, 0x2a, 0xb4, 0x02, 0x0a, 0x12, 0x45, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x0f, 0x0a, 0x0b, 0x4f, 0x50, 0x52, 0x43, 0x5f, 0x53, 0x75, 0x63, 0x65, 0x73, 0x73, 0x10, 0x00, 0x12, 0x0e, 0x0a, 0x0a, 0x4f, 0x50, 0x52, 0x43, 0x5f, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x10, 0x01, 0x12, 0x17, 0x0a, 0x13, 0x4f, 0x50, 0x52, 0x43, 0x5f, 0x56, 0x43, 0x6f, 0x69, 0x6e, 0x4e, 0x6f, 0x74, 0x45, 0x6e, 0x6f, 0x75, 0x67, 0x68, 0x10, 0x02, 0x12, 0x16, 0x0a, 0x12, 0x4f, 0x50, 0x52, 0x43, 0x5f, 0x45, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x10, 0x03, 0x12, 0x1a, 0x0a, 0x16, 0x4f, 0x50, 0x52, 0x43, 0x5f, 0x45, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x4e, 0x6f, 0x74, 0x45, 0x6e, 0x6f, 0x75, 0x67, 0x68, 0x10, 0x04, 0x12, 0x18, 0x0a, 0x14, 0x4f, 0x50, 0x52, 0x43, 0x5f, 0x45, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x44, 0x61, 0x74, 0x61, 0x52, 0x74, 0x74, 0x10, 0x05, 0x12, 0x18, 0x0a, 0x14, 0x4f, 0x50, 0x52, 0x43, 0x5f, 0x45, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x53, 0x6f, 0x6c, 0x64, 0x4f, 0x75, 0x74, 0x10, 0x06, 0x12, 0x19, 0x0a, 0x15, 0x4f, 0x50, 0x52, 0x43, 0x5f, 0x45, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x41, 0x63, 0x63, 0x10, 0x07, 0x12, 0x17, 0x0a, 0x13, 0x4f, 0x50, 0x52, 0x43, 0x5f, 0x4a, 0x43, 0x6f, 0x69, 0x6e, 0x4e, 0x6f, 0x74, 0x45, 0x6e, 0x6f, 0x75, 0x67, 0x68, 0x10, 0x08, 0x12, 0x1a, 0x0a, 0x16, 0x4f, 0x50, 0x52, 0x43, 0x5f, 0x56, 0x69, 0x70, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x4e, 0x6f, 0x74, 0x45, 0x6e, 0x6f, 0x75, 0x67, 0x68, 0x10, 0x09, 0x12, 0x13, 0x0a, 0x0f, 0x4f, 0x50, 0x52, 0x43, 0x5f, 0x4e, 0x6f, 0x74, 0x53, 0x49, 0x4d, 0x43, 0x6f, 0x64, 0x65, 0x10, 0x0a, 0x12, 0x17, 0x0a, 0x13, 0x4f, 0x50, 0x52, 0x43, 0x5f, 0x44, 0x43, 0x6f, 0x69, 0x6e, 0x4e, 0x6f, 0x74, 0x45, 0x6e, 0x6f, 0x75, 0x67, 0x68, 0x10, 0x0b, 0x42, 0x26, 0x5a, 0x24, 0x6d, 0x6f, 0x6e, 0x67, 0x6f, 0x2e, 0x67, 0x61, 0x6d, 0x65, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x67, 0x61, 0x6d, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x2f, 0x77, 0x65, 0x62, 0x61, 0x70, 0x69, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_protocol_webapi_webapi_proto_rawDescOnce sync.Once file_protocol_webapi_webapi_proto_rawDescData = file_protocol_webapi_webapi_proto_rawDesc ) func file_protocol_webapi_webapi_proto_rawDescGZIP() []byte { file_protocol_webapi_webapi_proto_rawDescOnce.Do(func() { file_protocol_webapi_webapi_proto_rawDescData = protoimpl.X.CompressGZIP(file_protocol_webapi_webapi_proto_rawDescData) }) return file_protocol_webapi_webapi_proto_rawDescData } var file_protocol_webapi_webapi_proto_enumTypes = make([]protoimpl.EnumInfo, 2) var file_protocol_webapi_webapi_proto_msgTypes = make([]protoimpl.MessageInfo, 152) var file_protocol_webapi_webapi_proto_goTypes = []interface{}{ (TagCode)(0), // 0: webapi.TagCode (ExchangeCreateCode)(0), // 1: webapi.ExchangeCreateCode (*SAPlatformInfo)(nil), // 2: webapi.SAPlatformInfo (*ASPlatformInfo)(nil), // 3: webapi.ASPlatformInfo (*SAGameConfig)(nil), // 4: webapi.SAGameConfig (*ASGameConfig)(nil), // 5: webapi.ASGameConfig (*ASGameConfigGroup)(nil), // 6: webapi.ASGameConfigGroup (*ASGameConfigGlobal)(nil), // 7: webapi.ASGameConfigGlobal (*SADbConfig)(nil), // 8: webapi.SADbConfig (*ASDbConfig)(nil), // 9: webapi.ASDbConfig (*ASUpdatePlatform)(nil), // 10: webapi.ASUpdatePlatform (*SAUpdatePlatform)(nil), // 11: webapi.SAUpdatePlatform (*ASUpdateGameConfigGlobal)(nil), // 12: webapi.ASUpdateGameConfigGlobal (*SAUpdateGameConfigGlobal)(nil), // 13: webapi.SAUpdateGameConfigGlobal (*ASUpdateGameConfig)(nil), // 14: webapi.ASUpdateGameConfig (*SAUpdateGameConfig)(nil), // 15: webapi.SAUpdateGameConfig (*ASUpdateGameConfigGroup)(nil), // 16: webapi.ASUpdateGameConfigGroup (*SAUpdateGameConfigGroup)(nil), // 17: webapi.SAUpdateGameConfigGroup (*ASAddCoinById)(nil), // 18: webapi.ASAddCoinById (*SAAddCoinById)(nil), // 19: webapi.SAAddCoinById (*ASResetGamePool)(nil), // 20: webapi.ASResetGamePool (*SAResetGamePool)(nil), // 21: webapi.SAResetGamePool (*ASUpdateGamePool)(nil), // 22: webapi.ASUpdateGamePool (*SAUpdateGamePool)(nil), // 23: webapi.SAUpdateGamePool (*ASQueryGamePoolByGameId)(nil), // 24: webapi.ASQueryGamePoolByGameId (*SAQueryGamePoolByGameId)(nil), // 25: webapi.SAQueryGamePoolByGameId (*ASQueryAllGamePool)(nil), // 26: webapi.ASQueryAllGamePool (*CoinPoolStatesInfo)(nil), // 27: webapi.CoinPoolStatesInfo (*SAQueryAllGamePool)(nil), // 28: webapi.SAQueryAllGamePool (*ASListRoom)(nil), // 29: webapi.ASListRoom (*SAListRoom)(nil), // 30: webapi.SAListRoom (*ASGetRoom)(nil), // 31: webapi.ASGetRoom (*SAGetRoom)(nil), // 32: webapi.SAGetRoom (*ASDestroyRoom)(nil), // 33: webapi.ASDestroyRoom (*SADestroyRoom)(nil), // 34: webapi.SADestroyRoom (*ASSinglePlayerAdjust)(nil), // 35: webapi.ASSinglePlayerAdjust (*SASinglePlayerAdjust)(nil), // 36: webapi.SASinglePlayerAdjust (*ASGetPlayerData)(nil), // 37: webapi.ASGetPlayerData (*SAGetPlayerData)(nil), // 38: webapi.SAGetPlayerData (*ASMorePlayerData)(nil), // 39: webapi.ASMorePlayerData (*SAMorePlayerData)(nil), // 40: webapi.SAMorePlayerData (*ASKickPlayer)(nil), // 41: webapi.ASKickPlayer (*SAKickPlayer)(nil), // 42: webapi.SAKickPlayer (*PlayerEleArgs)(nil), // 43: webapi.PlayerEleArgs (*ASUpdatePlayerElement)(nil), // 44: webapi.ASUpdatePlayerElement (*SAUpdatePlayerElement)(nil), // 45: webapi.SAUpdatePlayerElement (*ASWhiteBlackControl)(nil), // 46: webapi.ASWhiteBlackControl (*SAWhiteBlackControl)(nil), // 47: webapi.SAWhiteBlackControl (*ASQueryHorseRaceLampList)(nil), // 48: webapi.ASQueryHorseRaceLampList (*SAQueryHorseRaceLampList)(nil), // 49: webapi.SAQueryHorseRaceLampList (*ASCreateHorseRaceLamp)(nil), // 50: webapi.ASCreateHorseRaceLamp (*SACreateHorseRaceLamp)(nil), // 51: webapi.SACreateHorseRaceLamp (*ASGetHorseRaceLampById)(nil), // 52: webapi.ASGetHorseRaceLampById (*SAGetHorseRaceLampById)(nil), // 53: webapi.SAGetHorseRaceLampById (*ASEditHorseRaceLamp)(nil), // 54: webapi.ASEditHorseRaceLamp (*SAEditHorseRaceLamp)(nil), // 55: webapi.SAEditHorseRaceLamp (*ASRemoveHorseRaceLampById)(nil), // 56: webapi.ASRemoveHorseRaceLampById (*SARemoveHorseRaceLampById)(nil), // 57: webapi.SARemoveHorseRaceLampById (*ASBlackBySnId)(nil), // 58: webapi.ASBlackBySnId (*SABlackBySnId)(nil), // 59: webapi.SABlackBySnId (*ASCreateShortMessage)(nil), // 60: webapi.ASCreateShortMessage (*SACreateShortMessage)(nil), // 61: webapi.SACreateShortMessage (*ASQueryShortMessageList)(nil), // 62: webapi.ASQueryShortMessageList (*SAQueryShortMessageList)(nil), // 63: webapi.SAQueryShortMessageList (*ASDeleteShortMessage)(nil), // 64: webapi.ASDeleteShortMessage (*SADeleteShortMessage)(nil), // 65: webapi.SADeleteShortMessage (*ASQueryOnlineReportList)(nil), // 66: webapi.ASQueryOnlineReportList (*SAQueryOnlineReportList)(nil), // 67: webapi.SAQueryOnlineReportList (*ASSrvCtrlClose)(nil), // 68: webapi.ASSrvCtrlClose (*SASrvCtrlClose)(nil), // 69: webapi.SASrvCtrlClose (*ASSrvCtrlNotice)(nil), // 70: webapi.ASSrvCtrlNotice (*SASrvCtrlNotice)(nil), // 71: webapi.SASrvCtrlNotice (*ASSrvCtrlStartScript)(nil), // 72: webapi.ASSrvCtrlStartScript (*SASrvCtrlStartScript)(nil), // 73: webapi.SASrvCtrlStartScript (*ASListServerStates)(nil), // 74: webapi.ASListServerStates (*SAListServerStates)(nil), // 75: webapi.SAListServerStates (*ASServerStateSwitch)(nil), // 76: webapi.ASServerStateSwitch (*SAServerStateSwitch)(nil), // 77: webapi.SAServerStateSwitch (*ASResetEtcdData)(nil), // 78: webapi.ASResetEtcdData (*SAResetEtcdData)(nil), // 79: webapi.SAResetEtcdData (*ASOnlineReportTotal)(nil), // 80: webapi.ASOnlineReportTotal (*SAOnlineReportTotal)(nil), // 81: webapi.SAOnlineReportTotal (*ASAddCoinByIdAndPT)(nil), // 82: webapi.ASAddCoinByIdAndPT (*SAAddCoinByIdAndPT)(nil), // 83: webapi.SAAddCoinByIdAndPT (*JybInfoAward)(nil), // 84: webapi.JybInfoAward (*ASCreateJYB)(nil), // 85: webapi.ASCreateJYB (*SACreateJYB)(nil), // 86: webapi.SACreateJYB (*ASUpdateJYB)(nil), // 87: webapi.ASUpdateJYB (*SAUpdateJYB)(nil), // 88: webapi.SAUpdateJYB (*ASCreatePayOrder)(nil), // 89: webapi.ASCreatePayOrder (*ReturnCPO)(nil), // 90: webapi.ReturnCPO (*SACreatePayOrder)(nil), // 91: webapi.SACreatePayOrder (*ASCreateExchangeOrder)(nil), // 92: webapi.ASCreateExchangeOrder (*SACreateExchangeOrder)(nil), // 93: webapi.SACreateExchangeOrder (*ASGetExchangeOrder)(nil), // 94: webapi.ASGetExchangeOrder (*ExchangeOrderInfo)(nil), // 95: webapi.ExchangeOrderInfo (*SAGetExchangeOrder)(nil), // 96: webapi.SAGetExchangeOrder (*ASUpExchangeStatus)(nil), // 97: webapi.ASUpExchangeStatus (*SAUpExchangeStatus)(nil), // 98: webapi.SAUpExchangeStatus (*ASGetExchangeShop)(nil), // 99: webapi.ASGetExchangeShop (*SAGetExchangeShop)(nil), // 100: webapi.SAGetExchangeShop (*SARocketLogin)(nil), // 101: webapi.SARocketLogin (*ASRocketLogin)(nil), // 102: webapi.ASRocketLogin (*SARocketLoginOut)(nil), // 103: webapi.SARocketLoginOut (*ASRocketLoginOut)(nil), // 104: webapi.ASRocketLoginOut (*ASThdUpdatePlayerCoin)(nil), // 105: webapi.ASThdUpdatePlayerCoin (*SAThdUpdatePlayerCoin)(nil), // 106: webapi.SAThdUpdatePlayerCoin (*SACreateOrder)(nil), // 107: webapi.SACreateOrder (*ASCreateOrder)(nil), // 108: webapi.ASCreateOrder (*SAWebAPISystemPass)(nil), // 109: webapi.SAWebAPISystemPass (*ASWebAPISystemPass)(nil), // 110: webapi.ASWebAPISystemPass (*ASCallbackPayment)(nil), // 111: webapi.ASCallbackPayment (*SACallbackPayment)(nil), // 112: webapi.SACallbackPayment (*ASResource)(nil), // 113: webapi.ASResource (*SAResource)(nil), // 114: webapi.SAResource (*ASSendSms)(nil), // 115: webapi.ASSendSms (*SASendSms)(nil), // 116: webapi.SASendSms (*ASGetMatchAwardCode)(nil), // 117: webapi.ASGetMatchAwardCode (*SAGetMatchAwardCode)(nil), // 118: webapi.SAGetMatchAwardCode (*ASUpdateTel)(nil), // 119: webapi.ASUpdateTel (*SAUpdateTel)(nil), // 120: webapi.SAUpdateTel (*ASGetImgVerify)(nil), // 121: webapi.ASGetImgVerify (*SAGetImgVerify)(nil), // 122: webapi.SAGetImgVerify (*ASPlayerDelete)(nil), // 123: webapi.ASPlayerDelete (*SAPlayerDelete)(nil), // 124: webapi.SAPlayerDelete (*ASPlayerInviteLink)(nil), // 125: webapi.ASPlayerInviteLink (*SAPlayerInviteLink)(nil), // 126: webapi.SAPlayerInviteLink (*ASAddItemById)(nil), // 127: webapi.ASAddItemById (*SAAddItemById)(nil), // 128: webapi.SAAddItemById (*ASSMSConfig)(nil), // 129: webapi.ASSMSConfig (*SASMSConfig)(nil), // 130: webapi.SASMSConfig (*SMSInfo)(nil), // 131: webapi.SMSInfo (*ASAwardLog)(nil), // 132: webapi.ASAwardLog (*ASPopUpWindowsConfig)(nil), // 133: webapi.ASPopUpWindowsConfig (*SAPopUpWindowsConfig)(nil), // 134: webapi.SAPopUpWindowsConfig (*WindowsInfo)(nil), // 135: webapi.WindowsInfo (*ASRoomInfo)(nil), // 136: webapi.ASRoomInfo (*RoundInfo)(nil), // 137: webapi.RoundInfo (*SARoomInfo)(nil), // 138: webapi.SARoomInfo (*ASGetDollExchangeOrder)(nil), // 139: webapi.ASGetDollExchangeOrder (*SAGetDollExchangeOrder)(nil), // 140: webapi.SAGetDollExchangeOrder (*ASShowLottery)(nil), // 141: webapi.ASShowLottery (*ShowLottery)(nil), // 142: webapi.ShowLottery (*SAShowLottery)(nil), // 143: webapi.SAShowLottery (*ASSendSMSCode)(nil), // 144: webapi.ASSendSMSCode (*SASendSMSCode)(nil), // 145: webapi.SASendSMSCode (*ASWebLogin)(nil), // 146: webapi.ASWebLogin (*SAWebLogin)(nil), // 147: webapi.SAWebLogin (*ASWebCreateExchange)(nil), // 148: webapi.ASWebCreateExchange (*SAWebCreateExchange)(nil), // 149: webapi.SAWebCreateExchange (*ASGetAddress)(nil), // 150: webapi.ASGetAddress (*SAGetAddress)(nil), // 151: webapi.SAGetAddress (*ASUpdateAddress)(nil), // 152: webapi.ASUpdateAddress (*SAUpdateAddress)(nil), // 153: webapi.SAUpdateAddress (*Platform)(nil), // 154: webapi.Platform (*PlatformGameConfig)(nil), // 155: webapi.PlatformGameConfig (*GameConfigGroup)(nil), // 156: webapi.GameConfigGroup (*GameConfigGlobal)(nil), // 157: webapi.GameConfigGlobal (*PlatformDbConfig)(nil), // 158: webapi.PlatformDbConfig (*CoinPoolSetting)(nil), // 159: webapi.CoinPoolSetting (*RoomInfo)(nil), // 160: webapi.RoomInfo (*PlayerSingleAdjust)(nil), // 161: webapi.PlayerSingleAdjust (*PlayerData)(nil), // 162: webapi.PlayerData (*HorseRaceLamp)(nil), // 163: webapi.HorseRaceLamp (*MessageInfo)(nil), // 164: webapi.MessageInfo (*ServerInfo)(nil), // 165: webapi.ServerInfo (*OnlineReport)(nil), // 166: webapi.OnlineReport (*ItemInfo)(nil), // 167: webapi.ItemInfo (*ExchangeShop)(nil), // 168: webapi.ExchangeShop (*ShopWeight)(nil), // 169: webapi.ShopWeight } var file_protocol_webapi_webapi_proto_depIdxs = []int32{ 0, // 0: webapi.ASPlatformInfo.Tag:type_name -> webapi.TagCode 154, // 1: webapi.ASPlatformInfo.Platforms:type_name -> webapi.Platform 0, // 2: webapi.ASGameConfig.Tag:type_name -> webapi.TagCode 155, // 3: webapi.ASGameConfig.Configs:type_name -> webapi.PlatformGameConfig 0, // 4: webapi.ASGameConfigGroup.Tag:type_name -> webapi.TagCode 156, // 5: webapi.ASGameConfigGroup.GameConfigGroup:type_name -> webapi.GameConfigGroup 0, // 6: webapi.ASGameConfigGlobal.Tag:type_name -> webapi.TagCode 157, // 7: webapi.ASGameConfigGlobal.GameStatus:type_name -> webapi.GameConfigGlobal 0, // 8: webapi.ASDbConfig.Tag:type_name -> webapi.TagCode 158, // 9: webapi.ASDbConfig.DbConfigs:type_name -> webapi.PlatformDbConfig 154, // 10: webapi.ASUpdatePlatform.Platforms:type_name -> webapi.Platform 0, // 11: webapi.SAUpdatePlatform.Tag:type_name -> webapi.TagCode 157, // 12: webapi.ASUpdateGameConfigGlobal.GameStatus:type_name -> webapi.GameConfigGlobal 0, // 13: webapi.SAUpdateGameConfigGlobal.Tag:type_name -> webapi.TagCode 155, // 14: webapi.ASUpdateGameConfig.Config:type_name -> webapi.PlatformGameConfig 0, // 15: webapi.SAUpdateGameConfig.Tag:type_name -> webapi.TagCode 156, // 16: webapi.ASUpdateGameConfigGroup.GameConfigGroup:type_name -> webapi.GameConfigGroup 0, // 17: webapi.SAUpdateGameConfigGroup.Tag:type_name -> webapi.TagCode 0, // 18: webapi.SAAddCoinById.Tag:type_name -> webapi.TagCode 0, // 19: webapi.SAResetGamePool.Tag:type_name -> webapi.TagCode 159, // 20: webapi.ASUpdateGamePool.CoinPoolSetting:type_name -> webapi.CoinPoolSetting 0, // 21: webapi.SAUpdateGamePool.Tag:type_name -> webapi.TagCode 0, // 22: webapi.SAQueryGamePoolByGameId.Tag:type_name -> webapi.TagCode 159, // 23: webapi.SAQueryGamePoolByGameId.CoinPoolSetting:type_name -> webapi.CoinPoolSetting 159, // 24: webapi.CoinPoolStatesInfo.CoinPoolSetting:type_name -> webapi.CoinPoolSetting 0, // 25: webapi.SAQueryAllGamePool.Tag:type_name -> webapi.TagCode 27, // 26: webapi.SAQueryAllGamePool.CoinPoolStatesInfo:type_name -> webapi.CoinPoolStatesInfo 0, // 27: webapi.SAListRoom.Tag:type_name -> webapi.TagCode 160, // 28: webapi.SAListRoom.RoomInfo:type_name -> webapi.RoomInfo 0, // 29: webapi.SAGetRoom.Tag:type_name -> webapi.TagCode 160, // 30: webapi.SAGetRoom.RoomInfo:type_name -> webapi.RoomInfo 0, // 31: webapi.SADestroyRoom.Tag:type_name -> webapi.TagCode 161, // 32: webapi.ASSinglePlayerAdjust.PlayerSingleAdjust:type_name -> webapi.PlayerSingleAdjust 0, // 33: webapi.SASinglePlayerAdjust.Tag:type_name -> webapi.TagCode 161, // 34: webapi.SASinglePlayerAdjust.PlayerSingleAdjust:type_name -> webapi.PlayerSingleAdjust 0, // 35: webapi.SAGetPlayerData.Tag:type_name -> webapi.TagCode 162, // 36: webapi.SAGetPlayerData.PlayerData:type_name -> webapi.PlayerData 0, // 37: webapi.SAMorePlayerData.Tag:type_name -> webapi.TagCode 162, // 38: webapi.SAMorePlayerData.PlayerData:type_name -> webapi.PlayerData 0, // 39: webapi.SAKickPlayer.Tag:type_name -> webapi.TagCode 43, // 40: webapi.ASUpdatePlayerElement.PlayerEleArgs:type_name -> webapi.PlayerEleArgs 0, // 41: webapi.SAUpdatePlayerElement.Tag:type_name -> webapi.TagCode 0, // 42: webapi.SAWhiteBlackControl.Tag:type_name -> webapi.TagCode 0, // 43: webapi.SAQueryHorseRaceLampList.Tag:type_name -> webapi.TagCode 163, // 44: webapi.SAQueryHorseRaceLampList.HorseRaceLamp:type_name -> webapi.HorseRaceLamp 0, // 45: webapi.SACreateHorseRaceLamp.Tag:type_name -> webapi.TagCode 0, // 46: webapi.SAGetHorseRaceLampById.Tag:type_name -> webapi.TagCode 163, // 47: webapi.SAGetHorseRaceLampById.HorseRaceLamp:type_name -> webapi.HorseRaceLamp 163, // 48: webapi.ASEditHorseRaceLamp.HorseRaceLamp:type_name -> webapi.HorseRaceLamp 0, // 49: webapi.SAEditHorseRaceLamp.Tag:type_name -> webapi.TagCode 0, // 50: webapi.SARemoveHorseRaceLampById.Tag:type_name -> webapi.TagCode 0, // 51: webapi.SABlackBySnId.Tag:type_name -> webapi.TagCode 0, // 52: webapi.SACreateShortMessage.Tag:type_name -> webapi.TagCode 0, // 53: webapi.SAQueryShortMessageList.Tag:type_name -> webapi.TagCode 164, // 54: webapi.SAQueryShortMessageList.MessageInfo:type_name -> webapi.MessageInfo 0, // 55: webapi.SADeleteShortMessage.Tag:type_name -> webapi.TagCode 0, // 56: webapi.SAQueryOnlineReportList.Tag:type_name -> webapi.TagCode 162, // 57: webapi.SAQueryOnlineReportList.PlayerData:type_name -> webapi.PlayerData 0, // 58: webapi.SASrvCtrlClose.Tag:type_name -> webapi.TagCode 0, // 59: webapi.SASrvCtrlNotice.Tag:type_name -> webapi.TagCode 0, // 60: webapi.SASrvCtrlStartScript.Tag:type_name -> webapi.TagCode 0, // 61: webapi.SAListServerStates.Tag:type_name -> webapi.TagCode 165, // 62: webapi.SAListServerStates.ServerInfo:type_name -> webapi.ServerInfo 0, // 63: webapi.SAServerStateSwitch.Tag:type_name -> webapi.TagCode 0, // 64: webapi.SAResetEtcdData.Tag:type_name -> webapi.TagCode 0, // 65: webapi.SAOnlineReportTotal.Tag:type_name -> webapi.TagCode 166, // 66: webapi.SAOnlineReportTotal.OnlineReport:type_name -> webapi.OnlineReport 0, // 67: webapi.SAAddCoinByIdAndPT.Tag:type_name -> webapi.TagCode 167, // 68: webapi.JybInfoAward.ItemId:type_name -> webapi.ItemInfo 84, // 69: webapi.ASCreateJYB.Award:type_name -> webapi.JybInfoAward 0, // 70: webapi.SACreateJYB.Tag:type_name -> webapi.TagCode 0, // 71: webapi.SAUpdateJYB.Tag:type_name -> webapi.TagCode 0, // 72: webapi.SACreatePayOrder.Tag:type_name -> webapi.TagCode 90, // 73: webapi.SACreatePayOrder.ReturnCPO:type_name -> webapi.ReturnCPO 0, // 74: webapi.SACreateExchangeOrder.Tag:type_name -> webapi.TagCode 90, // 75: webapi.SACreateExchangeOrder.ReturnCPO:type_name -> webapi.ReturnCPO 167, // 76: webapi.SACreateExchangeOrder.Items:type_name -> webapi.ItemInfo 0, // 77: webapi.SAGetExchangeOrder.Tag:type_name -> webapi.TagCode 95, // 78: webapi.SAGetExchangeOrder.OrderList:type_name -> webapi.ExchangeOrderInfo 0, // 79: webapi.SAUpExchangeStatus.Tag:type_name -> webapi.TagCode 0, // 80: webapi.SAGetExchangeShop.Tag:type_name -> webapi.TagCode 168, // 81: webapi.SAGetExchangeShop.List:type_name -> webapi.ExchangeShop 169, // 82: webapi.SAGetExchangeShop.Weight:type_name -> webapi.ShopWeight 0, // 83: webapi.SAThdUpdatePlayerCoin.Tag:type_name -> webapi.TagCode 167, // 84: webapi.SACreateOrder.ItemInfo:type_name -> webapi.ItemInfo 0, // 85: webapi.SACallbackPayment.Tag:type_name -> webapi.TagCode 0, // 86: webapi.SAResource.Tag:type_name -> webapi.TagCode 0, // 87: webapi.SASendSms.Tag:type_name -> webapi.TagCode 0, // 88: webapi.SAGetMatchAwardCode.Tag:type_name -> webapi.TagCode 0, // 89: webapi.SAUpdateTel.Tag:type_name -> webapi.TagCode 0, // 90: webapi.SAGetImgVerify.Tag:type_name -> webapi.TagCode 0, // 91: webapi.SAPlayerDelete.Tag:type_name -> webapi.TagCode 0, // 92: webapi.SAPlayerInviteLink.Tag:type_name -> webapi.TagCode 167, // 93: webapi.ASAddItemById.ItemInfo:type_name -> webapi.ItemInfo 0, // 94: webapi.SAAddItemById.Tag:type_name -> webapi.TagCode 131, // 95: webapi.SASMSConfig.Info:type_name -> webapi.SMSInfo 0, // 96: webapi.SASMSConfig.Tag:type_name -> webapi.TagCode 135, // 97: webapi.SAPopUpWindowsConfig.Info:type_name -> webapi.WindowsInfo 0, // 98: webapi.SAPopUpWindowsConfig.Tag:type_name -> webapi.TagCode 0, // 99: webapi.SARoomInfo.Tag:type_name -> webapi.TagCode 137, // 100: webapi.SARoomInfo.List:type_name -> webapi.RoundInfo 0, // 101: webapi.SAGetDollExchangeOrder.Tag:type_name -> webapi.TagCode 95, // 102: webapi.SAGetDollExchangeOrder.OrderList:type_name -> webapi.ExchangeOrderInfo 142, // 103: webapi.ASShowLottery.List:type_name -> webapi.ShowLottery 0, // 104: webapi.SAShowLottery.Tag:type_name -> webapi.TagCode 0, // 105: webapi.SASendSMSCode.Tag:type_name -> webapi.TagCode 0, // 106: webapi.SAWebLogin.Tag:type_name -> webapi.TagCode 1, // 107: webapi.SAWebCreateExchange.Tag:type_name -> webapi.ExchangeCreateCode 0, // 108: webapi.SAGetAddress.Tag:type_name -> webapi.TagCode 0, // 109: webapi.SAUpdateAddress.Tag:type_name -> webapi.TagCode 110, // [110:110] is the sub-list for method output_type 110, // [110:110] is the sub-list for method input_type 110, // [110:110] is the sub-list for extension type_name 110, // [110:110] is the sub-list for extension extendee 0, // [0:110] is the sub-list for field type_name } func init() { file_protocol_webapi_webapi_proto_init() } func file_protocol_webapi_webapi_proto_init() { if File_protocol_webapi_webapi_proto != nil { return } file_protocol_webapi_common_proto_init() if !protoimpl.UnsafeEnabled { file_protocol_webapi_webapi_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SAPlatformInfo); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_protocol_webapi_webapi_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ASPlatformInfo); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_protocol_webapi_webapi_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SAGameConfig); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_protocol_webapi_webapi_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ASGameConfig); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_protocol_webapi_webapi_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ASGameConfigGroup); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_protocol_webapi_webapi_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ASGameConfigGlobal); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_protocol_webapi_webapi_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SADbConfig); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_protocol_webapi_webapi_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ASDbConfig); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_protocol_webapi_webapi_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ASUpdatePlatform); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_protocol_webapi_webapi_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SAUpdatePlatform); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_protocol_webapi_webapi_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ASUpdateGameConfigGlobal); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_protocol_webapi_webapi_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SAUpdateGameConfigGlobal); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_protocol_webapi_webapi_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ASUpdateGameConfig); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_protocol_webapi_webapi_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SAUpdateGameConfig); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_protocol_webapi_webapi_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ASUpdateGameConfigGroup); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_protocol_webapi_webapi_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SAUpdateGameConfigGroup); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_protocol_webapi_webapi_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ASAddCoinById); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_protocol_webapi_webapi_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SAAddCoinById); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_protocol_webapi_webapi_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ASResetGamePool); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_protocol_webapi_webapi_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SAResetGamePool); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_protocol_webapi_webapi_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ASUpdateGamePool); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_protocol_webapi_webapi_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SAUpdateGamePool); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_protocol_webapi_webapi_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ASQueryGamePoolByGameId); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_protocol_webapi_webapi_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SAQueryGamePoolByGameId); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_protocol_webapi_webapi_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ASQueryAllGamePool); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_protocol_webapi_webapi_proto_msgTypes[25].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CoinPoolStatesInfo); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_protocol_webapi_webapi_proto_msgTypes[26].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SAQueryAllGamePool); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_protocol_webapi_webapi_proto_msgTypes[27].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ASListRoom); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_protocol_webapi_webapi_proto_msgTypes[28].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SAListRoom); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_protocol_webapi_webapi_proto_msgTypes[29].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ASGetRoom); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_protocol_webapi_webapi_proto_msgTypes[30].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SAGetRoom); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_protocol_webapi_webapi_proto_msgTypes[31].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ASDestroyRoom); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_protocol_webapi_webapi_proto_msgTypes[32].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SADestroyRoom); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_protocol_webapi_webapi_proto_msgTypes[33].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ASSinglePlayerAdjust); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_protocol_webapi_webapi_proto_msgTypes[34].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SASinglePlayerAdjust); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_protocol_webapi_webapi_proto_msgTypes[35].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ASGetPlayerData); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_protocol_webapi_webapi_proto_msgTypes[36].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SAGetPlayerData); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_protocol_webapi_webapi_proto_msgTypes[37].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ASMorePlayerData); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_protocol_webapi_webapi_proto_msgTypes[38].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SAMorePlayerData); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_protocol_webapi_webapi_proto_msgTypes[39].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ASKickPlayer); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_protocol_webapi_webapi_proto_msgTypes[40].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SAKickPlayer); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_protocol_webapi_webapi_proto_msgTypes[41].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*PlayerEleArgs); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_protocol_webapi_webapi_proto_msgTypes[42].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ASUpdatePlayerElement); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_protocol_webapi_webapi_proto_msgTypes[43].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SAUpdatePlayerElement); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_protocol_webapi_webapi_proto_msgTypes[44].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ASWhiteBlackControl); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_protocol_webapi_webapi_proto_msgTypes[45].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SAWhiteBlackControl); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_protocol_webapi_webapi_proto_msgTypes[46].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ASQueryHorseRaceLampList); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_protocol_webapi_webapi_proto_msgTypes[47].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SAQueryHorseRaceLampList); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_protocol_webapi_webapi_proto_msgTypes[48].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ASCreateHorseRaceLamp); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_protocol_webapi_webapi_proto_msgTypes[49].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SACreateHorseRaceLamp); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_protocol_webapi_webapi_proto_msgTypes[50].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ASGetHorseRaceLampById); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_protocol_webapi_webapi_proto_msgTypes[51].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SAGetHorseRaceLampById); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_protocol_webapi_webapi_proto_msgTypes[52].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ASEditHorseRaceLamp); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_protocol_webapi_webapi_proto_msgTypes[53].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SAEditHorseRaceLamp); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_protocol_webapi_webapi_proto_msgTypes[54].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ASRemoveHorseRaceLampById); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_protocol_webapi_webapi_proto_msgTypes[55].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SARemoveHorseRaceLampById); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_protocol_webapi_webapi_proto_msgTypes[56].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ASBlackBySnId); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_protocol_webapi_webapi_proto_msgTypes[57].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SABlackBySnId); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_protocol_webapi_webapi_proto_msgTypes[58].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ASCreateShortMessage); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_protocol_webapi_webapi_proto_msgTypes[59].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SACreateShortMessage); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_protocol_webapi_webapi_proto_msgTypes[60].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ASQueryShortMessageList); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_protocol_webapi_webapi_proto_msgTypes[61].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SAQueryShortMessageList); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_protocol_webapi_webapi_proto_msgTypes[62].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ASDeleteShortMessage); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_protocol_webapi_webapi_proto_msgTypes[63].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SADeleteShortMessage); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_protocol_webapi_webapi_proto_msgTypes[64].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ASQueryOnlineReportList); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_protocol_webapi_webapi_proto_msgTypes[65].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SAQueryOnlineReportList); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_protocol_webapi_webapi_proto_msgTypes[66].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ASSrvCtrlClose); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_protocol_webapi_webapi_proto_msgTypes[67].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SASrvCtrlClose); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_protocol_webapi_webapi_proto_msgTypes[68].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ASSrvCtrlNotice); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_protocol_webapi_webapi_proto_msgTypes[69].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SASrvCtrlNotice); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_protocol_webapi_webapi_proto_msgTypes[70].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ASSrvCtrlStartScript); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_protocol_webapi_webapi_proto_msgTypes[71].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SASrvCtrlStartScript); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_protocol_webapi_webapi_proto_msgTypes[72].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ASListServerStates); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_protocol_webapi_webapi_proto_msgTypes[73].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SAListServerStates); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_protocol_webapi_webapi_proto_msgTypes[74].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ASServerStateSwitch); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_protocol_webapi_webapi_proto_msgTypes[75].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SAServerStateSwitch); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_protocol_webapi_webapi_proto_msgTypes[76].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ASResetEtcdData); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_protocol_webapi_webapi_proto_msgTypes[77].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SAResetEtcdData); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_protocol_webapi_webapi_proto_msgTypes[78].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ASOnlineReportTotal); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_protocol_webapi_webapi_proto_msgTypes[79].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SAOnlineReportTotal); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_protocol_webapi_webapi_proto_msgTypes[80].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ASAddCoinByIdAndPT); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_protocol_webapi_webapi_proto_msgTypes[81].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SAAddCoinByIdAndPT); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_protocol_webapi_webapi_proto_msgTypes[82].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*JybInfoAward); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_protocol_webapi_webapi_proto_msgTypes[83].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ASCreateJYB); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_protocol_webapi_webapi_proto_msgTypes[84].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SACreateJYB); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_protocol_webapi_webapi_proto_msgTypes[85].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ASUpdateJYB); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_protocol_webapi_webapi_proto_msgTypes[86].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SAUpdateJYB); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_protocol_webapi_webapi_proto_msgTypes[87].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ASCreatePayOrder); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_protocol_webapi_webapi_proto_msgTypes[88].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ReturnCPO); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_protocol_webapi_webapi_proto_msgTypes[89].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SACreatePayOrder); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_protocol_webapi_webapi_proto_msgTypes[90].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ASCreateExchangeOrder); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_protocol_webapi_webapi_proto_msgTypes[91].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SACreateExchangeOrder); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_protocol_webapi_webapi_proto_msgTypes[92].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ASGetExchangeOrder); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_protocol_webapi_webapi_proto_msgTypes[93].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ExchangeOrderInfo); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_protocol_webapi_webapi_proto_msgTypes[94].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SAGetExchangeOrder); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_protocol_webapi_webapi_proto_msgTypes[95].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ASUpExchangeStatus); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_protocol_webapi_webapi_proto_msgTypes[96].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SAUpExchangeStatus); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_protocol_webapi_webapi_proto_msgTypes[97].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ASGetExchangeShop); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_protocol_webapi_webapi_proto_msgTypes[98].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SAGetExchangeShop); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_protocol_webapi_webapi_proto_msgTypes[99].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SARocketLogin); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_protocol_webapi_webapi_proto_msgTypes[100].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ASRocketLogin); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_protocol_webapi_webapi_proto_msgTypes[101].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SARocketLoginOut); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_protocol_webapi_webapi_proto_msgTypes[102].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ASRocketLoginOut); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_protocol_webapi_webapi_proto_msgTypes[103].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ASThdUpdatePlayerCoin); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_protocol_webapi_webapi_proto_msgTypes[104].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SAThdUpdatePlayerCoin); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_protocol_webapi_webapi_proto_msgTypes[105].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SACreateOrder); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_protocol_webapi_webapi_proto_msgTypes[106].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ASCreateOrder); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_protocol_webapi_webapi_proto_msgTypes[107].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SAWebAPISystemPass); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_protocol_webapi_webapi_proto_msgTypes[108].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ASWebAPISystemPass); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_protocol_webapi_webapi_proto_msgTypes[109].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ASCallbackPayment); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_protocol_webapi_webapi_proto_msgTypes[110].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SACallbackPayment); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_protocol_webapi_webapi_proto_msgTypes[111].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ASResource); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_protocol_webapi_webapi_proto_msgTypes[112].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SAResource); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_protocol_webapi_webapi_proto_msgTypes[113].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ASSendSms); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_protocol_webapi_webapi_proto_msgTypes[114].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SASendSms); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_protocol_webapi_webapi_proto_msgTypes[115].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ASGetMatchAwardCode); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_protocol_webapi_webapi_proto_msgTypes[116].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SAGetMatchAwardCode); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_protocol_webapi_webapi_proto_msgTypes[117].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ASUpdateTel); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_protocol_webapi_webapi_proto_msgTypes[118].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SAUpdateTel); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_protocol_webapi_webapi_proto_msgTypes[119].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ASGetImgVerify); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_protocol_webapi_webapi_proto_msgTypes[120].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SAGetImgVerify); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_protocol_webapi_webapi_proto_msgTypes[121].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ASPlayerDelete); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_protocol_webapi_webapi_proto_msgTypes[122].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SAPlayerDelete); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_protocol_webapi_webapi_proto_msgTypes[123].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ASPlayerInviteLink); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_protocol_webapi_webapi_proto_msgTypes[124].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SAPlayerInviteLink); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_protocol_webapi_webapi_proto_msgTypes[125].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ASAddItemById); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_protocol_webapi_webapi_proto_msgTypes[126].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SAAddItemById); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_protocol_webapi_webapi_proto_msgTypes[127].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ASSMSConfig); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_protocol_webapi_webapi_proto_msgTypes[128].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SASMSConfig); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_protocol_webapi_webapi_proto_msgTypes[129].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SMSInfo); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_protocol_webapi_webapi_proto_msgTypes[130].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ASAwardLog); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_protocol_webapi_webapi_proto_msgTypes[131].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ASPopUpWindowsConfig); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_protocol_webapi_webapi_proto_msgTypes[132].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SAPopUpWindowsConfig); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_protocol_webapi_webapi_proto_msgTypes[133].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*WindowsInfo); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_protocol_webapi_webapi_proto_msgTypes[134].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ASRoomInfo); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_protocol_webapi_webapi_proto_msgTypes[135].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RoundInfo); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_protocol_webapi_webapi_proto_msgTypes[136].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SARoomInfo); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_protocol_webapi_webapi_proto_msgTypes[137].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ASGetDollExchangeOrder); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_protocol_webapi_webapi_proto_msgTypes[138].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SAGetDollExchangeOrder); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_protocol_webapi_webapi_proto_msgTypes[139].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ASShowLottery); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_protocol_webapi_webapi_proto_msgTypes[140].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ShowLottery); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_protocol_webapi_webapi_proto_msgTypes[141].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SAShowLottery); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_protocol_webapi_webapi_proto_msgTypes[142].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ASSendSMSCode); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_protocol_webapi_webapi_proto_msgTypes[143].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SASendSMSCode); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_protocol_webapi_webapi_proto_msgTypes[144].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ASWebLogin); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_protocol_webapi_webapi_proto_msgTypes[145].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SAWebLogin); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_protocol_webapi_webapi_proto_msgTypes[146].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ASWebCreateExchange); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_protocol_webapi_webapi_proto_msgTypes[147].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SAWebCreateExchange); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_protocol_webapi_webapi_proto_msgTypes[148].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ASGetAddress); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_protocol_webapi_webapi_proto_msgTypes[149].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SAGetAddress); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_protocol_webapi_webapi_proto_msgTypes[150].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ASUpdateAddress); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_protocol_webapi_webapi_proto_msgTypes[151].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SAUpdateAddress); 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_protocol_webapi_webapi_proto_rawDesc, NumEnums: 2, NumMessages: 152, NumExtensions: 0, NumServices: 0, }, GoTypes: file_protocol_webapi_webapi_proto_goTypes, DependencyIndexes: file_protocol_webapi_webapi_proto_depIdxs, EnumInfos: file_protocol_webapi_webapi_proto_enumTypes, MessageInfos: file_protocol_webapi_webapi_proto_msgTypes, }.Build() File_protocol_webapi_webapi_proto = out.File file_protocol_webapi_webapi_proto_rawDesc = nil file_protocol_webapi_webapi_proto_goTypes = nil file_protocol_webapi_webapi_proto_depIdxs = nil }