@goplus123/core-api 1.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/client/grpcClient.ts","../src/client/httpClient.ts","../src/client/wsClient.ts","../src/client/requestApi.ts","../src/client/wsRpcClient.ts","../src/client/unifiedApiClient.ts","../src/client/interceptors.ts","../src/grpcWeb/grpc/auth/FrontendAuthService_pb.ts","../src/grpcWeb/grpc/common/Common_pb.ts","../src/grpcWeb/grpc/common/CommonEnums_pb.ts","../src/grpcWeb/grpc/cmsCommon/CmsCommon_pb.ts","../src/grpcWeb/grpc/recommendCommon/RecommendCommon_pb.ts","../src/grpcWeb/grpc/auth/PlayerRegisterRequestCode_pb.ts","../src/grpcWeb/grpc/auth/PlayerRegisterWithCode_pb.ts","../src/grpcWeb/grpc/auth/PlayerLoginWithSessionToken_pb.ts","../src/grpcWeb/grpc/auth/PhoneNumberLoginWithPassword_pb.ts","../src/grpcWeb/grpc/auth/PlayerLoginOrRegisterWithSMS_pb.ts","../src/grpcWeb/grpc/auth/AuthCommon_pb.ts","../src/grpcWeb/grpc/auth/PlayerLogout_pb.ts","../src/grpcWeb/grpc/auth/Authenticate_pb.ts","../src/grpcWeb/grpc/auth/SendSmsCode_pb.ts","../src/grpcWeb/grpc/auth/SendSmsCodeViber_pb.ts","../src/grpcWeb/grpc/auth/FrontendFaceIdService_pb.ts","../src/grpcWeb/grpc/auth/EnableFaceId_pb.ts","../src/grpcWeb/grpc/auth/InitFaceIdSession_pb.ts","../src/grpcWeb/grpc/auth/PlayerLoginWithFaceId_pb.ts","../src/grpcWeb/grpc/auth/DisableFaceId_pb.ts","../src/grpcWeb/grpc/auth/InitEnrollSession_pb.ts","../src/grpcWeb/grpc/auth/GetFaceIdInfo_pb.ts","../src/grpcWeb/grpc/auth/FrontendFacebookService_pb.ts","../src/grpcWeb/grpc/auth/PlayerLoginOrRegisterWithFacebook_pb.ts","../src/grpcWeb/grpc/auth/GetFacebookConsentPage_pb.ts","../src/grpcWeb/grpc/auth/FacebookAuthorization_pb.ts","../src/grpcWeb/grpc/auth/GetFacebookFriendList_pb.ts","../src/grpcWeb/grpc/auth/ManualFetchFacebookFriends_pb.ts","../src/grpcWeb/grpc/auth/BindFacebookAccount_pb.ts","../src/grpcWeb/grpc/auth/UnbindFacebookAccount_pb.ts","../src/grpcWeb/grpc/auth/FacebookVerifyPhoneNumber_pb.ts","../src/grpcWeb/grpc/auth/FrontendPlayerService_pb.ts","../src/grpcWeb/grpc/auth/VerifyPassword_pb.ts","../src/grpcWeb/grpc/auth/GLifeService_pb.ts","../src/grpcWeb/grpc/auth/GLifeAuth_pb.ts","../src/grpcWeb/grpc/auth/PlayerLoginWithGLife_pb.ts","../src/grpcWeb/grpc/auth/PlayerLoginOrRegisterWithGLife_pb.ts","../src/grpcWeb/grpc/auth/MayaService_pb.ts","../src/grpcWeb/grpc/auth/MayaAuth_pb.ts","../src/grpcWeb/grpc/auth/PlayerLoginWithMaya_pb.ts","../src/grpcWeb/grpc/auth/PlayerLoginOrRegisterWithMaya_pb.ts","../src/modules/auth.ts","../src/grpcWeb/grpc/packet/FrontendPacketService_pb.ts","../src/grpcWeb/grpc/packet/AssignPacket_pb.ts","../src/grpcWeb/grpc/packet/GetServerTime_pb.ts","../src/grpcWeb/grpc/packet/GetPacketsInfo_pb.ts","../src/grpcWeb/grpc/packet/RecaptchaPacketService_pb.ts","../src/grpcWeb/grpc/packet/VerifyPlayerPacket_pb.ts","../src/modules/packet.ts","../src/grpcWeb/grpc/payment/FrontendBankCardService_pb.ts","../src/grpcWeb/grpc/payment/GetBankTypes_pb.ts","../src/grpcWeb/grpc/payment/GetBindBankCards_pb.ts","../src/grpcWeb/grpc/payment/PaymentCommon_pb.ts","../src/grpcWeb/grpc/payment/GetAvailableDepositMethods_pb.ts","../src/grpcWeb/grpc/payment/UpdatePaymentInfo_pb.ts","../src/grpcWeb/grpc/payment/VerifyUnionBank_pb.ts","../src/grpcWeb/grpc/payment/FrontendCreditService_pb.ts","../src/grpcWeb/grpc/payment/GetCredit_pb.ts","../src/grpcWeb/grpc/payment/FrontendDepositEffectService_pb.ts","../src/grpcWeb/grpc/payment/GetCreditChangeNotifyMsg_pb.ts","../src/grpcWeb/grpc/payment/RemoveCreditChangeNotifyMsg_pb.ts","../src/grpcWeb/grpc/payment/FrontendFreeSpinService_pb.ts","../src/grpcWeb/grpc/payment/GetPlatformPlayerFreeSpinListing_pb.ts","../src/grpcWeb/grpc/payment/FrontendMudService_pb.ts","../src/grpcWeb/grpc/payment/GetPlayerDisbursements_pb.ts","../src/grpcWeb/grpc/payment/ClaimPlayerDisbursement_pb.ts","../src/grpcWeb/grpc/payment/GetPlayerMudTransactions_pb.ts","../src/grpcWeb/grpc/payment/GetMudTransactionHistory_pb.ts","../src/modules/payment.ts","../src/grpcWeb/grpc/player/FrontendEmailService_pb.ts","../src/grpcWeb/grpc/player/GetVerificationStatus_pb.ts","../src/grpcWeb/grpc/player/PlayerCommon_pb.ts","../src/grpcWeb/grpc/player/VerifyEmail_pb.ts","../src/grpcWeb/grpc/player/FrontendMergePlayerService_pb.ts","../src/grpcWeb/grpc/player/GetMergingList_pb.ts","../src/grpcWeb/grpc/player/MergePlayer_pb.ts","../src/grpcWeb/grpc/player/VerifyMergePlayerCode_pb.ts","../src/grpcWeb/grpc/player/GetMergingListPendingProposalCount_pb.ts","../src/grpcWeb/grpc/player/CheckMergePlayerProposal_pb.ts","../src/grpcWeb/grpc/player/FrontendPlayerPermissionService_pb.ts","../src/grpcWeb/grpc/player/PlayerBypassKycRestriction_pb.ts","../src/grpcWeb/grpc/player/FrontendPlayerService_pb.ts","../src/grpcWeb/grpc/player/CheckPlayerLoginStatus_pb.ts","../src/grpcWeb/grpc/player/GetPlayerProfileByJwt_pb.ts","../src/grpcWeb/grpc/player/UpdatePassword_pb.ts","../src/grpcWeb/grpc/player/GetPlayerInfoForSportsForum_pb.ts","../src/grpcWeb/grpc/player/GetWithdrawalInfo_pb.ts","../src/grpcWeb/grpc/player/GetDepositInfo_pb.ts","../src/grpcWeb/grpc/player/GetAccountCombineInfo_pb.ts","../src/grpcWeb/grpc/player/GetViberStatus_pb.ts","../src/grpcWeb/grpc/player/UpdateAdditionalInfo_pb.ts","../src/grpcWeb/grpc/player/FrontendZolozService_pb.ts","../src/grpcWeb/grpc/player/GetKycParamsConfig_pb.ts","../src/grpcWeb/grpc/player/EkycInit_pb.ts","../src/grpcWeb/grpc/player/EkycResult_pb.ts","../src/grpcWeb/grpc/player/PlayerService_pb.ts","../src/grpcWeb/grpc/player/UpdatePasswordAndNotify_pb.ts","../src/grpcWeb/grpc/player/ResetPasswordFg_pb.ts","../src/grpcWeb/grpc/player/UpdateDob_pb.ts","../src/grpcWeb/grpc/player/UpdatePlaceOfBirth_pb.ts","../src/grpcWeb/grpc/player/UpdateGender_pb.ts","../src/grpcWeb/grpc/player/UpdateNickname_pb.ts","../src/grpcWeb/grpc/player/UpdateEmail_pb.ts","../src/grpcWeb/grpc/player/UpdateAddress_pb.ts","../src/grpcWeb/grpc/player/UpdatePhone_pb.ts","../src/grpcWeb/grpc/player/UpdatePlayerAvatar_pb.ts","../src/grpcWeb/grpc/player/UpdateEKyc_pb.ts","../src/grpcWeb/grpc/player/GetSmsStatus_pb.ts","../src/grpcWeb/grpc/player/UpdateSmsStatus_pb.ts","../src/grpcWeb/grpc/player/GetAllLevel_pb.ts","../src/grpcWeb/grpc/player/GetPlayerProgress_pb.ts","../src/grpcWeb/grpc/player/VerifyPhoneNumberWithSms_pb.ts","../src/grpcWeb/grpc/player/UpdateSourceOfFunds_pb.ts","../src/grpcWeb/grpc/player/UpdateNatureOfWork_pb.ts","../src/grpcWeb/grpc/player/UpdateRealName_pb.ts","../src/grpcWeb/grpc/player/CheckIsValidSmsCode_pb.ts","../src/grpcWeb/grpc/player/GetAllPlayerLevel_pb.ts","../src/grpcWeb/grpc/player/GetPlayerLevelWithPlayerLevelObjId_pb.ts","../src/grpcWeb/grpc/player/GetCasinoPlayerByPlayerId_pb.ts","../src/grpcWeb/grpc/player/GetCasinoPlayers_pb.ts","../src/grpcWeb/grpc/player/GetCasinoPlayerByMemberCardId_pb.ts","../src/grpcWeb/grpc/player/UpdateCasinoPlayerByPlayerId_pb.ts","../src/grpcWeb/grpc/player/UpdatePlayerStatusByPlayerId_pb.ts","../src/grpcWeb/grpc/player/GetBetRecordsByPlayerId_pb.ts","../src/grpcWeb/grpc/player/GetPlayerInfoWithPlayerId_pb.ts","../src/grpcWeb/grpc/player/UpdatePlayerBaccaratTicket_pb.ts","../src/grpcWeb/grpc/player/GetPlayerPhoneAndBankInfo_pb.ts","../src/grpcWeb/grpc/player/GetPlayerKYCAndWithdrawStatus_pb.ts","../src/grpcWeb/grpc/player/GetPlayerValidCreditByPlayerObjId_pb.ts","../src/grpcWeb/grpc/player/GetPlayerIdAndName_pb.ts","../src/grpcWeb/grpc/player/GetFreeSpinPlayerInfo_pb.ts","../src/grpcWeb/grpc/player/GetPlayerInfo_pb.ts","../src/grpcWeb/grpc/player/GetPlayerEmailByPlayerId_pb.ts","../src/grpcWeb/grpc/player/GetPlayerIdAndLevelByPhone_pb.ts","../src/grpcWeb/grpc/player/UpdateViberStatus_pb.ts","../src/grpcWeb/grpc/player/GetPlayerAvatars_pb.ts","../src/modules/player.ts","../src/grpcWeb/grpc/promotion/AdminLiveDrawService_pb.ts","../src/grpcWeb/grpc/promotion/GetTodayLiveDrawEvents_pb.ts","../src/grpcWeb/grpc/promotion/PromotionCommon_pb.ts","../src/grpcWeb/grpc/promotion/GetTodayCurrentRoundLiveDrawEvents_pb.ts","../src/grpcWeb/grpc/promotion/StartLiveDrawEvent_pb.ts","../src/grpcWeb/grpc/promotion/RedrawLiveDrawEvent_pb.ts","../src/grpcWeb/grpc/promotion/ConfirmLiveDraw_pb.ts","../src/grpcWeb/grpc/promotion/LiveDrawEventPhoneCallPlayer_pb.ts","../src/grpcWeb/grpc/promotion/GetLiveDrawEventWinnerList_pb.ts","../src/grpcWeb/grpc/promotion/MakePhoneCall_pb.ts","../src/grpcWeb/grpc/promotion/FrontendCharityService_pb.ts","../src/grpcWeb/grpc/promotion/GetCharityDetail_pb.ts","../src/grpcWeb/grpc/promotion/GetPlayerCharityDetail_pb.ts","../src/grpcWeb/grpc/promotion/FrontendLeaderboardService_pb.ts","../src/grpcWeb/grpc/promotion/GetPlayerRewardProgress_pb.ts","../src/grpcWeb/grpc/promotion/ClaimReward_pb.ts","../src/grpcWeb/grpc/promotion/FrontendLiveDrawService_pb.ts","../src/grpcWeb/grpc/promotion/GetLuckyDrawRewardList_pb.ts","../src/grpcWeb/grpc/promotion/GetPlayerTicketList_pb.ts","../src/grpcWeb/grpc/promotion/GetPlayerInRiskList_pb.ts","../src/grpcWeb/grpc/promotion/FrontendPromotionService_pb.ts","../src/grpcWeb/grpc/promotion/ClaimCampaignPromoCode_pb.ts","../src/grpcWeb/grpc/promotion/HasReceiveEventCampaignReward_pb.ts","../src/grpcWeb/grpc/promotion/FrontendService_pb.ts","../src/grpcWeb/grpc/promotion/GetPlayerFreeSpinInfo_pb.ts","../src/grpcWeb/grpc/promotion/GetFreeSpinHistory_pb.ts","../src/grpcWeb/grpc/promotion/FrontendSpecialEventService_pb.ts","../src/grpcWeb/grpc/promotion/GetCurrentMissionConfig_pb.ts","../src/grpcWeb/grpc/promotion/GetPlayerTaskProgress_pb.ts","../src/grpcWeb/grpc/promotion/ClaimTaskReward_pb.ts","../src/grpcWeb/grpc/promotion/CheckAndCreateMission_pb.ts","../src/grpcWeb/grpc/promotion/GetCurrentCardEvents_pb.ts","../src/grpcWeb/grpc/promotion/PlayerReceiveEgg_pb.ts","../src/grpcWeb/grpc/promotion/GetConsumptionProgress_pb.ts","../src/grpcWeb/grpc/promotion/PlayerClaimAllDailyReward_pb.ts","../src/grpcWeb/grpc/promotion/ClaimTimedEventReward_pb.ts","../src/grpcWeb/grpc/promotion/GetEventRewardHistory_pb.ts","../src/grpcWeb/grpc/promotion/DailyClaimReward_pb.ts","../src/grpcWeb/grpc/promotion/QueryPlayerEgg_pb.ts","../src/grpcWeb/grpc/promotion/UpdateTutorialFlag_pb.ts","../src/grpcWeb/grpc/promotion/ReferralAssistance_pb.ts","../src/grpcWeb/grpc/promotion/GetSingleRewardInfo_pb.ts","../src/grpcWeb/grpc/promotion/GetPlayerRedPacketRecords_pb.ts","../src/modules/promotion.ts","../src/grpcWeb/grpc/recommend/FrontendRecommendService_pb.ts","../src/grpcWeb/grpc/recommend/SaveSearchHistory_pb.ts","../src/grpcWeb/grpc/recommend/GetSearchHistories_pb.ts","../src/grpcWeb/grpc/recommend/DeleteSearchHistory_pb.ts","../src/grpcWeb/grpc/recommend/SearchGames_pb.ts","../src/modules/recommend.ts","../src/grpcWeb/grpc/riskcontrol/FrontendDepositLimitService_pb.ts","../src/grpcWeb/grpc/riskcontrol/PlayerDepositLimitStateOverview_pb.ts","../src/grpcWeb/grpc/riskcontrol/RiskcontrolCommon_pb.ts","../src/grpcWeb/grpc/riskcontrol/UpdatePlayerDepositLimitSwitch_pb.ts","../src/grpcWeb/grpc/riskcontrol/UpdatePlayerPeriodDepositLimit_pb.ts","../src/modules/riskcontrol.ts","../src/grpcWeb/grpc/userEngagement/FrontendPwaNotificationService_pb.ts","../src/grpcWeb/grpc/userEngagement/UpdatePWASubscriptionStatus_pb.ts","../src/modules/userEngagement.ts","../src/spec/endpoint.ts","../src/spec/platform.ts","../src/grpcWeb/grpc/admin/AdminService_pb.ts","../src/grpcWeb/grpc/admin/SignIn_pb.ts","../src/grpcWeb/grpc/admin/GetAdminProfileByJwt_pb.ts","../src/grpcWeb/grpc/admin/ValidateAdmin_pb.ts","../src/grpcWeb/grpc/admin/SignUpAdmin_pb.ts","../src/grpcWeb/grpc/admin/UpdatePlatformConfig_pb.ts","../src/grpcWeb/grpc/admin/CheckHasPermission_pb.ts","../src/grpcWeb/grpc/admin/GetGameName_pb.ts","../src/grpcWeb/grpc/admin/GetPlayerCredibilityRemarkId_pb.ts","../src/grpcWeb/grpc/admin/GetMarketingDepartmentConfig_pb.ts","../src/grpcWeb/grpc/admin/CreateMarketingDepartmentConfig_pb.ts","../src/grpcWeb/grpc/admin/UpdateMarketingDepartmentConfig_pb.ts","../src/grpcWeb/grpc/admin/DeleteMarketingDepartmentConfig_pb.ts","../src/spec/admin.ts","../src/grpcWeb/grpc/cms/FrontendService_pb.ts","../src/grpcWeb/grpc/cms/GetPageResource_pb.ts","../src/grpcWeb/grpc/cms/GetPageGameList_pb.ts","../src/grpcWeb/grpc/cms/GetJackpotResources_pb.ts","../src/grpcWeb/grpc/cms/ReadPopup_pb.ts","../src/grpcWeb/grpc/cms/ReadEventPopup_pb.ts","../src/grpcWeb/grpc/cms/GetAmbassadorConfig_pb.ts","../src/grpcWeb/grpc/cms/GetAmbassadorConfigDetail_pb.ts","../src/grpcWeb/grpc/cms/SearchGame_pb.ts","../src/grpcWeb/grpc/cms/SearchGameV2_pb.ts","../src/grpcWeb/grpc/cms/GetSportConfig_pb.ts","../src/grpcWeb/grpc/cms/GetSportTodayMatch_pb.ts","../src/grpcWeb/grpc/cms/GetGameSuggestions_pb.ts","../src/spec/cms.ts","../src/spec/index.ts","../src/routing/router.ts","../src/utils/uniqueKey.ts","../src/index.ts"],"sourcesContent":["// src/client/grpcClient.ts\nimport { createClient, Client, Transport, Interceptor } from '@connectrpc/connect'\nimport type { CallOptions } from '@connectrpc/connect'\nimport { createConnectTransport, createGrpcWebTransport } from '@connectrpc/connect-web'\nimport { create } from '@bufbuild/protobuf'\nimport type { DescMessage, DescService, MessageInitShape, MessageShape } from '@bufbuild/protobuf'\nimport type { ApiLogger } from './interceptors'\n\nexport class GrpcApiError extends Error {\n name = 'GrpcApiError'\n service: string\n method: unknown\n code?: unknown\n\n constructor(options: {\n service: string\n method: unknown\n code?: unknown\n message?: string\n cause?: unknown\n }) {\n super(options.message ?? 'gRPC request failed', { cause: options.cause })\n this.service = options.service\n this.method = options.method\n this.code = options.code\n ;(this as any).cause = options.cause\n }\n}\n\nexport type MessageInit<Req extends DescMessage> = Exclude<MessageInitShape<Req>, MessageShape<Req>>\n\n/**\n * gRPC 客户端配置\n */\nexport interface GrpcClientConfig {\n /** 服务基础地址 (e.g. https://demo.connect.build) */\n baseUrl: string\n /**\n * 传输协议类型\n * - 'connect': 使用 Connect 协议 (推荐,更轻量,支持 HTTP/1.1 和 HTTP/2)\n * - 'grpc-web': 使用 gRPC-Web 协议 (兼容旧版 gRPC-Web 服务)\n * 默认 'grpc-web'\n */\n protocol?: 'connect' | 'grpc-web' | 'auto'\n /** 是否开启调试日志 */\n debug?: boolean\n /**\n * 自定义 fetch 实现 (用于 React Native 或 Node.js 环境)\n * 如果在 React Native 中,通常不需要传,全局 fetch 可用\n */\n fetch?: typeof globalThis.fetch\n getToken?: () => string | null | Promise<string | null>\n headers?: Record<string, string>\n getHeaders?: () =>\n | Record<string, string>\n | null\n | undefined\n | Promise<Record<string, string> | null | undefined>\n logger?: ApiLogger\n}\n\n/**\n * 通用 gRPC 客户端封装 (基于 ConnectRPC)\n */\nexport class GrpcClient {\n private transport: Transport\n private getToken?: () => string | null | Promise<string | null>\n private headers?: Record<string, string>\n private getHeaders?: () =>\n | Record<string, string>\n | null\n | undefined\n | Promise<Record<string, string> | null | undefined>\n private logger?: ApiLogger\n\n constructor(config: GrpcClientConfig) {\n this.getToken = config.getToken\n this.headers = config.headers\n this.getHeaders = config.getHeaders\n this.logger =\n config.logger ??\n (config.debug\n ? { debug: console.log, info: console.log, warn: console.warn, error: console.error }\n : undefined)\n\n // 创建拦截器\n const interceptors: Interceptor[] = [this.createAuthInterceptor(), this.createLogInterceptor()]\n\n const transportOptions = {\n baseUrl: config.baseUrl,\n interceptors,\n fetch: config.fetch, // 允许传入自定义 fetch\n }\n\n const protocol = config.protocol ?? 'grpc-web'\n this.transport =\n protocol === 'grpc-web'\n ? createGrpcWebTransport(transportOptions)\n : createConnectTransport(transportOptions)\n\n // this.transport = createGrpcWebTransport(transportOptions)\n }\n\n /**\n * 创建特定服务的客户端实例\n * @param service Service Definition (从生成的 _connect.ts 导入)\n */\n getService<TService extends DescService>(service: TService): Client<TService> {\n return createClient(service, this.transport)\n }\n\n unary<Req extends DescMessage, Res>(\n schema: Req,\n payload: MessageInit<Req> | undefined,\n call: (req: MessageInitShape<Req>, options?: CallOptions) => Promise<Res>,\n options?: CallOptions,\n ): Promise<Res> {\n const req = create(schema, payload)\n return call(req, options)\n }\n\n /**\n * 认证拦截器\n */\n private createAuthInterceptor(): Interceptor {\n return (next) => async (req) => {\n if (this.headers) {\n for (const [key, value] of Object.entries(this.headers)) {\n const existing = (req.header as any).get?.(key)\n if (existing == null) req.header.set(key, value)\n }\n }\n if (this.getHeaders) {\n const extra = await this.getHeaders()\n if (extra) {\n for (const [key, value] of Object.entries(extra)) {\n const existing = (req.header as any).get?.(key)\n if (existing == null) req.header.set(key, value)\n }\n }\n }\n if (this.getToken) {\n const token = await this.getToken()\n if (token) req.header.set('Authorization', `Bearer ${token}`)\n }\n return next(req)\n }\n }\n\n /**\n * 日志拦截器\n */\n private createLogInterceptor(): Interceptor {\n return (next) => async (req) => {\n const debug = this.logger?.debug\n const error = this.logger?.error\n\n debug?.('[Grpc]', {\n method: (req as any).method,\n url: req.url,\n messageType: (req as any)?.message?.constructor?.name,\n })\n try {\n const res = await next(req)\n debug?.('[Grpc:Response]', {\n url: req.url,\n messageType: (res as any)?.message?.constructor?.name,\n })\n return res\n } catch (err) {\n error?.('[Grpc:Error]', { url: req.url, error: err })\n if (err instanceof GrpcApiError) throw err\n throw new GrpcApiError({\n service: req.url,\n method: (req as any).method,\n code: (err as any)?.code,\n message: (err as any)?.message,\n cause: err,\n })\n }\n }\n }\n}\n","// src/client/httpClient.ts\nimport type { ApiLogger } from './interceptors'\n\n/**\n * 统一的 API 响应结构(根据实际后端接口调整)\n */\nexport interface ApiResponse<T = any> {\n code: number\n message: string\n data: T\n}\n\nexport class HttpApiError extends Error {\n name = 'HttpApiError'\n url: string\n method: string\n status?: number\n body?: unknown\n\n constructor(options: {\n url: string\n method: string\n status?: number\n message?: string\n body?: unknown\n cause?: unknown\n }) {\n super(options.message ?? 'HTTP request failed', { cause: options.cause })\n this.url = options.url\n this.method = options.method\n this.status = options.status\n this.body = options.body\n ;(this as any).cause = options.cause\n }\n}\n\nexport interface HttpClientConfig {\n method?: string\n url?: string\n params?: Record<string, any>\n data?: any\n headers?: Record<string, string>\n getHeaders?: () =>\n | Record<string, string>\n | null\n | undefined\n | Promise<Record<string, string> | null | undefined>\n timeout?: number\n returnRaw?: boolean\n getToken?: () => string | null | Promise<string | null>\n logger?: ApiLogger\n}\n\nexport class HttpClient {\n /**\n * HTTP transport 的最小封装:\n * - 统一 baseURL 拼接与 query 序列化\n * - 统一鉴权 token / 额外 headers 挂载\n * - 统一超时与错误结构化(HttpApiError)\n *\n * 该层不做业务 envelope 解包,保持通用。\n */\n private baseURL: string\n private timeout: number\n private getToken?: () => string | null | Promise<string | null>\n private getHeaders?: () =>\n | Record<string, string>\n | null\n | undefined\n | Promise<Record<string, string> | null | undefined>\n private logger?: ApiLogger\n private defaultHeaders: Record<string, string>\n\n constructor(baseURL: string, config?: HttpClientConfig) {\n this.baseURL = baseURL\n this.timeout = config?.timeout ?? 10000\n this.getToken = config?.getToken\n this.getHeaders = config?.getHeaders\n this.logger = config?.logger\n this.defaultHeaders = {\n 'Content-Type': 'application/json',\n ...(config?.headers ?? {}),\n }\n }\n\n private buildURL(path: string, params?: Record<string, any>): string {\n /**\n * 业务意图:\n * - 兼容绝对地址与相对地址(相对地址拼到 baseURL 上)\n * - params 支持数组(同 key 多值),用于常见的筛选/批量参数\n */\n const isAbsolute = /^https?:\\/\\//i.test(path)\n const base = isAbsolute ? path : `${this.baseURL.replace(/\\/$/, '')}/${path.replace(/^\\//, '')}`\n if (!params || Object.keys(params).length === 0) return base\n const url = new URL(base)\n Object.entries(params).forEach(([key, value]) => {\n if (value === undefined || value === null) return\n if (Array.isArray(value)) {\n value.forEach((v) => url.searchParams.append(key, String(v)))\n } else {\n url.searchParams.append(key, String(value))\n }\n })\n return url.toString()\n }\n\n private async attachToken(headers: Record<string, string>) {\n /**\n * 业务意图:如果调用方未显式设置 Authorization,则自动补 token。\n * 这样既能默认走统一鉴权,也允许特定接口覆盖/不带 token。\n */\n if (this.getToken && !headers.Authorization) {\n const token = await this.getToken()\n if (token) {\n headers.Authorization = `Bearer ${token}`\n }\n }\n }\n\n private async attachExtraHeaders(headers: Record<string, string>) {\n /**\n * 业务意图:附加平台公共头(如渠道、语言、设备信息等)。\n * 与 attachToken 一样,只在调用方未设置同名 header 时才注入,避免互相覆盖。\n */\n if (!this.getHeaders) return\n const extra = await this.getHeaders()\n if (!extra) return\n for (const [key, value] of Object.entries(extra)) {\n if (value === undefined || value === null) continue\n if (headers[key] === undefined) {\n headers[key] = String(value)\n }\n }\n }\n\n private async fetchWithTimeout(\n url: string,\n init: RequestInit,\n timeout?: number,\n ): Promise<Response> {\n /**\n * 业务意图:对 fetch 统一增加超时控制。\n * 超时通过 AbortController 实现,调用侧将收到 AbortError。\n */\n const timeoutMs = timeout ?? this.timeout\n if (!timeoutMs || timeoutMs <= 0) {\n return fetch(url, init)\n }\n const controller = new AbortController()\n const id = setTimeout(() => controller.abort(), timeoutMs)\n try {\n return await fetch(url, { ...init, signal: controller.signal })\n } finally {\n clearTimeout(id)\n }\n }\n\n private async handleErrorResponse(options: {\n res: Response\n url: string\n method: string\n }): Promise<never> {\n /**\n * 业务意图:把非 2xx 的 HTTP 响应统一转换为 HttpApiError,\n * 并尽可能把响应体(json/text)带出来,方便上层做错误提示与排查。\n */\n const errorLog = this.logger?.error ?? console.error\n const warnLog = this.logger?.warn ?? console.warn\n let body: any\n const contentType = options.res.headers.get('content-type') || ''\n try {\n if (contentType.includes('application/json')) {\n body = await options.res.json()\n } else {\n body = await options.res.text()\n }\n } catch {\n body = undefined\n }\n errorLog('HTTP Error', { status: options.res.status, url: options.url, method: options.method })\n switch (options.res.status) {\n case 401:\n warnLog('Unauthorized, please login.')\n break\n case 403:\n warnLog('Forbidden.')\n break\n case 404:\n warnLog('Resource not found.')\n break\n case 500:\n errorLog('Internal Server Error.')\n break\n default:\n errorLog('Unknown Error.')\n break\n }\n throw new HttpApiError({\n url: options.url,\n method: options.method,\n status: options.res.status,\n message: `HTTP error ${options.res.status}`,\n body,\n })\n }\n\n private handleNetworkError(error: any) {\n const errorLog = this.logger?.error ?? console.error\n if (error && error.name === 'AbortError') {\n errorLog('HTTP request aborted due to timeout.')\n return\n }\n errorLog('HTTP network error:', error)\n }\n\n async request<T>(config: HttpClientConfig): Promise<T> {\n const startedAt = Date.now()\n const method = (config.method ?? 'GET').toUpperCase()\n const url = this.buildURL(config.url ?? '', config.params)\n const headers: Record<string, string> = {\n ...this.defaultHeaders,\n ...(config.headers ?? {}),\n }\n await this.attachExtraHeaders(headers)\n await this.attachToken(headers)\n\n const init: RequestInit = {\n method,\n headers,\n }\n\n if (method !== 'GET' && method !== 'HEAD' && config.data !== undefined) {\n init.body = typeof config.data === 'string' ? config.data : JSON.stringify(config.data)\n }\n\n let res: Response\n try {\n this.logger?.debug?.('http.request', { method, url })\n res = await this.fetchWithTimeout(url, init, config.timeout)\n } catch (err) {\n this.handleNetworkError(err)\n throw new HttpApiError({\n url,\n method,\n message:\n (err as any)?.name === 'AbortError' ? 'HTTP request timeout' : (err as any)?.message,\n cause: err,\n })\n }\n\n if (!res.ok) {\n await this.handleErrorResponse({ res, url, method })\n }\n\n this.logger?.debug?.('http.response', {\n method,\n url,\n status: res.status,\n durationMs: Date.now() - startedAt,\n })\n\n if (config.returnRaw) {\n return res as unknown as T\n }\n\n const contentType = res.headers.get('content-type') || ''\n if (contentType.includes('application/json')) {\n return (await res.json()) as T\n }\n const text = await res.text()\n return text as unknown as T\n }\n\n get<T>(url: string, params?: any, config?: HttpClientConfig): Promise<T> {\n return this.request<T>({ ...config, method: 'GET', url, params })\n }\n\n post<T>(url: string, data?: any, config?: HttpClientConfig): Promise<T> {\n return this.request<T>({ ...config, method: 'POST', url, data })\n }\n\n put<T>(url: string, data?: any, config?: HttpClientConfig): Promise<T> {\n return this.request<T>({ ...config, method: 'PUT', url, data })\n }\n\n delete<T>(url: string, params?: any, config?: HttpClientConfig): Promise<T> {\n return this.request<T>({ ...config, method: 'DELETE', url, params })\n }\n\n patch<T>(url: string, data?: any, config?: HttpClientConfig): Promise<T> {\n return this.request<T>({ ...config, method: 'PATCH', url, data })\n }\n}\n","/**\n * WebSocket 事件枚举\n */\nimport type { ApiLogger } from './interceptors'\n\nexport enum WsEvent {\n OPEN = '__open__',\n CLOSE = '__close__',\n ERROR = '__error__',\n RECONNECTING = '__reconnecting__',\n RECONNECT_FAILED = '__reconnect_failed__',\n RAW_MESSAGE = '__raw__',\n}\n\nexport type WsTransportErrorType =\n | 'connection_timeout'\n | 'reconnect_failed'\n | 'request_timeout'\n | 'disconnected'\n\nexport class WsTransportError extends Error {\n name = 'WsTransportError'\n type: WsTransportErrorType\n requestId?: string\n functionName?: string\n\n constructor(options: {\n type: WsTransportErrorType\n requestId?: string\n functionName?: string\n message?: string\n cause?: unknown\n }) {\n const message =\n options.message ??\n (options.type === 'connection_timeout'\n ? 'WebSocket connection timeout'\n : options.type === 'reconnect_failed'\n ? 'WebSocket reconnect failed'\n : options.type === 'request_timeout'\n ? 'WebSocket request timeout'\n : 'WebSocket disconnected')\n super(message, { cause: options.cause })\n this.type = options.type\n this.requestId = options.requestId\n this.functionName = options.functionName\n ;(this as any).cause = options.cause\n }\n}\n\nexport interface HeaderConfig {\n version: string\n platformId: string\n isReload: boolean\n deviceType: number | string\n deviceId?: string\n childPlatformId: string\n // clientType: string\n}\n\n/**\n * WebSocket 消息处理函数类型\n */\ntype MessageHandler = (data: any) => void\n\nexport type WsNotifyHandler<T = any> = (payload: T) => void\n\nexport class WsNotifyCenter {\n private listeners = new Map<string, Set<WsNotifyHandler<any>>>()\n\n on<T = any>(type: string, handler: WsNotifyHandler<T>) {\n if (!this.listeners.has(type)) {\n this.listeners.set(type, new Set())\n }\n this.listeners.get(type)!.add(handler as any)\n return () => this.off(type, handler as any)\n }\n\n off<T = any>(type: string, handler: WsNotifyHandler<T>) {\n this.listeners.get(type)?.delete(handler as any)\n }\n\n offAll(type?: string) {\n if (type) {\n this.listeners.delete(type)\n } else {\n this.listeners.clear()\n }\n }\n\n emit(type: string, payload: any) {\n this.listeners.get(type)?.forEach((fn) => {\n fn(payload)\n })\n }\n}\n\nexport interface WsRequestOptions<T = any> {\n /**\n * 业务意图:为单次请求提供“等待连接 + 等待响应”的约束:\n * - timeout:超时失败\n * - responseFunctionName:某些后端会用不同的 functionName 作为响应事件名\n * - matchRequestId:是否用 requestId 严格匹配响应(默认 true)\n * - filter:对响应数据二次过滤(例如只接收特定状态的推送)\n */\n timeout?: number\n filter?: (data: T) => boolean\n responseFunctionName?: string\n matchRequestId?: boolean\n}\n\n/**\n * WebSocket 客户端配置选项\n */\nexport interface WsClientOptions {\n /** WebSocket 服务地址 */\n url: string\n /** 子协议 */\n protocols?: string | string[]\n /** 心跳配置 */\n heartbeat?: {\n /** 心跳间隔 (ms) */\n interval: number\n /** 响应超时时间 (ms) */\n timeout: number\n /** 发送的心跳包类型 (默认为 'ping') */\n pingType?: string\n /** 期望的响应包类型 (默认为 'pong') */\n pongType?: string\n }\n /** 重连配置 */\n reconnect?: {\n /** 是否启用自动重连 */\n enabled: boolean\n /** 最大重试次数 */\n maxRetries: number\n /** 重连间隔 (ms) */\n interval: number\n }\n /** 是否开启调试日志 */\n debug?: boolean\n /** 获取 Token 的函数 */\n getToken?: () => string | null | Promise<string | null>\n logger?: ApiLogger\n}\n\n/**\n * WebSocket 客户端封装\n * 提供自动重连、心跳检测、消息订阅、消息队列等功能\n *\n * Public stable APIs:\n * - connect / disconnect / destroy\n * - request\n * - notify.on\n * - on(WsEvent)\n */\nexport class WsClient {\n /**\n * WS transport 的底层实现:\n * - 连接:connect/waitConnected + 自动重连 + 心跳保活\n * - 通信:send/request,基于 requestId 的请求-响应匹配\n * - 事件:on/off/emit,用 functionName/type 作为事件名分发消息\n *\n * 约定:业务消息体会合并 headerConfig(平台/设备信息等),用于服务端识别来源。\n */\n private ws: WebSocket | null = null\n private connectPromise: Promise<void> | null = null\n private options: WsClientOptions\n private headerConfig: HeaderConfig\n private logger?: ApiLogger\n\n /** 请求 ID 计数器 */\n private requestIndex = 0\n /** 当前重连尝试次数 */\n private retryCount = 0\n /** 重连定时器 */\n private reconnectTimer: number | null = null\n /** 标记是否为手动关闭,手动关闭不触发重连 */\n private manuallyClosed = false\n\n /** 事件监听器集合 (transport / debug / internal) */\n private listeners = new Map<string, Set<MessageHandler>>()\n /** 业务消息通知中心 (notify / business) */\n readonly notify = new WsNotifyCenter()\n private pendingRequests = new Map<\n string,\n {\n responseFunctionName?: string\n filter?: (data: any) => boolean\n resolve: (data: any) => void\n reject: (error: any) => void\n timer: number | null\n }\n >()\n\n /* 心跳相关 */\n private heartbeatTimer: number | null = null\n private lastPongTime = 0\n private lastPingTime = 0\n\n /* 消息队列 (用于在连接未建立时缓存消息) */\n private messageQueue: string[] = []\n\n constructor(options: WsClientOptions, headerConfig?: HeaderConfig) {\n // 合并默认配置\n this.options = {\n ...options,\n reconnect: {\n enabled: true,\n maxRetries: 5,\n interval: 3000,\n ...options.reconnect,\n },\n heartbeat: {\n interval: 10000,\n timeout: 30000,\n pingType: 'ping',\n pongType: 'pong',\n ...options.heartbeat,\n },\n }\n\n this.headerConfig = headerConfig ?? {\n version: '',\n platformId: '',\n isReload: false,\n deviceType: '',\n childPlatformId: '',\n // clientType: 2\n }\n this.logger = options.logger\n }\n\n /* ======================\n * 认证\n * ====================== */\n\n /* ======================\n * 状态 / 连接控制\n * ====================== */\n\n /**\n * 获取当前 WebSocket 状态\n * 0: CONNECTING, 1: OPEN, 2: CLOSING, 3: CLOSED\n */\n get state(): number {\n return this.ws ? this.ws.readyState : WebSocket.CLOSED\n }\n\n /**\n * 是否已连接\n */\n get isConnected(): boolean {\n return this.state === WebSocket.OPEN\n }\n\n /**\n * 获取当前请求 ID\n */\n get requestId(): string {\n this.requestIndex = (this.requestIndex + 1) % 1_000_000\n return `RQ${this.requestIndex}`\n }\n\n /**\n * 等待连接建立\n * @param timeout 超时时间 (ms),默认 10000ms\n */\n async waitConnected(timeout: number = 10000): Promise<void> {\n /**\n * 业务意图:对上层屏蔽“连接尚未建立”的状态差异,\n * request 会先 waitConnected,再发送消息,避免调用方自己管理连接时序。\n */\n if (this.isConnected) {\n return Promise.resolve()\n }\n\n return new Promise((resolve, reject) => {\n let timer: number | null = null\n\n const cleanup = () => {\n if (timer) clearTimeout(timer)\n this.off(WsEvent.OPEN, onOpen)\n this.off(WsEvent.ERROR, onError)\n this.off(WsEvent.RECONNECT_FAILED, onFail)\n }\n\n const onOpen = () => {\n cleanup()\n resolve()\n }\n\n const onError = (_err: any) => {\n // 连接错误不一定代表最终失败(可能会重连),但在 waitConnected 语境下,\n // 如果是首次连接失败,可能希望抛出。\n // 这里我们选择不立即 reject,除非超时或重连失败,因为有重连机制。\n }\n\n const onFail = () => {\n cleanup()\n reject(new WsTransportError({ type: 'reconnect_failed' }))\n }\n\n this.on(WsEvent.OPEN, onOpen)\n this.on(WsEvent.ERROR, onError)\n this.on(WsEvent.RECONNECT_FAILED, onFail)\n\n timer = window.setTimeout(() => {\n cleanup()\n reject(new WsTransportError({ type: 'connection_timeout' }))\n }, timeout)\n\n // 如果当前没有在连接中,尝试连接\n if (!this.ws || this.ws.readyState === WebSocket.CLOSED) {\n this.connect().catch((err) => {\n // connect 本身抛错通常是因为 buildURL 失败\n cleanup()\n reject(err)\n })\n }\n })\n }\n\n /**\n * 建立 WebSocket 连接\n * @param extraParams 可选的 URL 查询参数\n */\n async connect(extraParams?: Record<string, string>) {\n /**\n * 业务意图:连接只允许“同一时间一条 connect 流程”,避免并发调用导致重复建连。\n * connectPromise 用来复用同一次连接过程。\n */\n if (this.connectPromise) {\n return await this.connectPromise\n }\n\n if (\n this.ws &&\n (this.ws.readyState === WebSocket.CONNECTING || this.ws.readyState === WebSocket.OPEN)\n ) {\n this.log('WebSocket is already connected or connecting.')\n return\n }\n\n this.connectPromise = (async () => {\n this.manuallyClosed = false\n let url: string\n try {\n url = await this.buildURL(extraParams)\n } catch (e) {\n this.log('Failed to build URL:', e)\n this.emit(WsEvent.ERROR, e)\n return\n }\n\n this.log(`Connecting to ${url}...`)\n this.ws = new WebSocket(url, this.options.protocols)\n\n this.ws.onopen = () => {\n /**\n * 连接建立后:\n * - 重置重连次数\n * - 启动心跳\n * - 把连接期间缓存的消息队列 flush 出去\n */\n this.log('WebSocket connected.')\n this.retryCount = 0\n this.emit(WsEvent.OPEN, null)\n this.startHeartbeat()\n this.flushMessageQueue()\n }\n\n this.ws.onclose = (event) => {\n this.log(`WebSocket closed. Code: ${event.code}, Reason: ${event.reason}`)\n this.cleanup()\n this.emit(WsEvent.CLOSE, { code: event.code, reason: event.reason })\n if (!this.manuallyClosed) {\n this.tryReconnect()\n }\n }\n\n this.ws.onerror = (err) => {\n this.log('WebSocket error:', err)\n this.emit(WsEvent.ERROR, err)\n }\n\n this.ws.onmessage = (e) => {\n this.handleMessage(e.data)\n }\n })().finally(() => {\n this.connectPromise = null\n })\n\n return await this.connectPromise\n }\n\n /**\n * 主动断开连接\n */\n disconnect() {\n this.manuallyClosed = true\n this.clearReconnect()\n this.cleanup()\n if (this.ws) {\n this.ws.close()\n this.ws = null\n }\n this.log('WebSocket disconnected manually.')\n }\n\n /**\n * 销毁 WsClient 实例\n * - 断开连接\n * - 清除所有定时器\n * - 拒绝所有挂起请求\n * - 移除所有事件监听\n */\n destroy() {\n this.manuallyClosed = true\n this.clearReconnect()\n this.cleanup()\n if (this.ws) {\n this.ws.close()\n this.ws = null\n }\n this.offAll()\n this.notify.offAll()\n this.messageQueue = []\n this.log('WsClient destroyed.')\n }\n\n /* ======================\n * 发送 / 接收\n * ====================== */\n\n /**\n * 发送消息\n * @param functionName 业务方法名\n * @param service 服务名\n * @param payload 业务参数\n */\n send(functionName: string, service?: string, payload?: any) {\n /**\n * 业务意图:统一 WS 消息格式,并注入公共 headerConfig。\n * requestId 是请求-响应匹配的关键字段:如果调用方未传,则自动生成。\n */\n const requestId = payload?.requestId ?? this.requestId\n const message = JSON.stringify({\n functionName,\n data: {\n ...payload,\n ...this.headerConfig,\n uuid: this.options.protocols,\n requestId,\n },\n service,\n })\n\n if (!this.ws || this.ws.readyState !== WebSocket.OPEN) {\n this.log('WebSocket not ready, queuing message:', functionName)\n this.messageQueue.push(message)\n return\n }\n\n this.ws.send(message)\n }\n\n request<T = any>(functionName: string, payload?: any, options?: WsRequestOptions<T>): Promise<T>\n request<T = any>(\n functionName: string,\n service: string,\n payload?: any,\n options?: WsRequestOptions<T>,\n ): Promise<T>\n async request<T = any>(\n functionName: string,\n payloadOrService?: any,\n payloadOrOptions?: any,\n maybeOptions?: WsRequestOptions<T>,\n ): Promise<T> {\n const hasService = typeof payloadOrService === 'string'\n const service = hasService ? (payloadOrService as string) : undefined\n const payload = hasService ? payloadOrOptions : payloadOrService\n const options: WsRequestOptions<T> | undefined = hasService\n ? (maybeOptions as WsRequestOptions<T> | undefined)\n : (payloadOrOptions as WsRequestOptions<T> | undefined)\n\n const requestId = (payload as any)?.requestId ?? this.requestId\n const responseFunctionName = options?.responseFunctionName ?? functionName\n const matchRequestId = options?.matchRequestId ?? true\n\n await this.waitConnected(options?.timeout)\n\n if (matchRequestId) {\n /**\n * 严格模式:默认启用 requestId 匹配,防止并发调用同一个 functionName 时串包。\n * pendingRequests 用于等待指定 requestId 的响应,并可按 responseFunctionName/filter 做二次约束。\n */\n return new Promise<T>((resolve, reject) => {\n let timer: number | null = null\n\n if (options?.timeout && options.timeout > 0) {\n timer = window.setTimeout(() => {\n this.pendingRequests.delete(requestId)\n reject(\n new WsTransportError({\n type: 'request_timeout',\n requestId,\n functionName: responseFunctionName,\n }),\n )\n }, options.timeout)\n }\n\n this.pendingRequests.set(requestId, {\n responseFunctionName,\n filter: options?.filter ? (options.filter as any) : undefined,\n resolve,\n reject,\n timer,\n })\n\n try {\n this.send(functionName, service as any, { ...(payload ?? {}), requestId })\n } catch (e) {\n this.pendingRequests.delete(requestId)\n if (timer) clearTimeout(timer)\n reject(e)\n }\n })\n }\n\n return new Promise<T>((resolve, reject) => {\n /**\n * 非严格模式:按事件名订阅响应(可选再检查 requestId/filter)。\n * 适合服务端不回传 requestId 或者响应是广播/推送的场景。\n */\n let timer: number | null = null\n\n const off = this.on(responseFunctionName, (data: T) => {\n if (matchRequestId) {\n const dataRequestId = (data as any)?.requestId ?? (data as any)?.data?.requestId\n if (dataRequestId && dataRequestId !== requestId) {\n return\n }\n }\n if (options?.filter && !options.filter(data)) {\n return\n }\n if (timer) clearTimeout(timer)\n off()\n resolve(data)\n })\n\n if (options?.timeout && options.timeout > 0) {\n timer = window.setTimeout(() => {\n off()\n reject(\n new WsTransportError({\n type: 'request_timeout',\n requestId,\n functionName: responseFunctionName,\n }),\n )\n }, options.timeout)\n }\n\n try {\n this.send(functionName, service as any, { ...(payload ?? {}), requestId })\n } catch (e) {\n if (timer) clearTimeout(timer)\n off()\n reject(e)\n }\n })\n }\n\n /**\n * 处理接收到的原始消息\n * @param raw 原始字符串数据\n */\n private handleMessage(raw: string) {\n /**\n * 业务意图:兼容两种常见服务端消息结构:\n * 1) { type, payload, requestId? }\n * 2) { functionName, data/payload, requestId? }\n *\n * 同时支持把心跳 pong 拦截掉,不进入业务分发。\n */\n try {\n const msg = JSON.parse(raw)\n\n if (msg && typeof msg === 'object' && typeof msg.type === 'string') {\n const { type, payload } = msg\n if (this.isPong(type)) {\n this.lastPongTime = Date.now()\n return\n }\n const requestId =\n msg.requestId ??\n (payload && typeof payload === 'object'\n ? ((payload as any).requestId ?? (payload as any)?.data?.requestId)\n : undefined)\n const resolved = requestId ? this.tryResolvePending(requestId, type, payload) : false\n if (!resolved) {\n this.notify.emit(type, payload)\n }\n this.emit(type, payload)\n return\n }\n\n if (msg && typeof msg === 'object' && typeof msg.functionName === 'string') {\n const functionName = msg.functionName\n const payload = msg.data ?? msg.payload\n if (this.isPong(functionName)) {\n this.lastPongTime = Date.now()\n return\n }\n const requestId =\n msg.requestId ??\n (payload && typeof payload === 'object'\n ? ((payload as any).requestId ?? (payload as any)?.data?.requestId)\n : undefined)\n const resolved = requestId\n ? this.tryResolvePending(requestId, functionName, payload)\n : false\n if (!resolved) {\n this.notify.emit(functionName, payload)\n }\n this.emit(functionName, payload)\n return\n }\n\n this.emit(WsEvent.RAW_MESSAGE, msg)\n } catch (e) {\n // 非 JSON 格式或其他解析错误,作为原始消息发出\n this.emit(WsEvent.RAW_MESSAGE, raw)\n this.log('Failed to parse message:', raw, e)\n }\n }\n\n private tryResolvePending(requestId: string, functionName: string, payload: any): boolean {\n const pending = this.pendingRequests.get(requestId)\n if (!pending) return false\n if (pending.responseFunctionName && pending.responseFunctionName !== functionName) return false\n if (pending.filter && !pending.filter(payload)) return false\n this.pendingRequests.delete(requestId)\n if (pending.timer) clearTimeout(pending.timer)\n pending.resolve(payload)\n return true\n }\n\n /**\n * 发送队列中缓存的消息\n */\n private flushMessageQueue() {\n if (this.messageQueue.length === 0) return\n\n this.log(`Flushing ${this.messageQueue.length} queued messages.`)\n while (this.messageQueue.length > 0 && this.ws?.readyState === WebSocket.OPEN) {\n const message = this.messageQueue.shift()\n if (message) {\n this.ws.send(message)\n }\n }\n }\n\n /* ======================\n * 心跳 + 断线判定\n * ====================== */\n\n private startHeartbeat() {\n /**\n * 业务意图:通过 ping/pong 做连接保活和断线判定。\n * 当超过 timeout 未收到 pong,会触发 forceReconnect,交给 tryReconnect 流程处理。\n */\n const hb = this.options.heartbeat\n if (!hb) return\n\n this.lastPongTime = Date.now()\n this.lastPingTime = 0\n // 清除旧的定时器(如果有)\n this.stopHeartbeat()\n\n const ping = () => {\n if (!this.ws || this.ws.readyState !== WebSocket.OPEN) return\n this.lastPingTime = Date.now()\n this.send(hb.pingType ?? 'ping')\n }\n\n ping()\n\n this.heartbeatTimer = window.setInterval(() => {\n const now = Date.now()\n\n if (\n this.lastPingTime > 0 &&\n now - this.lastPongTime > hb.timeout &&\n now - this.lastPingTime > hb.timeout\n ) {\n this.log('Heartbeat timeout, forcing reconnect...')\n this.forceReconnect()\n return\n }\n\n ping()\n }, hb.interval)\n }\n\n private stopHeartbeat() {\n if (this.heartbeatTimer) {\n clearInterval(this.heartbeatTimer)\n this.heartbeatTimer = null\n }\n }\n\n private forceReconnect() {\n this.cleanup()\n if (this.ws) {\n this.ws.close() // 这会触发 onclose,进而触发 tryReconnect\n this.ws = null\n }\n }\n\n /* ======================\n * 重连机制\n * ====================== */\n\n private tryReconnect() {\n /**\n * 业务意图:断线后按配置重连,超出最大次数则发出 RECONNECT_FAILED 事件。\n * 上层可监听该事件做降级提示或切换为 HTTP。\n */\n const cfg = this.options.reconnect\n if (!cfg?.enabled) return\n\n // 如果重试次数超过限制,停止重连并触发失败事件\n if (this.retryCount >= cfg.maxRetries) {\n this.log(`Max retry attempts (${cfg.maxRetries}) reached. Giving up.`)\n this.emit(WsEvent.RECONNECT_FAILED, null)\n return\n }\n\n this.retryCount++\n const delay = cfg.interval\n this.log(`Attempting reconnect (${this.retryCount}/${cfg.maxRetries}) in ${delay}ms...`)\n this.emit(WsEvent.RECONNECTING, {\n attempt: this.retryCount,\n maxRetries: cfg.maxRetries,\n interval: delay,\n })\n\n this.reconnectTimer = window.setTimeout(() => {\n this.connect()\n }, delay)\n }\n\n private clearReconnect() {\n if (this.reconnectTimer) {\n clearTimeout(this.reconnectTimer)\n this.reconnectTimer = null\n }\n }\n\n /* ======================\n * 事件系统\n * ====================== */\n\n /**\n * 注册事件监听器\n * @param type 事件类型\n * @param handler 处理函数\n * @returns 取消监听的函数\n */\n on(type: string, handler: MessageHandler) {\n if (!this.listeners.has(type)) {\n this.listeners.set(type, new Set())\n }\n this.listeners.get(type)!.add(handler)\n return () => this.off(type, handler)\n }\n\n /**\n * 移除事件监听器\n * @param type 事件类型\n * @param handler 处理函数\n */\n off(type: string, handler: MessageHandler) {\n this.listeners.get(type)?.delete(handler)\n }\n\n /**\n * 移除某类事件的所有监听器,或移除所有监听器\n * @param type 事件类型,不传则移除所有\n */\n offAll(type?: string) {\n if (type) {\n this.listeners.delete(type)\n } else {\n this.listeners.clear()\n }\n }\n\n private emit(type: string, data: any) {\n this.listeners.get(type)?.forEach((fn) => {\n try {\n fn(data)\n } catch (e) {\n this.log(`Error in listener for event '${type}':`, e)\n }\n })\n }\n\n /* ======================\n * 工具方法\n * ====================== */\n\n private cleanup() {\n this.stopHeartbeat()\n\n // 清理所有挂起的请求,防止连接断开后请求一直处于 pending 状态\n for (const [requestId, pending] of this.pendingRequests) {\n pending.reject(\n new WsTransportError({\n type: 'disconnected',\n requestId,\n functionName: pending.responseFunctionName,\n }),\n )\n if (pending.timer) clearTimeout(pending.timer)\n }\n this.pendingRequests.clear()\n\n // 注意:这里不应该清除 messageQueue,因为重连后可能需要发送\n }\n\n private isPong(type: string) {\n return type === (this.options.heartbeat?.pongType ?? 'pong')\n }\n\n private async buildURL(params?: Record<string, string>) {\n /**\n * 业务意图:构造最终 WS 连接地址:\n * - 允许用户只传 host/path(自动补 wss://)\n * - 浏览器 WebSocket 不支持自定义 headers,因此 token 通过 query 参数携带\n * - extraParams 用于按需追加查询参数(如 env、灰度标记等)\n */\n let urlStr = this.options.url\n if (!/^\\w+:\\/\\//.test(urlStr)) {\n urlStr = `wss://${urlStr}`\n }\n const url = new URL(urlStr)\n\n // 合并 Token\n if (this.options.getToken) {\n const token = await this.options.getToken()\n if (token) {\n url.searchParams.append('token', token)\n }\n }\n\n // 合并传入的参数\n if (params) {\n Object.entries(params).forEach(([key, value]) => {\n url.searchParams.append(key, value)\n })\n }\n\n return url.toString()\n }\n\n private log(...args: any[]) {\n if (this.logger?.debug) {\n this.logger.debug('[WsClient]', args)\n return\n }\n if (this.options.debug) {\n console.log('[WsClient]', ...args)\n }\n }\n}\n","import { GrpcClient, GrpcClientConfig } from './grpcClient'\nimport { HttpClient, HttpClientConfig } from './httpClient'\nimport { WsClient, WsClientOptions, HeaderConfig } from './wsClient'\nimport type { ApiLogger } from './interceptors'\nimport type { ApiErrorHandler } from './unifiedApiClient'\n\nexport interface RequestApiConfig {\n http?: {\n baseUrl: string\n config?: HttpClientConfig\n }\n ws?: WsClientOptions\n grpc?: GrpcClientConfig\n headerConfig: HeaderConfig\n defaultTransport?: 'http' | 'ws' | 'grpc' | 'auto'\n auth?: {\n /**\n * 提供给三种 transport 复用的鉴权能力:\n * - HTTP:注入 Authorization header\n * - gRPC:注入 Authorization header\n * - WS:受浏览器限制无法自定义 header,因此在 URL query 中附带 token\n */\n getToken?: () => string | null | Promise<string | null>\n /**\n * 获取额外公共头(平台信息、灰度、语言等)。\n * HTTP/gRPC 会以 header 形式携带;WS 侧由 HeaderConfig 写入消息体。\n */\n getHeaders?: () =>\n | Record<string, string>\n | null\n | undefined\n | Promise<Record<string, string> | null | undefined>\n }\n logger?: ApiLogger\n onApiError?: ApiErrorHandler\n}\n\n/**\n * 统一请求 API 封装\n * 集合了 HttpClient, WsClient, GrpcClient\n * 提供统一的 Token 管理和访问入口\n */\nexport class RequestApi {\n /**\n * 统一的 transport 容器:\n * - 负责把全局 auth/logger/headerConfig 注入到各 transport\n * - 上层(SDK / UnifiedApiClient)不需要关心具体如何拼接 token/header\n */\n public http: HttpClient\n public ws: WsClient\n public grpc: GrpcClient\n\n constructor(config: RequestApiConfig) {\n const getToken = config.auth?.getToken\n const getHeaders = config.auth?.getHeaders\n // 初始化 HttpClient\n const httpBaseUrl = config.http?.baseUrl || ''\n const httpConfig = config.http?.config\n this.http = new HttpClient(httpBaseUrl, {\n ...httpConfig,\n getToken: httpConfig?.getToken ?? getToken,\n getHeaders: httpConfig?.getHeaders ?? getHeaders,\n logger: httpConfig?.logger ?? config.logger,\n })\n\n // 初始化 WsClient\n this.ws = new WsClient(\n {\n ...(config.ws || { url: '' }),\n getToken: config.ws?.getToken ?? getToken,\n logger: config.ws?.logger ?? config.logger,\n },\n config.headerConfig,\n )\n\n // 初始化 GrpcClient\n this.grpc = new GrpcClient({\n ...(config.grpc || { baseUrl: '' }),\n getToken: config.grpc?.getToken ?? getToken,\n headers: config.grpc?.headers,\n getHeaders: config.grpc?.getHeaders ?? getHeaders,\n logger: config.grpc?.logger ?? config.logger,\n })\n }\n}\n","import { WsClient, WsRequestOptions } from './wsClient'\n\nexport type WsBusinessEnvelope<T = any> =\n | {\n success?: boolean\n status?: number\n code?: number\n message?: string\n data?: T\n requestId?: string\n }\n | T\n\nexport type WsApiErrorKind = 'transport_error' | 'biz_error' | 'unknown_error'\n\nexport class WsApiError extends Error {\n name = 'WsApiError'\n kind: WsApiErrorKind\n service: string\n functionName: string\n requestId?: string\n code?: number\n status?: number\n\n constructor(options: {\n kind?: WsApiErrorKind\n service: string\n functionName: string\n requestId?: string\n code?: number\n status?: number\n message?: string\n cause?: unknown\n }) {\n super(options.message ?? 'WS request failed', { cause: options.cause })\n this.kind = options.kind ?? 'unknown_error'\n this.service = options.service\n this.functionName = options.functionName\n this.requestId = options.requestId\n this.code = options.code\n this.status = options.status\n ;(this as any).cause = options.cause\n }\n}\n\nexport interface WsRpcClientOptions {\n /**\n * 业务意图:WS 接口通常没有统一的 HTTP status,\n * 这里通过约定的 envelope(success/code/status/message/data)做标准化处理。\n */\n defaultTimeout?: number\n /**\n * 是否自动把 { data } 解包返回给调用方。\n * - true:更贴近业务使用习惯(拿到就是 TData)\n * - false:保留原始 envelope,便于上层自定义处理\n */\n unwrapData?: boolean\n /**\n * 自定义成功判断逻辑(用于不同后端约定)。\n */\n isSuccess?: (value: any) => boolean\n /**\n * 自定义错误文案提取逻辑(用于不同后端约定)。\n */\n getMessage?: (value: any) => string | undefined\n getRequestId?: (value: any) => string | undefined\n getCode?: (value: any) => number | undefined\n getStatus?: (value: any) => number | undefined\n onError?: (\n error: WsApiError,\n source: { service: string; functionName: string; requestId?: string },\n ) => void\n}\n\nexport class WsRpcClient {\n readonly ws: WsClient\n private options: WsRpcClientOptions\n\n constructor(ws: WsClient, options: WsRpcClientOptions = {}) {\n this.ws = ws\n this.options = {\n defaultTimeout: options.defaultTimeout ?? 10000,\n unwrapData: options.unwrapData ?? true,\n isSuccess: options.isSuccess,\n getMessage: options.getMessage,\n getRequestId: options.getRequestId,\n getCode: options.getCode,\n getStatus: options.getStatus,\n onError: options.onError,\n }\n }\n\n private normalizeNumber(value: unknown): number | undefined {\n if (typeof value === 'number' && Number.isFinite(value)) return value\n if (typeof value === 'string') {\n const trimmed = value.trim()\n if (!trimmed) return undefined\n const asNumber = Number(trimmed)\n return Number.isFinite(asNumber) ? asNumber : undefined\n }\n return undefined\n }\n\n private normalizeString(value: unknown): string | undefined {\n if (typeof value === 'string') {\n const trimmed = value.trim()\n return trimmed.length > 0 ? trimmed : undefined\n }\n if (typeof value === 'number' && Number.isFinite(value)) return String(value)\n return undefined\n }\n\n private pickField(value: unknown, keys: string[]): unknown {\n if (!value || typeof value !== 'object') return undefined\n const anyValue = value as any\n for (const key of keys) {\n if (anyValue[key] !== undefined) return anyValue[key]\n }\n const data = anyValue.data\n if (data && typeof data === 'object') {\n for (const key of keys) {\n if ((data as any)[key] !== undefined) return (data as any)[key]\n }\n }\n return undefined\n }\n\n private extractRequestId(value: unknown): string | undefined {\n if (this.options.getRequestId) {\n const mapped = this.options.getRequestId(value as any)\n const normalized = this.normalizeString(mapped)\n if (normalized) return normalized\n }\n if (!value || typeof value !== 'object') return undefined\n const anyValue = value as any\n const id = anyValue.requestId ?? anyValue?.data?.requestId\n return this.normalizeString(id)\n }\n\n private extractCode(value: unknown): number | undefined {\n if (this.options.getCode) {\n const mapped = this.options.getCode(value as any)\n const normalized = this.normalizeNumber(mapped)\n if (normalized !== undefined) return normalized\n }\n const raw = this.pickField(value, ['code', 'errCode', 'errorCode', 'resultCode'])\n return this.normalizeNumber(raw)\n }\n\n private extractStatus(value: unknown): number | undefined {\n if (this.options.getStatus) {\n const mapped = this.options.getStatus(value as any)\n const normalized = this.normalizeNumber(mapped)\n if (normalized !== undefined) return normalized\n }\n const raw = this.pickField(value, ['status', 'statusCode', 'httpStatus', 'http_code'])\n return this.normalizeNumber(raw)\n }\n\n call<TPayload = any, TData = any>(\n functionName: string,\n service: string,\n payload?: TPayload,\n options?: WsRequestOptions<WsBusinessEnvelope<TData>>,\n ): Promise<TData>\n call<TPayload = any, TData = any>(params: {\n functionName: string\n service: string\n payload?: TPayload\n options?: WsRequestOptions<WsBusinessEnvelope<TData>>\n }): Promise<TData>\n async call<TPayload = any, TData = any>(\n functionNameOrParams:\n | string\n | {\n functionName: string\n service: string\n payload?: TPayload\n options?: WsRequestOptions<WsBusinessEnvelope<TData>>\n },\n service?: string,\n payload?: TPayload,\n options?: WsRequestOptions<WsBusinessEnvelope<TData>>,\n ): Promise<TData> {\n if (typeof functionNameOrParams === 'string') {\n return await this.request(functionNameOrParams, service as string, payload, options)\n }\n\n return await this.request(\n functionNameOrParams.functionName,\n functionNameOrParams.service,\n functionNameOrParams.payload,\n functionNameOrParams.options,\n )\n }\n\n callRaw<TPayload = any, TRes = any>(\n functionName: string,\n service: string,\n payload?: TPayload,\n options?: WsRequestOptions<TRes>,\n ): Promise<TRes>\n callRaw<TPayload = any, TRes = any>(params: {\n functionName: string\n service: string\n payload?: TPayload\n options?: WsRequestOptions<TRes>\n }): Promise<TRes>\n async callRaw<TPayload = any, TRes = any>(\n functionNameOrParams:\n | string\n | {\n functionName: string\n service: string\n payload?: TPayload\n options?: WsRequestOptions<TRes>\n },\n service?: string,\n payload?: TPayload,\n options?: WsRequestOptions<TRes>,\n ): Promise<TRes> {\n if (typeof functionNameOrParams === 'string') {\n return await this.requestRaw(functionNameOrParams, service as string, payload, options)\n }\n\n return await this.requestRaw(\n functionNameOrParams.functionName,\n functionNameOrParams.service,\n functionNameOrParams.payload,\n functionNameOrParams.options,\n )\n }\n\n async request<TPayload = any, TData = any>(\n functionName: string,\n service: string,\n payload?: TPayload,\n options?: WsRequestOptions<WsBusinessEnvelope<TData>>,\n ): Promise<TData> {\n /**\n * 业务意图:\n * - 统一包一层,把底层 WsClient.request 的连接/超时/订阅细节隐藏起来\n * - 把 transport 级异常转换为 WsApiError(kind 属于 transport_error)\n * - 把业务失败(code/status/success)也转换为 WsApiError(kind 属于 biz_error)\n */\n const requestId = this.extractRequestId(payload) ?? this.ws.requestId\n const finalPayload =\n payload && typeof payload === 'object' ? { ...payload, requestId } : payload\n\n let res: WsBusinessEnvelope<TData>\n try {\n res = await this.ws.request<WsBusinessEnvelope<TData>>(functionName, service, finalPayload, {\n timeout: options?.timeout ?? this.options.defaultTimeout,\n responseFunctionName: options?.responseFunctionName,\n matchRequestId: options?.matchRequestId,\n filter: options?.filter,\n })\n } catch (err) {\n const wrapped = new WsApiError({\n kind: 'transport_error',\n service,\n functionName,\n requestId,\n message: (err as any)?.message,\n cause: err,\n })\n try {\n this.options.onError?.(wrapped, { service, functionName, requestId })\n } catch {\n void 0\n }\n throw wrapped\n }\n\n if (!this.isOk(res)) {\n const responseRequestId = this.extractRequestId(res) ?? requestId\n const wrapped = new WsApiError({\n kind: 'biz_error',\n service,\n functionName,\n requestId: responseRequestId,\n code: this.extractCode(res),\n status: this.extractStatus(res),\n message: this.getErrorMessage(res) ?? 'Request failed',\n })\n try {\n this.options.onError?.(wrapped, { service, functionName, requestId: responseRequestId })\n } catch {\n void 0\n }\n throw wrapped\n }\n\n if (this.options.unwrapData && res && typeof res === 'object' && 'data' in (res as any)) {\n return (res as any).data as TData\n }\n\n return res as TData\n }\n\n async requestRaw<TPayload = any, TRes = any>(\n functionName: string,\n service: string,\n payload?: TPayload,\n options?: WsRequestOptions<TRes>,\n ): Promise<TRes> {\n const requestId = this.extractRequestId(payload) ?? this.ws.requestId\n const finalPayload =\n payload && typeof payload === 'object' ? { ...payload, requestId } : payload\n\n let res: TRes\n try {\n res = await this.ws.request<TRes>(functionName, service, finalPayload, {\n timeout: options?.timeout ?? this.options.defaultTimeout,\n responseFunctionName: options?.responseFunctionName,\n matchRequestId: options?.matchRequestId,\n filter: options?.filter,\n })\n } catch (err) {\n const wrapped = new WsApiError({\n kind: 'transport_error',\n service,\n functionName,\n requestId,\n message: (err as any)?.message,\n cause: err,\n })\n try {\n this.options.onError?.(wrapped, { service, functionName, requestId })\n } catch {\n void 0\n }\n throw wrapped\n }\n\n if (!this.isOk(res)) {\n const responseRequestId = this.extractRequestId(res) ?? requestId\n const wrapped = new WsApiError({\n kind: 'biz_error',\n service,\n functionName,\n requestId: responseRequestId,\n code: this.extractCode(res),\n status: this.extractStatus(res),\n message: this.getErrorMessage(res) ?? 'Request failed',\n })\n try {\n this.options.onError?.(wrapped, { service, functionName, requestId: responseRequestId })\n } catch {\n void 0\n }\n throw wrapped\n }\n\n return res\n }\n\n private isOk(value: any): boolean {\n /**\n * 默认成功判定:\n * - success 为 boolean:直接使用\n * - code/status 为 number:认为 0 或 200 表示成功\n * - 非对象:认为成功(兼容服务端直接返回数据的情况)\n */\n if (this.options.isSuccess) return this.options.isSuccess(value)\n if (!value || typeof value !== 'object') return true\n\n const rawSuccess = this.pickField(value, ['success'])\n if (rawSuccess !== undefined) {\n if (typeof rawSuccess === 'boolean') return rawSuccess\n if (typeof rawSuccess === 'string') {\n const lowered = rawSuccess.trim().toLowerCase()\n if (lowered === 'true') return true\n if (lowered === 'false') return false\n }\n }\n\n const rawCode = this.pickField(value, ['code', 'errCode', 'errorCode', 'resultCode'])\n if (rawCode !== undefined) {\n const code = this.normalizeNumber(rawCode)\n return typeof code === 'number' ? code === 0 || code === 200 : false\n }\n\n const rawStatus = this.pickField(value, ['status', 'statusCode', 'httpStatus', 'http_code'])\n if (rawStatus !== undefined) {\n const status = this.normalizeNumber(rawStatus)\n return typeof status === 'number' ? status === 0 || status === 200 : false\n }\n\n if (this.options.unwrapData && 'data' in (value as any)) return true\n\n return true\n }\n\n private getErrorMessage(value: any): string | undefined {\n if (this.options.getMessage) return this.options.getMessage(value)\n if (!value || typeof value !== 'object') return undefined\n const msg = this.pickField(value, [\n 'message',\n 'msg',\n 'error',\n 'errMsg',\n 'errmsg',\n 'errorMessage',\n ])\n return this.normalizeString(msg)\n }\n}\n","import type { EndpointSpec } from '../spec/endpoint'\nimport type { GenService } from '@bufbuild/protobuf/codegenv2'\nimport { create } from '@bufbuild/protobuf'\nimport { GrpcApiError, GrpcClient } from './grpcClient'\nimport { HttpApiError, HttpClient } from './httpClient'\nimport { WsApiError, WsRpcClient } from './wsRpcClient'\nimport {\n ApiCallContext,\n ApiInterceptor,\n composeInterceptors,\n isBizError,\n isTransportError,\n} from './interceptors'\n\nexport type ApiErrorCategory = 'biz' | 'transport' | 'unknown'\n\nexport type ApiError = {\n category: ApiErrorCategory\n endpointId: string\n transport: EndpointSpec<any, any>['transport']\n service?: string\n functionName?: string\n code?: unknown\n status?: number\n message: string\n raw: unknown\n}\n\nexport type ApiErrorHandler = (error: ApiError) => void\n\nexport function normalizeApiError(\n err: unknown,\n source:\n | { endpoint: EndpointSpec<any, any> }\n | {\n transport: EndpointSpec<any, any>['transport']\n endpointId: string\n service?: string\n functionName?: string\n },\n): ApiError {\n let endpoint: EndpointSpec<any, any> | undefined\n let transport: EndpointSpec<any, any>['transport']\n let endpointId: string\n let sourceService: string | undefined\n let sourceFunctionName: string | undefined\n\n if ('endpoint' in source) {\n endpoint = source.endpoint\n transport = source.endpoint.transport\n endpointId = source.endpoint.id\n } else {\n endpoint = undefined\n transport = source.transport\n endpointId = source.endpointId\n sourceService = source.service\n sourceFunctionName = source.functionName\n }\n\n const category: ApiErrorCategory = isBizError(err)\n ? 'biz'\n : isTransportError(err)\n ? 'transport'\n : 'unknown'\n\n const fallbackServiceFunction = (): { service?: string; functionName?: string } => {\n if (endpoint) {\n if (endpoint.transport === 'ws') {\n return { service: endpoint.ws.service, functionName: endpoint.ws.functionName }\n }\n if (endpoint.transport === 'grpc') {\n return {\n service: (endpoint.grpc.service as any)?.typeName,\n functionName: endpoint.grpc.methodName,\n }\n }\n const [service, functionName] = endpoint.id.split('.', 2)\n return { service, functionName }\n }\n return { service: sourceService, functionName: sourceFunctionName }\n }\n\n const fallback = fallbackServiceFunction()\n\n if (err instanceof WsApiError) {\n return {\n category,\n endpointId,\n transport: 'ws',\n service: err.service ?? fallback.service,\n functionName: err.functionName ?? fallback.functionName,\n code: err.code,\n status: err.status,\n message: err.message ?? 'WS request failed',\n raw: err,\n }\n }\n\n if (err instanceof HttpApiError) {\n return {\n category,\n endpointId,\n transport: 'http',\n service: fallback.service,\n functionName: fallback.functionName,\n code: err.status,\n status: err.status,\n message: err.message ?? 'HTTP request failed',\n raw: err,\n }\n }\n\n if (err instanceof GrpcApiError) {\n return {\n category,\n endpointId,\n transport: 'grpc',\n service: fallback.service,\n functionName: fallback.functionName,\n code: err.code,\n message: err.message ?? 'gRPC request failed',\n raw: err,\n }\n }\n\n const anyErr = err as any\n return {\n category,\n endpointId,\n transport,\n service: fallback.service,\n functionName: fallback.functionName,\n code: anyErr?.code,\n status: typeof anyErr?.status === 'number' ? anyErr.status : undefined,\n message: anyErr?.message ?? (typeof err === 'string' ? err : 'Request failed'),\n raw: err,\n }\n}\n\nexport class UnifiedApiClient {\n /**\n * 统一调用入口:\n * - 输入:EndpointSpec(来自 spec 层)+ request + meta\n * - 输出:Promise<TRes>\n *\n * 业务意图是把“调用哪个服务/方法”从具体 transport 细节中剥离出来,\n * 调用侧只需要认 EndpointSpec,不需要知道走 HTTP/WS/gRPC。\n */\n readonly http: HttpClient\n readonly rpc: WsRpcClient\n readonly grpc: GrpcClient\n private callChain: (ctx: ApiCallContext<any, any>) => Promise<any>\n private onError?: ApiErrorHandler\n\n constructor(\n deps: { http: HttpClient; rpc: WsRpcClient; grpc: GrpcClient },\n options?: { interceptors?: ApiInterceptor[]; onError?: ApiErrorHandler },\n ) {\n this.http = deps.http\n this.rpc = deps.rpc\n this.grpc = deps.grpc\n /**\n * 业务意图:把横切能力(鉴权、日志、重试、灰度等)做成拦截器链,\n * 统一包裹 dispatch,避免每个 transport 重复实现。\n */\n this.callChain = composeInterceptors(options?.interceptors ?? [], (ctx) => this.dispatch(ctx))\n this.onError = options?.onError\n }\n\n setErrorHandler(handler?: ApiErrorHandler) {\n this.onError = handler\n }\n\n async call<TReq = any, TRes = any>(\n endpoint: EndpointSpec<TReq, TRes>,\n request?: TReq,\n meta?: ApiCallContext<TReq, TRes>['meta'],\n ): Promise<TRes> {\n /**\n * ctx.headers 初始为空,由拦截器注入;dispatch 会把 headers 合并进具体请求实现。\n * meta 用于承载 callOptions/wsOptions 等 transport 级选项,以及业务侧的扩展字段。\n */\n const ctx: ApiCallContext<TReq, TRes> = { endpoint, request, headers: {}, meta }\n try {\n return await this.callChain(ctx)\n } catch (err) {\n const apiError = normalizeApiError(err, { endpoint: endpoint as any })\n if (this.onError) {\n try {\n this.onError(apiError)\n } catch {\n // ignore\n }\n }\n if (err instanceof Error) {\n ;(err as any).apiError = apiError\n throw err\n }\n\n const wrapped = new Error(apiError.message, { cause: err as any })\n ;(wrapped as any).apiError = apiError\n throw wrapped\n }\n }\n\n private async dispatch(ctx: ApiCallContext<any, any>): Promise<any> {\n const endpoint = ctx.endpoint as EndpointSpec<any, any>\n\n if (endpoint.transport === 'http') {\n /**\n * HTTP 分发策略:\n * - GET/DELETE:把 request 放到 query params\n * - 其他方法:把 request 放到 body\n */\n const method = endpoint.http.method\n const url = endpoint.http.url\n const config =\n method === 'GET' || method === 'DELETE'\n ? { method, url, params: ctx.request }\n : { method, url, data: ctx.request }\n return await this.http.request<any>({\n ...(config as any),\n headers: { ...(ctx.headers ?? {}) },\n })\n }\n\n if (endpoint.transport === 'ws') {\n /**\n * WS 分发策略:\n * - endpoint.ws 内含 service/functionName/默认 timeout 等信息\n * - meta.wsOptions 允许调用侧覆盖 timeout/responseFunctionName 等细节\n */\n const wsOptions = (ctx.meta as any)?.wsOptions as\n | {\n timeout?: number\n responseFunctionName?: string\n matchRequestId?: boolean\n filter?: (data: any) => boolean\n }\n | undefined\n return await this.rpc.request<any, any>(\n endpoint.ws.functionName,\n endpoint.ws.service,\n ctx.request,\n {\n timeout: wsOptions?.timeout ?? endpoint.ws.timeout,\n responseFunctionName: wsOptions?.responseFunctionName ?? endpoint.ws.responseFunctionName,\n matchRequestId: wsOptions?.matchRequestId,\n filter: wsOptions?.filter,\n },\n )\n }\n\n /**\n * gRPC 分发策略:\n * - service/methodName 来自 endpoint.grpc\n * - 若存在 requestSchema,则把 plain object 转成 protobuf message\n * - 合并 callOptions.headers 与 ctx.headers,确保拦截器注入的 header 生效\n */\n const service = endpoint.grpc.service as GenService<any>\n const methodName = endpoint.grpc.methodName\n const client = this.grpc.getService(service) as any\n const method = client[methodName]\n if (typeof method !== 'function') {\n throw new Error(`gRPC method not found: ${service.typeName}.${methodName}`)\n }\n const callOptions = (ctx.meta as any)?.callOptions\n const req = endpoint.grpc.requestSchema\n ? create(endpoint.grpc.requestSchema as any, ctx.request ?? {})\n : ctx.request\n const headers = { ...(callOptions?.headers ?? {}), ...(ctx.headers ?? {}) }\n return await method(req, { ...(callOptions ?? {}), headers } as any)\n }\n}\n","import type { EndpointSpec } from '../spec/endpoint'\n\nexport type ApiHeaders = Record<string, string>\n\nexport interface ApiCallContext<TReq = unknown, TRes = unknown> {\n /**\n * 当前要调用的接口描述(由 spec 层提供)。\n * 这里不关心业务 service 的实现细节,只根据 endpoint 进行路由/拦截。\n */\n endpoint: EndpointSpec<TReq, TRes>\n /**\n * 业务请求参数,透传给具体 transport。\n */\n request?: TReq\n /**\n * 拦截器阶段累积出来的请求头。\n * transport 层会将它合并到各自的请求实现中。\n */\n headers: ApiHeaders\n /**\n * 透传元信息:用于承载不同 transport 的调用选项(如 callOptions/wsOptions),\n * 以及业务侧希望传入的额外 meta(打点、灰度标记等)。\n */\n meta?: Record<string, any>\n}\n\nexport type ApiCallNext = (ctx: ApiCallContext<any, any>) => Promise<any>\nexport type ApiInterceptor = (next: ApiCallNext) => ApiCallNext\n\nexport interface ApiLogger {\n debug?: (message: string, meta?: any) => void\n info?: (message: string, meta?: any) => void\n warn?: (message: string, meta?: any) => void\n error?: (message: string, meta?: any) => void\n}\n\nexport function isBizError(err: unknown): boolean {\n /**\n * “业务错误”用于区分网络/协议错误,便于日志/监控分层:\n * - transport_error:HTTP/gRPC/WS 连接/超时/序列化等基础设施错误\n * - biz_error:请求成功到达服务端,但返回了业务层失败(code/status/success)\n */\n if (!err || typeof err !== 'object') return false\n\n const anyErr = err as any\n if (anyErr.kind === 'biz') return true\n\n if (anyErr.name === 'WsApiError') {\n const hasCause = 'cause' in anyErr && anyErr.cause != null\n const hasCodeOrStatus = typeof anyErr.code === 'number' || typeof anyErr.status === 'number'\n return !hasCause && hasCodeOrStatus\n }\n\n return false\n}\n\nexport function isTransportError(err: unknown): boolean {\n /**\n * “传输错误”包括:\n * - 显式标记 kind=transport 的错误\n * - 或者来自三种 transport 的统一错误类型\n */\n if (!err || typeof err !== 'object') return false\n\n const anyErr = err as any\n if (anyErr.kind === 'transport') return true\n\n return (\n anyErr.name === 'HttpApiError' || anyErr.name === 'GrpcApiError' || anyErr.name === 'WsApiError'\n )\n}\n\nexport function composeInterceptors(\n interceptors: ApiInterceptor[],\n terminal: ApiCallNext,\n): ApiCallNext {\n /**\n * 以“洋葱模型”组合拦截器:越靠前的拦截器越外层。\n * 例如 Auth/Log 等能力不依赖具体 transport,可统一复用。\n */\n return interceptors.reduceRight((next, itc) => itc(next), terminal)\n}\n\nexport function createAuthInterceptor(options: {\n getToken?: () => string | null | Promise<string | null>\n headerName?: string\n format?: (token: string) => string\n}): ApiInterceptor {\n /**\n * 统一鉴权:把业务侧 token 转成 header 注入到调用上下文。\n * 最终由各 transport 在发送请求时把 ctx.headers 合并进去。\n */\n const headerName = options.headerName ?? 'Authorization'\n const format = options.format ?? ((token) => `Bearer ${token}`)\n\n return (next) => async (ctx) => {\n if (options.getToken) {\n const token = await options.getToken()\n if (token) {\n ctx.headers[headerName] = format(token)\n }\n }\n return await next(ctx)\n }\n}\n\nexport function createLogInterceptor(options: {\n logger?: ApiLogger\n level?: 'debug' | 'info'\n}): ApiInterceptor {\n /**\n * 统一日志:围绕“一个 endpoint 的一次调用”打点。\n * 通过 isBizError/isTransportError 决定使用 warn 还是 error 上报。\n */\n const level = options.level ?? 'debug'\n const logger = options.logger\n const log = level === 'info' ? logger?.info : logger?.debug\n\n return (next) => async (ctx) => {\n const startedAt = Date.now()\n log?.('api.request', {\n endpointId: ctx.endpoint.id,\n transport: ctx.endpoint.transport,\n meta: ctx.meta,\n })\n try {\n const res = await next(ctx)\n log?.('api.response', {\n endpointId: ctx.endpoint.id,\n transport: ctx.endpoint.transport,\n durationMs: Date.now() - startedAt,\n meta: ctx.meta,\n })\n return res\n } catch (err) {\n const event = isBizError(err) ? 'api.biz_error' : 'api.transport_error'\n const report = isBizError(err)\n ? (logger?.warn ?? logger?.error)\n : (logger?.error ?? logger?.warn ?? logger?.info)\n\n report?.(event, {\n endpointId: ctx.endpoint.id,\n transport: ctx.endpoint.transport,\n durationMs: Date.now() - startedAt,\n error: err,\n meta: ctx.meta,\n })\n throw err\n }\n }\n}\n","// @generated by protoc-gen-es v2.10.2 with parameter \"target=ts\"\n// @generated from file auth/FrontendAuthService.proto (package auth, syntax proto3)\n/* eslint-disable */\n\nimport type { GenFile, GenService } from \"@bufbuild/protobuf/codegenv2\";\nimport { fileDesc, serviceDesc } from \"@bufbuild/protobuf/codegenv2\";\nimport type { BaseResponseSchema } from \"../common/Common_pb\";\nimport { file_common_Common } from \"../common/Common_pb\";\nimport type { PlayerRegisterRequestCodeReqSchema } from \"./PlayerRegisterRequestCode_pb\";\nimport { file_auth_PlayerRegisterRequestCode } from \"./PlayerRegisterRequestCode_pb\";\nimport type { PlayerRegisterWithCodeReqSchema, PlayerRegisterWithCodeResSchema } from \"./PlayerRegisterWithCode_pb\";\nimport { file_auth_PlayerRegisterWithCode } from \"./PlayerRegisterWithCode_pb\";\nimport type { PlayerLoginWithSessionTokenReqSchema, PlayerLoginWithSessionTokenResSchema } from \"./PlayerLoginWithSessionToken_pb\";\nimport { file_auth_PlayerLoginWithSessionToken } from \"./PlayerLoginWithSessionToken_pb\";\nimport type { PhoneNumberLoginWithPasswordReqSchema, PhoneNumberLoginWithPasswordResSchema } from \"./PhoneNumberLoginWithPassword_pb\";\nimport { file_auth_PhoneNumberLoginWithPassword } from \"./PhoneNumberLoginWithPassword_pb\";\nimport type { PlayerLoginOrRegisterWithSMSReqSchema, PlayerLoginOrRegisterWithSMSResSchema } from \"./PlayerLoginOrRegisterWithSMS_pb\";\nimport { file_auth_PlayerLoginOrRegisterWithSMS } from \"./PlayerLoginOrRegisterWithSMS_pb\";\nimport type { PlayerLogoutReqSchema } from \"./PlayerLogout_pb\";\nimport { file_auth_PlayerLogout } from \"./PlayerLogout_pb\";\nimport type { AuthenticateReqSchema } from \"./Authenticate_pb\";\nimport { file_auth_Authenticate } from \"./Authenticate_pb\";\nimport type { SendSmsCodeReqSchema } from \"./SendSmsCode_pb\";\nimport { file_auth_SendSmsCode } from \"./SendSmsCode_pb\";\nimport type { SendSmsCodeViberReqSchema } from \"./SendSmsCodeViber_pb\";\nimport { file_auth_SendSmsCodeViber } from \"./SendSmsCodeViber_pb\";\n\n/**\n * Describes the file auth/FrontendAuthService.proto.\n */\nexport const file_auth_FrontendAuthService: GenFile = /*@__PURE__*/\n fileDesc(\"Ch5hdXRoL0Zyb250ZW5kQXV0aFNlcnZpY2UucHJvdG8SBGF1dGgyiQYKE0Zyb250ZW5kQXV0aFNlcnZpY2USVQoZUGxheWVyUmVnaXN0ZXJSZXF1ZXN0Q29kZRIiLmF1dGguUGxheWVyUmVnaXN0ZXJSZXF1ZXN0Q29kZVJlcRoULmNvbW1vbi5CYXNlUmVzcG9uc2USWgoWUGxheWVyUmVnaXN0ZXJXaXRoQ29kZRIfLmF1dGguUGxheWVyUmVnaXN0ZXJXaXRoQ29kZVJlcRofLmF1dGguUGxheWVyUmVnaXN0ZXJXaXRoQ29kZVJlcxJpChtQbGF5ZXJMb2dpbldpdGhTZXNzaW9uVG9rZW4SJC5hdXRoLlBsYXllckxvZ2luV2l0aFNlc3Npb25Ub2tlblJlcRokLmF1dGguUGxheWVyTG9naW5XaXRoU2Vzc2lvblRva2VuUmVzEmwKHFBob25lTnVtYmVyTG9naW5XaXRoUGFzc3dvcmQSJS5hdXRoLlBob25lTnVtYmVyTG9naW5XaXRoUGFzc3dvcmRSZXEaJS5hdXRoLlBob25lTnVtYmVyTG9naW5XaXRoUGFzc3dvcmRSZXMSbAocUGxheWVyTG9naW5PclJlZ2lzdGVyV2l0aFNNUxIlLmF1dGguUGxheWVyTG9naW5PclJlZ2lzdGVyV2l0aFNNU1JlcRolLmF1dGguUGxheWVyTG9naW5PclJlZ2lzdGVyV2l0aFNNU1JlcxI7CgxQbGF5ZXJMb2dvdXQSFS5hdXRoLlBsYXllckxvZ291dFJlcRoULmNvbW1vbi5CYXNlUmVzcG9uc2USOwoMQXV0aGVudGljYXRlEhUuYXV0aC5BdXRoZW50aWNhdGVSZXEaFC5jb21tb24uQmFzZVJlc3BvbnNlEjkKC1NlbmRTbXNDb2RlEhQuYXV0aC5TZW5kU21zQ29kZVJlcRoULmNvbW1vbi5CYXNlUmVzcG9uc2USQwoQU2VuZFNtc0NvZGVWaWJlchIZLmF1dGguU2VuZFNtc0NvZGVWaWJlclJlcRoULmNvbW1vbi5CYXNlUmVzcG9uc2ViBnByb3RvMw\", [file_common_Common, file_auth_PlayerRegisterRequestCode, file_auth_PlayerRegisterWithCode, file_auth_PlayerLoginWithSessionToken, file_auth_PhoneNumberLoginWithPassword, file_auth_PlayerLoginOrRegisterWithSMS, file_auth_PlayerLogout, file_auth_Authenticate, file_auth_SendSmsCode, file_auth_SendSmsCodeViber]);\n\n/**\n * @generated from service auth.FrontendAuthService\n */\nexport const FrontendAuthService: GenService<{\n /**\n * @generated from rpc auth.FrontendAuthService.PlayerRegisterRequestCode\n */\n playerRegisterRequestCode: {\n methodKind: \"unary\";\n input: typeof PlayerRegisterRequestCodeReqSchema;\n output: typeof BaseResponseSchema;\n },\n /**\n * @generated from rpc auth.FrontendAuthService.PlayerRegisterWithCode\n */\n playerRegisterWithCode: {\n methodKind: \"unary\";\n input: typeof PlayerRegisterWithCodeReqSchema;\n output: typeof PlayerRegisterWithCodeResSchema;\n },\n /**\n * @generated from rpc auth.FrontendAuthService.PlayerLoginWithSessionToken\n */\n playerLoginWithSessionToken: {\n methodKind: \"unary\";\n input: typeof PlayerLoginWithSessionTokenReqSchema;\n output: typeof PlayerLoginWithSessionTokenResSchema;\n },\n /**\n * @generated from rpc auth.FrontendAuthService.PhoneNumberLoginWithPassword\n */\n phoneNumberLoginWithPassword: {\n methodKind: \"unary\";\n input: typeof PhoneNumberLoginWithPasswordReqSchema;\n output: typeof PhoneNumberLoginWithPasswordResSchema;\n },\n /**\n * @generated from rpc auth.FrontendAuthService.PlayerLoginOrRegisterWithSMS\n */\n playerLoginOrRegisterWithSMS: {\n methodKind: \"unary\";\n input: typeof PlayerLoginOrRegisterWithSMSReqSchema;\n output: typeof PlayerLoginOrRegisterWithSMSResSchema;\n },\n /**\n * @generated from rpc auth.FrontendAuthService.PlayerLogout\n */\n playerLogout: {\n methodKind: \"unary\";\n input: typeof PlayerLogoutReqSchema;\n output: typeof BaseResponseSchema;\n },\n /**\n * @generated from rpc auth.FrontendAuthService.Authenticate\n */\n authenticate: {\n methodKind: \"unary\";\n input: typeof AuthenticateReqSchema;\n output: typeof BaseResponseSchema;\n },\n /**\n * @generated from rpc auth.FrontendAuthService.SendSmsCode\n */\n sendSmsCode: {\n methodKind: \"unary\";\n input: typeof SendSmsCodeReqSchema;\n output: typeof BaseResponseSchema;\n },\n /**\n * @generated from rpc auth.FrontendAuthService.SendSmsCodeViber\n */\n sendSmsCodeViber: {\n methodKind: \"unary\";\n input: typeof SendSmsCodeViberReqSchema;\n output: typeof BaseResponseSchema;\n },\n}> = /*@__PURE__*/\n serviceDesc(file_auth_FrontendAuthService, 0);\n\n","// @generated by protoc-gen-es v2.10.2 with parameter \"target=ts\"\n// @generated from file common/Common.proto (package common, syntax proto3)\n/* eslint-disable */\n\nimport type { GenEnum, GenFile, GenMessage } from \"@bufbuild/protobuf/codegenv2\";\nimport { enumDesc, fileDesc, messageDesc } from \"@bufbuild/protobuf/codegenv2\";\nimport type { StatusCode } from \"./CommonEnums_pb\";\nimport { file_common_CommonEnums } from \"./CommonEnums_pb\";\nimport type { Action, MediaType, Status } from \"../cmsCommon/CmsCommon_pb\";\nimport { file_cmsCommon_CmsCommon } from \"../cmsCommon/CmsCommon_pb\";\nimport type { GameTagCategory, PlayGameType } from \"../recommendCommon/RecommendCommon_pb\";\nimport { file_recommendCommon_RecommendCommon } from \"../recommendCommon/RecommendCommon_pb\";\nimport type { Message } from \"@bufbuild/protobuf\";\n\n/**\n * Describes the file common/Common.proto.\n */\nexport const file_common_Common: GenFile = /*@__PURE__*/\n fileDesc(\"ChNjb21tb24vQ29tbW9uLnByb3RvEgZjb21tb24iBwoFRW1wdHkiQwoMQmFzZVJlc3BvbnNlEiIKBnN0YXR1cxgBIAEoDjISLmNvbW1vbi5TdGF0dXNDb2RlEg8KB21lc3NhZ2UYAiABKAkiKwoKUGFnaW5hdGlvbhINCgVsaW1pdBgBIAEoBRIOCgZvZmZzZXQYAiABKAUiOwoTRGF0ZVRpbWVSYW5nZUZpbHRlchISCgpzdGFydF90aW1lGAEgASgJEhAKCGVuZF90aW1lGAIgASgJInsKFlBhZ2luYXRpb25CYXNlUmVzcG9uc2USDQoFdG90YWwYASABKAUSDQoFbGltaXQYAiABKAUSDgoGb2Zmc2V0GAMgASgFEgwKBHBhZ2UYBCABKAUSEwoLdG90YWxfcGFnZXMYBSABKAUSEAoIaGFzX25leHQYBiABKAgijwMKBkZpbHRlchINCgVmaWVsZBgBIAEoCRInCgR0eXBlGAIgASgOMhkuY29tbW9uLkZpbHRlci5GaWx0ZXJUeXBlEikKCG9wZXJhdG9yGAMgASgOMhcuY29tbW9uLkZpbHRlci5PcGVyYXRvchIUCgxzdHJpbmdfdmFsdWUYBCABKAkSFAoMbnVtYmVyX3ZhbHVlGAUgASgFEhIKCmRhdGVfdmFsdWUYBiABKAkSEgoKYm9vbF92YWx1ZRgHIAEoCBIaChJzdHJpbmdfYXJyYXlfdmFsdWUYCCADKAkSGgoSbnVtYmVyX2FycmF5X3ZhbHVlGAkgAygFIkoKCkZpbHRlclR5cGUSCgoGU1RSSU5HEAASCgoGTlVNQkVSEAESCAoEREFURRACEg0KCU9CSkVDVF9JRBADEgsKB0JPT0xFQU4QBCJKCghPcGVyYXRvchIKCgZFUVVBTFMQABIICgRMSUtFEAESBgoCR1QQAhIGCgJMVBADEgcKA0dURRAEEgcKA0xURRAFEgYKAklOEAYiOQoKR2VuZXJhbFJlcxIrCg1iYXNlX3Jlc3BvbnNlGAEgASgLMhQuY29tbW9uLkJhc2VSZXNwb25zZSLXBwoER2FtZRITCgtnYW1lX29ial9pZBgBIAEoCRIRCglnYW1lX25hbWUYAiABKAkSDwoHZ2FtZV9pZBgDIAEoCRISCgpnYW1lX2ltYWdlGAQgASgJEhMKC3Byb3ZpZGVyX2lkGAUgASgJEhUKDXByb3ZpZGVyX25hbWUYBiABKAkSFgoOYmlnX2dhbWVfaW1hZ2UYByABKAkSDwoHc29ydGluZxgIIAEoBRIUCgxpc19jdXN0b21pc2UYCSABKAgSIQoGYWN0aW9uGAogASgOMhEuY21zQ29tbW9uLkFjdGlvbhIUCgxyZWRpcmVjdF91cmwYCyABKAkSGAoQcHJpbWFyeV9jYXRlZ29yeRgMIAEoCRIaChJzZWNvbmRhcnlfY2F0ZWdvcnkYDSABKAkSFAoMc3ViX2NhdGVnb3J5GA4gASgJEjUKDnBsYXlfZ2FtZV90eXBlGA8gASgOMh0ucmVjb21tZW5kQ29tbW9uLlBsYXlHYW1lVHlwZRIOCgZzdGF0dXMYECABKAUSFQoNcGxhdGZvcm1fbGlzdBgRIAMoCRIbCg5pc19iYWNrdXBfZ2FtZRgSIAEoCUgAiAEBEhIKCnRhYmxlX2NvZGUYEyABKAkSQAoRZ2FtZV90YWdfY2F0ZWdvcnkYFCABKA4yIC5yZWNvbW1lbmRDb21tb24uR2FtZVRhZ0NhdGVnb3J5SAGIAQESFwoKc3RhcnRfZGF0ZRgVIAEoCUgCiAEBEhUKCGVuZF9kYXRlGBYgASgJSAOIAQESGAoLZGVzY3JpcHRpb24YFyABKAlIBIgBARIhChRwcm92aWRlcl9kZXNjcmlwdGlvbhgYIAEoCUgFiAEBEiAKE2N1c3RvbWlzZV9nYW1lX25hbWUYGSABKAlIBogBARIhChRjdXN0b21pc2VfZ2FtZV9pbWFnZRgaIAEoCUgHiAEBEiUKGGN1c3RvbWlzZV9iaWdfZ2FtZV9pbWFnZRgbIAEoCUgIiAEBEhoKDXVzZV9iaWdfaW1hZ2UYHCABKAhICYgBAUIRCg9faXNfYmFja3VwX2dhbWVCFAoSX2dhbWVfdGFnX2NhdGVnb3J5Qg0KC19zdGFydF9kYXRlQgsKCV9lbmRfZGF0ZUIOCgxfZGVzY3JpcHRpb25CFwoVX3Byb3ZpZGVyX2Rlc2NyaXB0aW9uQhYKFF9jdXN0b21pc2VfZ2FtZV9uYW1lQhcKFV9jdXN0b21pc2VfZ2FtZV9pbWFnZUIbChlfY3VzdG9taXNlX2JpZ19nYW1lX2ltYWdlQhAKDl91c2VfYmlnX2ltYWdlIr4DCghDcG1zR2FtZRIRCglnYW1lX25hbWUYASABKAkSDwoHZ2FtZV9pZBgCIAEoCRISCgpnYW1lX2ltYWdlGAMgASgJEhMKC3Byb3ZpZGVyX2lkGAQgASgJEhUKDXByb3ZpZGVyX25hbWUYBSABKAkSNQoOcGxheV9nYW1lX3R5cGUYBiABKA4yHS5yZWNvbW1lbmRDb21tb24uUGxheUdhbWVUeXBlEiEKBnN0YXR1cxgHIAEoDjIRLmNtc0NvbW1vbi5TdGF0dXMSGAoQcHJpbWFyeV9jYXRlZ29yeRgIIAEoCRIaChJzZWNvbmRhcnlfY2F0ZWdvcnkYCSABKAkSFAoMc3ViX2NhdGVnb3J5GAogASgJEhUKDXBsYXRmb3JtX2xpc3QYCyADKAkSFgoOYmlnX2dhbWVfaW1hZ2UYDCABKAkSEwoLcmVzb3VyY2VfaWQYDSABKAkSIQoUcHJvdmlkZXJfZGVzY3JpcHRpb24YDiABKAlIAIgBARIYCgtkZXNjcmlwdGlvbhgPIAEoCUgBiAEBQhcKFV9wcm92aWRlcl9kZXNjcmlwdGlvbkIOCgxfZGVzY3JpcHRpb24irQEKCE1lZGlhUmVxEigKCm1lZGlhX3R5cGUYASABKA4yFC5jbXNDb21tb24uTWVkaWFUeXBlEhAKCGZpbGVfdXJsGAIgASgJEhcKD2NvdmVyX2ltYWdlX3VybBgDIAEoCRIWCgltaW1lX3R5cGUYBCABKAlIAIgBARIXCgp2aWRlb19kYXRhGAUgASgMSAGIAQFCDAoKX21pbWVfdHlwZUINCgtfdmlkZW9fZGF0YSp9CghJRFN0YXR1cxILCgdERUZBVUxUEAASCQoFVkFMSUQQARILCgdJTlZBTElEEAISDQoJSU5DT1JSRUNUEAMSCwoHUEVORElORxAEEgwKCFVOREVSQUdFEAUSFwoTVkVSSUZZX1BIT1RPX1JFSkVDVBAGEgkKBUFEVUxUEAdiBnByb3RvMw\", [file_common_CommonEnums, file_cmsCommon_CmsCommon, file_recommendCommon_RecommendCommon]);\n\n/**\n * @generated from message common.Empty\n */\nexport type Empty = Message<\"common.Empty\"> & {\n};\n\n/**\n * Describes the message common.Empty.\n * Use `create(EmptySchema)` to create a new message.\n */\nexport const EmptySchema: GenMessage<Empty> = /*@__PURE__*/\n messageDesc(file_common_Common, 0);\n\n/**\n * @generated from message common.BaseResponse\n */\nexport type BaseResponse = Message<\"common.BaseResponse\"> & {\n /**\n * @generated from field: common.StatusCode status = 1;\n */\n status: StatusCode;\n\n /**\n * @generated from field: string message = 2;\n */\n message: string;\n};\n\n/**\n * Describes the message common.BaseResponse.\n * Use `create(BaseResponseSchema)` to create a new message.\n */\nexport const BaseResponseSchema: GenMessage<BaseResponse> = /*@__PURE__*/\n messageDesc(file_common_Common, 1);\n\n/**\n * @generated from message common.Pagination\n */\nexport type Pagination = Message<\"common.Pagination\"> & {\n /**\n * @generated from field: int32 limit = 1;\n */\n limit: number;\n\n /**\n * @generated from field: int32 offset = 2;\n */\n offset: number;\n};\n\n/**\n * Describes the message common.Pagination.\n * Use `create(PaginationSchema)` to create a new message.\n */\nexport const PaginationSchema: GenMessage<Pagination> = /*@__PURE__*/\n messageDesc(file_common_Common, 2);\n\n/**\n * @generated from message common.DateTimeRangeFilter\n */\nexport type DateTimeRangeFilter = Message<\"common.DateTimeRangeFilter\"> & {\n /**\n * @generated from field: string start_time = 1;\n */\n startTime: string;\n\n /**\n * @generated from field: string end_time = 2;\n */\n endTime: string;\n};\n\n/**\n * Describes the message common.DateTimeRangeFilter.\n * Use `create(DateTimeRangeFilterSchema)` to create a new message.\n */\nexport const DateTimeRangeFilterSchema: GenMessage<DateTimeRangeFilter> = /*@__PURE__*/\n messageDesc(file_common_Common, 3);\n\n/**\n * @generated from message common.PaginationBaseResponse\n */\nexport type PaginationBaseResponse = Message<\"common.PaginationBaseResponse\"> & {\n /**\n * @generated from field: int32 total = 1;\n */\n total: number;\n\n /**\n * @generated from field: int32 limit = 2;\n */\n limit: number;\n\n /**\n * @generated from field: int32 offset = 3;\n */\n offset: number;\n\n /**\n * @generated from field: int32 page = 4;\n */\n page: number;\n\n /**\n * @generated from field: int32 total_pages = 5;\n */\n totalPages: number;\n\n /**\n * @generated from field: bool has_next = 6;\n */\n hasNext: boolean;\n};\n\n/**\n * Describes the message common.PaginationBaseResponse.\n * Use `create(PaginationBaseResponseSchema)` to create a new message.\n */\nexport const PaginationBaseResponseSchema: GenMessage<PaginationBaseResponse> = /*@__PURE__*/\n messageDesc(file_common_Common, 4);\n\n/**\n * @generated from message common.Filter\n */\nexport type Filter = Message<\"common.Filter\"> & {\n /**\n * @generated from field: string field = 1;\n */\n field: string;\n\n /**\n * @generated from field: common.Filter.FilterType type = 2;\n */\n type: Filter_FilterType;\n\n /**\n * @generated from field: common.Filter.Operator operator = 3;\n */\n operator: Filter_Operator;\n\n /**\n * @generated from field: string string_value = 4;\n */\n stringValue: string;\n\n /**\n * @generated from field: int32 number_value = 5;\n */\n numberValue: number;\n\n /**\n * @generated from field: string date_value = 6;\n */\n dateValue: string;\n\n /**\n * @generated from field: bool bool_value = 7;\n */\n boolValue: boolean;\n\n /**\n * @generated from field: repeated string string_array_value = 8;\n */\n stringArrayValue: string[];\n\n /**\n * @generated from field: repeated int32 number_array_value = 9;\n */\n numberArrayValue: number[];\n};\n\n/**\n * Describes the message common.Filter.\n * Use `create(FilterSchema)` to create a new message.\n */\nexport const FilterSchema: GenMessage<Filter> = /*@__PURE__*/\n messageDesc(file_common_Common, 5);\n\n/**\n * @generated from enum common.Filter.FilterType\n */\nexport enum Filter_FilterType {\n /**\n * @generated from enum value: STRING = 0;\n */\n STRING = 0,\n\n /**\n * @generated from enum value: NUMBER = 1;\n */\n NUMBER = 1,\n\n /**\n * @generated from enum value: DATE = 2;\n */\n DATE = 2,\n\n /**\n * @generated from enum value: OBJECT_ID = 3;\n */\n OBJECT_ID = 3,\n\n /**\n * @generated from enum value: BOOLEAN = 4;\n */\n BOOLEAN = 4,\n}\n\n/**\n * Describes the enum common.Filter.FilterType.\n */\nexport const Filter_FilterTypeSchema: GenEnum<Filter_FilterType> = /*@__PURE__*/\n enumDesc(file_common_Common, 5, 0);\n\n/**\n * @generated from enum common.Filter.Operator\n */\nexport enum Filter_Operator {\n /**\n * @generated from enum value: EQUALS = 0;\n */\n EQUALS = 0,\n\n /**\n * @generated from enum value: LIKE = 1;\n */\n LIKE = 1,\n\n /**\n * @generated from enum value: GT = 2;\n */\n GT = 2,\n\n /**\n * @generated from enum value: LT = 3;\n */\n LT = 3,\n\n /**\n * @generated from enum value: GTE = 4;\n */\n GTE = 4,\n\n /**\n * @generated from enum value: LTE = 5;\n */\n LTE = 5,\n\n /**\n * @generated from enum value: IN = 6;\n */\n IN = 6,\n}\n\n/**\n * Describes the enum common.Filter.Operator.\n */\nexport const Filter_OperatorSchema: GenEnum<Filter_Operator> = /*@__PURE__*/\n enumDesc(file_common_Common, 5, 1);\n\n/**\n * @generated from message common.GeneralRes\n */\nexport type GeneralRes = Message<\"common.GeneralRes\"> & {\n /**\n * @generated from field: common.BaseResponse base_response = 1;\n */\n baseResponse?: BaseResponse;\n};\n\n/**\n * Describes the message common.GeneralRes.\n * Use `create(GeneralResSchema)` to create a new message.\n */\nexport const GeneralResSchema: GenMessage<GeneralRes> = /*@__PURE__*/\n messageDesc(file_common_Common, 6);\n\n/**\n * @generated from message common.Game\n */\nexport type Game = Message<\"common.Game\"> & {\n /**\n * @generated from field: string game_obj_id = 1;\n */\n gameObjId: string;\n\n /**\n * @generated from field: string game_name = 2;\n */\n gameName: string;\n\n /**\n * @generated from field: string game_id = 3;\n */\n gameId: string;\n\n /**\n * @generated from field: string game_image = 4;\n */\n gameImage: string;\n\n /**\n * @generated from field: string provider_id = 5;\n */\n providerId: string;\n\n /**\n * @generated from field: string provider_name = 6;\n */\n providerName: string;\n\n /**\n * @generated from field: string big_game_image = 7;\n */\n bigGameImage: string;\n\n /**\n * @generated from field: int32 sorting = 8;\n */\n sorting: number;\n\n /**\n * @generated from field: bool is_customise = 9;\n */\n isCustomise: boolean;\n\n /**\n * @generated from field: cmsCommon.Action action = 10;\n */\n action: Action;\n\n /**\n * @generated from field: string redirect_url = 11;\n */\n redirectUrl: string;\n\n /**\n * @generated from field: string primary_category = 12;\n */\n primaryCategory: string;\n\n /**\n * @generated from field: string secondary_category = 13;\n */\n secondaryCategory: string;\n\n /**\n * @generated from field: string sub_category = 14;\n */\n subCategory: string;\n\n /**\n * @generated from field: recommendCommon.PlayGameType play_game_type = 15;\n */\n playGameType: PlayGameType;\n\n /**\n * @generated from field: int32 status = 16;\n */\n status: number;\n\n /**\n * @generated from field: repeated string platform_list = 17;\n */\n platformList: string[];\n\n /**\n * @generated from field: optional string is_backup_game = 18;\n */\n isBackupGame?: string;\n\n /**\n * @generated from field: string table_code = 19;\n */\n tableCode: string;\n\n /**\n * @generated from field: optional recommendCommon.GameTagCategory game_tag_category = 20;\n */\n gameTagCategory?: GameTagCategory;\n\n /**\n * @generated from field: optional string start_date = 21;\n */\n startDate?: string;\n\n /**\n * @generated from field: optional string end_date = 22;\n */\n endDate?: string;\n\n /**\n * @generated from field: optional string description = 23;\n */\n description?: string;\n\n /**\n * @generated from field: optional string provider_description = 24;\n */\n providerDescription?: string;\n\n /**\n * @generated from field: optional string customise_game_name = 25;\n */\n customiseGameName?: string;\n\n /**\n * @generated from field: optional string customise_game_image = 26;\n */\n customiseGameImage?: string;\n\n /**\n * @generated from field: optional string customise_big_game_image = 27;\n */\n customiseBigGameImage?: string;\n\n /**\n * @generated from field: optional bool use_big_image = 28;\n */\n useBigImage?: boolean;\n};\n\n/**\n * Describes the message common.Game.\n * Use `create(GameSchema)` to create a new message.\n */\nexport const GameSchema: GenMessage<Game> = /*@__PURE__*/\n messageDesc(file_common_Common, 7);\n\n/**\n * @generated from message common.CpmsGame\n */\nexport type CpmsGame = Message<\"common.CpmsGame\"> & {\n /**\n * @generated from field: string game_name = 1;\n */\n gameName: string;\n\n /**\n * @generated from field: string game_id = 2;\n */\n gameId: string;\n\n /**\n * @generated from field: string game_image = 3;\n */\n gameImage: string;\n\n /**\n * @generated from field: string provider_id = 4;\n */\n providerId: string;\n\n /**\n * @generated from field: string provider_name = 5;\n */\n providerName: string;\n\n /**\n * @generated from field: recommendCommon.PlayGameType play_game_type = 6;\n */\n playGameType: PlayGameType;\n\n /**\n * @generated from field: cmsCommon.Status status = 7;\n */\n status: Status;\n\n /**\n * @generated from field: string primary_category = 8;\n */\n primaryCategory: string;\n\n /**\n * @generated from field: string secondary_category = 9;\n */\n secondaryCategory: string;\n\n /**\n * @generated from field: string sub_category = 10;\n */\n subCategory: string;\n\n /**\n * @generated from field: repeated string platform_list = 11;\n */\n platformList: string[];\n\n /**\n * @generated from field: string big_game_image = 12;\n */\n bigGameImage: string;\n\n /**\n * @generated from field: string resource_id = 13;\n */\n resourceId: string;\n\n /**\n * @generated from field: optional string provider_description = 14;\n */\n providerDescription?: string;\n\n /**\n * @generated from field: optional string description = 15;\n */\n description?: string;\n};\n\n/**\n * Describes the message common.CpmsGame.\n * Use `create(CpmsGameSchema)` to create a new message.\n */\nexport const CpmsGameSchema: GenMessage<CpmsGame> = /*@__PURE__*/\n messageDesc(file_common_Common, 8);\n\n/**\n * @generated from message common.MediaReq\n */\nexport type MediaReq = Message<\"common.MediaReq\"> & {\n /**\n * @generated from field: cmsCommon.MediaType media_type = 1;\n */\n mediaType: MediaType;\n\n /**\n * @generated from field: string file_url = 2;\n */\n fileUrl: string;\n\n /**\n * @generated from field: string cover_image_url = 3;\n */\n coverImageUrl: string;\n\n /**\n * @generated from field: optional string mime_type = 4;\n */\n mimeType?: string;\n\n /**\n * @generated from field: optional bytes video_data = 5;\n */\n videoData?: Uint8Array;\n};\n\n/**\n * Describes the message common.MediaReq.\n * Use `create(MediaReqSchema)` to create a new message.\n */\nexport const MediaReqSchema: GenMessage<MediaReq> = /*@__PURE__*/\n messageDesc(file_common_Common, 9);\n\n/**\n * @generated from enum common.IDStatus\n */\nexport enum IDStatus {\n /**\n * @generated from enum value: DEFAULT = 0;\n */\n DEFAULT = 0,\n\n /**\n * @generated from enum value: VALID = 1;\n */\n VALID = 1,\n\n /**\n * @generated from enum value: INVALID = 2;\n */\n INVALID = 2,\n\n /**\n * @generated from enum value: INCORRECT = 3;\n */\n INCORRECT = 3,\n\n /**\n * @generated from enum value: PENDING = 4;\n */\n PENDING = 4,\n\n /**\n * @generated from enum value: UNDERAGE = 5;\n */\n UNDERAGE = 5,\n\n /**\n * @generated from enum value: VERIFY_PHOTO_REJECT = 6;\n */\n VERIFY_PHOTO_REJECT = 6,\n\n /**\n * @generated from enum value: ADULT = 7;\n */\n ADULT = 7,\n}\n\n/**\n * Describes the enum common.IDStatus.\n */\nexport const IDStatusSchema: GenEnum<IDStatus> = /*@__PURE__*/\n enumDesc(file_common_Common, 0);\n\n","// @generated by protoc-gen-es v2.10.2 with parameter \"target=ts\"\n// @generated from file common/CommonEnums.proto (package common, syntax proto3)\n/* eslint-disable */\n\nimport type { GenEnum, GenFile } from \"@bufbuild/protobuf/codegenv2\";\nimport { enumDesc, fileDesc } from \"@bufbuild/protobuf/codegenv2\";\n\n/**\n * Describes the file common/CommonEnums.proto.\n */\nexport const file_common_CommonEnums: GenFile = /*@__PURE__*/\n fileDesc(\"Chhjb21tb24vQ29tbW9uRW51bXMucHJvdG8SBmNvbW1vbiqdKwoKU3RhdHVzQ29kZRIWChJTVEFUVVNfVU5TUEVDSUZJRUQQABITCg5TVEFUVVNfU1VDQ0VTUxDIARIYChNTVEFUVVNfVU5BVVRIT1JJWkVEEJEDEhUKEFNUQVRVU19GT1JCSURERU4QkwMSFQoQU1RBVFVTX05PVF9GT1VORBCUAxIfChpTVEFUVVNfRkFDRV9JRF9OT1RfRU5BQkxFRBCVAxIaChVTVEFUVVNfSU5URVJOQUxfRVJST1IQ9AMSGAoTU1RBVFVTX0lMTEVHQUxfQVJHUxCmBBIaChVTVEFUVVNfQUxSRUFEWV9FWElTVFMQmQMSHQoYU1RBVFVTX0ZBQ0VfSURfTk9UX0ZPVU5EEJoDEiMKHlNUQVRVU19NQVhfTk9fRkFDRV9JRF9BVFRFTVBUUxCbAxIbChZTVEFUVVNfRkFDRV9JRF9FTkFCTEVEEJwDEh8KGlNUQVRVU19GQUNFX0lEX1VOU1VQUE9SVEVEEJ0DEiEKHFNUQVRVU19GQUNFX0lEX1NDT1JFX1RPT19MT1cQngMSJQogU1RBVFVTX0ZBSUxFRF9MT0dJTl9XSVRIX0ZBQ0VfSUQQnwMSEwoOU1RBVFVTX05PVF9LWUMQ6AMSGQoUU1RBVFVTX0FNTF9UUklHR0VSRUQQ2QQSHQoYU1RBVFVTX0FNTF9OT1RfVFJJR0dFUkVEENoEEhEKDERVUExJQ0FURV9JRBCxCRIUCg9IQVNIX0NPREVfRVJST1IQsgkSFwoSSU5WQUxJRF9EQVRFX1JBTkdFELMJEh0KGElOVkFMSURfT1JfTUlTU0lOR19QQVJBTRC0CRIYChNJTlZBTElEX0RBVEVfRk9STUFUELUJEhEKDENPTU1PTl9FUlJPUhD4ChINCghEQl9FUlJPUhDcCxIVChBJTlZBTElEX0FQSV9VU0VSEIwLEhYKEUlOVkFMSURfU0lHTkFUVVJFEMwLEhkKFEZBSUxFRF9MSU5LX0ZBQ0VCT09LEMsLEhoKFUlOVkFMSURfVVNFUl9QQVNTV09SRBD5ChIUCg9JTlZBTElEX0NBUFRDSEEQ+goSIwoeR0VORVJBVEVfVkFMSURBVElPTl9DT0RFX0VSUk9SEPsKEhsKFlVTRVJOQU1FX0FMUkVBRFlfRVhJU1QQ/AoSEgoNSU5WQUxJRF9QQVJBTRD9ChIZChRJTlZBTElEX1BIT05FX05VTUJFUhD+ChIZChRJTlZBTElEX09MRF9QQVNTV09SRBD/ChIgChtEQVRBQkFTRV9DT05ORUNUSU9OX0ZBSUxVUkUQgAsSFgoRUEVSTUlTU0lPTl9ERU5JRUQQgQsSGAoTU0VBUkNIX09VVF9PRl9SQU5HRRCCCxIUCg9TRVNTSU9OX0VYUElSRUQQgwsSFQoQSU5WQUxJRF9QUk9QT1NBTBCECxIaChVQQVlNRU5UX05PVF9BVkFJTEFCTEUQhQsSHQoYUExBWUVSX05PVF9FTk9VR0hfQ1JFRElUEIcLEiUKIFBMQVlFUl9DUkVESVRfQkFMQU5DRV9OT1RfRU5PVUdIEIgLEiAKG1BMQVlFUl9JTlZBTElEX1BBWU1FTlRfSU5GTxCJCxIZChRQTEFZRVJfTk9fUEVSTUlTU0lPThCKCxIcChdQTEFZRVJfUEVORElOR19QUk9QT1NBTBCLCxIXChJQTEFZRVJfVE9QX1VQX0ZBSUwQkgsSGQoUUkVXQVJEX0VWRU5UX0lOVkFMSUQQjQsSIAobUExBWUVSX05PVF9WQUxJRF9GT1JfUkVXQVJEEI4LEh0KGFBMQVlFUl9BUFBMWV9SRVdBUkRfRkFJTBCPCxIbChZQTEFZRVJfSEFTX1JFV0FSRF9UQVNLEJALEhUKEENQX05PVF9BVkFJTEFCTEUQkQsSFwoSUExBWUVSX1JFV0FSRF9JTkZPEJMLEh4KGVBMQVlFUl9UUkFOU0ZFUl9PVVRfRVJST1IQlAsSHQoYUExBWUVSX1RSQU5TRkVSX0lOX0VSUk9SEJULEhgKE1BMQVlFUl9JU19GT1JCSURERU4QlgsSEQoMREFUQV9JTlZBTElEEJcLEhgKE1BMQVlFUl9OQU1FX0lOVkFMSUQQmAsSGQoUUEFSVE5FUl9OQU1FX0lOVkFMSUQQmQsSHAoXVkFMSURBVElPTl9DT0RFX0lOVkFMSUQQmgsSHAoXVkFMSURBVElPTl9DT0RFX0VYUElSRUQQmwsSIwoeUExBWUVSX1BFTkRJTkdfUkVXQVJEX1BST1BPU0FMEJwLEhUKEElOVkFMSURfUkVGRVJSQUwQnQsSFQoQSU5WQUxJRF9QTEFURk9STRCeCxIeChlGQUlMRURfVVBEQVRFX1JFV0FSRF9UQVNLEJ8LEhIKDU5PX1VTRVJfRk9VTkQQoAsSHgoZVVNFUk5BTUVfTEVOR1RIX0lOQ09SUkVDVBChCxIaChVQTEFZRVJfUkVBTE5BTUVfRVhJU1QQogsSJAofUExBWUVSX1JFQUxOQU1FX01VU1RfQkVfQ0hJTkVTRRCjCxIgChtGQUlMRURfUFJPTU9fQ09ERV9DT05ESVRJT04QpAsSIwoeRkFJTEVEX0xJTUlURURfT0ZGRVJfQ09ORElUSU9OEKULEhgKE05PX1BST01PX0NPREVfTUFUQ0gQpgsSHAoXVEVTVF9HQU1FX1JFUVVJUkVfTE9HSU4QpwsSGAoTUExBWUVSX0lTX0NBTkNFTExFRBCoCxIYChNQTEFZRVJfTk9UX01JTlRPUFVQEKoLEhMKDk5PX1JFQUNIX1RPUFVQEKsLEhkKFE5PX1JFQUNIX0NPTlNVTVBUSU9OEKwLEh8KGk5PX1JFQUNIX1RPUFVQX0NPTlNVTVBUSU9OEK0LEh4KGVBIT05FTlVNQkVSX0FMUkVBRFlfRVhJU1QQrgsSHgoZQUJOT1JNQUxfQ1JFRElUX0RFRFVDVElPThCvCxImCiFQTEFZRVJfQ09OVkVSVF9SRVdBUkRfUE9JTlRTX0ZBSUwQsAsSIwoeVkFMSURBVElPTl9DT0RFX0VYQ0VFRF9BVFRFTVBUELELEiQKH1BMQVlFUl9OT1RfRU5PVUdIX1JFV0FSRF9QT0lOVFMQsgsSHQoYR1JPVVBfUkVXQVJEX05PVF9BTExPV0VEELMLEhsKFlNNU19SRVRSWV9GQUlMU19FWENFRUQQtAsSGwoWTk9UX0VOT1VHSF9DT05TVU1QVElPThC1CxIbChZSRUFMTkFNRV9BTFJFQURZX0VYSVNUELYLEh8KGlJFV0FSRF9QT0lOVFNfQ09OVkVSVF9GQUlMELkLEhgKE0NPTkNVUlJFTlRfREVURUNURUQQugsSGwoWUFJPTU9fTUVUSE9EX05PVF9GT1VORBC7CxIZChRDU19PRkZJQ0VSX05PVF9GT1VORBC8CxIVChBSRU1BUktfTk9UX0ZPVU5EEL0LEhkKFEVYVEVSTkFMX0FQSV9GQUlMVVJFEL4LEhwKF0lOVkFMSURfT0xEX1BIT05FTlVNQkVSEL8LEh4KGU9MRF9QSE9ORV9OVU1CRVJfUkVRVUlSRUQQwAsSHAoXU1BFTkRJTkdfVElNRVNfUkVRVUlSRUQQwQsSEQoMQkxBQ0tMSVNUX0lQEMILEiYKIUNPTkZJUk1BVElPTl9UT19DT01QTEVURV9BQ1RJVklUWRDDCxIbChZJTlRFUlZBTF9SRVdBUkRfQ0FQUEVEEMQLEhQKD0RFVklDRV9JRF9FUlJPUhDFCxIQCgtOT19CSVJUSERBWRDGCxIWChFQQVJUTkVSX05PVF9GT1VORBDHCxIfChpQQVJUTkVSX1JBVEVfSU5BUFBST1BSSUFURRDICxIbChZESVNBQkxFX1BMQVRGT1JNX0xPR0lOEMoLEiAKG0xPR0lOX0NPTkRJVElPTl9OT1RfTUFUQ0hFRBDPCxIaChVJTlZBTElEX0dMSUZFX0FDQ09VTlQQ0QsSFwoSR0xJRkVfQ09NTU9OX0VSUk9SENILEhoKFUlOVkFMSURfR0NBU0hfQUNDT1VOVBDUCxIaChVJTlZBTElEX1JFRlJFU0hfVE9LRU4Q3gsSFgoRSU5WQUxJRF9BVVRIX0NPREUQ3wsSHgoZTk9UX0dMSUZFX1JFR0lTVEVSRURfVVNFUhDTCxIhChxQTEFZRVJfTkVFRF9CQU5LX0lORk9STUFUSU9OEL8REh0KGFBMQVlFUl9ORUVEX1BIT05FX05VTUJFUhDAERIlCiBQTEFZRVJfTkVFRF9QSE9ORU5VTUJFUl9BTkRfQkFOSxDBERIdChhDQU5UX0ZJTkRfREVQT1NJVF9SRUNPUkQQwhESHwoaVE9QVVBfUkVDT1JEX0hBU19CRUVOX1VTRUQQwxESIQocTk9fRlVMRklMTF9ERVBPU0lUX0NPTkRJVElPThDEERIhChxOT19GVUxGSUxMX0JFVFRJTkdfQ09ORElUSU9OEMUREiMKHkNMQUlNX1RJTUVEX1JFV0FSRF9OT1RfQUxMT1dFRBCPEhIWChFQTEFZRVJfTkVFRF9FTUFJTBDGERIhChxJTlZBTElEXzJfU1RFUFNfVkVSSUZJQ0FUSU9OEM0LEiYKIUlOVkFMSURfMl9TVEVQU19WRVJJRklDQVRJT05fQ09ERRDOCxIZChRVU0VSX0lORk9fSU5DT01QTEVURRDQCxIdChhHQ0FTSF9BQ0NPVU5UX0dDQVNITElNSVQQ1wsSHQoYSU5WQUxJRF9NQVlBX0FQUF9BQ0NPVU5UENgLEh0KGElOVkFMSURfTUFZQV9BUFBfUFJPRklMRRDZCxIlCiBGQUlMRURfVE9fUkVGUkVTSF9NQVlBX0FQUF9UT0tFThDaCxIYChNQTEFZRVJfQkVMT1dfMjFfQUdFENsLEiAKG1JFR0VORVJBVElOR19NSU5VVEVfU1VNTUFSWRCHERIeChlSRUdFTkVSQVRJTkdfSE9VUl9TVU1NQVJZEIYREhkKFEZVTkNUSU9OX0lTX0RJU0FCTEVEEN0LEhQKD0lOVkFMSURfQUNDT1VOVBDgCxIeChlQQVJUTkVSX05PVF9FTk9VR0hfQ1JFRElUEOELEhsKFk1BWUFfQUNDT1VOVF9NQVlBTElNSVQQ4gsSEAoLSU5WQUxJRF9PVFAQ5QsSFQoQTUFYX09UUF9BVFRFTVRQUxDmCxIWChFJTlZBTElEX09MRF9FTUFJTBDnCxIuCilQTEFZRVJfSElUX01BWF9OT19QQVNTV09SRF9MT0dJTl9BVFRFTVBUUxDoCxIbChZCTEFDS0xJU1RfUEhPTkVfTlVNQkVSEOkLEhUKEFBMQVlFUl9OT1RfRk9VTkQQ6gsSIAobUExBWUVSX0ZPUkJJRERFTl9GUk9NX0xPR0lOEOsLEikKJFBMQVlFUl9OT1RfRk9VTkRfT1JfSU5WQUxJRF9QQVNTV09SRBDsCxIYChNSQVRFX0xJTUlUX0VYQ0VFREVEEO0LEhUKEElOVkFMSURfUEFTU1dPUkQQ7gsSJAofSU5WQUxJRF9QQVlNRU5UX1NFUlZJQ0VfR0FURVdBWRDjCxIeChlDT05TVU1QVElPTl9PUkRFUk5PX0VSUk9SEOQLEhsKFkFQSV9SRVFVRVNUX0ZSRVFVRU5UTFkQkwwSEwoOSU5WQUxJRF9BTU9VTlQQpQ0SHgoZR0xJRkVfREVQT1NJVF9NQUlOVEVOQU5DRRCmDRIfChpHTElGRV9XSVRIRFJBV19NQUlOVEVOQU5DRRCnDRIfChpHTElGRV9CQU5LVFlQRV9NQUlOVEVOQU5DRRCoDRIdChhJTlZBTElEX0NPTlRFTlRfUFJPVklERVIQqQ0SEwoOT1BFUkFUSU9OX0ZBSUwQqg0SEQoMSU5WQUxJRF9EQVRBEKsNEhcKEkRPQ1VNRU5UX05PVF9GT1VORBCsDRIiCh1DT05TVU1QVElPTl9PUkRFUk5PX05PVF9GT1VORBCtDRIjCh5DT05TVU1QVElPTl9VUERBVEVfTk9UX1NVQ0NFU1MQrg0SJQogSU5WQUxJRF9VUERBVEVfQ09OU1VNUFRJT05fUEFSQU0Qrw0SGQoURVhURVJOQUxfQVBJX1RJTUVPVVQQsA0SGQoUUEFSVE5FUl9JU19GT1JCSURERU4QsQ0SGgoVUEFSVE5FUl9OT19QRVJNSVNTSU9OELINEhoKFVBST1ZJREVSX0dST1VQX0lTX09GRhCzDRISCg1TVEFUVVNfRkFJTEVEELYNEhcKEkVYVEVSTkFMX0FQSV9FUlJPUhDJCxIcChdVU0VSX05PX1RSQU5TRkVSX1JFQ09SRBC0DRIXChJHQU1FX05PVF9BVkFJTEFCTEUQtQ0SFgoRSEVBREVSX1NJR05fRVJST1IQwAwSEwoOVU5LTk9XTl9BUElLRVkQwQwSFAoPUkVRVUVTVF9FWFBJUkVEEMMMEhgKE0lOQ09SUkVDVF9TSUdOQVRVUkUQxAwSGgoVQVVESVRfQVBQUk9WQUxfRkFJTEVEEMUMEh4KGVBMQVlFUl9QQUdDT1JfQkxBQ0tMSVNURUQQxgwSGwoWTk9fTUVSR0VfQUNDT1VOVF9GT1VORBCIDhInCiJNRVJHRV9QTEFZRVJfSU5WQUxJRF9UQVJHRVRfUExBWUVSEIkOEhoKFU1FUkdJTkdfSVNfUFJPQ0VTU0lORxCKDhIoCiNNRVJHRV9BQ0NPVU5UX0FUVEVNUFRfTElNSVRfUkVBQ0hFRBCLDhIpCiRJTlZPTFZFRF9QTEFZRVJfSEFTX1BFTkRJTkdfUFJPUE9TQUwQjA4SIQocUFJPQ0VTU19NRVJHRV9BQ0NPVU5UX0JFRk9SRRCNDhImCiFJTlZBTElEX1BMQVlFUl9DUkVESUJJTElUWV9SRU1BUksQigQSKwomVFJBTlNGRVJfR0lGVF9SRVdBUkRfTkVFRF9GUklFTkRfTE9HSU4Q7A4SHAoXSElUX01BWF9SRUNFSVZFX1JFV0FSRFMQ7Q4SHQoYUkVDRUlWRVJfSElUX01BWF9SRVdBUkRTEO4OEh4KGUhJVF9NQVhfU0hBUkVfTElNSVRfREFJTFkQ7w4SHgoZSElUX01BWF9TSEFSRV9MSU1JVF9UT1RBTBDwDhIdChhDQU5OT1RfU0VORF9HSUZUX1RPX1NFTEYQ8Q4SEwoOSU5DT01QTEVURV9LWUMQ8g4SHAoXUkVDRUlWRVJfSU5DT01QTEVURV9LWUMQ8w4SKAojRVZFTlRfRklOQUxfREFZX05PX1JFV0FSRF9BVkFJTEFCTEUQ9A4SFgoRQ09ORElUSU9OX05PVF9NRVQQ0A8qdAoRUGxheWVyUGhvdG9JZFR5cGUSJAogUExBWUVSX1BIT1RPX0lEX1RZUEVfVU5TUEVDSUZJRUQQABILCgdJRF9DQVJEEAESEgoORFJJVkVSX0xJQ0VOU0UQAhIMCghQQVNTUE9SVBADEgoKBk9USEVSUxAEYgZwcm90bzM\");\n\n/**\n * @generated from enum common.StatusCode\n */\nexport enum StatusCode {\n /**\n * @generated from enum value: STATUS_UNSPECIFIED = 0;\n */\n STATUS_UNSPECIFIED = 0,\n\n /**\n * @generated from enum value: STATUS_SUCCESS = 200;\n */\n STATUS_SUCCESS = 200,\n\n /**\n * @generated from enum value: STATUS_UNAUTHORIZED = 401;\n */\n STATUS_UNAUTHORIZED = 401,\n\n /**\n * @generated from enum value: STATUS_FORBIDDEN = 403;\n */\n STATUS_FORBIDDEN = 403,\n\n /**\n * @generated from enum value: STATUS_NOT_FOUND = 404;\n */\n STATUS_NOT_FOUND = 404,\n\n /**\n * @generated from enum value: STATUS_FACE_ID_NOT_ENABLED = 405;\n */\n STATUS_FACE_ID_NOT_ENABLED = 405,\n\n /**\n * @generated from enum value: STATUS_INTERNAL_ERROR = 500;\n */\n STATUS_INTERNAL_ERROR = 500,\n\n /**\n * @generated from enum value: STATUS_ILLEGAL_ARGS = 550;\n */\n STATUS_ILLEGAL_ARGS = 550,\n\n /**\n * @generated from enum value: STATUS_ALREADY_EXISTS = 409;\n */\n STATUS_ALREADY_EXISTS = 409,\n\n /**\n * @generated from enum value: STATUS_FACE_ID_NOT_FOUND = 410;\n */\n STATUS_FACE_ID_NOT_FOUND = 410,\n\n /**\n * @generated from enum value: STATUS_MAX_NO_FACE_ID_ATTEMPTS = 411;\n */\n STATUS_MAX_NO_FACE_ID_ATTEMPTS = 411,\n\n /**\n * @generated from enum value: STATUS_FACE_ID_ENABLED = 412;\n */\n STATUS_FACE_ID_ENABLED = 412,\n\n /**\n * @generated from enum value: STATUS_FACE_ID_UNSUPPORTED = 413;\n */\n STATUS_FACE_ID_UNSUPPORTED = 413,\n\n /**\n * @generated from enum value: STATUS_FACE_ID_SCORE_TOO_LOW = 414;\n */\n STATUS_FACE_ID_SCORE_TOO_LOW = 414,\n\n /**\n * @generated from enum value: STATUS_FAILED_LOGIN_WITH_FACE_ID = 415;\n */\n STATUS_FAILED_LOGIN_WITH_FACE_ID = 415,\n\n /**\n * @generated from enum value: STATUS_NOT_KYC = 488;\n */\n STATUS_NOT_KYC = 488,\n\n /**\n * @generated from enum value: STATUS_AML_TRIGGERED = 601;\n */\n STATUS_AML_TRIGGERED = 601,\n\n /**\n * @generated from enum value: STATUS_AML_NOT_TRIGGERED = 602;\n */\n STATUS_AML_NOT_TRIGGERED = 602,\n\n /**\n * @generated from enum value: DUPLICATE_ID = 1201;\n */\n DUPLICATE_ID = 1201,\n\n /**\n * @generated from enum value: HASH_CODE_ERROR = 1202;\n */\n HASH_CODE_ERROR = 1202,\n\n /**\n * @generated from enum value: INVALID_DATE_RANGE = 1203;\n */\n INVALID_DATE_RANGE = 1203,\n\n /**\n * @generated from enum value: INVALID_OR_MISSING_PARAM = 1204;\n */\n INVALID_OR_MISSING_PARAM = 1204,\n\n /**\n * @generated from enum value: INVALID_DATE_FORMAT = 1205;\n */\n INVALID_DATE_FORMAT = 1205,\n\n /**\n * @generated from enum value: COMMON_ERROR = 1400;\n */\n COMMON_ERROR = 1400,\n\n /**\n * @generated from enum value: DB_ERROR = 1500;\n */\n DB_ERROR = 1500,\n\n /**\n * @generated from enum value: INVALID_API_USER = 1420;\n */\n INVALID_API_USER = 1420,\n\n /**\n * @generated from enum value: INVALID_SIGNATURE = 1484;\n */\n INVALID_SIGNATURE = 1484,\n\n /**\n * @generated from enum value: FAILED_LINK_FACEBOOK = 1483;\n */\n FAILED_LINK_FACEBOOK = 1483,\n\n /**\n * @generated from enum value: INVALID_USER_PASSWORD = 1401;\n */\n INVALID_USER_PASSWORD = 1401,\n\n /**\n * @generated from enum value: INVALID_CAPTCHA = 1402;\n */\n INVALID_CAPTCHA = 1402,\n\n /**\n * @generated from enum value: GENERATE_VALIDATION_CODE_ERROR = 1403;\n */\n GENERATE_VALIDATION_CODE_ERROR = 1403,\n\n /**\n * @generated from enum value: USERNAME_ALREADY_EXIST = 1404;\n */\n USERNAME_ALREADY_EXIST = 1404,\n\n /**\n * @generated from enum value: INVALID_PARAM = 1405;\n */\n INVALID_PARAM = 1405,\n\n /**\n * @generated from enum value: INVALID_PHONE_NUMBER = 1406;\n */\n INVALID_PHONE_NUMBER = 1406,\n\n /**\n * @generated from enum value: INVALID_OLD_PASSWORD = 1407;\n */\n INVALID_OLD_PASSWORD = 1407,\n\n /**\n * @generated from enum value: DATABASE_CONNECTION_FAILURE = 1408;\n */\n DATABASE_CONNECTION_FAILURE = 1408,\n\n /**\n * @generated from enum value: PERMISSION_DENIED = 1409;\n */\n PERMISSION_DENIED = 1409,\n\n /**\n * @generated from enum value: SEARCH_OUT_OF_RANGE = 1410;\n */\n SEARCH_OUT_OF_RANGE = 1410,\n\n /**\n * @generated from enum value: SESSION_EXPIRED = 1411;\n */\n SESSION_EXPIRED = 1411,\n\n /**\n * @generated from enum value: INVALID_PROPOSAL = 1412;\n */\n INVALID_PROPOSAL = 1412,\n\n /**\n * @generated from enum value: PAYMENT_NOT_AVAILABLE = 1413;\n */\n PAYMENT_NOT_AVAILABLE = 1413,\n\n /**\n * @generated from enum value: PLAYER_NOT_ENOUGH_CREDIT = 1415;\n */\n PLAYER_NOT_ENOUGH_CREDIT = 1415,\n\n /**\n * @generated from enum value: PLAYER_CREDIT_BALANCE_NOT_ENOUGH = 1416;\n */\n PLAYER_CREDIT_BALANCE_NOT_ENOUGH = 1416,\n\n /**\n * @generated from enum value: PLAYER_INVALID_PAYMENT_INFO = 1417;\n */\n PLAYER_INVALID_PAYMENT_INFO = 1417,\n\n /**\n * @generated from enum value: PLAYER_NO_PERMISSION = 1418;\n */\n PLAYER_NO_PERMISSION = 1418,\n\n /**\n * @generated from enum value: PLAYER_PENDING_PROPOSAL = 1419;\n */\n PLAYER_PENDING_PROPOSAL = 1419,\n\n /**\n * @generated from enum value: PLAYER_TOP_UP_FAIL = 1426;\n */\n PLAYER_TOP_UP_FAIL = 1426,\n\n /**\n * @generated from enum value: REWARD_EVENT_INVALID = 1421;\n */\n REWARD_EVENT_INVALID = 1421,\n\n /**\n * @generated from enum value: PLAYER_NOT_VALID_FOR_REWARD = 1422;\n */\n PLAYER_NOT_VALID_FOR_REWARD = 1422,\n\n /**\n * @generated from enum value: PLAYER_APPLY_REWARD_FAIL = 1423;\n */\n PLAYER_APPLY_REWARD_FAIL = 1423,\n\n /**\n * @generated from enum value: PLAYER_HAS_REWARD_TASK = 1424;\n */\n PLAYER_HAS_REWARD_TASK = 1424,\n\n /**\n * @generated from enum value: CP_NOT_AVAILABLE = 1425;\n */\n CP_NOT_AVAILABLE = 1425,\n\n /**\n * @generated from enum value: PLAYER_REWARD_INFO = 1427;\n */\n PLAYER_REWARD_INFO = 1427,\n\n /**\n * @generated from enum value: PLAYER_TRANSFER_OUT_ERROR = 1428;\n */\n PLAYER_TRANSFER_OUT_ERROR = 1428,\n\n /**\n * @generated from enum value: PLAYER_TRANSFER_IN_ERROR = 1429;\n */\n PLAYER_TRANSFER_IN_ERROR = 1429,\n\n /**\n * @generated from enum value: PLAYER_IS_FORBIDDEN = 1430;\n */\n PLAYER_IS_FORBIDDEN = 1430,\n\n /**\n * @generated from enum value: DATA_INVALID = 1431;\n */\n DATA_INVALID = 1431,\n\n /**\n * @generated from enum value: PLAYER_NAME_INVALID = 1432;\n */\n PLAYER_NAME_INVALID = 1432,\n\n /**\n * @generated from enum value: PARTNER_NAME_INVALID = 1433;\n */\n PARTNER_NAME_INVALID = 1433,\n\n /**\n * @generated from enum value: VALIDATION_CODE_INVALID = 1434;\n */\n VALIDATION_CODE_INVALID = 1434,\n\n /**\n * @generated from enum value: VALIDATION_CODE_EXPIRED = 1435;\n */\n VALIDATION_CODE_EXPIRED = 1435,\n\n /**\n * @generated from enum value: PLAYER_PENDING_REWARD_PROPOSAL = 1436;\n */\n PLAYER_PENDING_REWARD_PROPOSAL = 1436,\n\n /**\n * @generated from enum value: INVALID_REFERRAL = 1437;\n */\n INVALID_REFERRAL = 1437,\n\n /**\n * @generated from enum value: INVALID_PLATFORM = 1438;\n */\n INVALID_PLATFORM = 1438,\n\n /**\n * @generated from enum value: FAILED_UPDATE_REWARD_TASK = 1439;\n */\n FAILED_UPDATE_REWARD_TASK = 1439,\n\n /**\n * @generated from enum value: NO_USER_FOUND = 1440;\n */\n NO_USER_FOUND = 1440,\n\n /**\n * @generated from enum value: USERNAME_LENGTH_INCORRECT = 1441;\n */\n USERNAME_LENGTH_INCORRECT = 1441,\n\n /**\n * @generated from enum value: PLAYER_REALNAME_EXIST = 1442;\n */\n PLAYER_REALNAME_EXIST = 1442,\n\n /**\n * @generated from enum value: PLAYER_REALNAME_MUST_BE_CHINESE = 1443;\n */\n PLAYER_REALNAME_MUST_BE_CHINESE = 1443,\n\n /**\n * @generated from enum value: FAILED_PROMO_CODE_CONDITION = 1444;\n */\n FAILED_PROMO_CODE_CONDITION = 1444,\n\n /**\n * @generated from enum value: FAILED_LIMITED_OFFER_CONDITION = 1445;\n */\n FAILED_LIMITED_OFFER_CONDITION = 1445,\n\n /**\n * @generated from enum value: NO_PROMO_CODE_MATCH = 1446;\n */\n NO_PROMO_CODE_MATCH = 1446,\n\n /**\n * @generated from enum value: TEST_GAME_REQUIRE_LOGIN = 1447;\n */\n TEST_GAME_REQUIRE_LOGIN = 1447,\n\n /**\n * @generated from enum value: PLAYER_IS_CANCELLED = 1448;\n */\n PLAYER_IS_CANCELLED = 1448,\n\n /**\n * @generated from enum value: PLAYER_NOT_MINTOPUP = 1450;\n */\n PLAYER_NOT_MINTOPUP = 1450,\n\n /**\n * @generated from enum value: NO_REACH_TOPUP = 1451;\n */\n NO_REACH_TOPUP = 1451,\n\n /**\n * @generated from enum value: NO_REACH_CONSUMPTION = 1452;\n */\n NO_REACH_CONSUMPTION = 1452,\n\n /**\n * @generated from enum value: NO_REACH_TOPUP_CONSUMPTION = 1453;\n */\n NO_REACH_TOPUP_CONSUMPTION = 1453,\n\n /**\n * @generated from enum value: PHONENUMBER_ALREADY_EXIST = 1454;\n */\n PHONENUMBER_ALREADY_EXIST = 1454,\n\n /**\n * @generated from enum value: ABNORMAL_CREDIT_DEDUCTION = 1455;\n */\n ABNORMAL_CREDIT_DEDUCTION = 1455,\n\n /**\n * @generated from enum value: PLAYER_CONVERT_REWARD_POINTS_FAIL = 1456;\n */\n PLAYER_CONVERT_REWARD_POINTS_FAIL = 1456,\n\n /**\n * @generated from enum value: VALIDATION_CODE_EXCEED_ATTEMPT = 1457;\n */\n VALIDATION_CODE_EXCEED_ATTEMPT = 1457,\n\n /**\n * @generated from enum value: PLAYER_NOT_ENOUGH_REWARD_POINTS = 1458;\n */\n PLAYER_NOT_ENOUGH_REWARD_POINTS = 1458,\n\n /**\n * @generated from enum value: GROUP_REWARD_NOT_ALLOWED = 1459;\n */\n GROUP_REWARD_NOT_ALLOWED = 1459,\n\n /**\n * @generated from enum value: SMS_RETRY_FAILS_EXCEED = 1460;\n */\n SMS_RETRY_FAILS_EXCEED = 1460,\n\n /**\n * @generated from enum value: NOT_ENOUGH_CONSUMPTION = 1461;\n */\n NOT_ENOUGH_CONSUMPTION = 1461,\n\n /**\n * @generated from enum value: REALNAME_ALREADY_EXIST = 1462;\n */\n REALNAME_ALREADY_EXIST = 1462,\n\n /**\n * @generated from enum value: REWARD_POINTS_CONVERT_FAIL = 1465;\n */\n REWARD_POINTS_CONVERT_FAIL = 1465,\n\n /**\n * @generated from enum value: CONCURRENT_DETECTED = 1466;\n */\n CONCURRENT_DETECTED = 1466,\n\n /**\n * @generated from enum value: PROMO_METHOD_NOT_FOUND = 1467;\n */\n PROMO_METHOD_NOT_FOUND = 1467,\n\n /**\n * @generated from enum value: CS_OFFICER_NOT_FOUND = 1468;\n */\n CS_OFFICER_NOT_FOUND = 1468,\n\n /**\n * @generated from enum value: REMARK_NOT_FOUND = 1469;\n */\n REMARK_NOT_FOUND = 1469,\n\n /**\n * @generated from enum value: EXTERNAL_API_FAILURE = 1470;\n */\n EXTERNAL_API_FAILURE = 1470,\n\n /**\n * @generated from enum value: INVALID_OLD_PHONENUMBER = 1471;\n */\n INVALID_OLD_PHONENUMBER = 1471,\n\n /**\n * @generated from enum value: OLD_PHONE_NUMBER_REQUIRED = 1472;\n */\n OLD_PHONE_NUMBER_REQUIRED = 1472,\n\n /**\n * @generated from enum value: SPENDING_TIMES_REQUIRED = 1473;\n */\n SPENDING_TIMES_REQUIRED = 1473,\n\n /**\n * @generated from enum value: BLACKLIST_IP = 1474;\n */\n BLACKLIST_IP = 1474,\n\n /**\n * @generated from enum value: CONFIRMATION_TO_COMPLETE_ACTIVITY = 1475;\n */\n CONFIRMATION_TO_COMPLETE_ACTIVITY = 1475,\n\n /**\n * @generated from enum value: INTERVAL_REWARD_CAPPED = 1476;\n */\n INTERVAL_REWARD_CAPPED = 1476,\n\n /**\n * @generated from enum value: DEVICE_ID_ERROR = 1477;\n */\n DEVICE_ID_ERROR = 1477,\n\n /**\n * @generated from enum value: NO_BIRTHDAY = 1478;\n */\n NO_BIRTHDAY = 1478,\n\n /**\n * @generated from enum value: PARTNER_NOT_FOUND = 1479;\n */\n PARTNER_NOT_FOUND = 1479,\n\n /**\n * @generated from enum value: PARTNER_RATE_INAPPROPRIATE = 1480;\n */\n PARTNER_RATE_INAPPROPRIATE = 1480,\n\n /**\n * @generated from enum value: DISABLE_PLATFORM_LOGIN = 1482;\n */\n DISABLE_PLATFORM_LOGIN = 1482,\n\n /**\n * @generated from enum value: LOGIN_CONDITION_NOT_MATCHED = 1487;\n */\n LOGIN_CONDITION_NOT_MATCHED = 1487,\n\n /**\n * @generated from enum value: INVALID_GLIFE_ACCOUNT = 1489;\n */\n INVALID_GLIFE_ACCOUNT = 1489,\n\n /**\n * @generated from enum value: GLIFE_COMMON_ERROR = 1490;\n */\n GLIFE_COMMON_ERROR = 1490,\n\n /**\n * @generated from enum value: INVALID_GCASH_ACCOUNT = 1492;\n */\n INVALID_GCASH_ACCOUNT = 1492,\n\n /**\n * @generated from enum value: INVALID_REFRESH_TOKEN = 1502;\n */\n INVALID_REFRESH_TOKEN = 1502,\n\n /**\n * @generated from enum value: INVALID_AUTH_CODE = 1503;\n */\n INVALID_AUTH_CODE = 1503,\n\n /**\n * @generated from enum value: NOT_GLIFE_REGISTERED_USER = 1491;\n */\n NOT_GLIFE_REGISTERED_USER = 1491,\n\n /**\n * @generated from enum value: PLAYER_NEED_BANK_INFORMATION = 2239;\n */\n PLAYER_NEED_BANK_INFORMATION = 2239,\n\n /**\n * @generated from enum value: PLAYER_NEED_PHONE_NUMBER = 2240;\n */\n PLAYER_NEED_PHONE_NUMBER = 2240,\n\n /**\n * @generated from enum value: PLAYER_NEED_PHONENUMBER_AND_BANK = 2241;\n */\n PLAYER_NEED_PHONENUMBER_AND_BANK = 2241,\n\n /**\n * @generated from enum value: CANT_FIND_DEPOSIT_RECORD = 2242;\n */\n CANT_FIND_DEPOSIT_RECORD = 2242,\n\n /**\n * @generated from enum value: TOPUP_RECORD_HAS_BEEN_USED = 2243;\n */\n TOPUP_RECORD_HAS_BEEN_USED = 2243,\n\n /**\n * @generated from enum value: NO_FULFILL_DEPOSIT_CONDITION = 2244;\n */\n NO_FULFILL_DEPOSIT_CONDITION = 2244,\n\n /**\n * @generated from enum value: NO_FULFILL_BETTING_CONDITION = 2245;\n */\n NO_FULFILL_BETTING_CONDITION = 2245,\n\n /**\n * @generated from enum value: CLAIM_TIMED_REWARD_NOT_ALLOWED = 2319;\n */\n CLAIM_TIMED_REWARD_NOT_ALLOWED = 2319,\n\n /**\n * @generated from enum value: PLAYER_NEED_EMAIL = 2246;\n */\n PLAYER_NEED_EMAIL = 2246,\n\n /**\n * @generated from enum value: INVALID_2_STEPS_VERIFICATION = 1485;\n */\n INVALID_2_STEPS_VERIFICATION = 1485,\n\n /**\n * @generated from enum value: INVALID_2_STEPS_VERIFICATION_CODE = 1486;\n */\n INVALID_2_STEPS_VERIFICATION_CODE = 1486,\n\n /**\n * @generated from enum value: USER_INFO_INCOMPLETE = 1488;\n */\n USER_INFO_INCOMPLETE = 1488,\n\n /**\n * @generated from enum value: GCASH_ACCOUNT_GCASHLIMIT = 1495;\n */\n GCASH_ACCOUNT_GCASHLIMIT = 1495,\n\n /**\n * @generated from enum value: INVALID_MAYA_APP_ACCOUNT = 1496;\n */\n INVALID_MAYA_APP_ACCOUNT = 1496,\n\n /**\n * @generated from enum value: INVALID_MAYA_APP_PROFILE = 1497;\n */\n INVALID_MAYA_APP_PROFILE = 1497,\n\n /**\n * @generated from enum value: FAILED_TO_REFRESH_MAYA_APP_TOKEN = 1498;\n */\n FAILED_TO_REFRESH_MAYA_APP_TOKEN = 1498,\n\n /**\n * @generated from enum value: PLAYER_BELOW_21_AGE = 1499;\n */\n PLAYER_BELOW_21_AGE = 1499,\n\n /**\n * @generated from enum value: REGENERATING_MINUTE_SUMMARY = 2183;\n */\n REGENERATING_MINUTE_SUMMARY = 2183,\n\n /**\n * @generated from enum value: REGENERATING_HOUR_SUMMARY = 2182;\n */\n REGENERATING_HOUR_SUMMARY = 2182,\n\n /**\n * @generated from enum value: FUNCTION_IS_DISABLED = 1501;\n */\n FUNCTION_IS_DISABLED = 1501,\n\n /**\n * @generated from enum value: INVALID_ACCOUNT = 1504;\n */\n INVALID_ACCOUNT = 1504,\n\n /**\n * @generated from enum value: PARTNER_NOT_ENOUGH_CREDIT = 1505;\n */\n PARTNER_NOT_ENOUGH_CREDIT = 1505,\n\n /**\n * @generated from enum value: MAYA_ACCOUNT_MAYALIMIT = 1506;\n */\n MAYA_ACCOUNT_MAYALIMIT = 1506,\n\n /**\n * @generated from enum value: INVALID_OTP = 1509;\n */\n INVALID_OTP = 1509,\n\n /**\n * @generated from enum value: MAX_OTP_ATTEMTPS = 1510;\n */\n MAX_OTP_ATTEMTPS = 1510,\n\n /**\n * @generated from enum value: INVALID_OLD_EMAIL = 1511;\n */\n INVALID_OLD_EMAIL = 1511,\n\n /**\n * @generated from enum value: PLAYER_HIT_MAX_NO_PASSWORD_LOGIN_ATTEMPTS = 1512;\n */\n PLAYER_HIT_MAX_NO_PASSWORD_LOGIN_ATTEMPTS = 1512,\n\n /**\n * @generated from enum value: BLACKLIST_PHONE_NUMBER = 1513;\n */\n BLACKLIST_PHONE_NUMBER = 1513,\n\n /**\n * @generated from enum value: PLAYER_NOT_FOUND = 1514;\n */\n PLAYER_NOT_FOUND = 1514,\n\n /**\n * @generated from enum value: PLAYER_FORBIDDEN_FROM_LOGIN = 1515;\n */\n PLAYER_FORBIDDEN_FROM_LOGIN = 1515,\n\n /**\n * @generated from enum value: PLAYER_NOT_FOUND_OR_INVALID_PASSWORD = 1516;\n */\n PLAYER_NOT_FOUND_OR_INVALID_PASSWORD = 1516,\n\n /**\n * @generated from enum value: RATE_LIMIT_EXCEEDED = 1517;\n */\n RATE_LIMIT_EXCEEDED = 1517,\n\n /**\n * @generated from enum value: INVALID_PASSWORD = 1518;\n */\n INVALID_PASSWORD = 1518,\n\n /**\n * @generated from enum value: INVALID_PAYMENT_SERVICE_GATEWAY = 1507;\n */\n INVALID_PAYMENT_SERVICE_GATEWAY = 1507,\n\n /**\n * @generated from enum value: CONSUMPTION_ORDERNO_ERROR = 1508;\n */\n CONSUMPTION_ORDERNO_ERROR = 1508,\n\n /**\n * @generated from enum value: API_REQUEST_FREQUENTLY = 1555;\n */\n API_REQUEST_FREQUENTLY = 1555,\n\n /**\n * @generated from enum value: INVALID_AMOUNT = 1701;\n */\n INVALID_AMOUNT = 1701,\n\n /**\n * @generated from enum value: GLIFE_DEPOSIT_MAINTENANCE = 1702;\n */\n GLIFE_DEPOSIT_MAINTENANCE = 1702,\n\n /**\n * @generated from enum value: GLIFE_WITHDRAW_MAINTENANCE = 1703;\n */\n GLIFE_WITHDRAW_MAINTENANCE = 1703,\n\n /**\n * @generated from enum value: GLIFE_BANKTYPE_MAINTENANCE = 1704;\n */\n GLIFE_BANKTYPE_MAINTENANCE = 1704,\n\n /**\n * @generated from enum value: INVALID_CONTENT_PROVIDER = 1705;\n */\n INVALID_CONTENT_PROVIDER = 1705,\n\n /**\n * @generated from enum value: OPERATION_FAIL = 1706;\n */\n OPERATION_FAIL = 1706,\n\n /**\n * @generated from enum value: INVALID_DATA = 1707;\n */\n INVALID_DATA = 1707,\n\n /**\n * @generated from enum value: DOCUMENT_NOT_FOUND = 1708;\n */\n DOCUMENT_NOT_FOUND = 1708,\n\n /**\n * @generated from enum value: CONSUMPTION_ORDERNO_NOT_FOUND = 1709;\n */\n CONSUMPTION_ORDERNO_NOT_FOUND = 1709,\n\n /**\n * @generated from enum value: CONSUMPTION_UPDATE_NOT_SUCCESS = 1710;\n */\n CONSUMPTION_UPDATE_NOT_SUCCESS = 1710,\n\n /**\n * @generated from enum value: INVALID_UPDATE_CONSUMPTION_PARAM = 1711;\n */\n INVALID_UPDATE_CONSUMPTION_PARAM = 1711,\n\n /**\n * @generated from enum value: EXTERNAL_API_TIMEOUT = 1712;\n */\n EXTERNAL_API_TIMEOUT = 1712,\n\n /**\n * @generated from enum value: PARTNER_IS_FORBIDDEN = 1713;\n */\n PARTNER_IS_FORBIDDEN = 1713,\n\n /**\n * @generated from enum value: PARTNER_NO_PERMISSION = 1714;\n */\n PARTNER_NO_PERMISSION = 1714,\n\n /**\n * @generated from enum value: PROVIDER_GROUP_IS_OFF = 1715;\n */\n PROVIDER_GROUP_IS_OFF = 1715,\n\n /**\n * @generated from enum value: STATUS_FAILED = 1718;\n */\n STATUS_FAILED = 1718,\n\n /**\n * @generated from enum value: EXTERNAL_API_ERROR = 1481;\n */\n EXTERNAL_API_ERROR = 1481,\n\n /**\n * @generated from enum value: USER_NO_TRANSFER_RECORD = 1716;\n */\n USER_NO_TRANSFER_RECORD = 1716,\n\n /**\n * @generated from enum value: GAME_NOT_AVAILABLE = 1717;\n */\n GAME_NOT_AVAILABLE = 1717,\n\n /**\n * @generated from enum value: HEADER_SIGN_ERROR = 1600;\n */\n HEADER_SIGN_ERROR = 1600,\n\n /**\n * @generated from enum value: UNKNOWN_APIKEY = 1601;\n */\n UNKNOWN_APIKEY = 1601,\n\n /**\n * @generated from enum value: REQUEST_EXPIRED = 1603;\n */\n REQUEST_EXPIRED = 1603,\n\n /**\n * @generated from enum value: INCORRECT_SIGNATURE = 1604;\n */\n INCORRECT_SIGNATURE = 1604,\n\n /**\n * @generated from enum value: AUDIT_APPROVAL_FAILED = 1605;\n */\n AUDIT_APPROVAL_FAILED = 1605,\n\n /**\n * @generated from enum value: PLAYER_PAGCOR_BLACKLISTED = 1606;\n */\n PLAYER_PAGCOR_BLACKLISTED = 1606,\n\n /**\n * @generated from enum value: NO_MERGE_ACCOUNT_FOUND = 1800;\n */\n NO_MERGE_ACCOUNT_FOUND = 1800,\n\n /**\n * @generated from enum value: MERGE_PLAYER_INVALID_TARGET_PLAYER = 1801;\n */\n MERGE_PLAYER_INVALID_TARGET_PLAYER = 1801,\n\n /**\n * @generated from enum value: MERGING_IS_PROCESSING = 1802;\n */\n MERGING_IS_PROCESSING = 1802,\n\n /**\n * @generated from enum value: MERGE_ACCOUNT_ATTEMPT_LIMIT_REACHED = 1803;\n */\n MERGE_ACCOUNT_ATTEMPT_LIMIT_REACHED = 1803,\n\n /**\n * @generated from enum value: INVOLVED_PLAYER_HAS_PENDING_PROPOSAL = 1804;\n */\n INVOLVED_PLAYER_HAS_PENDING_PROPOSAL = 1804,\n\n /**\n * @generated from enum value: PROCESS_MERGE_ACCOUNT_BEFORE = 1805;\n */\n PROCESS_MERGE_ACCOUNT_BEFORE = 1805,\n\n /**\n * @generated from enum value: INVALID_PLAYER_CREDIBILITY_REMARK = 522;\n */\n INVALID_PLAYER_CREDIBILITY_REMARK = 522,\n\n /**\n * @generated from enum value: TRANSFER_GIFT_REWARD_NEED_FRIEND_LOGIN = 1900;\n */\n TRANSFER_GIFT_REWARD_NEED_FRIEND_LOGIN = 1900,\n\n /**\n * @generated from enum value: HIT_MAX_RECEIVE_REWARDS = 1901;\n */\n HIT_MAX_RECEIVE_REWARDS = 1901,\n\n /**\n * @generated from enum value: RECEIVER_HIT_MAX_REWARDS = 1902;\n */\n RECEIVER_HIT_MAX_REWARDS = 1902,\n\n /**\n * @generated from enum value: HIT_MAX_SHARE_LIMIT_DAILY = 1903;\n */\n HIT_MAX_SHARE_LIMIT_DAILY = 1903,\n\n /**\n * @generated from enum value: HIT_MAX_SHARE_LIMIT_TOTAL = 1904;\n */\n HIT_MAX_SHARE_LIMIT_TOTAL = 1904,\n\n /**\n * @generated from enum value: CANNOT_SEND_GIFT_TO_SELF = 1905;\n */\n CANNOT_SEND_GIFT_TO_SELF = 1905,\n\n /**\n * @generated from enum value: INCOMPLETE_KYC = 1906;\n */\n INCOMPLETE_KYC = 1906,\n\n /**\n * @generated from enum value: RECEIVER_INCOMPLETE_KYC = 1907;\n */\n RECEIVER_INCOMPLETE_KYC = 1907,\n\n /**\n * @generated from enum value: EVENT_FINAL_DAY_NO_REWARD_AVAILABLE = 1908;\n */\n EVENT_FINAL_DAY_NO_REWARD_AVAILABLE = 1908,\n\n /**\n * @generated from enum value: CONDITION_NOT_MET = 2000;\n */\n CONDITION_NOT_MET = 2000,\n}\n\n/**\n * Describes the enum common.StatusCode.\n */\nexport const StatusCodeSchema: GenEnum<StatusCode> = /*@__PURE__*/\n enumDesc(file_common_CommonEnums, 0);\n\n/**\n * @generated from enum common.PlayerPhotoIdType\n */\nexport enum PlayerPhotoIdType {\n /**\n * @generated from enum value: PLAYER_PHOTO_ID_TYPE_UNSPECIFIED = 0;\n */\n PLAYER_PHOTO_ID_TYPE_UNSPECIFIED = 0,\n\n /**\n * @generated from enum value: ID_CARD = 1;\n */\n ID_CARD = 1,\n\n /**\n * @generated from enum value: DRIVER_LICENSE = 2;\n */\n DRIVER_LICENSE = 2,\n\n /**\n * @generated from enum value: PASSPORT = 3;\n */\n PASSPORT = 3,\n\n /**\n * @generated from enum value: OTHERS = 4;\n */\n OTHERS = 4,\n}\n\n/**\n * Describes the enum common.PlayerPhotoIdType.\n */\nexport const PlayerPhotoIdTypeSchema: GenEnum<PlayerPhotoIdType> = /*@__PURE__*/\n enumDesc(file_common_CommonEnums, 1);\n\n","// @generated by protoc-gen-es v2.10.2 with parameter \"target=ts\"\n// @generated from file cmsCommon/CmsCommon.proto (package cmsCommon, syntax proto3)\n/* eslint-disable */\n\nimport type { GenEnum, GenFile, GenMessage } from \"@bufbuild/protobuf/codegenv2\";\nimport { enumDesc, fileDesc, messageDesc } from \"@bufbuild/protobuf/codegenv2\";\nimport type { GameTagCategory, PlayGameType } from \"../recommendCommon/RecommendCommon_pb\";\nimport { file_recommendCommon_RecommendCommon } from \"../recommendCommon/RecommendCommon_pb\";\nimport type { Message } from \"@bufbuild/protobuf\";\n\n/**\n * Describes the file cmsCommon/CmsCommon.proto.\n */\nexport const file_cmsCommon_CmsCommon: GenFile = /*@__PURE__*/\n fileDesc(\"ChljbXNDb21tb24vQ21zQ29tbW9uLnByb3RvEgljbXNDb21tb24i1wcKBEdhbWUSEwoLZ2FtZV9vYmpfaWQYASABKAkSEQoJZ2FtZV9uYW1lGAIgASgJEg8KB2dhbWVfaWQYAyABKAkSEgoKZ2FtZV9pbWFnZRgEIAEoCRITCgtwcm92aWRlcl9pZBgFIAEoCRIVCg1wcm92aWRlcl9uYW1lGAYgASgJEhYKDmJpZ19nYW1lX2ltYWdlGAcgASgJEg8KB3NvcnRpbmcYCCABKAUSFAoMaXNfY3VzdG9taXNlGAkgASgIEiEKBmFjdGlvbhgKIAEoDjIRLmNtc0NvbW1vbi5BY3Rpb24SFAoMcmVkaXJlY3RfdXJsGAsgASgJEhgKEHByaW1hcnlfY2F0ZWdvcnkYDCABKAkSGgoSc2Vjb25kYXJ5X2NhdGVnb3J5GA0gASgJEhQKDHN1Yl9jYXRlZ29yeRgOIAEoCRI1Cg5wbGF5X2dhbWVfdHlwZRgPIAEoDjIdLnJlY29tbWVuZENvbW1vbi5QbGF5R2FtZVR5cGUSDgoGc3RhdHVzGBAgASgFEhUKDXBsYXRmb3JtX2xpc3QYESADKAkSGwoOaXNfYmFja3VwX2dhbWUYEiABKAlIAIgBARISCgp0YWJsZV9jb2RlGBMgASgJEkAKEWdhbWVfdGFnX2NhdGVnb3J5GBQgASgOMiAucmVjb21tZW5kQ29tbW9uLkdhbWVUYWdDYXRlZ29yeUgBiAEBEhcKCnN0YXJ0X2RhdGUYFSABKAlIAogBARIVCghlbmRfZGF0ZRgWIAEoCUgDiAEBEhgKC2Rlc2NyaXB0aW9uGBcgASgJSASIAQESIQoUcHJvdmlkZXJfZGVzY3JpcHRpb24YGCABKAlIBYgBARIgChNjdXN0b21pc2VfZ2FtZV9uYW1lGBkgASgJSAaIAQESIQoUY3VzdG9taXNlX2dhbWVfaW1hZ2UYGiABKAlIB4gBARIlChhjdXN0b21pc2VfYmlnX2dhbWVfaW1hZ2UYGyABKAlICIgBARIaCg11c2VfYmlnX2ltYWdlGBwgASgISAmIAQFCEQoPX2lzX2JhY2t1cF9nYW1lQhQKEl9nYW1lX3RhZ19jYXRlZ29yeUINCgtfc3RhcnRfZGF0ZUILCglfZW5kX2RhdGVCDgoMX2Rlc2NyaXB0aW9uQhcKFV9wcm92aWRlcl9kZXNjcmlwdGlvbkIWChRfY3VzdG9taXNlX2dhbWVfbmFtZUIXChVfY3VzdG9taXNlX2dhbWVfaW1hZ2VCGwoZX2N1c3RvbWlzZV9iaWdfZ2FtZV9pbWFnZUIQCg5fdXNlX2JpZ19pbWFnZSJtCgtDYXJvdXNlbFJlcRIlCgR0eXBlGAEgASgOMhcuY21zQ29tbW9uLkNhcm91c2VsVHlwZRIQCghmaWxlX3VybBgCIAEoCRIRCgltaW1lX3R5cGUYAyABKAkSEgoKdmlkZW9fZGF0YRgEIAEoDCI8ChFDb21wb25lbnROYW1lc1JlcRIWCg5jb21wb25lbnRfbmFtZRgBIAEoCRIPCgdzZWN0aW9uGAIgASgJIowFCgdBcnRpY2xlEhYKDmFydGljbGVfb2JqX2lkGAEgASgJEhEKCXBsYXllcl9pZBgCIAEoCRIRCglnYW1lX25hbWUYAyABKAkSDgoGYW1vdW50GAQgASgFEgwKBGRhdGUYBSABKAkSFAoMcGxheWVyX2xldmVsGAYgASgJEigKCGNhcm91c2VsGAcgAygLMhYuY21zQ29tbW9uLkNhcm91c2VsUmVxEhMKC2Rlc2NyaXB0aW9uGAggASgJEg0KBXRpdGxlGAkgASgJEiEKBmFjdGlvbhgKIAEoDjIRLmNtc0NvbW1vbi5BY3Rpb24SFAoMcmVkaXJlY3RfdXJsGAsgASgJEhEKCWlzX2FjdGl2ZRgMIAEoCBIVCg1hY3Rpdml0eV90YWdzGA0gASgJEhAKCG9yZGVyX25vGA4gASgFEhIKCmJldF9hbW91bnQYDyABKAUSGQoRbG90dGVyeV9pbWFnZV91cmwYECABKAkSEwoLYnV0dG9uX25hbWUYESABKAkSFgoObGF1bmNoX2dhbWVfaWQYEiABKAkSGAoQbGF1bmNoX2dhbWVfbmFtZRgTIAEoCRIaChJyZWNlbnRfZmlyc3RfaW1hZ2UYFCABKAkSHwoXdGVuX21pbGxpb25fZmlyc3RfaW1hZ2UYFSABKAkSNQoPY29tcG9uZW50X25hbWVzGBYgAygLMhwuY21zQ29tbW9uLkNvbXBvbmVudE5hbWVzUmVxEhcKCmNyZWF0ZWRfYnkYFyABKAlIAIgBARIXCgp1cGRhdGVkX2J5GBggASgJSAGIAQESEgoKbmV3X2Ftb3VudBgZIAEoCUINCgtfY3JlYXRlZF9ieUINCgtfdXBkYXRlZF9ieSLDAgoPSmFja3BvdFByb3ZpZGVyEgwKBG5hbWUYASABKAkSEQoJaW1hZ2VfdXJsGAIgASgJEg4KBmFtb3VudBgDIAEoBRIfCgVjeWNsZRgEIAEoDjIQLmNtc0NvbW1vbi5DeWNsZRIUCgxwbGF5ZXJfY291bnQYBSABKAUSDgoGdmlld2VyGAYgASgFEhMKC2J1dHRvbl9uYW1lGAcgASgJEiEKBmFjdGlvbhgIIAEoDjIRLmNtc0NvbW1vbi5BY3Rpb24SFAoMcmVkaXJlY3RfdXJsGAkgASgJEhYKDmxhdW5jaF9nYW1lX2lkGAogASgJEhgKEGxhdW5jaF9nYW1lX25hbWUYCyABKAkSJAoIYXJ0aWNsZXMYDCADKAsyEi5jbXNDb21tb24uQXJ0aWNsZRISCgpuZXdfYW1vdW50GA0gASgJKiIKBlN0YXR1cxIMCghJTkFDVElWRRAAEgoKBkFDVElWRRABKlYKC0dyb3VwQUJUZXN0Eh0KGUdST1VQX0FCX1RFU1RfVU5TUEVDSUZJRUQQABITCg9HUk9VUF9BQl9URVNUX0EQARITCg9HUk9VUF9BQl9URVNUX0IQAio9CgVDeWNsZRIVChFDWUNMRV9VTlNQRUNJRklFRBAAEggKBERBWVMQARIICgRXRUVLEAISCQoFTU9OVEgQAypgCglQb3B1cFR5cGUSGgoWUE9QVVBfVFlQRV9VTlNQRUNJRklFRBAAEhUKEVBPUFVQX1RZUEVfTk9STUFMEAESIAocUE9QVVBfVFlQRV9XSVRIX1JFV0FSREFNT1VOVBACKqwBChNTb2NpYWxNZWRpYVBsYXRmb3JtEhwKGFNPQ0lBTF9NRURJQV9VTlNQRUNJRklFRBAAEgwKCEZBQ0VCT09LEAESDQoJSU5TVEFHUkFNEAISCwoHWU9VVFVCRRADEgkKBVZJQkVSEAQSDAoIVEVMRUdSQU0QBRILCgdUV0lUVEVSEAYSDAoIV0hBVFNBUFAQBxIKCgZUSUtUT0sQCBINCglDT1BZX0xJTksQCSqaAQoJRmxvb3JUeXBlEhUKEUZMT09SX1VOU1BFQ0lGSUVEEAASCQoFRkxPT1IQARIICgRMSVNUEAISEgoOVEhSRUVfSU5fQV9ST1cQAxIRCg1GT1VSX0lOX0FfUk9XEAQSFgoSVFdPX0JJR19GT1VSX1NNQUxMEAUSFgoSRk9VUl9TTUFMTF9UV09fQklHEAYSCgoGU1dJUEVSEAcqogEKBkFjdGlvbhIWChJBQ1RJT05fVU5TUEVDSUZJRUQQABIPCgtMQVVOQ0hfR0FNRRABEgwKCFJFRElSRUNUEAISEQoNT1BFTl9ORVdfUEFHRRADEhAKDEFDVElWSVRZX1VSTBAEEg0KCVJPVVRFX1VSTBAFEhUKEUxBVU5DSF9MVUNLWV9QTFVTEAYSFgoSTEFVTkNIX0lOU1RSVUNUSU9OEAcqPgoMQ2Fyb3VzZWxUeXBlEhgKFENBUk9VU0VMX1VOU1BFQ0lGSUVEEAASCQoFSU1BR0UQARIJCgVWSURFTxACKkQKCU1lZGlhVHlwZRIVChFNRURJQV9VTlNQRUNJRklFRBAAEg8KC01FRElBX0lNQUdFEAESDwoLTUVESUFfVklERU8QAmIGcHJvdG8z\", [file_recommendCommon_RecommendCommon]);\n\n/**\n * @generated from message cmsCommon.Game\n */\nexport type Game = Message<\"cmsCommon.Game\"> & {\n /**\n * @generated from field: string game_obj_id = 1;\n */\n gameObjId: string;\n\n /**\n * @generated from field: string game_name = 2;\n */\n gameName: string;\n\n /**\n * @generated from field: string game_id = 3;\n */\n gameId: string;\n\n /**\n * @generated from field: string game_image = 4;\n */\n gameImage: string;\n\n /**\n * @generated from field: string provider_id = 5;\n */\n providerId: string;\n\n /**\n * @generated from field: string provider_name = 6;\n */\n providerName: string;\n\n /**\n * @generated from field: string big_game_image = 7;\n */\n bigGameImage: string;\n\n /**\n * @generated from field: int32 sorting = 8;\n */\n sorting: number;\n\n /**\n * @generated from field: bool is_customise = 9;\n */\n isCustomise: boolean;\n\n /**\n * @generated from field: cmsCommon.Action action = 10;\n */\n action: Action;\n\n /**\n * @generated from field: string redirect_url = 11;\n */\n redirectUrl: string;\n\n /**\n * @generated from field: string primary_category = 12;\n */\n primaryCategory: string;\n\n /**\n * @generated from field: string secondary_category = 13;\n */\n secondaryCategory: string;\n\n /**\n * @generated from field: string sub_category = 14;\n */\n subCategory: string;\n\n /**\n * @generated from field: recommendCommon.PlayGameType play_game_type = 15;\n */\n playGameType: PlayGameType;\n\n /**\n * @generated from field: int32 status = 16;\n */\n status: number;\n\n /**\n * @generated from field: repeated string platform_list = 17;\n */\n platformList: string[];\n\n /**\n * @generated from field: optional string is_backup_game = 18;\n */\n isBackupGame?: string;\n\n /**\n * @generated from field: string table_code = 19;\n */\n tableCode: string;\n\n /**\n * @generated from field: optional recommendCommon.GameTagCategory game_tag_category = 20;\n */\n gameTagCategory?: GameTagCategory;\n\n /**\n * @generated from field: optional string start_date = 21;\n */\n startDate?: string;\n\n /**\n * @generated from field: optional string end_date = 22;\n */\n endDate?: string;\n\n /**\n * @generated from field: optional string description = 23;\n */\n description?: string;\n\n /**\n * @generated from field: optional string provider_description = 24;\n */\n providerDescription?: string;\n\n /**\n * @generated from field: optional string customise_game_name = 25;\n */\n customiseGameName?: string;\n\n /**\n * @generated from field: optional string customise_game_image = 26;\n */\n customiseGameImage?: string;\n\n /**\n * @generated from field: optional string customise_big_game_image = 27;\n */\n customiseBigGameImage?: string;\n\n /**\n * @generated from field: optional bool use_big_image = 28;\n */\n useBigImage?: boolean;\n};\n\n/**\n * Describes the message cmsCommon.Game.\n * Use `create(GameSchema)` to create a new message.\n */\nexport const GameSchema: GenMessage<Game> = /*@__PURE__*/\n messageDesc(file_cmsCommon_CmsCommon, 0);\n\n/**\n * @generated from message cmsCommon.CarouselReq\n */\nexport type CarouselReq = Message<\"cmsCommon.CarouselReq\"> & {\n /**\n * @generated from field: cmsCommon.CarouselType type = 1;\n */\n type: CarouselType;\n\n /**\n * @generated from field: string file_url = 2;\n */\n fileUrl: string;\n\n /**\n * @generated from field: string mime_type = 3;\n */\n mimeType: string;\n\n /**\n * @generated from field: bytes video_data = 4;\n */\n videoData: Uint8Array;\n};\n\n/**\n * Describes the message cmsCommon.CarouselReq.\n * Use `create(CarouselReqSchema)` to create a new message.\n */\nexport const CarouselReqSchema: GenMessage<CarouselReq> = /*@__PURE__*/\n messageDesc(file_cmsCommon_CmsCommon, 1);\n\n/**\n * @generated from message cmsCommon.ComponentNamesReq\n */\nexport type ComponentNamesReq = Message<\"cmsCommon.ComponentNamesReq\"> & {\n /**\n * @generated from field: string component_name = 1;\n */\n componentName: string;\n\n /**\n * @generated from field: string section = 2;\n */\n section: string;\n};\n\n/**\n * Describes the message cmsCommon.ComponentNamesReq.\n * Use `create(ComponentNamesReqSchema)` to create a new message.\n */\nexport const ComponentNamesReqSchema: GenMessage<ComponentNamesReq> = /*@__PURE__*/\n messageDesc(file_cmsCommon_CmsCommon, 2);\n\n/**\n * @generated from message cmsCommon.Article\n */\nexport type Article = Message<\"cmsCommon.Article\"> & {\n /**\n * @generated from field: string article_obj_id = 1;\n */\n articleObjId: string;\n\n /**\n * @generated from field: string player_id = 2;\n */\n playerId: string;\n\n /**\n * @generated from field: string game_name = 3;\n */\n gameName: string;\n\n /**\n * @generated from field: int32 amount = 4;\n */\n amount: number;\n\n /**\n * @generated from field: string date = 5;\n */\n date: string;\n\n /**\n * @generated from field: string player_level = 6;\n */\n playerLevel: string;\n\n /**\n * @generated from field: repeated cmsCommon.CarouselReq carousel = 7;\n */\n carousel: CarouselReq[];\n\n /**\n * @generated from field: string description = 8;\n */\n description: string;\n\n /**\n * @generated from field: string title = 9;\n */\n title: string;\n\n /**\n * @generated from field: cmsCommon.Action action = 10;\n */\n action: Action;\n\n /**\n * @generated from field: string redirect_url = 11;\n */\n redirectUrl: string;\n\n /**\n * @generated from field: bool is_active = 12;\n */\n isActive: boolean;\n\n /**\n * @generated from field: string activity_tags = 13;\n */\n activityTags: string;\n\n /**\n * @generated from field: int32 order_no = 14;\n */\n orderNo: number;\n\n /**\n * @generated from field: int32 bet_amount = 15;\n */\n betAmount: number;\n\n /**\n * @generated from field: string lottery_image_url = 16;\n */\n lotteryImageUrl: string;\n\n /**\n * @generated from field: string button_name = 17;\n */\n buttonName: string;\n\n /**\n * @generated from field: string launch_game_id = 18;\n */\n launchGameId: string;\n\n /**\n * @generated from field: string launch_game_name = 19;\n */\n launchGameName: string;\n\n /**\n * @generated from field: string recent_first_image = 20;\n */\n recentFirstImage: string;\n\n /**\n * @generated from field: string ten_million_first_image = 21;\n */\n tenMillionFirstImage: string;\n\n /**\n * @generated from field: repeated cmsCommon.ComponentNamesReq component_names = 22;\n */\n componentNames: ComponentNamesReq[];\n\n /**\n * @generated from field: optional string created_by = 23;\n */\n createdBy?: string;\n\n /**\n * @generated from field: optional string updated_by = 24;\n */\n updatedBy?: string;\n\n /**\n * @generated from field: string new_amount = 25;\n */\n newAmount: string;\n};\n\n/**\n * Describes the message cmsCommon.Article.\n * Use `create(ArticleSchema)` to create a new message.\n */\nexport const ArticleSchema: GenMessage<Article> = /*@__PURE__*/\n messageDesc(file_cmsCommon_CmsCommon, 3);\n\n/**\n * @generated from message cmsCommon.JackpotProvider\n */\nexport type JackpotProvider = Message<\"cmsCommon.JackpotProvider\"> & {\n /**\n * @generated from field: string name = 1;\n */\n name: string;\n\n /**\n * @generated from field: string image_url = 2;\n */\n imageUrl: string;\n\n /**\n * @generated from field: int32 amount = 3;\n */\n amount: number;\n\n /**\n * @generated from field: cmsCommon.Cycle cycle = 4;\n */\n cycle: Cycle;\n\n /**\n * @generated from field: int32 player_count = 5;\n */\n playerCount: number;\n\n /**\n * @generated from field: int32 viewer = 6;\n */\n viewer: number;\n\n /**\n * @generated from field: string button_name = 7;\n */\n buttonName: string;\n\n /**\n * @generated from field: cmsCommon.Action action = 8;\n */\n action: Action;\n\n /**\n * @generated from field: string redirect_url = 9;\n */\n redirectUrl: string;\n\n /**\n * @generated from field: string launch_game_id = 10;\n */\n launchGameId: string;\n\n /**\n * @generated from field: string launch_game_name = 11;\n */\n launchGameName: string;\n\n /**\n * @generated from field: repeated cmsCommon.Article articles = 12;\n */\n articles: Article[];\n\n /**\n * @generated from field: string new_amount = 13;\n */\n newAmount: string;\n};\n\n/**\n * Describes the message cmsCommon.JackpotProvider.\n * Use `create(JackpotProviderSchema)` to create a new message.\n */\nexport const JackpotProviderSchema: GenMessage<JackpotProvider> = /*@__PURE__*/\n messageDesc(file_cmsCommon_CmsCommon, 4);\n\n/**\n * @generated from enum cmsCommon.Status\n */\nexport enum Status {\n /**\n * @generated from enum value: INACTIVE = 0;\n */\n INACTIVE = 0,\n\n /**\n * @generated from enum value: ACTIVE = 1;\n */\n ACTIVE = 1,\n}\n\n/**\n * Describes the enum cmsCommon.Status.\n */\nexport const StatusSchema: GenEnum<Status> = /*@__PURE__*/\n enumDesc(file_cmsCommon_CmsCommon, 0);\n\n/**\n * @generated from enum cmsCommon.GroupABTest\n */\nexport enum GroupABTest {\n /**\n * @generated from enum value: GROUP_AB_TEST_UNSPECIFIED = 0;\n */\n GROUP_AB_TEST_UNSPECIFIED = 0,\n\n /**\n * @generated from enum value: GROUP_AB_TEST_A = 1;\n */\n GROUP_AB_TEST_A = 1,\n\n /**\n * @generated from enum value: GROUP_AB_TEST_B = 2;\n */\n GROUP_AB_TEST_B = 2,\n}\n\n/**\n * Describes the enum cmsCommon.GroupABTest.\n */\nexport const GroupABTestSchema: GenEnum<GroupABTest> = /*@__PURE__*/\n enumDesc(file_cmsCommon_CmsCommon, 1);\n\n/**\n * @generated from enum cmsCommon.Cycle\n */\nexport enum Cycle {\n /**\n * @generated from enum value: CYCLE_UNSPECIFIED = 0;\n */\n CYCLE_UNSPECIFIED = 0,\n\n /**\n * @generated from enum value: DAYS = 1;\n */\n DAYS = 1,\n\n /**\n * @generated from enum value: WEEK = 2;\n */\n WEEK = 2,\n\n /**\n * @generated from enum value: MONTH = 3;\n */\n MONTH = 3,\n}\n\n/**\n * Describes the enum cmsCommon.Cycle.\n */\nexport const CycleSchema: GenEnum<Cycle> = /*@__PURE__*/\n enumDesc(file_cmsCommon_CmsCommon, 2);\n\n/**\n * @generated from enum cmsCommon.PopupType\n */\nexport enum PopupType {\n /**\n * @generated from enum value: POPUP_TYPE_UNSPECIFIED = 0;\n */\n UNSPECIFIED = 0,\n\n /**\n * @generated from enum value: POPUP_TYPE_NORMAL = 1;\n */\n NORMAL = 1,\n\n /**\n * @generated from enum value: POPUP_TYPE_WITH_REWARDAMOUNT = 2;\n */\n WITH_REWARDAMOUNT = 2,\n}\n\n/**\n * Describes the enum cmsCommon.PopupType.\n */\nexport const PopupTypeSchema: GenEnum<PopupType> = /*@__PURE__*/\n enumDesc(file_cmsCommon_CmsCommon, 3);\n\n/**\n * @generated from enum cmsCommon.SocialMediaPlatform\n */\nexport enum SocialMediaPlatform {\n /**\n * @generated from enum value: SOCIAL_MEDIA_UNSPECIFIED = 0;\n */\n SOCIAL_MEDIA_UNSPECIFIED = 0,\n\n /**\n * @generated from enum value: FACEBOOK = 1;\n */\n FACEBOOK = 1,\n\n /**\n * @generated from enum value: INSTAGRAM = 2;\n */\n INSTAGRAM = 2,\n\n /**\n * @generated from enum value: YOUTUBE = 3;\n */\n YOUTUBE = 3,\n\n /**\n * @generated from enum value: VIBER = 4;\n */\n VIBER = 4,\n\n /**\n * @generated from enum value: TELEGRAM = 5;\n */\n TELEGRAM = 5,\n\n /**\n * @generated from enum value: TWITTER = 6;\n */\n TWITTER = 6,\n\n /**\n * @generated from enum value: WHATSAPP = 7;\n */\n WHATSAPP = 7,\n\n /**\n * @generated from enum value: TIKTOK = 8;\n */\n TIKTOK = 8,\n\n /**\n * @generated from enum value: COPY_LINK = 9;\n */\n COPY_LINK = 9,\n}\n\n/**\n * Describes the enum cmsCommon.SocialMediaPlatform.\n */\nexport const SocialMediaPlatformSchema: GenEnum<SocialMediaPlatform> = /*@__PURE__*/\n enumDesc(file_cmsCommon_CmsCommon, 4);\n\n/**\n * @generated from enum cmsCommon.FloorType\n */\nexport enum FloorType {\n /**\n * @generated from enum value: FLOOR_UNSPECIFIED = 0;\n */\n FLOOR_UNSPECIFIED = 0,\n\n /**\n * @generated from enum value: FLOOR = 1;\n */\n FLOOR = 1,\n\n /**\n * @generated from enum value: LIST = 2;\n */\n LIST = 2,\n\n /**\n * @generated from enum value: THREE_IN_A_ROW = 3;\n */\n THREE_IN_A_ROW = 3,\n\n /**\n * @generated from enum value: FOUR_IN_A_ROW = 4;\n */\n FOUR_IN_A_ROW = 4,\n\n /**\n * @generated from enum value: TWO_BIG_FOUR_SMALL = 5;\n */\n TWO_BIG_FOUR_SMALL = 5,\n\n /**\n * @generated from enum value: FOUR_SMALL_TWO_BIG = 6;\n */\n FOUR_SMALL_TWO_BIG = 6,\n\n /**\n * @generated from enum value: SWIPER = 7;\n */\n SWIPER = 7,\n}\n\n/**\n * Describes the enum cmsCommon.FloorType.\n */\nexport const FloorTypeSchema: GenEnum<FloorType> = /*@__PURE__*/\n enumDesc(file_cmsCommon_CmsCommon, 5);\n\n/**\n * @generated from enum cmsCommon.Action\n */\nexport enum Action {\n /**\n * @generated from enum value: ACTION_UNSPECIFIED = 0;\n */\n ACTION_UNSPECIFIED = 0,\n\n /**\n * @generated from enum value: LAUNCH_GAME = 1;\n */\n LAUNCH_GAME = 1,\n\n /**\n * @generated from enum value: REDIRECT = 2;\n */\n REDIRECT = 2,\n\n /**\n * @generated from enum value: OPEN_NEW_PAGE = 3;\n */\n OPEN_NEW_PAGE = 3,\n\n /**\n * @generated from enum value: ACTIVITY_URL = 4;\n */\n ACTIVITY_URL = 4,\n\n /**\n * @generated from enum value: ROUTE_URL = 5;\n */\n ROUTE_URL = 5,\n\n /**\n * @generated from enum value: LAUNCH_LUCKY_PLUS = 6;\n */\n LAUNCH_LUCKY_PLUS = 6,\n\n /**\n * @generated from enum value: LAUNCH_INSTRUCTION = 7;\n */\n LAUNCH_INSTRUCTION = 7,\n}\n\n/**\n * Describes the enum cmsCommon.Action.\n */\nexport const ActionSchema: GenEnum<Action> = /*@__PURE__*/\n enumDesc(file_cmsCommon_CmsCommon, 6);\n\n/**\n * @generated from enum cmsCommon.CarouselType\n */\nexport enum CarouselType {\n /**\n * @generated from enum value: CAROUSEL_UNSPECIFIED = 0;\n */\n CAROUSEL_UNSPECIFIED = 0,\n\n /**\n * @generated from enum value: IMAGE = 1;\n */\n IMAGE = 1,\n\n /**\n * @generated from enum value: VIDEO = 2;\n */\n VIDEO = 2,\n}\n\n/**\n * Describes the enum cmsCommon.CarouselType.\n */\nexport const CarouselTypeSchema: GenEnum<CarouselType> = /*@__PURE__*/\n enumDesc(file_cmsCommon_CmsCommon, 7);\n\n/**\n * @generated from enum cmsCommon.MediaType\n */\nexport enum MediaType {\n /**\n * @generated from enum value: MEDIA_UNSPECIFIED = 0;\n */\n MEDIA_UNSPECIFIED = 0,\n\n /**\n * @generated from enum value: MEDIA_IMAGE = 1;\n */\n MEDIA_IMAGE = 1,\n\n /**\n * @generated from enum value: MEDIA_VIDEO = 2;\n */\n MEDIA_VIDEO = 2,\n}\n\n/**\n * Describes the enum cmsCommon.MediaType.\n */\nexport const MediaTypeSchema: GenEnum<MediaType> = /*@__PURE__*/\n enumDesc(file_cmsCommon_CmsCommon, 8);\n\n","// @generated by protoc-gen-es v2.10.2 with parameter \"target=ts\"\n// @generated from file recommendCommon/RecommendCommon.proto (package recommendCommon, syntax proto3)\n/* eslint-disable */\n\nimport type { GenEnum, GenFile } from \"@bufbuild/protobuf/codegenv2\";\nimport { enumDesc, fileDesc } from \"@bufbuild/protobuf/codegenv2\";\n\n/**\n * Describes the file recommendCommon/RecommendCommon.proto.\n */\nexport const file_recommendCommon_RecommendCommon: GenFile = /*@__PURE__*/\n fileDesc(\"CiVyZWNvbW1lbmRDb21tb24vUmVjb21tZW5kQ29tbW9uLnByb3RvEg9yZWNvbW1lbmRDb21tb24qRAoPR2FtZVRhZ0NhdGVnb3J5EhgKFFVOU1BFQ0lGSUVEX0NBVEVHT1JZEAASCAoETUFJThABEg0KCUFMR09SSVRITRACKi8KDFBsYXlHYW1lVHlwZRILCgdERUZBVUxUEAASBgoCUEMQARIKCgZNT0JJTEUQAmIGcHJvdG8z\");\n\n/**\n * @generated from enum recommendCommon.GameTagCategory\n */\nexport enum GameTagCategory {\n /**\n * @generated from enum value: UNSPECIFIED_CATEGORY = 0;\n */\n UNSPECIFIED_CATEGORY = 0,\n\n /**\n * @generated from enum value: MAIN = 1;\n */\n MAIN = 1,\n\n /**\n * @generated from enum value: ALGORITHM = 2;\n */\n ALGORITHM = 2,\n}\n\n/**\n * Describes the enum recommendCommon.GameTagCategory.\n */\nexport const GameTagCategorySchema: GenEnum<GameTagCategory> = /*@__PURE__*/\n enumDesc(file_recommendCommon_RecommendCommon, 0);\n\n/**\n * @generated from enum recommendCommon.PlayGameType\n */\nexport enum PlayGameType {\n /**\n * @generated from enum value: DEFAULT = 0;\n */\n DEFAULT = 0,\n\n /**\n * @generated from enum value: PC = 1;\n */\n PC = 1,\n\n /**\n * @generated from enum value: MOBILE = 2;\n */\n MOBILE = 2,\n}\n\n/**\n * Describes the enum recommendCommon.PlayGameType.\n */\nexport const PlayGameTypeSchema: GenEnum<PlayGameType> = /*@__PURE__*/\n enumDesc(file_recommendCommon_RecommendCommon, 1);\n\n","// @generated by protoc-gen-es v2.10.2 with parameter \"target=ts\"\n// @generated from file auth/PlayerRegisterRequestCode.proto (package auth, syntax proto3)\n/* eslint-disable */\n\nimport type { GenEnum, GenFile, GenMessage } from \"@bufbuild/protobuf/codegenv2\";\nimport { enumDesc, fileDesc, messageDesc } from \"@bufbuild/protobuf/codegenv2\";\nimport type { Message } from \"@bufbuild/protobuf\";\n\n/**\n * Describes the file auth/PlayerRegisterRequestCode.proto.\n */\nexport const file_auth_PlayerRegisterRequestCode: GenFile = /*@__PURE__*/\n fileDesc(\"CiRhdXRoL1BsYXllclJlZ2lzdGVyUmVxdWVzdENvZGUucHJvdG8SBGF1dGgiswEKHFBsYXllclJlZ2lzdGVyUmVxdWVzdENvZGVSZXESDQoFcGhvbmUYASABKAkSEwoLcGxhdGZvcm1faWQYAiABKAkSPgoJY29kZV90eXBlGAMgASgOMisuYXV0aC5QbGF5ZXJSZWdpc3RlclJlcXVlc3RDb2RlUmVxLkNvZGVUeXBlIi8KCENvZGVUeXBlEg8KC1VOU1BFQ0lGSUVEEAASBwoDU01TEAESCQoFVklCRVIQAmIGcHJvdG8z\");\n\n/**\n * @generated from message auth.PlayerRegisterRequestCodeReq\n */\nexport type PlayerRegisterRequestCodeReq = Message<\"auth.PlayerRegisterRequestCodeReq\"> & {\n /**\n * @generated from field: string phone = 1;\n */\n phone: string;\n\n /**\n * @generated from field: string platform_id = 2;\n */\n platformId: string;\n\n /**\n * @generated from field: auth.PlayerRegisterRequestCodeReq.CodeType code_type = 3;\n */\n codeType: PlayerRegisterRequestCodeReq_CodeType;\n};\n\n/**\n * Describes the message auth.PlayerRegisterRequestCodeReq.\n * Use `create(PlayerRegisterRequestCodeReqSchema)` to create a new message.\n */\nexport const PlayerRegisterRequestCodeReqSchema: GenMessage<PlayerRegisterRequestCodeReq> = /*@__PURE__*/\n messageDesc(file_auth_PlayerRegisterRequestCode, 0);\n\n/**\n * @generated from enum auth.PlayerRegisterRequestCodeReq.CodeType\n */\nexport enum PlayerRegisterRequestCodeReq_CodeType {\n /**\n * @generated from enum value: UNSPECIFIED = 0;\n */\n UNSPECIFIED = 0,\n\n /**\n * @generated from enum value: SMS = 1;\n */\n SMS = 1,\n\n /**\n * @generated from enum value: VIBER = 2;\n */\n VIBER = 2,\n}\n\n/**\n * Describes the enum auth.PlayerRegisterRequestCodeReq.CodeType.\n */\nexport const PlayerRegisterRequestCodeReq_CodeTypeSchema: GenEnum<PlayerRegisterRequestCodeReq_CodeType> = /*@__PURE__*/\n enumDesc(file_auth_PlayerRegisterRequestCode, 0, 0);\n\n","// @generated by protoc-gen-es v2.10.2 with parameter \"target=ts\"\n// @generated from file auth/PlayerRegisterWithCode.proto (package auth, syntax proto3)\n/* eslint-disable */\n\nimport type { GenFile, GenMessage } from \"@bufbuild/protobuf/codegenv2\";\nimport { fileDesc, messageDesc } from \"@bufbuild/protobuf/codegenv2\";\nimport type { BaseResponse } from \"../common/Common_pb\";\nimport { file_common_Common } from \"../common/Common_pb\";\nimport type { Message } from \"@bufbuild/protobuf\";\n\n/**\n * Describes the file auth/PlayerRegisterWithCode.proto.\n */\nexport const file_auth_PlayerRegisterWithCode: GenFile = /*@__PURE__*/\n fileDesc(\"CiFhdXRoL1BsYXllclJlZ2lzdGVyV2l0aENvZGUucHJvdG8SBGF1dGgimgEKGVBsYXllclJlZ2lzdGVyV2l0aENvZGVSZXESDQoFcGhvbmUYASABKAkSDAoEY29kZRgCIAEoCRITCgtwbGF0Zm9ybV9pZBgDIAEoCRISCgpzb3VyY2VfdXJsGAQgASgJEhUKDWNsaWVudF9kb21haW4YBSABKAkSDAoEZV9pZBgGIAEoCRISCgpwYXJ0bmVyX2lkGAcgASgJIlcKGVBsYXllclJlZ2lzdGVyV2l0aENvZGVSZXMSKwoNYmFzZV9yZXNwb25zZRgBIAEoCzIULmNvbW1vbi5CYXNlUmVzcG9uc2USDQoFdG9rZW4YAiABKAliBnByb3RvMw\", [file_common_Common]);\n\n/**\n * @generated from message auth.PlayerRegisterWithCodeReq\n */\nexport type PlayerRegisterWithCodeReq = Message<\"auth.PlayerRegisterWithCodeReq\"> & {\n /**\n * @generated from field: string phone = 1;\n */\n phone: string;\n\n /**\n * @generated from field: string code = 2;\n */\n code: string;\n\n /**\n * @generated from field: string platform_id = 3;\n */\n platformId: string;\n\n /**\n * @generated from field: string source_url = 4;\n */\n sourceUrl: string;\n\n /**\n * @generated from field: string client_domain = 5;\n */\n clientDomain: string;\n\n /**\n * @generated from field: string e_id = 6;\n */\n eId: string;\n\n /**\n * @generated from field: string partner_id = 7;\n */\n partnerId: string;\n};\n\n/**\n * Describes the message auth.PlayerRegisterWithCodeReq.\n * Use `create(PlayerRegisterWithCodeReqSchema)` to create a new message.\n */\nexport const PlayerRegisterWithCodeReqSchema: GenMessage<PlayerRegisterWithCodeReq> = /*@__PURE__*/\n messageDesc(file_auth_PlayerRegisterWithCode, 0);\n\n/**\n * @generated from message auth.PlayerRegisterWithCodeRes\n */\nexport type PlayerRegisterWithCodeRes = Message<\"auth.PlayerRegisterWithCodeRes\"> & {\n /**\n * @generated from field: common.BaseResponse base_response = 1;\n */\n baseResponse?: BaseResponse;\n\n /**\n * @generated from field: string token = 2;\n */\n token: string;\n};\n\n/**\n * Describes the message auth.PlayerRegisterWithCodeRes.\n * Use `create(PlayerRegisterWithCodeResSchema)` to create a new message.\n */\nexport const PlayerRegisterWithCodeResSchema: GenMessage<PlayerRegisterWithCodeRes> = /*@__PURE__*/\n messageDesc(file_auth_PlayerRegisterWithCode, 1);\n\n","// @generated by protoc-gen-es v2.10.2 with parameter \"target=ts\"\n// @generated from file auth/PlayerLoginWithSessionToken.proto (package auth, syntax proto3)\n/* eslint-disable */\n\nimport type { GenEnum, GenFile, GenMessage } from \"@bufbuild/protobuf/codegenv2\";\nimport { enumDesc, fileDesc, messageDesc } from \"@bufbuild/protobuf/codegenv2\";\nimport type { BaseResponse } from \"../common/Common_pb\";\nimport { file_common_Common } from \"../common/Common_pb\";\nimport type { Message } from \"@bufbuild/protobuf\";\n\n/**\n * Describes the file auth/PlayerLoginWithSessionToken.proto.\n */\nexport const file_auth_PlayerLoginWithSessionToken: GenFile = /*@__PURE__*/\n fileDesc(\"CiZhdXRoL1BsYXllckxvZ2luV2l0aFNlc3Npb25Ub2tlbi5wcm90bxIEYXV0aCK5AgoeUGxheWVyTG9naW5XaXRoU2Vzc2lvblRva2VuUmVxEhUKDXNlc3Npb25fdG9rZW4YASABKAkSEwoLcGxhdGZvcm1faWQYAiABKAkSEgoKcGFydG5lcl9pZBgDIAEoCRIMCgRlX2lkGAQgASgJEjcKBHR5cGUYBSABKA4yKS5hdXRoLlBsYXllckxvZ2luV2l0aFNlc3Npb25Ub2tlblJlcS5UeXBlEhIKCnNvdXJjZV91cmwYBiABKAkSFQoNY2xpZW50X2RvbWFpbhgHIAEoCRIeChZmcmVlc3Bpbl9zZXNzaW9uX3Rva2VuGAggASgJEhMKC2RldmljZV90eXBlGAkgASgFIjAKBFR5cGUSDwoLVU5TUEVDSUZJRUQQABIMCghURUxFR1JBTRABEgkKBVZJQkVSEAIiawoeUGxheWVyTG9naW5XaXRoU2Vzc2lvblRva2VuUmVzEisKDWJhc2VfcmVzcG9uc2UYASABKAsyFC5jb21tb24uQmFzZVJlc3BvbnNlEhIKBXRva2VuGAIgASgJSACIAQFCCAoGX3Rva2VuYgZwcm90bzM\", [file_common_Common]);\n\n/**\n * @generated from message auth.PlayerLoginWithSessionTokenReq\n */\nexport type PlayerLoginWithSessionTokenReq = Message<\"auth.PlayerLoginWithSessionTokenReq\"> & {\n /**\n * @generated from field: string session_token = 1;\n */\n sessionToken: string;\n\n /**\n * @generated from field: string platform_id = 2;\n */\n platformId: string;\n\n /**\n * @generated from field: string partner_id = 3;\n */\n partnerId: string;\n\n /**\n * @generated from field: string e_id = 4;\n */\n eId: string;\n\n /**\n * @generated from field: auth.PlayerLoginWithSessionTokenReq.Type type = 5;\n */\n type: PlayerLoginWithSessionTokenReq_Type;\n\n /**\n * @generated from field: string source_url = 6;\n */\n sourceUrl: string;\n\n /**\n * @generated from field: string client_domain = 7;\n */\n clientDomain: string;\n\n /**\n * @generated from field: string freespin_session_token = 8;\n */\n freespinSessionToken: string;\n\n /**\n * @generated from field: int32 device_type = 9;\n */\n deviceType: number;\n};\n\n/**\n * Describes the message auth.PlayerLoginWithSessionTokenReq.\n * Use `create(PlayerLoginWithSessionTokenReqSchema)` to create a new message.\n */\nexport const PlayerLoginWithSessionTokenReqSchema: GenMessage<PlayerLoginWithSessionTokenReq> = /*@__PURE__*/\n messageDesc(file_auth_PlayerLoginWithSessionToken, 0);\n\n/**\n * @generated from enum auth.PlayerLoginWithSessionTokenReq.Type\n */\nexport enum PlayerLoginWithSessionTokenReq_Type {\n /**\n * @generated from enum value: UNSPECIFIED = 0;\n */\n UNSPECIFIED = 0,\n\n /**\n * @generated from enum value: TELEGRAM = 1;\n */\n TELEGRAM = 1,\n\n /**\n * @generated from enum value: VIBER = 2;\n */\n VIBER = 2,\n}\n\n/**\n * Describes the enum auth.PlayerLoginWithSessionTokenReq.Type.\n */\nexport const PlayerLoginWithSessionTokenReq_TypeSchema: GenEnum<PlayerLoginWithSessionTokenReq_Type> = /*@__PURE__*/\n enumDesc(file_auth_PlayerLoginWithSessionToken, 0, 0);\n\n/**\n * @generated from message auth.PlayerLoginWithSessionTokenRes\n */\nexport type PlayerLoginWithSessionTokenRes = Message<\"auth.PlayerLoginWithSessionTokenRes\"> & {\n /**\n * @generated from field: common.BaseResponse base_response = 1;\n */\n baseResponse?: BaseResponse;\n\n /**\n * @generated from field: optional string token = 2;\n */\n token?: string;\n};\n\n/**\n * Describes the message auth.PlayerLoginWithSessionTokenRes.\n * Use `create(PlayerLoginWithSessionTokenResSchema)` to create a new message.\n */\nexport const PlayerLoginWithSessionTokenResSchema: GenMessage<PlayerLoginWithSessionTokenRes> = /*@__PURE__*/\n messageDesc(file_auth_PlayerLoginWithSessionToken, 1);\n\n","// @generated by protoc-gen-es v2.10.2 with parameter \"target=ts\"\n// @generated from file auth/PhoneNumberLoginWithPassword.proto (package auth, syntax proto3)\n/* eslint-disable */\n\nimport type { GenFile, GenMessage } from \"@bufbuild/protobuf/codegenv2\";\nimport { fileDesc, messageDesc } from \"@bufbuild/protobuf/codegenv2\";\nimport type { BaseResponse } from \"../common/Common_pb\";\nimport { file_common_Common } from \"../common/Common_pb\";\nimport type { Message } from \"@bufbuild/protobuf\";\n\n/**\n * Describes the file auth/PhoneNumberLoginWithPassword.proto.\n */\nexport const file_auth_PhoneNumberLoginWithPassword: GenFile = /*@__PURE__*/\n fileDesc(\"CidhdXRoL1Bob25lTnVtYmVyTG9naW5XaXRoUGFzc3dvcmQucHJvdG8SBGF1dGgiywEKH1Bob25lTnVtYmVyTG9naW5XaXRoUGFzc3dvcmRSZXESDQoFcGhvbmUYASABKAkSEAoIcGFzc3dvcmQYAiABKAkSEwoLcGxhdGZvcm1faWQYAyABKAkSEgoKc291cmNlX3VybBgEIAEoCRIVCg1jbGllbnRfZG9tYWluGAUgASgJEhIKCnBhcnRuZXJfaWQYBiABKAkSHgoWZnJlZXNwaW5fc2Vzc2lvbl90b2tlbhgHIAEoCRITCgtkZXZpY2VfdHlwZRgIIAEoBSJdCh9QaG9uZU51bWJlckxvZ2luV2l0aFBhc3N3b3JkUmVzEisKDWJhc2VfcmVzcG9uc2UYASABKAsyFC5jb21tb24uQmFzZVJlc3BvbnNlEg0KBXRva2VuGAIgASgJYgZwcm90bzM\", [file_common_Common]);\n\n/**\n * @generated from message auth.PhoneNumberLoginWithPasswordReq\n */\nexport type PhoneNumberLoginWithPasswordReq = Message<\"auth.PhoneNumberLoginWithPasswordReq\"> & {\n /**\n * @generated from field: string phone = 1;\n */\n phone: string;\n\n /**\n * @generated from field: string password = 2;\n */\n password: string;\n\n /**\n * @generated from field: string platform_id = 3;\n */\n platformId: string;\n\n /**\n * @generated from field: string source_url = 4;\n */\n sourceUrl: string;\n\n /**\n * @generated from field: string client_domain = 5;\n */\n clientDomain: string;\n\n /**\n * @generated from field: string partner_id = 6;\n */\n partnerId: string;\n\n /**\n * @generated from field: string freespin_session_token = 7;\n */\n freespinSessionToken: string;\n\n /**\n * @generated from field: int32 device_type = 8;\n */\n deviceType: number;\n};\n\n/**\n * Describes the message auth.PhoneNumberLoginWithPasswordReq.\n * Use `create(PhoneNumberLoginWithPasswordReqSchema)` to create a new message.\n */\nexport const PhoneNumberLoginWithPasswordReqSchema: GenMessage<PhoneNumberLoginWithPasswordReq> = /*@__PURE__*/\n messageDesc(file_auth_PhoneNumberLoginWithPassword, 0);\n\n/**\n * @generated from message auth.PhoneNumberLoginWithPasswordRes\n */\nexport type PhoneNumberLoginWithPasswordRes = Message<\"auth.PhoneNumberLoginWithPasswordRes\"> & {\n /**\n * @generated from field: common.BaseResponse base_response = 1;\n */\n baseResponse?: BaseResponse;\n\n /**\n * @generated from field: string token = 2;\n */\n token: string;\n};\n\n/**\n * Describes the message auth.PhoneNumberLoginWithPasswordRes.\n * Use `create(PhoneNumberLoginWithPasswordResSchema)` to create a new message.\n */\nexport const PhoneNumberLoginWithPasswordResSchema: GenMessage<PhoneNumberLoginWithPasswordRes> = /*@__PURE__*/\n messageDesc(file_auth_PhoneNumberLoginWithPassword, 1);\n\n","// @generated by protoc-gen-es v2.10.2 with parameter \"target=ts\"\n// @generated from file auth/PlayerLoginOrRegisterWithSMS.proto (package auth, syntax proto3)\n/* eslint-disable */\n\nimport type { GenFile, GenMessage } from \"@bufbuild/protobuf/codegenv2\";\nimport { fileDesc, messageDesc } from \"@bufbuild/protobuf/codegenv2\";\nimport type { BaseResponse } from \"../common/Common_pb\";\nimport { file_common_Common } from \"../common/Common_pb\";\nimport { file_common_CommonEnums } from \"../common/CommonEnums_pb\";\nimport type { DeviceType } from \"./AuthCommon_pb\";\nimport { file_auth_AuthCommon } from \"./AuthCommon_pb\";\nimport type { Message } from \"@bufbuild/protobuf\";\n\n/**\n * Describes the file auth/PlayerLoginOrRegisterWithSMS.proto.\n */\nexport const file_auth_PlayerLoginOrRegisterWithSMS: GenFile = /*@__PURE__*/\n fileDesc(\"CidhdXRoL1BsYXllckxvZ2luT3JSZWdpc3RlcldpdGhTTVMucHJvdG8SBGF1dGgihgMKH1BsYXllckxvZ2luT3JSZWdpc3RlcldpdGhTTVNSZXESDQoFcGhvbmUYASABKAkSEwoLcGxhdGZvcm1faWQYAiABKAkSDAoEY29kZRgDIAEoCRIVCg1jbGllbnRfZG9tYWluGAQgASgJEhIKCnNvdXJjZV91cmwYBSABKAkSFgoJc2lnbmF0dXJlGAYgASgJSACIAQESFwoKcGFydG5lcl9pZBgHIAEoCUgBiAEBEh4KEWNoaWxkX3BsYXRmb3JtX2lkGAggASgJSAKIAQESGAoLcmVmZXJyYWxfaWQYCSABKAlIA4gBARIlCgtkZXZpY2VfdHlwZRgKIAEoDjIQLmF1dGguRGV2aWNlVHlwZRIRCglkZXZpY2VfaWQYCyABKAkSHgoWZnJlZXNwaW5fc2Vzc2lvbl90b2tlbhgMIAEoCUIMCgpfc2lnbmF0dXJlQg0KC19wYXJ0bmVyX2lkQhQKEl9jaGlsZF9wbGF0Zm9ybV9pZEIOCgxfcmVmZXJyYWxfaWQibAofUGxheWVyTG9naW5PclJlZ2lzdGVyV2l0aFNNU1JlcxIrCg1iYXNlX3Jlc3BvbnNlGAEgASgLMhQuY29tbW9uLkJhc2VSZXNwb25zZRISCgV0b2tlbhgCIAEoCUgAiAEBQggKBl90b2tlbmIGcHJvdG8z\", [file_common_Common, file_common_CommonEnums, file_auth_AuthCommon]);\n\n/**\n * @generated from message auth.PlayerLoginOrRegisterWithSMSReq\n */\nexport type PlayerLoginOrRegisterWithSMSReq = Message<\"auth.PlayerLoginOrRegisterWithSMSReq\"> & {\n /**\n * @generated from field: string phone = 1;\n */\n phone: string;\n\n /**\n * @generated from field: string platform_id = 2;\n */\n platformId: string;\n\n /**\n * @generated from field: string code = 3;\n */\n code: string;\n\n /**\n * @generated from field: string client_domain = 4;\n */\n clientDomain: string;\n\n /**\n * @generated from field: string source_url = 5;\n */\n sourceUrl: string;\n\n /**\n * @generated from field: optional string signature = 6;\n */\n signature?: string;\n\n /**\n * @generated from field: optional string partner_id = 7;\n */\n partnerId?: string;\n\n /**\n * @generated from field: optional string child_platform_id = 8;\n */\n childPlatformId?: string;\n\n /**\n * @generated from field: optional string referral_id = 9;\n */\n referralId?: string;\n\n /**\n * @generated from field: auth.DeviceType device_type = 10;\n */\n deviceType: DeviceType;\n\n /**\n * @generated from field: string device_id = 11;\n */\n deviceId: string;\n\n /**\n * @generated from field: string freespin_session_token = 12;\n */\n freespinSessionToken: string;\n};\n\n/**\n * Describes the message auth.PlayerLoginOrRegisterWithSMSReq.\n * Use `create(PlayerLoginOrRegisterWithSMSReqSchema)` to create a new message.\n */\nexport const PlayerLoginOrRegisterWithSMSReqSchema: GenMessage<PlayerLoginOrRegisterWithSMSReq> = /*@__PURE__*/\n messageDesc(file_auth_PlayerLoginOrRegisterWithSMS, 0);\n\n/**\n * @generated from message auth.PlayerLoginOrRegisterWithSMSRes\n */\nexport type PlayerLoginOrRegisterWithSMSRes = Message<\"auth.PlayerLoginOrRegisterWithSMSRes\"> & {\n /**\n * @generated from field: common.BaseResponse base_response = 1;\n */\n baseResponse?: BaseResponse;\n\n /**\n * @generated from field: optional string token = 2;\n */\n token?: string;\n};\n\n/**\n * Describes the message auth.PlayerLoginOrRegisterWithSMSRes.\n * Use `create(PlayerLoginOrRegisterWithSMSResSchema)` to create a new message.\n */\nexport const PlayerLoginOrRegisterWithSMSResSchema: GenMessage<PlayerLoginOrRegisterWithSMSRes> = /*@__PURE__*/\n messageDesc(file_auth_PlayerLoginOrRegisterWithSMS, 1);\n\n","// @generated by protoc-gen-es v2.10.2 with parameter \"target=ts\"\n// @generated from file auth/AuthCommon.proto (package auth, syntax proto3)\n/* eslint-disable */\n\nimport type { GenEnum, GenFile } from \"@bufbuild/protobuf/codegenv2\";\nimport { enumDesc, fileDesc } from \"@bufbuild/protobuf/codegenv2\";\n\n/**\n * Describes the file auth/AuthCommon.proto.\n */\nexport const file_auth_AuthCommon: GenFile = /*@__PURE__*/\n fileDesc(\"ChVhdXRoL0F1dGhDb21tb24ucHJvdG8SBGF1dGgqkgEKCkRldmljZVR5cGUSGQoVREVWSUNFX1RZUEVfQkFDS1NUQUdFEAASEwoPREVWSUNFX1RZUEVfV0VCEAESEgoOREVWSUNFX1RZUEVfSDUQAhIXChNERVZJQ0VfVFlQRV9BTkRST0lEEAMSEwoPREVWSUNFX1RZUEVfSU9TEAQSEgoOREVWSUNFX1RZUEVfTVAQBSq1AgoHUHVycG9zZRIPCgtVTlNQRUNJRklFRBAAEgwKCFJFR0lTVEVSEAESEgoOUkVTRVRfUEFTU1dPUkQQAhIbChdWRVJJRllfT0xEX1BIT05FX05VTUJFUhADEhsKF0NIQU5HRV9ORVdfUEhPTkVfTlVNQkVSEAQSDgoKQklORF9FTUFJTBAFEgkKBUxPR0lOEAYSEwoPVVBEQVRFX1BBU1NXT1JEEAcSHgoaRkFDRUJPT0tfQklORF9QSE9ORV9OVU1CRVIQCBIUChBVUERBVEVfQkFOS19JTkZPEAkSEwoPRkFDRUJPT0tfVkVSSUZZEAoSEQoNTUVSR0VfQUNDT1VOVBALEh0KGUZBQ0VfSURfQklORF9QSE9ORV9OVU1CRVIQDBIQCgxWRVJJRllfRU1BSUwQDWIGcHJvdG8z\");\n\n/**\n * @generated from enum auth.DeviceType\n */\nexport enum DeviceType {\n /**\n * @generated from enum value: DEVICE_TYPE_BACKSTAGE = 0;\n */\n BACKSTAGE = 0,\n\n /**\n * @generated from enum value: DEVICE_TYPE_WEB = 1;\n */\n WEB = 1,\n\n /**\n * @generated from enum value: DEVICE_TYPE_H5 = 2;\n */\n H5 = 2,\n\n /**\n * @generated from enum value: DEVICE_TYPE_ANDROID = 3;\n */\n ANDROID = 3,\n\n /**\n * @generated from enum value: DEVICE_TYPE_IOS = 4;\n */\n IOS = 4,\n\n /**\n * @generated from enum value: DEVICE_TYPE_MP = 5;\n */\n MP = 5,\n}\n\n/**\n * Describes the enum auth.DeviceType.\n */\nexport const DeviceTypeSchema: GenEnum<DeviceType> = /*@__PURE__*/\n enumDesc(file_auth_AuthCommon, 0);\n\n/**\n * @generated from enum auth.Purpose\n */\nexport enum Purpose {\n /**\n * @generated from enum value: UNSPECIFIED = 0;\n */\n UNSPECIFIED = 0,\n\n /**\n * @generated from enum value: REGISTER = 1;\n */\n REGISTER = 1,\n\n /**\n * @generated from enum value: RESET_PASSWORD = 2;\n */\n RESET_PASSWORD = 2,\n\n /**\n * @generated from enum value: VERIFY_OLD_PHONE_NUMBER = 3;\n */\n VERIFY_OLD_PHONE_NUMBER = 3,\n\n /**\n * @generated from enum value: CHANGE_NEW_PHONE_NUMBER = 4;\n */\n CHANGE_NEW_PHONE_NUMBER = 4,\n\n /**\n * @generated from enum value: BIND_EMAIL = 5;\n */\n BIND_EMAIL = 5,\n\n /**\n * @generated from enum value: LOGIN = 6;\n */\n LOGIN = 6,\n\n /**\n * @generated from enum value: UPDATE_PASSWORD = 7;\n */\n UPDATE_PASSWORD = 7,\n\n /**\n * @generated from enum value: FACEBOOK_BIND_PHONE_NUMBER = 8;\n */\n FACEBOOK_BIND_PHONE_NUMBER = 8,\n\n /**\n * @generated from enum value: UPDATE_BANK_INFO = 9;\n */\n UPDATE_BANK_INFO = 9,\n\n /**\n * @generated from enum value: FACEBOOK_VERIFY = 10;\n */\n FACEBOOK_VERIFY = 10,\n\n /**\n * @generated from enum value: MERGE_ACCOUNT = 11;\n */\n MERGE_ACCOUNT = 11,\n\n /**\n * @generated from enum value: FACE_ID_BIND_PHONE_NUMBER = 12;\n */\n FACE_ID_BIND_PHONE_NUMBER = 12,\n\n /**\n * @generated from enum value: VERIFY_EMAIL = 13;\n */\n VERIFY_EMAIL = 13,\n}\n\n/**\n * Describes the enum auth.Purpose.\n */\nexport const PurposeSchema: GenEnum<Purpose> = /*@__PURE__*/\n enumDesc(file_auth_AuthCommon, 1);\n\n","// @generated by protoc-gen-es v2.10.2 with parameter \"target=ts\"\n// @generated from file auth/PlayerLogout.proto (package auth, syntax proto3)\n/* eslint-disable */\n\nimport type { GenFile, GenMessage } from \"@bufbuild/protobuf/codegenv2\";\nimport { fileDesc, messageDesc } from \"@bufbuild/protobuf/codegenv2\";\nimport type { Message } from \"@bufbuild/protobuf\";\n\n/**\n * Describes the file auth/PlayerLogout.proto.\n */\nexport const file_auth_PlayerLogout: GenFile = /*@__PURE__*/\n fileDesc(\"ChdhdXRoL1BsYXllckxvZ291dC5wcm90bxIEYXV0aCIpCg9QbGF5ZXJMb2dvdXRSZXESFgoOaXNQbGF5ZXJMb2dvdXQYASABKAhiBnByb3RvMw\");\n\n/**\n * @generated from message auth.PlayerLogoutReq\n */\nexport type PlayerLogoutReq = Message<\"auth.PlayerLogoutReq\"> & {\n /**\n * @generated from field: bool isPlayerLogout = 1;\n */\n isPlayerLogout: boolean;\n};\n\n/**\n * Describes the message auth.PlayerLogoutReq.\n * Use `create(PlayerLogoutReqSchema)` to create a new message.\n */\nexport const PlayerLogoutReqSchema: GenMessage<PlayerLogoutReq> = /*@__PURE__*/\n messageDesc(file_auth_PlayerLogout, 0);\n\n","// @generated by protoc-gen-es v2.10.2 with parameter \"target=ts\"\n// @generated from file auth/Authenticate.proto (package auth, syntax proto3)\n/* eslint-disable */\n\nimport type { GenFile, GenMessage } from \"@bufbuild/protobuf/codegenv2\";\nimport { fileDesc, messageDesc } from \"@bufbuild/protobuf/codegenv2\";\nimport type { Message } from \"@bufbuild/protobuf\";\n\n/**\n * Describes the file auth/Authenticate.proto.\n */\nexport const file_auth_Authenticate: GenFile = /*@__PURE__*/\n fileDesc(\"ChdhdXRoL0F1dGhlbnRpY2F0ZS5wcm90bxIEYXV0aCJwCg9BdXRoZW50aWNhdGVSZXESEAoIaXNfbG9naW4YASABKAgSDAoEZV9pZBgCIAEoCRISCgpwYXJ0bmVyX2lkGAMgASgJEhUKDWNsaWVudF9kb21haW4YBCABKAkSEgoKc291cmNlX3VybBgFIAEoCWIGcHJvdG8z\");\n\n/**\n * @generated from message auth.AuthenticateReq\n */\nexport type AuthenticateReq = Message<\"auth.AuthenticateReq\"> & {\n /**\n * @generated from field: bool is_login = 1;\n */\n isLogin: boolean;\n\n /**\n * @generated from field: string e_id = 2;\n */\n eId: string;\n\n /**\n * @generated from field: string partner_id = 3;\n */\n partnerId: string;\n\n /**\n * @generated from field: string client_domain = 4;\n */\n clientDomain: string;\n\n /**\n * @generated from field: string source_url = 5;\n */\n sourceUrl: string;\n};\n\n/**\n * Describes the message auth.AuthenticateReq.\n * Use `create(AuthenticateReqSchema)` to create a new message.\n */\nexport const AuthenticateReqSchema: GenMessage<AuthenticateReq> = /*@__PURE__*/\n messageDesc(file_auth_Authenticate, 0);\n\n","// @generated by protoc-gen-es v2.10.2 with parameter \"target=ts\"\n// @generated from file auth/SendSmsCode.proto (package auth, syntax proto3)\n/* eslint-disable */\n\nimport type { GenFile, GenMessage } from \"@bufbuild/protobuf/codegenv2\";\nimport { fileDesc, messageDesc } from \"@bufbuild/protobuf/codegenv2\";\nimport type { Purpose } from \"./AuthCommon_pb\";\nimport { file_auth_AuthCommon } from \"./AuthCommon_pb\";\nimport type { Message } from \"@bufbuild/protobuf\";\n\n/**\n * Describes the file auth/SendSmsCode.proto.\n */\nexport const file_auth_SendSmsCode: GenFile = /*@__PURE__*/\n fileDesc(\"ChZhdXRoL1NlbmRTbXNDb2RlLnByb3RvEgRhdXRoInYKDlNlbmRTbXNDb2RlUmVxEg0KBXBob25lGAEgASgJEhMKC3BsYXRmb3JtX2lkGAIgASgJEh4KB3B1cnBvc2UYAyABKA4yDS5hdXRoLlB1cnBvc2USDQoFZW1haWwYBCABKAkSEQoJdXNlX2VtYWlsGAUgASgIYgZwcm90bzM\", [file_auth_AuthCommon]);\n\n/**\n * @generated from message auth.SendSmsCodeReq\n */\nexport type SendSmsCodeReq = Message<\"auth.SendSmsCodeReq\"> & {\n /**\n * @generated from field: string phone = 1;\n */\n phone: string;\n\n /**\n * @generated from field: string platform_id = 2;\n */\n platformId: string;\n\n /**\n * @generated from field: auth.Purpose purpose = 3;\n */\n purpose: Purpose;\n\n /**\n * @generated from field: string email = 4;\n */\n email: string;\n\n /**\n * @generated from field: bool use_email = 5;\n */\n useEmail: boolean;\n};\n\n/**\n * Describes the message auth.SendSmsCodeReq.\n * Use `create(SendSmsCodeReqSchema)` to create a new message.\n */\nexport const SendSmsCodeReqSchema: GenMessage<SendSmsCodeReq> = /*@__PURE__*/\n messageDesc(file_auth_SendSmsCode, 0);\n\n","// @generated by protoc-gen-es v2.10.2 with parameter \"target=ts\"\n// @generated from file auth/SendSmsCodeViber.proto (package auth, syntax proto3)\n/* eslint-disable */\n\nimport type { GenFile, GenMessage } from \"@bufbuild/protobuf/codegenv2\";\nimport { fileDesc, messageDesc } from \"@bufbuild/protobuf/codegenv2\";\nimport type { Purpose } from \"./AuthCommon_pb\";\nimport { file_auth_AuthCommon } from \"./AuthCommon_pb\";\nimport type { Message } from \"@bufbuild/protobuf\";\n\n/**\n * Describes the file auth/SendSmsCodeViber.proto.\n */\nexport const file_auth_SendSmsCodeViber: GenFile = /*@__PURE__*/\n fileDesc(\"ChthdXRoL1NlbmRTbXNDb2RlVmliZXIucHJvdG8SBGF1dGgiWQoTU2VuZFNtc0NvZGVWaWJlclJlcRINCgVwaG9uZRgBIAEoCRITCgtwbGF0Zm9ybV9pZBgCIAEoCRIeCgdwdXJwb3NlGAMgASgOMg0uYXV0aC5QdXJwb3NlYgZwcm90bzM\", [file_auth_AuthCommon]);\n\n/**\n * @generated from message auth.SendSmsCodeViberReq\n */\nexport type SendSmsCodeViberReq = Message<\"auth.SendSmsCodeViberReq\"> & {\n /**\n * @generated from field: string phone = 1;\n */\n phone: string;\n\n /**\n * @generated from field: string platform_id = 2;\n */\n platformId: string;\n\n /**\n * @generated from field: auth.Purpose purpose = 3;\n */\n purpose: Purpose;\n};\n\n/**\n * Describes the message auth.SendSmsCodeViberReq.\n * Use `create(SendSmsCodeViberReqSchema)` to create a new message.\n */\nexport const SendSmsCodeViberReqSchema: GenMessage<SendSmsCodeViberReq> = /*@__PURE__*/\n messageDesc(file_auth_SendSmsCodeViber, 0);\n\n","// @generated by protoc-gen-es v2.10.2 with parameter \"target=ts\"\n// @generated from file auth/FrontendFaceIdService.proto (package auth, syntax proto3)\n/* eslint-disable */\n\nimport type { GenFile, GenService } from \"@bufbuild/protobuf/codegenv2\";\nimport { fileDesc, serviceDesc } from \"@bufbuild/protobuf/codegenv2\";\nimport type { EnableFaceIdReqSchema, EnableFaceIdResSchema } from \"./EnableFaceId_pb\";\nimport { file_auth_EnableFaceId } from \"./EnableFaceId_pb\";\nimport type { InitFaceIdSessionReqSchema, InitFaceIdSessionResSchema } from \"./InitFaceIdSession_pb\";\nimport { file_auth_InitFaceIdSession } from \"./InitFaceIdSession_pb\";\nimport type { PlayerLoginWithFaceIdReqSchema, PlayerLoginWithFaceIdResSchema } from \"./PlayerLoginWithFaceId_pb\";\nimport { file_auth_PlayerLoginWithFaceId } from \"./PlayerLoginWithFaceId_pb\";\nimport type { DisableFaceIdReqSchema, DisableFaceIdResSchema } from \"./DisableFaceId_pb\";\nimport { file_auth_DisableFaceId } from \"./DisableFaceId_pb\";\nimport type { InitEnrollSessionReqSchema, InitEnrollSessionResSchema } from \"./InitEnrollSession_pb\";\nimport { file_auth_InitEnrollSession } from \"./InitEnrollSession_pb\";\nimport type { GetFaceIdInfoReqSchema, GetFaceIdInfoResSchema } from \"./GetFaceIdInfo_pb\";\nimport { file_auth_GetFaceIdInfo } from \"./GetFaceIdInfo_pb\";\n\n/**\n * Describes the file auth/FrontendFaceIdService.proto.\n */\nexport const file_auth_FrontendFaceIdService: GenFile = /*@__PURE__*/\n fileDesc(\"CiBhdXRoL0Zyb250ZW5kRmFjZUlkU2VydmljZS5wcm90bxIEYXV0aDLWAwoVRnJvbnRlbmRGYWNlSWRTZXJ2aWNlEj4KDEVuYWJsZUZhY2VJZBIVLmF1dGguRW5hYmxlRmFjZUlkUmVxGhUuYXV0aC5FbmFibGVGYWNlSWRSZXMiABJNChFJbml0RmFjZUlkU2Vzc2lvbhIaLmF1dGguSW5pdEZhY2VJZFNlc3Npb25SZXEaGi5hdXRoLkluaXRGYWNlSWRTZXNzaW9uUmVzIgASWQoVUGxheWVyTG9naW5XaXRoRmFjZUlkEh4uYXV0aC5QbGF5ZXJMb2dpbldpdGhGYWNlSWRSZXEaHi5hdXRoLlBsYXllckxvZ2luV2l0aEZhY2VJZFJlcyIAEkEKDURpc2FibGVGYWNlSWQSFi5hdXRoLkRpc2FibGVGYWNlSWRSZXEaFi5hdXRoLkRpc2FibGVGYWNlSWRSZXMiABJNChFJbml0RW5yb2xsU2Vzc2lvbhIaLmF1dGguSW5pdEVucm9sbFNlc3Npb25SZXEaGi5hdXRoLkluaXRFbnJvbGxTZXNzaW9uUmVzIgASQQoNR2V0RmFjZUlkSW5mbxIWLmF1dGguR2V0RmFjZUlkSW5mb1JlcRoWLmF1dGguR2V0RmFjZUlkSW5mb1JlcyIAYgZwcm90bzM\", [file_auth_EnableFaceId, file_auth_InitFaceIdSession, file_auth_PlayerLoginWithFaceId, file_auth_DisableFaceId, file_auth_InitEnrollSession, file_auth_GetFaceIdInfo]);\n\n/**\n * @generated from service auth.FrontendFaceIdService\n */\nexport const FrontendFaceIdService: GenService<{\n /**\n * @generated from rpc auth.FrontendFaceIdService.EnableFaceId\n */\n enableFaceId: {\n methodKind: \"unary\";\n input: typeof EnableFaceIdReqSchema;\n output: typeof EnableFaceIdResSchema;\n },\n /**\n * @generated from rpc auth.FrontendFaceIdService.InitFaceIdSession\n */\n initFaceIdSession: {\n methodKind: \"unary\";\n input: typeof InitFaceIdSessionReqSchema;\n output: typeof InitFaceIdSessionResSchema;\n },\n /**\n * @generated from rpc auth.FrontendFaceIdService.PlayerLoginWithFaceId\n */\n playerLoginWithFaceId: {\n methodKind: \"unary\";\n input: typeof PlayerLoginWithFaceIdReqSchema;\n output: typeof PlayerLoginWithFaceIdResSchema;\n },\n /**\n * @generated from rpc auth.FrontendFaceIdService.DisableFaceId\n */\n disableFaceId: {\n methodKind: \"unary\";\n input: typeof DisableFaceIdReqSchema;\n output: typeof DisableFaceIdResSchema;\n },\n /**\n * @generated from rpc auth.FrontendFaceIdService.InitEnrollSession\n */\n initEnrollSession: {\n methodKind: \"unary\";\n input: typeof InitEnrollSessionReqSchema;\n output: typeof InitEnrollSessionResSchema;\n },\n /**\n * @generated from rpc auth.FrontendFaceIdService.GetFaceIdInfo\n */\n getFaceIdInfo: {\n methodKind: \"unary\";\n input: typeof GetFaceIdInfoReqSchema;\n output: typeof GetFaceIdInfoResSchema;\n },\n}> = /*@__PURE__*/\n serviceDesc(file_auth_FrontendFaceIdService, 0);\n\n","// @generated by protoc-gen-es v2.10.2 with parameter \"target=ts\"\n// @generated from file auth/EnableFaceId.proto (package auth, syntax proto3)\n/* eslint-disable */\n\nimport type { GenFile, GenMessage } from \"@bufbuild/protobuf/codegenv2\";\nimport { fileDesc, messageDesc } from \"@bufbuild/protobuf/codegenv2\";\nimport type { BaseResponse } from \"../common/Common_pb\";\nimport { file_common_Common } from \"../common/Common_pb\";\nimport { file_common_CommonEnums } from \"../common/CommonEnums_pb\";\nimport type { DeviceType } from \"./AuthCommon_pb\";\nimport { file_auth_AuthCommon } from \"./AuthCommon_pb\";\nimport type { Message } from \"@bufbuild/protobuf\";\n\n/**\n * Describes the file auth/EnableFaceId.proto.\n */\nexport const file_auth_EnableFaceId: GenFile = /*@__PURE__*/\n fileDesc(\"ChdhdXRoL0VuYWJsZUZhY2VJZC5wcm90bxIEYXV0aCJfCg9FbmFibGVGYWNlSWRSZXESJQoLZGV2aWNlX3R5cGUYASABKA4yEC5hdXRoLkRldmljZVR5cGUSEAoIc21zX2NvZGUYAiABKAkSEwoLaXNfZmFrZV9hcHAYAyABKAgiOwoTRW5hYmxlRmFjZUlkUmVzRGF0YRITCgtwcm9wb3NhbF9pZBgBIAEoCRIPCgdmYWNlX2lkGAIgASgJImcKD0VuYWJsZUZhY2VJZFJlcxIrCg1iYXNlX3Jlc3BvbnNlGAEgASgLMhQuY29tbW9uLkJhc2VSZXNwb25zZRInCgRkYXRhGAIgASgLMhkuYXV0aC5FbmFibGVGYWNlSWRSZXNEYXRhYgZwcm90bzM\", [file_common_Common, file_common_CommonEnums, file_auth_AuthCommon]);\n\n/**\n * @generated from message auth.EnableFaceIdReq\n */\nexport type EnableFaceIdReq = Message<\"auth.EnableFaceIdReq\"> & {\n /**\n * @generated from field: auth.DeviceType device_type = 1;\n */\n deviceType: DeviceType;\n\n /**\n * @generated from field: string sms_code = 2;\n */\n smsCode: string;\n\n /**\n * @generated from field: bool is_fake_app = 3;\n */\n isFakeApp: boolean;\n};\n\n/**\n * Describes the message auth.EnableFaceIdReq.\n * Use `create(EnableFaceIdReqSchema)` to create a new message.\n */\nexport const EnableFaceIdReqSchema: GenMessage<EnableFaceIdReq> = /*@__PURE__*/\n messageDesc(file_auth_EnableFaceId, 0);\n\n/**\n * @generated from message auth.EnableFaceIdResData\n */\nexport type EnableFaceIdResData = Message<\"auth.EnableFaceIdResData\"> & {\n /**\n * @generated from field: string proposal_id = 1;\n */\n proposalId: string;\n\n /**\n * @generated from field: string face_id = 2;\n */\n faceId: string;\n};\n\n/**\n * Describes the message auth.EnableFaceIdResData.\n * Use `create(EnableFaceIdResDataSchema)` to create a new message.\n */\nexport const EnableFaceIdResDataSchema: GenMessage<EnableFaceIdResData> = /*@__PURE__*/\n messageDesc(file_auth_EnableFaceId, 1);\n\n/**\n * @generated from message auth.EnableFaceIdRes\n */\nexport type EnableFaceIdRes = Message<\"auth.EnableFaceIdRes\"> & {\n /**\n * @generated from field: common.BaseResponse base_response = 1;\n */\n baseResponse?: BaseResponse;\n\n /**\n * @generated from field: auth.EnableFaceIdResData data = 2;\n */\n data?: EnableFaceIdResData;\n};\n\n/**\n * Describes the message auth.EnableFaceIdRes.\n * Use `create(EnableFaceIdResSchema)` to create a new message.\n */\nexport const EnableFaceIdResSchema: GenMessage<EnableFaceIdRes> = /*@__PURE__*/\n messageDesc(file_auth_EnableFaceId, 2);\n\n","// @generated by protoc-gen-es v2.10.2 with parameter \"target=ts\"\n// @generated from file auth/InitFaceIdSession.proto (package auth, syntax proto3)\n/* eslint-disable */\n\nimport type { GenFile, GenMessage } from \"@bufbuild/protobuf/codegenv2\";\nimport { fileDesc, messageDesc } from \"@bufbuild/protobuf/codegenv2\";\nimport type { BaseResponse } from \"../common/Common_pb\";\nimport { file_common_Common } from \"../common/Common_pb\";\nimport type { DeviceType } from \"./AuthCommon_pb\";\nimport { file_auth_AuthCommon } from \"./AuthCommon_pb\";\nimport type { Message } from \"@bufbuild/protobuf\";\n\n/**\n * Describes the file auth/InitFaceIdSession.proto.\n */\nexport const file_auth_InitFaceIdSession: GenFile = /*@__PURE__*/\n fileDesc(\"ChxhdXRoL0luaXRGYWNlSWRTZXNzaW9uLnByb3RvEgRhdXRoIpQBChRJbml0RmFjZUlkU2Vzc2lvblJlcRIUCgxwaG9uZV9udW1iZXIYASABKAkSFQoNY2xpZW50X2RvbWFpbhgCIAEoCRIlCgtkZXZpY2VfdHlwZRgDIAEoDjIQLmF1dGguRGV2aWNlVHlwZRITCgtwbGF0Zm9ybV9pZBgEIAEoCRITCgtpc19mYWtlX2FwcBgFIAEoCCLBAQoYSW5pdEZhY2VJZFNlc3Npb25SZXNEYXRhEjoKBnJlc3VsdBgBIAMoCzIqLmF1dGguSW5pdEZhY2VJZFNlc3Npb25SZXNEYXRhLlJlc3VsdEVudHJ5EhYKDnRyYW5zYWN0aW9uX2lkGAIgASgJEg4KBmJpel9pZBgDIAEoCRISCgp2ZXJpZnlfdXJsGAQgASgJGi0KC1Jlc3VsdEVudHJ5EgsKA2tleRgBIAEoCRINCgV2YWx1ZRgCIAEoCToCOAEicQoUSW5pdEZhY2VJZFNlc3Npb25SZXMSKwoNYmFzZV9yZXNwb25zZRgBIAEoCzIULmNvbW1vbi5CYXNlUmVzcG9uc2USLAoEZGF0YRgCIAEoCzIeLmF1dGguSW5pdEZhY2VJZFNlc3Npb25SZXNEYXRhYgZwcm90bzM\", [file_common_Common, file_auth_AuthCommon]);\n\n/**\n * @generated from message auth.InitFaceIdSessionReq\n */\nexport type InitFaceIdSessionReq = Message<\"auth.InitFaceIdSessionReq\"> & {\n /**\n * @generated from field: string phone_number = 1;\n */\n phoneNumber: string;\n\n /**\n * @generated from field: string client_domain = 2;\n */\n clientDomain: string;\n\n /**\n * @generated from field: auth.DeviceType device_type = 3;\n */\n deviceType: DeviceType;\n\n /**\n * @generated from field: string platform_id = 4;\n */\n platformId: string;\n\n /**\n * @generated from field: bool is_fake_app = 5;\n */\n isFakeApp: boolean;\n};\n\n/**\n * Describes the message auth.InitFaceIdSessionReq.\n * Use `create(InitFaceIdSessionReqSchema)` to create a new message.\n */\nexport const InitFaceIdSessionReqSchema: GenMessage<InitFaceIdSessionReq> = /*@__PURE__*/\n messageDesc(file_auth_InitFaceIdSession, 0);\n\n/**\n * @generated from message auth.InitFaceIdSessionResData\n */\nexport type InitFaceIdSessionResData = Message<\"auth.InitFaceIdSessionResData\"> & {\n /**\n * @generated from field: map<string, string> result = 1;\n */\n result: { [key: string]: string };\n\n /**\n * @generated from field: string transaction_id = 2;\n */\n transactionId: string;\n\n /**\n * @generated from field: string biz_id = 3;\n */\n bizId: string;\n\n /**\n * @generated from field: string verify_url = 4;\n */\n verifyUrl: string;\n};\n\n/**\n * Describes the message auth.InitFaceIdSessionResData.\n * Use `create(InitFaceIdSessionResDataSchema)` to create a new message.\n */\nexport const InitFaceIdSessionResDataSchema: GenMessage<InitFaceIdSessionResData> = /*@__PURE__*/\n messageDesc(file_auth_InitFaceIdSession, 1);\n\n/**\n * @generated from message auth.InitFaceIdSessionRes\n */\nexport type InitFaceIdSessionRes = Message<\"auth.InitFaceIdSessionRes\"> & {\n /**\n * @generated from field: common.BaseResponse base_response = 1;\n */\n baseResponse?: BaseResponse;\n\n /**\n * @generated from field: auth.InitFaceIdSessionResData data = 2;\n */\n data?: InitFaceIdSessionResData;\n};\n\n/**\n * Describes the message auth.InitFaceIdSessionRes.\n * Use `create(InitFaceIdSessionResSchema)` to create a new message.\n */\nexport const InitFaceIdSessionResSchema: GenMessage<InitFaceIdSessionRes> = /*@__PURE__*/\n messageDesc(file_auth_InitFaceIdSession, 2);\n\n","// @generated by protoc-gen-es v2.10.2 with parameter \"target=ts\"\n// @generated from file auth/PlayerLoginWithFaceId.proto (package auth, syntax proto3)\n/* eslint-disable */\n\nimport type { GenFile, GenMessage } from \"@bufbuild/protobuf/codegenv2\";\nimport { fileDesc, messageDesc } from \"@bufbuild/protobuf/codegenv2\";\nimport type { BaseResponse } from \"../common/Common_pb\";\nimport { file_common_Common } from \"../common/Common_pb\";\nimport type { DeviceType } from \"./AuthCommon_pb\";\nimport { file_auth_AuthCommon } from \"./AuthCommon_pb\";\nimport type { Message } from \"@bufbuild/protobuf\";\n\n/**\n * Describes the file auth/PlayerLoginWithFaceId.proto.\n */\nexport const file_auth_PlayerLoginWithFaceId: GenFile = /*@__PURE__*/\n fileDesc(\"CiBhdXRoL1BsYXllckxvZ2luV2l0aEZhY2VJZC5wcm90bxIEYXV0aCL/AQoYUGxheWVyTG9naW5XaXRoRmFjZUlkUmVxEhMKC3BsYXRmb3JtX2lkGAEgASgJEhEKCXNvdXJjZVVybBgCIAEoCRIVCg1jbGllbnRfZG9tYWluGAMgASgJEgsKA2VJZBgEIAEoCRISCgpwYXJ0bmVyX2lkGAUgASgJEh4KFmZyZWVzcGluX3Nlc3Npb25fdG9rZW4YBiABKAkSDwoHZmFjZV9pZBgHIAEoCRIlCgtkZXZpY2VfdHlwZRgIIAEoDjIQLmF1dGguRGV2aWNlVHlwZRIWCg50cmFuc2FjdGlvbl9pZBgJIAEoCRITCgtpc19mYWtlX2FwcBgKIAEoCCJWChhQbGF5ZXJMb2dpbldpdGhGYWNlSWRSZXMSKwoNYmFzZV9yZXNwb25zZRgBIAEoCzIULmNvbW1vbi5CYXNlUmVzcG9uc2USDQoFdG9rZW4YAiABKAliBnByb3RvMw\", [file_common_Common, file_auth_AuthCommon]);\n\n/**\n * @generated from message auth.PlayerLoginWithFaceIdReq\n */\nexport type PlayerLoginWithFaceIdReq = Message<\"auth.PlayerLoginWithFaceIdReq\"> & {\n /**\n * @generated from field: string platform_id = 1;\n */\n platformId: string;\n\n /**\n * @generated from field: string sourceUrl = 2;\n */\n sourceUrl: string;\n\n /**\n * @generated from field: string client_domain = 3;\n */\n clientDomain: string;\n\n /**\n * @generated from field: string eId = 4;\n */\n eId: string;\n\n /**\n * @generated from field: string partner_id = 5;\n */\n partnerId: string;\n\n /**\n * @generated from field: string freespin_session_token = 6;\n */\n freespinSessionToken: string;\n\n /**\n * @generated from field: string face_id = 7;\n */\n faceId: string;\n\n /**\n * @generated from field: auth.DeviceType device_type = 8;\n */\n deviceType: DeviceType;\n\n /**\n * @generated from field: string transaction_id = 9;\n */\n transactionId: string;\n\n /**\n * @generated from field: bool is_fake_app = 10;\n */\n isFakeApp: boolean;\n};\n\n/**\n * Describes the message auth.PlayerLoginWithFaceIdReq.\n * Use `create(PlayerLoginWithFaceIdReqSchema)` to create a new message.\n */\nexport const PlayerLoginWithFaceIdReqSchema: GenMessage<PlayerLoginWithFaceIdReq> = /*@__PURE__*/\n messageDesc(file_auth_PlayerLoginWithFaceId, 0);\n\n/**\n * @generated from message auth.PlayerLoginWithFaceIdRes\n */\nexport type PlayerLoginWithFaceIdRes = Message<\"auth.PlayerLoginWithFaceIdRes\"> & {\n /**\n * @generated from field: common.BaseResponse base_response = 1;\n */\n baseResponse?: BaseResponse;\n\n /**\n * @generated from field: string token = 2;\n */\n token: string;\n};\n\n/**\n * Describes the message auth.PlayerLoginWithFaceIdRes.\n * Use `create(PlayerLoginWithFaceIdResSchema)` to create a new message.\n */\nexport const PlayerLoginWithFaceIdResSchema: GenMessage<PlayerLoginWithFaceIdRes> = /*@__PURE__*/\n messageDesc(file_auth_PlayerLoginWithFaceId, 1);\n\n","// @generated by protoc-gen-es v2.10.2 with parameter \"target=ts\"\n// @generated from file auth/DisableFaceId.proto (package auth, syntax proto3)\n/* eslint-disable */\n\nimport type { GenFile, GenMessage } from \"@bufbuild/protobuf/codegenv2\";\nimport { fileDesc, messageDesc } from \"@bufbuild/protobuf/codegenv2\";\nimport type { DeviceType } from \"./AuthCommon_pb\";\nimport { file_auth_AuthCommon } from \"./AuthCommon_pb\";\nimport type { BaseResponse } from \"../common/Common_pb\";\nimport { file_common_Common } from \"../common/Common_pb\";\nimport type { Message } from \"@bufbuild/protobuf\";\n\n/**\n * Describes the file auth/DisableFaceId.proto.\n */\nexport const file_auth_DisableFaceId: GenFile = /*@__PURE__*/\n fileDesc(\"ChhhdXRoL0Rpc2FibGVGYWNlSWQucHJvdG8SBGF1dGgiTgoQRGlzYWJsZUZhY2VJZFJlcRIlCgtkZXZpY2VfdHlwZRgBIAEoDjIQLmF1dGguRGV2aWNlVHlwZRITCgtpc19mYWtlX2FwcBgCIAEoCCKHAQoQRGlzYWJsZUZhY2VJZFJlcxIrCg1iYXNlX3Jlc3BvbnNlGAEgASgLMhQuY29tbW9uLkJhc2VSZXNwb25zZRIpCgRkYXRhGAIgASgLMhsuYXV0aC5EaXNhYmxlRmFjZUlkUmVzLkRhdGEaGwoERGF0YRITCgtwcm9wb3NhbF9pZBgBIAEoCWIGcHJvdG8z\", [file_auth_AuthCommon, file_common_Common]);\n\n/**\n * @generated from message auth.DisableFaceIdReq\n */\nexport type DisableFaceIdReq = Message<\"auth.DisableFaceIdReq\"> & {\n /**\n * @generated from field: auth.DeviceType device_type = 1;\n */\n deviceType: DeviceType;\n\n /**\n * @generated from field: bool is_fake_app = 2;\n */\n isFakeApp: boolean;\n};\n\n/**\n * Describes the message auth.DisableFaceIdReq.\n * Use `create(DisableFaceIdReqSchema)` to create a new message.\n */\nexport const DisableFaceIdReqSchema: GenMessage<DisableFaceIdReq> = /*@__PURE__*/\n messageDesc(file_auth_DisableFaceId, 0);\n\n/**\n * @generated from message auth.DisableFaceIdRes\n */\nexport type DisableFaceIdRes = Message<\"auth.DisableFaceIdRes\"> & {\n /**\n * @generated from field: common.BaseResponse base_response = 1;\n */\n baseResponse?: BaseResponse;\n\n /**\n * @generated from field: auth.DisableFaceIdRes.Data data = 2;\n */\n data?: DisableFaceIdRes_Data;\n};\n\n/**\n * Describes the message auth.DisableFaceIdRes.\n * Use `create(DisableFaceIdResSchema)` to create a new message.\n */\nexport const DisableFaceIdResSchema: GenMessage<DisableFaceIdRes> = /*@__PURE__*/\n messageDesc(file_auth_DisableFaceId, 1);\n\n/**\n * @generated from message auth.DisableFaceIdRes.Data\n */\nexport type DisableFaceIdRes_Data = Message<\"auth.DisableFaceIdRes.Data\"> & {\n /**\n * @generated from field: string proposal_id = 1;\n */\n proposalId: string;\n};\n\n/**\n * Describes the message auth.DisableFaceIdRes.Data.\n * Use `create(DisableFaceIdRes_DataSchema)` to create a new message.\n */\nexport const DisableFaceIdRes_DataSchema: GenMessage<DisableFaceIdRes_Data> = /*@__PURE__*/\n messageDesc(file_auth_DisableFaceId, 1, 0);\n\n","// @generated by protoc-gen-es v2.10.2 with parameter \"target=ts\"\n// @generated from file auth/InitEnrollSession.proto (package auth, syntax proto3)\n/* eslint-disable */\n\nimport type { GenFile, GenMessage } from \"@bufbuild/protobuf/codegenv2\";\nimport { fileDesc, messageDesc } from \"@bufbuild/protobuf/codegenv2\";\nimport type { BaseResponse } from \"../common/Common_pb\";\nimport { file_common_Common } from \"../common/Common_pb\";\nimport type { DeviceType } from \"./AuthCommon_pb\";\nimport { file_auth_AuthCommon } from \"./AuthCommon_pb\";\nimport type { Message } from \"@bufbuild/protobuf\";\n\n/**\n * Describes the file auth/InitEnrollSession.proto.\n */\nexport const file_auth_InitEnrollSession: GenFile = /*@__PURE__*/\n fileDesc(\"ChxhdXRoL0luaXRFbnJvbGxTZXNzaW9uLnByb3RvEgRhdXRoImkKFEluaXRFbnJvbGxTZXNzaW9uUmVxEhUKDWNsaWVudF9kb21haW4YASABKAkSJQoLZGV2aWNlX3R5cGUYAiABKA4yEC5hdXRoLkRldmljZVR5cGUSEwoLaXNfZmFrZV9hcHAYAyABKAgiowIKFEluaXRFbnJvbGxTZXNzaW9uUmVzEisKDWJhc2VfcmVzcG9uc2UYASABKAsyFC5jb21tb24uQmFzZVJlc3BvbnNlEi0KBGRhdGEYAiABKAsyHy5hdXRoLkluaXRFbnJvbGxTZXNzaW9uUmVzLkRhdGEargEKBERhdGESOwoGcmVzdWx0GAEgAygLMisuYXV0aC5Jbml0RW5yb2xsU2Vzc2lvblJlcy5EYXRhLlJlc3VsdEVudHJ5EhYKDnRyYW5zYWN0aW9uX2lkGAIgASgJEg4KBmJpel9pZBgDIAEoCRISCgp2ZXJpZnlfdXJsGAQgASgJGi0KC1Jlc3VsdEVudHJ5EgsKA2tleRgBIAEoCRINCgV2YWx1ZRgCIAEoCToCOAFiBnByb3RvMw\", [file_common_Common, file_auth_AuthCommon]);\n\n/**\n * @generated from message auth.InitEnrollSessionReq\n */\nexport type InitEnrollSessionReq = Message<\"auth.InitEnrollSessionReq\"> & {\n /**\n * @generated from field: string client_domain = 1;\n */\n clientDomain: string;\n\n /**\n * @generated from field: auth.DeviceType device_type = 2;\n */\n deviceType: DeviceType;\n\n /**\n * @generated from field: bool is_fake_app = 3;\n */\n isFakeApp: boolean;\n};\n\n/**\n * Describes the message auth.InitEnrollSessionReq.\n * Use `create(InitEnrollSessionReqSchema)` to create a new message.\n */\nexport const InitEnrollSessionReqSchema: GenMessage<InitEnrollSessionReq> = /*@__PURE__*/\n messageDesc(file_auth_InitEnrollSession, 0);\n\n/**\n * @generated from message auth.InitEnrollSessionRes\n */\nexport type InitEnrollSessionRes = Message<\"auth.InitEnrollSessionRes\"> & {\n /**\n * @generated from field: common.BaseResponse base_response = 1;\n */\n baseResponse?: BaseResponse;\n\n /**\n * @generated from field: auth.InitEnrollSessionRes.Data data = 2;\n */\n data?: InitEnrollSessionRes_Data;\n};\n\n/**\n * Describes the message auth.InitEnrollSessionRes.\n * Use `create(InitEnrollSessionResSchema)` to create a new message.\n */\nexport const InitEnrollSessionResSchema: GenMessage<InitEnrollSessionRes> = /*@__PURE__*/\n messageDesc(file_auth_InitEnrollSession, 1);\n\n/**\n * @generated from message auth.InitEnrollSessionRes.Data\n */\nexport type InitEnrollSessionRes_Data = Message<\"auth.InitEnrollSessionRes.Data\"> & {\n /**\n * @generated from field: map<string, string> result = 1;\n */\n result: { [key: string]: string };\n\n /**\n * @generated from field: string transaction_id = 2;\n */\n transactionId: string;\n\n /**\n * @generated from field: string biz_id = 3;\n */\n bizId: string;\n\n /**\n * @generated from field: string verify_url = 4;\n */\n verifyUrl: string;\n};\n\n/**\n * Describes the message auth.InitEnrollSessionRes.Data.\n * Use `create(InitEnrollSessionRes_DataSchema)` to create a new message.\n */\nexport const InitEnrollSessionRes_DataSchema: GenMessage<InitEnrollSessionRes_Data> = /*@__PURE__*/\n messageDesc(file_auth_InitEnrollSession, 1, 0);\n\n","// @generated by protoc-gen-es v2.10.2 with parameter \"target=ts\"\n// @generated from file auth/GetFaceIdInfo.proto (package auth, syntax proto3)\n/* eslint-disable */\n\nimport type { GenFile, GenMessage } from \"@bufbuild/protobuf/codegenv2\";\nimport { fileDesc, messageDesc } from \"@bufbuild/protobuf/codegenv2\";\nimport type { BaseResponse } from \"../common/Common_pb\";\nimport { file_common_Common } from \"../common/Common_pb\";\nimport type { DeviceType } from \"./AuthCommon_pb\";\nimport { file_auth_AuthCommon } from \"./AuthCommon_pb\";\nimport type { Message } from \"@bufbuild/protobuf\";\n\n/**\n * Describes the file auth/GetFaceIdInfo.proto.\n */\nexport const file_auth_GetFaceIdInfo: GenFile = /*@__PURE__*/\n fileDesc(\"ChhhdXRoL0dldEZhY2VJZEluZm8ucHJvdG8SBGF1dGgiTgoQR2V0RmFjZUlkSW5mb1JlcRIlCgtkZXZpY2VfdHlwZRgBIAEoDjIQLmF1dGguRGV2aWNlVHlwZRITCgtpc19mYWtlX2FwcBgCIAEoCCLBAQoQR2V0RmFjZUlkSW5mb1JlcxIrCg1iYXNlX3Jlc3BvbnNlGAEgASgLMhQuY29tbW9uLkJhc2VSZXNwb25zZRIpCgRkYXRhGAIgASgLMhsuYXV0aC5HZXRGYWNlSWRJbmZvUmVzLkRhdGEaVQoERGF0YRIZChFmYWNlX3ZlcmlmaWNhdGlvbhgBIAEoCBIWCg52ZXJpZnlfZmFjZV9pZBgCIAEoCBIaChJmaXJzdF90aW1lX2ZhY2VfaWQYAyABKAhiBnByb3RvMw\", [file_common_Common, file_auth_AuthCommon]);\n\n/**\n * @generated from message auth.GetFaceIdInfoReq\n */\nexport type GetFaceIdInfoReq = Message<\"auth.GetFaceIdInfoReq\"> & {\n /**\n * @generated from field: auth.DeviceType device_type = 1;\n */\n deviceType: DeviceType;\n\n /**\n * @generated from field: bool is_fake_app = 2;\n */\n isFakeApp: boolean;\n};\n\n/**\n * Describes the message auth.GetFaceIdInfoReq.\n * Use `create(GetFaceIdInfoReqSchema)` to create a new message.\n */\nexport const GetFaceIdInfoReqSchema: GenMessage<GetFaceIdInfoReq> = /*@__PURE__*/\n messageDesc(file_auth_GetFaceIdInfo, 0);\n\n/**\n * @generated from message auth.GetFaceIdInfoRes\n */\nexport type GetFaceIdInfoRes = Message<\"auth.GetFaceIdInfoRes\"> & {\n /**\n * @generated from field: common.BaseResponse base_response = 1;\n */\n baseResponse?: BaseResponse;\n\n /**\n * @generated from field: auth.GetFaceIdInfoRes.Data data = 2;\n */\n data?: GetFaceIdInfoRes_Data;\n};\n\n/**\n * Describes the message auth.GetFaceIdInfoRes.\n * Use `create(GetFaceIdInfoResSchema)` to create a new message.\n */\nexport const GetFaceIdInfoResSchema: GenMessage<GetFaceIdInfoRes> = /*@__PURE__*/\n messageDesc(file_auth_GetFaceIdInfo, 1);\n\n/**\n * @generated from message auth.GetFaceIdInfoRes.Data\n */\nexport type GetFaceIdInfoRes_Data = Message<\"auth.GetFaceIdInfoRes.Data\"> & {\n /**\n * @generated from field: bool face_verification = 1;\n */\n faceVerification: boolean;\n\n /**\n * @generated from field: bool verify_face_id = 2;\n */\n verifyFaceId: boolean;\n\n /**\n * @generated from field: bool first_time_face_id = 3;\n */\n firstTimeFaceId: boolean;\n};\n\n/**\n * Describes the message auth.GetFaceIdInfoRes.Data.\n * Use `create(GetFaceIdInfoRes_DataSchema)` to create a new message.\n */\nexport const GetFaceIdInfoRes_DataSchema: GenMessage<GetFaceIdInfoRes_Data> = /*@__PURE__*/\n messageDesc(file_auth_GetFaceIdInfo, 1, 0);\n\n","// @generated by protoc-gen-es v2.10.2 with parameter \"target=ts\"\n// @generated from file auth/FrontendFacebookService.proto (package auth, syntax proto3)\n/* eslint-disable */\n\nimport type { GenFile, GenService } from \"@bufbuild/protobuf/codegenv2\";\nimport { fileDesc, serviceDesc } from \"@bufbuild/protobuf/codegenv2\";\nimport type { BaseResponseSchema, EmptySchema } from \"../common/Common_pb\";\nimport { file_common_Common } from \"../common/Common_pb\";\nimport type { PlayerLoginOrRegisterWithFacebookReqSchema, PlayerLoginOrRegisterWithFacebookResSchema } from \"./PlayerLoginOrRegisterWithFacebook_pb\";\nimport { file_auth_PlayerLoginOrRegisterWithFacebook } from \"./PlayerLoginOrRegisterWithFacebook_pb\";\nimport type { GetFacebookConsentPageReqSchema, GetFacebookConsentPageResSchema } from \"./GetFacebookConsentPage_pb\";\nimport { file_auth_GetFacebookConsentPage } from \"./GetFacebookConsentPage_pb\";\nimport type { FacebookAuthorizationReqSchema, FacebookAuthorizationResSchema } from \"./FacebookAuthorization_pb\";\nimport { file_auth_FacebookAuthorization } from \"./FacebookAuthorization_pb\";\nimport type { GetFacebookFriendListReqSchema, GetFacebookFriendListResSchema } from \"./GetFacebookFriendList_pb\";\nimport { file_auth_GetFacebookFriendList } from \"./GetFacebookFriendList_pb\";\nimport type { ManualFetchFacebookFriendsReqSchema, ManualFetchFacebookFriendsResSchema } from \"./ManualFetchFacebookFriends_pb\";\nimport { file_auth_ManualFetchFacebookFriends } from \"./ManualFetchFacebookFriends_pb\";\nimport type { BindFacebookAccountReqSchema } from \"./BindFacebookAccount_pb\";\nimport { file_auth_BindFacebookAccount } from \"./BindFacebookAccount_pb\";\nimport type { UnbindFacebookAccountResSchema } from \"./UnbindFacebookAccount_pb\";\nimport { file_auth_UnbindFacebookAccount } from \"./UnbindFacebookAccount_pb\";\nimport type { FacebookVerifyPhoneNumberReqSchema } from \"./FacebookVerifyPhoneNumber_pb\";\nimport { file_auth_FacebookVerifyPhoneNumber } from \"./FacebookVerifyPhoneNumber_pb\";\n\n/**\n * Describes the file auth/FrontendFacebookService.proto.\n */\nexport const file_auth_FrontendFacebookService: GenFile = /*@__PURE__*/\n fileDesc(\"CiJhdXRoL0Zyb250ZW5kRmFjZWJvb2tTZXJ2aWNlLnByb3RvEgRhdXRoMoYGChdGcm9udGVuZEZhY2Vib29rU2VydmljZRJ9CiFQbGF5ZXJMb2dpbk9yUmVnaXN0ZXJXaXRoRmFjZWJvb2sSKi5hdXRoLlBsYXllckxvZ2luT3JSZWdpc3RlcldpdGhGYWNlYm9va1JlcRoqLmF1dGguUGxheWVyTG9naW5PclJlZ2lzdGVyV2l0aEZhY2Vib29rUmVzIgASXAoWR2V0RmFjZWJvb2tDb25zZW50UGFnZRIfLmF1dGguR2V0RmFjZWJvb2tDb25zZW50UGFnZVJlcRofLmF1dGguR2V0RmFjZWJvb2tDb25zZW50UGFnZVJlcyIAElkKFUZhY2Vib29rQXV0aG9yaXphdGlvbhIeLmF1dGguRmFjZWJvb2tBdXRob3JpemF0aW9uUmVxGh4uYXV0aC5GYWNlYm9va0F1dGhvcml6YXRpb25SZXMiABJZChVHZXRGYWNlYm9va0ZyaWVuZExpc3QSHi5hdXRoLkdldEZhY2Vib29rRnJpZW5kTGlzdFJlcRoeLmF1dGguR2V0RmFjZWJvb2tGcmllbmRMaXN0UmVzIgASaAoaTWFudWFsRmV0Y2hGYWNlYm9va0ZyaWVuZHMSIy5hdXRoLk1hbnVhbEZldGNoRmFjZWJvb2tGcmllbmRzUmVxGiMuYXV0aC5NYW51YWxGZXRjaEZhY2Vib29rRnJpZW5kc1JlcyIAEksKE0JpbmRGYWNlYm9va0FjY291bnQSHC5hdXRoLkJpbmRGYWNlYm9va0FjY291bnRSZXEaFC5jb21tb24uQmFzZVJlc3BvbnNlIgASSAoVVW5iaW5kRmFjZWJvb2tBY2NvdW50Eg0uY29tbW9uLkVtcHR5Gh4uYXV0aC5VbmJpbmRGYWNlYm9va0FjY291bnRSZXMiABJXChlGYWNlYm9va1ZlcmlmeVBob25lTnVtYmVyEiIuYXV0aC5GYWNlYm9va1ZlcmlmeVBob25lTnVtYmVyUmVxGhQuY29tbW9uLkJhc2VSZXNwb25zZSIAYgZwcm90bzM\", [file_common_Common, file_auth_PlayerLoginOrRegisterWithFacebook, file_auth_GetFacebookConsentPage, file_auth_FacebookAuthorization, file_auth_GetFacebookFriendList, file_auth_ManualFetchFacebookFriends, file_auth_BindFacebookAccount, file_auth_UnbindFacebookAccount, file_auth_FacebookVerifyPhoneNumber]);\n\n/**\n * @generated from service auth.FrontendFacebookService\n */\nexport const FrontendFacebookService: GenService<{\n /**\n * @generated from rpc auth.FrontendFacebookService.PlayerLoginOrRegisterWithFacebook\n */\n playerLoginOrRegisterWithFacebook: {\n methodKind: \"unary\";\n input: typeof PlayerLoginOrRegisterWithFacebookReqSchema;\n output: typeof PlayerLoginOrRegisterWithFacebookResSchema;\n },\n /**\n * @generated from rpc auth.FrontendFacebookService.GetFacebookConsentPage\n */\n getFacebookConsentPage: {\n methodKind: \"unary\";\n input: typeof GetFacebookConsentPageReqSchema;\n output: typeof GetFacebookConsentPageResSchema;\n },\n /**\n * @generated from rpc auth.FrontendFacebookService.FacebookAuthorization\n */\n facebookAuthorization: {\n methodKind: \"unary\";\n input: typeof FacebookAuthorizationReqSchema;\n output: typeof FacebookAuthorizationResSchema;\n },\n /**\n * @generated from rpc auth.FrontendFacebookService.GetFacebookFriendList\n */\n getFacebookFriendList: {\n methodKind: \"unary\";\n input: typeof GetFacebookFriendListReqSchema;\n output: typeof GetFacebookFriendListResSchema;\n },\n /**\n * @generated from rpc auth.FrontendFacebookService.ManualFetchFacebookFriends\n */\n manualFetchFacebookFriends: {\n methodKind: \"unary\";\n input: typeof ManualFetchFacebookFriendsReqSchema;\n output: typeof ManualFetchFacebookFriendsResSchema;\n },\n /**\n * @generated from rpc auth.FrontendFacebookService.BindFacebookAccount\n */\n bindFacebookAccount: {\n methodKind: \"unary\";\n input: typeof BindFacebookAccountReqSchema;\n output: typeof BaseResponseSchema;\n },\n /**\n * @generated from rpc auth.FrontendFacebookService.UnbindFacebookAccount\n */\n unbindFacebookAccount: {\n methodKind: \"unary\";\n input: typeof EmptySchema;\n output: typeof UnbindFacebookAccountResSchema;\n },\n /**\n * @generated from rpc auth.FrontendFacebookService.FacebookVerifyPhoneNumber\n */\n facebookVerifyPhoneNumber: {\n methodKind: \"unary\";\n input: typeof FacebookVerifyPhoneNumberReqSchema;\n output: typeof BaseResponseSchema;\n },\n}> = /*@__PURE__*/\n serviceDesc(file_auth_FrontendFacebookService, 0);\n\n","// @generated by protoc-gen-es v2.10.2 with parameter \"target=ts\"\n// @generated from file auth/PlayerLoginOrRegisterWithFacebook.proto (package auth, syntax proto3)\n/* eslint-disable */\n\nimport type { GenFile, GenMessage } from \"@bufbuild/protobuf/codegenv2\";\nimport { fileDesc, messageDesc } from \"@bufbuild/protobuf/codegenv2\";\nimport type { BaseResponse } from \"../common/Common_pb\";\nimport { file_common_Common } from \"../common/Common_pb\";\nimport type { Message } from \"@bufbuild/protobuf\";\n\n/**\n * Describes the file auth/PlayerLoginOrRegisterWithFacebook.proto.\n */\nexport const file_auth_PlayerLoginOrRegisterWithFacebook: GenFile = /*@__PURE__*/\n fileDesc(\"CixhdXRoL1BsYXllckxvZ2luT3JSZWdpc3RlcldpdGhGYWNlYm9vay5wcm90bxIEYXV0aCLyAgokUGxheWVyTG9naW5PclJlZ2lzdGVyV2l0aEZhY2Vib29rUmVxEhMKC2ZhY2Vib29rX2lkGAEgASgJEh0KEGZhY2Vib29rX2FjY291bnQYAiABKAlIAIgBARISCgVwaG9uZRgDIAEoCUgBiAEBEhUKCHNtc19jb2RlGAQgASgJSAKIAQESIwobc2tpcF9mYWNlYm9va19hdXRob3JpemF0aW9uGAUgASgIEhEKCXNpZ25hdHVyZRgGIAEoCRITCgtkZXZpY2VfdHlwZRgHIAEoBRITCgtwbGF0Zm9ybV9pZBgIIAEoCRISCgpwYXJ0bmVyX2lkGAkgASgJEhIKCnNvdXJjZV91cmwYCiABKAkSFQoNY2xpZW50X2RvbWFpbhgLIAEoCRIeChZmcmVlc3Bpbl9zZXNzaW9uX3Rva2VuGAwgASgJQhMKEV9mYWNlYm9va19hY2NvdW50QggKBl9waG9uZUILCglfc21zX2NvZGUioQEKJFBsYXllckxvZ2luT3JSZWdpc3RlcldpdGhGYWNlYm9va1JlcxIrCg1iYXNlX3Jlc3BvbnNlGAEgASgLMhQuY29tbW9uLkJhc2VSZXNwb25zZRISCgV0b2tlbhgCIAEoCUgAiAEBEhsKDmFjdGl2ZV9hY2NvdW50GAMgASgISAGIAQFCCAoGX3Rva2VuQhEKD19hY3RpdmVfYWNjb3VudGIGcHJvdG8z\", [file_common_Common]);\n\n/**\n * @generated from message auth.PlayerLoginOrRegisterWithFacebookReq\n */\nexport type PlayerLoginOrRegisterWithFacebookReq = Message<\"auth.PlayerLoginOrRegisterWithFacebookReq\"> & {\n /**\n * @generated from field: string facebook_id = 1;\n */\n facebookId: string;\n\n /**\n * @generated from field: optional string facebook_account = 2;\n */\n facebookAccount?: string;\n\n /**\n * @generated from field: optional string phone = 3;\n */\n phone?: string;\n\n /**\n * @generated from field: optional string sms_code = 4;\n */\n smsCode?: string;\n\n /**\n * @generated from field: bool skip_facebook_authorization = 5;\n */\n skipFacebookAuthorization: boolean;\n\n /**\n * @generated from field: string signature = 6;\n */\n signature: string;\n\n /**\n * @generated from field: int32 device_type = 7;\n */\n deviceType: number;\n\n /**\n * @generated from field: string platform_id = 8;\n */\n platformId: string;\n\n /**\n * @generated from field: string partner_id = 9;\n */\n partnerId: string;\n\n /**\n * @generated from field: string source_url = 10;\n */\n sourceUrl: string;\n\n /**\n * @generated from field: string client_domain = 11;\n */\n clientDomain: string;\n\n /**\n * @generated from field: string freespin_session_token = 12;\n */\n freespinSessionToken: string;\n};\n\n/**\n * Describes the message auth.PlayerLoginOrRegisterWithFacebookReq.\n * Use `create(PlayerLoginOrRegisterWithFacebookReqSchema)` to create a new message.\n */\nexport const PlayerLoginOrRegisterWithFacebookReqSchema: GenMessage<PlayerLoginOrRegisterWithFacebookReq> = /*@__PURE__*/\n messageDesc(file_auth_PlayerLoginOrRegisterWithFacebook, 0);\n\n/**\n * @generated from message auth.PlayerLoginOrRegisterWithFacebookRes\n */\nexport type PlayerLoginOrRegisterWithFacebookRes = Message<\"auth.PlayerLoginOrRegisterWithFacebookRes\"> & {\n /**\n * @generated from field: common.BaseResponse base_response = 1;\n */\n baseResponse?: BaseResponse;\n\n /**\n * @generated from field: optional string token = 2;\n */\n token?: string;\n\n /**\n * @generated from field: optional bool active_account = 3;\n */\n activeAccount?: boolean;\n};\n\n/**\n * Describes the message auth.PlayerLoginOrRegisterWithFacebookRes.\n * Use `create(PlayerLoginOrRegisterWithFacebookResSchema)` to create a new message.\n */\nexport const PlayerLoginOrRegisterWithFacebookResSchema: GenMessage<PlayerLoginOrRegisterWithFacebookRes> = /*@__PURE__*/\n messageDesc(file_auth_PlayerLoginOrRegisterWithFacebook, 1);\n\n","// @generated by protoc-gen-es v2.10.2 with parameter \"target=ts\"\n// @generated from file auth/GetFacebookConsentPage.proto (package auth, syntax proto3)\n/* eslint-disable */\n\nimport type { GenFile, GenMessage } from \"@bufbuild/protobuf/codegenv2\";\nimport { fileDesc, messageDesc } from \"@bufbuild/protobuf/codegenv2\";\nimport type { BaseResponse } from \"../common/Common_pb\";\nimport { file_common_Common } from \"../common/Common_pb\";\nimport type { Message } from \"@bufbuild/protobuf\";\n\n/**\n * Describes the file auth/GetFacebookConsentPage.proto.\n */\nexport const file_auth_GetFacebookConsentPage: GenFile = /*@__PURE__*/\n fileDesc(\"CiFhdXRoL0dldEZhY2Vib29rQ29uc2VudFBhZ2UucHJvdG8SBGF1dGgibgoZR2V0RmFjZWJvb2tDb25zZW50UGFnZVJlcRITCgtwbGF0Zm9ybV9pZBgBIAEoCRITCgtmYWNlYm9va19pZBgCIAEoCRITCgtmaW5nZXJwcmludBgDIAEoCRISCgppc19iaW5kaW5nGAQgASgIIuoBChlHZXRGYWNlYm9va0NvbnNlbnRQYWdlUmVzEisKDWJhc2VfcmVzcG9uc2UYASABKAsyFC5jb21tb24uQmFzZVJlc3BvbnNlEjIKBGRhdGEYAiABKAsyJC5hdXRoLkdldEZhY2Vib29rQ29uc2VudFBhZ2VSZXMuRGF0YRpsCgREYXRhEhAKCGF1dGhfdXJsGAEgASgJEiMKG3NraXBfZmFjZWJvb2tfYXV0aG9yaXphdGlvbhgCIAEoCBITCgtmYWNlYm9va19pZBgDIAEoCRIYChBmYWNlYm9va19hY2NvdW50GAQgASgJYgZwcm90bzM\", [file_common_Common]);\n\n/**\n * @generated from message auth.GetFacebookConsentPageReq\n */\nexport type GetFacebookConsentPageReq = Message<\"auth.GetFacebookConsentPageReq\"> & {\n /**\n * @generated from field: string platform_id = 1;\n */\n platformId: string;\n\n /**\n * @generated from field: string facebook_id = 2;\n */\n facebookId: string;\n\n /**\n * @generated from field: string fingerprint = 3;\n */\n fingerprint: string;\n\n /**\n * @generated from field: bool is_binding = 4;\n */\n isBinding: boolean;\n};\n\n/**\n * Describes the message auth.GetFacebookConsentPageReq.\n * Use `create(GetFacebookConsentPageReqSchema)` to create a new message.\n */\nexport const GetFacebookConsentPageReqSchema: GenMessage<GetFacebookConsentPageReq> = /*@__PURE__*/\n messageDesc(file_auth_GetFacebookConsentPage, 0);\n\n/**\n * @generated from message auth.GetFacebookConsentPageRes\n */\nexport type GetFacebookConsentPageRes = Message<\"auth.GetFacebookConsentPageRes\"> & {\n /**\n * @generated from field: common.BaseResponse base_response = 1;\n */\n baseResponse?: BaseResponse;\n\n /**\n * @generated from field: auth.GetFacebookConsentPageRes.Data data = 2;\n */\n data?: GetFacebookConsentPageRes_Data;\n};\n\n/**\n * Describes the message auth.GetFacebookConsentPageRes.\n * Use `create(GetFacebookConsentPageResSchema)` to create a new message.\n */\nexport const GetFacebookConsentPageResSchema: GenMessage<GetFacebookConsentPageRes> = /*@__PURE__*/\n messageDesc(file_auth_GetFacebookConsentPage, 1);\n\n/**\n * @generated from message auth.GetFacebookConsentPageRes.Data\n */\nexport type GetFacebookConsentPageRes_Data = Message<\"auth.GetFacebookConsentPageRes.Data\"> & {\n /**\n * @generated from field: string auth_url = 1;\n */\n authUrl: string;\n\n /**\n * @generated from field: bool skip_facebook_authorization = 2;\n */\n skipFacebookAuthorization: boolean;\n\n /**\n * @generated from field: string facebook_id = 3;\n */\n facebookId: string;\n\n /**\n * @generated from field: string facebook_account = 4;\n */\n facebookAccount: string;\n};\n\n/**\n * Describes the message auth.GetFacebookConsentPageRes.Data.\n * Use `create(GetFacebookConsentPageRes_DataSchema)` to create a new message.\n */\nexport const GetFacebookConsentPageRes_DataSchema: GenMessage<GetFacebookConsentPageRes_Data> = /*@__PURE__*/\n messageDesc(file_auth_GetFacebookConsentPage, 1, 0);\n\n","// @generated by protoc-gen-es v2.10.2 with parameter \"target=ts\"\n// @generated from file auth/FacebookAuthorization.proto (package auth, syntax proto3)\n/* eslint-disable */\n\nimport type { GenFile, GenMessage } from \"@bufbuild/protobuf/codegenv2\";\nimport { fileDesc, messageDesc } from \"@bufbuild/protobuf/codegenv2\";\nimport type { BaseResponse } from \"../common/Common_pb\";\nimport { file_common_Common } from \"../common/Common_pb\";\nimport type { Message } from \"@bufbuild/protobuf\";\n\n/**\n * Describes the file auth/FacebookAuthorization.proto.\n */\nexport const file_auth_FacebookAuthorization: GenFile = /*@__PURE__*/\n fileDesc(\"CiBhdXRoL0ZhY2Vib29rQXV0aG9yaXphdGlvbi5wcm90bxIEYXV0aCJRChhGYWNlYm9va0F1dGhvcml6YXRpb25SZXESEwoLcGxhdGZvcm1faWQYASABKAkSDAoEY29kZRgCIAEoCRISCgppc19iaW5kaW5nGAMgASgIIuEBChhGYWNlYm9va0F1dGhvcml6YXRpb25SZXMSKwoNYmFzZV9yZXNwb25zZRgBIAEoCzIULmNvbW1vbi5CYXNlUmVzcG9uc2USMQoEZGF0YRgCIAEoCzIjLmF1dGguRmFjZWJvb2tBdXRob3JpemF0aW9uUmVzLkRhdGEaZQoERGF0YRITCgtmYWNlYm9va19pZBgBIAEoCRIYChBmYWNlYm9va19hY2NvdW50GAIgASgJEhsKDmFjdGl2ZV9hY2NvdW50GAMgASgISACIAQFCEQoPX2FjdGl2ZV9hY2NvdW50YgZwcm90bzM\", [file_common_Common]);\n\n/**\n * @generated from message auth.FacebookAuthorizationReq\n */\nexport type FacebookAuthorizationReq = Message<\"auth.FacebookAuthorizationReq\"> & {\n /**\n * @generated from field: string platform_id = 1;\n */\n platformId: string;\n\n /**\n * @generated from field: string code = 2;\n */\n code: string;\n\n /**\n * @generated from field: bool is_binding = 3;\n */\n isBinding: boolean;\n};\n\n/**\n * Describes the message auth.FacebookAuthorizationReq.\n * Use `create(FacebookAuthorizationReqSchema)` to create a new message.\n */\nexport const FacebookAuthorizationReqSchema: GenMessage<FacebookAuthorizationReq> = /*@__PURE__*/\n messageDesc(file_auth_FacebookAuthorization, 0);\n\n/**\n * @generated from message auth.FacebookAuthorizationRes\n */\nexport type FacebookAuthorizationRes = Message<\"auth.FacebookAuthorizationRes\"> & {\n /**\n * @generated from field: common.BaseResponse base_response = 1;\n */\n baseResponse?: BaseResponse;\n\n /**\n * @generated from field: auth.FacebookAuthorizationRes.Data data = 2;\n */\n data?: FacebookAuthorizationRes_Data;\n};\n\n/**\n * Describes the message auth.FacebookAuthorizationRes.\n * Use `create(FacebookAuthorizationResSchema)` to create a new message.\n */\nexport const FacebookAuthorizationResSchema: GenMessage<FacebookAuthorizationRes> = /*@__PURE__*/\n messageDesc(file_auth_FacebookAuthorization, 1);\n\n/**\n * @generated from message auth.FacebookAuthorizationRes.Data\n */\nexport type FacebookAuthorizationRes_Data = Message<\"auth.FacebookAuthorizationRes.Data\"> & {\n /**\n * @generated from field: string facebook_id = 1;\n */\n facebookId: string;\n\n /**\n * @generated from field: string facebook_account = 2;\n */\n facebookAccount: string;\n\n /**\n * @generated from field: optional bool active_account = 3;\n */\n activeAccount?: boolean;\n};\n\n/**\n * Describes the message auth.FacebookAuthorizationRes.Data.\n * Use `create(FacebookAuthorizationRes_DataSchema)` to create a new message.\n */\nexport const FacebookAuthorizationRes_DataSchema: GenMessage<FacebookAuthorizationRes_Data> = /*@__PURE__*/\n messageDesc(file_auth_FacebookAuthorization, 1, 0);\n\n","// @generated by protoc-gen-es v2.10.2 with parameter \"target=ts\"\n// @generated from file auth/GetFacebookFriendList.proto (package auth, syntax proto3)\n/* eslint-disable */\n\nimport type { GenFile, GenMessage } from \"@bufbuild/protobuf/codegenv2\";\nimport { fileDesc, messageDesc } from \"@bufbuild/protobuf/codegenv2\";\nimport type { BaseResponse } from \"../common/Common_pb\";\nimport { file_common_Common } from \"../common/Common_pb\";\nimport type { Message } from \"@bufbuild/protobuf\";\n\n/**\n * Describes the file auth/GetFacebookFriendList.proto.\n */\nexport const file_auth_GetFacebookFriendList: GenFile = /*@__PURE__*/\n fileDesc(\"CiBhdXRoL0dldEZhY2Vib29rRnJpZW5kTGlzdC5wcm90bxIEYXV0aCItChhHZXRGYWNlYm9va0ZyaWVuZExpc3RSZXESEQoJcGxheWVyX2lkGAEgASgJIlsKGEdldEZhY2Vib29rRnJpZW5kTGlzdFJlcxIrCg1iYXNlX3Jlc3BvbnNlGAEgASgLMhQuY29tbW9uLkJhc2VSZXNwb25zZRISCgpwbGF5ZXJfaWRzGAIgAygJYgZwcm90bzM\", [file_common_Common]);\n\n/**\n * @generated from message auth.GetFacebookFriendListReq\n */\nexport type GetFacebookFriendListReq = Message<\"auth.GetFacebookFriendListReq\"> & {\n /**\n * @generated from field: string player_id = 1;\n */\n playerId: string;\n};\n\n/**\n * Describes the message auth.GetFacebookFriendListReq.\n * Use `create(GetFacebookFriendListReqSchema)` to create a new message.\n */\nexport const GetFacebookFriendListReqSchema: GenMessage<GetFacebookFriendListReq> = /*@__PURE__*/\n messageDesc(file_auth_GetFacebookFriendList, 0);\n\n/**\n * @generated from message auth.GetFacebookFriendListRes\n */\nexport type GetFacebookFriendListRes = Message<\"auth.GetFacebookFriendListRes\"> & {\n /**\n * @generated from field: common.BaseResponse base_response = 1;\n */\n baseResponse?: BaseResponse;\n\n /**\n * @generated from field: repeated string player_ids = 2;\n */\n playerIds: string[];\n};\n\n/**\n * Describes the message auth.GetFacebookFriendListRes.\n * Use `create(GetFacebookFriendListResSchema)` to create a new message.\n */\nexport const GetFacebookFriendListResSchema: GenMessage<GetFacebookFriendListRes> = /*@__PURE__*/\n messageDesc(file_auth_GetFacebookFriendList, 1);\n\n","// @generated by protoc-gen-es v2.10.2 with parameter \"target=ts\"\n// @generated from file auth/ManualFetchFacebookFriends.proto (package auth, syntax proto3)\n/* eslint-disable */\n\nimport type { GenFile, GenMessage } from \"@bufbuild/protobuf/codegenv2\";\nimport { fileDesc, messageDesc } from \"@bufbuild/protobuf/codegenv2\";\nimport type { BaseResponse } from \"../common/Common_pb\";\nimport { file_common_Common } from \"../common/Common_pb\";\nimport type { Message } from \"@bufbuild/protobuf\";\n\n/**\n * Describes the file auth/ManualFetchFacebookFriends.proto.\n */\nexport const file_auth_ManualFetchFacebookFriends: GenFile = /*@__PURE__*/\n fileDesc(\"CiVhdXRoL01hbnVhbEZldGNoRmFjZWJvb2tGcmllbmRzLnByb3RvEgRhdXRoIjIKHU1hbnVhbEZldGNoRmFjZWJvb2tGcmllbmRzUmVxEhEKCXBsYXllcl9pZBgBIAEoCSJgCh1NYW51YWxGZXRjaEZhY2Vib29rRnJpZW5kc1JlcxIrCg1iYXNlX3Jlc3BvbnNlGAEgASgLMhQuY29tbW9uLkJhc2VSZXNwb25zZRISCgpwbGF5ZXJfaWRzGAIgAygJYgZwcm90bzM\", [file_common_Common]);\n\n/**\n * @generated from message auth.ManualFetchFacebookFriendsReq\n */\nexport type ManualFetchFacebookFriendsReq = Message<\"auth.ManualFetchFacebookFriendsReq\"> & {\n /**\n * @generated from field: string player_id = 1;\n */\n playerId: string;\n};\n\n/**\n * Describes the message auth.ManualFetchFacebookFriendsReq.\n * Use `create(ManualFetchFacebookFriendsReqSchema)` to create a new message.\n */\nexport const ManualFetchFacebookFriendsReqSchema: GenMessage<ManualFetchFacebookFriendsReq> = /*@__PURE__*/\n messageDesc(file_auth_ManualFetchFacebookFriends, 0);\n\n/**\n * @generated from message auth.ManualFetchFacebookFriendsRes\n */\nexport type ManualFetchFacebookFriendsRes = Message<\"auth.ManualFetchFacebookFriendsRes\"> & {\n /**\n * @generated from field: common.BaseResponse base_response = 1;\n */\n baseResponse?: BaseResponse;\n\n /**\n * @generated from field: repeated string player_ids = 2;\n */\n playerIds: string[];\n};\n\n/**\n * Describes the message auth.ManualFetchFacebookFriendsRes.\n * Use `create(ManualFetchFacebookFriendsResSchema)` to create a new message.\n */\nexport const ManualFetchFacebookFriendsResSchema: GenMessage<ManualFetchFacebookFriendsRes> = /*@__PURE__*/\n messageDesc(file_auth_ManualFetchFacebookFriends, 1);\n\n","// @generated by protoc-gen-es v2.10.2 with parameter \"target=ts\"\n// @generated from file auth/BindFacebookAccount.proto (package auth, syntax proto3)\n/* eslint-disable */\n\nimport type { GenFile, GenMessage } from \"@bufbuild/protobuf/codegenv2\";\nimport { fileDesc, messageDesc } from \"@bufbuild/protobuf/codegenv2\";\nimport { file_common_Common } from \"../common/Common_pb\";\nimport type { Message } from \"@bufbuild/protobuf\";\n\n/**\n * Describes the file auth/BindFacebookAccount.proto.\n */\nexport const file_auth_BindFacebookAccount: GenFile = /*@__PURE__*/\n fileDesc(\"Ch5hdXRoL0JpbmRGYWNlYm9va0FjY291bnQucHJvdG8SBGF1dGgiLQoWQmluZEZhY2Vib29rQWNjb3VudFJlcRITCgtmYWNlYm9va19pZBgBIAEoCWIGcHJvdG8z\", [file_common_Common]);\n\n/**\n * @generated from message auth.BindFacebookAccountReq\n */\nexport type BindFacebookAccountReq = Message<\"auth.BindFacebookAccountReq\"> & {\n /**\n * @generated from field: string facebook_id = 1;\n */\n facebookId: string;\n};\n\n/**\n * Describes the message auth.BindFacebookAccountReq.\n * Use `create(BindFacebookAccountReqSchema)` to create a new message.\n */\nexport const BindFacebookAccountReqSchema: GenMessage<BindFacebookAccountReq> = /*@__PURE__*/\n messageDesc(file_auth_BindFacebookAccount, 0);\n\n","// @generated by protoc-gen-es v2.10.2 with parameter \"target=ts\"\n// @generated from file auth/UnbindFacebookAccount.proto (package auth, syntax proto3)\n/* eslint-disable */\n\nimport type { GenFile, GenMessage } from \"@bufbuild/protobuf/codegenv2\";\nimport { fileDesc, messageDesc } from \"@bufbuild/protobuf/codegenv2\";\nimport type { BaseResponse } from \"../common/Common_pb\";\nimport { file_common_Common } from \"../common/Common_pb\";\nimport type { Message } from \"@bufbuild/protobuf\";\n\n/**\n * Describes the file auth/UnbindFacebookAccount.proto.\n */\nexport const file_auth_UnbindFacebookAccount: GenFile = /*@__PURE__*/\n fileDesc(\"CiBhdXRoL1VuYmluZEZhY2Vib29rQWNjb3VudC5wcm90bxIEYXV0aCKSAQoYVW5iaW5kRmFjZWJvb2tBY2NvdW50UmVzEisKDWJhc2VfcmVzcG9uc2UYASABKAsyFC5jb21tb24uQmFzZVJlc3BvbnNlEjEKBGRhdGEYAiABKAsyIy5hdXRoLlVuYmluZEZhY2Vib29rQWNjb3VudFJlcy5EYXRhGhYKBERhdGESDgoGc3RhdHVzGAEgASgJYgZwcm90bzM\", [file_common_Common]);\n\n/**\n * @generated from message auth.UnbindFacebookAccountRes\n */\nexport type UnbindFacebookAccountRes = Message<\"auth.UnbindFacebookAccountRes\"> & {\n /**\n * @generated from field: common.BaseResponse base_response = 1;\n */\n baseResponse?: BaseResponse;\n\n /**\n * @generated from field: auth.UnbindFacebookAccountRes.Data data = 2;\n */\n data?: UnbindFacebookAccountRes_Data;\n};\n\n/**\n * Describes the message auth.UnbindFacebookAccountRes.\n * Use `create(UnbindFacebookAccountResSchema)` to create a new message.\n */\nexport const UnbindFacebookAccountResSchema: GenMessage<UnbindFacebookAccountRes> = /*@__PURE__*/\n messageDesc(file_auth_UnbindFacebookAccount, 0);\n\n/**\n * @generated from message auth.UnbindFacebookAccountRes.Data\n */\nexport type UnbindFacebookAccountRes_Data = Message<\"auth.UnbindFacebookAccountRes.Data\"> & {\n /**\n * @generated from field: string status = 1;\n */\n status: string;\n};\n\n/**\n * Describes the message auth.UnbindFacebookAccountRes.Data.\n * Use `create(UnbindFacebookAccountRes_DataSchema)` to create a new message.\n */\nexport const UnbindFacebookAccountRes_DataSchema: GenMessage<UnbindFacebookAccountRes_Data> = /*@__PURE__*/\n messageDesc(file_auth_UnbindFacebookAccount, 0, 0);\n\n","// @generated by protoc-gen-es v2.10.2 with parameter \"target=ts\"\n// @generated from file auth/FacebookVerifyPhoneNumber.proto (package auth, syntax proto3)\n/* eslint-disable */\n\nimport type { GenFile, GenMessage } from \"@bufbuild/protobuf/codegenv2\";\nimport { fileDesc, messageDesc } from \"@bufbuild/protobuf/codegenv2\";\nimport { file_common_Common } from \"../common/Common_pb\";\nimport type { Message } from \"@bufbuild/protobuf\";\n\n/**\n * Describes the file auth/FacebookVerifyPhoneNumber.proto.\n */\nexport const file_auth_FacebookVerifyPhoneNumber: GenFile = /*@__PURE__*/\n fileDesc(\"CiRhdXRoL0ZhY2Vib29rVmVyaWZ5UGhvbmVOdW1iZXIucHJvdG8SBGF1dGgiLAocRmFjZWJvb2tWZXJpZnlQaG9uZU51bWJlclJlcRIMCgRjb2RlGAEgASgJYgZwcm90bzM\", [file_common_Common]);\n\n/**\n * @generated from message auth.FacebookVerifyPhoneNumberReq\n */\nexport type FacebookVerifyPhoneNumberReq = Message<\"auth.FacebookVerifyPhoneNumberReq\"> & {\n /**\n * @generated from field: string code = 1;\n */\n code: string;\n};\n\n/**\n * Describes the message auth.FacebookVerifyPhoneNumberReq.\n * Use `create(FacebookVerifyPhoneNumberReqSchema)` to create a new message.\n */\nexport const FacebookVerifyPhoneNumberReqSchema: GenMessage<FacebookVerifyPhoneNumberReq> = /*@__PURE__*/\n messageDesc(file_auth_FacebookVerifyPhoneNumber, 0);\n\n","// @generated by protoc-gen-es v2.10.2 with parameter \"target=ts\"\n// @generated from file auth/FrontendPlayerService.proto (package auth, syntax proto3)\n/* eslint-disable */\n\nimport type { GenFile, GenService } from \"@bufbuild/protobuf/codegenv2\";\nimport { fileDesc, serviceDesc } from \"@bufbuild/protobuf/codegenv2\";\nimport type { VerifyPasswordReqSchema, VerifyPasswordResSchema } from \"./VerifyPassword_pb\";\nimport { file_auth_VerifyPassword } from \"./VerifyPassword_pb\";\n\n/**\n * Describes the file auth/FrontendPlayerService.proto.\n */\nexport const file_auth_FrontendPlayerService: GenFile = /*@__PURE__*/\n fileDesc(\"CiBhdXRoL0Zyb250ZW5kUGxheWVyU2VydmljZS5wcm90bxIEYXV0aDJdChVGcm9udGVuZFBsYXllclNlcnZpY2USRAoOVmVyaWZ5UGFzc3dvcmQSFy5hdXRoLlZlcmlmeVBhc3N3b3JkUmVxGhcuYXV0aC5WZXJpZnlQYXNzd29yZFJlcyIAYgZwcm90bzM\", [file_auth_VerifyPassword]);\n\n/**\n * @generated from service auth.FrontendPlayerService\n */\nexport const FrontendPlayerService: GenService<{\n /**\n * @generated from rpc auth.FrontendPlayerService.VerifyPassword\n */\n verifyPassword: {\n methodKind: \"unary\";\n input: typeof VerifyPasswordReqSchema;\n output: typeof VerifyPasswordResSchema;\n },\n}> = /*@__PURE__*/\n serviceDesc(file_auth_FrontendPlayerService, 0);\n\n","// @generated by protoc-gen-es v2.10.2 with parameter \"target=ts\"\n// @generated from file auth/VerifyPassword.proto (package auth, syntax proto3)\n/* eslint-disable */\n\nimport type { GenFile, GenMessage } from \"@bufbuild/protobuf/codegenv2\";\nimport { fileDesc, messageDesc } from \"@bufbuild/protobuf/codegenv2\";\nimport type { BaseResponse } from \"../common/Common_pb\";\nimport { file_common_Common } from \"../common/Common_pb\";\nimport type { Message } from \"@bufbuild/protobuf\";\n\n/**\n * Describes the file auth/VerifyPassword.proto.\n */\nexport const file_auth_VerifyPassword: GenFile = /*@__PURE__*/\n fileDesc(\"ChlhdXRoL1ZlcmlmeVBhc3N3b3JkLnByb3RvEgRhdXRoIiUKEVZlcmlmeVBhc3N3b3JkUmVxEhAKCHBhc3N3b3JkGAEgASgJIoYBChFWZXJpZnlQYXNzd29yZFJlcxIrCg1iYXNlX3Jlc3BvbnNlGAEgASgLMhQuY29tbW9uLkJhc2VSZXNwb25zZRIqCgRkYXRhGAIgASgLMhwuYXV0aC5WZXJpZnlQYXNzd29yZFJlcy5EYXRhGhgKBERhdGESEAoIaXNfdmFsaWQYASABKAhiBnByb3RvMw\", [file_common_Common]);\n\n/**\n * @generated from message auth.VerifyPasswordReq\n */\nexport type VerifyPasswordReq = Message<\"auth.VerifyPasswordReq\"> & {\n /**\n * @generated from field: string password = 1;\n */\n password: string;\n};\n\n/**\n * Describes the message auth.VerifyPasswordReq.\n * Use `create(VerifyPasswordReqSchema)` to create a new message.\n */\nexport const VerifyPasswordReqSchema: GenMessage<VerifyPasswordReq> = /*@__PURE__*/\n messageDesc(file_auth_VerifyPassword, 0);\n\n/**\n * @generated from message auth.VerifyPasswordRes\n */\nexport type VerifyPasswordRes = Message<\"auth.VerifyPasswordRes\"> & {\n /**\n * @generated from field: common.BaseResponse base_response = 1;\n */\n baseResponse?: BaseResponse;\n\n /**\n * @generated from field: auth.VerifyPasswordRes.Data data = 2;\n */\n data?: VerifyPasswordRes_Data;\n};\n\n/**\n * Describes the message auth.VerifyPasswordRes.\n * Use `create(VerifyPasswordResSchema)` to create a new message.\n */\nexport const VerifyPasswordResSchema: GenMessage<VerifyPasswordRes> = /*@__PURE__*/\n messageDesc(file_auth_VerifyPassword, 1);\n\n/**\n * @generated from message auth.VerifyPasswordRes.Data\n */\nexport type VerifyPasswordRes_Data = Message<\"auth.VerifyPasswordRes.Data\"> & {\n /**\n * @generated from field: bool is_valid = 1;\n */\n isValid: boolean;\n};\n\n/**\n * Describes the message auth.VerifyPasswordRes.Data.\n * Use `create(VerifyPasswordRes_DataSchema)` to create a new message.\n */\nexport const VerifyPasswordRes_DataSchema: GenMessage<VerifyPasswordRes_Data> = /*@__PURE__*/\n messageDesc(file_auth_VerifyPassword, 1, 0);\n\n","// @generated by protoc-gen-es v2.10.2 with parameter \"target=ts\"\n// @generated from file auth/GLifeService.proto (package auth, syntax proto3)\n/* eslint-disable */\n\nimport type { GenFile, GenService } from \"@bufbuild/protobuf/codegenv2\";\nimport { fileDesc, serviceDesc } from \"@bufbuild/protobuf/codegenv2\";\nimport type { GLifeAuthReqSchema, GLifeAuthResSchema } from \"./GLifeAuth_pb\";\nimport { file_auth_GLifeAuth } from \"./GLifeAuth_pb\";\nimport type { PlayerLoginWithGLifeReqSchema, PlayerLoginWithGLifeResSchema } from \"./PlayerLoginWithGLife_pb\";\nimport { file_auth_PlayerLoginWithGLife } from \"./PlayerLoginWithGLife_pb\";\nimport type { PlayerLoginOrRegisterWithGLifeReqSchema, PlayerLoginOrRegisterWithGLifeResSchema } from \"./PlayerLoginOrRegisterWithGLife_pb\";\nimport { file_auth_PlayerLoginOrRegisterWithGLife } from \"./PlayerLoginOrRegisterWithGLife_pb\";\n\n/**\n * Describes the file auth/GLifeService.proto.\n */\nexport const file_auth_GLifeService: GenFile = /*@__PURE__*/\n fileDesc(\"ChdhdXRoL0dMaWZlU2VydmljZS5wcm90bxIEYXV0aDKNAgoMR0xpZmVTZXJ2aWNlEjMKCUdMaWZlQXV0aBISLmF1dGguR0xpZmVBdXRoUmVxGhIuYXV0aC5HTGlmZUF1dGhSZXMSVAoUUGxheWVyTG9naW5XaXRoR0xpZmUSHS5hdXRoLlBsYXllckxvZ2luV2l0aEdMaWZlUmVxGh0uYXV0aC5QbGF5ZXJMb2dpbldpdGhHTGlmZVJlcxJyCh5QbGF5ZXJMb2dpbk9yUmVnaXN0ZXJXaXRoR0xpZmUSJy5hdXRoLlBsYXllckxvZ2luT3JSZWdpc3RlcldpdGhHTGlmZVJlcRonLmF1dGguUGxheWVyTG9naW5PclJlZ2lzdGVyV2l0aEdMaWZlUmVzYgZwcm90bzM\", [file_auth_GLifeAuth, file_auth_PlayerLoginWithGLife, file_auth_PlayerLoginOrRegisterWithGLife]);\n\n/**\n * @generated from service auth.GLifeService\n */\nexport const GLifeService: GenService<{\n /**\n * @generated from rpc auth.GLifeService.GLifeAuth\n */\n gLifeAuth: {\n methodKind: \"unary\";\n input: typeof GLifeAuthReqSchema;\n output: typeof GLifeAuthResSchema;\n },\n /**\n * @generated from rpc auth.GLifeService.PlayerLoginWithGLife\n */\n playerLoginWithGLife: {\n methodKind: \"unary\";\n input: typeof PlayerLoginWithGLifeReqSchema;\n output: typeof PlayerLoginWithGLifeResSchema;\n },\n /**\n * @generated from rpc auth.GLifeService.PlayerLoginOrRegisterWithGLife\n */\n playerLoginOrRegisterWithGLife: {\n methodKind: \"unary\";\n input: typeof PlayerLoginOrRegisterWithGLifeReqSchema;\n output: typeof PlayerLoginOrRegisterWithGLifeResSchema;\n },\n}> = /*@__PURE__*/\n serviceDesc(file_auth_GLifeService, 0);\n\n","// @generated by protoc-gen-es v2.10.2 with parameter \"target=ts\"\n// @generated from file auth/GLifeAuth.proto (package auth, syntax proto3)\n/* eslint-disable */\n\nimport type { GenFile, GenMessage } from \"@bufbuild/protobuf/codegenv2\";\nimport { fileDesc, messageDesc } from \"@bufbuild/protobuf/codegenv2\";\nimport type { BaseResponse } from \"../common/Common_pb\";\nimport { file_common_Common } from \"../common/Common_pb\";\nimport type { Message } from \"@bufbuild/protobuf\";\n\n/**\n * Describes the file auth/GLifeAuth.proto.\n */\nexport const file_auth_GLifeAuth: GenFile = /*@__PURE__*/\n fileDesc(\"ChRhdXRoL0dMaWZlQXV0aC5wcm90bxIEYXV0aCK0AQoMR0xpZmVBdXRoUmVxEhEKCWF1dGhfY29kZRgBIAEoCRITCgtwbGF0Zm9ybV9pZBgCIAEoCRINCgVwaG9uZRgDIAEoCRITCgthcHBseV90b2tlbhgEIAEoCBIUCgxhY2Nlc3NfdG9rZW4YBSABKAkSFQoNcmVmcmVzaF90b2tlbhgGIAEoCRIUCgxjdXJyZW50X3RpbWUYByABKAkSFQoNdXNlX2F1dGhfY29kZRgIIAEoCCKUBAoMR0xpZmVBdXRoUmVzEisKDWJhc2VfcmVzcG9uc2UYASABKAsyFC5jb21tb24uQmFzZVJlc3BvbnNlEi4KBGRhdGEYAiABKAsyIC5hdXRoLkdMaWZlQXV0aFJlcy5HTGlmZUF1dGhEYXRhGqYDCg1HTGlmZUF1dGhEYXRhEhoKEmlzX3BsYXllcl9taWdyYXRlZBgBIAEoCBIWCg5waG90b19pZDFfdHlwZRgCIAEoBRIRCglyZWFsX25hbWUYAyABKAkSDQoFZW1haWwYBCABKAkSFAoMcGhvbmVfbnVtYmVyGAUgASgJEhEKCXBob3RvX2lkMRgGIAEoCRIUCgx2ZXJpZnlfcGhvdG8YByABKAkSCwoDZG9iGAggASgJEhMKC25hdGlvbmFsaXR5GAkgASgJEg8KB2FkZHJlc3MYCiABKAkSEwoLcGxheWVyX2NpdHkYCyABKAkSFwoPcGxheWVyX3Byb3ZpbmNlGAwgASgJEhAKCHBvc3Rjb2RlGA0gASgJEhYKDmlkX2NhcmRfbnVtYmVyGA4gASgJEhcKD3NvdXJjZV9vZl9mdW5kcxgPIAEoCRIWCg5wbGFjZV9vZl9iaXJ0aBgQIAEoCRIWCg5uYXR1cmVfb2Zfd29yaxgRIAEoCRITCgtjdXN0b21lcl9pZBgSIAEoCRIXCg9pc19wbGF5ZXJfZXhpc3QYEyABKAhiBnByb3RvMw\", [file_common_Common]);\n\n/**\n * @generated from message auth.GLifeAuthReq\n */\nexport type GLifeAuthReq = Message<\"auth.GLifeAuthReq\"> & {\n /**\n * @generated from field: string auth_code = 1;\n */\n authCode: string;\n\n /**\n * @generated from field: string platform_id = 2;\n */\n platformId: string;\n\n /**\n * @generated from field: string phone = 3;\n */\n phone: string;\n\n /**\n * @generated from field: bool apply_token = 4;\n */\n applyToken: boolean;\n\n /**\n * @generated from field: string access_token = 5;\n */\n accessToken: string;\n\n /**\n * @generated from field: string refresh_token = 6;\n */\n refreshToken: string;\n\n /**\n * @generated from field: string current_time = 7;\n */\n currentTime: string;\n\n /**\n * @generated from field: bool use_auth_code = 8;\n */\n useAuthCode: boolean;\n};\n\n/**\n * Describes the message auth.GLifeAuthReq.\n * Use `create(GLifeAuthReqSchema)` to create a new message.\n */\nexport const GLifeAuthReqSchema: GenMessage<GLifeAuthReq> = /*@__PURE__*/\n messageDesc(file_auth_GLifeAuth, 0);\n\n/**\n * @generated from message auth.GLifeAuthRes\n */\nexport type GLifeAuthRes = Message<\"auth.GLifeAuthRes\"> & {\n /**\n * @generated from field: common.BaseResponse base_response = 1;\n */\n baseResponse?: BaseResponse;\n\n /**\n * @generated from field: auth.GLifeAuthRes.GLifeAuthData data = 2;\n */\n data?: GLifeAuthRes_GLifeAuthData;\n};\n\n/**\n * Describes the message auth.GLifeAuthRes.\n * Use `create(GLifeAuthResSchema)` to create a new message.\n */\nexport const GLifeAuthResSchema: GenMessage<GLifeAuthRes> = /*@__PURE__*/\n messageDesc(file_auth_GLifeAuth, 1);\n\n/**\n * @generated from message auth.GLifeAuthRes.GLifeAuthData\n */\nexport type GLifeAuthRes_GLifeAuthData = Message<\"auth.GLifeAuthRes.GLifeAuthData\"> & {\n /**\n * @generated from field: bool is_player_migrated = 1;\n */\n isPlayerMigrated: boolean;\n\n /**\n * @generated from field: int32 photo_id1_type = 2;\n */\n photoId1Type: number;\n\n /**\n * @generated from field: string real_name = 3;\n */\n realName: string;\n\n /**\n * @generated from field: string email = 4;\n */\n email: string;\n\n /**\n * @generated from field: string phone_number = 5;\n */\n phoneNumber: string;\n\n /**\n * @generated from field: string photo_id1 = 6;\n */\n photoId1: string;\n\n /**\n * @generated from field: string verify_photo = 7;\n */\n verifyPhoto: string;\n\n /**\n * @generated from field: string dob = 8;\n */\n dob: string;\n\n /**\n * @generated from field: string nationality = 9;\n */\n nationality: string;\n\n /**\n * @generated from field: string address = 10;\n */\n address: string;\n\n /**\n * @generated from field: string player_city = 11;\n */\n playerCity: string;\n\n /**\n * @generated from field: string player_province = 12;\n */\n playerProvince: string;\n\n /**\n * @generated from field: string postcode = 13;\n */\n postcode: string;\n\n /**\n * @generated from field: string id_card_number = 14;\n */\n idCardNumber: string;\n\n /**\n * @generated from field: string source_of_funds = 15;\n */\n sourceOfFunds: string;\n\n /**\n * @generated from field: string place_of_birth = 16;\n */\n placeOfBirth: string;\n\n /**\n * @generated from field: string nature_of_work = 17;\n */\n natureOfWork: string;\n\n /**\n * @generated from field: string customer_id = 18;\n */\n customerId: string;\n\n /**\n * @generated from field: bool is_player_exist = 19;\n */\n isPlayerExist: boolean;\n};\n\n/**\n * Describes the message auth.GLifeAuthRes.GLifeAuthData.\n * Use `create(GLifeAuthRes_GLifeAuthDataSchema)` to create a new message.\n */\nexport const GLifeAuthRes_GLifeAuthDataSchema: GenMessage<GLifeAuthRes_GLifeAuthData> = /*@__PURE__*/\n messageDesc(file_auth_GLifeAuth, 1, 0);\n\n","// @generated by protoc-gen-es v2.10.2 with parameter \"target=ts\"\n// @generated from file auth/PlayerLoginWithGLife.proto (package auth, syntax proto3)\n/* eslint-disable */\n\nimport type { GenFile, GenMessage } from \"@bufbuild/protobuf/codegenv2\";\nimport { fileDesc, messageDesc } from \"@bufbuild/protobuf/codegenv2\";\nimport type { BaseResponse } from \"../common/Common_pb\";\nimport { file_common_Common } from \"../common/Common_pb\";\nimport type { Message } from \"@bufbuild/protobuf\";\n\n/**\n * Describes the file auth/PlayerLoginWithGLife.proto.\n */\nexport const file_auth_PlayerLoginWithGLife: GenFile = /*@__PURE__*/\n fileDesc(\"Ch9hdXRoL1BsYXllckxvZ2luV2l0aEdMaWZlLnByb3RvEgRhdXRoIvABChdQbGF5ZXJMb2dpbldpdGhHTGlmZVJlcRINCgVwaG9uZRgBIAEoCRIVCg1jbGllbnRfZG9tYWluGAIgASgJEhMKC2RldmljZV90eXBlGAMgASgFEhMKC3BsYXRmb3JtX2lkGAQgASgJEhMKC2N1c3RvbWVyX2lkGAUgASgJEhMKC2dfbGlmZV9kYXRhGAYgASgJEhEKCWF1dGhfY29kZRgHIAEoCRISCgppc193ZWJzaXRlGAggASgIEhIKCnNvdXJjZV91cmwYCSABKAkSDAoEZV9pZBgKIAEoCRISCgpwYXJ0bmVyX2lkGAsgASgJIlUKF1BsYXllckxvZ2luV2l0aEdMaWZlUmVzEisKDWJhc2VfcmVzcG9uc2UYASABKAsyFC5jb21tb24uQmFzZVJlc3BvbnNlEg0KBXRva2VuGAIgASgJYgZwcm90bzM\", [file_common_Common]);\n\n/**\n * @generated from message auth.PlayerLoginWithGLifeReq\n */\nexport type PlayerLoginWithGLifeReq = Message<\"auth.PlayerLoginWithGLifeReq\"> & {\n /**\n * @generated from field: string phone = 1;\n */\n phone: string;\n\n /**\n * @generated from field: string client_domain = 2;\n */\n clientDomain: string;\n\n /**\n * @generated from field: int32 device_type = 3;\n */\n deviceType: number;\n\n /**\n * @generated from field: string platform_id = 4;\n */\n platformId: string;\n\n /**\n * @generated from field: string customer_id = 5;\n */\n customerId: string;\n\n /**\n * @generated from field: string g_life_data = 6;\n */\n gLifeData: string;\n\n /**\n * @generated from field: string auth_code = 7;\n */\n authCode: string;\n\n /**\n * @generated from field: bool is_website = 8;\n */\n isWebsite: boolean;\n\n /**\n * @generated from field: string source_url = 9;\n */\n sourceUrl: string;\n\n /**\n * @generated from field: string e_id = 10;\n */\n eId: string;\n\n /**\n * @generated from field: string partner_id = 11;\n */\n partnerId: string;\n};\n\n/**\n * Describes the message auth.PlayerLoginWithGLifeReq.\n * Use `create(PlayerLoginWithGLifeReqSchema)` to create a new message.\n */\nexport const PlayerLoginWithGLifeReqSchema: GenMessage<PlayerLoginWithGLifeReq> = /*@__PURE__*/\n messageDesc(file_auth_PlayerLoginWithGLife, 0);\n\n/**\n * @generated from message auth.PlayerLoginWithGLifeRes\n */\nexport type PlayerLoginWithGLifeRes = Message<\"auth.PlayerLoginWithGLifeRes\"> & {\n /**\n * @generated from field: common.BaseResponse base_response = 1;\n */\n baseResponse?: BaseResponse;\n\n /**\n * @generated from field: string token = 2;\n */\n token: string;\n};\n\n/**\n * Describes the message auth.PlayerLoginWithGLifeRes.\n * Use `create(PlayerLoginWithGLifeResSchema)` to create a new message.\n */\nexport const PlayerLoginWithGLifeResSchema: GenMessage<PlayerLoginWithGLifeRes> = /*@__PURE__*/\n messageDesc(file_auth_PlayerLoginWithGLife, 1);\n\n","// @generated by protoc-gen-es v2.10.2 with parameter \"target=ts\"\n// @generated from file auth/PlayerLoginOrRegisterWithGLife.proto (package auth, syntax proto3)\n/* eslint-disable */\n\nimport type { GenFile, GenMessage } from \"@bufbuild/protobuf/codegenv2\";\nimport { fileDesc, messageDesc } from \"@bufbuild/protobuf/codegenv2\";\nimport type { BaseResponse } from \"../common/Common_pb\";\nimport { file_common_Common } from \"../common/Common_pb\";\nimport type { Message } from \"@bufbuild/protobuf\";\n\n/**\n * Describes the file auth/PlayerLoginOrRegisterWithGLife.proto.\n */\nexport const file_auth_PlayerLoginOrRegisterWithGLife: GenFile = /*@__PURE__*/\n fileDesc(\"CilhdXRoL1BsYXllckxvZ2luT3JSZWdpc3RlcldpdGhHTGlmZS5wcm90bxIEYXV0aCKyAQohUGxheWVyTG9naW5PclJlZ2lzdGVyV2l0aEdMaWZlUmVxEhMKC3BsYXRmb3JtX2lkGAEgASgJEhEKCWF1dGhfY29kZRgCIAEoCRISCgpzb3VyY2VfdXJsGAMgASgJEhMKC2RldmljZV90eXBlGAQgASgFEhUKDWNsaWVudF9kb21haW4YBSABKAkSEQoJc2lnbmF0dXJlGAYgASgJEhIKCnBhcnRuZXJfaWQYByABKAkiNgolUGxheWVyTG9naW5PclJlZ2lzdGVyV2l0aEdMaWZlUmVzRGF0YRINCgV0b2tlbhgBIAEoCSKLAQohUGxheWVyTG9naW5PclJlZ2lzdGVyV2l0aEdMaWZlUmVzEisKDWJhc2VfcmVzcG9uc2UYASABKAsyFC5jb21tb24uQmFzZVJlc3BvbnNlEjkKBGRhdGEYAiABKAsyKy5hdXRoLlBsYXllckxvZ2luT3JSZWdpc3RlcldpdGhHTGlmZVJlc0RhdGFiBnByb3RvMw\", [file_common_Common]);\n\n/**\n * @generated from message auth.PlayerLoginOrRegisterWithGLifeReq\n */\nexport type PlayerLoginOrRegisterWithGLifeReq = Message<\"auth.PlayerLoginOrRegisterWithGLifeReq\"> & {\n /**\n * @generated from field: string platform_id = 1;\n */\n platformId: string;\n\n /**\n * @generated from field: string auth_code = 2;\n */\n authCode: string;\n\n /**\n * @generated from field: string source_url = 3;\n */\n sourceUrl: string;\n\n /**\n * @generated from field: int32 device_type = 4;\n */\n deviceType: number;\n\n /**\n * @generated from field: string client_domain = 5;\n */\n clientDomain: string;\n\n /**\n * @generated from field: string signature = 6;\n */\n signature: string;\n\n /**\n * @generated from field: string partner_id = 7;\n */\n partnerId: string;\n};\n\n/**\n * Describes the message auth.PlayerLoginOrRegisterWithGLifeReq.\n * Use `create(PlayerLoginOrRegisterWithGLifeReqSchema)` to create a new message.\n */\nexport const PlayerLoginOrRegisterWithGLifeReqSchema: GenMessage<PlayerLoginOrRegisterWithGLifeReq> = /*@__PURE__*/\n messageDesc(file_auth_PlayerLoginOrRegisterWithGLife, 0);\n\n/**\n * @generated from message auth.PlayerLoginOrRegisterWithGLifeResData\n */\nexport type PlayerLoginOrRegisterWithGLifeResData = Message<\"auth.PlayerLoginOrRegisterWithGLifeResData\"> & {\n /**\n * @generated from field: string token = 1;\n */\n token: string;\n};\n\n/**\n * Describes the message auth.PlayerLoginOrRegisterWithGLifeResData.\n * Use `create(PlayerLoginOrRegisterWithGLifeResDataSchema)` to create a new message.\n */\nexport const PlayerLoginOrRegisterWithGLifeResDataSchema: GenMessage<PlayerLoginOrRegisterWithGLifeResData> = /*@__PURE__*/\n messageDesc(file_auth_PlayerLoginOrRegisterWithGLife, 1);\n\n/**\n * @generated from message auth.PlayerLoginOrRegisterWithGLifeRes\n */\nexport type PlayerLoginOrRegisterWithGLifeRes = Message<\"auth.PlayerLoginOrRegisterWithGLifeRes\"> & {\n /**\n * @generated from field: common.BaseResponse base_response = 1;\n */\n baseResponse?: BaseResponse;\n\n /**\n * @generated from field: auth.PlayerLoginOrRegisterWithGLifeResData data = 2;\n */\n data?: PlayerLoginOrRegisterWithGLifeResData;\n};\n\n/**\n * Describes the message auth.PlayerLoginOrRegisterWithGLifeRes.\n * Use `create(PlayerLoginOrRegisterWithGLifeResSchema)` to create a new message.\n */\nexport const PlayerLoginOrRegisterWithGLifeResSchema: GenMessage<PlayerLoginOrRegisterWithGLifeRes> = /*@__PURE__*/\n messageDesc(file_auth_PlayerLoginOrRegisterWithGLife, 2);\n\n","// @generated by protoc-gen-es v2.10.2 with parameter \"target=ts\"\n// @generated from file auth/MayaService.proto (package auth, syntax proto3)\n/* eslint-disable */\n\nimport type { GenFile, GenService } from \"@bufbuild/protobuf/codegenv2\";\nimport { fileDesc, serviceDesc } from \"@bufbuild/protobuf/codegenv2\";\nimport type { MayaAuthReqSchema, MayaAuthResSchema } from \"./MayaAuth_pb\";\nimport { file_auth_MayaAuth } from \"./MayaAuth_pb\";\nimport type { PlayerLoginWithMayaReqSchema, PlayerLoginWithMayaResSchema } from \"./PlayerLoginWithMaya_pb\";\nimport { file_auth_PlayerLoginWithMaya } from \"./PlayerLoginWithMaya_pb\";\nimport type { PlayerLoginOrRegisterWithMayaReqSchema, PlayerLoginOrRegisterWithMayaResSchema } from \"./PlayerLoginOrRegisterWithMaya_pb\";\nimport { file_auth_PlayerLoginOrRegisterWithMaya } from \"./PlayerLoginOrRegisterWithMaya_pb\";\n\n/**\n * Describes the file auth/MayaService.proto.\n */\nexport const file_auth_MayaService: GenFile = /*@__PURE__*/\n fileDesc(\"ChZhdXRoL01heWFTZXJ2aWNlLnByb3RvEgRhdXRoMokCCgtNYXlhU2VydmljZRIyCghNYXlhQXV0aBIRLmF1dGguTWF5YUF1dGhSZXEaES5hdXRoLk1heWFBdXRoUmVzIgASUwoTUGxheWVyTG9naW5XaXRoTWF5YRIcLmF1dGguUGxheWVyTG9naW5XaXRoTWF5YVJlcRocLmF1dGguUGxheWVyTG9naW5XaXRoTWF5YVJlcyIAEnEKHVBsYXllckxvZ2luT3JSZWdpc3RlcldpdGhNYXlhEiYuYXV0aC5QbGF5ZXJMb2dpbk9yUmVnaXN0ZXJXaXRoTWF5YVJlcRomLmF1dGguUGxheWVyTG9naW5PclJlZ2lzdGVyV2l0aE1heWFSZXMiAGIGcHJvdG8z\", [file_auth_MayaAuth, file_auth_PlayerLoginWithMaya, file_auth_PlayerLoginOrRegisterWithMaya]);\n\n/**\n * @generated from service auth.MayaService\n */\nexport const MayaService: GenService<{\n /**\n * @generated from rpc auth.MayaService.MayaAuth\n */\n mayaAuth: {\n methodKind: \"unary\";\n input: typeof MayaAuthReqSchema;\n output: typeof MayaAuthResSchema;\n },\n /**\n * @generated from rpc auth.MayaService.PlayerLoginWithMaya\n */\n playerLoginWithMaya: {\n methodKind: \"unary\";\n input: typeof PlayerLoginWithMayaReqSchema;\n output: typeof PlayerLoginWithMayaResSchema;\n },\n /**\n * @generated from rpc auth.MayaService.PlayerLoginOrRegisterWithMaya\n */\n playerLoginOrRegisterWithMaya: {\n methodKind: \"unary\";\n input: typeof PlayerLoginOrRegisterWithMayaReqSchema;\n output: typeof PlayerLoginOrRegisterWithMayaResSchema;\n },\n}> = /*@__PURE__*/\n serviceDesc(file_auth_MayaService, 0);\n\n","// @generated by protoc-gen-es v2.10.2 with parameter \"target=ts\"\n// @generated from file auth/MayaAuth.proto (package auth, syntax proto3)\n/* eslint-disable */\n\nimport type { GenFile, GenMessage } from \"@bufbuild/protobuf/codegenv2\";\nimport { fileDesc, messageDesc } from \"@bufbuild/protobuf/codegenv2\";\nimport type { BaseResponse } from \"../common/Common_pb\";\nimport { file_common_Common } from \"../common/Common_pb\";\nimport type { Message } from \"@bufbuild/protobuf\";\n\n/**\n * Describes the file auth/MayaAuth.proto.\n */\nexport const file_auth_MayaAuth: GenFile = /*@__PURE__*/\n fileDesc(\"ChNhdXRoL01heWFBdXRoLnByb3RvEgRhdXRoIl0KC01heWFBdXRoUmVxEhMKC3BsYXRmb3JtX2lkGAEgASgJEhIKCnNlc3Npb25faWQYAiABKAkSDQoFcGhvbmUYAyABKAkSFgoOdXNlX3Nlc3Npb25faWQYBCABKAgiQgoSTWF5YUNvbnRhY3REZXRhaWxzEg0KBXZhbHVlGAEgASgJEgwKBHR5cGUYAiABKAkSDwoHc3VidHlwZRgDIAEoCSJCCgxCaXJ0aERldGFpbHMSDAoEY2l0eRgBIAEoCRITCgtuYXRpb25hbGl0eRgCIAEoCRIPCgdjb3VudHJ5GAMgASgJItMCCgtQcm9maWxlRGF0YRI2ChRwcmltYXJ5X3Bob25lX251bWJlchgBIAEoCzIYLmF1dGguTWF5YUNvbnRhY3REZXRhaWxzEjAKDnJlY292ZXJ5X2VtYWlsGAIgASgLMhguYXV0aC5NYXlhQ29udGFjdERldGFpbHMSNwoVcmVjb3ZlcnlfcGhvbmVfbnVtYmVyGAMgASgLMhguYXV0aC5NYXlhQ29udGFjdERldGFpbHMSEQoJcmVhbF9uYW1lGAQgASgJEgsKA0RPQhgFIAEoCRIpCg1iaXJ0aF9kZXRhaWxzGAYgASgLMhIuYXV0aC5CaXJ0aERldGFpbHMSDwoHYWRkcmVzcxgHIAEoCRIWCg5wbGFjZV9vZl9iaXJ0aBgIIAEoCRIWCg5uYXR1cmVfb2Zfd29yaxgJIAEoCRIVCg1tYXlhX2NvbnRhY3RzGAogASgJIoIBCg9NYXlhQXV0aFJlc0RhdGESGgoSaXNfcGxheWVyX21pZ3JhdGVkGAEgASgIEicKDHByb2ZpbGVfZGF0YRgCIAEoCzIRLmF1dGguUHJvZmlsZURhdGESFwoPaXNfcGxheWVyX2V4aXN0GAMgASgIEhEKCXBsYXllcl9pZBgEIAEoCSJfCgtNYXlhQXV0aFJlcxIrCg1iYXNlX3Jlc3BvbnNlGAEgASgLMhQuY29tbW9uLkJhc2VSZXNwb25zZRIjCgRkYXRhGAIgASgLMhUuYXV0aC5NYXlhQXV0aFJlc0RhdGFiBnByb3RvMw\", [file_common_Common]);\n\n/**\n * @generated from message auth.MayaAuthReq\n */\nexport type MayaAuthReq = Message<\"auth.MayaAuthReq\"> & {\n /**\n * @generated from field: string platform_id = 1;\n */\n platformId: string;\n\n /**\n * @generated from field: string session_id = 2;\n */\n sessionId: string;\n\n /**\n * @generated from field: string phone = 3;\n */\n phone: string;\n\n /**\n * @generated from field: bool use_session_id = 4;\n */\n useSessionId: boolean;\n};\n\n/**\n * Describes the message auth.MayaAuthReq.\n * Use `create(MayaAuthReqSchema)` to create a new message.\n */\nexport const MayaAuthReqSchema: GenMessage<MayaAuthReq> = /*@__PURE__*/\n messageDesc(file_auth_MayaAuth, 0);\n\n/**\n * @generated from message auth.MayaContactDetails\n */\nexport type MayaContactDetails = Message<\"auth.MayaContactDetails\"> & {\n /**\n * @generated from field: string value = 1;\n */\n value: string;\n\n /**\n * @generated from field: string type = 2;\n */\n type: string;\n\n /**\n * @generated from field: string subtype = 3;\n */\n subtype: string;\n};\n\n/**\n * Describes the message auth.MayaContactDetails.\n * Use `create(MayaContactDetailsSchema)` to create a new message.\n */\nexport const MayaContactDetailsSchema: GenMessage<MayaContactDetails> = /*@__PURE__*/\n messageDesc(file_auth_MayaAuth, 1);\n\n/**\n * @generated from message auth.BirthDetails\n */\nexport type BirthDetails = Message<\"auth.BirthDetails\"> & {\n /**\n * @generated from field: string city = 1;\n */\n city: string;\n\n /**\n * @generated from field: string nationality = 2;\n */\n nationality: string;\n\n /**\n * @generated from field: string country = 3;\n */\n country: string;\n};\n\n/**\n * Describes the message auth.BirthDetails.\n * Use `create(BirthDetailsSchema)` to create a new message.\n */\nexport const BirthDetailsSchema: GenMessage<BirthDetails> = /*@__PURE__*/\n messageDesc(file_auth_MayaAuth, 2);\n\n/**\n * @generated from message auth.ProfileData\n */\nexport type ProfileData = Message<\"auth.ProfileData\"> & {\n /**\n * @generated from field: auth.MayaContactDetails primary_phone_number = 1;\n */\n primaryPhoneNumber?: MayaContactDetails;\n\n /**\n * @generated from field: auth.MayaContactDetails recovery_email = 2;\n */\n recoveryEmail?: MayaContactDetails;\n\n /**\n * @generated from field: auth.MayaContactDetails recovery_phone_number = 3;\n */\n recoveryPhoneNumber?: MayaContactDetails;\n\n /**\n * @generated from field: string real_name = 4;\n */\n realName: string;\n\n /**\n * @generated from field: string DOB = 5;\n */\n DOB: string;\n\n /**\n * @generated from field: auth.BirthDetails birth_details = 6;\n */\n birthDetails?: BirthDetails;\n\n /**\n * @generated from field: string address = 7;\n */\n address: string;\n\n /**\n * @generated from field: string place_of_birth = 8;\n */\n placeOfBirth: string;\n\n /**\n * @generated from field: string nature_of_work = 9;\n */\n natureOfWork: string;\n\n /**\n * @generated from field: string maya_contacts = 10;\n */\n mayaContacts: string;\n};\n\n/**\n * Describes the message auth.ProfileData.\n * Use `create(ProfileDataSchema)` to create a new message.\n */\nexport const ProfileDataSchema: GenMessage<ProfileData> = /*@__PURE__*/\n messageDesc(file_auth_MayaAuth, 3);\n\n/**\n * @generated from message auth.MayaAuthResData\n */\nexport type MayaAuthResData = Message<\"auth.MayaAuthResData\"> & {\n /**\n * @generated from field: bool is_player_migrated = 1;\n */\n isPlayerMigrated: boolean;\n\n /**\n * @generated from field: auth.ProfileData profile_data = 2;\n */\n profileData?: ProfileData;\n\n /**\n * @generated from field: bool is_player_exist = 3;\n */\n isPlayerExist: boolean;\n\n /**\n * @generated from field: string player_id = 4;\n */\n playerId: string;\n};\n\n/**\n * Describes the message auth.MayaAuthResData.\n * Use `create(MayaAuthResDataSchema)` to create a new message.\n */\nexport const MayaAuthResDataSchema: GenMessage<MayaAuthResData> = /*@__PURE__*/\n messageDesc(file_auth_MayaAuth, 4);\n\n/**\n * @generated from message auth.MayaAuthRes\n */\nexport type MayaAuthRes = Message<\"auth.MayaAuthRes\"> & {\n /**\n * @generated from field: common.BaseResponse base_response = 1;\n */\n baseResponse?: BaseResponse;\n\n /**\n * @generated from field: auth.MayaAuthResData data = 2;\n */\n data?: MayaAuthResData;\n};\n\n/**\n * Describes the message auth.MayaAuthRes.\n * Use `create(MayaAuthResSchema)` to create a new message.\n */\nexport const MayaAuthResSchema: GenMessage<MayaAuthRes> = /*@__PURE__*/\n messageDesc(file_auth_MayaAuth, 5);\n\n","// @generated by protoc-gen-es v2.10.2 with parameter \"target=ts\"\n// @generated from file auth/PlayerLoginWithMaya.proto (package auth, syntax proto3)\n/* eslint-disable */\n\nimport type { GenFile, GenMessage } from \"@bufbuild/protobuf/codegenv2\";\nimport { fileDesc, messageDesc } from \"@bufbuild/protobuf/codegenv2\";\nimport type { BaseResponse } from \"../common/Common_pb\";\nimport { file_common_Common } from \"../common/Common_pb\";\nimport type { Message } from \"@bufbuild/protobuf\";\n\n/**\n * Describes the file auth/PlayerLoginWithMaya.proto.\n */\nexport const file_auth_PlayerLoginWithMaya: GenFile = /*@__PURE__*/\n fileDesc(\"Ch5hdXRoL1BsYXllckxvZ2luV2l0aE1heWEucHJvdG8SBGF1dGgijgEKFlBsYXllckxvZ2luV2l0aE1heWFSZXESEgoKc2Vzc2lvbl9pZBgBIAEoCRISCgpzb3VyY2VfdXJsGAIgASgJEhUKDWNsaWVudF9kb21haW4YAyABKAkSDAoEZV9pZBgEIAEoCRITCgtwbGF0Zm9ybV9pZBgFIAEoCRISCgpwYXJ0bmVyX2lkGAYgASgJIlQKFlBsYXllckxvZ2luV2l0aE1heWFSZXMSKwoNYmFzZV9yZXNwb25zZRgBIAEoCzIULmNvbW1vbi5CYXNlUmVzcG9uc2USDQoFdG9rZW4YAiABKAliBnByb3RvMw\", [file_common_Common]);\n\n/**\n * @generated from message auth.PlayerLoginWithMayaReq\n */\nexport type PlayerLoginWithMayaReq = Message<\"auth.PlayerLoginWithMayaReq\"> & {\n /**\n * @generated from field: string session_id = 1;\n */\n sessionId: string;\n\n /**\n * @generated from field: string source_url = 2;\n */\n sourceUrl: string;\n\n /**\n * @generated from field: string client_domain = 3;\n */\n clientDomain: string;\n\n /**\n * @generated from field: string e_id = 4;\n */\n eId: string;\n\n /**\n * @generated from field: string platform_id = 5;\n */\n platformId: string;\n\n /**\n * @generated from field: string partner_id = 6;\n */\n partnerId: string;\n};\n\n/**\n * Describes the message auth.PlayerLoginWithMayaReq.\n * Use `create(PlayerLoginWithMayaReqSchema)` to create a new message.\n */\nexport const PlayerLoginWithMayaReqSchema: GenMessage<PlayerLoginWithMayaReq> = /*@__PURE__*/\n messageDesc(file_auth_PlayerLoginWithMaya, 0);\n\n/**\n * @generated from message auth.PlayerLoginWithMayaRes\n */\nexport type PlayerLoginWithMayaRes = Message<\"auth.PlayerLoginWithMayaRes\"> & {\n /**\n * @generated from field: common.BaseResponse base_response = 1;\n */\n baseResponse?: BaseResponse;\n\n /**\n * @generated from field: string token = 2;\n */\n token: string;\n};\n\n/**\n * Describes the message auth.PlayerLoginWithMayaRes.\n * Use `create(PlayerLoginWithMayaResSchema)` to create a new message.\n */\nexport const PlayerLoginWithMayaResSchema: GenMessage<PlayerLoginWithMayaRes> = /*@__PURE__*/\n messageDesc(file_auth_PlayerLoginWithMaya, 1);\n\n","// @generated by protoc-gen-es v2.10.2 with parameter \"target=ts\"\n// @generated from file auth/PlayerLoginOrRegisterWithMaya.proto (package auth, syntax proto3)\n/* eslint-disable */\n\nimport type { GenFile, GenMessage } from \"@bufbuild/protobuf/codegenv2\";\nimport { fileDesc, messageDesc } from \"@bufbuild/protobuf/codegenv2\";\nimport type { BaseResponse } from \"../common/Common_pb\";\nimport { file_common_Common } from \"../common/Common_pb\";\nimport type { Message } from \"@bufbuild/protobuf\";\n\n/**\n * Describes the file auth/PlayerLoginOrRegisterWithMaya.proto.\n */\nexport const file_auth_PlayerLoginOrRegisterWithMaya: GenFile = /*@__PURE__*/\n fileDesc(\"CihhdXRoL1BsYXllckxvZ2luT3JSZWdpc3RlcldpdGhNYXlhLnByb3RvEgRhdXRoIooBCiBQbGF5ZXJMb2dpbk9yUmVnaXN0ZXJXaXRoTWF5YVJlcRISCgpzZXNzaW9uX2lkGAEgASgJEhIKCnNvdXJjZV91cmwYAiABKAkSFQoNY2xpZW50X2RvbWFpbhgDIAEoCRITCgtwbGF0Zm9ybV9pZBgEIAEoCRISCgpwYXJ0bmVyX2lkGAUgASgJIl4KIFBsYXllckxvZ2luT3JSZWdpc3RlcldpdGhNYXlhUmVzEisKDWJhc2VfcmVzcG9uc2UYASABKAsyFC5jb21tb24uQmFzZVJlc3BvbnNlEg0KBXRva2VuGAIgASgJYgZwcm90bzM\", [file_common_Common]);\n\n/**\n * @generated from message auth.PlayerLoginOrRegisterWithMayaReq\n */\nexport type PlayerLoginOrRegisterWithMayaReq = Message<\"auth.PlayerLoginOrRegisterWithMayaReq\"> & {\n /**\n * @generated from field: string session_id = 1;\n */\n sessionId: string;\n\n /**\n * @generated from field: string source_url = 2;\n */\n sourceUrl: string;\n\n /**\n * @generated from field: string client_domain = 3;\n */\n clientDomain: string;\n\n /**\n * @generated from field: string platform_id = 4;\n */\n platformId: string;\n\n /**\n * @generated from field: string partner_id = 5;\n */\n partnerId: string;\n};\n\n/**\n * Describes the message auth.PlayerLoginOrRegisterWithMayaReq.\n * Use `create(PlayerLoginOrRegisterWithMayaReqSchema)` to create a new message.\n */\nexport const PlayerLoginOrRegisterWithMayaReqSchema: GenMessage<PlayerLoginOrRegisterWithMayaReq> = /*@__PURE__*/\n messageDesc(file_auth_PlayerLoginOrRegisterWithMaya, 0);\n\n/**\n * @generated from message auth.PlayerLoginOrRegisterWithMayaRes\n */\nexport type PlayerLoginOrRegisterWithMayaRes = Message<\"auth.PlayerLoginOrRegisterWithMayaRes\"> & {\n /**\n * @generated from field: common.BaseResponse base_response = 1;\n */\n baseResponse?: BaseResponse;\n\n /**\n * @generated from field: string token = 2;\n */\n token: string;\n};\n\n/**\n * Describes the message auth.PlayerLoginOrRegisterWithMayaRes.\n * Use `create(PlayerLoginOrRegisterWithMayaResSchema)` to create a new message.\n */\nexport const PlayerLoginOrRegisterWithMayaResSchema: GenMessage<PlayerLoginOrRegisterWithMayaRes> = /*@__PURE__*/\n messageDesc(file_auth_PlayerLoginOrRegisterWithMaya, 1);\n\n","import type { CallOptions } from '@connectrpc/connect'\nimport type { MessageInit } from '../client/grpcClient'\nimport { GrpcClient } from '../client/grpcClient'\nimport { FrontendAuthService } from '../grpcWeb/grpc/auth/FrontendAuthService_pb'\nimport { FrontendFaceIdService } from '../grpcWeb/grpc/auth/FrontendFaceIdService_pb'\nimport { FrontendFacebookService } from '../grpcWeb/grpc/auth/FrontendFacebookService_pb'\nimport { FrontendPlayerService } from '../grpcWeb/grpc/auth/FrontendPlayerService_pb'\nimport { GLifeService } from '../grpcWeb/grpc/auth/GLifeService_pb'\nimport { MayaService } from '../grpcWeb/grpc/auth/MayaService_pb'\nimport { create } from '@bufbuild/protobuf'\nimport { AuthenticateReqSchema } from '../grpcWeb/grpc/auth/Authenticate_pb'\nimport { BindFacebookAccountReqSchema } from '../grpcWeb/grpc/auth/BindFacebookAccount_pb'\nimport type { DisableFaceIdRes } from '../grpcWeb/grpc/auth/DisableFaceId_pb'\nimport { DisableFaceIdReqSchema } from '../grpcWeb/grpc/auth/DisableFaceId_pb'\nimport type { EnableFaceIdRes } from '../grpcWeb/grpc/auth/EnableFaceId_pb'\nimport { EnableFaceIdReqSchema } from '../grpcWeb/grpc/auth/EnableFaceId_pb'\nimport type { FacebookAuthorizationRes } from '../grpcWeb/grpc/auth/FacebookAuthorization_pb'\nimport { FacebookAuthorizationReqSchema } from '../grpcWeb/grpc/auth/FacebookAuthorization_pb'\nimport { FacebookVerifyPhoneNumberReqSchema } from '../grpcWeb/grpc/auth/FacebookVerifyPhoneNumber_pb'\nimport type { GetFaceIdInfoRes } from '../grpcWeb/grpc/auth/GetFaceIdInfo_pb'\nimport { GetFaceIdInfoReqSchema } from '../grpcWeb/grpc/auth/GetFaceIdInfo_pb'\nimport type { GetFacebookConsentPageRes } from '../grpcWeb/grpc/auth/GetFacebookConsentPage_pb'\nimport { GetFacebookConsentPageReqSchema } from '../grpcWeb/grpc/auth/GetFacebookConsentPage_pb'\nimport type { GetFacebookFriendListRes } from '../grpcWeb/grpc/auth/GetFacebookFriendList_pb'\nimport { GetFacebookFriendListReqSchema } from '../grpcWeb/grpc/auth/GetFacebookFriendList_pb'\nimport type { GLifeAuthRes } from '../grpcWeb/grpc/auth/GLifeAuth_pb'\nimport { GLifeAuthReqSchema } from '../grpcWeb/grpc/auth/GLifeAuth_pb'\nimport type { InitEnrollSessionRes } from '../grpcWeb/grpc/auth/InitEnrollSession_pb'\nimport { InitEnrollSessionReqSchema } from '../grpcWeb/grpc/auth/InitEnrollSession_pb'\nimport type { InitFaceIdSessionRes } from '../grpcWeb/grpc/auth/InitFaceIdSession_pb'\nimport { InitFaceIdSessionReqSchema } from '../grpcWeb/grpc/auth/InitFaceIdSession_pb'\nimport type { ManualFetchFacebookFriendsRes } from '../grpcWeb/grpc/auth/ManualFetchFacebookFriends_pb'\nimport { ManualFetchFacebookFriendsReqSchema } from '../grpcWeb/grpc/auth/ManualFetchFacebookFriends_pb'\nimport type { MayaAuthRes } from '../grpcWeb/grpc/auth/MayaAuth_pb'\nimport { MayaAuthReqSchema } from '../grpcWeb/grpc/auth/MayaAuth_pb'\nimport type { PhoneNumberLoginWithPasswordRes } from '../grpcWeb/grpc/auth/PhoneNumberLoginWithPassword_pb'\nimport { PhoneNumberLoginWithPasswordReqSchema } from '../grpcWeb/grpc/auth/PhoneNumberLoginWithPassword_pb'\nimport type { PlayerLoginOrRegisterWithFacebookRes } from '../grpcWeb/grpc/auth/PlayerLoginOrRegisterWithFacebook_pb'\nimport { PlayerLoginOrRegisterWithFacebookReqSchema } from '../grpcWeb/grpc/auth/PlayerLoginOrRegisterWithFacebook_pb'\nimport type { PlayerLoginOrRegisterWithGLifeRes } from '../grpcWeb/grpc/auth/PlayerLoginOrRegisterWithGLife_pb'\nimport { PlayerLoginOrRegisterWithGLifeReqSchema } from '../grpcWeb/grpc/auth/PlayerLoginOrRegisterWithGLife_pb'\nimport type { PlayerLoginOrRegisterWithMayaRes } from '../grpcWeb/grpc/auth/PlayerLoginOrRegisterWithMaya_pb'\nimport { PlayerLoginOrRegisterWithMayaReqSchema } from '../grpcWeb/grpc/auth/PlayerLoginOrRegisterWithMaya_pb'\nimport type { PlayerLoginOrRegisterWithSMSRes } from '../grpcWeb/grpc/auth/PlayerLoginOrRegisterWithSMS_pb'\nimport { PlayerLoginOrRegisterWithSMSReqSchema } from '../grpcWeb/grpc/auth/PlayerLoginOrRegisterWithSMS_pb'\nimport type { PlayerLoginWithFaceIdRes } from '../grpcWeb/grpc/auth/PlayerLoginWithFaceId_pb'\nimport { PlayerLoginWithFaceIdReqSchema } from '../grpcWeb/grpc/auth/PlayerLoginWithFaceId_pb'\nimport type { PlayerLoginWithGLifeRes } from '../grpcWeb/grpc/auth/PlayerLoginWithGLife_pb'\nimport { PlayerLoginWithGLifeReqSchema } from '../grpcWeb/grpc/auth/PlayerLoginWithGLife_pb'\nimport type { PlayerLoginWithMayaRes } from '../grpcWeb/grpc/auth/PlayerLoginWithMaya_pb'\nimport { PlayerLoginWithMayaReqSchema } from '../grpcWeb/grpc/auth/PlayerLoginWithMaya_pb'\nimport type { PlayerLoginWithSessionTokenRes } from '../grpcWeb/grpc/auth/PlayerLoginWithSessionToken_pb'\nimport { PlayerLoginWithSessionTokenReqSchema } from '../grpcWeb/grpc/auth/PlayerLoginWithSessionToken_pb'\nimport { SendSmsCodeReqSchema } from '../grpcWeb/grpc/auth/SendSmsCode_pb'\nimport { SendSmsCodeViberReqSchema } from '../grpcWeb/grpc/auth/SendSmsCodeViber_pb'\nimport { PlayerLogoutReqSchema } from '../grpcWeb/grpc/auth/PlayerLogout_pb'\nimport { PlayerRegisterRequestCodeReqSchema } from '../grpcWeb/grpc/auth/PlayerRegisterRequestCode_pb'\nimport type { PlayerRegisterWithCodeRes } from '../grpcWeb/grpc/auth/PlayerRegisterWithCode_pb'\nimport { PlayerRegisterWithCodeReqSchema } from '../grpcWeb/grpc/auth/PlayerRegisterWithCode_pb'\nimport {\n Filter_FilterType,\n Filter_Operator,\n FilterSchema,\n PaginationSchema,\n EmptySchema,\n type BaseResponse,\n type Filter,\n type Pagination,\n} from '../grpcWeb/grpc/common/Common_pb'\nimport { StatusCode } from '../grpcWeb/grpc/common/CommonEnums_pb'\nimport type { UnbindFacebookAccountRes } from '../grpcWeb/grpc/auth/UnbindFacebookAccount_pb'\nimport type { VerifyPasswordRes } from '../grpcWeb/grpc/auth/VerifyPassword_pb'\nimport { VerifyPasswordReqSchema } from '../grpcWeb/grpc/auth/VerifyPassword_pb'\n\nexport type { BaseResponse, Filter, Pagination }\nexport { Filter_FilterType, Filter_Operator, StatusCode }\n\nexport const isSuccessStatusCode = (code: StatusCode | null | undefined) => {\n return code === StatusCode.STATUS_SUCCESS\n}\n\nexport const isBaseResponseSuccess = (res: Pick<BaseResponse, 'status'> | null | undefined) => {\n return isSuccessStatusCode(res?.status)\n}\n\nexport const createPagination = (payload: Partial<Pagination>) => {\n return create(PaginationSchema, payload as Pagination)\n}\n\nexport const createFilter = (\n payload: Pick<Filter, 'field' | 'type' | 'operator'> &\n Partial<Omit<Filter, 'field' | 'type' | 'operator'>>,\n) => {\n return create(FilterSchema, payload as Filter)\n}\n\nexport const authService = (grpc: GrpcClient) => {\n const client = grpc.getService(FrontendAuthService)\n const faceId = grpc.getService(FrontendFaceIdService)\n const facebook = grpc.getService(FrontendFacebookService)\n const player = grpc.getService(FrontendPlayerService)\n const gLife = grpc.getService(GLifeService)\n const maya = grpc.getService(MayaService)\n\n const playerRegisterRequestCode = (\n payload: MessageInit<typeof PlayerRegisterRequestCodeReqSchema>,\n options?: CallOptions,\n ): Promise<BaseResponse> => {\n return grpc.unary(\n PlayerRegisterRequestCodeReqSchema,\n payload,\n (req, opt) => client.playerRegisterRequestCode(req, opt),\n options,\n )\n }\n\n const playerRegisterWithCode = (\n payload: MessageInit<typeof PlayerRegisterWithCodeReqSchema>,\n options?: CallOptions,\n ): Promise<PlayerRegisterWithCodeRes> => {\n return grpc.unary(\n PlayerRegisterWithCodeReqSchema,\n payload,\n (req, opt) => client.playerRegisterWithCode(req, opt),\n options,\n )\n }\n\n const playerLoginWithSessionToken = (\n payload: MessageInit<typeof PlayerLoginWithSessionTokenReqSchema>,\n options?: CallOptions,\n ): Promise<PlayerLoginWithSessionTokenRes> => {\n return grpc.unary(\n PlayerLoginWithSessionTokenReqSchema,\n payload,\n (req, opt) => client.playerLoginWithSessionToken(req, opt),\n options,\n )\n }\n\n const phoneNumberLoginWithPassword = (\n payload: MessageInit<typeof PhoneNumberLoginWithPasswordReqSchema>,\n options?: CallOptions,\n ): Promise<PhoneNumberLoginWithPasswordRes> => {\n return grpc.unary(\n PhoneNumberLoginWithPasswordReqSchema,\n payload,\n (req, opt) => client.phoneNumberLoginWithPassword(req, opt),\n options,\n )\n }\n\n const playerLoginOrRegisterWithSMS = (\n payload: MessageInit<typeof PlayerLoginOrRegisterWithSMSReqSchema>,\n options?: CallOptions,\n ): Promise<PlayerLoginOrRegisterWithSMSRes> => {\n return grpc.unary(\n PlayerLoginOrRegisterWithSMSReqSchema,\n payload,\n (req, opt) => client.playerLoginOrRegisterWithSMS(req, opt),\n options,\n )\n }\n\n const authenticate = (\n payload: MessageInit<typeof AuthenticateReqSchema>,\n options?: CallOptions,\n ): Promise<BaseResponse> => {\n return grpc.unary(\n AuthenticateReqSchema,\n payload,\n (req, opt) => client.authenticate(req, opt),\n options,\n )\n }\n\n const sendSmsCode = (\n payload: MessageInit<typeof SendSmsCodeReqSchema>,\n options?: CallOptions,\n ): Promise<BaseResponse> => {\n return grpc.unary(\n SendSmsCodeReqSchema,\n payload,\n (req, opt) => client.sendSmsCode(req, opt),\n options,\n )\n }\n\n const playerLogout = (\n payload: MessageInit<typeof PlayerLogoutReqSchema>,\n options?: CallOptions,\n ): Promise<BaseResponse> => {\n return grpc.unary(\n PlayerLogoutReqSchema,\n payload,\n (req, opt) => client.playerLogout(req, opt),\n options,\n )\n }\n\n const sendSmsCodeViber = (\n payload: MessageInit<typeof SendSmsCodeViberReqSchema>,\n options?: CallOptions,\n ): Promise<BaseResponse> => {\n return grpc.unary(\n SendSmsCodeViberReqSchema,\n payload,\n (req, opt) => client.sendSmsCodeViber(req, opt),\n options,\n )\n }\n\n const enableFaceId = (\n payload: MessageInit<typeof EnableFaceIdReqSchema>,\n options?: CallOptions,\n ): Promise<EnableFaceIdRes> => {\n return grpc.unary(\n EnableFaceIdReqSchema,\n payload,\n (req, opt) => faceId.enableFaceId(req, opt),\n options,\n )\n }\n\n const initFaceIdSession = (\n payload: MessageInit<typeof InitFaceIdSessionReqSchema>,\n options?: CallOptions,\n ): Promise<InitFaceIdSessionRes> => {\n return grpc.unary(\n InitFaceIdSessionReqSchema,\n payload,\n (req, opt) => faceId.initFaceIdSession(req, opt),\n options,\n )\n }\n\n const playerLoginWithFaceId = (\n payload: MessageInit<typeof PlayerLoginWithFaceIdReqSchema>,\n options?: CallOptions,\n ): Promise<PlayerLoginWithFaceIdRes> => {\n return grpc.unary(\n PlayerLoginWithFaceIdReqSchema,\n payload,\n (req, opt) => faceId.playerLoginWithFaceId(req, opt),\n options,\n )\n }\n\n const disableFaceId = (\n payload: MessageInit<typeof DisableFaceIdReqSchema>,\n options?: CallOptions,\n ): Promise<DisableFaceIdRes> => {\n return grpc.unary(\n DisableFaceIdReqSchema,\n payload,\n (req, opt) => faceId.disableFaceId(req, opt),\n options,\n )\n }\n\n const initEnrollSession = (\n payload: MessageInit<typeof InitEnrollSessionReqSchema>,\n options?: CallOptions,\n ): Promise<InitEnrollSessionRes> => {\n return grpc.unary(\n InitEnrollSessionReqSchema,\n payload,\n (req, opt) => faceId.initEnrollSession(req, opt),\n options,\n )\n }\n\n const getFaceIdInfo = (\n payload: MessageInit<typeof GetFaceIdInfoReqSchema>,\n options?: CallOptions,\n ): Promise<GetFaceIdInfoRes> => {\n return grpc.unary(\n GetFaceIdInfoReqSchema,\n payload,\n (req, opt) => faceId.getFaceIdInfo(req, opt),\n options,\n )\n }\n\n const playerLoginOrRegisterWithFacebook = (\n payload: MessageInit<typeof PlayerLoginOrRegisterWithFacebookReqSchema>,\n options?: CallOptions,\n ): Promise<PlayerLoginOrRegisterWithFacebookRes> => {\n return grpc.unary(\n PlayerLoginOrRegisterWithFacebookReqSchema,\n payload,\n (req, opt) => facebook.playerLoginOrRegisterWithFacebook(req, opt),\n options,\n )\n }\n\n const getFacebookConsentPage = (\n payload: MessageInit<typeof GetFacebookConsentPageReqSchema>,\n options?: CallOptions,\n ): Promise<GetFacebookConsentPageRes> => {\n return grpc.unary(\n GetFacebookConsentPageReqSchema,\n payload,\n (req, opt) => facebook.getFacebookConsentPage(req, opt),\n options,\n )\n }\n\n const facebookAuthorization = (\n payload: MessageInit<typeof FacebookAuthorizationReqSchema>,\n options?: CallOptions,\n ): Promise<FacebookAuthorizationRes> => {\n return grpc.unary(\n FacebookAuthorizationReqSchema,\n payload,\n (req, opt) => facebook.facebookAuthorization(req, opt),\n options,\n )\n }\n\n const getFacebookFriendList = (\n payload: MessageInit<typeof GetFacebookFriendListReqSchema>,\n options?: CallOptions,\n ): Promise<GetFacebookFriendListRes> => {\n return grpc.unary(\n GetFacebookFriendListReqSchema,\n payload,\n (req, opt) => facebook.getFacebookFriendList(req, opt),\n options,\n )\n }\n\n const manualFetchFacebookFriends = (\n payload: MessageInit<typeof ManualFetchFacebookFriendsReqSchema>,\n options?: CallOptions,\n ): Promise<ManualFetchFacebookFriendsRes> => {\n return grpc.unary(\n ManualFetchFacebookFriendsReqSchema,\n payload,\n (req, opt) => facebook.manualFetchFacebookFriends(req, opt),\n options,\n )\n }\n\n const bindFacebookAccount = (\n payload: MessageInit<typeof BindFacebookAccountReqSchema>,\n options?: CallOptions,\n ): Promise<BaseResponse> => {\n return grpc.unary(\n BindFacebookAccountReqSchema,\n payload,\n (req, opt) => facebook.bindFacebookAccount(req, opt),\n options,\n )\n }\n\n const unbindFacebookAccount = (\n payload?: MessageInit<typeof EmptySchema>,\n options?: CallOptions,\n ): Promise<UnbindFacebookAccountRes> => {\n return grpc.unary(\n EmptySchema,\n payload,\n (req, opt) => facebook.unbindFacebookAccount(req, opt),\n options,\n )\n }\n\n const facebookVerifyPhoneNumber = (\n payload: MessageInit<typeof FacebookVerifyPhoneNumberReqSchema>,\n options?: CallOptions,\n ): Promise<BaseResponse> => {\n return grpc.unary(\n FacebookVerifyPhoneNumberReqSchema,\n payload,\n (req, opt) => facebook.facebookVerifyPhoneNumber(req, opt),\n options,\n )\n }\n\n const verifyPassword = (\n payload: MessageInit<typeof VerifyPasswordReqSchema>,\n options?: CallOptions,\n ): Promise<VerifyPasswordRes> => {\n return grpc.unary(\n VerifyPasswordReqSchema,\n payload,\n (req, opt) => player.verifyPassword(req, opt),\n options,\n )\n }\n\n const gLifeAuth = (\n payload: MessageInit<typeof GLifeAuthReqSchema>,\n options?: CallOptions,\n ): Promise<GLifeAuthRes> => {\n return grpc.unary(GLifeAuthReqSchema, payload, (req, opt) => gLife.gLifeAuth(req, opt), options)\n }\n\n const playerLoginWithGLife = (\n payload: MessageInit<typeof PlayerLoginWithGLifeReqSchema>,\n options?: CallOptions,\n ): Promise<PlayerLoginWithGLifeRes> => {\n return grpc.unary(\n PlayerLoginWithGLifeReqSchema,\n payload,\n (req, opt) => gLife.playerLoginWithGLife(req, opt),\n options,\n )\n }\n\n const playerLoginOrRegisterWithGLife = (\n payload: MessageInit<typeof PlayerLoginOrRegisterWithGLifeReqSchema>,\n options?: CallOptions,\n ): Promise<PlayerLoginOrRegisterWithGLifeRes> => {\n return grpc.unary(\n PlayerLoginOrRegisterWithGLifeReqSchema,\n payload,\n (req, opt) => gLife.playerLoginOrRegisterWithGLife(req, opt),\n options,\n )\n }\n\n const mayaAuth = (\n payload: MessageInit<typeof MayaAuthReqSchema>,\n options?: CallOptions,\n ): Promise<MayaAuthRes> => {\n return grpc.unary(MayaAuthReqSchema, payload, (req, opt) => maya.mayaAuth(req, opt), options)\n }\n\n const playerLoginWithMaya = (\n payload: MessageInit<typeof PlayerLoginWithMayaReqSchema>,\n options?: CallOptions,\n ): Promise<PlayerLoginWithMayaRes> => {\n return grpc.unary(\n PlayerLoginWithMayaReqSchema,\n payload,\n (req, opt) => maya.playerLoginWithMaya(req, opt),\n options,\n )\n }\n\n const playerLoginOrRegisterWithMaya = (\n payload: MessageInit<typeof PlayerLoginOrRegisterWithMayaReqSchema>,\n options?: CallOptions,\n ): Promise<PlayerLoginOrRegisterWithMayaRes> => {\n return grpc.unary(\n PlayerLoginOrRegisterWithMayaReqSchema,\n payload,\n (req, opt) => maya.playerLoginOrRegisterWithMaya(req, opt),\n options,\n )\n }\n\n return {\n transport: 'grpc' as const,\n playerRegisterRequestCode,\n playerRegisterWithCode,\n playerLoginWithSessionToken,\n phoneNumberLoginWithPassword,\n playerLoginOrRegisterWithSMS,\n authenticate,\n sendSmsCode,\n sendSmsCodeViber,\n playerLogout,\n enableFaceId,\n initFaceIdSession,\n playerLoginWithFaceId,\n disableFaceId,\n initEnrollSession,\n getFaceIdInfo,\n playerLoginOrRegisterWithFacebook,\n getFacebookConsentPage,\n facebookAuthorization,\n getFacebookFriendList,\n manualFetchFacebookFriends,\n bindFacebookAccount,\n unbindFacebookAccount,\n facebookVerifyPhoneNumber,\n verifyPassword,\n gLifeAuth,\n playerLoginWithGLife,\n playerLoginOrRegisterWithGLife,\n mayaAuth,\n playerLoginWithMaya,\n playerLoginOrRegisterWithMaya,\n }\n}\n\nexport const frontendAuthGrpcClient = (grpc: GrpcClient) => grpc.getService(FrontendAuthService)\nexport const frontendFaceIdGrpcClient = (grpc: GrpcClient) => grpc.getService(FrontendFaceIdService)\nexport const frontendFacebookGrpcClient = (grpc: GrpcClient) =>\n grpc.getService(FrontendFacebookService)\nexport const frontendPlayerGrpcClient = (grpc: GrpcClient) => grpc.getService(FrontendPlayerService)\nexport const gLifeGrpcClient = (grpc: GrpcClient) => grpc.getService(GLifeService)\nexport const mayaGrpcClient = (grpc: GrpcClient) => grpc.getService(MayaService)\n\nexport const grpcAuthService = authService\n","// @generated by protoc-gen-es v2.10.2 with parameter \"target=ts\"\n// @generated from file packet/FrontendPacketService.proto (package packet, syntax proto3)\n/* eslint-disable */\n\nimport type { GenFile, GenService } from \"@bufbuild/protobuf/codegenv2\";\nimport { fileDesc, serviceDesc } from \"@bufbuild/protobuf/codegenv2\";\nimport type { AssignPacketReqSchema, AssignPacketResSchema } from \"./AssignPacket_pb\";\nimport { file_packet_AssignPacket } from \"./AssignPacket_pb\";\nimport type { GetServerTimeReqSchema, GetServerTimeResSchema } from \"./GetServerTime_pb\";\nimport { file_packet_GetServerTime } from \"./GetServerTime_pb\";\nimport type { GetPacketsInfoReqSchema, GetPacketsInfoResSchema } from \"./GetPacketsInfo_pb\";\nimport { file_packet_GetPacketsInfo } from \"./GetPacketsInfo_pb\";\n\n/**\n * Describes the file packet/FrontendPacketService.proto.\n */\nexport const file_packet_FrontendPacketService: GenFile = /*@__PURE__*/\n fileDesc(\"CiJwYWNrZXQvRnJvbnRlbmRQYWNrZXRTZXJ2aWNlLnByb3RvEgZwYWNrZXQy5gEKFUZyb250ZW5kUGFja2V0U2VydmljZRJACgxBc3NpZ25QYWNrZXQSFy5wYWNrZXQuQXNzaWduUGFja2V0UmVxGhcucGFja2V0LkFzc2lnblBhY2tldFJlcxJDCg1HZXRTZXJ2ZXJUaW1lEhgucGFja2V0LkdldFNlcnZlclRpbWVSZXEaGC5wYWNrZXQuR2V0U2VydmVyVGltZVJlcxJGCg5HZXRQYWNrZXRzSW5mbxIZLnBhY2tldC5HZXRQYWNrZXRzSW5mb1JlcRoZLnBhY2tldC5HZXRQYWNrZXRzSW5mb1Jlc2IGcHJvdG8z\", [file_packet_AssignPacket, file_packet_GetServerTime, file_packet_GetPacketsInfo]);\n\n/**\n * @generated from service packet.FrontendPacketService\n */\nexport const FrontendPacketService: GenService<{\n /**\n * @generated from rpc packet.FrontendPacketService.AssignPacket\n */\n assignPacket: {\n methodKind: \"unary\";\n input: typeof AssignPacketReqSchema;\n output: typeof AssignPacketResSchema;\n },\n /**\n * @generated from rpc packet.FrontendPacketService.GetServerTime\n */\n getServerTime: {\n methodKind: \"unary\";\n input: typeof GetServerTimeReqSchema;\n output: typeof GetServerTimeResSchema;\n },\n /**\n * @generated from rpc packet.FrontendPacketService.GetPacketsInfo\n */\n getPacketsInfo: {\n methodKind: \"unary\";\n input: typeof GetPacketsInfoReqSchema;\n output: typeof GetPacketsInfoResSchema;\n },\n}> = /*@__PURE__*/\n serviceDesc(file_packet_FrontendPacketService, 0);\n\n","// @generated by protoc-gen-es v2.10.2 with parameter \"target=ts\"\n// @generated from file packet/AssignPacket.proto (package packet, syntax proto3)\n/* eslint-disable */\n\nimport type { GenFile, GenMessage } from \"@bufbuild/protobuf/codegenv2\";\nimport { fileDesc, messageDesc } from \"@bufbuild/protobuf/codegenv2\";\nimport type { Message } from \"@bufbuild/protobuf\";\n\n/**\n * Describes the file packet/AssignPacket.proto.\n */\nexport const file_packet_AssignPacket: GenFile = /*@__PURE__*/\n fileDesc(\"ChlwYWNrZXQvQXNzaWduUGFja2V0LnByb3RvEgZwYWNrZXQixQEKD0Fzc2lnblBhY2tldFJlcRITCgtwbGF5ZXJfbmFtZRgBIAEoCRIXCgpyZXF1ZXN0X2lkGAIgASgJSACIAQESFQoIZXZlbnRfaWQYAyABKAlIAYgBARIUCgdzZXNzaW9uGAQgASgFSAKIAQESEgoFdG9rZW4YBSABKAlIA4gBARIRCglzaWduYXR1cmUYBiABKAlCDQoLX3JlcXVlc3RfaWRCCwoJX2V2ZW50X2lkQgoKCF9zZXNzaW9uQggKBl90b2tlbiLdAgoPQXNzaWduUGFja2V0UmVzEg4KBnN0YXR1cxgBIAEoBRIPCgdtZXNzYWdlGAIgASgJEjAKBGRhdGEYAyABKAsyIi5wYWNrZXQuQXNzaWduUGFja2V0UmVzLlBhY2tldERhdGEa9gEKClBhY2tldERhdGESDQoFdmFsdWUYASABKAUSEgoKcmVxdWVzdF9pZBgCIAEoCRITCgtwbGF5ZXJfbmFtZRgDIAEoCRIOCgZyZWZfaWQYBCABKAkSGQoRaGFzX3JlYWNoZWRfbGltaXQYBSABKAgSIgoabW9uZXlfcGFja2V0X3JlY2VpdmVkX2xpc3QYBiADKAUSGwoTdG90YWxfbW9uZXlfcGFja2V0cxgHIAEoBRITCgtzZXJ2ZXJfdGltZRgIIAEoCRIRCgl0aW1lc3RhbXAYCSABKAMSHAoUdG90YWxfcmVjZWl2ZV9hbW91bnQYCiABKAViBnByb3RvMw\");\n\n/**\n * @generated from message packet.AssignPacketReq\n */\nexport type AssignPacketReq = Message<\"packet.AssignPacketReq\"> & {\n /**\n * @generated from field: string player_name = 1;\n */\n playerName: string;\n\n /**\n * @generated from field: optional string request_id = 2;\n */\n requestId?: string;\n\n /**\n * @generated from field: optional string event_id = 3;\n */\n eventId?: string;\n\n /**\n * @generated from field: optional int32 session = 4;\n */\n session?: number;\n\n /**\n * @generated from field: optional string token = 5;\n */\n token?: string;\n\n /**\n * @generated from field: string signature = 6;\n */\n signature: string;\n};\n\n/**\n * Describes the message packet.AssignPacketReq.\n * Use `create(AssignPacketReqSchema)` to create a new message.\n */\nexport const AssignPacketReqSchema: GenMessage<AssignPacketReq> = /*@__PURE__*/\n messageDesc(file_packet_AssignPacket, 0);\n\n/**\n * @generated from message packet.AssignPacketRes\n */\nexport type AssignPacketRes = Message<\"packet.AssignPacketRes\"> & {\n /**\n * @generated from field: int32 status = 1;\n */\n status: number;\n\n /**\n * @generated from field: string message = 2;\n */\n message: string;\n\n /**\n * @generated from field: packet.AssignPacketRes.PacketData data = 3;\n */\n data?: AssignPacketRes_PacketData;\n};\n\n/**\n * Describes the message packet.AssignPacketRes.\n * Use `create(AssignPacketResSchema)` to create a new message.\n */\nexport const AssignPacketResSchema: GenMessage<AssignPacketRes> = /*@__PURE__*/\n messageDesc(file_packet_AssignPacket, 1);\n\n/**\n * @generated from message packet.AssignPacketRes.PacketData\n */\nexport type AssignPacketRes_PacketData = Message<\"packet.AssignPacketRes.PacketData\"> & {\n /**\n * @generated from field: int32 value = 1;\n */\n value: number;\n\n /**\n * @generated from field: string request_id = 2;\n */\n requestId: string;\n\n /**\n * @generated from field: string player_name = 3;\n */\n playerName: string;\n\n /**\n * @generated from field: string ref_id = 4;\n */\n refId: string;\n\n /**\n * @generated from field: bool has_reached_limit = 5;\n */\n hasReachedLimit: boolean;\n\n /**\n * @generated from field: repeated int32 money_packet_received_list = 6;\n */\n moneyPacketReceivedList: number[];\n\n /**\n * @generated from field: int32 total_money_packets = 7;\n */\n totalMoneyPackets: number;\n\n /**\n * @generated from field: string server_time = 8;\n */\n serverTime: string;\n\n /**\n * @generated from field: int64 timestamp = 9;\n */\n timestamp: bigint;\n\n /**\n * @generated from field: int32 total_receive_amount = 10;\n */\n totalReceiveAmount: number;\n};\n\n/**\n * Describes the message packet.AssignPacketRes.PacketData.\n * Use `create(AssignPacketRes_PacketDataSchema)` to create a new message.\n */\nexport const AssignPacketRes_PacketDataSchema: GenMessage<AssignPacketRes_PacketData> = /*@__PURE__*/\n messageDesc(file_packet_AssignPacket, 1, 0);\n\n","// @generated by protoc-gen-es v2.10.2 with parameter \"target=ts\"\n// @generated from file packet/GetServerTime.proto (package packet, syntax proto3)\n/* eslint-disable */\n\nimport type { GenFile, GenMessage } from \"@bufbuild/protobuf/codegenv2\";\nimport { fileDesc, messageDesc } from \"@bufbuild/protobuf/codegenv2\";\nimport type { Message } from \"@bufbuild/protobuf\";\n\n/**\n * Describes the file packet/GetServerTime.proto.\n */\nexport const file_packet_GetServerTime: GenFile = /*@__PURE__*/\n fileDesc(\"ChpwYWNrZXQvR2V0U2VydmVyVGltZS5wcm90bxIGcGFja2V0IiYKEEdldFNlcnZlclRpbWVSZXESEgoKcmVxdWVzdF9pZBgBIAEoCSKsAQoQR2V0U2VydmVyVGltZVJlcxIOCgZzdGF0dXMYASABKAUSDwoHbWVzc2FnZRgCIAEoCRIvCgRkYXRhGAMgASgLMiEucGFja2V0LkdldFNlcnZlclRpbWVSZXMuVGltZURhdGEaRgoIVGltZURhdGESEQoJdGltZXN0YW1wGAEgASgDEhMKC3NlcnZlcl90aW1lGAIgASgJEhIKCnJlcXVlc3RfaWQYAyABKAliBnByb3RvMw\");\n\n/**\n * @generated from message packet.GetServerTimeReq\n */\nexport type GetServerTimeReq = Message<\"packet.GetServerTimeReq\"> & {\n /**\n * @generated from field: string request_id = 1;\n */\n requestId: string;\n};\n\n/**\n * Describes the message packet.GetServerTimeReq.\n * Use `create(GetServerTimeReqSchema)` to create a new message.\n */\nexport const GetServerTimeReqSchema: GenMessage<GetServerTimeReq> = /*@__PURE__*/\n messageDesc(file_packet_GetServerTime, 0);\n\n/**\n * @generated from message packet.GetServerTimeRes\n */\nexport type GetServerTimeRes = Message<\"packet.GetServerTimeRes\"> & {\n /**\n * @generated from field: int32 status = 1;\n */\n status: number;\n\n /**\n * @generated from field: string message = 2;\n */\n message: string;\n\n /**\n * @generated from field: packet.GetServerTimeRes.TimeData data = 3;\n */\n data?: GetServerTimeRes_TimeData;\n};\n\n/**\n * Describes the message packet.GetServerTimeRes.\n * Use `create(GetServerTimeResSchema)` to create a new message.\n */\nexport const GetServerTimeResSchema: GenMessage<GetServerTimeRes> = /*@__PURE__*/\n messageDesc(file_packet_GetServerTime, 1);\n\n/**\n * @generated from message packet.GetServerTimeRes.TimeData\n */\nexport type GetServerTimeRes_TimeData = Message<\"packet.GetServerTimeRes.TimeData\"> & {\n /**\n * @generated from field: int64 timestamp = 1;\n */\n timestamp: bigint;\n\n /**\n * @generated from field: string server_time = 2;\n */\n serverTime: string;\n\n /**\n * @generated from field: string request_id = 3;\n */\n requestId: string;\n};\n\n/**\n * Describes the message packet.GetServerTimeRes.TimeData.\n * Use `create(GetServerTimeRes_TimeDataSchema)` to create a new message.\n */\nexport const GetServerTimeRes_TimeDataSchema: GenMessage<GetServerTimeRes_TimeData> = /*@__PURE__*/\n messageDesc(file_packet_GetServerTime, 1, 0);\n\n","// @generated by protoc-gen-es v2.10.2 with parameter \"target=ts\"\n// @generated from file packet/GetPacketsInfo.proto (package packet, syntax proto3)\n/* eslint-disable */\n\nimport type { GenFile, GenMessage } from \"@bufbuild/protobuf/codegenv2\";\nimport { fileDesc, messageDesc } from \"@bufbuild/protobuf/codegenv2\";\nimport type { Message } from \"@bufbuild/protobuf\";\n\n/**\n * Describes the file packet/GetPacketsInfo.proto.\n */\nexport const file_packet_GetPacketsInfo: GenFile = /*@__PURE__*/\n fileDesc(\"ChtwYWNrZXQvR2V0UGFja2V0c0luZm8ucHJvdG8SBnBhY2tldCInChFHZXRQYWNrZXRzSW5mb1JlcRISCgpyZXF1ZXN0X2lkGAEgASgJIrcBCgpQYWNrZXRJbmZvEhAKCGV2ZW50X2lkGAEgASgJEhYKDnBsYXlfdHlwZV9saXN0GAIgAygJEhUKDXRvdGFsX3Nlc3Npb24YAyABKAUSEgoKc3RhcnRfdGltZRgEIAEoAxIcChRzZXNzaW9uX3J1bm5pbmdfdGltZRgFIAEoBRIZChFzZXNzaW9uX3Jlc3RfdGltZRgGIAEoBRIbChN0b3RhbF9yZXdhcmRfYW1vdW50GAcgASgFIs4BChFHZXRQYWNrZXRzSW5mb1JlcxIOCgZzdGF0dXMYASABKAUSDwoHbWVzc2FnZRgCIAEoCRIsCgRkYXRhGAMgASgLMh4ucGFja2V0LkdldFBhY2tldHNJbmZvUmVzLkRhdGEaagoERGF0YRIRCgl0aW1lc3RhbXAYASABKAMSEwoLc2VydmVyX3RpbWUYAiABKAkSEgoKcmVxdWVzdF9pZBgDIAEoCRImCgpldmVudF9saXN0GAQgAygLMhIucGFja2V0LlBhY2tldEluZm9iBnByb3RvMw\");\n\n/**\n * @generated from message packet.GetPacketsInfoReq\n */\nexport type GetPacketsInfoReq = Message<\"packet.GetPacketsInfoReq\"> & {\n /**\n * @generated from field: string request_id = 1;\n */\n requestId: string;\n};\n\n/**\n * Describes the message packet.GetPacketsInfoReq.\n * Use `create(GetPacketsInfoReqSchema)` to create a new message.\n */\nexport const GetPacketsInfoReqSchema: GenMessage<GetPacketsInfoReq> = /*@__PURE__*/\n messageDesc(file_packet_GetPacketsInfo, 0);\n\n/**\n * @generated from message packet.PacketInfo\n */\nexport type PacketInfo = Message<\"packet.PacketInfo\"> & {\n /**\n * @generated from field: string event_id = 1;\n */\n eventId: string;\n\n /**\n * @generated from field: repeated string play_type_list = 2;\n */\n playTypeList: string[];\n\n /**\n * @generated from field: int32 total_session = 3;\n */\n totalSession: number;\n\n /**\n * @generated from field: int64 start_time = 4;\n */\n startTime: bigint;\n\n /**\n * @generated from field: int32 session_running_time = 5;\n */\n sessionRunningTime: number;\n\n /**\n * @generated from field: int32 session_rest_time = 6;\n */\n sessionRestTime: number;\n\n /**\n * @generated from field: int32 total_reward_amount = 7;\n */\n totalRewardAmount: number;\n};\n\n/**\n * Describes the message packet.PacketInfo.\n * Use `create(PacketInfoSchema)` to create a new message.\n */\nexport const PacketInfoSchema: GenMessage<PacketInfo> = /*@__PURE__*/\n messageDesc(file_packet_GetPacketsInfo, 1);\n\n/**\n * @generated from message packet.GetPacketsInfoRes\n */\nexport type GetPacketsInfoRes = Message<\"packet.GetPacketsInfoRes\"> & {\n /**\n * @generated from field: int32 status = 1;\n */\n status: number;\n\n /**\n * @generated from field: string message = 2;\n */\n message: string;\n\n /**\n * @generated from field: packet.GetPacketsInfoRes.Data data = 3;\n */\n data?: GetPacketsInfoRes_Data;\n};\n\n/**\n * Describes the message packet.GetPacketsInfoRes.\n * Use `create(GetPacketsInfoResSchema)` to create a new message.\n */\nexport const GetPacketsInfoResSchema: GenMessage<GetPacketsInfoRes> = /*@__PURE__*/\n messageDesc(file_packet_GetPacketsInfo, 2);\n\n/**\n * @generated from message packet.GetPacketsInfoRes.Data\n */\nexport type GetPacketsInfoRes_Data = Message<\"packet.GetPacketsInfoRes.Data\"> & {\n /**\n * @generated from field: int64 timestamp = 1;\n */\n timestamp: bigint;\n\n /**\n * @generated from field: string server_time = 2;\n */\n serverTime: string;\n\n /**\n * @generated from field: string request_id = 3;\n */\n requestId: string;\n\n /**\n * @generated from field: repeated packet.PacketInfo event_list = 4;\n */\n eventList: PacketInfo[];\n};\n\n/**\n * Describes the message packet.GetPacketsInfoRes.Data.\n * Use `create(GetPacketsInfoRes_DataSchema)` to create a new message.\n */\nexport const GetPacketsInfoRes_DataSchema: GenMessage<GetPacketsInfoRes_Data> = /*@__PURE__*/\n messageDesc(file_packet_GetPacketsInfo, 2, 0);\n\n","// @generated by protoc-gen-es v2.10.2 with parameter \"target=ts\"\n// @generated from file packet/RecaptchaPacketService.proto (package packet, syntax proto3)\n/* eslint-disable */\n\nimport type { GenFile, GenService } from \"@bufbuild/protobuf/codegenv2\";\nimport { fileDesc, serviceDesc } from \"@bufbuild/protobuf/codegenv2\";\nimport type { VerifyPlayerPacketReqSchema, VerifyPlayerPacketResSchema } from \"./VerifyPlayerPacket_pb\";\nimport { file_packet_VerifyPlayerPacket } from \"./VerifyPlayerPacket_pb\";\n\n/**\n * Describes the file packet/RecaptchaPacketService.proto.\n */\nexport const file_packet_RecaptchaPacketService: GenFile = /*@__PURE__*/\n fileDesc(\"CiNwYWNrZXQvUmVjYXB0Y2hhUGFja2V0U2VydmljZS5wcm90bxIGcGFja2V0Mm4KFlJlY2FwdGNoYVBhY2tldFNlcnZpY2USVAoSVmVyaWZ5UGxheWVyUGFja2V0Eh0ucGFja2V0LlZlcmlmeVBsYXllclBhY2tldFJlcRodLnBhY2tldC5WZXJpZnlQbGF5ZXJQYWNrZXRSZXMiAGIGcHJvdG8z\", [file_packet_VerifyPlayerPacket]);\n\n/**\n * @generated from service packet.RecaptchaPacketService\n */\nexport const RecaptchaPacketService: GenService<{\n /**\n * @generated from rpc packet.RecaptchaPacketService.VerifyPlayerPacket\n */\n verifyPlayerPacket: {\n methodKind: \"unary\";\n input: typeof VerifyPlayerPacketReqSchema;\n output: typeof VerifyPlayerPacketResSchema;\n },\n}> = /*@__PURE__*/\n serviceDesc(file_packet_RecaptchaPacketService, 0);\n\n","// @generated by protoc-gen-es v2.10.2 with parameter \"target=ts\"\n// @generated from file packet/VerifyPlayerPacket.proto (package packet, syntax proto3)\n/* eslint-disable */\n\nimport type { GenFile, GenMessage } from \"@bufbuild/protobuf/codegenv2\";\nimport { fileDesc, messageDesc } from \"@bufbuild/protobuf/codegenv2\";\nimport type { Message } from \"@bufbuild/protobuf\";\n\n/**\n * Describes the file packet/VerifyPlayerPacket.proto.\n */\nexport const file_packet_VerifyPlayerPacket: GenFile = /*@__PURE__*/\n fileDesc(\"Ch9wYWNrZXQvVmVyaWZ5UGxheWVyUGFja2V0LnByb3RvEgZwYWNrZXQiTAoVVmVyaWZ5UGxheWVyUGFja2V0UmVxEhIKCnJlcXVlc3RfaWQYASABKAkSDQoFdG9rZW4YAiABKAkSEAoIZXZlbnRfaWQYAyABKAki+gEKFVZlcmlmeVBsYXllclBhY2tldFJlcxIOCgZzdGF0dXMYASABKAUSDwoHbWVzc2FnZRgCIAEoCRI2CgRkYXRhGAMgASgLMigucGFja2V0LlZlcmlmeVBsYXllclBhY2tldFJlcy5QbGF5ZXJEYXRhGocBCgpQbGF5ZXJEYXRhEg0KBXRva2VuGAEgASgJEhIKCnJlcXVlc3RfaWQYAiABKAkSEwoLc2VydmVyX3RpbWUYAyABKAkSEQoJdGltZXN0YW1wGAQgASgDEhkKEWhhc19yZWFjaGVkX2xpbWl0GAUgASgIEhMKC3BsYXllcl9uYW1lGAYgASgJYgZwcm90bzM\");\n\n/**\n * @generated from message packet.VerifyPlayerPacketReq\n */\nexport type VerifyPlayerPacketReq = Message<\"packet.VerifyPlayerPacketReq\"> & {\n /**\n * @generated from field: string request_id = 1;\n */\n requestId: string;\n\n /**\n * @generated from field: string token = 2;\n */\n token: string;\n\n /**\n * @generated from field: string event_id = 3;\n */\n eventId: string;\n};\n\n/**\n * Describes the message packet.VerifyPlayerPacketReq.\n * Use `create(VerifyPlayerPacketReqSchema)` to create a new message.\n */\nexport const VerifyPlayerPacketReqSchema: GenMessage<VerifyPlayerPacketReq> = /*@__PURE__*/\n messageDesc(file_packet_VerifyPlayerPacket, 0);\n\n/**\n * @generated from message packet.VerifyPlayerPacketRes\n */\nexport type VerifyPlayerPacketRes = Message<\"packet.VerifyPlayerPacketRes\"> & {\n /**\n * @generated from field: int32 status = 1;\n */\n status: number;\n\n /**\n * @generated from field: string message = 2;\n */\n message: string;\n\n /**\n * @generated from field: packet.VerifyPlayerPacketRes.PlayerData data = 3;\n */\n data?: VerifyPlayerPacketRes_PlayerData;\n};\n\n/**\n * Describes the message packet.VerifyPlayerPacketRes.\n * Use `create(VerifyPlayerPacketResSchema)` to create a new message.\n */\nexport const VerifyPlayerPacketResSchema: GenMessage<VerifyPlayerPacketRes> = /*@__PURE__*/\n messageDesc(file_packet_VerifyPlayerPacket, 1);\n\n/**\n * @generated from message packet.VerifyPlayerPacketRes.PlayerData\n */\nexport type VerifyPlayerPacketRes_PlayerData = Message<\"packet.VerifyPlayerPacketRes.PlayerData\"> & {\n /**\n * @generated from field: string token = 1;\n */\n token: string;\n\n /**\n * @generated from field: string request_id = 2;\n */\n requestId: string;\n\n /**\n * @generated from field: string server_time = 3;\n */\n serverTime: string;\n\n /**\n * @generated from field: int64 timestamp = 4;\n */\n timestamp: bigint;\n\n /**\n * @generated from field: bool has_reached_limit = 5;\n */\n hasReachedLimit: boolean;\n\n /**\n * @generated from field: string player_name = 6;\n */\n playerName: string;\n};\n\n/**\n * Describes the message packet.VerifyPlayerPacketRes.PlayerData.\n * Use `create(VerifyPlayerPacketRes_PlayerDataSchema)` to create a new message.\n */\nexport const VerifyPlayerPacketRes_PlayerDataSchema: GenMessage<VerifyPlayerPacketRes_PlayerData> = /*@__PURE__*/\n messageDesc(file_packet_VerifyPlayerPacket, 1, 0);\n\n","import type { CallOptions } from '@connectrpc/connect'\nimport type { MessageInit } from '../client/grpcClient'\nimport { GrpcClient } from '../client/grpcClient'\nimport { FrontendPacketService } from '../grpcWeb/grpc/packet/FrontendPacketService_pb'\nimport { RecaptchaPacketService } from '../grpcWeb/grpc/packet/RecaptchaPacketService_pb'\nimport type { AssignPacketRes } from '../grpcWeb/grpc/packet/AssignPacket_pb'\nimport { AssignPacketReqSchema } from '../grpcWeb/grpc/packet/AssignPacket_pb'\nimport type { GetServerTimeRes } from '../grpcWeb/grpc/packet/GetServerTime_pb'\nimport { GetServerTimeReqSchema } from '../grpcWeb/grpc/packet/GetServerTime_pb'\nimport type { GetPacketsInfoRes } from '../grpcWeb/grpc/packet/GetPacketsInfo_pb'\nimport { GetPacketsInfoReqSchema } from '../grpcWeb/grpc/packet/GetPacketsInfo_pb'\nimport type { VerifyPlayerPacketRes } from '../grpcWeb/grpc/packet/VerifyPlayerPacket_pb'\nimport { VerifyPlayerPacketReqSchema } from '../grpcWeb/grpc/packet/VerifyPlayerPacket_pb'\n\nexport const packetGrpcClients = (grpc: GrpcClient) => {\n return {\n frontend: grpc.getService(FrontendPacketService),\n recaptcha: grpc.getService(RecaptchaPacketService),\n }\n}\n\nexport const packetService = (grpc: GrpcClient) => {\n const frontend = grpc.getService(FrontendPacketService)\n const recaptcha = grpc.getService(RecaptchaPacketService)\n\n const assignPacket = (\n payload: MessageInit<typeof AssignPacketReqSchema>,\n options?: CallOptions,\n ): Promise<AssignPacketRes> => {\n return grpc.unary(\n AssignPacketReqSchema,\n payload,\n (req, opt) => frontend.assignPacket(req, opt),\n options,\n )\n }\n\n const getServerTime = (\n payload: MessageInit<typeof GetServerTimeReqSchema>,\n options?: CallOptions,\n ): Promise<GetServerTimeRes> => {\n return grpc.unary(\n GetServerTimeReqSchema,\n payload,\n (req, opt) => frontend.getServerTime(req, opt),\n options,\n )\n }\n\n const getPacketsInfo = (\n payload: MessageInit<typeof GetPacketsInfoReqSchema>,\n options?: CallOptions,\n ): Promise<GetPacketsInfoRes> => {\n return grpc.unary(\n GetPacketsInfoReqSchema,\n payload,\n (req, opt) => frontend.getPacketsInfo(req, opt),\n options,\n )\n }\n\n const verifyPlayerPacket = (\n payload: MessageInit<typeof VerifyPlayerPacketReqSchema>,\n options?: CallOptions,\n ): Promise<VerifyPlayerPacketRes> => {\n return grpc.unary(\n VerifyPlayerPacketReqSchema,\n payload,\n (req, opt) => recaptcha.verifyPlayerPacket(req, opt),\n options,\n )\n }\n\n return {\n transport: 'grpc' as const,\n assignPacket,\n getServerTime,\n getPacketsInfo,\n verifyPlayerPacket,\n }\n}\n\nexport const grpcPacketService = packetService\n","// @generated by protoc-gen-es v2.10.2 with parameter \"target=ts\"\n// @generated from file payment/FrontendBankCardService.proto (package payment, syntax proto3)\n/* eslint-disable */\n\nimport type { GenFile, GenService } from \"@bufbuild/protobuf/codegenv2\";\nimport { fileDesc, serviceDesc } from \"@bufbuild/protobuf/codegenv2\";\nimport type { GetBankTypesReqSchema, GetBankTypesResSchema } from \"./GetBankTypes_pb\";\nimport { file_payment_GetBankTypes } from \"./GetBankTypes_pb\";\nimport type { GetBindBankCardsReqSchema, GetBindBankCardsResSchema } from \"./GetBindBankCards_pb\";\nimport { file_payment_GetBindBankCards } from \"./GetBindBankCards_pb\";\nimport type { GetAvailableDepositMethodsReqSchema, GetAvailableDepositMethodsResSchema } from \"./GetAvailableDepositMethods_pb\";\nimport { file_payment_GetAvailableDepositMethods } from \"./GetAvailableDepositMethods_pb\";\nimport type { UpdatePaymentInfoReqSchema, UpdatePaymentInfoResSchema } from \"./UpdatePaymentInfo_pb\";\nimport { file_payment_UpdatePaymentInfo } from \"./UpdatePaymentInfo_pb\";\nimport type { VerifyUnionBankReqSchema, VerifyUnionBankResSchema } from \"./VerifyUnionBank_pb\";\nimport { file_payment_VerifyUnionBank } from \"./VerifyUnionBank_pb\";\n\n/**\n * Describes the file payment/FrontendBankCardService.proto.\n */\nexport const file_payment_FrontendBankCardService: GenFile = /*@__PURE__*/\n fileDesc(\"CiVwYXltZW50L0Zyb250ZW5kQmFua0NhcmRTZXJ2aWNlLnByb3RvEgdwYXltZW50MrsDChdGcm9udGVuZEJhbmtDYXJkU2VydmljZRJCCgxHZXRCYW5rVHlwZXMSGC5wYXltZW50LkdldEJhbmtUeXBlc1JlcRoYLnBheW1lbnQuR2V0QmFua1R5cGVzUmVzEk4KEEdldEJpbmRCYW5rQ2FyZHMSHC5wYXltZW50LkdldEJpbmRCYW5rQ2FyZHNSZXEaHC5wYXltZW50LkdldEJpbmRCYW5rQ2FyZHNSZXMSbAoaR2V0QXZhaWxhYmxlRGVwb3NpdE1ldGhvZHMSJi5wYXltZW50LkdldEF2YWlsYWJsZURlcG9zaXRNZXRob2RzUmVxGiYucGF5bWVudC5HZXRBdmFpbGFibGVEZXBvc2l0TWV0aG9kc1JlcxJRChFVcGRhdGVQYXltZW50SW5mbxIdLnBheW1lbnQuVXBkYXRlUGF5bWVudEluZm9SZXEaHS5wYXltZW50LlVwZGF0ZVBheW1lbnRJbmZvUmVzEksKD1ZlcmlmeVVuaW9uQmFuaxIbLnBheW1lbnQuVmVyaWZ5VW5pb25CYW5rUmVxGhsucGF5bWVudC5WZXJpZnlVbmlvbkJhbmtSZXNiBnByb3RvMw\", [file_payment_GetBankTypes, file_payment_GetBindBankCards, file_payment_GetAvailableDepositMethods, file_payment_UpdatePaymentInfo, file_payment_VerifyUnionBank]);\n\n/**\n * @generated from service payment.FrontendBankCardService\n */\nexport const FrontendBankCardService: GenService<{\n /**\n * @generated from rpc payment.FrontendBankCardService.GetBankTypes\n */\n getBankTypes: {\n methodKind: \"unary\";\n input: typeof GetBankTypesReqSchema;\n output: typeof GetBankTypesResSchema;\n },\n /**\n * @generated from rpc payment.FrontendBankCardService.GetBindBankCards\n */\n getBindBankCards: {\n methodKind: \"unary\";\n input: typeof GetBindBankCardsReqSchema;\n output: typeof GetBindBankCardsResSchema;\n },\n /**\n * @generated from rpc payment.FrontendBankCardService.GetAvailableDepositMethods\n */\n getAvailableDepositMethods: {\n methodKind: \"unary\";\n input: typeof GetAvailableDepositMethodsReqSchema;\n output: typeof GetAvailableDepositMethodsResSchema;\n },\n /**\n * @generated from rpc payment.FrontendBankCardService.UpdatePaymentInfo\n */\n updatePaymentInfo: {\n methodKind: \"unary\";\n input: typeof UpdatePaymentInfoReqSchema;\n output: typeof UpdatePaymentInfoResSchema;\n },\n /**\n * @generated from rpc payment.FrontendBankCardService.VerifyUnionBank\n */\n verifyUnionBank: {\n methodKind: \"unary\";\n input: typeof VerifyUnionBankReqSchema;\n output: typeof VerifyUnionBankResSchema;\n },\n}> = /*@__PURE__*/\n serviceDesc(file_payment_FrontendBankCardService, 0);\n\n","// @generated by protoc-gen-es v2.10.2 with parameter \"target=ts\"\n// @generated from file payment/GetBankTypes.proto (package payment, syntax proto3)\n/* eslint-disable */\n\nimport type { GenFile, GenMessage } from \"@bufbuild/protobuf/codegenv2\";\nimport { fileDesc, messageDesc } from \"@bufbuild/protobuf/codegenv2\";\nimport { file_common_Common } from \"../common/Common_pb\";\nimport type { Message } from \"@bufbuild/protobuf\";\n\n/**\n * Describes the file payment/GetBankTypes.proto.\n */\nexport const file_payment_GetBankTypes: GenFile = /*@__PURE__*/\n fileDesc(\"ChpwYXltZW50L0dldEJhbmtUeXBlcy5wcm90bxIHcGF5bWVudCImCg9HZXRCYW5rVHlwZXNSZXESEwoLcGxhdGZvcm1faWQYASABKAkicwoIQmFua1R5cGUSCgoCaWQYASABKAkSFAoMYmFua190eXBlX2lkGAIgASgJEg0KBWFsaWFzGAMgASgJEgwKBG5hbWUYBCABKAkSEAoIYmFua2ZsYWcYBSABKAUSFgoOaXNfbWFpbnRlbmFuY2UYBiABKAgiUwoPR2V0QmFua1R5cGVzUmVzEg4KBnN0YXR1cxgBIAEoBRIPCgdtZXNzYWdlGAIgASgJEh8KBGRhdGEYAyADKAsyES5wYXltZW50LkJhbmtUeXBlYgZwcm90bzM\", [file_common_Common]);\n\n/**\n * @generated from message payment.GetBankTypesReq\n */\nexport type GetBankTypesReq = Message<\"payment.GetBankTypesReq\"> & {\n /**\n * @generated from field: string platform_id = 1;\n */\n platformId: string;\n};\n\n/**\n * Describes the message payment.GetBankTypesReq.\n * Use `create(GetBankTypesReqSchema)` to create a new message.\n */\nexport const GetBankTypesReqSchema: GenMessage<GetBankTypesReq> = /*@__PURE__*/\n messageDesc(file_payment_GetBankTypes, 0);\n\n/**\n * @generated from message payment.BankType\n */\nexport type BankType = Message<\"payment.BankType\"> & {\n /**\n * @generated from field: string id = 1;\n */\n id: string;\n\n /**\n * @generated from field: string bank_type_id = 2;\n */\n bankTypeId: string;\n\n /**\n * @generated from field: string alias = 3;\n */\n alias: string;\n\n /**\n * @generated from field: string name = 4;\n */\n name: string;\n\n /**\n * @generated from field: int32 bankflag = 5;\n */\n bankflag: number;\n\n /**\n * @generated from field: bool is_maintenance = 6;\n */\n isMaintenance: boolean;\n};\n\n/**\n * Describes the message payment.BankType.\n * Use `create(BankTypeSchema)` to create a new message.\n */\nexport const BankTypeSchema: GenMessage<BankType> = /*@__PURE__*/\n messageDesc(file_payment_GetBankTypes, 1);\n\n/**\n * @generated from message payment.GetBankTypesRes\n */\nexport type GetBankTypesRes = Message<\"payment.GetBankTypesRes\"> & {\n /**\n * @generated from field: int32 status = 1;\n */\n status: number;\n\n /**\n * @generated from field: string message = 2;\n */\n message: string;\n\n /**\n * @generated from field: repeated payment.BankType data = 3;\n */\n data: BankType[];\n};\n\n/**\n * Describes the message payment.GetBankTypesRes.\n * Use `create(GetBankTypesResSchema)` to create a new message.\n */\nexport const GetBankTypesResSchema: GenMessage<GetBankTypesRes> = /*@__PURE__*/\n messageDesc(file_payment_GetBankTypes, 2);\n\n","// @generated by protoc-gen-es v2.10.2 with parameter \"target=ts\"\n// @generated from file payment/GetBindBankCards.proto (package payment, syntax proto3)\n/* eslint-disable */\n\nimport type { GenFile, GenMessage } from \"@bufbuild/protobuf/codegenv2\";\nimport { fileDesc, messageDesc } from \"@bufbuild/protobuf/codegenv2\";\nimport type { BankCard } from \"./PaymentCommon_pb\";\nimport { file_payment_PaymentCommon } from \"./PaymentCommon_pb\";\nimport type { Message } from \"@bufbuild/protobuf\";\n\n/**\n * Describes the file payment/GetBindBankCards.proto.\n */\nexport const file_payment_GetBindBankCards: GenFile = /*@__PURE__*/\n fileDesc(\"Ch5wYXltZW50L0dldEJpbmRCYW5rQ2FyZHMucHJvdG8SB3BheW1lbnQiWgoTR2V0QmluZEJhbmtDYXJkc1JlcRITCgtwbGF0Zm9ybV9pZBgBIAEoCRIZChFjaGlsZF9wbGF0Zm9ybV9pZBgCIAEoCRITCgtkZXZpY2VfdHlwZRgEIAEoBSJiChRHZXRCaW5kQmFua0NhcmRzRGF0YRIjChtpc192ZXJpZnlfYmFua19hY2NvdW50X25hbWUYASABKAgSJQoKYmFua19jYXJkcxgCIAMoCzIRLnBheW1lbnQuQmFua0NhcmQiYwoTR2V0QmluZEJhbmtDYXJkc1JlcxIOCgZzdGF0dXMYASABKAUSDwoHbWVzc2FnZRgCIAEoCRIrCgRkYXRhGAMgASgLMh0ucGF5bWVudC5HZXRCaW5kQmFua0NhcmRzRGF0YWIGcHJvdG8z\", [file_payment_PaymentCommon]);\n\n/**\n * @generated from message payment.GetBindBankCardsReq\n */\nexport type GetBindBankCardsReq = Message<\"payment.GetBindBankCardsReq\"> & {\n /**\n * @generated from field: string platform_id = 1;\n */\n platformId: string;\n\n /**\n * @generated from field: string child_platform_id = 2;\n */\n childPlatformId: string;\n\n /**\n * @generated from field: int32 device_type = 4;\n */\n deviceType: number;\n};\n\n/**\n * Describes the message payment.GetBindBankCardsReq.\n * Use `create(GetBindBankCardsReqSchema)` to create a new message.\n */\nexport const GetBindBankCardsReqSchema: GenMessage<GetBindBankCardsReq> = /*@__PURE__*/\n messageDesc(file_payment_GetBindBankCards, 0);\n\n/**\n * @generated from message payment.GetBindBankCardsData\n */\nexport type GetBindBankCardsData = Message<\"payment.GetBindBankCardsData\"> & {\n /**\n * @generated from field: bool is_verify_bank_account_name = 1;\n */\n isVerifyBankAccountName: boolean;\n\n /**\n * @generated from field: repeated payment.BankCard bank_cards = 2;\n */\n bankCards: BankCard[];\n};\n\n/**\n * Describes the message payment.GetBindBankCardsData.\n * Use `create(GetBindBankCardsDataSchema)` to create a new message.\n */\nexport const GetBindBankCardsDataSchema: GenMessage<GetBindBankCardsData> = /*@__PURE__*/\n messageDesc(file_payment_GetBindBankCards, 1);\n\n/**\n * @generated from message payment.GetBindBankCardsRes\n */\nexport type GetBindBankCardsRes = Message<\"payment.GetBindBankCardsRes\"> & {\n /**\n * @generated from field: int32 status = 1;\n */\n status: number;\n\n /**\n * @generated from field: string message = 2;\n */\n message: string;\n\n /**\n * @generated from field: payment.GetBindBankCardsData data = 3;\n */\n data?: GetBindBankCardsData;\n};\n\n/**\n * Describes the message payment.GetBindBankCardsRes.\n * Use `create(GetBindBankCardsResSchema)` to create a new message.\n */\nexport const GetBindBankCardsResSchema: GenMessage<GetBindBankCardsRes> = /*@__PURE__*/\n messageDesc(file_payment_GetBindBankCards, 2);\n\n","// @generated by protoc-gen-es v2.10.2 with parameter \"target=ts\"\n// @generated from file payment/PaymentCommon.proto (package payment, syntax proto3)\n/* eslint-disable */\n\nimport type { GenFile, GenMessage } from \"@bufbuild/protobuf/codegenv2\";\nimport { fileDesc, messageDesc } from \"@bufbuild/protobuf/codegenv2\";\nimport type { Message } from \"@bufbuild/protobuf\";\n\n/**\n * Describes the file payment/PaymentCommon.proto.\n */\nexport const file_payment_PaymentCommon: GenFile = /*@__PURE__*/\n fileDesc(\"ChtwYXltZW50L1BheW1lbnRDb21tb24ucHJvdG8SB3BheW1lbnQioAMKCEJhbmtDYXJkEgoKAmlkGAEgASgJEhQKDGJhbmtfdHlwZV9pZBgCIAEoCRIRCgliYW5rX25hbWUYAyABKAkSGQoRcGF5bWVudF90eXBlX25hbWUYBCABKAkSFgoOcGF5bWVudF9jaG9pY2UYBSABKAkSFAoMcGF5bWVudF90eXBlGAYgASgJEhQKDGJhbmtfYWNjb3VudBgHIAEoCRIZChFiYW5rX2FjY291bnRfbmFtZRgIIAEoCRIdChViYW5rX2FjY291bnRfcHJvdmluY2UYCSABKAkSHQoVYmFua19hY2NvdW50X2Rpc3RyaWN0GAogASgJEhQKDGJhbmtfYWRkcmVzcxgLIAEoCRIZChFiYW5rX2FjY291bnRfY2l0eRgMIAEoCRIRCglpc19nX2xpZmUYDSABKAgSDwoHaXNfbWF5YRgOIAEoCBISCgppc19kZWZhdWx0GA8gASgIEhYKDmlzX21haW50ZW5hbmNlGBAgASgIEhEKCWJhbmtfY29kZRgRIAEoCRITCgtiYW5rX2Nob2ljZRgSIAEoCWIGcHJvdG8z\");\n\n/**\n * @generated from message payment.BankCard\n */\nexport type BankCard = Message<\"payment.BankCard\"> & {\n /**\n * @generated from field: string id = 1;\n */\n id: string;\n\n /**\n * @generated from field: string bank_type_id = 2;\n */\n bankTypeId: string;\n\n /**\n * @generated from field: string bank_name = 3;\n */\n bankName: string;\n\n /**\n * @generated from field: string payment_type_name = 4;\n */\n paymentTypeName: string;\n\n /**\n * @generated from field: string payment_choice = 5;\n */\n paymentChoice: string;\n\n /**\n * @generated from field: string payment_type = 6;\n */\n paymentType: string;\n\n /**\n * @generated from field: string bank_account = 7;\n */\n bankAccount: string;\n\n /**\n * @generated from field: string bank_account_name = 8;\n */\n bankAccountName: string;\n\n /**\n * @generated from field: string bank_account_province = 9;\n */\n bankAccountProvince: string;\n\n /**\n * @generated from field: string bank_account_district = 10;\n */\n bankAccountDistrict: string;\n\n /**\n * @generated from field: string bank_address = 11;\n */\n bankAddress: string;\n\n /**\n * @generated from field: string bank_account_city = 12;\n */\n bankAccountCity: string;\n\n /**\n * @generated from field: bool is_g_life = 13;\n */\n isGLife: boolean;\n\n /**\n * @generated from field: bool is_maya = 14;\n */\n isMaya: boolean;\n\n /**\n * @generated from field: bool is_default = 15;\n */\n isDefault: boolean;\n\n /**\n * @generated from field: bool is_maintenance = 16;\n */\n isMaintenance: boolean;\n\n /**\n * @generated from field: string bank_code = 17;\n */\n bankCode: string;\n\n /**\n * @generated from field: string bank_choice = 18;\n */\n bankChoice: string;\n};\n\n/**\n * Describes the message payment.BankCard.\n * Use `create(BankCardSchema)` to create a new message.\n */\nexport const BankCardSchema: GenMessage<BankCard> = /*@__PURE__*/\n messageDesc(file_payment_PaymentCommon, 0);\n\n","// @generated by protoc-gen-es v2.10.2 with parameter \"target=ts\"\n// @generated from file payment/GetAvailableDepositMethods.proto (package payment, syntax proto3)\n/* eslint-disable */\n\nimport type { GenFile, GenMessage } from \"@bufbuild/protobuf/codegenv2\";\nimport { fileDesc, messageDesc } from \"@bufbuild/protobuf/codegenv2\";\nimport type { Message } from \"@bufbuild/protobuf\";\n\n/**\n * Describes the file payment/GetAvailableDepositMethods.proto.\n */\nexport const file_payment_GetAvailableDepositMethods: GenFile = /*@__PURE__*/\n fileDesc(\"CihwYXltZW50L0dldEF2YWlsYWJsZURlcG9zaXRNZXRob2RzLnByb3RvEgdwYXltZW50IngKHUdldEF2YWlsYWJsZURlcG9zaXRNZXRob2RzUmVxEhMKC3BsYXRmb3JtX2lkGAEgASgJEhkKEWNoaWxkX3BsYXRmb3JtX2lkGAIgASgJEhMKC2RldmljZV90eXBlGAMgASgFEhIKCnNlc3Npb25faWQYBCABKAkiNgoOQmFua1R5cGVEZXRhaWwSEQoJYmFua19uYW1lGAEgASgJEhEKCWJhbmtfY29kZRgCIAEoCSIbCgdPdGNUeXBlEhAKCG90Y19jb2RlGAEgASgJIpgDCgRDYXJkEgoKAmlkGAEgASgJEg4KBnN0YXR1cxgCIAEoCRIqCgliYW5rX3R5cGUYAyABKAsyFy5wYXltZW50LkJhbmtUeXBlRGV0YWlsEhMKC21pbl9kZXBvc2l0GAQgASgDEhMKC21heF9kZXBvc2l0GAUgASgDEhQKDGFjY291bnRfdHlwZRgGIAEoCRIaChJtYXNrZWRfY2FyZF9udW1iZXIYByABKAkSFQoNcHJvcG9zYWxfdHlwZRgIIAEoCRIWCg5wYXltZW50X21ldGhvZBgJIAEoCRIMCgRuYW1lGAogASgJEhYKDnByaW9yaXR5X29yZGVyGAsgASgFEgwKBHJhdGUYDCABKAESGwoTYWxsb3dfdHJhaWxpbmdfemVybxgNIAEoCRIcChRhbGxvd190b3BfdXBfYW1vdW50cxgOIAMoCRIWCg5pc191Yl9tZXJjaGFudBgPIAEoCBISCgp2YWxpZF90aW1lGBAgASgFEiIKCG90Y190eXBlGBEgASgLMhAucGF5bWVudC5PdGNUeXBlIjUKC0Ftb3VudFJhbmdlEhIKCm1pbl9hbW91bnQYASABKAMSEgoKbWF4X2Ftb3VudBgCIAEoAyLoAQoNUGF5bWVudE9wdGlvbhIWCg5wYXltZW50X21ldGhvZBgBIAEoCRIgChhpc19maXJzdF9kZXBvc2l0X2VuYWJsZWQYAiABKAUSEQoJYmFua19jb2RlGAMgASgJEhEKCWJhbmtfbmFtZRgEIAEoCRIgCgljYXJkX2xpc3QYBSADKAsyDS5wYXltZW50LkNhcmQSDAoEY2F0ZRgGIAEoCRIQCghtaW5pX3RhZxgHIAEoBRIQCghkaXNhYmxlZBgIIAEoCBIjCgVyYW5nZRgJIAEoCzIULnBheW1lbnQuQW1vdW50UmFuZ2UihQEKD1BheW1lbnRDYXRlZ29yeRIkCgRiYW5rGAEgAygLMhYucGF5bWVudC5QYXltZW50T3B0aW9uEicKB2V3YWxsZXQYAiADKAsyFi5wYXltZW50LlBheW1lbnRPcHRpb24SIwoDb3RjGAMgAygLMhYucGF5bWVudC5QYXltZW50T3B0aW9uIrgBCg1Wb3VjaGVyT3B0aW9uEhYKDnBheW1lbnRfbWV0aG9kGAEgASgJEiAKCWNhcmRfbGlzdBgCIAMoCzINLnBheW1lbnQuQ2FyZBIRCgliYW5rX2NvZGUYAyABKAkSEQoJYmFua19uYW1lGAQgASgJEhAKCG1pbmlfdGFnGAUgASgFEhAKCGRpc2FibGVkGAYgASgIEiMKBXJhbmdlGAcgASgLMhQucGF5bWVudC5BbW91bnRSYW5nZSI0Cg9EZWVwTGlua0RldGFpbHMSEQoJZGVlcF9saW5rGAEgASgJEg4KBnN0YXR1cxgCIAEoCCIyCgtNaW5pUHJvZ3JhbRIRCgliYW5rX25hbWUYASABKAkSEAoIZGlzYWJsZWQYAiABKAgihQMKHkdldEF2YWlsYWJsZURlcG9zaXRNZXRob2RzRGF0YRI+ChxhdmFpbGFibGVfcGF5bWVudF9jYXRlZ29yaWVzGAEgAygLMhgucGF5bWVudC5QYXltZW50Q2F0ZWdvcnkSOQoZYXZhaWxhYmxlX3BheW1lbnRfb3B0aW9ucxgCIAMoCzIWLnBheW1lbnQuUGF5bWVudE9wdGlvbhItCg9hdmFpbGFibGVfcmFuZ2UYAyADKAsyFC5wYXltZW50LkFtb3VudFJhbmdlEjkKGWF2YWlsYWJsZV92b3VjaGVyX29wdGlvbnMYBCADKAsyFi5wYXltZW50LlZvdWNoZXJPcHRpb24SMwoRZGVlcF9saW5rX2RldGFpbHMYBSABKAsyGC5wYXltZW50LkRlZXBMaW5rRGV0YWlscxIdChVwcmVzZXRfZGVwb3NpdF9hbW91bnQYBiADKAUSKgoMbWluaV9wcm9ncmFtGAggAygLMhQucGF5bWVudC5NaW5pUHJvZ3JhbSJ3Ch1HZXRBdmFpbGFibGVEZXBvc2l0TWV0aG9kc1JlcxIOCgZzdGF0dXMYASABKAUSDwoHbWVzc2FnZRgCIAEoCRI1CgRkYXRhGAMgASgLMicucGF5bWVudC5HZXRBdmFpbGFibGVEZXBvc2l0TWV0aG9kc0RhdGFiBnByb3RvMw\");\n\n/**\n * @generated from message payment.GetAvailableDepositMethodsReq\n */\nexport type GetAvailableDepositMethodsReq = Message<\"payment.GetAvailableDepositMethodsReq\"> & {\n /**\n * @generated from field: string platform_id = 1;\n */\n platformId: string;\n\n /**\n * @generated from field: string child_platform_id = 2;\n */\n childPlatformId: string;\n\n /**\n * @generated from field: int32 device_type = 3;\n */\n deviceType: number;\n\n /**\n * @generated from field: string session_id = 4;\n */\n sessionId: string;\n};\n\n/**\n * Describes the message payment.GetAvailableDepositMethodsReq.\n * Use `create(GetAvailableDepositMethodsReqSchema)` to create a new message.\n */\nexport const GetAvailableDepositMethodsReqSchema: GenMessage<GetAvailableDepositMethodsReq> = /*@__PURE__*/\n messageDesc(file_payment_GetAvailableDepositMethods, 0);\n\n/**\n * @generated from message payment.BankTypeDetail\n */\nexport type BankTypeDetail = Message<\"payment.BankTypeDetail\"> & {\n /**\n * @generated from field: string bank_name = 1;\n */\n bankName: string;\n\n /**\n * @generated from field: string bank_code = 2;\n */\n bankCode: string;\n};\n\n/**\n * Describes the message payment.BankTypeDetail.\n * Use `create(BankTypeDetailSchema)` to create a new message.\n */\nexport const BankTypeDetailSchema: GenMessage<BankTypeDetail> = /*@__PURE__*/\n messageDesc(file_payment_GetAvailableDepositMethods, 1);\n\n/**\n * @generated from message payment.OtcType\n */\nexport type OtcType = Message<\"payment.OtcType\"> & {\n /**\n * @generated from field: string otc_code = 1;\n */\n otcCode: string;\n};\n\n/**\n * Describes the message payment.OtcType.\n * Use `create(OtcTypeSchema)` to create a new message.\n */\nexport const OtcTypeSchema: GenMessage<OtcType> = /*@__PURE__*/\n messageDesc(file_payment_GetAvailableDepositMethods, 2);\n\n/**\n * @generated from message payment.Card\n */\nexport type Card = Message<\"payment.Card\"> & {\n /**\n * @generated from field: string id = 1;\n */\n id: string;\n\n /**\n * @generated from field: string status = 2;\n */\n status: string;\n\n /**\n * @generated from field: payment.BankTypeDetail bank_type = 3;\n */\n bankType?: BankTypeDetail;\n\n /**\n * @generated from field: int64 min_deposit = 4;\n */\n minDeposit: bigint;\n\n /**\n * @generated from field: int64 max_deposit = 5;\n */\n maxDeposit: bigint;\n\n /**\n * @generated from field: string account_type = 6;\n */\n accountType: string;\n\n /**\n * @generated from field: string masked_card_number = 7;\n */\n maskedCardNumber: string;\n\n /**\n * @generated from field: string proposal_type = 8;\n */\n proposalType: string;\n\n /**\n * @generated from field: string payment_method = 9;\n */\n paymentMethod: string;\n\n /**\n * @generated from field: string name = 10;\n */\n name: string;\n\n /**\n * @generated from field: int32 priority_order = 11;\n */\n priorityOrder: number;\n\n /**\n * @generated from field: double rate = 12;\n */\n rate: number;\n\n /**\n * @generated from field: string allow_trailing_zero = 13;\n */\n allowTrailingZero: string;\n\n /**\n * @generated from field: repeated string allow_top_up_amounts = 14;\n */\n allowTopUpAmounts: string[];\n\n /**\n * @generated from field: bool is_ub_merchant = 15;\n */\n isUbMerchant: boolean;\n\n /**\n * @generated from field: int32 valid_time = 16;\n */\n validTime: number;\n\n /**\n * @generated from field: payment.OtcType otc_type = 17;\n */\n otcType?: OtcType;\n};\n\n/**\n * Describes the message payment.Card.\n * Use `create(CardSchema)` to create a new message.\n */\nexport const CardSchema: GenMessage<Card> = /*@__PURE__*/\n messageDesc(file_payment_GetAvailableDepositMethods, 3);\n\n/**\n * @generated from message payment.AmountRange\n */\nexport type AmountRange = Message<\"payment.AmountRange\"> & {\n /**\n * @generated from field: int64 min_amount = 1;\n */\n minAmount: bigint;\n\n /**\n * @generated from field: int64 max_amount = 2;\n */\n maxAmount: bigint;\n};\n\n/**\n * Describes the message payment.AmountRange.\n * Use `create(AmountRangeSchema)` to create a new message.\n */\nexport const AmountRangeSchema: GenMessage<AmountRange> = /*@__PURE__*/\n messageDesc(file_payment_GetAvailableDepositMethods, 4);\n\n/**\n * @generated from message payment.PaymentOption\n */\nexport type PaymentOption = Message<\"payment.PaymentOption\"> & {\n /**\n * @generated from field: string payment_method = 1;\n */\n paymentMethod: string;\n\n /**\n * @generated from field: int32 is_first_deposit_enabled = 2;\n */\n isFirstDepositEnabled: number;\n\n /**\n * @generated from field: string bank_code = 3;\n */\n bankCode: string;\n\n /**\n * @generated from field: string bank_name = 4;\n */\n bankName: string;\n\n /**\n * @generated from field: repeated payment.Card card_list = 5;\n */\n cardList: Card[];\n\n /**\n * @generated from field: string cate = 6;\n */\n cate: string;\n\n /**\n * @generated from field: int32 mini_tag = 7;\n */\n miniTag: number;\n\n /**\n * @generated from field: bool disabled = 8;\n */\n disabled: boolean;\n\n /**\n * @generated from field: payment.AmountRange range = 9;\n */\n range?: AmountRange;\n};\n\n/**\n * Describes the message payment.PaymentOption.\n * Use `create(PaymentOptionSchema)` to create a new message.\n */\nexport const PaymentOptionSchema: GenMessage<PaymentOption> = /*@__PURE__*/\n messageDesc(file_payment_GetAvailableDepositMethods, 5);\n\n/**\n * @generated from message payment.PaymentCategory\n */\nexport type PaymentCategory = Message<\"payment.PaymentCategory\"> & {\n /**\n * @generated from field: repeated payment.PaymentOption bank = 1;\n */\n bank: PaymentOption[];\n\n /**\n * @generated from field: repeated payment.PaymentOption ewallet = 2;\n */\n ewallet: PaymentOption[];\n\n /**\n * @generated from field: repeated payment.PaymentOption otc = 3;\n */\n otc: PaymentOption[];\n};\n\n/**\n * Describes the message payment.PaymentCategory.\n * Use `create(PaymentCategorySchema)` to create a new message.\n */\nexport const PaymentCategorySchema: GenMessage<PaymentCategory> = /*@__PURE__*/\n messageDesc(file_payment_GetAvailableDepositMethods, 6);\n\n/**\n * @generated from message payment.VoucherOption\n */\nexport type VoucherOption = Message<\"payment.VoucherOption\"> & {\n /**\n * @generated from field: string payment_method = 1;\n */\n paymentMethod: string;\n\n /**\n * @generated from field: repeated payment.Card card_list = 2;\n */\n cardList: Card[];\n\n /**\n * @generated from field: string bank_code = 3;\n */\n bankCode: string;\n\n /**\n * @generated from field: string bank_name = 4;\n */\n bankName: string;\n\n /**\n * @generated from field: int32 mini_tag = 5;\n */\n miniTag: number;\n\n /**\n * @generated from field: bool disabled = 6;\n */\n disabled: boolean;\n\n /**\n * @generated from field: payment.AmountRange range = 7;\n */\n range?: AmountRange;\n};\n\n/**\n * Describes the message payment.VoucherOption.\n * Use `create(VoucherOptionSchema)` to create a new message.\n */\nexport const VoucherOptionSchema: GenMessage<VoucherOption> = /*@__PURE__*/\n messageDesc(file_payment_GetAvailableDepositMethods, 7);\n\n/**\n * @generated from message payment.DeepLinkDetails\n */\nexport type DeepLinkDetails = Message<\"payment.DeepLinkDetails\"> & {\n /**\n * @generated from field: string deep_link = 1;\n */\n deepLink: string;\n\n /**\n * @generated from field: bool status = 2;\n */\n status: boolean;\n};\n\n/**\n * Describes the message payment.DeepLinkDetails.\n * Use `create(DeepLinkDetailsSchema)` to create a new message.\n */\nexport const DeepLinkDetailsSchema: GenMessage<DeepLinkDetails> = /*@__PURE__*/\n messageDesc(file_payment_GetAvailableDepositMethods, 8);\n\n/**\n * @generated from message payment.MiniProgram\n */\nexport type MiniProgram = Message<\"payment.MiniProgram\"> & {\n /**\n * @generated from field: string bank_name = 1;\n */\n bankName: string;\n\n /**\n * @generated from field: bool disabled = 2;\n */\n disabled: boolean;\n};\n\n/**\n * Describes the message payment.MiniProgram.\n * Use `create(MiniProgramSchema)` to create a new message.\n */\nexport const MiniProgramSchema: GenMessage<MiniProgram> = /*@__PURE__*/\n messageDesc(file_payment_GetAvailableDepositMethods, 9);\n\n/**\n * @generated from message payment.GetAvailableDepositMethodsData\n */\nexport type GetAvailableDepositMethodsData = Message<\"payment.GetAvailableDepositMethodsData\"> & {\n /**\n * @generated from field: repeated payment.PaymentCategory available_payment_categories = 1;\n */\n availablePaymentCategories: PaymentCategory[];\n\n /**\n * @generated from field: repeated payment.PaymentOption available_payment_options = 2;\n */\n availablePaymentOptions: PaymentOption[];\n\n /**\n * @generated from field: repeated payment.AmountRange available_range = 3;\n */\n availableRange: AmountRange[];\n\n /**\n * @generated from field: repeated payment.VoucherOption available_voucher_options = 4;\n */\n availableVoucherOptions: VoucherOption[];\n\n /**\n * @generated from field: payment.DeepLinkDetails deep_link_details = 5;\n */\n deepLinkDetails?: DeepLinkDetails;\n\n /**\n * @generated from field: repeated int32 preset_deposit_amount = 6;\n */\n presetDepositAmount: number[];\n\n /**\n * @generated from field: repeated payment.MiniProgram mini_program = 8;\n */\n miniProgram: MiniProgram[];\n};\n\n/**\n * Describes the message payment.GetAvailableDepositMethodsData.\n * Use `create(GetAvailableDepositMethodsDataSchema)` to create a new message.\n */\nexport const GetAvailableDepositMethodsDataSchema: GenMessage<GetAvailableDepositMethodsData> = /*@__PURE__*/\n messageDesc(file_payment_GetAvailableDepositMethods, 10);\n\n/**\n * @generated from message payment.GetAvailableDepositMethodsRes\n */\nexport type GetAvailableDepositMethodsRes = Message<\"payment.GetAvailableDepositMethodsRes\"> & {\n /**\n * @generated from field: int32 status = 1;\n */\n status: number;\n\n /**\n * @generated from field: string message = 2;\n */\n message: string;\n\n /**\n * @generated from field: payment.GetAvailableDepositMethodsData data = 3;\n */\n data?: GetAvailableDepositMethodsData;\n};\n\n/**\n * Describes the message payment.GetAvailableDepositMethodsRes.\n * Use `create(GetAvailableDepositMethodsResSchema)` to create a new message.\n */\nexport const GetAvailableDepositMethodsResSchema: GenMessage<GetAvailableDepositMethodsRes> = /*@__PURE__*/\n messageDesc(file_payment_GetAvailableDepositMethods, 11);\n\n","// @generated by protoc-gen-es v2.10.2 with parameter \"target=ts\"\n// @generated from file payment/UpdatePaymentInfo.proto (package payment, syntax proto3)\n/* eslint-disable */\n\nimport type { GenFile, GenMessage } from \"@bufbuild/protobuf/codegenv2\";\nimport { fileDesc, messageDesc } from \"@bufbuild/protobuf/codegenv2\";\nimport type { BankCard } from \"./PaymentCommon_pb\";\nimport { file_payment_PaymentCommon } from \"./PaymentCommon_pb\";\nimport type { Message } from \"@bufbuild/protobuf\";\n\n/**\n * Describes the file payment/UpdatePaymentInfo.proto.\n */\nexport const file_payment_UpdatePaymentInfo: GenFile = /*@__PURE__*/\n fileDesc(\"Ch9wYXltZW50L1VwZGF0ZVBheW1lbnRJbmZvLnByb3RvEgdwYXltZW50In4KFFVwZGF0ZVBheW1lbnRJbmZvUmVxEiQKCWJhbmtfY2FyZBgBIAEoCzIRLnBheW1lbnQuQmFua0NhcmQSGQoRY2hpbGRfcGxhdGZvcm1faWQYAyABKAkSEwoLcGxhdGZvcm1faWQYBCABKAkSEAoIc21zX2NvZGUYByABKAkiNwoUVXBkYXRlUGF5bWVudEluZm9SZXMSDgoGc3RhdHVzGAEgASgFEg8KB21lc3NhZ2UYAiABKAliBnByb3RvMw\", [file_payment_PaymentCommon]);\n\n/**\n * @generated from message payment.UpdatePaymentInfoReq\n */\nexport type UpdatePaymentInfoReq = Message<\"payment.UpdatePaymentInfoReq\"> & {\n /**\n * @generated from field: payment.BankCard bank_card = 1;\n */\n bankCard?: BankCard;\n\n /**\n * @generated from field: string child_platform_id = 3;\n */\n childPlatformId: string;\n\n /**\n * @generated from field: string platform_id = 4;\n */\n platformId: string;\n\n /**\n * @generated from field: string sms_code = 7;\n */\n smsCode: string;\n};\n\n/**\n * Describes the message payment.UpdatePaymentInfoReq.\n * Use `create(UpdatePaymentInfoReqSchema)` to create a new message.\n */\nexport const UpdatePaymentInfoReqSchema: GenMessage<UpdatePaymentInfoReq> = /*@__PURE__*/\n messageDesc(file_payment_UpdatePaymentInfo, 0);\n\n/**\n * @generated from message payment.UpdatePaymentInfoRes\n */\nexport type UpdatePaymentInfoRes = Message<\"payment.UpdatePaymentInfoRes\"> & {\n /**\n * @generated from field: int32 status = 1;\n */\n status: number;\n\n /**\n * @generated from field: string message = 2;\n */\n message: string;\n};\n\n/**\n * Describes the message payment.UpdatePaymentInfoRes.\n * Use `create(UpdatePaymentInfoResSchema)` to create a new message.\n */\nexport const UpdatePaymentInfoResSchema: GenMessage<UpdatePaymentInfoRes> = /*@__PURE__*/\n messageDesc(file_payment_UpdatePaymentInfo, 1);\n\n","// @generated by protoc-gen-es v2.10.2 with parameter \"target=ts\"\n// @generated from file payment/VerifyUnionBank.proto (package payment, syntax proto3)\n/* eslint-disable */\n\nimport type { GenFile, GenMessage } from \"@bufbuild/protobuf/codegenv2\";\nimport { fileDesc, messageDesc } from \"@bufbuild/protobuf/codegenv2\";\nimport type { Message } from \"@bufbuild/protobuf\";\n\n/**\n * Describes the file payment/VerifyUnionBank.proto.\n */\nexport const file_payment_VerifyUnionBank: GenFile = /*@__PURE__*/\n fileDesc(\"Ch1wYXltZW50L1ZlcmlmeVVuaW9uQmFuay5wcm90bxIHcGF5bWVudCIpChJWZXJpZnlVbmlvbkJhbmtSZXESEwoLcGxhdGZvcm1faWQYASABKAkiOgoTVmVyaWZ5VW5pb25CYW5rRGF0YRIOCgZzdGF0dXMYASABKAkSEwoLcHJvcG9zYWxfaWQYAiABKAkiYQoSVmVyaWZ5VW5pb25CYW5rUmVzEg4KBnN0YXR1cxgBIAEoBRIPCgdtZXNzYWdlGAIgASgJEioKBGRhdGEYAyABKAsyHC5wYXltZW50LlZlcmlmeVVuaW9uQmFua0RhdGFiBnByb3RvMw\");\n\n/**\n * @generated from message payment.VerifyUnionBankReq\n */\nexport type VerifyUnionBankReq = Message<\"payment.VerifyUnionBankReq\"> & {\n /**\n * @generated from field: string platform_id = 1;\n */\n platformId: string;\n};\n\n/**\n * Describes the message payment.VerifyUnionBankReq.\n * Use `create(VerifyUnionBankReqSchema)` to create a new message.\n */\nexport const VerifyUnionBankReqSchema: GenMessage<VerifyUnionBankReq> = /*@__PURE__*/\n messageDesc(file_payment_VerifyUnionBank, 0);\n\n/**\n * @generated from message payment.VerifyUnionBankData\n */\nexport type VerifyUnionBankData = Message<\"payment.VerifyUnionBankData\"> & {\n /**\n * @generated from field: string status = 1;\n */\n status: string;\n\n /**\n * @generated from field: string proposal_id = 2;\n */\n proposalId: string;\n};\n\n/**\n * Describes the message payment.VerifyUnionBankData.\n * Use `create(VerifyUnionBankDataSchema)` to create a new message.\n */\nexport const VerifyUnionBankDataSchema: GenMessage<VerifyUnionBankData> = /*@__PURE__*/\n messageDesc(file_payment_VerifyUnionBank, 1);\n\n/**\n * @generated from message payment.VerifyUnionBankRes\n */\nexport type VerifyUnionBankRes = Message<\"payment.VerifyUnionBankRes\"> & {\n /**\n * @generated from field: int32 status = 1;\n */\n status: number;\n\n /**\n * @generated from field: string message = 2;\n */\n message: string;\n\n /**\n * @generated from field: payment.VerifyUnionBankData data = 3;\n */\n data?: VerifyUnionBankData;\n};\n\n/**\n * Describes the message payment.VerifyUnionBankRes.\n * Use `create(VerifyUnionBankResSchema)` to create a new message.\n */\nexport const VerifyUnionBankResSchema: GenMessage<VerifyUnionBankRes> = /*@__PURE__*/\n messageDesc(file_payment_VerifyUnionBank, 2);\n\n","// @generated by protoc-gen-es v2.10.2 with parameter \"target=ts\"\n// @generated from file payment/FrontendCreditService.proto (package payment, syntax proto3)\n/* eslint-disable */\n\nimport type { GenFile, GenService } from \"@bufbuild/protobuf/codegenv2\";\nimport { fileDesc, serviceDesc } from \"@bufbuild/protobuf/codegenv2\";\nimport type { GetCreditReqSchema, GetCreditResSchema } from \"./GetCredit_pb\";\nimport { file_payment_GetCredit } from \"./GetCredit_pb\";\n\n/**\n * Describes the file payment/FrontendCreditService.proto.\n */\nexport const file_payment_FrontendCreditService: GenFile = /*@__PURE__*/\n fileDesc(\"CiNwYXltZW50L0Zyb250ZW5kQ3JlZGl0U2VydmljZS5wcm90bxIHcGF5bWVudDJSChVGcm9udGVuZENyZWRpdFNlcnZpY2USOQoJR2V0Q3JlZGl0EhUucGF5bWVudC5HZXRDcmVkaXRSZXEaFS5wYXltZW50LkdldENyZWRpdFJlc2IGcHJvdG8z\", [file_payment_GetCredit]);\n\n/**\n * @generated from service payment.FrontendCreditService\n */\nexport const FrontendCreditService: GenService<{\n /**\n * @generated from rpc payment.FrontendCreditService.GetCredit\n */\n getCredit: {\n methodKind: \"unary\";\n input: typeof GetCreditReqSchema;\n output: typeof GetCreditResSchema;\n },\n}> = /*@__PURE__*/\n serviceDesc(file_payment_FrontendCreditService, 0);\n\n","// @generated by protoc-gen-es v2.10.2 with parameter \"target=ts\"\n// @generated from file payment/GetCredit.proto (package payment, syntax proto3)\n/* eslint-disable */\n\nimport type { GenFile, GenMessage } from \"@bufbuild/protobuf/codegenv2\";\nimport { fileDesc, messageDesc } from \"@bufbuild/protobuf/codegenv2\";\nimport { file_common_Common } from \"../common/Common_pb\";\nimport type { Message } from \"@bufbuild/protobuf\";\n\n/**\n * Describes the file payment/GetCredit.proto.\n */\nexport const file_payment_GetCredit: GenFile = /*@__PURE__*/\n fileDesc(\"ChdwYXltZW50L0dldENyZWRpdC5wcm90bxIHcGF5bWVudCIOCgxHZXRDcmVkaXRSZXEivwEKCkdhbWVDcmVkaXQSDwoHY2FzaF9pbhgBIAEoCBIPCgdjaF9uYW1lGAIgASgJEhgKEGlzX3NpbmdsZV93YWxsZXQYAyABKAgSEQoJbmlja19uYW1lGAQgASgJEhMKC3Byb3ZpZGVyX2lkGAUgASgJEg4KBnN0YXR1cxgGIAEoBRIQCghwb3NpdGlvbhgHIAEoBRIUCgx2YWxpZF9jcmVkaXQYCCABKAESFQoNd2FsbGV0X2NyZWRpdBgJIAEoASJtChBMb2NrZWRDcmVkaXRFYWNoEhMKC3Byb3ZpZGVyX2lkGAEgASgJEhEKCW5pY2tfbmFtZRgCIAEoCRIPCgdjaF9uYW1lGAMgASgJEg4KBnN0YXR1cxgEIAEoBRIQCghwb3NpdGlvbhgFIAEoBSJfCgxMb2NrZWRDcmVkaXQSEQoJbmlja19uYW1lGAEgASgJEhMKC2xvY2tfY3JlZGl0GAIgASgBEicKBGxpc3QYAyADKAsyGS5wYXltZW50LkxvY2tlZENyZWRpdEVhY2gipAEKDUdldENyZWRpdERhdGESDgoGY3JlZGl0GAEgASgBEhQKDGZpbmFsX2Ftb3VudBgCIAEoARILCgNtdWQYAyABKAESLQoQZ2FtZV9jcmVkaXRfbGlzdBgEIAMoCzITLnBheW1lbnQuR2FtZUNyZWRpdBIxChJsb2NrZWRfY3JlZGl0X2xpc3QYBSADKAsyFS5wYXltZW50LkxvY2tlZENyZWRpdCJVCgxHZXRDcmVkaXRSZXMSJAoEZGF0YRgBIAEoCzIWLnBheW1lbnQuR2V0Q3JlZGl0RGF0YRIOCgZzdGF0dXMYAiABKAUSDwoHbWVzc2FnZRgDIAEoCWIGcHJvdG8z\", [file_common_Common]);\n\n/**\n * @generated from message payment.GetCreditReq\n */\nexport type GetCreditReq = Message<\"payment.GetCreditReq\"> & {\n};\n\n/**\n * Describes the message payment.GetCreditReq.\n * Use `create(GetCreditReqSchema)` to create a new message.\n */\nexport const GetCreditReqSchema: GenMessage<GetCreditReq> = /*@__PURE__*/\n messageDesc(file_payment_GetCredit, 0);\n\n/**\n * @generated from message payment.GameCredit\n */\nexport type GameCredit = Message<\"payment.GameCredit\"> & {\n /**\n * @generated from field: bool cash_in = 1;\n */\n cashIn: boolean;\n\n /**\n * @generated from field: string ch_name = 2;\n */\n chName: string;\n\n /**\n * @generated from field: bool is_single_wallet = 3;\n */\n isSingleWallet: boolean;\n\n /**\n * @generated from field: string nick_name = 4;\n */\n nickName: string;\n\n /**\n * @generated from field: string provider_id = 5;\n */\n providerId: string;\n\n /**\n * @generated from field: int32 status = 6;\n */\n status: number;\n\n /**\n * @generated from field: int32 position = 7;\n */\n position: number;\n\n /**\n * @generated from field: double valid_credit = 8;\n */\n validCredit: number;\n\n /**\n * @generated from field: double wallet_credit = 9;\n */\n walletCredit: number;\n};\n\n/**\n * Describes the message payment.GameCredit.\n * Use `create(GameCreditSchema)` to create a new message.\n */\nexport const GameCreditSchema: GenMessage<GameCredit> = /*@__PURE__*/\n messageDesc(file_payment_GetCredit, 1);\n\n/**\n * @generated from message payment.LockedCreditEach\n */\nexport type LockedCreditEach = Message<\"payment.LockedCreditEach\"> & {\n /**\n * @generated from field: string provider_id = 1;\n */\n providerId: string;\n\n /**\n * @generated from field: string nick_name = 2;\n */\n nickName: string;\n\n /**\n * @generated from field: string ch_name = 3;\n */\n chName: string;\n\n /**\n * @generated from field: int32 status = 4;\n */\n status: number;\n\n /**\n * @generated from field: int32 position = 5;\n */\n position: number;\n};\n\n/**\n * Describes the message payment.LockedCreditEach.\n * Use `create(LockedCreditEachSchema)` to create a new message.\n */\nexport const LockedCreditEachSchema: GenMessage<LockedCreditEach> = /*@__PURE__*/\n messageDesc(file_payment_GetCredit, 2);\n\n/**\n * @generated from message payment.LockedCredit\n */\nexport type LockedCredit = Message<\"payment.LockedCredit\"> & {\n /**\n * @generated from field: string nick_name = 1;\n */\n nickName: string;\n\n /**\n * @generated from field: double lock_credit = 2;\n */\n lockCredit: number;\n\n /**\n * @generated from field: repeated payment.LockedCreditEach list = 3;\n */\n list: LockedCreditEach[];\n};\n\n/**\n * Describes the message payment.LockedCredit.\n * Use `create(LockedCreditSchema)` to create a new message.\n */\nexport const LockedCreditSchema: GenMessage<LockedCredit> = /*@__PURE__*/\n messageDesc(file_payment_GetCredit, 3);\n\n/**\n * @generated from message payment.GetCreditData\n */\nexport type GetCreditData = Message<\"payment.GetCreditData\"> & {\n /**\n * @generated from field: double credit = 1;\n */\n credit: number;\n\n /**\n * @generated from field: double final_amount = 2;\n */\n finalAmount: number;\n\n /**\n * @generated from field: double mud = 3;\n */\n mud: number;\n\n /**\n * @generated from field: repeated payment.GameCredit game_credit_list = 4;\n */\n gameCreditList: GameCredit[];\n\n /**\n * @generated from field: repeated payment.LockedCredit locked_credit_list = 5;\n */\n lockedCreditList: LockedCredit[];\n};\n\n/**\n * Describes the message payment.GetCreditData.\n * Use `create(GetCreditDataSchema)` to create a new message.\n */\nexport const GetCreditDataSchema: GenMessage<GetCreditData> = /*@__PURE__*/\n messageDesc(file_payment_GetCredit, 4);\n\n/**\n * @generated from message payment.GetCreditRes\n */\nexport type GetCreditRes = Message<\"payment.GetCreditRes\"> & {\n /**\n * @generated from field: payment.GetCreditData data = 1;\n */\n data?: GetCreditData;\n\n /**\n * @generated from field: int32 status = 2;\n */\n status: number;\n\n /**\n * @generated from field: string message = 3;\n */\n message: string;\n};\n\n/**\n * Describes the message payment.GetCreditRes.\n * Use `create(GetCreditResSchema)` to create a new message.\n */\nexport const GetCreditResSchema: GenMessage<GetCreditRes> = /*@__PURE__*/\n messageDesc(file_payment_GetCredit, 5);\n\n","// @generated by protoc-gen-es v2.10.2 with parameter \"target=ts\"\n// @generated from file payment/FrontendDepositEffectService.proto (package payment, syntax proto3)\n/* eslint-disable */\n\nimport type { GenFile, GenService } from \"@bufbuild/protobuf/codegenv2\";\nimport { fileDesc, serviceDesc } from \"@bufbuild/protobuf/codegenv2\";\nimport type { EmptySchema } from \"../common/Common_pb\";\nimport { file_common_Common } from \"../common/Common_pb\";\nimport type { GetCreditChangeNotifyMsgResSchema } from \"./GetCreditChangeNotifyMsg_pb\";\nimport { file_payment_GetCreditChangeNotifyMsg } from \"./GetCreditChangeNotifyMsg_pb\";\nimport type { RemoveCreditChangeNotifyMsgReqSchema, RemoveCreditChangeNotifyMsgResSchema } from \"./RemoveCreditChangeNotifyMsg_pb\";\nimport { file_payment_RemoveCreditChangeNotifyMsg } from \"./RemoveCreditChangeNotifyMsg_pb\";\n\n/**\n * Describes the file payment/FrontendDepositEffectService.proto.\n */\nexport const file_payment_FrontendDepositEffectService: GenFile = /*@__PURE__*/\n fileDesc(\"CipwYXltZW50L0Zyb250ZW5kRGVwb3NpdEVmZmVjdFNlcnZpY2UucHJvdG8SB3BheW1lbnQy5AEKHEZyb250ZW5kRGVwb3NpdEVmZmVjdFNlcnZpY2USUQoYR2V0Q3JlZGl0Q2hhbmdlTm90aWZ5TXNnEg0uY29tbW9uLkVtcHR5GiQucGF5bWVudC5HZXRDcmVkaXRDaGFuZ2VOb3RpZnlNc2dSZXMiABJxChtSZW1vdmVDcmVkaXRDaGFuZ2VOb3RpZnlNc2cSJy5wYXltZW50LlJlbW92ZUNyZWRpdENoYW5nZU5vdGlmeU1zZ1JlcRonLnBheW1lbnQuUmVtb3ZlQ3JlZGl0Q2hhbmdlTm90aWZ5TXNnUmVzIgBiBnByb3RvMw\", [file_common_Common, file_payment_GetCreditChangeNotifyMsg, file_payment_RemoveCreditChangeNotifyMsg]);\n\n/**\n * @generated from service payment.FrontendDepositEffectService\n */\nexport const FrontendDepositEffectService: GenService<{\n /**\n * @generated from rpc payment.FrontendDepositEffectService.GetCreditChangeNotifyMsg\n */\n getCreditChangeNotifyMsg: {\n methodKind: \"unary\";\n input: typeof EmptySchema;\n output: typeof GetCreditChangeNotifyMsgResSchema;\n },\n /**\n * @generated from rpc payment.FrontendDepositEffectService.RemoveCreditChangeNotifyMsg\n */\n removeCreditChangeNotifyMsg: {\n methodKind: \"unary\";\n input: typeof RemoveCreditChangeNotifyMsgReqSchema;\n output: typeof RemoveCreditChangeNotifyMsgResSchema;\n },\n}> = /*@__PURE__*/\n serviceDesc(file_payment_FrontendDepositEffectService, 0);\n\n","// @generated by protoc-gen-es v2.10.2 with parameter \"target=ts\"\n// @generated from file payment/GetCreditChangeNotifyMsg.proto (package payment, syntax proto3)\n/* eslint-disable */\n\nimport type { GenFile, GenMessage } from \"@bufbuild/protobuf/codegenv2\";\nimport { fileDesc, messageDesc } from \"@bufbuild/protobuf/codegenv2\";\nimport type { BaseResponse } from \"../common/Common_pb\";\nimport { file_common_Common } from \"../common/Common_pb\";\nimport type { Message } from \"@bufbuild/protobuf\";\n\n/**\n * Describes the file payment/GetCreditChangeNotifyMsg.proto.\n */\nexport const file_payment_GetCreditChangeNotifyMsg: GenFile = /*@__PURE__*/\n fileDesc(\"CiZwYXltZW50L0dldENyZWRpdENoYW5nZU5vdGlmeU1zZy5wcm90bxIHcGF5bWVudCLyAQobR2V0Q3JlZGl0Q2hhbmdlTm90aWZ5TXNnUmVzEisKDWJhc2VfcmVzcG9uc2UYASABKAsyFC5jb21tb24uQmFzZVJlc3BvbnNlEjcKBGRhdGEYAiADKAsyKS5wYXltZW50LkdldENyZWRpdENoYW5nZU5vdGlmeU1zZ1Jlcy5EYXRhGm0KBERhdGESEwoLcHJvcG9zYWxfaWQYASABKAkSFQoNdXBkYXRlX2Ftb3VudBgCIAEoARIUCgxmaW5hbF9hbW91bnQYAyABKAESFQoNYmVmb3JlX2Ftb3VudBgEIAEoARIMCgRkYXRlGAUgASgJYgZwcm90bzM\", [file_common_Common]);\n\n/**\n * @generated from message payment.GetCreditChangeNotifyMsgRes\n */\nexport type GetCreditChangeNotifyMsgRes = Message<\"payment.GetCreditChangeNotifyMsgRes\"> & {\n /**\n * @generated from field: common.BaseResponse base_response = 1;\n */\n baseResponse?: BaseResponse;\n\n /**\n * @generated from field: repeated payment.GetCreditChangeNotifyMsgRes.Data data = 2;\n */\n data: GetCreditChangeNotifyMsgRes_Data[];\n};\n\n/**\n * Describes the message payment.GetCreditChangeNotifyMsgRes.\n * Use `create(GetCreditChangeNotifyMsgResSchema)` to create a new message.\n */\nexport const GetCreditChangeNotifyMsgResSchema: GenMessage<GetCreditChangeNotifyMsgRes> = /*@__PURE__*/\n messageDesc(file_payment_GetCreditChangeNotifyMsg, 0);\n\n/**\n * @generated from message payment.GetCreditChangeNotifyMsgRes.Data\n */\nexport type GetCreditChangeNotifyMsgRes_Data = Message<\"payment.GetCreditChangeNotifyMsgRes.Data\"> & {\n /**\n * @generated from field: string proposal_id = 1;\n */\n proposalId: string;\n\n /**\n * @generated from field: double update_amount = 2;\n */\n updateAmount: number;\n\n /**\n * @generated from field: double final_amount = 3;\n */\n finalAmount: number;\n\n /**\n * @generated from field: double before_amount = 4;\n */\n beforeAmount: number;\n\n /**\n * @generated from field: string date = 5;\n */\n date: string;\n};\n\n/**\n * Describes the message payment.GetCreditChangeNotifyMsgRes.Data.\n * Use `create(GetCreditChangeNotifyMsgRes_DataSchema)` to create a new message.\n */\nexport const GetCreditChangeNotifyMsgRes_DataSchema: GenMessage<GetCreditChangeNotifyMsgRes_Data> = /*@__PURE__*/\n messageDesc(file_payment_GetCreditChangeNotifyMsg, 0, 0);\n\n","// @generated by protoc-gen-es v2.10.2 with parameter \"target=ts\"\n// @generated from file payment/RemoveCreditChangeNotifyMsg.proto (package payment, syntax proto3)\n/* eslint-disable */\n\nimport type { GenFile, GenMessage } from \"@bufbuild/protobuf/codegenv2\";\nimport { fileDesc, messageDesc } from \"@bufbuild/protobuf/codegenv2\";\nimport type { BaseResponse } from \"../common/Common_pb\";\nimport { file_common_Common } from \"../common/Common_pb\";\nimport type { Message } from \"@bufbuild/protobuf\";\n\n/**\n * Describes the file payment/RemoveCreditChangeNotifyMsg.proto.\n */\nexport const file_payment_RemoveCreditChangeNotifyMsg: GenFile = /*@__PURE__*/\n fileDesc(\"CilwYXltZW50L1JlbW92ZUNyZWRpdENoYW5nZU5vdGlmeU1zZy5wcm90bxIHcGF5bWVudCJKCh5SZW1vdmVDcmVkaXRDaGFuZ2VOb3RpZnlNc2dSZXESGAoLcHJvcG9zYWxfaWQYASABKAlIAIgBAUIOCgxfcHJvcG9zYWxfaWQiTQoeUmVtb3ZlQ3JlZGl0Q2hhbmdlTm90aWZ5TXNnUmVzEisKDWJhc2VfcmVzcG9uc2UYASABKAsyFC5jb21tb24uQmFzZVJlc3BvbnNlYgZwcm90bzM\", [file_common_Common]);\n\n/**\n * @generated from message payment.RemoveCreditChangeNotifyMsgReq\n */\nexport type RemoveCreditChangeNotifyMsgReq = Message<\"payment.RemoveCreditChangeNotifyMsgReq\"> & {\n /**\n * @generated from field: optional string proposal_id = 1;\n */\n proposalId?: string;\n};\n\n/**\n * Describes the message payment.RemoveCreditChangeNotifyMsgReq.\n * Use `create(RemoveCreditChangeNotifyMsgReqSchema)` to create a new message.\n */\nexport const RemoveCreditChangeNotifyMsgReqSchema: GenMessage<RemoveCreditChangeNotifyMsgReq> = /*@__PURE__*/\n messageDesc(file_payment_RemoveCreditChangeNotifyMsg, 0);\n\n/**\n * @generated from message payment.RemoveCreditChangeNotifyMsgRes\n */\nexport type RemoveCreditChangeNotifyMsgRes = Message<\"payment.RemoveCreditChangeNotifyMsgRes\"> & {\n /**\n * @generated from field: common.BaseResponse base_response = 1;\n */\n baseResponse?: BaseResponse;\n};\n\n/**\n * Describes the message payment.RemoveCreditChangeNotifyMsgRes.\n * Use `create(RemoveCreditChangeNotifyMsgResSchema)` to create a new message.\n */\nexport const RemoveCreditChangeNotifyMsgResSchema: GenMessage<RemoveCreditChangeNotifyMsgRes> = /*@__PURE__*/\n messageDesc(file_payment_RemoveCreditChangeNotifyMsg, 1);\n\n","// @generated by protoc-gen-es v2.10.2 with parameter \"target=ts\"\n// @generated from file payment/FrontendFreeSpinService.proto (package payment, syntax proto3)\n/* eslint-disable */\n\nimport type { GenFile, GenService } from \"@bufbuild/protobuf/codegenv2\";\nimport { fileDesc, serviceDesc } from \"@bufbuild/protobuf/codegenv2\";\nimport type { GetPlatformPlayerFreeSpinListingReqSchema, GetPlatformPlayerFreeSpinListingResSchema } from \"./GetPlatformPlayerFreeSpinListing_pb\";\nimport { file_payment_GetPlatformPlayerFreeSpinListing } from \"./GetPlatformPlayerFreeSpinListing_pb\";\n\n/**\n * Describes the file payment/FrontendFreeSpinService.proto.\n */\nexport const file_payment_FrontendFreeSpinService: GenFile = /*@__PURE__*/\n fileDesc(\"CiVwYXltZW50L0Zyb250ZW5kRnJlZVNwaW5TZXJ2aWNlLnByb3RvEgdwYXltZW50MpwBChdGcm9udGVuZEZyZWVTcGluU2VydmljZRKAAQogR2V0UGxhdGZvcm1QbGF5ZXJGcmVlU3Bpbkxpc3RpbmcSLC5wYXltZW50LkdldFBsYXRmb3JtUGxheWVyRnJlZVNwaW5MaXN0aW5nUmVxGiwucGF5bWVudC5HZXRQbGF0Zm9ybVBsYXllckZyZWVTcGluTGlzdGluZ1JlcyIAYgZwcm90bzM\", [file_payment_GetPlatformPlayerFreeSpinListing]);\n\n/**\n * @generated from service payment.FrontendFreeSpinService\n */\nexport const FrontendFreeSpinService: GenService<{\n /**\n * @generated from rpc payment.FrontendFreeSpinService.GetPlatformPlayerFreeSpinListing\n */\n getPlatformPlayerFreeSpinListing: {\n methodKind: \"unary\";\n input: typeof GetPlatformPlayerFreeSpinListingReqSchema;\n output: typeof GetPlatformPlayerFreeSpinListingResSchema;\n },\n}> = /*@__PURE__*/\n serviceDesc(file_payment_FrontendFreeSpinService, 0);\n\n","// @generated by protoc-gen-es v2.10.2 with parameter \"target=ts\"\n// @generated from file payment/GetPlatformPlayerFreeSpinListing.proto (package payment, syntax proto3)\n/* eslint-disable */\n\nimport type { GenFile, GenMessage } from \"@bufbuild/protobuf/codegenv2\";\nimport { fileDesc, messageDesc } from \"@bufbuild/protobuf/codegenv2\";\nimport type { BaseResponse, DateTimeRangeFilter, Pagination, PaginationBaseResponse } from \"../common/Common_pb\";\nimport { file_common_Common } from \"../common/Common_pb\";\nimport type { Message } from \"@bufbuild/protobuf\";\n\n/**\n * Describes the file payment/GetPlatformPlayerFreeSpinListing.proto.\n */\nexport const file_payment_GetPlatformPlayerFreeSpinListing: GenFile = /*@__PURE__*/\n fileDesc(\"Ci5wYXltZW50L0dldFBsYXRmb3JtUGxheWVyRnJlZVNwaW5MaXN0aW5nLnByb3RvEgdwYXltZW50IooBCiNHZXRQbGF0Zm9ybVBsYXllckZyZWVTcGluTGlzdGluZ1JlcRI7ChZkYXRlX3RpbWVfcmFuZ2VfZmlsdGVyGAEgASgLMhsuY29tbW9uLkRhdGVUaW1lUmFuZ2VGaWx0ZXISJgoKcGFnaW5hdGlvbhgCIAEoCzISLmNvbW1vbi5QYWdpbmF0aW9uIr4CCg5GcmVlU3BpblJlY29yZBITCgtwbGF5ZXJfbmFtZRgBIAEoCRITCgtwbGF0Zm9ybV9pZBgCIAEoCRISCgpldmVudF9uYW1lGAMgASgJEhUKDXByb3ZpZGVyX25hbWUYBCABKAkSEQoJZ2FtZV9uYW1lGAUgASgJEhcKD2ZyZWVfc3Bpbl90aW1lcxgGIAEoBRITCgtwYXlvdXRfZGF0ZRgHIAEoCRIVCg1jYW1wYWlnbl9uYW1lGAggASgJEhMKC2NyZWF0ZV90aW1lGAkgASgJEg4KBnJlbWFyaxgKIAEoCRIUCgxleHBpcmVkX3RpbWUYCyABKAkSEQoJYmV0X3ZhbHVlGAwgASgFEg4KBnN0YXR1cxgNIAEoCRIhChlpc19jb250YWluX211bHRpcGxlX2dhbWVzGA4gASgIIvkBCiNHZXRQbGF0Zm9ybVBsYXllckZyZWVTcGluTGlzdGluZ1JlcxIrCg1iYXNlX3Jlc3BvbnNlGAEgASgLMhQuY29tbW9uLkJhc2VSZXNwb25zZRI/CgRkYXRhGAIgASgLMjEucGF5bWVudC5HZXRQbGF0Zm9ybVBsYXllckZyZWVTcGluTGlzdGluZ1Jlcy5EYXRhGmQKBERhdGESKAoHcmVzdWx0cxgBIAMoCzIXLnBheW1lbnQuRnJlZVNwaW5SZWNvcmQSMgoKcGFnaW5hdGlvbhgCIAEoCzIeLmNvbW1vbi5QYWdpbmF0aW9uQmFzZVJlc3BvbnNlYgZwcm90bzM\", [file_common_Common]);\n\n/**\n * @generated from message payment.GetPlatformPlayerFreeSpinListingReq\n */\nexport type GetPlatformPlayerFreeSpinListingReq = Message<\"payment.GetPlatformPlayerFreeSpinListingReq\"> & {\n /**\n * @generated from field: common.DateTimeRangeFilter date_time_range_filter = 1;\n */\n dateTimeRangeFilter?: DateTimeRangeFilter;\n\n /**\n * @generated from field: common.Pagination pagination = 2;\n */\n pagination?: Pagination;\n};\n\n/**\n * Describes the message payment.GetPlatformPlayerFreeSpinListingReq.\n * Use `create(GetPlatformPlayerFreeSpinListingReqSchema)` to create a new message.\n */\nexport const GetPlatformPlayerFreeSpinListingReqSchema: GenMessage<GetPlatformPlayerFreeSpinListingReq> = /*@__PURE__*/\n messageDesc(file_payment_GetPlatformPlayerFreeSpinListing, 0);\n\n/**\n * @generated from message payment.FreeSpinRecord\n */\nexport type FreeSpinRecord = Message<\"payment.FreeSpinRecord\"> & {\n /**\n * @generated from field: string player_name = 1;\n */\n playerName: string;\n\n /**\n * @generated from field: string platform_id = 2;\n */\n platformId: string;\n\n /**\n * @generated from field: string event_name = 3;\n */\n eventName: string;\n\n /**\n * @generated from field: string provider_name = 4;\n */\n providerName: string;\n\n /**\n * @generated from field: string game_name = 5;\n */\n gameName: string;\n\n /**\n * @generated from field: int32 free_spin_times = 6;\n */\n freeSpinTimes: number;\n\n /**\n * @generated from field: string payout_date = 7;\n */\n payoutDate: string;\n\n /**\n * @generated from field: string campaign_name = 8;\n */\n campaignName: string;\n\n /**\n * @generated from field: string create_time = 9;\n */\n createTime: string;\n\n /**\n * @generated from field: string remark = 10;\n */\n remark: string;\n\n /**\n * @generated from field: string expired_time = 11;\n */\n expiredTime: string;\n\n /**\n * @generated from field: int32 bet_value = 12;\n */\n betValue: number;\n\n /**\n * @generated from field: string status = 13;\n */\n status: string;\n\n /**\n * @generated from field: bool is_contain_multiple_games = 14;\n */\n isContainMultipleGames: boolean;\n};\n\n/**\n * Describes the message payment.FreeSpinRecord.\n * Use `create(FreeSpinRecordSchema)` to create a new message.\n */\nexport const FreeSpinRecordSchema: GenMessage<FreeSpinRecord> = /*@__PURE__*/\n messageDesc(file_payment_GetPlatformPlayerFreeSpinListing, 1);\n\n/**\n * @generated from message payment.GetPlatformPlayerFreeSpinListingRes\n */\nexport type GetPlatformPlayerFreeSpinListingRes = Message<\"payment.GetPlatformPlayerFreeSpinListingRes\"> & {\n /**\n * @generated from field: common.BaseResponse base_response = 1;\n */\n baseResponse?: BaseResponse;\n\n /**\n * @generated from field: payment.GetPlatformPlayerFreeSpinListingRes.Data data = 2;\n */\n data?: GetPlatformPlayerFreeSpinListingRes_Data;\n};\n\n/**\n * Describes the message payment.GetPlatformPlayerFreeSpinListingRes.\n * Use `create(GetPlatformPlayerFreeSpinListingResSchema)` to create a new message.\n */\nexport const GetPlatformPlayerFreeSpinListingResSchema: GenMessage<GetPlatformPlayerFreeSpinListingRes> = /*@__PURE__*/\n messageDesc(file_payment_GetPlatformPlayerFreeSpinListing, 2);\n\n/**\n * @generated from message payment.GetPlatformPlayerFreeSpinListingRes.Data\n */\nexport type GetPlatformPlayerFreeSpinListingRes_Data = Message<\"payment.GetPlatformPlayerFreeSpinListingRes.Data\"> & {\n /**\n * @generated from field: repeated payment.FreeSpinRecord results = 1;\n */\n results: FreeSpinRecord[];\n\n /**\n * @generated from field: common.PaginationBaseResponse pagination = 2;\n */\n pagination?: PaginationBaseResponse;\n};\n\n/**\n * Describes the message payment.GetPlatformPlayerFreeSpinListingRes.Data.\n * Use `create(GetPlatformPlayerFreeSpinListingRes_DataSchema)` to create a new message.\n */\nexport const GetPlatformPlayerFreeSpinListingRes_DataSchema: GenMessage<GetPlatformPlayerFreeSpinListingRes_Data> = /*@__PURE__*/\n messageDesc(file_payment_GetPlatformPlayerFreeSpinListing, 2, 0);\n\n","// @generated by protoc-gen-es v2.10.2 with parameter \"target=ts\"\n// @generated from file payment/FrontendMudService.proto (package payment, syntax proto3)\n/* eslint-disable */\n\nimport type { GenFile, GenService } from \"@bufbuild/protobuf/codegenv2\";\nimport { fileDesc, serviceDesc } from \"@bufbuild/protobuf/codegenv2\";\nimport { file_common_Common } from \"../common/Common_pb\";\nimport type { GetPlayerDisbursementsReqSchema, GetPlayerDisbursementsResSchema } from \"./GetPlayerDisbursements_pb\";\nimport { file_payment_GetPlayerDisbursements } from \"./GetPlayerDisbursements_pb\";\nimport type { ClaimPlayerDisbursementReqSchema, ClaimPlayerDisbursementResSchema } from \"./ClaimPlayerDisbursement_pb\";\nimport { file_payment_ClaimPlayerDisbursement } from \"./ClaimPlayerDisbursement_pb\";\nimport type { GetPlayerMudTransactionsReqSchema, GetPlayerMudTransactionsResSchema } from \"./GetPlayerMudTransactions_pb\";\nimport { file_payment_GetPlayerMudTransactions } from \"./GetPlayerMudTransactions_pb\";\nimport type { GetMudTransactionHistoryReqSchema, GetMudTransactionHistoryResSchema } from \"./GetMudTransactionHistory_pb\";\nimport { file_payment_GetMudTransactionHistory } from \"./GetMudTransactionHistory_pb\";\n\n/**\n * Describes the file payment/FrontendMudService.proto.\n */\nexport const file_payment_FrontendMudService: GenFile = /*@__PURE__*/\n fileDesc(\"CiBwYXltZW50L0Zyb250ZW5kTXVkU2VydmljZS5wcm90bxIHcGF5bWVudDKrAwoSRnJvbnRlbmRNdWRTZXJ2aWNlEmAKFkdldFBsYXllckRpc2J1cnNlbWVudHMSIi5wYXltZW50LkdldFBsYXllckRpc2J1cnNlbWVudHNSZXEaIi5wYXltZW50LkdldFBsYXllckRpc2J1cnNlbWVudHNSZXMSYwoXQ2xhaW1QbGF5ZXJEaXNidXJzZW1lbnQSIy5wYXltZW50LkNsYWltUGxheWVyRGlzYnVyc2VtZW50UmVxGiMucGF5bWVudC5DbGFpbVBsYXllckRpc2J1cnNlbWVudFJlcxJmChhHZXRQbGF5ZXJNdWRUcmFuc2FjdGlvbnMSJC5wYXltZW50LkdldFBsYXllck11ZFRyYW5zYWN0aW9uc1JlcRokLnBheW1lbnQuR2V0UGxheWVyTXVkVHJhbnNhY3Rpb25zUmVzEmYKGEdldE11ZFRyYW5zYWN0aW9uSGlzdG9yeRIkLnBheW1lbnQuR2V0TXVkVHJhbnNhY3Rpb25IaXN0b3J5UmVxGiQucGF5bWVudC5HZXRNdWRUcmFuc2FjdGlvbkhpc3RvcnlSZXNiBnByb3RvMw\", [file_common_Common, file_payment_GetPlayerDisbursements, file_payment_ClaimPlayerDisbursement, file_payment_GetPlayerMudTransactions, file_payment_GetMudTransactionHistory]);\n\n/**\n * @generated from service payment.FrontendMudService\n */\nexport const FrontendMudService: GenService<{\n /**\n * @generated from rpc payment.FrontendMudService.GetPlayerDisbursements\n */\n getPlayerDisbursements: {\n methodKind: \"unary\";\n input: typeof GetPlayerDisbursementsReqSchema;\n output: typeof GetPlayerDisbursementsResSchema;\n },\n /**\n * @generated from rpc payment.FrontendMudService.ClaimPlayerDisbursement\n */\n claimPlayerDisbursement: {\n methodKind: \"unary\";\n input: typeof ClaimPlayerDisbursementReqSchema;\n output: typeof ClaimPlayerDisbursementResSchema;\n },\n /**\n * @generated from rpc payment.FrontendMudService.GetPlayerMudTransactions\n */\n getPlayerMudTransactions: {\n methodKind: \"unary\";\n input: typeof GetPlayerMudTransactionsReqSchema;\n output: typeof GetPlayerMudTransactionsResSchema;\n },\n /**\n * @generated from rpc payment.FrontendMudService.GetMudTransactionHistory\n */\n getMudTransactionHistory: {\n methodKind: \"unary\";\n input: typeof GetMudTransactionHistoryReqSchema;\n output: typeof GetMudTransactionHistoryResSchema;\n },\n}> = /*@__PURE__*/\n serviceDesc(file_payment_FrontendMudService, 0);\n\n","// @generated by protoc-gen-es v2.10.2 with parameter \"target=ts\"\n// @generated from file payment/GetPlayerDisbursements.proto (package payment, syntax proto3)\n/* eslint-disable */\n\nimport type { GenFile, GenMessage } from \"@bufbuild/protobuf/codegenv2\";\nimport { fileDesc, messageDesc } from \"@bufbuild/protobuf/codegenv2\";\nimport { file_common_Common } from \"../common/Common_pb\";\nimport type { Message } from \"@bufbuild/protobuf\";\n\n/**\n * Describes the file payment/GetPlayerDisbursements.proto.\n */\nexport const file_payment_GetPlayerDisbursements: GenFile = /*@__PURE__*/\n fileDesc(\"CiRwYXltZW50L0dldFBsYXllckRpc2J1cnNlbWVudHMucHJvdG8SB3BheW1lbnQiVQoZR2V0UGxheWVyRGlzYnVyc2VtZW50c1JlcRITCgtwbGF0Zm9ybV9pZBgBIAEoCRITCgt3YWxsZXRfdHlwZRgCIAEoCRIOCgZzdGF0dXMYAyABKAkiqwEKFkJvbnVzR2FtZVByb3ZpZGVyR3JvdXASCgoCaWQYASABKAkSDQoFaW1hZ2UYAiABKAkSDAoEbmFtZRgDIAEoCRIUCgxwcm92aWRlcl9pZHMYBCADKAkSEAoIZ2FtZV9pZHMYBSADKAkSEwoLcmVzb3VyY2VfaWQYBiABKAkSEgoKY3JlYXRlZF9hdBgHIAEoCRIXCg9pbWFnZV9zZWNvbmRhcnkYCCABKAkiyAMKElBsYXllckRpc2J1cnNlbWVudBIKCgJpZBgBIAEoCRIQCghiYXRjaF9pZBgCIAEoCRISCgpncmFudF90eXBlGAMgASgJEhMKC3dhbGxldF90eXBlGAQgASgJEhEKCXBsYXllcl9pZBgFIAEoCRIOCgZhbW91bnQYBiABKAESFwoPdmFsaWRpdHlfcGVyaW9kGAcgASgFEhAKCHN0YXJ0X2F0GAggASgJEhMKC3BsYXRmb3JtX2lkGAkgASgJEg4KBnJlbWFyaxgKIAEoCRISCgpleHBpcmVkX2F0GAsgASgJEg4KBnN0YXR1cxgMIAEoCRJCChlib251c19nYW1lX3Byb3ZpZGVyX2dyb3VwGA0gASgLMh8ucGF5bWVudC5Cb251c0dhbWVQcm92aWRlckdyb3VwEhUKDW9yaWdpbl9hbW91bnQYDiABKAESGAoQcmVtYWluaW5nX2Ftb3VudBgPIAEoARIYChBjbGFpbV9leHBpcmVkX2F0GBAgASgJEhkKEXN0YXR1c191cGRhdGVkX2F0GBEgASgJEhIKCmV2ZW50X25hbWUYEiABKAkSFgoOZXZlbnRfc3ViX25hbWUYEyABKAkitQEKFlBsYXllckRpc2J1cnNlbWVudERhdGESOQoUcGxheWVyX2Rpc2J1cnNlbWVudHMYASADKAsyGy5wYXltZW50LlBsYXllckRpc2J1cnNlbWVudBJDCh5hdmFpbGFibGVfcGxheWVyX2Rpc2J1cnNlbWVudHMYAiADKAsyGy5wYXltZW50LlBsYXllckRpc2J1cnNlbWVudBIbChN0b3RhbF9tdWRfcmVtYWluaW5nGAMgASgJImsKGUdldFBsYXllckRpc2J1cnNlbWVudHNSZXMSLQoEZGF0YRgBIAEoCzIfLnBheW1lbnQuUGxheWVyRGlzYnVyc2VtZW50RGF0YRIOCgZzdGF0dXMYAiABKAUSDwoHbWVzc2FnZRgDIAEoCWIGcHJvdG8z\", [file_common_Common]);\n\n/**\n * @generated from message payment.GetPlayerDisbursementsReq\n */\nexport type GetPlayerDisbursementsReq = Message<\"payment.GetPlayerDisbursementsReq\"> & {\n /**\n * @generated from field: string platform_id = 1;\n */\n platformId: string;\n\n /**\n * @generated from field: string wallet_type = 2;\n */\n walletType: string;\n\n /**\n * @generated from field: string status = 3;\n */\n status: string;\n};\n\n/**\n * Describes the message payment.GetPlayerDisbursementsReq.\n * Use `create(GetPlayerDisbursementsReqSchema)` to create a new message.\n */\nexport const GetPlayerDisbursementsReqSchema: GenMessage<GetPlayerDisbursementsReq> = /*@__PURE__*/\n messageDesc(file_payment_GetPlayerDisbursements, 0);\n\n/**\n * @generated from message payment.BonusGameProviderGroup\n */\nexport type BonusGameProviderGroup = Message<\"payment.BonusGameProviderGroup\"> & {\n /**\n * @generated from field: string id = 1;\n */\n id: string;\n\n /**\n * @generated from field: string image = 2;\n */\n image: string;\n\n /**\n * @generated from field: string name = 3;\n */\n name: string;\n\n /**\n * @generated from field: repeated string provider_ids = 4;\n */\n providerIds: string[];\n\n /**\n * @generated from field: repeated string game_ids = 5;\n */\n gameIds: string[];\n\n /**\n * @generated from field: string resource_id = 6;\n */\n resourceId: string;\n\n /**\n * @generated from field: string created_at = 7;\n */\n createdAt: string;\n\n /**\n * @generated from field: string image_secondary = 8;\n */\n imageSecondary: string;\n};\n\n/**\n * Describes the message payment.BonusGameProviderGroup.\n * Use `create(BonusGameProviderGroupSchema)` to create a new message.\n */\nexport const BonusGameProviderGroupSchema: GenMessage<BonusGameProviderGroup> = /*@__PURE__*/\n messageDesc(file_payment_GetPlayerDisbursements, 1);\n\n/**\n * @generated from message payment.PlayerDisbursement\n */\nexport type PlayerDisbursement = Message<\"payment.PlayerDisbursement\"> & {\n /**\n * @generated from field: string id = 1;\n */\n id: string;\n\n /**\n * @generated from field: string batch_id = 2;\n */\n batchId: string;\n\n /**\n * @generated from field: string grant_type = 3;\n */\n grantType: string;\n\n /**\n * @generated from field: string wallet_type = 4;\n */\n walletType: string;\n\n /**\n * @generated from field: string player_id = 5;\n */\n playerId: string;\n\n /**\n * @generated from field: double amount = 6;\n */\n amount: number;\n\n /**\n * @generated from field: int32 validity_period = 7;\n */\n validityPeriod: number;\n\n /**\n * @generated from field: string start_at = 8;\n */\n startAt: string;\n\n /**\n * @generated from field: string platform_id = 9;\n */\n platformId: string;\n\n /**\n * @generated from field: string remark = 10;\n */\n remark: string;\n\n /**\n * @generated from field: string expired_at = 11;\n */\n expiredAt: string;\n\n /**\n * @generated from field: string status = 12;\n */\n status: string;\n\n /**\n * @generated from field: payment.BonusGameProviderGroup bonus_game_provider_group = 13;\n */\n bonusGameProviderGroup?: BonusGameProviderGroup;\n\n /**\n * @generated from field: double origin_amount = 14;\n */\n originAmount: number;\n\n /**\n * @generated from field: double remaining_amount = 15;\n */\n remainingAmount: number;\n\n /**\n * @generated from field: string claim_expired_at = 16;\n */\n claimExpiredAt: string;\n\n /**\n * @generated from field: string status_updated_at = 17;\n */\n statusUpdatedAt: string;\n\n /**\n * @generated from field: string event_name = 18;\n */\n eventName: string;\n\n /**\n * @generated from field: string event_sub_name = 19;\n */\n eventSubName: string;\n};\n\n/**\n * Describes the message payment.PlayerDisbursement.\n * Use `create(PlayerDisbursementSchema)` to create a new message.\n */\nexport const PlayerDisbursementSchema: GenMessage<PlayerDisbursement> = /*@__PURE__*/\n messageDesc(file_payment_GetPlayerDisbursements, 2);\n\n/**\n * @generated from message payment.PlayerDisbursementData\n */\nexport type PlayerDisbursementData = Message<\"payment.PlayerDisbursementData\"> & {\n /**\n * @generated from field: repeated payment.PlayerDisbursement player_disbursements = 1;\n */\n playerDisbursements: PlayerDisbursement[];\n\n /**\n * @generated from field: repeated payment.PlayerDisbursement available_player_disbursements = 2;\n */\n availablePlayerDisbursements: PlayerDisbursement[];\n\n /**\n * @generated from field: string total_mud_remaining = 3;\n */\n totalMudRemaining: string;\n};\n\n/**\n * Describes the message payment.PlayerDisbursementData.\n * Use `create(PlayerDisbursementDataSchema)` to create a new message.\n */\nexport const PlayerDisbursementDataSchema: GenMessage<PlayerDisbursementData> = /*@__PURE__*/\n messageDesc(file_payment_GetPlayerDisbursements, 3);\n\n/**\n * @generated from message payment.GetPlayerDisbursementsRes\n */\nexport type GetPlayerDisbursementsRes = Message<\"payment.GetPlayerDisbursementsRes\"> & {\n /**\n * @generated from field: payment.PlayerDisbursementData data = 1;\n */\n data?: PlayerDisbursementData;\n\n /**\n * @generated from field: int32 status = 2;\n */\n status: number;\n\n /**\n * @generated from field: string message = 3;\n */\n message: string;\n};\n\n/**\n * Describes the message payment.GetPlayerDisbursementsRes.\n * Use `create(GetPlayerDisbursementsResSchema)` to create a new message.\n */\nexport const GetPlayerDisbursementsResSchema: GenMessage<GetPlayerDisbursementsRes> = /*@__PURE__*/\n messageDesc(file_payment_GetPlayerDisbursements, 4);\n\n","// @generated by protoc-gen-es v2.10.2 with parameter \"target=ts\"\n// @generated from file payment/ClaimPlayerDisbursement.proto (package payment, syntax proto3)\n/* eslint-disable */\n\nimport type { GenFile, GenMessage } from \"@bufbuild/protobuf/codegenv2\";\nimport { fileDesc, messageDesc } from \"@bufbuild/protobuf/codegenv2\";\nimport { file_common_Common } from \"../common/Common_pb\";\nimport type { Message } from \"@bufbuild/protobuf\";\n\n/**\n * Describes the file payment/ClaimPlayerDisbursement.proto.\n */\nexport const file_payment_ClaimPlayerDisbursement: GenFile = /*@__PURE__*/\n fileDesc(\"CiVwYXltZW50L0NsYWltUGxheWVyRGlzYnVyc2VtZW50LnByb3RvEgdwYXltZW50IkIKGkNsYWltUGxheWVyRGlzYnVyc2VtZW50UmVxEhIKCnBsYXRmb3JtSWQYASABKAkSEAoIYmF0Y2hfaWQYAiABKAkiPQoaQ2xhaW1QbGF5ZXJEaXNidXJzZW1lbnRSZXMSDgoGc3RhdHVzGAEgASgFEg8KB21lc3NhZ2UYAiABKAliBnByb3RvMw\", [file_common_Common]);\n\n/**\n * @generated from message payment.ClaimPlayerDisbursementReq\n */\nexport type ClaimPlayerDisbursementReq = Message<\"payment.ClaimPlayerDisbursementReq\"> & {\n /**\n * @generated from field: string platformId = 1;\n */\n platformId: string;\n\n /**\n * @generated from field: string batch_id = 2;\n */\n batchId: string;\n};\n\n/**\n * Describes the message payment.ClaimPlayerDisbursementReq.\n * Use `create(ClaimPlayerDisbursementReqSchema)` to create a new message.\n */\nexport const ClaimPlayerDisbursementReqSchema: GenMessage<ClaimPlayerDisbursementReq> = /*@__PURE__*/\n messageDesc(file_payment_ClaimPlayerDisbursement, 0);\n\n/**\n * @generated from message payment.ClaimPlayerDisbursementRes\n */\nexport type ClaimPlayerDisbursementRes = Message<\"payment.ClaimPlayerDisbursementRes\"> & {\n /**\n * @generated from field: int32 status = 1;\n */\n status: number;\n\n /**\n * @generated from field: string message = 2;\n */\n message: string;\n};\n\n/**\n * Describes the message payment.ClaimPlayerDisbursementRes.\n * Use `create(ClaimPlayerDisbursementResSchema)` to create a new message.\n */\nexport const ClaimPlayerDisbursementResSchema: GenMessage<ClaimPlayerDisbursementRes> = /*@__PURE__*/\n messageDesc(file_payment_ClaimPlayerDisbursement, 1);\n\n","// @generated by protoc-gen-es v2.10.2 with parameter \"target=ts\"\n// @generated from file payment/GetPlayerMudTransactions.proto (package payment, syntax proto3)\n/* eslint-disable */\n\nimport type { GenFile, GenMessage } from \"@bufbuild/protobuf/codegenv2\";\nimport { fileDesc, messageDesc } from \"@bufbuild/protobuf/codegenv2\";\nimport { file_common_Common } from \"../common/Common_pb\";\nimport type { Message } from \"@bufbuild/protobuf\";\n\n/**\n * Describes the file payment/GetPlayerMudTransactions.proto.\n */\nexport const file_payment_GetPlayerMudTransactions: GenFile = /*@__PURE__*/\n fileDesc(\"CiZwYXltZW50L0dldFBsYXllck11ZFRyYW5zYWN0aW9ucy5wcm90bxIHcGF5bWVudCJEChtHZXRQbGF5ZXJNdWRUcmFuc2FjdGlvbnNSZXESEwoLcGxhdGZvcm1faWQYASABKAkSEAoIYmF0Y2hfaWQYAiABKAkiggEKCk11ZEhpc3RvcnkSFgoOY2hhbmdlc19hbW91bnQYASABKAESEgoKb2xkX2NyZWRpdBgCIAEoARISCgpuZXdfY3JlZGl0GAMgASgJEgwKBHR5cGUYBiABKAkSEwoLY3JlYXRlX3RpbWUYByABKAkSEQoJZ2FtZV9uYW1lGAggASgJIkoKHEdldFBsYXllck11ZFRyYW5zYWN0aW9uc0RhdGESKgoNbXVkX2hpc3RvcmllcxgBIAMoCzITLnBheW1lbnQuTXVkSGlzdG9yeSJzChtHZXRQbGF5ZXJNdWRUcmFuc2FjdGlvbnNSZXMSMwoEZGF0YRgBIAEoCzIlLnBheW1lbnQuR2V0UGxheWVyTXVkVHJhbnNhY3Rpb25zRGF0YRIOCgZzdGF0dXMYAiABKAUSDwoHbWVzc2FnZRgDIAEoCWIGcHJvdG8z\", [file_common_Common]);\n\n/**\n * @generated from message payment.GetPlayerMudTransactionsReq\n */\nexport type GetPlayerMudTransactionsReq = Message<\"payment.GetPlayerMudTransactionsReq\"> & {\n /**\n * @generated from field: string platform_id = 1;\n */\n platformId: string;\n\n /**\n * @generated from field: string batch_id = 2;\n */\n batchId: string;\n};\n\n/**\n * Describes the message payment.GetPlayerMudTransactionsReq.\n * Use `create(GetPlayerMudTransactionsReqSchema)` to create a new message.\n */\nexport const GetPlayerMudTransactionsReqSchema: GenMessage<GetPlayerMudTransactionsReq> = /*@__PURE__*/\n messageDesc(file_payment_GetPlayerMudTransactions, 0);\n\n/**\n * @generated from message payment.MudHistory\n */\nexport type MudHistory = Message<\"payment.MudHistory\"> & {\n /**\n * @generated from field: double changes_amount = 1;\n */\n changesAmount: number;\n\n /**\n * @generated from field: double old_credit = 2;\n */\n oldCredit: number;\n\n /**\n * @generated from field: string new_credit = 3;\n */\n newCredit: string;\n\n /**\n * @generated from field: string type = 6;\n */\n type: string;\n\n /**\n * @generated from field: string create_time = 7;\n */\n createTime: string;\n\n /**\n * @generated from field: string game_name = 8;\n */\n gameName: string;\n};\n\n/**\n * Describes the message payment.MudHistory.\n * Use `create(MudHistorySchema)` to create a new message.\n */\nexport const MudHistorySchema: GenMessage<MudHistory> = /*@__PURE__*/\n messageDesc(file_payment_GetPlayerMudTransactions, 1);\n\n/**\n * @generated from message payment.GetPlayerMudTransactionsData\n */\nexport type GetPlayerMudTransactionsData = Message<\"payment.GetPlayerMudTransactionsData\"> & {\n /**\n * @generated from field: repeated payment.MudHistory mud_histories = 1;\n */\n mudHistories: MudHistory[];\n};\n\n/**\n * Describes the message payment.GetPlayerMudTransactionsData.\n * Use `create(GetPlayerMudTransactionsDataSchema)` to create a new message.\n */\nexport const GetPlayerMudTransactionsDataSchema: GenMessage<GetPlayerMudTransactionsData> = /*@__PURE__*/\n messageDesc(file_payment_GetPlayerMudTransactions, 2);\n\n/**\n * @generated from message payment.GetPlayerMudTransactionsRes\n */\nexport type GetPlayerMudTransactionsRes = Message<\"payment.GetPlayerMudTransactionsRes\"> & {\n /**\n * @generated from field: payment.GetPlayerMudTransactionsData data = 1;\n */\n data?: GetPlayerMudTransactionsData;\n\n /**\n * @generated from field: int32 status = 2;\n */\n status: number;\n\n /**\n * @generated from field: string message = 3;\n */\n message: string;\n};\n\n/**\n * Describes the message payment.GetPlayerMudTransactionsRes.\n * Use `create(GetPlayerMudTransactionsResSchema)` to create a new message.\n */\nexport const GetPlayerMudTransactionsResSchema: GenMessage<GetPlayerMudTransactionsRes> = /*@__PURE__*/\n messageDesc(file_payment_GetPlayerMudTransactions, 3);\n\n","// @generated by protoc-gen-es v2.10.2 with parameter \"target=ts\"\n// @generated from file payment/GetMudTransactionHistory.proto (package payment, syntax proto3)\n/* eslint-disable */\n\nimport type { GenFile, GenMessage } from \"@bufbuild/protobuf/codegenv2\";\nimport { fileDesc, messageDesc } from \"@bufbuild/protobuf/codegenv2\";\nimport { file_common_Common } from \"../common/Common_pb\";\nimport { file_payment_GetPlayerMudTransactions } from \"./GetPlayerMudTransactions_pb\";\nimport type { Message } from \"@bufbuild/protobuf\";\n\n/**\n * Describes the file payment/GetMudTransactionHistory.proto.\n */\nexport const file_payment_GetMudTransactionHistory: GenFile = /*@__PURE__*/\n fileDesc(\"CiZwYXltZW50L0dldE11ZFRyYW5zYWN0aW9uSGlzdG9yeS5wcm90bxIHcGF5bWVudCKZAQobR2V0TXVkVHJhbnNhY3Rpb25IaXN0b3J5UmVxEhMKC3BsYXRmb3JtX2lkGAEgASgJEhMKC3dhbGxldF90eXBlGAIgASgJEhIKCnN0YXJ0X3RpbWUYAyABKAkSEAoIZW5kX3RpbWUYBCABKAkSFQoNcmVxdWVzdF9jb3VudBgFIAEoBRITCgtzdGFydF9pbmRleBgGIAEoBSK4AQoVTXVkVHJhbnNhY3Rpb25IaXN0b3J5Eg4KBmFtb3VudBgBIAEoARIQCghzdGFydF9hdBgCIAEoCRISCgpleHBpcmVkX2F0GAMgASgJEhIKCmV2ZW50X25hbWUYBCABKAkSFAoMcmV3YXJkX2xvYmJ5GAUgASgJEhUKDW9yaWdpbl9hbW91bnQYBiABKAESGAoQcmVtYWluaW5nX2Ftb3VudBgHIAEoARIOCgZzdGF0dXMYCCABKAki7AEKGU11ZFRyYW5zYWN0aW9uSGlzdG9yeURhdGESLwoHcmVjb3JkcxgBIAMoCzIeLnBheW1lbnQuTXVkVHJhbnNhY3Rpb25IaXN0b3J5EjcKBXN0YXRzGAIgASgLMigucGF5bWVudC5NdWRUcmFuc2FjdGlvbkhpc3RvcnlEYXRhLlN0YXRzGmUKBVN0YXRzEhMKC3N0YXJ0X2luZGV4GAEgASgFEhMKC3RvdGFsX2NvdW50GAIgASgFEhYKDnRvdGFsX211ZF91c2VkGAMgASgBEhoKEnRvdGFsX211ZF9yZWNlaXZlZBgEIAEoASJwChtHZXRNdWRUcmFuc2FjdGlvbkhpc3RvcnlSZXMSMAoEZGF0YRgBIAEoCzIiLnBheW1lbnQuTXVkVHJhbnNhY3Rpb25IaXN0b3J5RGF0YRIOCgZzdGF0dXMYAiABKAUSDwoHbWVzc2FnZRgDIAEoCWIGcHJvdG8z\", [file_common_Common, file_payment_GetPlayerMudTransactions]);\n\n/**\n * @generated from message payment.GetMudTransactionHistoryReq\n */\nexport type GetMudTransactionHistoryReq = Message<\"payment.GetMudTransactionHistoryReq\"> & {\n /**\n * @generated from field: string platform_id = 1;\n */\n platformId: string;\n\n /**\n * @generated from field: string wallet_type = 2;\n */\n walletType: string;\n\n /**\n * @generated from field: string start_time = 3;\n */\n startTime: string;\n\n /**\n * @generated from field: string end_time = 4;\n */\n endTime: string;\n\n /**\n * @generated from field: int32 request_count = 5;\n */\n requestCount: number;\n\n /**\n * @generated from field: int32 start_index = 6;\n */\n startIndex: number;\n};\n\n/**\n * Describes the message payment.GetMudTransactionHistoryReq.\n * Use `create(GetMudTransactionHistoryReqSchema)` to create a new message.\n */\nexport const GetMudTransactionHistoryReqSchema: GenMessage<GetMudTransactionHistoryReq> = /*@__PURE__*/\n messageDesc(file_payment_GetMudTransactionHistory, 0);\n\n/**\n * @generated from message payment.MudTransactionHistory\n */\nexport type MudTransactionHistory = Message<\"payment.MudTransactionHistory\"> & {\n /**\n * @generated from field: double amount = 1;\n */\n amount: number;\n\n /**\n * @generated from field: string start_at = 2;\n */\n startAt: string;\n\n /**\n * @generated from field: string expired_at = 3;\n */\n expiredAt: string;\n\n /**\n * @generated from field: string event_name = 4;\n */\n eventName: string;\n\n /**\n * @generated from field: string reward_lobby = 5;\n */\n rewardLobby: string;\n\n /**\n * @generated from field: double origin_amount = 6;\n */\n originAmount: number;\n\n /**\n * @generated from field: double remaining_amount = 7;\n */\n remainingAmount: number;\n\n /**\n * @generated from field: string status = 8;\n */\n status: string;\n};\n\n/**\n * Describes the message payment.MudTransactionHistory.\n * Use `create(MudTransactionHistorySchema)` to create a new message.\n */\nexport const MudTransactionHistorySchema: GenMessage<MudTransactionHistory> = /*@__PURE__*/\n messageDesc(file_payment_GetMudTransactionHistory, 1);\n\n/**\n * @generated from message payment.MudTransactionHistoryData\n */\nexport type MudTransactionHistoryData = Message<\"payment.MudTransactionHistoryData\"> & {\n /**\n * @generated from field: repeated payment.MudTransactionHistory records = 1;\n */\n records: MudTransactionHistory[];\n\n /**\n * @generated from field: payment.MudTransactionHistoryData.Stats stats = 2;\n */\n stats?: MudTransactionHistoryData_Stats;\n};\n\n/**\n * Describes the message payment.MudTransactionHistoryData.\n * Use `create(MudTransactionHistoryDataSchema)` to create a new message.\n */\nexport const MudTransactionHistoryDataSchema: GenMessage<MudTransactionHistoryData> = /*@__PURE__*/\n messageDesc(file_payment_GetMudTransactionHistory, 2);\n\n/**\n * @generated from message payment.MudTransactionHistoryData.Stats\n */\nexport type MudTransactionHistoryData_Stats = Message<\"payment.MudTransactionHistoryData.Stats\"> & {\n /**\n * @generated from field: int32 start_index = 1;\n */\n startIndex: number;\n\n /**\n * @generated from field: int32 total_count = 2;\n */\n totalCount: number;\n\n /**\n * @generated from field: double total_mud_used = 3;\n */\n totalMudUsed: number;\n\n /**\n * @generated from field: double total_mud_received = 4;\n */\n totalMudReceived: number;\n};\n\n/**\n * Describes the message payment.MudTransactionHistoryData.Stats.\n * Use `create(MudTransactionHistoryData_StatsSchema)` to create a new message.\n */\nexport const MudTransactionHistoryData_StatsSchema: GenMessage<MudTransactionHistoryData_Stats> = /*@__PURE__*/\n messageDesc(file_payment_GetMudTransactionHistory, 2, 0);\n\n/**\n * @generated from message payment.GetMudTransactionHistoryRes\n */\nexport type GetMudTransactionHistoryRes = Message<\"payment.GetMudTransactionHistoryRes\"> & {\n /**\n * @generated from field: payment.MudTransactionHistoryData data = 1;\n */\n data?: MudTransactionHistoryData;\n\n /**\n * @generated from field: int32 status = 2;\n */\n status: number;\n\n /**\n * @generated from field: string message = 3;\n */\n message: string;\n};\n\n/**\n * Describes the message payment.GetMudTransactionHistoryRes.\n * Use `create(GetMudTransactionHistoryResSchema)` to create a new message.\n */\nexport const GetMudTransactionHistoryResSchema: GenMessage<GetMudTransactionHistoryRes> = /*@__PURE__*/\n messageDesc(file_payment_GetMudTransactionHistory, 3);\n\n","import type { CallOptions } from '@connectrpc/connect'\nimport type { MessageInit } from '../client/grpcClient'\nimport { GrpcClient } from '../client/grpcClient'\nimport { FrontendBankCardService } from '../grpcWeb/grpc/payment/FrontendBankCardService_pb'\nimport { FrontendCreditService } from '../grpcWeb/grpc/payment/FrontendCreditService_pb'\nimport { FrontendDepositEffectService } from '../grpcWeb/grpc/payment/FrontendDepositEffectService_pb'\nimport { FrontendFreeSpinService } from '../grpcWeb/grpc/payment/FrontendFreeSpinService_pb'\nimport { FrontendMudService } from '../grpcWeb/grpc/payment/FrontendMudService_pb'\nimport { EmptySchema } from '../grpcWeb/grpc/common/Common_pb'\nimport type { ClaimPlayerDisbursementRes } from '../grpcWeb/grpc/payment/ClaimPlayerDisbursement_pb'\nimport { ClaimPlayerDisbursementReqSchema } from '../grpcWeb/grpc/payment/ClaimPlayerDisbursement_pb'\nimport type { GetAvailableDepositMethodsRes } from '../grpcWeb/grpc/payment/GetAvailableDepositMethods_pb'\nimport { GetAvailableDepositMethodsReqSchema } from '../grpcWeb/grpc/payment/GetAvailableDepositMethods_pb'\nimport type { GetBankTypesRes } from '../grpcWeb/grpc/payment/GetBankTypes_pb'\nimport { GetBankTypesReqSchema } from '../grpcWeb/grpc/payment/GetBankTypes_pb'\nimport type { GetBindBankCardsRes } from '../grpcWeb/grpc/payment/GetBindBankCards_pb'\nimport { GetBindBankCardsReqSchema } from '../grpcWeb/grpc/payment/GetBindBankCards_pb'\nimport type { GetCreditRes } from '../grpcWeb/grpc/payment/GetCredit_pb'\nimport { GetCreditReqSchema } from '../grpcWeb/grpc/payment/GetCredit_pb'\nimport type { GetCreditChangeNotifyMsgRes } from '../grpcWeb/grpc/payment/GetCreditChangeNotifyMsg_pb'\nimport type { GetMudTransactionHistoryRes } from '../grpcWeb/grpc/payment/GetMudTransactionHistory_pb'\nimport { GetMudTransactionHistoryReqSchema } from '../grpcWeb/grpc/payment/GetMudTransactionHistory_pb'\nimport type { GetPlatformPlayerFreeSpinListingRes } from '../grpcWeb/grpc/payment/GetPlatformPlayerFreeSpinListing_pb'\nimport { GetPlatformPlayerFreeSpinListingReqSchema } from '../grpcWeb/grpc/payment/GetPlatformPlayerFreeSpinListing_pb'\nimport type { GetPlayerDisbursementsRes } from '../grpcWeb/grpc/payment/GetPlayerDisbursements_pb'\nimport { GetPlayerDisbursementsReqSchema } from '../grpcWeb/grpc/payment/GetPlayerDisbursements_pb'\nimport type { GetPlayerMudTransactionsRes } from '../grpcWeb/grpc/payment/GetPlayerMudTransactions_pb'\nimport { GetPlayerMudTransactionsReqSchema } from '../grpcWeb/grpc/payment/GetPlayerMudTransactions_pb'\nimport type { RemoveCreditChangeNotifyMsgRes } from '../grpcWeb/grpc/payment/RemoveCreditChangeNotifyMsg_pb'\nimport { RemoveCreditChangeNotifyMsgReqSchema } from '../grpcWeb/grpc/payment/RemoveCreditChangeNotifyMsg_pb'\nimport type { UpdatePaymentInfoRes } from '../grpcWeb/grpc/payment/UpdatePaymentInfo_pb'\nimport { UpdatePaymentInfoReqSchema } from '../grpcWeb/grpc/payment/UpdatePaymentInfo_pb'\nimport type { VerifyUnionBankRes } from '../grpcWeb/grpc/payment/VerifyUnionBank_pb'\nimport { VerifyUnionBankReqSchema } from '../grpcWeb/grpc/payment/VerifyUnionBank_pb'\n\nexport const paymentGrpcClients = (grpc: GrpcClient) => {\n return {\n bankCard: grpc.getService(FrontendBankCardService),\n credit: grpc.getService(FrontendCreditService),\n depositEffect: grpc.getService(FrontendDepositEffectService),\n freeSpin: grpc.getService(FrontendFreeSpinService),\n mud: grpc.getService(FrontendMudService),\n }\n}\n\nexport const paymentService = (grpc: GrpcClient) => {\n const bankCard = grpc.getService(FrontendBankCardService)\n const credit = grpc.getService(FrontendCreditService)\n const depositEffect = grpc.getService(FrontendDepositEffectService)\n const freeSpin = grpc.getService(FrontendFreeSpinService)\n const mud = grpc.getService(FrontendMudService)\n\n const getBankTypes = (\n payload: MessageInit<typeof GetBankTypesReqSchema>,\n options?: CallOptions,\n ): Promise<GetBankTypesRes> => {\n return grpc.unary(\n GetBankTypesReqSchema,\n payload,\n (req, opt) => bankCard.getBankTypes(req, opt),\n options,\n )\n }\n\n const getBindBankCards = (\n payload: MessageInit<typeof GetBindBankCardsReqSchema>,\n options?: CallOptions,\n ): Promise<GetBindBankCardsRes> => {\n return grpc.unary(\n GetBindBankCardsReqSchema,\n payload,\n (req, opt) => bankCard.getBindBankCards(req, opt),\n options,\n )\n }\n\n const getAvailableDepositMethods = (\n payload: MessageInit<typeof GetAvailableDepositMethodsReqSchema>,\n options?: CallOptions,\n ): Promise<GetAvailableDepositMethodsRes> => {\n return grpc.unary(\n GetAvailableDepositMethodsReqSchema,\n payload,\n (req, opt) => bankCard.getAvailableDepositMethods(req, opt),\n options,\n )\n }\n\n const updatePaymentInfo = (\n payload: MessageInit<typeof UpdatePaymentInfoReqSchema>,\n options?: CallOptions,\n ): Promise<UpdatePaymentInfoRes> => {\n return grpc.unary(\n UpdatePaymentInfoReqSchema,\n payload,\n (req, opt) => bankCard.updatePaymentInfo(req, opt),\n options,\n )\n }\n\n const verifyUnionBank = (\n payload: MessageInit<typeof VerifyUnionBankReqSchema>,\n options?: CallOptions,\n ): Promise<VerifyUnionBankRes> => {\n return grpc.unary(\n VerifyUnionBankReqSchema,\n payload,\n (req, opt) => bankCard.verifyUnionBank(req, opt),\n options,\n )\n }\n\n const getCredit = (\n payload: MessageInit<typeof GetCreditReqSchema>,\n options?: CallOptions,\n ): Promise<GetCreditRes> => {\n return grpc.unary(\n GetCreditReqSchema,\n payload,\n (req, opt) => credit.getCredit(req, opt),\n options,\n )\n }\n\n const getCreditChangeNotifyMsg = (\n payload?: MessageInit<typeof EmptySchema>,\n options?: CallOptions,\n ): Promise<GetCreditChangeNotifyMsgRes> => {\n return grpc.unary(\n EmptySchema,\n payload,\n (req, opt) => depositEffect.getCreditChangeNotifyMsg(req, opt),\n options,\n )\n }\n\n const removeCreditChangeNotifyMsg = (\n payload: MessageInit<typeof RemoveCreditChangeNotifyMsgReqSchema>,\n options?: CallOptions,\n ): Promise<RemoveCreditChangeNotifyMsgRes> => {\n return grpc.unary(\n RemoveCreditChangeNotifyMsgReqSchema,\n payload,\n (req, opt) => depositEffect.removeCreditChangeNotifyMsg(req, opt),\n options,\n )\n }\n\n const getPlatformPlayerFreeSpinListing = (\n payload: MessageInit<typeof GetPlatformPlayerFreeSpinListingReqSchema>,\n options?: CallOptions,\n ): Promise<GetPlatformPlayerFreeSpinListingRes> => {\n return grpc.unary(\n GetPlatformPlayerFreeSpinListingReqSchema,\n payload,\n (req, opt) => freeSpin.getPlatformPlayerFreeSpinListing(req, opt),\n options,\n )\n }\n\n const getPlayerDisbursements = (\n payload: MessageInit<typeof GetPlayerDisbursementsReqSchema>,\n options?: CallOptions,\n ): Promise<GetPlayerDisbursementsRes> => {\n return grpc.unary(\n GetPlayerDisbursementsReqSchema,\n payload,\n (req, opt) => mud.getPlayerDisbursements(req, opt),\n options,\n )\n }\n\n const claimPlayerDisbursement = (\n payload: MessageInit<typeof ClaimPlayerDisbursementReqSchema>,\n options?: CallOptions,\n ): Promise<ClaimPlayerDisbursementRes> => {\n return grpc.unary(\n ClaimPlayerDisbursementReqSchema,\n payload,\n (req, opt) => mud.claimPlayerDisbursement(req, opt),\n options,\n )\n }\n\n const getPlayerMudTransactions = (\n payload: MessageInit<typeof GetPlayerMudTransactionsReqSchema>,\n options?: CallOptions,\n ): Promise<GetPlayerMudTransactionsRes> => {\n return grpc.unary(\n GetPlayerMudTransactionsReqSchema,\n payload,\n (req, opt) => mud.getPlayerMudTransactions(req, opt),\n options,\n )\n }\n\n const getMudTransactionHistory = (\n payload: MessageInit<typeof GetMudTransactionHistoryReqSchema>,\n options?: CallOptions,\n ): Promise<GetMudTransactionHistoryRes> => {\n return grpc.unary(\n GetMudTransactionHistoryReqSchema,\n payload,\n (req, opt) => mud.getMudTransactionHistory(req, opt),\n options,\n )\n }\n\n return {\n transport: 'grpc' as const,\n getBankTypes,\n getBindBankCards,\n getAvailableDepositMethods,\n updatePaymentInfo,\n verifyUnionBank,\n getCredit,\n getCreditChangeNotifyMsg,\n removeCreditChangeNotifyMsg,\n getPlatformPlayerFreeSpinListing,\n getPlayerDisbursements,\n claimPlayerDisbursement,\n getPlayerMudTransactions,\n getMudTransactionHistory,\n }\n}\n\nexport const grpcPaymentService = paymentService\n","// @generated by protoc-gen-es v2.10.2 with parameter \"target=ts\"\n// @generated from file player/FrontendEmailService.proto (package player, syntax proto3)\n/* eslint-disable */\n\nimport type { GenFile, GenService } from \"@bufbuild/protobuf/codegenv2\";\nimport { fileDesc, serviceDesc } from \"@bufbuild/protobuf/codegenv2\";\nimport type { BaseResponseSchema, EmptySchema } from \"../common/Common_pb\";\nimport { file_common_Common } from \"../common/Common_pb\";\nimport type { GetVerificationStatusResSchema } from \"./GetVerificationStatus_pb\";\nimport { file_player_GetVerificationStatus } from \"./GetVerificationStatus_pb\";\nimport type { VerifyEmailReqSchema } from \"./VerifyEmail_pb\";\nimport { file_player_VerifyEmail } from \"./VerifyEmail_pb\";\n\n/**\n * Describes the file player/FrontendEmailService.proto.\n */\nexport const file_player_FrontendEmailService: GenFile = /*@__PURE__*/\n fileDesc(\"CiFwbGF5ZXIvRnJvbnRlbmRFbWFpbFNlcnZpY2UucHJvdG8SBnBsYXllcjKhAQoURnJvbnRlbmRFbWFpbFNlcnZpY2USSgoVR2V0VmVyaWZpY2F0aW9uU3RhdHVzEg0uY29tbW9uLkVtcHR5GiAucGxheWVyLkdldFZlcmlmaWNhdGlvblN0YXR1c1JlcyIAEj0KC1ZlcmlmeUVtYWlsEhYucGxheWVyLlZlcmlmeUVtYWlsUmVxGhQuY29tbW9uLkJhc2VSZXNwb25zZSIAYgZwcm90bzM\", [file_common_Common, file_player_GetVerificationStatus, file_player_VerifyEmail]);\n\n/**\n * @generated from service player.FrontendEmailService\n */\nexport const FrontendEmailService: GenService<{\n /**\n * @generated from rpc player.FrontendEmailService.GetVerificationStatus\n */\n getVerificationStatus: {\n methodKind: \"unary\";\n input: typeof EmptySchema;\n output: typeof GetVerificationStatusResSchema;\n },\n /**\n * @generated from rpc player.FrontendEmailService.VerifyEmail\n */\n verifyEmail: {\n methodKind: \"unary\";\n input: typeof VerifyEmailReqSchema;\n output: typeof BaseResponseSchema;\n },\n}> = /*@__PURE__*/\n serviceDesc(file_player_FrontendEmailService, 0);\n\n","// @generated by protoc-gen-es v2.10.2 with parameter \"target=ts\"\n// @generated from file player/GetVerificationStatus.proto (package player, syntax proto3)\n/* eslint-disable */\n\nimport type { GenFile, GenMessage } from \"@bufbuild/protobuf/codegenv2\";\nimport { fileDesc, messageDesc } from \"@bufbuild/protobuf/codegenv2\";\nimport type { BaseResponse } from \"../common/Common_pb\";\nimport { file_common_Common } from \"../common/Common_pb\";\nimport type { EmailVerificationStatus } from \"./PlayerCommon_pb\";\nimport { file_player_PlayerCommon } from \"./PlayerCommon_pb\";\nimport type { Message } from \"@bufbuild/protobuf\";\n\n/**\n * Describes the file player/GetVerificationStatus.proto.\n */\nexport const file_player_GetVerificationStatus: GenFile = /*@__PURE__*/\n fileDesc(\"CiJwbGF5ZXIvR2V0VmVyaWZpY2F0aW9uU3RhdHVzLnByb3RvEgZwbGF5ZXIilgEKG0VtYWlsVmVyaWZpY2F0aW9uU3RhdHVzRGF0YRIaChJpc190YXJnZXRlZF9wbGF5ZXIYASABKAgSQgoZZW1haWxfdmVyaWZpY2F0aW9uX3N0YXR1cxgCIAEoDjIfLnBsYXllci5FbWFpbFZlcmlmaWNhdGlvblN0YXR1cxIXCg9pc19lbWFpbF9iaW5kZWQYAyABKAgiegoYR2V0VmVyaWZpY2F0aW9uU3RhdHVzUmVzEisKDWJhc2VfcmVzcG9uc2UYASABKAsyFC5jb21tb24uQmFzZVJlc3BvbnNlEjEKBGRhdGEYAiABKAsyIy5wbGF5ZXIuRW1haWxWZXJpZmljYXRpb25TdGF0dXNEYXRhYgZwcm90bzM\", [file_common_Common, file_player_PlayerCommon]);\n\n/**\n * @generated from message player.EmailVerificationStatusData\n */\nexport type EmailVerificationStatusData = Message<\"player.EmailVerificationStatusData\"> & {\n /**\n * @generated from field: bool is_targeted_player = 1;\n */\n isTargetedPlayer: boolean;\n\n /**\n * @generated from field: player.EmailVerificationStatus email_verification_status = 2;\n */\n emailVerificationStatus: EmailVerificationStatus;\n\n /**\n * @generated from field: bool is_email_binded = 3;\n */\n isEmailBinded: boolean;\n};\n\n/**\n * Describes the message player.EmailVerificationStatusData.\n * Use `create(EmailVerificationStatusDataSchema)` to create a new message.\n */\nexport const EmailVerificationStatusDataSchema: GenMessage<EmailVerificationStatusData> = /*@__PURE__*/\n messageDesc(file_player_GetVerificationStatus, 0);\n\n/**\n * @generated from message player.GetVerificationStatusRes\n */\nexport type GetVerificationStatusRes = Message<\"player.GetVerificationStatusRes\"> & {\n /**\n * @generated from field: common.BaseResponse base_response = 1;\n */\n baseResponse?: BaseResponse;\n\n /**\n * @generated from field: player.EmailVerificationStatusData data = 2;\n */\n data?: EmailVerificationStatusData;\n};\n\n/**\n * Describes the message player.GetVerificationStatusRes.\n * Use `create(GetVerificationStatusResSchema)` to create a new message.\n */\nexport const GetVerificationStatusResSchema: GenMessage<GetVerificationStatusRes> = /*@__PURE__*/\n messageDesc(file_player_GetVerificationStatus, 1);\n\n","// @generated by protoc-gen-es v2.10.2 with parameter \"target=ts\"\n// @generated from file player/PlayerCommon.proto (package player, syntax proto3)\n/* eslint-disable */\n\nimport type { GenEnum, GenFile, GenMessage } from \"@bufbuild/protobuf/codegenv2\";\nimport { enumDesc, fileDesc, messageDesc } from \"@bufbuild/protobuf/codegenv2\";\nimport type { Message } from \"@bufbuild/protobuf\";\n\n/**\n * Describes the file player/PlayerCommon.proto.\n */\nexport const file_player_PlayerCommon: GenFile = /*@__PURE__*/\n fileDesc(\"ChlwbGF5ZXIvUGxheWVyQ29tbW9uLnByb3RvEgZwbGF5ZXIiLgoKQmlnRGVjaW1hbBINCgV2YWx1ZRgBIAEoAxIRCglwcmVjaXNpb24YAiABKAUqmwEKC01lcmdlU3RhdHVzEhgKFE1FUkdFX1NUQVRVU19ERUZBVUxUEAASGAoUTUVSR0VfU1RBVFVTX09OR09JTkcQARIlCiFNRVJHRV9TVEFUVVNfSEFTX1BFTkRJTkdfUFJPUE9TQUwQAhIXChNNRVJHRV9TVEFUVVNfRkFJTEVEEAMSGAoUTUVSR0VfU1RBVFVTX1NVQ0NFU1MQBCo5ChdFbWFpbFZlcmlmaWNhdGlvblN0YXR1cxIQCgxOT1RfVkVSSUZJRUQQABIMCghWRVJJRklFRBABKnQKEVBsYXllclBob3RvSWRUeXBlEiQKIFBMQVlFUl9QSE9UT19JRF9UWVBFX1VOU1BFQ0lGSUVEEAASCwoHSURfQ0FSRBABEhIKDkRSSVZFUl9MSUNFTlNFEAISDAoIUEFTU1BPUlQQAxIKCgZPVEhFUlMQBGIGcHJvdG8z\");\n\n/**\n * @generated from message player.BigDecimal\n */\nexport type BigDecimal = Message<\"player.BigDecimal\"> & {\n /**\n * @generated from field: int64 value = 1;\n */\n value: bigint;\n\n /**\n * @generated from field: int32 precision = 2;\n */\n precision: number;\n};\n\n/**\n * Describes the message player.BigDecimal.\n * Use `create(BigDecimalSchema)` to create a new message.\n */\nexport const BigDecimalSchema: GenMessage<BigDecimal> = /*@__PURE__*/\n messageDesc(file_player_PlayerCommon, 0);\n\n/**\n * @generated from enum player.MergeStatus\n */\nexport enum MergeStatus {\n /**\n * @generated from enum value: MERGE_STATUS_DEFAULT = 0;\n */\n DEFAULT = 0,\n\n /**\n * @generated from enum value: MERGE_STATUS_ONGOING = 1;\n */\n ONGOING = 1,\n\n /**\n * @generated from enum value: MERGE_STATUS_HAS_PENDING_PROPOSAL = 2;\n */\n HAS_PENDING_PROPOSAL = 2,\n\n /**\n * @generated from enum value: MERGE_STATUS_FAILED = 3;\n */\n FAILED = 3,\n\n /**\n * @generated from enum value: MERGE_STATUS_SUCCESS = 4;\n */\n SUCCESS = 4,\n}\n\n/**\n * Describes the enum player.MergeStatus.\n */\nexport const MergeStatusSchema: GenEnum<MergeStatus> = /*@__PURE__*/\n enumDesc(file_player_PlayerCommon, 0);\n\n/**\n * @generated from enum player.EmailVerificationStatus\n */\nexport enum EmailVerificationStatus {\n /**\n * @generated from enum value: NOT_VERIFIED = 0;\n */\n NOT_VERIFIED = 0,\n\n /**\n * @generated from enum value: VERIFIED = 1;\n */\n VERIFIED = 1,\n}\n\n/**\n * Describes the enum player.EmailVerificationStatus.\n */\nexport const EmailVerificationStatusSchema: GenEnum<EmailVerificationStatus> = /*@__PURE__*/\n enumDesc(file_player_PlayerCommon, 1);\n\n/**\n * @generated from enum player.PlayerPhotoIdType\n */\nexport enum PlayerPhotoIdType {\n /**\n * @generated from enum value: PLAYER_PHOTO_ID_TYPE_UNSPECIFIED = 0;\n */\n PLAYER_PHOTO_ID_TYPE_UNSPECIFIED = 0,\n\n /**\n * @generated from enum value: ID_CARD = 1;\n */\n ID_CARD = 1,\n\n /**\n * @generated from enum value: DRIVER_LICENSE = 2;\n */\n DRIVER_LICENSE = 2,\n\n /**\n * @generated from enum value: PASSPORT = 3;\n */\n PASSPORT = 3,\n\n /**\n * @generated from enum value: OTHERS = 4;\n */\n OTHERS = 4,\n}\n\n/**\n * Describes the enum player.PlayerPhotoIdType.\n */\nexport const PlayerPhotoIdTypeSchema: GenEnum<PlayerPhotoIdType> = /*@__PURE__*/\n enumDesc(file_player_PlayerCommon, 2);\n\n","// @generated by protoc-gen-es v2.10.2 with parameter \"target=ts\"\n// @generated from file player/VerifyEmail.proto (package player, syntax proto3)\n/* eslint-disable */\n\nimport type { GenFile, GenMessage } from \"@bufbuild/protobuf/codegenv2\";\nimport { fileDesc, messageDesc } from \"@bufbuild/protobuf/codegenv2\";\nimport type { Message } from \"@bufbuild/protobuf\";\n\n/**\n * Describes the file player/VerifyEmail.proto.\n */\nexport const file_player_VerifyEmail: GenFile = /*@__PURE__*/\n fileDesc(\"ChhwbGF5ZXIvVmVyaWZ5RW1haWwucHJvdG8SBnBsYXllciItCg5WZXJpZnlFbWFpbFJlcRIMCgRjb2RlGAEgASgJEg0KBWVtYWlsGAIgASgJYgZwcm90bzM\");\n\n/**\n * @generated from message player.VerifyEmailReq\n */\nexport type VerifyEmailReq = Message<\"player.VerifyEmailReq\"> & {\n /**\n * @generated from field: string code = 1;\n */\n code: string;\n\n /**\n * @generated from field: string email = 2;\n */\n email: string;\n};\n\n/**\n * Describes the message player.VerifyEmailReq.\n * Use `create(VerifyEmailReqSchema)` to create a new message.\n */\nexport const VerifyEmailReqSchema: GenMessage<VerifyEmailReq> = /*@__PURE__*/\n messageDesc(file_player_VerifyEmail, 0);\n\n","// @generated by protoc-gen-es v2.10.2 with parameter \"target=ts\"\n// @generated from file player/FrontendMergePlayerService.proto (package player, syntax proto3)\n/* eslint-disable */\n\nimport type { GenFile, GenService } from \"@bufbuild/protobuf/codegenv2\";\nimport { fileDesc, serviceDesc } from \"@bufbuild/protobuf/codegenv2\";\nimport type { BaseResponseSchema, EmptySchema } from \"../common/Common_pb\";\nimport { file_common_Common } from \"../common/Common_pb\";\nimport type { GetMergingListResSchema } from \"./GetMergingList_pb\";\nimport { file_player_GetMergingList } from \"./GetMergingList_pb\";\nimport type { MergePlayerReqSchema } from \"./MergePlayer_pb\";\nimport { file_player_MergePlayer } from \"./MergePlayer_pb\";\nimport type { VerifyMergePlayerCodeReqSchema } from \"./VerifyMergePlayerCode_pb\";\nimport { file_player_VerifyMergePlayerCode } from \"./VerifyMergePlayerCode_pb\";\nimport type { GetMergingListPendingProposalCountResSchema } from \"./GetMergingListPendingProposalCount_pb\";\nimport { file_player_GetMergingListPendingProposalCount } from \"./GetMergingListPendingProposalCount_pb\";\nimport type { CheckMergePlayerProposalReqSchema } from \"./CheckMergePlayerProposal_pb\";\nimport { file_player_CheckMergePlayerProposal } from \"./CheckMergePlayerProposal_pb\";\n\n/**\n * Describes the file player/FrontendMergePlayerService.proto.\n */\nexport const file_player_FrontendMergePlayerService: GenFile = /*@__PURE__*/\n fileDesc(\"CidwbGF5ZXIvRnJvbnRlbmRNZXJnZVBsYXllclNlcnZpY2UucHJvdG8SBnBsYXllcjKrAwoaRnJvbnRlbmRNZXJnZVBsYXllclNlcnZpY2USPAoOR2V0TWVyZ2luZ0xpc3QSDS5jb21tb24uRW1wdHkaGS5wbGF5ZXIuR2V0TWVyZ2luZ0xpc3RSZXMiABI9CgtNZXJnZVBsYXllchIWLnBsYXllci5NZXJnZVBsYXllclJlcRoULmNvbW1vbi5CYXNlUmVzcG9uc2UiABJRChVWZXJpZnlNZXJnZVBsYXllckNvZGUSIC5wbGF5ZXIuVmVyaWZ5TWVyZ2VQbGF5ZXJDb2RlUmVxGhQuY29tbW9uLkJhc2VSZXNwb25zZSIAEmQKIkdldE1lcmdpbmdMaXN0UGVuZGluZ1Byb3Bvc2FsQ291bnQSDS5jb21tb24uRW1wdHkaLS5wbGF5ZXIuR2V0TWVyZ2luZ0xpc3RQZW5kaW5nUHJvcG9zYWxDb3VudFJlcyIAElcKGENoZWNrTWVyZ2VQbGF5ZXJQcm9wb3NhbBIjLnBsYXllci5DaGVja01lcmdlUGxheWVyUHJvcG9zYWxSZXEaFC5jb21tb24uQmFzZVJlc3BvbnNlIgBiBnByb3RvMw\", [file_common_Common, file_player_GetMergingList, file_player_MergePlayer, file_player_VerifyMergePlayerCode, file_player_GetMergingListPendingProposalCount, file_player_CheckMergePlayerProposal]);\n\n/**\n * @generated from service player.FrontendMergePlayerService\n */\nexport const FrontendMergePlayerService: GenService<{\n /**\n * @generated from rpc player.FrontendMergePlayerService.GetMergingList\n */\n getMergingList: {\n methodKind: \"unary\";\n input: typeof EmptySchema;\n output: typeof GetMergingListResSchema;\n },\n /**\n * @generated from rpc player.FrontendMergePlayerService.MergePlayer\n */\n mergePlayer: {\n methodKind: \"unary\";\n input: typeof MergePlayerReqSchema;\n output: typeof BaseResponseSchema;\n },\n /**\n * @generated from rpc player.FrontendMergePlayerService.VerifyMergePlayerCode\n */\n verifyMergePlayerCode: {\n methodKind: \"unary\";\n input: typeof VerifyMergePlayerCodeReqSchema;\n output: typeof BaseResponseSchema;\n },\n /**\n * @generated from rpc player.FrontendMergePlayerService.GetMergingListPendingProposalCount\n */\n getMergingListPendingProposalCount: {\n methodKind: \"unary\";\n input: typeof EmptySchema;\n output: typeof GetMergingListPendingProposalCountResSchema;\n },\n /**\n * @generated from rpc player.FrontendMergePlayerService.CheckMergePlayerProposal\n */\n checkMergePlayerProposal: {\n methodKind: \"unary\";\n input: typeof CheckMergePlayerProposalReqSchema;\n output: typeof BaseResponseSchema;\n },\n}> = /*@__PURE__*/\n serviceDesc(file_player_FrontendMergePlayerService, 0);\n\n","// @generated by protoc-gen-es v2.10.2 with parameter \"target=ts\"\n// @generated from file player/GetMergingList.proto (package player, syntax proto3)\n/* eslint-disable */\n\nimport type { GenFile, GenMessage } from \"@bufbuild/protobuf/codegenv2\";\nimport { fileDesc, messageDesc } from \"@bufbuild/protobuf/codegenv2\";\nimport type { BaseResponse, IDStatus } from \"../common/Common_pb\";\nimport { file_common_Common } from \"../common/Common_pb\";\nimport type { BigDecimal } from \"./PlayerCommon_pb\";\nimport { file_player_PlayerCommon } from \"./PlayerCommon_pb\";\nimport type { Message } from \"@bufbuild/protobuf\";\n\n/**\n * Describes the file player/GetMergingList.proto.\n */\nexport const file_player_GetMergingList: GenFile = /*@__PURE__*/\n fileDesc(\"ChtwbGF5ZXIvR2V0TWVyZ2luZ0xpc3QucHJvdG8SBnBsYXllciKzAQoLTWVyZ2luZ0xpc3QSEQoJcGxheWVyX2lkGAEgASgJEiMKCWlkX3N0YXR1cxgCIAEoDjIQLmNvbW1vbi5JRFN0YXR1cxIoCgx2YWxpZF9jcmVkaXQYAyABKAsyEi5wbGF5ZXIuQmlnRGVjaW1hbBIYCgtsZXZlbF92YWx1ZRgEIAEoBUgAiAEBEhgKEGxhc3RfYWNjZXNzX3RpbWUYBSABKAlCDgoMX2xldmVsX3ZhbHVlImMKEUdldE1lcmdpbmdMaXN0UmVzEisKDWJhc2VfcmVzcG9uc2UYASABKAsyFC5jb21tb24uQmFzZVJlc3BvbnNlEiEKBGRhdGEYAiADKAsyEy5wbGF5ZXIuTWVyZ2luZ0xpc3RiBnByb3RvMw\", [file_common_Common, file_player_PlayerCommon]);\n\n/**\n * @generated from message player.MergingList\n */\nexport type MergingList = Message<\"player.MergingList\"> & {\n /**\n * @generated from field: string player_id = 1;\n */\n playerId: string;\n\n /**\n * @generated from field: common.IDStatus id_status = 2;\n */\n idStatus: IDStatus;\n\n /**\n * @generated from field: player.BigDecimal valid_credit = 3;\n */\n validCredit?: BigDecimal;\n\n /**\n * @generated from field: optional int32 level_value = 4;\n */\n levelValue?: number;\n\n /**\n * @generated from field: string last_access_time = 5;\n */\n lastAccessTime: string;\n};\n\n/**\n * Describes the message player.MergingList.\n * Use `create(MergingListSchema)` to create a new message.\n */\nexport const MergingListSchema: GenMessage<MergingList> = /*@__PURE__*/\n messageDesc(file_player_GetMergingList, 0);\n\n/**\n * @generated from message player.GetMergingListRes\n */\nexport type GetMergingListRes = Message<\"player.GetMergingListRes\"> & {\n /**\n * @generated from field: common.BaseResponse base_response = 1;\n */\n baseResponse?: BaseResponse;\n\n /**\n * @generated from field: repeated player.MergingList data = 2;\n */\n data: MergingList[];\n};\n\n/**\n * Describes the message player.GetMergingListRes.\n * Use `create(GetMergingListResSchema)` to create a new message.\n */\nexport const GetMergingListResSchema: GenMessage<GetMergingListRes> = /*@__PURE__*/\n messageDesc(file_player_GetMergingList, 1);\n\n","// @generated by protoc-gen-es v2.10.2 with parameter \"target=ts\"\n// @generated from file player/MergePlayer.proto (package player, syntax proto3)\n/* eslint-disable */\n\nimport type { GenFile, GenMessage } from \"@bufbuild/protobuf/codegenv2\";\nimport { fileDesc, messageDesc } from \"@bufbuild/protobuf/codegenv2\";\nimport type { Message } from \"@bufbuild/protobuf\";\n\n/**\n * Describes the file player/MergePlayer.proto.\n */\nexport const file_player_MergePlayer: GenFile = /*@__PURE__*/\n fileDesc(\"ChhwbGF5ZXIvTWVyZ2VQbGF5ZXIucHJvdG8SBnBsYXllciIqCg5NZXJnZVBsYXllclJlcRIYChB0YXJnZXRfcGxheWVyX2lkGAEgASgJYgZwcm90bzM\");\n\n/**\n * @generated from message player.MergePlayerReq\n */\nexport type MergePlayerReq = Message<\"player.MergePlayerReq\"> & {\n /**\n * @generated from field: string target_player_id = 1;\n */\n targetPlayerId: string;\n};\n\n/**\n * Describes the message player.MergePlayerReq.\n * Use `create(MergePlayerReqSchema)` to create a new message.\n */\nexport const MergePlayerReqSchema: GenMessage<MergePlayerReq> = /*@__PURE__*/\n messageDesc(file_player_MergePlayer, 0);\n\n","// @generated by protoc-gen-es v2.10.2 with parameter \"target=ts\"\n// @generated from file player/VerifyMergePlayerCode.proto (package player, syntax proto3)\n/* eslint-disable */\n\nimport type { GenFile, GenMessage } from \"@bufbuild/protobuf/codegenv2\";\nimport { fileDesc, messageDesc } from \"@bufbuild/protobuf/codegenv2\";\nimport type { Message } from \"@bufbuild/protobuf\";\n\n/**\n * Describes the file player/VerifyMergePlayerCode.proto.\n */\nexport const file_player_VerifyMergePlayerCode: GenFile = /*@__PURE__*/\n fileDesc(\"CiJwbGF5ZXIvVmVyaWZ5TWVyZ2VQbGF5ZXJDb2RlLnByb3RvEgZwbGF5ZXIiKAoYVmVyaWZ5TWVyZ2VQbGF5ZXJDb2RlUmVxEgwKBGNvZGUYASABKAliBnByb3RvMw\");\n\n/**\n * @generated from message player.VerifyMergePlayerCodeReq\n */\nexport type VerifyMergePlayerCodeReq = Message<\"player.VerifyMergePlayerCodeReq\"> & {\n /**\n * @generated from field: string code = 1;\n */\n code: string;\n};\n\n/**\n * Describes the message player.VerifyMergePlayerCodeReq.\n * Use `create(VerifyMergePlayerCodeReqSchema)` to create a new message.\n */\nexport const VerifyMergePlayerCodeReqSchema: GenMessage<VerifyMergePlayerCodeReq> = /*@__PURE__*/\n messageDesc(file_player_VerifyMergePlayerCode, 0);\n\n","// @generated by protoc-gen-es v2.10.2 with parameter \"target=ts\"\n// @generated from file player/GetMergingListPendingProposalCount.proto (package player, syntax proto3)\n/* eslint-disable */\n\nimport type { GenFile, GenMessage } from \"@bufbuild/protobuf/codegenv2\";\nimport { fileDesc, messageDesc } from \"@bufbuild/protobuf/codegenv2\";\nimport type { BaseResponse } from \"../common/Common_pb\";\nimport { file_common_Common } from \"../common/Common_pb\";\nimport type { Message } from \"@bufbuild/protobuf\";\n\n/**\n * Describes the file player/GetMergingListPendingProposalCount.proto.\n */\nexport const file_player_GetMergingListPendingProposalCount: GenFile = /*@__PURE__*/\n fileDesc(\"Ci9wbGF5ZXIvR2V0TWVyZ2luZ0xpc3RQZW5kaW5nUHJvcG9zYWxDb3VudC5wcm90bxIGcGxheWVyIsgBCiVHZXRNZXJnaW5nTGlzdFBlbmRpbmdQcm9wb3NhbENvdW50UmVzEisKDWJhc2VfcmVzcG9uc2UYASABKAsyFC5jb21tb24uQmFzZVJlc3BvbnNlEkUKBGRhdGEYAiADKAsyNy5wbGF5ZXIuR2V0TWVyZ2luZ0xpc3RQZW5kaW5nUHJvcG9zYWxDb3VudFJlcy5EYXRhRW50cnkaKwoJRGF0YUVudHJ5EgsKA2tleRgBIAEoCRINCgV2YWx1ZRgCIAEoBToCOAFiBnByb3RvMw\", [file_common_Common]);\n\n/**\n * @generated from message player.GetMergingListPendingProposalCountRes\n */\nexport type GetMergingListPendingProposalCountRes = Message<\"player.GetMergingListPendingProposalCountRes\"> & {\n /**\n * @generated from field: common.BaseResponse base_response = 1;\n */\n baseResponse?: BaseResponse;\n\n /**\n * @generated from field: map<string, int32> data = 2;\n */\n data: { [key: string]: number };\n};\n\n/**\n * Describes the message player.GetMergingListPendingProposalCountRes.\n * Use `create(GetMergingListPendingProposalCountResSchema)` to create a new message.\n */\nexport const GetMergingListPendingProposalCountResSchema: GenMessage<GetMergingListPendingProposalCountRes> = /*@__PURE__*/\n messageDesc(file_player_GetMergingListPendingProposalCount, 0);\n\n","// @generated by protoc-gen-es v2.10.2 with parameter \"target=ts\"\n// @generated from file player/CheckMergePlayerProposal.proto (package player, syntax proto3)\n/* eslint-disable */\n\nimport type { GenFile, GenMessage } from \"@bufbuild/protobuf/codegenv2\";\nimport { fileDesc, messageDesc } from \"@bufbuild/protobuf/codegenv2\";\nimport type { Message } from \"@bufbuild/protobuf\";\n\n/**\n * Describes the file player/CheckMergePlayerProposal.proto.\n */\nexport const file_player_CheckMergePlayerProposal: GenFile = /*@__PURE__*/\n fileDesc(\"CiVwbGF5ZXIvQ2hlY2tNZXJnZVBsYXllclByb3Bvc2FsLnByb3RvEgZwbGF5ZXIiMAobQ2hlY2tNZXJnZVBsYXllclByb3Bvc2FsUmVxEhEKCXBsYXllcl9pZBgBIAEoCWIGcHJvdG8z\");\n\n/**\n * @generated from message player.CheckMergePlayerProposalReq\n */\nexport type CheckMergePlayerProposalReq = Message<\"player.CheckMergePlayerProposalReq\"> & {\n /**\n * @generated from field: string player_id = 1;\n */\n playerId: string;\n};\n\n/**\n * Describes the message player.CheckMergePlayerProposalReq.\n * Use `create(CheckMergePlayerProposalReqSchema)` to create a new message.\n */\nexport const CheckMergePlayerProposalReqSchema: GenMessage<CheckMergePlayerProposalReq> = /*@__PURE__*/\n messageDesc(file_player_CheckMergePlayerProposal, 0);\n\n","// @generated by protoc-gen-es v2.10.2 with parameter \"target=ts\"\n// @generated from file player/FrontendPlayerPermissionService.proto (package player, syntax proto3)\n/* eslint-disable */\n\nimport type { GenFile, GenService } from \"@bufbuild/protobuf/codegenv2\";\nimport { fileDesc, serviceDesc } from \"@bufbuild/protobuf/codegenv2\";\nimport type { EmptySchema } from \"../common/Common_pb\";\nimport { file_common_Common } from \"../common/Common_pb\";\nimport type { PlayerBypassKycRestrictionResSchema } from \"./PlayerBypassKycRestriction_pb\";\nimport { file_player_PlayerBypassKycRestriction } from \"./PlayerBypassKycRestriction_pb\";\n\n/**\n * Describes the file player/FrontendPlayerPermissionService.proto.\n */\nexport const file_player_FrontendPlayerPermissionService: GenFile = /*@__PURE__*/\n fileDesc(\"CixwbGF5ZXIvRnJvbnRlbmRQbGF5ZXJQZXJtaXNzaW9uU2VydmljZS5wcm90bxIGcGxheWVyMncKH0Zyb250ZW5kUGxheWVyUGVybWlzc2lvblNlcnZpY2USVAoaUGxheWVyQnlwYXNzS3ljUmVzdHJpY3Rpb24SDS5jb21tb24uRW1wdHkaJS5wbGF5ZXIuUGxheWVyQnlwYXNzS3ljUmVzdHJpY3Rpb25SZXMiAGIGcHJvdG8z\", [file_common_Common, file_player_PlayerBypassKycRestriction]);\n\n/**\n * @generated from service player.FrontendPlayerPermissionService\n */\nexport const FrontendPlayerPermissionService: GenService<{\n /**\n * @generated from rpc player.FrontendPlayerPermissionService.PlayerBypassKycRestriction\n */\n playerBypassKycRestriction: {\n methodKind: \"unary\";\n input: typeof EmptySchema;\n output: typeof PlayerBypassKycRestrictionResSchema;\n },\n}> = /*@__PURE__*/\n serviceDesc(file_player_FrontendPlayerPermissionService, 0);\n\n","// @generated by protoc-gen-es v2.10.2 with parameter \"target=ts\"\n// @generated from file player/PlayerBypassKycRestriction.proto (package player, syntax proto3)\n/* eslint-disable */\n\nimport type { GenFile, GenMessage } from \"@bufbuild/protobuf/codegenv2\";\nimport { fileDesc, messageDesc } from \"@bufbuild/protobuf/codegenv2\";\nimport type { BaseResponse } from \"../common/Common_pb\";\nimport { file_common_Common } from \"../common/Common_pb\";\nimport type { Message } from \"@bufbuild/protobuf\";\n\n/**\n * Describes the file player/PlayerBypassKycRestriction.proto.\n */\nexport const file_player_PlayerBypassKycRestriction: GenFile = /*@__PURE__*/\n fileDesc(\"CidwbGF5ZXIvUGxheWVyQnlwYXNzS3ljUmVzdHJpY3Rpb24ucHJvdG8SBnBsYXllciJaCh1QbGF5ZXJCeXBhc3NLeWNSZXN0cmljdGlvblJlcxIrCg1iYXNlX3Jlc3BvbnNlGAEgASgLMhQuY29tbW9uLkJhc2VSZXNwb25zZRIMCgRkYXRhGAIgASgIYgZwcm90bzM\", [file_common_Common]);\n\n/**\n * @generated from message player.PlayerBypassKycRestrictionRes\n */\nexport type PlayerBypassKycRestrictionRes = Message<\"player.PlayerBypassKycRestrictionRes\"> & {\n /**\n * @generated from field: common.BaseResponse base_response = 1;\n */\n baseResponse?: BaseResponse;\n\n /**\n * @generated from field: bool data = 2;\n */\n data: boolean;\n};\n\n/**\n * Describes the message player.PlayerBypassKycRestrictionRes.\n * Use `create(PlayerBypassKycRestrictionResSchema)` to create a new message.\n */\nexport const PlayerBypassKycRestrictionResSchema: GenMessage<PlayerBypassKycRestrictionRes> = /*@__PURE__*/\n messageDesc(file_player_PlayerBypassKycRestriction, 0);\n\n","// @generated by protoc-gen-es v2.10.2 with parameter \"target=ts\"\n// @generated from file player/FrontendPlayerService.proto (package player, syntax proto3)\n/* eslint-disable */\n\nimport type { GenFile, GenService } from \"@bufbuild/protobuf/codegenv2\";\nimport { fileDesc, serviceDesc } from \"@bufbuild/protobuf/codegenv2\";\nimport type { BaseResponseSchema, EmptySchema } from \"../common/Common_pb\";\nimport { file_common_Common } from \"../common/Common_pb\";\nimport type { CheckPlayerLoginStatusResSchema } from \"./CheckPlayerLoginStatus_pb\";\nimport { file_player_CheckPlayerLoginStatus } from \"./CheckPlayerLoginStatus_pb\";\nimport type { GetPlayerProfileByJwtResSchema } from \"./GetPlayerProfileByJwt_pb\";\nimport { file_player_GetPlayerProfileByJwt } from \"./GetPlayerProfileByJwt_pb\";\nimport type { UpdatePasswordReqSchema } from \"./UpdatePassword_pb\";\nimport { file_player_UpdatePassword } from \"./UpdatePassword_pb\";\nimport type { GetPlayerInfoForSportsForumResSchema } from \"./GetPlayerInfoForSportsForum_pb\";\nimport { file_player_GetPlayerInfoForSportsForum } from \"./GetPlayerInfoForSportsForum_pb\";\nimport type { GetWithdrawalInfoResSchema } from \"./GetWithdrawalInfo_pb\";\nimport { file_player_GetWithdrawalInfo } from \"./GetWithdrawalInfo_pb\";\nimport type { GetDepositInfoResSchema } from \"./GetDepositInfo_pb\";\nimport { file_player_GetDepositInfo } from \"./GetDepositInfo_pb\";\nimport type { GetAccountCombineInfoResSchema } from \"./GetAccountCombineInfo_pb\";\nimport { file_player_GetAccountCombineInfo } from \"./GetAccountCombineInfo_pb\";\nimport type { GetViberStatusReqSchema, GetViberStatusResSchema } from \"./GetViberStatus_pb\";\nimport { file_player_GetViberStatus } from \"./GetViberStatus_pb\";\nimport type { UpdateAdditionalInfoReqSchema } from \"./UpdateAdditionalInfo_pb\";\nimport { file_player_UpdateAdditionalInfo } from \"./UpdateAdditionalInfo_pb\";\n\n/**\n * Describes the file player/FrontendPlayerService.proto.\n */\nexport const file_player_FrontendPlayerService: GenFile = /*@__PURE__*/\n fileDesc(\"CiJwbGF5ZXIvRnJvbnRlbmRQbGF5ZXJTZXJ2aWNlLnByb3RvEgZwbGF5ZXIypQUKFUZyb250ZW5kUGxheWVyU2VydmljZRJKChZDaGVja1BsYXllckxvZ2luU3RhdHVzEg0uY29tbW9uLkVtcHR5GiEucGxheWVyLkNoZWNrUGxheWVyTG9naW5TdGF0dXNSZXMSSAoVR2V0UGxheWVyUHJvZmlsZUJ5Snd0Eg0uY29tbW9uLkVtcHR5GiAucGxheWVyLkdldFBsYXllclByb2ZpbGVCeUp3dFJlcxJBCg5VcGRhdGVQYXNzd29yZBIZLnBsYXllci5VcGRhdGVQYXNzd29yZFJlcRoULmNvbW1vbi5CYXNlUmVzcG9uc2USVAobR2V0UGxheWVySW5mb0ZvclNwb3J0c0ZvcnVtEg0uY29tbW9uLkVtcHR5GiYucGxheWVyLkdldFBsYXllckluZm9Gb3JTcG9ydHNGb3J1bVJlcxJAChFHZXRXaXRoZHJhd2FsSW5mbxINLmNvbW1vbi5FbXB0eRocLnBsYXllci5HZXRXaXRoZHJhd2FsSW5mb1JlcxI6Cg5HZXREZXBvc2l0SW5mbxINLmNvbW1vbi5FbXB0eRoZLnBsYXllci5HZXREZXBvc2l0SW5mb1JlcxJIChVHZXRBY2NvdW50Q29tYmluZUluZm8SDS5jb21tb24uRW1wdHkaIC5wbGF5ZXIuR2V0QWNjb3VudENvbWJpbmVJbmZvUmVzEkYKDkdldFZpYmVyU3RhdHVzEhkucGxheWVyLkdldFZpYmVyU3RhdHVzUmVxGhkucGxheWVyLkdldFZpYmVyU3RhdHVzUmVzEk0KFFVwZGF0ZUFkZGl0aW9uYWxJbmZvEh8ucGxheWVyLlVwZGF0ZUFkZGl0aW9uYWxJbmZvUmVxGhQuY29tbW9uLkJhc2VSZXNwb25zZWIGcHJvdG8z\", [file_common_Common, file_player_CheckPlayerLoginStatus, file_player_GetPlayerProfileByJwt, file_player_UpdatePassword, file_player_GetPlayerInfoForSportsForum, file_player_GetWithdrawalInfo, file_player_GetDepositInfo, file_player_GetAccountCombineInfo, file_player_GetViberStatus, file_player_UpdateAdditionalInfo]);\n\n/**\n * @generated from service player.FrontendPlayerService\n */\nexport const FrontendPlayerService: GenService<{\n /**\n * @generated from rpc player.FrontendPlayerService.CheckPlayerLoginStatus\n */\n checkPlayerLoginStatus: {\n methodKind: \"unary\";\n input: typeof EmptySchema;\n output: typeof CheckPlayerLoginStatusResSchema;\n },\n /**\n * @generated from rpc player.FrontendPlayerService.GetPlayerProfileByJwt\n */\n getPlayerProfileByJwt: {\n methodKind: \"unary\";\n input: typeof EmptySchema;\n output: typeof GetPlayerProfileByJwtResSchema;\n },\n /**\n * @generated from rpc player.FrontendPlayerService.UpdatePassword\n */\n updatePassword: {\n methodKind: \"unary\";\n input: typeof UpdatePasswordReqSchema;\n output: typeof BaseResponseSchema;\n },\n /**\n * @generated from rpc player.FrontendPlayerService.GetPlayerInfoForSportsForum\n */\n getPlayerInfoForSportsForum: {\n methodKind: \"unary\";\n input: typeof EmptySchema;\n output: typeof GetPlayerInfoForSportsForumResSchema;\n },\n /**\n * @generated from rpc player.FrontendPlayerService.GetWithdrawalInfo\n */\n getWithdrawalInfo: {\n methodKind: \"unary\";\n input: typeof EmptySchema;\n output: typeof GetWithdrawalInfoResSchema;\n },\n /**\n * @generated from rpc player.FrontendPlayerService.GetDepositInfo\n */\n getDepositInfo: {\n methodKind: \"unary\";\n input: typeof EmptySchema;\n output: typeof GetDepositInfoResSchema;\n },\n /**\n * @generated from rpc player.FrontendPlayerService.GetAccountCombineInfo\n */\n getAccountCombineInfo: {\n methodKind: \"unary\";\n input: typeof EmptySchema;\n output: typeof GetAccountCombineInfoResSchema;\n },\n /**\n * @generated from rpc player.FrontendPlayerService.GetViberStatus\n */\n getViberStatus: {\n methodKind: \"unary\";\n input: typeof GetViberStatusReqSchema;\n output: typeof GetViberStatusResSchema;\n },\n /**\n * @generated from rpc player.FrontendPlayerService.UpdateAdditionalInfo\n */\n updateAdditionalInfo: {\n methodKind: \"unary\";\n input: typeof UpdateAdditionalInfoReqSchema;\n output: typeof BaseResponseSchema;\n },\n}> = /*@__PURE__*/\n serviceDesc(file_player_FrontendPlayerService, 0);\n\n","// @generated by protoc-gen-es v2.10.2 with parameter \"target=ts\"\n// @generated from file player/CheckPlayerLoginStatus.proto (package player, syntax proto3)\n/* eslint-disable */\n\nimport type { GenFile, GenMessage } from \"@bufbuild/protobuf/codegenv2\";\nimport { fileDesc, messageDesc } from \"@bufbuild/protobuf/codegenv2\";\nimport type { BaseResponse } from \"../common/Common_pb\";\nimport { file_common_Common } from \"../common/Common_pb\";\nimport type { Message } from \"@bufbuild/protobuf\";\n\n/**\n * Describes the file player/CheckPlayerLoginStatus.proto.\n */\nexport const file_player_CheckPlayerLoginStatus: GenFile = /*@__PURE__*/\n fileDesc(\"CiNwbGF5ZXIvQ2hlY2tQbGF5ZXJMb2dpblN0YXR1cy5wcm90bxIGcGxheWVyImgKEEFjdGlvbkFmdGVyTG9naW4SEAoIZXZlbnRfaWQYASABKAkSEgoKZXZlbnRfdHlwZRgCIAEoCRIZChFwb3BfdXBfZnJlZV9ib251cxgDIAEoCBITCgtwb3BfdXBfdGFzaxgEIAEoCCJSChpDaGVja1BsYXllckxvZ2luU3RhdHVzRGF0YRI0ChJhY3Rpb25fYWZ0ZXJfbG9naW4YASADKAsyGC5wbGF5ZXIuQWN0aW9uQWZ0ZXJMb2dpbiJ6ChlDaGVja1BsYXllckxvZ2luU3RhdHVzUmVzEisKDWJhc2VfcmVzcG9uc2UYASABKAsyFC5jb21tb24uQmFzZVJlc3BvbnNlEjAKBGRhdGEYAiABKAsyIi5wbGF5ZXIuQ2hlY2tQbGF5ZXJMb2dpblN0YXR1c0RhdGFiBnByb3RvMw\", [file_common_Common]);\n\n/**\n * @generated from message player.ActionAfterLogin\n */\nexport type ActionAfterLogin = Message<\"player.ActionAfterLogin\"> & {\n /**\n * @generated from field: string event_id = 1;\n */\n eventId: string;\n\n /**\n * @generated from field: string event_type = 2;\n */\n eventType: string;\n\n /**\n * @generated from field: bool pop_up_free_bonus = 3;\n */\n popUpFreeBonus: boolean;\n\n /**\n * @generated from field: bool pop_up_task = 4;\n */\n popUpTask: boolean;\n};\n\n/**\n * Describes the message player.ActionAfterLogin.\n * Use `create(ActionAfterLoginSchema)` to create a new message.\n */\nexport const ActionAfterLoginSchema: GenMessage<ActionAfterLogin> = /*@__PURE__*/\n messageDesc(file_player_CheckPlayerLoginStatus, 0);\n\n/**\n * @generated from message player.CheckPlayerLoginStatusData\n */\nexport type CheckPlayerLoginStatusData = Message<\"player.CheckPlayerLoginStatusData\"> & {\n /**\n * @generated from field: repeated player.ActionAfterLogin action_after_login = 1;\n */\n actionAfterLogin: ActionAfterLogin[];\n};\n\n/**\n * Describes the message player.CheckPlayerLoginStatusData.\n * Use `create(CheckPlayerLoginStatusDataSchema)` to create a new message.\n */\nexport const CheckPlayerLoginStatusDataSchema: GenMessage<CheckPlayerLoginStatusData> = /*@__PURE__*/\n messageDesc(file_player_CheckPlayerLoginStatus, 1);\n\n/**\n * @generated from message player.CheckPlayerLoginStatusRes\n */\nexport type CheckPlayerLoginStatusRes = Message<\"player.CheckPlayerLoginStatusRes\"> & {\n /**\n * @generated from field: common.BaseResponse base_response = 1;\n */\n baseResponse?: BaseResponse;\n\n /**\n * @generated from field: player.CheckPlayerLoginStatusData data = 2;\n */\n data?: CheckPlayerLoginStatusData;\n};\n\n/**\n * Describes the message player.CheckPlayerLoginStatusRes.\n * Use `create(CheckPlayerLoginStatusResSchema)` to create a new message.\n */\nexport const CheckPlayerLoginStatusResSchema: GenMessage<CheckPlayerLoginStatusRes> = /*@__PURE__*/\n messageDesc(file_player_CheckPlayerLoginStatus, 2);\n\n","// @generated by protoc-gen-es v2.10.2 with parameter \"target=ts\"\n// @generated from file player/GetPlayerProfileByJwt.proto (package player, syntax proto3)\n/* eslint-disable */\n\nimport type { GenEnum, GenFile, GenMessage } from \"@bufbuild/protobuf/codegenv2\";\nimport { enumDesc, fileDesc, messageDesc } from \"@bufbuild/protobuf/codegenv2\";\nimport type { BaseResponse } from \"../common/Common_pb\";\nimport { file_common_Common } from \"../common/Common_pb\";\nimport type { PlayerPhotoIdType } from \"../common/CommonEnums_pb\";\nimport { file_common_CommonEnums } from \"../common/CommonEnums_pb\";\nimport type { Message } from \"@bufbuild/protobuf\";\n\n/**\n * Describes the file player/GetPlayerProfileByJwt.proto.\n */\nexport const file_player_GetPlayerProfileByJwt: GenFile = /*@__PURE__*/\n fileDesc(\"CiJwbGF5ZXIvR2V0UGxheWVyUHJvZmlsZUJ5Snd0LnByb3RvEgZwbGF5ZXIicQoNTGV2ZWxVcENvbmZpZxIZChFjb25zdW1wdGlvbl9saW1pdBgBIAEoBRIaChJjb25zdW1wdGlvbl9wZXJpb2QYAiABKAkSEwoLdG9wdXBfbGltaXQYAyABKAUSFAoMdG9wdXBfcGVyaW9kGAQgASgJImAKD0xldmVsRG93bkNvbmZpZxIbChNjb25zdW1wdGlvbl9taW5pbXVtGAEgASgFEhoKEmNvbnN1bXB0aW9uX3BlcmlvZBgCIAEoCRIUCgx0b3B1cF9wZXJpb2QYAyABKAkikgEKD1BsYXllckxldmVsSW5mbxIMCgRuYW1lGAEgASgJEg0KBXZhbHVlGAIgASgFEi4KD2xldmVsX3VwX2NvbmZpZxgDIAMoCzIVLnBsYXllci5MZXZlbFVwQ29uZmlnEjIKEWxldmVsX2Rvd25fY29uZmlnGAQgAygLMhcucGxheWVyLkxldmVsRG93bkNvbmZpZyKSAQoQUmVnaXN0cmF0aW9uSW5mbxIRCgRjaXR5GAEgASgJSACIAQESFQoIcHJvdmluY2UYAiABKAlIAYgBARIVCghwb3N0Y29kZRgDIAEoCUgCiAEBEhEKBHRpbWUYBCABKAlIA4gBAUIHCgVfY2l0eUILCglfcHJvdmluY2VCCwoJX3Bvc3Rjb2RlQgcKBV90aW1lIhsKCVBob25lSW5mbxIOCgZoYXNoZWQYASABKAkirgEKCEFkZHJJbmZvEhEKBGFkZHIYASABKAlIAIgBARIVCghjdXJfYWRkchgCIAEoCUgBiAEBEhEKBGNpdHkYAyABKAlIAogBARIVCghwcm92aW5jZRgEIAEoCUgDiAEBEhUKCHBvc3Rjb2RlGAUgASgJSASIAQFCBwoFX2FkZHJCCwoJX2N1cl9hZGRyQgcKBV9jaXR5QgsKCV9wcm92aW5jZUILCglfcG9zdGNvZGUiGgoJTG9naW5JbmZvEg0KBXRpbWVzGAEgASgFIksKDFBob3RvSWQxSW5mbxInCgR0eXBlGAEgASgOMhkuY29tbW9uLlBsYXllclBob3RvSWRUeXBlEhIKCmltYWdlX25hbWUYAiABKAki+goKBlBsYXllchIKCgJpZBgBIAEoCRIRCglwbGF5ZXJfaWQYAiABKAkSDQoFZW1haWwYAyABKAkSEwoLcGxhdGZvcm1faWQYBCABKAkSLQoMcGxheWVyX2xldmVsGAUgASgLMhcucGxheWVyLlBsYXllckxldmVsSW5mbxIXCg9wbGF0Zm9ybV9vYmpfaWQYBiABKAkSEAoIbmlja25hbWUYByABKAkSEwoGZ2VuZGVyGAggASgISACIAQESCwoDZG9iGAkgASgJEhUKDXBsYXllcl9hdmF0YXIYCiABKAkSEQoJcmVhbF9uYW1lGAsgASgJEhYKDnBsYWNlX29mX2JpcnRoGAwgASgJEhYKDm5hdHVyZV9vZl93b3JrGA0gASgJEhcKD3NvdXJjZV9vZl9mdW5kcxgOIAEoCRIzChFyZWdpc3RyYXRpb25faW5mbxgPIAEoCzIYLnBsYXllci5SZWdpc3RyYXRpb25JbmZvEiUKCnBob25lX2luZm8YECABKAsyES5wbGF5ZXIuUGhvbmVJbmZvEiMKCWFkZHJfaW5mbxgRIAEoCzIQLnBsYXllci5BZGRySW5mbxITCgtuYXRpb25hbGl0eRgSIAEoCRIUCgx2ZXJpZnlfcGhvdG8YEyABKAkSGAoQaXNfY29tcGxldGVfaW5mbxgUIAEoCBIUCgxoYXNfcGFzc3dvcmQYFSABKAgSDQoFcGhvbmUYFiABKAkSHQoVaXNfaW52YWxpZF9zb3VyY2VfdXJsGBcgASgIEhEKCWlkX3N0YXR1cxgYIAEoBRITCgtsb2dpbl90aW1lcxgZIAEoBRIuCgtwbGF5ZXJfdHlwZRgaIAEoDjIZLnBsYXllci5QbGF5ZXIuUGxheWVyVHlwZRIXCg9hbGxvd19saXZlX2NoYXQYGyABKAgSJQoKbG9naW5faW5mbxgcIAEoCzIRLnBsYXllci5Mb2dpbkluZm8SFgoOcmVzZXRfcGFzc3dvcmQYHSABKAgSEAoIaXNfbG9naW4YHiABKAgSGAoLZmFjZWJvb2tfaWQYHyABKAlIAYgBARIdChBmYWNlYm9va19hY2NvdW50GCAgASgJSAKIAQESGgoSdXNlcl9jdXJyZW50X3BvaW50GCEgASgFEhcKCmZ0cF9kb21haW4YIiABKAlIA4gBARIMCgRuYW1lGCMgASgJEi0KCnBob3RvX2lkXzEYJCABKAsyFC5wbGF5ZXIuUGhvdG9JZDFJbmZvSASIAQESEwoLcGxheWVyX2NpdHkYJSABKAkSFwoPcGxheWVyX3Byb3ZpbmNlGCYgASgJEhIKCmZ1bGxfZW1haWwYJyABKAkitgIKClBsYXllclR5cGUSGwoXUExBWUVSX1RZUEVfVU5TUEVDSUZJRUQQABIWChJQTEFZRVJfVFlQRV9OT1JNQUwQARIVChFQTEFZRVJfVFlQRV9HTElGRRACEhgKFFBMQVlFUl9UWVBFX0hPVEVMQVBQEAMSFQoRUExBWUVSX1RZUEVfR0NBU0gQBBIUChBQTEFZRVJfVFlQRV9NQVlBEAUSGgoWUExBWUVSX1RZUEVfVE9OR0lUU0FQUBAGEhUKEVBMQVlFUl9UWVBFX1ZJQkVSEAcSFgoSUExBWUVSX1RZUEVfTEFaQURBEAgSGAoUUExBWUVSX1RZUEVfRkFDRUJPT0sQCRIYChRQTEFZRVJfVFlQRV9URUxFR1JBTRAKEhYKElBMQVlFUl9UWVBFX0ZBQ0VJRBALQgkKB19nZW5kZXJCDgoMX2ZhY2Vib29rX2lkQhMKEV9mYWNlYm9va19hY2NvdW50Qg0KC19mdHBfZG9tYWluQg0KC19waG90b19pZF8xImUKGEdldFBsYXllclByb2ZpbGVCeUp3dFJlcxIrCg1iYXNlX3Jlc3BvbnNlGAEgASgLMhQuY29tbW9uLkJhc2VSZXNwb25zZRIcCgRkYXRhGAIgASgLMg4ucGxheWVyLlBsYXllcmIGcHJvdG8z\", [file_common_Common, file_common_CommonEnums]);\n\n/**\n * @generated from message player.LevelUpConfig\n */\nexport type LevelUpConfig = Message<\"player.LevelUpConfig\"> & {\n /**\n * @generated from field: int32 consumption_limit = 1;\n */\n consumptionLimit: number;\n\n /**\n * @generated from field: string consumption_period = 2;\n */\n consumptionPeriod: string;\n\n /**\n * @generated from field: int32 topup_limit = 3;\n */\n topupLimit: number;\n\n /**\n * @generated from field: string topup_period = 4;\n */\n topupPeriod: string;\n};\n\n/**\n * Describes the message player.LevelUpConfig.\n * Use `create(LevelUpConfigSchema)` to create a new message.\n */\nexport const LevelUpConfigSchema: GenMessage<LevelUpConfig> = /*@__PURE__*/\n messageDesc(file_player_GetPlayerProfileByJwt, 0);\n\n/**\n * @generated from message player.LevelDownConfig\n */\nexport type LevelDownConfig = Message<\"player.LevelDownConfig\"> & {\n /**\n * @generated from field: int32 consumption_minimum = 1;\n */\n consumptionMinimum: number;\n\n /**\n * @generated from field: string consumption_period = 2;\n */\n consumptionPeriod: string;\n\n /**\n * @generated from field: string topup_period = 3;\n */\n topupPeriod: string;\n};\n\n/**\n * Describes the message player.LevelDownConfig.\n * Use `create(LevelDownConfigSchema)` to create a new message.\n */\nexport const LevelDownConfigSchema: GenMessage<LevelDownConfig> = /*@__PURE__*/\n messageDesc(file_player_GetPlayerProfileByJwt, 1);\n\n/**\n * @generated from message player.PlayerLevelInfo\n */\nexport type PlayerLevelInfo = Message<\"player.PlayerLevelInfo\"> & {\n /**\n * @generated from field: string name = 1;\n */\n name: string;\n\n /**\n * @generated from field: int32 value = 2;\n */\n value: number;\n\n /**\n * @generated from field: repeated player.LevelUpConfig level_up_config = 3;\n */\n levelUpConfig: LevelUpConfig[];\n\n /**\n * @generated from field: repeated player.LevelDownConfig level_down_config = 4;\n */\n levelDownConfig: LevelDownConfig[];\n};\n\n/**\n * Describes the message player.PlayerLevelInfo.\n * Use `create(PlayerLevelInfoSchema)` to create a new message.\n */\nexport const PlayerLevelInfoSchema: GenMessage<PlayerLevelInfo> = /*@__PURE__*/\n messageDesc(file_player_GetPlayerProfileByJwt, 2);\n\n/**\n * @generated from message player.RegistrationInfo\n */\nexport type RegistrationInfo = Message<\"player.RegistrationInfo\"> & {\n /**\n * @generated from field: optional string city = 1;\n */\n city?: string;\n\n /**\n * @generated from field: optional string province = 2;\n */\n province?: string;\n\n /**\n * @generated from field: optional string postcode = 3;\n */\n postcode?: string;\n\n /**\n * @generated from field: optional string time = 4;\n */\n time?: string;\n};\n\n/**\n * Describes the message player.RegistrationInfo.\n * Use `create(RegistrationInfoSchema)` to create a new message.\n */\nexport const RegistrationInfoSchema: GenMessage<RegistrationInfo> = /*@__PURE__*/\n messageDesc(file_player_GetPlayerProfileByJwt, 3);\n\n/**\n * @generated from message player.PhoneInfo\n */\nexport type PhoneInfo = Message<\"player.PhoneInfo\"> & {\n /**\n * @generated from field: string hashed = 1;\n */\n hashed: string;\n};\n\n/**\n * Describes the message player.PhoneInfo.\n * Use `create(PhoneInfoSchema)` to create a new message.\n */\nexport const PhoneInfoSchema: GenMessage<PhoneInfo> = /*@__PURE__*/\n messageDesc(file_player_GetPlayerProfileByJwt, 4);\n\n/**\n * @generated from message player.AddrInfo\n */\nexport type AddrInfo = Message<\"player.AddrInfo\"> & {\n /**\n * @generated from field: optional string addr = 1;\n */\n addr?: string;\n\n /**\n * @generated from field: optional string cur_addr = 2;\n */\n curAddr?: string;\n\n /**\n * @generated from field: optional string city = 3;\n */\n city?: string;\n\n /**\n * @generated from field: optional string province = 4;\n */\n province?: string;\n\n /**\n * @generated from field: optional string postcode = 5;\n */\n postcode?: string;\n};\n\n/**\n * Describes the message player.AddrInfo.\n * Use `create(AddrInfoSchema)` to create a new message.\n */\nexport const AddrInfoSchema: GenMessage<AddrInfo> = /*@__PURE__*/\n messageDesc(file_player_GetPlayerProfileByJwt, 5);\n\n/**\n * @generated from message player.LoginInfo\n */\nexport type LoginInfo = Message<\"player.LoginInfo\"> & {\n /**\n * @generated from field: int32 times = 1;\n */\n times: number;\n};\n\n/**\n * Describes the message player.LoginInfo.\n * Use `create(LoginInfoSchema)` to create a new message.\n */\nexport const LoginInfoSchema: GenMessage<LoginInfo> = /*@__PURE__*/\n messageDesc(file_player_GetPlayerProfileByJwt, 6);\n\n/**\n * @generated from message player.PhotoId1Info\n */\nexport type PhotoId1Info = Message<\"player.PhotoId1Info\"> & {\n /**\n * @generated from field: common.PlayerPhotoIdType type = 1;\n */\n type: PlayerPhotoIdType;\n\n /**\n * @generated from field: string image_name = 2;\n */\n imageName: string;\n};\n\n/**\n * Describes the message player.PhotoId1Info.\n * Use `create(PhotoId1InfoSchema)` to create a new message.\n */\nexport const PhotoId1InfoSchema: GenMessage<PhotoId1Info> = /*@__PURE__*/\n messageDesc(file_player_GetPlayerProfileByJwt, 7);\n\n/**\n * @generated from message player.Player\n */\nexport type Player = Message<\"player.Player\"> & {\n /**\n * @generated from field: string id = 1;\n */\n id: string;\n\n /**\n * @generated from field: string player_id = 2;\n */\n playerId: string;\n\n /**\n * @generated from field: string email = 3;\n */\n email: string;\n\n /**\n * @generated from field: string platform_id = 4;\n */\n platformId: string;\n\n /**\n * @generated from field: player.PlayerLevelInfo player_level = 5;\n */\n playerLevel?: PlayerLevelInfo;\n\n /**\n * @generated from field: string platform_obj_id = 6;\n */\n platformObjId: string;\n\n /**\n * @generated from field: string nickname = 7;\n */\n nickname: string;\n\n /**\n * @generated from field: optional bool gender = 8;\n */\n gender?: boolean;\n\n /**\n * @generated from field: string dob = 9;\n */\n dob: string;\n\n /**\n * @generated from field: string player_avatar = 10;\n */\n playerAvatar: string;\n\n /**\n * @generated from field: string real_name = 11;\n */\n realName: string;\n\n /**\n * @generated from field: string place_of_birth = 12;\n */\n placeOfBirth: string;\n\n /**\n * @generated from field: string nature_of_work = 13;\n */\n natureOfWork: string;\n\n /**\n * @generated from field: string source_of_funds = 14;\n */\n sourceOfFunds: string;\n\n /**\n * @generated from field: player.RegistrationInfo registration_info = 15;\n */\n registrationInfo?: RegistrationInfo;\n\n /**\n * @generated from field: player.PhoneInfo phone_info = 16;\n */\n phoneInfo?: PhoneInfo;\n\n /**\n * @generated from field: player.AddrInfo addr_info = 17;\n */\n addrInfo?: AddrInfo;\n\n /**\n * @generated from field: string nationality = 18;\n */\n nationality: string;\n\n /**\n * @generated from field: string verify_photo = 19;\n */\n verifyPhoto: string;\n\n /**\n * @generated from field: bool is_complete_info = 20;\n */\n isCompleteInfo: boolean;\n\n /**\n * @generated from field: bool has_password = 21;\n */\n hasPassword: boolean;\n\n /**\n * @generated from field: string phone = 22;\n */\n phone: string;\n\n /**\n * @generated from field: bool is_invalid_source_url = 23;\n */\n isInvalidSourceUrl: boolean;\n\n /**\n * @generated from field: int32 id_status = 24;\n */\n idStatus: number;\n\n /**\n * @generated from field: int32 login_times = 25;\n */\n loginTimes: number;\n\n /**\n * @generated from field: player.Player.PlayerType player_type = 26;\n */\n playerType: Player_PlayerType;\n\n /**\n * @generated from field: bool allow_live_chat = 27;\n */\n allowLiveChat: boolean;\n\n /**\n * @generated from field: player.LoginInfo login_info = 28;\n */\n loginInfo?: LoginInfo;\n\n /**\n * @generated from field: bool reset_password = 29;\n */\n resetPassword: boolean;\n\n /**\n * @generated from field: bool is_login = 30;\n */\n isLogin: boolean;\n\n /**\n * @generated from field: optional string facebook_id = 31;\n */\n facebookId?: string;\n\n /**\n * @generated from field: optional string facebook_account = 32;\n */\n facebookAccount?: string;\n\n /**\n * @generated from field: int32 user_current_point = 33;\n */\n userCurrentPoint: number;\n\n /**\n * @generated from field: optional string ftp_domain = 34;\n */\n ftpDomain?: string;\n\n /**\n * @generated from field: string name = 35;\n */\n name: string;\n\n /**\n * @generated from field: optional player.PhotoId1Info photo_id_1 = 36;\n */\n photoId1?: PhotoId1Info;\n\n /**\n * @generated from field: string player_city = 37;\n */\n playerCity: string;\n\n /**\n * @generated from field: string player_province = 38;\n */\n playerProvince: string;\n\n /**\n * @generated from field: string full_email = 39;\n */\n fullEmail: string;\n};\n\n/**\n * Describes the message player.Player.\n * Use `create(PlayerSchema)` to create a new message.\n */\nexport const PlayerSchema: GenMessage<Player> = /*@__PURE__*/\n messageDesc(file_player_GetPlayerProfileByJwt, 8);\n\n/**\n * @generated from enum player.Player.PlayerType\n */\nexport enum Player_PlayerType {\n /**\n * @generated from enum value: PLAYER_TYPE_UNSPECIFIED = 0;\n */\n UNSPECIFIED = 0,\n\n /**\n * @generated from enum value: PLAYER_TYPE_NORMAL = 1;\n */\n NORMAL = 1,\n\n /**\n * @generated from enum value: PLAYER_TYPE_GLIFE = 2;\n */\n GLIFE = 2,\n\n /**\n * @generated from enum value: PLAYER_TYPE_HOTELAPP = 3;\n */\n HOTELAPP = 3,\n\n /**\n * @generated from enum value: PLAYER_TYPE_GCASH = 4;\n */\n GCASH = 4,\n\n /**\n * @generated from enum value: PLAYER_TYPE_MAYA = 5;\n */\n MAYA = 5,\n\n /**\n * @generated from enum value: PLAYER_TYPE_TONGITSAPP = 6;\n */\n TONGITSAPP = 6,\n\n /**\n * @generated from enum value: PLAYER_TYPE_VIBER = 7;\n */\n VIBER = 7,\n\n /**\n * @generated from enum value: PLAYER_TYPE_LAZADA = 8;\n */\n LAZADA = 8,\n\n /**\n * @generated from enum value: PLAYER_TYPE_FACEBOOK = 9;\n */\n FACEBOOK = 9,\n\n /**\n * @generated from enum value: PLAYER_TYPE_TELEGRAM = 10;\n */\n TELEGRAM = 10,\n\n /**\n * @generated from enum value: PLAYER_TYPE_FACEID = 11;\n */\n FACEID = 11,\n}\n\n/**\n * Describes the enum player.Player.PlayerType.\n */\nexport const Player_PlayerTypeSchema: GenEnum<Player_PlayerType> = /*@__PURE__*/\n enumDesc(file_player_GetPlayerProfileByJwt, 8, 0);\n\n/**\n * @generated from message player.GetPlayerProfileByJwtRes\n */\nexport type GetPlayerProfileByJwtRes = Message<\"player.GetPlayerProfileByJwtRes\"> & {\n /**\n * @generated from field: common.BaseResponse base_response = 1;\n */\n baseResponse?: BaseResponse;\n\n /**\n * @generated from field: player.Player data = 2;\n */\n data?: Player;\n};\n\n/**\n * Describes the message player.GetPlayerProfileByJwtRes.\n * Use `create(GetPlayerProfileByJwtResSchema)` to create a new message.\n */\nexport const GetPlayerProfileByJwtResSchema: GenMessage<GetPlayerProfileByJwtRes> = /*@__PURE__*/\n messageDesc(file_player_GetPlayerProfileByJwt, 9);\n\n","// @generated by protoc-gen-es v2.10.2 with parameter \"target=ts\"\n// @generated from file player/UpdatePassword.proto (package player, syntax proto3)\n/* eslint-disable */\n\nimport type { GenFile, GenMessage } from \"@bufbuild/protobuf/codegenv2\";\nimport { fileDesc, messageDesc } from \"@bufbuild/protobuf/codegenv2\";\nimport type { Message } from \"@bufbuild/protobuf\";\n\n/**\n * Describes the file player/UpdatePassword.proto.\n */\nexport const file_player_UpdatePassword: GenFile = /*@__PURE__*/\n fileDesc(\"ChtwbGF5ZXIvVXBkYXRlUGFzc3dvcmQucHJvdG8SBnBsYXllciJrChFVcGRhdGVQYXNzd29yZFJlcRIUCgxvbGRfcGFzc3dvcmQYASABKAkSFAoMbmV3X3Bhc3N3b3JkGAIgASgJEhwKFGNvbmZpcm1fbmV3X3Bhc3N3b3JkGAMgASgJEgwKBGNvZGUYBCABKAliBnByb3RvMw\");\n\n/**\n * @generated from message player.UpdatePasswordReq\n */\nexport type UpdatePasswordReq = Message<\"player.UpdatePasswordReq\"> & {\n /**\n * @generated from field: string old_password = 1;\n */\n oldPassword: string;\n\n /**\n * @generated from field: string new_password = 2;\n */\n newPassword: string;\n\n /**\n * @generated from field: string confirm_new_password = 3;\n */\n confirmNewPassword: string;\n\n /**\n * @generated from field: string code = 4;\n */\n code: string;\n};\n\n/**\n * Describes the message player.UpdatePasswordReq.\n * Use `create(UpdatePasswordReqSchema)` to create a new message.\n */\nexport const UpdatePasswordReqSchema: GenMessage<UpdatePasswordReq> = /*@__PURE__*/\n messageDesc(file_player_UpdatePassword, 0);\n\n","// @generated by protoc-gen-es v2.10.2 with parameter \"target=ts\"\n// @generated from file player/GetPlayerInfoForSportsForum.proto (package player, syntax proto3)\n/* eslint-disable */\n\nimport type { GenFile, GenMessage } from \"@bufbuild/protobuf/codegenv2\";\nimport { fileDesc, messageDesc } from \"@bufbuild/protobuf/codegenv2\";\nimport type { BaseResponse } from \"../common/Common_pb\";\nimport { file_common_Common } from \"../common/Common_pb\";\nimport type { Message } from \"@bufbuild/protobuf\";\n\n/**\n * Describes the file player/GetPlayerInfoForSportsForum.proto.\n */\nexport const file_player_GetPlayerInfoForSportsForum: GenFile = /*@__PURE__*/\n fileDesc(\"CihwbGF5ZXIvR2V0UGxheWVySW5mb0ZvclNwb3J0c0ZvcnVtLnByb3RvEgZwbGF5ZXIigwIKHkdldFBsYXllckluZm9Gb3JTcG9ydHNGb3J1bVJlcxIrCg1iYXNlX3Jlc3BvbnNlGAEgASgLMhQuY29tbW9uLkJhc2VSZXNwb25zZRI5CgRkYXRhGAIgASgLMisucGxheWVyLkdldFBsYXllckluZm9Gb3JTcG9ydHNGb3J1bVJlcy5EYXRhGnkKBERhdGESEQoJcGxheWVyX2lkGAEgASgJEhEKCW5pY2tfbmFtZRgCIAEoCRITCgtwcm9maWxlX3BpYxgDIAEoCRINCgVsZXZlbBgEIAEoCRITCgtwbGF5ZXJfbmFtZRgFIAEoCRISCgpmaXJzdF9uYW1lGAYgASgJYgZwcm90bzM\", [file_common_Common]);\n\n/**\n * @generated from message player.GetPlayerInfoForSportsForumRes\n */\nexport type GetPlayerInfoForSportsForumRes = Message<\"player.GetPlayerInfoForSportsForumRes\"> & {\n /**\n * @generated from field: common.BaseResponse base_response = 1;\n */\n baseResponse?: BaseResponse;\n\n /**\n * @generated from field: player.GetPlayerInfoForSportsForumRes.Data data = 2;\n */\n data?: GetPlayerInfoForSportsForumRes_Data;\n};\n\n/**\n * Describes the message player.GetPlayerInfoForSportsForumRes.\n * Use `create(GetPlayerInfoForSportsForumResSchema)` to create a new message.\n */\nexport const GetPlayerInfoForSportsForumResSchema: GenMessage<GetPlayerInfoForSportsForumRes> = /*@__PURE__*/\n messageDesc(file_player_GetPlayerInfoForSportsForum, 0);\n\n/**\n * @generated from message player.GetPlayerInfoForSportsForumRes.Data\n */\nexport type GetPlayerInfoForSportsForumRes_Data = Message<\"player.GetPlayerInfoForSportsForumRes.Data\"> & {\n /**\n * @generated from field: string player_id = 1;\n */\n playerId: string;\n\n /**\n * @generated from field: string nick_name = 2;\n */\n nickName: string;\n\n /**\n * @generated from field: string profile_pic = 3;\n */\n profilePic: string;\n\n /**\n * @generated from field: string level = 4;\n */\n level: string;\n\n /**\n * @generated from field: string player_name = 5;\n */\n playerName: string;\n\n /**\n * @generated from field: string first_name = 6;\n */\n firstName: string;\n};\n\n/**\n * Describes the message player.GetPlayerInfoForSportsForumRes.Data.\n * Use `create(GetPlayerInfoForSportsForumRes_DataSchema)` to create a new message.\n */\nexport const GetPlayerInfoForSportsForumRes_DataSchema: GenMessage<GetPlayerInfoForSportsForumRes_Data> = /*@__PURE__*/\n messageDesc(file_player_GetPlayerInfoForSportsForum, 0, 0);\n\n","// @generated by protoc-gen-es v2.10.2 with parameter \"target=ts\"\n// @generated from file player/GetWithdrawalInfo.proto (package player, syntax proto3)\n/* eslint-disable */\n\nimport type { GenFile, GenMessage } from \"@bufbuild/protobuf/codegenv2\";\nimport { fileDesc, messageDesc } from \"@bufbuild/protobuf/codegenv2\";\nimport type { BaseResponse } from \"../common/Common_pb\";\nimport { file_common_Common } from \"../common/Common_pb\";\nimport type { Message } from \"@bufbuild/protobuf\";\n\n/**\n * Describes the file player/GetWithdrawalInfo.proto.\n */\nexport const file_player_GetWithdrawalInfo: GenFile = /*@__PURE__*/\n fileDesc(\"Ch5wbGF5ZXIvR2V0V2l0aGRyYXdhbEluZm8ucHJvdG8SBnBsYXllciKrAgoUR2V0V2l0aGRyYXdhbEluZm9SZXMSKwoNYmFzZV9yZXNwb25zZRgBIAEoCzIULmNvbW1vbi5CYXNlUmVzcG9uc2USLwoEZGF0YRgCIAEoCzIhLnBsYXllci5HZXRXaXRoZHJhd2FsSW5mb1Jlcy5EYXRhGrQBCgREYXRhEiEKFGFsbG93X290aGVyX3dpdGhkcmF3GAEgASgISACIAQESIwoWY2FuX2JpbmRfbXVsdGlwbGVfYmFuaxgCIAEoCEgBiAEBEhwKD2JpbmRfYmFua19jb3VudBgDIAEoBUgCiAEBQhcKFV9hbGxvd19vdGhlcl93aXRoZHJhd0IZChdfY2FuX2JpbmRfbXVsdGlwbGVfYmFua0ISChBfYmluZF9iYW5rX2NvdW50YgZwcm90bzM\", [file_common_Common]);\n\n/**\n * @generated from message player.GetWithdrawalInfoRes\n */\nexport type GetWithdrawalInfoRes = Message<\"player.GetWithdrawalInfoRes\"> & {\n /**\n * @generated from field: common.BaseResponse base_response = 1;\n */\n baseResponse?: BaseResponse;\n\n /**\n * @generated from field: player.GetWithdrawalInfoRes.Data data = 2;\n */\n data?: GetWithdrawalInfoRes_Data;\n};\n\n/**\n * Describes the message player.GetWithdrawalInfoRes.\n * Use `create(GetWithdrawalInfoResSchema)` to create a new message.\n */\nexport const GetWithdrawalInfoResSchema: GenMessage<GetWithdrawalInfoRes> = /*@__PURE__*/\n messageDesc(file_player_GetWithdrawalInfo, 0);\n\n/**\n * @generated from message player.GetWithdrawalInfoRes.Data\n */\nexport type GetWithdrawalInfoRes_Data = Message<\"player.GetWithdrawalInfoRes.Data\"> & {\n /**\n * @generated from field: optional bool allow_other_withdraw = 1;\n */\n allowOtherWithdraw?: boolean;\n\n /**\n * @generated from field: optional bool can_bind_multiple_bank = 2;\n */\n canBindMultipleBank?: boolean;\n\n /**\n * @generated from field: optional int32 bind_bank_count = 3;\n */\n bindBankCount?: number;\n};\n\n/**\n * Describes the message player.GetWithdrawalInfoRes.Data.\n * Use `create(GetWithdrawalInfoRes_DataSchema)` to create a new message.\n */\nexport const GetWithdrawalInfoRes_DataSchema: GenMessage<GetWithdrawalInfoRes_Data> = /*@__PURE__*/\n messageDesc(file_player_GetWithdrawalInfo, 0, 0);\n\n","// @generated by protoc-gen-es v2.10.2 with parameter \"target=ts\"\n// @generated from file player/GetDepositInfo.proto (package player, syntax proto3)\n/* eslint-disable */\n\nimport type { GenFile, GenMessage } from \"@bufbuild/protobuf/codegenv2\";\nimport { fileDesc, messageDesc } from \"@bufbuild/protobuf/codegenv2\";\nimport type { BaseResponse } from \"../common/Common_pb\";\nimport { file_common_Common } from \"../common/Common_pb\";\nimport type { Message } from \"@bufbuild/protobuf\";\n\n/**\n * Describes the file player/GetDepositInfo.proto.\n */\nexport const file_player_GetDepositInfo: GenFile = /*@__PURE__*/\n fileDesc(\"ChtwbGF5ZXIvR2V0RGVwb3NpdEluZm8ucHJvdG8SBnBsYXllciLfAgoRR2V0RGVwb3NpdEluZm9SZXMSKwoNYmFzZV9yZXNwb25zZRgBIAEoCzIULmNvbW1vbi5CYXNlUmVzcG9uc2USLAoEZGF0YRgCIAEoCzIeLnBsYXllci5HZXREZXBvc2l0SW5mb1Jlcy5EYXRhGu4BCgREYXRhElEKFWxhc3RfZGVwb3NpdF9wcm9wb3NhbBgBIAEoCzIyLnBsYXllci5HZXREZXBvc2l0SW5mb1Jlcy5EYXRhLkxhc3REZXBvc2l0UHJvcG9zYWwSGwoTYWxsb3dfb3RoZXJfZGVwb3NpdBgCIAEoCBp2ChNMYXN0RGVwb3NpdFByb3Bvc2FsEh4KEXNraXBfcGF5bWVudF9jZXJ0GAEgASgISACIAQESFAoMcGF5bWVudF9jZXJ0GAIgAygJEhMKC2NyZWF0ZV90aW1lGAMgASgJQhQKEl9za2lwX3BheW1lbnRfY2VydGIGcHJvdG8z\", [file_common_Common]);\n\n/**\n * @generated from message player.GetDepositInfoRes\n */\nexport type GetDepositInfoRes = Message<\"player.GetDepositInfoRes\"> & {\n /**\n * @generated from field: common.BaseResponse base_response = 1;\n */\n baseResponse?: BaseResponse;\n\n /**\n * @generated from field: player.GetDepositInfoRes.Data data = 2;\n */\n data?: GetDepositInfoRes_Data;\n};\n\n/**\n * Describes the message player.GetDepositInfoRes.\n * Use `create(GetDepositInfoResSchema)` to create a new message.\n */\nexport const GetDepositInfoResSchema: GenMessage<GetDepositInfoRes> = /*@__PURE__*/\n messageDesc(file_player_GetDepositInfo, 0);\n\n/**\n * @generated from message player.GetDepositInfoRes.Data\n */\nexport type GetDepositInfoRes_Data = Message<\"player.GetDepositInfoRes.Data\"> & {\n /**\n * @generated from field: player.GetDepositInfoRes.Data.LastDepositProposal last_deposit_proposal = 1;\n */\n lastDepositProposal?: GetDepositInfoRes_Data_LastDepositProposal;\n\n /**\n * @generated from field: bool allow_other_deposit = 2;\n */\n allowOtherDeposit: boolean;\n};\n\n/**\n * Describes the message player.GetDepositInfoRes.Data.\n * Use `create(GetDepositInfoRes_DataSchema)` to create a new message.\n */\nexport const GetDepositInfoRes_DataSchema: GenMessage<GetDepositInfoRes_Data> = /*@__PURE__*/\n messageDesc(file_player_GetDepositInfo, 0, 0);\n\n/**\n * @generated from message player.GetDepositInfoRes.Data.LastDepositProposal\n */\nexport type GetDepositInfoRes_Data_LastDepositProposal = Message<\"player.GetDepositInfoRes.Data.LastDepositProposal\"> & {\n /**\n * @generated from field: optional bool skip_payment_cert = 1;\n */\n skipPaymentCert?: boolean;\n\n /**\n * @generated from field: repeated string payment_cert = 2;\n */\n paymentCert: string[];\n\n /**\n * @generated from field: string create_time = 3;\n */\n createTime: string;\n};\n\n/**\n * Describes the message player.GetDepositInfoRes.Data.LastDepositProposal.\n * Use `create(GetDepositInfoRes_Data_LastDepositProposalSchema)` to create a new message.\n */\nexport const GetDepositInfoRes_Data_LastDepositProposalSchema: GenMessage<GetDepositInfoRes_Data_LastDepositProposal> = /*@__PURE__*/\n messageDesc(file_player_GetDepositInfo, 0, 0, 0);\n\n","// @generated by protoc-gen-es v2.10.2 with parameter \"target=ts\"\n// @generated from file player/GetAccountCombineInfo.proto (package player, syntax proto3)\n/* eslint-disable */\n\nimport type { GenFile, GenMessage } from \"@bufbuild/protobuf/codegenv2\";\nimport { fileDesc, messageDesc } from \"@bufbuild/protobuf/codegenv2\";\nimport type { BaseResponse } from \"../common/Common_pb\";\nimport { file_common_Common } from \"../common/Common_pb\";\nimport type { BigDecimal, MergeStatus } from \"./PlayerCommon_pb\";\nimport { file_player_PlayerCommon } from \"./PlayerCommon_pb\";\nimport type { Message } from \"@bufbuild/protobuf\";\n\n/**\n * Describes the file player/GetAccountCombineInfo.proto.\n */\nexport const file_player_GetAccountCombineInfo: GenFile = /*@__PURE__*/\n fileDesc(\"CiJwbGF5ZXIvR2V0QWNjb3VudENvbWJpbmVJbmZvLnByb3RvEgZwbGF5ZXIikwYKGEdldEFjY291bnRDb21iaW5lSW5mb1JlcxIrCg1iYXNlX3Jlc3BvbnNlGAEgASgLMhQuY29tbW9uLkJhc2VSZXNwb25zZRIzCgRkYXRhGAIgASgLMiUucGxheWVyLkdldEFjY291bnRDb21iaW5lSW5mb1Jlcy5EYXRhGp8BCglNZXJnZURhdGESGAoQdGFyZ2V0X3BsYXllcl9pZBgBIAEoCRIRCglpZF9zdGF0dXMYAiABKAUSEwoLbGV2ZWxfdmFsdWUYAyABKAUSKAoMdmFsaWRfY3JlZGl0GAQgASgLMhIucGxheWVyLkJpZ0RlY2ltYWwSJgoKbHVja3lfY29pbhgFIAEoCzISLnBsYXllci5CaWdEZWNpbWFsGvIDCgREYXRhEhEKCWNhbl9tZXJnZRgBIAEoCBIZChFpc19sb2dpbl93aXRoX3NNUxgCIAEoCBIeChZpc19wbGF5ZXJfdmVyaWZpZWRfb3RwGAMgASgIEikKDG1lcmdlX3N0YXR1cxgEIAEoDjITLnBsYXllci5NZXJnZVN0YXR1cxIoCiBpc19tZXJnZV9hY2NvdW50X2VuZm9yY2VkX3BlcmlvZBgFIAEoCBKBAQopbWVyZ2VfYWNjb3VudF9wcm9wb3NhbF9jb3VudF9ieV9wbGF5ZXJfaWQYBiADKAsyTi5wbGF5ZXIuR2V0QWNjb3VudENvbWJpbmVJbmZvUmVzLkRhdGEuTWVyZ2VBY2NvdW50UHJvcG9zYWxDb3VudEJ5UGxheWVySWRFbnRyeRI+CgptZXJnZV9kYXRhGAcgASgLMioucGxheWVyLkdldEFjY291bnRDb21iaW5lSW5mb1Jlcy5NZXJnZURhdGESDwoHaXNfcmVhZBgIIAEoCBImCh5pc19vbmdvaW5nX21lcmdlX2FjY291bnRfZXZlbnQYCSABKAgaSgooTWVyZ2VBY2NvdW50UHJvcG9zYWxDb3VudEJ5UGxheWVySWRFbnRyeRILCgNrZXkYASABKAkSDQoFdmFsdWUYAiABKAU6AjgBYgZwcm90bzM\", [file_common_Common, file_player_PlayerCommon]);\n\n/**\n * @generated from message player.GetAccountCombineInfoRes\n */\nexport type GetAccountCombineInfoRes = Message<\"player.GetAccountCombineInfoRes\"> & {\n /**\n * @generated from field: common.BaseResponse base_response = 1;\n */\n baseResponse?: BaseResponse;\n\n /**\n * @generated from field: player.GetAccountCombineInfoRes.Data data = 2;\n */\n data?: GetAccountCombineInfoRes_Data;\n};\n\n/**\n * Describes the message player.GetAccountCombineInfoRes.\n * Use `create(GetAccountCombineInfoResSchema)` to create a new message.\n */\nexport const GetAccountCombineInfoResSchema: GenMessage<GetAccountCombineInfoRes> = /*@__PURE__*/\n messageDesc(file_player_GetAccountCombineInfo, 0);\n\n/**\n * @generated from message player.GetAccountCombineInfoRes.MergeData\n */\nexport type GetAccountCombineInfoRes_MergeData = Message<\"player.GetAccountCombineInfoRes.MergeData\"> & {\n /**\n * @generated from field: string target_player_id = 1;\n */\n targetPlayerId: string;\n\n /**\n * @generated from field: int32 id_status = 2;\n */\n idStatus: number;\n\n /**\n * @generated from field: int32 level_value = 3;\n */\n levelValue: number;\n\n /**\n * @generated from field: player.BigDecimal valid_credit = 4;\n */\n validCredit?: BigDecimal;\n\n /**\n * @generated from field: player.BigDecimal lucky_coin = 5;\n */\n luckyCoin?: BigDecimal;\n};\n\n/**\n * Describes the message player.GetAccountCombineInfoRes.MergeData.\n * Use `create(GetAccountCombineInfoRes_MergeDataSchema)` to create a new message.\n */\nexport const GetAccountCombineInfoRes_MergeDataSchema: GenMessage<GetAccountCombineInfoRes_MergeData> = /*@__PURE__*/\n messageDesc(file_player_GetAccountCombineInfo, 0, 0);\n\n/**\n * @generated from message player.GetAccountCombineInfoRes.Data\n */\nexport type GetAccountCombineInfoRes_Data = Message<\"player.GetAccountCombineInfoRes.Data\"> & {\n /**\n * @generated from field: bool can_merge = 1;\n */\n canMerge: boolean;\n\n /**\n * @generated from field: bool is_login_with_sMS = 2;\n */\n isLoginWithSMS: boolean;\n\n /**\n * @generated from field: bool is_player_verified_otp = 3;\n */\n isPlayerVerifiedOtp: boolean;\n\n /**\n * @generated from field: player.MergeStatus merge_status = 4;\n */\n mergeStatus: MergeStatus;\n\n /**\n * @generated from field: bool is_merge_account_enforced_period = 5;\n */\n isMergeAccountEnforcedPeriod: boolean;\n\n /**\n * @generated from field: map<string, int32> merge_account_proposal_count_by_player_id = 6;\n */\n mergeAccountProposalCountByPlayerId: { [key: string]: number };\n\n /**\n * @generated from field: player.GetAccountCombineInfoRes.MergeData merge_data = 7;\n */\n mergeData?: GetAccountCombineInfoRes_MergeData;\n\n /**\n * @generated from field: bool is_read = 8;\n */\n isRead: boolean;\n\n /**\n * @generated from field: bool is_ongoing_merge_account_event = 9;\n */\n isOngoingMergeAccountEvent: boolean;\n};\n\n/**\n * Describes the message player.GetAccountCombineInfoRes.Data.\n * Use `create(GetAccountCombineInfoRes_DataSchema)` to create a new message.\n */\nexport const GetAccountCombineInfoRes_DataSchema: GenMessage<GetAccountCombineInfoRes_Data> = /*@__PURE__*/\n messageDesc(file_player_GetAccountCombineInfo, 0, 1);\n\n","// @generated by protoc-gen-es v2.10.2 with parameter \"target=ts\"\n// @generated from file player/GetViberStatus.proto (package player, syntax proto3)\n/* eslint-disable */\n\nimport type { GenFile, GenMessage } from \"@bufbuild/protobuf/codegenv2\";\nimport { fileDesc, messageDesc } from \"@bufbuild/protobuf/codegenv2\";\nimport type { BaseResponse } from \"../common/Common_pb\";\nimport { file_common_Common } from \"../common/Common_pb\";\nimport type { Message } from \"@bufbuild/protobuf\";\n\n/**\n * Describes the file player/GetViberStatus.proto.\n */\nexport const file_player_GetViberStatus: GenFile = /*@__PURE__*/\n fileDesc(\"ChtwbGF5ZXIvR2V0VmliZXJTdGF0dXMucHJvdG8SBnBsYXllciI3ChFHZXRWaWJlclN0YXR1c1JlcRINCgVwaG9uZRgBIAEoCRITCgtwbGF0Zm9ybV9pZBgCIAEoCSKuAQoRR2V0VmliZXJTdGF0dXNSZXMSKwoNYmFzZV9yZXNwb25zZRgBIAEoCzIULmNvbW1vbi5CYXNlUmVzcG9uc2USLAoEZGF0YRgCIAEoCzIeLnBsYXllci5HZXRWaWJlclN0YXR1c1Jlcy5EYXRhGj4KBERhdGESHQoVY2FuX3JlY2VpdmVfdmliZXJfbXNnGAEgASgIEhcKD2xvZ2dlZF9ieV92aWJlchgCIAEoCGIGcHJvdG8z\", [file_common_Common]);\n\n/**\n * @generated from message player.GetViberStatusReq\n */\nexport type GetViberStatusReq = Message<\"player.GetViberStatusReq\"> & {\n /**\n * @generated from field: string phone = 1;\n */\n phone: string;\n\n /**\n * @generated from field: string platform_id = 2;\n */\n platformId: string;\n};\n\n/**\n * Describes the message player.GetViberStatusReq.\n * Use `create(GetViberStatusReqSchema)` to create a new message.\n */\nexport const GetViberStatusReqSchema: GenMessage<GetViberStatusReq> = /*@__PURE__*/\n messageDesc(file_player_GetViberStatus, 0);\n\n/**\n * @generated from message player.GetViberStatusRes\n */\nexport type GetViberStatusRes = Message<\"player.GetViberStatusRes\"> & {\n /**\n * @generated from field: common.BaseResponse base_response = 1;\n */\n baseResponse?: BaseResponse;\n\n /**\n * @generated from field: player.GetViberStatusRes.Data data = 2;\n */\n data?: GetViberStatusRes_Data;\n};\n\n/**\n * Describes the message player.GetViberStatusRes.\n * Use `create(GetViberStatusResSchema)` to create a new message.\n */\nexport const GetViberStatusResSchema: GenMessage<GetViberStatusRes> = /*@__PURE__*/\n messageDesc(file_player_GetViberStatus, 1);\n\n/**\n * @generated from message player.GetViberStatusRes.Data\n */\nexport type GetViberStatusRes_Data = Message<\"player.GetViberStatusRes.Data\"> & {\n /**\n * @generated from field: bool can_receive_viber_msg = 1;\n */\n canReceiveViberMsg: boolean;\n\n /**\n * @generated from field: bool logged_by_viber = 2;\n */\n loggedByViber: boolean;\n};\n\n/**\n * Describes the message player.GetViberStatusRes.Data.\n * Use `create(GetViberStatusRes_DataSchema)` to create a new message.\n */\nexport const GetViberStatusRes_DataSchema: GenMessage<GetViberStatusRes_Data> = /*@__PURE__*/\n messageDesc(file_player_GetViberStatus, 1, 0);\n\n","// @generated by protoc-gen-es v2.10.2 with parameter \"target=ts\"\n// @generated from file player/UpdateAdditionalInfo.proto (package player, syntax proto3)\n/* eslint-disable */\n\nimport type { GenFile, GenMessage } from \"@bufbuild/protobuf/codegenv2\";\nimport { fileDesc, messageDesc } from \"@bufbuild/protobuf/codegenv2\";\nimport type { PlayerPhotoIdType } from \"../common/CommonEnums_pb\";\nimport { file_common_CommonEnums } from \"../common/CommonEnums_pb\";\nimport type { Message } from \"@bufbuild/protobuf\";\n\n/**\n * Describes the file player/UpdateAdditionalInfo.proto.\n */\nexport const file_player_UpdateAdditionalInfo: GenFile = /*@__PURE__*/\n fileDesc(\"CiFwbGF5ZXIvVXBkYXRlQWRkaXRpb25hbEluZm8ucHJvdG8SBnBsYXllciLLBAoXVXBkYXRlQWRkaXRpb25hbEluZm9SZXESEQoJcmVhbF9uYW1lGAEgASgJEhMKC25hdGlvbmFsaXR5GAIgASgJEhYKDnBsYWNlX29mX2JpcnRoGAMgASgJEgsKA2RvYhgEIAEoCRIWCg5uYXR1cmVfb2Zfd29yaxgFIAEoCRIXCg9zb3VyY2Vfb2ZfZnVuZHMYBiABKAkSEAoIcGhvdG9faWQYByABKAkSMAoNcGhvdG9faWRfdHlwZRgIIAEoDjIZLmNvbW1vbi5QbGF5ZXJQaG90b0lkVHlwZRIUCgx2ZXJpZnlfcGhvdG8YCSABKAkSGQoRZmFjZV92ZXJpZmljYXRpb24YCiABKAkSFgoOaWRfY2FyZF9udW1iZXIYCyABKAkSFgoObWVtYmVyX2NhcmRfaWQYDCABKAkSDwoHYWRkcmVzcxgNIAEoCRIXCg9jdXJyZW50X2FkZHJlc3MYDiABKAkSEwoLZGV2aWNlX3R5cGUYDyABKAUSEAoIbmlja25hbWUYECABKAkSEAoIYmFyYW5nYXkYESABKAkSEAoIcHJvdmluY2UYEiABKAkSDAoEY2l0eRgTIAEoCRIQCghwb3N0Y29kZRgUIAEoCRIVCg1wbGF5ZXJfYXZhdGFyGBUgASgJEhcKD2lzX3ZlcmlmeV9waG90bxgWIAEoCBITCgtpc19reWNfaW5mbxgXIAEoCBIQCghkb2NfdHlwZRgYIAEoCRIOCgZiaXpfaWQYGSABKAkSEQoJY2VydF9uYW1lGBogASgJYgZwcm90bzM\", [file_common_CommonEnums]);\n\n/**\n * @generated from message player.UpdateAdditionalInfoReq\n */\nexport type UpdateAdditionalInfoReq = Message<\"player.UpdateAdditionalInfoReq\"> & {\n /**\n * @generated from field: string real_name = 1;\n */\n realName: string;\n\n /**\n * @generated from field: string nationality = 2;\n */\n nationality: string;\n\n /**\n * @generated from field: string place_of_birth = 3;\n */\n placeOfBirth: string;\n\n /**\n * @generated from field: string dob = 4;\n */\n dob: string;\n\n /**\n * @generated from field: string nature_of_work = 5;\n */\n natureOfWork: string;\n\n /**\n * @generated from field: string source_of_funds = 6;\n */\n sourceOfFunds: string;\n\n /**\n * @generated from field: string photo_id = 7;\n */\n photoId: string;\n\n /**\n * @generated from field: common.PlayerPhotoIdType photo_id_type = 8;\n */\n photoIdType: PlayerPhotoIdType;\n\n /**\n * @generated from field: string verify_photo = 9;\n */\n verifyPhoto: string;\n\n /**\n * @generated from field: string face_verification = 10;\n */\n faceVerification: string;\n\n /**\n * @generated from field: string id_card_number = 11;\n */\n idCardNumber: string;\n\n /**\n * @generated from field: string member_card_id = 12;\n */\n memberCardId: string;\n\n /**\n * @generated from field: string address = 13;\n */\n address: string;\n\n /**\n * @generated from field: string current_address = 14;\n */\n currentAddress: string;\n\n /**\n * @generated from field: int32 device_type = 15;\n */\n deviceType: number;\n\n /**\n * @generated from field: string nickname = 16;\n */\n nickname: string;\n\n /**\n * @generated from field: string barangay = 17;\n */\n barangay: string;\n\n /**\n * @generated from field: string province = 18;\n */\n province: string;\n\n /**\n * @generated from field: string city = 19;\n */\n city: string;\n\n /**\n * @generated from field: string postcode = 20;\n */\n postcode: string;\n\n /**\n * @generated from field: string player_avatar = 21;\n */\n playerAvatar: string;\n\n /**\n * @generated from field: bool is_verify_photo = 22;\n */\n isVerifyPhoto: boolean;\n\n /**\n * @generated from field: bool is_kyc_info = 23;\n */\n isKycInfo: boolean;\n\n /**\n * @generated from field: string doc_type = 24;\n */\n docType: string;\n\n /**\n * @generated from field: string biz_id = 25;\n */\n bizId: string;\n\n /**\n * @generated from field: string cert_name = 26;\n */\n certName: string;\n};\n\n/**\n * Describes the message player.UpdateAdditionalInfoReq.\n * Use `create(UpdateAdditionalInfoReqSchema)` to create a new message.\n */\nexport const UpdateAdditionalInfoReqSchema: GenMessage<UpdateAdditionalInfoReq> = /*@__PURE__*/\n messageDesc(file_player_UpdateAdditionalInfo, 0);\n\n","// @generated by protoc-gen-es v2.10.2 with parameter \"target=ts\"\n// @generated from file player/FrontendZolozService.proto (package player, syntax proto3)\n/* eslint-disable */\n\nimport type { GenFile, GenService } from \"@bufbuild/protobuf/codegenv2\";\nimport { fileDesc, serviceDesc } from \"@bufbuild/protobuf/codegenv2\";\nimport type { GetKycParamsConfigReqSchema, GetKycParamsConfigResSchema } from \"./GetKycParamsConfig_pb\";\nimport { file_player_GetKycParamsConfig } from \"./GetKycParamsConfig_pb\";\nimport type { EkycInitReqSchema, EkycInitResSchema } from \"./EkycInit_pb\";\nimport { file_player_EkycInit } from \"./EkycInit_pb\";\nimport type { EkycResultReqSchema, EkycResultResSchema } from \"./EkycResult_pb\";\nimport { file_player_EkycResult } from \"./EkycResult_pb\";\n\n/**\n * Describes the file player/FrontendZolozService.proto.\n */\nexport const file_player_FrontendZolozService: GenFile = /*@__PURE__*/\n fileDesc(\"CiFwbGF5ZXIvRnJvbnRlbmRab2xvelNlcnZpY2UucHJvdG8SBnBsYXllcjLcAQoURnJvbnRlbmRab2xvelNlcnZpY2USUgoSR2V0S3ljUGFyYW1zQ29uZmlnEh0ucGxheWVyLkdldEt5Y1BhcmFtc0NvbmZpZ1JlcRodLnBsYXllci5HZXRLeWNQYXJhbXNDb25maWdSZXMSNAoIRWt5Y0luaXQSEy5wbGF5ZXIuRWt5Y0luaXRSZXEaEy5wbGF5ZXIuRWt5Y0luaXRSZXMSOgoKRWt5Y1Jlc3VsdBIVLnBsYXllci5Fa3ljUmVzdWx0UmVxGhUucGxheWVyLkVreWNSZXN1bHRSZXNiBnByb3RvMw\", [file_player_GetKycParamsConfig, file_player_EkycInit, file_player_EkycResult]);\n\n/**\n * @generated from service player.FrontendZolozService\n */\nexport const FrontendZolozService: GenService<{\n /**\n * @generated from rpc player.FrontendZolozService.GetKycParamsConfig\n */\n getKycParamsConfig: {\n methodKind: \"unary\";\n input: typeof GetKycParamsConfigReqSchema;\n output: typeof GetKycParamsConfigResSchema;\n },\n /**\n * @generated from rpc player.FrontendZolozService.EkycInit\n */\n ekycInit: {\n methodKind: \"unary\";\n input: typeof EkycInitReqSchema;\n output: typeof EkycInitResSchema;\n },\n /**\n * @generated from rpc player.FrontendZolozService.EkycResult\n */\n ekycResult: {\n methodKind: \"unary\";\n input: typeof EkycResultReqSchema;\n output: typeof EkycResultResSchema;\n },\n}> = /*@__PURE__*/\n serviceDesc(file_player_FrontendZolozService, 0);\n\n","// @generated by protoc-gen-es v2.10.2 with parameter \"target=ts\"\n// @generated from file player/GetKycParamsConfig.proto (package player, syntax proto3)\n/* eslint-disable */\n\nimport type { GenFile, GenMessage } from \"@bufbuild/protobuf/codegenv2\";\nimport { fileDesc, messageDesc } from \"@bufbuild/protobuf/codegenv2\";\nimport type { BaseResponse } from \"../common/Common_pb\";\nimport { file_common_Common } from \"../common/Common_pb\";\nimport type { Message } from \"@bufbuild/protobuf\";\n\n/**\n * Describes the file player/GetKycParamsConfig.proto.\n */\nexport const file_player_GetKycParamsConfig: GenFile = /*@__PURE__*/\n fileDesc(\"Ch9wbGF5ZXIvR2V0S3ljUGFyYW1zQ29uZmlnLnByb3RvEgZwbGF5ZXIiLAoVR2V0S3ljUGFyYW1zQ29uZmlnUmVxEhMKC3BsYXRmb3JtX2lkGAEgASgJIqEDChVHZXRLeWNQYXJhbXNDb25maWdSZXMSKwoNYmFzZV9yZXNwb25zZRgBIAEoCzIULmNvbW1vbi5CYXNlUmVzcG9uc2USMAoEZGF0YRgCIAEoCzIiLnBsYXllci5HZXRLeWNQYXJhbXNDb25maWdSZXMuRGF0YRpTCgxEb2N1bWVudFR5cGUSDwoHY291bnRyeRgBIAEoCRIPCgdpZF9jb2RlGAIgASgJEhIKCmlkX3B1cnBvc2UYAyABKAkSDQoFcGFnZXMYBCABKAUaMgoNT3BlcmF0aW9uTW9kZRIMCgRuYW1lGAEgASgJEhMKC2Rlc2NyaXB0aW9uGAIgASgJGp8BCgREYXRhEg8KB2NvdW50cnkYASADKAkSQQoNZG9jdW1lbnRfdHlwZRgCIAMoCzIqLnBsYXllci5HZXRLeWNQYXJhbXNDb25maWdSZXMuRG9jdW1lbnRUeXBlEkMKDm9wZXJhdGlvbl9tb2RlGAMgAygLMisucGxheWVyLkdldEt5Y1BhcmFtc0NvbmZpZ1Jlcy5PcGVyYXRpb25Nb2RlYgZwcm90bzM\", [file_common_Common]);\n\n/**\n * @generated from message player.GetKycParamsConfigReq\n */\nexport type GetKycParamsConfigReq = Message<\"player.GetKycParamsConfigReq\"> & {\n /**\n * @generated from field: string platform_id = 1;\n */\n platformId: string;\n};\n\n/**\n * Describes the message player.GetKycParamsConfigReq.\n * Use `create(GetKycParamsConfigReqSchema)` to create a new message.\n */\nexport const GetKycParamsConfigReqSchema: GenMessage<GetKycParamsConfigReq> = /*@__PURE__*/\n messageDesc(file_player_GetKycParamsConfig, 0);\n\n/**\n * @generated from message player.GetKycParamsConfigRes\n */\nexport type GetKycParamsConfigRes = Message<\"player.GetKycParamsConfigRes\"> & {\n /**\n * @generated from field: common.BaseResponse base_response = 1;\n */\n baseResponse?: BaseResponse;\n\n /**\n * @generated from field: player.GetKycParamsConfigRes.Data data = 2;\n */\n data?: GetKycParamsConfigRes_Data;\n};\n\n/**\n * Describes the message player.GetKycParamsConfigRes.\n * Use `create(GetKycParamsConfigResSchema)` to create a new message.\n */\nexport const GetKycParamsConfigResSchema: GenMessage<GetKycParamsConfigRes> = /*@__PURE__*/\n messageDesc(file_player_GetKycParamsConfig, 1);\n\n/**\n * @generated from message player.GetKycParamsConfigRes.DocumentType\n */\nexport type GetKycParamsConfigRes_DocumentType = Message<\"player.GetKycParamsConfigRes.DocumentType\"> & {\n /**\n * @generated from field: string country = 1;\n */\n country: string;\n\n /**\n * @generated from field: string id_code = 2;\n */\n idCode: string;\n\n /**\n * @generated from field: string id_purpose = 3;\n */\n idPurpose: string;\n\n /**\n * @generated from field: int32 pages = 4;\n */\n pages: number;\n};\n\n/**\n * Describes the message player.GetKycParamsConfigRes.DocumentType.\n * Use `create(GetKycParamsConfigRes_DocumentTypeSchema)` to create a new message.\n */\nexport const GetKycParamsConfigRes_DocumentTypeSchema: GenMessage<GetKycParamsConfigRes_DocumentType> = /*@__PURE__*/\n messageDesc(file_player_GetKycParamsConfig, 1, 0);\n\n/**\n * @generated from message player.GetKycParamsConfigRes.OperationMode\n */\nexport type GetKycParamsConfigRes_OperationMode = Message<\"player.GetKycParamsConfigRes.OperationMode\"> & {\n /**\n * @generated from field: string name = 1;\n */\n name: string;\n\n /**\n * @generated from field: string description = 2;\n */\n description: string;\n};\n\n/**\n * Describes the message player.GetKycParamsConfigRes.OperationMode.\n * Use `create(GetKycParamsConfigRes_OperationModeSchema)` to create a new message.\n */\nexport const GetKycParamsConfigRes_OperationModeSchema: GenMessage<GetKycParamsConfigRes_OperationMode> = /*@__PURE__*/\n messageDesc(file_player_GetKycParamsConfig, 1, 1);\n\n/**\n * @generated from message player.GetKycParamsConfigRes.Data\n */\nexport type GetKycParamsConfigRes_Data = Message<\"player.GetKycParamsConfigRes.Data\"> & {\n /**\n * @generated from field: repeated string country = 1;\n */\n country: string[];\n\n /**\n * @generated from field: repeated player.GetKycParamsConfigRes.DocumentType document_type = 2;\n */\n documentType: GetKycParamsConfigRes_DocumentType[];\n\n /**\n * @generated from field: repeated player.GetKycParamsConfigRes.OperationMode operation_mode = 3;\n */\n operationMode: GetKycParamsConfigRes_OperationMode[];\n};\n\n/**\n * Describes the message player.GetKycParamsConfigRes.Data.\n * Use `create(GetKycParamsConfigRes_DataSchema)` to create a new message.\n */\nexport const GetKycParamsConfigRes_DataSchema: GenMessage<GetKycParamsConfigRes_Data> = /*@__PURE__*/\n messageDesc(file_player_GetKycParamsConfig, 1, 2);\n\n","// @generated by protoc-gen-es v2.10.2 with parameter \"target=ts\"\n// @generated from file player/EkycInit.proto (package player, syntax proto3)\n/* eslint-disable */\n\nimport type { GenFile, GenMessage } from \"@bufbuild/protobuf/codegenv2\";\nimport { fileDesc, messageDesc } from \"@bufbuild/protobuf/codegenv2\";\nimport type { BaseResponse } from \"../common/Common_pb\";\nimport { file_common_Common } from \"../common/Common_pb\";\nimport type { Message } from \"@bufbuild/protobuf\";\n\n/**\n * Describes the file player/EkycInit.proto.\n */\nexport const file_player_EkycInit: GenFile = /*@__PURE__*/\n fileDesc(\"ChVwbGF5ZXIvRWt5Y0luaXQucHJvdG8SBnBsYXllciKGAwoLRWt5Y0luaXRSZXESEAoIZG9jX3R5cGUYASABKAkSEQoJcGxheWVyX2lkGAIgASgJEgwKBHR5cGUYAyABKAkSEQoJbWV0YV9pbmZvGAQgASgJEj0KDmg1X21vZGVfY29uZmlnGAUgAygLMiUucGxheWVyLkVreWNJbml0UmVxLkg1TW9kZUNvbmZpZ0VudHJ5EhUKDW1ldGFfaW5mb19hcHAYBiABKAkSDQoFcGFnZXMYByABKAkSEwoLcGFnZV9jb25maWcYCCABKAkSOQoOcHJvZHVjdF9jb25maWcYCSABKAsyIS5wbGF5ZXIuRWt5Y0luaXRSZXEuUHJvZHVjdENvbmZpZxIWCg5vcGVyYXRpb25fbW9kZRgKIAEoCRozChFINU1vZGVDb25maWdFbnRyeRILCgNrZXkYASABKAkSDQoFdmFsdWUYAiABKAk6AjgBGi8KDVByb2R1Y3RDb25maWcSHgoWYWxsb3dfZXhwaXJlZF9kb2N1bWVudBgBIAEoCSKgAgoLRWt5Y0luaXRSZXMSKwoNYmFzZV9yZXNwb25zZRgBIAEoCzIULmNvbW1vbi5CYXNlUmVzcG9uc2USJgoEZGF0YRgCIAEoCzIYLnBsYXllci5Fa3ljSW5pdFJlcy5EYXRhGkwKBlJlc3VsdBIVCg1yZXN1bHRfc3RhdHVzGAEgASgJEhMKC3Jlc3VsdF9jb2RlGAIgASgJEhYKDnJlc3VsdF9tZXNzYWdlGAMgASgJGm4KBERhdGESKgoGcmVzdWx0GAEgASgLMhoucGxheWVyLkVreWNJbml0UmVzLlJlc3VsdBISCgpjbGllbnRfY2ZnGAIgASgJEhYKDnRyYW5zYWN0aW9uX2lkGAMgASgJEg4KBmJpel9pZBgEIAEoCWIGcHJvdG8z\", [file_common_Common]);\n\n/**\n * @generated from message player.EkycInitReq\n */\nexport type EkycInitReq = Message<\"player.EkycInitReq\"> & {\n /**\n * @generated from field: string doc_type = 1;\n */\n docType: string;\n\n /**\n * @generated from field: string player_id = 2;\n */\n playerId: string;\n\n /**\n * @generated from field: string type = 3;\n */\n type: string;\n\n /**\n * @generated from field: string meta_info = 4;\n */\n metaInfo: string;\n\n /**\n * @generated from field: map<string, string> h5_mode_config = 5;\n */\n h5ModeConfig: { [key: string]: string };\n\n /**\n * @generated from field: string meta_info_app = 6;\n */\n metaInfoApp: string;\n\n /**\n * @generated from field: string pages = 7;\n */\n pages: string;\n\n /**\n * @generated from field: string page_config = 8;\n */\n pageConfig: string;\n\n /**\n * @generated from field: player.EkycInitReq.ProductConfig product_config = 9;\n */\n productConfig?: EkycInitReq_ProductConfig;\n\n /**\n * @generated from field: string operation_mode = 10;\n */\n operationMode: string;\n};\n\n/**\n * Describes the message player.EkycInitReq.\n * Use `create(EkycInitReqSchema)` to create a new message.\n */\nexport const EkycInitReqSchema: GenMessage<EkycInitReq> = /*@__PURE__*/\n messageDesc(file_player_EkycInit, 0);\n\n/**\n * @generated from message player.EkycInitReq.ProductConfig\n */\nexport type EkycInitReq_ProductConfig = Message<\"player.EkycInitReq.ProductConfig\"> & {\n /**\n * @generated from field: string allow_expired_document = 1;\n */\n allowExpiredDocument: string;\n};\n\n/**\n * Describes the message player.EkycInitReq.ProductConfig.\n * Use `create(EkycInitReq_ProductConfigSchema)` to create a new message.\n */\nexport const EkycInitReq_ProductConfigSchema: GenMessage<EkycInitReq_ProductConfig> = /*@__PURE__*/\n messageDesc(file_player_EkycInit, 0, 0);\n\n/**\n * @generated from message player.EkycInitRes\n */\nexport type EkycInitRes = Message<\"player.EkycInitRes\"> & {\n /**\n * @generated from field: common.BaseResponse base_response = 1;\n */\n baseResponse?: BaseResponse;\n\n /**\n * @generated from field: player.EkycInitRes.Data data = 2;\n */\n data?: EkycInitRes_Data;\n};\n\n/**\n * Describes the message player.EkycInitRes.\n * Use `create(EkycInitResSchema)` to create a new message.\n */\nexport const EkycInitResSchema: GenMessage<EkycInitRes> = /*@__PURE__*/\n messageDesc(file_player_EkycInit, 1);\n\n/**\n * @generated from message player.EkycInitRes.Result\n */\nexport type EkycInitRes_Result = Message<\"player.EkycInitRes.Result\"> & {\n /**\n * @generated from field: string result_status = 1;\n */\n resultStatus: string;\n\n /**\n * @generated from field: string result_code = 2;\n */\n resultCode: string;\n\n /**\n * @generated from field: string result_message = 3;\n */\n resultMessage: string;\n};\n\n/**\n * Describes the message player.EkycInitRes.Result.\n * Use `create(EkycInitRes_ResultSchema)` to create a new message.\n */\nexport const EkycInitRes_ResultSchema: GenMessage<EkycInitRes_Result> = /*@__PURE__*/\n messageDesc(file_player_EkycInit, 1, 0);\n\n/**\n * @generated from message player.EkycInitRes.Data\n */\nexport type EkycInitRes_Data = Message<\"player.EkycInitRes.Data\"> & {\n /**\n * @generated from field: player.EkycInitRes.Result result = 1;\n */\n result?: EkycInitRes_Result;\n\n /**\n * @generated from field: string client_cfg = 2;\n */\n clientCfg: string;\n\n /**\n * @generated from field: string transaction_id = 3;\n */\n transactionId: string;\n\n /**\n * @generated from field: string biz_id = 4;\n */\n bizId: string;\n};\n\n/**\n * Describes the message player.EkycInitRes.Data.\n * Use `create(EkycInitRes_DataSchema)` to create a new message.\n */\nexport const EkycInitRes_DataSchema: GenMessage<EkycInitRes_Data> = /*@__PURE__*/\n messageDesc(file_player_EkycInit, 1, 1);\n\n","// @generated by protoc-gen-es v2.10.2 with parameter \"target=ts\"\n// @generated from file player/EkycResult.proto (package player, syntax proto3)\n/* eslint-disable */\n\nimport type { GenFile, GenMessage } from \"@bufbuild/protobuf/codegenv2\";\nimport { fileDesc, messageDesc } from \"@bufbuild/protobuf/codegenv2\";\nimport type { BaseResponse } from \"../common/Common_pb\";\nimport { file_common_Common } from \"../common/Common_pb\";\nimport type { Message } from \"@bufbuild/protobuf\";\n\n/**\n * Describes the file player/EkycResult.proto.\n */\nexport const file_player_EkycResult: GenFile = /*@__PURE__*/\n fileDesc(\"ChdwbGF5ZXIvRWt5Y1Jlc3VsdC5wcm90bxIGcGxheWVyIoUBCg1Fa3ljUmVzdWx0UmVxEg4KBmJpel9pZBgBIAEoCRIWCg50cmFuc2FjdGlvbl9pZBgCIAEoCRIMCgR0eXBlGAMgASgJEhcKD2lzX3JldHVybl9pbWFnZRgEIAEoCRITCgtwbGF0Zm9ybV9pZBgFIAEoCRIQCghkb2NfdHlwZRgGIAEoCSLRBgoNRWt5Y1Jlc3VsdFJlcxIrCg1iYXNlX3Jlc3BvbnNlGAEgASgLMhQuY29tbW9uLkJhc2VSZXNwb25zZRIoCgRkYXRhGAIgASgLMhoucGxheWVyLkVreWNSZXN1bHRSZXMuRGF0YRpMCgZSZXN1bHQSFQoNcmVzdWx0X3N0YXR1cxgBIAEoCRITCgtyZXN1bHRfY29kZRgCIAEoCRIWCg5yZXN1bHRfbWVzc2FnZRgDIAEoCRrAAQoJT2NyUmVzdWx0EgwKBG5hbWUYASABKAkSEQoJZnVsbF9uYW1lGAIgASgJEhIKCmZpcnN0X25hbWUYAyABKAkSEwoLbWlkZGxlX25hbWUYBCABKAkSEQoJbGFzdF9uYW1lGAUgASgJEg8KB2FkZHJlc3MYBiABKAkSFQoNZGF0ZV9vZl9iaXJ0aBgHIAEoCRIRCglpZF9udW1iZXIYCCABKAkSCwoDc2V4GAkgASgJEg4KBmdlbmRlchgKIAEoCRptCgdFeHRJbmZvEjMKCm9jcl9yZXN1bHQYASABKAsyHy5wbGF5ZXIuRWt5Y1Jlc3VsdFJlcy5PY3JSZXN1bHQSFQoNaW1hZ2VfY29udGVudBgCIAMoCRIWCg5mcm9udF9wYWdlX2ltZxgDIAEoCRofCgtFeHRGYWNlSW5mbxIQCghmYWNlX2ltZxgBIAEoCRohCgxFeHRCYXNpY0luZm8SEQoJY2VydF9uYW1lGAEgASgJGqQCCgREYXRhEhMKC2VreWNfcmVzdWx0GAEgASgJEiwKBnJlc3VsdBgCIAEoCzIcLnBsYXllci5Fa3ljUmVzdWx0UmVzLlJlc3VsdBIyCgtleHRfaWRfaW5mbxgDIAEoCzIdLnBsYXllci5Fa3ljUmVzdWx0UmVzLkV4dEluZm8SLwoIZXh0X2luZm8YBCABKAsyHS5wbGF5ZXIuRWt5Y1Jlc3VsdFJlcy5FeHRJbmZvEjgKDWV4dF9mYWNlX2luZm8YBSABKAsyIS5wbGF5ZXIuRWt5Y1Jlc3VsdFJlcy5FeHRGYWNlSW5mbxI6Cg5leHRfYmFzaWNfaW5mbxgGIAEoCzIiLnBsYXllci5Fa3ljUmVzdWx0UmVzLkV4dEJhc2ljSW5mb2IGcHJvdG8z\", [file_common_Common]);\n\n/**\n * @generated from message player.EkycResultReq\n */\nexport type EkycResultReq = Message<\"player.EkycResultReq\"> & {\n /**\n * @generated from field: string biz_id = 1;\n */\n bizId: string;\n\n /**\n * @generated from field: string transaction_id = 2;\n */\n transactionId: string;\n\n /**\n * @generated from field: string type = 3;\n */\n type: string;\n\n /**\n * @generated from field: string is_return_image = 4;\n */\n isReturnImage: string;\n\n /**\n * @generated from field: string platform_id = 5;\n */\n platformId: string;\n\n /**\n * @generated from field: string doc_type = 6;\n */\n docType: string;\n};\n\n/**\n * Describes the message player.EkycResultReq.\n * Use `create(EkycResultReqSchema)` to create a new message.\n */\nexport const EkycResultReqSchema: GenMessage<EkycResultReq> = /*@__PURE__*/\n messageDesc(file_player_EkycResult, 0);\n\n/**\n * @generated from message player.EkycResultRes\n */\nexport type EkycResultRes = Message<\"player.EkycResultRes\"> & {\n /**\n * @generated from field: common.BaseResponse base_response = 1;\n */\n baseResponse?: BaseResponse;\n\n /**\n * @generated from field: player.EkycResultRes.Data data = 2;\n */\n data?: EkycResultRes_Data;\n};\n\n/**\n * Describes the message player.EkycResultRes.\n * Use `create(EkycResultResSchema)` to create a new message.\n */\nexport const EkycResultResSchema: GenMessage<EkycResultRes> = /*@__PURE__*/\n messageDesc(file_player_EkycResult, 1);\n\n/**\n * @generated from message player.EkycResultRes.Result\n */\nexport type EkycResultRes_Result = Message<\"player.EkycResultRes.Result\"> & {\n /**\n * @generated from field: string result_status = 1;\n */\n resultStatus: string;\n\n /**\n * @generated from field: string result_code = 2;\n */\n resultCode: string;\n\n /**\n * @generated from field: string result_message = 3;\n */\n resultMessage: string;\n};\n\n/**\n * Describes the message player.EkycResultRes.Result.\n * Use `create(EkycResultRes_ResultSchema)` to create a new message.\n */\nexport const EkycResultRes_ResultSchema: GenMessage<EkycResultRes_Result> = /*@__PURE__*/\n messageDesc(file_player_EkycResult, 1, 0);\n\n/**\n * @generated from message player.EkycResultRes.OcrResult\n */\nexport type EkycResultRes_OcrResult = Message<\"player.EkycResultRes.OcrResult\"> & {\n /**\n * @generated from field: string name = 1;\n */\n name: string;\n\n /**\n * @generated from field: string full_name = 2;\n */\n fullName: string;\n\n /**\n * @generated from field: string first_name = 3;\n */\n firstName: string;\n\n /**\n * @generated from field: string middle_name = 4;\n */\n middleName: string;\n\n /**\n * @generated from field: string last_name = 5;\n */\n lastName: string;\n\n /**\n * @generated from field: string address = 6;\n */\n address: string;\n\n /**\n * @generated from field: string date_of_birth = 7;\n */\n dateOfBirth: string;\n\n /**\n * @generated from field: string id_number = 8;\n */\n idNumber: string;\n\n /**\n * @generated from field: string sex = 9;\n */\n sex: string;\n\n /**\n * @generated from field: string gender = 10;\n */\n gender: string;\n};\n\n/**\n * Describes the message player.EkycResultRes.OcrResult.\n * Use `create(EkycResultRes_OcrResultSchema)` to create a new message.\n */\nexport const EkycResultRes_OcrResultSchema: GenMessage<EkycResultRes_OcrResult> = /*@__PURE__*/\n messageDesc(file_player_EkycResult, 1, 1);\n\n/**\n * @generated from message player.EkycResultRes.ExtInfo\n */\nexport type EkycResultRes_ExtInfo = Message<\"player.EkycResultRes.ExtInfo\"> & {\n /**\n * @generated from field: player.EkycResultRes.OcrResult ocr_result = 1;\n */\n ocrResult?: EkycResultRes_OcrResult;\n\n /**\n * @generated from field: repeated string image_content = 2;\n */\n imageContent: string[];\n\n /**\n * @generated from field: string front_page_img = 3;\n */\n frontPageImg: string;\n};\n\n/**\n * Describes the message player.EkycResultRes.ExtInfo.\n * Use `create(EkycResultRes_ExtInfoSchema)` to create a new message.\n */\nexport const EkycResultRes_ExtInfoSchema: GenMessage<EkycResultRes_ExtInfo> = /*@__PURE__*/\n messageDesc(file_player_EkycResult, 1, 2);\n\n/**\n * @generated from message player.EkycResultRes.ExtFaceInfo\n */\nexport type EkycResultRes_ExtFaceInfo = Message<\"player.EkycResultRes.ExtFaceInfo\"> & {\n /**\n * @generated from field: string face_img = 1;\n */\n faceImg: string;\n};\n\n/**\n * Describes the message player.EkycResultRes.ExtFaceInfo.\n * Use `create(EkycResultRes_ExtFaceInfoSchema)` to create a new message.\n */\nexport const EkycResultRes_ExtFaceInfoSchema: GenMessage<EkycResultRes_ExtFaceInfo> = /*@__PURE__*/\n messageDesc(file_player_EkycResult, 1, 3);\n\n/**\n * @generated from message player.EkycResultRes.ExtBasicInfo\n */\nexport type EkycResultRes_ExtBasicInfo = Message<\"player.EkycResultRes.ExtBasicInfo\"> & {\n /**\n * @generated from field: string cert_name = 1;\n */\n certName: string;\n};\n\n/**\n * Describes the message player.EkycResultRes.ExtBasicInfo.\n * Use `create(EkycResultRes_ExtBasicInfoSchema)` to create a new message.\n */\nexport const EkycResultRes_ExtBasicInfoSchema: GenMessage<EkycResultRes_ExtBasicInfo> = /*@__PURE__*/\n messageDesc(file_player_EkycResult, 1, 4);\n\n/**\n * @generated from message player.EkycResultRes.Data\n */\nexport type EkycResultRes_Data = Message<\"player.EkycResultRes.Data\"> & {\n /**\n * @generated from field: string ekyc_result = 1;\n */\n ekycResult: string;\n\n /**\n * @generated from field: player.EkycResultRes.Result result = 2;\n */\n result?: EkycResultRes_Result;\n\n /**\n * @generated from field: player.EkycResultRes.ExtInfo ext_id_info = 3;\n */\n extIdInfo?: EkycResultRes_ExtInfo;\n\n /**\n * @generated from field: player.EkycResultRes.ExtInfo ext_info = 4;\n */\n extInfo?: EkycResultRes_ExtInfo;\n\n /**\n * @generated from field: player.EkycResultRes.ExtFaceInfo ext_face_info = 5;\n */\n extFaceInfo?: EkycResultRes_ExtFaceInfo;\n\n /**\n * @generated from field: player.EkycResultRes.ExtBasicInfo ext_basic_info = 6;\n */\n extBasicInfo?: EkycResultRes_ExtBasicInfo;\n};\n\n/**\n * Describes the message player.EkycResultRes.Data.\n * Use `create(EkycResultRes_DataSchema)` to create a new message.\n */\nexport const EkycResultRes_DataSchema: GenMessage<EkycResultRes_Data> = /*@__PURE__*/\n messageDesc(file_player_EkycResult, 1, 5);\n\n","// @generated by protoc-gen-es v2.10.2 with parameter \"target=ts\"\n// @generated from file player/PlayerService.proto (package player, syntax proto3)\n/* eslint-disable */\n\nimport type { GenFile, GenService } from \"@bufbuild/protobuf/codegenv2\";\nimport { fileDesc, serviceDesc } from \"@bufbuild/protobuf/codegenv2\";\nimport type { BaseResponseSchema, EmptySchema } from \"../common/Common_pb\";\nimport { file_common_Common } from \"../common/Common_pb\";\nimport type { GetPlayerProfileByJwtResSchema } from \"./GetPlayerProfileByJwt_pb\";\nimport { file_player_GetPlayerProfileByJwt } from \"./GetPlayerProfileByJwt_pb\";\nimport type { UpdatePasswordAndNotifyReqSchema } from \"./UpdatePasswordAndNotify_pb\";\nimport { file_player_UpdatePasswordAndNotify } from \"./UpdatePasswordAndNotify_pb\";\nimport type { UpdatePasswordReqSchema } from \"./UpdatePassword_pb\";\nimport { file_player_UpdatePassword } from \"./UpdatePassword_pb\";\nimport type { ResetPasswordFgReqSchema } from \"./ResetPasswordFg_pb\";\nimport { file_player_ResetPasswordFg } from \"./ResetPasswordFg_pb\";\nimport type { UpdateDobReqSchema } from \"./UpdateDob_pb\";\nimport { file_player_UpdateDob } from \"./UpdateDob_pb\";\nimport type { UpdatePlaceOfBirthReqSchema } from \"./UpdatePlaceOfBirth_pb\";\nimport { file_player_UpdatePlaceOfBirth } from \"./UpdatePlaceOfBirth_pb\";\nimport type { UpdateGenderReqSchema } from \"./UpdateGender_pb\";\nimport { file_player_UpdateGender } from \"./UpdateGender_pb\";\nimport type { UpdateNicknameReqSchema } from \"./UpdateNickname_pb\";\nimport { file_player_UpdateNickname } from \"./UpdateNickname_pb\";\nimport type { UpdateEmailReqSchema } from \"./UpdateEmail_pb\";\nimport { file_player_UpdateEmail } from \"./UpdateEmail_pb\";\nimport type { UpdateAddressReqSchema } from \"./UpdateAddress_pb\";\nimport { file_player_UpdateAddress } from \"./UpdateAddress_pb\";\nimport type { UpdatePhoneReqSchema } from \"./UpdatePhone_pb\";\nimport { file_player_UpdatePhone } from \"./UpdatePhone_pb\";\nimport type { UpdatePlayerAvatarReqSchema } from \"./UpdatePlayerAvatar_pb\";\nimport { file_player_UpdatePlayerAvatar } from \"./UpdatePlayerAvatar_pb\";\nimport type { UpdateEKycReqSchema } from \"./UpdateEKyc_pb\";\nimport { file_player_UpdateEKyc } from \"./UpdateEKyc_pb\";\nimport type { GetSmsStatusResSchema } from \"./GetSmsStatus_pb\";\nimport { file_player_GetSmsStatus } from \"./GetSmsStatus_pb\";\nimport type { UpdateSmsStatusReqSchema } from \"./UpdateSmsStatus_pb\";\nimport { file_player_UpdateSmsStatus } from \"./UpdateSmsStatus_pb\";\nimport type { GetAllLevelResSchema } from \"./GetAllLevel_pb\";\nimport { file_player_GetAllLevel } from \"./GetAllLevel_pb\";\nimport type { GetPlayerProgressResSchema } from \"./GetPlayerProgress_pb\";\nimport { file_player_GetPlayerProgress } from \"./GetPlayerProgress_pb\";\nimport type { VerifyPhoneNumberWithSmsReqSchema } from \"./VerifyPhoneNumberWithSms_pb\";\nimport { file_player_VerifyPhoneNumberWithSms } from \"./VerifyPhoneNumberWithSms_pb\";\nimport type { UpdateSourceOfFundsReqSchema } from \"./UpdateSourceOfFunds_pb\";\nimport { file_player_UpdateSourceOfFunds } from \"./UpdateSourceOfFunds_pb\";\nimport type { UpdateNatureOfWorkReqSchema } from \"./UpdateNatureOfWork_pb\";\nimport { file_player_UpdateNatureOfWork } from \"./UpdateNatureOfWork_pb\";\nimport type { UpdateRealNameReqSchema } from \"./UpdateRealName_pb\";\nimport { file_player_UpdateRealName } from \"./UpdateRealName_pb\";\nimport type { CheckIsValidSmsCodeReqSchema } from \"./CheckIsValidSmsCode_pb\";\nimport { file_player_CheckIsValidSmsCode } from \"./CheckIsValidSmsCode_pb\";\nimport type { GetAllPlayerLevelReqSchema, GetAllPlayerLevelResSchema } from \"./GetAllPlayerLevel_pb\";\nimport { file_player_GetAllPlayerLevel } from \"./GetAllPlayerLevel_pb\";\nimport type { GetPlayerLevelWithPlayerLevelObjIdReqSchema, GetPlayerLevelWithPlayerLevelObjIdResSchema } from \"./GetPlayerLevelWithPlayerLevelObjId_pb\";\nimport { file_player_GetPlayerLevelWithPlayerLevelObjId } from \"./GetPlayerLevelWithPlayerLevelObjId_pb\";\nimport type { GetCasinoPlayerByPlayerIdReqSchema, GetCasinoPlayerByPlayerIdResSchema } from \"./GetCasinoPlayerByPlayerId_pb\";\nimport { file_player_GetCasinoPlayerByPlayerId } from \"./GetCasinoPlayerByPlayerId_pb\";\nimport type { GetCasinoPlayersReqSchema, GetCasinoPlayersResSchema } from \"./GetCasinoPlayers_pb\";\nimport { file_player_GetCasinoPlayers } from \"./GetCasinoPlayers_pb\";\nimport type { GetCasinoPlayerByMemberCardIdReqSchema, GetCasinoPlayerByMemberCardIdResSchema } from \"./GetCasinoPlayerByMemberCardId_pb\";\nimport { file_player_GetCasinoPlayerByMemberCardId } from \"./GetCasinoPlayerByMemberCardId_pb\";\nimport type { UpdateCasinoPlayerByPlayerIdReqSchema, UpdateCasinoPlayerByPlayerIdResSchema } from \"./UpdateCasinoPlayerByPlayerId_pb\";\nimport { file_player_UpdateCasinoPlayerByPlayerId } from \"./UpdateCasinoPlayerByPlayerId_pb\";\nimport type { UpdatePlayerStatusByPlayerIdReqSchema, UpdatePlayerStatusByPlayerIdResSchema } from \"./UpdatePlayerStatusByPlayerId_pb\";\nimport { file_player_UpdatePlayerStatusByPlayerId } from \"./UpdatePlayerStatusByPlayerId_pb\";\nimport type { GetBetRecordsByPlayerIdReqSchema, GetBetRecordsByPlayerIdResSchema } from \"./GetBetRecordsByPlayerId_pb\";\nimport { file_player_GetBetRecordsByPlayerId } from \"./GetBetRecordsByPlayerId_pb\";\nimport type { GetPlayerInfoWithPlayerIdReqSchema, GetPlayerInfoWithPlayerIdResSchema } from \"./GetPlayerInfoWithPlayerId_pb\";\nimport { file_player_GetPlayerInfoWithPlayerId } from \"./GetPlayerInfoWithPlayerId_pb\";\nimport type { UpdatePlayerBaccaratTicketReqSchema, UpdatePlayerBaccaratTicketResSchema } from \"./UpdatePlayerBaccaratTicket_pb\";\nimport { file_player_UpdatePlayerBaccaratTicket } from \"./UpdatePlayerBaccaratTicket_pb\";\nimport type { GetPlayerPhoneAndBankInfoResSchema } from \"./GetPlayerPhoneAndBankInfo_pb\";\nimport { file_player_GetPlayerPhoneAndBankInfo } from \"./GetPlayerPhoneAndBankInfo_pb\";\nimport type { GetPlayerKYCAndWithdrawStatusReqSchema, GetPlayerKYCAndWithdrawStatusResSchema } from \"./GetPlayerKYCAndWithdrawStatus_pb\";\nimport { file_player_GetPlayerKYCAndWithdrawStatus } from \"./GetPlayerKYCAndWithdrawStatus_pb\";\nimport type { GetPlayerValidCreditByPlayerObjIdReqSchema, GetPlayerValidCreditByPlayerObjIdResSchema } from \"./GetPlayerValidCreditByPlayerObjId_pb\";\nimport { file_player_GetPlayerValidCreditByPlayerObjId } from \"./GetPlayerValidCreditByPlayerObjId_pb\";\nimport type { GetPlayerInfoForSportsForumResSchema } from \"./GetPlayerInfoForSportsForum_pb\";\nimport { file_player_GetPlayerInfoForSportsForum } from \"./GetPlayerInfoForSportsForum_pb\";\nimport type { GetPlayerIdAndNameResSchema } from \"./GetPlayerIdAndName_pb\";\nimport { file_player_GetPlayerIdAndName } from \"./GetPlayerIdAndName_pb\";\nimport type { GetWithdrawalInfoResSchema } from \"./GetWithdrawalInfo_pb\";\nimport { file_player_GetWithdrawalInfo } from \"./GetWithdrawalInfo_pb\";\nimport type { GetDepositInfoResSchema } from \"./GetDepositInfo_pb\";\nimport { file_player_GetDepositInfo } from \"./GetDepositInfo_pb\";\nimport type { GetFreeSpinPlayerInfoResSchema } from \"./GetFreeSpinPlayerInfo_pb\";\nimport { file_player_GetFreeSpinPlayerInfo } from \"./GetFreeSpinPlayerInfo_pb\";\nimport type { GetPlayerInfoReqSchema, GetPlayerInfoResSchema } from \"./GetPlayerInfo_pb\";\nimport { file_player_GetPlayerInfo } from \"./GetPlayerInfo_pb\";\nimport type { GetAccountCombineInfoResSchema } from \"./GetAccountCombineInfo_pb\";\nimport { file_player_GetAccountCombineInfo } from \"./GetAccountCombineInfo_pb\";\nimport type { GetPlayerEmailByPlayerIdReqSchema, GetPlayerEmailByPlayerIdResSchema } from \"./GetPlayerEmailByPlayerId_pb\";\nimport { file_player_GetPlayerEmailByPlayerId } from \"./GetPlayerEmailByPlayerId_pb\";\nimport type { GetPlayerIdAndLevelByPhoneReqSchema, GetPlayerIdAndLevelByPhoneResSchema } from \"./GetPlayerIdAndLevelByPhone_pb\";\nimport { file_player_GetPlayerIdAndLevelByPhone } from \"./GetPlayerIdAndLevelByPhone_pb\";\nimport type { GetViberStatusReqSchema, GetViberStatusResSchema } from \"./GetViberStatus_pb\";\nimport { file_player_GetViberStatus } from \"./GetViberStatus_pb\";\nimport type { UpdateViberStatusReqSchema } from \"./UpdateViberStatus_pb\";\nimport { file_player_UpdateViberStatus } from \"./UpdateViberStatus_pb\";\nimport type { GetPlayerAvatarsResSchema } from \"./GetPlayerAvatars_pb\";\nimport { file_player_GetPlayerAvatars } from \"./GetPlayerAvatars_pb\";\n\n/**\n * Describes the file player/PlayerService.proto.\n */\nexport const file_player_PlayerService: GenFile = /*@__PURE__*/\n fileDesc(\"ChpwbGF5ZXIvUGxheWVyU2VydmljZS5wcm90bxIGcGxheWVyMusdCg1QbGF5ZXJTZXJ2aWNlEkgKFUdldFBsYXllclByb2ZpbGVCeUp3dBINLmNvbW1vbi5FbXB0eRogLnBsYXllci5HZXRQbGF5ZXJQcm9maWxlQnlKd3RSZXMSUwoXVXBkYXRlUGFzc3dvcmRBbmROb3RpZnkSIi5wbGF5ZXIuVXBkYXRlUGFzc3dvcmRBbmROb3RpZnlSZXEaFC5jb21tb24uQmFzZVJlc3BvbnNlEkEKDlVwZGF0ZVBhc3N3b3JkEhkucGxheWVyLlVwZGF0ZVBhc3N3b3JkUmVxGhQuY29tbW9uLkJhc2VSZXNwb25zZRJDCg9SZXNldFBhc3N3b3JkRmcSGi5wbGF5ZXIuUmVzZXRQYXNzd29yZEZnUmVxGhQuY29tbW9uLkJhc2VSZXNwb25zZRI3CglVcGRhdGVEb2ISFC5wbGF5ZXIuVXBkYXRlRG9iUmVxGhQuY29tbW9uLkJhc2VSZXNwb25zZRJJChJVcGRhdGVQbGFjZU9mQmlydGgSHS5wbGF5ZXIuVXBkYXRlUGxhY2VPZkJpcnRoUmVxGhQuY29tbW9uLkJhc2VSZXNwb25zZRI9CgxVcGRhdGVHZW5kZXISFy5wbGF5ZXIuVXBkYXRlR2VuZGVyUmVxGhQuY29tbW9uLkJhc2VSZXNwb25zZRJBCg5VcGRhdGVOaWNrbmFtZRIZLnBsYXllci5VcGRhdGVOaWNrbmFtZVJlcRoULmNvbW1vbi5CYXNlUmVzcG9uc2USOwoLVXBkYXRlRW1haWwSFi5wbGF5ZXIuVXBkYXRlRW1haWxSZXEaFC5jb21tb24uQmFzZVJlc3BvbnNlEj8KDVVwZGF0ZUFkZHJlc3MSGC5wbGF5ZXIuVXBkYXRlQWRkcmVzc1JlcRoULmNvbW1vbi5CYXNlUmVzcG9uc2USOwoLVXBkYXRlUGhvbmUSFi5wbGF5ZXIuVXBkYXRlUGhvbmVSZXEaFC5jb21tb24uQmFzZVJlc3BvbnNlEkkKElVwZGF0ZVBsYXllckF2YXRhchIdLnBsYXllci5VcGRhdGVQbGF5ZXJBdmF0YXJSZXEaFC5jb21tb24uQmFzZVJlc3BvbnNlEjkKClVwZGF0ZUVLeWMSFS5wbGF5ZXIuVXBkYXRlRUt5Y1JlcRoULmNvbW1vbi5CYXNlUmVzcG9uc2USNgoMR2V0U21zU3RhdHVzEg0uY29tbW9uLkVtcHR5GhcucGxheWVyLkdldFNtc1N0YXR1c1JlcxJDCg9VcGRhdGVTbXNTdGF0dXMSGi5wbGF5ZXIuVXBkYXRlU21zU3RhdHVzUmVxGhQuY29tbW9uLkJhc2VSZXNwb25zZRI0CgtHZXRBbGxMZXZlbBINLmNvbW1vbi5FbXB0eRoWLnBsYXllci5HZXRBbGxMZXZlbFJlcxJAChFHZXRQbGF5ZXJQcm9ncmVzcxINLmNvbW1vbi5FbXB0eRocLnBsYXllci5HZXRQbGF5ZXJQcm9ncmVzc1JlcxJVChhWZXJpZnlQaG9uZU51bWJlcldpdGhTbXMSIy5wbGF5ZXIuVmVyaWZ5UGhvbmVOdW1iZXJXaXRoU21zUmVxGhQuY29tbW9uLkJhc2VSZXNwb25zZRJLChNVcGRhdGVTb3VyY2VPZkZ1bmRzEh4ucGxheWVyLlVwZGF0ZVNvdXJjZU9mRnVuZHNSZXEaFC5jb21tb24uQmFzZVJlc3BvbnNlEkkKElVwZGF0ZU5hdHVyZU9mV29yaxIdLnBsYXllci5VcGRhdGVOYXR1cmVPZldvcmtSZXEaFC5jb21tb24uQmFzZVJlc3BvbnNlEkEKDlVwZGF0ZVJlYWxOYW1lEhkucGxheWVyLlVwZGF0ZVJlYWxOYW1lUmVxGhQuY29tbW9uLkJhc2VSZXNwb25zZRJLChNDaGVja0lzVmFsaWRTbXNDb2RlEh4ucGxheWVyLkNoZWNrSXNWYWxpZFNtc0NvZGVSZXEaFC5jb21tb24uQmFzZVJlc3BvbnNlEk8KEUdldEFsbFBsYXllckxldmVsEhwucGxheWVyLkdldEFsbFBsYXllckxldmVsUmVxGhwucGxheWVyLkdldEFsbFBsYXllckxldmVsUmVzEoIBCiJHZXRQbGF5ZXJMZXZlbFdpdGhQbGF5ZXJMZXZlbE9iaklkEi0ucGxheWVyLkdldFBsYXllckxldmVsV2l0aFBsYXllckxldmVsT2JqSWRSZXEaLS5wbGF5ZXIuR2V0UGxheWVyTGV2ZWxXaXRoUGxheWVyTGV2ZWxPYmpJZFJlcxJnChlHZXRDYXNpbm9QbGF5ZXJCeVBsYXllcklkEiQucGxheWVyLkdldENhc2lub1BsYXllckJ5UGxheWVySWRSZXEaJC5wbGF5ZXIuR2V0Q2FzaW5vUGxheWVyQnlQbGF5ZXJJZFJlcxJMChBHZXRDYXNpbm9QbGF5ZXJzEhsucGxheWVyLkdldENhc2lub1BsYXllcnNSZXEaGy5wbGF5ZXIuR2V0Q2FzaW5vUGxheWVyc1JlcxJzCh1HZXRDYXNpbm9QbGF5ZXJCeU1lbWJlckNhcmRJZBIoLnBsYXllci5HZXRDYXNpbm9QbGF5ZXJCeU1lbWJlckNhcmRJZFJlcRooLnBsYXllci5HZXRDYXNpbm9QbGF5ZXJCeU1lbWJlckNhcmRJZFJlcxJwChxVcGRhdGVDYXNpbm9QbGF5ZXJCeVBsYXllcklkEicucGxheWVyLlVwZGF0ZUNhc2lub1BsYXllckJ5UGxheWVySWRSZXEaJy5wbGF5ZXIuVXBkYXRlQ2FzaW5vUGxheWVyQnlQbGF5ZXJJZFJlcxJwChxVcGRhdGVQbGF5ZXJTdGF0dXNCeVBsYXllcklkEicucGxheWVyLlVwZGF0ZVBsYXllclN0YXR1c0J5UGxheWVySWRSZXEaJy5wbGF5ZXIuVXBkYXRlUGxheWVyU3RhdHVzQnlQbGF5ZXJJZFJlcxJhChdHZXRCZXRSZWNvcmRzQnlQbGF5ZXJJZBIiLnBsYXllci5HZXRCZXRSZWNvcmRzQnlQbGF5ZXJJZFJlcRoiLnBsYXllci5HZXRCZXRSZWNvcmRzQnlQbGF5ZXJJZFJlcxJnChlHZXRQbGF5ZXJJbmZvV2l0aFBsYXllcklkEiQucGxheWVyLkdldFBsYXllckluZm9XaXRoUGxheWVySWRSZXEaJC5wbGF5ZXIuR2V0UGxheWVySW5mb1dpdGhQbGF5ZXJJZFJlcxJqChpVcGRhdGVQbGF5ZXJCYWNjYXJhdFRpY2tldBIlLnBsYXllci5VcGRhdGVQbGF5ZXJCYWNjYXJhdFRpY2tldFJlcRolLnBsYXllci5VcGRhdGVQbGF5ZXJCYWNjYXJhdFRpY2tldFJlcxJQChlHZXRQbGF5ZXJQaG9uZUFuZEJhbmtJbmZvEg0uY29tbW9uLkVtcHR5GiQucGxheWVyLkdldFBsYXllclBob25lQW5kQmFua0luZm9SZXMScwodR2V0UGxheWVyS1lDQW5kV2l0aGRyYXdTdGF0dXMSKC5wbGF5ZXIuR2V0UGxheWVyS1lDQW5kV2l0aGRyYXdTdGF0dXNSZXEaKC5wbGF5ZXIuR2V0UGxheWVyS1lDQW5kV2l0aGRyYXdTdGF0dXNSZXMSfwohR2V0UGxheWVyVmFsaWRDcmVkaXRCeVBsYXllck9iaklkEiwucGxheWVyLkdldFBsYXllclZhbGlkQ3JlZGl0QnlQbGF5ZXJPYmpJZFJlcRosLnBsYXllci5HZXRQbGF5ZXJWYWxpZENyZWRpdEJ5UGxheWVyT2JqSWRSZXMSVAobR2V0UGxheWVySW5mb0ZvclNwb3J0c0ZvcnVtEg0uY29tbW9uLkVtcHR5GiYucGxheWVyLkdldFBsYXllckluZm9Gb3JTcG9ydHNGb3J1bVJlcxJCChJHZXRQbGF5ZXJJZEFuZE5hbWUSDS5jb21tb24uRW1wdHkaHS5wbGF5ZXIuR2V0UGxheWVySWRBbmROYW1lUmVzEkAKEUdldFdpdGhkcmF3YWxJbmZvEg0uY29tbW9uLkVtcHR5GhwucGxheWVyLkdldFdpdGhkcmF3YWxJbmZvUmVzEjoKDkdldERlcG9zaXRJbmZvEg0uY29tbW9uLkVtcHR5GhkucGxheWVyLkdldERlcG9zaXRJbmZvUmVzEkgKFUdldEZyZWVTcGluUGxheWVySW5mbxINLmNvbW1vbi5FbXB0eRogLnBsYXllci5HZXRGcmVlU3BpblBsYXllckluZm9SZXMSQwoNR2V0UGxheWVySW5mbxIYLnBsYXllci5HZXRQbGF5ZXJJbmZvUmVxGhgucGxheWVyLkdldFBsYXllckluZm9SZXMSSAoVR2V0QWNjb3VudENvbWJpbmVJbmZvEg0uY29tbW9uLkVtcHR5GiAucGxheWVyLkdldEFjY291bnRDb21iaW5lSW5mb1JlcxJkChhHZXRQbGF5ZXJFbWFpbEJ5UGxheWVySWQSIy5wbGF5ZXIuR2V0UGxheWVyRW1haWxCeVBsYXllcklkUmVxGiMucGxheWVyLkdldFBsYXllckVtYWlsQnlQbGF5ZXJJZFJlcxJqChpHZXRQbGF5ZXJJZEFuZExldmVsQnlQaG9uZRIlLnBsYXllci5HZXRQbGF5ZXJJZEFuZExldmVsQnlQaG9uZVJlcRolLnBsYXllci5HZXRQbGF5ZXJJZEFuZExldmVsQnlQaG9uZVJlcxJGCg5HZXRWaWJlclN0YXR1cxIZLnBsYXllci5HZXRWaWJlclN0YXR1c1JlcRoZLnBsYXllci5HZXRWaWJlclN0YXR1c1JlcxJHChFVcGRhdGVWaWJlclN0YXR1cxIcLnBsYXllci5VcGRhdGVWaWJlclN0YXR1c1JlcRoULmNvbW1vbi5CYXNlUmVzcG9uc2USPgoQR2V0UGxheWVyQXZhdGFycxINLmNvbW1vbi5FbXB0eRobLnBsYXllci5HZXRQbGF5ZXJBdmF0YXJzUmVzYgZwcm90bzM\", [file_common_Common, file_player_GetPlayerProfileByJwt, file_player_UpdatePasswordAndNotify, file_player_UpdatePassword, file_player_ResetPasswordFg, file_player_UpdateDob, file_player_UpdatePlaceOfBirth, file_player_UpdateGender, file_player_UpdateNickname, file_player_UpdateEmail, file_player_UpdateAddress, file_player_UpdatePhone, file_player_UpdatePlayerAvatar, file_player_UpdateEKyc, file_player_GetSmsStatus, file_player_UpdateSmsStatus, file_player_GetAllLevel, file_player_GetPlayerProgress, file_player_VerifyPhoneNumberWithSms, file_player_UpdateSourceOfFunds, file_player_UpdateNatureOfWork, file_player_UpdateRealName, file_player_CheckIsValidSmsCode, file_player_GetAllPlayerLevel, file_player_GetPlayerLevelWithPlayerLevelObjId, file_player_GetCasinoPlayerByPlayerId, file_player_GetCasinoPlayers, file_player_GetCasinoPlayerByMemberCardId, file_player_UpdateCasinoPlayerByPlayerId, file_player_UpdatePlayerStatusByPlayerId, file_player_GetBetRecordsByPlayerId, file_player_GetPlayerInfoWithPlayerId, file_player_UpdatePlayerBaccaratTicket, file_player_GetPlayerPhoneAndBankInfo, file_player_GetPlayerKYCAndWithdrawStatus, file_player_GetPlayerValidCreditByPlayerObjId, file_player_GetPlayerInfoForSportsForum, file_player_GetPlayerIdAndName, file_player_GetWithdrawalInfo, file_player_GetDepositInfo, file_player_GetFreeSpinPlayerInfo, file_player_GetPlayerInfo, file_player_GetAccountCombineInfo, file_player_GetPlayerEmailByPlayerId, file_player_GetPlayerIdAndLevelByPhone, file_player_GetViberStatus, file_player_UpdateViberStatus, file_player_GetPlayerAvatars]);\n\n/**\n * @generated from service player.PlayerService\n */\nexport const PlayerService: GenService<{\n /**\n * @generated from rpc player.PlayerService.GetPlayerProfileByJwt\n */\n getPlayerProfileByJwt: {\n methodKind: \"unary\";\n input: typeof EmptySchema;\n output: typeof GetPlayerProfileByJwtResSchema;\n },\n /**\n * @generated from rpc player.PlayerService.UpdatePasswordAndNotify\n */\n updatePasswordAndNotify: {\n methodKind: \"unary\";\n input: typeof UpdatePasswordAndNotifyReqSchema;\n output: typeof BaseResponseSchema;\n },\n /**\n * @generated from rpc player.PlayerService.UpdatePassword\n */\n updatePassword: {\n methodKind: \"unary\";\n input: typeof UpdatePasswordReqSchema;\n output: typeof BaseResponseSchema;\n },\n /**\n * @generated from rpc player.PlayerService.ResetPasswordFg\n */\n resetPasswordFg: {\n methodKind: \"unary\";\n input: typeof ResetPasswordFgReqSchema;\n output: typeof BaseResponseSchema;\n },\n /**\n * @generated from rpc player.PlayerService.UpdateDob\n */\n updateDob: {\n methodKind: \"unary\";\n input: typeof UpdateDobReqSchema;\n output: typeof BaseResponseSchema;\n },\n /**\n * @generated from rpc player.PlayerService.UpdatePlaceOfBirth\n */\n updatePlaceOfBirth: {\n methodKind: \"unary\";\n input: typeof UpdatePlaceOfBirthReqSchema;\n output: typeof BaseResponseSchema;\n },\n /**\n * @generated from rpc player.PlayerService.UpdateGender\n */\n updateGender: {\n methodKind: \"unary\";\n input: typeof UpdateGenderReqSchema;\n output: typeof BaseResponseSchema;\n },\n /**\n * @generated from rpc player.PlayerService.UpdateNickname\n */\n updateNickname: {\n methodKind: \"unary\";\n input: typeof UpdateNicknameReqSchema;\n output: typeof BaseResponseSchema;\n },\n /**\n * @generated from rpc player.PlayerService.UpdateEmail\n */\n updateEmail: {\n methodKind: \"unary\";\n input: typeof UpdateEmailReqSchema;\n output: typeof BaseResponseSchema;\n },\n /**\n * @generated from rpc player.PlayerService.UpdateAddress\n */\n updateAddress: {\n methodKind: \"unary\";\n input: typeof UpdateAddressReqSchema;\n output: typeof BaseResponseSchema;\n },\n /**\n * @generated from rpc player.PlayerService.UpdatePhone\n */\n updatePhone: {\n methodKind: \"unary\";\n input: typeof UpdatePhoneReqSchema;\n output: typeof BaseResponseSchema;\n },\n /**\n * @generated from rpc player.PlayerService.UpdatePlayerAvatar\n */\n updatePlayerAvatar: {\n methodKind: \"unary\";\n input: typeof UpdatePlayerAvatarReqSchema;\n output: typeof BaseResponseSchema;\n },\n /**\n * @generated from rpc player.PlayerService.UpdateEKyc\n */\n updateEKyc: {\n methodKind: \"unary\";\n input: typeof UpdateEKycReqSchema;\n output: typeof BaseResponseSchema;\n },\n /**\n * @generated from rpc player.PlayerService.GetSmsStatus\n */\n getSmsStatus: {\n methodKind: \"unary\";\n input: typeof EmptySchema;\n output: typeof GetSmsStatusResSchema;\n },\n /**\n * @generated from rpc player.PlayerService.UpdateSmsStatus\n */\n updateSmsStatus: {\n methodKind: \"unary\";\n input: typeof UpdateSmsStatusReqSchema;\n output: typeof BaseResponseSchema;\n },\n /**\n * @generated from rpc player.PlayerService.GetAllLevel\n */\n getAllLevel: {\n methodKind: \"unary\";\n input: typeof EmptySchema;\n output: typeof GetAllLevelResSchema;\n },\n /**\n * @generated from rpc player.PlayerService.GetPlayerProgress\n */\n getPlayerProgress: {\n methodKind: \"unary\";\n input: typeof EmptySchema;\n output: typeof GetPlayerProgressResSchema;\n },\n /**\n * @generated from rpc player.PlayerService.VerifyPhoneNumberWithSms\n */\n verifyPhoneNumberWithSms: {\n methodKind: \"unary\";\n input: typeof VerifyPhoneNumberWithSmsReqSchema;\n output: typeof BaseResponseSchema;\n },\n /**\n * @generated from rpc player.PlayerService.UpdateSourceOfFunds\n */\n updateSourceOfFunds: {\n methodKind: \"unary\";\n input: typeof UpdateSourceOfFundsReqSchema;\n output: typeof BaseResponseSchema;\n },\n /**\n * @generated from rpc player.PlayerService.UpdateNatureOfWork\n */\n updateNatureOfWork: {\n methodKind: \"unary\";\n input: typeof UpdateNatureOfWorkReqSchema;\n output: typeof BaseResponseSchema;\n },\n /**\n * @generated from rpc player.PlayerService.UpdateRealName\n */\n updateRealName: {\n methodKind: \"unary\";\n input: typeof UpdateRealNameReqSchema;\n output: typeof BaseResponseSchema;\n },\n /**\n * @generated from rpc player.PlayerService.CheckIsValidSmsCode\n */\n checkIsValidSmsCode: {\n methodKind: \"unary\";\n input: typeof CheckIsValidSmsCodeReqSchema;\n output: typeof BaseResponseSchema;\n },\n /**\n * @generated from rpc player.PlayerService.GetAllPlayerLevel\n */\n getAllPlayerLevel: {\n methodKind: \"unary\";\n input: typeof GetAllPlayerLevelReqSchema;\n output: typeof GetAllPlayerLevelResSchema;\n },\n /**\n * @generated from rpc player.PlayerService.GetPlayerLevelWithPlayerLevelObjId\n */\n getPlayerLevelWithPlayerLevelObjId: {\n methodKind: \"unary\";\n input: typeof GetPlayerLevelWithPlayerLevelObjIdReqSchema;\n output: typeof GetPlayerLevelWithPlayerLevelObjIdResSchema;\n },\n /**\n * @generated from rpc player.PlayerService.GetCasinoPlayerByPlayerId\n */\n getCasinoPlayerByPlayerId: {\n methodKind: \"unary\";\n input: typeof GetCasinoPlayerByPlayerIdReqSchema;\n output: typeof GetCasinoPlayerByPlayerIdResSchema;\n },\n /**\n * @generated from rpc player.PlayerService.GetCasinoPlayers\n */\n getCasinoPlayers: {\n methodKind: \"unary\";\n input: typeof GetCasinoPlayersReqSchema;\n output: typeof GetCasinoPlayersResSchema;\n },\n /**\n * @generated from rpc player.PlayerService.GetCasinoPlayerByMemberCardId\n */\n getCasinoPlayerByMemberCardId: {\n methodKind: \"unary\";\n input: typeof GetCasinoPlayerByMemberCardIdReqSchema;\n output: typeof GetCasinoPlayerByMemberCardIdResSchema;\n },\n /**\n * @generated from rpc player.PlayerService.UpdateCasinoPlayerByPlayerId\n */\n updateCasinoPlayerByPlayerId: {\n methodKind: \"unary\";\n input: typeof UpdateCasinoPlayerByPlayerIdReqSchema;\n output: typeof UpdateCasinoPlayerByPlayerIdResSchema;\n },\n /**\n * @generated from rpc player.PlayerService.UpdatePlayerStatusByPlayerId\n */\n updatePlayerStatusByPlayerId: {\n methodKind: \"unary\";\n input: typeof UpdatePlayerStatusByPlayerIdReqSchema;\n output: typeof UpdatePlayerStatusByPlayerIdResSchema;\n },\n /**\n * @generated from rpc player.PlayerService.GetBetRecordsByPlayerId\n */\n getBetRecordsByPlayerId: {\n methodKind: \"unary\";\n input: typeof GetBetRecordsByPlayerIdReqSchema;\n output: typeof GetBetRecordsByPlayerIdResSchema;\n },\n /**\n * @generated from rpc player.PlayerService.GetPlayerInfoWithPlayerId\n */\n getPlayerInfoWithPlayerId: {\n methodKind: \"unary\";\n input: typeof GetPlayerInfoWithPlayerIdReqSchema;\n output: typeof GetPlayerInfoWithPlayerIdResSchema;\n },\n /**\n * @generated from rpc player.PlayerService.UpdatePlayerBaccaratTicket\n */\n updatePlayerBaccaratTicket: {\n methodKind: \"unary\";\n input: typeof UpdatePlayerBaccaratTicketReqSchema;\n output: typeof UpdatePlayerBaccaratTicketResSchema;\n },\n /**\n * @generated from rpc player.PlayerService.GetPlayerPhoneAndBankInfo\n */\n getPlayerPhoneAndBankInfo: {\n methodKind: \"unary\";\n input: typeof EmptySchema;\n output: typeof GetPlayerPhoneAndBankInfoResSchema;\n },\n /**\n * @generated from rpc player.PlayerService.GetPlayerKYCAndWithdrawStatus\n */\n getPlayerKYCAndWithdrawStatus: {\n methodKind: \"unary\";\n input: typeof GetPlayerKYCAndWithdrawStatusReqSchema;\n output: typeof GetPlayerKYCAndWithdrawStatusResSchema;\n },\n /**\n * @generated from rpc player.PlayerService.GetPlayerValidCreditByPlayerObjId\n */\n getPlayerValidCreditByPlayerObjId: {\n methodKind: \"unary\";\n input: typeof GetPlayerValidCreditByPlayerObjIdReqSchema;\n output: typeof GetPlayerValidCreditByPlayerObjIdResSchema;\n },\n /**\n * @generated from rpc player.PlayerService.GetPlayerInfoForSportsForum\n */\n getPlayerInfoForSportsForum: {\n methodKind: \"unary\";\n input: typeof EmptySchema;\n output: typeof GetPlayerInfoForSportsForumResSchema;\n },\n /**\n * @generated from rpc player.PlayerService.GetPlayerIdAndName\n */\n getPlayerIdAndName: {\n methodKind: \"unary\";\n input: typeof EmptySchema;\n output: typeof GetPlayerIdAndNameResSchema;\n },\n /**\n * @generated from rpc player.PlayerService.GetWithdrawalInfo\n */\n getWithdrawalInfo: {\n methodKind: \"unary\";\n input: typeof EmptySchema;\n output: typeof GetWithdrawalInfoResSchema;\n },\n /**\n * @generated from rpc player.PlayerService.GetDepositInfo\n */\n getDepositInfo: {\n methodKind: \"unary\";\n input: typeof EmptySchema;\n output: typeof GetDepositInfoResSchema;\n },\n /**\n * @generated from rpc player.PlayerService.GetFreeSpinPlayerInfo\n */\n getFreeSpinPlayerInfo: {\n methodKind: \"unary\";\n input: typeof EmptySchema;\n output: typeof GetFreeSpinPlayerInfoResSchema;\n },\n /**\n * @generated from rpc player.PlayerService.GetPlayerInfo\n */\n getPlayerInfo: {\n methodKind: \"unary\";\n input: typeof GetPlayerInfoReqSchema;\n output: typeof GetPlayerInfoResSchema;\n },\n /**\n * @generated from rpc player.PlayerService.GetAccountCombineInfo\n */\n getAccountCombineInfo: {\n methodKind: \"unary\";\n input: typeof EmptySchema;\n output: typeof GetAccountCombineInfoResSchema;\n },\n /**\n * @generated from rpc player.PlayerService.GetPlayerEmailByPlayerId\n */\n getPlayerEmailByPlayerId: {\n methodKind: \"unary\";\n input: typeof GetPlayerEmailByPlayerIdReqSchema;\n output: typeof GetPlayerEmailByPlayerIdResSchema;\n },\n /**\n * @generated from rpc player.PlayerService.GetPlayerIdAndLevelByPhone\n */\n getPlayerIdAndLevelByPhone: {\n methodKind: \"unary\";\n input: typeof GetPlayerIdAndLevelByPhoneReqSchema;\n output: typeof GetPlayerIdAndLevelByPhoneResSchema;\n },\n /**\n * @generated from rpc player.PlayerService.GetViberStatus\n */\n getViberStatus: {\n methodKind: \"unary\";\n input: typeof GetViberStatusReqSchema;\n output: typeof GetViberStatusResSchema;\n },\n /**\n * @generated from rpc player.PlayerService.UpdateViberStatus\n */\n updateViberStatus: {\n methodKind: \"unary\";\n input: typeof UpdateViberStatusReqSchema;\n output: typeof BaseResponseSchema;\n },\n /**\n * @generated from rpc player.PlayerService.GetPlayerAvatars\n */\n getPlayerAvatars: {\n methodKind: \"unary\";\n input: typeof EmptySchema;\n output: typeof GetPlayerAvatarsResSchema;\n },\n}> = /*@__PURE__*/\n serviceDesc(file_player_PlayerService, 0);\n\n","// @generated by protoc-gen-es v2.10.2 with parameter \"target=ts\"\n// @generated from file player/UpdatePasswordAndNotify.proto (package player, syntax proto3)\n/* eslint-disable */\n\nimport type { GenFile, GenMessage } from \"@bufbuild/protobuf/codegenv2\";\nimport { fileDesc, messageDesc } from \"@bufbuild/protobuf/codegenv2\";\nimport type { Message } from \"@bufbuild/protobuf\";\n\n/**\n * Describes the file player/UpdatePasswordAndNotify.proto.\n */\nexport const file_player_UpdatePasswordAndNotify: GenFile = /*@__PURE__*/\n fileDesc(\"CiRwbGF5ZXIvVXBkYXRlUGFzc3dvcmRBbmROb3RpZnkucHJvdG8SBnBsYXllciLqAQoaVXBkYXRlUGFzc3dvcmRBbmROb3RpZnlSZXESFQoNcGxheWVyX29ial9pZBgBIAEoCRIRCglwbGF5ZXJfaWQYAiABKAkSEwoLcGxhdGZvcm1faWQYAyABKAkSFAoMbmV3X3Bhc3N3b3JkGAQgASgJEhMKC3BsYXllcl90eXBlGAUgASgFEhYKDnJlc2V0X3Bhc3N3b3JkGAYgASgIEhMKC3BsYXllcl9uYW1lGAcgASgJEhQKDGlucHV0X2RldmljZRgIIAEoBRIOCgZyZWZfaWQYCSABKAkSDwoHcm9vbV9pZBgKIAEoCWIGcHJvdG8z\");\n\n/**\n * @generated from message player.UpdatePasswordAndNotifyReq\n */\nexport type UpdatePasswordAndNotifyReq = Message<\"player.UpdatePasswordAndNotifyReq\"> & {\n /**\n * @generated from field: string player_obj_id = 1;\n */\n playerObjId: string;\n\n /**\n * @generated from field: string player_id = 2;\n */\n playerId: string;\n\n /**\n * @generated from field: string platform_id = 3;\n */\n platformId: string;\n\n /**\n * @generated from field: string new_password = 4;\n */\n newPassword: string;\n\n /**\n * @generated from field: int32 player_type = 5;\n */\n playerType: number;\n\n /**\n * @generated from field: bool reset_password = 6;\n */\n resetPassword: boolean;\n\n /**\n * @generated from field: string player_name = 7;\n */\n playerName: string;\n\n /**\n * @generated from field: int32 input_device = 8;\n */\n inputDevice: number;\n\n /**\n * @generated from field: string ref_id = 9;\n */\n refId: string;\n\n /**\n * @generated from field: string room_id = 10;\n */\n roomId: string;\n};\n\n/**\n * Describes the message player.UpdatePasswordAndNotifyReq.\n * Use `create(UpdatePasswordAndNotifyReqSchema)` to create a new message.\n */\nexport const UpdatePasswordAndNotifyReqSchema: GenMessage<UpdatePasswordAndNotifyReq> = /*@__PURE__*/\n messageDesc(file_player_UpdatePasswordAndNotify, 0);\n\n","// @generated by protoc-gen-es v2.10.2 with parameter \"target=ts\"\n// @generated from file player/ResetPasswordFg.proto (package player, syntax proto3)\n/* eslint-disable */\n\nimport type { GenFile, GenMessage } from \"@bufbuild/protobuf/codegenv2\";\nimport { fileDesc, messageDesc } from \"@bufbuild/protobuf/codegenv2\";\nimport type { Message } from \"@bufbuild/protobuf\";\n\n/**\n * Describes the file player/ResetPasswordFg.proto.\n */\nexport const file_player_ResetPasswordFg: GenFile = /*@__PURE__*/\n fileDesc(\"ChxwbGF5ZXIvUmVzZXRQYXNzd29yZEZnLnByb3RvEgZwbGF5ZXIiegoSUmVzZXRQYXNzd29yZEZnUmVxEg0KBXBob25lGAEgASgJEhMKC3BsYXRmb3JtX2lkGAIgASgJEhQKDG5ld19wYXNzd29yZBgDIAEoCRIcChRjb25maXJtX25ld19wYXNzd29yZBgEIAEoCRIMCgRjb2RlGAUgASgFYgZwcm90bzM\");\n\n/**\n * @generated from message player.ResetPasswordFgReq\n */\nexport type ResetPasswordFgReq = Message<\"player.ResetPasswordFgReq\"> & {\n /**\n * @generated from field: string phone = 1;\n */\n phone: string;\n\n /**\n * @generated from field: string platform_id = 2;\n */\n platformId: string;\n\n /**\n * @generated from field: string new_password = 3;\n */\n newPassword: string;\n\n /**\n * @generated from field: string confirm_new_password = 4;\n */\n confirmNewPassword: string;\n\n /**\n * @generated from field: int32 code = 5;\n */\n code: number;\n};\n\n/**\n * Describes the message player.ResetPasswordFgReq.\n * Use `create(ResetPasswordFgReqSchema)` to create a new message.\n */\nexport const ResetPasswordFgReqSchema: GenMessage<ResetPasswordFgReq> = /*@__PURE__*/\n messageDesc(file_player_ResetPasswordFg, 0);\n\n","// @generated by protoc-gen-es v2.10.2 with parameter \"target=ts\"\n// @generated from file player/UpdateDob.proto (package player, syntax proto3)\n/* eslint-disable */\n\nimport type { GenFile, GenMessage } from \"@bufbuild/protobuf/codegenv2\";\nimport { fileDesc, messageDesc } from \"@bufbuild/protobuf/codegenv2\";\nimport type { Message } from \"@bufbuild/protobuf\";\n\n/**\n * Describes the file player/UpdateDob.proto.\n */\nexport const file_player_UpdateDob: GenFile = /*@__PURE__*/\n fileDesc(\"ChZwbGF5ZXIvVXBkYXRlRG9iLnByb3RvEgZwbGF5ZXIiGwoMVXBkYXRlRG9iUmVxEgsKA2RvYhgBIAEoCWIGcHJvdG8z\");\n\n/**\n * @generated from message player.UpdateDobReq\n */\nexport type UpdateDobReq = Message<\"player.UpdateDobReq\"> & {\n /**\n * @generated from field: string dob = 1;\n */\n dob: string;\n};\n\n/**\n * Describes the message player.UpdateDobReq.\n * Use `create(UpdateDobReqSchema)` to create a new message.\n */\nexport const UpdateDobReqSchema: GenMessage<UpdateDobReq> = /*@__PURE__*/\n messageDesc(file_player_UpdateDob, 0);\n\n","// @generated by protoc-gen-es v2.10.2 with parameter \"target=ts\"\n// @generated from file player/UpdatePlaceOfBirth.proto (package player, syntax proto3)\n/* eslint-disable */\n\nimport type { GenFile, GenMessage } from \"@bufbuild/protobuf/codegenv2\";\nimport { fileDesc, messageDesc } from \"@bufbuild/protobuf/codegenv2\";\nimport type { Message } from \"@bufbuild/protobuf\";\n\n/**\n * Describes the file player/UpdatePlaceOfBirth.proto.\n */\nexport const file_player_UpdatePlaceOfBirth: GenFile = /*@__PURE__*/\n fileDesc(\"Ch9wbGF5ZXIvVXBkYXRlUGxhY2VPZkJpcnRoLnByb3RvEgZwbGF5ZXIiLwoVVXBkYXRlUGxhY2VPZkJpcnRoUmVxEhYKDnBsYWNlX29mX2JpcnRoGAEgASgJYgZwcm90bzM\");\n\n/**\n * @generated from message player.UpdatePlaceOfBirthReq\n */\nexport type UpdatePlaceOfBirthReq = Message<\"player.UpdatePlaceOfBirthReq\"> & {\n /**\n * @generated from field: string place_of_birth = 1;\n */\n placeOfBirth: string;\n};\n\n/**\n * Describes the message player.UpdatePlaceOfBirthReq.\n * Use `create(UpdatePlaceOfBirthReqSchema)` to create a new message.\n */\nexport const UpdatePlaceOfBirthReqSchema: GenMessage<UpdatePlaceOfBirthReq> = /*@__PURE__*/\n messageDesc(file_player_UpdatePlaceOfBirth, 0);\n\n","// @generated by protoc-gen-es v2.10.2 with parameter \"target=ts\"\n// @generated from file player/UpdateGender.proto (package player, syntax proto3)\n/* eslint-disable */\n\nimport type { GenEnum, GenFile, GenMessage } from \"@bufbuild/protobuf/codegenv2\";\nimport { enumDesc, fileDesc, messageDesc } from \"@bufbuild/protobuf/codegenv2\";\nimport type { Message } from \"@bufbuild/protobuf\";\n\n/**\n * Describes the file player/UpdateGender.proto.\n */\nexport const file_player_UpdateGender: GenFile = /*@__PURE__*/\n fileDesc(\"ChlwbGF5ZXIvVXBkYXRlR2VuZGVyLnByb3RvEgZwbGF5ZXIicQoPVXBkYXRlR2VuZGVyUmVxEjMKBmdlbmRlchgBIAEoDjIeLnBsYXllci5VcGRhdGVHZW5kZXJSZXEuR2VuZGVySACIAQEiHgoGR2VuZGVyEgoKBkZFTUFMRRAAEggKBE1BTEUQAUIJCgdfZ2VuZGVyYgZwcm90bzM\");\n\n/**\n * @generated from message player.UpdateGenderReq\n */\nexport type UpdateGenderReq = Message<\"player.UpdateGenderReq\"> & {\n /**\n * @generated from field: optional player.UpdateGenderReq.Gender gender = 1;\n */\n gender?: UpdateGenderReq_Gender;\n};\n\n/**\n * Describes the message player.UpdateGenderReq.\n * Use `create(UpdateGenderReqSchema)` to create a new message.\n */\nexport const UpdateGenderReqSchema: GenMessage<UpdateGenderReq> = /*@__PURE__*/\n messageDesc(file_player_UpdateGender, 0);\n\n/**\n * @generated from enum player.UpdateGenderReq.Gender\n */\nexport enum UpdateGenderReq_Gender {\n /**\n * @generated from enum value: FEMALE = 0;\n */\n FEMALE = 0,\n\n /**\n * @generated from enum value: MALE = 1;\n */\n MALE = 1,\n}\n\n/**\n * Describes the enum player.UpdateGenderReq.Gender.\n */\nexport const UpdateGenderReq_GenderSchema: GenEnum<UpdateGenderReq_Gender> = /*@__PURE__*/\n enumDesc(file_player_UpdateGender, 0, 0);\n\n","// @generated by protoc-gen-es v2.10.2 with parameter \"target=ts\"\n// @generated from file player/UpdateNickname.proto (package player, syntax proto3)\n/* eslint-disable */\n\nimport type { GenFile, GenMessage } from \"@bufbuild/protobuf/codegenv2\";\nimport { fileDesc, messageDesc } from \"@bufbuild/protobuf/codegenv2\";\nimport type { Message } from \"@bufbuild/protobuf\";\n\n/**\n * Describes the file player/UpdateNickname.proto.\n */\nexport const file_player_UpdateNickname: GenFile = /*@__PURE__*/\n fileDesc(\"ChtwbGF5ZXIvVXBkYXRlTmlja25hbWUucHJvdG8SBnBsYXllciIlChFVcGRhdGVOaWNrbmFtZVJlcRIQCghuaWNrbmFtZRgBIAEoCWIGcHJvdG8z\");\n\n/**\n * @generated from message player.UpdateNicknameReq\n */\nexport type UpdateNicknameReq = Message<\"player.UpdateNicknameReq\"> & {\n /**\n * @generated from field: string nickname = 1;\n */\n nickname: string;\n};\n\n/**\n * Describes the message player.UpdateNicknameReq.\n * Use `create(UpdateNicknameReqSchema)` to create a new message.\n */\nexport const UpdateNicknameReqSchema: GenMessage<UpdateNicknameReq> = /*@__PURE__*/\n messageDesc(file_player_UpdateNickname, 0);\n\n","// @generated by protoc-gen-es v2.10.2 with parameter \"target=ts\"\n// @generated from file player/UpdateEmail.proto (package player, syntax proto3)\n/* eslint-disable */\n\nimport type { GenFile, GenMessage } from \"@bufbuild/protobuf/codegenv2\";\nimport { fileDesc, messageDesc } from \"@bufbuild/protobuf/codegenv2\";\nimport type { Message } from \"@bufbuild/protobuf\";\n\n/**\n * Describes the file player/UpdateEmail.proto.\n */\nexport const file_player_UpdateEmail: GenFile = /*@__PURE__*/\n fileDesc(\"ChhwbGF5ZXIvVXBkYXRlRW1haWwucHJvdG8SBnBsYXllciJACg5VcGRhdGVFbWFpbFJlcRINCgVlbWFpbBgBIAEoCRIRCglvbGRfZW1haWwYAiABKAkSDAoEY29kZRgDIAEoCWIGcHJvdG8z\");\n\n/**\n * @generated from message player.UpdateEmailReq\n */\nexport type UpdateEmailReq = Message<\"player.UpdateEmailReq\"> & {\n /**\n * @generated from field: string email = 1;\n */\n email: string;\n\n /**\n * @generated from field: string old_email = 2;\n */\n oldEmail: string;\n\n /**\n * @generated from field: string code = 3;\n */\n code: string;\n};\n\n/**\n * Describes the message player.UpdateEmailReq.\n * Use `create(UpdateEmailReqSchema)` to create a new message.\n */\nexport const UpdateEmailReqSchema: GenMessage<UpdateEmailReq> = /*@__PURE__*/\n messageDesc(file_player_UpdateEmail, 0);\n\n","// @generated by protoc-gen-es v2.10.2 with parameter \"target=ts\"\n// @generated from file player/UpdateAddress.proto (package player, syntax proto3)\n/* eslint-disable */\n\nimport type { GenFile, GenMessage } from \"@bufbuild/protobuf/codegenv2\";\nimport { fileDesc, messageDesc } from \"@bufbuild/protobuf/codegenv2\";\nimport type { Message } from \"@bufbuild/protobuf\";\n\n/**\n * Describes the file player/UpdateAddress.proto.\n */\nexport const file_player_UpdateAddress: GenFile = /*@__PURE__*/\n fileDesc(\"ChpwbGF5ZXIvVXBkYXRlQWRkcmVzcy5wcm90bxIGcGxheWVyIm4KEFVwZGF0ZUFkZHJlc3NSZXESDwoHYWRkcmVzcxgBIAEoCRIXCg9jdXJyZW50X2FkZHJlc3MYAiABKAkSDAoEY2l0eRgDIAEoCRIQCghwcm92aW5jZRgEIAEoCRIQCghwb3N0Y29kZRgFIAEoCWIGcHJvdG8z\");\n\n/**\n * @generated from message player.UpdateAddressReq\n */\nexport type UpdateAddressReq = Message<\"player.UpdateAddressReq\"> & {\n /**\n * @generated from field: string address = 1;\n */\n address: string;\n\n /**\n * @generated from field: string current_address = 2;\n */\n currentAddress: string;\n\n /**\n * @generated from field: string city = 3;\n */\n city: string;\n\n /**\n * @generated from field: string province = 4;\n */\n province: string;\n\n /**\n * @generated from field: string postcode = 5;\n */\n postcode: string;\n};\n\n/**\n * Describes the message player.UpdateAddressReq.\n * Use `create(UpdateAddressReqSchema)` to create a new message.\n */\nexport const UpdateAddressReqSchema: GenMessage<UpdateAddressReq> = /*@__PURE__*/\n messageDesc(file_player_UpdateAddress, 0);\n\n","// @generated by protoc-gen-es v2.10.2 with parameter \"target=ts\"\n// @generated from file player/UpdatePhone.proto (package player, syntax proto3)\n/* eslint-disable */\n\nimport type { GenFile, GenMessage } from \"@bufbuild/protobuf/codegenv2\";\nimport { fileDesc, messageDesc } from \"@bufbuild/protobuf/codegenv2\";\nimport type { Message } from \"@bufbuild/protobuf\";\n\n/**\n * Describes the file player/UpdatePhone.proto.\n */\nexport const file_player_UpdatePhone: GenFile = /*@__PURE__*/\n fileDesc(\"ChhwbGF5ZXIvVXBkYXRlUGhvbmUucHJvdG8SBnBsYXllciItCg5VcGRhdGVQaG9uZVJlcRINCgVwaG9uZRgBIAEoCRIMCgRjb2RlGAIgASgJYgZwcm90bzM\");\n\n/**\n * @generated from message player.UpdatePhoneReq\n */\nexport type UpdatePhoneReq = Message<\"player.UpdatePhoneReq\"> & {\n /**\n * @generated from field: string phone = 1;\n */\n phone: string;\n\n /**\n * @generated from field: string code = 2;\n */\n code: string;\n};\n\n/**\n * Describes the message player.UpdatePhoneReq.\n * Use `create(UpdatePhoneReqSchema)` to create a new message.\n */\nexport const UpdatePhoneReqSchema: GenMessage<UpdatePhoneReq> = /*@__PURE__*/\n messageDesc(file_player_UpdatePhone, 0);\n\n","// @generated by protoc-gen-es v2.10.2 with parameter \"target=ts\"\n// @generated from file player/UpdatePlayerAvatar.proto (package player, syntax proto3)\n/* eslint-disable */\n\nimport type { GenFile, GenMessage } from \"@bufbuild/protobuf/codegenv2\";\nimport { fileDesc, messageDesc } from \"@bufbuild/protobuf/codegenv2\";\nimport type { Message } from \"@bufbuild/protobuf\";\n\n/**\n * Describes the file player/UpdatePlayerAvatar.proto.\n */\nexport const file_player_UpdatePlayerAvatar: GenFile = /*@__PURE__*/\n fileDesc(\"Ch9wbGF5ZXIvVXBkYXRlUGxheWVyQXZhdGFyLnByb3RvEgZwbGF5ZXIiLgoVVXBkYXRlUGxheWVyQXZhdGFyUmVxEhUKDXBsYXllcl9hdmF0YXIYASABKAliBnByb3RvMw\");\n\n/**\n * @generated from message player.UpdatePlayerAvatarReq\n */\nexport type UpdatePlayerAvatarReq = Message<\"player.UpdatePlayerAvatarReq\"> & {\n /**\n * @generated from field: string player_avatar = 1;\n */\n playerAvatar: string;\n};\n\n/**\n * Describes the message player.UpdatePlayerAvatarReq.\n * Use `create(UpdatePlayerAvatarReqSchema)` to create a new message.\n */\nexport const UpdatePlayerAvatarReqSchema: GenMessage<UpdatePlayerAvatarReq> = /*@__PURE__*/\n messageDesc(file_player_UpdatePlayerAvatar, 0);\n\n","// @generated by protoc-gen-es v2.10.2 with parameter \"target=ts\"\n// @generated from file player/UpdateEKyc.proto (package player, syntax proto3)\n/* eslint-disable */\n\nimport type { GenEnum, GenFile, GenMessage } from \"@bufbuild/protobuf/codegenv2\";\nimport { enumDesc, fileDesc, messageDesc } from \"@bufbuild/protobuf/codegenv2\";\nimport type { Message } from \"@bufbuild/protobuf\";\n\n/**\n * Describes the file player/UpdateEKyc.proto.\n */\nexport const file_player_UpdateEKyc: GenFile = /*@__PURE__*/\n fileDesc(\"ChdwbGF5ZXIvVXBkYXRlRUt5Yy5wcm90bxIGcGxheWVyIpkkCg1VcGRhdGVFS3ljUmVxEigKBHN0ZXAYASABKA4yGi5wbGF5ZXIuVXBkYXRlRUt5Y1JlcS5TdGVwEgsKA2RvYhgCIAEoCRIWCg5wbGFjZV9vZl9iaXJ0aBgDIAEoCRISCgpmaXJzdF9uYW1lGAQgASgJEhMKC21pZGRsZV9uYW1lGAUgASgJEhEKCWxhc3RfbmFtZRgGIAEoCRIRCglmdWxsX25hbWUYByABKAkSFgoObmF0dXJlX29mX3dvcmsYCCABKAkSFwoPc291cmNlX29mX2Z1bmRzGAkgASgJEjwKC25hdGlvbmFsaXR5GAogASgOMicucGxheWVyLlVwZGF0ZUVLeWNSZXEuUGxheWVyTmF0aW9uYWxpdHkSDwoHYWRkcmVzcxgLIAEoCRIXCg9wbGF5ZXJfcHJvdmluY2UYDCABKAkSEwoLcGxheWVyX2NpdHkYDSABKAkSPgoNcGhvdG9faWRfdHlwZRgOIAEoDjInLnBsYXllci5VcGRhdGVFS3ljUmVxLlBsYXllclBob3RvSWRUeXBlEhAKCHBob3RvX2lkGA8gASgJEhQKDHZlcmlmeV9waG90bxgQIAEoCSKjAQoEU3RlcBIUChBTVEVQX1VOU1BFQ0lGSUVEEAASDAoIU1RFUF9PTkUQARIMCghTVEVQX1RXTxACEg4KClNURVBfVEhSRUUQAxINCglTVEVQX0ZPVVIQBBINCglTVEVQX0ZJVkUQBRIMCghTVEVQX1NJWBAGEg4KClNURVBfU0VWRU4QBxIOCgpTVEVQX0VJR0hUEAgSDQoIU1RFUF9BTEwQj04i0x4KEVBsYXllck5hdGlvbmFsaXR5EhcKE0NPVU5UUllfVU5TUEVDSUZJRUQQABIPCgtBRkdIQU5JU1RBThABEgsKB0FMQkFOSUEQAhILCgdBTEdFUklBEAMSEgoOQU1FUklDQU5fU0FNT0EQBBILCgdBTkRPUlJBEAUSCgoGQU5HT0xBEAYSDAoIQU5HVUlMTEEQBxIXChNBTlRJR1VBX0FORF9CQVJCVURBEAgSDQoJQVJHRU5USU5BEAkSCwoHQVJNRU5JQRAKEgkKBUFSVUJBEAsSDQoJQVVTVFJBTElBEAwSCwoHQVVTVFJJQRANEg4KCkFaRVJCQUlKQU4QDhILCgdCQUhBTUFTEA8SCwoHQkFIUkFJThAQEg4KCkJBTkdMQURFU0gQERIMCghCQVJCQURPUxASEgsKB0JFTEFSVVMQExILCgdCRUxHSVVNEBQSCgoGQkVMSVpFEBUSCQoFQkVOSU4QFhILCgdCRVJNVURBEBcSCgoGQkhVVEFOEBgSCwoHQk9MSVZJQRAZEgsKB0JPTkFJUkUQGhIaChZCT1NOSUFfQU5EX0hFUlpFR09WSU5BEBsSDAoIQk9UU1dBTkEQHBIKCgZCUkFaSUwQHRIiCh5CUklUSVNIX0lORElBTl9PQ0VBTl9URVJSSVRPUlkQHhIKCgZCUlVORUkQHxIMCghCVUxHQVJJQRAgEhAKDEJVUktJTkFfRkFTTxAhEgsKB0JVUlVOREkQIhIMCghDQU1CT0RJQRAjEgwKCENBTUVST09OECQSCgoGQ0FOQURBECUSEgoOQ0FOQVJZX0lTTEFORFMQJhIOCgpDQVBFX1ZFUkRFECcSEgoOQ0FZTUFOX0lTTEFORFMQKBIcChhDRU5UUkFMX0FGUklDQU5fUkVQVUJMSUMQKRIICgRDSEFEECoSEwoPQ0hBTk5FTF9JU0xBTkRTECsSCQoFQ0hJTEUQLBIJCgVDSElOQRAtEhQKEENIUklTVE1BU19JU0xBTkQQLhIQCgxDT0NPU19JU0xBTkQQLxIMCghDT0xPTUJJQRAwEgsKB0NPTU9ST1MQMRIJCgVDT05HTxAyEhAKDENPT0tfSVNMQU5EUxAzEg4KCkNPU1RBX1JJQ0EQNBIRCg1DT1RFX0RfSVZPSVJFEDUSCwoHQ1JPQVRJQRA2EggKBENVQkEQNxILCgdDVVJBQ0FPEDgSCgoGQ1lQUlVTEDkSEgoOQ1pFQ0hfUkVQVUJMSUMQOhILCgdERU5NQVJLEDsSDAoIREpJQk9VVEkQPBIMCghET01JTklDQRA9EhYKEkRPTUlOSUNBTl9SRVBVQkxJQxA+Eg4KCkVBU1RfVElNT1IQPxILCgdFQ1VBRE9SEEASCQoFRUdZUFQQQRIPCgtFTF9TQUxWQURPUhBCEhUKEUVRVUFUT1JJQUxfR1VJTkVBEEMSCwoHRVJJVFJFQRBEEgsKB0VTVE9OSUEQRRIMCghFVEhJT1BJQRBGEhQKEEZBTEtMQU5EX0lTTEFORFMQRxIRCg1GQVJPRV9JU0xBTkRTEEgSCAoERklKSRBJEgsKB0ZJTkxBTkQQShIKCgZGUkFOQ0UQSxIRCg1GUkVOQ0hfR1VJQU5BEEwSFAoQRlJFTkNIX1BPTFlORVNJQRBNEh8KG0ZSRU5DSF9TT1VUSEVSTl9URVJSSVRPUklFUxBOEgkKBUdBQk9OEE8SCgoGR0FNQklBEFASCwoHR0VPUkdJQRBREgsKB0dFUk1BTlkQUhIJCgVHSEFOQRBTEg0KCUdJQlJBTFRBUhBUEhEKDUdSRUFUX0JSSVRBSU4QVRIKCgZHUkVFQ0UQVhINCglHUkVFTkxBTkQQVxILCgdHUkVOQURBEFgSDgoKR1VBREVMT1VQRRBZEggKBEdVQU0QWhINCglHVUFURU1BTEEQWxIKCgZHVUlORUEQXBIKCgZHVVlBTkEQXRIJCgVIQUlUSRBeEgoKBkhBV0FJSRBfEgwKCEhPTkRVUkFTEGASDQoJSE9OR19LT05HEGESCwoHSFVOR0FSWRBiEgsKB0lDRUxBTkQQYxINCglJTkRPTkVTSUEQZBIJCgVJTkRJQRBlEggKBElSQU4QZhIICgRJUkFREGcSCwoHSVJFTEFORBBoEg8KC0lTTEVfT0ZfTUFOEGkSCgoGSVNSQUVMEGoSCQoFSVRBTFkQaxILCgdKQU1BSUNBEGwSCQoFSkFQQU4QbRIKCgZKT1JEQU4QbhIOCgpLQVpBS0hTVEFOEG8SCQoFS0VOWUEQcBIMCghLSVJJQkFUSRBxEg8KC0tPUkVBX05PUlRIEHISDwoLS09SRUFfU09VVEgQcxIKCgZLVVdBSVQQdBIOCgpLWVJHWVpTVEFOEHUSCAoETEFPUxB2EgoKBkxBVFZJQRB3EgsKB0xFQkFOT04QeBILCgdMRVNPVEhPEHkSCwoHTElCRVJJQRB6EgkKBUxJQllBEHsSEQoNTElFQ0hURU5TVEVJThB8Eg0KCUxJVEhVQU5JQRB9Eg4KCkxVWEVNQk9VUkcQfhIJCgVNQUNBVRB/Eg4KCU1BQ0VET05JQRCAARIPCgpNQURBR0FTQ0FSEIEBEg0KCE1BTEFZU0lBEIIBEgsKBk1BTEFXSRCDARINCghNQUxESVZFUxCEARIJCgRNQUxJEIUBEgoKBU1BTFRBEIYBEhUKEE1BUlNIQUxMX0lTTEFORFMQhwESDwoKTUFSVElOSVFVRRCIARIPCgpNQVVSSVRBTklBEIkBEg4KCU1BVVJJVElVUxCKARIMCgdNQVlPVFRFEIsBEgsKBk1FWElDTxCMARITCg5NSURXQVlfSVNMQU5EUxCNARIMCgdNT0xET1ZBEI4BEgsKBk1PTkFDTxCPARINCghNT05HT0xJQRCQARIPCgpNT05UU0VSUkFUEJEBEgwKB01PUk9DQ08QkgESDwoKTU9aQU1CSVFVRRCTARIMCgdNWUFOTUFSEJQBEgwKB05BTUlCSUEQlQESCgoFTkFVUlUQlgESCgoFTkVQQUwQlwESGQoUTkVUSEVSTEFORFNfQU5USUxMRVMQmAESEAoLTkVUSEVSTEFORFMQmQESCgoFTkVWSVMQmgESEgoNTkVXX0NBTEVET05JQRCbARIQCgtORVdfWkVBTEFORBCcARIOCglOSUNBUkFHVUEQnQESCgoFTklHRVIQngESDAoHTklHRVJJQRCfARIJCgROSVVFEKABEhMKDk5PUkZPTEtfSVNMQU5EEKEBEgsKBk5PUldBWRCiARIJCgRPTUFOEKMBEg0KCFBBS0lTVEFOEKQBEhEKDFBBTEFVX0lTTEFORBClARIOCglQQUxFU1RJTkUQpgESCwoGUEFOQU1BEKcBEhUKEFBBUFVBX05FV19HVUlORUEQqAESDQoIUEFSQUdVQVkQqQESCQoEUEVSVRCqARIQCgtQSElMSVBQSU5FUxCrARIUCg9QSVRDQUlSTl9JU0xBTkQQrAESCwoGUE9MQU5EEK0BEg0KCFBPUlRVR0FMEK4BEhAKC1BVRVJUT19SSUNPEK8BEgoKBVFBVEFSELABEhsKFlJFUFVCTElDX09GX01PTlRFTkVHUk8QsQESFwoSUkVQVUJMSUNfT0ZfU0VSQklBELIBEgwKB1JFVU5JT04QswESDAoHUk9NQU5JQRC0ARILCgZSVVNTSUEQtQESCwoGUldBTkRBELYBEhIKDVNUX0JBUlRIRUxFTVkQtwESEQoMU1RfRVVTVEFUSVVTELgBEg4KCVNUX0hFTEVOQRC5ARITCg5TVF9LSVRUU19ORVZJUxC6ARINCghTVF9MVUNJQRC7ARIPCgpTVF9NQUFSVEVOELwBEhsKFlNUX1BJRVJSRV9BTkRfTUlRVUVMT04QvQESHgoZU1RfVklOQ0VOVF9BTkRfR1JFTkFESU5FUxC+ARILCgZTQUlQQU4QvwESCgoFU0FNT0EQwAESEwoOU0FNT0FfQU1FUklDQU4QwQESDwoKU0FOX01BUklOTxDCARIaChVTQU9fVE9NRV9BTkRfUFJJTkNJUEUQwwESEQoMU0FVRElfQVJBQklBEMQBEgwKB1NFTkVHQUwQxQESDwoKU0VZQ0hFTExFUxDGARIRCgxTSUVSUkFfTEVPTkUQxwESDgoJU0lOR0FQT1JFEMgBEg0KCFNMT1ZBS0lBEMkBEg0KCFNMT1ZFTklBEMoBEhQKD1NPTE9NT05fSVNMQU5EUxDLARIMCgdTT01BTElBEMwBEhEKDFNPVVRIX0FGUklDQRDNARIKCgVTUEFJThDOARIOCglTUklfTEFOS0EQzwESCgoFU1VEQU4Q0AESDQoIU1VSSU5BTUUQ0QESDgoJU1dBWklMQU5EENIBEgsKBlNXRURFThDTARIQCgtTV0lUWkVSTEFORBDUARIKCgVTWVJJQRDVARILCgZUQUhJVEkQ1gESCwoGVEFJV0FOENcBEg8KClRBSklLSVNUQU4Q2AESDQoIVEFOWkFOSUEQ2QESDQoIVEhBSUxBTkQQ2gESCQoEVE9HTxDbARIMCgdUT0tFTEFVENwBEgoKBVRPTkdBEN0BEhgKE1RSSU5JREFEX0FORF9UT0JBR08Q3gESDAoHVFVOSVNJQRDfARILCgZUVVJLRVkQ4AESEQoMVFVSS01FTklTVEFOEOEBEh0KGFRVUktTX0FORF9DQUlDT1NfSVNMQU5EUxDiARILCgZUVVZBTFUQ4wESCwoGVUdBTkRBEOQBEhMKDlVOSVRFRF9LSU5HRE9NEOUBEgwKB1VLUkFJTkUQ5gESGQoUVU5JVEVEX0FSQUJfRU1JUkFURVMQ5wESHQoYVU5JVEVEX1NUQVRFU19PRl9BTUVSSUNBEOgBEgwKB1VSVUdVQVkQ6QESDwoKVVpCRUtJU1RBThDqARIMCgdWQU5VQVRVEOsBEhcKElZBVElDQU5fQ0lUWV9TVEFURRDsARIOCglWRU5FWlVFTEEQ7QESDAoHVklFVE5BTRDuARIbChZWSVJHSU5fSVNMQU5EU19CUklUSVNIEO8BEhcKElZJUkdJTl9JU0xBTkRTX1VTQRDwARIQCgtXQUtFX0lTTEFORBDxARIeChlXQUxMSVNfQU5EX0ZVVFVOQV9JU0xBTkRTEPIBEgoKBVlFTUVOEPMBEgoKBVpBSVJFEPQBEgsKBlpBTUJJQRD1ARINCghaSU1CQUJXRRD2ASJYChFQbGF5ZXJQaG90b0lkVHlwZRIICgROT05FEAASCwoHSURfQ0FSRBABEhIKDkRSSVZFUl9MSUNFTlNFEAISDAoIUEFTU1BPUlQQAxIKCgZPVEhFUlMQBGIGcHJvdG8z\");\n\n/**\n * @generated from message player.UpdateEKycReq\n */\nexport type UpdateEKycReq = Message<\"player.UpdateEKycReq\"> & {\n /**\n * @generated from field: player.UpdateEKycReq.Step step = 1;\n */\n step: UpdateEKycReq_Step;\n\n /**\n * @generated from field: string dob = 2;\n */\n dob: string;\n\n /**\n * @generated from field: string place_of_birth = 3;\n */\n placeOfBirth: string;\n\n /**\n * @generated from field: string first_name = 4;\n */\n firstName: string;\n\n /**\n * @generated from field: string middle_name = 5;\n */\n middleName: string;\n\n /**\n * @generated from field: string last_name = 6;\n */\n lastName: string;\n\n /**\n * @generated from field: string full_name = 7;\n */\n fullName: string;\n\n /**\n * @generated from field: string nature_of_work = 8;\n */\n natureOfWork: string;\n\n /**\n * @generated from field: string source_of_funds = 9;\n */\n sourceOfFunds: string;\n\n /**\n * @generated from field: player.UpdateEKycReq.PlayerNationality nationality = 10;\n */\n nationality: UpdateEKycReq_PlayerNationality;\n\n /**\n * @generated from field: string address = 11;\n */\n address: string;\n\n /**\n * @generated from field: string player_province = 12;\n */\n playerProvince: string;\n\n /**\n * @generated from field: string player_city = 13;\n */\n playerCity: string;\n\n /**\n * @generated from field: player.UpdateEKycReq.PlayerPhotoIdType photo_id_type = 14;\n */\n photoIdType: UpdateEKycReq_PlayerPhotoIdType;\n\n /**\n * @generated from field: string photo_id = 15;\n */\n photoId: string;\n\n /**\n * @generated from field: string verify_photo = 16;\n */\n verifyPhoto: string;\n};\n\n/**\n * Describes the message player.UpdateEKycReq.\n * Use `create(UpdateEKycReqSchema)` to create a new message.\n */\nexport const UpdateEKycReqSchema: GenMessage<UpdateEKycReq> = /*@__PURE__*/\n messageDesc(file_player_UpdateEKyc, 0);\n\n/**\n * @generated from enum player.UpdateEKycReq.Step\n */\nexport enum UpdateEKycReq_Step {\n /**\n * @generated from enum value: STEP_UNSPECIFIED = 0;\n */\n UNSPECIFIED = 0,\n\n /**\n * @generated from enum value: STEP_ONE = 1;\n */\n ONE = 1,\n\n /**\n * @generated from enum value: STEP_TWO = 2;\n */\n TWO = 2,\n\n /**\n * @generated from enum value: STEP_THREE = 3;\n */\n THREE = 3,\n\n /**\n * @generated from enum value: STEP_FOUR = 4;\n */\n FOUR = 4,\n\n /**\n * @generated from enum value: STEP_FIVE = 5;\n */\n FIVE = 5,\n\n /**\n * @generated from enum value: STEP_SIX = 6;\n */\n SIX = 6,\n\n /**\n * @generated from enum value: STEP_SEVEN = 7;\n */\n SEVEN = 7,\n\n /**\n * @generated from enum value: STEP_EIGHT = 8;\n */\n EIGHT = 8,\n\n /**\n * @generated from enum value: STEP_ALL = 9999;\n */\n ALL = 9999,\n}\n\n/**\n * Describes the enum player.UpdateEKycReq.Step.\n */\nexport const UpdateEKycReq_StepSchema: GenEnum<UpdateEKycReq_Step> = /*@__PURE__*/\n enumDesc(file_player_UpdateEKyc, 0, 0);\n\n/**\n * @generated from enum player.UpdateEKycReq.PlayerNationality\n */\nexport enum UpdateEKycReq_PlayerNationality {\n /**\n * @generated from enum value: COUNTRY_UNSPECIFIED = 0;\n */\n COUNTRY_UNSPECIFIED = 0,\n\n /**\n * @generated from enum value: AFGHANISTAN = 1;\n */\n AFGHANISTAN = 1,\n\n /**\n * @generated from enum value: ALBANIA = 2;\n */\n ALBANIA = 2,\n\n /**\n * @generated from enum value: ALGERIA = 3;\n */\n ALGERIA = 3,\n\n /**\n * @generated from enum value: AMERICAN_SAMOA = 4;\n */\n AMERICAN_SAMOA = 4,\n\n /**\n * @generated from enum value: ANDORRA = 5;\n */\n ANDORRA = 5,\n\n /**\n * @generated from enum value: ANGOLA = 6;\n */\n ANGOLA = 6,\n\n /**\n * @generated from enum value: ANGUILLA = 7;\n */\n ANGUILLA = 7,\n\n /**\n * @generated from enum value: ANTIGUA_AND_BARBUDA = 8;\n */\n ANTIGUA_AND_BARBUDA = 8,\n\n /**\n * @generated from enum value: ARGENTINA = 9;\n */\n ARGENTINA = 9,\n\n /**\n * @generated from enum value: ARMENIA = 10;\n */\n ARMENIA = 10,\n\n /**\n * @generated from enum value: ARUBA = 11;\n */\n ARUBA = 11,\n\n /**\n * @generated from enum value: AUSTRALIA = 12;\n */\n AUSTRALIA = 12,\n\n /**\n * @generated from enum value: AUSTRIA = 13;\n */\n AUSTRIA = 13,\n\n /**\n * @generated from enum value: AZERBAIJAN = 14;\n */\n AZERBAIJAN = 14,\n\n /**\n * @generated from enum value: BAHAMAS = 15;\n */\n BAHAMAS = 15,\n\n /**\n * @generated from enum value: BAHRAIN = 16;\n */\n BAHRAIN = 16,\n\n /**\n * @generated from enum value: BANGLADESH = 17;\n */\n BANGLADESH = 17,\n\n /**\n * @generated from enum value: BARBADOS = 18;\n */\n BARBADOS = 18,\n\n /**\n * @generated from enum value: BELARUS = 19;\n */\n BELARUS = 19,\n\n /**\n * @generated from enum value: BELGIUM = 20;\n */\n BELGIUM = 20,\n\n /**\n * @generated from enum value: BELIZE = 21;\n */\n BELIZE = 21,\n\n /**\n * @generated from enum value: BENIN = 22;\n */\n BENIN = 22,\n\n /**\n * @generated from enum value: BERMUDA = 23;\n */\n BERMUDA = 23,\n\n /**\n * @generated from enum value: BHUTAN = 24;\n */\n BHUTAN = 24,\n\n /**\n * @generated from enum value: BOLIVIA = 25;\n */\n BOLIVIA = 25,\n\n /**\n * @generated from enum value: BONAIRE = 26;\n */\n BONAIRE = 26,\n\n /**\n * @generated from enum value: BOSNIA_AND_HERZEGOVINA = 27;\n */\n BOSNIA_AND_HERZEGOVINA = 27,\n\n /**\n * @generated from enum value: BOTSWANA = 28;\n */\n BOTSWANA = 28,\n\n /**\n * @generated from enum value: BRAZIL = 29;\n */\n BRAZIL = 29,\n\n /**\n * @generated from enum value: BRITISH_INDIAN_OCEAN_TERRITORY = 30;\n */\n BRITISH_INDIAN_OCEAN_TERRITORY = 30,\n\n /**\n * @generated from enum value: BRUNEI = 31;\n */\n BRUNEI = 31,\n\n /**\n * @generated from enum value: BULGARIA = 32;\n */\n BULGARIA = 32,\n\n /**\n * @generated from enum value: BURKINA_FASO = 33;\n */\n BURKINA_FASO = 33,\n\n /**\n * @generated from enum value: BURUNDI = 34;\n */\n BURUNDI = 34,\n\n /**\n * @generated from enum value: CAMBODIA = 35;\n */\n CAMBODIA = 35,\n\n /**\n * @generated from enum value: CAMEROON = 36;\n */\n CAMEROON = 36,\n\n /**\n * @generated from enum value: CANADA = 37;\n */\n CANADA = 37,\n\n /**\n * @generated from enum value: CANARY_ISLANDS = 38;\n */\n CANARY_ISLANDS = 38,\n\n /**\n * @generated from enum value: CAPE_VERDE = 39;\n */\n CAPE_VERDE = 39,\n\n /**\n * @generated from enum value: CAYMAN_ISLANDS = 40;\n */\n CAYMAN_ISLANDS = 40,\n\n /**\n * @generated from enum value: CENTRAL_AFRICAN_REPUBLIC = 41;\n */\n CENTRAL_AFRICAN_REPUBLIC = 41,\n\n /**\n * @generated from enum value: CHAD = 42;\n */\n CHAD = 42,\n\n /**\n * @generated from enum value: CHANNEL_ISLANDS = 43;\n */\n CHANNEL_ISLANDS = 43,\n\n /**\n * @generated from enum value: CHILE = 44;\n */\n CHILE = 44,\n\n /**\n * @generated from enum value: CHINA = 45;\n */\n CHINA = 45,\n\n /**\n * @generated from enum value: CHRISTMAS_ISLAND = 46;\n */\n CHRISTMAS_ISLAND = 46,\n\n /**\n * @generated from enum value: COCOS_ISLAND = 47;\n */\n COCOS_ISLAND = 47,\n\n /**\n * @generated from enum value: COLOMBIA = 48;\n */\n COLOMBIA = 48,\n\n /**\n * @generated from enum value: COMOROS = 49;\n */\n COMOROS = 49,\n\n /**\n * @generated from enum value: CONGO = 50;\n */\n CONGO = 50,\n\n /**\n * @generated from enum value: COOK_ISLANDS = 51;\n */\n COOK_ISLANDS = 51,\n\n /**\n * @generated from enum value: COSTA_RICA = 52;\n */\n COSTA_RICA = 52,\n\n /**\n * @generated from enum value: COTE_D_IVOIRE = 53;\n */\n COTE_D_IVOIRE = 53,\n\n /**\n * @generated from enum value: CROATIA = 54;\n */\n CROATIA = 54,\n\n /**\n * @generated from enum value: CUBA = 55;\n */\n CUBA = 55,\n\n /**\n * @generated from enum value: CURACAO = 56;\n */\n CURACAO = 56,\n\n /**\n * @generated from enum value: CYPRUS = 57;\n */\n CYPRUS = 57,\n\n /**\n * @generated from enum value: CZECH_REPUBLIC = 58;\n */\n CZECH_REPUBLIC = 58,\n\n /**\n * @generated from enum value: DENMARK = 59;\n */\n DENMARK = 59,\n\n /**\n * @generated from enum value: DJIBOUTI = 60;\n */\n DJIBOUTI = 60,\n\n /**\n * @generated from enum value: DOMINICA = 61;\n */\n DOMINICA = 61,\n\n /**\n * @generated from enum value: DOMINICAN_REPUBLIC = 62;\n */\n DOMINICAN_REPUBLIC = 62,\n\n /**\n * @generated from enum value: EAST_TIMOR = 63;\n */\n EAST_TIMOR = 63,\n\n /**\n * @generated from enum value: ECUADOR = 64;\n */\n ECUADOR = 64,\n\n /**\n * @generated from enum value: EGYPT = 65;\n */\n EGYPT = 65,\n\n /**\n * @generated from enum value: EL_SALVADOR = 66;\n */\n EL_SALVADOR = 66,\n\n /**\n * @generated from enum value: EQUATORIAL_GUINEA = 67;\n */\n EQUATORIAL_GUINEA = 67,\n\n /**\n * @generated from enum value: ERITREA = 68;\n */\n ERITREA = 68,\n\n /**\n * @generated from enum value: ESTONIA = 69;\n */\n ESTONIA = 69,\n\n /**\n * @generated from enum value: ETHIOPIA = 70;\n */\n ETHIOPIA = 70,\n\n /**\n * @generated from enum value: FALKLAND_ISLANDS = 71;\n */\n FALKLAND_ISLANDS = 71,\n\n /**\n * @generated from enum value: FAROE_ISLANDS = 72;\n */\n FAROE_ISLANDS = 72,\n\n /**\n * @generated from enum value: FIJI = 73;\n */\n FIJI = 73,\n\n /**\n * @generated from enum value: FINLAND = 74;\n */\n FINLAND = 74,\n\n /**\n * @generated from enum value: FRANCE = 75;\n */\n FRANCE = 75,\n\n /**\n * @generated from enum value: FRENCH_GUIANA = 76;\n */\n FRENCH_GUIANA = 76,\n\n /**\n * @generated from enum value: FRENCH_POLYNESIA = 77;\n */\n FRENCH_POLYNESIA = 77,\n\n /**\n * @generated from enum value: FRENCH_SOUTHERN_TERRITORIES = 78;\n */\n FRENCH_SOUTHERN_TERRITORIES = 78,\n\n /**\n * @generated from enum value: GABON = 79;\n */\n GABON = 79,\n\n /**\n * @generated from enum value: GAMBIA = 80;\n */\n GAMBIA = 80,\n\n /**\n * @generated from enum value: GEORGIA = 81;\n */\n GEORGIA = 81,\n\n /**\n * @generated from enum value: GERMANY = 82;\n */\n GERMANY = 82,\n\n /**\n * @generated from enum value: GHANA = 83;\n */\n GHANA = 83,\n\n /**\n * @generated from enum value: GIBRALTAR = 84;\n */\n GIBRALTAR = 84,\n\n /**\n * @generated from enum value: GREAT_BRITAIN = 85;\n */\n GREAT_BRITAIN = 85,\n\n /**\n * @generated from enum value: GREECE = 86;\n */\n GREECE = 86,\n\n /**\n * @generated from enum value: GREENLAND = 87;\n */\n GREENLAND = 87,\n\n /**\n * @generated from enum value: GRENADA = 88;\n */\n GRENADA = 88,\n\n /**\n * @generated from enum value: GUADELOUPE = 89;\n */\n GUADELOUPE = 89,\n\n /**\n * @generated from enum value: GUAM = 90;\n */\n GUAM = 90,\n\n /**\n * @generated from enum value: GUATEMALA = 91;\n */\n GUATEMALA = 91,\n\n /**\n * @generated from enum value: GUINEA = 92;\n */\n GUINEA = 92,\n\n /**\n * @generated from enum value: GUYANA = 93;\n */\n GUYANA = 93,\n\n /**\n * @generated from enum value: HAITI = 94;\n */\n HAITI = 94,\n\n /**\n * @generated from enum value: HAWAII = 95;\n */\n HAWAII = 95,\n\n /**\n * @generated from enum value: HONDURAS = 96;\n */\n HONDURAS = 96,\n\n /**\n * @generated from enum value: HONG_KONG = 97;\n */\n HONG_KONG = 97,\n\n /**\n * @generated from enum value: HUNGARY = 98;\n */\n HUNGARY = 98,\n\n /**\n * @generated from enum value: ICELAND = 99;\n */\n ICELAND = 99,\n\n /**\n * @generated from enum value: INDONESIA = 100;\n */\n INDONESIA = 100,\n\n /**\n * @generated from enum value: INDIA = 101;\n */\n INDIA = 101,\n\n /**\n * @generated from enum value: IRAN = 102;\n */\n IRAN = 102,\n\n /**\n * @generated from enum value: IRAQ = 103;\n */\n IRAQ = 103,\n\n /**\n * @generated from enum value: IRELAND = 104;\n */\n IRELAND = 104,\n\n /**\n * @generated from enum value: ISLE_OF_MAN = 105;\n */\n ISLE_OF_MAN = 105,\n\n /**\n * @generated from enum value: ISRAEL = 106;\n */\n ISRAEL = 106,\n\n /**\n * @generated from enum value: ITALY = 107;\n */\n ITALY = 107,\n\n /**\n * @generated from enum value: JAMAICA = 108;\n */\n JAMAICA = 108,\n\n /**\n * @generated from enum value: JAPAN = 109;\n */\n JAPAN = 109,\n\n /**\n * @generated from enum value: JORDAN = 110;\n */\n JORDAN = 110,\n\n /**\n * @generated from enum value: KAZAKHSTAN = 111;\n */\n KAZAKHSTAN = 111,\n\n /**\n * @generated from enum value: KENYA = 112;\n */\n KENYA = 112,\n\n /**\n * @generated from enum value: KIRIBATI = 113;\n */\n KIRIBATI = 113,\n\n /**\n * @generated from enum value: KOREA_NORTH = 114;\n */\n KOREA_NORTH = 114,\n\n /**\n * @generated from enum value: KOREA_SOUTH = 115;\n */\n KOREA_SOUTH = 115,\n\n /**\n * @generated from enum value: KUWAIT = 116;\n */\n KUWAIT = 116,\n\n /**\n * @generated from enum value: KYRGYZSTAN = 117;\n */\n KYRGYZSTAN = 117,\n\n /**\n * @generated from enum value: LAOS = 118;\n */\n LAOS = 118,\n\n /**\n * @generated from enum value: LATVIA = 119;\n */\n LATVIA = 119,\n\n /**\n * @generated from enum value: LEBANON = 120;\n */\n LEBANON = 120,\n\n /**\n * @generated from enum value: LESOTHO = 121;\n */\n LESOTHO = 121,\n\n /**\n * @generated from enum value: LIBERIA = 122;\n */\n LIBERIA = 122,\n\n /**\n * @generated from enum value: LIBYA = 123;\n */\n LIBYA = 123,\n\n /**\n * @generated from enum value: LIECHTENSTEIN = 124;\n */\n LIECHTENSTEIN = 124,\n\n /**\n * @generated from enum value: LITHUANIA = 125;\n */\n LITHUANIA = 125,\n\n /**\n * @generated from enum value: LUXEMBOURG = 126;\n */\n LUXEMBOURG = 126,\n\n /**\n * @generated from enum value: MACAU = 127;\n */\n MACAU = 127,\n\n /**\n * @generated from enum value: MACEDONIA = 128;\n */\n MACEDONIA = 128,\n\n /**\n * @generated from enum value: MADAGASCAR = 129;\n */\n MADAGASCAR = 129,\n\n /**\n * @generated from enum value: MALAYSIA = 130;\n */\n MALAYSIA = 130,\n\n /**\n * @generated from enum value: MALAWI = 131;\n */\n MALAWI = 131,\n\n /**\n * @generated from enum value: MALDIVES = 132;\n */\n MALDIVES = 132,\n\n /**\n * @generated from enum value: MALI = 133;\n */\n MALI = 133,\n\n /**\n * @generated from enum value: MALTA = 134;\n */\n MALTA = 134,\n\n /**\n * @generated from enum value: MARSHALL_ISLANDS = 135;\n */\n MARSHALL_ISLANDS = 135,\n\n /**\n * @generated from enum value: MARTINIQUE = 136;\n */\n MARTINIQUE = 136,\n\n /**\n * @generated from enum value: MAURITANIA = 137;\n */\n MAURITANIA = 137,\n\n /**\n * @generated from enum value: MAURITIUS = 138;\n */\n MAURITIUS = 138,\n\n /**\n * @generated from enum value: MAYOTTE = 139;\n */\n MAYOTTE = 139,\n\n /**\n * @generated from enum value: MEXICO = 140;\n */\n MEXICO = 140,\n\n /**\n * @generated from enum value: MIDWAY_ISLANDS = 141;\n */\n MIDWAY_ISLANDS = 141,\n\n /**\n * @generated from enum value: MOLDOVA = 142;\n */\n MOLDOVA = 142,\n\n /**\n * @generated from enum value: MONACO = 143;\n */\n MONACO = 143,\n\n /**\n * @generated from enum value: MONGOLIA = 144;\n */\n MONGOLIA = 144,\n\n /**\n * @generated from enum value: MONTSERRAT = 145;\n */\n MONTSERRAT = 145,\n\n /**\n * @generated from enum value: MOROCCO = 146;\n */\n MOROCCO = 146,\n\n /**\n * @generated from enum value: MOZAMBIQUE = 147;\n */\n MOZAMBIQUE = 147,\n\n /**\n * @generated from enum value: MYANMAR = 148;\n */\n MYANMAR = 148,\n\n /**\n * @generated from enum value: NAMIBIA = 149;\n */\n NAMIBIA = 149,\n\n /**\n * @generated from enum value: NAURU = 150;\n */\n NAURU = 150,\n\n /**\n * @generated from enum value: NEPAL = 151;\n */\n NEPAL = 151,\n\n /**\n * @generated from enum value: NETHERLANDS_ANTILLES = 152;\n */\n NETHERLANDS_ANTILLES = 152,\n\n /**\n * @generated from enum value: NETHERLANDS = 153;\n */\n NETHERLANDS = 153,\n\n /**\n * @generated from enum value: NEVIS = 154;\n */\n NEVIS = 154,\n\n /**\n * @generated from enum value: NEW_CALEDONIA = 155;\n */\n NEW_CALEDONIA = 155,\n\n /**\n * @generated from enum value: NEW_ZEALAND = 156;\n */\n NEW_ZEALAND = 156,\n\n /**\n * @generated from enum value: NICARAGUA = 157;\n */\n NICARAGUA = 157,\n\n /**\n * @generated from enum value: NIGER = 158;\n */\n NIGER = 158,\n\n /**\n * @generated from enum value: NIGERIA = 159;\n */\n NIGERIA = 159,\n\n /**\n * @generated from enum value: NIUE = 160;\n */\n NIUE = 160,\n\n /**\n * @generated from enum value: NORFOLK_ISLAND = 161;\n */\n NORFOLK_ISLAND = 161,\n\n /**\n * @generated from enum value: NORWAY = 162;\n */\n NORWAY = 162,\n\n /**\n * @generated from enum value: OMAN = 163;\n */\n OMAN = 163,\n\n /**\n * @generated from enum value: PAKISTAN = 164;\n */\n PAKISTAN = 164,\n\n /**\n * @generated from enum value: PALAU_ISLAND = 165;\n */\n PALAU_ISLAND = 165,\n\n /**\n * @generated from enum value: PALESTINE = 166;\n */\n PALESTINE = 166,\n\n /**\n * @generated from enum value: PANAMA = 167;\n */\n PANAMA = 167,\n\n /**\n * @generated from enum value: PAPUA_NEW_GUINEA = 168;\n */\n PAPUA_NEW_GUINEA = 168,\n\n /**\n * @generated from enum value: PARAGUAY = 169;\n */\n PARAGUAY = 169,\n\n /**\n * @generated from enum value: PERU = 170;\n */\n PERU = 170,\n\n /**\n * @generated from enum value: PHILIPPINES = 171;\n */\n PHILIPPINES = 171,\n\n /**\n * @generated from enum value: PITCAIRN_ISLAND = 172;\n */\n PITCAIRN_ISLAND = 172,\n\n /**\n * @generated from enum value: POLAND = 173;\n */\n POLAND = 173,\n\n /**\n * @generated from enum value: PORTUGAL = 174;\n */\n PORTUGAL = 174,\n\n /**\n * @generated from enum value: PUERTO_RICO = 175;\n */\n PUERTO_RICO = 175,\n\n /**\n * @generated from enum value: QATAR = 176;\n */\n QATAR = 176,\n\n /**\n * @generated from enum value: REPUBLIC_OF_MONTENEGRO = 177;\n */\n REPUBLIC_OF_MONTENEGRO = 177,\n\n /**\n * @generated from enum value: REPUBLIC_OF_SERBIA = 178;\n */\n REPUBLIC_OF_SERBIA = 178,\n\n /**\n * @generated from enum value: REUNION = 179;\n */\n REUNION = 179,\n\n /**\n * @generated from enum value: ROMANIA = 180;\n */\n ROMANIA = 180,\n\n /**\n * @generated from enum value: RUSSIA = 181;\n */\n RUSSIA = 181,\n\n /**\n * @generated from enum value: RWANDA = 182;\n */\n RWANDA = 182,\n\n /**\n * @generated from enum value: ST_BARTHELEMY = 183;\n */\n ST_BARTHELEMY = 183,\n\n /**\n * @generated from enum value: ST_EUSTATIUS = 184;\n */\n ST_EUSTATIUS = 184,\n\n /**\n * @generated from enum value: ST_HELENA = 185;\n */\n ST_HELENA = 185,\n\n /**\n * @generated from enum value: ST_KITTS_NEVIS = 186;\n */\n ST_KITTS_NEVIS = 186,\n\n /**\n * @generated from enum value: ST_LUCIA = 187;\n */\n ST_LUCIA = 187,\n\n /**\n * @generated from enum value: ST_MAARTEN = 188;\n */\n ST_MAARTEN = 188,\n\n /**\n * @generated from enum value: ST_PIERRE_AND_MIQUELON = 189;\n */\n ST_PIERRE_AND_MIQUELON = 189,\n\n /**\n * @generated from enum value: ST_VINCENT_AND_GRENADINES = 190;\n */\n ST_VINCENT_AND_GRENADINES = 190,\n\n /**\n * @generated from enum value: SAIPAN = 191;\n */\n SAIPAN = 191,\n\n /**\n * @generated from enum value: SAMOA = 192;\n */\n SAMOA = 192,\n\n /**\n * @generated from enum value: SAMOA_AMERICAN = 193;\n */\n SAMOA_AMERICAN = 193,\n\n /**\n * @generated from enum value: SAN_MARINO = 194;\n */\n SAN_MARINO = 194,\n\n /**\n * @generated from enum value: SAO_TOME_AND_PRINCIPE = 195;\n */\n SAO_TOME_AND_PRINCIPE = 195,\n\n /**\n * @generated from enum value: SAUDI_ARABIA = 196;\n */\n SAUDI_ARABIA = 196,\n\n /**\n * @generated from enum value: SENEGAL = 197;\n */\n SENEGAL = 197,\n\n /**\n * @generated from enum value: SEYCHELLES = 198;\n */\n SEYCHELLES = 198,\n\n /**\n * @generated from enum value: SIERRA_LEONE = 199;\n */\n SIERRA_LEONE = 199,\n\n /**\n * @generated from enum value: SINGAPORE = 200;\n */\n SINGAPORE = 200,\n\n /**\n * @generated from enum value: SLOVAKIA = 201;\n */\n SLOVAKIA = 201,\n\n /**\n * @generated from enum value: SLOVENIA = 202;\n */\n SLOVENIA = 202,\n\n /**\n * @generated from enum value: SOLOMON_ISLANDS = 203;\n */\n SOLOMON_ISLANDS = 203,\n\n /**\n * @generated from enum value: SOMALIA = 204;\n */\n SOMALIA = 204,\n\n /**\n * @generated from enum value: SOUTH_AFRICA = 205;\n */\n SOUTH_AFRICA = 205,\n\n /**\n * @generated from enum value: SPAIN = 206;\n */\n SPAIN = 206,\n\n /**\n * @generated from enum value: SRI_LANKA = 207;\n */\n SRI_LANKA = 207,\n\n /**\n * @generated from enum value: SUDAN = 208;\n */\n SUDAN = 208,\n\n /**\n * @generated from enum value: SURINAME = 209;\n */\n SURINAME = 209,\n\n /**\n * @generated from enum value: SWAZILAND = 210;\n */\n SWAZILAND = 210,\n\n /**\n * @generated from enum value: SWEDEN = 211;\n */\n SWEDEN = 211,\n\n /**\n * @generated from enum value: SWITZERLAND = 212;\n */\n SWITZERLAND = 212,\n\n /**\n * @generated from enum value: SYRIA = 213;\n */\n SYRIA = 213,\n\n /**\n * @generated from enum value: TAHITI = 214;\n */\n TAHITI = 214,\n\n /**\n * @generated from enum value: TAIWAN = 215;\n */\n TAIWAN = 215,\n\n /**\n * @generated from enum value: TAJIKISTAN = 216;\n */\n TAJIKISTAN = 216,\n\n /**\n * @generated from enum value: TANZANIA = 217;\n */\n TANZANIA = 217,\n\n /**\n * @generated from enum value: THAILAND = 218;\n */\n THAILAND = 218,\n\n /**\n * @generated from enum value: TOGO = 219;\n */\n TOGO = 219,\n\n /**\n * @generated from enum value: TOKELAU = 220;\n */\n TOKELAU = 220,\n\n /**\n * @generated from enum value: TONGA = 221;\n */\n TONGA = 221,\n\n /**\n * @generated from enum value: TRINIDAD_AND_TOBAGO = 222;\n */\n TRINIDAD_AND_TOBAGO = 222,\n\n /**\n * @generated from enum value: TUNISIA = 223;\n */\n TUNISIA = 223,\n\n /**\n * @generated from enum value: TURKEY = 224;\n */\n TURKEY = 224,\n\n /**\n * @generated from enum value: TURKMENISTAN = 225;\n */\n TURKMENISTAN = 225,\n\n /**\n * @generated from enum value: TURKS_AND_CAICOS_ISLANDS = 226;\n */\n TURKS_AND_CAICOS_ISLANDS = 226,\n\n /**\n * @generated from enum value: TUVALU = 227;\n */\n TUVALU = 227,\n\n /**\n * @generated from enum value: UGANDA = 228;\n */\n UGANDA = 228,\n\n /**\n * @generated from enum value: UNITED_KINGDOM = 229;\n */\n UNITED_KINGDOM = 229,\n\n /**\n * @generated from enum value: UKRAINE = 230;\n */\n UKRAINE = 230,\n\n /**\n * @generated from enum value: UNITED_ARAB_EMIRATES = 231;\n */\n UNITED_ARAB_EMIRATES = 231,\n\n /**\n * @generated from enum value: UNITED_STATES_OF_AMERICA = 232;\n */\n UNITED_STATES_OF_AMERICA = 232,\n\n /**\n * @generated from enum value: URUGUAY = 233;\n */\n URUGUAY = 233,\n\n /**\n * @generated from enum value: UZBEKISTAN = 234;\n */\n UZBEKISTAN = 234,\n\n /**\n * @generated from enum value: VANUATU = 235;\n */\n VANUATU = 235,\n\n /**\n * @generated from enum value: VATICAN_CITY_STATE = 236;\n */\n VATICAN_CITY_STATE = 236,\n\n /**\n * @generated from enum value: VENEZUELA = 237;\n */\n VENEZUELA = 237,\n\n /**\n * @generated from enum value: VIETNAM = 238;\n */\n VIETNAM = 238,\n\n /**\n * @generated from enum value: VIRGIN_ISLANDS_BRITISH = 239;\n */\n VIRGIN_ISLANDS_BRITISH = 239,\n\n /**\n * @generated from enum value: VIRGIN_ISLANDS_USA = 240;\n */\n VIRGIN_ISLANDS_USA = 240,\n\n /**\n * @generated from enum value: WAKE_ISLAND = 241;\n */\n WAKE_ISLAND = 241,\n\n /**\n * @generated from enum value: WALLIS_AND_FUTUNA_ISLANDS = 242;\n */\n WALLIS_AND_FUTUNA_ISLANDS = 242,\n\n /**\n * @generated from enum value: YEMEN = 243;\n */\n YEMEN = 243,\n\n /**\n * @generated from enum value: ZAIRE = 244;\n */\n ZAIRE = 244,\n\n /**\n * @generated from enum value: ZAMBIA = 245;\n */\n ZAMBIA = 245,\n\n /**\n * @generated from enum value: ZIMBABWE = 246;\n */\n ZIMBABWE = 246,\n}\n\n/**\n * Describes the enum player.UpdateEKycReq.PlayerNationality.\n */\nexport const UpdateEKycReq_PlayerNationalitySchema: GenEnum<UpdateEKycReq_PlayerNationality> = /*@__PURE__*/\n enumDesc(file_player_UpdateEKyc, 0, 1);\n\n/**\n * @generated from enum player.UpdateEKycReq.PlayerPhotoIdType\n */\nexport enum UpdateEKycReq_PlayerPhotoIdType {\n /**\n * @generated from enum value: NONE = 0;\n */\n NONE = 0,\n\n /**\n * @generated from enum value: ID_CARD = 1;\n */\n ID_CARD = 1,\n\n /**\n * @generated from enum value: DRIVER_LICENSE = 2;\n */\n DRIVER_LICENSE = 2,\n\n /**\n * @generated from enum value: PASSPORT = 3;\n */\n PASSPORT = 3,\n\n /**\n * @generated from enum value: OTHERS = 4;\n */\n OTHERS = 4,\n}\n\n/**\n * Describes the enum player.UpdateEKycReq.PlayerPhotoIdType.\n */\nexport const UpdateEKycReq_PlayerPhotoIdTypeSchema: GenEnum<UpdateEKycReq_PlayerPhotoIdType> = /*@__PURE__*/\n enumDesc(file_player_UpdateEKyc, 0, 2);\n\n","// @generated by protoc-gen-es v2.10.2 with parameter \"target=ts\"\n// @generated from file player/GetSmsStatus.proto (package player, syntax proto3)\n/* eslint-disable */\n\nimport type { GenFile, GenMessage } from \"@bufbuild/protobuf/codegenv2\";\nimport { fileDesc, messageDesc } from \"@bufbuild/protobuf/codegenv2\";\nimport type { BaseResponse } from \"../common/Common_pb\";\nimport { file_common_Common } from \"../common/Common_pb\";\nimport type { Message } from \"@bufbuild/protobuf\";\n\n/**\n * Describes the file player/GetSmsStatus.proto.\n */\nexport const file_player_GetSmsStatus: GenFile = /*@__PURE__*/\n fileDesc(\"ChlwbGF5ZXIvR2V0U21zU3RhdHVzLnByb3RvEgZwbGF5ZXIirgEKD0dldFNtc1N0YXR1c1JlcxIrCg1iYXNlX3Jlc3BvbnNlGAEgASgLMhQuY29tbW9uLkJhc2VSZXNwb25zZRIvCgRkYXRhGAIgAygLMiEucGxheWVyLkdldFNtc1N0YXR1c1Jlcy5TbXNTdGF0dXMaPQoJU21zU3RhdHVzEg4KBnNtc19pZBgBIAEoBRIQCghzbXNfbmFtZRgCIAEoCRIOCgZzdGF0dXMYAyABKAhiBnByb3RvMw\", [file_common_Common]);\n\n/**\n * @generated from message player.GetSmsStatusRes\n */\nexport type GetSmsStatusRes = Message<\"player.GetSmsStatusRes\"> & {\n /**\n * @generated from field: common.BaseResponse base_response = 1;\n */\n baseResponse?: BaseResponse;\n\n /**\n * @generated from field: repeated player.GetSmsStatusRes.SmsStatus data = 2;\n */\n data: GetSmsStatusRes_SmsStatus[];\n};\n\n/**\n * Describes the message player.GetSmsStatusRes.\n * Use `create(GetSmsStatusResSchema)` to create a new message.\n */\nexport const GetSmsStatusResSchema: GenMessage<GetSmsStatusRes> = /*@__PURE__*/\n messageDesc(file_player_GetSmsStatus, 0);\n\n/**\n * @generated from message player.GetSmsStatusRes.SmsStatus\n */\nexport type GetSmsStatusRes_SmsStatus = Message<\"player.GetSmsStatusRes.SmsStatus\"> & {\n /**\n * @generated from field: int32 sms_id = 1;\n */\n smsId: number;\n\n /**\n * @generated from field: string sms_name = 2;\n */\n smsName: string;\n\n /**\n * @generated from field: bool status = 3;\n */\n status: boolean;\n};\n\n/**\n * Describes the message player.GetSmsStatusRes.SmsStatus.\n * Use `create(GetSmsStatusRes_SmsStatusSchema)` to create a new message.\n */\nexport const GetSmsStatusRes_SmsStatusSchema: GenMessage<GetSmsStatusRes_SmsStatus> = /*@__PURE__*/\n messageDesc(file_player_GetSmsStatus, 0, 0);\n\n","// @generated by protoc-gen-es v2.10.2 with parameter \"target=ts\"\n// @generated from file player/UpdateSmsStatus.proto (package player, syntax proto3)\n/* eslint-disable */\n\nimport type { GenFile, GenMessage } from \"@bufbuild/protobuf/codegenv2\";\nimport { fileDesc, messageDesc } from \"@bufbuild/protobuf/codegenv2\";\nimport type { Message } from \"@bufbuild/protobuf\";\n\n/**\n * Describes the file player/UpdateSmsStatus.proto.\n */\nexport const file_player_UpdateSmsStatus: GenFile = /*@__PURE__*/\n fileDesc(\"ChxwbGF5ZXIvVXBkYXRlU21zU3RhdHVzLnByb3RvEgZwbGF5ZXIiRAoSVXBkYXRlU21zU3RhdHVzUmVxEg4KBnNtc19pZBgBIAEoBRITCgZzdGF0dXMYAiABKAhIAIgBAUIJCgdfc3RhdHVzYgZwcm90bzM\");\n\n/**\n * @generated from message player.UpdateSmsStatusReq\n */\nexport type UpdateSmsStatusReq = Message<\"player.UpdateSmsStatusReq\"> & {\n /**\n * @generated from field: int32 sms_id = 1;\n */\n smsId: number;\n\n /**\n * @generated from field: optional bool status = 2;\n */\n status?: boolean;\n};\n\n/**\n * Describes the message player.UpdateSmsStatusReq.\n * Use `create(UpdateSmsStatusReqSchema)` to create a new message.\n */\nexport const UpdateSmsStatusReqSchema: GenMessage<UpdateSmsStatusReq> = /*@__PURE__*/\n messageDesc(file_player_UpdateSmsStatus, 0);\n\n","// @generated by protoc-gen-es v2.10.2 with parameter \"target=ts\"\n// @generated from file player/GetAllLevel.proto (package player, syntax proto3)\n/* eslint-disable */\n\nimport type { GenFile, GenMessage } from \"@bufbuild/protobuf/codegenv2\";\nimport { fileDesc, messageDesc } from \"@bufbuild/protobuf/codegenv2\";\nimport type { BaseResponse } from \"../common/Common_pb\";\nimport { file_common_Common } from \"../common/Common_pb\";\nimport type { Message } from \"@bufbuild/protobuf\";\n\n/**\n * Describes the file player/GetAllLevel.proto.\n */\nexport const file_player_GetAllLevel: GenFile = /*@__PURE__*/\n fileDesc(\"ChhwbGF5ZXIvR2V0QWxsTGV2ZWwucHJvdG8SBnBsYXllciK4CgoOR2V0QWxsTGV2ZWxSZXMSKwoNYmFzZV9yZXNwb25zZRgBIAEoCzIULmNvbW1vbi5CYXNlUmVzcG9uc2USMAoEZGF0YRgCIAMoCzIiLnBsYXllci5HZXRBbGxMZXZlbFJlcy5QbGF5ZXJMZXZlbBr3AQoNTGV2ZWxVcENvbmZpZxIWCg5hbmRfY29uZGl0aW9ucxgBIAEoCBITCgt0b3B1cF9saW1pdBgCIAEoBRIUCgx0b3B1cF9wZXJpb2QYAyABKAkSEwoLdG9wdXBfdGltZXMYBCABKAUSJgoeY29uc3VtcHRpb25fc291cmNlX3Byb3ZpZGVyX2lkGAUgAygJEhkKEWNvbnN1bXB0aW9uX2xpbWl0GAYgASgFEhoKEmNvbnN1bXB0aW9uX3BlcmlvZBgHIAEoCRIaChJib251c19yYW5nZV9jb25maWcYCCABKAkSEwoLYm9udXNfcmFuZ2UYCSABKAUa1QEKD0xldmVsRG93bkNvbmZpZxIWCg5hbmRfY29uZGl0aW9ucxgBIAEoCBIVCg10b3B1cF9taW5pbXVtGAIgASgFEhQKDHRvcHVwX3BlcmlvZBgDIAEoCRITCgt0b3B1cF90aW1lcxgEIAEoBRIbChNjb25zdW1wdGlvbl9taW5pbXVtGAUgASgFEhoKEmNvbnN1bXB0aW9uX3BlcmlvZBgGIAEoCRIaChJib251c19yYW5nZV9jb25maWcYByABKAkSEwoLYm9udXNfcmFuZ2UYCCABKAUangIKBlJld2FyZBIfChdib251c19jcmVkaXRfbGV2ZWxfZG93bhgBIAEoBRIhChlpc19yZXdhcmRfdGFza19sZXZlbF9kb3duGAIgASgIEiEKGXByb3ZpZGVyX2dyb3VwX2xldmVsX2Rvd24YAyABKAkSKAogcmVxdWlyZWRfdW5sb2NrX3RpbWVzX2xldmVsX2Rvd24YBCABKAUSFAoMYm9udXNfY3JlZGl0GAUgASgFEhYKDmlzX3Jld2FyZF90YXNrGAYgASgIEhYKDnByb3ZpZGVyX2dyb3VwGAcgASgJEh0KFXJlcXVpcmVkX3VubG9ja190aW1lcxgIIAEoBRIeChZyZXF1aXJlZF91bmxvY2tfYW1vdW50GAkgASgFGtMDCgtQbGF5ZXJMZXZlbBIMCgRuYW1lGAEgASgJEhcKD3BsYXRmb3JtX29ial9pZBgCIAEoCRINCgV2YWx1ZRgDIAEoBRI9Cg9sZXZlbF91cF9jb25maWcYBCADKAsyJC5wbGF5ZXIuR2V0QWxsTGV2ZWxSZXMuTGV2ZWxVcENvbmZpZxJBChFsZXZlbF9kb3duX2NvbmZpZxgFIAMoCzImLnBsYXllci5HZXRBbGxMZXZlbFJlcy5MZXZlbERvd25Db25maWcSLQoGcmV3YXJkGAYgASgLMh0ucGxheWVyLkdldEFsbExldmVsUmVzLlJld2FyZBIaChJwbGF5ZXJfdmFsdWVfc2NvcmUYByABKAUSJAocY2FuX2FwcGx5X2NvbnN1bXB0aW9uX3JldHVybhgIIAEoCBIvCidjYW5fYXBwbHlfY29uc3VtcHRpb25fcmV0dXJuX2xldmVsX2Rvd24YCSABKAgSPAoFcmF0aW8YCiADKAsyLS5wbGF5ZXIuR2V0QWxsTGV2ZWxSZXMuUGxheWVyTGV2ZWwuUmF0aW9FbnRyeRosCgpSYXRpb0VudHJ5EgsKA2tleRgBIAEoCRINCgV2YWx1ZRgCIAEoAjoCOAFiBnByb3RvMw\", [file_common_Common]);\n\n/**\n * @generated from message player.GetAllLevelRes\n */\nexport type GetAllLevelRes = Message<\"player.GetAllLevelRes\"> & {\n /**\n * @generated from field: common.BaseResponse base_response = 1;\n */\n baseResponse?: BaseResponse;\n\n /**\n * @generated from field: repeated player.GetAllLevelRes.PlayerLevel data = 2;\n */\n data: GetAllLevelRes_PlayerLevel[];\n};\n\n/**\n * Describes the message player.GetAllLevelRes.\n * Use `create(GetAllLevelResSchema)` to create a new message.\n */\nexport const GetAllLevelResSchema: GenMessage<GetAllLevelRes> = /*@__PURE__*/\n messageDesc(file_player_GetAllLevel, 0);\n\n/**\n * @generated from message player.GetAllLevelRes.LevelUpConfig\n */\nexport type GetAllLevelRes_LevelUpConfig = Message<\"player.GetAllLevelRes.LevelUpConfig\"> & {\n /**\n * @generated from field: bool and_conditions = 1;\n */\n andConditions: boolean;\n\n /**\n * @generated from field: int32 topup_limit = 2;\n */\n topupLimit: number;\n\n /**\n * @generated from field: string topup_period = 3;\n */\n topupPeriod: string;\n\n /**\n * @generated from field: int32 topup_times = 4;\n */\n topupTimes: number;\n\n /**\n * @generated from field: repeated string consumption_source_provider_id = 5;\n */\n consumptionSourceProviderId: string[];\n\n /**\n * @generated from field: int32 consumption_limit = 6;\n */\n consumptionLimit: number;\n\n /**\n * @generated from field: string consumption_period = 7;\n */\n consumptionPeriod: string;\n\n /**\n * @generated from field: string bonus_range_config = 8;\n */\n bonusRangeConfig: string;\n\n /**\n * @generated from field: int32 bonus_range = 9;\n */\n bonusRange: number;\n};\n\n/**\n * Describes the message player.GetAllLevelRes.LevelUpConfig.\n * Use `create(GetAllLevelRes_LevelUpConfigSchema)` to create a new message.\n */\nexport const GetAllLevelRes_LevelUpConfigSchema: GenMessage<GetAllLevelRes_LevelUpConfig> = /*@__PURE__*/\n messageDesc(file_player_GetAllLevel, 0, 0);\n\n/**\n * @generated from message player.GetAllLevelRes.LevelDownConfig\n */\nexport type GetAllLevelRes_LevelDownConfig = Message<\"player.GetAllLevelRes.LevelDownConfig\"> & {\n /**\n * @generated from field: bool and_conditions = 1;\n */\n andConditions: boolean;\n\n /**\n * @generated from field: int32 topup_minimum = 2;\n */\n topupMinimum: number;\n\n /**\n * @generated from field: string topup_period = 3;\n */\n topupPeriod: string;\n\n /**\n * @generated from field: int32 topup_times = 4;\n */\n topupTimes: number;\n\n /**\n * @generated from field: int32 consumption_minimum = 5;\n */\n consumptionMinimum: number;\n\n /**\n * @generated from field: string consumption_period = 6;\n */\n consumptionPeriod: string;\n\n /**\n * @generated from field: string bonus_range_config = 7;\n */\n bonusRangeConfig: string;\n\n /**\n * @generated from field: int32 bonus_range = 8;\n */\n bonusRange: number;\n};\n\n/**\n * Describes the message player.GetAllLevelRes.LevelDownConfig.\n * Use `create(GetAllLevelRes_LevelDownConfigSchema)` to create a new message.\n */\nexport const GetAllLevelRes_LevelDownConfigSchema: GenMessage<GetAllLevelRes_LevelDownConfig> = /*@__PURE__*/\n messageDesc(file_player_GetAllLevel, 0, 1);\n\n/**\n * @generated from message player.GetAllLevelRes.Reward\n */\nexport type GetAllLevelRes_Reward = Message<\"player.GetAllLevelRes.Reward\"> & {\n /**\n * @generated from field: int32 bonus_credit_level_down = 1;\n */\n bonusCreditLevelDown: number;\n\n /**\n * @generated from field: bool is_reward_task_level_down = 2;\n */\n isRewardTaskLevelDown: boolean;\n\n /**\n * @generated from field: string provider_group_level_down = 3;\n */\n providerGroupLevelDown: string;\n\n /**\n * @generated from field: int32 required_unlock_times_level_down = 4;\n */\n requiredUnlockTimesLevelDown: number;\n\n /**\n * @generated from field: int32 bonus_credit = 5;\n */\n bonusCredit: number;\n\n /**\n * @generated from field: bool is_reward_task = 6;\n */\n isRewardTask: boolean;\n\n /**\n * @generated from field: string provider_group = 7;\n */\n providerGroup: string;\n\n /**\n * @generated from field: int32 required_unlock_times = 8;\n */\n requiredUnlockTimes: number;\n\n /**\n * @generated from field: int32 required_unlock_amount = 9;\n */\n requiredUnlockAmount: number;\n};\n\n/**\n * Describes the message player.GetAllLevelRes.Reward.\n * Use `create(GetAllLevelRes_RewardSchema)` to create a new message.\n */\nexport const GetAllLevelRes_RewardSchema: GenMessage<GetAllLevelRes_Reward> = /*@__PURE__*/\n messageDesc(file_player_GetAllLevel, 0, 2);\n\n/**\n * @generated from message player.GetAllLevelRes.PlayerLevel\n */\nexport type GetAllLevelRes_PlayerLevel = Message<\"player.GetAllLevelRes.PlayerLevel\"> & {\n /**\n * @generated from field: string name = 1;\n */\n name: string;\n\n /**\n * @generated from field: string platform_obj_id = 2;\n */\n platformObjId: string;\n\n /**\n * @generated from field: int32 value = 3;\n */\n value: number;\n\n /**\n * @generated from field: repeated player.GetAllLevelRes.LevelUpConfig level_up_config = 4;\n */\n levelUpConfig: GetAllLevelRes_LevelUpConfig[];\n\n /**\n * @generated from field: repeated player.GetAllLevelRes.LevelDownConfig level_down_config = 5;\n */\n levelDownConfig: GetAllLevelRes_LevelDownConfig[];\n\n /**\n * @generated from field: player.GetAllLevelRes.Reward reward = 6;\n */\n reward?: GetAllLevelRes_Reward;\n\n /**\n * @generated from field: int32 player_value_score = 7;\n */\n playerValueScore: number;\n\n /**\n * @generated from field: bool can_apply_consumption_return = 8;\n */\n canApplyConsumptionReturn: boolean;\n\n /**\n * @generated from field: bool can_apply_consumption_return_level_down = 9;\n */\n canApplyConsumptionReturnLevelDown: boolean;\n\n /**\n * @generated from field: map<string, float> ratio = 10;\n */\n ratio: { [key: string]: number };\n};\n\n/**\n * Describes the message player.GetAllLevelRes.PlayerLevel.\n * Use `create(GetAllLevelRes_PlayerLevelSchema)` to create a new message.\n */\nexport const GetAllLevelRes_PlayerLevelSchema: GenMessage<GetAllLevelRes_PlayerLevel> = /*@__PURE__*/\n messageDesc(file_player_GetAllLevel, 0, 3);\n\n","// @generated by protoc-gen-es v2.10.2 with parameter \"target=ts\"\n// @generated from file player/GetPlayerProgress.proto (package player, syntax proto3)\n/* eslint-disable */\n\nimport type { GenFile, GenMessage } from \"@bufbuild/protobuf/codegenv2\";\nimport { fileDesc, messageDesc } from \"@bufbuild/protobuf/codegenv2\";\nimport type { BaseResponse } from \"../common/Common_pb\";\nimport { file_common_Common } from \"../common/Common_pb\";\nimport type { Message } from \"@bufbuild/protobuf\";\n\n/**\n * Describes the file player/GetPlayerProgress.proto.\n */\nexport const file_player_GetPlayerProgress: GenFile = /*@__PURE__*/\n fileDesc(\"Ch5wbGF5ZXIvR2V0UGxheWVyUHJvZ3Jlc3MucHJvdG8SBnBsYXllciLgAgoUR2V0UGxheWVyUHJvZ3Jlc3NSZXMSKwoNYmFzZV9yZXNwb25zZRgBIAEoCzIULmNvbW1vbi5CYXNlUmVzcG9uc2USHQoVZGFpbHlfY29uc3VtcHRpb25fc3VtGAIgASgFEh4KFmRhaWx5X2JvbnVzX2Ftb3VudF9zdW0YAyABKAUSGAoQZGFpbHlfdG9wX3VwX3N1bRgEIAEoBRIeChZ3ZWVrbHlfY29uc3VtcHRpb25fc3VtGAUgASgFEh8KF3dlZWtseV9ib251c19hbW91bnRfc3VtGAYgASgFEhkKEXdlZWtseV90b3BfdXBfc3VtGAcgASgFEiIKGnBhc3RfbW9udGhfY29uc3VtcHRpb25fc3VtGAggASgFEiMKG3Bhc3RfbW9udGhfYm9udXNfYW1vdW50X3N1bRgJIAEoBRIdChVwYXN0X21vbnRoX3RvcF91cF9zdW0YCiABKAViBnByb3RvMw\", [file_common_Common]);\n\n/**\n * @generated from message player.GetPlayerProgressRes\n */\nexport type GetPlayerProgressRes = Message<\"player.GetPlayerProgressRes\"> & {\n /**\n * @generated from field: common.BaseResponse base_response = 1;\n */\n baseResponse?: BaseResponse;\n\n /**\n * @generated from field: int32 daily_consumption_sum = 2;\n */\n dailyConsumptionSum: number;\n\n /**\n * @generated from field: int32 daily_bonus_amount_sum = 3;\n */\n dailyBonusAmountSum: number;\n\n /**\n * @generated from field: int32 daily_top_up_sum = 4;\n */\n dailyTopUpSum: number;\n\n /**\n * @generated from field: int32 weekly_consumption_sum = 5;\n */\n weeklyConsumptionSum: number;\n\n /**\n * @generated from field: int32 weekly_bonus_amount_sum = 6;\n */\n weeklyBonusAmountSum: number;\n\n /**\n * @generated from field: int32 weekly_top_up_sum = 7;\n */\n weeklyTopUpSum: number;\n\n /**\n * @generated from field: int32 past_month_consumption_sum = 8;\n */\n pastMonthConsumptionSum: number;\n\n /**\n * @generated from field: int32 past_month_bonus_amount_sum = 9;\n */\n pastMonthBonusAmountSum: number;\n\n /**\n * @generated from field: int32 past_month_top_up_sum = 10;\n */\n pastMonthTopUpSum: number;\n};\n\n/**\n * Describes the message player.GetPlayerProgressRes.\n * Use `create(GetPlayerProgressResSchema)` to create a new message.\n */\nexport const GetPlayerProgressResSchema: GenMessage<GetPlayerProgressRes> = /*@__PURE__*/\n messageDesc(file_player_GetPlayerProgress, 0);\n\n","// @generated by protoc-gen-es v2.10.2 with parameter \"target=ts\"\n// @generated from file player/VerifyPhoneNumberWithSms.proto (package player, syntax proto3)\n/* eslint-disable */\n\nimport type { GenFile, GenMessage } from \"@bufbuild/protobuf/codegenv2\";\nimport { fileDesc, messageDesc } from \"@bufbuild/protobuf/codegenv2\";\nimport { file_common_Common } from \"../common/Common_pb\";\nimport type { Message } from \"@bufbuild/protobuf\";\n\n/**\n * Describes the file player/VerifyPhoneNumberWithSms.proto.\n */\nexport const file_player_VerifyPhoneNumberWithSms: GenFile = /*@__PURE__*/\n fileDesc(\"CiVwbGF5ZXIvVmVyaWZ5UGhvbmVOdW1iZXJXaXRoU21zLnByb3RvEgZwbGF5ZXIiQAobVmVyaWZ5UGhvbmVOdW1iZXJXaXRoU21zUmVxEgwKBGNvZGUYASABKAkSEwoLcGxhdGZvcm1faWQYAiABKAliBnByb3RvMw\", [file_common_Common]);\n\n/**\n * @generated from message player.VerifyPhoneNumberWithSmsReq\n */\nexport type VerifyPhoneNumberWithSmsReq = Message<\"player.VerifyPhoneNumberWithSmsReq\"> & {\n /**\n * @generated from field: string code = 1;\n */\n code: string;\n\n /**\n * @generated from field: string platform_id = 2;\n */\n platformId: string;\n};\n\n/**\n * Describes the message player.VerifyPhoneNumberWithSmsReq.\n * Use `create(VerifyPhoneNumberWithSmsReqSchema)` to create a new message.\n */\nexport const VerifyPhoneNumberWithSmsReqSchema: GenMessage<VerifyPhoneNumberWithSmsReq> = /*@__PURE__*/\n messageDesc(file_player_VerifyPhoneNumberWithSms, 0);\n\n","// @generated by protoc-gen-es v2.10.2 with parameter \"target=ts\"\n// @generated from file player/UpdateSourceOfFunds.proto (package player, syntax proto3)\n/* eslint-disable */\n\nimport type { GenFile, GenMessage } from \"@bufbuild/protobuf/codegenv2\";\nimport { fileDesc, messageDesc } from \"@bufbuild/protobuf/codegenv2\";\nimport { file_common_Common } from \"../common/Common_pb\";\nimport type { Message } from \"@bufbuild/protobuf\";\n\n/**\n * Describes the file player/UpdateSourceOfFunds.proto.\n */\nexport const file_player_UpdateSourceOfFunds: GenFile = /*@__PURE__*/\n fileDesc(\"CiBwbGF5ZXIvVXBkYXRlU291cmNlT2ZGdW5kcy5wcm90bxIGcGxheWVyIjEKFlVwZGF0ZVNvdXJjZU9mRnVuZHNSZXESFwoPc291cmNlX29mX2Z1bmRzGAEgASgJYgZwcm90bzM\", [file_common_Common]);\n\n/**\n * @generated from message player.UpdateSourceOfFundsReq\n */\nexport type UpdateSourceOfFundsReq = Message<\"player.UpdateSourceOfFundsReq\"> & {\n /**\n * @generated from field: string source_of_funds = 1;\n */\n sourceOfFunds: string;\n};\n\n/**\n * Describes the message player.UpdateSourceOfFundsReq.\n * Use `create(UpdateSourceOfFundsReqSchema)` to create a new message.\n */\nexport const UpdateSourceOfFundsReqSchema: GenMessage<UpdateSourceOfFundsReq> = /*@__PURE__*/\n messageDesc(file_player_UpdateSourceOfFunds, 0);\n\n","// @generated by protoc-gen-es v2.10.2 with parameter \"target=ts\"\n// @generated from file player/UpdateNatureOfWork.proto (package player, syntax proto3)\n/* eslint-disable */\n\nimport type { GenFile, GenMessage } from \"@bufbuild/protobuf/codegenv2\";\nimport { fileDesc, messageDesc } from \"@bufbuild/protobuf/codegenv2\";\nimport { file_common_Common } from \"../common/Common_pb\";\nimport type { Message } from \"@bufbuild/protobuf\";\n\n/**\n * Describes the file player/UpdateNatureOfWork.proto.\n */\nexport const file_player_UpdateNatureOfWork: GenFile = /*@__PURE__*/\n fileDesc(\"Ch9wbGF5ZXIvVXBkYXRlTmF0dXJlT2ZXb3JrLnByb3RvEgZwbGF5ZXIiLwoVVXBkYXRlTmF0dXJlT2ZXb3JrUmVxEhYKDm5hdHVyZV9vZl93b3JrGAEgASgJYgZwcm90bzM\", [file_common_Common]);\n\n/**\n * @generated from message player.UpdateNatureOfWorkReq\n */\nexport type UpdateNatureOfWorkReq = Message<\"player.UpdateNatureOfWorkReq\"> & {\n /**\n * @generated from field: string nature_of_work = 1;\n */\n natureOfWork: string;\n};\n\n/**\n * Describes the message player.UpdateNatureOfWorkReq.\n * Use `create(UpdateNatureOfWorkReqSchema)` to create a new message.\n */\nexport const UpdateNatureOfWorkReqSchema: GenMessage<UpdateNatureOfWorkReq> = /*@__PURE__*/\n messageDesc(file_player_UpdateNatureOfWork, 0);\n\n","// @generated by protoc-gen-es v2.10.2 with parameter \"target=ts\"\n// @generated from file player/UpdateRealName.proto (package player, syntax proto3)\n/* eslint-disable */\n\nimport type { GenFile, GenMessage } from \"@bufbuild/protobuf/codegenv2\";\nimport { fileDesc, messageDesc } from \"@bufbuild/protobuf/codegenv2\";\nimport { file_common_Common } from \"../common/Common_pb\";\nimport type { Message } from \"@bufbuild/protobuf\";\n\n/**\n * Describes the file player/UpdateRealName.proto.\n */\nexport const file_player_UpdateRealName: GenFile = /*@__PURE__*/\n fileDesc(\"ChtwbGF5ZXIvVXBkYXRlUmVhbE5hbWUucHJvdG8SBnBsYXllciJPChFVcGRhdGVSZWFsTmFtZVJlcRISCgpmaXJzdF9uYW1lGAEgASgJEhMKC21pZGRsZV9uYW1lGAIgASgJEhEKCWxhc3RfbmFtZRgDIAEoCWIGcHJvdG8z\", [file_common_Common]);\n\n/**\n * @generated from message player.UpdateRealNameReq\n */\nexport type UpdateRealNameReq = Message<\"player.UpdateRealNameReq\"> & {\n /**\n * @generated from field: string first_name = 1;\n */\n firstName: string;\n\n /**\n * @generated from field: string middle_name = 2;\n */\n middleName: string;\n\n /**\n * @generated from field: string last_name = 3;\n */\n lastName: string;\n};\n\n/**\n * Describes the message player.UpdateRealNameReq.\n * Use `create(UpdateRealNameReqSchema)` to create a new message.\n */\nexport const UpdateRealNameReqSchema: GenMessage<UpdateRealNameReq> = /*@__PURE__*/\n messageDesc(file_player_UpdateRealName, 0);\n\n","// @generated by protoc-gen-es v2.10.2 with parameter \"target=ts\"\n// @generated from file player/CheckIsValidSmsCode.proto (package player, syntax proto3)\n/* eslint-disable */\n\nimport type { GenEnum, GenFile, GenMessage } from \"@bufbuild/protobuf/codegenv2\";\nimport { enumDesc, fileDesc, messageDesc } from \"@bufbuild/protobuf/codegenv2\";\nimport { file_common_Common } from \"../common/Common_pb\";\nimport type { Message } from \"@bufbuild/protobuf\";\n\n/**\n * Describes the file player/CheckIsValidSmsCode.proto.\n */\nexport const file_player_CheckIsValidSmsCode: GenFile = /*@__PURE__*/\n fileDesc(\"CiBwbGF5ZXIvQ2hlY2tJc1ZhbGlkU21zQ29kZS5wcm90bxIGcGxheWVyIooDChZDaGVja0lzVmFsaWRTbXNDb2RlUmVxEgwKBGNvZGUYASABKAkSDQoFcGhvbmUYAiABKAkSEwoLcGxhdGZvcm1faWQYAyABKAkSNwoHcHVycG9zZRgEIAEoDjImLnBsYXllci5DaGVja0lzVmFsaWRTbXNDb2RlUmVxLlB1cnBvc2UihAIKB1B1cnBvc2USDwoLVU5TUEVDSUZJRUQQABIMCghSRUdJU1RFUhABEhIKDlJFU0VUX1BBU1NXT1JEEAISGwoXVkVSSUZZX09MRF9QSE9ORV9OVU1CRVIQAxIbChdDSEFOR0VfTkVXX1BIT05FX05VTUJFUhAEEg4KCkJJTkRfRU1BSUwQBRIJCgVMT0dJThAGEhMKD1VQREFURV9QQVNTV09SRBAHEh4KGkZBQ0VCT09LX0JJTkRfUEhPTkVfTlVNQkVSEAgSFAoQVVBEQVRFX0JBTktfSU5GTxAJEhMKD0ZBQ0VCT09LX1ZFUklGWRAKEhEKDU1FUkdFX0FDQ09VTlQQC2IGcHJvdG8z\", [file_common_Common]);\n\n/**\n * @generated from message player.CheckIsValidSmsCodeReq\n */\nexport type CheckIsValidSmsCodeReq = Message<\"player.CheckIsValidSmsCodeReq\"> & {\n /**\n * @generated from field: string code = 1;\n */\n code: string;\n\n /**\n * @generated from field: string phone = 2;\n */\n phone: string;\n\n /**\n * @generated from field: string platform_id = 3;\n */\n platformId: string;\n\n /**\n * @generated from field: player.CheckIsValidSmsCodeReq.Purpose purpose = 4;\n */\n purpose: CheckIsValidSmsCodeReq_Purpose;\n};\n\n/**\n * Describes the message player.CheckIsValidSmsCodeReq.\n * Use `create(CheckIsValidSmsCodeReqSchema)` to create a new message.\n */\nexport const CheckIsValidSmsCodeReqSchema: GenMessage<CheckIsValidSmsCodeReq> = /*@__PURE__*/\n messageDesc(file_player_CheckIsValidSmsCode, 0);\n\n/**\n * @generated from enum player.CheckIsValidSmsCodeReq.Purpose\n */\nexport enum CheckIsValidSmsCodeReq_Purpose {\n /**\n * @generated from enum value: UNSPECIFIED = 0;\n */\n UNSPECIFIED = 0,\n\n /**\n * @generated from enum value: REGISTER = 1;\n */\n REGISTER = 1,\n\n /**\n * @generated from enum value: RESET_PASSWORD = 2;\n */\n RESET_PASSWORD = 2,\n\n /**\n * @generated from enum value: VERIFY_OLD_PHONE_NUMBER = 3;\n */\n VERIFY_OLD_PHONE_NUMBER = 3,\n\n /**\n * @generated from enum value: CHANGE_NEW_PHONE_NUMBER = 4;\n */\n CHANGE_NEW_PHONE_NUMBER = 4,\n\n /**\n * @generated from enum value: BIND_EMAIL = 5;\n */\n BIND_EMAIL = 5,\n\n /**\n * @generated from enum value: LOGIN = 6;\n */\n LOGIN = 6,\n\n /**\n * @generated from enum value: UPDATE_PASSWORD = 7;\n */\n UPDATE_PASSWORD = 7,\n\n /**\n * @generated from enum value: FACEBOOK_BIND_PHONE_NUMBER = 8;\n */\n FACEBOOK_BIND_PHONE_NUMBER = 8,\n\n /**\n * @generated from enum value: UPDATE_BANK_INFO = 9;\n */\n UPDATE_BANK_INFO = 9,\n\n /**\n * @generated from enum value: FACEBOOK_VERIFY = 10;\n */\n FACEBOOK_VERIFY = 10,\n\n /**\n * @generated from enum value: MERGE_ACCOUNT = 11;\n */\n MERGE_ACCOUNT = 11,\n}\n\n/**\n * Describes the enum player.CheckIsValidSmsCodeReq.Purpose.\n */\nexport const CheckIsValidSmsCodeReq_PurposeSchema: GenEnum<CheckIsValidSmsCodeReq_Purpose> = /*@__PURE__*/\n enumDesc(file_player_CheckIsValidSmsCode, 0, 0);\n\n","// @generated by protoc-gen-es v2.10.2 with parameter \"target=ts\"\n// @generated from file player/GetAllPlayerLevel.proto (package player, syntax proto3)\n/* eslint-disable */\n\nimport type { GenFile, GenMessage } from \"@bufbuild/protobuf/codegenv2\";\nimport { fileDesc, messageDesc } from \"@bufbuild/protobuf/codegenv2\";\nimport type { BaseResponse } from \"../common/Common_pb\";\nimport { file_common_Common } from \"../common/Common_pb\";\nimport type { Message } from \"@bufbuild/protobuf\";\n\n/**\n * Describes the file player/GetAllPlayerLevel.proto.\n */\nexport const file_player_GetAllPlayerLevel: GenFile = /*@__PURE__*/\n fileDesc(\"Ch5wbGF5ZXIvR2V0QWxsUGxheWVyTGV2ZWwucHJvdG8SBnBsYXllciIrChRHZXRBbGxQbGF5ZXJMZXZlbFJlcRITCgtwbGF0Zm9ybV9pZBgBIAEoCSI5Cg5QbGF5ZXJMZXZlbFJlcxIKCgJpZBgBIAEoCRIMCgRuYW1lGAIgASgJEg0KBXZhbHVlGAMgASgFImkKFEdldEFsbFBsYXllckxldmVsUmVzEisKDWJhc2VfcmVzcG9uc2UYASABKAsyFC5jb21tb24uQmFzZVJlc3BvbnNlEiQKBGRhdGEYAiADKAsyFi5wbGF5ZXIuUGxheWVyTGV2ZWxSZXNiBnByb3RvMw\", [file_common_Common]);\n\n/**\n * @generated from message player.GetAllPlayerLevelReq\n */\nexport type GetAllPlayerLevelReq = Message<\"player.GetAllPlayerLevelReq\"> & {\n /**\n * @generated from field: string platform_id = 1;\n */\n platformId: string;\n};\n\n/**\n * Describes the message player.GetAllPlayerLevelReq.\n * Use `create(GetAllPlayerLevelReqSchema)` to create a new message.\n */\nexport const GetAllPlayerLevelReqSchema: GenMessage<GetAllPlayerLevelReq> = /*@__PURE__*/\n messageDesc(file_player_GetAllPlayerLevel, 0);\n\n/**\n * @generated from message player.PlayerLevelRes\n */\nexport type PlayerLevelRes = Message<\"player.PlayerLevelRes\"> & {\n /**\n * @generated from field: string id = 1;\n */\n id: string;\n\n /**\n * @generated from field: string name = 2;\n */\n name: string;\n\n /**\n * @generated from field: int32 value = 3;\n */\n value: number;\n};\n\n/**\n * Describes the message player.PlayerLevelRes.\n * Use `create(PlayerLevelResSchema)` to create a new message.\n */\nexport const PlayerLevelResSchema: GenMessage<PlayerLevelRes> = /*@__PURE__*/\n messageDesc(file_player_GetAllPlayerLevel, 1);\n\n/**\n * @generated from message player.GetAllPlayerLevelRes\n */\nexport type GetAllPlayerLevelRes = Message<\"player.GetAllPlayerLevelRes\"> & {\n /**\n * @generated from field: common.BaseResponse base_response = 1;\n */\n baseResponse?: BaseResponse;\n\n /**\n * @generated from field: repeated player.PlayerLevelRes data = 2;\n */\n data: PlayerLevelRes[];\n};\n\n/**\n * Describes the message player.GetAllPlayerLevelRes.\n * Use `create(GetAllPlayerLevelResSchema)` to create a new message.\n */\nexport const GetAllPlayerLevelResSchema: GenMessage<GetAllPlayerLevelRes> = /*@__PURE__*/\n messageDesc(file_player_GetAllPlayerLevel, 2);\n\n","// @generated by protoc-gen-es v2.10.2 with parameter \"target=ts\"\n// @generated from file player/GetPlayerLevelWithPlayerLevelObjId.proto (package player, syntax proto3)\n/* eslint-disable */\n\nimport type { GenFile, GenMessage } from \"@bufbuild/protobuf/codegenv2\";\nimport { fileDesc, messageDesc } from \"@bufbuild/protobuf/codegenv2\";\nimport type { Message } from \"@bufbuild/protobuf\";\n\n/**\n * Describes the file player/GetPlayerLevelWithPlayerLevelObjId.proto.\n */\nexport const file_player_GetPlayerLevelWithPlayerLevelObjId: GenFile = /*@__PURE__*/\n fileDesc(\"Ci9wbGF5ZXIvR2V0UGxheWVyTGV2ZWxXaXRoUGxheWVyTGV2ZWxPYmpJZC5wcm90bxIGcGxheWVyIkQKJUdldFBsYXllckxldmVsV2l0aFBsYXllckxldmVsT2JqSWRSZXESGwoTcGxheWVyX2xldmVsX29ial9pZBgBIAEoCSI1CiVHZXRQbGF5ZXJMZXZlbFdpdGhQbGF5ZXJMZXZlbE9iaklkUmVzEgwKBG5hbWUYASABKAliBnByb3RvMw\");\n\n/**\n * @generated from message player.GetPlayerLevelWithPlayerLevelObjIdReq\n */\nexport type GetPlayerLevelWithPlayerLevelObjIdReq = Message<\"player.GetPlayerLevelWithPlayerLevelObjIdReq\"> & {\n /**\n * @generated from field: string player_level_obj_id = 1;\n */\n playerLevelObjId: string;\n};\n\n/**\n * Describes the message player.GetPlayerLevelWithPlayerLevelObjIdReq.\n * Use `create(GetPlayerLevelWithPlayerLevelObjIdReqSchema)` to create a new message.\n */\nexport const GetPlayerLevelWithPlayerLevelObjIdReqSchema: GenMessage<GetPlayerLevelWithPlayerLevelObjIdReq> = /*@__PURE__*/\n messageDesc(file_player_GetPlayerLevelWithPlayerLevelObjId, 0);\n\n/**\n * @generated from message player.GetPlayerLevelWithPlayerLevelObjIdRes\n */\nexport type GetPlayerLevelWithPlayerLevelObjIdRes = Message<\"player.GetPlayerLevelWithPlayerLevelObjIdRes\"> & {\n /**\n * @generated from field: string name = 1;\n */\n name: string;\n};\n\n/**\n * Describes the message player.GetPlayerLevelWithPlayerLevelObjIdRes.\n * Use `create(GetPlayerLevelWithPlayerLevelObjIdResSchema)` to create a new message.\n */\nexport const GetPlayerLevelWithPlayerLevelObjIdResSchema: GenMessage<GetPlayerLevelWithPlayerLevelObjIdRes> = /*@__PURE__*/\n messageDesc(file_player_GetPlayerLevelWithPlayerLevelObjId, 1);\n\n","// @generated by protoc-gen-es v2.10.2 with parameter \"target=ts\"\n// @generated from file player/GetCasinoPlayerByPlayerId.proto (package player, syntax proto3)\n/* eslint-disable */\n\nimport type { GenFile, GenMessage } from \"@bufbuild/protobuf/codegenv2\";\nimport { fileDesc, messageDesc } from \"@bufbuild/protobuf/codegenv2\";\nimport type { BaseResponse } from \"../common/Common_pb\";\nimport { file_common_Common } from \"../common/Common_pb\";\nimport type { Message } from \"@bufbuild/protobuf\";\n\n/**\n * Describes the file player/GetCasinoPlayerByPlayerId.proto.\n */\nexport const file_player_GetCasinoPlayerByPlayerId: GenFile = /*@__PURE__*/\n fileDesc(\"CiZwbGF5ZXIvR2V0Q2FzaW5vUGxheWVyQnlQbGF5ZXJJZC5wcm90bxIGcGxheWVyIkkKHEdldENhc2lub1BsYXllckJ5UGxheWVySWRSZXESEQoJcGxheWVyX2lkGAEgASgJEhYKDm1lbWJlcl9jYXJkX2lkGAIgASgJIu8FChxHZXRDYXNpbm9QbGF5ZXJCeVBsYXllcklkUmVzEisKDWJhc2VfcmVzcG9uc2UYASABKAsyFC5jb21tb24uQmFzZVJlc3BvbnNlEj0KBGRhdGEYAiABKAsyLy5wbGF5ZXIuR2V0Q2FzaW5vUGxheWVyQnlQbGF5ZXJJZFJlcy5QbGF5ZXJJbmZvGuIECgpQbGF5ZXJJbmZvEgwKBGNpdHkYASABKAkSEQoJcGxheWVyX2lkGAIgASgJEg0KBWVtYWlsGAMgASgJEhAKCHByb3ZpbmNlGAQgASgJEhAKCHBvc3Rjb2RlGAUgASgJEg8KB2FkZHJlc3MYBiABKAkSFwoPY3VycmVudF9hZGRyZXNzGAcgASgJEhcKD3BsYXllcl9wcm92aW5jZRgIIAEoCRITCgtwbGF5ZXJfY2l0eRgJIAEoCRITCgtuYXRpb25hbGl0eRgKIAEoCRIXCg9zb3VyY2Vfb2ZfZnVuZHMYCyABKAkSEQoJYWRkcl9pbmZvGAwgASgJEgsKA2RvYhgNIAEoCRIRCglyZWFsX25hbWUYDiABKAkSFgoOcGxhY2Vfb2ZfYmlydGgYDyABKAkSFgoObmF0dXJlX29mX3dvcmsYECABKAkSFAoMdmVyaWZ5X3Bob3RvGBEgASgJEhAKCHBob3RvX2lkGBIgASgJEhAKCHBsYXRmb3JtGBMgASgJEhQKDHBsYXllcl9sZXZlbBgUIAEoCRIQCghuaWNrbmFtZRgVIAEoCRIOCgZnZW5kZXIYFiABKAkSFQoNcGxheWVyX2F2YXRhchgXIAEoCRIUCgxwaG9uZV9udW1iZXIYGCABKAkSFgoObWVtYmVyX2NhcmRfaWQYGSABKAkSFQoNcGxhdGZvcm1fbmFtZRgaIAEoCRITCgtwbGF0Zm9ybV9pZBgbIAEoCRIZChFyZWdpc3RyYXRpb25fZm9ybRgcIAEoCRIZChF2ZXJpZmljYXRpb25fZm9ybRgdIAEoCWIGcHJvdG8z\", [file_common_Common]);\n\n/**\n * @generated from message player.GetCasinoPlayerByPlayerIdReq\n */\nexport type GetCasinoPlayerByPlayerIdReq = Message<\"player.GetCasinoPlayerByPlayerIdReq\"> & {\n /**\n * @generated from field: string player_id = 1;\n */\n playerId: string;\n\n /**\n * @generated from field: string member_card_id = 2;\n */\n memberCardId: string;\n};\n\n/**\n * Describes the message player.GetCasinoPlayerByPlayerIdReq.\n * Use `create(GetCasinoPlayerByPlayerIdReqSchema)` to create a new message.\n */\nexport const GetCasinoPlayerByPlayerIdReqSchema: GenMessage<GetCasinoPlayerByPlayerIdReq> = /*@__PURE__*/\n messageDesc(file_player_GetCasinoPlayerByPlayerId, 0);\n\n/**\n * @generated from message player.GetCasinoPlayerByPlayerIdRes\n */\nexport type GetCasinoPlayerByPlayerIdRes = Message<\"player.GetCasinoPlayerByPlayerIdRes\"> & {\n /**\n * @generated from field: common.BaseResponse base_response = 1;\n */\n baseResponse?: BaseResponse;\n\n /**\n * @generated from field: player.GetCasinoPlayerByPlayerIdRes.PlayerInfo data = 2;\n */\n data?: GetCasinoPlayerByPlayerIdRes_PlayerInfo;\n};\n\n/**\n * Describes the message player.GetCasinoPlayerByPlayerIdRes.\n * Use `create(GetCasinoPlayerByPlayerIdResSchema)` to create a new message.\n */\nexport const GetCasinoPlayerByPlayerIdResSchema: GenMessage<GetCasinoPlayerByPlayerIdRes> = /*@__PURE__*/\n messageDesc(file_player_GetCasinoPlayerByPlayerId, 1);\n\n/**\n * @generated from message player.GetCasinoPlayerByPlayerIdRes.PlayerInfo\n */\nexport type GetCasinoPlayerByPlayerIdRes_PlayerInfo = Message<\"player.GetCasinoPlayerByPlayerIdRes.PlayerInfo\"> & {\n /**\n * @generated from field: string city = 1;\n */\n city: string;\n\n /**\n * @generated from field: string player_id = 2;\n */\n playerId: string;\n\n /**\n * @generated from field: string email = 3;\n */\n email: string;\n\n /**\n * @generated from field: string province = 4;\n */\n province: string;\n\n /**\n * @generated from field: string postcode = 5;\n */\n postcode: string;\n\n /**\n * @generated from field: string address = 6;\n */\n address: string;\n\n /**\n * @generated from field: string current_address = 7;\n */\n currentAddress: string;\n\n /**\n * @generated from field: string player_province = 8;\n */\n playerProvince: string;\n\n /**\n * @generated from field: string player_city = 9;\n */\n playerCity: string;\n\n /**\n * @generated from field: string nationality = 10;\n */\n nationality: string;\n\n /**\n * @generated from field: string source_of_funds = 11;\n */\n sourceOfFunds: string;\n\n /**\n * @generated from field: string addr_info = 12;\n */\n addrInfo: string;\n\n /**\n * @generated from field: string dob = 13;\n */\n dob: string;\n\n /**\n * @generated from field: string real_name = 14;\n */\n realName: string;\n\n /**\n * @generated from field: string place_of_birth = 15;\n */\n placeOfBirth: string;\n\n /**\n * @generated from field: string nature_of_work = 16;\n */\n natureOfWork: string;\n\n /**\n * @generated from field: string verify_photo = 17;\n */\n verifyPhoto: string;\n\n /**\n * @generated from field: string photo_id = 18;\n */\n photoId: string;\n\n /**\n * @generated from field: string platform = 19;\n */\n platform: string;\n\n /**\n * @generated from field: string player_level = 20;\n */\n playerLevel: string;\n\n /**\n * @generated from field: string nickname = 21;\n */\n nickname: string;\n\n /**\n * @generated from field: string gender = 22;\n */\n gender: string;\n\n /**\n * @generated from field: string player_avatar = 23;\n */\n playerAvatar: string;\n\n /**\n * @generated from field: string phone_number = 24;\n */\n phoneNumber: string;\n\n /**\n * @generated from field: string member_card_id = 25;\n */\n memberCardId: string;\n\n /**\n * @generated from field: string platform_name = 26;\n */\n platformName: string;\n\n /**\n * @generated from field: string platform_id = 27;\n */\n platformId: string;\n\n /**\n * @generated from field: string registration_form = 28;\n */\n registrationForm: string;\n\n /**\n * @generated from field: string verification_form = 29;\n */\n verificationForm: string;\n};\n\n/**\n * Describes the message player.GetCasinoPlayerByPlayerIdRes.PlayerInfo.\n * Use `create(GetCasinoPlayerByPlayerIdRes_PlayerInfoSchema)` to create a new message.\n */\nexport const GetCasinoPlayerByPlayerIdRes_PlayerInfoSchema: GenMessage<GetCasinoPlayerByPlayerIdRes_PlayerInfo> = /*@__PURE__*/\n messageDesc(file_player_GetCasinoPlayerByPlayerId, 1, 0);\n\n","// @generated by protoc-gen-es v2.10.2 with parameter \"target=ts\"\n// @generated from file player/GetCasinoPlayers.proto (package player, syntax proto3)\n/* eslint-disable */\n\nimport type { GenFile, GenMessage } from \"@bufbuild/protobuf/codegenv2\";\nimport { fileDesc, messageDesc } from \"@bufbuild/protobuf/codegenv2\";\nimport type { BaseResponse } from \"../common/Common_pb\";\nimport { file_common_Common } from \"../common/Common_pb\";\nimport type { Message } from \"@bufbuild/protobuf\";\n\n/**\n * Describes the file player/GetCasinoPlayers.proto.\n */\nexport const file_player_GetCasinoPlayers: GenFile = /*@__PURE__*/\n fileDesc(\"Ch1wbGF5ZXIvR2V0Q2FzaW5vUGxheWVycy5wcm90bxIGcGxheWVyIioKE0dldENhc2lub1BsYXllcnNSZXESEwoLcGxhdGZvcm1faWQYASABKAkilAQKE0dldENhc2lub1BsYXllcnNSZXMSKwoNYmFzZV9yZXNwb25zZRgBIAEoCzIULmNvbW1vbi5CYXNlUmVzcG9uc2USMAoEZGF0YRgCIAMoCzIiLnBsYXllci5HZXRDYXNpbm9QbGF5ZXJzUmVzLlBsYXllchqdAwoGUGxheWVyEgoKAmlkGAEgASgJEhEKCXBsYXllcl9pZBgCIAEoCRINCgVlbWFpbBgDIAEoCRITCgtwbGF0Zm9ybV9pZBgEIAEoCRIUCgxwbGF5ZXJfbGV2ZWwYBSABKAkSEAoIbmlja25hbWUYBiABKAkSDgoGZ2VuZGVyGAcgASgIEgsKA2RvYhgIIAEoCRIVCg1wbGF5ZXJfYXZhdGFyGAkgASgJEhEKCXJlYWxfbmFtZRgKIAEoCRIWCg5wbGFjZV9vZl9iaXJ0aBgLIAEoCRIWCg5uYXR1cmVfb2Zfd29yaxgMIAEoCRIXCg9zb3VyY2Vfb2ZfZnVuZHMYDSABKAkSDAoEY2l0eRgOIAEoCRIQCghwcm92aW5jZRgPIAEoCRIQCghwb3N0Y29kZRgQIAEoCRIMCgR0aW1lGBEgASgJEgwKBGFkZHIYEiABKAkSEAoIY3VyX2FkZHIYEyABKAkSEwoLbmF0aW9uYWxpdHkYFCABKAkSFAoMdmVyaWZ5X3Bob3RvGBUgASgJEg0KBXBob25lGBYgASgJYgZwcm90bzM\", [file_common_Common]);\n\n/**\n * @generated from message player.GetCasinoPlayersReq\n */\nexport type GetCasinoPlayersReq = Message<\"player.GetCasinoPlayersReq\"> & {\n /**\n * @generated from field: string platform_id = 1;\n */\n platformId: string;\n};\n\n/**\n * Describes the message player.GetCasinoPlayersReq.\n * Use `create(GetCasinoPlayersReqSchema)` to create a new message.\n */\nexport const GetCasinoPlayersReqSchema: GenMessage<GetCasinoPlayersReq> = /*@__PURE__*/\n messageDesc(file_player_GetCasinoPlayers, 0);\n\n/**\n * @generated from message player.GetCasinoPlayersRes\n */\nexport type GetCasinoPlayersRes = Message<\"player.GetCasinoPlayersRes\"> & {\n /**\n * @generated from field: common.BaseResponse base_response = 1;\n */\n baseResponse?: BaseResponse;\n\n /**\n * @generated from field: repeated player.GetCasinoPlayersRes.Player data = 2;\n */\n data: GetCasinoPlayersRes_Player[];\n};\n\n/**\n * Describes the message player.GetCasinoPlayersRes.\n * Use `create(GetCasinoPlayersResSchema)` to create a new message.\n */\nexport const GetCasinoPlayersResSchema: GenMessage<GetCasinoPlayersRes> = /*@__PURE__*/\n messageDesc(file_player_GetCasinoPlayers, 1);\n\n/**\n * @generated from message player.GetCasinoPlayersRes.Player\n */\nexport type GetCasinoPlayersRes_Player = Message<\"player.GetCasinoPlayersRes.Player\"> & {\n /**\n * @generated from field: string id = 1;\n */\n id: string;\n\n /**\n * @generated from field: string player_id = 2;\n */\n playerId: string;\n\n /**\n * @generated from field: string email = 3;\n */\n email: string;\n\n /**\n * @generated from field: string platform_id = 4;\n */\n platformId: string;\n\n /**\n * @generated from field: string player_level = 5;\n */\n playerLevel: string;\n\n /**\n * @generated from field: string nickname = 6;\n */\n nickname: string;\n\n /**\n * @generated from field: bool gender = 7;\n */\n gender: boolean;\n\n /**\n * @generated from field: string dob = 8;\n */\n dob: string;\n\n /**\n * @generated from field: string player_avatar = 9;\n */\n playerAvatar: string;\n\n /**\n * @generated from field: string real_name = 10;\n */\n realName: string;\n\n /**\n * @generated from field: string place_of_birth = 11;\n */\n placeOfBirth: string;\n\n /**\n * @generated from field: string nature_of_work = 12;\n */\n natureOfWork: string;\n\n /**\n * @generated from field: string source_of_funds = 13;\n */\n sourceOfFunds: string;\n\n /**\n * @generated from field: string city = 14;\n */\n city: string;\n\n /**\n * @generated from field: string province = 15;\n */\n province: string;\n\n /**\n * @generated from field: string postcode = 16;\n */\n postcode: string;\n\n /**\n * @generated from field: string time = 17;\n */\n time: string;\n\n /**\n * @generated from field: string addr = 18;\n */\n addr: string;\n\n /**\n * @generated from field: string cur_addr = 19;\n */\n curAddr: string;\n\n /**\n * @generated from field: string nationality = 20;\n */\n nationality: string;\n\n /**\n * @generated from field: string verify_photo = 21;\n */\n verifyPhoto: string;\n\n /**\n * @generated from field: string phone = 22;\n */\n phone: string;\n};\n\n/**\n * Describes the message player.GetCasinoPlayersRes.Player.\n * Use `create(GetCasinoPlayersRes_PlayerSchema)` to create a new message.\n */\nexport const GetCasinoPlayersRes_PlayerSchema: GenMessage<GetCasinoPlayersRes_Player> = /*@__PURE__*/\n messageDesc(file_player_GetCasinoPlayers, 1, 0);\n\n","// @generated by protoc-gen-es v2.10.2 with parameter \"target=ts\"\n// @generated from file player/GetCasinoPlayerByMemberCardId.proto (package player, syntax proto3)\n/* eslint-disable */\n\nimport type { GenFile, GenMessage } from \"@bufbuild/protobuf/codegenv2\";\nimport { fileDesc, messageDesc } from \"@bufbuild/protobuf/codegenv2\";\nimport type { BaseResponse } from \"../common/Common_pb\";\nimport { file_common_Common } from \"../common/Common_pb\";\nimport type { Message } from \"@bufbuild/protobuf\";\n\n/**\n * Describes the file player/GetCasinoPlayerByMemberCardId.proto.\n */\nexport const file_player_GetCasinoPlayerByMemberCardId: GenFile = /*@__PURE__*/\n fileDesc(\"CipwbGF5ZXIvR2V0Q2FzaW5vUGxheWVyQnlNZW1iZXJDYXJkSWQucHJvdG8SBnBsYXllciI6CiBHZXRDYXNpbm9QbGF5ZXJCeU1lbWJlckNhcmRJZFJlcRIWCg5tZW1iZXJfY2FyZF9pZBgBIAEoCSL3BQogR2V0Q2FzaW5vUGxheWVyQnlNZW1iZXJDYXJkSWRSZXMSKwoNYmFzZV9yZXNwb25zZRgBIAEoCzIULmNvbW1vbi5CYXNlUmVzcG9uc2USQQoEZGF0YRgCIAEoCzIzLnBsYXllci5HZXRDYXNpbm9QbGF5ZXJCeU1lbWJlckNhcmRJZFJlcy5QbGF5ZXJJbmZvGuIECgpQbGF5ZXJJbmZvEgwKBGNpdHkYASABKAkSEQoJcGxheWVyX2lkGAIgASgJEg0KBWVtYWlsGAMgASgJEhAKCHByb3ZpbmNlGAQgASgJEhAKCHBvc3Rjb2RlGAUgASgJEg8KB2FkZHJlc3MYBiABKAkSFwoPY3VycmVudF9hZGRyZXNzGAcgASgJEhcKD3BsYXllcl9wcm92aW5jZRgIIAEoCRITCgtwbGF5ZXJfY2l0eRgJIAEoCRITCgtuYXRpb25hbGl0eRgKIAEoCRIXCg9zb3VyY2Vfb2ZfZnVuZHMYCyABKAkSEQoJYWRkcl9pbmZvGAwgASgJEgsKA2RvYhgNIAEoCRIRCglyZWFsX25hbWUYDiABKAkSFgoOcGxhY2Vfb2ZfYmlydGgYDyABKAkSFgoObmF0dXJlX29mX3dvcmsYECABKAkSFAoMdmVyaWZ5X3Bob3RvGBEgASgJEhAKCHBob3RvX2lkGBIgASgJEhAKCHBsYXRmb3JtGBMgASgJEhQKDHBsYXllcl9sZXZlbBgUIAEoCRIQCghuaWNrbmFtZRgVIAEoCRIOCgZnZW5kZXIYFiABKAkSFQoNcGxheWVyX2F2YXRhchgXIAEoCRIUCgxwaG9uZV9udW1iZXIYGCABKAkSFgoObWVtYmVyX2NhcmRfaWQYGSABKAkSFQoNcGxhdGZvcm1fbmFtZRgaIAEoCRITCgtwbGF0Zm9ybV9pZBgbIAEoCRIZChFyZWdpc3RyYXRpb25fZm9ybRgcIAEoCRIZChF2ZXJpZmljYXRpb25fZm9ybRgdIAEoCWIGcHJvdG8z\", [file_common_Common]);\n\n/**\n * @generated from message player.GetCasinoPlayerByMemberCardIdReq\n */\nexport type GetCasinoPlayerByMemberCardIdReq = Message<\"player.GetCasinoPlayerByMemberCardIdReq\"> & {\n /**\n * @generated from field: string member_card_id = 1;\n */\n memberCardId: string;\n};\n\n/**\n * Describes the message player.GetCasinoPlayerByMemberCardIdReq.\n * Use `create(GetCasinoPlayerByMemberCardIdReqSchema)` to create a new message.\n */\nexport const GetCasinoPlayerByMemberCardIdReqSchema: GenMessage<GetCasinoPlayerByMemberCardIdReq> = /*@__PURE__*/\n messageDesc(file_player_GetCasinoPlayerByMemberCardId, 0);\n\n/**\n * @generated from message player.GetCasinoPlayerByMemberCardIdRes\n */\nexport type GetCasinoPlayerByMemberCardIdRes = Message<\"player.GetCasinoPlayerByMemberCardIdRes\"> & {\n /**\n * @generated from field: common.BaseResponse base_response = 1;\n */\n baseResponse?: BaseResponse;\n\n /**\n * @generated from field: player.GetCasinoPlayerByMemberCardIdRes.PlayerInfo data = 2;\n */\n data?: GetCasinoPlayerByMemberCardIdRes_PlayerInfo;\n};\n\n/**\n * Describes the message player.GetCasinoPlayerByMemberCardIdRes.\n * Use `create(GetCasinoPlayerByMemberCardIdResSchema)` to create a new message.\n */\nexport const GetCasinoPlayerByMemberCardIdResSchema: GenMessage<GetCasinoPlayerByMemberCardIdRes> = /*@__PURE__*/\n messageDesc(file_player_GetCasinoPlayerByMemberCardId, 1);\n\n/**\n * @generated from message player.GetCasinoPlayerByMemberCardIdRes.PlayerInfo\n */\nexport type GetCasinoPlayerByMemberCardIdRes_PlayerInfo = Message<\"player.GetCasinoPlayerByMemberCardIdRes.PlayerInfo\"> & {\n /**\n * @generated from field: string city = 1;\n */\n city: string;\n\n /**\n * @generated from field: string player_id = 2;\n */\n playerId: string;\n\n /**\n * @generated from field: string email = 3;\n */\n email: string;\n\n /**\n * @generated from field: string province = 4;\n */\n province: string;\n\n /**\n * @generated from field: string postcode = 5;\n */\n postcode: string;\n\n /**\n * @generated from field: string address = 6;\n */\n address: string;\n\n /**\n * @generated from field: string current_address = 7;\n */\n currentAddress: string;\n\n /**\n * @generated from field: string player_province = 8;\n */\n playerProvince: string;\n\n /**\n * @generated from field: string player_city = 9;\n */\n playerCity: string;\n\n /**\n * @generated from field: string nationality = 10;\n */\n nationality: string;\n\n /**\n * @generated from field: string source_of_funds = 11;\n */\n sourceOfFunds: string;\n\n /**\n * @generated from field: string addr_info = 12;\n */\n addrInfo: string;\n\n /**\n * @generated from field: string dob = 13;\n */\n dob: string;\n\n /**\n * @generated from field: string real_name = 14;\n */\n realName: string;\n\n /**\n * @generated from field: string place_of_birth = 15;\n */\n placeOfBirth: string;\n\n /**\n * @generated from field: string nature_of_work = 16;\n */\n natureOfWork: string;\n\n /**\n * @generated from field: string verify_photo = 17;\n */\n verifyPhoto: string;\n\n /**\n * @generated from field: string photo_id = 18;\n */\n photoId: string;\n\n /**\n * @generated from field: string platform = 19;\n */\n platform: string;\n\n /**\n * @generated from field: string player_level = 20;\n */\n playerLevel: string;\n\n /**\n * @generated from field: string nickname = 21;\n */\n nickname: string;\n\n /**\n * @generated from field: string gender = 22;\n */\n gender: string;\n\n /**\n * @generated from field: string player_avatar = 23;\n */\n playerAvatar: string;\n\n /**\n * @generated from field: string phone_number = 24;\n */\n phoneNumber: string;\n\n /**\n * @generated from field: string member_card_id = 25;\n */\n memberCardId: string;\n\n /**\n * @generated from field: string platform_name = 26;\n */\n platformName: string;\n\n /**\n * @generated from field: string platform_id = 27;\n */\n platformId: string;\n\n /**\n * @generated from field: string registration_form = 28;\n */\n registrationForm: string;\n\n /**\n * @generated from field: string verification_form = 29;\n */\n verificationForm: string;\n};\n\n/**\n * Describes the message player.GetCasinoPlayerByMemberCardIdRes.PlayerInfo.\n * Use `create(GetCasinoPlayerByMemberCardIdRes_PlayerInfoSchema)` to create a new message.\n */\nexport const GetCasinoPlayerByMemberCardIdRes_PlayerInfoSchema: GenMessage<GetCasinoPlayerByMemberCardIdRes_PlayerInfo> = /*@__PURE__*/\n messageDesc(file_player_GetCasinoPlayerByMemberCardId, 1, 0);\n\n","// @generated by protoc-gen-es v2.10.2 with parameter \"target=ts\"\n// @generated from file player/UpdateCasinoPlayerByPlayerId.proto (package player, syntax proto3)\n/* eslint-disable */\n\nimport type { GenFile, GenMessage } from \"@bufbuild/protobuf/codegenv2\";\nimport { fileDesc, messageDesc } from \"@bufbuild/protobuf/codegenv2\";\nimport type { BaseResponse } from \"../common/Common_pb\";\nimport { file_common_Common } from \"../common/Common_pb\";\nimport type { PlayerPhotoIdType } from \"./PlayerCommon_pb\";\nimport { file_player_PlayerCommon } from \"./PlayerCommon_pb\";\nimport type { Message } from \"@bufbuild/protobuf\";\n\n/**\n * Describes the file player/UpdateCasinoPlayerByPlayerId.proto.\n */\nexport const file_player_UpdateCasinoPlayerByPlayerId: GenFile = /*@__PURE__*/\n fileDesc(\"CilwbGF5ZXIvVXBkYXRlQ2FzaW5vUGxheWVyQnlQbGF5ZXJJZC5wcm90bxIGcGxheWVyIvoDCh9VcGRhdGVDYXNpbm9QbGF5ZXJCeVBsYXllcklkUmVxEhEKCXBsYXllcl9pZBgBIAEoCRINCgVlbWFpbBgCIAEoCRIRCglyZWFsX25hbWUYBCABKAkSEwoLbmF0aW9uYWxpdHkYBSABKAkSDwoHY291bnRyeRgGIAEoCRIWCg5wbGFjZV9vZl9iaXJ0aBgHIAEoCRILCgNkb2IYCCABKAkSFgoObmF0dXJlX29mX3dvcmsYCSABKAkSFwoPc291cmNlX29mX2Z1bmRzGAogASgJEhAKCHBob3RvX2lkGAsgASgJEjAKDXBob3RvX2lkX3R5cGUYDCABKA4yGS5wbGF5ZXIuUGxheWVyUGhvdG9JZFR5cGUSFgoOaWRfY2FyZF9udW1iZXIYDSABKAkSFgoObWVtYmVyX2NhcmRfaWQYESABKAkSDwoHYWRkcmVzcxgSIAEoCRIXCg9jdXJyZW50X2FkZHJlc3MYEyABKAkSFwoPcGxheWVyX3Byb3ZpbmNlGBQgASgJEhMKC3BsYXllcl9jaXR5GBUgASgJEhQKDHZlcmlmeV9waG90bxgWIAEoCRIOCgZnZW5kZXIYFyABKAgSGQoRcmVnaXN0cmF0aW9uX2Zvcm0YGCABKAkSGQoRdmVyaWZpY2F0aW9uX2Zvcm0YGSABKAkiVwoKUGxheWVySW5mbxIKCgJpZBgBIAEoCRIRCglwbGF5ZXJfaWQYAiABKAkSEwoLcGxhdGZvcm1faWQYAyABKAkSFQoNcGxhdGZvcm1fbmFtZRgEIAEoCSJwCh9VcGRhdGVDYXNpbm9QbGF5ZXJCeVBsYXllcklkUmVzEisKDWJhc2VfcmVzcG9uc2UYASABKAsyFC5jb21tb24uQmFzZVJlc3BvbnNlEiAKBGRhdGEYAiABKAsyEi5wbGF5ZXIuUGxheWVySW5mb2IGcHJvdG8z\", [file_common_Common, file_player_PlayerCommon]);\n\n/**\n * @generated from message player.UpdateCasinoPlayerByPlayerIdReq\n */\nexport type UpdateCasinoPlayerByPlayerIdReq = Message<\"player.UpdateCasinoPlayerByPlayerIdReq\"> & {\n /**\n * @generated from field: string player_id = 1;\n */\n playerId: string;\n\n /**\n * @generated from field: string email = 2;\n */\n email: string;\n\n /**\n * @generated from field: string real_name = 4;\n */\n realName: string;\n\n /**\n * @generated from field: string nationality = 5;\n */\n nationality: string;\n\n /**\n * @generated from field: string country = 6;\n */\n country: string;\n\n /**\n * @generated from field: string place_of_birth = 7;\n */\n placeOfBirth: string;\n\n /**\n * @generated from field: string dob = 8;\n */\n dob: string;\n\n /**\n * @generated from field: string nature_of_work = 9;\n */\n natureOfWork: string;\n\n /**\n * @generated from field: string source_of_funds = 10;\n */\n sourceOfFunds: string;\n\n /**\n * @generated from field: string photo_id = 11;\n */\n photoId: string;\n\n /**\n * @generated from field: player.PlayerPhotoIdType photo_id_type = 12;\n */\n photoIdType: PlayerPhotoIdType;\n\n /**\n * @generated from field: string id_card_number = 13;\n */\n idCardNumber: string;\n\n /**\n * @generated from field: string member_card_id = 17;\n */\n memberCardId: string;\n\n /**\n * @generated from field: string address = 18;\n */\n address: string;\n\n /**\n * @generated from field: string current_address = 19;\n */\n currentAddress: string;\n\n /**\n * @generated from field: string player_province = 20;\n */\n playerProvince: string;\n\n /**\n * @generated from field: string player_city = 21;\n */\n playerCity: string;\n\n /**\n * @generated from field: string verify_photo = 22;\n */\n verifyPhoto: string;\n\n /**\n * @generated from field: bool gender = 23;\n */\n gender: boolean;\n\n /**\n * @generated from field: string registration_form = 24;\n */\n registrationForm: string;\n\n /**\n * @generated from field: string verification_form = 25;\n */\n verificationForm: string;\n};\n\n/**\n * Describes the message player.UpdateCasinoPlayerByPlayerIdReq.\n * Use `create(UpdateCasinoPlayerByPlayerIdReqSchema)` to create a new message.\n */\nexport const UpdateCasinoPlayerByPlayerIdReqSchema: GenMessage<UpdateCasinoPlayerByPlayerIdReq> = /*@__PURE__*/\n messageDesc(file_player_UpdateCasinoPlayerByPlayerId, 0);\n\n/**\n * @generated from message player.PlayerInfo\n */\nexport type PlayerInfo = Message<\"player.PlayerInfo\"> & {\n /**\n * @generated from field: string id = 1;\n */\n id: string;\n\n /**\n * @generated from field: string player_id = 2;\n */\n playerId: string;\n\n /**\n * @generated from field: string platform_id = 3;\n */\n platformId: string;\n\n /**\n * @generated from field: string platform_name = 4;\n */\n platformName: string;\n};\n\n/**\n * Describes the message player.PlayerInfo.\n * Use `create(PlayerInfoSchema)` to create a new message.\n */\nexport const PlayerInfoSchema: GenMessage<PlayerInfo> = /*@__PURE__*/\n messageDesc(file_player_UpdateCasinoPlayerByPlayerId, 1);\n\n/**\n * @generated from message player.UpdateCasinoPlayerByPlayerIdRes\n */\nexport type UpdateCasinoPlayerByPlayerIdRes = Message<\"player.UpdateCasinoPlayerByPlayerIdRes\"> & {\n /**\n * @generated from field: common.BaseResponse base_response = 1;\n */\n baseResponse?: BaseResponse;\n\n /**\n * @generated from field: player.PlayerInfo data = 2;\n */\n data?: PlayerInfo;\n};\n\n/**\n * Describes the message player.UpdateCasinoPlayerByPlayerIdRes.\n * Use `create(UpdateCasinoPlayerByPlayerIdResSchema)` to create a new message.\n */\nexport const UpdateCasinoPlayerByPlayerIdResSchema: GenMessage<UpdateCasinoPlayerByPlayerIdRes> = /*@__PURE__*/\n messageDesc(file_player_UpdateCasinoPlayerByPlayerId, 2);\n\n","// @generated by protoc-gen-es v2.10.2 with parameter \"target=ts\"\n// @generated from file player/UpdatePlayerStatusByPlayerId.proto (package player, syntax proto3)\n/* eslint-disable */\n\nimport type { GenFile, GenMessage } from \"@bufbuild/protobuf/codegenv2\";\nimport { fileDesc, messageDesc } from \"@bufbuild/protobuf/codegenv2\";\nimport type { BaseResponse } from \"../common/Common_pb\";\nimport { file_common_Common } from \"../common/Common_pb\";\nimport type { Message } from \"@bufbuild/protobuf\";\n\n/**\n * Describes the file player/UpdatePlayerStatusByPlayerId.proto.\n */\nexport const file_player_UpdatePlayerStatusByPlayerId: GenFile = /*@__PURE__*/\n fileDesc(\"CilwbGF5ZXIvVXBkYXRlUGxheWVyU3RhdHVzQnlQbGF5ZXJJZC5wcm90bxIGcGxheWVyIkQKH1VwZGF0ZVBsYXllclN0YXR1c0J5UGxheWVySWRSZXESEQoJcGxheWVyX2lkGAEgASgJEg4KBnN0YXR1cxgCIAEoCSJOCh9VcGRhdGVQbGF5ZXJTdGF0dXNCeVBsYXllcklkUmVzEisKDWJhc2VfcmVzcG9uc2UYASABKAsyFC5jb21tb24uQmFzZVJlc3BvbnNlYgZwcm90bzM\", [file_common_Common]);\n\n/**\n * @generated from message player.UpdatePlayerStatusByPlayerIdReq\n */\nexport type UpdatePlayerStatusByPlayerIdReq = Message<\"player.UpdatePlayerStatusByPlayerIdReq\"> & {\n /**\n * @generated from field: string player_id = 1;\n */\n playerId: string;\n\n /**\n * @generated from field: string status = 2;\n */\n status: string;\n};\n\n/**\n * Describes the message player.UpdatePlayerStatusByPlayerIdReq.\n * Use `create(UpdatePlayerStatusByPlayerIdReqSchema)` to create a new message.\n */\nexport const UpdatePlayerStatusByPlayerIdReqSchema: GenMessage<UpdatePlayerStatusByPlayerIdReq> = /*@__PURE__*/\n messageDesc(file_player_UpdatePlayerStatusByPlayerId, 0);\n\n/**\n * @generated from message player.UpdatePlayerStatusByPlayerIdRes\n */\nexport type UpdatePlayerStatusByPlayerIdRes = Message<\"player.UpdatePlayerStatusByPlayerIdRes\"> & {\n /**\n * @generated from field: common.BaseResponse base_response = 1;\n */\n baseResponse?: BaseResponse;\n};\n\n/**\n * Describes the message player.UpdatePlayerStatusByPlayerIdRes.\n * Use `create(UpdatePlayerStatusByPlayerIdResSchema)` to create a new message.\n */\nexport const UpdatePlayerStatusByPlayerIdResSchema: GenMessage<UpdatePlayerStatusByPlayerIdRes> = /*@__PURE__*/\n messageDesc(file_player_UpdatePlayerStatusByPlayerId, 1);\n\n","// @generated by protoc-gen-es v2.10.2 with parameter \"target=ts\"\n// @generated from file player/GetBetRecordsByPlayerId.proto (package player, syntax proto3)\n/* eslint-disable */\n\nimport type { GenFile, GenMessage } from \"@bufbuild/protobuf/codegenv2\";\nimport { fileDesc, messageDesc } from \"@bufbuild/protobuf/codegenv2\";\nimport type { BaseResponse } from \"../common/Common_pb\";\nimport { file_common_Common } from \"../common/Common_pb\";\nimport type { Message } from \"@bufbuild/protobuf\";\n\n/**\n * Describes the file player/GetBetRecordsByPlayerId.proto.\n */\nexport const file_player_GetBetRecordsByPlayerId: GenFile = /*@__PURE__*/\n fileDesc(\"CiRwbGF5ZXIvR2V0QmV0UmVjb3Jkc0J5UGxheWVySWQucHJvdG8SBnBsYXllciJVChpHZXRCZXRSZWNvcmRzQnlQbGF5ZXJJZFJlcRIRCglwbGF5ZXJfaWQYASABKAkSEgoKc3RhcnRfdGltZRgCIAEoCRIQCghlbmRfdGltZRgDIAEoCSK9BgoJQmV0UmVjb3JkEhEKCXBsYXllcl9pZBgBIAEoCRITCgtwbGF0Zm9ybV9pZBgCIAEoCRIUCgx2YWxpZF9hbW91bnQYAyABKAESEAoIb3JkZXJfbm8YBCABKAkSFQoNcHJvdmlkZXJfbmFtZRgFIAEoCRIRCglzdHVkaW9faWQYBiABKAUSEQoJZ2FtZV9uYW1lGAcgASgJEg8KB2dhbWVfaWQYCCABKAkSEQoJZ2FtZV90eXBlGAkgASgJEhEKCWdhbWVfY29kZRgKIAEoCRIRCgl3aW5fcmF0aW8YCyABKAESDgoGYW1vdW50GAwgASgBEhQKDGJvbnVzX2Ftb3VudBgNIAEoARITCgtjcmVhdGVfdGltZRgOIAEoCRIXCg9zZXR0bGVtZW50X3RpbWUYDyABKAkSEwoLaW5zZXJ0X3RpbWUYECABKAkSEwoLcHJvdmlkZXJfaWQYESABKAkSEwoLcGxheWVyX25hbWUYEiABKAkSDgoGcmVzdWx0GBMgASgJEhAKCHJvdW5kX25vGBQgASgJEhUKDXBsYXRmb3JtX25hbWUYFSABKAkSDwoHcGxheV9ubxgWIAEoCRIUCgxjcF9nYW1lX3R5cGUYFyABKAkSEAoIYmV0X3R5cGUYGCABKAkSFAoMbG9naW5fZGV2aWNlGBkgASgJEh4KFmRldGFpbHNfaW5pdGlhbF9hbW91bnQYGiABKAESIAoYZGV0YWlsc19jcmVkaXRfYWZ0ZXJfYmV0GBsgASgBEiMKG2RldGFpbHNfY3JlZGl0X2FmdGVyX3BheW91dBgcIAEoARIUCgxkZXRhaWxzX21pbmkYHSABKAESFQoNZGV0YWlsc19taW5vchgeIAEoARIVCg1kZXRhaWxzX21ham9yGB8gASgBEhUKDWRldGFpbHNfZ3JhbmQYICABKAESGgoSZGV0YWlsc190YWJsZV9uYW1lGCEgASgJEhwKFGRldGFpbHNfamFja3BvdF90eXBlGCIgAygJEh0KFWRldGFpbHNfamFja3BvdF9jbGFpbRgjIAEoARIjChtkZXRhaWxzX2phY2twb3Rfd2luX3Jlc3VsdHMYJCADKAkiagoaR2V0QmV0UmVjb3Jkc0J5UGxheWVySWRSZXMSKwoNYmFzZV9yZXNwb25zZRgBIAEoCzIULmNvbW1vbi5CYXNlUmVzcG9uc2USHwoEZGF0YRgCIAMoCzIRLnBsYXllci5CZXRSZWNvcmRiBnByb3RvMw\", [file_common_Common]);\n\n/**\n * @generated from message player.GetBetRecordsByPlayerIdReq\n */\nexport type GetBetRecordsByPlayerIdReq = Message<\"player.GetBetRecordsByPlayerIdReq\"> & {\n /**\n * @generated from field: string player_id = 1;\n */\n playerId: string;\n\n /**\n * @generated from field: string start_time = 2;\n */\n startTime: string;\n\n /**\n * @generated from field: string end_time = 3;\n */\n endTime: string;\n};\n\n/**\n * Describes the message player.GetBetRecordsByPlayerIdReq.\n * Use `create(GetBetRecordsByPlayerIdReqSchema)` to create a new message.\n */\nexport const GetBetRecordsByPlayerIdReqSchema: GenMessage<GetBetRecordsByPlayerIdReq> = /*@__PURE__*/\n messageDesc(file_player_GetBetRecordsByPlayerId, 0);\n\n/**\n * @generated from message player.BetRecord\n */\nexport type BetRecord = Message<\"player.BetRecord\"> & {\n /**\n * @generated from field: string player_id = 1;\n */\n playerId: string;\n\n /**\n * @generated from field: string platform_id = 2;\n */\n platformId: string;\n\n /**\n * @generated from field: double valid_amount = 3;\n */\n validAmount: number;\n\n /**\n * @generated from field: string order_no = 4;\n */\n orderNo: string;\n\n /**\n * @generated from field: string provider_name = 5;\n */\n providerName: string;\n\n /**\n * @generated from field: int32 studio_id = 6;\n */\n studioId: number;\n\n /**\n * @generated from field: string game_name = 7;\n */\n gameName: string;\n\n /**\n * @generated from field: string game_id = 8;\n */\n gameId: string;\n\n /**\n * @generated from field: string game_type = 9;\n */\n gameType: string;\n\n /**\n * @generated from field: string game_code = 10;\n */\n gameCode: string;\n\n /**\n * @generated from field: double win_ratio = 11;\n */\n winRatio: number;\n\n /**\n * @generated from field: double amount = 12;\n */\n amount: number;\n\n /**\n * @generated from field: double bonus_amount = 13;\n */\n bonusAmount: number;\n\n /**\n * @generated from field: string create_time = 14;\n */\n createTime: string;\n\n /**\n * @generated from field: string settlement_time = 15;\n */\n settlementTime: string;\n\n /**\n * @generated from field: string insert_time = 16;\n */\n insertTime: string;\n\n /**\n * @generated from field: string provider_id = 17;\n */\n providerId: string;\n\n /**\n * @generated from field: string player_name = 18;\n */\n playerName: string;\n\n /**\n * @generated from field: string result = 19;\n */\n result: string;\n\n /**\n * @generated from field: string round_no = 20;\n */\n roundNo: string;\n\n /**\n * @generated from field: string platform_name = 21;\n */\n platformName: string;\n\n /**\n * @generated from field: string play_no = 22;\n */\n playNo: string;\n\n /**\n * @generated from field: string cp_game_type = 23;\n */\n cpGameType: string;\n\n /**\n * @generated from field: string bet_type = 24;\n */\n betType: string;\n\n /**\n * @generated from field: string login_device = 25;\n */\n loginDevice: string;\n\n /**\n * @generated from field: double details_initial_amount = 26;\n */\n detailsInitialAmount: number;\n\n /**\n * @generated from field: double details_credit_after_bet = 27;\n */\n detailsCreditAfterBet: number;\n\n /**\n * @generated from field: double details_credit_after_payout = 28;\n */\n detailsCreditAfterPayout: number;\n\n /**\n * @generated from field: double details_mini = 29;\n */\n detailsMini: number;\n\n /**\n * @generated from field: double details_minor = 30;\n */\n detailsMinor: number;\n\n /**\n * @generated from field: double details_major = 31;\n */\n detailsMajor: number;\n\n /**\n * @generated from field: double details_grand = 32;\n */\n detailsGrand: number;\n\n /**\n * @generated from field: string details_table_name = 33;\n */\n detailsTableName: string;\n\n /**\n * @generated from field: repeated string details_jackpot_type = 34;\n */\n detailsJackpotType: string[];\n\n /**\n * @generated from field: double details_jackpot_claim = 35;\n */\n detailsJackpotClaim: number;\n\n /**\n * @generated from field: repeated string details_jackpot_win_results = 36;\n */\n detailsJackpotWinResults: string[];\n};\n\n/**\n * Describes the message player.BetRecord.\n * Use `create(BetRecordSchema)` to create a new message.\n */\nexport const BetRecordSchema: GenMessage<BetRecord> = /*@__PURE__*/\n messageDesc(file_player_GetBetRecordsByPlayerId, 1);\n\n/**\n * @generated from message player.GetBetRecordsByPlayerIdRes\n */\nexport type GetBetRecordsByPlayerIdRes = Message<\"player.GetBetRecordsByPlayerIdRes\"> & {\n /**\n * @generated from field: common.BaseResponse base_response = 1;\n */\n baseResponse?: BaseResponse;\n\n /**\n * @generated from field: repeated player.BetRecord data = 2;\n */\n data: BetRecord[];\n};\n\n/**\n * Describes the message player.GetBetRecordsByPlayerIdRes.\n * Use `create(GetBetRecordsByPlayerIdResSchema)` to create a new message.\n */\nexport const GetBetRecordsByPlayerIdResSchema: GenMessage<GetBetRecordsByPlayerIdRes> = /*@__PURE__*/\n messageDesc(file_player_GetBetRecordsByPlayerId, 2);\n\n","// @generated by protoc-gen-es v2.10.2 with parameter \"target=ts\"\n// @generated from file player/GetPlayerInfoWithPlayerId.proto (package player, syntax proto3)\n/* eslint-disable */\n\nimport type { GenFile, GenMessage } from \"@bufbuild/protobuf/codegenv2\";\nimport { fileDesc, messageDesc } from \"@bufbuild/protobuf/codegenv2\";\nimport type { BaseResponse } from \"../common/Common_pb\";\nimport { file_common_Common } from \"../common/Common_pb\";\nimport type { Message } from \"@bufbuild/protobuf\";\n\n/**\n * Describes the file player/GetPlayerInfoWithPlayerId.proto.\n */\nexport const file_player_GetPlayerInfoWithPlayerId: GenFile = /*@__PURE__*/\n fileDesc(\"CiZwbGF5ZXIvR2V0UGxheWVySW5mb1dpdGhQbGF5ZXJJZC5wcm90bxIGcGxheWVyIjEKHEdldFBsYXllckluZm9XaXRoUGxheWVySWRSZXESEQoJcGxheWVyX2lkGAEgASgJItIBChxHZXRQbGF5ZXJJbmZvV2l0aFBsYXllcklkUmVzEisKDWJhc2VfcmVzcG9uc2UYASABKAsyFC5jb21tb24uQmFzZVJlc3BvbnNlEj0KBGRhdGEYAiABKAsyLy5wbGF5ZXIuR2V0UGxheWVySW5mb1dpdGhQbGF5ZXJJZFJlcy5QbGF5ZXJEYXRhGkYKClBsYXllckRhdGESCgoCaWQYASABKAkSEQoJcGxheWVyX2lkGAIgASgJEhkKEXJlZ2lzdHJhdGlvbl90aW1lGAMgASgJYgZwcm90bzM\", [file_common_Common]);\n\n/**\n * @generated from message player.GetPlayerInfoWithPlayerIdReq\n */\nexport type GetPlayerInfoWithPlayerIdReq = Message<\"player.GetPlayerInfoWithPlayerIdReq\"> & {\n /**\n * @generated from field: string player_id = 1;\n */\n playerId: string;\n};\n\n/**\n * Describes the message player.GetPlayerInfoWithPlayerIdReq.\n * Use `create(GetPlayerInfoWithPlayerIdReqSchema)` to create a new message.\n */\nexport const GetPlayerInfoWithPlayerIdReqSchema: GenMessage<GetPlayerInfoWithPlayerIdReq> = /*@__PURE__*/\n messageDesc(file_player_GetPlayerInfoWithPlayerId, 0);\n\n/**\n * @generated from message player.GetPlayerInfoWithPlayerIdRes\n */\nexport type GetPlayerInfoWithPlayerIdRes = Message<\"player.GetPlayerInfoWithPlayerIdRes\"> & {\n /**\n * @generated from field: common.BaseResponse base_response = 1;\n */\n baseResponse?: BaseResponse;\n\n /**\n * @generated from field: player.GetPlayerInfoWithPlayerIdRes.PlayerData data = 2;\n */\n data?: GetPlayerInfoWithPlayerIdRes_PlayerData;\n};\n\n/**\n * Describes the message player.GetPlayerInfoWithPlayerIdRes.\n * Use `create(GetPlayerInfoWithPlayerIdResSchema)` to create a new message.\n */\nexport const GetPlayerInfoWithPlayerIdResSchema: GenMessage<GetPlayerInfoWithPlayerIdRes> = /*@__PURE__*/\n messageDesc(file_player_GetPlayerInfoWithPlayerId, 1);\n\n/**\n * @generated from message player.GetPlayerInfoWithPlayerIdRes.PlayerData\n */\nexport type GetPlayerInfoWithPlayerIdRes_PlayerData = Message<\"player.GetPlayerInfoWithPlayerIdRes.PlayerData\"> & {\n /**\n * @generated from field: string id = 1;\n */\n id: string;\n\n /**\n * @generated from field: string player_id = 2;\n */\n playerId: string;\n\n /**\n * @generated from field: string registration_time = 3;\n */\n registrationTime: string;\n};\n\n/**\n * Describes the message player.GetPlayerInfoWithPlayerIdRes.PlayerData.\n * Use `create(GetPlayerInfoWithPlayerIdRes_PlayerDataSchema)` to create a new message.\n */\nexport const GetPlayerInfoWithPlayerIdRes_PlayerDataSchema: GenMessage<GetPlayerInfoWithPlayerIdRes_PlayerData> = /*@__PURE__*/\n messageDesc(file_player_GetPlayerInfoWithPlayerId, 1, 0);\n\n","// @generated by protoc-gen-es v2.10.2 with parameter \"target=ts\"\n// @generated from file player/UpdatePlayerBaccaratTicket.proto (package player, syntax proto3)\n/* eslint-disable */\n\nimport type { GenFile, GenMessage } from \"@bufbuild/protobuf/codegenv2\";\nimport { fileDesc, messageDesc } from \"@bufbuild/protobuf/codegenv2\";\nimport type { BaseResponse } from \"../common/Common_pb\";\nimport { file_common_Common } from \"../common/Common_pb\";\nimport type { Message } from \"@bufbuild/protobuf\";\n\n/**\n * Describes the file player/UpdatePlayerBaccaratTicket.proto.\n */\nexport const file_player_UpdatePlayerBaccaratTicket: GenFile = /*@__PURE__*/\n fileDesc(\"CidwbGF5ZXIvVXBkYXRlUGxheWVyQmFjY2FyYXRUaWNrZXQucHJvdG8SBnBsYXllciIyCh1VcGRhdGVQbGF5ZXJCYWNjYXJhdFRpY2tldFJlcRIRCglwbGF5ZXJfaWQYASABKAkieAodVXBkYXRlUGxheWVyQmFjY2FyYXRUaWNrZXRSZXMSKwoNYmFzZV9yZXNwb25zZRgBIAEoCzIULmNvbW1vbi5CYXNlUmVzcG9uc2USEQoJcGxheWVyX2lkGAIgASgJEhcKD2JhY2NhcmF0X3RpY2tldBgDIAEoCGIGcHJvdG8z\", [file_common_Common]);\n\n/**\n * @generated from message player.UpdatePlayerBaccaratTicketReq\n */\nexport type UpdatePlayerBaccaratTicketReq = Message<\"player.UpdatePlayerBaccaratTicketReq\"> & {\n /**\n * @generated from field: string player_id = 1;\n */\n playerId: string;\n};\n\n/**\n * Describes the message player.UpdatePlayerBaccaratTicketReq.\n * Use `create(UpdatePlayerBaccaratTicketReqSchema)` to create a new message.\n */\nexport const UpdatePlayerBaccaratTicketReqSchema: GenMessage<UpdatePlayerBaccaratTicketReq> = /*@__PURE__*/\n messageDesc(file_player_UpdatePlayerBaccaratTicket, 0);\n\n/**\n * @generated from message player.UpdatePlayerBaccaratTicketRes\n */\nexport type UpdatePlayerBaccaratTicketRes = Message<\"player.UpdatePlayerBaccaratTicketRes\"> & {\n /**\n * @generated from field: common.BaseResponse base_response = 1;\n */\n baseResponse?: BaseResponse;\n\n /**\n * @generated from field: string player_id = 2;\n */\n playerId: string;\n\n /**\n * @generated from field: bool baccarat_ticket = 3;\n */\n baccaratTicket: boolean;\n};\n\n/**\n * Describes the message player.UpdatePlayerBaccaratTicketRes.\n * Use `create(UpdatePlayerBaccaratTicketResSchema)` to create a new message.\n */\nexport const UpdatePlayerBaccaratTicketResSchema: GenMessage<UpdatePlayerBaccaratTicketRes> = /*@__PURE__*/\n messageDesc(file_player_UpdatePlayerBaccaratTicket, 1);\n\n","// @generated by protoc-gen-es v2.10.2 with parameter \"target=ts\"\n// @generated from file player/GetPlayerPhoneAndBankInfo.proto (package player, syntax proto3)\n/* eslint-disable */\n\nimport type { GenFile, GenMessage } from \"@bufbuild/protobuf/codegenv2\";\nimport { fileDesc, messageDesc } from \"@bufbuild/protobuf/codegenv2\";\nimport type { BaseResponse } from \"../common/Common_pb\";\nimport { file_common_Common } from \"../common/Common_pb\";\nimport type { Message } from \"@bufbuild/protobuf\";\n\n/**\n * Describes the file player/GetPlayerPhoneAndBankInfo.proto.\n */\nexport const file_player_GetPlayerPhoneAndBankInfo: GenFile = /*@__PURE__*/\n fileDesc(\"CiZwbGF5ZXIvR2V0UGxheWVyUGhvbmVBbmRCYW5rSW5mby5wcm90bxIGcGxheWVyIsoEChxHZXRQbGF5ZXJQaG9uZUFuZEJhbmtJbmZvUmVzEisKDWJhc2VfcmVzcG9uc2UYASABKAsyFC5jb21tb24uQmFzZVJlc3BvbnNlEhEKCXBsYXllcl9pZBgCIAEoCRINCgVwaG9uZRgDIAEoCRIRCgliYW5rX25hbWUYBCABKAkSFAoMYmFua19hY2NvdW50GAUgASgJGk4KCEJhbmtJbmZvEhEKCWJhbmtfbmFtZRgBIAEoCRIUCgxiYW5rX2FjY291bnQYAiABKAkSGQoRYmFua19hY2NvdW50X25hbWUYAyABKAkaIAoQUmVnaXN0cmF0aW9uSW5mbxIMCgR0aW1lGAEgASgJGr8CChZQbGF5ZXJQaG9uZUFuZEJhbmtJbmZvEgoKAmlkGAEgASgJEhEKCXBsYXllcl9pZBgCIAEoCRITCgtwbGF0Zm9ybV9pZBgDIAEoCRIXCg9wbGF0Zm9ybV9vYmpfaWQYBCABKAkSGwoTcGxheWVyX2xldmVsX29ial9pZBgFIAEoCRINCgVwaG9uZRgGIAEoCRIYChBpc19jb21wbGV0ZV9pbmZvGAcgASgIEkAKCWJhbmtfaW5mbxgIIAMoCzItLnBsYXllci5HZXRQbGF5ZXJQaG9uZUFuZEJhbmtJbmZvUmVzLkJhbmtJbmZvElAKEXJlZ2lzdHJhdGlvbl9pbmZvGAkgASgLMjUucGxheWVyLkdldFBsYXllclBob25lQW5kQmFua0luZm9SZXMuUmVnaXN0cmF0aW9uSW5mb2IGcHJvdG8z\", [file_common_Common]);\n\n/**\n * @generated from message player.GetPlayerPhoneAndBankInfoRes\n */\nexport type GetPlayerPhoneAndBankInfoRes = Message<\"player.GetPlayerPhoneAndBankInfoRes\"> & {\n /**\n * @generated from field: common.BaseResponse base_response = 1;\n */\n baseResponse?: BaseResponse;\n\n /**\n * @generated from field: string player_id = 2;\n */\n playerId: string;\n\n /**\n * @generated from field: string phone = 3;\n */\n phone: string;\n\n /**\n * @generated from field: string bank_name = 4;\n */\n bankName: string;\n\n /**\n * @generated from field: string bank_account = 5;\n */\n bankAccount: string;\n};\n\n/**\n * Describes the message player.GetPlayerPhoneAndBankInfoRes.\n * Use `create(GetPlayerPhoneAndBankInfoResSchema)` to create a new message.\n */\nexport const GetPlayerPhoneAndBankInfoResSchema: GenMessage<GetPlayerPhoneAndBankInfoRes> = /*@__PURE__*/\n messageDesc(file_player_GetPlayerPhoneAndBankInfo, 0);\n\n/**\n * @generated from message player.GetPlayerPhoneAndBankInfoRes.BankInfo\n */\nexport type GetPlayerPhoneAndBankInfoRes_BankInfo = Message<\"player.GetPlayerPhoneAndBankInfoRes.BankInfo\"> & {\n /**\n * @generated from field: string bank_name = 1;\n */\n bankName: string;\n\n /**\n * @generated from field: string bank_account = 2;\n */\n bankAccount: string;\n\n /**\n * @generated from field: string bank_account_name = 3;\n */\n bankAccountName: string;\n};\n\n/**\n * Describes the message player.GetPlayerPhoneAndBankInfoRes.BankInfo.\n * Use `create(GetPlayerPhoneAndBankInfoRes_BankInfoSchema)` to create a new message.\n */\nexport const GetPlayerPhoneAndBankInfoRes_BankInfoSchema: GenMessage<GetPlayerPhoneAndBankInfoRes_BankInfo> = /*@__PURE__*/\n messageDesc(file_player_GetPlayerPhoneAndBankInfo, 0, 0);\n\n/**\n * @generated from message player.GetPlayerPhoneAndBankInfoRes.RegistrationInfo\n */\nexport type GetPlayerPhoneAndBankInfoRes_RegistrationInfo = Message<\"player.GetPlayerPhoneAndBankInfoRes.RegistrationInfo\"> & {\n /**\n * @generated from field: string time = 1;\n */\n time: string;\n};\n\n/**\n * Describes the message player.GetPlayerPhoneAndBankInfoRes.RegistrationInfo.\n * Use `create(GetPlayerPhoneAndBankInfoRes_RegistrationInfoSchema)` to create a new message.\n */\nexport const GetPlayerPhoneAndBankInfoRes_RegistrationInfoSchema: GenMessage<GetPlayerPhoneAndBankInfoRes_RegistrationInfo> = /*@__PURE__*/\n messageDesc(file_player_GetPlayerPhoneAndBankInfo, 0, 1);\n\n/**\n * @generated from message player.GetPlayerPhoneAndBankInfoRes.PlayerPhoneAndBankInfo\n */\nexport type GetPlayerPhoneAndBankInfoRes_PlayerPhoneAndBankInfo = Message<\"player.GetPlayerPhoneAndBankInfoRes.PlayerPhoneAndBankInfo\"> & {\n /**\n * @generated from field: string id = 1;\n */\n id: string;\n\n /**\n * @generated from field: string player_id = 2;\n */\n playerId: string;\n\n /**\n * @generated from field: string platform_id = 3;\n */\n platformId: string;\n\n /**\n * @generated from field: string platform_obj_id = 4;\n */\n platformObjId: string;\n\n /**\n * @generated from field: string player_level_obj_id = 5;\n */\n playerLevelObjId: string;\n\n /**\n * @generated from field: string phone = 6;\n */\n phone: string;\n\n /**\n * @generated from field: bool is_complete_info = 7;\n */\n isCompleteInfo: boolean;\n\n /**\n * @generated from field: repeated player.GetPlayerPhoneAndBankInfoRes.BankInfo bank_info = 8;\n */\n bankInfo: GetPlayerPhoneAndBankInfoRes_BankInfo[];\n\n /**\n * @generated from field: player.GetPlayerPhoneAndBankInfoRes.RegistrationInfo registration_info = 9;\n */\n registrationInfo?: GetPlayerPhoneAndBankInfoRes_RegistrationInfo;\n};\n\n/**\n * Describes the message player.GetPlayerPhoneAndBankInfoRes.PlayerPhoneAndBankInfo.\n * Use `create(GetPlayerPhoneAndBankInfoRes_PlayerPhoneAndBankInfoSchema)` to create a new message.\n */\nexport const GetPlayerPhoneAndBankInfoRes_PlayerPhoneAndBankInfoSchema: GenMessage<GetPlayerPhoneAndBankInfoRes_PlayerPhoneAndBankInfo> = /*@__PURE__*/\n messageDesc(file_player_GetPlayerPhoneAndBankInfo, 0, 2);\n\n","// @generated by protoc-gen-es v2.10.2 with parameter \"target=ts\"\n// @generated from file player/GetPlayerKYCAndWithdrawStatus.proto (package player, syntax proto3)\n/* eslint-disable */\n\nimport type { GenFile, GenMessage } from \"@bufbuild/protobuf/codegenv2\";\nimport { fileDesc, messageDesc } from \"@bufbuild/protobuf/codegenv2\";\nimport type { BaseResponse } from \"../common/Common_pb\";\nimport { file_common_Common } from \"../common/Common_pb\";\nimport type { Message } from \"@bufbuild/protobuf\";\n\n/**\n * Describes the file player/GetPlayerKYCAndWithdrawStatus.proto.\n */\nexport const file_player_GetPlayerKYCAndWithdrawStatus: GenFile = /*@__PURE__*/\n fileDesc(\"CipwbGF5ZXIvR2V0UGxheWVyS1lDQW5kV2l0aGRyYXdTdGF0dXMucHJvdG8SBnBsYXllciI1CiBHZXRQbGF5ZXJLWUNBbmRXaXRoZHJhd1N0YXR1c1JlcRIRCglwbGF5ZXJfaWQYASABKAkixwEKIEdldFBsYXllcktZQ0FuZFdpdGhkcmF3U3RhdHVzUmVzEisKDWJhc2VfcmVzcG9uc2UYASABKAsyFC5jb21tb24uQmFzZVJlc3BvbnNlEjsKBGRhdGEYAiABKAsyLS5wbGF5ZXIuR2V0UGxheWVyS1lDQW5kV2l0aGRyYXdTdGF0dXNSZXMuRGF0YRo5CgREYXRhEhgKEGhhc193aXRoZHJhd19hY2MYASABKAgSFwoPaXNfY29tcGxldGVfa3ljGAIgASgIYgZwcm90bzM\", [file_common_Common]);\n\n/**\n * @generated from message player.GetPlayerKYCAndWithdrawStatusReq\n */\nexport type GetPlayerKYCAndWithdrawStatusReq = Message<\"player.GetPlayerKYCAndWithdrawStatusReq\"> & {\n /**\n * @generated from field: string player_id = 1;\n */\n playerId: string;\n};\n\n/**\n * Describes the message player.GetPlayerKYCAndWithdrawStatusReq.\n * Use `create(GetPlayerKYCAndWithdrawStatusReqSchema)` to create a new message.\n */\nexport const GetPlayerKYCAndWithdrawStatusReqSchema: GenMessage<GetPlayerKYCAndWithdrawStatusReq> = /*@__PURE__*/\n messageDesc(file_player_GetPlayerKYCAndWithdrawStatus, 0);\n\n/**\n * @generated from message player.GetPlayerKYCAndWithdrawStatusRes\n */\nexport type GetPlayerKYCAndWithdrawStatusRes = Message<\"player.GetPlayerKYCAndWithdrawStatusRes\"> & {\n /**\n * @generated from field: common.BaseResponse base_response = 1;\n */\n baseResponse?: BaseResponse;\n\n /**\n * @generated from field: player.GetPlayerKYCAndWithdrawStatusRes.Data data = 2;\n */\n data?: GetPlayerKYCAndWithdrawStatusRes_Data;\n};\n\n/**\n * Describes the message player.GetPlayerKYCAndWithdrawStatusRes.\n * Use `create(GetPlayerKYCAndWithdrawStatusResSchema)` to create a new message.\n */\nexport const GetPlayerKYCAndWithdrawStatusResSchema: GenMessage<GetPlayerKYCAndWithdrawStatusRes> = /*@__PURE__*/\n messageDesc(file_player_GetPlayerKYCAndWithdrawStatus, 1);\n\n/**\n * @generated from message player.GetPlayerKYCAndWithdrawStatusRes.Data\n */\nexport type GetPlayerKYCAndWithdrawStatusRes_Data = Message<\"player.GetPlayerKYCAndWithdrawStatusRes.Data\"> & {\n /**\n * @generated from field: bool has_withdraw_acc = 1;\n */\n hasWithdrawAcc: boolean;\n\n /**\n * @generated from field: bool is_complete_kyc = 2;\n */\n isCompleteKyc: boolean;\n};\n\n/**\n * Describes the message player.GetPlayerKYCAndWithdrawStatusRes.Data.\n * Use `create(GetPlayerKYCAndWithdrawStatusRes_DataSchema)` to create a new message.\n */\nexport const GetPlayerKYCAndWithdrawStatusRes_DataSchema: GenMessage<GetPlayerKYCAndWithdrawStatusRes_Data> = /*@__PURE__*/\n messageDesc(file_player_GetPlayerKYCAndWithdrawStatus, 1, 0);\n\n","// @generated by protoc-gen-es v2.10.2 with parameter \"target=ts\"\n// @generated from file player/GetPlayerValidCreditByPlayerObjId.proto (package player, syntax proto3)\n/* eslint-disable */\n\nimport type { GenFile, GenMessage } from \"@bufbuild/protobuf/codegenv2\";\nimport { fileDesc, messageDesc } from \"@bufbuild/protobuf/codegenv2\";\nimport type { BaseResponse } from \"../common/Common_pb\";\nimport { file_common_Common } from \"../common/Common_pb\";\nimport type { Message } from \"@bufbuild/protobuf\";\n\n/**\n * Describes the file player/GetPlayerValidCreditByPlayerObjId.proto.\n */\nexport const file_player_GetPlayerValidCreditByPlayerObjId: GenFile = /*@__PURE__*/\n fileDesc(\"Ci5wbGF5ZXIvR2V0UGxheWVyVmFsaWRDcmVkaXRCeVBsYXllck9iaklkLnByb3RvEgZwbGF5ZXIiOQokR2V0UGxheWVyVmFsaWRDcmVkaXRCeVBsYXllck9iaklkUmVxEhEKCXBsYXllcl9pZBgBIAEoCSKLAgokR2V0UGxheWVyVmFsaWRDcmVkaXRCeVBsYXllck9iaklkUmVzEisKDWJhc2VfcmVzcG9uc2UYASABKAsyFC5jb21tb24uQmFzZVJlc3BvbnNlEj8KBGRhdGEYAiABKAsyMS5wbGF5ZXIuR2V0UGxheWVyVmFsaWRDcmVkaXRCeVBsYXllck9iaklkUmVzLkRhdGEadQoERGF0YRIKCgJpZBgBIAEoCRIRCglwbGF5ZXJfaWQYAiABKAkSDAoEbmFtZRgDIAEoCRIRCglyZWFsX25hbWUYBCABKAkSFAoMdmFsaWRfY3JlZGl0GAUgASgBEhcKD3BsYXRmb3JtX29ial9pZBgGIAEoCWIGcHJvdG8z\", [file_common_Common]);\n\n/**\n * @generated from message player.GetPlayerValidCreditByPlayerObjIdReq\n */\nexport type GetPlayerValidCreditByPlayerObjIdReq = Message<\"player.GetPlayerValidCreditByPlayerObjIdReq\"> & {\n /**\n * @generated from field: string player_id = 1;\n */\n playerId: string;\n};\n\n/**\n * Describes the message player.GetPlayerValidCreditByPlayerObjIdReq.\n * Use `create(GetPlayerValidCreditByPlayerObjIdReqSchema)` to create a new message.\n */\nexport const GetPlayerValidCreditByPlayerObjIdReqSchema: GenMessage<GetPlayerValidCreditByPlayerObjIdReq> = /*@__PURE__*/\n messageDesc(file_player_GetPlayerValidCreditByPlayerObjId, 0);\n\n/**\n * @generated from message player.GetPlayerValidCreditByPlayerObjIdRes\n */\nexport type GetPlayerValidCreditByPlayerObjIdRes = Message<\"player.GetPlayerValidCreditByPlayerObjIdRes\"> & {\n /**\n * @generated from field: common.BaseResponse base_response = 1;\n */\n baseResponse?: BaseResponse;\n\n /**\n * @generated from field: player.GetPlayerValidCreditByPlayerObjIdRes.Data data = 2;\n */\n data?: GetPlayerValidCreditByPlayerObjIdRes_Data;\n};\n\n/**\n * Describes the message player.GetPlayerValidCreditByPlayerObjIdRes.\n * Use `create(GetPlayerValidCreditByPlayerObjIdResSchema)` to create a new message.\n */\nexport const GetPlayerValidCreditByPlayerObjIdResSchema: GenMessage<GetPlayerValidCreditByPlayerObjIdRes> = /*@__PURE__*/\n messageDesc(file_player_GetPlayerValidCreditByPlayerObjId, 1);\n\n/**\n * @generated from message player.GetPlayerValidCreditByPlayerObjIdRes.Data\n */\nexport type GetPlayerValidCreditByPlayerObjIdRes_Data = Message<\"player.GetPlayerValidCreditByPlayerObjIdRes.Data\"> & {\n /**\n * @generated from field: string id = 1;\n */\n id: string;\n\n /**\n * @generated from field: string player_id = 2;\n */\n playerId: string;\n\n /**\n * @generated from field: string name = 3;\n */\n name: string;\n\n /**\n * @generated from field: string real_name = 4;\n */\n realName: string;\n\n /**\n * @generated from field: double valid_credit = 5;\n */\n validCredit: number;\n\n /**\n * @generated from field: string platform_obj_id = 6;\n */\n platformObjId: string;\n};\n\n/**\n * Describes the message player.GetPlayerValidCreditByPlayerObjIdRes.Data.\n * Use `create(GetPlayerValidCreditByPlayerObjIdRes_DataSchema)` to create a new message.\n */\nexport const GetPlayerValidCreditByPlayerObjIdRes_DataSchema: GenMessage<GetPlayerValidCreditByPlayerObjIdRes_Data> = /*@__PURE__*/\n messageDesc(file_player_GetPlayerValidCreditByPlayerObjId, 1, 0);\n\n","// @generated by protoc-gen-es v2.10.2 with parameter \"target=ts\"\n// @generated from file player/GetPlayerIdAndName.proto (package player, syntax proto3)\n/* eslint-disable */\n\nimport type { GenFile, GenMessage } from \"@bufbuild/protobuf/codegenv2\";\nimport { fileDesc, messageDesc } from \"@bufbuild/protobuf/codegenv2\";\nimport type { BaseResponse } from \"../common/Common_pb\";\nimport { file_common_Common } from \"../common/Common_pb\";\nimport type { Message } from \"@bufbuild/protobuf\";\n\n/**\n * Describes the file player/GetPlayerIdAndName.proto.\n */\nexport const file_player_GetPlayerIdAndName: GenFile = /*@__PURE__*/\n fileDesc(\"Ch9wbGF5ZXIvR2V0UGxheWVySWRBbmROYW1lLnByb3RvEgZwbGF5ZXIivAEKFUdldFBsYXllcklkQW5kTmFtZVJlcxIrCg1iYXNlX3Jlc3BvbnNlGAEgASgLMhQuY29tbW9uLkJhc2VSZXNwb25zZRI7CgRkYXRhGAIgASgLMi0ucGxheWVyLkdldFBsYXllcklkQW5kTmFtZVJlcy5QbGF5ZXJJZEFuZE5hbWUaOQoPUGxheWVySWRBbmROYW1lEhEKCXBsYXllcl9pZBgBIAEoCRITCgtwbGF5ZXJfbmFtZRgCIAEoCWIGcHJvdG8z\", [file_common_Common]);\n\n/**\n * @generated from message player.GetPlayerIdAndNameRes\n */\nexport type GetPlayerIdAndNameRes = Message<\"player.GetPlayerIdAndNameRes\"> & {\n /**\n * @generated from field: common.BaseResponse base_response = 1;\n */\n baseResponse?: BaseResponse;\n\n /**\n * @generated from field: player.GetPlayerIdAndNameRes.PlayerIdAndName data = 2;\n */\n data?: GetPlayerIdAndNameRes_PlayerIdAndName;\n};\n\n/**\n * Describes the message player.GetPlayerIdAndNameRes.\n * Use `create(GetPlayerIdAndNameResSchema)` to create a new message.\n */\nexport const GetPlayerIdAndNameResSchema: GenMessage<GetPlayerIdAndNameRes> = /*@__PURE__*/\n messageDesc(file_player_GetPlayerIdAndName, 0);\n\n/**\n * @generated from message player.GetPlayerIdAndNameRes.PlayerIdAndName\n */\nexport type GetPlayerIdAndNameRes_PlayerIdAndName = Message<\"player.GetPlayerIdAndNameRes.PlayerIdAndName\"> & {\n /**\n * @generated from field: string player_id = 1;\n */\n playerId: string;\n\n /**\n * @generated from field: string player_name = 2;\n */\n playerName: string;\n};\n\n/**\n * Describes the message player.GetPlayerIdAndNameRes.PlayerIdAndName.\n * Use `create(GetPlayerIdAndNameRes_PlayerIdAndNameSchema)` to create a new message.\n */\nexport const GetPlayerIdAndNameRes_PlayerIdAndNameSchema: GenMessage<GetPlayerIdAndNameRes_PlayerIdAndName> = /*@__PURE__*/\n messageDesc(file_player_GetPlayerIdAndName, 0, 0);\n\n","// @generated by protoc-gen-es v2.10.2 with parameter \"target=ts\"\n// @generated from file player/GetFreeSpinPlayerInfo.proto (package player, syntax proto3)\n/* eslint-disable */\n\nimport type { GenEnum, GenFile, GenMessage } from \"@bufbuild/protobuf/codegenv2\";\nimport { enumDesc, fileDesc, messageDesc } from \"@bufbuild/protobuf/codegenv2\";\nimport type { BaseResponse, IDStatus } from \"../common/Common_pb\";\nimport { file_common_Common } from \"../common/Common_pb\";\nimport type { Message } from \"@bufbuild/protobuf\";\n\n/**\n * Describes the file player/GetFreeSpinPlayerInfo.proto.\n */\nexport const file_player_GetFreeSpinPlayerInfo: GenFile = /*@__PURE__*/\n fileDesc(\"CiJwbGF5ZXIvR2V0RnJlZVNwaW5QbGF5ZXJJbmZvLnByb3RvEgZwbGF5ZXIi1QUKGEdldEZyZWVTcGluUGxheWVySW5mb1JlcxIrCg1iYXNlX3Jlc3BvbnNlGAEgASgLMhQuY29tbW9uLkJhc2VSZXNwb25zZRIzCgRkYXRhGAIgASgLMiUucGxheWVyLkdldEZyZWVTcGluUGxheWVySW5mb1Jlcy5EYXRhGp0CCgREYXRhEhAKCHBsYXllcklkGAEgASgJEgwKBG5hbWUYAiABKAkSEwoLcGxheWVyT2JqSWQYAyABKAkSFgoOaXNDb21wbGV0ZUluZm8YBCABKAgSIgoIaWRTdGF0dXMYBSABKA4yEC5jb21tb24uSURTdGF0dXMSHQoQcmVnaXN0cmF0aW9uVGltZRgGIAEoCUgAiAEBEj8KCnBsYXllclR5cGUYByABKA4yKy5wbGF5ZXIuR2V0RnJlZVNwaW5QbGF5ZXJJbmZvUmVzLlBsYXllclR5cGUSGgoSY3JlZGliaWxpdHlSZW1hcmtzGAggAygJEhMKC3Bob25lTnVtYmVyGAkgASgJQhMKEV9yZWdpc3RyYXRpb25UaW1lIrYCCgpQbGF5ZXJUeXBlEhsKF1BMQVlFUl9UWVBFX1VOU1BFQ0lGSUVEEAASFgoSUExBWUVSX1RZUEVfTk9STUFMEAESFQoRUExBWUVSX1RZUEVfR0xJRkUQAhIYChRQTEFZRVJfVFlQRV9IT1RFTEFQUBADEhUKEVBMQVlFUl9UWVBFX0dDQVNIEAQSFAoQUExBWUVSX1RZUEVfTUFZQRAFEhoKFlBMQVlFUl9UWVBFX1RPTkdJVFNBUFAQBhIVChFQTEFZRVJfVFlQRV9WSUJFUhAHEhYKElBMQVlFUl9UWVBFX0xBWkFEQRAIEhgKFFBMQVlFUl9UWVBFX0ZBQ0VCT09LEAkSGAoUUExBWUVSX1RZUEVfVEVMRUdSQU0QChIWChJQTEFZRVJfVFlQRV9GQUNFSUQQDGIGcHJvdG8z\", [file_common_Common]);\n\n/**\n * @generated from message player.GetFreeSpinPlayerInfoRes\n */\nexport type GetFreeSpinPlayerInfoRes = Message<\"player.GetFreeSpinPlayerInfoRes\"> & {\n /**\n * @generated from field: common.BaseResponse base_response = 1;\n */\n baseResponse?: BaseResponse;\n\n /**\n * @generated from field: player.GetFreeSpinPlayerInfoRes.Data data = 2;\n */\n data?: GetFreeSpinPlayerInfoRes_Data;\n};\n\n/**\n * Describes the message player.GetFreeSpinPlayerInfoRes.\n * Use `create(GetFreeSpinPlayerInfoResSchema)` to create a new message.\n */\nexport const GetFreeSpinPlayerInfoResSchema: GenMessage<GetFreeSpinPlayerInfoRes> = /*@__PURE__*/\n messageDesc(file_player_GetFreeSpinPlayerInfo, 0);\n\n/**\n * @generated from message player.GetFreeSpinPlayerInfoRes.Data\n */\nexport type GetFreeSpinPlayerInfoRes_Data = Message<\"player.GetFreeSpinPlayerInfoRes.Data\"> & {\n /**\n * @generated from field: string playerId = 1;\n */\n playerId: string;\n\n /**\n * @generated from field: string name = 2;\n */\n name: string;\n\n /**\n * @generated from field: string playerObjId = 3;\n */\n playerObjId: string;\n\n /**\n * @generated from field: bool isCompleteInfo = 4;\n */\n isCompleteInfo: boolean;\n\n /**\n * @generated from field: common.IDStatus idStatus = 5;\n */\n idStatus: IDStatus;\n\n /**\n * @generated from field: optional string registrationTime = 6;\n */\n registrationTime?: string;\n\n /**\n * @generated from field: player.GetFreeSpinPlayerInfoRes.PlayerType playerType = 7;\n */\n playerType: GetFreeSpinPlayerInfoRes_PlayerType;\n\n /**\n * @generated from field: repeated string credibilityRemarks = 8;\n */\n credibilityRemarks: string[];\n\n /**\n * @generated from field: string phoneNumber = 9;\n */\n phoneNumber: string;\n};\n\n/**\n * Describes the message player.GetFreeSpinPlayerInfoRes.Data.\n * Use `create(GetFreeSpinPlayerInfoRes_DataSchema)` to create a new message.\n */\nexport const GetFreeSpinPlayerInfoRes_DataSchema: GenMessage<GetFreeSpinPlayerInfoRes_Data> = /*@__PURE__*/\n messageDesc(file_player_GetFreeSpinPlayerInfo, 0, 0);\n\n/**\n * @generated from enum player.GetFreeSpinPlayerInfoRes.PlayerType\n */\nexport enum GetFreeSpinPlayerInfoRes_PlayerType {\n /**\n * @generated from enum value: PLAYER_TYPE_UNSPECIFIED = 0;\n */\n UNSPECIFIED = 0,\n\n /**\n * @generated from enum value: PLAYER_TYPE_NORMAL = 1;\n */\n NORMAL = 1,\n\n /**\n * @generated from enum value: PLAYER_TYPE_GLIFE = 2;\n */\n GLIFE = 2,\n\n /**\n * @generated from enum value: PLAYER_TYPE_HOTELAPP = 3;\n */\n HOTELAPP = 3,\n\n /**\n * @generated from enum value: PLAYER_TYPE_GCASH = 4;\n */\n GCASH = 4,\n\n /**\n * @generated from enum value: PLAYER_TYPE_MAYA = 5;\n */\n MAYA = 5,\n\n /**\n * @generated from enum value: PLAYER_TYPE_TONGITSAPP = 6;\n */\n TONGITSAPP = 6,\n\n /**\n * @generated from enum value: PLAYER_TYPE_VIBER = 7;\n */\n VIBER = 7,\n\n /**\n * @generated from enum value: PLAYER_TYPE_LAZADA = 8;\n */\n LAZADA = 8,\n\n /**\n * @generated from enum value: PLAYER_TYPE_FACEBOOK = 9;\n */\n FACEBOOK = 9,\n\n /**\n * @generated from enum value: PLAYER_TYPE_TELEGRAM = 10;\n */\n TELEGRAM = 10,\n\n /**\n * @generated from enum value: PLAYER_TYPE_FACEID = 12;\n */\n FACEID = 12,\n}\n\n/**\n * Describes the enum player.GetFreeSpinPlayerInfoRes.PlayerType.\n */\nexport const GetFreeSpinPlayerInfoRes_PlayerTypeSchema: GenEnum<GetFreeSpinPlayerInfoRes_PlayerType> = /*@__PURE__*/\n enumDesc(file_player_GetFreeSpinPlayerInfo, 0, 0);\n\n","// @generated by protoc-gen-es v2.10.2 with parameter \"target=ts\"\n// @generated from file player/GetPlayerInfo.proto (package player, syntax proto3)\n/* eslint-disable */\n\nimport type { GenFile, GenMessage } from \"@bufbuild/protobuf/codegenv2\";\nimport { fileDesc, messageDesc } from \"@bufbuild/protobuf/codegenv2\";\nimport type { BaseResponse } from \"../common/Common_pb\";\nimport { file_common_Common } from \"../common/Common_pb\";\nimport type { Message } from \"@bufbuild/protobuf\";\n\n/**\n * Describes the file player/GetPlayerInfo.proto.\n */\nexport const file_player_GetPlayerInfo: GenFile = /*@__PURE__*/\n fileDesc(\"ChpwbGF5ZXIvR2V0UGxheWVySW5mby5wcm90bxIGcGxheWVyIlIKEEdldFBsYXllckluZm9SZXESFQoIcGxheWVySWQYASABKAlIAIgBARIRCgRuYW1lGAIgASgJSAGIAQFCCwoJX3BsYXllcklkQgcKBV9uYW1lIpUBCg5QbGF5ZXJJbmZvRGF0YRIKCgJpZBgBIAEoCRIQCghwbGF5ZXJJZBgCIAEoCRIaChJjcmVkaWJpbGl0eVJlbWFya3MYAyADKAkSDgoGaXNNYXlhGAQgASgIEg8KB2lzR0xpZmUYBSABKAgSEAoISURTdGF0dXMYBiABKAUSFgoOaXNDb21wbGV0ZUluZm8YByABKAgiZQoQR2V0UGxheWVySW5mb1JlcxIrCg1iYXNlX3Jlc3BvbnNlGAEgASgLMhQuY29tbW9uLkJhc2VSZXNwb25zZRIkCgRkYXRhGAIgASgLMhYucGxheWVyLlBsYXllckluZm9EYXRhYgZwcm90bzM\", [file_common_Common]);\n\n/**\n * @generated from message player.GetPlayerInfoReq\n */\nexport type GetPlayerInfoReq = Message<\"player.GetPlayerInfoReq\"> & {\n /**\n * @generated from field: optional string playerId = 1;\n */\n playerId?: string;\n\n /**\n * @generated from field: optional string name = 2;\n */\n name?: string;\n};\n\n/**\n * Describes the message player.GetPlayerInfoReq.\n * Use `create(GetPlayerInfoReqSchema)` to create a new message.\n */\nexport const GetPlayerInfoReqSchema: GenMessage<GetPlayerInfoReq> = /*@__PURE__*/\n messageDesc(file_player_GetPlayerInfo, 0);\n\n/**\n * @generated from message player.PlayerInfoData\n */\nexport type PlayerInfoData = Message<\"player.PlayerInfoData\"> & {\n /**\n * @generated from field: string id = 1;\n */\n id: string;\n\n /**\n * @generated from field: string playerId = 2;\n */\n playerId: string;\n\n /**\n * @generated from field: repeated string credibilityRemarks = 3;\n */\n credibilityRemarks: string[];\n\n /**\n * @generated from field: bool isMaya = 4;\n */\n isMaya: boolean;\n\n /**\n * @generated from field: bool isGLife = 5;\n */\n isGLife: boolean;\n\n /**\n * @generated from field: int32 IDStatus = 6;\n */\n IDStatus: number;\n\n /**\n * @generated from field: bool isCompleteInfo = 7;\n */\n isCompleteInfo: boolean;\n};\n\n/**\n * Describes the message player.PlayerInfoData.\n * Use `create(PlayerInfoDataSchema)` to create a new message.\n */\nexport const PlayerInfoDataSchema: GenMessage<PlayerInfoData> = /*@__PURE__*/\n messageDesc(file_player_GetPlayerInfo, 1);\n\n/**\n * @generated from message player.GetPlayerInfoRes\n */\nexport type GetPlayerInfoRes = Message<\"player.GetPlayerInfoRes\"> & {\n /**\n * @generated from field: common.BaseResponse base_response = 1;\n */\n baseResponse?: BaseResponse;\n\n /**\n * @generated from field: player.PlayerInfoData data = 2;\n */\n data?: PlayerInfoData;\n};\n\n/**\n * Describes the message player.GetPlayerInfoRes.\n * Use `create(GetPlayerInfoResSchema)` to create a new message.\n */\nexport const GetPlayerInfoResSchema: GenMessage<GetPlayerInfoRes> = /*@__PURE__*/\n messageDesc(file_player_GetPlayerInfo, 2);\n\n","// @generated by protoc-gen-es v2.10.2 with parameter \"target=ts\"\n// @generated from file player/GetPlayerEmailByPlayerId.proto (package player, syntax proto3)\n/* eslint-disable */\n\nimport type { GenFile, GenMessage } from \"@bufbuild/protobuf/codegenv2\";\nimport { fileDesc, messageDesc } from \"@bufbuild/protobuf/codegenv2\";\nimport type { BaseResponse } from \"../common/Common_pb\";\nimport { file_common_Common } from \"../common/Common_pb\";\nimport type { Message } from \"@bufbuild/protobuf\";\n\n/**\n * Describes the file player/GetPlayerEmailByPlayerId.proto.\n */\nexport const file_player_GetPlayerEmailByPlayerId: GenFile = /*@__PURE__*/\n fileDesc(\"CiVwbGF5ZXIvR2V0UGxheWVyRW1haWxCeVBsYXllcklkLnByb3RvEgZwbGF5ZXIiMAobR2V0UGxheWVyRW1haWxCeVBsYXllcklkUmVxEhEKCXBsYXllcl9pZBgBIAEoCSKZAQobR2V0UGxheWVyRW1haWxCeVBsYXllcklkUmVzEisKDWJhc2VfcmVzcG9uc2UYASABKAsyFC5jb21tb24uQmFzZVJlc3BvbnNlEjYKBGRhdGEYAiABKAsyKC5wbGF5ZXIuR2V0UGxheWVyRW1haWxCeVBsYXllcklkUmVzLkRhdGEaFQoERGF0YRINCgVlbWFpbBgBIAEoCWIGcHJvdG8z\", [file_common_Common]);\n\n/**\n * @generated from message player.GetPlayerEmailByPlayerIdReq\n */\nexport type GetPlayerEmailByPlayerIdReq = Message<\"player.GetPlayerEmailByPlayerIdReq\"> & {\n /**\n * @generated from field: string player_id = 1;\n */\n playerId: string;\n};\n\n/**\n * Describes the message player.GetPlayerEmailByPlayerIdReq.\n * Use `create(GetPlayerEmailByPlayerIdReqSchema)` to create a new message.\n */\nexport const GetPlayerEmailByPlayerIdReqSchema: GenMessage<GetPlayerEmailByPlayerIdReq> = /*@__PURE__*/\n messageDesc(file_player_GetPlayerEmailByPlayerId, 0);\n\n/**\n * @generated from message player.GetPlayerEmailByPlayerIdRes\n */\nexport type GetPlayerEmailByPlayerIdRes = Message<\"player.GetPlayerEmailByPlayerIdRes\"> & {\n /**\n * @generated from field: common.BaseResponse base_response = 1;\n */\n baseResponse?: BaseResponse;\n\n /**\n * @generated from field: player.GetPlayerEmailByPlayerIdRes.Data data = 2;\n */\n data?: GetPlayerEmailByPlayerIdRes_Data;\n};\n\n/**\n * Describes the message player.GetPlayerEmailByPlayerIdRes.\n * Use `create(GetPlayerEmailByPlayerIdResSchema)` to create a new message.\n */\nexport const GetPlayerEmailByPlayerIdResSchema: GenMessage<GetPlayerEmailByPlayerIdRes> = /*@__PURE__*/\n messageDesc(file_player_GetPlayerEmailByPlayerId, 1);\n\n/**\n * @generated from message player.GetPlayerEmailByPlayerIdRes.Data\n */\nexport type GetPlayerEmailByPlayerIdRes_Data = Message<\"player.GetPlayerEmailByPlayerIdRes.Data\"> & {\n /**\n * @generated from field: string email = 1;\n */\n email: string;\n};\n\n/**\n * Describes the message player.GetPlayerEmailByPlayerIdRes.Data.\n * Use `create(GetPlayerEmailByPlayerIdRes_DataSchema)` to create a new message.\n */\nexport const GetPlayerEmailByPlayerIdRes_DataSchema: GenMessage<GetPlayerEmailByPlayerIdRes_Data> = /*@__PURE__*/\n messageDesc(file_player_GetPlayerEmailByPlayerId, 1, 0);\n\n","// @generated by protoc-gen-es v2.10.2 with parameter \"target=ts\"\n// @generated from file player/GetPlayerIdAndLevelByPhone.proto (package player, syntax proto3)\n/* eslint-disable */\n\nimport type { GenFile, GenMessage } from \"@bufbuild/protobuf/codegenv2\";\nimport { fileDesc, messageDesc } from \"@bufbuild/protobuf/codegenv2\";\nimport type { BaseResponse } from \"../common/Common_pb\";\nimport { file_common_Common } from \"../common/Common_pb\";\nimport type { Message } from \"@bufbuild/protobuf\";\n\n/**\n * Describes the file player/GetPlayerIdAndLevelByPhone.proto.\n */\nexport const file_player_GetPlayerIdAndLevelByPhone: GenFile = /*@__PURE__*/\n fileDesc(\"CidwbGF5ZXIvR2V0UGxheWVySWRBbmRMZXZlbEJ5UGhvbmUucHJvdG8SBnBsYXllciJECh1HZXRQbGF5ZXJJZEFuZExldmVsQnlQaG9uZVJlcRIOCgZwaG9uZXMYASADKAkSEwoLcGxhdGZvcm1faWQYAiABKAkiwAIKHUdldFBsYXllcklkQW5kTGV2ZWxCeVBob25lUmVzEisKDWJhc2VfcmVzcG9uc2UYASABKAsyFC5jb21tb24uQmFzZVJlc3BvbnNlEj0KBGRhdGEYAiADKAsyLy5wbGF5ZXIuR2V0UGxheWVySWRBbmRMZXZlbEJ5UGhvbmVSZXMuRGF0YUVudHJ5Gk4KEFBsYXllcklkQW5kTGV2ZWwSEQoJcGxheWVyX2lkGAEgASgJEhMKC2xldmVsX3ZhbHVlGAIgASgFEhIKCmxldmVsX25hbWUYAyABKAkaYwoJRGF0YUVudHJ5EgsKA2tleRgBIAEoCRJFCgV2YWx1ZRgCIAEoCzI2LnBsYXllci5HZXRQbGF5ZXJJZEFuZExldmVsQnlQaG9uZVJlcy5QbGF5ZXJJZEFuZExldmVsOgI4AWIGcHJvdG8z\", [file_common_Common]);\n\n/**\n * @generated from message player.GetPlayerIdAndLevelByPhoneReq\n */\nexport type GetPlayerIdAndLevelByPhoneReq = Message<\"player.GetPlayerIdAndLevelByPhoneReq\"> & {\n /**\n * @generated from field: repeated string phones = 1;\n */\n phones: string[];\n\n /**\n * @generated from field: string platform_id = 2;\n */\n platformId: string;\n};\n\n/**\n * Describes the message player.GetPlayerIdAndLevelByPhoneReq.\n * Use `create(GetPlayerIdAndLevelByPhoneReqSchema)` to create a new message.\n */\nexport const GetPlayerIdAndLevelByPhoneReqSchema: GenMessage<GetPlayerIdAndLevelByPhoneReq> = /*@__PURE__*/\n messageDesc(file_player_GetPlayerIdAndLevelByPhone, 0);\n\n/**\n * @generated from message player.GetPlayerIdAndLevelByPhoneRes\n */\nexport type GetPlayerIdAndLevelByPhoneRes = Message<\"player.GetPlayerIdAndLevelByPhoneRes\"> & {\n /**\n * @generated from field: common.BaseResponse base_response = 1;\n */\n baseResponse?: BaseResponse;\n\n /**\n * @generated from field: map<string, player.GetPlayerIdAndLevelByPhoneRes.PlayerIdAndLevel> data = 2;\n */\n data: { [key: string]: GetPlayerIdAndLevelByPhoneRes_PlayerIdAndLevel };\n};\n\n/**\n * Describes the message player.GetPlayerIdAndLevelByPhoneRes.\n * Use `create(GetPlayerIdAndLevelByPhoneResSchema)` to create a new message.\n */\nexport const GetPlayerIdAndLevelByPhoneResSchema: GenMessage<GetPlayerIdAndLevelByPhoneRes> = /*@__PURE__*/\n messageDesc(file_player_GetPlayerIdAndLevelByPhone, 1);\n\n/**\n * @generated from message player.GetPlayerIdAndLevelByPhoneRes.PlayerIdAndLevel\n */\nexport type GetPlayerIdAndLevelByPhoneRes_PlayerIdAndLevel = Message<\"player.GetPlayerIdAndLevelByPhoneRes.PlayerIdAndLevel\"> & {\n /**\n * @generated from field: string player_id = 1;\n */\n playerId: string;\n\n /**\n * @generated from field: int32 level_value = 2;\n */\n levelValue: number;\n\n /**\n * @generated from field: string level_name = 3;\n */\n levelName: string;\n};\n\n/**\n * Describes the message player.GetPlayerIdAndLevelByPhoneRes.PlayerIdAndLevel.\n * Use `create(GetPlayerIdAndLevelByPhoneRes_PlayerIdAndLevelSchema)` to create a new message.\n */\nexport const GetPlayerIdAndLevelByPhoneRes_PlayerIdAndLevelSchema: GenMessage<GetPlayerIdAndLevelByPhoneRes_PlayerIdAndLevel> = /*@__PURE__*/\n messageDesc(file_player_GetPlayerIdAndLevelByPhone, 1, 0);\n\n","// @generated by protoc-gen-es v2.10.2 with parameter \"target=ts\"\n// @generated from file player/UpdateViberStatus.proto (package player, syntax proto3)\n/* eslint-disable */\n\nimport type { GenFile, GenMessage } from \"@bufbuild/protobuf/codegenv2\";\nimport { fileDesc, messageDesc } from \"@bufbuild/protobuf/codegenv2\";\nimport { file_common_Common } from \"../common/Common_pb\";\nimport type { Message } from \"@bufbuild/protobuf\";\n\n/**\n * Describes the file player/UpdateViberStatus.proto.\n */\nexport const file_player_UpdateViberStatus: GenFile = /*@__PURE__*/\n fileDesc(\"Ch5wbGF5ZXIvVXBkYXRlVmliZXJTdGF0dXMucHJvdG8SBnBsYXllciJOChRVcGRhdGVWaWJlclN0YXR1c1JlcRIRCglwbGF5ZXJfaWQYASABKAkSEwoLcGxhdGZvcm1faWQYAiABKAkSDgoGc3RhdHVzGAMgASgIYgZwcm90bzM\", [file_common_Common]);\n\n/**\n * @generated from message player.UpdateViberStatusReq\n */\nexport type UpdateViberStatusReq = Message<\"player.UpdateViberStatusReq\"> & {\n /**\n * @generated from field: string player_id = 1;\n */\n playerId: string;\n\n /**\n * @generated from field: string platform_id = 2;\n */\n platformId: string;\n\n /**\n * @generated from field: bool status = 3;\n */\n status: boolean;\n};\n\n/**\n * Describes the message player.UpdateViberStatusReq.\n * Use `create(UpdateViberStatusReqSchema)` to create a new message.\n */\nexport const UpdateViberStatusReqSchema: GenMessage<UpdateViberStatusReq> = /*@__PURE__*/\n messageDesc(file_player_UpdateViberStatus, 0);\n\n","// @generated by protoc-gen-es v2.10.2 with parameter \"target=ts\"\n// @generated from file player/GetPlayerAvatars.proto (package player, syntax proto3)\n/* eslint-disable */\n\nimport type { GenFile, GenMessage } from \"@bufbuild/protobuf/codegenv2\";\nimport { fileDesc, messageDesc } from \"@bufbuild/protobuf/codegenv2\";\nimport type { BaseResponse } from \"../common/Common_pb\";\nimport { file_common_Common } from \"../common/Common_pb\";\nimport type { Message } from \"@bufbuild/protobuf\";\n\n/**\n * Describes the file player/GetPlayerAvatars.proto.\n */\nexport const file_player_GetPlayerAvatars: GenFile = /*@__PURE__*/\n fileDesc(\"Ch1wbGF5ZXIvR2V0UGxheWVyQXZhdGFycy5wcm90bxIGcGxheWVyIokCChNHZXRQbGF5ZXJBdmF0YXJzUmVzEisKDWJhc2VfcmVzcG9uc2UYASABKAsyFC5jb21tb24uQmFzZVJlc3BvbnNlEi4KBGRhdGEYAiABKAsyIC5wbGF5ZXIuR2V0UGxheWVyQXZhdGFyc1Jlcy5EYXRhGjkKDkF2YXRhclBhdGhEYXRhEhIKCmF2YXRhclBhdGgYASABKAkSEwoLY3JlYXRlZFRpbWUYAiABKAkaWgoERGF0YRJCCg5hdmF0YXJQYXRoRGF0YRgBIAMoCzIqLnBsYXllci5HZXRQbGF5ZXJBdmF0YXJzUmVzLkF2YXRhclBhdGhEYXRhEg4KBmRvbWFpbhgCIAEoCWIGcHJvdG8z\", [file_common_Common]);\n\n/**\n * @generated from message player.GetPlayerAvatarsRes\n */\nexport type GetPlayerAvatarsRes = Message<\"player.GetPlayerAvatarsRes\"> & {\n /**\n * @generated from field: common.BaseResponse base_response = 1;\n */\n baseResponse?: BaseResponse;\n\n /**\n * @generated from field: player.GetPlayerAvatarsRes.Data data = 2;\n */\n data?: GetPlayerAvatarsRes_Data;\n};\n\n/**\n * Describes the message player.GetPlayerAvatarsRes.\n * Use `create(GetPlayerAvatarsResSchema)` to create a new message.\n */\nexport const GetPlayerAvatarsResSchema: GenMessage<GetPlayerAvatarsRes> = /*@__PURE__*/\n messageDesc(file_player_GetPlayerAvatars, 0);\n\n/**\n * @generated from message player.GetPlayerAvatarsRes.AvatarPathData\n */\nexport type GetPlayerAvatarsRes_AvatarPathData = Message<\"player.GetPlayerAvatarsRes.AvatarPathData\"> & {\n /**\n * @generated from field: string avatarPath = 1;\n */\n avatarPath: string;\n\n /**\n * @generated from field: string createdTime = 2;\n */\n createdTime: string;\n};\n\n/**\n * Describes the message player.GetPlayerAvatarsRes.AvatarPathData.\n * Use `create(GetPlayerAvatarsRes_AvatarPathDataSchema)` to create a new message.\n */\nexport const GetPlayerAvatarsRes_AvatarPathDataSchema: GenMessage<GetPlayerAvatarsRes_AvatarPathData> = /*@__PURE__*/\n messageDesc(file_player_GetPlayerAvatars, 0, 0);\n\n/**\n * @generated from message player.GetPlayerAvatarsRes.Data\n */\nexport type GetPlayerAvatarsRes_Data = Message<\"player.GetPlayerAvatarsRes.Data\"> & {\n /**\n * @generated from field: repeated player.GetPlayerAvatarsRes.AvatarPathData avatarPathData = 1;\n */\n avatarPathData: GetPlayerAvatarsRes_AvatarPathData[];\n\n /**\n * @generated from field: string domain = 2;\n */\n domain: string;\n};\n\n/**\n * Describes the message player.GetPlayerAvatarsRes.Data.\n * Use `create(GetPlayerAvatarsRes_DataSchema)` to create a new message.\n */\nexport const GetPlayerAvatarsRes_DataSchema: GenMessage<GetPlayerAvatarsRes_Data> = /*@__PURE__*/\n messageDesc(file_player_GetPlayerAvatars, 0, 1);\n\n","import type { CallOptions } from '@connectrpc/connect'\nimport type { MessageInit } from '../client/grpcClient'\nimport { GrpcClient } from '../client/grpcClient'\nimport { FrontendEmailService } from '../grpcWeb/grpc/player/FrontendEmailService_pb'\nimport { FrontendMergePlayerService } from '../grpcWeb/grpc/player/FrontendMergePlayerService_pb'\nimport { FrontendPlayerPermissionService } from '../grpcWeb/grpc/player/FrontendPlayerPermissionService_pb'\nimport { FrontendPlayerService } from '../grpcWeb/grpc/player/FrontendPlayerService_pb'\nimport { FrontendZolozService } from '../grpcWeb/grpc/player/FrontendZolozService_pb'\nimport { PlayerService } from '../grpcWeb/grpc/player/PlayerService_pb'\nimport type { BaseResponse } from '../grpcWeb/grpc/common/Common_pb'\nimport { EmptySchema } from '../grpcWeb/grpc/common/Common_pb'\nimport type { GetVerificationStatusRes } from '../grpcWeb/grpc/player/GetVerificationStatus_pb'\nimport { VerifyEmailReqSchema } from '../grpcWeb/grpc/player/VerifyEmail_pb'\nimport type { GetMergingListRes } from '../grpcWeb/grpc/player/GetMergingList_pb'\nimport type { GetMergingListPendingProposalCountRes } from '../grpcWeb/grpc/player/GetMergingListPendingProposalCount_pb'\nimport { MergePlayerReqSchema } from '../grpcWeb/grpc/player/MergePlayer_pb'\nimport { VerifyMergePlayerCodeReqSchema } from '../grpcWeb/grpc/player/VerifyMergePlayerCode_pb'\nimport { CheckMergePlayerProposalReqSchema } from '../grpcWeb/grpc/player/CheckMergePlayerProposal_pb'\nimport type { PlayerBypassKycRestrictionRes } from '../grpcWeb/grpc/player/PlayerBypassKycRestriction_pb'\nimport type { CheckPlayerLoginStatusRes } from '../grpcWeb/grpc/player/CheckPlayerLoginStatus_pb'\nimport type { GetPlayerProfileByJwtRes } from '../grpcWeb/grpc/player/GetPlayerProfileByJwt_pb'\nimport type { GetPlayerInfoForSportsForumRes } from '../grpcWeb/grpc/player/GetPlayerInfoForSportsForum_pb'\nimport type { GetWithdrawalInfoRes } from '../grpcWeb/grpc/player/GetWithdrawalInfo_pb'\nimport type { GetDepositInfoRes } from '../grpcWeb/grpc/player/GetDepositInfo_pb'\nimport type { GetAccountCombineInfoRes } from '../grpcWeb/grpc/player/GetAccountCombineInfo_pb'\nimport type { GetViberStatusRes } from '../grpcWeb/grpc/player/GetViberStatus_pb'\nimport { GetViberStatusReqSchema } from '../grpcWeb/grpc/player/GetViberStatus_pb'\nimport { UpdatePasswordAndNotifyReqSchema } from '../grpcWeb/grpc/player/UpdatePasswordAndNotify_pb'\nimport { ResetPasswordFgReqSchema } from '../grpcWeb/grpc/player/ResetPasswordFg_pb'\nimport { UpdateDobReqSchema } from '../grpcWeb/grpc/player/UpdateDob_pb'\nimport { UpdatePlaceOfBirthReqSchema } from '../grpcWeb/grpc/player/UpdatePlaceOfBirth_pb'\nimport { UpdateGenderReqSchema } from '../grpcWeb/grpc/player/UpdateGender_pb'\nimport { UpdateNicknameReqSchema } from '../grpcWeb/grpc/player/UpdateNickname_pb'\nimport { UpdateEmailReqSchema } from '../grpcWeb/grpc/player/UpdateEmail_pb'\nimport { UpdateAddressReqSchema } from '../grpcWeb/grpc/player/UpdateAddress_pb'\nimport { UpdatePhoneReqSchema } from '../grpcWeb/grpc/player/UpdatePhone_pb'\nimport { UpdatePlayerAvatarReqSchema } from '../grpcWeb/grpc/player/UpdatePlayerAvatar_pb'\nimport { UpdateEKycReqSchema } from '../grpcWeb/grpc/player/UpdateEKyc_pb'\nimport type { GetSmsStatusRes } from '../grpcWeb/grpc/player/GetSmsStatus_pb'\nimport { UpdateSmsStatusReqSchema } from '../grpcWeb/grpc/player/UpdateSmsStatus_pb'\nimport type { GetAllLevelRes } from '../grpcWeb/grpc/player/GetAllLevel_pb'\nimport type { GetPlayerProgressRes } from '../grpcWeb/grpc/player/GetPlayerProgress_pb'\nimport { VerifyPhoneNumberWithSmsReqSchema } from '../grpcWeb/grpc/player/VerifyPhoneNumberWithSms_pb'\nimport { UpdateSourceOfFundsReqSchema } from '../grpcWeb/grpc/player/UpdateSourceOfFunds_pb'\nimport { UpdateNatureOfWorkReqSchema } from '../grpcWeb/grpc/player/UpdateNatureOfWork_pb'\nimport { UpdateRealNameReqSchema } from '../grpcWeb/grpc/player/UpdateRealName_pb'\nimport { CheckIsValidSmsCodeReqSchema } from '../grpcWeb/grpc/player/CheckIsValidSmsCode_pb'\nimport type { GetAllPlayerLevelRes } from '../grpcWeb/grpc/player/GetAllPlayerLevel_pb'\nimport { GetAllPlayerLevelReqSchema } from '../grpcWeb/grpc/player/GetAllPlayerLevel_pb'\nimport type { GetPlayerLevelWithPlayerLevelObjIdRes } from '../grpcWeb/grpc/player/GetPlayerLevelWithPlayerLevelObjId_pb'\nimport { GetPlayerLevelWithPlayerLevelObjIdReqSchema } from '../grpcWeb/grpc/player/GetPlayerLevelWithPlayerLevelObjId_pb'\nimport type { GetCasinoPlayerByPlayerIdRes } from '../grpcWeb/grpc/player/GetCasinoPlayerByPlayerId_pb'\nimport { GetCasinoPlayerByPlayerIdReqSchema } from '../grpcWeb/grpc/player/GetCasinoPlayerByPlayerId_pb'\nimport type { GetCasinoPlayersRes } from '../grpcWeb/grpc/player/GetCasinoPlayers_pb'\nimport { GetCasinoPlayersReqSchema } from '../grpcWeb/grpc/player/GetCasinoPlayers_pb'\nimport type { GetCasinoPlayerByMemberCardIdRes } from '../grpcWeb/grpc/player/GetCasinoPlayerByMemberCardId_pb'\nimport { GetCasinoPlayerByMemberCardIdReqSchema } from '../grpcWeb/grpc/player/GetCasinoPlayerByMemberCardId_pb'\nimport type { UpdateCasinoPlayerByPlayerIdRes } from '../grpcWeb/grpc/player/UpdateCasinoPlayerByPlayerId_pb'\nimport { UpdateCasinoPlayerByPlayerIdReqSchema } from '../grpcWeb/grpc/player/UpdateCasinoPlayerByPlayerId_pb'\nimport type { UpdatePlayerStatusByPlayerIdRes } from '../grpcWeb/grpc/player/UpdatePlayerStatusByPlayerId_pb'\nimport { UpdatePlayerStatusByPlayerIdReqSchema } from '../grpcWeb/grpc/player/UpdatePlayerStatusByPlayerId_pb'\nimport type { GetBetRecordsByPlayerIdRes } from '../grpcWeb/grpc/player/GetBetRecordsByPlayerId_pb'\nimport { GetBetRecordsByPlayerIdReqSchema } from '../grpcWeb/grpc/player/GetBetRecordsByPlayerId_pb'\nimport type { GetPlayerInfoWithPlayerIdRes } from '../grpcWeb/grpc/player/GetPlayerInfoWithPlayerId_pb'\nimport { GetPlayerInfoWithPlayerIdReqSchema } from '../grpcWeb/grpc/player/GetPlayerInfoWithPlayerId_pb'\nimport type { UpdatePlayerBaccaratTicketRes } from '../grpcWeb/grpc/player/UpdatePlayerBaccaratTicket_pb'\nimport { UpdatePlayerBaccaratTicketReqSchema } from '../grpcWeb/grpc/player/UpdatePlayerBaccaratTicket_pb'\nimport type { GetPlayerPhoneAndBankInfoRes } from '../grpcWeb/grpc/player/GetPlayerPhoneAndBankInfo_pb'\nimport type { GetPlayerKYCAndWithdrawStatusRes } from '../grpcWeb/grpc/player/GetPlayerKYCAndWithdrawStatus_pb'\nimport { GetPlayerKYCAndWithdrawStatusReqSchema } from '../grpcWeb/grpc/player/GetPlayerKYCAndWithdrawStatus_pb'\nimport type { GetPlayerValidCreditByPlayerObjIdRes } from '../grpcWeb/grpc/player/GetPlayerValidCreditByPlayerObjId_pb'\nimport { GetPlayerValidCreditByPlayerObjIdReqSchema } from '../grpcWeb/grpc/player/GetPlayerValidCreditByPlayerObjId_pb'\nimport type { GetPlayerIdAndNameRes } from '../grpcWeb/grpc/player/GetPlayerIdAndName_pb'\nimport type { GetFreeSpinPlayerInfoRes } from '../grpcWeb/grpc/player/GetFreeSpinPlayerInfo_pb'\nimport type { GetPlayerInfoRes } from '../grpcWeb/grpc/player/GetPlayerInfo_pb'\nimport { GetPlayerInfoReqSchema } from '../grpcWeb/grpc/player/GetPlayerInfo_pb'\nimport type { GetPlayerEmailByPlayerIdRes } from '../grpcWeb/grpc/player/GetPlayerEmailByPlayerId_pb'\nimport { GetPlayerEmailByPlayerIdReqSchema } from '../grpcWeb/grpc/player/GetPlayerEmailByPlayerId_pb'\nimport type { GetPlayerIdAndLevelByPhoneRes } from '../grpcWeb/grpc/player/GetPlayerIdAndLevelByPhone_pb'\nimport { GetPlayerIdAndLevelByPhoneReqSchema } from '../grpcWeb/grpc/player/GetPlayerIdAndLevelByPhone_pb'\nimport { UpdateViberStatusReqSchema } from '../grpcWeb/grpc/player/UpdateViberStatus_pb'\nimport type { GetPlayerAvatarsRes } from '../grpcWeb/grpc/player/GetPlayerAvatars_pb'\nimport { UpdateAdditionalInfoReqSchema } from '../grpcWeb/grpc/player/UpdateAdditionalInfo_pb'\nimport { UpdatePasswordReqSchema } from '../grpcWeb/grpc/player/UpdatePassword_pb'\nimport type { GetKycParamsConfigRes } from '../grpcWeb/grpc/player/GetKycParamsConfig_pb'\nimport { GetKycParamsConfigReqSchema } from '../grpcWeb/grpc/player/GetKycParamsConfig_pb'\nimport type { EkycInitRes } from '../grpcWeb/grpc/player/EkycInit_pb'\nimport { EkycInitReqSchema } from '../grpcWeb/grpc/player/EkycInit_pb'\nimport type { EkycResultRes } from '../grpcWeb/grpc/player/EkycResult_pb'\nimport { EkycResultReqSchema } from '../grpcWeb/grpc/player/EkycResult_pb'\n\nexport const playerGrpcClients = (grpc: GrpcClient) => {\n return {\n player: grpc.getService(PlayerService),\n email: grpc.getService(FrontendEmailService),\n mergePlayer: grpc.getService(FrontendMergePlayerService),\n permission: grpc.getService(FrontendPlayerPermissionService),\n frontendPlayer: grpc.getService(FrontendPlayerService),\n zoloz: grpc.getService(FrontendZolozService),\n }\n}\n\nexport const playerService = (grpc: GrpcClient) => {\n const player = grpc.getService(PlayerService)\n const email = grpc.getService(FrontendEmailService)\n const mergePlayer = grpc.getService(FrontendMergePlayerService)\n const permission = grpc.getService(FrontendPlayerPermissionService)\n const frontendPlayer = grpc.getService(FrontendPlayerService)\n const zoloz = grpc.getService(FrontendZolozService)\n\n const getVerificationStatus = (\n payload?: MessageInit<typeof EmptySchema>,\n options?: CallOptions,\n ): Promise<GetVerificationStatusRes> => {\n return grpc.unary(\n EmptySchema,\n payload,\n (req, opt) => email.getVerificationStatus(req, opt),\n options,\n )\n }\n\n const verifyEmail = (\n payload: MessageInit<typeof VerifyEmailReqSchema>,\n options?: CallOptions,\n ): Promise<BaseResponse> => {\n return grpc.unary(\n VerifyEmailReqSchema,\n payload,\n (req, opt) => email.verifyEmail(req, opt),\n options,\n )\n }\n\n const getMergingList = (\n payload?: MessageInit<typeof EmptySchema>,\n options?: CallOptions,\n ): Promise<GetMergingListRes> => {\n return grpc.unary(\n EmptySchema,\n payload,\n (req, opt) => mergePlayer.getMergingList(req, opt),\n options,\n )\n }\n\n const mergePlayerAccount = (\n payload: MessageInit<typeof MergePlayerReqSchema>,\n options?: CallOptions,\n ): Promise<BaseResponse> => {\n return grpc.unary(\n MergePlayerReqSchema,\n payload,\n (req, opt) => mergePlayer.mergePlayer(req, opt),\n options,\n )\n }\n\n const verifyMergePlayerCode = (\n payload: MessageInit<typeof VerifyMergePlayerCodeReqSchema>,\n options?: CallOptions,\n ): Promise<BaseResponse> => {\n return grpc.unary(\n VerifyMergePlayerCodeReqSchema,\n payload,\n (req, opt) => mergePlayer.verifyMergePlayerCode(req, opt),\n options,\n )\n }\n\n const getMergingListPendingProposalCount = (\n payload?: MessageInit<typeof EmptySchema>,\n options?: CallOptions,\n ): Promise<GetMergingListPendingProposalCountRes> => {\n return grpc.unary(\n EmptySchema,\n payload,\n (req, opt) => mergePlayer.getMergingListPendingProposalCount(req, opt),\n options,\n )\n }\n\n const checkMergePlayerProposal = (\n payload: MessageInit<typeof CheckMergePlayerProposalReqSchema>,\n options?: CallOptions,\n ): Promise<BaseResponse> => {\n return grpc.unary(\n CheckMergePlayerProposalReqSchema,\n payload,\n (req, opt) => mergePlayer.checkMergePlayerProposal(req, opt),\n options,\n )\n }\n\n const playerBypassKycRestriction = (\n payload?: MessageInit<typeof EmptySchema>,\n options?: CallOptions,\n ): Promise<PlayerBypassKycRestrictionRes> => {\n return grpc.unary(\n EmptySchema,\n payload,\n (req, opt) => permission.playerBypassKycRestriction(req, opt),\n options,\n )\n }\n\n const checkPlayerLoginStatus = (\n payload?: MessageInit<typeof EmptySchema>,\n options?: CallOptions,\n ): Promise<CheckPlayerLoginStatusRes> => {\n return grpc.unary(\n EmptySchema,\n payload,\n (req, opt) => frontendPlayer.checkPlayerLoginStatus(req, opt),\n options,\n )\n }\n\n const getPlayerProfileByJwt = (\n payload?: MessageInit<typeof EmptySchema>,\n options?: CallOptions,\n ): Promise<GetPlayerProfileByJwtRes> => {\n return grpc.unary(\n EmptySchema,\n payload,\n (req, opt) => frontendPlayer.getPlayerProfileByJwt(req, opt),\n options,\n )\n }\n\n const updatePassword = (\n payload: MessageInit<typeof UpdatePasswordReqSchema>,\n options?: CallOptions,\n ): Promise<BaseResponse> => {\n return grpc.unary(\n UpdatePasswordReqSchema,\n payload,\n (req, opt) => frontendPlayer.updatePassword(req, opt),\n options,\n )\n }\n\n const getPlayerInfoForSportsForum = (\n payload?: MessageInit<typeof EmptySchema>,\n options?: CallOptions,\n ): Promise<GetPlayerInfoForSportsForumRes> => {\n return grpc.unary(\n EmptySchema,\n payload,\n (req, opt) => frontendPlayer.getPlayerInfoForSportsForum(req, opt),\n options,\n )\n }\n\n const getWithdrawalInfo = (\n payload?: MessageInit<typeof EmptySchema>,\n options?: CallOptions,\n ): Promise<GetWithdrawalInfoRes> => {\n return grpc.unary(\n EmptySchema,\n payload,\n (req, opt) => frontendPlayer.getWithdrawalInfo(req, opt),\n options,\n )\n }\n\n const getDepositInfo = (\n payload?: MessageInit<typeof EmptySchema>,\n options?: CallOptions,\n ): Promise<GetDepositInfoRes> => {\n return grpc.unary(\n EmptySchema,\n payload,\n (req, opt) => frontendPlayer.getDepositInfo(req, opt),\n options,\n )\n }\n\n const getAccountCombineInfo = (\n payload?: MessageInit<typeof EmptySchema>,\n options?: CallOptions,\n ): Promise<GetAccountCombineInfoRes> => {\n return grpc.unary(\n EmptySchema,\n payload,\n (req, opt) => frontendPlayer.getAccountCombineInfo(req, opt),\n options,\n )\n }\n\n const getViberStatus = (\n payload: MessageInit<typeof GetViberStatusReqSchema>,\n options?: CallOptions,\n ): Promise<GetViberStatusRes> => {\n return grpc.unary(\n GetViberStatusReqSchema,\n payload,\n (req, opt) => frontendPlayer.getViberStatus(req, opt),\n options,\n )\n }\n\n const updateAdditionalInfo = (\n payload: MessageInit<typeof UpdateAdditionalInfoReqSchema>,\n options?: CallOptions,\n ): Promise<BaseResponse> => {\n return grpc.unary(\n UpdateAdditionalInfoReqSchema,\n payload,\n (req, opt) => frontendPlayer.updateAdditionalInfo(req, opt),\n options,\n )\n }\n\n const playerGetPlayerProfileByJwt = (\n payload?: MessageInit<typeof EmptySchema>,\n options?: CallOptions,\n ): Promise<GetPlayerProfileByJwtRes> => {\n return grpc.unary(\n EmptySchema,\n payload,\n (req, opt) => player.getPlayerProfileByJwt(req, opt),\n options,\n )\n }\n\n const playerUpdatePassword = (\n payload: MessageInit<typeof UpdatePasswordReqSchema>,\n options?: CallOptions,\n ): Promise<BaseResponse> => {\n return grpc.unary(\n UpdatePasswordReqSchema,\n payload,\n (req, opt) => player.updatePassword(req, opt),\n options,\n )\n }\n\n const playerGetPlayerInfoForSportsForum = (\n payload?: MessageInit<typeof EmptySchema>,\n options?: CallOptions,\n ): Promise<GetPlayerInfoForSportsForumRes> => {\n return grpc.unary(\n EmptySchema,\n payload,\n (req, opt) => player.getPlayerInfoForSportsForum(req, opt),\n options,\n )\n }\n\n const playerGetWithdrawalInfo = (\n payload?: MessageInit<typeof EmptySchema>,\n options?: CallOptions,\n ): Promise<GetWithdrawalInfoRes> => {\n return grpc.unary(\n EmptySchema,\n payload,\n (req, opt) => player.getWithdrawalInfo(req, opt),\n options,\n )\n }\n\n const playerGetDepositInfo = (\n payload?: MessageInit<typeof EmptySchema>,\n options?: CallOptions,\n ): Promise<GetDepositInfoRes> => {\n return grpc.unary(EmptySchema, payload, (req, opt) => player.getDepositInfo(req, opt), options)\n }\n\n const playerGetAccountCombineInfo = (\n payload?: MessageInit<typeof EmptySchema>,\n options?: CallOptions,\n ): Promise<GetAccountCombineInfoRes> => {\n return grpc.unary(\n EmptySchema,\n payload,\n (req, opt) => player.getAccountCombineInfo(req, opt),\n options,\n )\n }\n\n const playerGetViberStatus = (\n payload: MessageInit<typeof GetViberStatusReqSchema>,\n options?: CallOptions,\n ): Promise<GetViberStatusRes> => {\n return grpc.unary(\n GetViberStatusReqSchema,\n payload,\n (req, opt) => player.getViberStatus(req, opt),\n options,\n )\n }\n\n const updatePasswordAndNotify = (\n payload: MessageInit<typeof UpdatePasswordAndNotifyReqSchema>,\n options?: CallOptions,\n ): Promise<BaseResponse> => {\n return grpc.unary(\n UpdatePasswordAndNotifyReqSchema,\n payload,\n (req, opt) => player.updatePasswordAndNotify(req, opt),\n options,\n )\n }\n\n const resetPasswordFg = (\n payload: MessageInit<typeof ResetPasswordFgReqSchema>,\n options?: CallOptions,\n ): Promise<BaseResponse> => {\n return grpc.unary(\n ResetPasswordFgReqSchema,\n payload,\n (req, opt) => player.resetPasswordFg(req, opt),\n options,\n )\n }\n\n const updateDob = (\n payload: MessageInit<typeof UpdateDobReqSchema>,\n options?: CallOptions,\n ): Promise<BaseResponse> => {\n return grpc.unary(\n UpdateDobReqSchema,\n payload,\n (req, opt) => player.updateDob(req, opt),\n options,\n )\n }\n\n const updatePlaceOfBirth = (\n payload: MessageInit<typeof UpdatePlaceOfBirthReqSchema>,\n options?: CallOptions,\n ): Promise<BaseResponse> => {\n return grpc.unary(\n UpdatePlaceOfBirthReqSchema,\n payload,\n (req, opt) => player.updatePlaceOfBirth(req, opt),\n options,\n )\n }\n\n const updateGender = (\n payload: MessageInit<typeof UpdateGenderReqSchema>,\n options?: CallOptions,\n ): Promise<BaseResponse> => {\n return grpc.unary(\n UpdateGenderReqSchema,\n payload,\n (req, opt) => player.updateGender(req, opt),\n options,\n )\n }\n\n const updateNickname = (\n payload: MessageInit<typeof UpdateNicknameReqSchema>,\n options?: CallOptions,\n ): Promise<BaseResponse> => {\n return grpc.unary(\n UpdateNicknameReqSchema,\n payload,\n (req, opt) => player.updateNickname(req, opt),\n options,\n )\n }\n\n const updateEmail = (\n payload: MessageInit<typeof UpdateEmailReqSchema>,\n options?: CallOptions,\n ): Promise<BaseResponse> => {\n return grpc.unary(\n UpdateEmailReqSchema,\n payload,\n (req, opt) => player.updateEmail(req, opt),\n options,\n )\n }\n\n const updateAddress = (\n payload: MessageInit<typeof UpdateAddressReqSchema>,\n options?: CallOptions,\n ): Promise<BaseResponse> => {\n return grpc.unary(\n UpdateAddressReqSchema,\n payload,\n (req, opt) => player.updateAddress(req, opt),\n options,\n )\n }\n\n const updatePhone = (\n payload: MessageInit<typeof UpdatePhoneReqSchema>,\n options?: CallOptions,\n ): Promise<BaseResponse> => {\n return grpc.unary(\n UpdatePhoneReqSchema,\n payload,\n (req, opt) => player.updatePhone(req, opt),\n options,\n )\n }\n\n const updatePlayerAvatar = (\n payload: MessageInit<typeof UpdatePlayerAvatarReqSchema>,\n options?: CallOptions,\n ): Promise<BaseResponse> => {\n return grpc.unary(\n UpdatePlayerAvatarReqSchema,\n payload,\n (req, opt) => player.updatePlayerAvatar(req, opt),\n options,\n )\n }\n\n const updateEKyc = (\n payload: MessageInit<typeof UpdateEKycReqSchema>,\n options?: CallOptions,\n ): Promise<BaseResponse> => {\n return grpc.unary(\n UpdateEKycReqSchema,\n payload,\n (req, opt) => player.updateEKyc(req, opt),\n options,\n )\n }\n\n const getSmsStatus = (\n payload?: MessageInit<typeof EmptySchema>,\n options?: CallOptions,\n ): Promise<GetSmsStatusRes> => {\n return grpc.unary(EmptySchema, payload, (req, opt) => player.getSmsStatus(req, opt), options)\n }\n\n const updateSmsStatus = (\n payload: MessageInit<typeof UpdateSmsStatusReqSchema>,\n options?: CallOptions,\n ): Promise<BaseResponse> => {\n return grpc.unary(\n UpdateSmsStatusReqSchema,\n payload,\n (req, opt) => player.updateSmsStatus(req, opt),\n options,\n )\n }\n\n const getAllLevel = (\n payload?: MessageInit<typeof EmptySchema>,\n options?: CallOptions,\n ): Promise<GetAllLevelRes> => {\n return grpc.unary(EmptySchema, payload, (req, opt) => player.getAllLevel(req, opt), options)\n }\n\n const getPlayerProgress = (\n payload?: MessageInit<typeof EmptySchema>,\n options?: CallOptions,\n ): Promise<GetPlayerProgressRes> => {\n return grpc.unary(\n EmptySchema,\n payload,\n (req, opt) => player.getPlayerProgress(req, opt),\n options,\n )\n }\n\n const verifyPhoneNumberWithSms = (\n payload: MessageInit<typeof VerifyPhoneNumberWithSmsReqSchema>,\n options?: CallOptions,\n ): Promise<BaseResponse> => {\n return grpc.unary(\n VerifyPhoneNumberWithSmsReqSchema,\n payload,\n (req, opt) => player.verifyPhoneNumberWithSms(req, opt),\n options,\n )\n }\n\n const updateSourceOfFunds = (\n payload: MessageInit<typeof UpdateSourceOfFundsReqSchema>,\n options?: CallOptions,\n ): Promise<BaseResponse> => {\n return grpc.unary(\n UpdateSourceOfFundsReqSchema,\n payload,\n (req, opt) => player.updateSourceOfFunds(req, opt),\n options,\n )\n }\n\n const updateNatureOfWork = (\n payload: MessageInit<typeof UpdateNatureOfWorkReqSchema>,\n options?: CallOptions,\n ): Promise<BaseResponse> => {\n return grpc.unary(\n UpdateNatureOfWorkReqSchema,\n payload,\n (req, opt) => player.updateNatureOfWork(req, opt),\n options,\n )\n }\n\n const updateRealName = (\n payload: MessageInit<typeof UpdateRealNameReqSchema>,\n options?: CallOptions,\n ): Promise<BaseResponse> => {\n return grpc.unary(\n UpdateRealNameReqSchema,\n payload,\n (req, opt) => player.updateRealName(req, opt),\n options,\n )\n }\n\n const checkIsValidSmsCode = (\n payload: MessageInit<typeof CheckIsValidSmsCodeReqSchema>,\n options?: CallOptions,\n ): Promise<BaseResponse> => {\n return grpc.unary(\n CheckIsValidSmsCodeReqSchema,\n payload,\n (req, opt) => player.checkIsValidSmsCode(req, opt),\n options,\n )\n }\n\n const getAllPlayerLevel = (\n payload: MessageInit<typeof GetAllPlayerLevelReqSchema>,\n options?: CallOptions,\n ): Promise<GetAllPlayerLevelRes> => {\n return grpc.unary(\n GetAllPlayerLevelReqSchema,\n payload,\n (req, opt) => player.getAllPlayerLevel(req, opt),\n options,\n )\n }\n\n const getPlayerLevelWithPlayerLevelObjId = (\n payload: MessageInit<typeof GetPlayerLevelWithPlayerLevelObjIdReqSchema>,\n options?: CallOptions,\n ): Promise<GetPlayerLevelWithPlayerLevelObjIdRes> => {\n return grpc.unary(\n GetPlayerLevelWithPlayerLevelObjIdReqSchema,\n payload,\n (req, opt) => player.getPlayerLevelWithPlayerLevelObjId(req, opt),\n options,\n )\n }\n\n const getCasinoPlayerByPlayerId = (\n payload: MessageInit<typeof GetCasinoPlayerByPlayerIdReqSchema>,\n options?: CallOptions,\n ): Promise<GetCasinoPlayerByPlayerIdRes> => {\n return grpc.unary(\n GetCasinoPlayerByPlayerIdReqSchema,\n payload,\n (req, opt) => player.getCasinoPlayerByPlayerId(req, opt),\n options,\n )\n }\n\n const getCasinoPlayers = (\n payload: MessageInit<typeof GetCasinoPlayersReqSchema>,\n options?: CallOptions,\n ): Promise<GetCasinoPlayersRes> => {\n return grpc.unary(\n GetCasinoPlayersReqSchema,\n payload,\n (req, opt) => player.getCasinoPlayers(req, opt),\n options,\n )\n }\n\n const getCasinoPlayerByMemberCardId = (\n payload: MessageInit<typeof GetCasinoPlayerByMemberCardIdReqSchema>,\n options?: CallOptions,\n ): Promise<GetCasinoPlayerByMemberCardIdRes> => {\n return grpc.unary(\n GetCasinoPlayerByMemberCardIdReqSchema,\n payload,\n (req, opt) => player.getCasinoPlayerByMemberCardId(req, opt),\n options,\n )\n }\n\n const updateCasinoPlayerByPlayerId = (\n payload: MessageInit<typeof UpdateCasinoPlayerByPlayerIdReqSchema>,\n options?: CallOptions,\n ): Promise<UpdateCasinoPlayerByPlayerIdRes> => {\n return grpc.unary(\n UpdateCasinoPlayerByPlayerIdReqSchema,\n payload,\n (req, opt) => player.updateCasinoPlayerByPlayerId(req, opt),\n options,\n )\n }\n\n const updatePlayerStatusByPlayerId = (\n payload: MessageInit<typeof UpdatePlayerStatusByPlayerIdReqSchema>,\n options?: CallOptions,\n ): Promise<UpdatePlayerStatusByPlayerIdRes> => {\n return grpc.unary(\n UpdatePlayerStatusByPlayerIdReqSchema,\n payload,\n (req, opt) => player.updatePlayerStatusByPlayerId(req, opt),\n options,\n )\n }\n\n const getBetRecordsByPlayerId = (\n payload: MessageInit<typeof GetBetRecordsByPlayerIdReqSchema>,\n options?: CallOptions,\n ): Promise<GetBetRecordsByPlayerIdRes> => {\n return grpc.unary(\n GetBetRecordsByPlayerIdReqSchema,\n payload,\n (req, opt) => player.getBetRecordsByPlayerId(req, opt),\n options,\n )\n }\n\n const getPlayerInfoWithPlayerId = (\n payload: MessageInit<typeof GetPlayerInfoWithPlayerIdReqSchema>,\n options?: CallOptions,\n ): Promise<GetPlayerInfoWithPlayerIdRes> => {\n return grpc.unary(\n GetPlayerInfoWithPlayerIdReqSchema,\n payload,\n (req, opt) => player.getPlayerInfoWithPlayerId(req, opt),\n options,\n )\n }\n\n const updatePlayerBaccaratTicket = (\n payload: MessageInit<typeof UpdatePlayerBaccaratTicketReqSchema>,\n options?: CallOptions,\n ): Promise<UpdatePlayerBaccaratTicketRes> => {\n return grpc.unary(\n UpdatePlayerBaccaratTicketReqSchema,\n payload,\n (req, opt) => player.updatePlayerBaccaratTicket(req, opt),\n options,\n )\n }\n\n const getPlayerPhoneAndBankInfo = (\n payload?: MessageInit<typeof EmptySchema>,\n options?: CallOptions,\n ): Promise<GetPlayerPhoneAndBankInfoRes> => {\n return grpc.unary(\n EmptySchema,\n payload,\n (req, opt) => player.getPlayerPhoneAndBankInfo(req, opt),\n options,\n )\n }\n\n const getPlayerKYCAndWithdrawStatus = (\n payload: MessageInit<typeof GetPlayerKYCAndWithdrawStatusReqSchema>,\n options?: CallOptions,\n ): Promise<GetPlayerKYCAndWithdrawStatusRes> => {\n return grpc.unary(\n GetPlayerKYCAndWithdrawStatusReqSchema,\n payload,\n (req, opt) => player.getPlayerKYCAndWithdrawStatus(req, opt),\n options,\n )\n }\n\n const getPlayerValidCreditByPlayerObjId = (\n payload: MessageInit<typeof GetPlayerValidCreditByPlayerObjIdReqSchema>,\n options?: CallOptions,\n ): Promise<GetPlayerValidCreditByPlayerObjIdRes> => {\n return grpc.unary(\n GetPlayerValidCreditByPlayerObjIdReqSchema,\n payload,\n (req, opt) => player.getPlayerValidCreditByPlayerObjId(req, opt),\n options,\n )\n }\n\n const getPlayerIdAndName = (\n payload?: MessageInit<typeof EmptySchema>,\n options?: CallOptions,\n ): Promise<GetPlayerIdAndNameRes> => {\n return grpc.unary(\n EmptySchema,\n payload,\n (req, opt) => player.getPlayerIdAndName(req, opt),\n options,\n )\n }\n\n const getFreeSpinPlayerInfo = (\n payload?: MessageInit<typeof EmptySchema>,\n options?: CallOptions,\n ): Promise<GetFreeSpinPlayerInfoRes> => {\n return grpc.unary(\n EmptySchema,\n payload,\n (req, opt) => player.getFreeSpinPlayerInfo(req, opt),\n options,\n )\n }\n\n const getPlayerInfo = (\n payload: MessageInit<typeof GetPlayerInfoReqSchema>,\n options?: CallOptions,\n ): Promise<GetPlayerInfoRes> => {\n return grpc.unary(\n GetPlayerInfoReqSchema,\n payload,\n (req, opt) => player.getPlayerInfo(req, opt),\n options,\n )\n }\n\n const getPlayerEmailByPlayerId = (\n payload: MessageInit<typeof GetPlayerEmailByPlayerIdReqSchema>,\n options?: CallOptions,\n ): Promise<GetPlayerEmailByPlayerIdRes> => {\n return grpc.unary(\n GetPlayerEmailByPlayerIdReqSchema,\n payload,\n (req, opt) => player.getPlayerEmailByPlayerId(req, opt),\n options,\n )\n }\n\n const getPlayerIdAndLevelByPhone = (\n payload: MessageInit<typeof GetPlayerIdAndLevelByPhoneReqSchema>,\n options?: CallOptions,\n ): Promise<GetPlayerIdAndLevelByPhoneRes> => {\n return grpc.unary(\n GetPlayerIdAndLevelByPhoneReqSchema,\n payload,\n (req, opt) => player.getPlayerIdAndLevelByPhone(req, opt),\n options,\n )\n }\n\n const updateViberStatus = (\n payload: MessageInit<typeof UpdateViberStatusReqSchema>,\n options?: CallOptions,\n ): Promise<BaseResponse> => {\n return grpc.unary(\n UpdateViberStatusReqSchema,\n payload,\n (req, opt) => player.updateViberStatus(req, opt),\n options,\n )\n }\n\n const getPlayerAvatars = (\n payload?: MessageInit<typeof EmptySchema>,\n options?: CallOptions,\n ): Promise<GetPlayerAvatarsRes> => {\n return grpc.unary(\n EmptySchema,\n payload,\n (req, opt) => player.getPlayerAvatars(req, opt),\n options,\n )\n }\n\n const getKycParamsConfig = (\n payload: MessageInit<typeof GetKycParamsConfigReqSchema>,\n options?: CallOptions,\n ): Promise<GetKycParamsConfigRes> => {\n return grpc.unary(\n GetKycParamsConfigReqSchema,\n payload,\n (req, opt) => zoloz.getKycParamsConfig(req, opt),\n options,\n )\n }\n\n const ekycInit = (\n payload: MessageInit<typeof EkycInitReqSchema>,\n options?: CallOptions,\n ): Promise<EkycInitRes> => {\n return grpc.unary(EkycInitReqSchema, payload, (req, opt) => zoloz.ekycInit(req, opt), options)\n }\n\n const ekycResult = (\n payload: MessageInit<typeof EkycResultReqSchema>,\n options?: CallOptions,\n ): Promise<EkycResultRes> => {\n return grpc.unary(\n EkycResultReqSchema,\n payload,\n (req, opt) => zoloz.ekycResult(req, opt),\n options,\n )\n }\n\n return {\n transport: 'grpc' as const,\n player,\n getVerificationStatus,\n verifyEmail,\n getMergingList,\n mergePlayerAccount,\n verifyMergePlayerCode,\n getMergingListPendingProposalCount,\n checkMergePlayerProposal,\n playerBypassKycRestriction,\n checkPlayerLoginStatus,\n getPlayerProfileByJwt,\n updatePassword,\n getPlayerInfoForSportsForum,\n getWithdrawalInfo,\n getDepositInfo,\n getAccountCombineInfo,\n getViberStatus,\n updateAdditionalInfo,\n playerGetPlayerProfileByJwt,\n playerUpdatePassword,\n playerGetPlayerInfoForSportsForum,\n playerGetWithdrawalInfo,\n playerGetDepositInfo,\n playerGetAccountCombineInfo,\n playerGetViberStatus,\n updatePasswordAndNotify,\n resetPasswordFg,\n updateDob,\n updatePlaceOfBirth,\n updateGender,\n updateNickname,\n updateEmail,\n updateAddress,\n updatePhone,\n updatePlayerAvatar,\n updateEKyc,\n getSmsStatus,\n updateSmsStatus,\n getAllLevel,\n getPlayerProgress,\n verifyPhoneNumberWithSms,\n updateSourceOfFunds,\n updateNatureOfWork,\n updateRealName,\n checkIsValidSmsCode,\n getAllPlayerLevel,\n getPlayerLevelWithPlayerLevelObjId,\n getCasinoPlayerByPlayerId,\n getCasinoPlayers,\n getCasinoPlayerByMemberCardId,\n updateCasinoPlayerByPlayerId,\n updatePlayerStatusByPlayerId,\n getBetRecordsByPlayerId,\n getPlayerInfoWithPlayerId,\n updatePlayerBaccaratTicket,\n getPlayerPhoneAndBankInfo,\n getPlayerKYCAndWithdrawStatus,\n getPlayerValidCreditByPlayerObjId,\n getPlayerIdAndName,\n getFreeSpinPlayerInfo,\n getPlayerInfo,\n getPlayerEmailByPlayerId,\n getPlayerIdAndLevelByPhone,\n updateViberStatus,\n getPlayerAvatars,\n getKycParamsConfig,\n ekycInit,\n ekycResult,\n }\n}\n\nexport const grpcPlayerService = playerService\n","// @generated by protoc-gen-es v2.10.2 with parameter \"target=ts\"\n// @generated from file promotion/AdminLiveDrawService.proto (package promotion, syntax proto3)\n/* eslint-disable */\n\nimport type { GenFile, GenService } from \"@bufbuild/protobuf/codegenv2\";\nimport { fileDesc, serviceDesc } from \"@bufbuild/protobuf/codegenv2\";\nimport type { GetTodayLiveDrawEventsReqSchema, GetTodayLiveDrawEventsResSchema } from \"./GetTodayLiveDrawEvents_pb\";\nimport { file_promotion_GetTodayLiveDrawEvents } from \"./GetTodayLiveDrawEvents_pb\";\nimport type { GetTodayCurrentRoundLiveDrawEventsReqSchema, GetTodayCurrentRoundLiveDrawEventsResSchema } from \"./GetTodayCurrentRoundLiveDrawEvents_pb\";\nimport { file_promotion_GetTodayCurrentRoundLiveDrawEvents } from \"./GetTodayCurrentRoundLiveDrawEvents_pb\";\nimport type { StartLiveDrawEventReqSchema, StartLiveDrawEventResSchema } from \"./StartLiveDrawEvent_pb\";\nimport { file_promotion_StartLiveDrawEvent } from \"./StartLiveDrawEvent_pb\";\nimport type { RedrawLiveDrawEventReqSchema, RedrawLiveDrawEventResSchema } from \"./RedrawLiveDrawEvent_pb\";\nimport { file_promotion_RedrawLiveDrawEvent } from \"./RedrawLiveDrawEvent_pb\";\nimport type { ConfirmLiveDrawReqSchema, ConfirmLiveDrawResSchema } from \"./ConfirmLiveDraw_pb\";\nimport { file_promotion_ConfirmLiveDraw } from \"./ConfirmLiveDraw_pb\";\nimport type { LiveDrawEventPhoneCallPlayerReqSchema, LiveDrawEventPhoneCallPlayerResSchema } from \"./LiveDrawEventPhoneCallPlayer_pb\";\nimport { file_promotion_LiveDrawEventPhoneCallPlayer } from \"./LiveDrawEventPhoneCallPlayer_pb\";\nimport type { GetLiveDrawEventWinnerListReqSchema, GetLiveDrawEventWinnerListResSchema } from \"./GetLiveDrawEventWinnerList_pb\";\nimport { file_promotion_GetLiveDrawEventWinnerList } from \"./GetLiveDrawEventWinnerList_pb\";\nimport type { MakePhoneCallReqSchema, MakePhoneCallResSchema } from \"./MakePhoneCall_pb\";\nimport { file_promotion_MakePhoneCall } from \"./MakePhoneCall_pb\";\n\n/**\n * Describes the file promotion/AdminLiveDrawService.proto.\n */\nexport const file_promotion_AdminLiveDrawService: GenFile = /*@__PURE__*/\n fileDesc(\"CiRwcm9tb3Rpb24vQWRtaW5MaXZlRHJhd1NlcnZpY2UucHJvdG8SCXByb21vdGlvbjLUBgoUQWRtaW5MaXZlRHJhd1NlcnZpY2USZgoWR2V0VG9kYXlMaXZlRHJhd0V2ZW50cxIkLnByb21vdGlvbi5HZXRUb2RheUxpdmVEcmF3RXZlbnRzUmVxGiQucHJvbW90aW9uLkdldFRvZGF5TGl2ZURyYXdFdmVudHNSZXMiABKKAQoiR2V0VG9kYXlDdXJyZW50Um91bmRMaXZlRHJhd0V2ZW50cxIwLnByb21vdGlvbi5HZXRUb2RheUN1cnJlbnRSb3VuZExpdmVEcmF3RXZlbnRzUmVxGjAucHJvbW90aW9uLkdldFRvZGF5Q3VycmVudFJvdW5kTGl2ZURyYXdFdmVudHNSZXMiABJaChJTdGFydExpdmVEcmF3RXZlbnQSIC5wcm9tb3Rpb24uU3RhcnRMaXZlRHJhd0V2ZW50UmVxGiAucHJvbW90aW9uLlN0YXJ0TGl2ZURyYXdFdmVudFJlcyIAEl0KE1JlZHJhd0xpdmVEcmF3RXZlbnQSIS5wcm9tb3Rpb24uUmVkcmF3TGl2ZURyYXdFdmVudFJlcRohLnByb21vdGlvbi5SZWRyYXdMaXZlRHJhd0V2ZW50UmVzIgASUQoPQ29uZmlybUxpdmVEcmF3Eh0ucHJvbW90aW9uLkNvbmZpcm1MaXZlRHJhd1JlcRodLnByb21vdGlvbi5Db25maXJtTGl2ZURyYXdSZXMiABJ4ChxMaXZlRHJhd0V2ZW50UGhvbmVDYWxsUGxheWVyEioucHJvbW90aW9uLkxpdmVEcmF3RXZlbnRQaG9uZUNhbGxQbGF5ZXJSZXEaKi5wcm9tb3Rpb24uTGl2ZURyYXdFdmVudFBob25lQ2FsbFBsYXllclJlcyIAEnIKGkdldExpdmVEcmF3RXZlbnRXaW5uZXJMaXN0EigucHJvbW90aW9uLkdldExpdmVEcmF3RXZlbnRXaW5uZXJMaXN0UmVxGigucHJvbW90aW9uLkdldExpdmVEcmF3RXZlbnRXaW5uZXJMaXN0UmVzIgASSwoNTWFrZVBob25lQ2FsbBIbLnByb21vdGlvbi5NYWtlUGhvbmVDYWxsUmVxGhsucHJvbW90aW9uLk1ha2VQaG9uZUNhbGxSZXMiAGIGcHJvdG8z\", [file_promotion_GetTodayLiveDrawEvents, file_promotion_GetTodayCurrentRoundLiveDrawEvents, file_promotion_StartLiveDrawEvent, file_promotion_RedrawLiveDrawEvent, file_promotion_ConfirmLiveDraw, file_promotion_LiveDrawEventPhoneCallPlayer, file_promotion_GetLiveDrawEventWinnerList, file_promotion_MakePhoneCall]);\n\n/**\n * @generated from service promotion.AdminLiveDrawService\n */\nexport const AdminLiveDrawService: GenService<{\n /**\n * @generated from rpc promotion.AdminLiveDrawService.GetTodayLiveDrawEvents\n */\n getTodayLiveDrawEvents: {\n methodKind: \"unary\";\n input: typeof GetTodayLiveDrawEventsReqSchema;\n output: typeof GetTodayLiveDrawEventsResSchema;\n },\n /**\n * @generated from rpc promotion.AdminLiveDrawService.GetTodayCurrentRoundLiveDrawEvents\n */\n getTodayCurrentRoundLiveDrawEvents: {\n methodKind: \"unary\";\n input: typeof GetTodayCurrentRoundLiveDrawEventsReqSchema;\n output: typeof GetTodayCurrentRoundLiveDrawEventsResSchema;\n },\n /**\n * @generated from rpc promotion.AdminLiveDrawService.StartLiveDrawEvent\n */\n startLiveDrawEvent: {\n methodKind: \"unary\";\n input: typeof StartLiveDrawEventReqSchema;\n output: typeof StartLiveDrawEventResSchema;\n },\n /**\n * @generated from rpc promotion.AdminLiveDrawService.RedrawLiveDrawEvent\n */\n redrawLiveDrawEvent: {\n methodKind: \"unary\";\n input: typeof RedrawLiveDrawEventReqSchema;\n output: typeof RedrawLiveDrawEventResSchema;\n },\n /**\n * @generated from rpc promotion.AdminLiveDrawService.ConfirmLiveDraw\n */\n confirmLiveDraw: {\n methodKind: \"unary\";\n input: typeof ConfirmLiveDrawReqSchema;\n output: typeof ConfirmLiveDrawResSchema;\n },\n /**\n * @generated from rpc promotion.AdminLiveDrawService.LiveDrawEventPhoneCallPlayer\n */\n liveDrawEventPhoneCallPlayer: {\n methodKind: \"unary\";\n input: typeof LiveDrawEventPhoneCallPlayerReqSchema;\n output: typeof LiveDrawEventPhoneCallPlayerResSchema;\n },\n /**\n * @generated from rpc promotion.AdminLiveDrawService.GetLiveDrawEventWinnerList\n */\n getLiveDrawEventWinnerList: {\n methodKind: \"unary\";\n input: typeof GetLiveDrawEventWinnerListReqSchema;\n output: typeof GetLiveDrawEventWinnerListResSchema;\n },\n /**\n * @generated from rpc promotion.AdminLiveDrawService.MakePhoneCall\n */\n makePhoneCall: {\n methodKind: \"unary\";\n input: typeof MakePhoneCallReqSchema;\n output: typeof MakePhoneCallResSchema;\n },\n}> = /*@__PURE__*/\n serviceDesc(file_promotion_AdminLiveDrawService, 0);\n\n","// @generated by protoc-gen-es v2.10.2 with parameter \"target=ts\"\n// @generated from file promotion/GetTodayLiveDrawEvents.proto (package promotion, syntax proto3)\n/* eslint-disable */\n\nimport type { GenFile, GenMessage } from \"@bufbuild/protobuf/codegenv2\";\nimport { fileDesc, messageDesc } from \"@bufbuild/protobuf/codegenv2\";\nimport type { BaseResponse } from \"../common/Common_pb\";\nimport { file_common_Common } from \"../common/Common_pb\";\nimport type { LiveDrawEvent } from \"./PromotionCommon_pb\";\nimport { file_promotion_PromotionCommon } from \"./PromotionCommon_pb\";\nimport type { Message } from \"@bufbuild/protobuf\";\n\n/**\n * Describes the file promotion/GetTodayLiveDrawEvents.proto.\n */\nexport const file_promotion_GetTodayLiveDrawEvents: GenFile = /*@__PURE__*/\n fileDesc(\"CiZwcm9tb3Rpb24vR2V0VG9kYXlMaXZlRHJhd0V2ZW50cy5wcm90bxIJcHJvbW90aW9uIhsKGUdldFRvZGF5TGl2ZURyYXdFdmVudHNSZXEiswEKGUdldFRvZGF5TGl2ZURyYXdFdmVudHNSZXMSKwoNYmFzZV9yZXNwb25zZRgBIAEoCzIULmNvbW1vbi5CYXNlUmVzcG9uc2USNwoEZGF0YRgCIAEoCzIpLnByb21vdGlvbi5HZXRUb2RheUxpdmVEcmF3RXZlbnRzUmVzLkRhdGEaMAoERGF0YRIoCgZldmVudHMYASADKAsyGC5wcm9tb3Rpb24uTGl2ZURyYXdFdmVudGIGcHJvdG8z\", [file_common_Common, file_promotion_PromotionCommon]);\n\n/**\n * @generated from message promotion.GetTodayLiveDrawEventsReq\n */\nexport type GetTodayLiveDrawEventsReq = Message<\"promotion.GetTodayLiveDrawEventsReq\"> & {\n};\n\n/**\n * Describes the message promotion.GetTodayLiveDrawEventsReq.\n * Use `create(GetTodayLiveDrawEventsReqSchema)` to create a new message.\n */\nexport const GetTodayLiveDrawEventsReqSchema: GenMessage<GetTodayLiveDrawEventsReq> = /*@__PURE__*/\n messageDesc(file_promotion_GetTodayLiveDrawEvents, 0);\n\n/**\n * @generated from message promotion.GetTodayLiveDrawEventsRes\n */\nexport type GetTodayLiveDrawEventsRes = Message<\"promotion.GetTodayLiveDrawEventsRes\"> & {\n /**\n * @generated from field: common.BaseResponse base_response = 1;\n */\n baseResponse?: BaseResponse;\n\n /**\n * @generated from field: promotion.GetTodayLiveDrawEventsRes.Data data = 2;\n */\n data?: GetTodayLiveDrawEventsRes_Data;\n};\n\n/**\n * Describes the message promotion.GetTodayLiveDrawEventsRes.\n * Use `create(GetTodayLiveDrawEventsResSchema)` to create a new message.\n */\nexport const GetTodayLiveDrawEventsResSchema: GenMessage<GetTodayLiveDrawEventsRes> = /*@__PURE__*/\n messageDesc(file_promotion_GetTodayLiveDrawEvents, 1);\n\n/**\n * @generated from message promotion.GetTodayLiveDrawEventsRes.Data\n */\nexport type GetTodayLiveDrawEventsRes_Data = Message<\"promotion.GetTodayLiveDrawEventsRes.Data\"> & {\n /**\n * @generated from field: repeated promotion.LiveDrawEvent events = 1;\n */\n events: LiveDrawEvent[];\n};\n\n/**\n * Describes the message promotion.GetTodayLiveDrawEventsRes.Data.\n * Use `create(GetTodayLiveDrawEventsRes_DataSchema)` to create a new message.\n */\nexport const GetTodayLiveDrawEventsRes_DataSchema: GenMessage<GetTodayLiveDrawEventsRes_Data> = /*@__PURE__*/\n messageDesc(file_promotion_GetTodayLiveDrawEvents, 1, 0);\n\n","// @generated by protoc-gen-es v2.10.2 with parameter \"target=ts\"\n// @generated from file promotion/PromotionCommon.proto (package promotion, syntax proto3)\n/* eslint-disable */\n\nimport type { GenEnum, GenFile, GenMessage } from \"@bufbuild/protobuf/codegenv2\";\nimport { enumDesc, fileDesc, messageDesc } from \"@bufbuild/protobuf/codegenv2\";\nimport { file_common_Common } from \"../common/Common_pb\";\nimport type { Message } from \"@bufbuild/protobuf\";\n\n/**\n * Describes the file promotion/PromotionCommon.proto.\n */\nexport const file_promotion_PromotionCommon: GenFile = /*@__PURE__*/\n fileDesc(\"Ch9wcm9tb3Rpb24vUHJvbW90aW9uQ29tbW9uLnByb3RvEglwcm9tb3Rpb24idQoIRm9ybXVsYWUSEgoKYWxwaGFfcmF0ZRgBIAEoARIUCgx0b3RhbF93ZWlnaHQYAiABKAESHgoWb2xkX3BsYXllcl9hc3Npc3RfcmF0ZRgDIAEoARIfChduZXdfcGxheWVyX2Fzc2lzdF9yYXRlcxgEIAMoASL5AwoHRWdnRGF0YRIRCgljYXJkX25hbWUYASABKAkSDgoGYW1vdW50GAIgASgBEiwKDGNvbGxlY3RfdHlwZRgDIAEoDjIWLnByb21vdGlvbi5Db2xsZWN0VHlwZRIUCgxjb2xsZWN0X25vdGUYBCABKAkSEAoIcmVjZWl2ZWQYBSABKAgSDwoHdXBncmFkZRgGIAEoCBIaChJyYXJlX3Jld2FyZF9hbW91bnQYByABKAESEwoLc2tpcF90YXJnZXQYCCABKAgSDgoGbm90aWZ5GAkgASgIEhIKCmNsYWltX2RhdGUYCiABKAkSEgoKY3JlYXRlZF9hdBgLIAEoCRIRCgltaWxlc3RvbmUYDCABKAESCgoCaWQYDSABKAkSEAoIcmVjZWl2ZXIYDiABKAkSJQoIZm9ybXVsYWUYDyABKAsyEy5wcm9tb3Rpb24uRm9ybXVsYWUSFAoMYXNzaXN0X2NvdW50GBAgASgFEhMKC2NhcmRfb2JqX2lkGBEgASgJEhkKEWFjY3VtdWxhdGVfYW1vdW50GBIgASgBEh4KFmFjY3VtdWxhdGVfcGVyY2VudGFnZXMYEyABKAESEwoLZGF5X29mX3dlZWsYFCABKAUSFAoMZXhwaXJlZF9kYXRlGBUgASgJEhIKCmN5Y2xlX3dlZWsYFiABKAUimgEKCVBsYXllckVnZxIpCg15ZXN0ZXJkYXlfZWdnGAEgAygLMhIucHJvbW90aW9uLkVnZ0RhdGESJQoJdG9kYXlfZWdnGAIgAygLMhIucHJvbW90aW9uLkVnZ0RhdGESEQoJcGxheWVyX2lkGAMgASgJEhQKDGV2ZW50X29ial9pZBgEIAEoCRISCgpldmVudF9uYW1lGAUgASgJIuMBCg9Qcml6ZVRpZXJDb25maWcSFgoOcHJpemVfdGllcl9rZXkYASABKAkSHAoUcGxheWVyX2xldmVsX29ial9pZHMYAiADKAkSFgoObGltaXRfcGVyX2RyYXcYAyABKAUSEgoKZHJhd19saW1pdBgEIAEoBRIaChJyZXF1aXJlX3Bob25lX2NhbGwYBSABKAgSEwoLcHJpemVfdmFsdWUYBiABKAUSGwoTcHJpemVfdGllcl9zZXF1ZW5jZRgHIAEoBRIgChhpc19hbGxvd2VkX2ZhbGxiYWNrX2RyYXcYCCABKAgiegoMRXZlbnRTdW1tYXJ5EhMKC2RyYXduX2NvdW50GAEgASgFEhUKDXdpbm5lcnNfY291bnQYAiABKAUSIAoYZGlzdHJpYnV0ZWRfcHJpemVzX2NvdW50GAMgASgFEhwKFGN1cnJlbnRfZHJhd19zZXNzaW9uGAQgASgFIqkCCg1MaXZlRHJhd0V2ZW50EhAKCGV2ZW50X2lkGAEgASgJEhIKCnN0YXJ0X3RpbWUYAiABKAkSEAoIZW5kX3RpbWUYAyABKAkSFgoOcHJpemVfdGllcl9rZXkYBCABKAkSFQoNY29uZmlnX29ial9pZBgFIAEoCRI1ChFwcml6ZV90aWVyX2NvbmZpZxgGIAEoCzIaLnByb21vdGlvbi5Qcml6ZVRpZXJDb25maWcSDgoGc3RhdHVzGAcgASgJEhIKCmNyZWF0ZWRfYXQYCCABKAkSEgoKdXBkYXRlZF9hdBgJIAEoCRIoCgdzdW1tYXJ5GAogASgLMhcucHJvbW90aW9uLkV2ZW50U3VtbWFyeRIYChBpc19jdXJyZW50X3JvdW5kGAsgASgIIqgCCgZXaW5uZXISEQoJcGxheWVyX2lkGAEgASgJEhgKEHBsYXllcl9yZWFsX25hbWUYAiABKAkSLQold2lubmluZ19saXZlX2RyYXdfZXZlbnRfc2Vzc2lvbl9pbmRleBgDIAEoBRIeChZsaXZlX2RyYXdfZXZlbnRfb2JqX2lkGAQgASgJEhgKEGlzX2ZhbGxiYWNrX2RyYXcYBSABKAgSIQoUd2lubmluZ19ldmVudF9vYmpfaWQYBiABKAlIAIgBARIQCghldmVudF9pZBgHIAEoCRISCgpmaXJzdF9uYW1lGAggASgJEhEKCWxhc3RfbmFtZRgJIAEoCRITCgttaWRkbGVfbmFtZRgKIAEoCUIXChVfd2lubmluZ19ldmVudF9vYmpfaWQi9gUKCkNhcmRSZWNvcmQSEQoJcGxheWVyX2lkGAEgASgJEhEKCWNhcmRfbmFtZRgCIAEoCRIsCgxjb2xsZWN0X3R5cGUYAyABKA4yFi5wcm9tb3Rpb24uQ29sbGVjdFR5cGUSFAoMY29sbGVjdF9ub3RlGAQgASgJEhQKDHJlcGxhY2VfY2FyZBgFIAEoCBISCgpjcmVhdGVkX2F0GAYgASgJEhIKCmV2ZW50X25hbWUYByABKAkSDgoGYW1vdW50GAggASgBEhIKCmNsYWltX2RhdGUYCSABKAkSPgoNYmVmb3JlX2NoYW5nZRgKIAMoCzInLnByb21vdGlvbi5DYXJkUmVjb3JkLkJlZm9yZUNoYW5nZUVudHJ5EjwKDGFmdGVyX2NoYW5nZRgLIAMoCzImLnByb21vdGlvbi5DYXJkUmVjb3JkLkFmdGVyQ2hhbmdlRW50cnkSEAoIcmVjZWl2ZWQYDCABKAgSEwoLc2tpcF90YXJnZXQYDSABKAgSGgoScmFyZV9yZXdhcmRfYW1vdW50GA4gASgBEg8KB3VwZ3JhZGUYDyABKAgSCgoCaWQYECABKAkSFAoMYXNzaXN0X2NvdW50GBEgASgFEhMKC2Fzc2lzdF9yYXRlGBIgASgBEhUKDWFzc2lzdF9hbW91bnQYEyABKAESFAoMZXhwaXJlZF9kYXRlGBQgASgJEh4KFmFjY3VtdWxhdGVfcGVyY2VudGFnZXMYFSABKAESEwoLZGF5X29mX3dlZWsYFiABKAUSGQoRYWNjdW11bGF0ZV9hbW91bnQYFyABKAESDgoGbm90aWZ5GBggASgIEgsKA2RheRgZIAEoBRIQCghyZWNlaXZlchgaIAEoCRozChFCZWZvcmVDaGFuZ2VFbnRyeRILCgNrZXkYASABKAkSDQoFdmFsdWUYAiABKAU6AjgBGjIKEEFmdGVyQ2hhbmdlRW50cnkSCwoDa2V5GAEgASgJEg0KBXZhbHVlGAIgASgFOgI4ASqSAQoOSGlzdG9yeVJlcVR5cGUSIQodRlJFRV9TUElOX0hJU1RPUllfVU5TUEVDSUZJRUQQABIYChRGUkVFX1NQSU5fSU5QUk9HUkVTUxABEhcKE0ZSRUVfU1BJTl9DT01QTEVURUQQAhIVChFGUkVFX1NQSU5fRVhQSVJFRBADEhMKD0ZSRUVfU1BJTl9UT1RBTBAEKlYKCEdpZnRUeXBlEg4KCkxVQ0tZX0NPSU4QABIOCgpSRUFMX01PTkVZEAESEAoMUkVCQVRFX1JBSVNFEAISDQoJRlJFRV9TUElOEAMSCQoFRU1QVFkQBCouCghDYXJkVHlwZRIKCgZOT1JNQUwQABIICgRSQVJFEAESDAoITVVMVElQTFkQAip+CgtDb2xsZWN0VHlwZRIJCgVMT0dJThAAEgcKA0JFVBABEhAKDExJTUlURURfVElNRRACEhEKDVRSQU5TRkVSX0dJRlQQAxIMCghUUkFOU0ZFUhAEEg4KCklORkxVRU5DRVIQBRILCgdERVBPU0lUEAYSCwoHTUlTU0lPThAHKjsKEUV2ZW50U2NoZWR1bGVUeXBlEgwKCEVWRVJZREFZEAASCwoHV0VFS0RBWRABEgsKB1dFRUtFTkQQAiqSAQoKRGV2aWNlVHlwZRIZChVERVZJQ0VfVFlQRV9CQUNLU1RBR0UQABITCg9ERVZJQ0VfVFlQRV9XRUIQARISCg5ERVZJQ0VfVFlQRV9INRACEhcKE0RFVklDRV9UWVBFX0FORFJPSUQQAxITCg9ERVZJQ0VfVFlQRV9JT1MQBBISCg5ERVZJQ0VfVFlQRV9NUBAFKnwKE0NhbXBhaWduRXZlbnRTdGF0dXMSHwobTk9UX0VMSUdJQkxFX09SX0hBU19DTEFJTUVEEAASJQohRUxJR0lCTEVfQU5EX05PVF9ZRVRfQ09NUExFVEVfS1lDEAESHQoZRUxJR0lCTEVfQU5EX0NPTVBMRVRFX0tZQxACYgZwcm90bzM\", [file_common_Common]);\n\n/**\n * @generated from message promotion.Formulae\n */\nexport type Formulae = Message<\"promotion.Formulae\"> & {\n /**\n * @generated from field: double alpha_rate = 1;\n */\n alphaRate: number;\n\n /**\n * @generated from field: double total_weight = 2;\n */\n totalWeight: number;\n\n /**\n * @generated from field: double old_player_assist_rate = 3;\n */\n oldPlayerAssistRate: number;\n\n /**\n * @generated from field: repeated double new_player_assist_rates = 4;\n */\n newPlayerAssistRates: number[];\n};\n\n/**\n * Describes the message promotion.Formulae.\n * Use `create(FormulaeSchema)` to create a new message.\n */\nexport const FormulaeSchema: GenMessage<Formulae> = /*@__PURE__*/\n messageDesc(file_promotion_PromotionCommon, 0);\n\n/**\n * @generated from message promotion.EggData\n */\nexport type EggData = Message<\"promotion.EggData\"> & {\n /**\n * @generated from field: string card_name = 1;\n */\n cardName: string;\n\n /**\n * @generated from field: double amount = 2;\n */\n amount: number;\n\n /**\n * @generated from field: promotion.CollectType collect_type = 3;\n */\n collectType: CollectType;\n\n /**\n * @generated from field: string collect_note = 4;\n */\n collectNote: string;\n\n /**\n * @generated from field: bool received = 5;\n */\n received: boolean;\n\n /**\n * @generated from field: bool upgrade = 6;\n */\n upgrade: boolean;\n\n /**\n * @generated from field: double rare_reward_amount = 7;\n */\n rareRewardAmount: number;\n\n /**\n * @generated from field: bool skip_target = 8;\n */\n skipTarget: boolean;\n\n /**\n * @generated from field: bool notify = 9;\n */\n notify: boolean;\n\n /**\n * @generated from field: string claim_date = 10;\n */\n claimDate: string;\n\n /**\n * @generated from field: string created_at = 11;\n */\n createdAt: string;\n\n /**\n * @generated from field: double milestone = 12;\n */\n milestone: number;\n\n /**\n * @generated from field: string id = 13;\n */\n id: string;\n\n /**\n * @generated from field: string receiver = 14;\n */\n receiver: string;\n\n /**\n * @generated from field: promotion.Formulae formulae = 15;\n */\n formulae?: Formulae;\n\n /**\n * @generated from field: int32 assist_count = 16;\n */\n assistCount: number;\n\n /**\n * @generated from field: string card_obj_id = 17;\n */\n cardObjId: string;\n\n /**\n * @generated from field: double accumulate_amount = 18;\n */\n accumulateAmount: number;\n\n /**\n * @generated from field: double accumulate_percentages = 19;\n */\n accumulatePercentages: number;\n\n /**\n * @generated from field: int32 day_of_week = 20;\n */\n dayOfWeek: number;\n\n /**\n * @generated from field: string expired_date = 21;\n */\n expiredDate: string;\n\n /**\n * @generated from field: int32 cycle_week = 22;\n */\n cycleWeek: number;\n};\n\n/**\n * Describes the message promotion.EggData.\n * Use `create(EggDataSchema)` to create a new message.\n */\nexport const EggDataSchema: GenMessage<EggData> = /*@__PURE__*/\n messageDesc(file_promotion_PromotionCommon, 1);\n\n/**\n * @generated from message promotion.PlayerEgg\n */\nexport type PlayerEgg = Message<\"promotion.PlayerEgg\"> & {\n /**\n * @generated from field: repeated promotion.EggData yesterday_egg = 1;\n */\n yesterdayEgg: EggData[];\n\n /**\n * @generated from field: repeated promotion.EggData today_egg = 2;\n */\n todayEgg: EggData[];\n\n /**\n * @generated from field: string player_id = 3;\n */\n playerId: string;\n\n /**\n * @generated from field: string event_obj_id = 4;\n */\n eventObjId: string;\n\n /**\n * @generated from field: string event_name = 5;\n */\n eventName: string;\n};\n\n/**\n * Describes the message promotion.PlayerEgg.\n * Use `create(PlayerEggSchema)` to create a new message.\n */\nexport const PlayerEggSchema: GenMessage<PlayerEgg> = /*@__PURE__*/\n messageDesc(file_promotion_PromotionCommon, 2);\n\n/**\n * @generated from message promotion.PrizeTierConfig\n */\nexport type PrizeTierConfig = Message<\"promotion.PrizeTierConfig\"> & {\n /**\n * @generated from field: string prize_tier_key = 1;\n */\n prizeTierKey: string;\n\n /**\n * @generated from field: repeated string player_level_obj_ids = 2;\n */\n playerLevelObjIds: string[];\n\n /**\n * @generated from field: int32 limit_per_draw = 3;\n */\n limitPerDraw: number;\n\n /**\n * @generated from field: int32 draw_limit = 4;\n */\n drawLimit: number;\n\n /**\n * @generated from field: bool require_phone_call = 5;\n */\n requirePhoneCall: boolean;\n\n /**\n * @generated from field: int32 prize_value = 6;\n */\n prizeValue: number;\n\n /**\n * @generated from field: int32 prize_tier_sequence = 7;\n */\n prizeTierSequence: number;\n\n /**\n * @generated from field: bool is_allowed_fallback_draw = 8;\n */\n isAllowedFallbackDraw: boolean;\n};\n\n/**\n * Describes the message promotion.PrizeTierConfig.\n * Use `create(PrizeTierConfigSchema)` to create a new message.\n */\nexport const PrizeTierConfigSchema: GenMessage<PrizeTierConfig> = /*@__PURE__*/\n messageDesc(file_promotion_PromotionCommon, 3);\n\n/**\n * @generated from message promotion.EventSummary\n */\nexport type EventSummary = Message<\"promotion.EventSummary\"> & {\n /**\n * @generated from field: int32 drawn_count = 1;\n */\n drawnCount: number;\n\n /**\n * @generated from field: int32 winners_count = 2;\n */\n winnersCount: number;\n\n /**\n * @generated from field: int32 distributed_prizes_count = 3;\n */\n distributedPrizesCount: number;\n\n /**\n * @generated from field: int32 current_draw_session = 4;\n */\n currentDrawSession: number;\n};\n\n/**\n * Describes the message promotion.EventSummary.\n * Use `create(EventSummarySchema)` to create a new message.\n */\nexport const EventSummarySchema: GenMessage<EventSummary> = /*@__PURE__*/\n messageDesc(file_promotion_PromotionCommon, 4);\n\n/**\n * @generated from message promotion.LiveDrawEvent\n */\nexport type LiveDrawEvent = Message<\"promotion.LiveDrawEvent\"> & {\n /**\n * @generated from field: string event_id = 1;\n */\n eventId: string;\n\n /**\n * @generated from field: string start_time = 2;\n */\n startTime: string;\n\n /**\n * @generated from field: string end_time = 3;\n */\n endTime: string;\n\n /**\n * @generated from field: string prize_tier_key = 4;\n */\n prizeTierKey: string;\n\n /**\n * @generated from field: string config_obj_id = 5;\n */\n configObjId: string;\n\n /**\n * @generated from field: promotion.PrizeTierConfig prize_tier_config = 6;\n */\n prizeTierConfig?: PrizeTierConfig;\n\n /**\n * @generated from field: string status = 7;\n */\n status: string;\n\n /**\n * @generated from field: string created_at = 8;\n */\n createdAt: string;\n\n /**\n * @generated from field: string updated_at = 9;\n */\n updatedAt: string;\n\n /**\n * @generated from field: promotion.EventSummary summary = 10;\n */\n summary?: EventSummary;\n\n /**\n * @generated from field: bool is_current_round = 11;\n */\n isCurrentRound: boolean;\n};\n\n/**\n * Describes the message promotion.LiveDrawEvent.\n * Use `create(LiveDrawEventSchema)` to create a new message.\n */\nexport const LiveDrawEventSchema: GenMessage<LiveDrawEvent> = /*@__PURE__*/\n messageDesc(file_promotion_PromotionCommon, 5);\n\n/**\n * @generated from message promotion.Winner\n */\nexport type Winner = Message<\"promotion.Winner\"> & {\n /**\n * @generated from field: string player_id = 1;\n */\n playerId: string;\n\n /**\n * @generated from field: string player_real_name = 2;\n */\n playerRealName: string;\n\n /**\n * @generated from field: int32 winning_live_draw_event_session_index = 3;\n */\n winningLiveDrawEventSessionIndex: number;\n\n /**\n * @generated from field: string live_draw_event_obj_id = 4;\n */\n liveDrawEventObjId: string;\n\n /**\n * @generated from field: bool is_fallback_draw = 5;\n */\n isFallbackDraw: boolean;\n\n /**\n * @generated from field: optional string winning_event_obj_id = 6;\n */\n winningEventObjId?: string;\n\n /**\n * @generated from field: string event_id = 7;\n */\n eventId: string;\n\n /**\n * @generated from field: string first_name = 8;\n */\n firstName: string;\n\n /**\n * @generated from field: string last_name = 9;\n */\n lastName: string;\n\n /**\n * @generated from field: string middle_name = 10;\n */\n middleName: string;\n};\n\n/**\n * Describes the message promotion.Winner.\n * Use `create(WinnerSchema)` to create a new message.\n */\nexport const WinnerSchema: GenMessage<Winner> = /*@__PURE__*/\n messageDesc(file_promotion_PromotionCommon, 6);\n\n/**\n * @generated from message promotion.CardRecord\n */\nexport type CardRecord = Message<\"promotion.CardRecord\"> & {\n /**\n * @generated from field: string player_id = 1;\n */\n playerId: string;\n\n /**\n * @generated from field: string card_name = 2;\n */\n cardName: string;\n\n /**\n * @generated from field: promotion.CollectType collect_type = 3;\n */\n collectType: CollectType;\n\n /**\n * @generated from field: string collect_note = 4;\n */\n collectNote: string;\n\n /**\n * @generated from field: bool replace_card = 5;\n */\n replaceCard: boolean;\n\n /**\n * @generated from field: string created_at = 6;\n */\n createdAt: string;\n\n /**\n * @generated from field: string event_name = 7;\n */\n eventName: string;\n\n /**\n * @generated from field: double amount = 8;\n */\n amount: number;\n\n /**\n * @generated from field: string claim_date = 9;\n */\n claimDate: string;\n\n /**\n * @generated from field: map<string, int32> before_change = 10;\n */\n beforeChange: { [key: string]: number };\n\n /**\n * @generated from field: map<string, int32> after_change = 11;\n */\n afterChange: { [key: string]: number };\n\n /**\n * @generated from field: bool received = 12;\n */\n received: boolean;\n\n /**\n * @generated from field: bool skip_target = 13;\n */\n skipTarget: boolean;\n\n /**\n * @generated from field: double rare_reward_amount = 14;\n */\n rareRewardAmount: number;\n\n /**\n * @generated from field: bool upgrade = 15;\n */\n upgrade: boolean;\n\n /**\n * @generated from field: string id = 16;\n */\n id: string;\n\n /**\n * @generated from field: int32 assist_count = 17;\n */\n assistCount: number;\n\n /**\n * @generated from field: double assist_rate = 18;\n */\n assistRate: number;\n\n /**\n * @generated from field: double assist_amount = 19;\n */\n assistAmount: number;\n\n /**\n * @generated from field: string expired_date = 20;\n */\n expiredDate: string;\n\n /**\n * @generated from field: double accumulate_percentages = 21;\n */\n accumulatePercentages: number;\n\n /**\n * @generated from field: int32 day_of_week = 22;\n */\n dayOfWeek: number;\n\n /**\n * @generated from field: double accumulate_amount = 23;\n */\n accumulateAmount: number;\n\n /**\n * @generated from field: bool notify = 24;\n */\n notify: boolean;\n\n /**\n * @generated from field: int32 day = 25;\n */\n day: number;\n\n /**\n * @generated from field: string receiver = 26;\n */\n receiver: string;\n};\n\n/**\n * Describes the message promotion.CardRecord.\n * Use `create(CardRecordSchema)` to create a new message.\n */\nexport const CardRecordSchema: GenMessage<CardRecord> = /*@__PURE__*/\n messageDesc(file_promotion_PromotionCommon, 7);\n\n/**\n * @generated from enum promotion.HistoryReqType\n */\nexport enum HistoryReqType {\n /**\n * @generated from enum value: FREE_SPIN_HISTORY_UNSPECIFIED = 0;\n */\n FREE_SPIN_HISTORY_UNSPECIFIED = 0,\n\n /**\n * @generated from enum value: FREE_SPIN_INPROGRESS = 1;\n */\n FREE_SPIN_INPROGRESS = 1,\n\n /**\n * @generated from enum value: FREE_SPIN_COMPLETED = 2;\n */\n FREE_SPIN_COMPLETED = 2,\n\n /**\n * @generated from enum value: FREE_SPIN_EXPIRED = 3;\n */\n FREE_SPIN_EXPIRED = 3,\n\n /**\n * @generated from enum value: FREE_SPIN_TOTAL = 4;\n */\n FREE_SPIN_TOTAL = 4,\n}\n\n/**\n * Describes the enum promotion.HistoryReqType.\n */\nexport const HistoryReqTypeSchema: GenEnum<HistoryReqType> = /*@__PURE__*/\n enumDesc(file_promotion_PromotionCommon, 0);\n\n/**\n * @generated from enum promotion.GiftType\n */\nexport enum GiftType {\n /**\n * @generated from enum value: LUCKY_COIN = 0;\n */\n LUCKY_COIN = 0,\n\n /**\n * @generated from enum value: REAL_MONEY = 1;\n */\n REAL_MONEY = 1,\n\n /**\n * @generated from enum value: REBATE_RAISE = 2;\n */\n REBATE_RAISE = 2,\n\n /**\n * @generated from enum value: FREE_SPIN = 3;\n */\n FREE_SPIN = 3,\n\n /**\n * @generated from enum value: EMPTY = 4;\n */\n EMPTY = 4,\n}\n\n/**\n * Describes the enum promotion.GiftType.\n */\nexport const GiftTypeSchema: GenEnum<GiftType> = /*@__PURE__*/\n enumDesc(file_promotion_PromotionCommon, 1);\n\n/**\n * @generated from enum promotion.CardType\n */\nexport enum CardType {\n /**\n * @generated from enum value: NORMAL = 0;\n */\n NORMAL = 0,\n\n /**\n * @generated from enum value: RARE = 1;\n */\n RARE = 1,\n\n /**\n * @generated from enum value: MULTIPLY = 2;\n */\n MULTIPLY = 2,\n}\n\n/**\n * Describes the enum promotion.CardType.\n */\nexport const CardTypeSchema: GenEnum<CardType> = /*@__PURE__*/\n enumDesc(file_promotion_PromotionCommon, 2);\n\n/**\n * @generated from enum promotion.CollectType\n */\nexport enum CollectType {\n /**\n * @generated from enum value: LOGIN = 0;\n */\n LOGIN = 0,\n\n /**\n * @generated from enum value: BET = 1;\n */\n BET = 1,\n\n /**\n * @generated from enum value: LIMITED_TIME = 2;\n */\n LIMITED_TIME = 2,\n\n /**\n * @generated from enum value: TRANSFER_GIFT = 3;\n */\n TRANSFER_GIFT = 3,\n\n /**\n * @generated from enum value: TRANSFER = 4;\n */\n TRANSFER = 4,\n\n /**\n * @generated from enum value: INFLUENCER = 5;\n */\n INFLUENCER = 5,\n\n /**\n * @generated from enum value: DEPOSIT = 6;\n */\n DEPOSIT = 6,\n\n /**\n * @generated from enum value: MISSION = 7;\n */\n MISSION = 7,\n}\n\n/**\n * Describes the enum promotion.CollectType.\n */\nexport const CollectTypeSchema: GenEnum<CollectType> = /*@__PURE__*/\n enumDesc(file_promotion_PromotionCommon, 3);\n\n/**\n * @generated from enum promotion.EventScheduleType\n */\nexport enum EventScheduleType {\n /**\n * @generated from enum value: EVERYDAY = 0;\n */\n EVERYDAY = 0,\n\n /**\n * @generated from enum value: WEEKDAY = 1;\n */\n WEEKDAY = 1,\n\n /**\n * @generated from enum value: WEEKEND = 2;\n */\n WEEKEND = 2,\n}\n\n/**\n * Describes the enum promotion.EventScheduleType.\n */\nexport const EventScheduleTypeSchema: GenEnum<EventScheduleType> = /*@__PURE__*/\n enumDesc(file_promotion_PromotionCommon, 4);\n\n/**\n * @generated from enum promotion.DeviceType\n */\nexport enum DeviceType {\n /**\n * @generated from enum value: DEVICE_TYPE_BACKSTAGE = 0;\n */\n BACKSTAGE = 0,\n\n /**\n * @generated from enum value: DEVICE_TYPE_WEB = 1;\n */\n WEB = 1,\n\n /**\n * @generated from enum value: DEVICE_TYPE_H5 = 2;\n */\n H5 = 2,\n\n /**\n * @generated from enum value: DEVICE_TYPE_ANDROID = 3;\n */\n ANDROID = 3,\n\n /**\n * @generated from enum value: DEVICE_TYPE_IOS = 4;\n */\n IOS = 4,\n\n /**\n * @generated from enum value: DEVICE_TYPE_MP = 5;\n */\n MP = 5,\n}\n\n/**\n * Describes the enum promotion.DeviceType.\n */\nexport const DeviceTypeSchema: GenEnum<DeviceType> = /*@__PURE__*/\n enumDesc(file_promotion_PromotionCommon, 5);\n\n/**\n * @generated from enum promotion.CampaignEventStatus\n */\nexport enum CampaignEventStatus {\n /**\n * @generated from enum value: NOT_ELIGIBLE_OR_HAS_CLAIMED = 0;\n */\n NOT_ELIGIBLE_OR_HAS_CLAIMED = 0,\n\n /**\n * @generated from enum value: ELIGIBLE_AND_NOT_YET_COMPLETE_KYC = 1;\n */\n ELIGIBLE_AND_NOT_YET_COMPLETE_KYC = 1,\n\n /**\n * @generated from enum value: ELIGIBLE_AND_COMPLETE_KYC = 2;\n */\n ELIGIBLE_AND_COMPLETE_KYC = 2,\n}\n\n/**\n * Describes the enum promotion.CampaignEventStatus.\n */\nexport const CampaignEventStatusSchema: GenEnum<CampaignEventStatus> = /*@__PURE__*/\n enumDesc(file_promotion_PromotionCommon, 6);\n\n","// @generated by protoc-gen-es v2.10.2 with parameter \"target=ts\"\n// @generated from file promotion/GetTodayCurrentRoundLiveDrawEvents.proto (package promotion, syntax proto3)\n/* eslint-disable */\n\nimport type { GenFile, GenMessage } from \"@bufbuild/protobuf/codegenv2\";\nimport { fileDesc, messageDesc } from \"@bufbuild/protobuf/codegenv2\";\nimport type { BaseResponse } from \"../common/Common_pb\";\nimport { file_common_Common } from \"../common/Common_pb\";\nimport type { LiveDrawEvent } from \"./PromotionCommon_pb\";\nimport { file_promotion_PromotionCommon } from \"./PromotionCommon_pb\";\nimport type { Message } from \"@bufbuild/protobuf\";\n\n/**\n * Describes the file promotion/GetTodayCurrentRoundLiveDrawEvents.proto.\n */\nexport const file_promotion_GetTodayCurrentRoundLiveDrawEvents: GenFile = /*@__PURE__*/\n fileDesc(\"CjJwcm9tb3Rpb24vR2V0VG9kYXlDdXJyZW50Um91bmRMaXZlRHJhd0V2ZW50cy5wcm90bxIJcHJvbW90aW9uIicKJUdldFRvZGF5Q3VycmVudFJvdW5kTGl2ZURyYXdFdmVudHNSZXEi0gEKJUdldFRvZGF5Q3VycmVudFJvdW5kTGl2ZURyYXdFdmVudHNSZXMSKwoNYmFzZV9yZXNwb25zZRgBIAEoCzIULmNvbW1vbi5CYXNlUmVzcG9uc2USQwoEZGF0YRgCIAEoCzI1LnByb21vdGlvbi5HZXRUb2RheUN1cnJlbnRSb3VuZExpdmVEcmF3RXZlbnRzUmVzLkRhdGEaNwoERGF0YRIvCg1jdXJyZW50X2V2ZW50GAEgASgLMhgucHJvbW90aW9uLkxpdmVEcmF3RXZlbnRiBnByb3RvMw\", [file_common_Common, file_promotion_PromotionCommon]);\n\n/**\n * @generated from message promotion.GetTodayCurrentRoundLiveDrawEventsReq\n */\nexport type GetTodayCurrentRoundLiveDrawEventsReq = Message<\"promotion.GetTodayCurrentRoundLiveDrawEventsReq\"> & {\n};\n\n/**\n * Describes the message promotion.GetTodayCurrentRoundLiveDrawEventsReq.\n * Use `create(GetTodayCurrentRoundLiveDrawEventsReqSchema)` to create a new message.\n */\nexport const GetTodayCurrentRoundLiveDrawEventsReqSchema: GenMessage<GetTodayCurrentRoundLiveDrawEventsReq> = /*@__PURE__*/\n messageDesc(file_promotion_GetTodayCurrentRoundLiveDrawEvents, 0);\n\n/**\n * @generated from message promotion.GetTodayCurrentRoundLiveDrawEventsRes\n */\nexport type GetTodayCurrentRoundLiveDrawEventsRes = Message<\"promotion.GetTodayCurrentRoundLiveDrawEventsRes\"> & {\n /**\n * @generated from field: common.BaseResponse base_response = 1;\n */\n baseResponse?: BaseResponse;\n\n /**\n * @generated from field: promotion.GetTodayCurrentRoundLiveDrawEventsRes.Data data = 2;\n */\n data?: GetTodayCurrentRoundLiveDrawEventsRes_Data;\n};\n\n/**\n * Describes the message promotion.GetTodayCurrentRoundLiveDrawEventsRes.\n * Use `create(GetTodayCurrentRoundLiveDrawEventsResSchema)` to create a new message.\n */\nexport const GetTodayCurrentRoundLiveDrawEventsResSchema: GenMessage<GetTodayCurrentRoundLiveDrawEventsRes> = /*@__PURE__*/\n messageDesc(file_promotion_GetTodayCurrentRoundLiveDrawEvents, 1);\n\n/**\n * @generated from message promotion.GetTodayCurrentRoundLiveDrawEventsRes.Data\n */\nexport type GetTodayCurrentRoundLiveDrawEventsRes_Data = Message<\"promotion.GetTodayCurrentRoundLiveDrawEventsRes.Data\"> & {\n /**\n * @generated from field: promotion.LiveDrawEvent current_event = 1;\n */\n currentEvent?: LiveDrawEvent;\n};\n\n/**\n * Describes the message promotion.GetTodayCurrentRoundLiveDrawEventsRes.Data.\n * Use `create(GetTodayCurrentRoundLiveDrawEventsRes_DataSchema)` to create a new message.\n */\nexport const GetTodayCurrentRoundLiveDrawEventsRes_DataSchema: GenMessage<GetTodayCurrentRoundLiveDrawEventsRes_Data> = /*@__PURE__*/\n messageDesc(file_promotion_GetTodayCurrentRoundLiveDrawEvents, 1, 0);\n\n","// @generated by protoc-gen-es v2.10.2 with parameter \"target=ts\"\n// @generated from file promotion/StartLiveDrawEvent.proto (package promotion, syntax proto3)\n/* eslint-disable */\n\nimport type { GenFile, GenMessage } from \"@bufbuild/protobuf/codegenv2\";\nimport { fileDesc, messageDesc } from \"@bufbuild/protobuf/codegenv2\";\nimport type { BaseResponse } from \"../common/Common_pb\";\nimport { file_common_Common } from \"../common/Common_pb\";\nimport type { LiveDrawEvent, Winner } from \"./PromotionCommon_pb\";\nimport { file_promotion_PromotionCommon } from \"./PromotionCommon_pb\";\nimport type { Message } from \"@bufbuild/protobuf\";\n\n/**\n * Describes the file promotion/StartLiveDrawEvent.proto.\n */\nexport const file_promotion_StartLiveDrawEvent: GenFile = /*@__PURE__*/\n fileDesc(\"CiJwcm9tb3Rpb24vU3RhcnRMaXZlRHJhd0V2ZW50LnByb3RvEglwcm9tb3Rpb24iFwoVU3RhcnRMaXZlRHJhd0V2ZW50UmVxIooCChVTdGFydExpdmVEcmF3RXZlbnRSZXMSKwoNYmFzZV9yZXNwb25zZRgBIAEoCzIULmNvbW1vbi5CYXNlUmVzcG9uc2USMwoEZGF0YRgCIAEoCzIlLnByb21vdGlvbi5TdGFydExpdmVEcmF3RXZlbnRSZXMuRGF0YRqOAQoERGF0YRIsCgVldmVudBgBIAEoCzIYLnByb21vdGlvbi5MaXZlRHJhd0V2ZW50SACIAQESOwogY3VycmVudF9kcmF3X3Nlc3Npb25fd2lubmVyX2xpc3QYAiADKAsyES5wcm9tb3Rpb24uV2lubmVyEhEKCWlzX3JlZHJhdxgDIAEoCEIICgZfZXZlbnRiBnByb3RvMw\", [file_common_Common, file_promotion_PromotionCommon]);\n\n/**\n * @generated from message promotion.StartLiveDrawEventReq\n */\nexport type StartLiveDrawEventReq = Message<\"promotion.StartLiveDrawEventReq\"> & {\n};\n\n/**\n * Describes the message promotion.StartLiveDrawEventReq.\n * Use `create(StartLiveDrawEventReqSchema)` to create a new message.\n */\nexport const StartLiveDrawEventReqSchema: GenMessage<StartLiveDrawEventReq> = /*@__PURE__*/\n messageDesc(file_promotion_StartLiveDrawEvent, 0);\n\n/**\n * @generated from message promotion.StartLiveDrawEventRes\n */\nexport type StartLiveDrawEventRes = Message<\"promotion.StartLiveDrawEventRes\"> & {\n /**\n * @generated from field: common.BaseResponse base_response = 1;\n */\n baseResponse?: BaseResponse;\n\n /**\n * @generated from field: promotion.StartLiveDrawEventRes.Data data = 2;\n */\n data?: StartLiveDrawEventRes_Data;\n};\n\n/**\n * Describes the message promotion.StartLiveDrawEventRes.\n * Use `create(StartLiveDrawEventResSchema)` to create a new message.\n */\nexport const StartLiveDrawEventResSchema: GenMessage<StartLiveDrawEventRes> = /*@__PURE__*/\n messageDesc(file_promotion_StartLiveDrawEvent, 1);\n\n/**\n * @generated from message promotion.StartLiveDrawEventRes.Data\n */\nexport type StartLiveDrawEventRes_Data = Message<\"promotion.StartLiveDrawEventRes.Data\"> & {\n /**\n * @generated from field: optional promotion.LiveDrawEvent event = 1;\n */\n event?: LiveDrawEvent;\n\n /**\n * @generated from field: repeated promotion.Winner current_draw_session_winner_list = 2;\n */\n currentDrawSessionWinnerList: Winner[];\n\n /**\n * @generated from field: bool is_redraw = 3;\n */\n isRedraw: boolean;\n};\n\n/**\n * Describes the message promotion.StartLiveDrawEventRes.Data.\n * Use `create(StartLiveDrawEventRes_DataSchema)` to create a new message.\n */\nexport const StartLiveDrawEventRes_DataSchema: GenMessage<StartLiveDrawEventRes_Data> = /*@__PURE__*/\n messageDesc(file_promotion_StartLiveDrawEvent, 1, 0);\n\n","// @generated by protoc-gen-es v2.10.2 with parameter \"target=ts\"\n// @generated from file promotion/RedrawLiveDrawEvent.proto (package promotion, syntax proto3)\n/* eslint-disable */\n\nimport type { GenFile, GenMessage } from \"@bufbuild/protobuf/codegenv2\";\nimport { fileDesc, messageDesc } from \"@bufbuild/protobuf/codegenv2\";\nimport type { BaseResponse } from \"../common/Common_pb\";\nimport { file_common_Common } from \"../common/Common_pb\";\nimport type { LiveDrawEvent, Winner } from \"./PromotionCommon_pb\";\nimport { file_promotion_PromotionCommon } from \"./PromotionCommon_pb\";\nimport type { Message } from \"@bufbuild/protobuf\";\n\n/**\n * Describes the file promotion/RedrawLiveDrawEvent.proto.\n */\nexport const file_promotion_RedrawLiveDrawEvent: GenFile = /*@__PURE__*/\n fileDesc(\"CiNwcm9tb3Rpb24vUmVkcmF3TGl2ZURyYXdFdmVudC5wcm90bxIJcHJvbW90aW9uIhgKFlJlZHJhd0xpdmVEcmF3RXZlbnRSZXEi1gEKFlJlZHJhd0xpdmVEcmF3RXZlbnRSZXMSKwoNYmFzZV9yZXNwb25zZRgBIAEoCzIULmNvbW1vbi5CYXNlUmVzcG9uc2UajgEKBERhdGESLAoFZXZlbnQYASABKAsyGC5wcm9tb3Rpb24uTGl2ZURyYXdFdmVudEgAiAEBEjsKIGN1cnJlbnRfZHJhd19zZXNzaW9uX3dpbm5lcl9saXN0GAIgAygLMhEucHJvbW90aW9uLldpbm5lchIRCglpc19yZWRyYXcYAyABKAhCCAoGX2V2ZW50YgZwcm90bzM\", [file_common_Common, file_promotion_PromotionCommon]);\n\n/**\n * @generated from message promotion.RedrawLiveDrawEventReq\n */\nexport type RedrawLiveDrawEventReq = Message<\"promotion.RedrawLiveDrawEventReq\"> & {\n};\n\n/**\n * Describes the message promotion.RedrawLiveDrawEventReq.\n * Use `create(RedrawLiveDrawEventReqSchema)` to create a new message.\n */\nexport const RedrawLiveDrawEventReqSchema: GenMessage<RedrawLiveDrawEventReq> = /*@__PURE__*/\n messageDesc(file_promotion_RedrawLiveDrawEvent, 0);\n\n/**\n * @generated from message promotion.RedrawLiveDrawEventRes\n */\nexport type RedrawLiveDrawEventRes = Message<\"promotion.RedrawLiveDrawEventRes\"> & {\n /**\n * @generated from field: common.BaseResponse base_response = 1;\n */\n baseResponse?: BaseResponse;\n};\n\n/**\n * Describes the message promotion.RedrawLiveDrawEventRes.\n * Use `create(RedrawLiveDrawEventResSchema)` to create a new message.\n */\nexport const RedrawLiveDrawEventResSchema: GenMessage<RedrawLiveDrawEventRes> = /*@__PURE__*/\n messageDesc(file_promotion_RedrawLiveDrawEvent, 1);\n\n/**\n * @generated from message promotion.RedrawLiveDrawEventRes.Data\n */\nexport type RedrawLiveDrawEventRes_Data = Message<\"promotion.RedrawLiveDrawEventRes.Data\"> & {\n /**\n * @generated from field: optional promotion.LiveDrawEvent event = 1;\n */\n event?: LiveDrawEvent;\n\n /**\n * @generated from field: repeated promotion.Winner current_draw_session_winner_list = 2;\n */\n currentDrawSessionWinnerList: Winner[];\n\n /**\n * @generated from field: bool is_redraw = 3;\n */\n isRedraw: boolean;\n};\n\n/**\n * Describes the message promotion.RedrawLiveDrawEventRes.Data.\n * Use `create(RedrawLiveDrawEventRes_DataSchema)` to create a new message.\n */\nexport const RedrawLiveDrawEventRes_DataSchema: GenMessage<RedrawLiveDrawEventRes_Data> = /*@__PURE__*/\n messageDesc(file_promotion_RedrawLiveDrawEvent, 1, 0);\n\n","// @generated by protoc-gen-es v2.10.2 with parameter \"target=ts\"\n// @generated from file promotion/ConfirmLiveDraw.proto (package promotion, syntax proto3)\n/* eslint-disable */\n\nimport type { GenFile, GenMessage } from \"@bufbuild/protobuf/codegenv2\";\nimport { fileDesc, messageDesc } from \"@bufbuild/protobuf/codegenv2\";\nimport type { BaseResponse } from \"../common/Common_pb\";\nimport { file_common_Common } from \"../common/Common_pb\";\nimport type { LiveDrawEvent, Winner } from \"./PromotionCommon_pb\";\nimport { file_promotion_PromotionCommon } from \"./PromotionCommon_pb\";\nimport type { Message } from \"@bufbuild/protobuf\";\n\n/**\n * Describes the file promotion/ConfirmLiveDraw.proto.\n */\nexport const file_promotion_ConfirmLiveDraw: GenFile = /*@__PURE__*/\n fileDesc(\"Ch9wcm9tb3Rpb24vQ29uZmlybUxpdmVEcmF3LnByb3RvEglwcm9tb3Rpb24iFAoSQ29uZmlybUxpdmVEcmF3UmVxIvABChJDb25maXJtTGl2ZURyYXdSZXMSKwoNYmFzZV9yZXNwb25zZRgBIAEoCzIULmNvbW1vbi5CYXNlUmVzcG9uc2USMAoEZGF0YRgCIAEoCzIiLnByb21vdGlvbi5Db25maXJtTGl2ZURyYXdSZXMuRGF0YRp7CgREYXRhEiwKBWV2ZW50GAEgASgLMhgucHJvbW90aW9uLkxpdmVEcmF3RXZlbnRIAIgBARI7CiBjdXJyZW50X2RyYXdfc2Vzc2lvbl93aW5uZXJfbGlzdBgCIAMoCzIRLnByb21vdGlvbi5XaW5uZXJCCAoGX2V2ZW50YgZwcm90bzM\", [file_common_Common, file_promotion_PromotionCommon]);\n\n/**\n * @generated from message promotion.ConfirmLiveDrawReq\n */\nexport type ConfirmLiveDrawReq = Message<\"promotion.ConfirmLiveDrawReq\"> & {\n};\n\n/**\n * Describes the message promotion.ConfirmLiveDrawReq.\n * Use `create(ConfirmLiveDrawReqSchema)` to create a new message.\n */\nexport const ConfirmLiveDrawReqSchema: GenMessage<ConfirmLiveDrawReq> = /*@__PURE__*/\n messageDesc(file_promotion_ConfirmLiveDraw, 0);\n\n/**\n * @generated from message promotion.ConfirmLiveDrawRes\n */\nexport type ConfirmLiveDrawRes = Message<\"promotion.ConfirmLiveDrawRes\"> & {\n /**\n * @generated from field: common.BaseResponse base_response = 1;\n */\n baseResponse?: BaseResponse;\n\n /**\n * @generated from field: promotion.ConfirmLiveDrawRes.Data data = 2;\n */\n data?: ConfirmLiveDrawRes_Data;\n};\n\n/**\n * Describes the message promotion.ConfirmLiveDrawRes.\n * Use `create(ConfirmLiveDrawResSchema)` to create a new message.\n */\nexport const ConfirmLiveDrawResSchema: GenMessage<ConfirmLiveDrawRes> = /*@__PURE__*/\n messageDesc(file_promotion_ConfirmLiveDraw, 1);\n\n/**\n * @generated from message promotion.ConfirmLiveDrawRes.Data\n */\nexport type ConfirmLiveDrawRes_Data = Message<\"promotion.ConfirmLiveDrawRes.Data\"> & {\n /**\n * @generated from field: optional promotion.LiveDrawEvent event = 1;\n */\n event?: LiveDrawEvent;\n\n /**\n * @generated from field: repeated promotion.Winner current_draw_session_winner_list = 2;\n */\n currentDrawSessionWinnerList: Winner[];\n};\n\n/**\n * Describes the message promotion.ConfirmLiveDrawRes.Data.\n * Use `create(ConfirmLiveDrawRes_DataSchema)` to create a new message.\n */\nexport const ConfirmLiveDrawRes_DataSchema: GenMessage<ConfirmLiveDrawRes_Data> = /*@__PURE__*/\n messageDesc(file_promotion_ConfirmLiveDraw, 1, 0);\n\n","// @generated by protoc-gen-es v2.10.2 with parameter \"target=ts\"\n// @generated from file promotion/LiveDrawEventPhoneCallPlayer.proto (package promotion, syntax proto3)\n/* eslint-disable */\n\nimport type { GenFile, GenMessage } from \"@bufbuild/protobuf/codegenv2\";\nimport { fileDesc, messageDesc } from \"@bufbuild/protobuf/codegenv2\";\nimport type { BaseResponse } from \"../common/Common_pb\";\nimport { file_common_Common } from \"../common/Common_pb\";\nimport type { Message } from \"@bufbuild/protobuf\";\n\n/**\n * Describes the file promotion/LiveDrawEventPhoneCallPlayer.proto.\n */\nexport const file_promotion_LiveDrawEventPhoneCallPlayer: GenFile = /*@__PURE__*/\n fileDesc(\"Cixwcm9tb3Rpb24vTGl2ZURyYXdFdmVudFBob25lQ2FsbFBsYXllci5wcm90bxIJcHJvbW90aW9uIjMKH0xpdmVEcmF3RXZlbnRQaG9uZUNhbGxQbGF5ZXJSZXESEAoIZXZlbnRfaWQYASABKAkiTgofTGl2ZURyYXdFdmVudFBob25lQ2FsbFBsYXllclJlcxIrCg1iYXNlX3Jlc3BvbnNlGAEgASgLMhQuY29tbW9uLkJhc2VSZXNwb25zZWIGcHJvdG8z\", [file_common_Common]);\n\n/**\n * @generated from message promotion.LiveDrawEventPhoneCallPlayerReq\n */\nexport type LiveDrawEventPhoneCallPlayerReq = Message<\"promotion.LiveDrawEventPhoneCallPlayerReq\"> & {\n /**\n * @generated from field: string event_id = 1;\n */\n eventId: string;\n};\n\n/**\n * Describes the message promotion.LiveDrawEventPhoneCallPlayerReq.\n * Use `create(LiveDrawEventPhoneCallPlayerReqSchema)` to create a new message.\n */\nexport const LiveDrawEventPhoneCallPlayerReqSchema: GenMessage<LiveDrawEventPhoneCallPlayerReq> = /*@__PURE__*/\n messageDesc(file_promotion_LiveDrawEventPhoneCallPlayer, 0);\n\n/**\n * @generated from message promotion.LiveDrawEventPhoneCallPlayerRes\n */\nexport type LiveDrawEventPhoneCallPlayerRes = Message<\"promotion.LiveDrawEventPhoneCallPlayerRes\"> & {\n /**\n * @generated from field: common.BaseResponse base_response = 1;\n */\n baseResponse?: BaseResponse;\n};\n\n/**\n * Describes the message promotion.LiveDrawEventPhoneCallPlayerRes.\n * Use `create(LiveDrawEventPhoneCallPlayerResSchema)` to create a new message.\n */\nexport const LiveDrawEventPhoneCallPlayerResSchema: GenMessage<LiveDrawEventPhoneCallPlayerRes> = /*@__PURE__*/\n messageDesc(file_promotion_LiveDrawEventPhoneCallPlayer, 1);\n\n","// @generated by protoc-gen-es v2.10.2 with parameter \"target=ts\"\n// @generated from file promotion/GetLiveDrawEventWinnerList.proto (package promotion, syntax proto3)\n/* eslint-disable */\n\nimport type { GenFile, GenMessage } from \"@bufbuild/protobuf/codegenv2\";\nimport { fileDesc, messageDesc } from \"@bufbuild/protobuf/codegenv2\";\nimport type { BaseResponse } from \"../common/Common_pb\";\nimport { file_common_Common } from \"../common/Common_pb\";\nimport type { Winner } from \"./PromotionCommon_pb\";\nimport { file_promotion_PromotionCommon } from \"./PromotionCommon_pb\";\nimport type { Message } from \"@bufbuild/protobuf\";\n\n/**\n * Describes the file promotion/GetLiveDrawEventWinnerList.proto.\n */\nexport const file_promotion_GetLiveDrawEventWinnerList: GenFile = /*@__PURE__*/\n fileDesc(\"Cipwcm9tb3Rpb24vR2V0TGl2ZURyYXdFdmVudFdpbm5lckxpc3QucHJvdG8SCXByb21vdGlvbiJtCh1HZXRMaXZlRHJhd0V2ZW50V2lubmVyTGlzdFJlcRIQCghldmVudF9pZBgBIAEoCRIhChRjdXJyZW50X2RyYXdfc2Vzc2lvbhgCIAEoBUgAiAEBQhcKFV9jdXJyZW50X2RyYXdfc2Vzc2lvbiK5AQodR2V0TGl2ZURyYXdFdmVudFdpbm5lckxpc3RSZXMSKwoNYmFzZV9yZXNwb25zZRgBIAEoCzIULmNvbW1vbi5CYXNlUmVzcG9uc2USOwoEZGF0YRgCIAEoCzItLnByb21vdGlvbi5HZXRMaXZlRHJhd0V2ZW50V2lubmVyTGlzdFJlcy5EYXRhGi4KBERhdGESJgoLd2lubmVyX2xpc3QYASADKAsyES5wcm9tb3Rpb24uV2lubmVyYgZwcm90bzM\", [file_common_Common, file_promotion_PromotionCommon]);\n\n/**\n * @generated from message promotion.GetLiveDrawEventWinnerListReq\n */\nexport type GetLiveDrawEventWinnerListReq = Message<\"promotion.GetLiveDrawEventWinnerListReq\"> & {\n /**\n * @generated from field: string event_id = 1;\n */\n eventId: string;\n\n /**\n * @generated from field: optional int32 current_draw_session = 2;\n */\n currentDrawSession?: number;\n};\n\n/**\n * Describes the message promotion.GetLiveDrawEventWinnerListReq.\n * Use `create(GetLiveDrawEventWinnerListReqSchema)` to create a new message.\n */\nexport const GetLiveDrawEventWinnerListReqSchema: GenMessage<GetLiveDrawEventWinnerListReq> = /*@__PURE__*/\n messageDesc(file_promotion_GetLiveDrawEventWinnerList, 0);\n\n/**\n * @generated from message promotion.GetLiveDrawEventWinnerListRes\n */\nexport type GetLiveDrawEventWinnerListRes = Message<\"promotion.GetLiveDrawEventWinnerListRes\"> & {\n /**\n * @generated from field: common.BaseResponse base_response = 1;\n */\n baseResponse?: BaseResponse;\n\n /**\n * @generated from field: promotion.GetLiveDrawEventWinnerListRes.Data data = 2;\n */\n data?: GetLiveDrawEventWinnerListRes_Data;\n};\n\n/**\n * Describes the message promotion.GetLiveDrawEventWinnerListRes.\n * Use `create(GetLiveDrawEventWinnerListResSchema)` to create a new message.\n */\nexport const GetLiveDrawEventWinnerListResSchema: GenMessage<GetLiveDrawEventWinnerListRes> = /*@__PURE__*/\n messageDesc(file_promotion_GetLiveDrawEventWinnerList, 1);\n\n/**\n * @generated from message promotion.GetLiveDrawEventWinnerListRes.Data\n */\nexport type GetLiveDrawEventWinnerListRes_Data = Message<\"promotion.GetLiveDrawEventWinnerListRes.Data\"> & {\n /**\n * @generated from field: repeated promotion.Winner winner_list = 1;\n */\n winnerList: Winner[];\n};\n\n/**\n * Describes the message promotion.GetLiveDrawEventWinnerListRes.Data.\n * Use `create(GetLiveDrawEventWinnerListRes_DataSchema)` to create a new message.\n */\nexport const GetLiveDrawEventWinnerListRes_DataSchema: GenMessage<GetLiveDrawEventWinnerListRes_Data> = /*@__PURE__*/\n messageDesc(file_promotion_GetLiveDrawEventWinnerList, 1, 0);\n\n","// @generated by protoc-gen-es v2.10.2 with parameter \"target=ts\"\n// @generated from file promotion/MakePhoneCall.proto (package promotion, syntax proto3)\n/* eslint-disable */\n\nimport type { GenFile, GenMessage } from \"@bufbuild/protobuf/codegenv2\";\nimport { fileDesc, messageDesc } from \"@bufbuild/protobuf/codegenv2\";\nimport type { BaseResponse } from \"../common/Common_pb\";\nimport { file_common_Common } from \"../common/Common_pb\";\nimport type { Message } from \"@bufbuild/protobuf\";\n\n/**\n * Describes the file promotion/MakePhoneCall.proto.\n */\nexport const file_promotion_MakePhoneCall: GenFile = /*@__PURE__*/\n fileDesc(\"Ch1wcm9tb3Rpb24vTWFrZVBob25lQ2FsbC5wcm90bxIJcHJvbW90aW9uIiUKEE1ha2VQaG9uZUNhbGxSZXESEQoJcGxheWVyX2lkGAEgASgJIj8KEE1ha2VQaG9uZUNhbGxSZXMSKwoNYmFzZV9yZXNwb25zZRgBIAEoCzIULmNvbW1vbi5CYXNlUmVzcG9uc2ViBnByb3RvMw\", [file_common_Common]);\n\n/**\n * @generated from message promotion.MakePhoneCallReq\n */\nexport type MakePhoneCallReq = Message<\"promotion.MakePhoneCallReq\"> & {\n /**\n * @generated from field: string player_id = 1;\n */\n playerId: string;\n};\n\n/**\n * Describes the message promotion.MakePhoneCallReq.\n * Use `create(MakePhoneCallReqSchema)` to create a new message.\n */\nexport const MakePhoneCallReqSchema: GenMessage<MakePhoneCallReq> = /*@__PURE__*/\n messageDesc(file_promotion_MakePhoneCall, 0);\n\n/**\n * @generated from message promotion.MakePhoneCallRes\n */\nexport type MakePhoneCallRes = Message<\"promotion.MakePhoneCallRes\"> & {\n /**\n * @generated from field: common.BaseResponse base_response = 1;\n */\n baseResponse?: BaseResponse;\n};\n\n/**\n * Describes the message promotion.MakePhoneCallRes.\n * Use `create(MakePhoneCallResSchema)` to create a new message.\n */\nexport const MakePhoneCallResSchema: GenMessage<MakePhoneCallRes> = /*@__PURE__*/\n messageDesc(file_promotion_MakePhoneCall, 1);\n\n","// @generated by protoc-gen-es v2.10.2 with parameter \"target=ts\"\n// @generated from file promotion/FrontendCharityService.proto (package promotion, syntax proto3)\n/* eslint-disable */\n\nimport type { GenFile, GenService } from \"@bufbuild/protobuf/codegenv2\";\nimport { fileDesc, serviceDesc } from \"@bufbuild/protobuf/codegenv2\";\nimport type { EmptySchema } from \"../common/Common_pb\";\nimport { file_common_Common } from \"../common/Common_pb\";\nimport type { GetCharityDetailResSchema } from \"./GetCharityDetail_pb\";\nimport { file_promotion_GetCharityDetail } from \"./GetCharityDetail_pb\";\nimport type { GetPlayerCharityDetailResSchema } from \"./GetPlayerCharityDetail_pb\";\nimport { file_promotion_GetPlayerCharityDetail } from \"./GetPlayerCharityDetail_pb\";\n\n/**\n * Describes the file promotion/FrontendCharityService.proto.\n */\nexport const file_promotion_FrontendCharityService: GenFile = /*@__PURE__*/\n fileDesc(\"CiZwcm9tb3Rpb24vRnJvbnRlbmRDaGFyaXR5U2VydmljZS5wcm90bxIJcHJvbW90aW9uMq4BChZGcm9udGVuZENoYXJpdHlTZXJ2aWNlEkMKEEdldENoYXJpdHlEZXRhaWwSDS5jb21tb24uRW1wdHkaHi5wcm9tb3Rpb24uR2V0Q2hhcml0eURldGFpbFJlcyIAEk8KFkdldFBsYXllckNoYXJpdHlEZXRhaWwSDS5jb21tb24uRW1wdHkaJC5wcm9tb3Rpb24uR2V0UGxheWVyQ2hhcml0eURldGFpbFJlcyIAYgZwcm90bzM\", [file_common_Common, file_promotion_GetCharityDetail, file_promotion_GetPlayerCharityDetail]);\n\n/**\n * @generated from service promotion.FrontendCharityService\n */\nexport const FrontendCharityService: GenService<{\n /**\n * @generated from rpc promotion.FrontendCharityService.GetCharityDetail\n */\n getCharityDetail: {\n methodKind: \"unary\";\n input: typeof EmptySchema;\n output: typeof GetCharityDetailResSchema;\n },\n /**\n * @generated from rpc promotion.FrontendCharityService.GetPlayerCharityDetail\n */\n getPlayerCharityDetail: {\n methodKind: \"unary\";\n input: typeof EmptySchema;\n output: typeof GetPlayerCharityDetailResSchema;\n },\n}> = /*@__PURE__*/\n serviceDesc(file_promotion_FrontendCharityService, 0);\n\n","// @generated by protoc-gen-es v2.10.2 with parameter \"target=ts\"\n// @generated from file promotion/GetCharityDetail.proto (package promotion, syntax proto3)\n/* eslint-disable */\n\nimport type { GenFile, GenMessage } from \"@bufbuild/protobuf/codegenv2\";\nimport { fileDesc, messageDesc } from \"@bufbuild/protobuf/codegenv2\";\nimport type { BaseResponse } from \"../common/Common_pb\";\nimport { file_common_Common } from \"../common/Common_pb\";\nimport type { Message } from \"@bufbuild/protobuf\";\n\n/**\n * Describes the file promotion/GetCharityDetail.proto.\n */\nexport const file_promotion_GetCharityDetail: GenFile = /*@__PURE__*/\n fileDesc(\"CiBwcm9tb3Rpb24vR2V0Q2hhcml0eURldGFpbC5wcm90bxIJcHJvbW90aW9uIuUBChNHZXRDaGFyaXR5RGV0YWlsUmVzEisKDWJhc2VfcmVzcG9uc2UYASABKAsyFC5jb21tb24uQmFzZVJlc3BvbnNlEjEKBGRhdGEYAiABKAsyIy5wcm9tb3Rpb24uR2V0Q2hhcml0eURldGFpbFJlcy5EYXRhGm4KBERhdGESEgoKcHJpemVfcG9vbBgBIAEoBRIcChRwbGF5ZXJfc3VwcG9ydF9jb3VudBgCIAEoBRIaChJjaGFyaXR5X3N0YXJ0X2RhdGUYAyABKAkSGAoQY2hhcml0eV9lbmRfZGF0ZRgEIAEoCWIGcHJvdG8z\", [file_common_Common]);\n\n/**\n * @generated from message promotion.GetCharityDetailRes\n */\nexport type GetCharityDetailRes = Message<\"promotion.GetCharityDetailRes\"> & {\n /**\n * @generated from field: common.BaseResponse base_response = 1;\n */\n baseResponse?: BaseResponse;\n\n /**\n * @generated from field: promotion.GetCharityDetailRes.Data data = 2;\n */\n data?: GetCharityDetailRes_Data;\n};\n\n/**\n * Describes the message promotion.GetCharityDetailRes.\n * Use `create(GetCharityDetailResSchema)` to create a new message.\n */\nexport const GetCharityDetailResSchema: GenMessage<GetCharityDetailRes> = /*@__PURE__*/\n messageDesc(file_promotion_GetCharityDetail, 0);\n\n/**\n * @generated from message promotion.GetCharityDetailRes.Data\n */\nexport type GetCharityDetailRes_Data = Message<\"promotion.GetCharityDetailRes.Data\"> & {\n /**\n * @generated from field: int32 prize_pool = 1;\n */\n prizePool: number;\n\n /**\n * @generated from field: int32 player_support_count = 2;\n */\n playerSupportCount: number;\n\n /**\n * @generated from field: string charity_start_date = 3;\n */\n charityStartDate: string;\n\n /**\n * @generated from field: string charity_end_date = 4;\n */\n charityEndDate: string;\n};\n\n/**\n * Describes the message promotion.GetCharityDetailRes.Data.\n * Use `create(GetCharityDetailRes_DataSchema)` to create a new message.\n */\nexport const GetCharityDetailRes_DataSchema: GenMessage<GetCharityDetailRes_Data> = /*@__PURE__*/\n messageDesc(file_promotion_GetCharityDetail, 0, 0);\n\n","// @generated by protoc-gen-es v2.10.2 with parameter \"target=ts\"\n// @generated from file promotion/GetPlayerCharityDetail.proto (package promotion, syntax proto3)\n/* eslint-disable */\n\nimport type { GenFile, GenMessage } from \"@bufbuild/protobuf/codegenv2\";\nimport { fileDesc, messageDesc } from \"@bufbuild/protobuf/codegenv2\";\nimport type { BaseResponse } from \"../common/Common_pb\";\nimport { file_common_Common } from \"../common/Common_pb\";\nimport type { Message } from \"@bufbuild/protobuf\";\n\n/**\n * Describes the file promotion/GetPlayerCharityDetail.proto.\n */\nexport const file_promotion_GetPlayerCharityDetail: GenFile = /*@__PURE__*/\n fileDesc(\"CiZwcm9tb3Rpb24vR2V0UGxheWVyQ2hhcml0eURldGFpbC5wcm90bxIJcHJvbW90aW9uItgBChlHZXRQbGF5ZXJDaGFyaXR5RGV0YWlsUmVzEisKDWJhc2VfcmVzcG9uc2UYASABKAsyFC5jb21tb24uQmFzZVJlc3BvbnNlEjcKBGRhdGEYAiABKAsyKS5wcm9tb3Rpb24uR2V0UGxheWVyQ2hhcml0eURldGFpbFJlcy5EYXRhGlUKBERhdGESGgoSdG90YWxfZG9uYXRlZF9kYXlzGAEgASgFEhwKFHRvdGFsX3JlbWFpbmluZ19kYXlzGAIgASgFEhMKC2hhc19kb25hdGVkGAMgASgIYgZwcm90bzM\", [file_common_Common]);\n\n/**\n * @generated from message promotion.GetPlayerCharityDetailRes\n */\nexport type GetPlayerCharityDetailRes = Message<\"promotion.GetPlayerCharityDetailRes\"> & {\n /**\n * @generated from field: common.BaseResponse base_response = 1;\n */\n baseResponse?: BaseResponse;\n\n /**\n * @generated from field: promotion.GetPlayerCharityDetailRes.Data data = 2;\n */\n data?: GetPlayerCharityDetailRes_Data;\n};\n\n/**\n * Describes the message promotion.GetPlayerCharityDetailRes.\n * Use `create(GetPlayerCharityDetailResSchema)` to create a new message.\n */\nexport const GetPlayerCharityDetailResSchema: GenMessage<GetPlayerCharityDetailRes> = /*@__PURE__*/\n messageDesc(file_promotion_GetPlayerCharityDetail, 0);\n\n/**\n * @generated from message promotion.GetPlayerCharityDetailRes.Data\n */\nexport type GetPlayerCharityDetailRes_Data = Message<\"promotion.GetPlayerCharityDetailRes.Data\"> & {\n /**\n * @generated from field: int32 total_donated_days = 1;\n */\n totalDonatedDays: number;\n\n /**\n * @generated from field: int32 total_remaining_days = 2;\n */\n totalRemainingDays: number;\n\n /**\n * @generated from field: bool has_donated = 3;\n */\n hasDonated: boolean;\n};\n\n/**\n * Describes the message promotion.GetPlayerCharityDetailRes.Data.\n * Use `create(GetPlayerCharityDetailRes_DataSchema)` to create a new message.\n */\nexport const GetPlayerCharityDetailRes_DataSchema: GenMessage<GetPlayerCharityDetailRes_Data> = /*@__PURE__*/\n messageDesc(file_promotion_GetPlayerCharityDetail, 0, 0);\n\n","// @generated by protoc-gen-es v2.10.2 with parameter \"target=ts\"\n// @generated from file promotion/FrontendLeaderboardService.proto (package promotion, syntax proto3)\n/* eslint-disable */\n\nimport type { GenFile, GenService } from \"@bufbuild/protobuf/codegenv2\";\nimport { fileDesc, serviceDesc } from \"@bufbuild/protobuf/codegenv2\";\nimport type { GetPlayerRewardProgressReqSchema, GetPlayerRewardProgressResSchema } from \"./GetPlayerRewardProgress_pb\";\nimport { file_promotion_GetPlayerRewardProgress } from \"./GetPlayerRewardProgress_pb\";\nimport type { ClaimRewardReqSchema, ClaimRewardResSchema } from \"./ClaimReward_pb\";\nimport { file_promotion_ClaimReward } from \"./ClaimReward_pb\";\n\n/**\n * Describes the file promotion/FrontendLeaderboardService.proto.\n */\nexport const file_promotion_FrontendLeaderboardService: GenFile = /*@__PURE__*/\n fileDesc(\"Cipwcm9tb3Rpb24vRnJvbnRlbmRMZWFkZXJib2FyZFNlcnZpY2UucHJvdG8SCXByb21vdGlvbjLOAQoaRnJvbnRlbmRMZWFkZXJib2FyZFNlcnZpY2USaQoXR2V0UGxheWVyUmV3YXJkUHJvZ3Jlc3MSJS5wcm9tb3Rpb24uR2V0UGxheWVyUmV3YXJkUHJvZ3Jlc3NSZXEaJS5wcm9tb3Rpb24uR2V0UGxheWVyUmV3YXJkUHJvZ3Jlc3NSZXMiABJFCgtDbGFpbVJld2FyZBIZLnByb21vdGlvbi5DbGFpbVJld2FyZFJlcRoZLnByb21vdGlvbi5DbGFpbVJld2FyZFJlcyIAYgZwcm90bzM\", [file_promotion_GetPlayerRewardProgress, file_promotion_ClaimReward]);\n\n/**\n * @generated from service promotion.FrontendLeaderboardService\n */\nexport const FrontendLeaderboardService: GenService<{\n /**\n * @generated from rpc promotion.FrontendLeaderboardService.GetPlayerRewardProgress\n */\n getPlayerRewardProgress: {\n methodKind: \"unary\";\n input: typeof GetPlayerRewardProgressReqSchema;\n output: typeof GetPlayerRewardProgressResSchema;\n },\n /**\n * @generated from rpc promotion.FrontendLeaderboardService.ClaimReward\n */\n claimReward: {\n methodKind: \"unary\";\n input: typeof ClaimRewardReqSchema;\n output: typeof ClaimRewardResSchema;\n },\n}> = /*@__PURE__*/\n serviceDesc(file_promotion_FrontendLeaderboardService, 0);\n\n","// @generated by protoc-gen-es v2.10.2 with parameter \"target=ts\"\n// @generated from file promotion/GetPlayerRewardProgress.proto (package promotion, syntax proto3)\n/* eslint-disable */\n\nimport type { GenFile, GenMessage } from \"@bufbuild/protobuf/codegenv2\";\nimport { fileDesc, messageDesc } from \"@bufbuild/protobuf/codegenv2\";\nimport type { BaseResponse } from \"../common/Common_pb\";\nimport { file_common_Common } from \"../common/Common_pb\";\nimport type { Message } from \"@bufbuild/protobuf\";\n\n/**\n * Describes the file promotion/GetPlayerRewardProgress.proto.\n */\nexport const file_promotion_GetPlayerRewardProgress: GenFile = /*@__PURE__*/\n fileDesc(\"Cidwcm9tb3Rpb24vR2V0UGxheWVyUmV3YXJkUHJvZ3Jlc3MucHJvdG8SCXByb21vdGlvbiJGChpHZXRQbGF5ZXJSZXdhcmRQcm9ncmVzc1JlcRITCgtwbGF0Zm9ybV9pZBgBIAEoCRITCgtwcm92aWRlcl9pZBgCIAEoCSKcAwoaR2V0UGxheWVyUmV3YXJkUHJvZ3Jlc3NSZXMSKwoNYmFzZV9yZXNwb25zZRgBIAEoCzIULmNvbW1vbi5CYXNlUmVzcG9uc2USOAoEZGF0YRgCIAMoCzIqLnByb21vdGlvbi5HZXRQbGF5ZXJSZXdhcmRQcm9ncmVzc1Jlcy5EYXRhGpYCCgREYXRhEhAKCGV2ZW50X2lkGAEgASgJEhgKEGV2ZW50X3N0YXJ0X3RpbWUYAiABKAkSFgoOZXZlbnRfZW5kX3RpbWUYAyABKAkSDwoHc2Vzc2lvbhgEIAEoBRIVCg1yZXdhcmRfYW1vdW50GAUgASgBEhkKEXRhcmdldF9iZXRfYW1vdW50GAYgASgBEhoKEmN1cnJlbnRfYmV0X2Ftb3VudBgHIAEoARIMCgRyYW5rGAggASgFEhMKC3JlbWFpbl9yYW5rGAkgASgFEhoKEnNlc3Npb25fc3RhcnRfdGltZRgKIAEoCRIYChBzZXNzaW9uX2VuZF90aW1lGAsgASgJEhIKCmlzX2NsYWltZWQYDCABKAhiBnByb3RvMw\", [file_common_Common]);\n\n/**\n * @generated from message promotion.GetPlayerRewardProgressReq\n */\nexport type GetPlayerRewardProgressReq = Message<\"promotion.GetPlayerRewardProgressReq\"> & {\n /**\n * @generated from field: string platform_id = 1;\n */\n platformId: string;\n\n /**\n * @generated from field: string provider_id = 2;\n */\n providerId: string;\n};\n\n/**\n * Describes the message promotion.GetPlayerRewardProgressReq.\n * Use `create(GetPlayerRewardProgressReqSchema)` to create a new message.\n */\nexport const GetPlayerRewardProgressReqSchema: GenMessage<GetPlayerRewardProgressReq> = /*@__PURE__*/\n messageDesc(file_promotion_GetPlayerRewardProgress, 0);\n\n/**\n * @generated from message promotion.GetPlayerRewardProgressRes\n */\nexport type GetPlayerRewardProgressRes = Message<\"promotion.GetPlayerRewardProgressRes\"> & {\n /**\n * @generated from field: common.BaseResponse base_response = 1;\n */\n baseResponse?: BaseResponse;\n\n /**\n * @generated from field: repeated promotion.GetPlayerRewardProgressRes.Data data = 2;\n */\n data: GetPlayerRewardProgressRes_Data[];\n};\n\n/**\n * Describes the message promotion.GetPlayerRewardProgressRes.\n * Use `create(GetPlayerRewardProgressResSchema)` to create a new message.\n */\nexport const GetPlayerRewardProgressResSchema: GenMessage<GetPlayerRewardProgressRes> = /*@__PURE__*/\n messageDesc(file_promotion_GetPlayerRewardProgress, 1);\n\n/**\n * @generated from message promotion.GetPlayerRewardProgressRes.Data\n */\nexport type GetPlayerRewardProgressRes_Data = Message<\"promotion.GetPlayerRewardProgressRes.Data\"> & {\n /**\n * @generated from field: string event_id = 1;\n */\n eventId: string;\n\n /**\n * @generated from field: string event_start_time = 2;\n */\n eventStartTime: string;\n\n /**\n * @generated from field: string event_end_time = 3;\n */\n eventEndTime: string;\n\n /**\n * @generated from field: int32 session = 4;\n */\n session: number;\n\n /**\n * @generated from field: double reward_amount = 5;\n */\n rewardAmount: number;\n\n /**\n * @generated from field: double target_bet_amount = 6;\n */\n targetBetAmount: number;\n\n /**\n * @generated from field: double current_bet_amount = 7;\n */\n currentBetAmount: number;\n\n /**\n * @generated from field: int32 rank = 8;\n */\n rank: number;\n\n /**\n * @generated from field: int32 remain_rank = 9;\n */\n remainRank: number;\n\n /**\n * @generated from field: string session_start_time = 10;\n */\n sessionStartTime: string;\n\n /**\n * @generated from field: string session_end_time = 11;\n */\n sessionEndTime: string;\n\n /**\n * @generated from field: bool is_claimed = 12;\n */\n isClaimed: boolean;\n};\n\n/**\n * Describes the message promotion.GetPlayerRewardProgressRes.Data.\n * Use `create(GetPlayerRewardProgressRes_DataSchema)` to create a new message.\n */\nexport const GetPlayerRewardProgressRes_DataSchema: GenMessage<GetPlayerRewardProgressRes_Data> = /*@__PURE__*/\n messageDesc(file_promotion_GetPlayerRewardProgress, 1, 0);\n\n","// @generated by protoc-gen-es v2.10.2 with parameter \"target=ts\"\n// @generated from file promotion/ClaimReward.proto (package promotion, syntax proto3)\n/* eslint-disable */\n\nimport type { GenFile, GenMessage } from \"@bufbuild/protobuf/codegenv2\";\nimport { fileDesc, messageDesc } from \"@bufbuild/protobuf/codegenv2\";\nimport type { BaseResponse } from \"../common/Common_pb\";\nimport { file_common_Common } from \"../common/Common_pb\";\nimport type { Message } from \"@bufbuild/protobuf\";\n\n/**\n * Describes the file promotion/ClaimReward.proto.\n */\nexport const file_promotion_ClaimReward: GenFile = /*@__PURE__*/\n fileDesc(\"Chtwcm9tb3Rpb24vQ2xhaW1SZXdhcmQucHJvdG8SCXByb21vdGlvbiIzCg5DbGFpbVJld2FyZFJlcRIQCghldmVudF9pZBgBIAEoCRIPCgdzZXNzaW9uGAIgASgFIj0KDkNsYWltUmV3YXJkUmVzEisKDWJhc2VfcmVzcG9uc2UYASABKAsyFC5jb21tb24uQmFzZVJlc3BvbnNlYgZwcm90bzM\", [file_common_Common]);\n\n/**\n * @generated from message promotion.ClaimRewardReq\n */\nexport type ClaimRewardReq = Message<\"promotion.ClaimRewardReq\"> & {\n /**\n * @generated from field: string event_id = 1;\n */\n eventId: string;\n\n /**\n * @generated from field: int32 session = 2;\n */\n session: number;\n};\n\n/**\n * Describes the message promotion.ClaimRewardReq.\n * Use `create(ClaimRewardReqSchema)` to create a new message.\n */\nexport const ClaimRewardReqSchema: GenMessage<ClaimRewardReq> = /*@__PURE__*/\n messageDesc(file_promotion_ClaimReward, 0);\n\n/**\n * @generated from message promotion.ClaimRewardRes\n */\nexport type ClaimRewardRes = Message<\"promotion.ClaimRewardRes\"> & {\n /**\n * @generated from field: common.BaseResponse base_response = 1;\n */\n baseResponse?: BaseResponse;\n};\n\n/**\n * Describes the message promotion.ClaimRewardRes.\n * Use `create(ClaimRewardResSchema)` to create a new message.\n */\nexport const ClaimRewardResSchema: GenMessage<ClaimRewardRes> = /*@__PURE__*/\n messageDesc(file_promotion_ClaimReward, 1);\n\n","// @generated by protoc-gen-es v2.10.2 with parameter \"target=ts\"\n// @generated from file promotion/FrontendLiveDrawService.proto (package promotion, syntax proto3)\n/* eslint-disable */\n\nimport type { GenFile, GenService } from \"@bufbuild/protobuf/codegenv2\";\nimport { fileDesc, serviceDesc } from \"@bufbuild/protobuf/codegenv2\";\nimport type { EmptySchema } from \"../common/Common_pb\";\nimport { file_common_Common } from \"../common/Common_pb\";\nimport type { GetLuckyDrawRewardListReqSchema, GetLuckyDrawRewardListResSchema } from \"./GetLuckyDrawRewardList_pb\";\nimport { file_promotion_GetLuckyDrawRewardList } from \"./GetLuckyDrawRewardList_pb\";\nimport type { GetPlayerTicketListResSchema } from \"./GetPlayerTicketList_pb\";\nimport { file_promotion_GetPlayerTicketList } from \"./GetPlayerTicketList_pb\";\nimport type { GetPlayerInRiskListResSchema } from \"./GetPlayerInRiskList_pb\";\nimport { file_promotion_GetPlayerInRiskList } from \"./GetPlayerInRiskList_pb\";\n\n/**\n * Describes the file promotion/FrontendLiveDrawService.proto.\n */\nexport const file_promotion_FrontendLiveDrawService: GenFile = /*@__PURE__*/\n fileDesc(\"Cidwcm9tb3Rpb24vRnJvbnRlbmRMaXZlRHJhd1NlcnZpY2UucHJvdG8SCXByb21vdGlvbjKXAgoXRnJvbnRlbmRMaXZlRHJhd1NlcnZpY2USZgoWR2V0THVja3lEcmF3UmV3YXJkTGlzdBIkLnByb21vdGlvbi5HZXRMdWNreURyYXdSZXdhcmRMaXN0UmVxGiQucHJvbW90aW9uLkdldEx1Y2t5RHJhd1Jld2FyZExpc3RSZXMiABJJChNHZXRQbGF5ZXJUaWNrZXRMaXN0Eg0uY29tbW9uLkVtcHR5GiEucHJvbW90aW9uLkdldFBsYXllclRpY2tldExpc3RSZXMiABJJChNHZXRQbGF5ZXJJblJpc2tMaXN0Eg0uY29tbW9uLkVtcHR5GiEucHJvbW90aW9uLkdldFBsYXllckluUmlza0xpc3RSZXMiAGIGcHJvdG8z\", [file_common_Common, file_promotion_GetLuckyDrawRewardList, file_promotion_GetPlayerTicketList, file_promotion_GetPlayerInRiskList]);\n\n/**\n * @generated from service promotion.FrontendLiveDrawService\n */\nexport const FrontendLiveDrawService: GenService<{\n /**\n * @generated from rpc promotion.FrontendLiveDrawService.GetLuckyDrawRewardList\n */\n getLuckyDrawRewardList: {\n methodKind: \"unary\";\n input: typeof GetLuckyDrawRewardListReqSchema;\n output: typeof GetLuckyDrawRewardListResSchema;\n },\n /**\n * @generated from rpc promotion.FrontendLiveDrawService.GetPlayerTicketList\n */\n getPlayerTicketList: {\n methodKind: \"unary\";\n input: typeof EmptySchema;\n output: typeof GetPlayerTicketListResSchema;\n },\n /**\n * @generated from rpc promotion.FrontendLiveDrawService.GetPlayerInRiskList\n */\n getPlayerInRiskList: {\n methodKind: \"unary\";\n input: typeof EmptySchema;\n output: typeof GetPlayerInRiskListResSchema;\n },\n}> = /*@__PURE__*/\n serviceDesc(file_promotion_FrontendLiveDrawService, 0);\n\n","// @generated by protoc-gen-es v2.10.2 with parameter \"target=ts\"\n// @generated from file promotion/GetLuckyDrawRewardList.proto (package promotion, syntax proto3)\n/* eslint-disable */\n\nimport type { GenFile, GenMessage } from \"@bufbuild/protobuf/codegenv2\";\nimport { fileDesc, messageDesc } from \"@bufbuild/protobuf/codegenv2\";\nimport type { BaseResponse } from \"../common/Common_pb\";\nimport { file_common_Common } from \"../common/Common_pb\";\nimport type { Message } from \"@bufbuild/protobuf\";\n\n/**\n * Describes the file promotion/GetLuckyDrawRewardList.proto.\n */\nexport const file_promotion_GetLuckyDrawRewardList: GenFile = /*@__PURE__*/\n fileDesc(\"CiZwcm9tb3Rpb24vR2V0THVja3lEcmF3UmV3YXJkTGlzdC5wcm90bxIJcHJvbW90aW9uIl8KGUdldEx1Y2t5RHJhd1Jld2FyZExpc3RSZXESEQoEdGllchgBIAEoCUgAiAEBEhcKCnN0YXJ0X3RpbWUYAiABKAlIAYgBAUIHCgVfdGllckINCgtfc3RhcnRfdGltZSLIBAoZR2V0THVja3lEcmF3UmV3YXJkTGlzdFJlcxIrCg1iYXNlX3Jlc3BvbnNlGAEgASgLMhQuY29tbW9uLkJhc2VSZXNwb25zZRI8CgRkYXRhGAIgAygLMi4ucHJvbW90aW9uLkdldEx1Y2t5RHJhd1Jld2FyZExpc3RSZXMuRGF0YUVudHJ5Gm8KCldpbm5lckluZm8SEwoLcHJpemVfdmFsdWUYASABKAUSEQoJcGxheWVyX2lkGAIgASgJEhEKCWxhc3RfbmFtZRgDIAEoCRISCgpmaXJzdF9uYW1lGAQgASgJEhIKCnByaXplX3RpZXIYBSABKAkaVQoNU3RhdGlzdGljSW5mbxINCgV0b3RhbBgBIAEoBRITCgtwcml6ZV92YWx1ZRgCIAEoBRIMCgR0aWVyGAMgASgJEhIKCnByaXplX3RpZXIYBCABKAkamQEKCkRhdGVSZXdhcmQSRAoLd2lubmVyX2xpc3QYASADKAsyLy5wcm9tb3Rpb24uR2V0THVja3lEcmF3UmV3YXJkTGlzdFJlcy5XaW5uZXJJbmZvEkUKCXN0YXRpc3RpYxgCIAMoCzIyLnByb21vdGlvbi5HZXRMdWNreURyYXdSZXdhcmRMaXN0UmVzLlN0YXRpc3RpY0luZm8aXAoJRGF0YUVudHJ5EgsKA2tleRgBIAEoCRI+CgV2YWx1ZRgCIAEoCzIvLnByb21vdGlvbi5HZXRMdWNreURyYXdSZXdhcmRMaXN0UmVzLkRhdGVSZXdhcmQ6AjgBYgZwcm90bzM\", [file_common_Common]);\n\n/**\n * @generated from message promotion.GetLuckyDrawRewardListReq\n */\nexport type GetLuckyDrawRewardListReq = Message<\"promotion.GetLuckyDrawRewardListReq\"> & {\n /**\n * @generated from field: optional string tier = 1;\n */\n tier?: string;\n\n /**\n * @generated from field: optional string start_time = 2;\n */\n startTime?: string;\n};\n\n/**\n * Describes the message promotion.GetLuckyDrawRewardListReq.\n * Use `create(GetLuckyDrawRewardListReqSchema)` to create a new message.\n */\nexport const GetLuckyDrawRewardListReqSchema: GenMessage<GetLuckyDrawRewardListReq> = /*@__PURE__*/\n messageDesc(file_promotion_GetLuckyDrawRewardList, 0);\n\n/**\n * @generated from message promotion.GetLuckyDrawRewardListRes\n */\nexport type GetLuckyDrawRewardListRes = Message<\"promotion.GetLuckyDrawRewardListRes\"> & {\n /**\n * @generated from field: common.BaseResponse base_response = 1;\n */\n baseResponse?: BaseResponse;\n\n /**\n * @generated from field: map<string, promotion.GetLuckyDrawRewardListRes.DateReward> data = 2;\n */\n data: { [key: string]: GetLuckyDrawRewardListRes_DateReward };\n};\n\n/**\n * Describes the message promotion.GetLuckyDrawRewardListRes.\n * Use `create(GetLuckyDrawRewardListResSchema)` to create a new message.\n */\nexport const GetLuckyDrawRewardListResSchema: GenMessage<GetLuckyDrawRewardListRes> = /*@__PURE__*/\n messageDesc(file_promotion_GetLuckyDrawRewardList, 1);\n\n/**\n * @generated from message promotion.GetLuckyDrawRewardListRes.WinnerInfo\n */\nexport type GetLuckyDrawRewardListRes_WinnerInfo = Message<\"promotion.GetLuckyDrawRewardListRes.WinnerInfo\"> & {\n /**\n * @generated from field: int32 prize_value = 1;\n */\n prizeValue: number;\n\n /**\n * @generated from field: string player_id = 2;\n */\n playerId: string;\n\n /**\n * @generated from field: string last_name = 3;\n */\n lastName: string;\n\n /**\n * @generated from field: string first_name = 4;\n */\n firstName: string;\n\n /**\n * @generated from field: string prize_tier = 5;\n */\n prizeTier: string;\n};\n\n/**\n * Describes the message promotion.GetLuckyDrawRewardListRes.WinnerInfo.\n * Use `create(GetLuckyDrawRewardListRes_WinnerInfoSchema)` to create a new message.\n */\nexport const GetLuckyDrawRewardListRes_WinnerInfoSchema: GenMessage<GetLuckyDrawRewardListRes_WinnerInfo> = /*@__PURE__*/\n messageDesc(file_promotion_GetLuckyDrawRewardList, 1, 0);\n\n/**\n * @generated from message promotion.GetLuckyDrawRewardListRes.StatisticInfo\n */\nexport type GetLuckyDrawRewardListRes_StatisticInfo = Message<\"promotion.GetLuckyDrawRewardListRes.StatisticInfo\"> & {\n /**\n * @generated from field: int32 total = 1;\n */\n total: number;\n\n /**\n * @generated from field: int32 prize_value = 2;\n */\n prizeValue: number;\n\n /**\n * @generated from field: string tier = 3;\n */\n tier: string;\n\n /**\n * @generated from field: string prize_tier = 4;\n */\n prizeTier: string;\n};\n\n/**\n * Describes the message promotion.GetLuckyDrawRewardListRes.StatisticInfo.\n * Use `create(GetLuckyDrawRewardListRes_StatisticInfoSchema)` to create a new message.\n */\nexport const GetLuckyDrawRewardListRes_StatisticInfoSchema: GenMessage<GetLuckyDrawRewardListRes_StatisticInfo> = /*@__PURE__*/\n messageDesc(file_promotion_GetLuckyDrawRewardList, 1, 1);\n\n/**\n * @generated from message promotion.GetLuckyDrawRewardListRes.DateReward\n */\nexport type GetLuckyDrawRewardListRes_DateReward = Message<\"promotion.GetLuckyDrawRewardListRes.DateReward\"> & {\n /**\n * @generated from field: repeated promotion.GetLuckyDrawRewardListRes.WinnerInfo winner_list = 1;\n */\n winnerList: GetLuckyDrawRewardListRes_WinnerInfo[];\n\n /**\n * @generated from field: repeated promotion.GetLuckyDrawRewardListRes.StatisticInfo statistic = 2;\n */\n statistic: GetLuckyDrawRewardListRes_StatisticInfo[];\n};\n\n/**\n * Describes the message promotion.GetLuckyDrawRewardListRes.DateReward.\n * Use `create(GetLuckyDrawRewardListRes_DateRewardSchema)` to create a new message.\n */\nexport const GetLuckyDrawRewardListRes_DateRewardSchema: GenMessage<GetLuckyDrawRewardListRes_DateReward> = /*@__PURE__*/\n messageDesc(file_promotion_GetLuckyDrawRewardList, 1, 2);\n\n","// @generated by protoc-gen-es v2.10.2 with parameter \"target=ts\"\n// @generated from file promotion/GetPlayerTicketList.proto (package promotion, syntax proto3)\n/* eslint-disable */\n\nimport type { GenFile, GenMessage } from \"@bufbuild/protobuf/codegenv2\";\nimport { fileDesc, messageDesc } from \"@bufbuild/protobuf/codegenv2\";\nimport type { BaseResponse } from \"../common/Common_pb\";\nimport { file_common_Common } from \"../common/Common_pb\";\nimport type { Message } from \"@bufbuild/protobuf\";\n\n/**\n * Describes the file promotion/GetPlayerTicketList.proto.\n */\nexport const file_promotion_GetPlayerTicketList: GenFile = /*@__PURE__*/\n fileDesc(\"CiNwcm9tb3Rpb24vR2V0UGxheWVyVGlja2V0TGlzdC5wcm90bxIJcHJvbW90aW9uIrwDChZHZXRQbGF5ZXJUaWNrZXRMaXN0UmVzEisKDWJhc2VfcmVzcG9uc2UYASABKAsyFC5jb21tb24uQmFzZVJlc3BvbnNlEjQKBGRhdGEYAiABKAsyJi5wcm9tb3Rpb24uR2V0UGxheWVyVGlja2V0TGlzdFJlcy5EYXRhGrkBCgZUaWNrZXQSEgoKY3JlYXRlZF9hdBgBIAEoCRIQCgh2YWxpZF9hdBgCIAEoCRITCgt0aWNrZXRfdHlwZRgDIAEoCRIOCgZzdGF0dXMYBCABKAkSGAoLcHJpemVfdmFsdWUYBSABKAVIAIgBARISCgpleHBpcmVkX2F0GAYgASgJEhIKCndpbm5pbmdfYXQYByABKAkSEgoKcHJpemVfdGllchgIIAEoCUIOCgxfcHJpemVfdmFsdWUaggEKBERhdGESPQoLaW5fcHJvZ3Jlc3MYASADKAsyKC5wcm9tb3Rpb24uR2V0UGxheWVyVGlja2V0TGlzdFJlcy5UaWNrZXQSOwoJY29tcGxldGVkGAIgAygLMigucHJvbW90aW9uLkdldFBsYXllclRpY2tldExpc3RSZXMuVGlja2V0YgZwcm90bzM\", [file_common_Common]);\n\n/**\n * @generated from message promotion.GetPlayerTicketListRes\n */\nexport type GetPlayerTicketListRes = Message<\"promotion.GetPlayerTicketListRes\"> & {\n /**\n * @generated from field: common.BaseResponse base_response = 1;\n */\n baseResponse?: BaseResponse;\n\n /**\n * @generated from field: promotion.GetPlayerTicketListRes.Data data = 2;\n */\n data?: GetPlayerTicketListRes_Data;\n};\n\n/**\n * Describes the message promotion.GetPlayerTicketListRes.\n * Use `create(GetPlayerTicketListResSchema)` to create a new message.\n */\nexport const GetPlayerTicketListResSchema: GenMessage<GetPlayerTicketListRes> = /*@__PURE__*/\n messageDesc(file_promotion_GetPlayerTicketList, 0);\n\n/**\n * @generated from message promotion.GetPlayerTicketListRes.Ticket\n */\nexport type GetPlayerTicketListRes_Ticket = Message<\"promotion.GetPlayerTicketListRes.Ticket\"> & {\n /**\n * @generated from field: string created_at = 1;\n */\n createdAt: string;\n\n /**\n * @generated from field: string valid_at = 2;\n */\n validAt: string;\n\n /**\n * @generated from field: string ticket_type = 3;\n */\n ticketType: string;\n\n /**\n * @generated from field: string status = 4;\n */\n status: string;\n\n /**\n * @generated from field: optional int32 prize_value = 5;\n */\n prizeValue?: number;\n\n /**\n * @generated from field: string expired_at = 6;\n */\n expiredAt: string;\n\n /**\n * @generated from field: string winning_at = 7;\n */\n winningAt: string;\n\n /**\n * @generated from field: string prize_tier = 8;\n */\n prizeTier: string;\n};\n\n/**\n * Describes the message promotion.GetPlayerTicketListRes.Ticket.\n * Use `create(GetPlayerTicketListRes_TicketSchema)` to create a new message.\n */\nexport const GetPlayerTicketListRes_TicketSchema: GenMessage<GetPlayerTicketListRes_Ticket> = /*@__PURE__*/\n messageDesc(file_promotion_GetPlayerTicketList, 0, 0);\n\n/**\n * @generated from message promotion.GetPlayerTicketListRes.Data\n */\nexport type GetPlayerTicketListRes_Data = Message<\"promotion.GetPlayerTicketListRes.Data\"> & {\n /**\n * @generated from field: repeated promotion.GetPlayerTicketListRes.Ticket in_progress = 1;\n */\n inProgress: GetPlayerTicketListRes_Ticket[];\n\n /**\n * @generated from field: repeated promotion.GetPlayerTicketListRes.Ticket completed = 2;\n */\n completed: GetPlayerTicketListRes_Ticket[];\n};\n\n/**\n * Describes the message promotion.GetPlayerTicketListRes.Data.\n * Use `create(GetPlayerTicketListRes_DataSchema)` to create a new message.\n */\nexport const GetPlayerTicketListRes_DataSchema: GenMessage<GetPlayerTicketListRes_Data> = /*@__PURE__*/\n messageDesc(file_promotion_GetPlayerTicketList, 0, 1);\n\n","// @generated by protoc-gen-es v2.10.2 with parameter \"target=ts\"\n// @generated from file promotion/GetPlayerInRiskList.proto (package promotion, syntax proto3)\n/* eslint-disable */\n\nimport type { GenFile, GenMessage } from \"@bufbuild/protobuf/codegenv2\";\nimport { fileDesc, messageDesc } from \"@bufbuild/protobuf/codegenv2\";\nimport type { BaseResponse } from \"../common/Common_pb\";\nimport { file_common_Common } from \"../common/Common_pb\";\nimport type { Message } from \"@bufbuild/protobuf\";\n\n/**\n * Describes the file promotion/GetPlayerInRiskList.proto.\n */\nexport const file_promotion_GetPlayerInRiskList: GenFile = /*@__PURE__*/\n fileDesc(\"CiNwcm9tb3Rpb24vR2V0UGxheWVySW5SaXNrTGlzdC5wcm90bxIJcHJvbW90aW9uIpcBChZHZXRQbGF5ZXJJblJpc2tMaXN0UmVzEisKDWJhc2VfcmVzcG9uc2UYASABKAsyFC5jb21tb24uQmFzZVJlc3BvbnNlEjQKBGRhdGEYAiABKAsyJi5wcm9tb3Rpb24uR2V0UGxheWVySW5SaXNrTGlzdFJlcy5EYXRhGhoKBERhdGESEgoKaXNfaW5fcmlzaxgBIAEoCGIGcHJvdG8z\", [file_common_Common]);\n\n/**\n * @generated from message promotion.GetPlayerInRiskListRes\n */\nexport type GetPlayerInRiskListRes = Message<\"promotion.GetPlayerInRiskListRes\"> & {\n /**\n * @generated from field: common.BaseResponse base_response = 1;\n */\n baseResponse?: BaseResponse;\n\n /**\n * @generated from field: promotion.GetPlayerInRiskListRes.Data data = 2;\n */\n data?: GetPlayerInRiskListRes_Data;\n};\n\n/**\n * Describes the message promotion.GetPlayerInRiskListRes.\n * Use `create(GetPlayerInRiskListResSchema)` to create a new message.\n */\nexport const GetPlayerInRiskListResSchema: GenMessage<GetPlayerInRiskListRes> = /*@__PURE__*/\n messageDesc(file_promotion_GetPlayerInRiskList, 0);\n\n/**\n * @generated from message promotion.GetPlayerInRiskListRes.Data\n */\nexport type GetPlayerInRiskListRes_Data = Message<\"promotion.GetPlayerInRiskListRes.Data\"> & {\n /**\n * @generated from field: bool is_in_risk = 1;\n */\n isInRisk: boolean;\n};\n\n/**\n * Describes the message promotion.GetPlayerInRiskListRes.Data.\n * Use `create(GetPlayerInRiskListRes_DataSchema)` to create a new message.\n */\nexport const GetPlayerInRiskListRes_DataSchema: GenMessage<GetPlayerInRiskListRes_Data> = /*@__PURE__*/\n messageDesc(file_promotion_GetPlayerInRiskList, 0, 0);\n\n","// @generated by protoc-gen-es v2.10.2 with parameter \"target=ts\"\n// @generated from file promotion/FrontendPromotionService.proto (package promotion, syntax proto3)\n/* eslint-disable */\n\nimport type { GenFile, GenService } from \"@bufbuild/protobuf/codegenv2\";\nimport { fileDesc, serviceDesc } from \"@bufbuild/protobuf/codegenv2\";\nimport type { ClaimCampaignPromoCodeReqSchema, ClaimCampaignPromoCodeResSchema } from \"./ClaimCampaignPromoCode_pb\";\nimport { file_promotion_ClaimCampaignPromoCode } from \"./ClaimCampaignPromoCode_pb\";\nimport type { HasReceiveEventCampaignRewardReqSchema, HasReceiveEventCampaignRewardResSchema } from \"./HasReceiveEventCampaignReward_pb\";\nimport { file_promotion_HasReceiveEventCampaignReward } from \"./HasReceiveEventCampaignReward_pb\";\n\n/**\n * Describes the file promotion/FrontendPromotionService.proto.\n */\nexport const file_promotion_FrontendPromotionService: GenFile = /*@__PURE__*/\n fileDesc(\"Cihwcm9tb3Rpb24vRnJvbnRlbmRQcm9tb3Rpb25TZXJ2aWNlLnByb3RvEglwcm9tb3Rpb24y/wEKGEZyb250ZW5kUHJvbW90aW9uU2VydmljZRJmChZDbGFpbUNhbXBhaWduUHJvbW9Db2RlEiQucHJvbW90aW9uLkNsYWltQ2FtcGFpZ25Qcm9tb0NvZGVSZXEaJC5wcm9tb3Rpb24uQ2xhaW1DYW1wYWlnblByb21vQ29kZVJlcyIAEnsKHUhhc1JlY2VpdmVFdmVudENhbXBhaWduUmV3YXJkEisucHJvbW90aW9uLkhhc1JlY2VpdmVFdmVudENhbXBhaWduUmV3YXJkUmVxGisucHJvbW90aW9uLkhhc1JlY2VpdmVFdmVudENhbXBhaWduUmV3YXJkUmVzIgBiBnByb3RvMw\", [file_promotion_ClaimCampaignPromoCode, file_promotion_HasReceiveEventCampaignReward]);\n\n/**\n * @generated from service promotion.FrontendPromotionService\n */\nexport const FrontendPromotionService: GenService<{\n /**\n * @generated from rpc promotion.FrontendPromotionService.ClaimCampaignPromoCode\n */\n claimCampaignPromoCode: {\n methodKind: \"unary\";\n input: typeof ClaimCampaignPromoCodeReqSchema;\n output: typeof ClaimCampaignPromoCodeResSchema;\n },\n /**\n * @generated from rpc promotion.FrontendPromotionService.HasReceiveEventCampaignReward\n */\n hasReceiveEventCampaignReward: {\n methodKind: \"unary\";\n input: typeof HasReceiveEventCampaignRewardReqSchema;\n output: typeof HasReceiveEventCampaignRewardResSchema;\n },\n}> = /*@__PURE__*/\n serviceDesc(file_promotion_FrontendPromotionService, 0);\n\n","// @generated by protoc-gen-es v2.10.2 with parameter \"target=ts\"\n// @generated from file promotion/ClaimCampaignPromoCode.proto (package promotion, syntax proto3)\n/* eslint-disable */\n\nimport type { GenFile, GenMessage } from \"@bufbuild/protobuf/codegenv2\";\nimport { fileDesc, messageDesc } from \"@bufbuild/protobuf/codegenv2\";\nimport type { BaseResponse } from \"../common/Common_pb\";\nimport { file_common_Common } from \"../common/Common_pb\";\nimport type { DeviceType } from \"./PromotionCommon_pb\";\nimport { file_promotion_PromotionCommon } from \"./PromotionCommon_pb\";\nimport type { Message } from \"@bufbuild/protobuf\";\n\n/**\n * Describes the file promotion/ClaimCampaignPromoCode.proto.\n */\nexport const file_promotion_ClaimCampaignPromoCode: GenFile = /*@__PURE__*/\n fileDesc(\"CiZwcm9tb3Rpb24vQ2xhaW1DYW1wYWlnblByb21vQ29kZS5wcm90bxIJcHJvbW90aW9uIlkKGUNsYWltQ2FtcGFpZ25Qcm9tb0NvZGVSZXESKgoLZGV2aWNlX3R5cGUYASABKA4yFS5wcm9tb3Rpb24uRGV2aWNlVHlwZRIQCghldmVudF9pZBgCIAEoCSLGAQoZQ2xhaW1DYW1wYWlnblByb21vQ29kZVJlcxIrCg1iYXNlX3Jlc3BvbnNlGAEgASgLMhQuY29tbW9uLkJhc2VSZXNwb25zZRI3CgRkYXRhGAIgASgLMikucHJvbW90aW9uLkNsYWltQ2FtcGFpZ25Qcm9tb0NvZGVSZXMuRGF0YRpDCgREYXRhEhUKDXJld2FyZF9hbW91bnQYASABKAESDwoHbWVzc2FnZRgCIAEoCRITCgtwcm9wb3NhbF9pZBgDIAEoCWIGcHJvdG8z\", [file_common_Common, file_promotion_PromotionCommon]);\n\n/**\n * @generated from message promotion.ClaimCampaignPromoCodeReq\n */\nexport type ClaimCampaignPromoCodeReq = Message<\"promotion.ClaimCampaignPromoCodeReq\"> & {\n /**\n * @generated from field: promotion.DeviceType device_type = 1;\n */\n deviceType: DeviceType;\n\n /**\n * @generated from field: string event_id = 2;\n */\n eventId: string;\n};\n\n/**\n * Describes the message promotion.ClaimCampaignPromoCodeReq.\n * Use `create(ClaimCampaignPromoCodeReqSchema)` to create a new message.\n */\nexport const ClaimCampaignPromoCodeReqSchema: GenMessage<ClaimCampaignPromoCodeReq> = /*@__PURE__*/\n messageDesc(file_promotion_ClaimCampaignPromoCode, 0);\n\n/**\n * @generated from message promotion.ClaimCampaignPromoCodeRes\n */\nexport type ClaimCampaignPromoCodeRes = Message<\"promotion.ClaimCampaignPromoCodeRes\"> & {\n /**\n * @generated from field: common.BaseResponse base_response = 1;\n */\n baseResponse?: BaseResponse;\n\n /**\n * @generated from field: promotion.ClaimCampaignPromoCodeRes.Data data = 2;\n */\n data?: ClaimCampaignPromoCodeRes_Data;\n};\n\n/**\n * Describes the message promotion.ClaimCampaignPromoCodeRes.\n * Use `create(ClaimCampaignPromoCodeResSchema)` to create a new message.\n */\nexport const ClaimCampaignPromoCodeResSchema: GenMessage<ClaimCampaignPromoCodeRes> = /*@__PURE__*/\n messageDesc(file_promotion_ClaimCampaignPromoCode, 1);\n\n/**\n * @generated from message promotion.ClaimCampaignPromoCodeRes.Data\n */\nexport type ClaimCampaignPromoCodeRes_Data = Message<\"promotion.ClaimCampaignPromoCodeRes.Data\"> & {\n /**\n * @generated from field: double reward_amount = 1;\n */\n rewardAmount: number;\n\n /**\n * @generated from field: string message = 2;\n */\n message: string;\n\n /**\n * @generated from field: string proposal_id = 3;\n */\n proposalId: string;\n};\n\n/**\n * Describes the message promotion.ClaimCampaignPromoCodeRes.Data.\n * Use `create(ClaimCampaignPromoCodeRes_DataSchema)` to create a new message.\n */\nexport const ClaimCampaignPromoCodeRes_DataSchema: GenMessage<ClaimCampaignPromoCodeRes_Data> = /*@__PURE__*/\n messageDesc(file_promotion_ClaimCampaignPromoCode, 1, 0);\n\n","// @generated by protoc-gen-es v2.10.2 with parameter \"target=ts\"\n// @generated from file promotion/HasReceiveEventCampaignReward.proto (package promotion, syntax proto3)\n/* eslint-disable */\n\nimport type { GenFile, GenMessage } from \"@bufbuild/protobuf/codegenv2\";\nimport { fileDesc, messageDesc } from \"@bufbuild/protobuf/codegenv2\";\nimport type { BaseResponse } from \"../common/Common_pb\";\nimport { file_common_Common } from \"../common/Common_pb\";\nimport type { CampaignEventStatus, DeviceType } from \"./PromotionCommon_pb\";\nimport { file_promotion_PromotionCommon } from \"./PromotionCommon_pb\";\nimport type { Message } from \"@bufbuild/protobuf\";\n\n/**\n * Describes the file promotion/HasReceiveEventCampaignReward.proto.\n */\nexport const file_promotion_HasReceiveEventCampaignReward: GenFile = /*@__PURE__*/\n fileDesc(\"Ci1wcm9tb3Rpb24vSGFzUmVjZWl2ZUV2ZW50Q2FtcGFpZ25SZXdhcmQucHJvdG8SCXByb21vdGlvbiJgCiBIYXNSZWNlaXZlRXZlbnRDYW1wYWlnblJld2FyZFJlcRIQCghldmVudF9pZBgBIAEoCRIqCgtkZXZpY2VfdHlwZRgCIAEoDjIVLnByb21vdGlvbi5EZXZpY2VUeXBlIt4BCiBIYXNSZWNlaXZlRXZlbnRDYW1wYWlnblJld2FyZFJlcxIrCg1iYXNlX3Jlc3BvbnNlGAEgASgLMhQuY29tbW9uLkJhc2VSZXNwb25zZRI+CgRkYXRhGAIgASgLMjAucHJvbW90aW9uLkhhc1JlY2VpdmVFdmVudENhbXBhaWduUmV3YXJkUmVzLkRhdGEaTQoERGF0YRIuCgZzdGF0dXMYASABKA4yHi5wcm9tb3Rpb24uQ2FtcGFpZ25FdmVudFN0YXR1cxIVCg1yZXdhcmRfYW1vdW50GAIgASgFYgZwcm90bzM\", [file_common_Common, file_promotion_PromotionCommon]);\n\n/**\n * @generated from message promotion.HasReceiveEventCampaignRewardReq\n */\nexport type HasReceiveEventCampaignRewardReq = Message<\"promotion.HasReceiveEventCampaignRewardReq\"> & {\n /**\n * @generated from field: string event_id = 1;\n */\n eventId: string;\n\n /**\n * @generated from field: promotion.DeviceType device_type = 2;\n */\n deviceType: DeviceType;\n};\n\n/**\n * Describes the message promotion.HasReceiveEventCampaignRewardReq.\n * Use `create(HasReceiveEventCampaignRewardReqSchema)` to create a new message.\n */\nexport const HasReceiveEventCampaignRewardReqSchema: GenMessage<HasReceiveEventCampaignRewardReq> = /*@__PURE__*/\n messageDesc(file_promotion_HasReceiveEventCampaignReward, 0);\n\n/**\n * @generated from message promotion.HasReceiveEventCampaignRewardRes\n */\nexport type HasReceiveEventCampaignRewardRes = Message<\"promotion.HasReceiveEventCampaignRewardRes\"> & {\n /**\n * @generated from field: common.BaseResponse base_response = 1;\n */\n baseResponse?: BaseResponse;\n\n /**\n * @generated from field: promotion.HasReceiveEventCampaignRewardRes.Data data = 2;\n */\n data?: HasReceiveEventCampaignRewardRes_Data;\n};\n\n/**\n * Describes the message promotion.HasReceiveEventCampaignRewardRes.\n * Use `create(HasReceiveEventCampaignRewardResSchema)` to create a new message.\n */\nexport const HasReceiveEventCampaignRewardResSchema: GenMessage<HasReceiveEventCampaignRewardRes> = /*@__PURE__*/\n messageDesc(file_promotion_HasReceiveEventCampaignReward, 1);\n\n/**\n * @generated from message promotion.HasReceiveEventCampaignRewardRes.Data\n */\nexport type HasReceiveEventCampaignRewardRes_Data = Message<\"promotion.HasReceiveEventCampaignRewardRes.Data\"> & {\n /**\n * @generated from field: promotion.CampaignEventStatus status = 1;\n */\n status: CampaignEventStatus;\n\n /**\n * @generated from field: int32 reward_amount = 2;\n */\n rewardAmount: number;\n};\n\n/**\n * Describes the message promotion.HasReceiveEventCampaignRewardRes.Data.\n * Use `create(HasReceiveEventCampaignRewardRes_DataSchema)` to create a new message.\n */\nexport const HasReceiveEventCampaignRewardRes_DataSchema: GenMessage<HasReceiveEventCampaignRewardRes_Data> = /*@__PURE__*/\n messageDesc(file_promotion_HasReceiveEventCampaignReward, 1, 0);\n\n","// @generated by protoc-gen-es v2.10.2 with parameter \"target=ts\"\n// @generated from file promotion/FrontendService.proto (package promotion, syntax proto3)\n/* eslint-disable */\n\nimport type { GenFile, GenService } from \"@bufbuild/protobuf/codegenv2\";\nimport { fileDesc, serviceDesc } from \"@bufbuild/protobuf/codegenv2\";\nimport type { GetPlayerFreeSpinInfoReqSchema, GetPlayerFreeSpinInfoResSchema } from \"./GetPlayerFreeSpinInfo_pb\";\nimport { file_promotion_GetPlayerFreeSpinInfo } from \"./GetPlayerFreeSpinInfo_pb\";\nimport type { GetFreeSpinHistoryReqSchema, GetFreeSpinHistoryResSchema } from \"./GetFreeSpinHistory_pb\";\nimport { file_promotion_GetFreeSpinHistory } from \"./GetFreeSpinHistory_pb\";\n\n/**\n * Describes the file promotion/FrontendService.proto.\n */\nexport const file_promotion_FrontendService: GenFile = /*@__PURE__*/\n fileDesc(\"Ch9wcm9tb3Rpb24vRnJvbnRlbmRTZXJ2aWNlLnByb3RvEglwcm9tb3Rpb24y0gEKD0Zyb250ZW5kU2VydmljZRJjChVHZXRQbGF5ZXJGcmVlU3BpbkluZm8SIy5wcm9tb3Rpb24uR2V0UGxheWVyRnJlZVNwaW5JbmZvUmVxGiMucHJvbW90aW9uLkdldFBsYXllckZyZWVTcGluSW5mb1JlcyIAEloKEkdldEZyZWVTcGluSGlzdG9yeRIgLnByb21vdGlvbi5HZXRGcmVlU3Bpbkhpc3RvcnlSZXEaIC5wcm9tb3Rpb24uR2V0RnJlZVNwaW5IaXN0b3J5UmVzIgBiBnByb3RvMw\", [file_promotion_GetPlayerFreeSpinInfo, file_promotion_GetFreeSpinHistory]);\n\n/**\n * @generated from service promotion.FrontendService\n */\nexport const FrontendService: GenService<{\n /**\n * @generated from rpc promotion.FrontendService.GetPlayerFreeSpinInfo\n */\n getPlayerFreeSpinInfo: {\n methodKind: \"unary\";\n input: typeof GetPlayerFreeSpinInfoReqSchema;\n output: typeof GetPlayerFreeSpinInfoResSchema;\n },\n /**\n * @generated from rpc promotion.FrontendService.GetFreeSpinHistory\n */\n getFreeSpinHistory: {\n methodKind: \"unary\";\n input: typeof GetFreeSpinHistoryReqSchema;\n output: typeof GetFreeSpinHistoryResSchema;\n },\n}> = /*@__PURE__*/\n serviceDesc(file_promotion_FrontendService, 0);\n\n","// @generated by protoc-gen-es v2.10.2 with parameter \"target=ts\"\n// @generated from file promotion/GetPlayerFreeSpinInfo.proto (package promotion, syntax proto3)\n/* eslint-disable */\n\nimport type { GenFile, GenMessage } from \"@bufbuild/protobuf/codegenv2\";\nimport { fileDesc, messageDesc } from \"@bufbuild/protobuf/codegenv2\";\nimport type { BaseResponse } from \"../common/Common_pb\";\nimport { file_common_Common } from \"../common/Common_pb\";\nimport type { Message } from \"@bufbuild/protobuf\";\n\n/**\n * Describes the file promotion/GetPlayerFreeSpinInfo.proto.\n */\nexport const file_promotion_GetPlayerFreeSpinInfo: GenFile = /*@__PURE__*/\n fileDesc(\"CiVwcm9tb3Rpb24vR2V0UGxheWVyRnJlZVNwaW5JbmZvLnByb3RvEglwcm9tb3Rpb24iXAoYR2V0UGxheWVyRnJlZVNwaW5JbmZvUmVxEiQKF2ZyZWVfc3Bpbl9zZXNzaW9uX3Rva2VuGAEgASgJSACIAQFCGgoYX2ZyZWVfc3Bpbl9zZXNzaW9uX3Rva2VuItcBChhHZXRQbGF5ZXJGcmVlU3BpbkluZm9SZXMSKwoNYmFzZV9yZXNwb25zZRgBIAEoCzIULmNvbW1vbi5CYXNlUmVzcG9uc2USNgoEZGF0YRgCIAEoCzIoLnByb21vdGlvbi5HZXRQbGF5ZXJGcmVlU3BpbkluZm9SZXMuRGF0YRpWCgREYXRhEhkKEWZyZWVfc3Bpbl9jbGFpbWVkGAEgAygJEhgKEHZlcmlmeV9mcmVlX3NwaW4YAiABKAgSGQoRb25nb2luZ19ldmVudF9pZHMYAyADKAliBnByb3RvMw\", [file_common_Common]);\n\n/**\n * @generated from message promotion.GetPlayerFreeSpinInfoReq\n */\nexport type GetPlayerFreeSpinInfoReq = Message<\"promotion.GetPlayerFreeSpinInfoReq\"> & {\n /**\n * @generated from field: optional string free_spin_session_token = 1;\n */\n freeSpinSessionToken?: string;\n};\n\n/**\n * Describes the message promotion.GetPlayerFreeSpinInfoReq.\n * Use `create(GetPlayerFreeSpinInfoReqSchema)` to create a new message.\n */\nexport const GetPlayerFreeSpinInfoReqSchema: GenMessage<GetPlayerFreeSpinInfoReq> = /*@__PURE__*/\n messageDesc(file_promotion_GetPlayerFreeSpinInfo, 0);\n\n/**\n * @generated from message promotion.GetPlayerFreeSpinInfoRes\n */\nexport type GetPlayerFreeSpinInfoRes = Message<\"promotion.GetPlayerFreeSpinInfoRes\"> & {\n /**\n * @generated from field: common.BaseResponse base_response = 1;\n */\n baseResponse?: BaseResponse;\n\n /**\n * @generated from field: promotion.GetPlayerFreeSpinInfoRes.Data data = 2;\n */\n data?: GetPlayerFreeSpinInfoRes_Data;\n};\n\n/**\n * Describes the message promotion.GetPlayerFreeSpinInfoRes.\n * Use `create(GetPlayerFreeSpinInfoResSchema)` to create a new message.\n */\nexport const GetPlayerFreeSpinInfoResSchema: GenMessage<GetPlayerFreeSpinInfoRes> = /*@__PURE__*/\n messageDesc(file_promotion_GetPlayerFreeSpinInfo, 1);\n\n/**\n * @generated from message promotion.GetPlayerFreeSpinInfoRes.Data\n */\nexport type GetPlayerFreeSpinInfoRes_Data = Message<\"promotion.GetPlayerFreeSpinInfoRes.Data\"> & {\n /**\n * @generated from field: repeated string free_spin_claimed = 1;\n */\n freeSpinClaimed: string[];\n\n /**\n * @generated from field: bool verify_free_spin = 2;\n */\n verifyFreeSpin: boolean;\n\n /**\n * @generated from field: repeated string ongoing_event_ids = 3;\n */\n ongoingEventIds: string[];\n};\n\n/**\n * Describes the message promotion.GetPlayerFreeSpinInfoRes.Data.\n * Use `create(GetPlayerFreeSpinInfoRes_DataSchema)` to create a new message.\n */\nexport const GetPlayerFreeSpinInfoRes_DataSchema: GenMessage<GetPlayerFreeSpinInfoRes_Data> = /*@__PURE__*/\n messageDesc(file_promotion_GetPlayerFreeSpinInfo, 1, 0);\n\n","// @generated by protoc-gen-es v2.10.2 with parameter \"target=ts\"\n// @generated from file promotion/GetFreeSpinHistory.proto (package promotion, syntax proto3)\n/* eslint-disable */\n\nimport type { GenFile, GenMessage } from \"@bufbuild/protobuf/codegenv2\";\nimport { fileDesc, messageDesc } from \"@bufbuild/protobuf/codegenv2\";\nimport type { BaseResponse } from \"../common/Common_pb\";\nimport { file_common_Common } from \"../common/Common_pb\";\nimport type { HistoryReqType } from \"./PromotionCommon_pb\";\nimport { file_promotion_PromotionCommon } from \"./PromotionCommon_pb\";\nimport type { Message } from \"@bufbuild/protobuf\";\n\n/**\n * Describes the file promotion/GetFreeSpinHistory.proto.\n */\nexport const file_promotion_GetFreeSpinHistory: GenFile = /*@__PURE__*/\n fileDesc(\"CiJwcm9tb3Rpb24vR2V0RnJlZVNwaW5IaXN0b3J5LnByb3RvEglwcm9tb3Rpb24iQAoVR2V0RnJlZVNwaW5IaXN0b3J5UmVxEicKBHR5cGUYASABKA4yGS5wcm9tb3Rpb24uSGlzdG9yeVJlcVR5cGUingIKFUZyZWVTcGluSGlzdG9yeVJlY29yZBITCgtwcm92aWRlcl9pZBgBIAEoCRITCgtwbGF0Zm9ybV9pZBgCIAEoCRITCgtjYW1wYWlnbl9pZBgDIAEoCRITCgt0b3RhbF9yb3VuZBgEIAEoBRISCgp1c2VkX3JvdW5kGAUgASgFEhQKDHVudXNlZF9yb3VuZBgGIAEoBRIUCgxleHBpcmVkX3RpbWUYByABKAkSDgoGc3RhdHVzGAggASgJEg8KB2dhbWVfaWQYCSABKAkSFgoOZ2FtZV9pbWFnZV91cmwYCiABKAkSEQoJZ2FtZV9uYW1lGAsgASgJEhEKCWJldF92YWx1ZRgMIAEoBRISCgpldmVudF9uYW1lGA0gASgJIt0BChVHZXRGcmVlU3Bpbkhpc3RvcnlSZXMSKwoNYmFzZV9yZXNwb25zZRgBIAEoCzIULmNvbW1vbi5CYXNlUmVzcG9uc2USMwoEZGF0YRgCIAEoCzIlLnByb21vdGlvbi5HZXRGcmVlU3Bpbkhpc3RvcnlSZXMuRGF0YRpiCgREYXRhEjsKEWhpc3RvcnlfZnJlZV9zcGluGAEgAygLMiAucHJvbW90aW9uLkZyZWVTcGluSGlzdG9yeVJlY29yZBIdChV0b3RhbF9mcmVlX3NwaW5fdGltZXMYAiABKAViBnByb3RvMw\", [file_common_Common, file_promotion_PromotionCommon]);\n\n/**\n * @generated from message promotion.GetFreeSpinHistoryReq\n */\nexport type GetFreeSpinHistoryReq = Message<\"promotion.GetFreeSpinHistoryReq\"> & {\n /**\n * @generated from field: promotion.HistoryReqType type = 1;\n */\n type: HistoryReqType;\n};\n\n/**\n * Describes the message promotion.GetFreeSpinHistoryReq.\n * Use `create(GetFreeSpinHistoryReqSchema)` to create a new message.\n */\nexport const GetFreeSpinHistoryReqSchema: GenMessage<GetFreeSpinHistoryReq> = /*@__PURE__*/\n messageDesc(file_promotion_GetFreeSpinHistory, 0);\n\n/**\n * @generated from message promotion.FreeSpinHistoryRecord\n */\nexport type FreeSpinHistoryRecord = Message<\"promotion.FreeSpinHistoryRecord\"> & {\n /**\n * @generated from field: string provider_id = 1;\n */\n providerId: string;\n\n /**\n * @generated from field: string platform_id = 2;\n */\n platformId: string;\n\n /**\n * @generated from field: string campaign_id = 3;\n */\n campaignId: string;\n\n /**\n * @generated from field: int32 total_round = 4;\n */\n totalRound: number;\n\n /**\n * @generated from field: int32 used_round = 5;\n */\n usedRound: number;\n\n /**\n * @generated from field: int32 unused_round = 6;\n */\n unusedRound: number;\n\n /**\n * @generated from field: string expired_time = 7;\n */\n expiredTime: string;\n\n /**\n * @generated from field: string status = 8;\n */\n status: string;\n\n /**\n * @generated from field: string game_id = 9;\n */\n gameId: string;\n\n /**\n * @generated from field: string game_image_url = 10;\n */\n gameImageUrl: string;\n\n /**\n * @generated from field: string game_name = 11;\n */\n gameName: string;\n\n /**\n * @generated from field: int32 bet_value = 12;\n */\n betValue: number;\n\n /**\n * @generated from field: string event_name = 13;\n */\n eventName: string;\n};\n\n/**\n * Describes the message promotion.FreeSpinHistoryRecord.\n * Use `create(FreeSpinHistoryRecordSchema)` to create a new message.\n */\nexport const FreeSpinHistoryRecordSchema: GenMessage<FreeSpinHistoryRecord> = /*@__PURE__*/\n messageDesc(file_promotion_GetFreeSpinHistory, 1);\n\n/**\n * @generated from message promotion.GetFreeSpinHistoryRes\n */\nexport type GetFreeSpinHistoryRes = Message<\"promotion.GetFreeSpinHistoryRes\"> & {\n /**\n * @generated from field: common.BaseResponse base_response = 1;\n */\n baseResponse?: BaseResponse;\n\n /**\n * @generated from field: promotion.GetFreeSpinHistoryRes.Data data = 2;\n */\n data?: GetFreeSpinHistoryRes_Data;\n};\n\n/**\n * Describes the message promotion.GetFreeSpinHistoryRes.\n * Use `create(GetFreeSpinHistoryResSchema)` to create a new message.\n */\nexport const GetFreeSpinHistoryResSchema: GenMessage<GetFreeSpinHistoryRes> = /*@__PURE__*/\n messageDesc(file_promotion_GetFreeSpinHistory, 2);\n\n/**\n * @generated from message promotion.GetFreeSpinHistoryRes.Data\n */\nexport type GetFreeSpinHistoryRes_Data = Message<\"promotion.GetFreeSpinHistoryRes.Data\"> & {\n /**\n * @generated from field: repeated promotion.FreeSpinHistoryRecord history_free_spin = 1;\n */\n historyFreeSpin: FreeSpinHistoryRecord[];\n\n /**\n * @generated from field: int32 total_free_spin_times = 2;\n */\n totalFreeSpinTimes: number;\n};\n\n/**\n * Describes the message promotion.GetFreeSpinHistoryRes.Data.\n * Use `create(GetFreeSpinHistoryRes_DataSchema)` to create a new message.\n */\nexport const GetFreeSpinHistoryRes_DataSchema: GenMessage<GetFreeSpinHistoryRes_Data> = /*@__PURE__*/\n messageDesc(file_promotion_GetFreeSpinHistory, 2, 0);\n\n","// @generated by protoc-gen-es v2.10.2 with parameter \"target=ts\"\n// @generated from file promotion/FrontendSpecialEventService.proto (package promotion, syntax proto3)\n/* eslint-disable */\n\nimport type { GenFile, GenService } from \"@bufbuild/protobuf/codegenv2\";\nimport { fileDesc, serviceDesc } from \"@bufbuild/protobuf/codegenv2\";\nimport type { EmptySchema } from \"../common/Common_pb\";\nimport { file_common_Common } from \"../common/Common_pb\";\nimport type { GetCurrentMissionConfigResSchema } from \"./GetCurrentMissionConfig_pb\";\nimport { file_promotion_GetCurrentMissionConfig } from \"./GetCurrentMissionConfig_pb\";\nimport type { GetPlayerTaskProgressReqSchema, GetPlayerTaskProgressResSchema } from \"./GetPlayerTaskProgress_pb\";\nimport { file_promotion_GetPlayerTaskProgress } from \"./GetPlayerTaskProgress_pb\";\nimport type { ClaimTaskRewardReqSchema, ClaimTaskRewardResSchema } from \"./ClaimTaskReward_pb\";\nimport { file_promotion_ClaimTaskReward } from \"./ClaimTaskReward_pb\";\nimport type { CheckAndCreateMissionReqSchema, CheckAndCreateMissionResSchema } from \"./CheckAndCreateMission_pb\";\nimport { file_promotion_CheckAndCreateMission } from \"./CheckAndCreateMission_pb\";\nimport type { GetCurrentCardEventsResSchema } from \"./GetCurrentCardEvents_pb\";\nimport { file_promotion_GetCurrentCardEvents } from \"./GetCurrentCardEvents_pb\";\nimport type { PlayerReceiveEggReqSchema, PlayerReceiveEggResSchema } from \"./PlayerReceiveEgg_pb\";\nimport { file_promotion_PlayerReceiveEgg } from \"./PlayerReceiveEgg_pb\";\nimport type { GetConsumptionProgressReqSchema, GetConsumptionProgressResSchema } from \"./GetConsumptionProgress_pb\";\nimport { file_promotion_GetConsumptionProgress } from \"./GetConsumptionProgress_pb\";\nimport type { PlayerClaimAllDailyRewardReqSchema, PlayerClaimAllDailyRewardResSchema } from \"./PlayerClaimAllDailyReward_pb\";\nimport { file_promotion_PlayerClaimAllDailyReward } from \"./PlayerClaimAllDailyReward_pb\";\nimport type { ClaimTimedEventRewardReqSchema, ClaimTimedEventRewardResSchema } from \"./ClaimTimedEventReward_pb\";\nimport { file_promotion_ClaimTimedEventReward } from \"./ClaimTimedEventReward_pb\";\nimport type { GetEventRewardHistoryReqSchema, GetEventRewardHistoryResSchema } from \"./GetEventRewardHistory_pb\";\nimport { file_promotion_GetEventRewardHistory } from \"./GetEventRewardHistory_pb\";\nimport type { DailyClaimRewardReqSchema, DailyClaimRewardResSchema } from \"./DailyClaimReward_pb\";\nimport { file_promotion_DailyClaimReward } from \"./DailyClaimReward_pb\";\nimport type { QueryPlayerEggReqSchema, QueryPlayerEggResSchema } from \"./QueryPlayerEgg_pb\";\nimport { file_promotion_QueryPlayerEgg } from \"./QueryPlayerEgg_pb\";\nimport type { UpdateTutorialFlagReqSchema, UpdateTutorialFlagResSchema } from \"./UpdateTutorialFlag_pb\";\nimport { file_promotion_UpdateTutorialFlag } from \"./UpdateTutorialFlag_pb\";\nimport type { ReferralAssistanceReqSchema, ReferralAssistanceResSchema } from \"./ReferralAssistance_pb\";\nimport { file_promotion_ReferralAssistance } from \"./ReferralAssistance_pb\";\nimport type { GetSingleRewardInfoReqSchema, GetSingleRewardInfoResSchema } from \"./GetSingleRewardInfo_pb\";\nimport { file_promotion_GetSingleRewardInfo } from \"./GetSingleRewardInfo_pb\";\nimport type { GetPlayerRedPacketRecordsReqSchema, GetPlayerRedPacketRecordsResSchema } from \"./GetPlayerRedPacketRecords_pb\";\nimport { file_promotion_GetPlayerRedPacketRecords } from \"./GetPlayerRedPacketRecords_pb\";\n\n/**\n * Describes the file promotion/FrontendSpecialEventService.proto.\n */\nexport const file_promotion_FrontendSpecialEventService: GenFile = /*@__PURE__*/\n fileDesc(\"Citwcm9tb3Rpb24vRnJvbnRlbmRTcGVjaWFsRXZlbnRTZXJ2aWNlLnByb3RvEglwcm9tb3Rpb24y4QsKG0Zyb250ZW5kU3BlY2lhbEV2ZW50U2VydmljZRJPChdHZXRDdXJyZW50TWlzc2lvbkNvbmZpZxINLmNvbW1vbi5FbXB0eRolLnByb21vdGlvbi5HZXRDdXJyZW50TWlzc2lvbkNvbmZpZ1JlcxJhChVHZXRQbGF5ZXJUYXNrUHJvZ3Jlc3MSIy5wcm9tb3Rpb24uR2V0UGxheWVyVGFza1Byb2dyZXNzUmVxGiMucHJvbW90aW9uLkdldFBsYXllclRhc2tQcm9ncmVzc1JlcxJPCg9DbGFpbVRhc2tSZXdhcmQSHS5wcm9tb3Rpb24uQ2xhaW1UYXNrUmV3YXJkUmVxGh0ucHJvbW90aW9uLkNsYWltVGFza1Jld2FyZFJlcxJhChVDaGVja0FuZENyZWF0ZU1pc3Npb24SIy5wcm9tb3Rpb24uQ2hlY2tBbmRDcmVhdGVNaXNzaW9uUmVxGiMucHJvbW90aW9uLkNoZWNrQW5kQ3JlYXRlTWlzc2lvblJlcxJJChRHZXRDdXJyZW50Q2FyZEV2ZW50cxINLmNvbW1vbi5FbXB0eRoiLnByb21vdGlvbi5HZXRDdXJyZW50Q2FyZEV2ZW50c1JlcxJSChBQbGF5ZXJSZWNlaXZlRWdnEh4ucHJvbW90aW9uLlBsYXllclJlY2VpdmVFZ2dSZXEaHi5wcm9tb3Rpb24uUGxheWVyUmVjZWl2ZUVnZ1JlcxJkChZHZXRDb25zdW1wdGlvblByb2dyZXNzEiQucHJvbW90aW9uLkdldENvbnN1bXB0aW9uUHJvZ3Jlc3NSZXEaJC5wcm9tb3Rpb24uR2V0Q29uc3VtcHRpb25Qcm9ncmVzc1JlcxJtChlQbGF5ZXJDbGFpbUFsbERhaWx5UmV3YXJkEicucHJvbW90aW9uLlBsYXllckNsYWltQWxsRGFpbHlSZXdhcmRSZXEaJy5wcm9tb3Rpb24uUGxheWVyQ2xhaW1BbGxEYWlseVJld2FyZFJlcxJhChVDbGFpbVRpbWVkRXZlbnRSZXdhcmQSIy5wcm9tb3Rpb24uQ2xhaW1UaW1lZEV2ZW50UmV3YXJkUmVxGiMucHJvbW90aW9uLkNsYWltVGltZWRFdmVudFJld2FyZFJlcxJhChVHZXRFdmVudFJld2FyZEhpc3RvcnkSIy5wcm9tb3Rpb24uR2V0RXZlbnRSZXdhcmRIaXN0b3J5UmVxGiMucHJvbW90aW9uLkdldEV2ZW50UmV3YXJkSGlzdG9yeVJlcxJSChBEYWlseUNsYWltUmV3YXJkEh4ucHJvbW90aW9uLkRhaWx5Q2xhaW1SZXdhcmRSZXEaHi5wcm9tb3Rpb24uRGFpbHlDbGFpbVJld2FyZFJlcxJMCg5RdWVyeVBsYXllckVnZxIcLnByb21vdGlvbi5RdWVyeVBsYXllckVnZ1JlcRocLnByb21vdGlvbi5RdWVyeVBsYXllckVnZ1JlcxJYChJVcGRhdGVUdXRvcmlhbEZsYWcSIC5wcm9tb3Rpb24uVXBkYXRlVHV0b3JpYWxGbGFnUmVxGiAucHJvbW90aW9uLlVwZGF0ZVR1dG9yaWFsRmxhZ1JlcxJYChJSZWZlcnJhbEFzc2lzdGFuY2USIC5wcm9tb3Rpb24uUmVmZXJyYWxBc3Npc3RhbmNlUmVxGiAucHJvbW90aW9uLlJlZmVycmFsQXNzaXN0YW5jZVJlcxJbChNHZXRTaW5nbGVSZXdhcmRJbmZvEiEucHJvbW90aW9uLkdldFNpbmdsZVJld2FyZEluZm9SZXEaIS5wcm9tb3Rpb24uR2V0U2luZ2xlUmV3YXJkSW5mb1JlcxJtChlHZXRQbGF5ZXJSZWRQYWNrZXRSZWNvcmRzEicucHJvbW90aW9uLkdldFBsYXllclJlZFBhY2tldFJlY29yZHNSZXEaJy5wcm9tb3Rpb24uR2V0UGxheWVyUmVkUGFja2V0UmVjb3Jkc1Jlc2IGcHJvdG8z\", [file_common_Common, file_promotion_GetCurrentMissionConfig, file_promotion_GetPlayerTaskProgress, file_promotion_ClaimTaskReward, file_promotion_CheckAndCreateMission, file_promotion_GetCurrentCardEvents, file_promotion_PlayerReceiveEgg, file_promotion_GetConsumptionProgress, file_promotion_PlayerClaimAllDailyReward, file_promotion_ClaimTimedEventReward, file_promotion_GetEventRewardHistory, file_promotion_DailyClaimReward, file_promotion_QueryPlayerEgg, file_promotion_UpdateTutorialFlag, file_promotion_ReferralAssistance, file_promotion_GetSingleRewardInfo, file_promotion_GetPlayerRedPacketRecords]);\n\n/**\n * @generated from service promotion.FrontendSpecialEventService\n */\nexport const FrontendSpecialEventService: GenService<{\n /**\n * @generated from rpc promotion.FrontendSpecialEventService.GetCurrentMissionConfig\n */\n getCurrentMissionConfig: {\n methodKind: \"unary\";\n input: typeof EmptySchema;\n output: typeof GetCurrentMissionConfigResSchema;\n },\n /**\n * @generated from rpc promotion.FrontendSpecialEventService.GetPlayerTaskProgress\n */\n getPlayerTaskProgress: {\n methodKind: \"unary\";\n input: typeof GetPlayerTaskProgressReqSchema;\n output: typeof GetPlayerTaskProgressResSchema;\n },\n /**\n * @generated from rpc promotion.FrontendSpecialEventService.ClaimTaskReward\n */\n claimTaskReward: {\n methodKind: \"unary\";\n input: typeof ClaimTaskRewardReqSchema;\n output: typeof ClaimTaskRewardResSchema;\n },\n /**\n * @generated from rpc promotion.FrontendSpecialEventService.CheckAndCreateMission\n */\n checkAndCreateMission: {\n methodKind: \"unary\";\n input: typeof CheckAndCreateMissionReqSchema;\n output: typeof CheckAndCreateMissionResSchema;\n },\n /**\n * @generated from rpc promotion.FrontendSpecialEventService.GetCurrentCardEvents\n */\n getCurrentCardEvents: {\n methodKind: \"unary\";\n input: typeof EmptySchema;\n output: typeof GetCurrentCardEventsResSchema;\n },\n /**\n * @generated from rpc promotion.FrontendSpecialEventService.PlayerReceiveEgg\n */\n playerReceiveEgg: {\n methodKind: \"unary\";\n input: typeof PlayerReceiveEggReqSchema;\n output: typeof PlayerReceiveEggResSchema;\n },\n /**\n * @generated from rpc promotion.FrontendSpecialEventService.GetConsumptionProgress\n */\n getConsumptionProgress: {\n methodKind: \"unary\";\n input: typeof GetConsumptionProgressReqSchema;\n output: typeof GetConsumptionProgressResSchema;\n },\n /**\n * @generated from rpc promotion.FrontendSpecialEventService.PlayerClaimAllDailyReward\n */\n playerClaimAllDailyReward: {\n methodKind: \"unary\";\n input: typeof PlayerClaimAllDailyRewardReqSchema;\n output: typeof PlayerClaimAllDailyRewardResSchema;\n },\n /**\n * @generated from rpc promotion.FrontendSpecialEventService.ClaimTimedEventReward\n */\n claimTimedEventReward: {\n methodKind: \"unary\";\n input: typeof ClaimTimedEventRewardReqSchema;\n output: typeof ClaimTimedEventRewardResSchema;\n },\n /**\n * @generated from rpc promotion.FrontendSpecialEventService.GetEventRewardHistory\n */\n getEventRewardHistory: {\n methodKind: \"unary\";\n input: typeof GetEventRewardHistoryReqSchema;\n output: typeof GetEventRewardHistoryResSchema;\n },\n /**\n * @generated from rpc promotion.FrontendSpecialEventService.DailyClaimReward\n */\n dailyClaimReward: {\n methodKind: \"unary\";\n input: typeof DailyClaimRewardReqSchema;\n output: typeof DailyClaimRewardResSchema;\n },\n /**\n * @generated from rpc promotion.FrontendSpecialEventService.QueryPlayerEgg\n */\n queryPlayerEgg: {\n methodKind: \"unary\";\n input: typeof QueryPlayerEggReqSchema;\n output: typeof QueryPlayerEggResSchema;\n },\n /**\n * @generated from rpc promotion.FrontendSpecialEventService.UpdateTutorialFlag\n */\n updateTutorialFlag: {\n methodKind: \"unary\";\n input: typeof UpdateTutorialFlagReqSchema;\n output: typeof UpdateTutorialFlagResSchema;\n },\n /**\n * @generated from rpc promotion.FrontendSpecialEventService.ReferralAssistance\n */\n referralAssistance: {\n methodKind: \"unary\";\n input: typeof ReferralAssistanceReqSchema;\n output: typeof ReferralAssistanceResSchema;\n },\n /**\n * @generated from rpc promotion.FrontendSpecialEventService.GetSingleRewardInfo\n */\n getSingleRewardInfo: {\n methodKind: \"unary\";\n input: typeof GetSingleRewardInfoReqSchema;\n output: typeof GetSingleRewardInfoResSchema;\n },\n /**\n * @generated from rpc promotion.FrontendSpecialEventService.GetPlayerRedPacketRecords\n */\n getPlayerRedPacketRecords: {\n methodKind: \"unary\";\n input: typeof GetPlayerRedPacketRecordsReqSchema;\n output: typeof GetPlayerRedPacketRecordsResSchema;\n },\n}> = /*@__PURE__*/\n serviceDesc(file_promotion_FrontendSpecialEventService, 0);\n\n","// @generated by protoc-gen-es v2.10.2 with parameter \"target=ts\"\n// @generated from file promotion/GetCurrentMissionConfig.proto (package promotion, syntax proto3)\n/* eslint-disable */\n\nimport type { GenFile, GenMessage } from \"@bufbuild/protobuf/codegenv2\";\nimport { fileDesc, messageDesc } from \"@bufbuild/protobuf/codegenv2\";\nimport type { BaseResponse } from \"../common/Common_pb\";\nimport { file_common_Common } from \"../common/Common_pb\";\nimport type { Message } from \"@bufbuild/protobuf\";\n\n/**\n * Describes the file promotion/GetCurrentMissionConfig.proto.\n */\nexport const file_promotion_GetCurrentMissionConfig: GenFile = /*@__PURE__*/\n fileDesc(\"Cidwcm9tb3Rpb24vR2V0Q3VycmVudE1pc3Npb25Db25maWcucHJvdG8SCXByb21vdGlvbiLzAQoHTWlzc2lvbhINCgVpbmRleBgBIAEoBRIQCghldmVudF9pZBgCIAEoCRIRCglnYW1lX25hbWUYAyABKAkSEwoLcmV3YXJkX3R5cGUYBCABKAUSEQoJYmV0X3ZhbHVlGAUgASgBEhcKD2ZyZWVfc3Bpbl90aW1lcxgGIAEoBRIMCgR0YXNrGAcgASgFEhMKC3Rhc2tfYW1vdW50GAggASgBEg4KBmFtb3VudBgJIAEoARIQCghwcm92aWRlchgKIAEoCRITCgtwcm92aWRlcl9pZBgLIAEoCRIZChFjb21wbGF0ZV9hbGxfdGFzaxgMIAEoCCLKBAoaR2V0Q3VycmVudE1pc3Npb25Db25maWdSZXMSKwoNYmFzZV9yZXNwb25zZRgBIAEoCzIULmNvbW1vbi5CYXNlUmVzcG9uc2USOAoEZGF0YRgCIAEoCzIqLnByb21vdGlvbi5HZXRDdXJyZW50TWlzc2lvbkNvbmZpZ1Jlcy5EYXRhGsQDCgREYXRhEhIKCmV2ZW50X25hbWUYASABKAkSEgoKc3RhcnRfdGltZRgCIAEoCRIQCghlbmRfdGltZRgDIAEoCRIOCgZzdGF0dXMYBCABKAgSFwoPcGxheWVyX2NhdGVnb3J5GAUgASgFEhMKC3BsYXllcl9saXN0GAYgAygJEiIKGmZpbHRlcl9yaXNrX2NvbnRyb2xfcGxheWVyGAcgASgIEhsKE2NyZWRpYmlsaXR5X3JlbWFya3MYCCADKAkSTgoKcGVybWlzc2lvbhgJIAMoCzI6LnByb21vdGlvbi5HZXRDdXJyZW50TWlzc2lvbkNvbmZpZ1Jlcy5EYXRhLlBlcm1pc3Npb25FbnRyeRIUCgxwbGF5ZXJfbGV2ZWwYCiADKAUSFAoMcmVxdWlyZWRfa3ljGAsgASgIEiMKB21pc3Npb24YDCADKAsyEi5wcm9tb3Rpb24uTWlzc2lvbhIOCgZyZW1hcmsYDSABKAkSEwoLcmV3YXJkX3R5cGUYDiABKAUSCgoCaWQYDyABKAkaMQoPUGVybWlzc2lvbkVudHJ5EgsKA2tleRgBIAEoCRINCgV2YWx1ZRgCIAEoCToCOAFiBnByb3RvMw\", [file_common_Common]);\n\n/**\n * @generated from message promotion.Mission\n */\nexport type Mission = Message<\"promotion.Mission\"> & {\n /**\n * @generated from field: int32 index = 1;\n */\n index: number;\n\n /**\n * @generated from field: string event_id = 2;\n */\n eventId: string;\n\n /**\n * @generated from field: string game_name = 3;\n */\n gameName: string;\n\n /**\n * @generated from field: int32 reward_type = 4;\n */\n rewardType: number;\n\n /**\n * @generated from field: double bet_value = 5;\n */\n betValue: number;\n\n /**\n * @generated from field: int32 free_spin_times = 6;\n */\n freeSpinTimes: number;\n\n /**\n * @generated from field: int32 task = 7;\n */\n task: number;\n\n /**\n * @generated from field: double task_amount = 8;\n */\n taskAmount: number;\n\n /**\n * @generated from field: double amount = 9;\n */\n amount: number;\n\n /**\n * @generated from field: string provider = 10;\n */\n provider: string;\n\n /**\n * @generated from field: string provider_id = 11;\n */\n providerId: string;\n\n /**\n * @generated from field: bool complate_all_task = 12;\n */\n complateAllTask: boolean;\n};\n\n/**\n * Describes the message promotion.Mission.\n * Use `create(MissionSchema)` to create a new message.\n */\nexport const MissionSchema: GenMessage<Mission> = /*@__PURE__*/\n messageDesc(file_promotion_GetCurrentMissionConfig, 0);\n\n/**\n * @generated from message promotion.GetCurrentMissionConfigRes\n */\nexport type GetCurrentMissionConfigRes = Message<\"promotion.GetCurrentMissionConfigRes\"> & {\n /**\n * @generated from field: common.BaseResponse base_response = 1;\n */\n baseResponse?: BaseResponse;\n\n /**\n * @generated from field: promotion.GetCurrentMissionConfigRes.Data data = 2;\n */\n data?: GetCurrentMissionConfigRes_Data;\n};\n\n/**\n * Describes the message promotion.GetCurrentMissionConfigRes.\n * Use `create(GetCurrentMissionConfigResSchema)` to create a new message.\n */\nexport const GetCurrentMissionConfigResSchema: GenMessage<GetCurrentMissionConfigRes> = /*@__PURE__*/\n messageDesc(file_promotion_GetCurrentMissionConfig, 1);\n\n/**\n * @generated from message promotion.GetCurrentMissionConfigRes.Data\n */\nexport type GetCurrentMissionConfigRes_Data = Message<\"promotion.GetCurrentMissionConfigRes.Data\"> & {\n /**\n * @generated from field: string event_name = 1;\n */\n eventName: string;\n\n /**\n * @generated from field: string start_time = 2;\n */\n startTime: string;\n\n /**\n * @generated from field: string end_time = 3;\n */\n endTime: string;\n\n /**\n * @generated from field: bool status = 4;\n */\n status: boolean;\n\n /**\n * @generated from field: int32 player_category = 5;\n */\n playerCategory: number;\n\n /**\n * @generated from field: repeated string player_list = 6;\n */\n playerList: string[];\n\n /**\n * @generated from field: bool filter_risk_control_player = 7;\n */\n filterRiskControlPlayer: boolean;\n\n /**\n * @generated from field: repeated string credibility_remarks = 8;\n */\n credibilityRemarks: string[];\n\n /**\n * @generated from field: map<string, string> permission = 9;\n */\n permission: { [key: string]: string };\n\n /**\n * @generated from field: repeated int32 player_level = 10;\n */\n playerLevel: number[];\n\n /**\n * @generated from field: bool required_kyc = 11;\n */\n requiredKyc: boolean;\n\n /**\n * @generated from field: repeated promotion.Mission mission = 12;\n */\n mission: Mission[];\n\n /**\n * @generated from field: string remark = 13;\n */\n remark: string;\n\n /**\n * @generated from field: int32 reward_type = 14;\n */\n rewardType: number;\n\n /**\n * @generated from field: string id = 15;\n */\n id: string;\n};\n\n/**\n * Describes the message promotion.GetCurrentMissionConfigRes.Data.\n * Use `create(GetCurrentMissionConfigRes_DataSchema)` to create a new message.\n */\nexport const GetCurrentMissionConfigRes_DataSchema: GenMessage<GetCurrentMissionConfigRes_Data> = /*@__PURE__*/\n messageDesc(file_promotion_GetCurrentMissionConfig, 1, 0);\n\n","// @generated by protoc-gen-es v2.10.2 with parameter \"target=ts\"\n// @generated from file promotion/GetPlayerTaskProgress.proto (package promotion, syntax proto3)\n/* eslint-disable */\n\nimport type { GenFile, GenMessage } from \"@bufbuild/protobuf/codegenv2\";\nimport { fileDesc, messageDesc } from \"@bufbuild/protobuf/codegenv2\";\nimport type { BaseResponse } from \"../common/Common_pb\";\nimport { file_common_Common } from \"../common/Common_pb\";\nimport type { Message } from \"@bufbuild/protobuf\";\n\n/**\n * Describes the file promotion/GetPlayerTaskProgress.proto.\n */\nexport const file_promotion_GetPlayerTaskProgress: GenFile = /*@__PURE__*/\n fileDesc(\"CiVwcm9tb3Rpb24vR2V0UGxheWVyVGFza1Byb2dyZXNzLnByb3RvEglwcm9tb3Rpb24iLAoYR2V0UGxheWVyVGFza1Byb2dyZXNzUmVxEhAKCGV2ZW50X2lkGAEgASgJIvwBCgxUYXNrUHJvZ3Jlc3MSDwoHdGFza19pZBgBIAEoCRINCgVpbmRleBgCIAEoBRIMCgR0YXNrGAMgASgFEg4KBnN0YXR1cxgEIAEoBRIXCg9wcm9ncmVzc19hbW91bnQYBSABKAESEQoJbWlsZXN0b25lGAYgASgBEhAKCHByb3ZpZGVyGAcgASgJEhMKC3Byb3ZpZGVyX2lkGAggASgJEhEKCXJld2FyZF9pZBgJIAEoCRIVCg1yZXdhcmRfYW1vdW50GAogASgBEhUKDWNvbXBsZXRlX3RpbWUYCyABKAkSGgoSY2xhaW1fZXhwaXJlZF90aW1lGAwgASgJImEKB1Rhc2tEYXkSFwoPdGFza19zdGFydF90aW1lGAEgASgJEhUKDXRhc2tfZW5kX3RpbWUYAiABKAkSJgoFdGFza3MYAyADKAsyFy5wcm9tb3Rpb24uVGFza1Byb2dyZXNzIq0CChhHZXRQbGF5ZXJUYXNrUHJvZ3Jlc3NSZXMSKwoNYmFzZV9yZXNwb25zZRgBIAEoCzIULmNvbW1vbi5CYXNlUmVzcG9uc2USNgoEZGF0YRgCIAEoCzIoLnByb21vdGlvbi5HZXRQbGF5ZXJUYXNrUHJvZ3Jlc3NSZXMuRGF0YRqrAQoERGF0YRITCgtjdXJyZW50X2RheRgBIAEoBRJJCglhbGxfdGFza3MYAiADKAsyNi5wcm9tb3Rpb24uR2V0UGxheWVyVGFza1Byb2dyZXNzUmVzLkRhdGEuQWxsVGFza3NFbnRyeRpDCg1BbGxUYXNrc0VudHJ5EgsKA2tleRgBIAEoCRIhCgV2YWx1ZRgCIAEoCzISLnByb21vdGlvbi5UYXNrRGF5OgI4AWIGcHJvdG8z\", [file_common_Common]);\n\n/**\n * @generated from message promotion.GetPlayerTaskProgressReq\n */\nexport type GetPlayerTaskProgressReq = Message<\"promotion.GetPlayerTaskProgressReq\"> & {\n /**\n * @generated from field: string event_id = 1;\n */\n eventId: string;\n};\n\n/**\n * Describes the message promotion.GetPlayerTaskProgressReq.\n * Use `create(GetPlayerTaskProgressReqSchema)` to create a new message.\n */\nexport const GetPlayerTaskProgressReqSchema: GenMessage<GetPlayerTaskProgressReq> = /*@__PURE__*/\n messageDesc(file_promotion_GetPlayerTaskProgress, 0);\n\n/**\n * @generated from message promotion.TaskProgress\n */\nexport type TaskProgress = Message<\"promotion.TaskProgress\"> & {\n /**\n * @generated from field: string task_id = 1;\n */\n taskId: string;\n\n /**\n * @generated from field: int32 index = 2;\n */\n index: number;\n\n /**\n * @generated from field: int32 task = 3;\n */\n task: number;\n\n /**\n * @generated from field: int32 status = 4;\n */\n status: number;\n\n /**\n * @generated from field: double progress_amount = 5;\n */\n progressAmount: number;\n\n /**\n * @generated from field: double milestone = 6;\n */\n milestone: number;\n\n /**\n * @generated from field: string provider = 7;\n */\n provider: string;\n\n /**\n * @generated from field: string provider_id = 8;\n */\n providerId: string;\n\n /**\n * @generated from field: string reward_id = 9;\n */\n rewardId: string;\n\n /**\n * @generated from field: double reward_amount = 10;\n */\n rewardAmount: number;\n\n /**\n * @generated from field: string complete_time = 11;\n */\n completeTime: string;\n\n /**\n * @generated from field: string claim_expired_time = 12;\n */\n claimExpiredTime: string;\n};\n\n/**\n * Describes the message promotion.TaskProgress.\n * Use `create(TaskProgressSchema)` to create a new message.\n */\nexport const TaskProgressSchema: GenMessage<TaskProgress> = /*@__PURE__*/\n messageDesc(file_promotion_GetPlayerTaskProgress, 1);\n\n/**\n * @generated from message promotion.TaskDay\n */\nexport type TaskDay = Message<\"promotion.TaskDay\"> & {\n /**\n * @generated from field: string task_start_time = 1;\n */\n taskStartTime: string;\n\n /**\n * @generated from field: string task_end_time = 2;\n */\n taskEndTime: string;\n\n /**\n * @generated from field: repeated promotion.TaskProgress tasks = 3;\n */\n tasks: TaskProgress[];\n};\n\n/**\n * Describes the message promotion.TaskDay.\n * Use `create(TaskDaySchema)` to create a new message.\n */\nexport const TaskDaySchema: GenMessage<TaskDay> = /*@__PURE__*/\n messageDesc(file_promotion_GetPlayerTaskProgress, 2);\n\n/**\n * @generated from message promotion.GetPlayerTaskProgressRes\n */\nexport type GetPlayerTaskProgressRes = Message<\"promotion.GetPlayerTaskProgressRes\"> & {\n /**\n * @generated from field: common.BaseResponse base_response = 1;\n */\n baseResponse?: BaseResponse;\n\n /**\n * @generated from field: promotion.GetPlayerTaskProgressRes.Data data = 2;\n */\n data?: GetPlayerTaskProgressRes_Data;\n};\n\n/**\n * Describes the message promotion.GetPlayerTaskProgressRes.\n * Use `create(GetPlayerTaskProgressResSchema)` to create a new message.\n */\nexport const GetPlayerTaskProgressResSchema: GenMessage<GetPlayerTaskProgressRes> = /*@__PURE__*/\n messageDesc(file_promotion_GetPlayerTaskProgress, 3);\n\n/**\n * @generated from message promotion.GetPlayerTaskProgressRes.Data\n */\nexport type GetPlayerTaskProgressRes_Data = Message<\"promotion.GetPlayerTaskProgressRes.Data\"> & {\n /**\n * @generated from field: int32 current_day = 1;\n */\n currentDay: number;\n\n /**\n * @generated from field: map<string, promotion.TaskDay> all_tasks = 2;\n */\n allTasks: { [key: string]: TaskDay };\n};\n\n/**\n * Describes the message promotion.GetPlayerTaskProgressRes.Data.\n * Use `create(GetPlayerTaskProgressRes_DataSchema)` to create a new message.\n */\nexport const GetPlayerTaskProgressRes_DataSchema: GenMessage<GetPlayerTaskProgressRes_Data> = /*@__PURE__*/\n messageDesc(file_promotion_GetPlayerTaskProgress, 3, 0);\n\n","// @generated by protoc-gen-es v2.10.2 with parameter \"target=ts\"\n// @generated from file promotion/ClaimTaskReward.proto (package promotion, syntax proto3)\n/* eslint-disable */\n\nimport type { GenFile, GenMessage } from \"@bufbuild/protobuf/codegenv2\";\nimport { fileDesc, messageDesc } from \"@bufbuild/protobuf/codegenv2\";\nimport type { BaseResponse } from \"../common/Common_pb\";\nimport { file_common_Common } from \"../common/Common_pb\";\nimport type { Message } from \"@bufbuild/protobuf\";\n\n/**\n * Describes the file promotion/ClaimTaskReward.proto.\n */\nexport const file_promotion_ClaimTaskReward: GenFile = /*@__PURE__*/\n fileDesc(\"Ch9wcm9tb3Rpb24vQ2xhaW1UYXNrUmV3YXJkLnByb3RvEglwcm9tb3Rpb24ibgoSQ2xhaW1UYXNrUmV3YXJkUmVxEhAKCGV2ZW50X2lkGAEgASgJEhYKCXJld2FyZF9pZBgCIAEoCUgAiAEBEhQKB3Rhc2tfaWQYAyABKAlIAYgBAUIMCgpfcmV3YXJkX2lkQgoKCF90YXNrX2lkIpACChJDbGFpbVRhc2tSZXdhcmRSZXMSKwoNYmFzZV9yZXNwb25zZRgBIAEoCzIULmNvbW1vbi5CYXNlUmVzcG9uc2USMAoEZGF0YRgCIAEoCzIiLnByb21vdGlvbi5DbGFpbVRhc2tSZXdhcmRSZXMuRGF0YRqaAQoERGF0YRIRCglwbGF5ZXJfaWQYASABKAkSFQoNcmV3YXJkX2Ftb3VudBgCIAEoBRIeChFiZWZvcmVfbXVkX2NyZWRpdBgDIAEoBUgAiAEBEh0KEGFmdGVyX211ZF9jcmVkaXQYBCABKAVIAYgBAUIUChJfYmVmb3JlX211ZF9jcmVkaXRCEwoRX2FmdGVyX211ZF9jcmVkaXRiBnByb3RvMw\", [file_common_Common]);\n\n/**\n * @generated from message promotion.ClaimTaskRewardReq\n */\nexport type ClaimTaskRewardReq = Message<\"promotion.ClaimTaskRewardReq\"> & {\n /**\n * @generated from field: string event_id = 1;\n */\n eventId: string;\n\n /**\n * @generated from field: optional string reward_id = 2;\n */\n rewardId?: string;\n\n /**\n * @generated from field: optional string task_id = 3;\n */\n taskId?: string;\n};\n\n/**\n * Describes the message promotion.ClaimTaskRewardReq.\n * Use `create(ClaimTaskRewardReqSchema)` to create a new message.\n */\nexport const ClaimTaskRewardReqSchema: GenMessage<ClaimTaskRewardReq> = /*@__PURE__*/\n messageDesc(file_promotion_ClaimTaskReward, 0);\n\n/**\n * @generated from message promotion.ClaimTaskRewardRes\n */\nexport type ClaimTaskRewardRes = Message<\"promotion.ClaimTaskRewardRes\"> & {\n /**\n * @generated from field: common.BaseResponse base_response = 1;\n */\n baseResponse?: BaseResponse;\n\n /**\n * @generated from field: promotion.ClaimTaskRewardRes.Data data = 2;\n */\n data?: ClaimTaskRewardRes_Data;\n};\n\n/**\n * Describes the message promotion.ClaimTaskRewardRes.\n * Use `create(ClaimTaskRewardResSchema)` to create a new message.\n */\nexport const ClaimTaskRewardResSchema: GenMessage<ClaimTaskRewardRes> = /*@__PURE__*/\n messageDesc(file_promotion_ClaimTaskReward, 1);\n\n/**\n * @generated from message promotion.ClaimTaskRewardRes.Data\n */\nexport type ClaimTaskRewardRes_Data = Message<\"promotion.ClaimTaskRewardRes.Data\"> & {\n /**\n * @generated from field: string player_id = 1;\n */\n playerId: string;\n\n /**\n * @generated from field: int32 reward_amount = 2;\n */\n rewardAmount: number;\n\n /**\n * @generated from field: optional int32 before_mud_credit = 3;\n */\n beforeMudCredit?: number;\n\n /**\n * @generated from field: optional int32 after_mud_credit = 4;\n */\n afterMudCredit?: number;\n};\n\n/**\n * Describes the message promotion.ClaimTaskRewardRes.Data.\n * Use `create(ClaimTaskRewardRes_DataSchema)` to create a new message.\n */\nexport const ClaimTaskRewardRes_DataSchema: GenMessage<ClaimTaskRewardRes_Data> = /*@__PURE__*/\n messageDesc(file_promotion_ClaimTaskReward, 1, 0);\n\n","// @generated by protoc-gen-es v2.10.2 with parameter \"target=ts\"\n// @generated from file promotion/CheckAndCreateMission.proto (package promotion, syntax proto3)\n/* eslint-disable */\n\nimport type { GenFile, GenMessage } from \"@bufbuild/protobuf/codegenv2\";\nimport { fileDesc, messageDesc } from \"@bufbuild/protobuf/codegenv2\";\nimport type { BaseResponse } from \"../common/Common_pb\";\nimport { file_common_Common } from \"../common/Common_pb\";\nimport type { Message } from \"@bufbuild/protobuf\";\n\n/**\n * Describes the file promotion/CheckAndCreateMission.proto.\n */\nexport const file_promotion_CheckAndCreateMission: GenFile = /*@__PURE__*/\n fileDesc(\"CiVwcm9tb3Rpb24vQ2hlY2tBbmRDcmVhdGVNaXNzaW9uLnByb3RvEglwcm9tb3Rpb24iLQoYQ2hlY2tBbmRDcmVhdGVNaXNzaW9uUmVxEhEKCXBsYXllcl9pZBgBIAEoCSLDAgoYQ2hlY2tBbmRDcmVhdGVNaXNzaW9uUmVzEisKDWJhc2VfcmVzcG9uc2UYASABKAsyFC5jb21tb24uQmFzZVJlc3BvbnNlEjYKBGRhdGEYAiABKAsyKC5wcm9tb3Rpb24uQ2hlY2tBbmRDcmVhdGVNaXNzaW9uUmVzLkRhdGEaaAoQQWN0aW9uQWZ0ZXJMb2dpbhIQCghldmVudF9pZBgBIAEoCRISCgpldmVudF90eXBlGAIgASgJEhkKEXBvcF91cF9mcmVlX2JvbnVzGAMgASgIEhMKC3BvcF91cF90YXNrGAQgASgIGlgKBERhdGESUAoSYWN0aW9uX2FmdGVyX2xvZ2luGAEgAygLMjQucHJvbW90aW9uLkNoZWNrQW5kQ3JlYXRlTWlzc2lvblJlcy5BY3Rpb25BZnRlckxvZ2luYgZwcm90bzM\", [file_common_Common]);\n\n/**\n * @generated from message promotion.CheckAndCreateMissionReq\n */\nexport type CheckAndCreateMissionReq = Message<\"promotion.CheckAndCreateMissionReq\"> & {\n /**\n * @generated from field: string player_id = 1;\n */\n playerId: string;\n};\n\n/**\n * Describes the message promotion.CheckAndCreateMissionReq.\n * Use `create(CheckAndCreateMissionReqSchema)` to create a new message.\n */\nexport const CheckAndCreateMissionReqSchema: GenMessage<CheckAndCreateMissionReq> = /*@__PURE__*/\n messageDesc(file_promotion_CheckAndCreateMission, 0);\n\n/**\n * @generated from message promotion.CheckAndCreateMissionRes\n */\nexport type CheckAndCreateMissionRes = Message<\"promotion.CheckAndCreateMissionRes\"> & {\n /**\n * @generated from field: common.BaseResponse base_response = 1;\n */\n baseResponse?: BaseResponse;\n\n /**\n * @generated from field: promotion.CheckAndCreateMissionRes.Data data = 2;\n */\n data?: CheckAndCreateMissionRes_Data;\n};\n\n/**\n * Describes the message promotion.CheckAndCreateMissionRes.\n * Use `create(CheckAndCreateMissionResSchema)` to create a new message.\n */\nexport const CheckAndCreateMissionResSchema: GenMessage<CheckAndCreateMissionRes> = /*@__PURE__*/\n messageDesc(file_promotion_CheckAndCreateMission, 1);\n\n/**\n * @generated from message promotion.CheckAndCreateMissionRes.ActionAfterLogin\n */\nexport type CheckAndCreateMissionRes_ActionAfterLogin = Message<\"promotion.CheckAndCreateMissionRes.ActionAfterLogin\"> & {\n /**\n * @generated from field: string event_id = 1;\n */\n eventId: string;\n\n /**\n * @generated from field: string event_type = 2;\n */\n eventType: string;\n\n /**\n * @generated from field: bool pop_up_free_bonus = 3;\n */\n popUpFreeBonus: boolean;\n\n /**\n * @generated from field: bool pop_up_task = 4;\n */\n popUpTask: boolean;\n};\n\n/**\n * Describes the message promotion.CheckAndCreateMissionRes.ActionAfterLogin.\n * Use `create(CheckAndCreateMissionRes_ActionAfterLoginSchema)` to create a new message.\n */\nexport const CheckAndCreateMissionRes_ActionAfterLoginSchema: GenMessage<CheckAndCreateMissionRes_ActionAfterLogin> = /*@__PURE__*/\n messageDesc(file_promotion_CheckAndCreateMission, 1, 0);\n\n/**\n * @generated from message promotion.CheckAndCreateMissionRes.Data\n */\nexport type CheckAndCreateMissionRes_Data = Message<\"promotion.CheckAndCreateMissionRes.Data\"> & {\n /**\n * @generated from field: repeated promotion.CheckAndCreateMissionRes.ActionAfterLogin action_after_login = 1;\n */\n actionAfterLogin: CheckAndCreateMissionRes_ActionAfterLogin[];\n};\n\n/**\n * Describes the message promotion.CheckAndCreateMissionRes.Data.\n * Use `create(CheckAndCreateMissionRes_DataSchema)` to create a new message.\n */\nexport const CheckAndCreateMissionRes_DataSchema: GenMessage<CheckAndCreateMissionRes_Data> = /*@__PURE__*/\n messageDesc(file_promotion_CheckAndCreateMission, 1, 1);\n\n","// @generated by protoc-gen-es v2.10.2 with parameter \"target=ts\"\n// @generated from file promotion/GetCurrentCardEvents.proto (package promotion, syntax proto3)\n/* eslint-disable */\n\nimport type { GenFile, GenMessage } from \"@bufbuild/protobuf/codegenv2\";\nimport { fileDesc, messageDesc } from \"@bufbuild/protobuf/codegenv2\";\nimport type { BaseResponse } from \"../common/Common_pb\";\nimport { file_common_Common } from \"../common/Common_pb\";\nimport type { CardType, CollectType, EventScheduleType, GiftType } from \"./PromotionCommon_pb\";\nimport { file_promotion_PromotionCommon } from \"./PromotionCommon_pb\";\nimport type { Message } from \"@bufbuild/protobuf\";\n\n/**\n * Describes the file promotion/GetCurrentCardEvents.proto.\n */\nexport const file_promotion_GetCurrentCardEvents: GenFile = /*@__PURE__*/\n fileDesc(\"CiRwcm9tb3Rpb24vR2V0Q3VycmVudENhcmRFdmVudHMucHJvdG8SCXByb21vdGlvbiJKChFMaW1pdGVkVGltZUNvbmZpZxIMCgRmcm9tGAEgASgJEgoKAnRvGAIgASgJEg8KB2VuYWJsZWQYAyABKAgSCgoCaWQYBCABKAkiugIKBENhcmQSCgoCaWQYASABKAkSEQoJY2FyZF9uYW1lGAIgASgJEhIKCmltYWdlX25hbWUYAyABKAkSDgoGY3JlZGl0GAQgASgBEhMKC2RhaWx5X2xpbWl0GAUgASgFEiYKCWNhcmRfdHlwZRgGIAEoDjITLnByb21vdGlvbi5DYXJkVHlwZRIUCgxyZXBsYWNlX2NhcmQYByABKAgSEQoJdGhyZXNob2xkGAggASgBEjIKDGxpbWl0ZWRfdGltZRgJIAMoCzIcLnByb21vdGlvbi5MaW1pdGVkVGltZUNvbmZpZxIkCgR0eXBlGAogASgOMhYucHJvbW90aW9uLkNvbGxlY3RUeXBlEhkKEWlzX3N0YWNrZWRfcmV3YXJkGAsgASgIEhQKDGNhcmRfY29udGVudBgMIAEoBSKFDAoORXZlbnRQcm9tb3Rpb24SCgoCaWQYASABKAkSDAoEbmFtZRgCIAEoCRITCgtkZXNjcmlwdGlvbhgDIAEoCRISCgpzdGFydF9kYXRlGAQgASgJEhAKCGVuZF9kYXRlGAUgASgJEhsKE2V4Y2hhbmdlX3N0YXJ0X2RhdGUYBiABKAkSGQoRZXhjaGFuZ2VfZW5kX2RhdGUYByABKAkSGAoQZXhjaGFuZ2VfZW5hYmxlZBgIIAEoCBIYChBmdWxsX2NhcmRfY3JlZGl0GAkgASgBEiYKCWdpZnRfdHlwZRgKIAEoDjITLnByb21vdGlvbi5HaWZ0VHlwZRI8CgxyZXN0cmljdGlvbnMYCyABKAsyJi5wcm9tb3Rpb24uRXZlbnRQcm9tb3Rpb24uUmVzdHJpY3Rpb25zEhUKDWJldF90aHJlc2hvbGQYDCADKAESOQoTbGltaXRlZF90aW1lX2NvbmZpZxgNIAMoCzIcLnByb21vdGlvbi5MaW1pdGVkVGltZUNvbmZpZxIeCgVjYXJkcxgOIAMoCzIPLnByb21vdGlvbi5DYXJkEh8KF3NlY19wcm9iYWJpbGl0eV9lbmFibGVkGA8gASgIEhkKEWRlcG9zaXRfdGhyZXNob2xkGBAgAygBEjkKE2V2ZW50X3NjaGVkdWxlX3R5cGUYESABKA4yHC5wcm9tb3Rpb24uRXZlbnRTY2hlZHVsZVR5cGUSEgoKZXZlbnRfdHlwZRgSIAEoCRIwCgpjbGFpbV90aW1lGBMgASgLMhwucHJvbW90aW9uLkxpbWl0ZWRUaW1lQ29uZmlnEhwKFHBsYXRmb3JtX3RvdGFsX2NsYWltGBQgASgBEh8KF3Byb2dyZXNzX2Jhcl9zdGFydF9kYXRlGBUgASgJEh0KFXByb2dyZXNzX2Jhcl9lbmRfZGF0ZRgWIAEoCRISCgphbHBoYV9yYXRlGBcgASgBEhQKDHRvdGFsX3dlaWdodBgYIAEoARIeChZvbGRfcGxheWVyX2Fzc2lzdF9yYXRlGBkgASgBEh8KF25ld19wbGF5ZXJfYXNzaXN0X3JhdGVzGBogAygBEh4KFmluZmx1ZW5jZV9saW1pdGVkX3RpbWUYGyABKAgSEwoLZGF5X29mX3dlZWsYHCABKAUSGAoQZXhjbHVkZV9nYW1lX2lkcxgdIAMoCRJQChthY2N1bXVsYXRlZF9yZXdhcmRzX3VwZ3JhZGUYHiADKAsyKy5wcm9tb3Rpb24uRXZlbnRQcm9tb3Rpb24uQWNjdW11bGF0ZWRSZXdhcmQSRQoRYXNzaXN0YW5jZV9yZXdhcmQYHyADKAsyKi5wcm9tb3Rpb24uRXZlbnRQcm9tb3Rpb24uQXNzaXN0YW5jZVJld2FyZBIcChRpc19hZGRpdGlvbmFsX3Jld2FyZBggIAEoCBIcChRpc19hc3Npc3RhbmNlX3Jld2FyZBghIAEoCBIQCghvbl9nb2luZxgiIAEoCBIVCg1hdXRvX2V4Y2hhbmdlGCMgASgIEhcKD2lzX2Jvb3N0X3Jld2FyZBgkIAEoCBq8AQoMUmVzdHJpY3Rpb25zEhQKDG1heF90cmFuc2ZlchgBIAEoBRITCgttYXhfcmVjZWl2ZRgCIAEoBRIZChFlZ2dfc3VwcG9ydF90aW1lcxgDIAEoBRIiChpkYWlseV9zaGFyZV9saW1pdF9wZXJfdXNlchgEIAEoBRIkChxzaGFyZV9saW1pdF90b190aGVfc2FtZV91c2VyGAUgASgFEhwKFGNsYWltX2xpbWl0X3Blcl91c2VyGAYgASgFGkEKEUFjY3VtdWxhdGVkUmV3YXJkEgwKBGRheXMYASABKAUSHgoWYWNjdW11bGF0ZV9wZXJjZW50YWdlcxgCIAEoARpsChBBc3Npc3RhbmNlUmV3YXJkEhMKC3Byb2JhYmlsaXR5GAEgASgBEh0KFWZyZWVzcGluX2V2ZW50X29ial9pZBgCIAEoCRIPCgdyZXBsYWNlGAMgASgIEhMKC2RhaWx5X2xpbWl0GAQgASgFIm8KF0dldEN1cnJlbnRDYXJkRXZlbnRzUmVzEisKDWJhc2VfcmVzcG9uc2UYASABKAsyFC5jb21tb24uQmFzZVJlc3BvbnNlEicKBGRhdGEYAiADKAsyGS5wcm9tb3Rpb24uRXZlbnRQcm9tb3Rpb25iBnByb3RvMw\", [file_common_Common, file_promotion_PromotionCommon]);\n\n/**\n * @generated from message promotion.LimitedTimeConfig\n */\nexport type LimitedTimeConfig = Message<\"promotion.LimitedTimeConfig\"> & {\n /**\n * @generated from field: string from = 1;\n */\n from: string;\n\n /**\n * @generated from field: string to = 2;\n */\n to: string;\n\n /**\n * @generated from field: bool enabled = 3;\n */\n enabled: boolean;\n\n /**\n * @generated from field: string id = 4;\n */\n id: string;\n};\n\n/**\n * Describes the message promotion.LimitedTimeConfig.\n * Use `create(LimitedTimeConfigSchema)` to create a new message.\n */\nexport const LimitedTimeConfigSchema: GenMessage<LimitedTimeConfig> = /*@__PURE__*/\n messageDesc(file_promotion_GetCurrentCardEvents, 0);\n\n/**\n * @generated from message promotion.Card\n */\nexport type Card = Message<\"promotion.Card\"> & {\n /**\n * @generated from field: string id = 1;\n */\n id: string;\n\n /**\n * @generated from field: string card_name = 2;\n */\n cardName: string;\n\n /**\n * @generated from field: string image_name = 3;\n */\n imageName: string;\n\n /**\n * @generated from field: double credit = 4;\n */\n credit: number;\n\n /**\n * @generated from field: int32 daily_limit = 5;\n */\n dailyLimit: number;\n\n /**\n * @generated from field: promotion.CardType card_type = 6;\n */\n cardType: CardType;\n\n /**\n * @generated from field: bool replace_card = 7;\n */\n replaceCard: boolean;\n\n /**\n * @generated from field: double threshold = 8;\n */\n threshold: number;\n\n /**\n * @generated from field: repeated promotion.LimitedTimeConfig limited_time = 9;\n */\n limitedTime: LimitedTimeConfig[];\n\n /**\n * @generated from field: promotion.CollectType type = 10;\n */\n type: CollectType;\n\n /**\n * @generated from field: bool is_stacked_reward = 11;\n */\n isStackedReward: boolean;\n\n /**\n * @generated from field: int32 card_content = 12;\n */\n cardContent: number;\n};\n\n/**\n * Describes the message promotion.Card.\n * Use `create(CardSchema)` to create a new message.\n */\nexport const CardSchema: GenMessage<Card> = /*@__PURE__*/\n messageDesc(file_promotion_GetCurrentCardEvents, 1);\n\n/**\n * @generated from message promotion.EventPromotion\n */\nexport type EventPromotion = Message<\"promotion.EventPromotion\"> & {\n /**\n * @generated from field: string id = 1;\n */\n id: string;\n\n /**\n * @generated from field: string name = 2;\n */\n name: string;\n\n /**\n * @generated from field: string description = 3;\n */\n description: string;\n\n /**\n * @generated from field: string start_date = 4;\n */\n startDate: string;\n\n /**\n * @generated from field: string end_date = 5;\n */\n endDate: string;\n\n /**\n * @generated from field: string exchange_start_date = 6;\n */\n exchangeStartDate: string;\n\n /**\n * @generated from field: string exchange_end_date = 7;\n */\n exchangeEndDate: string;\n\n /**\n * @generated from field: bool exchange_enabled = 8;\n */\n exchangeEnabled: boolean;\n\n /**\n * @generated from field: double full_card_credit = 9;\n */\n fullCardCredit: number;\n\n /**\n * @generated from field: promotion.GiftType gift_type = 10;\n */\n giftType: GiftType;\n\n /**\n * @generated from field: promotion.EventPromotion.Restrictions restrictions = 11;\n */\n restrictions?: EventPromotion_Restrictions;\n\n /**\n * @generated from field: repeated double bet_threshold = 12;\n */\n betThreshold: number[];\n\n /**\n * @generated from field: repeated promotion.LimitedTimeConfig limited_time_config = 13;\n */\n limitedTimeConfig: LimitedTimeConfig[];\n\n /**\n * @generated from field: repeated promotion.Card cards = 14;\n */\n cards: Card[];\n\n /**\n * @generated from field: bool sec_probability_enabled = 15;\n */\n secProbabilityEnabled: boolean;\n\n /**\n * @generated from field: repeated double deposit_threshold = 16;\n */\n depositThreshold: number[];\n\n /**\n * @generated from field: promotion.EventScheduleType event_schedule_type = 17;\n */\n eventScheduleType: EventScheduleType;\n\n /**\n * @generated from field: string event_type = 18;\n */\n eventType: string;\n\n /**\n * @generated from field: promotion.LimitedTimeConfig claim_time = 19;\n */\n claimTime?: LimitedTimeConfig;\n\n /**\n * @generated from field: double platform_total_claim = 20;\n */\n platformTotalClaim: number;\n\n /**\n * @generated from field: string progress_bar_start_date = 21;\n */\n progressBarStartDate: string;\n\n /**\n * @generated from field: string progress_bar_end_date = 22;\n */\n progressBarEndDate: string;\n\n /**\n * @generated from field: double alpha_rate = 23;\n */\n alphaRate: number;\n\n /**\n * @generated from field: double total_weight = 24;\n */\n totalWeight: number;\n\n /**\n * @generated from field: double old_player_assist_rate = 25;\n */\n oldPlayerAssistRate: number;\n\n /**\n * @generated from field: repeated double new_player_assist_rates = 26;\n */\n newPlayerAssistRates: number[];\n\n /**\n * @generated from field: bool influence_limited_time = 27;\n */\n influenceLimitedTime: boolean;\n\n /**\n * @generated from field: int32 day_of_week = 28;\n */\n dayOfWeek: number;\n\n /**\n * @generated from field: repeated string exclude_game_ids = 29;\n */\n excludeGameIds: string[];\n\n /**\n * @generated from field: repeated promotion.EventPromotion.AccumulatedReward accumulated_rewards_upgrade = 30;\n */\n accumulatedRewardsUpgrade: EventPromotion_AccumulatedReward[];\n\n /**\n * @generated from field: repeated promotion.EventPromotion.AssistanceReward assistance_reward = 31;\n */\n assistanceReward: EventPromotion_AssistanceReward[];\n\n /**\n * @generated from field: bool is_additional_reward = 32;\n */\n isAdditionalReward: boolean;\n\n /**\n * @generated from field: bool is_assistance_reward = 33;\n */\n isAssistanceReward: boolean;\n\n /**\n * @generated from field: bool on_going = 34;\n */\n onGoing: boolean;\n\n /**\n * @generated from field: bool auto_exchange = 35;\n */\n autoExchange: boolean;\n\n /**\n * @generated from field: bool is_boost_reward = 36;\n */\n isBoostReward: boolean;\n};\n\n/**\n * Describes the message promotion.EventPromotion.\n * Use `create(EventPromotionSchema)` to create a new message.\n */\nexport const EventPromotionSchema: GenMessage<EventPromotion> = /*@__PURE__*/\n messageDesc(file_promotion_GetCurrentCardEvents, 2);\n\n/**\n * @generated from message promotion.EventPromotion.Restrictions\n */\nexport type EventPromotion_Restrictions = Message<\"promotion.EventPromotion.Restrictions\"> & {\n /**\n * @generated from field: int32 max_transfer = 1;\n */\n maxTransfer: number;\n\n /**\n * @generated from field: int32 max_receive = 2;\n */\n maxReceive: number;\n\n /**\n * @generated from field: int32 egg_support_times = 3;\n */\n eggSupportTimes: number;\n\n /**\n * @generated from field: int32 daily_share_limit_per_user = 4;\n */\n dailyShareLimitPerUser: number;\n\n /**\n * @generated from field: int32 share_limit_to_the_same_user = 5;\n */\n shareLimitToTheSameUser: number;\n\n /**\n * @generated from field: int32 claim_limit_per_user = 6;\n */\n claimLimitPerUser: number;\n};\n\n/**\n * Describes the message promotion.EventPromotion.Restrictions.\n * Use `create(EventPromotion_RestrictionsSchema)` to create a new message.\n */\nexport const EventPromotion_RestrictionsSchema: GenMessage<EventPromotion_Restrictions> = /*@__PURE__*/\n messageDesc(file_promotion_GetCurrentCardEvents, 2, 0);\n\n/**\n * @generated from message promotion.EventPromotion.AccumulatedReward\n */\nexport type EventPromotion_AccumulatedReward = Message<\"promotion.EventPromotion.AccumulatedReward\"> & {\n /**\n * @generated from field: int32 days = 1;\n */\n days: number;\n\n /**\n * @generated from field: double accumulate_percentages = 2;\n */\n accumulatePercentages: number;\n};\n\n/**\n * Describes the message promotion.EventPromotion.AccumulatedReward.\n * Use `create(EventPromotion_AccumulatedRewardSchema)` to create a new message.\n */\nexport const EventPromotion_AccumulatedRewardSchema: GenMessage<EventPromotion_AccumulatedReward> = /*@__PURE__*/\n messageDesc(file_promotion_GetCurrentCardEvents, 2, 1);\n\n/**\n * @generated from message promotion.EventPromotion.AssistanceReward\n */\nexport type EventPromotion_AssistanceReward = Message<\"promotion.EventPromotion.AssistanceReward\"> & {\n /**\n * @generated from field: double probability = 1;\n */\n probability: number;\n\n /**\n * @generated from field: string freespin_event_obj_id = 2;\n */\n freespinEventObjId: string;\n\n /**\n * @generated from field: bool replace = 3;\n */\n replace: boolean;\n\n /**\n * @generated from field: int32 daily_limit = 4;\n */\n dailyLimit: number;\n};\n\n/**\n * Describes the message promotion.EventPromotion.AssistanceReward.\n * Use `create(EventPromotion_AssistanceRewardSchema)` to create a new message.\n */\nexport const EventPromotion_AssistanceRewardSchema: GenMessage<EventPromotion_AssistanceReward> = /*@__PURE__*/\n messageDesc(file_promotion_GetCurrentCardEvents, 2, 2);\n\n/**\n * @generated from message promotion.GetCurrentCardEventsRes\n */\nexport type GetCurrentCardEventsRes = Message<\"promotion.GetCurrentCardEventsRes\"> & {\n /**\n * @generated from field: common.BaseResponse base_response = 1;\n */\n baseResponse?: BaseResponse;\n\n /**\n * @generated from field: repeated promotion.EventPromotion data = 2;\n */\n data: EventPromotion[];\n};\n\n/**\n * Describes the message promotion.GetCurrentCardEventsRes.\n * Use `create(GetCurrentCardEventsResSchema)` to create a new message.\n */\nexport const GetCurrentCardEventsResSchema: GenMessage<GetCurrentCardEventsRes> = /*@__PURE__*/\n messageDesc(file_promotion_GetCurrentCardEvents, 3);\n\n","// @generated by protoc-gen-es v2.10.2 with parameter \"target=ts\"\n// @generated from file promotion/PlayerReceiveEgg.proto (package promotion, syntax proto3)\n/* eslint-disable */\n\nimport type { GenFile, GenMessage } from \"@bufbuild/protobuf/codegenv2\";\nimport { fileDesc, messageDesc } from \"@bufbuild/protobuf/codegenv2\";\nimport type { BaseResponse } from \"../common/Common_pb\";\nimport { file_common_Common } from \"../common/Common_pb\";\nimport type { EggData, PlayerEgg } from \"./PromotionCommon_pb\";\nimport { file_promotion_PromotionCommon } from \"./PromotionCommon_pb\";\nimport type { Message } from \"@bufbuild/protobuf\";\n\n/**\n * Describes the file promotion/PlayerReceiveEgg.proto.\n */\nexport const file_promotion_PlayerReceiveEgg: GenFile = /*@__PURE__*/\n fileDesc(\"CiBwcm9tb3Rpb24vUGxheWVyUmVjZWl2ZUVnZy5wcm90bxIJcHJvbW90aW9uIkIKE1BsYXllclJlY2VpdmVFZ2dSZXESFAoMZXZlbnRfb2JqX2lkGAEgASgJEhUKDXJld2FyZF9vYmpfaWQYAiABKAkingIKE1BsYXllclJlY2VpdmVFZ2dSZXMSKwoNYmFzZV9yZXNwb25zZRgBIAEoCzIULmNvbW1vbi5CYXNlUmVzcG9uc2USMQoEZGF0YRgCIAEoCzIjLnByb21vdGlvbi5QbGF5ZXJSZWNlaXZlRWdnUmVzLkRhdGEapgEKBERhdGESKAoKcGxheWVyX2VnZxgBIAEoCzIULnByb21vdGlvbi5QbGF5ZXJFZ2cSEwoLdG90YWxfY2xhaW0YAiABKAESHAoUcGxhdGZvcm1fdG90YWxfY2xhaW0YAyABKAESFQoNc3RyZWFrX29mX2RheRgEIAEoBRIqCg5jb2xsZWN0X3JlY29yZBgFIAEoCzISLnByb21vdGlvbi5FZ2dEYXRhYgZwcm90bzM\", [file_common_Common, file_promotion_PromotionCommon]);\n\n/**\n * @generated from message promotion.PlayerReceiveEggReq\n */\nexport type PlayerReceiveEggReq = Message<\"promotion.PlayerReceiveEggReq\"> & {\n /**\n * @generated from field: string event_obj_id = 1;\n */\n eventObjId: string;\n\n /**\n * @generated from field: string reward_obj_id = 2;\n */\n rewardObjId: string;\n};\n\n/**\n * Describes the message promotion.PlayerReceiveEggReq.\n * Use `create(PlayerReceiveEggReqSchema)` to create a new message.\n */\nexport const PlayerReceiveEggReqSchema: GenMessage<PlayerReceiveEggReq> = /*@__PURE__*/\n messageDesc(file_promotion_PlayerReceiveEgg, 0);\n\n/**\n * @generated from message promotion.PlayerReceiveEggRes\n */\nexport type PlayerReceiveEggRes = Message<\"promotion.PlayerReceiveEggRes\"> & {\n /**\n * @generated from field: common.BaseResponse base_response = 1;\n */\n baseResponse?: BaseResponse;\n\n /**\n * @generated from field: promotion.PlayerReceiveEggRes.Data data = 2;\n */\n data?: PlayerReceiveEggRes_Data;\n};\n\n/**\n * Describes the message promotion.PlayerReceiveEggRes.\n * Use `create(PlayerReceiveEggResSchema)` to create a new message.\n */\nexport const PlayerReceiveEggResSchema: GenMessage<PlayerReceiveEggRes> = /*@__PURE__*/\n messageDesc(file_promotion_PlayerReceiveEgg, 1);\n\n/**\n * @generated from message promotion.PlayerReceiveEggRes.Data\n */\nexport type PlayerReceiveEggRes_Data = Message<\"promotion.PlayerReceiveEggRes.Data\"> & {\n /**\n * @generated from field: promotion.PlayerEgg player_egg = 1;\n */\n playerEgg?: PlayerEgg;\n\n /**\n * @generated from field: double total_claim = 2;\n */\n totalClaim: number;\n\n /**\n * @generated from field: double platform_total_claim = 3;\n */\n platformTotalClaim: number;\n\n /**\n * @generated from field: int32 streak_of_day = 4;\n */\n streakOfDay: number;\n\n /**\n * @generated from field: promotion.EggData collect_record = 5;\n */\n collectRecord?: EggData;\n};\n\n/**\n * Describes the message promotion.PlayerReceiveEggRes.Data.\n * Use `create(PlayerReceiveEggRes_DataSchema)` to create a new message.\n */\nexport const PlayerReceiveEggRes_DataSchema: GenMessage<PlayerReceiveEggRes_Data> = /*@__PURE__*/\n messageDesc(file_promotion_PlayerReceiveEgg, 1, 0);\n\n","// @generated by protoc-gen-es v2.10.2 with parameter \"target=ts\"\n// @generated from file promotion/GetConsumptionProgress.proto (package promotion, syntax proto3)\n/* eslint-disable */\n\nimport type { GenFile, GenMessage } from \"@bufbuild/protobuf/codegenv2\";\nimport { fileDesc, messageDesc } from \"@bufbuild/protobuf/codegenv2\";\nimport type { BaseResponse } from \"../common/Common_pb\";\nimport { file_common_Common } from \"../common/Common_pb\";\nimport type { Message } from \"@bufbuild/protobuf\";\n\n/**\n * Describes the file promotion/GetConsumptionProgress.proto.\n */\nexport const file_promotion_GetConsumptionProgress: GenFile = /*@__PURE__*/\n fileDesc(\"CiZwcm9tb3Rpb24vR2V0Q29uc3VtcHRpb25Qcm9ncmVzcy5wcm90bxIJcHJvbW90aW9uIkYKGUdldENvbnN1bXB0aW9uUHJvZ3Jlc3NSZXESEwoLcGxhdGZvcm1faWQYASABKAkSFAoMZXZlbnRfb2JqX2lkGAIgASgJIsIBChlHZXRDb25zdW1wdGlvblByb2dyZXNzUmVzEisKDWJhc2VfcmVzcG9uc2UYASABKAsyFC5jb21tb24uQmFzZVJlc3BvbnNlEjcKBGRhdGEYAiABKAsyKS5wcm9tb3Rpb24uR2V0Q29uc3VtcHRpb25Qcm9ncmVzc1Jlcy5EYXRhGj8KBERhdGESDQoFZGFpbHkYASABKAUSDgoGd2Vla2x5GAIgASgFEhgKEHByb2dyZXNzX3BlcmNlbnQYAyABKAViBnByb3RvMw\", [file_common_Common]);\n\n/**\n * @generated from message promotion.GetConsumptionProgressReq\n */\nexport type GetConsumptionProgressReq = Message<\"promotion.GetConsumptionProgressReq\"> & {\n /**\n * @generated from field: string platform_id = 1;\n */\n platformId: string;\n\n /**\n * @generated from field: string event_obj_id = 2;\n */\n eventObjId: string;\n};\n\n/**\n * Describes the message promotion.GetConsumptionProgressReq.\n * Use `create(GetConsumptionProgressReqSchema)` to create a new message.\n */\nexport const GetConsumptionProgressReqSchema: GenMessage<GetConsumptionProgressReq> = /*@__PURE__*/\n messageDesc(file_promotion_GetConsumptionProgress, 0);\n\n/**\n * @generated from message promotion.GetConsumptionProgressRes\n */\nexport type GetConsumptionProgressRes = Message<\"promotion.GetConsumptionProgressRes\"> & {\n /**\n * @generated from field: common.BaseResponse base_response = 1;\n */\n baseResponse?: BaseResponse;\n\n /**\n * @generated from field: promotion.GetConsumptionProgressRes.Data data = 2;\n */\n data?: GetConsumptionProgressRes_Data;\n};\n\n/**\n * Describes the message promotion.GetConsumptionProgressRes.\n * Use `create(GetConsumptionProgressResSchema)` to create a new message.\n */\nexport const GetConsumptionProgressResSchema: GenMessage<GetConsumptionProgressRes> = /*@__PURE__*/\n messageDesc(file_promotion_GetConsumptionProgress, 1);\n\n/**\n * @generated from message promotion.GetConsumptionProgressRes.Data\n */\nexport type GetConsumptionProgressRes_Data = Message<\"promotion.GetConsumptionProgressRes.Data\"> & {\n /**\n * @generated from field: int32 daily = 1;\n */\n daily: number;\n\n /**\n * @generated from field: int32 weekly = 2;\n */\n weekly: number;\n\n /**\n * @generated from field: int32 progress_percent = 3;\n */\n progressPercent: number;\n};\n\n/**\n * Describes the message promotion.GetConsumptionProgressRes.Data.\n * Use `create(GetConsumptionProgressRes_DataSchema)` to create a new message.\n */\nexport const GetConsumptionProgressRes_DataSchema: GenMessage<GetConsumptionProgressRes_Data> = /*@__PURE__*/\n messageDesc(file_promotion_GetConsumptionProgress, 1, 0);\n\n","// @generated by protoc-gen-es v2.10.2 with parameter \"target=ts\"\n// @generated from file promotion/PlayerClaimAllDailyReward.proto (package promotion, syntax proto3)\n/* eslint-disable */\n\nimport type { GenFile, GenMessage } from \"@bufbuild/protobuf/codegenv2\";\nimport { fileDesc, messageDesc } from \"@bufbuild/protobuf/codegenv2\";\nimport type { BaseResponse } from \"../common/Common_pb\";\nimport { file_common_Common } from \"../common/Common_pb\";\nimport type { EggData } from \"./PromotionCommon_pb\";\nimport { file_promotion_PromotionCommon } from \"./PromotionCommon_pb\";\nimport type { Message } from \"@bufbuild/protobuf\";\n\n/**\n * Describes the file promotion/PlayerClaimAllDailyReward.proto.\n */\nexport const file_promotion_PlayerClaimAllDailyReward: GenFile = /*@__PURE__*/\n fileDesc(\"Cilwcm9tb3Rpb24vUGxheWVyQ2xhaW1BbGxEYWlseVJld2FyZC5wcm90bxIJcHJvbW90aW9uIjQKHFBsYXllckNsYWltQWxsRGFpbHlSZXdhcmRSZXESFAoMZXZlbnRfb2JqX2lkGAEgASgJIv0BChxQbGF5ZXJDbGFpbUFsbERhaWx5UmV3YXJkUmVzEisKDWJhc2VfcmVzcG9uc2UYASABKAsyFC5jb21tb24uQmFzZVJlc3BvbnNlEjoKBGRhdGEYAiABKAsyLC5wcm9tb3Rpb24uUGxheWVyQ2xhaW1BbGxEYWlseVJld2FyZFJlcy5EYXRhGnQKBERhdGESKgoOY2xhaW1fZWdnX2xpc3QYASADKAsyEi5wcm9tb3Rpb24uRWdnRGF0YRIVCg11cGRhdGVkX2NvaW5zGAIgASgFEhQKDGJlZm9yZV9jb2lucxgDIAEoBRITCgthZnRlcl9jb2lucxgEIAEoBWIGcHJvdG8z\", [file_common_Common, file_promotion_PromotionCommon]);\n\n/**\n * @generated from message promotion.PlayerClaimAllDailyRewardReq\n */\nexport type PlayerClaimAllDailyRewardReq = Message<\"promotion.PlayerClaimAllDailyRewardReq\"> & {\n /**\n * @generated from field: string event_obj_id = 1;\n */\n eventObjId: string;\n};\n\n/**\n * Describes the message promotion.PlayerClaimAllDailyRewardReq.\n * Use `create(PlayerClaimAllDailyRewardReqSchema)` to create a new message.\n */\nexport const PlayerClaimAllDailyRewardReqSchema: GenMessage<PlayerClaimAllDailyRewardReq> = /*@__PURE__*/\n messageDesc(file_promotion_PlayerClaimAllDailyReward, 0);\n\n/**\n * @generated from message promotion.PlayerClaimAllDailyRewardRes\n */\nexport type PlayerClaimAllDailyRewardRes = Message<\"promotion.PlayerClaimAllDailyRewardRes\"> & {\n /**\n * @generated from field: common.BaseResponse base_response = 1;\n */\n baseResponse?: BaseResponse;\n\n /**\n * @generated from field: promotion.PlayerClaimAllDailyRewardRes.Data data = 2;\n */\n data?: PlayerClaimAllDailyRewardRes_Data;\n};\n\n/**\n * Describes the message promotion.PlayerClaimAllDailyRewardRes.\n * Use `create(PlayerClaimAllDailyRewardResSchema)` to create a new message.\n */\nexport const PlayerClaimAllDailyRewardResSchema: GenMessage<PlayerClaimAllDailyRewardRes> = /*@__PURE__*/\n messageDesc(file_promotion_PlayerClaimAllDailyReward, 1);\n\n/**\n * @generated from message promotion.PlayerClaimAllDailyRewardRes.Data\n */\nexport type PlayerClaimAllDailyRewardRes_Data = Message<\"promotion.PlayerClaimAllDailyRewardRes.Data\"> & {\n /**\n * @generated from field: repeated promotion.EggData claim_egg_list = 1;\n */\n claimEggList: EggData[];\n\n /**\n * @generated from field: int32 updated_coins = 2;\n */\n updatedCoins: number;\n\n /**\n * @generated from field: int32 before_coins = 3;\n */\n beforeCoins: number;\n\n /**\n * @generated from field: int32 after_coins = 4;\n */\n afterCoins: number;\n};\n\n/**\n * Describes the message promotion.PlayerClaimAllDailyRewardRes.Data.\n * Use `create(PlayerClaimAllDailyRewardRes_DataSchema)` to create a new message.\n */\nexport const PlayerClaimAllDailyRewardRes_DataSchema: GenMessage<PlayerClaimAllDailyRewardRes_Data> = /*@__PURE__*/\n messageDesc(file_promotion_PlayerClaimAllDailyReward, 1, 0);\n\n","// @generated by protoc-gen-es v2.10.2 with parameter \"target=ts\"\n// @generated from file promotion/ClaimTimedEventReward.proto (package promotion, syntax proto3)\n/* eslint-disable */\n\nimport type { GenFile, GenMessage } from \"@bufbuild/protobuf/codegenv2\";\nimport { fileDesc, messageDesc } from \"@bufbuild/protobuf/codegenv2\";\nimport type { BaseResponse } from \"../common/Common_pb\";\nimport { file_common_Common } from \"../common/Common_pb\";\nimport type { EggData, PlayerEgg } from \"./PromotionCommon_pb\";\nimport { file_promotion_PromotionCommon } from \"./PromotionCommon_pb\";\nimport type { Message } from \"@bufbuild/protobuf\";\n\n/**\n * Describes the file promotion/ClaimTimedEventReward.proto.\n */\nexport const file_promotion_ClaimTimedEventReward: GenFile = /*@__PURE__*/\n fileDesc(\"CiVwcm9tb3Rpb24vQ2xhaW1UaW1lZEV2ZW50UmV3YXJkLnByb3RvEglwcm9tb3Rpb24iMAoYQ2xhaW1UaW1lZEV2ZW50UmV3YXJkUmVxEhQKDGV2ZW50X29ial9pZBgBIAEoCSKpAgoYQ2xhaW1UaW1lZEV2ZW50UmV3YXJkUmVzEisKDWJhc2VfcmVzcG9uc2UYASABKAsyFC5jb21tb24uQmFzZVJlc3BvbnNlEjYKBGRhdGEYAiABKAsyKC5wcm9tb3Rpb24uQ2xhaW1UaW1lZEV2ZW50UmV3YXJkUmVzLkRhdGEapwEKBERhdGESKAoKcGxheWVyX2VnZxgBIAEoCzIULnByb21vdGlvbi5QbGF5ZXJFZ2cSKgoOY2xhaW1fZWdnX2xpc3QYAiABKAsyEi5wcm9tb3Rpb24uRWdnRGF0YRITCgt0b3RhbF9jbGFpbRgDIAEoBRIcChRwbGF0Zm9ybV90b3RhbF9jbGFpbRgEIAEoBRIWCg51cGRhdGVkX2Ftb3VudBgFIAEoBWIGcHJvdG8z\", [file_common_Common, file_promotion_PromotionCommon]);\n\n/**\n * @generated from message promotion.ClaimTimedEventRewardReq\n */\nexport type ClaimTimedEventRewardReq = Message<\"promotion.ClaimTimedEventRewardReq\"> & {\n /**\n * @generated from field: string event_obj_id = 1;\n */\n eventObjId: string;\n};\n\n/**\n * Describes the message promotion.ClaimTimedEventRewardReq.\n * Use `create(ClaimTimedEventRewardReqSchema)` to create a new message.\n */\nexport const ClaimTimedEventRewardReqSchema: GenMessage<ClaimTimedEventRewardReq> = /*@__PURE__*/\n messageDesc(file_promotion_ClaimTimedEventReward, 0);\n\n/**\n * @generated from message promotion.ClaimTimedEventRewardRes\n */\nexport type ClaimTimedEventRewardRes = Message<\"promotion.ClaimTimedEventRewardRes\"> & {\n /**\n * @generated from field: common.BaseResponse base_response = 1;\n */\n baseResponse?: BaseResponse;\n\n /**\n * @generated from field: promotion.ClaimTimedEventRewardRes.Data data = 2;\n */\n data?: ClaimTimedEventRewardRes_Data;\n};\n\n/**\n * Describes the message promotion.ClaimTimedEventRewardRes.\n * Use `create(ClaimTimedEventRewardResSchema)` to create a new message.\n */\nexport const ClaimTimedEventRewardResSchema: GenMessage<ClaimTimedEventRewardRes> = /*@__PURE__*/\n messageDesc(file_promotion_ClaimTimedEventReward, 1);\n\n/**\n * @generated from message promotion.ClaimTimedEventRewardRes.Data\n */\nexport type ClaimTimedEventRewardRes_Data = Message<\"promotion.ClaimTimedEventRewardRes.Data\"> & {\n /**\n * @generated from field: promotion.PlayerEgg player_egg = 1;\n */\n playerEgg?: PlayerEgg;\n\n /**\n * @generated from field: promotion.EggData claim_egg_list = 2;\n */\n claimEggList?: EggData;\n\n /**\n * @generated from field: int32 total_claim = 3;\n */\n totalClaim: number;\n\n /**\n * @generated from field: int32 platform_total_claim = 4;\n */\n platformTotalClaim: number;\n\n /**\n * @generated from field: int32 updated_amount = 5;\n */\n updatedAmount: number;\n};\n\n/**\n * Describes the message promotion.ClaimTimedEventRewardRes.Data.\n * Use `create(ClaimTimedEventRewardRes_DataSchema)` to create a new message.\n */\nexport const ClaimTimedEventRewardRes_DataSchema: GenMessage<ClaimTimedEventRewardRes_Data> = /*@__PURE__*/\n messageDesc(file_promotion_ClaimTimedEventReward, 1, 0);\n\n","// @generated by protoc-gen-es v2.10.2 with parameter \"target=ts\"\n// @generated from file promotion/GetEventRewardHistory.proto (package promotion, syntax proto3)\n/* eslint-disable */\n\nimport type { GenFile, GenMessage } from \"@bufbuild/protobuf/codegenv2\";\nimport { fileDesc, messageDesc } from \"@bufbuild/protobuf/codegenv2\";\nimport type { BaseResponse } from \"../common/Common_pb\";\nimport { file_common_Common } from \"../common/Common_pb\";\nimport type { CardRecord } from \"./PromotionCommon_pb\";\nimport { file_promotion_PromotionCommon } from \"./PromotionCommon_pb\";\nimport type { Message } from \"@bufbuild/protobuf\";\n\n/**\n * Describes the file promotion/GetEventRewardHistory.proto.\n */\nexport const file_promotion_GetEventRewardHistory: GenFile = /*@__PURE__*/\n fileDesc(\"CiVwcm9tb3Rpb24vR2V0RXZlbnRSZXdhcmRIaXN0b3J5LnByb3RvEglwcm9tb3Rpb24ihwEKGEdldEV2ZW50UmV3YXJkSGlzdG9yeVJlcRIMCgRwYWdlGAEgASgFEhEKCXBhZ2Vfc2l6ZRgCIAEoBRIUCgxldmVudF9vYmpfaWQYAyABKAkSFQoNcmV3YXJkX29ial9pZBgEIAEoCRIdChVmaWx0ZXJfb25nb2luZ19yZXdhcmQYBSABKAgi5QEKGEdldEV2ZW50UmV3YXJkSGlzdG9yeVJlcxIrCg1iYXNlX3Jlc3BvbnNlGAEgASgLMhQuY29tbW9uLkJhc2VSZXNwb25zZRI2CgRkYXRhGAIgASgLMigucHJvbW90aW9uLkdldEV2ZW50UmV3YXJkSGlzdG9yeVJlcy5EYXRhGmQKBERhdGESKgoLcmV3YXJkX2RhdGEYASADKAsyFS5wcm9tb3Rpb24uQ2FyZFJlY29yZBIaChJ0b3RhbF9yZXdhcmRfcGFnZXMYAiABKAUSFAoMY3VycmVudF9wYWdlGAMgASgFYgZwcm90bzM\", [file_common_Common, file_promotion_PromotionCommon]);\n\n/**\n * @generated from message promotion.GetEventRewardHistoryReq\n */\nexport type GetEventRewardHistoryReq = Message<\"promotion.GetEventRewardHistoryReq\"> & {\n /**\n * @generated from field: int32 page = 1;\n */\n page: number;\n\n /**\n * @generated from field: int32 page_size = 2;\n */\n pageSize: number;\n\n /**\n * @generated from field: string event_obj_id = 3;\n */\n eventObjId: string;\n\n /**\n * @generated from field: string reward_obj_id = 4;\n */\n rewardObjId: string;\n\n /**\n * @generated from field: bool filter_ongoing_reward = 5;\n */\n filterOngoingReward: boolean;\n};\n\n/**\n * Describes the message promotion.GetEventRewardHistoryReq.\n * Use `create(GetEventRewardHistoryReqSchema)` to create a new message.\n */\nexport const GetEventRewardHistoryReqSchema: GenMessage<GetEventRewardHistoryReq> = /*@__PURE__*/\n messageDesc(file_promotion_GetEventRewardHistory, 0);\n\n/**\n * @generated from message promotion.GetEventRewardHistoryRes\n */\nexport type GetEventRewardHistoryRes = Message<\"promotion.GetEventRewardHistoryRes\"> & {\n /**\n * @generated from field: common.BaseResponse base_response = 1;\n */\n baseResponse?: BaseResponse;\n\n /**\n * @generated from field: promotion.GetEventRewardHistoryRes.Data data = 2;\n */\n data?: GetEventRewardHistoryRes_Data;\n};\n\n/**\n * Describes the message promotion.GetEventRewardHistoryRes.\n * Use `create(GetEventRewardHistoryResSchema)` to create a new message.\n */\nexport const GetEventRewardHistoryResSchema: GenMessage<GetEventRewardHistoryRes> = /*@__PURE__*/\n messageDesc(file_promotion_GetEventRewardHistory, 1);\n\n/**\n * @generated from message promotion.GetEventRewardHistoryRes.Data\n */\nexport type GetEventRewardHistoryRes_Data = Message<\"promotion.GetEventRewardHistoryRes.Data\"> & {\n /**\n * @generated from field: repeated promotion.CardRecord reward_data = 1;\n */\n rewardData: CardRecord[];\n\n /**\n * @generated from field: int32 total_reward_pages = 2;\n */\n totalRewardPages: number;\n\n /**\n * @generated from field: int32 current_page = 3;\n */\n currentPage: number;\n};\n\n/**\n * Describes the message promotion.GetEventRewardHistoryRes.Data.\n * Use `create(GetEventRewardHistoryRes_DataSchema)` to create a new message.\n */\nexport const GetEventRewardHistoryRes_DataSchema: GenMessage<GetEventRewardHistoryRes_Data> = /*@__PURE__*/\n messageDesc(file_promotion_GetEventRewardHistory, 1, 0);\n\n","// @generated by protoc-gen-es v2.10.2 with parameter \"target=ts\"\n// @generated from file promotion/DailyClaimReward.proto (package promotion, syntax proto3)\n/* eslint-disable */\n\nimport type { GenFile, GenMessage } from \"@bufbuild/protobuf/codegenv2\";\nimport { fileDesc, messageDesc } from \"@bufbuild/protobuf/codegenv2\";\nimport type { BaseResponse } from \"../common/Common_pb\";\nimport { file_common_Common } from \"../common/Common_pb\";\nimport type { EggData, PlayerEgg } from \"./PromotionCommon_pb\";\nimport { file_promotion_PromotionCommon } from \"./PromotionCommon_pb\";\nimport type { Message } from \"@bufbuild/protobuf\";\n\n/**\n * Describes the file promotion/DailyClaimReward.proto.\n */\nexport const file_promotion_DailyClaimReward: GenFile = /*@__PURE__*/\n fileDesc(\"CiBwcm9tb3Rpb24vRGFpbHlDbGFpbVJld2FyZC5wcm90bxIJcHJvbW90aW9uIisKE0RhaWx5Q2xhaW1SZXdhcmRSZXESFAoMZXZlbnRfb2JqX2lkGAEgASgJItMBChNEYWlseUNsYWltUmV3YXJkUmVzEisKDWJhc2VfcmVzcG9uc2UYASABKAsyFC5jb21tb24uQmFzZVJlc3BvbnNlEjEKBGRhdGEYAiABKAsyIy5wcm9tb3Rpb24uRGFpbHlDbGFpbVJld2FyZFJlcy5EYXRhGlwKBERhdGESKAoKcGxheWVyX2VnZxgBIAEoCzIULnByb21vdGlvbi5QbGF5ZXJFZ2cSKgoOY29sbGVjdF9yZWNvcmQYAiABKAsyEi5wcm9tb3Rpb24uRWdnRGF0YWIGcHJvdG8z\", [file_common_Common, file_promotion_PromotionCommon]);\n\n/**\n * @generated from message promotion.DailyClaimRewardReq\n */\nexport type DailyClaimRewardReq = Message<\"promotion.DailyClaimRewardReq\"> & {\n /**\n * @generated from field: string event_obj_id = 1;\n */\n eventObjId: string;\n};\n\n/**\n * Describes the message promotion.DailyClaimRewardReq.\n * Use `create(DailyClaimRewardReqSchema)` to create a new message.\n */\nexport const DailyClaimRewardReqSchema: GenMessage<DailyClaimRewardReq> = /*@__PURE__*/\n messageDesc(file_promotion_DailyClaimReward, 0);\n\n/**\n * @generated from message promotion.DailyClaimRewardRes\n */\nexport type DailyClaimRewardRes = Message<\"promotion.DailyClaimRewardRes\"> & {\n /**\n * @generated from field: common.BaseResponse base_response = 1;\n */\n baseResponse?: BaseResponse;\n\n /**\n * @generated from field: promotion.DailyClaimRewardRes.Data data = 2;\n */\n data?: DailyClaimRewardRes_Data;\n};\n\n/**\n * Describes the message promotion.DailyClaimRewardRes.\n * Use `create(DailyClaimRewardResSchema)` to create a new message.\n */\nexport const DailyClaimRewardResSchema: GenMessage<DailyClaimRewardRes> = /*@__PURE__*/\n messageDesc(file_promotion_DailyClaimReward, 1);\n\n/**\n * @generated from message promotion.DailyClaimRewardRes.Data\n */\nexport type DailyClaimRewardRes_Data = Message<\"promotion.DailyClaimRewardRes.Data\"> & {\n /**\n * @generated from field: promotion.PlayerEgg player_egg = 1;\n */\n playerEgg?: PlayerEgg;\n\n /**\n * @generated from field: promotion.EggData collect_record = 2;\n */\n collectRecord?: EggData;\n};\n\n/**\n * Describes the message promotion.DailyClaimRewardRes.Data.\n * Use `create(DailyClaimRewardRes_DataSchema)` to create a new message.\n */\nexport const DailyClaimRewardRes_DataSchema: GenMessage<DailyClaimRewardRes_Data> = /*@__PURE__*/\n messageDesc(file_promotion_DailyClaimReward, 1, 0);\n\n","// @generated by protoc-gen-es v2.10.2 with parameter \"target=ts\"\n// @generated from file promotion/QueryPlayerEgg.proto (package promotion, syntax proto3)\n/* eslint-disable */\n\nimport type { GenFile, GenMessage } from \"@bufbuild/protobuf/codegenv2\";\nimport { fileDesc, messageDesc } from \"@bufbuild/protobuf/codegenv2\";\nimport type { BaseResponse } from \"../common/Common_pb\";\nimport { file_common_Common } from \"../common/Common_pb\";\nimport type { CardRecord, PlayerEgg } from \"./PromotionCommon_pb\";\nimport { file_promotion_PromotionCommon } from \"./PromotionCommon_pb\";\nimport type { Message } from \"@bufbuild/protobuf\";\n\n/**\n * Describes the file promotion/QueryPlayerEgg.proto.\n */\nexport const file_promotion_QueryPlayerEgg: GenFile = /*@__PURE__*/\n fileDesc(\"Ch5wcm9tb3Rpb24vUXVlcnlQbGF5ZXJFZ2cucHJvdG8SCXByb21vdGlvbiJDChFRdWVyeVBsYXllckVnZ1JlcRIUCgxldmVudF9vYmpfaWQYASABKAkSGAoQcXVlcnlfY2xhaW1fZGF0ZRgCIAEoCCLZBAoRUXVlcnlQbGF5ZXJFZ2dSZXMSKwoNYmFzZV9yZXNwb25zZRgBIAEoCzIULmNvbW1vbi5CYXNlUmVzcG9uc2USLwoEZGF0YRgCIAEoCzIhLnByb21vdGlvbi5RdWVyeVBsYXllckVnZ1Jlcy5EYXRhGuUDCgREYXRhEigKCnBsYXllcl9lZ2cYASABKAsyFC5wcm9tb3Rpb24uUGxheWVyRWdnEhMKC3RvdGFsX2NsYWltGAIgASgBEhwKFHBsYXRmb3JtX3RvdGFsX2NsYWltGAMgASgBEhUKDXN0cmVha19vZl9kYXkYBCABKAUSEwoLZGF5X29mX3dlZWsYBSABKAUSLAoNd2Vla2x5X3Jld2FyZBgGIAMoCzIVLnByb21vdGlvbi5DYXJkUmVjb3JkEhEKCWlzX2Jhbm5lchgHIAEoCBIQCgNhcHAYCCABKAhIAIgBARISCgVlbWFpbBgJIAEoCEgBiAEBEhAKA2t5YxgKIAEoCEgCiAEBEhMKC2RhaWx5X2NsYWltGAsgASgIEhUKDXR1dG9yaWFsX2ZsYWcYDCABKAgSEgoKY3ljbGVfd2VlaxgNIAEoBRIPCgdidWxnYXJpGA4gASgIEhQKB21pc3Npb24YDyABKAhIA4gBARIXCg9pc19yaXNrX2NvbnRyb2wYECABKAgSGAoQaGFzX2Jvb3N0X3Jld2FyZBgRIAEoCBIbChNjaHJpc3RtYXNfdHJlZV90eXBlGBIgASgFQgYKBF9hcHBCCAoGX2VtYWlsQgYKBF9reWNCCgoIX21pc3Npb25iBnByb3RvMw\", [file_common_Common, file_promotion_PromotionCommon]);\n\n/**\n * @generated from message promotion.QueryPlayerEggReq\n */\nexport type QueryPlayerEggReq = Message<\"promotion.QueryPlayerEggReq\"> & {\n /**\n * @generated from field: string event_obj_id = 1;\n */\n eventObjId: string;\n\n /**\n * @generated from field: bool query_claim_date = 2;\n */\n queryClaimDate: boolean;\n};\n\n/**\n * Describes the message promotion.QueryPlayerEggReq.\n * Use `create(QueryPlayerEggReqSchema)` to create a new message.\n */\nexport const QueryPlayerEggReqSchema: GenMessage<QueryPlayerEggReq> = /*@__PURE__*/\n messageDesc(file_promotion_QueryPlayerEgg, 0);\n\n/**\n * @generated from message promotion.QueryPlayerEggRes\n */\nexport type QueryPlayerEggRes = Message<\"promotion.QueryPlayerEggRes\"> & {\n /**\n * @generated from field: common.BaseResponse base_response = 1;\n */\n baseResponse?: BaseResponse;\n\n /**\n * @generated from field: promotion.QueryPlayerEggRes.Data data = 2;\n */\n data?: QueryPlayerEggRes_Data;\n};\n\n/**\n * Describes the message promotion.QueryPlayerEggRes.\n * Use `create(QueryPlayerEggResSchema)` to create a new message.\n */\nexport const QueryPlayerEggResSchema: GenMessage<QueryPlayerEggRes> = /*@__PURE__*/\n messageDesc(file_promotion_QueryPlayerEgg, 1);\n\n/**\n * @generated from message promotion.QueryPlayerEggRes.Data\n */\nexport type QueryPlayerEggRes_Data = Message<\"promotion.QueryPlayerEggRes.Data\"> & {\n /**\n * @generated from field: promotion.PlayerEgg player_egg = 1;\n */\n playerEgg?: PlayerEgg;\n\n /**\n * @generated from field: double total_claim = 2;\n */\n totalClaim: number;\n\n /**\n * @generated from field: double platform_total_claim = 3;\n */\n platformTotalClaim: number;\n\n /**\n * @generated from field: int32 streak_of_day = 4;\n */\n streakOfDay: number;\n\n /**\n * @generated from field: int32 day_of_week = 5;\n */\n dayOfWeek: number;\n\n /**\n * @generated from field: repeated promotion.CardRecord weekly_reward = 6;\n */\n weeklyReward: CardRecord[];\n\n /**\n * @generated from field: bool is_banner = 7;\n */\n isBanner: boolean;\n\n /**\n * @generated from field: optional bool app = 8;\n */\n app?: boolean;\n\n /**\n * @generated from field: optional bool email = 9;\n */\n email?: boolean;\n\n /**\n * @generated from field: optional bool kyc = 10;\n */\n kyc?: boolean;\n\n /**\n * @generated from field: bool daily_claim = 11;\n */\n dailyClaim: boolean;\n\n /**\n * @generated from field: bool tutorial_flag = 12;\n */\n tutorialFlag: boolean;\n\n /**\n * @generated from field: int32 cycle_week = 13;\n */\n cycleWeek: number;\n\n /**\n * @generated from field: bool bulgari = 14;\n */\n bulgari: boolean;\n\n /**\n * @generated from field: optional bool mission = 15;\n */\n mission?: boolean;\n\n /**\n * @generated from field: bool is_risk_control = 16;\n */\n isRiskControl: boolean;\n\n /**\n * @generated from field: bool has_boost_reward = 17;\n */\n hasBoostReward: boolean;\n\n /**\n * @generated from field: int32 christmas_tree_type = 18;\n */\n christmasTreeType: number;\n};\n\n/**\n * Describes the message promotion.QueryPlayerEggRes.Data.\n * Use `create(QueryPlayerEggRes_DataSchema)` to create a new message.\n */\nexport const QueryPlayerEggRes_DataSchema: GenMessage<QueryPlayerEggRes_Data> = /*@__PURE__*/\n messageDesc(file_promotion_QueryPlayerEgg, 1, 0);\n\n","// @generated by protoc-gen-es v2.10.2 with parameter \"target=ts\"\n// @generated from file promotion/UpdateTutorialFlag.proto (package promotion, syntax proto3)\n/* eslint-disable */\n\nimport type { GenFile, GenMessage } from \"@bufbuild/protobuf/codegenv2\";\nimport { fileDesc, messageDesc } from \"@bufbuild/protobuf/codegenv2\";\nimport type { BaseResponse } from \"../common/Common_pb\";\nimport { file_common_Common } from \"../common/Common_pb\";\nimport type { Message } from \"@bufbuild/protobuf\";\n\n/**\n * Describes the file promotion/UpdateTutorialFlag.proto.\n */\nexport const file_promotion_UpdateTutorialFlag: GenFile = /*@__PURE__*/\n fileDesc(\"CiJwcm9tb3Rpb24vVXBkYXRlVHV0b3JpYWxGbGFnLnByb3RvEglwcm9tb3Rpb24iLQoVVXBkYXRlVHV0b3JpYWxGbGFnUmVxEhQKDGV2ZW50X29ial9pZBgBIAEoCSJEChVVcGRhdGVUdXRvcmlhbEZsYWdSZXMSKwoNYmFzZV9yZXNwb25zZRgBIAEoCzIULmNvbW1vbi5CYXNlUmVzcG9uc2ViBnByb3RvMw\", [file_common_Common]);\n\n/**\n * @generated from message promotion.UpdateTutorialFlagReq\n */\nexport type UpdateTutorialFlagReq = Message<\"promotion.UpdateTutorialFlagReq\"> & {\n /**\n * @generated from field: string event_obj_id = 1;\n */\n eventObjId: string;\n};\n\n/**\n * Describes the message promotion.UpdateTutorialFlagReq.\n * Use `create(UpdateTutorialFlagReqSchema)` to create a new message.\n */\nexport const UpdateTutorialFlagReqSchema: GenMessage<UpdateTutorialFlagReq> = /*@__PURE__*/\n messageDesc(file_promotion_UpdateTutorialFlag, 0);\n\n/**\n * @generated from message promotion.UpdateTutorialFlagRes\n */\nexport type UpdateTutorialFlagRes = Message<\"promotion.UpdateTutorialFlagRes\"> & {\n /**\n * @generated from field: common.BaseResponse base_response = 1;\n */\n baseResponse?: BaseResponse;\n};\n\n/**\n * Describes the message promotion.UpdateTutorialFlagRes.\n * Use `create(UpdateTutorialFlagResSchema)` to create a new message.\n */\nexport const UpdateTutorialFlagResSchema: GenMessage<UpdateTutorialFlagRes> = /*@__PURE__*/\n messageDesc(file_promotion_UpdateTutorialFlag, 1);\n\n","// @generated by protoc-gen-es v2.10.2 with parameter \"target=ts\"\n// @generated from file promotion/ReferralAssistance.proto (package promotion, syntax proto3)\n/* eslint-disable */\n\nimport type { GenFile, GenMessage } from \"@bufbuild/protobuf/codegenv2\";\nimport { fileDesc, messageDesc } from \"@bufbuild/protobuf/codegenv2\";\nimport type { BaseResponse } from \"../common/Common_pb\";\nimport { file_common_Common } from \"../common/Common_pb\";\nimport type { CollectType } from \"./PromotionCommon_pb\";\nimport { file_promotion_PromotionCommon } from \"./PromotionCommon_pb\";\nimport type { Message } from \"@bufbuild/protobuf\";\n\n/**\n * Describes the file promotion/ReferralAssistance.proto.\n */\nexport const file_promotion_ReferralAssistance: GenFile = /*@__PURE__*/\n fileDesc(\"CiJwcm9tb3Rpb24vUmVmZXJyYWxBc3Npc3RhbmNlLnByb3RvEglwcm9tb3Rpb24ibgoVUmVmZXJyYWxBc3Npc3RhbmNlUmVxEhQKDGV2ZW50X29ial9pZBgBIAEoCRITCgtyZWNlaXZlcl9pZBgCIAEoCRIVCg1yZXdhcmRfb2JqX2lkGAMgASgJEhMKC3BsYXRmb3JtX2lkGAQgASgJIqIHChVSZWZlcnJhbEFzc2lzdGFuY2VSZXMSKwoNYmFzZV9yZXNwb25zZRgBIAEoCzIULmNvbW1vbi5CYXNlUmVzcG9uc2USMwoEZGF0YRgCIAEoCzIlLnByb21vdGlvbi5SZWZlcnJhbEFzc2lzdGFuY2VSZXMuRGF0YRo6CgxGcmVlU3BpbkluZm8SEQoJZ2FtZV9uYW1lGAEgASgJEhcKD2ZyZWVfc3Bpbl90aW1lcxgCIAEoBRq0AQoNQXNzaXN0SGlzdG9yeRIRCgluaWNrX25hbWUYASABKAkSEQoJbWlsZXN0b25lGAIgASgIEhgKEG1pbGVzdG9uZV9hbW91bnQYAyABKAESQAoJZnJlZV9zcGluGAQgASgLMi0ucHJvbW90aW9uLlJlZmVycmFsQXNzaXN0YW5jZVJlcy5GcmVlU3BpbkluZm8SEgoKY3JlYXRlZF9hdBgFIAEoCRINCgVpc19tZRgGIAEoCBrxAgoKUmV3YXJkRGF0YRIRCglwbGF5ZXJfaWQYASABKAkSEQoJY2FyZF9uYW1lGAIgASgJEiwKDGNvbGxlY3RfdHlwZRgDIAEoDjIWLnByb21vdGlvbi5Db2xsZWN0VHlwZRIUCgxjb2xsZWN0X25vdGUYBCABKAkSFAoMcmVwbGFjZV9jYXJkGAUgASgIEhIKCmNyZWF0ZWRfYXQYBiABKAkSEgoKZXZlbnRfbmFtZRgHIAEoCRIOCgZhbW91bnQYCCABKAESEAoIcmVjZWl2ZWQYCSABKAgSEwoLc2tpcF90YXJnZXQYCiABKAgSDwoHdXBncmFkZRgLIAEoCBIKCgJpZBgMIAEoCRIVCg10YXJnZXRfYW1vdW50GBQgASgBEhIKCmNhbl9hc3Npc3QYFSABKAgSEQoJbWlsZXN0b25lGBYgASgBEhQKDGJvb3N0X2Ftb3VudBgXIAEoARITCgtsZWZ0X2Ftb3VudBgYIAEoARq/AQoERGF0YRJGCg5hc3Npc3RfaGlzdG9yeRgBIAMoCzIuLnByb21vdGlvbi5SZWZlcnJhbEFzc2lzdGFuY2VSZXMuQXNzaXN0SGlzdG9yeRJACgtyZXdhcmRfZGF0YRgCIAEoCzIrLnByb21vdGlvbi5SZWZlcnJhbEFzc2lzdGFuY2VSZXMuUmV3YXJkRGF0YRIVCg1pc19uZXdfcGxheWVyGAMgASgIEhYKDmlzX2ZpcnN0X3BvcHVwGAQgASgIYgZwcm90bzM\", [file_common_Common, file_promotion_PromotionCommon]);\n\n/**\n * @generated from message promotion.ReferralAssistanceReq\n */\nexport type ReferralAssistanceReq = Message<\"promotion.ReferralAssistanceReq\"> & {\n /**\n * @generated from field: string event_obj_id = 1;\n */\n eventObjId: string;\n\n /**\n * @generated from field: string receiver_id = 2;\n */\n receiverId: string;\n\n /**\n * @generated from field: string reward_obj_id = 3;\n */\n rewardObjId: string;\n\n /**\n * @generated from field: string platform_id = 4;\n */\n platformId: string;\n};\n\n/**\n * Describes the message promotion.ReferralAssistanceReq.\n * Use `create(ReferralAssistanceReqSchema)` to create a new message.\n */\nexport const ReferralAssistanceReqSchema: GenMessage<ReferralAssistanceReq> = /*@__PURE__*/\n messageDesc(file_promotion_ReferralAssistance, 0);\n\n/**\n * @generated from message promotion.ReferralAssistanceRes\n */\nexport type ReferralAssistanceRes = Message<\"promotion.ReferralAssistanceRes\"> & {\n /**\n * @generated from field: common.BaseResponse base_response = 1;\n */\n baseResponse?: BaseResponse;\n\n /**\n * @generated from field: promotion.ReferralAssistanceRes.Data data = 2;\n */\n data?: ReferralAssistanceRes_Data;\n};\n\n/**\n * Describes the message promotion.ReferralAssistanceRes.\n * Use `create(ReferralAssistanceResSchema)` to create a new message.\n */\nexport const ReferralAssistanceResSchema: GenMessage<ReferralAssistanceRes> = /*@__PURE__*/\n messageDesc(file_promotion_ReferralAssistance, 1);\n\n/**\n * @generated from message promotion.ReferralAssistanceRes.FreeSpinInfo\n */\nexport type ReferralAssistanceRes_FreeSpinInfo = Message<\"promotion.ReferralAssistanceRes.FreeSpinInfo\"> & {\n /**\n * @generated from field: string game_name = 1;\n */\n gameName: string;\n\n /**\n * @generated from field: int32 free_spin_times = 2;\n */\n freeSpinTimes: number;\n};\n\n/**\n * Describes the message promotion.ReferralAssistanceRes.FreeSpinInfo.\n * Use `create(ReferralAssistanceRes_FreeSpinInfoSchema)` to create a new message.\n */\nexport const ReferralAssistanceRes_FreeSpinInfoSchema: GenMessage<ReferralAssistanceRes_FreeSpinInfo> = /*@__PURE__*/\n messageDesc(file_promotion_ReferralAssistance, 1, 0);\n\n/**\n * @generated from message promotion.ReferralAssistanceRes.AssistHistory\n */\nexport type ReferralAssistanceRes_AssistHistory = Message<\"promotion.ReferralAssistanceRes.AssistHistory\"> & {\n /**\n * @generated from field: string nick_name = 1;\n */\n nickName: string;\n\n /**\n * @generated from field: bool milestone = 2;\n */\n milestone: boolean;\n\n /**\n * @generated from field: double milestone_amount = 3;\n */\n milestoneAmount: number;\n\n /**\n * @generated from field: promotion.ReferralAssistanceRes.FreeSpinInfo free_spin = 4;\n */\n freeSpin?: ReferralAssistanceRes_FreeSpinInfo;\n\n /**\n * @generated from field: string created_at = 5;\n */\n createdAt: string;\n\n /**\n * @generated from field: bool is_me = 6;\n */\n isMe: boolean;\n};\n\n/**\n * Describes the message promotion.ReferralAssistanceRes.AssistHistory.\n * Use `create(ReferralAssistanceRes_AssistHistorySchema)` to create a new message.\n */\nexport const ReferralAssistanceRes_AssistHistorySchema: GenMessage<ReferralAssistanceRes_AssistHistory> = /*@__PURE__*/\n messageDesc(file_promotion_ReferralAssistance, 1, 1);\n\n/**\n * @generated from message promotion.ReferralAssistanceRes.RewardData\n */\nexport type ReferralAssistanceRes_RewardData = Message<\"promotion.ReferralAssistanceRes.RewardData\"> & {\n /**\n * @generated from field: string player_id = 1;\n */\n playerId: string;\n\n /**\n * @generated from field: string card_name = 2;\n */\n cardName: string;\n\n /**\n * @generated from field: promotion.CollectType collect_type = 3;\n */\n collectType: CollectType;\n\n /**\n * @generated from field: string collect_note = 4;\n */\n collectNote: string;\n\n /**\n * @generated from field: bool replace_card = 5;\n */\n replaceCard: boolean;\n\n /**\n * @generated from field: string created_at = 6;\n */\n createdAt: string;\n\n /**\n * @generated from field: string event_name = 7;\n */\n eventName: string;\n\n /**\n * @generated from field: double amount = 8;\n */\n amount: number;\n\n /**\n * @generated from field: bool received = 9;\n */\n received: boolean;\n\n /**\n * @generated from field: bool skip_target = 10;\n */\n skipTarget: boolean;\n\n /**\n * @generated from field: bool upgrade = 11;\n */\n upgrade: boolean;\n\n /**\n * @generated from field: string id = 12;\n */\n id: string;\n\n /**\n * @generated from field: double target_amount = 20;\n */\n targetAmount: number;\n\n /**\n * @generated from field: bool can_assist = 21;\n */\n canAssist: boolean;\n\n /**\n * @generated from field: double milestone = 22;\n */\n milestone: number;\n\n /**\n * @generated from field: double boost_amount = 23;\n */\n boostAmount: number;\n\n /**\n * @generated from field: double left_amount = 24;\n */\n leftAmount: number;\n};\n\n/**\n * Describes the message promotion.ReferralAssistanceRes.RewardData.\n * Use `create(ReferralAssistanceRes_RewardDataSchema)` to create a new message.\n */\nexport const ReferralAssistanceRes_RewardDataSchema: GenMessage<ReferralAssistanceRes_RewardData> = /*@__PURE__*/\n messageDesc(file_promotion_ReferralAssistance, 1, 2);\n\n/**\n * @generated from message promotion.ReferralAssistanceRes.Data\n */\nexport type ReferralAssistanceRes_Data = Message<\"promotion.ReferralAssistanceRes.Data\"> & {\n /**\n * @generated from field: repeated promotion.ReferralAssistanceRes.AssistHistory assist_history = 1;\n */\n assistHistory: ReferralAssistanceRes_AssistHistory[];\n\n /**\n * @generated from field: promotion.ReferralAssistanceRes.RewardData reward_data = 2;\n */\n rewardData?: ReferralAssistanceRes_RewardData;\n\n /**\n * @generated from field: bool is_new_player = 3;\n */\n isNewPlayer: boolean;\n\n /**\n * @generated from field: bool is_first_popup = 4;\n */\n isFirstPopup: boolean;\n};\n\n/**\n * Describes the message promotion.ReferralAssistanceRes.Data.\n * Use `create(ReferralAssistanceRes_DataSchema)` to create a new message.\n */\nexport const ReferralAssistanceRes_DataSchema: GenMessage<ReferralAssistanceRes_Data> = /*@__PURE__*/\n messageDesc(file_promotion_ReferralAssistance, 1, 3);\n\n","// @generated by protoc-gen-es v2.10.2 with parameter \"target=ts\"\n// @generated from file promotion/GetSingleRewardInfo.proto (package promotion, syntax proto3)\n/* eslint-disable */\n\nimport type { GenFile, GenMessage } from \"@bufbuild/protobuf/codegenv2\";\nimport { fileDesc, messageDesc } from \"@bufbuild/protobuf/codegenv2\";\nimport type { BaseResponse } from \"../common/Common_pb\";\nimport { file_common_Common } from \"../common/Common_pb\";\nimport type { CollectType } from \"./PromotionCommon_pb\";\nimport { file_promotion_PromotionCommon } from \"./PromotionCommon_pb\";\nimport type { Message } from \"@bufbuild/protobuf\";\n\n/**\n * Describes the file promotion/GetSingleRewardInfo.proto.\n */\nexport const file_promotion_GetSingleRewardInfo: GenFile = /*@__PURE__*/\n fileDesc(\"CiNwcm9tb3Rpb24vR2V0U2luZ2xlUmV3YXJkSW5mby5wcm90bxIJcHJvbW90aW9uIloKFkdldFNpbmdsZVJld2FyZEluZm9SZXESEwoLcGxhdGZvcm1faWQYASABKAkSFQoNcmV3YXJkX29ial9pZBgCIAEoCRIUCgxldmVudF9vYmpfaWQYAyABKAkipQgKFkdldFNpbmdsZVJld2FyZEluZm9SZXMSKwoNYmFzZV9yZXNwb25zZRgBIAEoCzIULmNvbW1vbi5CYXNlUmVzcG9uc2USNAoEZGF0YRgCIAEoCzImLnByb21vdGlvbi5HZXRTaW5nbGVSZXdhcmRJbmZvUmVzLkRhdGEangQKClJld2FyZERhdGESEQoJcGxheWVyX2lkGAEgASgJEhEKCWNhcmRfbmFtZRgCIAEoCRIsCgxjb2xsZWN0X3R5cGUYAyABKA4yFi5wcm9tb3Rpb24uQ29sbGVjdFR5cGUSFAoMY29sbGVjdF9ub3RlGAQgASgJEhQKDHJlcGxhY2VfY2FyZBgFIAEoCBISCgpjcmVhdGVkX2F0GAYgASgJEhIKCmV2ZW50X25hbWUYByABKAkSDgoGYW1vdW50GAggASgBEhAKCHJlY2VpdmVkGAkgASgIEhMKC3NraXBfdGFyZ2V0GAogASgIEg8KB3VwZ3JhZGUYCyABKAgSCgoCaWQYDCABKAkSFAoMYXNzaXN0X2NvdW50GA0gASgFEhQKDGV4cGlyZWRfZGF0ZRgOIAEoCRIeChZhY2N1bXVsYXRlX3BlcmNlbnRhZ2VzGA8gASgBEhMKC2RheV9vZl93ZWVrGBAgASgFEhkKEWFjY3VtdWxhdGVfYW1vdW50GBEgASgBEg4KBm5vdGlmeRgSIAEoCBILCgNkYXkYEyABKAUSFQoNdGFyZ2V0X2Ftb3VudBgUIAEoARISCgpjYW5fYXNzaXN0GBUgASgIEhEKCW1pbGVzdG9uZRgWIAEoARIUCgxib29zdF9hbW91bnQYFyABKAESEwoLbGVmdF9hbW91bnQYGCABKAESEgoKY2xhaW1fZGF0ZRgZIAEoCRo6CgxGcmVlU3BpbkluZm8SEQoJZ2FtZV9uYW1lGAEgASgJEhcKD2ZyZWVfc3Bpbl90aW1lcxgCIAEoBRq1AQoNQXNzaXN0SGlzdG9yeRIRCgluaWNrX25hbWUYASABKAkSEQoJbWlsZXN0b25lGAIgASgBEhgKEG1pbGVzdG9uZV9hbW91bnQYAyABKAESQQoJZnJlZV9zcGluGAQgASgLMi4ucHJvbW90aW9uLkdldFNpbmdsZVJld2FyZEluZm9SZXMuRnJlZVNwaW5JbmZvEhIKCmNyZWF0ZWRfYXQYBSABKAkSDQoFaXNfbWUYBiABKAgakgEKBERhdGESQQoLcmV3YXJkX2RhdGEYASABKAsyLC5wcm9tb3Rpb24uR2V0U2luZ2xlUmV3YXJkSW5mb1Jlcy5SZXdhcmREYXRhEkcKDmFzc2lzdF9oaXN0b3J5GAIgAygLMi8ucHJvbW90aW9uLkdldFNpbmdsZVJld2FyZEluZm9SZXMuQXNzaXN0SGlzdG9yeWIGcHJvdG8z\", [file_common_Common, file_promotion_PromotionCommon]);\n\n/**\n * @generated from message promotion.GetSingleRewardInfoReq\n */\nexport type GetSingleRewardInfoReq = Message<\"promotion.GetSingleRewardInfoReq\"> & {\n /**\n * @generated from field: string platform_id = 1;\n */\n platformId: string;\n\n /**\n * @generated from field: string reward_obj_id = 2;\n */\n rewardObjId: string;\n\n /**\n * @generated from field: string event_obj_id = 3;\n */\n eventObjId: string;\n};\n\n/**\n * Describes the message promotion.GetSingleRewardInfoReq.\n * Use `create(GetSingleRewardInfoReqSchema)` to create a new message.\n */\nexport const GetSingleRewardInfoReqSchema: GenMessage<GetSingleRewardInfoReq> = /*@__PURE__*/\n messageDesc(file_promotion_GetSingleRewardInfo, 0);\n\n/**\n * @generated from message promotion.GetSingleRewardInfoRes\n */\nexport type GetSingleRewardInfoRes = Message<\"promotion.GetSingleRewardInfoRes\"> & {\n /**\n * @generated from field: common.BaseResponse base_response = 1;\n */\n baseResponse?: BaseResponse;\n\n /**\n * @generated from field: promotion.GetSingleRewardInfoRes.Data data = 2;\n */\n data?: GetSingleRewardInfoRes_Data;\n};\n\n/**\n * Describes the message promotion.GetSingleRewardInfoRes.\n * Use `create(GetSingleRewardInfoResSchema)` to create a new message.\n */\nexport const GetSingleRewardInfoResSchema: GenMessage<GetSingleRewardInfoRes> = /*@__PURE__*/\n messageDesc(file_promotion_GetSingleRewardInfo, 1);\n\n/**\n * @generated from message promotion.GetSingleRewardInfoRes.RewardData\n */\nexport type GetSingleRewardInfoRes_RewardData = Message<\"promotion.GetSingleRewardInfoRes.RewardData\"> & {\n /**\n * @generated from field: string player_id = 1;\n */\n playerId: string;\n\n /**\n * @generated from field: string card_name = 2;\n */\n cardName: string;\n\n /**\n * @generated from field: promotion.CollectType collect_type = 3;\n */\n collectType: CollectType;\n\n /**\n * @generated from field: string collect_note = 4;\n */\n collectNote: string;\n\n /**\n * @generated from field: bool replace_card = 5;\n */\n replaceCard: boolean;\n\n /**\n * @generated from field: string created_at = 6;\n */\n createdAt: string;\n\n /**\n * @generated from field: string event_name = 7;\n */\n eventName: string;\n\n /**\n * @generated from field: double amount = 8;\n */\n amount: number;\n\n /**\n * @generated from field: bool received = 9;\n */\n received: boolean;\n\n /**\n * @generated from field: bool skip_target = 10;\n */\n skipTarget: boolean;\n\n /**\n * @generated from field: bool upgrade = 11;\n */\n upgrade: boolean;\n\n /**\n * @generated from field: string id = 12;\n */\n id: string;\n\n /**\n * @generated from field: int32 assist_count = 13;\n */\n assistCount: number;\n\n /**\n * @generated from field: string expired_date = 14;\n */\n expiredDate: string;\n\n /**\n * @generated from field: double accumulate_percentages = 15;\n */\n accumulatePercentages: number;\n\n /**\n * @generated from field: int32 day_of_week = 16;\n */\n dayOfWeek: number;\n\n /**\n * @generated from field: double accumulate_amount = 17;\n */\n accumulateAmount: number;\n\n /**\n * @generated from field: bool notify = 18;\n */\n notify: boolean;\n\n /**\n * @generated from field: int32 day = 19;\n */\n day: number;\n\n /**\n * @generated from field: double target_amount = 20;\n */\n targetAmount: number;\n\n /**\n * @generated from field: bool can_assist = 21;\n */\n canAssist: boolean;\n\n /**\n * @generated from field: double milestone = 22;\n */\n milestone: number;\n\n /**\n * @generated from field: double boost_amount = 23;\n */\n boostAmount: number;\n\n /**\n * @generated from field: double left_amount = 24;\n */\n leftAmount: number;\n\n /**\n * @generated from field: string claim_date = 25;\n */\n claimDate: string;\n};\n\n/**\n * Describes the message promotion.GetSingleRewardInfoRes.RewardData.\n * Use `create(GetSingleRewardInfoRes_RewardDataSchema)` to create a new message.\n */\nexport const GetSingleRewardInfoRes_RewardDataSchema: GenMessage<GetSingleRewardInfoRes_RewardData> = /*@__PURE__*/\n messageDesc(file_promotion_GetSingleRewardInfo, 1, 0);\n\n/**\n * @generated from message promotion.GetSingleRewardInfoRes.FreeSpinInfo\n */\nexport type GetSingleRewardInfoRes_FreeSpinInfo = Message<\"promotion.GetSingleRewardInfoRes.FreeSpinInfo\"> & {\n /**\n * @generated from field: string game_name = 1;\n */\n gameName: string;\n\n /**\n * @generated from field: int32 free_spin_times = 2;\n */\n freeSpinTimes: number;\n};\n\n/**\n * Describes the message promotion.GetSingleRewardInfoRes.FreeSpinInfo.\n * Use `create(GetSingleRewardInfoRes_FreeSpinInfoSchema)` to create a new message.\n */\nexport const GetSingleRewardInfoRes_FreeSpinInfoSchema: GenMessage<GetSingleRewardInfoRes_FreeSpinInfo> = /*@__PURE__*/\n messageDesc(file_promotion_GetSingleRewardInfo, 1, 1);\n\n/**\n * @generated from message promotion.GetSingleRewardInfoRes.AssistHistory\n */\nexport type GetSingleRewardInfoRes_AssistHistory = Message<\"promotion.GetSingleRewardInfoRes.AssistHistory\"> & {\n /**\n * @generated from field: string nick_name = 1;\n */\n nickName: string;\n\n /**\n * @generated from field: double milestone = 2;\n */\n milestone: number;\n\n /**\n * @generated from field: double milestone_amount = 3;\n */\n milestoneAmount: number;\n\n /**\n * @generated from field: promotion.GetSingleRewardInfoRes.FreeSpinInfo free_spin = 4;\n */\n freeSpin?: GetSingleRewardInfoRes_FreeSpinInfo;\n\n /**\n * @generated from field: string created_at = 5;\n */\n createdAt: string;\n\n /**\n * @generated from field: bool is_me = 6;\n */\n isMe: boolean;\n};\n\n/**\n * Describes the message promotion.GetSingleRewardInfoRes.AssistHistory.\n * Use `create(GetSingleRewardInfoRes_AssistHistorySchema)` to create a new message.\n */\nexport const GetSingleRewardInfoRes_AssistHistorySchema: GenMessage<GetSingleRewardInfoRes_AssistHistory> = /*@__PURE__*/\n messageDesc(file_promotion_GetSingleRewardInfo, 1, 2);\n\n/**\n * @generated from message promotion.GetSingleRewardInfoRes.Data\n */\nexport type GetSingleRewardInfoRes_Data = Message<\"promotion.GetSingleRewardInfoRes.Data\"> & {\n /**\n * @generated from field: promotion.GetSingleRewardInfoRes.RewardData reward_data = 1;\n */\n rewardData?: GetSingleRewardInfoRes_RewardData;\n\n /**\n * @generated from field: repeated promotion.GetSingleRewardInfoRes.AssistHistory assist_history = 2;\n */\n assistHistory: GetSingleRewardInfoRes_AssistHistory[];\n};\n\n/**\n * Describes the message promotion.GetSingleRewardInfoRes.Data.\n * Use `create(GetSingleRewardInfoRes_DataSchema)` to create a new message.\n */\nexport const GetSingleRewardInfoRes_DataSchema: GenMessage<GetSingleRewardInfoRes_Data> = /*@__PURE__*/\n messageDesc(file_promotion_GetSingleRewardInfo, 1, 3);\n\n","// @generated by protoc-gen-es v2.10.2 with parameter \"target=ts\"\n// @generated from file promotion/GetPlayerRedPacketRecords.proto (package promotion, syntax proto3)\n/* eslint-disable */\n\nimport type { GenFile, GenMessage } from \"@bufbuild/protobuf/codegenv2\";\nimport { fileDesc, messageDesc } from \"@bufbuild/protobuf/codegenv2\";\nimport type { BaseResponse, DateTimeRangeFilter, Pagination, PaginationBaseResponse } from \"../common/Common_pb\";\nimport { file_common_Common } from \"../common/Common_pb\";\nimport type { Message } from \"@bufbuild/protobuf\";\n\n/**\n * Describes the file promotion/GetPlayerRedPacketRecords.proto.\n */\nexport const file_promotion_GetPlayerRedPacketRecords: GenFile = /*@__PURE__*/\n fileDesc(\"Cilwcm9tb3Rpb24vR2V0UGxheWVyUmVkUGFja2V0UmVjb3Jkcy5wcm90bxIJcHJvbW90aW9uIoMBChxHZXRQbGF5ZXJSZWRQYWNrZXRSZWNvcmRzUmVxEjsKFmRhdGVfdGltZV9yYW5nZV9maWx0ZXIYASABKAsyGy5jb21tb24uRGF0ZVRpbWVSYW5nZUZpbHRlchImCgpwYWdpbmF0aW9uGAIgASgLMhIuY29tbW9uLlBhZ2luYXRpb24izQMKHEdldFBsYXllclJlZFBhY2tldFJlY29yZHNSZXMSKwoNYmFzZV9yZXNwb25zZRgBIAEoCzIULmNvbW1vbi5CYXNlUmVzcG9uc2USOgoEZGF0YRgCIAEoCzIsLnByb21vdGlvbi5HZXRQbGF5ZXJSZWRQYWNrZXRSZWNvcmRzUmVzLkRhdGEatgEKFVBsYXllclJlZFBhY2tldFJlY29yZBITCgtwbGF5ZXJfbmFtZRgBIAEoCRIOCgZhbW91bnQYAiABKAESEAoIZXZlbnRfaWQYAyABKAkSDwoHc2Vzc2lvbhgEIAEoCRIPCgdyZW1hcmtzGAUgASgJEhEKCWRyYXdfdGltZRgGIAEoCRITCgtjcmVhdGVfdGltZRgHIAEoCRIcChRjcmVkaXRfYWZ0ZXJfYmFsYW5jZRgIIAEoARqKAQoERGF0YRJOCgdyZXN1bHRzGAEgAygLMj0ucHJvbW90aW9uLkdldFBsYXllclJlZFBhY2tldFJlY29yZHNSZXMuUGxheWVyUmVkUGFja2V0UmVjb3JkEjIKCnBhZ2luYXRpb24YAiABKAsyHi5jb21tb24uUGFnaW5hdGlvbkJhc2VSZXNwb25zZWIGcHJvdG8z\", [file_common_Common]);\n\n/**\n * @generated from message promotion.GetPlayerRedPacketRecordsReq\n */\nexport type GetPlayerRedPacketRecordsReq = Message<\"promotion.GetPlayerRedPacketRecordsReq\"> & {\n /**\n * @generated from field: common.DateTimeRangeFilter date_time_range_filter = 1;\n */\n dateTimeRangeFilter?: DateTimeRangeFilter;\n\n /**\n * @generated from field: common.Pagination pagination = 2;\n */\n pagination?: Pagination;\n};\n\n/**\n * Describes the message promotion.GetPlayerRedPacketRecordsReq.\n * Use `create(GetPlayerRedPacketRecordsReqSchema)` to create a new message.\n */\nexport const GetPlayerRedPacketRecordsReqSchema: GenMessage<GetPlayerRedPacketRecordsReq> = /*@__PURE__*/\n messageDesc(file_promotion_GetPlayerRedPacketRecords, 0);\n\n/**\n * @generated from message promotion.GetPlayerRedPacketRecordsRes\n */\nexport type GetPlayerRedPacketRecordsRes = Message<\"promotion.GetPlayerRedPacketRecordsRes\"> & {\n /**\n * @generated from field: common.BaseResponse base_response = 1;\n */\n baseResponse?: BaseResponse;\n\n /**\n * @generated from field: promotion.GetPlayerRedPacketRecordsRes.Data data = 2;\n */\n data?: GetPlayerRedPacketRecordsRes_Data;\n};\n\n/**\n * Describes the message promotion.GetPlayerRedPacketRecordsRes.\n * Use `create(GetPlayerRedPacketRecordsResSchema)` to create a new message.\n */\nexport const GetPlayerRedPacketRecordsResSchema: GenMessage<GetPlayerRedPacketRecordsRes> = /*@__PURE__*/\n messageDesc(file_promotion_GetPlayerRedPacketRecords, 1);\n\n/**\n * @generated from message promotion.GetPlayerRedPacketRecordsRes.PlayerRedPacketRecord\n */\nexport type GetPlayerRedPacketRecordsRes_PlayerRedPacketRecord = Message<\"promotion.GetPlayerRedPacketRecordsRes.PlayerRedPacketRecord\"> & {\n /**\n * @generated from field: string player_name = 1;\n */\n playerName: string;\n\n /**\n * @generated from field: double amount = 2;\n */\n amount: number;\n\n /**\n * @generated from field: string event_id = 3;\n */\n eventId: string;\n\n /**\n * @generated from field: string session = 4;\n */\n session: string;\n\n /**\n * @generated from field: string remarks = 5;\n */\n remarks: string;\n\n /**\n * @generated from field: string draw_time = 6;\n */\n drawTime: string;\n\n /**\n * @generated from field: string create_time = 7;\n */\n createTime: string;\n\n /**\n * @generated from field: double credit_after_balance = 8;\n */\n creditAfterBalance: number;\n};\n\n/**\n * Describes the message promotion.GetPlayerRedPacketRecordsRes.PlayerRedPacketRecord.\n * Use `create(GetPlayerRedPacketRecordsRes_PlayerRedPacketRecordSchema)` to create a new message.\n */\nexport const GetPlayerRedPacketRecordsRes_PlayerRedPacketRecordSchema: GenMessage<GetPlayerRedPacketRecordsRes_PlayerRedPacketRecord> = /*@__PURE__*/\n messageDesc(file_promotion_GetPlayerRedPacketRecords, 1, 0);\n\n/**\n * @generated from message promotion.GetPlayerRedPacketRecordsRes.Data\n */\nexport type GetPlayerRedPacketRecordsRes_Data = Message<\"promotion.GetPlayerRedPacketRecordsRes.Data\"> & {\n /**\n * @generated from field: repeated promotion.GetPlayerRedPacketRecordsRes.PlayerRedPacketRecord results = 1;\n */\n results: GetPlayerRedPacketRecordsRes_PlayerRedPacketRecord[];\n\n /**\n * @generated from field: common.PaginationBaseResponse pagination = 2;\n */\n pagination?: PaginationBaseResponse;\n};\n\n/**\n * Describes the message promotion.GetPlayerRedPacketRecordsRes.Data.\n * Use `create(GetPlayerRedPacketRecordsRes_DataSchema)` to create a new message.\n */\nexport const GetPlayerRedPacketRecordsRes_DataSchema: GenMessage<GetPlayerRedPacketRecordsRes_Data> = /*@__PURE__*/\n messageDesc(file_promotion_GetPlayerRedPacketRecords, 1, 1);\n\n","import type { CallOptions } from '@connectrpc/connect'\nimport type { MessageInit } from '../client/grpcClient'\nimport { GrpcClient } from '../client/grpcClient'\nimport { AdminLiveDrawService } from '../grpcWeb/grpc/promotion/AdminLiveDrawService_pb'\nimport { FrontendCharityService } from '../grpcWeb/grpc/promotion/FrontendCharityService_pb'\nimport { FrontendLeaderboardService } from '../grpcWeb/grpc/promotion/FrontendLeaderboardService_pb'\nimport { FrontendLiveDrawService } from '../grpcWeb/grpc/promotion/FrontendLiveDrawService_pb'\nimport { FrontendPromotionService } from '../grpcWeb/grpc/promotion/FrontendPromotionService_pb'\nimport { FrontendService as PromotionFrontendService } from '../grpcWeb/grpc/promotion/FrontendService_pb'\nimport { FrontendSpecialEventService } from '../grpcWeb/grpc/promotion/FrontendSpecialEventService_pb'\nimport { EmptySchema } from '../grpcWeb/grpc/common/Common_pb'\nimport type { ConfirmLiveDrawRes } from '../grpcWeb/grpc/promotion/ConfirmLiveDraw_pb'\nimport { ConfirmLiveDrawReqSchema } from '../grpcWeb/grpc/promotion/ConfirmLiveDraw_pb'\nimport type { GetLiveDrawEventWinnerListRes } from '../grpcWeb/grpc/promotion/GetLiveDrawEventWinnerList_pb'\nimport { GetLiveDrawEventWinnerListReqSchema } from '../grpcWeb/grpc/promotion/GetLiveDrawEventWinnerList_pb'\nimport type { GetTodayCurrentRoundLiveDrawEventsRes } from '../grpcWeb/grpc/promotion/GetTodayCurrentRoundLiveDrawEvents_pb'\nimport { GetTodayCurrentRoundLiveDrawEventsReqSchema } from '../grpcWeb/grpc/promotion/GetTodayCurrentRoundLiveDrawEvents_pb'\nimport type { GetTodayLiveDrawEventsRes } from '../grpcWeb/grpc/promotion/GetTodayLiveDrawEvents_pb'\nimport { GetTodayLiveDrawEventsReqSchema } from '../grpcWeb/grpc/promotion/GetTodayLiveDrawEvents_pb'\nimport type { LiveDrawEventPhoneCallPlayerRes } from '../grpcWeb/grpc/promotion/LiveDrawEventPhoneCallPlayer_pb'\nimport { LiveDrawEventPhoneCallPlayerReqSchema } from '../grpcWeb/grpc/promotion/LiveDrawEventPhoneCallPlayer_pb'\nimport type { MakePhoneCallRes } from '../grpcWeb/grpc/promotion/MakePhoneCall_pb'\nimport { MakePhoneCallReqSchema } from '../grpcWeb/grpc/promotion/MakePhoneCall_pb'\nimport type { RedrawLiveDrawEventRes } from '../grpcWeb/grpc/promotion/RedrawLiveDrawEvent_pb'\nimport { RedrawLiveDrawEventReqSchema } from '../grpcWeb/grpc/promotion/RedrawLiveDrawEvent_pb'\nimport type { StartLiveDrawEventRes } from '../grpcWeb/grpc/promotion/StartLiveDrawEvent_pb'\nimport { StartLiveDrawEventReqSchema } from '../grpcWeb/grpc/promotion/StartLiveDrawEvent_pb'\nimport type { GetCharityDetailRes } from '../grpcWeb/grpc/promotion/GetCharityDetail_pb'\nimport type { GetPlayerCharityDetailRes } from '../grpcWeb/grpc/promotion/GetPlayerCharityDetail_pb'\nimport type { ClaimRewardRes } from '../grpcWeb/grpc/promotion/ClaimReward_pb'\nimport { ClaimRewardReqSchema } from '../grpcWeb/grpc/promotion/ClaimReward_pb'\nimport type { GetPlayerRewardProgressRes } from '../grpcWeb/grpc/promotion/GetPlayerRewardProgress_pb'\nimport { GetPlayerRewardProgressReqSchema } from '../grpcWeb/grpc/promotion/GetPlayerRewardProgress_pb'\nimport type { GetLuckyDrawRewardListRes } from '../grpcWeb/grpc/promotion/GetLuckyDrawRewardList_pb'\nimport { GetLuckyDrawRewardListReqSchema } from '../grpcWeb/grpc/promotion/GetLuckyDrawRewardList_pb'\nimport type { GetPlayerTicketListRes } from '../grpcWeb/grpc/promotion/GetPlayerTicketList_pb'\nimport type { GetPlayerInRiskListRes } from '../grpcWeb/grpc/promotion/GetPlayerInRiskList_pb'\nimport type { ClaimCampaignPromoCodeRes } from '../grpcWeb/grpc/promotion/ClaimCampaignPromoCode_pb'\nimport { ClaimCampaignPromoCodeReqSchema } from '../grpcWeb/grpc/promotion/ClaimCampaignPromoCode_pb'\nimport type { HasReceiveEventCampaignRewardRes } from '../grpcWeb/grpc/promotion/HasReceiveEventCampaignReward_pb'\nimport { HasReceiveEventCampaignRewardReqSchema } from '../grpcWeb/grpc/promotion/HasReceiveEventCampaignReward_pb'\nimport type { GetFreeSpinHistoryRes } from '../grpcWeb/grpc/promotion/GetFreeSpinHistory_pb'\nimport { GetFreeSpinHistoryReqSchema } from '../grpcWeb/grpc/promotion/GetFreeSpinHistory_pb'\nimport type { GetPlayerFreeSpinInfoRes } from '../grpcWeb/grpc/promotion/GetPlayerFreeSpinInfo_pb'\nimport { GetPlayerFreeSpinInfoReqSchema } from '../grpcWeb/grpc/promotion/GetPlayerFreeSpinInfo_pb'\nimport type { CheckAndCreateMissionRes } from '../grpcWeb/grpc/promotion/CheckAndCreateMission_pb'\nimport { CheckAndCreateMissionReqSchema } from '../grpcWeb/grpc/promotion/CheckAndCreateMission_pb'\nimport type { ClaimTaskRewardRes } from '../grpcWeb/grpc/promotion/ClaimTaskReward_pb'\nimport { ClaimTaskRewardReqSchema } from '../grpcWeb/grpc/promotion/ClaimTaskReward_pb'\nimport type { ClaimTimedEventRewardRes } from '../grpcWeb/grpc/promotion/ClaimTimedEventReward_pb'\nimport { ClaimTimedEventRewardReqSchema } from '../grpcWeb/grpc/promotion/ClaimTimedEventReward_pb'\nimport type { DailyClaimRewardRes } from '../grpcWeb/grpc/promotion/DailyClaimReward_pb'\nimport { DailyClaimRewardReqSchema } from '../grpcWeb/grpc/promotion/DailyClaimReward_pb'\nimport type { GetConsumptionProgressRes } from '../grpcWeb/grpc/promotion/GetConsumptionProgress_pb'\nimport { GetConsumptionProgressReqSchema } from '../grpcWeb/grpc/promotion/GetConsumptionProgress_pb'\nimport type { GetCurrentCardEventsRes } from '../grpcWeb/grpc/promotion/GetCurrentCardEvents_pb'\nimport type { GetCurrentMissionConfigRes } from '../grpcWeb/grpc/promotion/GetCurrentMissionConfig_pb'\nimport type { GetEventRewardHistoryRes } from '../grpcWeb/grpc/promotion/GetEventRewardHistory_pb'\nimport { GetEventRewardHistoryReqSchema } from '../grpcWeb/grpc/promotion/GetEventRewardHistory_pb'\nimport type { GetPlayerRedPacketRecordsRes } from '../grpcWeb/grpc/promotion/GetPlayerRedPacketRecords_pb'\nimport { GetPlayerRedPacketRecordsReqSchema } from '../grpcWeb/grpc/promotion/GetPlayerRedPacketRecords_pb'\nimport type { GetPlayerTaskProgressRes } from '../grpcWeb/grpc/promotion/GetPlayerTaskProgress_pb'\nimport { GetPlayerTaskProgressReqSchema } from '../grpcWeb/grpc/promotion/GetPlayerTaskProgress_pb'\nimport type { GetSingleRewardInfoRes } from '../grpcWeb/grpc/promotion/GetSingleRewardInfo_pb'\nimport { GetSingleRewardInfoReqSchema } from '../grpcWeb/grpc/promotion/GetSingleRewardInfo_pb'\nimport type { PlayerClaimAllDailyRewardRes } from '../grpcWeb/grpc/promotion/PlayerClaimAllDailyReward_pb'\nimport { PlayerClaimAllDailyRewardReqSchema } from '../grpcWeb/grpc/promotion/PlayerClaimAllDailyReward_pb'\nimport type { PlayerReceiveEggRes } from '../grpcWeb/grpc/promotion/PlayerReceiveEgg_pb'\nimport { PlayerReceiveEggReqSchema } from '../grpcWeb/grpc/promotion/PlayerReceiveEgg_pb'\nimport type { QueryPlayerEggRes } from '../grpcWeb/grpc/promotion/QueryPlayerEgg_pb'\nimport { QueryPlayerEggReqSchema } from '../grpcWeb/grpc/promotion/QueryPlayerEgg_pb'\nimport type { ReferralAssistanceRes } from '../grpcWeb/grpc/promotion/ReferralAssistance_pb'\nimport { ReferralAssistanceReqSchema } from '../grpcWeb/grpc/promotion/ReferralAssistance_pb'\nimport type { UpdateTutorialFlagRes } from '../grpcWeb/grpc/promotion/UpdateTutorialFlag_pb'\nimport { UpdateTutorialFlagReqSchema } from '../grpcWeb/grpc/promotion/UpdateTutorialFlag_pb'\n\nexport const promotionGrpcClients = (grpc: GrpcClient) => {\n return {\n adminLiveDraw: grpc.getService(AdminLiveDrawService),\n charity: grpc.getService(FrontendCharityService),\n leaderboard: grpc.getService(FrontendLeaderboardService),\n liveDraw: grpc.getService(FrontendLiveDrawService),\n promotion: grpc.getService(FrontendPromotionService),\n frontend: grpc.getService(PromotionFrontendService),\n specialEvent: grpc.getService(FrontendSpecialEventService),\n }\n}\n\nexport const promotionService = (grpc: GrpcClient) => {\n const adminLiveDraw = grpc.getService(AdminLiveDrawService)\n const charity = grpc.getService(FrontendCharityService)\n const leaderboard = grpc.getService(FrontendLeaderboardService)\n const liveDraw = grpc.getService(FrontendLiveDrawService)\n const promotion = grpc.getService(FrontendPromotionService)\n const frontend = grpc.getService(PromotionFrontendService)\n const specialEvent = grpc.getService(FrontendSpecialEventService)\n\n const getTodayLiveDrawEvents = (\n payload: MessageInit<typeof GetTodayLiveDrawEventsReqSchema>,\n options?: CallOptions,\n ): Promise<GetTodayLiveDrawEventsRes> => {\n return grpc.unary(\n GetTodayLiveDrawEventsReqSchema,\n payload,\n (req, opt) => adminLiveDraw.getTodayLiveDrawEvents(req, opt),\n options,\n )\n }\n\n const getTodayCurrentRoundLiveDrawEvents = (\n payload: MessageInit<typeof GetTodayCurrentRoundLiveDrawEventsReqSchema>,\n options?: CallOptions,\n ): Promise<GetTodayCurrentRoundLiveDrawEventsRes> => {\n return grpc.unary(\n GetTodayCurrentRoundLiveDrawEventsReqSchema,\n payload,\n (req, opt) => adminLiveDraw.getTodayCurrentRoundLiveDrawEvents(req, opt),\n options,\n )\n }\n\n const startLiveDrawEvent = (\n payload: MessageInit<typeof StartLiveDrawEventReqSchema>,\n options?: CallOptions,\n ): Promise<StartLiveDrawEventRes> => {\n return grpc.unary(\n StartLiveDrawEventReqSchema,\n payload,\n (req, opt) => adminLiveDraw.startLiveDrawEvent(req, opt),\n options,\n )\n }\n\n const redrawLiveDrawEvent = (\n payload: MessageInit<typeof RedrawLiveDrawEventReqSchema>,\n options?: CallOptions,\n ): Promise<RedrawLiveDrawEventRes> => {\n return grpc.unary(\n RedrawLiveDrawEventReqSchema,\n payload,\n (req, opt) => adminLiveDraw.redrawLiveDrawEvent(req, opt),\n options,\n )\n }\n\n const confirmLiveDraw = (\n payload: MessageInit<typeof ConfirmLiveDrawReqSchema>,\n options?: CallOptions,\n ): Promise<ConfirmLiveDrawRes> => {\n return grpc.unary(\n ConfirmLiveDrawReqSchema,\n payload,\n (req, opt) => adminLiveDraw.confirmLiveDraw(req, opt),\n options,\n )\n }\n\n const liveDrawEventPhoneCallPlayer = (\n payload: MessageInit<typeof LiveDrawEventPhoneCallPlayerReqSchema>,\n options?: CallOptions,\n ): Promise<LiveDrawEventPhoneCallPlayerRes> => {\n return grpc.unary(\n LiveDrawEventPhoneCallPlayerReqSchema,\n payload,\n (req, opt) => adminLiveDraw.liveDrawEventPhoneCallPlayer(req, opt),\n options,\n )\n }\n\n const getLiveDrawEventWinnerList = (\n payload: MessageInit<typeof GetLiveDrawEventWinnerListReqSchema>,\n options?: CallOptions,\n ): Promise<GetLiveDrawEventWinnerListRes> => {\n return grpc.unary(\n GetLiveDrawEventWinnerListReqSchema,\n payload,\n (req, opt) => adminLiveDraw.getLiveDrawEventWinnerList(req, opt),\n options,\n )\n }\n\n const makePhoneCall = (\n payload: MessageInit<typeof MakePhoneCallReqSchema>,\n options?: CallOptions,\n ): Promise<MakePhoneCallRes> => {\n return grpc.unary(\n MakePhoneCallReqSchema,\n payload,\n (req, opt) => adminLiveDraw.makePhoneCall(req, opt),\n options,\n )\n }\n\n const getCharityDetail = (\n payload?: MessageInit<typeof EmptySchema>,\n options?: CallOptions,\n ): Promise<GetCharityDetailRes> => {\n return grpc.unary(\n EmptySchema,\n payload,\n (req, opt) => charity.getCharityDetail(req, opt),\n options,\n )\n }\n\n const getPlayerCharityDetail = (\n payload?: MessageInit<typeof EmptySchema>,\n options?: CallOptions,\n ): Promise<GetPlayerCharityDetailRes> => {\n return grpc.unary(\n EmptySchema,\n payload,\n (req, opt) => charity.getPlayerCharityDetail(req, opt),\n options,\n )\n }\n\n const getPlayerRewardProgress = (\n payload: MessageInit<typeof GetPlayerRewardProgressReqSchema>,\n options?: CallOptions,\n ): Promise<GetPlayerRewardProgressRes> => {\n return grpc.unary(\n GetPlayerRewardProgressReqSchema,\n payload,\n (req, opt) => leaderboard.getPlayerRewardProgress(req, opt),\n options,\n )\n }\n\n const claimReward = (\n payload: MessageInit<typeof ClaimRewardReqSchema>,\n options?: CallOptions,\n ): Promise<ClaimRewardRes> => {\n return grpc.unary(\n ClaimRewardReqSchema,\n payload,\n (req, opt) => leaderboard.claimReward(req, opt),\n options,\n )\n }\n\n const getLuckyDrawRewardList = (\n payload: MessageInit<typeof GetLuckyDrawRewardListReqSchema>,\n options?: CallOptions,\n ): Promise<GetLuckyDrawRewardListRes> => {\n return grpc.unary(\n GetLuckyDrawRewardListReqSchema,\n payload,\n (req, opt) => liveDraw.getLuckyDrawRewardList(req, opt),\n options,\n )\n }\n\n const getPlayerTicketList = (\n payload?: MessageInit<typeof EmptySchema>,\n options?: CallOptions,\n ): Promise<GetPlayerTicketListRes> => {\n return grpc.unary(\n EmptySchema,\n payload,\n (req, opt) => liveDraw.getPlayerTicketList(req, opt),\n options,\n )\n }\n\n const getPlayerInRiskList = (\n payload?: MessageInit<typeof EmptySchema>,\n options?: CallOptions,\n ): Promise<GetPlayerInRiskListRes> => {\n return grpc.unary(\n EmptySchema,\n payload,\n (req, opt) => liveDraw.getPlayerInRiskList(req, opt),\n options,\n )\n }\n\n const claimCampaignPromoCode = (\n payload: MessageInit<typeof ClaimCampaignPromoCodeReqSchema>,\n options?: CallOptions,\n ): Promise<ClaimCampaignPromoCodeRes> => {\n return grpc.unary(\n ClaimCampaignPromoCodeReqSchema,\n payload,\n (req, opt) => promotion.claimCampaignPromoCode(req, opt),\n options,\n )\n }\n\n const hasReceiveEventCampaignReward = (\n payload: MessageInit<typeof HasReceiveEventCampaignRewardReqSchema>,\n options?: CallOptions,\n ): Promise<HasReceiveEventCampaignRewardRes> => {\n return grpc.unary(\n HasReceiveEventCampaignRewardReqSchema,\n payload,\n (req, opt) => promotion.hasReceiveEventCampaignReward(req, opt),\n options,\n )\n }\n\n const getPlayerFreeSpinInfo = (\n payload: MessageInit<typeof GetPlayerFreeSpinInfoReqSchema>,\n options?: CallOptions,\n ): Promise<GetPlayerFreeSpinInfoRes> => {\n return grpc.unary(\n GetPlayerFreeSpinInfoReqSchema,\n payload,\n (req, opt) => frontend.getPlayerFreeSpinInfo(req, opt),\n options,\n )\n }\n\n const getFreeSpinHistory = (\n payload: MessageInit<typeof GetFreeSpinHistoryReqSchema>,\n options?: CallOptions,\n ): Promise<GetFreeSpinHistoryRes> => {\n return grpc.unary(\n GetFreeSpinHistoryReqSchema,\n payload,\n (req, opt) => frontend.getFreeSpinHistory(req, opt),\n options,\n )\n }\n\n const getCurrentMissionConfig = (\n payload?: MessageInit<typeof EmptySchema>,\n options?: CallOptions,\n ): Promise<GetCurrentMissionConfigRes> => {\n return grpc.unary(\n EmptySchema,\n payload,\n (req, opt) => specialEvent.getCurrentMissionConfig(req, opt),\n options,\n )\n }\n\n const getPlayerTaskProgress = (\n payload: MessageInit<typeof GetPlayerTaskProgressReqSchema>,\n options?: CallOptions,\n ): Promise<GetPlayerTaskProgressRes> => {\n return grpc.unary(\n GetPlayerTaskProgressReqSchema,\n payload,\n (req, opt) => specialEvent.getPlayerTaskProgress(req, opt),\n options,\n )\n }\n\n const claimTaskReward = (\n payload: MessageInit<typeof ClaimTaskRewardReqSchema>,\n options?: CallOptions,\n ): Promise<ClaimTaskRewardRes> => {\n return grpc.unary(\n ClaimTaskRewardReqSchema,\n payload,\n (req, opt) => specialEvent.claimTaskReward(req, opt),\n options,\n )\n }\n\n const checkAndCreateMission = (\n payload: MessageInit<typeof CheckAndCreateMissionReqSchema>,\n options?: CallOptions,\n ): Promise<CheckAndCreateMissionRes> => {\n return grpc.unary(\n CheckAndCreateMissionReqSchema,\n payload,\n (req, opt) => specialEvent.checkAndCreateMission(req, opt),\n options,\n )\n }\n\n const getCurrentCardEvents = (\n payload?: MessageInit<typeof EmptySchema>,\n options?: CallOptions,\n ): Promise<GetCurrentCardEventsRes> => {\n return grpc.unary(\n EmptySchema,\n payload,\n (req, opt) => specialEvent.getCurrentCardEvents(req, opt),\n options,\n )\n }\n\n const playerReceiveEgg = (\n payload: MessageInit<typeof PlayerReceiveEggReqSchema>,\n options?: CallOptions,\n ): Promise<PlayerReceiveEggRes> => {\n return grpc.unary(\n PlayerReceiveEggReqSchema,\n payload,\n (req, opt) => specialEvent.playerReceiveEgg(req, opt),\n options,\n )\n }\n\n const getConsumptionProgress = (\n payload: MessageInit<typeof GetConsumptionProgressReqSchema>,\n options?: CallOptions,\n ): Promise<GetConsumptionProgressRes> => {\n return grpc.unary(\n GetConsumptionProgressReqSchema,\n payload,\n (req, opt) => specialEvent.getConsumptionProgress(req, opt),\n options,\n )\n }\n\n const playerClaimAllDailyReward = (\n payload: MessageInit<typeof PlayerClaimAllDailyRewardReqSchema>,\n options?: CallOptions,\n ): Promise<PlayerClaimAllDailyRewardRes> => {\n return grpc.unary(\n PlayerClaimAllDailyRewardReqSchema,\n payload,\n (req, opt) => specialEvent.playerClaimAllDailyReward(req, opt),\n options,\n )\n }\n\n const claimTimedEventReward = (\n payload: MessageInit<typeof ClaimTimedEventRewardReqSchema>,\n options?: CallOptions,\n ): Promise<ClaimTimedEventRewardRes> => {\n return grpc.unary(\n ClaimTimedEventRewardReqSchema,\n payload,\n (req, opt) => specialEvent.claimTimedEventReward(req, opt),\n options,\n )\n }\n\n const getEventRewardHistory = (\n payload: MessageInit<typeof GetEventRewardHistoryReqSchema>,\n options?: CallOptions,\n ): Promise<GetEventRewardHistoryRes> => {\n return grpc.unary(\n GetEventRewardHistoryReqSchema,\n payload,\n (req, opt) => specialEvent.getEventRewardHistory(req, opt),\n options,\n )\n }\n\n const dailyClaimReward = (\n payload: MessageInit<typeof DailyClaimRewardReqSchema>,\n options?: CallOptions,\n ): Promise<DailyClaimRewardRes> => {\n return grpc.unary(\n DailyClaimRewardReqSchema,\n payload,\n (req, opt) => specialEvent.dailyClaimReward(req, opt),\n options,\n )\n }\n\n const queryPlayerEgg = (\n payload: MessageInit<typeof QueryPlayerEggReqSchema>,\n options?: CallOptions,\n ): Promise<QueryPlayerEggRes> => {\n return grpc.unary(\n QueryPlayerEggReqSchema,\n payload,\n (req, opt) => specialEvent.queryPlayerEgg(req, opt),\n options,\n )\n }\n\n const updateTutorialFlag = (\n payload: MessageInit<typeof UpdateTutorialFlagReqSchema>,\n options?: CallOptions,\n ): Promise<UpdateTutorialFlagRes> => {\n return grpc.unary(\n UpdateTutorialFlagReqSchema,\n payload,\n (req, opt) => specialEvent.updateTutorialFlag(req, opt),\n options,\n )\n }\n\n const referralAssistance = (\n payload: MessageInit<typeof ReferralAssistanceReqSchema>,\n options?: CallOptions,\n ): Promise<ReferralAssistanceRes> => {\n return grpc.unary(\n ReferralAssistanceReqSchema,\n payload,\n (req, opt) => specialEvent.referralAssistance(req, opt),\n options,\n )\n }\n\n const getSingleRewardInfo = (\n payload: MessageInit<typeof GetSingleRewardInfoReqSchema>,\n options?: CallOptions,\n ): Promise<GetSingleRewardInfoRes> => {\n return grpc.unary(\n GetSingleRewardInfoReqSchema,\n payload,\n (req, opt) => specialEvent.getSingleRewardInfo(req, opt),\n options,\n )\n }\n\n const getPlayerRedPacketRecords = (\n payload: MessageInit<typeof GetPlayerRedPacketRecordsReqSchema>,\n options?: CallOptions,\n ): Promise<GetPlayerRedPacketRecordsRes> => {\n return grpc.unary(\n GetPlayerRedPacketRecordsReqSchema,\n payload,\n (req, opt) => specialEvent.getPlayerRedPacketRecords(req, opt),\n options,\n )\n }\n\n return {\n transport: 'grpc' as const,\n getTodayLiveDrawEvents,\n getTodayCurrentRoundLiveDrawEvents,\n startLiveDrawEvent,\n redrawLiveDrawEvent,\n confirmLiveDraw,\n liveDrawEventPhoneCallPlayer,\n getLiveDrawEventWinnerList,\n makePhoneCall,\n getCharityDetail,\n getPlayerCharityDetail,\n getPlayerRewardProgress,\n claimReward,\n getLuckyDrawRewardList,\n getPlayerTicketList,\n getPlayerInRiskList,\n claimCampaignPromoCode,\n hasReceiveEventCampaignReward,\n getPlayerFreeSpinInfo,\n getFreeSpinHistory,\n getCurrentMissionConfig,\n getPlayerTaskProgress,\n claimTaskReward,\n checkAndCreateMission,\n getCurrentCardEvents,\n playerReceiveEgg,\n getConsumptionProgress,\n playerClaimAllDailyReward,\n claimTimedEventReward,\n getEventRewardHistory,\n dailyClaimReward,\n queryPlayerEgg,\n updateTutorialFlag,\n referralAssistance,\n getSingleRewardInfo,\n getPlayerRedPacketRecords,\n }\n}\n\nexport const grpcPromotionService = promotionService\n","// @generated by protoc-gen-es v2.10.2 with parameter \"target=ts\"\n// @generated from file recommend/FrontendRecommendService.proto (package recommend, syntax proto3)\n/* eslint-disable */\n\nimport type { GenFile, GenService } from \"@bufbuild/protobuf/codegenv2\";\nimport { fileDesc, serviceDesc } from \"@bufbuild/protobuf/codegenv2\";\nimport type { BaseResponseSchema, EmptySchema } from \"../common/Common_pb\";\nimport { file_common_Common } from \"../common/Common_pb\";\nimport type { SaveSearchHistoryReqSchema, SaveSearchHistoryResSchema } from \"./SaveSearchHistory_pb\";\nimport { file_recommend_SaveSearchHistory } from \"./SaveSearchHistory_pb\";\nimport type { GetSearchHistoriesResSchema } from \"./GetSearchHistories_pb\";\nimport { file_recommend_GetSearchHistories } from \"./GetSearchHistories_pb\";\nimport type { DeleteSearchHistoryReqSchema } from \"./DeleteSearchHistory_pb\";\nimport { file_recommend_DeleteSearchHistory } from \"./DeleteSearchHistory_pb\";\nimport type { SearchGamesReqSchema, SearchGamesResSchema } from \"./SearchGames_pb\";\nimport { file_recommend_SearchGames } from \"./SearchGames_pb\";\n\n/**\n * Describes the file recommend/FrontendRecommendService.proto.\n */\nexport const file_recommend_FrontendRecommendService: GenFile = /*@__PURE__*/\n fileDesc(\"CihyZWNvbW1lbmQvRnJvbnRlbmRSZWNvbW1lbmRTZXJ2aWNlLnByb3RvEglyZWNvbW1lbmQy1QIKGEZyb250ZW5kUmVjb21tZW5kU2VydmljZRJXChFTYXZlU2VhcmNoSGlzdG9yeRIfLnJlY29tbWVuZC5TYXZlU2VhcmNoSGlzdG9yeVJlcRofLnJlY29tbWVuZC5TYXZlU2VhcmNoSGlzdG9yeVJlcyIAEkcKEkdldFNlYXJjaEhpc3RvcmllcxINLmNvbW1vbi5FbXB0eRogLnJlY29tbWVuZC5HZXRTZWFyY2hIaXN0b3JpZXNSZXMiABJQChNEZWxldGVTZWFyY2hIaXN0b3J5EiEucmVjb21tZW5kLkRlbGV0ZVNlYXJjaEhpc3RvcnlSZXEaFC5jb21tb24uQmFzZVJlc3BvbnNlIgASRQoLU2VhcmNoR2FtZXMSGS5yZWNvbW1lbmQuU2VhcmNoR2FtZXNSZXEaGS5yZWNvbW1lbmQuU2VhcmNoR2FtZXNSZXMiAGIGcHJvdG8z\", [file_common_Common, file_recommend_SaveSearchHistory, file_recommend_GetSearchHistories, file_recommend_DeleteSearchHistory, file_recommend_SearchGames]);\n\n/**\n * @generated from service recommend.FrontendRecommendService\n */\nexport const FrontendRecommendService: GenService<{\n /**\n * @generated from rpc recommend.FrontendRecommendService.SaveSearchHistory\n */\n saveSearchHistory: {\n methodKind: \"unary\";\n input: typeof SaveSearchHistoryReqSchema;\n output: typeof SaveSearchHistoryResSchema;\n },\n /**\n * @generated from rpc recommend.FrontendRecommendService.GetSearchHistories\n */\n getSearchHistories: {\n methodKind: \"unary\";\n input: typeof EmptySchema;\n output: typeof GetSearchHistoriesResSchema;\n },\n /**\n * @generated from rpc recommend.FrontendRecommendService.DeleteSearchHistory\n */\n deleteSearchHistory: {\n methodKind: \"unary\";\n input: typeof DeleteSearchHistoryReqSchema;\n output: typeof BaseResponseSchema;\n },\n /**\n * @generated from rpc recommend.FrontendRecommendService.SearchGames\n */\n searchGames: {\n methodKind: \"unary\";\n input: typeof SearchGamesReqSchema;\n output: typeof SearchGamesResSchema;\n },\n}> = /*@__PURE__*/\n serviceDesc(file_recommend_FrontendRecommendService, 0);\n\n","// @generated by protoc-gen-es v2.10.2 with parameter \"target=ts\"\n// @generated from file recommend/SaveSearchHistory.proto (package recommend, syntax proto3)\n/* eslint-disable */\n\nimport type { GenFile, GenMessage } from \"@bufbuild/protobuf/codegenv2\";\nimport { fileDesc, messageDesc } from \"@bufbuild/protobuf/codegenv2\";\nimport type { BaseResponse } from \"../common/Common_pb\";\nimport { file_common_Common } from \"../common/Common_pb\";\nimport type { Message } from \"@bufbuild/protobuf\";\n\n/**\n * Describes the file recommend/SaveSearchHistory.proto.\n */\nexport const file_recommend_SaveSearchHistory: GenFile = /*@__PURE__*/\n fileDesc(\"CiFyZWNvbW1lbmQvU2F2ZVNlYXJjaEhpc3RvcnkucHJvdG8SCXJlY29tbWVuZCI8ChRTYXZlU2VhcmNoSGlzdG9yeVJlcRIPCgdrZXl3b3JkGAEgASgJEhMKC3NlYXJjaF9mcm9tGAIgASgJIkMKFFNhdmVTZWFyY2hIaXN0b3J5UmVzEisKDWJhc2VfcmVzcG9uc2UYASABKAsyFC5jb21tb24uQmFzZVJlc3BvbnNlYgZwcm90bzM\", [file_common_Common]);\n\n/**\n * @generated from message recommend.SaveSearchHistoryReq\n */\nexport type SaveSearchHistoryReq = Message<\"recommend.SaveSearchHistoryReq\"> & {\n /**\n * @generated from field: string keyword = 1;\n */\n keyword: string;\n\n /**\n * @generated from field: string search_from = 2;\n */\n searchFrom: string;\n};\n\n/**\n * Describes the message recommend.SaveSearchHistoryReq.\n * Use `create(SaveSearchHistoryReqSchema)` to create a new message.\n */\nexport const SaveSearchHistoryReqSchema: GenMessage<SaveSearchHistoryReq> = /*@__PURE__*/\n messageDesc(file_recommend_SaveSearchHistory, 0);\n\n/**\n * @generated from message recommend.SaveSearchHistoryRes\n */\nexport type SaveSearchHistoryRes = Message<\"recommend.SaveSearchHistoryRes\"> & {\n /**\n * @generated from field: common.BaseResponse base_response = 1;\n */\n baseResponse?: BaseResponse;\n};\n\n/**\n * Describes the message recommend.SaveSearchHistoryRes.\n * Use `create(SaveSearchHistoryResSchema)` to create a new message.\n */\nexport const SaveSearchHistoryResSchema: GenMessage<SaveSearchHistoryRes> = /*@__PURE__*/\n messageDesc(file_recommend_SaveSearchHistory, 1);\n\n","// @generated by protoc-gen-es v2.10.2 with parameter \"target=ts\"\n// @generated from file recommend/GetSearchHistories.proto (package recommend, syntax proto3)\n/* eslint-disable */\n\nimport type { GenFile, GenMessage } from \"@bufbuild/protobuf/codegenv2\";\nimport { fileDesc, messageDesc } from \"@bufbuild/protobuf/codegenv2\";\nimport type { BaseResponse } from \"../common/Common_pb\";\nimport { file_common_Common } from \"../common/Common_pb\";\nimport type { Message } from \"@bufbuild/protobuf\";\n\n/**\n * Describes the file recommend/GetSearchHistories.proto.\n */\nexport const file_recommend_GetSearchHistories: GenFile = /*@__PURE__*/\n fileDesc(\"CiJyZWNvbW1lbmQvR2V0U2VhcmNoSGlzdG9yaWVzLnByb3RvEglyZWNvbW1lbmQizQEKFUdldFNlYXJjaEhpc3Rvcmllc1JlcxIrCg1iYXNlX3Jlc3BvbnNlGAEgASgLMhQuY29tbW9uLkJhc2VSZXNwb25zZRI8CgRkYXRhGAIgAygLMi4ucmVjb21tZW5kLkdldFNlYXJjaEhpc3Rvcmllc1Jlcy5TZWFyY2hIaXN0b3J5GkkKDVNlYXJjaEhpc3RvcnkSDwoHa2V5d29yZBgBIAEoCRITCgtzZWFyY2hfZnJvbRgCIAEoCRISCgpjcmVhdGVkX2F0GAMgASgJYgZwcm90bzM\", [file_common_Common]);\n\n/**\n * @generated from message recommend.GetSearchHistoriesRes\n */\nexport type GetSearchHistoriesRes = Message<\"recommend.GetSearchHistoriesRes\"> & {\n /**\n * @generated from field: common.BaseResponse base_response = 1;\n */\n baseResponse?: BaseResponse;\n\n /**\n * @generated from field: repeated recommend.GetSearchHistoriesRes.SearchHistory data = 2;\n */\n data: GetSearchHistoriesRes_SearchHistory[];\n};\n\n/**\n * Describes the message recommend.GetSearchHistoriesRes.\n * Use `create(GetSearchHistoriesResSchema)` to create a new message.\n */\nexport const GetSearchHistoriesResSchema: GenMessage<GetSearchHistoriesRes> = /*@__PURE__*/\n messageDesc(file_recommend_GetSearchHistories, 0);\n\n/**\n * @generated from message recommend.GetSearchHistoriesRes.SearchHistory\n */\nexport type GetSearchHistoriesRes_SearchHistory = Message<\"recommend.GetSearchHistoriesRes.SearchHistory\"> & {\n /**\n * @generated from field: string keyword = 1;\n */\n keyword: string;\n\n /**\n * @generated from field: string search_from = 2;\n */\n searchFrom: string;\n\n /**\n * @generated from field: string created_at = 3;\n */\n createdAt: string;\n};\n\n/**\n * Describes the message recommend.GetSearchHistoriesRes.SearchHistory.\n * Use `create(GetSearchHistoriesRes_SearchHistorySchema)` to create a new message.\n */\nexport const GetSearchHistoriesRes_SearchHistorySchema: GenMessage<GetSearchHistoriesRes_SearchHistory> = /*@__PURE__*/\n messageDesc(file_recommend_GetSearchHistories, 0, 0);\n\n","// @generated by protoc-gen-es v2.10.2 with parameter \"target=ts\"\n// @generated from file recommend/DeleteSearchHistory.proto (package recommend, syntax proto3)\n/* eslint-disable */\n\nimport type { GenFile, GenMessage } from \"@bufbuild/protobuf/codegenv2\";\nimport { fileDesc, messageDesc } from \"@bufbuild/protobuf/codegenv2\";\nimport { file_common_Common } from \"../common/Common_pb\";\nimport type { Message } from \"@bufbuild/protobuf\";\n\n/**\n * Describes the file recommend/DeleteSearchHistory.proto.\n */\nexport const file_recommend_DeleteSearchHistory: GenFile = /*@__PURE__*/\n fileDesc(\"CiNyZWNvbW1lbmQvRGVsZXRlU2VhcmNoSGlzdG9yeS5wcm90bxIJcmVjb21tZW5kIlEKFkRlbGV0ZVNlYXJjaEhpc3RvcnlSZXESDwoHa2V5d29yZBgBIAEoCRIXCgpkZWxldGVfYWxsGAIgASgISACIAQFCDQoLX2RlbGV0ZV9hbGxiBnByb3RvMw\", [file_common_Common]);\n\n/**\n * @generated from message recommend.DeleteSearchHistoryReq\n */\nexport type DeleteSearchHistoryReq = Message<\"recommend.DeleteSearchHistoryReq\"> & {\n /**\n * @generated from field: string keyword = 1;\n */\n keyword: string;\n\n /**\n * @generated from field: optional bool delete_all = 2;\n */\n deleteAll?: boolean;\n};\n\n/**\n * Describes the message recommend.DeleteSearchHistoryReq.\n * Use `create(DeleteSearchHistoryReqSchema)` to create a new message.\n */\nexport const DeleteSearchHistoryReqSchema: GenMessage<DeleteSearchHistoryReq> = /*@__PURE__*/\n messageDesc(file_recommend_DeleteSearchHistory, 0);\n\n","// @generated by protoc-gen-es v2.10.2 with parameter \"target=ts\"\n// @generated from file recommend/SearchGames.proto (package recommend, syntax proto3)\n/* eslint-disable */\n\nimport type { GenFile, GenMessage } from \"@bufbuild/protobuf/codegenv2\";\nimport { fileDesc, messageDesc } from \"@bufbuild/protobuf/codegenv2\";\nimport type { BaseResponse } from \"../common/Common_pb\";\nimport { file_common_Common } from \"../common/Common_pb\";\nimport type { Message } from \"@bufbuild/protobuf\";\n\n/**\n * Describes the file recommend/SearchGames.proto.\n */\nexport const file_recommend_SearchGames: GenFile = /*@__PURE__*/\n fileDesc(\"ChtyZWNvbW1lbmQvU2VhcmNoR2FtZXMucHJvdG8SCXJlY29tbWVuZCI2Cg5TZWFyY2hHYW1lc1JlcRIPCgdrZXl3b3JkGAEgASgJEhMKC3Jlc291cmNlX2lkGAIgASgJItICCgRHYW1lEhEKCWdhbWVfbmFtZRgBIAEoCRIPCgdnYW1lX2lkGAIgASgJEhIKCmdhbWVfaW1hZ2UYAyABKAkSIQoUY3VzdG9taXNlX2dhbWVfaW1hZ2UYBCABKAlIAIgBARIVCg1wcm92aWRlcl9uYW1lGAUgASgJEiEKFHByb3ZpZGVyX2Rlc2NyaXB0aW9uGAYgASgJSAGIAQESEwoLcHJvdmlkZXJfaWQYByABKAkSGAoQcHJpbWFyeV9jYXRlZ29yeRgIIAEoCRIaChJzZWNvbmRhcnlfY2F0ZWdvcnkYCSABKAkSFAoMc3ViX2NhdGVnb3J5GAogASgJEg4KBnN0YXR1cxgLIAEoBRISCgp0YWJsZV9jb2RlGAwgASgJQhcKFV9jdXN0b21pc2VfZ2FtZV9pbWFnZUIXChVfcHJvdmlkZXJfZGVzY3JpcHRpb24i2gEKDlNlYXJjaEdhbWVzUmVzEisKDWJhc2VfcmVzcG9uc2UYASABKAsyFC5jb21tb24uQmFzZVJlc3BvbnNlEjYKBGRhdGEYAiABKAsyKC5yZWNvbW1lbmQuU2VhcmNoR2FtZXNSZXMuUmVjb21tZW5kR2FtZXMaYwoOUmVjb21tZW5kR2FtZXMSIAoHcmVzdWx0cxgBIAMoCzIPLnJlY29tbWVuZC5HYW1lEhUKDXRvdGFsX3Jlc3VsdHMYAiABKAUSGAoQc2VhcmNoZWRfa2V5d29yZBgDIAEoCWIGcHJvdG8z\", [file_common_Common]);\n\n/**\n * @generated from message recommend.SearchGamesReq\n */\nexport type SearchGamesReq = Message<\"recommend.SearchGamesReq\"> & {\n /**\n * @generated from field: string keyword = 1;\n */\n keyword: string;\n\n /**\n * @generated from field: string resource_id = 2;\n */\n resourceId: string;\n};\n\n/**\n * Describes the message recommend.SearchGamesReq.\n * Use `create(SearchGamesReqSchema)` to create a new message.\n */\nexport const SearchGamesReqSchema: GenMessage<SearchGamesReq> = /*@__PURE__*/\n messageDesc(file_recommend_SearchGames, 0);\n\n/**\n * @generated from message recommend.Game\n */\nexport type Game = Message<\"recommend.Game\"> & {\n /**\n * @generated from field: string game_name = 1;\n */\n gameName: string;\n\n /**\n * @generated from field: string game_id = 2;\n */\n gameId: string;\n\n /**\n * @generated from field: string game_image = 3;\n */\n gameImage: string;\n\n /**\n * @generated from field: optional string customise_game_image = 4;\n */\n customiseGameImage?: string;\n\n /**\n * @generated from field: string provider_name = 5;\n */\n providerName: string;\n\n /**\n * @generated from field: optional string provider_description = 6;\n */\n providerDescription?: string;\n\n /**\n * @generated from field: string provider_id = 7;\n */\n providerId: string;\n\n /**\n * @generated from field: string primary_category = 8;\n */\n primaryCategory: string;\n\n /**\n * @generated from field: string secondary_category = 9;\n */\n secondaryCategory: string;\n\n /**\n * @generated from field: string sub_category = 10;\n */\n subCategory: string;\n\n /**\n * @generated from field: int32 status = 11;\n */\n status: number;\n\n /**\n * @generated from field: string table_code = 12;\n */\n tableCode: string;\n};\n\n/**\n * Describes the message recommend.Game.\n * Use `create(GameSchema)` to create a new message.\n */\nexport const GameSchema: GenMessage<Game> = /*@__PURE__*/\n messageDesc(file_recommend_SearchGames, 1);\n\n/**\n * @generated from message recommend.SearchGamesRes\n */\nexport type SearchGamesRes = Message<\"recommend.SearchGamesRes\"> & {\n /**\n * @generated from field: common.BaseResponse base_response = 1;\n */\n baseResponse?: BaseResponse;\n\n /**\n * @generated from field: recommend.SearchGamesRes.RecommendGames data = 2;\n */\n data?: SearchGamesRes_RecommendGames;\n};\n\n/**\n * Describes the message recommend.SearchGamesRes.\n * Use `create(SearchGamesResSchema)` to create a new message.\n */\nexport const SearchGamesResSchema: GenMessage<SearchGamesRes> = /*@__PURE__*/\n messageDesc(file_recommend_SearchGames, 2);\n\n/**\n * @generated from message recommend.SearchGamesRes.RecommendGames\n */\nexport type SearchGamesRes_RecommendGames = Message<\"recommend.SearchGamesRes.RecommendGames\"> & {\n /**\n * @generated from field: repeated recommend.Game results = 1;\n */\n results: Game[];\n\n /**\n * @generated from field: int32 total_results = 2;\n */\n totalResults: number;\n\n /**\n * @generated from field: string searched_keyword = 3;\n */\n searchedKeyword: string;\n};\n\n/**\n * Describes the message recommend.SearchGamesRes.RecommendGames.\n * Use `create(SearchGamesRes_RecommendGamesSchema)` to create a new message.\n */\nexport const SearchGamesRes_RecommendGamesSchema: GenMessage<SearchGamesRes_RecommendGames> = /*@__PURE__*/\n messageDesc(file_recommend_SearchGames, 2, 0);\n\n","import type { CallOptions } from '@connectrpc/connect'\nimport type { MessageInit } from '../client/grpcClient'\nimport { GrpcClient } from '../client/grpcClient'\nimport { FrontendRecommendService } from '../grpcWeb/grpc/recommend/FrontendRecommendService_pb'\nimport type { BaseResponse } from '../grpcWeb/grpc/common/Common_pb'\nimport { EmptySchema } from '../grpcWeb/grpc/common/Common_pb'\nimport { DeleteSearchHistoryReqSchema } from '../grpcWeb/grpc/recommend/DeleteSearchHistory_pb'\nimport type { GetSearchHistoriesRes } from '../grpcWeb/grpc/recommend/GetSearchHistories_pb'\nimport type { SaveSearchHistoryRes } from '../grpcWeb/grpc/recommend/SaveSearchHistory_pb'\nimport { SaveSearchHistoryReqSchema } from '../grpcWeb/grpc/recommend/SaveSearchHistory_pb'\nimport type { SearchGamesRes } from '../grpcWeb/grpc/recommend/SearchGames_pb'\nimport { SearchGamesReqSchema } from '../grpcWeb/grpc/recommend/SearchGames_pb'\n\nexport const recommendGrpcClient = (grpc: GrpcClient) => grpc.getService(FrontendRecommendService)\n\nexport const recommendService = (grpc: GrpcClient) => {\n const client = grpc.getService(FrontendRecommendService)\n\n const saveSearchHistory = (\n payload: MessageInit<typeof SaveSearchHistoryReqSchema>,\n options?: CallOptions,\n ): Promise<SaveSearchHistoryRes> => {\n return grpc.unary(\n SaveSearchHistoryReqSchema,\n payload,\n (req, opt) => client.saveSearchHistory(req, opt),\n options,\n )\n }\n\n const getSearchHistories = (\n payload?: MessageInit<typeof EmptySchema>,\n options?: CallOptions,\n ): Promise<GetSearchHistoriesRes> => {\n return grpc.unary(\n EmptySchema,\n payload,\n (req, opt) => client.getSearchHistories(req, opt),\n options,\n )\n }\n\n const deleteSearchHistory = (\n payload: MessageInit<typeof DeleteSearchHistoryReqSchema>,\n options?: CallOptions,\n ): Promise<BaseResponse> => {\n return grpc.unary(\n DeleteSearchHistoryReqSchema,\n payload,\n (req, opt) => client.deleteSearchHistory(req, opt),\n options,\n )\n }\n\n const searchGames = (\n payload: MessageInit<typeof SearchGamesReqSchema>,\n options?: CallOptions,\n ): Promise<SearchGamesRes> => {\n return grpc.unary(\n SearchGamesReqSchema,\n payload,\n (req, opt) => client.searchGames(req, opt),\n options,\n )\n }\n\n return {\n transport: 'grpc' as const,\n saveSearchHistory,\n getSearchHistories,\n deleteSearchHistory,\n searchGames,\n }\n}\n\nexport const grpcRecommendService = recommendService\n","// @generated by protoc-gen-es v2.10.2 with parameter \"target=ts\"\n// @generated from file riskcontrol/FrontendDepositLimitService.proto (package riskcontrol, syntax proto3)\n/* eslint-disable */\n\nimport type { GenFile, GenService } from \"@bufbuild/protobuf/codegenv2\";\nimport { fileDesc, serviceDesc } from \"@bufbuild/protobuf/codegenv2\";\nimport type { EmptySchema } from \"../common/Common_pb\";\nimport { file_common_Common } from \"../common/Common_pb\";\nimport type { PlayerDepositLimitStateOverviewResSchema } from \"./PlayerDepositLimitStateOverview_pb\";\nimport { file_riskcontrol_PlayerDepositLimitStateOverview } from \"./PlayerDepositLimitStateOverview_pb\";\nimport type { UpdatePlayerDepositLimitSwitchReqSchema, UpdatePlayerDepositLimitSwitchResSchema } from \"./UpdatePlayerDepositLimitSwitch_pb\";\nimport { file_riskcontrol_UpdatePlayerDepositLimitSwitch } from \"./UpdatePlayerDepositLimitSwitch_pb\";\nimport type { UpdatePlayerPeriodDepositLimitReqSchema, UpdatePlayerPeriodDepositLimitResSchema } from \"./UpdatePlayerPeriodDepositLimit_pb\";\nimport { file_riskcontrol_UpdatePlayerPeriodDepositLimit } from \"./UpdatePlayerPeriodDepositLimit_pb\";\n\n/**\n * Describes the file riskcontrol/FrontendDepositLimitService.proto.\n */\nexport const file_riskcontrol_FrontendDepositLimitService: GenFile = /*@__PURE__*/\n fileDesc(\"Ci1yaXNrY29udHJvbC9Gcm9udGVuZERlcG9zaXRMaW1pdFNlcnZpY2UucHJvdG8SC3Jpc2tjb250cm9sMo8DChtGcm9udGVuZERlcG9zaXRMaW1pdFNlcnZpY2USZgoiR2V0UGxheWVyRGVwb3NpdExpbWl0U3RhdGVPdmVydmlldxINLmNvbW1vbi5FbXB0eRovLnJpc2tjb250cm9sLlBsYXllckRlcG9zaXRMaW1pdFN0YXRlT3ZlcnZpZXdSZXMiABKCAQoeVXBkYXRlUGxheWVyRGVwb3NpdExpbWl0U3dpdGNoEi4ucmlza2NvbnRyb2wuVXBkYXRlUGxheWVyRGVwb3NpdExpbWl0U3dpdGNoUmVxGi4ucmlza2NvbnRyb2wuVXBkYXRlUGxheWVyRGVwb3NpdExpbWl0U3dpdGNoUmVzIgASggEKHlVwZGF0ZVBsYXllclBlcmlvZERlcG9zaXRMaW1pdBIuLnJpc2tjb250cm9sLlVwZGF0ZVBsYXllclBlcmlvZERlcG9zaXRMaW1pdFJlcRouLnJpc2tjb250cm9sLlVwZGF0ZVBsYXllclBlcmlvZERlcG9zaXRMaW1pdFJlcyIAYgZwcm90bzM\", [file_common_Common, file_riskcontrol_PlayerDepositLimitStateOverview, file_riskcontrol_UpdatePlayerDepositLimitSwitch, file_riskcontrol_UpdatePlayerPeriodDepositLimit]);\n\n/**\n * @generated from service riskcontrol.FrontendDepositLimitService\n */\nexport const FrontendDepositLimitService: GenService<{\n /**\n * @generated from rpc riskcontrol.FrontendDepositLimitService.GetPlayerDepositLimitStateOverview\n */\n getPlayerDepositLimitStateOverview: {\n methodKind: \"unary\";\n input: typeof EmptySchema;\n output: typeof PlayerDepositLimitStateOverviewResSchema;\n },\n /**\n * @generated from rpc riskcontrol.FrontendDepositLimitService.UpdatePlayerDepositLimitSwitch\n */\n updatePlayerDepositLimitSwitch: {\n methodKind: \"unary\";\n input: typeof UpdatePlayerDepositLimitSwitchReqSchema;\n output: typeof UpdatePlayerDepositLimitSwitchResSchema;\n },\n /**\n * @generated from rpc riskcontrol.FrontendDepositLimitService.UpdatePlayerPeriodDepositLimit\n */\n updatePlayerPeriodDepositLimit: {\n methodKind: \"unary\";\n input: typeof UpdatePlayerPeriodDepositLimitReqSchema;\n output: typeof UpdatePlayerPeriodDepositLimitResSchema;\n },\n}> = /*@__PURE__*/\n serviceDesc(file_riskcontrol_FrontendDepositLimitService, 0);\n\n","// @generated by protoc-gen-es v2.10.2 with parameter \"target=ts\"\n// @generated from file riskcontrol/PlayerDepositLimitStateOverview.proto (package riskcontrol, syntax proto3)\n/* eslint-disable */\n\nimport type { GenFile, GenMessage } from \"@bufbuild/protobuf/codegenv2\";\nimport { fileDesc, messageDesc } from \"@bufbuild/protobuf/codegenv2\";\nimport type { BaseResponse } from \"../common/Common_pb\";\nimport { file_common_Common } from \"../common/Common_pb\";\nimport type { PlayerDepositLimitConfig, PlayerDepositLimitState } from \"./RiskcontrolCommon_pb\";\nimport { file_riskcontrol_RiskcontrolCommon } from \"./RiskcontrolCommon_pb\";\nimport type { Message } from \"@bufbuild/protobuf\";\n\n/**\n * Describes the file riskcontrol/PlayerDepositLimitStateOverview.proto.\n */\nexport const file_riskcontrol_PlayerDepositLimitStateOverview: GenFile = /*@__PURE__*/\n fileDesc(\"CjFyaXNrY29udHJvbC9QbGF5ZXJEZXBvc2l0TGltaXRTdGF0ZU92ZXJ2aWV3LnByb3RvEgtyaXNrY29udHJvbCK0AgoiUGxheWVyRGVwb3NpdExpbWl0U3RhdGVPdmVydmlld1JlcxIrCg1iYXNlX3Jlc3BvbnNlGAEgASgLMhQuY29tbW9uLkJhc2VSZXNwb25zZRJCCgRkYXRhGAIgASgLMjQucmlza2NvbnRyb2wuUGxheWVyRGVwb3NpdExpbWl0U3RhdGVPdmVydmlld1Jlcy5EYXRhGpwBCgREYXRhEkgKGnBsYXllcl9kZXBvc2l0X2xpbWl0X3N0YXRlGAEgASgLMiQucmlza2NvbnRyb2wuUGxheWVyRGVwb3NpdExpbWl0U3RhdGUSSgobcGxheWVyX2RlcG9zaXRfbGltaXRfY29uZmlnGAIgASgLMiUucmlza2NvbnRyb2wuUGxheWVyRGVwb3NpdExpbWl0Q29uZmlnYgZwcm90bzM\", [file_common_Common, file_riskcontrol_RiskcontrolCommon]);\n\n/**\n * @generated from message riskcontrol.PlayerDepositLimitStateOverviewRes\n */\nexport type PlayerDepositLimitStateOverviewRes = Message<\"riskcontrol.PlayerDepositLimitStateOverviewRes\"> & {\n /**\n * @generated from field: common.BaseResponse base_response = 1;\n */\n baseResponse?: BaseResponse;\n\n /**\n * @generated from field: riskcontrol.PlayerDepositLimitStateOverviewRes.Data data = 2;\n */\n data?: PlayerDepositLimitStateOverviewRes_Data;\n};\n\n/**\n * Describes the message riskcontrol.PlayerDepositLimitStateOverviewRes.\n * Use `create(PlayerDepositLimitStateOverviewResSchema)` to create a new message.\n */\nexport const PlayerDepositLimitStateOverviewResSchema: GenMessage<PlayerDepositLimitStateOverviewRes> = /*@__PURE__*/\n messageDesc(file_riskcontrol_PlayerDepositLimitStateOverview, 0);\n\n/**\n * @generated from message riskcontrol.PlayerDepositLimitStateOverviewRes.Data\n */\nexport type PlayerDepositLimitStateOverviewRes_Data = Message<\"riskcontrol.PlayerDepositLimitStateOverviewRes.Data\"> & {\n /**\n * @generated from field: riskcontrol.PlayerDepositLimitState player_deposit_limit_state = 1;\n */\n playerDepositLimitState?: PlayerDepositLimitState;\n\n /**\n * @generated from field: riskcontrol.PlayerDepositLimitConfig player_deposit_limit_config = 2;\n */\n playerDepositLimitConfig?: PlayerDepositLimitConfig;\n};\n\n/**\n * Describes the message riskcontrol.PlayerDepositLimitStateOverviewRes.Data.\n * Use `create(PlayerDepositLimitStateOverviewRes_DataSchema)` to create a new message.\n */\nexport const PlayerDepositLimitStateOverviewRes_DataSchema: GenMessage<PlayerDepositLimitStateOverviewRes_Data> = /*@__PURE__*/\n messageDesc(file_riskcontrol_PlayerDepositLimitStateOverview, 0, 0);\n\n","// @generated by protoc-gen-es v2.10.2 with parameter \"target=ts\"\n// @generated from file riskcontrol/RiskcontrolCommon.proto (package riskcontrol, syntax proto3)\n/* eslint-disable */\n\nimport type { GenFile, GenMessage } from \"@bufbuild/protobuf/codegenv2\";\nimport { fileDesc, messageDesc } from \"@bufbuild/protobuf/codegenv2\";\nimport type { Message } from \"@bufbuild/protobuf\";\n\n/**\n * Describes the file riskcontrol/RiskcontrolCommon.proto.\n */\nexport const file_riskcontrol_RiskcontrolCommon: GenFile = /*@__PURE__*/\n fileDesc(\"CiNyaXNrY29udHJvbC9SaXNrY29udHJvbENvbW1vbi5wcm90bxILcmlza2NvbnRyb2wiWwoXUGxheWVyRGVwb3NpdExpbWl0U3RhdGUSHAoUZGVwb3NpdF9saW1pdF9zdGF0dXMYASABKAgSIgoacGVyaW9kX2FjY3VtdWxhdGVkX2RlcG9zaXQYAiABKAEikQEKGFBsYXllckRlcG9zaXRMaW1pdENvbmZpZxIdChVkZXBvc2l0X2xpbWl0X2VuYWJsZWQYASABKAgSHAoUcGVyaW9kX2RlcG9zaXRfbGltaXQYAiABKAUSFgoOdXBkYXRlX2FsbG93ZWQYAyABKAgSIAoYbmV4dF91cGRhdGVfYWxsb3dlZF90aW1lGAQgASgDYgZwcm90bzM\");\n\n/**\n * @generated from message riskcontrol.PlayerDepositLimitState\n */\nexport type PlayerDepositLimitState = Message<\"riskcontrol.PlayerDepositLimitState\"> & {\n /**\n * @generated from field: bool deposit_limit_status = 1;\n */\n depositLimitStatus: boolean;\n\n /**\n * @generated from field: double period_accumulated_deposit = 2;\n */\n periodAccumulatedDeposit: number;\n};\n\n/**\n * Describes the message riskcontrol.PlayerDepositLimitState.\n * Use `create(PlayerDepositLimitStateSchema)` to create a new message.\n */\nexport const PlayerDepositLimitStateSchema: GenMessage<PlayerDepositLimitState> = /*@__PURE__*/\n messageDesc(file_riskcontrol_RiskcontrolCommon, 0);\n\n/**\n * @generated from message riskcontrol.PlayerDepositLimitConfig\n */\nexport type PlayerDepositLimitConfig = Message<\"riskcontrol.PlayerDepositLimitConfig\"> & {\n /**\n * @generated from field: bool deposit_limit_enabled = 1;\n */\n depositLimitEnabled: boolean;\n\n /**\n * @generated from field: int32 period_deposit_limit = 2;\n */\n periodDepositLimit: number;\n\n /**\n * @generated from field: bool update_allowed = 3;\n */\n updateAllowed: boolean;\n\n /**\n * @generated from field: int64 next_update_allowed_time = 4;\n */\n nextUpdateAllowedTime: bigint;\n};\n\n/**\n * Describes the message riskcontrol.PlayerDepositLimitConfig.\n * Use `create(PlayerDepositLimitConfigSchema)` to create a new message.\n */\nexport const PlayerDepositLimitConfigSchema: GenMessage<PlayerDepositLimitConfig> = /*@__PURE__*/\n messageDesc(file_riskcontrol_RiskcontrolCommon, 1);\n\n","// @generated by protoc-gen-es v2.10.2 with parameter \"target=ts\"\n// @generated from file riskcontrol/UpdatePlayerDepositLimitSwitch.proto (package riskcontrol, syntax proto3)\n/* eslint-disable */\n\nimport type { GenFile, GenMessage } from \"@bufbuild/protobuf/codegenv2\";\nimport { fileDesc, messageDesc } from \"@bufbuild/protobuf/codegenv2\";\nimport type { BaseResponse } from \"../common/Common_pb\";\nimport { file_common_Common } from \"../common/Common_pb\";\nimport type { PlayerDepositLimitConfig, PlayerDepositLimitState } from \"./RiskcontrolCommon_pb\";\nimport { file_riskcontrol_RiskcontrolCommon } from \"./RiskcontrolCommon_pb\";\nimport type { Message } from \"@bufbuild/protobuf\";\n\n/**\n * Describes the file riskcontrol/UpdatePlayerDepositLimitSwitch.proto.\n */\nexport const file_riskcontrol_UpdatePlayerDepositLimitSwitch: GenFile = /*@__PURE__*/\n fileDesc(\"CjByaXNrY29udHJvbC9VcGRhdGVQbGF5ZXJEZXBvc2l0TGltaXRTd2l0Y2gucHJvdG8SC3Jpc2tjb250cm9sIkIKIVVwZGF0ZVBsYXllckRlcG9zaXRMaW1pdFN3aXRjaFJlcRIdChVkZXBvc2l0X2xpbWl0X2VuYWJsZWQYASABKAgisgIKIVVwZGF0ZVBsYXllckRlcG9zaXRMaW1pdFN3aXRjaFJlcxIrCg1iYXNlX3Jlc3BvbnNlGAEgASgLMhQuY29tbW9uLkJhc2VSZXNwb25zZRJBCgRkYXRhGAIgASgLMjMucmlza2NvbnRyb2wuVXBkYXRlUGxheWVyRGVwb3NpdExpbWl0U3dpdGNoUmVzLkRhdGEanAEKBERhdGESSAoacGxheWVyX2RlcG9zaXRfbGltaXRfc3RhdGUYASABKAsyJC5yaXNrY29udHJvbC5QbGF5ZXJEZXBvc2l0TGltaXRTdGF0ZRJKChtwbGF5ZXJfZGVwb3NpdF9saW1pdF9jb25maWcYAiABKAsyJS5yaXNrY29udHJvbC5QbGF5ZXJEZXBvc2l0TGltaXRDb25maWdiBnByb3RvMw\", [file_common_Common, file_riskcontrol_RiskcontrolCommon]);\n\n/**\n * @generated from message riskcontrol.UpdatePlayerDepositLimitSwitchReq\n */\nexport type UpdatePlayerDepositLimitSwitchReq = Message<\"riskcontrol.UpdatePlayerDepositLimitSwitchReq\"> & {\n /**\n * @generated from field: bool deposit_limit_enabled = 1;\n */\n depositLimitEnabled: boolean;\n};\n\n/**\n * Describes the message riskcontrol.UpdatePlayerDepositLimitSwitchReq.\n * Use `create(UpdatePlayerDepositLimitSwitchReqSchema)` to create a new message.\n */\nexport const UpdatePlayerDepositLimitSwitchReqSchema: GenMessage<UpdatePlayerDepositLimitSwitchReq> = /*@__PURE__*/\n messageDesc(file_riskcontrol_UpdatePlayerDepositLimitSwitch, 0);\n\n/**\n * @generated from message riskcontrol.UpdatePlayerDepositLimitSwitchRes\n */\nexport type UpdatePlayerDepositLimitSwitchRes = Message<\"riskcontrol.UpdatePlayerDepositLimitSwitchRes\"> & {\n /**\n * @generated from field: common.BaseResponse base_response = 1;\n */\n baseResponse?: BaseResponse;\n\n /**\n * @generated from field: riskcontrol.UpdatePlayerDepositLimitSwitchRes.Data data = 2;\n */\n data?: UpdatePlayerDepositLimitSwitchRes_Data;\n};\n\n/**\n * Describes the message riskcontrol.UpdatePlayerDepositLimitSwitchRes.\n * Use `create(UpdatePlayerDepositLimitSwitchResSchema)` to create a new message.\n */\nexport const UpdatePlayerDepositLimitSwitchResSchema: GenMessage<UpdatePlayerDepositLimitSwitchRes> = /*@__PURE__*/\n messageDesc(file_riskcontrol_UpdatePlayerDepositLimitSwitch, 1);\n\n/**\n * @generated from message riskcontrol.UpdatePlayerDepositLimitSwitchRes.Data\n */\nexport type UpdatePlayerDepositLimitSwitchRes_Data = Message<\"riskcontrol.UpdatePlayerDepositLimitSwitchRes.Data\"> & {\n /**\n * @generated from field: riskcontrol.PlayerDepositLimitState player_deposit_limit_state = 1;\n */\n playerDepositLimitState?: PlayerDepositLimitState;\n\n /**\n * @generated from field: riskcontrol.PlayerDepositLimitConfig player_deposit_limit_config = 2;\n */\n playerDepositLimitConfig?: PlayerDepositLimitConfig;\n};\n\n/**\n * Describes the message riskcontrol.UpdatePlayerDepositLimitSwitchRes.Data.\n * Use `create(UpdatePlayerDepositLimitSwitchRes_DataSchema)` to create a new message.\n */\nexport const UpdatePlayerDepositLimitSwitchRes_DataSchema: GenMessage<UpdatePlayerDepositLimitSwitchRes_Data> = /*@__PURE__*/\n messageDesc(file_riskcontrol_UpdatePlayerDepositLimitSwitch, 1, 0);\n\n","// @generated by protoc-gen-es v2.10.2 with parameter \"target=ts\"\n// @generated from file riskcontrol/UpdatePlayerPeriodDepositLimit.proto (package riskcontrol, syntax proto3)\n/* eslint-disable */\n\nimport type { GenFile, GenMessage } from \"@bufbuild/protobuf/codegenv2\";\nimport { fileDesc, messageDesc } from \"@bufbuild/protobuf/codegenv2\";\nimport type { BaseResponse } from \"../common/Common_pb\";\nimport { file_common_Common } from \"../common/Common_pb\";\nimport type { PlayerDepositLimitConfig, PlayerDepositLimitState } from \"./RiskcontrolCommon_pb\";\nimport { file_riskcontrol_RiskcontrolCommon } from \"./RiskcontrolCommon_pb\";\nimport type { Message } from \"@bufbuild/protobuf\";\n\n/**\n * Describes the file riskcontrol/UpdatePlayerPeriodDepositLimit.proto.\n */\nexport const file_riskcontrol_UpdatePlayerPeriodDepositLimit: GenFile = /*@__PURE__*/\n fileDesc(\"CjByaXNrY29udHJvbC9VcGRhdGVQbGF5ZXJQZXJpb2REZXBvc2l0TGltaXQucHJvdG8SC3Jpc2tjb250cm9sIkEKIVVwZGF0ZVBsYXllclBlcmlvZERlcG9zaXRMaW1pdFJlcRIcChRwZXJpb2RfZGVwb3NpdF9saW1pdBgBIAEoBSKyAgohVXBkYXRlUGxheWVyUGVyaW9kRGVwb3NpdExpbWl0UmVzEisKDWJhc2VfcmVzcG9uc2UYASABKAsyFC5jb21tb24uQmFzZVJlc3BvbnNlEkEKBGRhdGEYAiABKAsyMy5yaXNrY29udHJvbC5VcGRhdGVQbGF5ZXJQZXJpb2REZXBvc2l0TGltaXRSZXMuRGF0YRqcAQoERGF0YRJIChpwbGF5ZXJfZGVwb3NpdF9saW1pdF9zdGF0ZRgBIAEoCzIkLnJpc2tjb250cm9sLlBsYXllckRlcG9zaXRMaW1pdFN0YXRlEkoKG3BsYXllcl9kZXBvc2l0X2xpbWl0X2NvbmZpZxgCIAEoCzIlLnJpc2tjb250cm9sLlBsYXllckRlcG9zaXRMaW1pdENvbmZpZ2IGcHJvdG8z\", [file_common_Common, file_riskcontrol_RiskcontrolCommon]);\n\n/**\n * @generated from message riskcontrol.UpdatePlayerPeriodDepositLimitReq\n */\nexport type UpdatePlayerPeriodDepositLimitReq = Message<\"riskcontrol.UpdatePlayerPeriodDepositLimitReq\"> & {\n /**\n * @generated from field: int32 period_deposit_limit = 1;\n */\n periodDepositLimit: number;\n};\n\n/**\n * Describes the message riskcontrol.UpdatePlayerPeriodDepositLimitReq.\n * Use `create(UpdatePlayerPeriodDepositLimitReqSchema)` to create a new message.\n */\nexport const UpdatePlayerPeriodDepositLimitReqSchema: GenMessage<UpdatePlayerPeriodDepositLimitReq> = /*@__PURE__*/\n messageDesc(file_riskcontrol_UpdatePlayerPeriodDepositLimit, 0);\n\n/**\n * @generated from message riskcontrol.UpdatePlayerPeriodDepositLimitRes\n */\nexport type UpdatePlayerPeriodDepositLimitRes = Message<\"riskcontrol.UpdatePlayerPeriodDepositLimitRes\"> & {\n /**\n * @generated from field: common.BaseResponse base_response = 1;\n */\n baseResponse?: BaseResponse;\n\n /**\n * @generated from field: riskcontrol.UpdatePlayerPeriodDepositLimitRes.Data data = 2;\n */\n data?: UpdatePlayerPeriodDepositLimitRes_Data;\n};\n\n/**\n * Describes the message riskcontrol.UpdatePlayerPeriodDepositLimitRes.\n * Use `create(UpdatePlayerPeriodDepositLimitResSchema)` to create a new message.\n */\nexport const UpdatePlayerPeriodDepositLimitResSchema: GenMessage<UpdatePlayerPeriodDepositLimitRes> = /*@__PURE__*/\n messageDesc(file_riskcontrol_UpdatePlayerPeriodDepositLimit, 1);\n\n/**\n * @generated from message riskcontrol.UpdatePlayerPeriodDepositLimitRes.Data\n */\nexport type UpdatePlayerPeriodDepositLimitRes_Data = Message<\"riskcontrol.UpdatePlayerPeriodDepositLimitRes.Data\"> & {\n /**\n * @generated from field: riskcontrol.PlayerDepositLimitState player_deposit_limit_state = 1;\n */\n playerDepositLimitState?: PlayerDepositLimitState;\n\n /**\n * @generated from field: riskcontrol.PlayerDepositLimitConfig player_deposit_limit_config = 2;\n */\n playerDepositLimitConfig?: PlayerDepositLimitConfig;\n};\n\n/**\n * Describes the message riskcontrol.UpdatePlayerPeriodDepositLimitRes.Data.\n * Use `create(UpdatePlayerPeriodDepositLimitRes_DataSchema)` to create a new message.\n */\nexport const UpdatePlayerPeriodDepositLimitRes_DataSchema: GenMessage<UpdatePlayerPeriodDepositLimitRes_Data> = /*@__PURE__*/\n messageDesc(file_riskcontrol_UpdatePlayerPeriodDepositLimit, 1, 0);\n\n","import type { CallOptions } from '@connectrpc/connect'\nimport type { MessageInit } from '../client/grpcClient'\nimport { GrpcClient } from '../client/grpcClient'\nimport { FrontendDepositLimitService } from '../grpcWeb/grpc/riskcontrol/FrontendDepositLimitService_pb'\nimport { EmptySchema } from '../grpcWeb/grpc/common/Common_pb'\nimport type { PlayerDepositLimitStateOverviewRes } from '../grpcWeb/grpc/riskcontrol/PlayerDepositLimitStateOverview_pb'\nimport type { UpdatePlayerDepositLimitSwitchRes } from '../grpcWeb/grpc/riskcontrol/UpdatePlayerDepositLimitSwitch_pb'\nimport { UpdatePlayerDepositLimitSwitchReqSchema } from '../grpcWeb/grpc/riskcontrol/UpdatePlayerDepositLimitSwitch_pb'\nimport type { UpdatePlayerPeriodDepositLimitRes } from '../grpcWeb/grpc/riskcontrol/UpdatePlayerPeriodDepositLimit_pb'\nimport { UpdatePlayerPeriodDepositLimitReqSchema } from '../grpcWeb/grpc/riskcontrol/UpdatePlayerPeriodDepositLimit_pb'\n\nexport const riskcontrolGrpcClient = (grpc: GrpcClient) =>\n grpc.getService(FrontendDepositLimitService)\n\nexport const riskcontrolService = (grpc: GrpcClient) => {\n const client = grpc.getService(FrontendDepositLimitService)\n\n const getPlayerDepositLimitStateOverview = (\n payload?: MessageInit<typeof EmptySchema>,\n options?: CallOptions,\n ): Promise<PlayerDepositLimitStateOverviewRes> => {\n return grpc.unary(\n EmptySchema,\n payload,\n (req, opt) => client.getPlayerDepositLimitStateOverview(req, opt),\n options,\n )\n }\n\n const updatePlayerDepositLimitSwitch = (\n payload: MessageInit<typeof UpdatePlayerDepositLimitSwitchReqSchema>,\n options?: CallOptions,\n ): Promise<UpdatePlayerDepositLimitSwitchRes> => {\n return grpc.unary(\n UpdatePlayerDepositLimitSwitchReqSchema,\n payload,\n (req, opt) => client.updatePlayerDepositLimitSwitch(req, opt),\n options,\n )\n }\n\n const updatePlayerPeriodDepositLimit = (\n payload: MessageInit<typeof UpdatePlayerPeriodDepositLimitReqSchema>,\n options?: CallOptions,\n ): Promise<UpdatePlayerPeriodDepositLimitRes> => {\n return grpc.unary(\n UpdatePlayerPeriodDepositLimitReqSchema,\n payload,\n (req, opt) => client.updatePlayerPeriodDepositLimit(req, opt),\n options,\n )\n }\n\n return {\n transport: 'grpc' as const,\n getPlayerDepositLimitStateOverview,\n updatePlayerDepositLimitSwitch,\n updatePlayerPeriodDepositLimit,\n }\n}\n\nexport const grpcRiskcontrolService = riskcontrolService\n","// @generated by protoc-gen-es v2.10.2 with parameter \"target=ts\"\n// @generated from file userEngagement/FrontendPwaNotificationService.proto (package userEngagement, syntax proto3)\n/* eslint-disable */\n\nimport type { GenFile, GenService } from \"@bufbuild/protobuf/codegenv2\";\nimport { fileDesc, serviceDesc } from \"@bufbuild/protobuf/codegenv2\";\nimport type { BaseResponseSchema } from \"../common/Common_pb\";\nimport { file_common_Common } from \"../common/Common_pb\";\nimport type { UpdatePWASubscriptionStatusReqSchema } from \"./UpdatePWASubscriptionStatus_pb\";\nimport { file_userEngagement_UpdatePWASubscriptionStatus } from \"./UpdatePWASubscriptionStatus_pb\";\n\n/**\n * Describes the file userEngagement/FrontendPwaNotificationService.proto.\n */\nexport const file_userEngagement_FrontendPwaNotificationService: GenFile = /*@__PURE__*/\n fileDesc(\"CjN1c2VyRW5nYWdlbWVudC9Gcm9udGVuZFB3YU5vdGlmaWNhdGlvblNlcnZpY2UucHJvdG8SDnVzZXJFbmdhZ2VtZW50MoUBCh5Gcm9udGVuZFB3YU5vdGlmaWNhdGlvblNlcnZpY2USYwobVXBkYXRlUFdBU3Vic2NyaXB0aW9uU3RhdHVzEi4udXNlckVuZ2FnZW1lbnQuVXBkYXRlUFdBU3Vic2NyaXB0aW9uU3RhdHVzUmVxGhQuY29tbW9uLkJhc2VSZXNwb25zZWIGcHJvdG8z\", [file_common_Common, file_userEngagement_UpdatePWASubscriptionStatus]);\n\n/**\n * @generated from service userEngagement.FrontendPwaNotificationService\n */\nexport const FrontendPwaNotificationService: GenService<{\n /**\n * @generated from rpc userEngagement.FrontendPwaNotificationService.UpdatePWASubscriptionStatus\n */\n updatePWASubscriptionStatus: {\n methodKind: \"unary\";\n input: typeof UpdatePWASubscriptionStatusReqSchema;\n output: typeof BaseResponseSchema;\n },\n}> = /*@__PURE__*/\n serviceDesc(file_userEngagement_FrontendPwaNotificationService, 0);\n\n","// @generated by protoc-gen-es v2.10.2 with parameter \"target=ts\"\n// @generated from file userEngagement/UpdatePWASubscriptionStatus.proto (package userEngagement, syntax proto3)\n/* eslint-disable */\n\nimport type { GenFile, GenMessage } from \"@bufbuild/protobuf/codegenv2\";\nimport { fileDesc, messageDesc } from \"@bufbuild/protobuf/codegenv2\";\nimport type { Message } from \"@bufbuild/protobuf\";\n\n/**\n * Describes the file userEngagement/UpdatePWASubscriptionStatus.proto.\n */\nexport const file_userEngagement_UpdatePWASubscriptionStatus: GenFile = /*@__PURE__*/\n fileDesc(\"CjB1c2VyRW5nYWdlbWVudC9VcGRhdGVQV0FTdWJzY3JpcHRpb25TdGF0dXMucHJvdG8SDnVzZXJFbmdhZ2VtZW50IrQCCh5VcGRhdGVQV0FTdWJzY3JpcHRpb25TdGF0dXNSZXESPwoDc3ViGAEgASgLMjIudXNlckVuZ2FnZW1lbnQuVXBkYXRlUFdBU3Vic2NyaXB0aW9uU3RhdHVzUmVxLlN1YhIYChBwd2FfcHVzaF9lbmFibGVkGAIgASgIGrYBCgNTdWISEAoIZW5kcG9pbnQYASABKAkSHAoPZXhwaXJhdGlvbl90aW1lGAIgASgJSACIAQESRQoEa2V5cxgDIAEoCzI3LnVzZXJFbmdhZ2VtZW50LlVwZGF0ZVBXQVN1YnNjcmlwdGlvblN0YXR1c1JlcS5TdWIuS2V5cxokCgRLZXlzEg4KBnAyNTZkaBgBIAEoCRIMCgRhdXRoGAIgASgJQhIKEF9leHBpcmF0aW9uX3RpbWViBnByb3RvMw\");\n\n/**\n * @generated from message userEngagement.UpdatePWASubscriptionStatusReq\n */\nexport type UpdatePWASubscriptionStatusReq = Message<\"userEngagement.UpdatePWASubscriptionStatusReq\"> & {\n /**\n * @generated from field: userEngagement.UpdatePWASubscriptionStatusReq.Sub sub = 1;\n */\n sub?: UpdatePWASubscriptionStatusReq_Sub;\n\n /**\n * @generated from field: bool pwa_push_enabled = 2;\n */\n pwaPushEnabled: boolean;\n};\n\n/**\n * Describes the message userEngagement.UpdatePWASubscriptionStatusReq.\n * Use `create(UpdatePWASubscriptionStatusReqSchema)` to create a new message.\n */\nexport const UpdatePWASubscriptionStatusReqSchema: GenMessage<UpdatePWASubscriptionStatusReq> = /*@__PURE__*/\n messageDesc(file_userEngagement_UpdatePWASubscriptionStatus, 0);\n\n/**\n * @generated from message userEngagement.UpdatePWASubscriptionStatusReq.Sub\n */\nexport type UpdatePWASubscriptionStatusReq_Sub = Message<\"userEngagement.UpdatePWASubscriptionStatusReq.Sub\"> & {\n /**\n * @generated from field: string endpoint = 1;\n */\n endpoint: string;\n\n /**\n * @generated from field: optional string expiration_time = 2;\n */\n expirationTime?: string;\n\n /**\n * @generated from field: userEngagement.UpdatePWASubscriptionStatusReq.Sub.Keys keys = 3;\n */\n keys?: UpdatePWASubscriptionStatusReq_Sub_Keys;\n};\n\n/**\n * Describes the message userEngagement.UpdatePWASubscriptionStatusReq.Sub.\n * Use `create(UpdatePWASubscriptionStatusReq_SubSchema)` to create a new message.\n */\nexport const UpdatePWASubscriptionStatusReq_SubSchema: GenMessage<UpdatePWASubscriptionStatusReq_Sub> = /*@__PURE__*/\n messageDesc(file_userEngagement_UpdatePWASubscriptionStatus, 0, 0);\n\n/**\n * @generated from message userEngagement.UpdatePWASubscriptionStatusReq.Sub.Keys\n */\nexport type UpdatePWASubscriptionStatusReq_Sub_Keys = Message<\"userEngagement.UpdatePWASubscriptionStatusReq.Sub.Keys\"> & {\n /**\n * @generated from field: string p256dh = 1;\n */\n p256dh: string;\n\n /**\n * @generated from field: string auth = 2;\n */\n auth: string;\n};\n\n/**\n * Describes the message userEngagement.UpdatePWASubscriptionStatusReq.Sub.Keys.\n * Use `create(UpdatePWASubscriptionStatusReq_Sub_KeysSchema)` to create a new message.\n */\nexport const UpdatePWASubscriptionStatusReq_Sub_KeysSchema: GenMessage<UpdatePWASubscriptionStatusReq_Sub_Keys> = /*@__PURE__*/\n messageDesc(file_userEngagement_UpdatePWASubscriptionStatus, 0, 0, 0);\n\n","import type { CallOptions } from '@connectrpc/connect'\nimport type { MessageInit } from '../client/grpcClient'\nimport { GrpcClient } from '../client/grpcClient'\nimport { FrontendPwaNotificationService } from '../grpcWeb/grpc/userEngagement/FrontendPwaNotificationService_pb'\nimport type { BaseResponse } from '../grpcWeb/grpc/common/Common_pb'\nimport { UpdatePWASubscriptionStatusReqSchema } from '../grpcWeb/grpc/userEngagement/UpdatePWASubscriptionStatus_pb'\n\nexport const userEngagementGrpcClient = (grpc: GrpcClient) =>\n grpc.getService(FrontendPwaNotificationService)\n\nexport const userEngagementService = (grpc: GrpcClient) => {\n const client = grpc.getService(FrontendPwaNotificationService)\n\n const updatePWASubscriptionStatus = (\n payload: MessageInit<typeof UpdatePWASubscriptionStatusReqSchema>,\n options?: CallOptions,\n ): Promise<BaseResponse> => {\n return grpc.unary(\n UpdatePWASubscriptionStatusReqSchema,\n payload,\n (req, opt) => client.updatePWASubscriptionStatus(req, opt),\n options,\n )\n }\n\n return {\n transport: 'grpc' as const,\n updatePWASubscriptionStatus,\n }\n}\n\nexport const grpcUserEngagementService = userEngagementService\n","import type { GenService } from '@bufbuild/protobuf/codegenv2'\nimport type { DescMessage } from '@bufbuild/protobuf'\n\nexport type TransportKind = 'http' | 'ws' | 'grpc'\n\nexport type HttpMethod = 'GET' | 'POST' | 'PUT' | 'PATCH' | 'DELETE'\n\nexport type EndpointSpec<TReq = unknown, TRes = unknown> =\n | {\n id: string\n transport: 'http'\n http: {\n method: HttpMethod\n url: string\n }\n request?: TReq\n response?: TRes\n }\n | {\n id: string\n transport: 'ws'\n ws: {\n service: string\n functionName: string\n timeout?: number\n responseFunctionName?: string\n }\n request?: TReq\n response?: TRes\n }\n | {\n id: string\n transport: 'grpc'\n grpc: {\n service: GenService<any>\n methodName: string\n requestSchema?: DescMessage\n }\n request?: TReq\n response?: TRes\n }\n\ntype HttpEndpointSpec<TReq = unknown, TRes = unknown> = Extract<\n EndpointSpec<TReq, TRes>,\n { transport: 'http' }\n>\ntype WsEndpointSpec<TReq = unknown, TRes = unknown> = Extract<\n EndpointSpec<TReq, TRes>,\n { transport: 'ws' }\n>\ntype GrpcEndpointSpec<TReq = unknown, TRes = unknown> = Extract<\n EndpointSpec<TReq, TRes>,\n { transport: 'grpc' }\n>\n\nexport type EndpointGroup<TReq = unknown, TRes = unknown> = {\n id: string\n defaultTransport?: TransportKind | 'auto'\n transports: Partial<{\n http: HttpEndpointSpec<TReq, TRes>['http']\n ws: WsEndpointSpec<TReq, TRes>['ws']\n grpc: GrpcEndpointSpec<TReq, TRes>['grpc']\n }>\n request?: TReq\n response?: TRes\n}\n\nexport function defineEndpoint<TReq, TRes>(\n spec: EndpointSpec<TReq, TRes>,\n): EndpointSpec<TReq, TRes> {\n return spec\n}\n\nexport function defineEndpointGroup<TReq, TRes>(\n spec: EndpointGroup<TReq, TRes>,\n): EndpointGroup<TReq, TRes> {\n return spec\n}\n","import { defineEndpoint } from './endpoint'\n\nexport const platformEndpoints = {\n getConfig: defineEndpoint<any, any>({\n id: 'platform.getConfig',\n transport: 'ws',\n ws: {\n service: 'platform',\n functionName: 'getConfig',\n timeout: 10000,\n },\n }),\n} as const\n","// @generated by protoc-gen-es v2.10.2 with parameter \"target=ts\"\n// @generated from file admin/AdminService.proto (package admin, syntax proto3)\n/* eslint-disable */\n\nimport type { GenFile, GenService } from \"@bufbuild/protobuf/codegenv2\";\nimport { fileDesc, serviceDesc } from \"@bufbuild/protobuf/codegenv2\";\nimport type { BaseResponseSchema, EmptySchema } from \"../common/Common_pb\";\nimport { file_common_Common } from \"../common/Common_pb\";\nimport type { SignInReqSchema, SignInResSchema } from \"./SignIn_pb\";\nimport { file_admin_SignIn } from \"./SignIn_pb\";\nimport type { GetAdminProfileByJwtResSchema } from \"./GetAdminProfileByJwt_pb\";\nimport { file_admin_GetAdminProfileByJwt } from \"./GetAdminProfileByJwt_pb\";\nimport type { ValidateAdminReqSchema, ValidateAdminResSchema } from \"./ValidateAdmin_pb\";\nimport { file_admin_ValidateAdmin } from \"./ValidateAdmin_pb\";\nimport type { AdminSignUpResSchema, SignUpAdminReqSchema } from \"./SignUpAdmin_pb\";\nimport { file_admin_SignUpAdmin } from \"./SignUpAdmin_pb\";\nimport type { UpdatePlatformConfigReqSchema } from \"./UpdatePlatformConfig_pb\";\nimport { file_admin_UpdatePlatformConfig } from \"./UpdatePlatformConfig_pb\";\nimport type { CheckHasPermissionReqSchema, CheckHasPermissionResSchema } from \"./CheckHasPermission_pb\";\nimport { file_admin_CheckHasPermission } from \"./CheckHasPermission_pb\";\nimport type { GetGameNameReqSchema, GetGameNameResSchema } from \"./GetGameName_pb\";\nimport { file_admin_GetGameName } from \"./GetGameName_pb\";\nimport type { GetPlayerCredibilityRemarkIdReqSchema, GetPlayerCredibilityRemarkIdResSchema } from \"./GetPlayerCredibilityRemarkId_pb\";\nimport { file_admin_GetPlayerCredibilityRemarkId } from \"./GetPlayerCredibilityRemarkId_pb\";\nimport type { GetMarketingDepartmentConfigReqSchema, GetMarketingDepartmentConfigResSchema } from \"./GetMarketingDepartmentConfig_pb\";\nimport { file_admin_GetMarketingDepartmentConfig } from \"./GetMarketingDepartmentConfig_pb\";\nimport type { CreateMarketingDepartmentConfigReqSchema } from \"./CreateMarketingDepartmentConfig_pb\";\nimport { file_admin_CreateMarketingDepartmentConfig } from \"./CreateMarketingDepartmentConfig_pb\";\nimport type { UpdateMarketingDepartmentConfigReqSchema } from \"./UpdateMarketingDepartmentConfig_pb\";\nimport { file_admin_UpdateMarketingDepartmentConfig } from \"./UpdateMarketingDepartmentConfig_pb\";\nimport type { DeleteMarketingDepartmentConfigReqSchema } from \"./DeleteMarketingDepartmentConfig_pb\";\nimport { file_admin_DeleteMarketingDepartmentConfig } from \"./DeleteMarketingDepartmentConfig_pb\";\n\n/**\n * Describes the file admin/AdminService.proto.\n */\nexport const file_admin_AdminService: GenFile = /*@__PURE__*/\n fileDesc(\"ChhhZG1pbi9BZG1pblNlcnZpY2UucHJvdG8SBWFkbWluMoQICgxBZG1pblNlcnZpY2USLgoGU2lnbkluEhAuYWRtaW4uU2lnbkluUmVxGhAuYWRtaW4uU2lnbkluUmVzIgASRwoUR2V0QWRtaW5Qcm9maWxlQnlKd3QSDS5jb21tb24uRW1wdHkaHi5hZG1pbi5HZXRBZG1pblByb2ZpbGVCeUp3dFJlcyIAEkMKDVZhbGlkYXRlQWRtaW4SFy5hZG1pbi5WYWxpZGF0ZUFkbWluUmVxGhcuYWRtaW4uVmFsaWRhdGVBZG1pblJlcyIAEj0KC1NpZ25VcEFkbWluEhUuYWRtaW4uU2lnblVwQWRtaW5SZXEaFS5hZG1pbi5BZG1pblNpZ25VcFJlcyIAEk4KFFVwZGF0ZVBsYXRmb3JtQ29uZmlnEh4uYWRtaW4uVXBkYXRlUGxhdGZvcm1Db25maWdSZXEaFC5jb21tb24uQmFzZVJlc3BvbnNlIgASUgoSQ2hlY2tIYXNQZXJtaXNzaW9uEhwuYWRtaW4uQ2hlY2tIYXNQZXJtaXNzaW9uUmVxGhwuYWRtaW4uQ2hlY2tIYXNQZXJtaXNzaW9uUmVzIgASPQoLR2V0R2FtZU5hbWUSFS5hZG1pbi5HZXRHYW1lTmFtZVJlcRoVLmFkbWluLkdldEdhbWVOYW1lUmVzIgAScAocR2V0UGxheWVyQ3JlZGliaWxpdHlSZW1hcmtJZBImLmFkbWluLkdldFBsYXllckNyZWRpYmlsaXR5UmVtYXJrSWRSZXEaJi5hZG1pbi5HZXRQbGF5ZXJDcmVkaWJpbGl0eVJlbWFya0lkUmVzIgAScAocR2V0TWFya2V0aW5nRGVwYXJ0bWVudENvbmZpZxImLmFkbWluLkdldE1hcmtldGluZ0RlcGFydG1lbnRDb25maWdSZXEaJi5hZG1pbi5HZXRNYXJrZXRpbmdEZXBhcnRtZW50Q29uZmlnUmVzIgASZAofQ3JlYXRlTWFya2V0aW5nRGVwYXJ0bWVudENvbmZpZxIpLmFkbWluLkNyZWF0ZU1hcmtldGluZ0RlcGFydG1lbnRDb25maWdSZXEaFC5jb21tb24uQmFzZVJlc3BvbnNlIgASZAofVXBkYXRlTWFya2V0aW5nRGVwYXJ0bWVudENvbmZpZxIpLmFkbWluLlVwZGF0ZU1hcmtldGluZ0RlcGFydG1lbnRDb25maWdSZXEaFC5jb21tb24uQmFzZVJlc3BvbnNlIgASZAofRGVsZXRlTWFya2V0aW5nRGVwYXJ0bWVudENvbmZpZxIpLmFkbWluLkRlbGV0ZU1hcmtldGluZ0RlcGFydG1lbnRDb25maWdSZXEaFC5jb21tb24uQmFzZVJlc3BvbnNlIgBiBnByb3RvMw\", [file_common_Common, file_admin_SignIn, file_admin_GetAdminProfileByJwt, file_admin_ValidateAdmin, file_admin_SignUpAdmin, file_admin_UpdatePlatformConfig, file_admin_CheckHasPermission, file_admin_GetGameName, file_admin_GetPlayerCredibilityRemarkId, file_admin_GetMarketingDepartmentConfig, file_admin_CreateMarketingDepartmentConfig, file_admin_UpdateMarketingDepartmentConfig, file_admin_DeleteMarketingDepartmentConfig]);\n\n/**\n * @generated from service admin.AdminService\n */\nexport const AdminService: GenService<{\n /**\n * @generated from rpc admin.AdminService.SignIn\n */\n signIn: {\n methodKind: \"unary\";\n input: typeof SignInReqSchema;\n output: typeof SignInResSchema;\n },\n /**\n * @generated from rpc admin.AdminService.GetAdminProfileByJwt\n */\n getAdminProfileByJwt: {\n methodKind: \"unary\";\n input: typeof EmptySchema;\n output: typeof GetAdminProfileByJwtResSchema;\n },\n /**\n * @generated from rpc admin.AdminService.ValidateAdmin\n */\n validateAdmin: {\n methodKind: \"unary\";\n input: typeof ValidateAdminReqSchema;\n output: typeof ValidateAdminResSchema;\n },\n /**\n * @generated from rpc admin.AdminService.SignUpAdmin\n */\n signUpAdmin: {\n methodKind: \"unary\";\n input: typeof SignUpAdminReqSchema;\n output: typeof AdminSignUpResSchema;\n },\n /**\n * @generated from rpc admin.AdminService.UpdatePlatformConfig\n */\n updatePlatformConfig: {\n methodKind: \"unary\";\n input: typeof UpdatePlatformConfigReqSchema;\n output: typeof BaseResponseSchema;\n },\n /**\n * @generated from rpc admin.AdminService.CheckHasPermission\n */\n checkHasPermission: {\n methodKind: \"unary\";\n input: typeof CheckHasPermissionReqSchema;\n output: typeof CheckHasPermissionResSchema;\n },\n /**\n * @generated from rpc admin.AdminService.GetGameName\n */\n getGameName: {\n methodKind: \"unary\";\n input: typeof GetGameNameReqSchema;\n output: typeof GetGameNameResSchema;\n },\n /**\n * @generated from rpc admin.AdminService.GetPlayerCredibilityRemarkId\n */\n getPlayerCredibilityRemarkId: {\n methodKind: \"unary\";\n input: typeof GetPlayerCredibilityRemarkIdReqSchema;\n output: typeof GetPlayerCredibilityRemarkIdResSchema;\n },\n /**\n * @generated from rpc admin.AdminService.GetMarketingDepartmentConfig\n */\n getMarketingDepartmentConfig: {\n methodKind: \"unary\";\n input: typeof GetMarketingDepartmentConfigReqSchema;\n output: typeof GetMarketingDepartmentConfigResSchema;\n },\n /**\n * @generated from rpc admin.AdminService.CreateMarketingDepartmentConfig\n */\n createMarketingDepartmentConfig: {\n methodKind: \"unary\";\n input: typeof CreateMarketingDepartmentConfigReqSchema;\n output: typeof BaseResponseSchema;\n },\n /**\n * @generated from rpc admin.AdminService.UpdateMarketingDepartmentConfig\n */\n updateMarketingDepartmentConfig: {\n methodKind: \"unary\";\n input: typeof UpdateMarketingDepartmentConfigReqSchema;\n output: typeof BaseResponseSchema;\n },\n /**\n * @generated from rpc admin.AdminService.DeleteMarketingDepartmentConfig\n */\n deleteMarketingDepartmentConfig: {\n methodKind: \"unary\";\n input: typeof DeleteMarketingDepartmentConfigReqSchema;\n output: typeof BaseResponseSchema;\n },\n}> = /*@__PURE__*/\n serviceDesc(file_admin_AdminService, 0);\n\n","// @generated by protoc-gen-es v2.10.2 with parameter \"target=ts\"\n// @generated from file admin/SignIn.proto (package admin, syntax proto3)\n/* eslint-disable */\n\nimport type { GenFile, GenMessage } from \"@bufbuild/protobuf/codegenv2\";\nimport { fileDesc, messageDesc } from \"@bufbuild/protobuf/codegenv2\";\nimport type { BaseResponse } from \"../common/Common_pb\";\nimport { file_common_Common } from \"../common/Common_pb\";\nimport type { Message } from \"@bufbuild/protobuf\";\n\n/**\n * Describes the file admin/SignIn.proto.\n */\nexport const file_admin_SignIn: GenFile = /*@__PURE__*/\n fileDesc(\"ChJhZG1pbi9TaWduSW4ucHJvdG8SBWFkbWluIi8KCVNpZ25JblJlcRIQCgh1c2VybmFtZRgBIAEoCRIQCghwYXNzd29yZBgCIAEoCSJHCglTaWduSW5SZXMSKwoNYmFzZV9yZXNwb25zZRgBIAEoCzIULmNvbW1vbi5CYXNlUmVzcG9uc2USDQoFdG9rZW4YAiABKAliBnByb3RvMw\", [file_common_Common]);\n\n/**\n * @generated from message admin.SignInReq\n */\nexport type SignInReq = Message<\"admin.SignInReq\"> & {\n /**\n * @generated from field: string username = 1;\n */\n username: string;\n\n /**\n * @generated from field: string password = 2;\n */\n password: string;\n};\n\n/**\n * Describes the message admin.SignInReq.\n * Use `create(SignInReqSchema)` to create a new message.\n */\nexport const SignInReqSchema: GenMessage<SignInReq> = /*@__PURE__*/\n messageDesc(file_admin_SignIn, 0);\n\n/**\n * @generated from message admin.SignInRes\n */\nexport type SignInRes = Message<\"admin.SignInRes\"> & {\n /**\n * @generated from field: common.BaseResponse base_response = 1;\n */\n baseResponse?: BaseResponse;\n\n /**\n * @generated from field: string token = 2;\n */\n token: string;\n};\n\n/**\n * Describes the message admin.SignInRes.\n * Use `create(SignInResSchema)` to create a new message.\n */\nexport const SignInResSchema: GenMessage<SignInRes> = /*@__PURE__*/\n messageDesc(file_admin_SignIn, 1);\n\n","// @generated by protoc-gen-es v2.10.2 with parameter \"target=ts\"\n// @generated from file admin/GetAdminProfileByJwt.proto (package admin, syntax proto3)\n/* eslint-disable */\n\nimport type { GenFile, GenMessage } from \"@bufbuild/protobuf/codegenv2\";\nimport { fileDesc, messageDesc } from \"@bufbuild/protobuf/codegenv2\";\nimport type { BaseResponse } from \"../common/Common_pb\";\nimport { file_common_Common } from \"../common/Common_pb\";\nimport type { Message } from \"@bufbuild/protobuf\";\n\n/**\n * Describes the file admin/GetAdminProfileByJwt.proto.\n */\nexport const file_admin_GetAdminProfileByJwt: GenFile = /*@__PURE__*/\n fileDesc(\"CiBhZG1pbi9HZXRBZG1pblByb2ZpbGVCeUp3dC5wcm90bxIFYWRtaW4iowEKF0dldEFkbWluUHJvZmlsZUJ5Snd0UmVzEisKDWJhc2VfcmVzcG9uc2UYASABKAsyFC5jb21tb24uQmFzZVJlc3BvbnNlEjIKBGRhdGEYAiABKAsyJC5hZG1pbi5HZXRBZG1pblByb2ZpbGVCeUp3dFJlcy5BZG1pbhonCgVBZG1pbhIKCgJpZBgBIAEoCRISCgphZG1pbl9uYW1lGAIgASgJYgZwcm90bzM\", [file_common_Common]);\n\n/**\n * @generated from message admin.GetAdminProfileByJwtRes\n */\nexport type GetAdminProfileByJwtRes = Message<\"admin.GetAdminProfileByJwtRes\"> & {\n /**\n * @generated from field: common.BaseResponse base_response = 1;\n */\n baseResponse?: BaseResponse;\n\n /**\n * @generated from field: admin.GetAdminProfileByJwtRes.Admin data = 2;\n */\n data?: GetAdminProfileByJwtRes_Admin;\n};\n\n/**\n * Describes the message admin.GetAdminProfileByJwtRes.\n * Use `create(GetAdminProfileByJwtResSchema)` to create a new message.\n */\nexport const GetAdminProfileByJwtResSchema: GenMessage<GetAdminProfileByJwtRes> = /*@__PURE__*/\n messageDesc(file_admin_GetAdminProfileByJwt, 0);\n\n/**\n * @generated from message admin.GetAdminProfileByJwtRes.Admin\n */\nexport type GetAdminProfileByJwtRes_Admin = Message<\"admin.GetAdminProfileByJwtRes.Admin\"> & {\n /**\n * @generated from field: string id = 1;\n */\n id: string;\n\n /**\n * @generated from field: string admin_name = 2;\n */\n adminName: string;\n};\n\n/**\n * Describes the message admin.GetAdminProfileByJwtRes.Admin.\n * Use `create(GetAdminProfileByJwtRes_AdminSchema)` to create a new message.\n */\nexport const GetAdminProfileByJwtRes_AdminSchema: GenMessage<GetAdminProfileByJwtRes_Admin> = /*@__PURE__*/\n messageDesc(file_admin_GetAdminProfileByJwt, 0, 0);\n\n","// @generated by protoc-gen-es v2.10.2 with parameter \"target=ts\"\n// @generated from file admin/ValidateAdmin.proto (package admin, syntax proto3)\n/* eslint-disable */\n\nimport type { GenFile, GenMessage } from \"@bufbuild/protobuf/codegenv2\";\nimport { fileDesc, messageDesc } from \"@bufbuild/protobuf/codegenv2\";\nimport type { BaseResponse } from \"../common/Common_pb\";\nimport { file_common_Common } from \"../common/Common_pb\";\nimport type { Message } from \"@bufbuild/protobuf\";\n\n/**\n * Describes the file admin/ValidateAdmin.proto.\n */\nexport const file_admin_ValidateAdmin: GenFile = /*@__PURE__*/\n fileDesc(\"ChlhZG1pbi9WYWxpZGF0ZUFkbWluLnByb3RvEgVhZG1pbiJDChBWYWxpZGF0ZUFkbWluUmVxEg0KBWVtYWlsGAEgASgJEhAKCHBhc3N3b3JkGAIgASgJEg4KBm9yaWdpbhgDIAEoCSI/ChBWYWxpZGF0ZUFkbWluUmVzEisKDWJhc2VfcmVzcG9uc2UYASABKAsyFC5jb21tb24uQmFzZVJlc3BvbnNlYgZwcm90bzM\", [file_common_Common]);\n\n/**\n * @generated from message admin.ValidateAdminReq\n */\nexport type ValidateAdminReq = Message<\"admin.ValidateAdminReq\"> & {\n /**\n * @generated from field: string email = 1;\n */\n email: string;\n\n /**\n * @generated from field: string password = 2;\n */\n password: string;\n\n /**\n * @generated from field: string origin = 3;\n */\n origin: string;\n};\n\n/**\n * Describes the message admin.ValidateAdminReq.\n * Use `create(ValidateAdminReqSchema)` to create a new message.\n */\nexport const ValidateAdminReqSchema: GenMessage<ValidateAdminReq> = /*@__PURE__*/\n messageDesc(file_admin_ValidateAdmin, 0);\n\n/**\n * @generated from message admin.ValidateAdminRes\n */\nexport type ValidateAdminRes = Message<\"admin.ValidateAdminRes\"> & {\n /**\n * @generated from field: common.BaseResponse base_response = 1;\n */\n baseResponse?: BaseResponse;\n};\n\n/**\n * Describes the message admin.ValidateAdminRes.\n * Use `create(ValidateAdminResSchema)` to create a new message.\n */\nexport const ValidateAdminResSchema: GenMessage<ValidateAdminRes> = /*@__PURE__*/\n messageDesc(file_admin_ValidateAdmin, 1);\n\n","// @generated by protoc-gen-es v2.10.2 with parameter \"target=ts\"\n// @generated from file admin/SignUpAdmin.proto (package admin, syntax proto3)\n/* eslint-disable */\n\nimport type { GenFile, GenMessage } from \"@bufbuild/protobuf/codegenv2\";\nimport { fileDesc, messageDesc } from \"@bufbuild/protobuf/codegenv2\";\nimport type { BaseResponse } from \"../common/Common_pb\";\nimport { file_common_Common } from \"../common/Common_pb\";\nimport type { Message } from \"@bufbuild/protobuf\";\n\n/**\n * Describes the file admin/SignUpAdmin.proto.\n */\nexport const file_admin_SignUpAdmin: GenFile = /*@__PURE__*/\n fileDesc(\"ChdhZG1pbi9TaWduVXBBZG1pbi5wcm90bxIFYWRtaW4iVQoOU2lnblVwQWRtaW5SZXESEgoKYWRtaW5fbmFtZRgBIAEoCRINCgVlbWFpbBgCIAEoCRIQCghwYXNzd29yZBgDIAEoCRIOCgZvcmlnaW4YBCABKAkiPQoOQWRtaW5TaWduVXBSZXMSKwoNYmFzZV9yZXNwb25zZRgBIAEoCzIULmNvbW1vbi5CYXNlUmVzcG9uc2ViBnByb3RvMw\", [file_common_Common]);\n\n/**\n * @generated from message admin.SignUpAdminReq\n */\nexport type SignUpAdminReq = Message<\"admin.SignUpAdminReq\"> & {\n /**\n * @generated from field: string admin_name = 1;\n */\n adminName: string;\n\n /**\n * @generated from field: string email = 2;\n */\n email: string;\n\n /**\n * @generated from field: string password = 3;\n */\n password: string;\n\n /**\n * @generated from field: string origin = 4;\n */\n origin: string;\n};\n\n/**\n * Describes the message admin.SignUpAdminReq.\n * Use `create(SignUpAdminReqSchema)` to create a new message.\n */\nexport const SignUpAdminReqSchema: GenMessage<SignUpAdminReq> = /*@__PURE__*/\n messageDesc(file_admin_SignUpAdmin, 0);\n\n/**\n * @generated from message admin.AdminSignUpRes\n */\nexport type AdminSignUpRes = Message<\"admin.AdminSignUpRes\"> & {\n /**\n * @generated from field: common.BaseResponse base_response = 1;\n */\n baseResponse?: BaseResponse;\n};\n\n/**\n * Describes the message admin.AdminSignUpRes.\n * Use `create(AdminSignUpResSchema)` to create a new message.\n */\nexport const AdminSignUpResSchema: GenMessage<AdminSignUpRes> = /*@__PURE__*/\n messageDesc(file_admin_SignUpAdmin, 1);\n\n","// @generated by protoc-gen-es v2.10.2 with parameter \"target=ts\"\n// @generated from file admin/UpdatePlatformConfig.proto (package admin, syntax proto3)\n/* eslint-disable */\n\nimport type { GenFile, GenMessage } from \"@bufbuild/protobuf/codegenv2\";\nimport { fileDesc, messageDesc } from \"@bufbuild/protobuf/codegenv2\";\nimport { file_common_Common } from \"../common/Common_pb\";\nimport type { Message } from \"@bufbuild/protobuf\";\n\n/**\n * Describes the file admin/UpdatePlatformConfig.proto.\n */\nexport const file_admin_UpdatePlatformConfig: GenFile = /*@__PURE__*/\n fileDesc(\"CiBhZG1pbi9VcGRhdGVQbGF0Zm9ybUNvbmZpZy5wcm90bxIFYWRtaW4ilwEKGk11bHRpcGxlQmFua1NldHRpbmdCeUxldmVsEhIKCmJhbmtfY291bnQYASABKAkSGwoTZGlzdHJpYnV0aW9uX2Ftb3VudBgCIAEoAxISCgpsZXZlbF9uYW1lGAMgASgJEhMKC2xldmVsX3ZhbHVlGAQgASgFEh8KF3dpdGhkcmF3YWxfZGlzdHJpYnV0aW9uGAUgASgIIssGChdVcGRhdGVQbGF0Zm9ybUNvbmZpZ1JlcRIKCgJpZBgBIAEoCRI0CixyZXF1aXJlX3Ntc192ZXJpZmljYXRpb25fZm9yX3Bhc3N3b3JkX3VwZGF0ZRgCIAEoCBItCiVyZXF1aXJlX3ZlcmlmaWNhdGlvbl9mb3JfZW1haWxfdXBkYXRlGAMgASgIEmYKHm11bHRpcGxlX2Jhbmtfc2V0dGluZ19ieV9sZXZlbBgEIAMoCzI+LmFkbWluLlVwZGF0ZVBsYXRmb3JtQ29uZmlnUmVxLk11bHRpcGxlQmFua1NldHRpbmdCeUxldmVsRW50cnkSIwobYmxhY2tfbGlzdGluZ19waG9uZV9udW1iZXJzGAUgAygJEhgKEG1heF9vdHBfYXR0ZW1wdHMYBiABKAUSIwobbWF4X3Bhc3N3b3JkX2xvZ2luX2F0dGVtcHRzGAcgASgFEh4KFnZpcF9iaW5kX211bHRpcGxlX2JhbmsYCCABKAgSHAoUbWF4X2ZhY2VfaWRfYXR0ZW1wdHMYCSABKAUSEgoKZmFjZV9zY29yZRgKIAEoBRIWCg5mYWNlX2lkX2NvbmZpZxgLIAEoCBIrCiNlX2t5Y19jb25maWdfcmVwZWF0X3N1Ym1pdF9jaGVja2luZxgMIAEoCBIoCiBhbGxvd19zYW1lX3JlYWxfbmFtZV90b19yZWdpc3RlchgNIAEoCBIlCh1zYW1lX3JlYWxfbmFtZV9yZWdpc3Rlcl9jb3VudBgOIAEoBRIZChFjaGVja19wbGF5ZXJfbmFtZRgPIAEoCBIeChZjaGVja19uZHJwX3BsYXllcl9uYW1lGBAgASgIEh8KF2NoZWNrX25kcnBfcGxheWVyX2xldmVsGBEgAygJEiMKG2NoZWNrX2JsYWNrbGlzdF9wbGF5ZXJfbmFtZRgSIAEoCBIkChxjaGVja19ibGFja2xpc3RfcGxheWVyX2xldmVsGBMgAygJGmQKH011bHRpcGxlQmFua1NldHRpbmdCeUxldmVsRW50cnkSCwoDa2V5GAEgASgJEjAKBXZhbHVlGAIgASgLMiEuYWRtaW4uTXVsdGlwbGVCYW5rU2V0dGluZ0J5TGV2ZWw6AjgBYgZwcm90bzM\", [file_common_Common]);\n\n/**\n * @generated from message admin.MultipleBankSettingByLevel\n */\nexport type MultipleBankSettingByLevel = Message<\"admin.MultipleBankSettingByLevel\"> & {\n /**\n * @generated from field: string bank_count = 1;\n */\n bankCount: string;\n\n /**\n * @generated from field: int64 distribution_amount = 2;\n */\n distributionAmount: bigint;\n\n /**\n * @generated from field: string level_name = 3;\n */\n levelName: string;\n\n /**\n * @generated from field: int32 level_value = 4;\n */\n levelValue: number;\n\n /**\n * @generated from field: bool withdrawal_distribution = 5;\n */\n withdrawalDistribution: boolean;\n};\n\n/**\n * Describes the message admin.MultipleBankSettingByLevel.\n * Use `create(MultipleBankSettingByLevelSchema)` to create a new message.\n */\nexport const MultipleBankSettingByLevelSchema: GenMessage<MultipleBankSettingByLevel> = /*@__PURE__*/\n messageDesc(file_admin_UpdatePlatformConfig, 0);\n\n/**\n * @generated from message admin.UpdatePlatformConfigReq\n */\nexport type UpdatePlatformConfigReq = Message<\"admin.UpdatePlatformConfigReq\"> & {\n /**\n * @generated from field: string id = 1;\n */\n id: string;\n\n /**\n * @generated from field: bool require_sms_verification_for_password_update = 2;\n */\n requireSmsVerificationForPasswordUpdate: boolean;\n\n /**\n * @generated from field: bool require_verification_for_email_update = 3;\n */\n requireVerificationForEmailUpdate: boolean;\n\n /**\n * @generated from field: map<string, admin.MultipleBankSettingByLevel> multiple_bank_setting_by_level = 4;\n */\n multipleBankSettingByLevel: { [key: string]: MultipleBankSettingByLevel };\n\n /**\n * @generated from field: repeated string black_listing_phone_numbers = 5;\n */\n blackListingPhoneNumbers: string[];\n\n /**\n * @generated from field: int32 max_otp_attempts = 6;\n */\n maxOtpAttempts: number;\n\n /**\n * @generated from field: int32 max_password_login_attempts = 7;\n */\n maxPasswordLoginAttempts: number;\n\n /**\n * @generated from field: bool vip_bind_multiple_bank = 8;\n */\n vipBindMultipleBank: boolean;\n\n /**\n * @generated from field: int32 max_face_id_attempts = 9;\n */\n maxFaceIdAttempts: number;\n\n /**\n * @generated from field: int32 face_score = 10;\n */\n faceScore: number;\n\n /**\n * @generated from field: bool face_id_config = 11;\n */\n faceIdConfig: boolean;\n\n /**\n * @generated from field: bool e_kyc_config_repeat_submit_checking = 12;\n */\n eKycConfigRepeatSubmitChecking: boolean;\n\n /**\n * @generated from field: bool allow_same_real_name_to_register = 13;\n */\n allowSameRealNameToRegister: boolean;\n\n /**\n * @generated from field: int32 same_real_name_register_count = 14;\n */\n sameRealNameRegisterCount: number;\n\n /**\n * @generated from field: bool check_player_name = 15;\n */\n checkPlayerName: boolean;\n\n /**\n * @generated from field: bool check_ndrp_player_name = 16;\n */\n checkNdrpPlayerName: boolean;\n\n /**\n * @generated from field: repeated string check_ndrp_player_level = 17;\n */\n checkNdrpPlayerLevel: string[];\n\n /**\n * @generated from field: bool check_blacklist_player_name = 18;\n */\n checkBlacklistPlayerName: boolean;\n\n /**\n * @generated from field: repeated string check_blacklist_player_level = 19;\n */\n checkBlacklistPlayerLevel: string[];\n};\n\n/**\n * Describes the message admin.UpdatePlatformConfigReq.\n * Use `create(UpdatePlatformConfigReqSchema)` to create a new message.\n */\nexport const UpdatePlatformConfigReqSchema: GenMessage<UpdatePlatformConfigReq> = /*@__PURE__*/\n messageDesc(file_admin_UpdatePlatformConfig, 1);\n\n","// @generated by protoc-gen-es v2.10.2 with parameter \"target=ts\"\n// @generated from file admin/CheckHasPermission.proto (package admin, syntax proto3)\n/* eslint-disable */\n\nimport type { GenFile, GenMessage } from \"@bufbuild/protobuf/codegenv2\";\nimport { fileDesc, messageDesc } from \"@bufbuild/protobuf/codegenv2\";\nimport type { BaseResponse } from \"../common/Common_pb\";\nimport { file_common_Common } from \"../common/Common_pb\";\nimport type { Message } from \"@bufbuild/protobuf\";\n\n/**\n * Describes the file admin/CheckHasPermission.proto.\n */\nexport const file_admin_CheckHasPermission: GenFile = /*@__PURE__*/\n fileDesc(\"Ch5hZG1pbi9DaGVja0hhc1Blcm1pc3Npb24ucHJvdG8SBWFkbWluIjgKFUNoZWNrSGFzUGVybWlzc2lvblJlcRIKCgJpZBgBIAEoCRITCgtwZXJtaXNzaW9ucxgCIAMoCSJSChVDaGVja0hhc1Blcm1pc3Npb25SZXMSKwoNYmFzZV9yZXNwb25zZRgBIAEoCzIULmNvbW1vbi5CYXNlUmVzcG9uc2USDAoEZGF0YRgCIAEoCGIGcHJvdG8z\", [file_common_Common]);\n\n/**\n * @generated from message admin.CheckHasPermissionReq\n */\nexport type CheckHasPermissionReq = Message<\"admin.CheckHasPermissionReq\"> & {\n /**\n * @generated from field: string id = 1;\n */\n id: string;\n\n /**\n * @generated from field: repeated string permissions = 2;\n */\n permissions: string[];\n};\n\n/**\n * Describes the message admin.CheckHasPermissionReq.\n * Use `create(CheckHasPermissionReqSchema)` to create a new message.\n */\nexport const CheckHasPermissionReqSchema: GenMessage<CheckHasPermissionReq> = /*@__PURE__*/\n messageDesc(file_admin_CheckHasPermission, 0);\n\n/**\n * @generated from message admin.CheckHasPermissionRes\n */\nexport type CheckHasPermissionRes = Message<\"admin.CheckHasPermissionRes\"> & {\n /**\n * @generated from field: common.BaseResponse base_response = 1;\n */\n baseResponse?: BaseResponse;\n\n /**\n * @generated from field: bool data = 2;\n */\n data: boolean;\n};\n\n/**\n * Describes the message admin.CheckHasPermissionRes.\n * Use `create(CheckHasPermissionResSchema)` to create a new message.\n */\nexport const CheckHasPermissionResSchema: GenMessage<CheckHasPermissionRes> = /*@__PURE__*/\n messageDesc(file_admin_CheckHasPermission, 1);\n\n","// @generated by protoc-gen-es v2.10.2 with parameter \"target=ts\"\n// @generated from file admin/GetGameName.proto (package admin, syntax proto3)\n/* eslint-disable */\n\nimport type { GenFile, GenMessage } from \"@bufbuild/protobuf/codegenv2\";\nimport { fileDesc, messageDesc } from \"@bufbuild/protobuf/codegenv2\";\nimport type { BaseResponse } from \"../common/Common_pb\";\nimport { file_common_Common } from \"../common/Common_pb\";\nimport type { Message } from \"@bufbuild/protobuf\";\n\n/**\n * Describes the file admin/GetGameName.proto.\n */\nexport const file_admin_GetGameName: GenFile = /*@__PURE__*/\n fileDesc(\"ChdhZG1pbi9HZXRHYW1lTmFtZS5wcm90bxIFYWRtaW4iIQoOR2V0R2FtZU5hbWVSZXESDwoHZ2FtZV9pZBgBIAEoCSIxCgRHYW1lEgoKAmlkGAEgASgJEgwKBG5hbWUYAiABKAkSDwoHZ2FtZV9pZBgDIAEoCSJYCg5HZXRHYW1lTmFtZVJlcxIrCg1iYXNlX3Jlc3BvbnNlGAEgASgLMhQuY29tbW9uLkJhc2VSZXNwb25zZRIZCgRkYXRhGAIgASgLMgsuYWRtaW4uR2FtZWIGcHJvdG8z\", [file_common_Common]);\n\n/**\n * @generated from message admin.GetGameNameReq\n */\nexport type GetGameNameReq = Message<\"admin.GetGameNameReq\"> & {\n /**\n * @generated from field: string game_id = 1;\n */\n gameId: string;\n};\n\n/**\n * Describes the message admin.GetGameNameReq.\n * Use `create(GetGameNameReqSchema)` to create a new message.\n */\nexport const GetGameNameReqSchema: GenMessage<GetGameNameReq> = /*@__PURE__*/\n messageDesc(file_admin_GetGameName, 0);\n\n/**\n * @generated from message admin.Game\n */\nexport type Game = Message<\"admin.Game\"> & {\n /**\n * @generated from field: string id = 1;\n */\n id: string;\n\n /**\n * @generated from field: string name = 2;\n */\n name: string;\n\n /**\n * @generated from field: string game_id = 3;\n */\n gameId: string;\n};\n\n/**\n * Describes the message admin.Game.\n * Use `create(GameSchema)` to create a new message.\n */\nexport const GameSchema: GenMessage<Game> = /*@__PURE__*/\n messageDesc(file_admin_GetGameName, 1);\n\n/**\n * @generated from message admin.GetGameNameRes\n */\nexport type GetGameNameRes = Message<\"admin.GetGameNameRes\"> & {\n /**\n * @generated from field: common.BaseResponse base_response = 1;\n */\n baseResponse?: BaseResponse;\n\n /**\n * @generated from field: admin.Game data = 2;\n */\n data?: Game;\n};\n\n/**\n * Describes the message admin.GetGameNameRes.\n * Use `create(GetGameNameResSchema)` to create a new message.\n */\nexport const GetGameNameResSchema: GenMessage<GetGameNameRes> = /*@__PURE__*/\n messageDesc(file_admin_GetGameName, 2);\n\n","// @generated by protoc-gen-es v2.10.2 with parameter \"target=ts\"\n// @generated from file admin/GetPlayerCredibilityRemarkId.proto (package admin, syntax proto3)\n/* eslint-disable */\n\nimport type { GenFile, GenMessage } from \"@bufbuild/protobuf/codegenv2\";\nimport { fileDesc, messageDesc } from \"@bufbuild/protobuf/codegenv2\";\nimport type { BaseResponse } from \"../common/Common_pb\";\nimport { file_common_Common } from \"../common/Common_pb\";\nimport type { Message } from \"@bufbuild/protobuf\";\n\n/**\n * Describes the file admin/GetPlayerCredibilityRemarkId.proto.\n */\nexport const file_admin_GetPlayerCredibilityRemarkId: GenFile = /*@__PURE__*/\n fileDesc(\"CihhZG1pbi9HZXRQbGF5ZXJDcmVkaWJpbGl0eVJlbWFya0lkLnByb3RvEgVhZG1pbiIwCh9HZXRQbGF5ZXJDcmVkaWJpbGl0eVJlbWFya0lkUmVxEg0KBW5hbWVzGAEgAygJIjcKG1BsYXllckNyZWRpYmlsaXR5UmVtYXJrRGF0YRIKCgJpZBgBIAEoCRIMCgRuYW1lGAIgASgJIoABCh9HZXRQbGF5ZXJDcmVkaWJpbGl0eVJlbWFya0lkUmVzEisKDWJhc2VfcmVzcG9uc2UYASABKAsyFC5jb21tb24uQmFzZVJlc3BvbnNlEjAKBGRhdGEYAiADKAsyIi5hZG1pbi5QbGF5ZXJDcmVkaWJpbGl0eVJlbWFya0RhdGFiBnByb3RvMw\", [file_common_Common]);\n\n/**\n * @generated from message admin.GetPlayerCredibilityRemarkIdReq\n */\nexport type GetPlayerCredibilityRemarkIdReq = Message<\"admin.GetPlayerCredibilityRemarkIdReq\"> & {\n /**\n * @generated from field: repeated string names = 1;\n */\n names: string[];\n};\n\n/**\n * Describes the message admin.GetPlayerCredibilityRemarkIdReq.\n * Use `create(GetPlayerCredibilityRemarkIdReqSchema)` to create a new message.\n */\nexport const GetPlayerCredibilityRemarkIdReqSchema: GenMessage<GetPlayerCredibilityRemarkIdReq> = /*@__PURE__*/\n messageDesc(file_admin_GetPlayerCredibilityRemarkId, 0);\n\n/**\n * @generated from message admin.PlayerCredibilityRemarkData\n */\nexport type PlayerCredibilityRemarkData = Message<\"admin.PlayerCredibilityRemarkData\"> & {\n /**\n * @generated from field: string id = 1;\n */\n id: string;\n\n /**\n * @generated from field: string name = 2;\n */\n name: string;\n};\n\n/**\n * Describes the message admin.PlayerCredibilityRemarkData.\n * Use `create(PlayerCredibilityRemarkDataSchema)` to create a new message.\n */\nexport const PlayerCredibilityRemarkDataSchema: GenMessage<PlayerCredibilityRemarkData> = /*@__PURE__*/\n messageDesc(file_admin_GetPlayerCredibilityRemarkId, 1);\n\n/**\n * @generated from message admin.GetPlayerCredibilityRemarkIdRes\n */\nexport type GetPlayerCredibilityRemarkIdRes = Message<\"admin.GetPlayerCredibilityRemarkIdRes\"> & {\n /**\n * @generated from field: common.BaseResponse base_response = 1;\n */\n baseResponse?: BaseResponse;\n\n /**\n * @generated from field: repeated admin.PlayerCredibilityRemarkData data = 2;\n */\n data: PlayerCredibilityRemarkData[];\n};\n\n/**\n * Describes the message admin.GetPlayerCredibilityRemarkIdRes.\n * Use `create(GetPlayerCredibilityRemarkIdResSchema)` to create a new message.\n */\nexport const GetPlayerCredibilityRemarkIdResSchema: GenMessage<GetPlayerCredibilityRemarkIdRes> = /*@__PURE__*/\n messageDesc(file_admin_GetPlayerCredibilityRemarkId, 2);\n\n","// @generated by protoc-gen-es v2.10.2 with parameter \"target=ts\"\n// @generated from file admin/GetMarketingDepartmentConfig.proto (package admin, syntax proto3)\n/* eslint-disable */\n\nimport type { GenFile, GenMessage } from \"@bufbuild/protobuf/codegenv2\";\nimport { fileDesc, messageDesc } from \"@bufbuild/protobuf/codegenv2\";\nimport type { BaseResponse } from \"../common/Common_pb\";\nimport { file_common_Common } from \"../common/Common_pb\";\nimport type { Message } from \"@bufbuild/protobuf\";\n\n/**\n * Describes the file admin/GetMarketingDepartmentConfig.proto.\n */\nexport const file_admin_GetMarketingDepartmentConfig: GenFile = /*@__PURE__*/\n fileDesc(\"CihhZG1pbi9HZXRNYXJrZXRpbmdEZXBhcnRtZW50Q29uZmlnLnByb3RvEgVhZG1pbiJBCh9HZXRNYXJrZXRpbmdEZXBhcnRtZW50Q29uZmlnUmVxEhMKBnN0YXR1cxgBIAEoBUgAiAEBQgkKB19zdGF0dXMiggEKGU1hcmtldGluZ0RlcGFydG1lbnRDb25maWcSCgoCaWQYASABKAkSDAoEbmFtZRgCIAEoCRIOCgZzdGF0dXMYAyABKAUSFAoMY3JlYXRlZF90aW1lGAQgASgJEhQKDHVwZGF0ZWRfdGltZRgFIAEoCRIPCgdjcmVhdG9yGAYgASgJIn4KH0dldE1hcmtldGluZ0RlcGFydG1lbnRDb25maWdSZXMSKwoNYmFzZV9yZXNwb25zZRgBIAEoCzIULmNvbW1vbi5CYXNlUmVzcG9uc2USLgoEZGF0YRgCIAMoCzIgLmFkbWluLk1hcmtldGluZ0RlcGFydG1lbnRDb25maWdiBnByb3RvMw\", [file_common_Common]);\n\n/**\n * @generated from message admin.GetMarketingDepartmentConfigReq\n */\nexport type GetMarketingDepartmentConfigReq = Message<\"admin.GetMarketingDepartmentConfigReq\"> & {\n /**\n * @generated from field: optional int32 status = 1;\n */\n status?: number;\n};\n\n/**\n * Describes the message admin.GetMarketingDepartmentConfigReq.\n * Use `create(GetMarketingDepartmentConfigReqSchema)` to create a new message.\n */\nexport const GetMarketingDepartmentConfigReqSchema: GenMessage<GetMarketingDepartmentConfigReq> = /*@__PURE__*/\n messageDesc(file_admin_GetMarketingDepartmentConfig, 0);\n\n/**\n * @generated from message admin.MarketingDepartmentConfig\n */\nexport type MarketingDepartmentConfig = Message<\"admin.MarketingDepartmentConfig\"> & {\n /**\n * @generated from field: string id = 1;\n */\n id: string;\n\n /**\n * @generated from field: string name = 2;\n */\n name: string;\n\n /**\n * @generated from field: int32 status = 3;\n */\n status: number;\n\n /**\n * @generated from field: string created_time = 4;\n */\n createdTime: string;\n\n /**\n * @generated from field: string updated_time = 5;\n */\n updatedTime: string;\n\n /**\n * @generated from field: string creator = 6;\n */\n creator: string;\n};\n\n/**\n * Describes the message admin.MarketingDepartmentConfig.\n * Use `create(MarketingDepartmentConfigSchema)` to create a new message.\n */\nexport const MarketingDepartmentConfigSchema: GenMessage<MarketingDepartmentConfig> = /*@__PURE__*/\n messageDesc(file_admin_GetMarketingDepartmentConfig, 1);\n\n/**\n * @generated from message admin.GetMarketingDepartmentConfigRes\n */\nexport type GetMarketingDepartmentConfigRes = Message<\"admin.GetMarketingDepartmentConfigRes\"> & {\n /**\n * @generated from field: common.BaseResponse base_response = 1;\n */\n baseResponse?: BaseResponse;\n\n /**\n * @generated from field: repeated admin.MarketingDepartmentConfig data = 2;\n */\n data: MarketingDepartmentConfig[];\n};\n\n/**\n * Describes the message admin.GetMarketingDepartmentConfigRes.\n * Use `create(GetMarketingDepartmentConfigResSchema)` to create a new message.\n */\nexport const GetMarketingDepartmentConfigResSchema: GenMessage<GetMarketingDepartmentConfigRes> = /*@__PURE__*/\n messageDesc(file_admin_GetMarketingDepartmentConfig, 2);\n\n","// @generated by protoc-gen-es v2.10.2 with parameter \"target=ts\"\n// @generated from file admin/CreateMarketingDepartmentConfig.proto (package admin, syntax proto3)\n/* eslint-disable */\n\nimport type { GenFile, GenMessage } from \"@bufbuild/protobuf/codegenv2\";\nimport { fileDesc, messageDesc } from \"@bufbuild/protobuf/codegenv2\";\nimport type { Message } from \"@bufbuild/protobuf\";\n\n/**\n * Describes the file admin/CreateMarketingDepartmentConfig.proto.\n */\nexport const file_admin_CreateMarketingDepartmentConfig: GenFile = /*@__PURE__*/\n fileDesc(\"CithZG1pbi9DcmVhdGVNYXJrZXRpbmdEZXBhcnRtZW50Q29uZmlnLnByb3RvEgVhZG1pbiJDCiJDcmVhdGVNYXJrZXRpbmdEZXBhcnRtZW50Q29uZmlnUmVxEgwKBG5hbWUYASABKAkSDwoHY3JlYXRvchgCIAEoCWIGcHJvdG8z\");\n\n/**\n * @generated from message admin.CreateMarketingDepartmentConfigReq\n */\nexport type CreateMarketingDepartmentConfigReq = Message<\"admin.CreateMarketingDepartmentConfigReq\"> & {\n /**\n * @generated from field: string name = 1;\n */\n name: string;\n\n /**\n * @generated from field: string creator = 2;\n */\n creator: string;\n};\n\n/**\n * Describes the message admin.CreateMarketingDepartmentConfigReq.\n * Use `create(CreateMarketingDepartmentConfigReqSchema)` to create a new message.\n */\nexport const CreateMarketingDepartmentConfigReqSchema: GenMessage<CreateMarketingDepartmentConfigReq> = /*@__PURE__*/\n messageDesc(file_admin_CreateMarketingDepartmentConfig, 0);\n\n","// @generated by protoc-gen-es v2.10.2 with parameter \"target=ts\"\n// @generated from file admin/UpdateMarketingDepartmentConfig.proto (package admin, syntax proto3)\n/* eslint-disable */\n\nimport type { GenFile, GenMessage } from \"@bufbuild/protobuf/codegenv2\";\nimport { fileDesc, messageDesc } from \"@bufbuild/protobuf/codegenv2\";\nimport type { Message } from \"@bufbuild/protobuf\";\n\n/**\n * Describes the file admin/UpdateMarketingDepartmentConfig.proto.\n */\nexport const file_admin_UpdateMarketingDepartmentConfig: GenFile = /*@__PURE__*/\n fileDesc(\"CithZG1pbi9VcGRhdGVNYXJrZXRpbmdEZXBhcnRtZW50Q29uZmlnLnByb3RvEgVhZG1pbiJfCiJVcGRhdGVNYXJrZXRpbmdEZXBhcnRtZW50Q29uZmlnUmVxEgoKAmlkGAEgASgJEgwKBG5hbWUYAiABKAkSDwoHY3JlYXRvchgDIAEoCRIOCgZzdGF0dXMYBCABKAViBnByb3RvMw\");\n\n/**\n * @generated from message admin.UpdateMarketingDepartmentConfigReq\n */\nexport type UpdateMarketingDepartmentConfigReq = Message<\"admin.UpdateMarketingDepartmentConfigReq\"> & {\n /**\n * @generated from field: string id = 1;\n */\n id: string;\n\n /**\n * @generated from field: string name = 2;\n */\n name: string;\n\n /**\n * @generated from field: string creator = 3;\n */\n creator: string;\n\n /**\n * @generated from field: int32 status = 4;\n */\n status: number;\n};\n\n/**\n * Describes the message admin.UpdateMarketingDepartmentConfigReq.\n * Use `create(UpdateMarketingDepartmentConfigReqSchema)` to create a new message.\n */\nexport const UpdateMarketingDepartmentConfigReqSchema: GenMessage<UpdateMarketingDepartmentConfigReq> = /*@__PURE__*/\n messageDesc(file_admin_UpdateMarketingDepartmentConfig, 0);\n\n","// @generated by protoc-gen-es v2.10.2 with parameter \"target=ts\"\n// @generated from file admin/DeleteMarketingDepartmentConfig.proto (package admin, syntax proto3)\n/* eslint-disable */\n\nimport type { GenFile, GenMessage } from \"@bufbuild/protobuf/codegenv2\";\nimport { fileDesc, messageDesc } from \"@bufbuild/protobuf/codegenv2\";\nimport type { Message } from \"@bufbuild/protobuf\";\n\n/**\n * Describes the file admin/DeleteMarketingDepartmentConfig.proto.\n */\nexport const file_admin_DeleteMarketingDepartmentConfig: GenFile = /*@__PURE__*/\n fileDesc(\"CithZG1pbi9EZWxldGVNYXJrZXRpbmdEZXBhcnRtZW50Q29uZmlnLnByb3RvEgVhZG1pbiIwCiJEZWxldGVNYXJrZXRpbmdEZXBhcnRtZW50Q29uZmlnUmVxEgoKAmlkGAEgASgJYgZwcm90bzM\");\n\n/**\n * @generated from message admin.DeleteMarketingDepartmentConfigReq\n */\nexport type DeleteMarketingDepartmentConfigReq = Message<\"admin.DeleteMarketingDepartmentConfigReq\"> & {\n /**\n * @generated from field: string id = 1;\n */\n id: string;\n};\n\n/**\n * Describes the message admin.DeleteMarketingDepartmentConfigReq.\n * Use `create(DeleteMarketingDepartmentConfigReqSchema)` to create a new message.\n */\nexport const DeleteMarketingDepartmentConfigReqSchema: GenMessage<DeleteMarketingDepartmentConfigReq> = /*@__PURE__*/\n messageDesc(file_admin_DeleteMarketingDepartmentConfig, 0);\n\n","import type { MessageInit } from '../client/grpcClient'\nimport { defineEndpoint } from './endpoint'\nimport { AdminService } from '../grpcWeb/grpc/admin/AdminService_pb'\nimport type { AdminSignUpRes } from '../grpcWeb/grpc/admin/SignUpAdmin_pb'\nimport { SignUpAdminReqSchema } from '../grpcWeb/grpc/admin/SignUpAdmin_pb'\nimport type { CheckHasPermissionRes } from '../grpcWeb/grpc/admin/CheckHasPermission_pb'\nimport { CheckHasPermissionReqSchema } from '../grpcWeb/grpc/admin/CheckHasPermission_pb'\nimport { CreateMarketingDepartmentConfigReqSchema } from '../grpcWeb/grpc/admin/CreateMarketingDepartmentConfig_pb'\nimport { DeleteMarketingDepartmentConfigReqSchema } from '../grpcWeb/grpc/admin/DeleteMarketingDepartmentConfig_pb'\nimport type { GetAdminProfileByJwtRes } from '../grpcWeb/grpc/admin/GetAdminProfileByJwt_pb'\nimport type { GetGameNameRes } from '../grpcWeb/grpc/admin/GetGameName_pb'\nimport { GetGameNameReqSchema } from '../grpcWeb/grpc/admin/GetGameName_pb'\nimport type { GetMarketingDepartmentConfigRes } from '../grpcWeb/grpc/admin/GetMarketingDepartmentConfig_pb'\nimport { GetMarketingDepartmentConfigReqSchema } from '../grpcWeb/grpc/admin/GetMarketingDepartmentConfig_pb'\nimport type { GetPlayerCredibilityRemarkIdRes } from '../grpcWeb/grpc/admin/GetPlayerCredibilityRemarkId_pb'\nimport { GetPlayerCredibilityRemarkIdReqSchema } from '../grpcWeb/grpc/admin/GetPlayerCredibilityRemarkId_pb'\nimport type { SignInRes } from '../grpcWeb/grpc/admin/SignIn_pb'\nimport { SignInReqSchema } from '../grpcWeb/grpc/admin/SignIn_pb'\nimport type { ValidateAdminRes } from '../grpcWeb/grpc/admin/ValidateAdmin_pb'\nimport { ValidateAdminReqSchema } from '../grpcWeb/grpc/admin/ValidateAdmin_pb'\nimport { UpdateMarketingDepartmentConfigReqSchema } from '../grpcWeb/grpc/admin/UpdateMarketingDepartmentConfig_pb'\nimport { UpdatePlatformConfigReqSchema } from '../grpcWeb/grpc/admin/UpdatePlatformConfig_pb'\nimport type { BaseResponse } from '../grpcWeb/grpc/common/Common_pb'\nimport { EmptySchema } from '../grpcWeb/grpc/common/Common_pb'\n\nexport const adminEndpoints = {\n signIn: defineEndpoint<MessageInit<typeof SignInReqSchema>, SignInRes>({\n id: 'admin.signIn',\n transport: 'grpc',\n grpc: { service: AdminService, methodName: 'signIn', requestSchema: SignInReqSchema },\n }),\n getAdminProfileByJwt: defineEndpoint<MessageInit<typeof EmptySchema>, GetAdminProfileByJwtRes>({\n id: 'admin.getAdminProfileByJwt',\n transport: 'grpc',\n grpc: { service: AdminService, methodName: 'getAdminProfileByJwt', requestSchema: EmptySchema },\n }),\n validateAdmin: defineEndpoint<MessageInit<typeof ValidateAdminReqSchema>, ValidateAdminRes>({\n id: 'admin.validateAdmin',\n transport: 'grpc',\n grpc: {\n service: AdminService,\n methodName: 'validateAdmin',\n requestSchema: ValidateAdminReqSchema,\n },\n }),\n signUpAdmin: defineEndpoint<MessageInit<typeof SignUpAdminReqSchema>, AdminSignUpRes>({\n id: 'admin.signUpAdmin',\n transport: 'grpc',\n grpc: { service: AdminService, methodName: 'signUpAdmin', requestSchema: SignUpAdminReqSchema },\n }),\n updatePlatformConfig: defineEndpoint<\n MessageInit<typeof UpdatePlatformConfigReqSchema>,\n BaseResponse\n >({\n id: 'admin.updatePlatformConfig',\n transport: 'grpc',\n grpc: {\n service: AdminService,\n methodName: 'updatePlatformConfig',\n requestSchema: UpdatePlatformConfigReqSchema,\n },\n }),\n checkHasPermission: defineEndpoint<\n MessageInit<typeof CheckHasPermissionReqSchema>,\n CheckHasPermissionRes\n >({\n id: 'admin.checkHasPermission',\n transport: 'grpc',\n grpc: {\n service: AdminService,\n methodName: 'checkHasPermission',\n requestSchema: CheckHasPermissionReqSchema,\n },\n }),\n getGameName: defineEndpoint<MessageInit<typeof GetGameNameReqSchema>, GetGameNameRes>({\n id: 'admin.getGameName',\n transport: 'grpc',\n grpc: { service: AdminService, methodName: 'getGameName', requestSchema: GetGameNameReqSchema },\n }),\n getPlayerCredibilityRemarkId: defineEndpoint<\n MessageInit<typeof GetPlayerCredibilityRemarkIdReqSchema>,\n GetPlayerCredibilityRemarkIdRes\n >({\n id: 'admin.getPlayerCredibilityRemarkId',\n transport: 'grpc',\n grpc: {\n service: AdminService,\n methodName: 'getPlayerCredibilityRemarkId',\n requestSchema: GetPlayerCredibilityRemarkIdReqSchema,\n },\n }),\n getMarketingDepartmentConfig: defineEndpoint<\n MessageInit<typeof GetMarketingDepartmentConfigReqSchema>,\n GetMarketingDepartmentConfigRes\n >({\n id: 'admin.getMarketingDepartmentConfig',\n transport: 'grpc',\n grpc: {\n service: AdminService,\n methodName: 'getMarketingDepartmentConfig',\n requestSchema: GetMarketingDepartmentConfigReqSchema,\n },\n }),\n createMarketingDepartmentConfig: defineEndpoint<\n MessageInit<typeof CreateMarketingDepartmentConfigReqSchema>,\n BaseResponse\n >({\n id: 'admin.createMarketingDepartmentConfig',\n transport: 'grpc',\n grpc: {\n service: AdminService,\n methodName: 'createMarketingDepartmentConfig',\n requestSchema: CreateMarketingDepartmentConfigReqSchema,\n },\n }),\n updateMarketingDepartmentConfig: defineEndpoint<\n MessageInit<typeof UpdateMarketingDepartmentConfigReqSchema>,\n BaseResponse\n >({\n id: 'admin.updateMarketingDepartmentConfig',\n transport: 'grpc',\n grpc: {\n service: AdminService,\n methodName: 'updateMarketingDepartmentConfig',\n requestSchema: UpdateMarketingDepartmentConfigReqSchema,\n },\n }),\n deleteMarketingDepartmentConfig: defineEndpoint<\n MessageInit<typeof DeleteMarketingDepartmentConfigReqSchema>,\n BaseResponse\n >({\n id: 'admin.deleteMarketingDepartmentConfig',\n transport: 'grpc',\n grpc: {\n service: AdminService,\n methodName: 'deleteMarketingDepartmentConfig',\n requestSchema: DeleteMarketingDepartmentConfigReqSchema,\n },\n }),\n} as const\n","// @generated by protoc-gen-es v2.10.2 with parameter \"target=ts\"\n// @generated from file cms/FrontendService.proto (package CMS, syntax proto3)\n/* eslint-disable */\n\nimport type { GenFile, GenService } from \"@bufbuild/protobuf/codegenv2\";\nimport { fileDesc, serviceDesc } from \"@bufbuild/protobuf/codegenv2\";\nimport type { BaseResponseSchema } from \"../common/Common_pb\";\nimport { file_common_Common } from \"../common/Common_pb\";\nimport type { PageResourceReqSchema, PageResourceResSchema } from \"./GetPageResource_pb\";\nimport { file_cms_GetPageResource } from \"./GetPageResource_pb\";\nimport type { PageGameListReqSchema, PageGameListResSchema } from \"./GetPageGameList_pb\";\nimport { file_cms_GetPageGameList } from \"./GetPageGameList_pb\";\nimport type { JackpotResourcesReqSchema, JackpotResourcesResSchema } from \"./GetJackpotResources_pb\";\nimport { file_cms_GetJackpotResources } from \"./GetJackpotResources_pb\";\nimport type { ReadPopupReqSchema } from \"./ReadPopup_pb\";\nimport { file_cms_ReadPopup } from \"./ReadPopup_pb\";\nimport type { ReadEventPopupReqSchema } from \"./ReadEventPopup_pb\";\nimport { file_cms_ReadEventPopup } from \"./ReadEventPopup_pb\";\nimport type { AmbassadorConfigReqSchema, AmbassadorConfigResSchema } from \"./GetAmbassadorConfig_pb\";\nimport { file_cms_GetAmbassadorConfig } from \"./GetAmbassadorConfig_pb\";\nimport type { GetAmbassadorConfigDetailReqSchema, GetAmbassadorConfigDetailResSchema } from \"./GetAmbassadorConfigDetail_pb\";\nimport { file_cms_GetAmbassadorConfigDetail } from \"./GetAmbassadorConfigDetail_pb\";\nimport type { SearchGameReqSchema, SearchGameResSchema } from \"./SearchGame_pb\";\nimport { file_cms_SearchGame } from \"./SearchGame_pb\";\nimport type { SearchGameV2ReqSchema, SearchGameV2ResSchema } from \"./SearchGameV2_pb\";\nimport { file_cms_SearchGameV2 } from \"./SearchGameV2_pb\";\nimport type { GetSportConfigReqSchema, GetSportConfigResSchema } from \"./GetSportConfig_pb\";\nimport { file_cms_GetSportConfig } from \"./GetSportConfig_pb\";\nimport type { GetSportTodayMatchReqSchema, GetSportTodayMatchResSchema } from \"./GetSportTodayMatch_pb\";\nimport { file_cms_GetSportTodayMatch } from \"./GetSportTodayMatch_pb\";\nimport type { GetGameSuggestionsReqSchema, GetGameSuggestionsResSchema } from \"./GetGameSuggestions_pb\";\nimport { file_cms_GetGameSuggestions } from \"./GetGameSuggestions_pb\";\n\n/**\n * Describes the file cms/FrontendService.proto.\n */\nexport const file_cms_FrontendService: GenFile = /*@__PURE__*/\n fileDesc(\"ChljbXMvRnJvbnRlbmRTZXJ2aWNlLnByb3RvEgNDTVMyzgYKD0Zyb250ZW5kU2VydmljZRI9Cg9HZXRQYWdlUmVzb3VyY2USFC5DTVMuUGFnZVJlc291cmNlUmVxGhQuQ01TLlBhZ2VSZXNvdXJjZVJlcxI9Cg9HZXRQYWdlR2FtZUxpc3QSFC5DTVMuUGFnZUdhbWVMaXN0UmVxGhQuQ01TLlBhZ2VHYW1lTGlzdFJlcxJJChNHZXRKYWNrcG90UmVzb3VyY2VzEhguQ01TLkphY2twb3RSZXNvdXJjZXNSZXEaGC5DTVMuSmFja3BvdFJlc291cmNlc1JlcxI0CglSZWFkUG9wdXASES5DTVMuUmVhZFBvcHVwUmVxGhQuY29tbW9uLkJhc2VSZXNwb25zZRI+Cg5SZWFkRXZlbnRQb3B1cBIWLkNNUy5SZWFkRXZlbnRQb3B1cFJlcRoULmNvbW1vbi5CYXNlUmVzcG9uc2USSQoTR2V0QW1iYXNzYWRvckNvbmZpZxIYLkNNUy5BbWJhc3NhZG9yQ29uZmlnUmVxGhguQ01TLkFtYmFzc2Fkb3JDb25maWdSZXMSYQoZR2V0QW1iYXNzYWRvckNvbmZpZ0RldGFpbBIhLkNNUy5HZXRBbWJhc3NhZG9yQ29uZmlnRGV0YWlsUmVxGiEuQ01TLkdldEFtYmFzc2Fkb3JDb25maWdEZXRhaWxSZXMSNAoKU2VhcmNoR2FtZRISLkNNUy5TZWFyY2hHYW1lUmVxGhIuQ01TLlNlYXJjaEdhbWVSZXMSOgoMU2VhcmNoR2FtZVYyEhQuQ01TLlNlYXJjaEdhbWVWMlJlcRoULkNNUy5TZWFyY2hHYW1lVjJSZXMSQAoOR2V0U3BvcnRDb25maWcSFi5DTVMuR2V0U3BvcnRDb25maWdSZXEaFi5DTVMuR2V0U3BvcnRDb25maWdSZXMSTAoSR2V0U3BvcnRUb2RheU1hdGNoEhouQ01TLkdldFNwb3J0VG9kYXlNYXRjaFJlcRoaLkNNUy5HZXRTcG9ydFRvZGF5TWF0Y2hSZXMSTAoSR2V0R2FtZVN1Z2dlc3Rpb25zEhouQ01TLkdldEdhbWVTdWdnZXN0aW9uc1JlcRoaLkNNUy5HZXRHYW1lU3VnZ2VzdGlvbnNSZXNiBnByb3RvMw\", [file_common_Common, file_cms_GetPageResource, file_cms_GetPageGameList, file_cms_GetJackpotResources, file_cms_ReadPopup, file_cms_ReadEventPopup, file_cms_GetAmbassadorConfig, file_cms_GetAmbassadorConfigDetail, file_cms_SearchGame, file_cms_SearchGameV2, file_cms_GetSportConfig, file_cms_GetSportTodayMatch, file_cms_GetGameSuggestions]);\n\n/**\n * @generated from service CMS.FrontendService\n */\nexport const FrontendService: GenService<{\n /**\n * @generated from rpc CMS.FrontendService.GetPageResource\n */\n getPageResource: {\n methodKind: \"unary\";\n input: typeof PageResourceReqSchema;\n output: typeof PageResourceResSchema;\n },\n /**\n * @generated from rpc CMS.FrontendService.GetPageGameList\n */\n getPageGameList: {\n methodKind: \"unary\";\n input: typeof PageGameListReqSchema;\n output: typeof PageGameListResSchema;\n },\n /**\n * @generated from rpc CMS.FrontendService.GetJackpotResources\n */\n getJackpotResources: {\n methodKind: \"unary\";\n input: typeof JackpotResourcesReqSchema;\n output: typeof JackpotResourcesResSchema;\n },\n /**\n * @generated from rpc CMS.FrontendService.ReadPopup\n */\n readPopup: {\n methodKind: \"unary\";\n input: typeof ReadPopupReqSchema;\n output: typeof BaseResponseSchema;\n },\n /**\n * @generated from rpc CMS.FrontendService.ReadEventPopup\n */\n readEventPopup: {\n methodKind: \"unary\";\n input: typeof ReadEventPopupReqSchema;\n output: typeof BaseResponseSchema;\n },\n /**\n * @generated from rpc CMS.FrontendService.GetAmbassadorConfig\n */\n getAmbassadorConfig: {\n methodKind: \"unary\";\n input: typeof AmbassadorConfigReqSchema;\n output: typeof AmbassadorConfigResSchema;\n },\n /**\n * @generated from rpc CMS.FrontendService.GetAmbassadorConfigDetail\n */\n getAmbassadorConfigDetail: {\n methodKind: \"unary\";\n input: typeof GetAmbassadorConfigDetailReqSchema;\n output: typeof GetAmbassadorConfigDetailResSchema;\n },\n /**\n * @generated from rpc CMS.FrontendService.SearchGame\n */\n searchGame: {\n methodKind: \"unary\";\n input: typeof SearchGameReqSchema;\n output: typeof SearchGameResSchema;\n },\n /**\n * @generated from rpc CMS.FrontendService.SearchGameV2\n */\n searchGameV2: {\n methodKind: \"unary\";\n input: typeof SearchGameV2ReqSchema;\n output: typeof SearchGameV2ResSchema;\n },\n /**\n * @generated from rpc CMS.FrontendService.GetSportConfig\n */\n getSportConfig: {\n methodKind: \"unary\";\n input: typeof GetSportConfigReqSchema;\n output: typeof GetSportConfigResSchema;\n },\n /**\n * @generated from rpc CMS.FrontendService.GetSportTodayMatch\n */\n getSportTodayMatch: {\n methodKind: \"unary\";\n input: typeof GetSportTodayMatchReqSchema;\n output: typeof GetSportTodayMatchResSchema;\n },\n /**\n * @generated from rpc CMS.FrontendService.GetGameSuggestions\n */\n getGameSuggestions: {\n methodKind: \"unary\";\n input: typeof GetGameSuggestionsReqSchema;\n output: typeof GetGameSuggestionsResSchema;\n },\n}> = /*@__PURE__*/\n serviceDesc(file_cms_FrontendService, 0);\n\n","// @generated by protoc-gen-es v2.10.2 with parameter \"target=ts\"\n// @generated from file cms/GetPageResource.proto (package CMS, syntax proto3)\n/* eslint-disable */\n\nimport type { GenEnum, GenFile, GenMessage } from \"@bufbuild/protobuf/codegenv2\";\nimport { enumDesc, fileDesc, messageDesc } from \"@bufbuild/protobuf/codegenv2\";\nimport { file_common_CommonEnums } from \"../common/CommonEnums_pb\";\nimport type { BaseResponse, Game } from \"../common/Common_pb\";\nimport { file_common_Common } from \"../common/Common_pb\";\nimport type { Action, FloorType, GroupABTest, JackpotProvider, PopupType, SocialMediaPlatform, Status } from \"../cmsCommon/CmsCommon_pb\";\nimport { file_cmsCommon_CmsCommon } from \"../cmsCommon/CmsCommon_pb\";\nimport type { Message } from \"@bufbuild/protobuf\";\n\n/**\n * Describes the file cms/GetPageResource.proto.\n */\nexport const file_cms_GetPageResource: GenFile = /*@__PURE__*/\n fileDesc(\"ChljbXMvR2V0UGFnZVJlc291cmNlLnByb3RvEgNDTVMiXwoMQ2Fyb3VzZWxHYW1lEhMKC2dhbWVfb2JqX2lkGAEgASgJEhEKCWdhbWVfbmFtZRgCIAEoCRISCgp0YWJsZV9jb2RlGAMgASgJEhMKC3Byb3ZpZGVyX2lkGAQgASgJIlIKCEdhbWVUYWdzEhUKDWdhbWVfbmFtZV90YWcYASADKAkSFQoNZ2FtZV90eXBlX3RhZxgCIAMoCRIYChBnYW1lX3Jlc291cmNlX2lkGAMgASgJIpcECghDYXJvdXNlbBIRCglpbWFnZV91cmwYASABKAkSDAoEbGluaxgCIAEoCRISCgpzdGFydF9kYXRlGAMgASgJEhAKCGVuZF9kYXRlGAQgASgJEiEKFGlzX3NwZWNpZmljX25hbWVsaXN0GAUgASgISACIAQESFgoObmFtZV9saXN0X2NvZGUYBiABKAkSIQoGYWN0aW9uGAcgASgOMhEuY21zQ29tbW9uLkFjdGlvbhIfCgRnYW1lGAggASgLMhEuQ01TLkNhcm91c2VsR2FtZRIVCghpc19sb2dpbhgJIAEoCEgBiAEBEhwKFGVpZF9lbnRyYW5jZV92aXNpYmxlGAogAygJEg8KB2dhbWVfaWQYCyABKAkSEQoJZ2FtZV9uYW1lGAwgASgJEhIKCnRhYmxlX2NvZGUYDSABKAkSEwoLcHJvdmlkZXJfaWQYDiABKAkSGwoEdGFncxgPIAEoCzINLkNNUy5HYW1lVGFncxIgChNwbGF5ZXJfbGV2ZWxfb2JqX2lkGBAgASgJSAKIAQESEgoFdGl0bGUYESABKAlIA4gBARIYCgtkZXNjcmlwdGlvbhgSIAEoCUgEiAEBQhcKFV9pc19zcGVjaWZpY19uYW1lbGlzdEILCglfaXNfbG9naW5CFgoUX3BsYXllcl9sZXZlbF9vYmpfaWRCCAoGX3RpdGxlQg4KDF9kZXNjcmlwdGlvbiKPAQoQR2FtZUZpbHRlckNvbmZpZxITCgtyZXNvdXJjZV9pZBgBIAEoCRITCgtmaWx0ZXJfbmFtZRgCIAEoCRITCgthY3RpdmVfaWNvbhgDIAEoCRIVCg1pbmFjdGl2ZV9pY29uGAQgASgJEhEKCWlzX2FjdGl2ZRgFIAEoCBISCgp0YWJsZV9jb2RlGAYgASgJIu4ECglHYW1lRmxvb3ISDAoEbmFtZRgBIAEoCRIiCgR0eXBlGAIgASgOMhQuY21zQ29tbW9uLkZsb29yVHlwZRIbCgVnYW1lcxgDIAMoCzIMLmNvbW1vbi5HYW1lEiYKBnN0YXR1cxgEIAEoDjIRLmNtc0NvbW1vbi5TdGF0dXNIAIgBARIdChBtYXhfZ2FtZV9kaXNwbGF5GAUgASgFSAGIAQESGQoMZmxvb3Jfb2JqX2lkGAYgASgJSAKIAQESFQoIdmlld19hbGwYByABKAhIA4gBARIjChZnYW1lX25hdmlnYXRpb25fb2JqX2lkGAggASgJSASIAQESIAoTcm91dGVfdG9fbmF2aWdhdGlvbhgJIAEoCUgFiAEBEhkKDHByb2R1Y3RfbmFtZRgKIAEoBUgGiAEBEjIKEGdhbWVfZGV2aWNlX3R5cGUYCyABKA4yEy5DTVMuR2FtZURldmljZVR5cGVIB4gBARIsCgdhYl90ZXN0GAwgASgOMhYuY21zQ29tbW9uLkdyb3VwQUJUZXN0SAiIAQESHQoQZ2FtZV9yZXNvdXJjZV9pZBgNIAEoCUgJiAEBQgkKB19zdGF0dXNCEwoRX21heF9nYW1lX2Rpc3BsYXlCDwoNX2Zsb29yX29ial9pZEILCglfdmlld19hbGxCGQoXX2dhbWVfbmF2aWdhdGlvbl9vYmpfaWRCFgoUX3JvdXRlX3RvX25hdmlnYXRpb25CDwoNX3Byb2R1Y3RfbmFtZUITChFfZ2FtZV9kZXZpY2VfdHlwZUIKCghfYWJfdGVzdEITChFfZ2FtZV9yZXNvdXJjZV9pZCItCglGQVFDb25maWcSEAoIcXVlc3Rpb24YASABKAkSDgoGYW5zd2VyGAIgASgJIlEKCkxpdmVTdHJlYW0SEQoJZ2FtZV9uYW1lGAEgASgJEg8KB2dhbWVfaWQYAiABKAkSEgoKdGFibGVfY29kZRgDIAEoCRILCgN1cmwYBCABKAkiTAoORG93bmxvYWRDb25maWcSFAoHYW5kcm9pZBgBIAEoCUgAiAEBEhAKA2lvcxgCIAEoCUgBiAEBQgoKCF9hbmRyb2lkQgYKBF9pb3MiWgoIUHJvdmlkZXISEwoLcHJvdmlkZXJfaWQYASABKAkSFQoNcHJvdmlkZXJfbmFtZRgCIAEoCRIRCglpc19hY3RpdmUYAyABKAgSDwoHc29ydGluZxgEIAEoBSLuAQoQSmFja3BvdFNwb3RsaWdodBIUCgxwbGF5ZXJfY291bnQYASABKAUSDgoGcGF5b3V0GAIgASgFEg4KBnZpZXdlchgDIAEoBRIhCgZhY3Rpb24YBCABKA4yES5jbXNDb21tb24uQWN0aW9uEhMKC2J1dHRvbl9uYW1lGAUgASgJEhQKDHJlZGlyZWN0X3VybBgGIAEoCRIWCg5sYXVuY2hfZ2FtZV9pZBgHIAEoCRIYChBsYXVuY2hfZ2FtZV9uYW1lGAggASgJEhAKCGFydGljbGVzGAkgAygJEhIKCm5ld19wYXlvdXQYCiABKAkisQEKDVJlY2VudEphY2twb3QSFAoMcmVkaXJlY3RfdXJsGAEgASgJEhMKC2J1dHRvbl9uYW1lGAIgASgJEg4KBnZpZXdlchgDIAEoBRIhCgZhY3Rpb24YBCABKA4yES5jbXNDb21tb24uQWN0aW9uEhYKDmxhdW5jaF9nYW1lX2lkGAUgASgJEhgKEGxhdW5jaF9nYW1lX25hbWUYBiABKAkSEAoIYXJ0aWNsZXMYByADKAki6QEKDlRyZW5kaW5nU2VhcmNoEg4KBnZpZXdlchgBIAEoBRIhCgZhY3Rpb24YAiABKA4yES5jbXNDb21tb24uQWN0aW9uEhMKC2J1dHRvbl9uYW1lGAMgASgJEhQKDHJlZGlyZWN0X3VybBgEIAEoCRI1ChFqYWNrcG90X3Byb3ZpZGVycxgFIAMoCzIaLmNtc0NvbW1vbi5KYWNrcG90UHJvdmlkZXISFgoObGF1bmNoX2dhbWVfaWQYBiABKAkSGAoQbGF1bmNoX2dhbWVfbmFtZRgHIAEoCRIQCghhcnRpY2xlcxgIIAMoCSKuAQoKVGVuTWlsbGlvbhIOCgZ2aWV3ZXIYASABKAUSIQoGYWN0aW9uGAIgASgOMhEuY21zQ29tbW9uLkFjdGlvbhITCgtidXR0b25fbmFtZRgDIAEoCRIUCgxyZWRpcmVjdF91cmwYBCABKAkSFgoObGF1bmNoX2dhbWVfaWQYBSABKAkSGAoQbGF1bmNoX2dhbWVfbmFtZRgGIAEoCRIQCghhcnRpY2xlcxgHIAMoCSLUBgoLUG9wdXBDb25maWcSEAoIcG9wdXBfaWQYASABKAkSEQoJaW1hZ2VfdXJsGAIgASgJEiEKBmFjdGlvbhgDIAEoDjIRLmNtc0NvbW1vbi5BY3Rpb24SFAoMcmVkaXJlY3RfdXJsGAQgASgJEhIKCnN0YXJ0X2RhdGUYBSABKAkSEAoIZW5kX2RhdGUYBiABKAkSHAoUaXNfc3BlY2lmaWNfbmFtZWxpc3QYByABKAgSFgoObmFtZV9saXN0X2NvZGUYCCABKAkSGgoScGVyX2RheV9yZWFkX3RpbWVzGAkgASgFEhAKCGlzX2xvZ2luGAogASgIEh8KBGdhbWUYCyABKAsyES5DTVMuQ2Fyb3VzZWxHYW1lEhwKFGVpZF9lbnRyYW5jZV92aXNpYmxlGAwgAygJEhMKC3Byb3ZpZGVyX2lkGA0gASgJEhQKDGRpc3BsYXlfb25jZRgOIAEoCBIPCgdnYW1lX2lkGA8gASgJEhEKCWdhbWVfbmFtZRgQIAEoCRISCgp0YWJsZV9jb2RlGBEgASgJEhsKBHRhZ3MYEiABKAsyDS5DTVMuR2FtZVRhZ3MSIAoTcGxheWVyX2xldmVsX29ial9pZBgTIAEoCUgAiAEBEiwKH2RvbnRfc2hvd19hZ2Fpbl9hZnRlcl9yZWFkX2RheXMYFCABKAVIAYgBARIhChRza2lwX2FmdGVyX3JlYWRfZGF5cxgVIAEoBUgCiAEBEhoKDXJld2FyZF9hbW91bnQYFiABKAlIA4gBARItCgpwb3B1cF90eXBlGBcgASgOMhQuY21zQ29tbW9uLlBvcHVwVHlwZUgEiAEBEhgKC2Rlc2NyaXB0aW9uGBggASgJSAWIAQESEgoFdGl0bGUYGSABKAlIBogBARIVCghtZXRhZGF0YRgaIAEoCUgHiAEBQhYKFF9wbGF5ZXJfbGV2ZWxfb2JqX2lkQiIKIF9kb250X3Nob3dfYWdhaW5fYWZ0ZXJfcmVhZF9kYXlzQhcKFV9za2lwX2FmdGVyX3JlYWRfZGF5c0IQCg5fcmV3YXJkX2Ftb3VudEINCgtfcG9wdXBfdHlwZUIOCgxfZGVzY3JpcHRpb25CCAoGX3RpdGxlQgsKCV9tZXRhZGF0YSJXChFTb2NpYWxNZWRpYUNvbmZpZxIsCgR0eXBlGAEgASgOMh4uY21zQ29tbW9uLlNvY2lhbE1lZGlhUGxhdGZvcm0SFAoMcmVkaXJlY3RfdXJsGAIgASgJIogBCg1TaGFyaW5nQ29uZmlnEhIKCmV2ZW50X25hbWUYASABKAkSDQoFdGl0bGUYAiABKAkSLAoEdHlwZRgDIAEoDjIeLmNtc0NvbW1vbi5Tb2NpYWxNZWRpYVBsYXRmb3JtEhMKC2Rlc2NyaXB0aW9uGAQgASgJEhEKCWltYWdlX3VybBgFIAEoCSKwAgoTQmVzdFJvdXRlU3VnZ2VzdGlvbhISCgp0aXRsZV9uYW1lGAEgASgJEiEKBmFjdGlvbhgCIAEoDjIRLmNtc0NvbW1vbi5BY3Rpb24SHQoVdXNlcl9hbGxvY2F0aW9uX3JhdGlvGAMgASgJEg8KB2dhbWVfaWQYBCABKAkSGAoQZnJvbnRlbmRfZGlzcGxheRgFIAEoCBIRCglpbWFnZV91cmwYBiABKAkSHwoEZ2FtZRgHIAEoCzIRLkNNUy5DYXJvdXNlbEdhbWUSKAoLZGV2aWNlX3R5cGUYCCADKA4yEy5DTVMuR2FtZURldmljZVR5cGUSEQoJZ2FtZV9uYW1lGAkgASgJEhIKCnRhYmxlX2NvZGUYCiABKAkSEwoLcHJvdmlkZXJfaWQYCyABKAkiQgoUU2VsZWN0ZWRHYW1lUHJvdmlkZXISEwoLcHJvdmlkZXJfaWQYASABKAkSFQoNcHJvdmlkZXJfbmFtZRgCIAEoCSKSAQoMR2FtZVByb3ZpZGVyEg8KB3NvcnRpbmcYASABKAUSOgoXc2VsZWN0ZWRfZ2FtZV9wcm92aWRlcnMYAiADKAsyGS5DTVMuU2VsZWN0ZWRHYW1lUHJvdmlkZXISFAoMZGlzcGxheV9uYW1lGAMgASgJEh8KF2lzX2Rpc3BsYXlfbmFtZV9jaGFuZ2VkGAQgASgIIjIKEVRleHRDb25maWdDb250ZW50Eg8KB3NvcnRpbmcYASABKAUSDAoEdGV4dBgCIAEoCSJECgpUZXh0Q29uZmlnEg0KBXRpdGxlGAEgASgJEicKB2NvbnRlbnQYAiADKAsyFi5DTVMuVGV4dENvbmZpZ0NvbnRlbnQiXQofVGV4dENvbmZpZ0ZvckJhY2tlbmREZXNjcmlwdGlvbhIKCgJlbhgBIAEoCRIPCgJwaBgCIAEoCUgAiAEBEg8KAmtyGAMgASgJSAGIAQFCBQoDX3BoQgUKA19rciJpChtUZXh0Q29uZmlnRm9yQmFja2VuZENvbnRlbnQSDwoHc29ydGluZxgBIAEoBRI5CgtkZXNjcmlwdGlvbhgCIAEoCzIkLkNNUy5UZXh0Q29uZmlnRm9yQmFja2VuZERlc2NyaXB0aW9uIlcKGVRleHRDb25maWdGb3JCYWNrZW5kVGl0bGUSCgoCZW4YASABKAkSDwoCcGgYAiABKAlIAIgBARIPCgJrchgDIAEoCUgBiAEBQgUKA19waEIFCgNfa3IihwEKFFRleHRDb25maWdGb3JCYWNrZW5kEjEKB2NvbnRlbnQYASADKAsyIC5DTVMuVGV4dENvbmZpZ0ZvckJhY2tlbmRDb250ZW50EjIKBXRpdGxlGAIgASgLMh4uQ01TLlRleHRDb25maWdGb3JCYWNrZW5kVGl0bGVIAIgBAUIICgZfdGl0bGUiagoKR2FtZUZpbHRlchIYChBwcmltYXJ5X2NhdGVnb3J5GAEgASgJEhoKEnNlY29uZGFyeV9jYXRlZ29yeRgCIAEoCRIUCgxzdWJfY2F0ZWdvcnkYAyABKAkSEAoIcHJvdmlkZXIYBCABKAkidgoMR2FtZUZpbHRlclYyEhoKEnByaW1hcnlfY2F0ZWdvcmllcxgBIAMoCRIcChRzZWNvbmRhcnlfY2F0ZWdvcmllcxgCIAMoCRIWCg5zdWJfY2F0ZWdvcmllcxgDIAMoCRIUCgxwcm92aWRlcl9pZHMYBCADKAkidQoGU3ViTmF2Eg8KB3NvcnRpbmcYASABKAUSEQoJc3ViX3RpdGxlGAIgASgJEiQKC2dhbWVfZmlsdGVyGAMgASgLMg8uQ01TLkdhbWVGaWx0ZXISIQoGYWN0aW9uGAQgASgOMhEuY21zQ29tbW9uLkFjdGlvbiKxAQoIU3ViTmF2VjISDwoHc29ydGluZxgBIAEoBRIRCglzdWJfdGl0bGUYAiABKAkSJgoLZ2FtZV9maWx0ZXIYAyABKAsyES5DTVMuR2FtZUZpbHRlclYyEiEKBmFjdGlvbhgEIAEoDjIRLmNtc0NvbW1vbi5BY3Rpb24SHwoSc2hvd19wcm92aWRlcl9uYW1lGAUgASgISACIAQFCFQoTX3Nob3dfcHJvdmlkZXJfbmFtZSL6AQoIU3ViTmF2VjMSDwoHc29ydGluZxgBIAEoBRIRCglzdWJfdGl0bGUYAiABKAkSHQoQZ2FtZV9yZXNvdXJjZV9pZBgDIAEoCUgAiAEBEh8KEnNob3dfcHJvdmlkZXJfbmFtZRgEIAEoCEgBiAEBEhUKCGljb25fdXJsGAUgASgJSAKIAQESIQoUZ2FtZV9yZXNvdXJjZV9vYmpfaWQYBiABKAlIA4gBAUITChFfZ2FtZV9yZXNvdXJjZV9pZEIVChNfc2hvd19wcm92aWRlcl9uYW1lQgsKCV9pY29uX3VybEIXChVfZ2FtZV9yZXNvdXJjZV9vYmpfaWQi3wEKDkdhbWVOYXZpZ2F0aW9uEhEKCW5hdl90aXRsZRgBIAEoCRIXCgppc19zdWJfbmF2GAIgASgISACIAQESHAoHc3ViX25hdhgDIAMoCzILLkNNUy5TdWJOYXYSEQoJcm91dGVfdXJsGAQgASgJEhgKEGdhbWVfcmVzb3VyY2VfaWQYBSABKAkSJAoLZ2FtZV9maWx0ZXIYBiABKAsyDy5DTVMuR2FtZUZpbHRlchIhCgZhY3Rpb24YByABKA4yES5jbXNDb21tb24uQWN0aW9uQg0KC19pc19zdWJfbmF2Ip0CChBHYW1lTmF2aWdhdGlvblYyEhEKCW5hdl90aXRsZRgBIAEoCRIXCgppc19zdWJfbmF2GAIgASgISACIAQESHgoHc3ViX25hdhgDIAMoCzINLkNNUy5TdWJOYXZWMhIRCglyb3V0ZV91cmwYBCABKAkSGAoQZ2FtZV9yZXNvdXJjZV9pZBgFIAEoCRImCgtnYW1lX2ZpbHRlchgGIAEoCzIRLkNNUy5HYW1lRmlsdGVyVjISIQoGYWN0aW9uGAcgASgOMhEuY21zQ29tbW9uLkFjdGlvbhIfChJzaG93X3Byb3ZpZGVyX25hbWUYCCABKAhIAYgBAUINCgtfaXNfc3ViX25hdkIVChNfc2hvd19wcm92aWRlcl9uYW1lIrkCChBHYW1lTmF2aWdhdGlvblYzEhEKCW5hdl90aXRsZRgBIAEoCRIXCgppc19zdWJfbmF2GAIgASgISACIAQESHgoHc3ViX25hdhgDIAMoCzINLkNNUy5TdWJOYXZWMxIdChBnYW1lX3Jlc291cmNlX2lkGAQgASgJSAGIAQESHwoSc2hvd19wcm92aWRlcl9uYW1lGAUgASgISAKIAQESFQoIaWNvbl91cmwYBiABKAlIA4gBARIhChRnYW1lX3Jlc291cmNlX29ial9pZBgHIAEoCUgEiAEBQg0KC19pc19zdWJfbmF2QhMKEV9nYW1lX3Jlc291cmNlX2lkQhUKE19zaG93X3Byb3ZpZGVyX25hbWVCCwoJX2ljb25fdXJsQhcKFV9nYW1lX3Jlc291cmNlX29ial9pZCKqBwoGQ29uZmlnEh8KCGNhcm91c2VsGAEgAygLMg0uQ01TLkNhcm91c2VsEisKDGdhbWVfZmlsdGVycxgCIAMoCzIVLkNNUy5HYW1lRmlsdGVyQ29uZmlnEiMKC2dhbWVfZmxvb3JzGAMgAygLMg4uQ01TLkdhbWVGbG9vchIiCgpmYXFfY29uZmlnGAQgAygLMg4uQ01TLkZBUUNvbmZpZxIlCgxsaXZlX3N0cmVhbXMYBSADKAsyDy5DTVMuTGl2ZVN0cmVhbRIsCg9kb3dubG9hZF9jb25maWcYBiADKAsyEy5DTVMuRG93bmxvYWRDb25maWcSIAoJcHJvdmlkZXJzGAcgAygLMg0uQ01TLlByb3ZpZGVyEjAKEWphY2twb3Rfc3BvdGxpZ2h0GAggAygLMhUuQ01TLkphY2twb3RTcG90bGlnaHQSKgoOcmVjZW50X2phY2twb3QYCSADKAsyEi5DTVMuUmVjZW50SmFja3BvdBIsCg90cmVuZGluZ19zZWFyY2gYCiADKAsyEy5DTVMuVHJlbmRpbmdTZWFyY2gSJAoLdGVuX21pbGxpb24YCyADKAsyDy5DTVMuVGVuTWlsbGlvbhImCgxwb3B1cF9jb25maWcYDCADKAsyEC5DTVMuUG9wdXBDb25maWcSMwoTc29jaWFsX21lZGlhX2NvbmZpZxgNIAMoCzIWLkNNUy5Tb2NpYWxNZWRpYUNvbmZpZxIqCg5zaGFyaW5nX2NvbmZpZxgOIAMoCzISLkNNUy5TaGFyaW5nQ29uZmlnEjcKFWJlc3Rfcm91dGVfc3VnZ2VzdGlvbhgPIAMoCzIYLkNNUy5CZXN0Um91dGVTdWdnZXN0aW9uEigKDWdhbWVfcHJvdmlkZXIYECADKAsyES5DTVMuR2FtZVByb3ZpZGVyEiQKC3RleHRfY29uZmlnGBEgAygLMg8uQ01TLlRleHRDb25maWcSOgoXdGV4dF9jb25maWdfZm9yX2JhY2tlbmQYEiADKAsyGS5DTVMuVGV4dENvbmZpZ0ZvckJhY2tlbmQSLAoPZ2FtZV9uYXZpZ2F0aW9uGBMgAygLMhMuQ01TLkdhbWVOYXZpZ2F0aW9uEjEKEmdhbWVfbmF2aWdhdGlvbl92MhgUIAMoCzIVLkNNUy5HYW1lTmF2aWdhdGlvblYyEjEKEmdhbWVfbmF2aWdhdGlvbl92MxgVIAMoCzIVLkNNUy5HYW1lTmF2aWdhdGlvblYzIkQKCUNvbXBvbmFudBIMCgRuYW1lGAEgASgJEgwKBHR5cGUYAiABKAUSGwoGY29uZmlnGAMgASgLMgsuQ01TLkNvbmZpZyI+CgREYXRhEhMKC3Jlc291cmNlX2lkGAEgASgJEiEKCWNvbXBvbmFudBgCIAEoCzIOLkNNUy5Db21wb25hbnQivQIKD1BhZ2VSZXNvdXJjZVJlcRITCgtyZXNvdXJjZV9pZBgBIAEoCRI9Cg1sYW5ndWFnZV9jb2RlGAIgASgOMiEuQ01TLlBhZ2VSZXNvdXJjZVJlcS5MYW5ndWFnZUNvZGVIAIgBARIRCgRlX2lkGAMgASgJSAGIAQESFwoKcGFydG5lcl9pZBgEIAEoCUgCiAEBEjIKEGdhbWVfZGV2aWNlX3R5cGUYBSABKA4yEy5DTVMuR2FtZURldmljZVR5cGVIA4gBASI3CgxMYW5ndWFnZUNvZGUSDwoLVU5TUEVDSUZJRUQQABIGCgJFThABEgYKAlBIEAISBgoCS1IQA0IQCg5fbGFuZ3VhZ2VfY29kZUIHCgVfZV9pZEINCgtfcGFydG5lcl9pZEITChFfZ2FtZV9kZXZpY2VfdHlwZSJXCg9QYWdlUmVzb3VyY2VSZXMSKwoNYmFzZV9yZXNwb25zZRgBIAEoCzIULmNvbW1vbi5CYXNlUmVzcG9uc2USFwoEZGF0YRgCIAEoCzIJLkNNUy5EYXRhKlYKDkdhbWVEZXZpY2VUeXBlEhYKElVOU1BFQ0lGSUVEX0RFVklDRRAAEg0KCVBDX0RFVklDRRABEg0KCUg1X0RFVklDRRACEg4KCkFQUF9ERVZJQ0UQA2IGcHJvdG8z\", [file_common_CommonEnums, file_common_Common, file_cmsCommon_CmsCommon]);\n\n/**\n * @generated from message CMS.CarouselGame\n */\nexport type CarouselGame = Message<\"CMS.CarouselGame\"> & {\n /**\n * @generated from field: string game_obj_id = 1;\n */\n gameObjId: string;\n\n /**\n * @generated from field: string game_name = 2;\n */\n gameName: string;\n\n /**\n * @generated from field: string table_code = 3;\n */\n tableCode: string;\n\n /**\n * @generated from field: string provider_id = 4;\n */\n providerId: string;\n};\n\n/**\n * Describes the message CMS.CarouselGame.\n * Use `create(CarouselGameSchema)` to create a new message.\n */\nexport const CarouselGameSchema: GenMessage<CarouselGame> = /*@__PURE__*/\n messageDesc(file_cms_GetPageResource, 0);\n\n/**\n * @generated from message CMS.GameTags\n */\nexport type GameTags = Message<\"CMS.GameTags\"> & {\n /**\n * @generated from field: repeated string game_name_tag = 1;\n */\n gameNameTag: string[];\n\n /**\n * @generated from field: repeated string game_type_tag = 2;\n */\n gameTypeTag: string[];\n\n /**\n * @generated from field: string game_resource_id = 3;\n */\n gameResourceId: string;\n};\n\n/**\n * Describes the message CMS.GameTags.\n * Use `create(GameTagsSchema)` to create a new message.\n */\nexport const GameTagsSchema: GenMessage<GameTags> = /*@__PURE__*/\n messageDesc(file_cms_GetPageResource, 1);\n\n/**\n * @generated from message CMS.Carousel\n */\nexport type Carousel = Message<\"CMS.Carousel\"> & {\n /**\n * @generated from field: string image_url = 1;\n */\n imageUrl: string;\n\n /**\n * @generated from field: string link = 2;\n */\n link: string;\n\n /**\n * @generated from field: string start_date = 3;\n */\n startDate: string;\n\n /**\n * @generated from field: string end_date = 4;\n */\n endDate: string;\n\n /**\n * @generated from field: optional bool is_specific_namelist = 5;\n */\n isSpecificNamelist?: boolean;\n\n /**\n * @generated from field: string name_list_code = 6;\n */\n nameListCode: string;\n\n /**\n * @generated from field: cmsCommon.Action action = 7;\n */\n action: Action;\n\n /**\n * @generated from field: CMS.CarouselGame game = 8;\n */\n game?: CarouselGame;\n\n /**\n * @generated from field: optional bool is_login = 9;\n */\n isLogin?: boolean;\n\n /**\n * @generated from field: repeated string eid_entrance_visible = 10;\n */\n eidEntranceVisible: string[];\n\n /**\n * @generated from field: string game_id = 11;\n */\n gameId: string;\n\n /**\n * @generated from field: string game_name = 12;\n */\n gameName: string;\n\n /**\n * @generated from field: string table_code = 13;\n */\n tableCode: string;\n\n /**\n * @generated from field: string provider_id = 14;\n */\n providerId: string;\n\n /**\n * @generated from field: CMS.GameTags tags = 15;\n */\n tags?: GameTags;\n\n /**\n * @generated from field: optional string player_level_obj_id = 16;\n */\n playerLevelObjId?: string;\n\n /**\n * @generated from field: optional string title = 17;\n */\n title?: string;\n\n /**\n * @generated from field: optional string description = 18;\n */\n description?: string;\n};\n\n/**\n * Describes the message CMS.Carousel.\n * Use `create(CarouselSchema)` to create a new message.\n */\nexport const CarouselSchema: GenMessage<Carousel> = /*@__PURE__*/\n messageDesc(file_cms_GetPageResource, 2);\n\n/**\n * @generated from message CMS.GameFilterConfig\n */\nexport type GameFilterConfig = Message<\"CMS.GameFilterConfig\"> & {\n /**\n * @generated from field: string resource_id = 1;\n */\n resourceId: string;\n\n /**\n * @generated from field: string filter_name = 2;\n */\n filterName: string;\n\n /**\n * @generated from field: string active_icon = 3;\n */\n activeIcon: string;\n\n /**\n * @generated from field: string inactive_icon = 4;\n */\n inactiveIcon: string;\n\n /**\n * @generated from field: bool is_active = 5;\n */\n isActive: boolean;\n\n /**\n * @generated from field: string table_code = 6;\n */\n tableCode: string;\n};\n\n/**\n * Describes the message CMS.GameFilterConfig.\n * Use `create(GameFilterConfigSchema)` to create a new message.\n */\nexport const GameFilterConfigSchema: GenMessage<GameFilterConfig> = /*@__PURE__*/\n messageDesc(file_cms_GetPageResource, 3);\n\n/**\n * @generated from message CMS.GameFloor\n */\nexport type GameFloor = Message<\"CMS.GameFloor\"> & {\n /**\n * @generated from field: string name = 1;\n */\n name: string;\n\n /**\n * @generated from field: cmsCommon.FloorType type = 2;\n */\n type: FloorType;\n\n /**\n * @generated from field: repeated common.Game games = 3;\n */\n games: Game[];\n\n /**\n * @generated from field: optional cmsCommon.Status status = 4;\n */\n status?: Status;\n\n /**\n * @generated from field: optional int32 max_game_display = 5;\n */\n maxGameDisplay?: number;\n\n /**\n * @generated from field: optional string floor_obj_id = 6;\n */\n floorObjId?: string;\n\n /**\n * @generated from field: optional bool view_all = 7;\n */\n viewAll?: boolean;\n\n /**\n * @generated from field: optional string game_navigation_obj_id = 8;\n */\n gameNavigationObjId?: string;\n\n /**\n * @generated from field: optional string route_to_navigation = 9;\n */\n routeToNavigation?: string;\n\n /**\n * @generated from field: optional int32 product_name = 10;\n */\n productName?: number;\n\n /**\n * @generated from field: optional CMS.GameDeviceType game_device_type = 11;\n */\n gameDeviceType?: GameDeviceType;\n\n /**\n * @generated from field: optional cmsCommon.GroupABTest ab_test = 12;\n */\n abTest?: GroupABTest;\n\n /**\n * @generated from field: optional string game_resource_id = 13;\n */\n gameResourceId?: string;\n};\n\n/**\n * Describes the message CMS.GameFloor.\n * Use `create(GameFloorSchema)` to create a new message.\n */\nexport const GameFloorSchema: GenMessage<GameFloor> = /*@__PURE__*/\n messageDesc(file_cms_GetPageResource, 4);\n\n/**\n * @generated from message CMS.FAQConfig\n */\nexport type FAQConfig = Message<\"CMS.FAQConfig\"> & {\n /**\n * @generated from field: string question = 1;\n */\n question: string;\n\n /**\n * @generated from field: string answer = 2;\n */\n answer: string;\n};\n\n/**\n * Describes the message CMS.FAQConfig.\n * Use `create(FAQConfigSchema)` to create a new message.\n */\nexport const FAQConfigSchema: GenMessage<FAQConfig> = /*@__PURE__*/\n messageDesc(file_cms_GetPageResource, 5);\n\n/**\n * @generated from message CMS.LiveStream\n */\nexport type LiveStream = Message<\"CMS.LiveStream\"> & {\n /**\n * @generated from field: string game_name = 1;\n */\n gameName: string;\n\n /**\n * @generated from field: string game_id = 2;\n */\n gameId: string;\n\n /**\n * @generated from field: string table_code = 3;\n */\n tableCode: string;\n\n /**\n * @generated from field: string url = 4;\n */\n url: string;\n};\n\n/**\n * Describes the message CMS.LiveStream.\n * Use `create(LiveStreamSchema)` to create a new message.\n */\nexport const LiveStreamSchema: GenMessage<LiveStream> = /*@__PURE__*/\n messageDesc(file_cms_GetPageResource, 6);\n\n/**\n * @generated from message CMS.DownloadConfig\n */\nexport type DownloadConfig = Message<\"CMS.DownloadConfig\"> & {\n /**\n * @generated from field: optional string android = 1;\n */\n android?: string;\n\n /**\n * @generated from field: optional string ios = 2;\n */\n ios?: string;\n};\n\n/**\n * Describes the message CMS.DownloadConfig.\n * Use `create(DownloadConfigSchema)` to create a new message.\n */\nexport const DownloadConfigSchema: GenMessage<DownloadConfig> = /*@__PURE__*/\n messageDesc(file_cms_GetPageResource, 7);\n\n/**\n * @generated from message CMS.Provider\n */\nexport type Provider = Message<\"CMS.Provider\"> & {\n /**\n * @generated from field: string provider_id = 1;\n */\n providerId: string;\n\n /**\n * @generated from field: string provider_name = 2;\n */\n providerName: string;\n\n /**\n * @generated from field: bool is_active = 3;\n */\n isActive: boolean;\n\n /**\n * @generated from field: int32 sorting = 4;\n */\n sorting: number;\n};\n\n/**\n * Describes the message CMS.Provider.\n * Use `create(ProviderSchema)` to create a new message.\n */\nexport const ProviderSchema: GenMessage<Provider> = /*@__PURE__*/\n messageDesc(file_cms_GetPageResource, 8);\n\n/**\n * @generated from message CMS.JackpotSpotlight\n */\nexport type JackpotSpotlight = Message<\"CMS.JackpotSpotlight\"> & {\n /**\n * @generated from field: int32 player_count = 1;\n */\n playerCount: number;\n\n /**\n * @generated from field: int32 payout = 2;\n */\n payout: number;\n\n /**\n * @generated from field: int32 viewer = 3;\n */\n viewer: number;\n\n /**\n * @generated from field: cmsCommon.Action action = 4;\n */\n action: Action;\n\n /**\n * @generated from field: string button_name = 5;\n */\n buttonName: string;\n\n /**\n * @generated from field: string redirect_url = 6;\n */\n redirectUrl: string;\n\n /**\n * @generated from field: string launch_game_id = 7;\n */\n launchGameId: string;\n\n /**\n * @generated from field: string launch_game_name = 8;\n */\n launchGameName: string;\n\n /**\n * @generated from field: repeated string articles = 9;\n */\n articles: string[];\n\n /**\n * @generated from field: string new_payout = 10;\n */\n newPayout: string;\n};\n\n/**\n * Describes the message CMS.JackpotSpotlight.\n * Use `create(JackpotSpotlightSchema)` to create a new message.\n */\nexport const JackpotSpotlightSchema: GenMessage<JackpotSpotlight> = /*@__PURE__*/\n messageDesc(file_cms_GetPageResource, 9);\n\n/**\n * @generated from message CMS.RecentJackpot\n */\nexport type RecentJackpot = Message<\"CMS.RecentJackpot\"> & {\n /**\n * @generated from field: string redirect_url = 1;\n */\n redirectUrl: string;\n\n /**\n * @generated from field: string button_name = 2;\n */\n buttonName: string;\n\n /**\n * @generated from field: int32 viewer = 3;\n */\n viewer: number;\n\n /**\n * @generated from field: cmsCommon.Action action = 4;\n */\n action: Action;\n\n /**\n * @generated from field: string launch_game_id = 5;\n */\n launchGameId: string;\n\n /**\n * @generated from field: string launch_game_name = 6;\n */\n launchGameName: string;\n\n /**\n * @generated from field: repeated string articles = 7;\n */\n articles: string[];\n};\n\n/**\n * Describes the message CMS.RecentJackpot.\n * Use `create(RecentJackpotSchema)` to create a new message.\n */\nexport const RecentJackpotSchema: GenMessage<RecentJackpot> = /*@__PURE__*/\n messageDesc(file_cms_GetPageResource, 10);\n\n/**\n * @generated from message CMS.TrendingSearch\n */\nexport type TrendingSearch = Message<\"CMS.TrendingSearch\"> & {\n /**\n * @generated from field: int32 viewer = 1;\n */\n viewer: number;\n\n /**\n * @generated from field: cmsCommon.Action action = 2;\n */\n action: Action;\n\n /**\n * @generated from field: string button_name = 3;\n */\n buttonName: string;\n\n /**\n * @generated from field: string redirect_url = 4;\n */\n redirectUrl: string;\n\n /**\n * @generated from field: repeated cmsCommon.JackpotProvider jackpot_providers = 5;\n */\n jackpotProviders: JackpotProvider[];\n\n /**\n * @generated from field: string launch_game_id = 6;\n */\n launchGameId: string;\n\n /**\n * @generated from field: string launch_game_name = 7;\n */\n launchGameName: string;\n\n /**\n * @generated from field: repeated string articles = 8;\n */\n articles: string[];\n};\n\n/**\n * Describes the message CMS.TrendingSearch.\n * Use `create(TrendingSearchSchema)` to create a new message.\n */\nexport const TrendingSearchSchema: GenMessage<TrendingSearch> = /*@__PURE__*/\n messageDesc(file_cms_GetPageResource, 11);\n\n/**\n * @generated from message CMS.TenMillion\n */\nexport type TenMillion = Message<\"CMS.TenMillion\"> & {\n /**\n * @generated from field: int32 viewer = 1;\n */\n viewer: number;\n\n /**\n * @generated from field: cmsCommon.Action action = 2;\n */\n action: Action;\n\n /**\n * @generated from field: string button_name = 3;\n */\n buttonName: string;\n\n /**\n * @generated from field: string redirect_url = 4;\n */\n redirectUrl: string;\n\n /**\n * @generated from field: string launch_game_id = 5;\n */\n launchGameId: string;\n\n /**\n * @generated from field: string launch_game_name = 6;\n */\n launchGameName: string;\n\n /**\n * @generated from field: repeated string articles = 7;\n */\n articles: string[];\n};\n\n/**\n * Describes the message CMS.TenMillion.\n * Use `create(TenMillionSchema)` to create a new message.\n */\nexport const TenMillionSchema: GenMessage<TenMillion> = /*@__PURE__*/\n messageDesc(file_cms_GetPageResource, 12);\n\n/**\n * @generated from message CMS.PopupConfig\n */\nexport type PopupConfig = Message<\"CMS.PopupConfig\"> & {\n /**\n * @generated from field: string popup_id = 1;\n */\n popupId: string;\n\n /**\n * @generated from field: string image_url = 2;\n */\n imageUrl: string;\n\n /**\n * @generated from field: cmsCommon.Action action = 3;\n */\n action: Action;\n\n /**\n * @generated from field: string redirect_url = 4;\n */\n redirectUrl: string;\n\n /**\n * @generated from field: string start_date = 5;\n */\n startDate: string;\n\n /**\n * @generated from field: string end_date = 6;\n */\n endDate: string;\n\n /**\n * @generated from field: bool is_specific_namelist = 7;\n */\n isSpecificNamelist: boolean;\n\n /**\n * @generated from field: string name_list_code = 8;\n */\n nameListCode: string;\n\n /**\n * @generated from field: int32 per_day_read_times = 9;\n */\n perDayReadTimes: number;\n\n /**\n * @generated from field: bool is_login = 10;\n */\n isLogin: boolean;\n\n /**\n * @generated from field: CMS.CarouselGame game = 11;\n */\n game?: CarouselGame;\n\n /**\n * @generated from field: repeated string eid_entrance_visible = 12;\n */\n eidEntranceVisible: string[];\n\n /**\n * @generated from field: string provider_id = 13;\n */\n providerId: string;\n\n /**\n * @generated from field: bool display_once = 14;\n */\n displayOnce: boolean;\n\n /**\n * @generated from field: string game_id = 15;\n */\n gameId: string;\n\n /**\n * @generated from field: string game_name = 16;\n */\n gameName: string;\n\n /**\n * @generated from field: string table_code = 17;\n */\n tableCode: string;\n\n /**\n * @generated from field: CMS.GameTags tags = 18;\n */\n tags?: GameTags;\n\n /**\n * @generated from field: optional string player_level_obj_id = 19;\n */\n playerLevelObjId?: string;\n\n /**\n * @generated from field: optional int32 dont_show_again_after_read_days = 20;\n */\n dontShowAgainAfterReadDays?: number;\n\n /**\n * @generated from field: optional int32 skip_after_read_days = 21;\n */\n skipAfterReadDays?: number;\n\n /**\n * @generated from field: optional string reward_amount = 22;\n */\n rewardAmount?: string;\n\n /**\n * @generated from field: optional cmsCommon.PopupType popup_type = 23;\n */\n popupType?: PopupType;\n\n /**\n * @generated from field: optional string description = 24;\n */\n description?: string;\n\n /**\n * @generated from field: optional string title = 25;\n */\n title?: string;\n\n /**\n * @generated from field: optional string metadata = 26;\n */\n metadata?: string;\n};\n\n/**\n * Describes the message CMS.PopupConfig.\n * Use `create(PopupConfigSchema)` to create a new message.\n */\nexport const PopupConfigSchema: GenMessage<PopupConfig> = /*@__PURE__*/\n messageDesc(file_cms_GetPageResource, 13);\n\n/**\n * @generated from message CMS.SocialMediaConfig\n */\nexport type SocialMediaConfig = Message<\"CMS.SocialMediaConfig\"> & {\n /**\n * @generated from field: cmsCommon.SocialMediaPlatform type = 1;\n */\n type: SocialMediaPlatform;\n\n /**\n * @generated from field: string redirect_url = 2;\n */\n redirectUrl: string;\n};\n\n/**\n * Describes the message CMS.SocialMediaConfig.\n * Use `create(SocialMediaConfigSchema)` to create a new message.\n */\nexport const SocialMediaConfigSchema: GenMessage<SocialMediaConfig> = /*@__PURE__*/\n messageDesc(file_cms_GetPageResource, 14);\n\n/**\n * @generated from message CMS.SharingConfig\n */\nexport type SharingConfig = Message<\"CMS.SharingConfig\"> & {\n /**\n * @generated from field: string event_name = 1;\n */\n eventName: string;\n\n /**\n * @generated from field: string title = 2;\n */\n title: string;\n\n /**\n * @generated from field: cmsCommon.SocialMediaPlatform type = 3;\n */\n type: SocialMediaPlatform;\n\n /**\n * @generated from field: string description = 4;\n */\n description: string;\n\n /**\n * @generated from field: string image_url = 5;\n */\n imageUrl: string;\n};\n\n/**\n * Describes the message CMS.SharingConfig.\n * Use `create(SharingConfigSchema)` to create a new message.\n */\nexport const SharingConfigSchema: GenMessage<SharingConfig> = /*@__PURE__*/\n messageDesc(file_cms_GetPageResource, 15);\n\n/**\n * @generated from message CMS.BestRouteSuggestion\n */\nexport type BestRouteSuggestion = Message<\"CMS.BestRouteSuggestion\"> & {\n /**\n * @generated from field: string title_name = 1;\n */\n titleName: string;\n\n /**\n * @generated from field: cmsCommon.Action action = 2;\n */\n action: Action;\n\n /**\n * @generated from field: string user_allocation_ratio = 3;\n */\n userAllocationRatio: string;\n\n /**\n * @generated from field: string game_id = 4;\n */\n gameId: string;\n\n /**\n * @generated from field: bool frontend_display = 5;\n */\n frontendDisplay: boolean;\n\n /**\n * @generated from field: string image_url = 6;\n */\n imageUrl: string;\n\n /**\n * @generated from field: CMS.CarouselGame game = 7;\n */\n game?: CarouselGame;\n\n /**\n * @generated from field: repeated CMS.GameDeviceType device_type = 8;\n */\n deviceType: GameDeviceType[];\n\n /**\n * @generated from field: string game_name = 9;\n */\n gameName: string;\n\n /**\n * @generated from field: string table_code = 10;\n */\n tableCode: string;\n\n /**\n * @generated from field: string provider_id = 11;\n */\n providerId: string;\n};\n\n/**\n * Describes the message CMS.BestRouteSuggestion.\n * Use `create(BestRouteSuggestionSchema)` to create a new message.\n */\nexport const BestRouteSuggestionSchema: GenMessage<BestRouteSuggestion> = /*@__PURE__*/\n messageDesc(file_cms_GetPageResource, 16);\n\n/**\n * @generated from message CMS.SelectedGameProvider\n */\nexport type SelectedGameProvider = Message<\"CMS.SelectedGameProvider\"> & {\n /**\n * @generated from field: string provider_id = 1;\n */\n providerId: string;\n\n /**\n * @generated from field: string provider_name = 2;\n */\n providerName: string;\n};\n\n/**\n * Describes the message CMS.SelectedGameProvider.\n * Use `create(SelectedGameProviderSchema)` to create a new message.\n */\nexport const SelectedGameProviderSchema: GenMessage<SelectedGameProvider> = /*@__PURE__*/\n messageDesc(file_cms_GetPageResource, 17);\n\n/**\n * @generated from message CMS.GameProvider\n */\nexport type GameProvider = Message<\"CMS.GameProvider\"> & {\n /**\n * @generated from field: int32 sorting = 1;\n */\n sorting: number;\n\n /**\n * @generated from field: repeated CMS.SelectedGameProvider selected_game_providers = 2;\n */\n selectedGameProviders: SelectedGameProvider[];\n\n /**\n * @generated from field: string display_name = 3;\n */\n displayName: string;\n\n /**\n * @generated from field: bool is_display_name_changed = 4;\n */\n isDisplayNameChanged: boolean;\n};\n\n/**\n * Describes the message CMS.GameProvider.\n * Use `create(GameProviderSchema)` to create a new message.\n */\nexport const GameProviderSchema: GenMessage<GameProvider> = /*@__PURE__*/\n messageDesc(file_cms_GetPageResource, 18);\n\n/**\n * @generated from message CMS.TextConfigContent\n */\nexport type TextConfigContent = Message<\"CMS.TextConfigContent\"> & {\n /**\n * @generated from field: int32 sorting = 1;\n */\n sorting: number;\n\n /**\n * @generated from field: string text = 2;\n */\n text: string;\n};\n\n/**\n * Describes the message CMS.TextConfigContent.\n * Use `create(TextConfigContentSchema)` to create a new message.\n */\nexport const TextConfigContentSchema: GenMessage<TextConfigContent> = /*@__PURE__*/\n messageDesc(file_cms_GetPageResource, 19);\n\n/**\n * @generated from message CMS.TextConfig\n */\nexport type TextConfig = Message<\"CMS.TextConfig\"> & {\n /**\n * @generated from field: string title = 1;\n */\n title: string;\n\n /**\n * @generated from field: repeated CMS.TextConfigContent content = 2;\n */\n content: TextConfigContent[];\n};\n\n/**\n * Describes the message CMS.TextConfig.\n * Use `create(TextConfigSchema)` to create a new message.\n */\nexport const TextConfigSchema: GenMessage<TextConfig> = /*@__PURE__*/\n messageDesc(file_cms_GetPageResource, 20);\n\n/**\n * @generated from message CMS.TextConfigForBackendDescription\n */\nexport type TextConfigForBackendDescription = Message<\"CMS.TextConfigForBackendDescription\"> & {\n /**\n * @generated from field: string en = 1;\n */\n en: string;\n\n /**\n * @generated from field: optional string ph = 2;\n */\n ph?: string;\n\n /**\n * @generated from field: optional string kr = 3;\n */\n kr?: string;\n};\n\n/**\n * Describes the message CMS.TextConfigForBackendDescription.\n * Use `create(TextConfigForBackendDescriptionSchema)` to create a new message.\n */\nexport const TextConfigForBackendDescriptionSchema: GenMessage<TextConfigForBackendDescription> = /*@__PURE__*/\n messageDesc(file_cms_GetPageResource, 21);\n\n/**\n * @generated from message CMS.TextConfigForBackendContent\n */\nexport type TextConfigForBackendContent = Message<\"CMS.TextConfigForBackendContent\"> & {\n /**\n * @generated from field: int32 sorting = 1;\n */\n sorting: number;\n\n /**\n * @generated from field: CMS.TextConfigForBackendDescription description = 2;\n */\n description?: TextConfigForBackendDescription;\n};\n\n/**\n * Describes the message CMS.TextConfigForBackendContent.\n * Use `create(TextConfigForBackendContentSchema)` to create a new message.\n */\nexport const TextConfigForBackendContentSchema: GenMessage<TextConfigForBackendContent> = /*@__PURE__*/\n messageDesc(file_cms_GetPageResource, 22);\n\n/**\n * @generated from message CMS.TextConfigForBackendTitle\n */\nexport type TextConfigForBackendTitle = Message<\"CMS.TextConfigForBackendTitle\"> & {\n /**\n * @generated from field: string en = 1;\n */\n en: string;\n\n /**\n * @generated from field: optional string ph = 2;\n */\n ph?: string;\n\n /**\n * @generated from field: optional string kr = 3;\n */\n kr?: string;\n};\n\n/**\n * Describes the message CMS.TextConfigForBackendTitle.\n * Use `create(TextConfigForBackendTitleSchema)` to create a new message.\n */\nexport const TextConfigForBackendTitleSchema: GenMessage<TextConfigForBackendTitle> = /*@__PURE__*/\n messageDesc(file_cms_GetPageResource, 23);\n\n/**\n * @generated from message CMS.TextConfigForBackend\n */\nexport type TextConfigForBackend = Message<\"CMS.TextConfigForBackend\"> & {\n /**\n * @generated from field: repeated CMS.TextConfigForBackendContent content = 1;\n */\n content: TextConfigForBackendContent[];\n\n /**\n * @generated from field: optional CMS.TextConfigForBackendTitle title = 2;\n */\n title?: TextConfigForBackendTitle;\n};\n\n/**\n * Describes the message CMS.TextConfigForBackend.\n * Use `create(TextConfigForBackendSchema)` to create a new message.\n */\nexport const TextConfigForBackendSchema: GenMessage<TextConfigForBackend> = /*@__PURE__*/\n messageDesc(file_cms_GetPageResource, 24);\n\n/**\n * @generated from message CMS.GameFilter\n */\nexport type GameFilter = Message<\"CMS.GameFilter\"> & {\n /**\n * @generated from field: string primary_category = 1;\n */\n primaryCategory: string;\n\n /**\n * @generated from field: string secondary_category = 2;\n */\n secondaryCategory: string;\n\n /**\n * @generated from field: string sub_category = 3;\n */\n subCategory: string;\n\n /**\n * @generated from field: string provider = 4;\n */\n provider: string;\n};\n\n/**\n * Describes the message CMS.GameFilter.\n * Use `create(GameFilterSchema)` to create a new message.\n */\nexport const GameFilterSchema: GenMessage<GameFilter> = /*@__PURE__*/\n messageDesc(file_cms_GetPageResource, 25);\n\n/**\n * @generated from message CMS.GameFilterV2\n */\nexport type GameFilterV2 = Message<\"CMS.GameFilterV2\"> & {\n /**\n * @generated from field: repeated string primary_categories = 1;\n */\n primaryCategories: string[];\n\n /**\n * @generated from field: repeated string secondary_categories = 2;\n */\n secondaryCategories: string[];\n\n /**\n * @generated from field: repeated string sub_categories = 3;\n */\n subCategories: string[];\n\n /**\n * @generated from field: repeated string provider_ids = 4;\n */\n providerIds: string[];\n};\n\n/**\n * Describes the message CMS.GameFilterV2.\n * Use `create(GameFilterV2Schema)` to create a new message.\n */\nexport const GameFilterV2Schema: GenMessage<GameFilterV2> = /*@__PURE__*/\n messageDesc(file_cms_GetPageResource, 26);\n\n/**\n * @generated from message CMS.SubNav\n */\nexport type SubNav = Message<\"CMS.SubNav\"> & {\n /**\n * @generated from field: int32 sorting = 1;\n */\n sorting: number;\n\n /**\n * @generated from field: string sub_title = 2;\n */\n subTitle: string;\n\n /**\n * @generated from field: CMS.GameFilter game_filter = 3;\n */\n gameFilter?: GameFilter;\n\n /**\n * @generated from field: cmsCommon.Action action = 4;\n */\n action: Action;\n};\n\n/**\n * Describes the message CMS.SubNav.\n * Use `create(SubNavSchema)` to create a new message.\n */\nexport const SubNavSchema: GenMessage<SubNav> = /*@__PURE__*/\n messageDesc(file_cms_GetPageResource, 27);\n\n/**\n * @generated from message CMS.SubNavV2\n */\nexport type SubNavV2 = Message<\"CMS.SubNavV2\"> & {\n /**\n * @generated from field: int32 sorting = 1;\n */\n sorting: number;\n\n /**\n * @generated from field: string sub_title = 2;\n */\n subTitle: string;\n\n /**\n * @generated from field: CMS.GameFilterV2 game_filter = 3;\n */\n gameFilter?: GameFilterV2;\n\n /**\n * @generated from field: cmsCommon.Action action = 4;\n */\n action: Action;\n\n /**\n * @generated from field: optional bool show_provider_name = 5;\n */\n showProviderName?: boolean;\n};\n\n/**\n * Describes the message CMS.SubNavV2.\n * Use `create(SubNavV2Schema)` to create a new message.\n */\nexport const SubNavV2Schema: GenMessage<SubNavV2> = /*@__PURE__*/\n messageDesc(file_cms_GetPageResource, 28);\n\n/**\n * @generated from message CMS.SubNavV3\n */\nexport type SubNavV3 = Message<\"CMS.SubNavV3\"> & {\n /**\n * @generated from field: int32 sorting = 1;\n */\n sorting: number;\n\n /**\n * @generated from field: string sub_title = 2;\n */\n subTitle: string;\n\n /**\n * @generated from field: optional string game_resource_id = 3;\n */\n gameResourceId?: string;\n\n /**\n * @generated from field: optional bool show_provider_name = 4;\n */\n showProviderName?: boolean;\n\n /**\n * @generated from field: optional string icon_url = 5;\n */\n iconUrl?: string;\n\n /**\n * @generated from field: optional string game_resource_obj_id = 6;\n */\n gameResourceObjId?: string;\n};\n\n/**\n * Describes the message CMS.SubNavV3.\n * Use `create(SubNavV3Schema)` to create a new message.\n */\nexport const SubNavV3Schema: GenMessage<SubNavV3> = /*@__PURE__*/\n messageDesc(file_cms_GetPageResource, 29);\n\n/**\n * @generated from message CMS.GameNavigation\n */\nexport type GameNavigation = Message<\"CMS.GameNavigation\"> & {\n /**\n * @generated from field: string nav_title = 1;\n */\n navTitle: string;\n\n /**\n * @generated from field: optional bool is_sub_nav = 2;\n */\n isSubNav?: boolean;\n\n /**\n * @generated from field: repeated CMS.SubNav sub_nav = 3;\n */\n subNav: SubNav[];\n\n /**\n * @generated from field: string route_url = 4;\n */\n routeUrl: string;\n\n /**\n * @generated from field: string game_resource_id = 5;\n */\n gameResourceId: string;\n\n /**\n * @generated from field: CMS.GameFilter game_filter = 6;\n */\n gameFilter?: GameFilter;\n\n /**\n * @generated from field: cmsCommon.Action action = 7;\n */\n action: Action;\n};\n\n/**\n * Describes the message CMS.GameNavigation.\n * Use `create(GameNavigationSchema)` to create a new message.\n */\nexport const GameNavigationSchema: GenMessage<GameNavigation> = /*@__PURE__*/\n messageDesc(file_cms_GetPageResource, 30);\n\n/**\n * @generated from message CMS.GameNavigationV2\n */\nexport type GameNavigationV2 = Message<\"CMS.GameNavigationV2\"> & {\n /**\n * @generated from field: string nav_title = 1;\n */\n navTitle: string;\n\n /**\n * @generated from field: optional bool is_sub_nav = 2;\n */\n isSubNav?: boolean;\n\n /**\n * @generated from field: repeated CMS.SubNavV2 sub_nav = 3;\n */\n subNav: SubNavV2[];\n\n /**\n * @generated from field: string route_url = 4;\n */\n routeUrl: string;\n\n /**\n * @generated from field: string game_resource_id = 5;\n */\n gameResourceId: string;\n\n /**\n * @generated from field: CMS.GameFilterV2 game_filter = 6;\n */\n gameFilter?: GameFilterV2;\n\n /**\n * @generated from field: cmsCommon.Action action = 7;\n */\n action: Action;\n\n /**\n * @generated from field: optional bool show_provider_name = 8;\n */\n showProviderName?: boolean;\n};\n\n/**\n * Describes the message CMS.GameNavigationV2.\n * Use `create(GameNavigationV2Schema)` to create a new message.\n */\nexport const GameNavigationV2Schema: GenMessage<GameNavigationV2> = /*@__PURE__*/\n messageDesc(file_cms_GetPageResource, 31);\n\n/**\n * @generated from message CMS.GameNavigationV3\n */\nexport type GameNavigationV3 = Message<\"CMS.GameNavigationV3\"> & {\n /**\n * @generated from field: string nav_title = 1;\n */\n navTitle: string;\n\n /**\n * @generated from field: optional bool is_sub_nav = 2;\n */\n isSubNav?: boolean;\n\n /**\n * @generated from field: repeated CMS.SubNavV3 sub_nav = 3;\n */\n subNav: SubNavV3[];\n\n /**\n * @generated from field: optional string game_resource_id = 4;\n */\n gameResourceId?: string;\n\n /**\n * @generated from field: optional bool show_provider_name = 5;\n */\n showProviderName?: boolean;\n\n /**\n * @generated from field: optional string icon_url = 6;\n */\n iconUrl?: string;\n\n /**\n * @generated from field: optional string game_resource_obj_id = 7;\n */\n gameResourceObjId?: string;\n};\n\n/**\n * Describes the message CMS.GameNavigationV3.\n * Use `create(GameNavigationV3Schema)` to create a new message.\n */\nexport const GameNavigationV3Schema: GenMessage<GameNavigationV3> = /*@__PURE__*/\n messageDesc(file_cms_GetPageResource, 32);\n\n/**\n * @generated from message CMS.Config\n */\nexport type Config = Message<\"CMS.Config\"> & {\n /**\n * @generated from field: repeated CMS.Carousel carousel = 1;\n */\n carousel: Carousel[];\n\n /**\n * @generated from field: repeated CMS.GameFilterConfig game_filters = 2;\n */\n gameFilters: GameFilterConfig[];\n\n /**\n * @generated from field: repeated CMS.GameFloor game_floors = 3;\n */\n gameFloors: GameFloor[];\n\n /**\n * @generated from field: repeated CMS.FAQConfig faq_config = 4;\n */\n faqConfig: FAQConfig[];\n\n /**\n * @generated from field: repeated CMS.LiveStream live_streams = 5;\n */\n liveStreams: LiveStream[];\n\n /**\n * @generated from field: repeated CMS.DownloadConfig download_config = 6;\n */\n downloadConfig: DownloadConfig[];\n\n /**\n * @generated from field: repeated CMS.Provider providers = 7;\n */\n providers: Provider[];\n\n /**\n * @generated from field: repeated CMS.JackpotSpotlight jackpot_spotlight = 8;\n */\n jackpotSpotlight: JackpotSpotlight[];\n\n /**\n * @generated from field: repeated CMS.RecentJackpot recent_jackpot = 9;\n */\n recentJackpot: RecentJackpot[];\n\n /**\n * @generated from field: repeated CMS.TrendingSearch trending_search = 10;\n */\n trendingSearch: TrendingSearch[];\n\n /**\n * @generated from field: repeated CMS.TenMillion ten_million = 11;\n */\n tenMillion: TenMillion[];\n\n /**\n * @generated from field: repeated CMS.PopupConfig popup_config = 12;\n */\n popupConfig: PopupConfig[];\n\n /**\n * @generated from field: repeated CMS.SocialMediaConfig social_media_config = 13;\n */\n socialMediaConfig: SocialMediaConfig[];\n\n /**\n * @generated from field: repeated CMS.SharingConfig sharing_config = 14;\n */\n sharingConfig: SharingConfig[];\n\n /**\n * @generated from field: repeated CMS.BestRouteSuggestion best_route_suggestion = 15;\n */\n bestRouteSuggestion: BestRouteSuggestion[];\n\n /**\n * @generated from field: repeated CMS.GameProvider game_provider = 16;\n */\n gameProvider: GameProvider[];\n\n /**\n * @generated from field: repeated CMS.TextConfig text_config = 17;\n */\n textConfig: TextConfig[];\n\n /**\n * @generated from field: repeated CMS.TextConfigForBackend text_config_for_backend = 18;\n */\n textConfigForBackend: TextConfigForBackend[];\n\n /**\n * @generated from field: repeated CMS.GameNavigation game_navigation = 19;\n */\n gameNavigation: GameNavigation[];\n\n /**\n * @generated from field: repeated CMS.GameNavigationV2 game_navigation_v2 = 20;\n */\n gameNavigationV2: GameNavigationV2[];\n\n /**\n * @generated from field: repeated CMS.GameNavigationV3 game_navigation_v3 = 21;\n */\n gameNavigationV3: GameNavigationV3[];\n};\n\n/**\n * Describes the message CMS.Config.\n * Use `create(ConfigSchema)` to create a new message.\n */\nexport const ConfigSchema: GenMessage<Config> = /*@__PURE__*/\n messageDesc(file_cms_GetPageResource, 33);\n\n/**\n * @generated from message CMS.Componant\n */\nexport type Componant = Message<\"CMS.Componant\"> & {\n /**\n * @generated from field: string name = 1;\n */\n name: string;\n\n /**\n * @generated from field: int32 type = 2;\n */\n type: number;\n\n /**\n * @generated from field: CMS.Config config = 3;\n */\n config?: Config;\n};\n\n/**\n * Describes the message CMS.Componant.\n * Use `create(ComponantSchema)` to create a new message.\n */\nexport const ComponantSchema: GenMessage<Componant> = /*@__PURE__*/\n messageDesc(file_cms_GetPageResource, 34);\n\n/**\n * @generated from message CMS.Data\n */\nexport type Data = Message<\"CMS.Data\"> & {\n /**\n * @generated from field: string resource_id = 1;\n */\n resourceId: string;\n\n /**\n * @generated from field: CMS.Componant componant = 2;\n */\n componant?: Componant;\n};\n\n/**\n * Describes the message CMS.Data.\n * Use `create(DataSchema)` to create a new message.\n */\nexport const DataSchema: GenMessage<Data> = /*@__PURE__*/\n messageDesc(file_cms_GetPageResource, 35);\n\n/**\n * @generated from message CMS.PageResourceReq\n */\nexport type PageResourceReq = Message<\"CMS.PageResourceReq\"> & {\n /**\n * @generated from field: string resource_id = 1;\n */\n resourceId: string;\n\n /**\n * @generated from field: optional CMS.PageResourceReq.LanguageCode language_code = 2;\n */\n languageCode?: PageResourceReq_LanguageCode;\n\n /**\n * @generated from field: optional string e_id = 3;\n */\n eId?: string;\n\n /**\n * @generated from field: optional string partner_id = 4;\n */\n partnerId?: string;\n\n /**\n * @generated from field: optional CMS.GameDeviceType game_device_type = 5;\n */\n gameDeviceType?: GameDeviceType;\n};\n\n/**\n * Describes the message CMS.PageResourceReq.\n * Use `create(PageResourceReqSchema)` to create a new message.\n */\nexport const PageResourceReqSchema: GenMessage<PageResourceReq> = /*@__PURE__*/\n messageDesc(file_cms_GetPageResource, 36);\n\n/**\n * @generated from enum CMS.PageResourceReq.LanguageCode\n */\nexport enum PageResourceReq_LanguageCode {\n /**\n * @generated from enum value: UNSPECIFIED = 0;\n */\n UNSPECIFIED = 0,\n\n /**\n * @generated from enum value: EN = 1;\n */\n EN = 1,\n\n /**\n * @generated from enum value: PH = 2;\n */\n PH = 2,\n\n /**\n * @generated from enum value: KR = 3;\n */\n KR = 3,\n}\n\n/**\n * Describes the enum CMS.PageResourceReq.LanguageCode.\n */\nexport const PageResourceReq_LanguageCodeSchema: GenEnum<PageResourceReq_LanguageCode> = /*@__PURE__*/\n enumDesc(file_cms_GetPageResource, 36, 0);\n\n/**\n * @generated from message CMS.PageResourceRes\n */\nexport type PageResourceRes = Message<\"CMS.PageResourceRes\"> & {\n /**\n * @generated from field: common.BaseResponse base_response = 1;\n */\n baseResponse?: BaseResponse;\n\n /**\n * @generated from field: CMS.Data data = 2;\n */\n data?: Data;\n};\n\n/**\n * Describes the message CMS.PageResourceRes.\n * Use `create(PageResourceResSchema)` to create a new message.\n */\nexport const PageResourceResSchema: GenMessage<PageResourceRes> = /*@__PURE__*/\n messageDesc(file_cms_GetPageResource, 37);\n\n/**\n * @generated from enum CMS.GameDeviceType\n */\nexport enum GameDeviceType {\n /**\n * @generated from enum value: UNSPECIFIED_DEVICE = 0;\n */\n UNSPECIFIED_DEVICE = 0,\n\n /**\n * @generated from enum value: PC_DEVICE = 1;\n */\n PC_DEVICE = 1,\n\n /**\n * @generated from enum value: H5_DEVICE = 2;\n */\n H5_DEVICE = 2,\n\n /**\n * @generated from enum value: APP_DEVICE = 3;\n */\n APP_DEVICE = 3,\n}\n\n/**\n * Describes the enum CMS.GameDeviceType.\n */\nexport const GameDeviceTypeSchema: GenEnum<GameDeviceType> = /*@__PURE__*/\n enumDesc(file_cms_GetPageResource, 0);\n\n","// @generated by protoc-gen-es v2.10.2 with parameter \"target=ts\"\n// @generated from file cms/GetPageGameList.proto (package CMS, syntax proto3)\n/* eslint-disable */\n\nimport type { GenFile, GenMessage } from \"@bufbuild/protobuf/codegenv2\";\nimport { fileDesc, messageDesc } from \"@bufbuild/protobuf/codegenv2\";\nimport type { BaseResponse, Game, Pagination } from \"../common/Common_pb\";\nimport { file_common_Common } from \"../common/Common_pb\";\nimport type { Message } from \"@bufbuild/protobuf\";\n\n/**\n * Describes the file cms/GetPageGameList.proto.\n */\nexport const file_cms_GetPageGameList: GenFile = /*@__PURE__*/\n fileDesc(\"ChljbXMvR2V0UGFnZUdhbWVMaXN0LnByb3RvEgNDTVMiOgoMUGFnZUdhbWVEYXRhEhsKBWdhbWVzGAEgAygLMgwuY29tbW9uLkdhbWUSDQoFdG90YWwYAiABKAUilwIKD1BhZ2VHYW1lTGlzdFJlcRITCgtyZXNvdXJjZV9pZBgBIAEoCRIYChBwcmltYXJ5X2NhdGVnb3J5GAIgASgJEhoKEnNlY29uZGFyeV9jYXRlZ29yeRgDIAEoCRIUCgxzdWJfY2F0ZWdvcnkYBCABKAkSEwoLcHJvdmlkZXJfaWQYBSABKAkSJgoKcGFnaW5hdGlvbhgGIAEoCzISLmNvbW1vbi5QYWdpbmF0aW9uEhQKDHByb3ZpZGVyX2lkcxgHIAMoCRIaChJwcmltYXJ5X2NhdGVnb3JpZXMYCCADKAkSHAoUc2Vjb25kYXJ5X2NhdGVnb3JpZXMYCSADKAkSFgoOc3ViX2NhdGVnb3JpZXMYCiADKAkiXwoPUGFnZUdhbWVMaXN0UmVzEisKDWJhc2VfcmVzcG9uc2UYASABKAsyFC5jb21tb24uQmFzZVJlc3BvbnNlEh8KBGRhdGEYAiABKAsyES5DTVMuUGFnZUdhbWVEYXRhYgZwcm90bzM\", [file_common_Common]);\n\n/**\n * @generated from message CMS.PageGameData\n */\nexport type PageGameData = Message<\"CMS.PageGameData\"> & {\n /**\n * @generated from field: repeated common.Game games = 1;\n */\n games: Game[];\n\n /**\n * @generated from field: int32 total = 2;\n */\n total: number;\n};\n\n/**\n * Describes the message CMS.PageGameData.\n * Use `create(PageGameDataSchema)` to create a new message.\n */\nexport const PageGameDataSchema: GenMessage<PageGameData> = /*@__PURE__*/\n messageDesc(file_cms_GetPageGameList, 0);\n\n/**\n * @generated from message CMS.PageGameListReq\n */\nexport type PageGameListReq = Message<\"CMS.PageGameListReq\"> & {\n /**\n * @generated from field: string resource_id = 1;\n */\n resourceId: string;\n\n /**\n * @generated from field: string primary_category = 2;\n */\n primaryCategory: string;\n\n /**\n * @generated from field: string secondary_category = 3;\n */\n secondaryCategory: string;\n\n /**\n * @generated from field: string sub_category = 4;\n */\n subCategory: string;\n\n /**\n * @generated from field: string provider_id = 5;\n */\n providerId: string;\n\n /**\n * @generated from field: common.Pagination pagination = 6;\n */\n pagination?: Pagination;\n\n /**\n * @generated from field: repeated string provider_ids = 7;\n */\n providerIds: string[];\n\n /**\n * @generated from field: repeated string primary_categories = 8;\n */\n primaryCategories: string[];\n\n /**\n * @generated from field: repeated string secondary_categories = 9;\n */\n secondaryCategories: string[];\n\n /**\n * @generated from field: repeated string sub_categories = 10;\n */\n subCategories: string[];\n};\n\n/**\n * Describes the message CMS.PageGameListReq.\n * Use `create(PageGameListReqSchema)` to create a new message.\n */\nexport const PageGameListReqSchema: GenMessage<PageGameListReq> = /*@__PURE__*/\n messageDesc(file_cms_GetPageGameList, 1);\n\n/**\n * @generated from message CMS.PageGameListRes\n */\nexport type PageGameListRes = Message<\"CMS.PageGameListRes\"> & {\n /**\n * @generated from field: common.BaseResponse base_response = 1;\n */\n baseResponse?: BaseResponse;\n\n /**\n * @generated from field: CMS.PageGameData data = 2;\n */\n data?: PageGameData;\n};\n\n/**\n * Describes the message CMS.PageGameListRes.\n * Use `create(PageGameListResSchema)` to create a new message.\n */\nexport const PageGameListResSchema: GenMessage<PageGameListRes> = /*@__PURE__*/\n messageDesc(file_cms_GetPageGameList, 2);\n\n","// @generated by protoc-gen-es v2.10.2 with parameter \"target=ts\"\n// @generated from file cms/GetJackpotResources.proto (package CMS, syntax proto3)\n/* eslint-disable */\n\nimport type { GenFile, GenMessage } from \"@bufbuild/protobuf/codegenv2\";\nimport { fileDesc, messageDesc } from \"@bufbuild/protobuf/codegenv2\";\nimport type { BaseResponse, Pagination } from \"../common/Common_pb\";\nimport { file_common_Common } from \"../common/Common_pb\";\nimport type { Article, JackpotProvider } from \"../cmsCommon/CmsCommon_pb\";\nimport { file_cmsCommon_CmsCommon } from \"../cmsCommon/CmsCommon_pb\";\nimport type { Message } from \"@bufbuild/protobuf\";\n\n/**\n * Describes the file cms/GetJackpotResources.proto.\n */\nexport const file_cms_GetJackpotResources: GenFile = /*@__PURE__*/\n fileDesc(\"Ch1jbXMvR2V0SmFja3BvdFJlc291cmNlcy5wcm90bxIDQ01TIt0CCgtKYWNrcG90RGF0YRIMCgRuYW1lGAEgASgJEg4KBmFjdGlvbhgCIAEoCRIUCgxyZWRpcmVjdF91cmwYAyABKAkSEwoLYnV0dG9uX25hbWUYBCABKAkSDgoGdmlld2VyGAUgASgFEg4KBnBheW91dBgGIAEoCRIUCgxwbGF5ZXJfY291bnQYByABKAkSJAoIYXJ0aWNsZXMYCCADKAsyEi5jbXNDb21tb24uQXJ0aWNsZRIWCg5sYXVuY2hfZ2FtZV9pZBgJIAEoCRIYChBsYXVuY2hfZ2FtZV9uYW1lGAogASgJEjUKEWphY2twb3RfcHJvdmlkZXJzGAsgAygLMhouY21zQ29tbW9uLkphY2twb3RQcm92aWRlchISCgpuZXdfcGF5b3V0GAwgASgJEiwKEGFydGljbGVzX2hpc3RvcnkYDSADKAsyEi5jbXNDb21tb24uQXJ0aWNsZSKoAQoTSmFja3BvdFJlc291cmNlc1JlcRIbCg5hcnRpY2xlX29ial9pZBgBIAEoCUgAiAEBEhMKC3Jlc291cmNlX2lkGAIgASgJEiYKCnBhZ2luYXRpb24YAyABKAsyEi5jb21tb24uUGFnaW5hdGlvbhIWCglnYW1lX25hbWUYBCABKAlIAYgBAUIRCg9fYXJ0aWNsZV9vYmpfaWRCDAoKX2dhbWVfbmFtZSJiChNKYWNrcG90UmVzb3VyY2VzUmVzEisKDWJhc2VfcmVzcG9uc2UYASABKAsyFC5jb21tb24uQmFzZVJlc3BvbnNlEh4KBGRhdGEYAiABKAsyEC5DTVMuSmFja3BvdERhdGFiBnByb3RvMw\", [file_common_Common, file_cmsCommon_CmsCommon]);\n\n/**\n * @generated from message CMS.JackpotData\n */\nexport type JackpotData = Message<\"CMS.JackpotData\"> & {\n /**\n * @generated from field: string name = 1;\n */\n name: string;\n\n /**\n * @generated from field: string action = 2;\n */\n action: string;\n\n /**\n * @generated from field: string redirect_url = 3;\n */\n redirectUrl: string;\n\n /**\n * @generated from field: string button_name = 4;\n */\n buttonName: string;\n\n /**\n * @generated from field: int32 viewer = 5;\n */\n viewer: number;\n\n /**\n * @generated from field: string payout = 6;\n */\n payout: string;\n\n /**\n * @generated from field: string player_count = 7;\n */\n playerCount: string;\n\n /**\n * @generated from field: repeated cmsCommon.Article articles = 8;\n */\n articles: Article[];\n\n /**\n * @generated from field: string launch_game_id = 9;\n */\n launchGameId: string;\n\n /**\n * @generated from field: string launch_game_name = 10;\n */\n launchGameName: string;\n\n /**\n * @generated from field: repeated cmsCommon.JackpotProvider jackpot_providers = 11;\n */\n jackpotProviders: JackpotProvider[];\n\n /**\n * @generated from field: string new_payout = 12;\n */\n newPayout: string;\n\n /**\n * @generated from field: repeated cmsCommon.Article articles_history = 13;\n */\n articlesHistory: Article[];\n};\n\n/**\n * Describes the message CMS.JackpotData.\n * Use `create(JackpotDataSchema)` to create a new message.\n */\nexport const JackpotDataSchema: GenMessage<JackpotData> = /*@__PURE__*/\n messageDesc(file_cms_GetJackpotResources, 0);\n\n/**\n * @generated from message CMS.JackpotResourcesReq\n */\nexport type JackpotResourcesReq = Message<\"CMS.JackpotResourcesReq\"> & {\n /**\n * @generated from field: optional string article_obj_id = 1;\n */\n articleObjId?: string;\n\n /**\n * @generated from field: string resource_id = 2;\n */\n resourceId: string;\n\n /**\n * @generated from field: common.Pagination pagination = 3;\n */\n pagination?: Pagination;\n\n /**\n * @generated from field: optional string game_name = 4;\n */\n gameName?: string;\n};\n\n/**\n * Describes the message CMS.JackpotResourcesReq.\n * Use `create(JackpotResourcesReqSchema)` to create a new message.\n */\nexport const JackpotResourcesReqSchema: GenMessage<JackpotResourcesReq> = /*@__PURE__*/\n messageDesc(file_cms_GetJackpotResources, 1);\n\n/**\n * @generated from message CMS.JackpotResourcesRes\n */\nexport type JackpotResourcesRes = Message<\"CMS.JackpotResourcesRes\"> & {\n /**\n * @generated from field: common.BaseResponse base_response = 1;\n */\n baseResponse?: BaseResponse;\n\n /**\n * @generated from field: CMS.JackpotData data = 2;\n */\n data?: JackpotData;\n};\n\n/**\n * Describes the message CMS.JackpotResourcesRes.\n * Use `create(JackpotResourcesResSchema)` to create a new message.\n */\nexport const JackpotResourcesResSchema: GenMessage<JackpotResourcesRes> = /*@__PURE__*/\n messageDesc(file_cms_GetJackpotResources, 2);\n\n","// @generated by protoc-gen-es v2.10.2 with parameter \"target=ts\"\n// @generated from file cms/ReadPopup.proto (package CMS, syntax proto3)\n/* eslint-disable */\n\nimport type { GenFile, GenMessage } from \"@bufbuild/protobuf/codegenv2\";\nimport { fileDesc, messageDesc } from \"@bufbuild/protobuf/codegenv2\";\nimport type { Message } from \"@bufbuild/protobuf\";\n\n/**\n * Describes the file cms/ReadPopup.proto.\n */\nexport const file_cms_ReadPopup: GenFile = /*@__PURE__*/\n fileDesc(\"ChNjbXMvUmVhZFBvcHVwLnByb3RvEgNDTVMiqAEKDFJlYWRQb3B1cFJlcRIQCghwb3B1cF9pZBgBIAEoCRIUCgdpc19za2lwGAIgASgISACIAQESGQoMaXNfZG9udF9zaG93GAMgASgISAGIAQESIAoTY29tcGxldGVkX2Jpb21ldHJpYxgEIAEoCEgCiAEBQgoKCF9pc19za2lwQg8KDV9pc19kb250X3Nob3dCFgoUX2NvbXBsZXRlZF9iaW9tZXRyaWNiBnByb3RvMw\");\n\n/**\n * @generated from message CMS.ReadPopupReq\n */\nexport type ReadPopupReq = Message<\"CMS.ReadPopupReq\"> & {\n /**\n * @generated from field: string popup_id = 1;\n */\n popupId: string;\n\n /**\n * @generated from field: optional bool is_skip = 2;\n */\n isSkip?: boolean;\n\n /**\n * @generated from field: optional bool is_dont_show = 3;\n */\n isDontShow?: boolean;\n\n /**\n * @generated from field: optional bool completed_biometric = 4;\n */\n completedBiometric?: boolean;\n};\n\n/**\n * Describes the message CMS.ReadPopupReq.\n * Use `create(ReadPopupReqSchema)` to create a new message.\n */\nexport const ReadPopupReqSchema: GenMessage<ReadPopupReq> = /*@__PURE__*/\n messageDesc(file_cms_ReadPopup, 0);\n\n","// @generated by protoc-gen-es v2.10.2 with parameter \"target=ts\"\n// @generated from file cms/ReadEventPopup.proto (package CMS, syntax proto3)\n/* eslint-disable */\n\nimport type { GenFile, GenMessage } from \"@bufbuild/protobuf/codegenv2\";\nimport { fileDesc, messageDesc } from \"@bufbuild/protobuf/codegenv2\";\nimport type { Message } from \"@bufbuild/protobuf\";\n\n/**\n * Describes the file cms/ReadEventPopup.proto.\n */\nexport const file_cms_ReadEventPopup: GenFile = /*@__PURE__*/\n fileDesc(\"ChhjbXMvUmVhZEV2ZW50UG9wdXAucHJvdG8SA0NNUyInChFSZWFkRXZlbnRQb3B1cFJlcRISCgpldmVudF9jb2RlGAEgASgJYgZwcm90bzM\");\n\n/**\n * @generated from message CMS.ReadEventPopupReq\n */\nexport type ReadEventPopupReq = Message<\"CMS.ReadEventPopupReq\"> & {\n /**\n * @generated from field: string event_code = 1;\n */\n eventCode: string;\n};\n\n/**\n * Describes the message CMS.ReadEventPopupReq.\n * Use `create(ReadEventPopupReqSchema)` to create a new message.\n */\nexport const ReadEventPopupReqSchema: GenMessage<ReadEventPopupReq> = /*@__PURE__*/\n messageDesc(file_cms_ReadEventPopup, 0);\n\n","// @generated by protoc-gen-es v2.10.2 with parameter \"target=ts\"\n// @generated from file cms/GetAmbassadorConfig.proto (package CMS, syntax proto3)\n/* eslint-disable */\n\nimport type { GenFile, GenMessage } from \"@bufbuild/protobuf/codegenv2\";\nimport { fileDesc, messageDesc } from \"@bufbuild/protobuf/codegenv2\";\nimport type { BaseResponse, Pagination } from \"../common/Common_pb\";\nimport { file_common_Common } from \"../common/Common_pb\";\nimport type { Status } from \"../cmsCommon/CmsCommon_pb\";\nimport { file_cmsCommon_CmsCommon } from \"../cmsCommon/CmsCommon_pb\";\nimport type { Message } from \"@bufbuild/protobuf\";\n\n/**\n * Describes the file cms/GetAmbassadorConfig.proto.\n */\nexport const file_cms_GetAmbassadorConfig: GenFile = /*@__PURE__*/\n fileDesc(\"Ch1jbXMvR2V0QW1iYXNzYWRvckNvbmZpZy5wcm90bxIDQ01TIoUCChBBbWJhc3NhZG9yQ29uZmlnEhkKEWFtYmFzc2Fkb3Jfb2JqX2lkGAEgASgJEhEKCWNhcmRfbmFtZRgCIAEoCRIMCgRzb3J0GAMgASgFEhYKDmNhcmRfaW1hZ2VfdXJsGAQgASgJEh8KF2NhcmRfc2VsZWN0ZWRfaW1hZ2VfdXJsGAUgASgJEiEKGWNhcmRfdW5zZWxlY3RlZF9pbWFnZV91cmwYBiABKAkSJgoGc3RhdHVzGAcgASgOMhEuY21zQ29tbW9uLlN0YXR1c0gAiAEBEhIKCmNyZWF0ZWRfYXQYCCABKAkSEgoKdXBkYXRlZF9hdBgJIAEoCUIJCgdfc3RhdHVzIj0KE0FtYmFzc2Fkb3JDb25maWdSZXESJgoKcGFnaW5hdGlvbhgBIAEoCzISLmNvbW1vbi5QYWdpbmF0aW9uInYKE0FtYmFzc2Fkb3JDb25maWdSZXMSKwoNYmFzZV9yZXNwb25zZRgBIAEoCzIULmNvbW1vbi5CYXNlUmVzcG9uc2USIwoEZGF0YRgCIAMoCzIVLkNNUy5BbWJhc3NhZG9yQ29uZmlnEg0KBXRvdGFsGAMgASgFYgZwcm90bzM\", [file_common_Common, file_cmsCommon_CmsCommon]);\n\n/**\n * @generated from message CMS.AmbassadorConfig\n */\nexport type AmbassadorConfig = Message<\"CMS.AmbassadorConfig\"> & {\n /**\n * @generated from field: string ambassador_obj_id = 1;\n */\n ambassadorObjId: string;\n\n /**\n * @generated from field: string card_name = 2;\n */\n cardName: string;\n\n /**\n * @generated from field: int32 sort = 3;\n */\n sort: number;\n\n /**\n * @generated from field: string card_image_url = 4;\n */\n cardImageUrl: string;\n\n /**\n * @generated from field: string card_selected_image_url = 5;\n */\n cardSelectedImageUrl: string;\n\n /**\n * @generated from field: string card_unselected_image_url = 6;\n */\n cardUnselectedImageUrl: string;\n\n /**\n * @generated from field: optional cmsCommon.Status status = 7;\n */\n status?: Status;\n\n /**\n * @generated from field: string created_at = 8;\n */\n createdAt: string;\n\n /**\n * @generated from field: string updated_at = 9;\n */\n updatedAt: string;\n};\n\n/**\n * Describes the message CMS.AmbassadorConfig.\n * Use `create(AmbassadorConfigSchema)` to create a new message.\n */\nexport const AmbassadorConfigSchema: GenMessage<AmbassadorConfig> = /*@__PURE__*/\n messageDesc(file_cms_GetAmbassadorConfig, 0);\n\n/**\n * @generated from message CMS.AmbassadorConfigReq\n */\nexport type AmbassadorConfigReq = Message<\"CMS.AmbassadorConfigReq\"> & {\n /**\n * @generated from field: common.Pagination pagination = 1;\n */\n pagination?: Pagination;\n};\n\n/**\n * Describes the message CMS.AmbassadorConfigReq.\n * Use `create(AmbassadorConfigReqSchema)` to create a new message.\n */\nexport const AmbassadorConfigReqSchema: GenMessage<AmbassadorConfigReq> = /*@__PURE__*/\n messageDesc(file_cms_GetAmbassadorConfig, 1);\n\n/**\n * @generated from message CMS.AmbassadorConfigRes\n */\nexport type AmbassadorConfigRes = Message<\"CMS.AmbassadorConfigRes\"> & {\n /**\n * @generated from field: common.BaseResponse base_response = 1;\n */\n baseResponse?: BaseResponse;\n\n /**\n * @generated from field: repeated CMS.AmbassadorConfig data = 2;\n */\n data: AmbassadorConfig[];\n\n /**\n * @generated from field: int32 total = 3;\n */\n total: number;\n};\n\n/**\n * Describes the message CMS.AmbassadorConfigRes.\n * Use `create(AmbassadorConfigResSchema)` to create a new message.\n */\nexport const AmbassadorConfigResSchema: GenMessage<AmbassadorConfigRes> = /*@__PURE__*/\n messageDesc(file_cms_GetAmbassadorConfig, 2);\n\n","// @generated by protoc-gen-es v2.10.2 with parameter \"target=ts\"\n// @generated from file cms/GetAmbassadorConfigDetail.proto (package CMS, syntax proto3)\n/* eslint-disable */\n\nimport type { GenFile, GenMessage } from \"@bufbuild/protobuf/codegenv2\";\nimport { fileDesc, messageDesc } from \"@bufbuild/protobuf/codegenv2\";\nimport { file_common_CommonEnums } from \"../common/CommonEnums_pb\";\nimport type { BaseResponse, MediaReq, Pagination } from \"../common/Common_pb\";\nimport { file_common_Common } from \"../common/Common_pb\";\nimport type { Action, Status } from \"../cmsCommon/CmsCommon_pb\";\nimport { file_cmsCommon_CmsCommon } from \"../cmsCommon/CmsCommon_pb\";\nimport type { Message } from \"@bufbuild/protobuf\";\n\n/**\n * Describes the file cms/GetAmbassadorConfigDetail.proto.\n */\nexport const file_cms_GetAmbassadorConfigDetail: GenFile = /*@__PURE__*/\n fileDesc(\"CiNjbXMvR2V0QW1iYXNzYWRvckNvbmZpZ0RldGFpbC5wcm90bxIDQ01TImEKHEdldEFtYmFzc2Fkb3JDb25maWdEZXRhaWxSZXESGQoRYW1iYXNzYWRvcl9vYmpfaWQYASABKAkSJgoKcGFnaW5hdGlvbhgCIAEoCzISLmNvbW1vbi5QYWdpbmF0aW9uIlAKGkFtYmFzc2Fkb3JEZXRhaWxCYWNrZ3JvdW5kEg4KBmNvbG9yMRgBIAEoCRIOCgZjb2xvcjIYAiABKAkSEgoKZm9udF9jb2xvchgDIAEoCSKJAwoQQW1iYXNzYWRvckRldGFpbBIeChFhbWJhc3NhZG9yX29ial9pZBgBIAEoCUgAiAEBEhcKD2FtYmFzc2Fkb3JfbmFtZRgCIAEoCRIYChBiYW5uZXJfaW1hZ2VfdXJsGAMgASgJEhYKCWNhcmRfbmFtZRgEIAEoCUgBiAEBEjMKCmJhY2tncm91bmQYBSABKAsyHy5DTVMuQW1iYXNzYWRvckRldGFpbEJhY2tncm91bmQSDAoEbGluaxgGIAEoCRImCgZzdGF0dXMYByABKA4yES5jbXNDb21tb24uU3RhdHVzSAKIAQESEgoKY3JlYXRlZF9hdBgIIAEoCRISCgp1cGRhdGVkX2F0GAkgASgJEhIKCmNyZWF0ZWRfYnkYCiABKAkSEgoKdXBkYXRlZF9ieRgLIAEoCRIgChhhbWJhc3NhZG9yX2RldGFpbF9vYmpfaWQYDCABKAlCFAoSX2FtYmFzc2Fkb3Jfb2JqX2lkQgwKCl9jYXJkX25hbWVCCQoHX3N0YXR1cyLjAQoRQW1iYXNzYWRvck1lc3NhZ2USHgoRYW1iYXNzYWRvcl9vYmpfaWQYASABKAlIAIgBARIgChhhbWJhc3NhZG9yX2RldGFpbF9vYmpfaWQYAiABKAkSDQoFdGl0bGUYAyABKAkSEwoLZGVzY3JpcHRpb24YBCABKAkSHwoFbWVkaWEYBSADKAsyEC5jb21tb24uTWVkaWFSZXESJgoGc3RhdHVzGAYgASgOMhEuY21zQ29tbW9uLlN0YXR1c0gBiAEBQhQKEl9hbWJhc3NhZG9yX29ial9pZEIJCgdfc3RhdHVzIucBChVBbWJhc3NhZG9ySW5mb3JtYXRpb24SHgoRYW1iYXNzYWRvcl9vYmpfaWQYASABKAlIAIgBARIgChhhbWJhc3NhZG9yX2RldGFpbF9vYmpfaWQYAiABKAkSDQoFdGl0bGUYAyABKAkSEwoLZGVzY3JpcHRpb24YBCABKAkSHwoFbWVkaWEYBSADKAsyEC5jb21tb24uTWVkaWFSZXESJgoGc3RhdHVzGAYgASgOMhEuY21zQ29tbW9uLlN0YXR1c0gBiAEBQhQKEl9hbWJhc3NhZG9yX29ial9pZEIJCgdfc3RhdHVzIl0KDkFtYmFzc2Fkb3JHYW1lEg8KB2dhbWVfaWQYASABKAkSEQoJZ2FtZV9uYW1lGAIgASgJEhIKCnRhYmxlX2NvZGUYAyABKAkSEwoLcHJvdmlkZXJfaWQYBCABKAkijgEKD0FtYmFzc2Fkb3JFdmVudBImCgZhY3Rpb24YASABKA4yES5jbXNDb21tb24uQWN0aW9uSACIAQESFwoPZXZlbnRfaW1hZ2VfdXJsGAIgASgJEiEKBGdhbWUYAyABKAsyEy5DTVMuQW1iYXNzYWRvckdhbWUSDAoEbGluaxgEIAEoCUIJCgdfYWN0aW9uItUBChRBbWJhc3NhZG9yRXZlbnRBc3NldBIeChFhbWJhc3NhZG9yX29ial9pZBgBIAEoCUgAiAEBEiAKGGFtYmFzc2Fkb3JfZGV0YWlsX29ial9pZBgCIAEoCRINCgV0aXRsZRgDIAEoCRIjCgVldmVudBgEIAEoCzIULkNNUy5BbWJhc3NhZG9yRXZlbnQSJgoGc3RhdHVzGAUgASgOMhEuY21zQ29tbW9uLlN0YXR1c0gBiAEBQhQKEl9hbWJhc3NhZG9yX29ial9pZEIJCgdfc3RhdHVzIq8BChhBbWJhc3NhZG9yTGl2ZVN0cmVhbUl0ZW0SJgoGYWN0aW9uGAEgASgOMhEuY21zQ29tbW9uLkFjdGlvbkgAiAEBEh0KFWxpdmVfc3RyZWFtX2ltYWdlX3VybBgCIAEoCRIhCgRnYW1lGAMgASgLMhMuQ01TLkFtYmFzc2Fkb3JHYW1lEgwKBGxpbmsYBCABKAkSEAoIaXNfbG9naW4YBSABKAhCCQoHX2FjdGlvbiLkAQoUQW1iYXNzYWRvckxpdmVTdHJlYW0SHgoRYW1iYXNzYWRvcl9vYmpfaWQYASABKAlIAIgBARIgChhhbWJhc3NhZG9yX2RldGFpbF9vYmpfaWQYAiABKAkSDQoFdGl0bGUYAyABKAkSMgoLbGl2ZV9zdHJlYW0YBCADKAsyHS5DTVMuQW1iYXNzYWRvckxpdmVTdHJlYW1JdGVtEiYKBnN0YXR1cxgFIAEoDjIRLmNtc0NvbW1vbi5TdGF0dXNIAYgBAUIUChJfYW1iYXNzYWRvcl9vYmpfaWRCCQoHX3N0YXR1cyLgAQoXQW1iYXNzYWRvclJlY29tbWVuZEdhbWUSHgoRYW1iYXNzYWRvcl9vYmpfaWQYASABKAlIAIgBARIgChhhbWJhc3NhZG9yX2RldGFpbF9vYmpfaWQYAiABKAkSDQoFdGl0bGUYAyABKAkSKwoOcmVjb21tZW5kX2dhbWUYBCADKAsyEy5DTVMuQW1iYXNzYWRvckdhbWUSJgoGc3RhdHVzGAUgASgOMhEuY21zQ29tbW9uLlN0YXR1c0gBiAEBQhQKEl9hbWJhc3NhZG9yX29ial9pZEIJCgdfc3RhdHVzIvECChZBbWJhc3NhZG9yRGV0YWlsQ29uZmlnEjAKEWFtYmFzc2Fkb3JfZGV0YWlsGAEgASgLMhUuQ01TLkFtYmFzc2Fkb3JEZXRhaWwSOgoWYW1iYXNzYWRvcl9pbmZvcm1hdGlvbhgCIAEoCzIaLkNNUy5BbWJhc3NhZG9ySW5mb3JtYXRpb24SMgoSYW1iYXNzYWRvcl9tZXNzYWdlGAMgASgLMhYuQ01TLkFtYmFzc2Fkb3JNZXNzYWdlEjkKFmFtYmFzc2Fkb3JfZXZlbnRfYXNzZXQYBCABKAsyGS5DTVMuQW1iYXNzYWRvckV2ZW50QXNzZXQSOQoWYW1iYXNzYWRvcl9saXZlX3N0cmVhbRgFIAEoCzIZLkNNUy5BbWJhc3NhZG9yTGl2ZVN0cmVhbRI/ChlhbWJhc3NhZG9yX3JlY29tbWVuZF9nYW1lGAYgASgLMhwuQ01TLkFtYmFzc2Fkb3JSZWNvbW1lbmRHYW1lInYKHEdldEFtYmFzc2Fkb3JDb25maWdEZXRhaWxSZXMSKwoNYmFzZV9yZXNwb25zZRgBIAEoCzIULmNvbW1vbi5CYXNlUmVzcG9uc2USKQoEZGF0YRgCIAEoCzIbLkNNUy5BbWJhc3NhZG9yRGV0YWlsQ29uZmlnYgZwcm90bzM\", [file_common_CommonEnums, file_common_Common, file_cmsCommon_CmsCommon]);\n\n/**\n * @generated from message CMS.GetAmbassadorConfigDetailReq\n */\nexport type GetAmbassadorConfigDetailReq = Message<\"CMS.GetAmbassadorConfigDetailReq\"> & {\n /**\n * @generated from field: string ambassador_obj_id = 1;\n */\n ambassadorObjId: string;\n\n /**\n * @generated from field: common.Pagination pagination = 2;\n */\n pagination?: Pagination;\n};\n\n/**\n * Describes the message CMS.GetAmbassadorConfigDetailReq.\n * Use `create(GetAmbassadorConfigDetailReqSchema)` to create a new message.\n */\nexport const GetAmbassadorConfigDetailReqSchema: GenMessage<GetAmbassadorConfigDetailReq> = /*@__PURE__*/\n messageDesc(file_cms_GetAmbassadorConfigDetail, 0);\n\n/**\n * @generated from message CMS.AmbassadorDetailBackground\n */\nexport type AmbassadorDetailBackground = Message<\"CMS.AmbassadorDetailBackground\"> & {\n /**\n * @generated from field: string color1 = 1;\n */\n color1: string;\n\n /**\n * @generated from field: string color2 = 2;\n */\n color2: string;\n\n /**\n * @generated from field: string font_color = 3;\n */\n fontColor: string;\n};\n\n/**\n * Describes the message CMS.AmbassadorDetailBackground.\n * Use `create(AmbassadorDetailBackgroundSchema)` to create a new message.\n */\nexport const AmbassadorDetailBackgroundSchema: GenMessage<AmbassadorDetailBackground> = /*@__PURE__*/\n messageDesc(file_cms_GetAmbassadorConfigDetail, 1);\n\n/**\n * @generated from message CMS.AmbassadorDetail\n */\nexport type AmbassadorDetail = Message<\"CMS.AmbassadorDetail\"> & {\n /**\n * @generated from field: optional string ambassador_obj_id = 1;\n */\n ambassadorObjId?: string;\n\n /**\n * @generated from field: string ambassador_name = 2;\n */\n ambassadorName: string;\n\n /**\n * @generated from field: string banner_image_url = 3;\n */\n bannerImageUrl: string;\n\n /**\n * @generated from field: optional string card_name = 4;\n */\n cardName?: string;\n\n /**\n * @generated from field: CMS.AmbassadorDetailBackground background = 5;\n */\n background?: AmbassadorDetailBackground;\n\n /**\n * @generated from field: string link = 6;\n */\n link: string;\n\n /**\n * @generated from field: optional cmsCommon.Status status = 7;\n */\n status?: Status;\n\n /**\n * @generated from field: string created_at = 8;\n */\n createdAt: string;\n\n /**\n * @generated from field: string updated_at = 9;\n */\n updatedAt: string;\n\n /**\n * @generated from field: string created_by = 10;\n */\n createdBy: string;\n\n /**\n * @generated from field: string updated_by = 11;\n */\n updatedBy: string;\n\n /**\n * @generated from field: string ambassador_detail_obj_id = 12;\n */\n ambassadorDetailObjId: string;\n};\n\n/**\n * Describes the message CMS.AmbassadorDetail.\n * Use `create(AmbassadorDetailSchema)` to create a new message.\n */\nexport const AmbassadorDetailSchema: GenMessage<AmbassadorDetail> = /*@__PURE__*/\n messageDesc(file_cms_GetAmbassadorConfigDetail, 2);\n\n/**\n * @generated from message CMS.AmbassadorMessage\n */\nexport type AmbassadorMessage = Message<\"CMS.AmbassadorMessage\"> & {\n /**\n * @generated from field: optional string ambassador_obj_id = 1;\n */\n ambassadorObjId?: string;\n\n /**\n * @generated from field: string ambassador_detail_obj_id = 2;\n */\n ambassadorDetailObjId: string;\n\n /**\n * @generated from field: string title = 3;\n */\n title: string;\n\n /**\n * @generated from field: string description = 4;\n */\n description: string;\n\n /**\n * @generated from field: repeated common.MediaReq media = 5;\n */\n media: MediaReq[];\n\n /**\n * @generated from field: optional cmsCommon.Status status = 6;\n */\n status?: Status;\n};\n\n/**\n * Describes the message CMS.AmbassadorMessage.\n * Use `create(AmbassadorMessageSchema)` to create a new message.\n */\nexport const AmbassadorMessageSchema: GenMessage<AmbassadorMessage> = /*@__PURE__*/\n messageDesc(file_cms_GetAmbassadorConfigDetail, 3);\n\n/**\n * @generated from message CMS.AmbassadorInformation\n */\nexport type AmbassadorInformation = Message<\"CMS.AmbassadorInformation\"> & {\n /**\n * @generated from field: optional string ambassador_obj_id = 1;\n */\n ambassadorObjId?: string;\n\n /**\n * @generated from field: string ambassador_detail_obj_id = 2;\n */\n ambassadorDetailObjId: string;\n\n /**\n * @generated from field: string title = 3;\n */\n title: string;\n\n /**\n * @generated from field: string description = 4;\n */\n description: string;\n\n /**\n * @generated from field: repeated common.MediaReq media = 5;\n */\n media: MediaReq[];\n\n /**\n * @generated from field: optional cmsCommon.Status status = 6;\n */\n status?: Status;\n};\n\n/**\n * Describes the message CMS.AmbassadorInformation.\n * Use `create(AmbassadorInformationSchema)` to create a new message.\n */\nexport const AmbassadorInformationSchema: GenMessage<AmbassadorInformation> = /*@__PURE__*/\n messageDesc(file_cms_GetAmbassadorConfigDetail, 4);\n\n/**\n * @generated from message CMS.AmbassadorGame\n */\nexport type AmbassadorGame = Message<\"CMS.AmbassadorGame\"> & {\n /**\n * @generated from field: string game_id = 1;\n */\n gameId: string;\n\n /**\n * @generated from field: string game_name = 2;\n */\n gameName: string;\n\n /**\n * @generated from field: string table_code = 3;\n */\n tableCode: string;\n\n /**\n * @generated from field: string provider_id = 4;\n */\n providerId: string;\n};\n\n/**\n * Describes the message CMS.AmbassadorGame.\n * Use `create(AmbassadorGameSchema)` to create a new message.\n */\nexport const AmbassadorGameSchema: GenMessage<AmbassadorGame> = /*@__PURE__*/\n messageDesc(file_cms_GetAmbassadorConfigDetail, 5);\n\n/**\n * @generated from message CMS.AmbassadorEvent\n */\nexport type AmbassadorEvent = Message<\"CMS.AmbassadorEvent\"> & {\n /**\n * @generated from field: optional cmsCommon.Action action = 1;\n */\n action?: Action;\n\n /**\n * @generated from field: string event_image_url = 2;\n */\n eventImageUrl: string;\n\n /**\n * @generated from field: CMS.AmbassadorGame game = 3;\n */\n game?: AmbassadorGame;\n\n /**\n * @generated from field: string link = 4;\n */\n link: string;\n};\n\n/**\n * Describes the message CMS.AmbassadorEvent.\n * Use `create(AmbassadorEventSchema)` to create a new message.\n */\nexport const AmbassadorEventSchema: GenMessage<AmbassadorEvent> = /*@__PURE__*/\n messageDesc(file_cms_GetAmbassadorConfigDetail, 6);\n\n/**\n * @generated from message CMS.AmbassadorEventAsset\n */\nexport type AmbassadorEventAsset = Message<\"CMS.AmbassadorEventAsset\"> & {\n /**\n * @generated from field: optional string ambassador_obj_id = 1;\n */\n ambassadorObjId?: string;\n\n /**\n * @generated from field: string ambassador_detail_obj_id = 2;\n */\n ambassadorDetailObjId: string;\n\n /**\n * @generated from field: string title = 3;\n */\n title: string;\n\n /**\n * @generated from field: CMS.AmbassadorEvent event = 4;\n */\n event?: AmbassadorEvent;\n\n /**\n * @generated from field: optional cmsCommon.Status status = 5;\n */\n status?: Status;\n};\n\n/**\n * Describes the message CMS.AmbassadorEventAsset.\n * Use `create(AmbassadorEventAssetSchema)` to create a new message.\n */\nexport const AmbassadorEventAssetSchema: GenMessage<AmbassadorEventAsset> = /*@__PURE__*/\n messageDesc(file_cms_GetAmbassadorConfigDetail, 7);\n\n/**\n * @generated from message CMS.AmbassadorLiveStreamItem\n */\nexport type AmbassadorLiveStreamItem = Message<\"CMS.AmbassadorLiveStreamItem\"> & {\n /**\n * @generated from field: optional cmsCommon.Action action = 1;\n */\n action?: Action;\n\n /**\n * @generated from field: string live_stream_image_url = 2;\n */\n liveStreamImageUrl: string;\n\n /**\n * @generated from field: CMS.AmbassadorGame game = 3;\n */\n game?: AmbassadorGame;\n\n /**\n * @generated from field: string link = 4;\n */\n link: string;\n\n /**\n * @generated from field: bool is_login = 5;\n */\n isLogin: boolean;\n};\n\n/**\n * Describes the message CMS.AmbassadorLiveStreamItem.\n * Use `create(AmbassadorLiveStreamItemSchema)` to create a new message.\n */\nexport const AmbassadorLiveStreamItemSchema: GenMessage<AmbassadorLiveStreamItem> = /*@__PURE__*/\n messageDesc(file_cms_GetAmbassadorConfigDetail, 8);\n\n/**\n * @generated from message CMS.AmbassadorLiveStream\n */\nexport type AmbassadorLiveStream = Message<\"CMS.AmbassadorLiveStream\"> & {\n /**\n * @generated from field: optional string ambassador_obj_id = 1;\n */\n ambassadorObjId?: string;\n\n /**\n * @generated from field: string ambassador_detail_obj_id = 2;\n */\n ambassadorDetailObjId: string;\n\n /**\n * @generated from field: string title = 3;\n */\n title: string;\n\n /**\n * @generated from field: repeated CMS.AmbassadorLiveStreamItem live_stream = 4;\n */\n liveStream: AmbassadorLiveStreamItem[];\n\n /**\n * @generated from field: optional cmsCommon.Status status = 5;\n */\n status?: Status;\n};\n\n/**\n * Describes the message CMS.AmbassadorLiveStream.\n * Use `create(AmbassadorLiveStreamSchema)` to create a new message.\n */\nexport const AmbassadorLiveStreamSchema: GenMessage<AmbassadorLiveStream> = /*@__PURE__*/\n messageDesc(file_cms_GetAmbassadorConfigDetail, 9);\n\n/**\n * @generated from message CMS.AmbassadorRecommendGame\n */\nexport type AmbassadorRecommendGame = Message<\"CMS.AmbassadorRecommendGame\"> & {\n /**\n * @generated from field: optional string ambassador_obj_id = 1;\n */\n ambassadorObjId?: string;\n\n /**\n * @generated from field: string ambassador_detail_obj_id = 2;\n */\n ambassadorDetailObjId: string;\n\n /**\n * @generated from field: string title = 3;\n */\n title: string;\n\n /**\n * @generated from field: repeated CMS.AmbassadorGame recommend_game = 4;\n */\n recommendGame: AmbassadorGame[];\n\n /**\n * @generated from field: optional cmsCommon.Status status = 5;\n */\n status?: Status;\n};\n\n/**\n * Describes the message CMS.AmbassadorRecommendGame.\n * Use `create(AmbassadorRecommendGameSchema)` to create a new message.\n */\nexport const AmbassadorRecommendGameSchema: GenMessage<AmbassadorRecommendGame> = /*@__PURE__*/\n messageDesc(file_cms_GetAmbassadorConfigDetail, 10);\n\n/**\n * @generated from message CMS.AmbassadorDetailConfig\n */\nexport type AmbassadorDetailConfig = Message<\"CMS.AmbassadorDetailConfig\"> & {\n /**\n * @generated from field: CMS.AmbassadorDetail ambassador_detail = 1;\n */\n ambassadorDetail?: AmbassadorDetail;\n\n /**\n * @generated from field: CMS.AmbassadorInformation ambassador_information = 2;\n */\n ambassadorInformation?: AmbassadorInformation;\n\n /**\n * @generated from field: CMS.AmbassadorMessage ambassador_message = 3;\n */\n ambassadorMessage?: AmbassadorMessage;\n\n /**\n * @generated from field: CMS.AmbassadorEventAsset ambassador_event_asset = 4;\n */\n ambassadorEventAsset?: AmbassadorEventAsset;\n\n /**\n * @generated from field: CMS.AmbassadorLiveStream ambassador_live_stream = 5;\n */\n ambassadorLiveStream?: AmbassadorLiveStream;\n\n /**\n * @generated from field: CMS.AmbassadorRecommendGame ambassador_recommend_game = 6;\n */\n ambassadorRecommendGame?: AmbassadorRecommendGame;\n};\n\n/**\n * Describes the message CMS.AmbassadorDetailConfig.\n * Use `create(AmbassadorDetailConfigSchema)` to create a new message.\n */\nexport const AmbassadorDetailConfigSchema: GenMessage<AmbassadorDetailConfig> = /*@__PURE__*/\n messageDesc(file_cms_GetAmbassadorConfigDetail, 11);\n\n/**\n * @generated from message CMS.GetAmbassadorConfigDetailRes\n */\nexport type GetAmbassadorConfigDetailRes = Message<\"CMS.GetAmbassadorConfigDetailRes\"> & {\n /**\n * @generated from field: common.BaseResponse base_response = 1;\n */\n baseResponse?: BaseResponse;\n\n /**\n * @generated from field: CMS.AmbassadorDetailConfig data = 2;\n */\n data?: AmbassadorDetailConfig;\n};\n\n/**\n * Describes the message CMS.GetAmbassadorConfigDetailRes.\n * Use `create(GetAmbassadorConfigDetailResSchema)` to create a new message.\n */\nexport const GetAmbassadorConfigDetailResSchema: GenMessage<GetAmbassadorConfigDetailRes> = /*@__PURE__*/\n messageDesc(file_cms_GetAmbassadorConfigDetail, 12);\n\n","// @generated by protoc-gen-es v2.10.2 with parameter \"target=ts\"\n// @generated from file cms/SearchGame.proto (package CMS, syntax proto3)\n/* eslint-disable */\n\nimport type { GenFile, GenMessage } from \"@bufbuild/protobuf/codegenv2\";\nimport { fileDesc, messageDesc } from \"@bufbuild/protobuf/codegenv2\";\nimport type { BaseResponse, CpmsGame } from \"../common/Common_pb\";\nimport { file_common_Common } from \"../common/Common_pb\";\nimport type { Message } from \"@bufbuild/protobuf\";\n\n/**\n * Describes the file cms/SearchGame.proto.\n */\nexport const file_cms_SearchGame: GenFile = /*@__PURE__*/\n fileDesc(\"ChRjbXMvU2VhcmNoR2FtZS5wcm90bxIDQ01TIlQKDVNlYXJjaEdhbWVSZXESDwoHa2V5d29yZBgBIAEoCRIdChBnYW1lX3Jlc291cmNlX2lkGAIgASgJSACIAQFCEwoRX2dhbWVfcmVzb3VyY2VfaWQibAoNU2VhcmNoR2FtZVJlcxIrCg1iYXNlX3Jlc3BvbnNlGAEgASgLMhQuY29tbW9uLkJhc2VSZXNwb25zZRIfCgVnYW1lcxgCIAMoCzIQLmNvbW1vbi5DcG1zR2FtZRINCgV0b3RhbBgDIAEoBWIGcHJvdG8z\", [file_common_Common]);\n\n/**\n * @generated from message CMS.SearchGameReq\n */\nexport type SearchGameReq = Message<\"CMS.SearchGameReq\"> & {\n /**\n * @generated from field: string keyword = 1;\n */\n keyword: string;\n\n /**\n * @generated from field: optional string game_resource_id = 2;\n */\n gameResourceId?: string;\n};\n\n/**\n * Describes the message CMS.SearchGameReq.\n * Use `create(SearchGameReqSchema)` to create a new message.\n */\nexport const SearchGameReqSchema: GenMessage<SearchGameReq> = /*@__PURE__*/\n messageDesc(file_cms_SearchGame, 0);\n\n/**\n * @generated from message CMS.SearchGameRes\n */\nexport type SearchGameRes = Message<\"CMS.SearchGameRes\"> & {\n /**\n * @generated from field: common.BaseResponse base_response = 1;\n */\n baseResponse?: BaseResponse;\n\n /**\n * @generated from field: repeated common.CpmsGame games = 2;\n */\n games: CpmsGame[];\n\n /**\n * @generated from field: int32 total = 3;\n */\n total: number;\n};\n\n/**\n * Describes the message CMS.SearchGameRes.\n * Use `create(SearchGameResSchema)` to create a new message.\n */\nexport const SearchGameResSchema: GenMessage<SearchGameRes> = /*@__PURE__*/\n messageDesc(file_cms_SearchGame, 1);\n\n","// @generated by protoc-gen-es v2.10.2 with parameter \"target=ts\"\n// @generated from file cms/SearchGameV2.proto (package CMS, syntax proto3)\n/* eslint-disable */\n\nimport type { GenFile, GenMessage } from \"@bufbuild/protobuf/codegenv2\";\nimport { fileDesc, messageDesc } from \"@bufbuild/protobuf/codegenv2\";\nimport type { BaseResponse, Game } from \"../common/Common_pb\";\nimport { file_common_Common } from \"../common/Common_pb\";\nimport type { Message } from \"@bufbuild/protobuf\";\n\n/**\n * Describes the file cms/SearchGameV2.proto.\n */\nexport const file_cms_SearchGameV2: GenFile = /*@__PURE__*/\n fileDesc(\"ChZjbXMvU2VhcmNoR2FtZVYyLnByb3RvEgNDTVMiVgoPU2VhcmNoR2FtZVYyUmVxEg8KB2tleXdvcmQYASABKAkSHQoQZ2FtZV9yZXNvdXJjZV9pZBgCIAEoCUgAiAEBQhMKEV9nYW1lX3Jlc291cmNlX2lkImoKD1NlYXJjaEdhbWVWMlJlcxIrCg1iYXNlX3Jlc3BvbnNlGAEgASgLMhQuY29tbW9uLkJhc2VSZXNwb25zZRIbCgVnYW1lcxgCIAMoCzIMLmNvbW1vbi5HYW1lEg0KBXRvdGFsGAMgASgFYgZwcm90bzM\", [file_common_Common]);\n\n/**\n * @generated from message CMS.SearchGameV2Req\n */\nexport type SearchGameV2Req = Message<\"CMS.SearchGameV2Req\"> & {\n /**\n * @generated from field: string keyword = 1;\n */\n keyword: string;\n\n /**\n * @generated from field: optional string game_resource_id = 2;\n */\n gameResourceId?: string;\n};\n\n/**\n * Describes the message CMS.SearchGameV2Req.\n * Use `create(SearchGameV2ReqSchema)` to create a new message.\n */\nexport const SearchGameV2ReqSchema: GenMessage<SearchGameV2Req> = /*@__PURE__*/\n messageDesc(file_cms_SearchGameV2, 0);\n\n/**\n * @generated from message CMS.SearchGameV2Res\n */\nexport type SearchGameV2Res = Message<\"CMS.SearchGameV2Res\"> & {\n /**\n * @generated from field: common.BaseResponse base_response = 1;\n */\n baseResponse?: BaseResponse;\n\n /**\n * @generated from field: repeated common.Game games = 2;\n */\n games: Game[];\n\n /**\n * @generated from field: int32 total = 3;\n */\n total: number;\n};\n\n/**\n * Describes the message CMS.SearchGameV2Res.\n * Use `create(SearchGameV2ResSchema)` to create a new message.\n */\nexport const SearchGameV2ResSchema: GenMessage<SearchGameV2Res> = /*@__PURE__*/\n messageDesc(file_cms_SearchGameV2, 1);\n\n","// @generated by protoc-gen-es v2.10.2 with parameter \"target=ts\"\n// @generated from file cms/GetSportConfig.proto (package CMS, syntax proto3)\n/* eslint-disable */\n\nimport type { GenFile, GenMessage } from \"@bufbuild/protobuf/codegenv2\";\nimport { fileDesc, messageDesc } from \"@bufbuild/protobuf/codegenv2\";\nimport type { BaseResponse } from \"../common/Common_pb\";\nimport { file_common_Common } from \"../common/Common_pb\";\nimport type { Status } from \"../cmsCommon/CmsCommon_pb\";\nimport { file_cmsCommon_CmsCommon } from \"../cmsCommon/CmsCommon_pb\";\nimport type { Message } from \"@bufbuild/protobuf\";\n\n/**\n * Describes the file cms/GetSportConfig.proto.\n */\nexport const file_cms_GetSportConfig: GenFile = /*@__PURE__*/\n fileDesc(\"ChhjbXMvR2V0U3BvcnRDb25maWcucHJvdG8SA0NNUyIhChFHZXRTcG9ydENvbmZpZ1JlcRIMCgRlX2lkGAEgASgJIp4BCgtTcG9ydENvbmZpZxIcChRlaWRfZW50cmFuY2VfdmlzaWJsZRgBIAMoCRIhCgZzdGF0dXMYAiABKA4yES5jbXNDb21tb24uU3RhdHVzEhIKCmNyZWF0ZWRfYXQYAyABKAkSEgoKdXBkYXRlZF9hdBgEIAEoCRISCgpjcmVhdGVkX2J5GAUgASgJEhIKCnVwZGF0ZWRfYnkYBiABKAkiggEKD1Nwb3J0Q29uZmlnRGF0YRIbChNzcG9ydF9jb25maWdfb2JqX2lkGAEgASgJEiYKDHRvZGF5c19tYXRjaBgCIAEoCzIQLkNNUy5TcG9ydENvbmZpZxIqChBzcG9ydHNfY29tbXVuaXR5GAMgASgLMhAuQ01TLlNwb3J0Q29uZmlnImQKEUdldFNwb3J0Q29uZmlnUmVzEisKDWJhc2VfcmVzcG9uc2UYASABKAsyFC5jb21tb24uQmFzZVJlc3BvbnNlEiIKBGRhdGEYAiADKAsyFC5DTVMuU3BvcnRDb25maWdEYXRhYgZwcm90bzM\", [file_common_Common, file_cmsCommon_CmsCommon]);\n\n/**\n * @generated from message CMS.GetSportConfigReq\n */\nexport type GetSportConfigReq = Message<\"CMS.GetSportConfigReq\"> & {\n /**\n * @generated from field: string e_id = 1;\n */\n eId: string;\n};\n\n/**\n * Describes the message CMS.GetSportConfigReq.\n * Use `create(GetSportConfigReqSchema)` to create a new message.\n */\nexport const GetSportConfigReqSchema: GenMessage<GetSportConfigReq> = /*@__PURE__*/\n messageDesc(file_cms_GetSportConfig, 0);\n\n/**\n * @generated from message CMS.SportConfig\n */\nexport type SportConfig = Message<\"CMS.SportConfig\"> & {\n /**\n * @generated from field: repeated string eid_entrance_visible = 1;\n */\n eidEntranceVisible: string[];\n\n /**\n * @generated from field: cmsCommon.Status status = 2;\n */\n status: Status;\n\n /**\n * @generated from field: string created_at = 3;\n */\n createdAt: string;\n\n /**\n * @generated from field: string updated_at = 4;\n */\n updatedAt: string;\n\n /**\n * @generated from field: string created_by = 5;\n */\n createdBy: string;\n\n /**\n * @generated from field: string updated_by = 6;\n */\n updatedBy: string;\n};\n\n/**\n * Describes the message CMS.SportConfig.\n * Use `create(SportConfigSchema)` to create a new message.\n */\nexport const SportConfigSchema: GenMessage<SportConfig> = /*@__PURE__*/\n messageDesc(file_cms_GetSportConfig, 1);\n\n/**\n * @generated from message CMS.SportConfigData\n */\nexport type SportConfigData = Message<\"CMS.SportConfigData\"> & {\n /**\n * @generated from field: string sport_config_obj_id = 1;\n */\n sportConfigObjId: string;\n\n /**\n * @generated from field: CMS.SportConfig todays_match = 2;\n */\n todaysMatch?: SportConfig;\n\n /**\n * @generated from field: CMS.SportConfig sports_community = 3;\n */\n sportsCommunity?: SportConfig;\n};\n\n/**\n * Describes the message CMS.SportConfigData.\n * Use `create(SportConfigDataSchema)` to create a new message.\n */\nexport const SportConfigDataSchema: GenMessage<SportConfigData> = /*@__PURE__*/\n messageDesc(file_cms_GetSportConfig, 2);\n\n/**\n * @generated from message CMS.GetSportConfigRes\n */\nexport type GetSportConfigRes = Message<\"CMS.GetSportConfigRes\"> & {\n /**\n * @generated from field: common.BaseResponse base_response = 1;\n */\n baseResponse?: BaseResponse;\n\n /**\n * @generated from field: repeated CMS.SportConfigData data = 2;\n */\n data: SportConfigData[];\n};\n\n/**\n * Describes the message CMS.GetSportConfigRes.\n * Use `create(GetSportConfigResSchema)` to create a new message.\n */\nexport const GetSportConfigResSchema: GenMessage<GetSportConfigRes> = /*@__PURE__*/\n messageDesc(file_cms_GetSportConfig, 3);\n\n","// @generated by protoc-gen-es v2.10.2 with parameter \"target=ts\"\n// @generated from file cms/GetSportTodayMatch.proto (package CMS, syntax proto3)\n/* eslint-disable */\n\nimport type { GenFile, GenMessage } from \"@bufbuild/protobuf/codegenv2\";\nimport { fileDesc, messageDesc } from \"@bufbuild/protobuf/codegenv2\";\nimport type { BaseResponse } from \"../common/Common_pb\";\nimport { file_common_Common } from \"../common/Common_pb\";\nimport type { Message } from \"@bufbuild/protobuf\";\n\n/**\n * Describes the file cms/GetSportTodayMatch.proto.\n */\nexport const file_cms_GetSportTodayMatch: GenFile = /*@__PURE__*/\n fileDesc(\"ChxjbXMvR2V0U3BvcnRUb2RheU1hdGNoLnByb3RvEgNDTVMiLAoVR2V0U3BvcnRUb2RheU1hdGNoUmVxEhMKC3BsYXRmb3JtX2lkGAEgASgJIksKEFNwb3J0UGFydGljaXBhbnQSDAoEbmFtZRgBIAEoCRISCgp2ZW51ZV9yb2xlGAIgASgJEhUKDXRlYW1fbG9nb191cmwYAyABKAkiNAoKU3BvcnRTY29yZRISCgphd2F5X3Njb3JlGAEgASgJEhIKCmhvbWVfc2NvcmUYAiABKAkigQIKD1Nwb3J0VG9kYXlNYXRjaBIYChBzdGFydF9ldmVudF9kYXRlGAEgASgJEhIKCmV2ZW50X25hbWUYAiABKAkSEgoKc3BvcnRfbmFtZRgDIAEoCRITCgtsZWFndWVfbmFtZRgEIAEoCRIrCgxwYXJ0aWNpcGFudHMYBSADKAsyFS5DTVMuU3BvcnRQYXJ0aWNpcGFudBIeCgVzY29yZRgGIAEoCzIPLkNNUy5TcG9ydFNjb3JlEhAKCGV2ZW50X2lkGAcgASgJEhIKCmdhbWVfaWRfaDUYCCABKAkSEwoLZ2FtZV9pZF93ZWIYCSABKAkSDwoHaXNfbGl2ZRgKIAEoCCJoChVHZXRTcG9ydFRvZGF5TWF0Y2hSZXMSKwoNYmFzZV9yZXNwb25zZRgBIAEoCzIULmNvbW1vbi5CYXNlUmVzcG9uc2USIgoEZGF0YRgCIAMoCzIULkNNUy5TcG9ydFRvZGF5TWF0Y2hiBnByb3RvMw\", [file_common_Common]);\n\n/**\n * @generated from message CMS.GetSportTodayMatchReq\n */\nexport type GetSportTodayMatchReq = Message<\"CMS.GetSportTodayMatchReq\"> & {\n /**\n * @generated from field: string platform_id = 1;\n */\n platformId: string;\n};\n\n/**\n * Describes the message CMS.GetSportTodayMatchReq.\n * Use `create(GetSportTodayMatchReqSchema)` to create a new message.\n */\nexport const GetSportTodayMatchReqSchema: GenMessage<GetSportTodayMatchReq> = /*@__PURE__*/\n messageDesc(file_cms_GetSportTodayMatch, 0);\n\n/**\n * @generated from message CMS.SportParticipant\n */\nexport type SportParticipant = Message<\"CMS.SportParticipant\"> & {\n /**\n * @generated from field: string name = 1;\n */\n name: string;\n\n /**\n * @generated from field: string venue_role = 2;\n */\n venueRole: string;\n\n /**\n * @generated from field: string team_logo_url = 3;\n */\n teamLogoUrl: string;\n};\n\n/**\n * Describes the message CMS.SportParticipant.\n * Use `create(SportParticipantSchema)` to create a new message.\n */\nexport const SportParticipantSchema: GenMessage<SportParticipant> = /*@__PURE__*/\n messageDesc(file_cms_GetSportTodayMatch, 1);\n\n/**\n * @generated from message CMS.SportScore\n */\nexport type SportScore = Message<\"CMS.SportScore\"> & {\n /**\n * @generated from field: string away_score = 1;\n */\n awayScore: string;\n\n /**\n * @generated from field: string home_score = 2;\n */\n homeScore: string;\n};\n\n/**\n * Describes the message CMS.SportScore.\n * Use `create(SportScoreSchema)` to create a new message.\n */\nexport const SportScoreSchema: GenMessage<SportScore> = /*@__PURE__*/\n messageDesc(file_cms_GetSportTodayMatch, 2);\n\n/**\n * @generated from message CMS.SportTodayMatch\n */\nexport type SportTodayMatch = Message<\"CMS.SportTodayMatch\"> & {\n /**\n * @generated from field: string start_event_date = 1;\n */\n startEventDate: string;\n\n /**\n * @generated from field: string event_name = 2;\n */\n eventName: string;\n\n /**\n * @generated from field: string sport_name = 3;\n */\n sportName: string;\n\n /**\n * @generated from field: string league_name = 4;\n */\n leagueName: string;\n\n /**\n * @generated from field: repeated CMS.SportParticipant participants = 5;\n */\n participants: SportParticipant[];\n\n /**\n * @generated from field: CMS.SportScore score = 6;\n */\n score?: SportScore;\n\n /**\n * @generated from field: string event_id = 7;\n */\n eventId: string;\n\n /**\n * @generated from field: string game_id_h5 = 8;\n */\n gameIdH5: string;\n\n /**\n * @generated from field: string game_id_web = 9;\n */\n gameIdWeb: string;\n\n /**\n * @generated from field: bool is_live = 10;\n */\n isLive: boolean;\n};\n\n/**\n * Describes the message CMS.SportTodayMatch.\n * Use `create(SportTodayMatchSchema)` to create a new message.\n */\nexport const SportTodayMatchSchema: GenMessage<SportTodayMatch> = /*@__PURE__*/\n messageDesc(file_cms_GetSportTodayMatch, 3);\n\n/**\n * @generated from message CMS.GetSportTodayMatchRes\n */\nexport type GetSportTodayMatchRes = Message<\"CMS.GetSportTodayMatchRes\"> & {\n /**\n * @generated from field: common.BaseResponse base_response = 1;\n */\n baseResponse?: BaseResponse;\n\n /**\n * @generated from field: repeated CMS.SportTodayMatch data = 2;\n */\n data: SportTodayMatch[];\n};\n\n/**\n * Describes the message CMS.GetSportTodayMatchRes.\n * Use `create(GetSportTodayMatchResSchema)` to create a new message.\n */\nexport const GetSportTodayMatchResSchema: GenMessage<GetSportTodayMatchRes> = /*@__PURE__*/\n messageDesc(file_cms_GetSportTodayMatch, 4);\n\n","// @generated by protoc-gen-es v2.10.2 with parameter \"target=ts\"\n// @generated from file cms/GetGameSuggestions.proto (package CMS, syntax proto3)\n/* eslint-disable */\n\nimport type { GenFile, GenMessage } from \"@bufbuild/protobuf/codegenv2\";\nimport { fileDesc, messageDesc } from \"@bufbuild/protobuf/codegenv2\";\nimport type { BaseResponse, Game } from \"../common/Common_pb\";\nimport { file_common_Common } from \"../common/Common_pb\";\nimport type { Message } from \"@bufbuild/protobuf\";\n\n/**\n * Describes the file cms/GetGameSuggestions.proto.\n */\nexport const file_cms_GetGameSuggestions: GenFile = /*@__PURE__*/\n fileDesc(\"ChxjbXMvR2V0R2FtZVN1Z2dlc3Rpb25zLnByb3RvEgNDTVMiSgoVR2V0R2FtZVN1Z2dlc3Rpb25zUmVxEhMKC3Jlc291cmNlX2lkGAEgASgJEhIKBWxpbWl0GAIgASgFSACIAQFCCAoGX2xpbWl0ImAKFUdldEdhbWVTdWdnZXN0aW9uc1JlcxIrCg1iYXNlX3Jlc3BvbnNlGAEgASgLMhQuY29tbW9uLkJhc2VSZXNwb25zZRIaCgRkYXRhGAIgAygLMgwuY29tbW9uLkdhbWViBnByb3RvMw\", [file_common_Common]);\n\n/**\n * @generated from message CMS.GetGameSuggestionsReq\n */\nexport type GetGameSuggestionsReq = Message<\"CMS.GetGameSuggestionsReq\"> & {\n /**\n * @generated from field: string resource_id = 1;\n */\n resourceId: string;\n\n /**\n * @generated from field: optional int32 limit = 2;\n */\n limit?: number;\n};\n\n/**\n * Describes the message CMS.GetGameSuggestionsReq.\n * Use `create(GetGameSuggestionsReqSchema)` to create a new message.\n */\nexport const GetGameSuggestionsReqSchema: GenMessage<GetGameSuggestionsReq> = /*@__PURE__*/\n messageDesc(file_cms_GetGameSuggestions, 0);\n\n/**\n * @generated from message CMS.GetGameSuggestionsRes\n */\nexport type GetGameSuggestionsRes = Message<\"CMS.GetGameSuggestionsRes\"> & {\n /**\n * @generated from field: common.BaseResponse base_response = 1;\n */\n baseResponse?: BaseResponse;\n\n /**\n * @generated from field: repeated common.Game data = 2;\n */\n data: Game[];\n};\n\n/**\n * Describes the message CMS.GetGameSuggestionsRes.\n * Use `create(GetGameSuggestionsResSchema)` to create a new message.\n */\nexport const GetGameSuggestionsResSchema: GenMessage<GetGameSuggestionsRes> = /*@__PURE__*/\n messageDesc(file_cms_GetGameSuggestions, 1);\n\n","import type { MessageInit } from '../client/grpcClient'\nimport { defineEndpoint, defineEndpointGroup } from './endpoint'\nimport { FrontendService as CmsFrontendService } from '../grpcWeb/grpc/cms/FrontendService_pb'\nimport type { PageGameListRes } from '../grpcWeb/grpc/cms/GetPageGameList_pb'\nimport { PageGameListReqSchema } from '../grpcWeb/grpc/cms/GetPageGameList_pb'\nimport type { JackpotResourcesRes } from '../grpcWeb/grpc/cms/GetJackpotResources_pb'\nimport { JackpotResourcesReqSchema } from '../grpcWeb/grpc/cms/GetJackpotResources_pb'\nimport type { PageResourceRes } from '../grpcWeb/grpc/cms/GetPageResource_pb'\nimport { PageResourceReqSchema } from '../grpcWeb/grpc/cms/GetPageResource_pb'\nimport type { AmbassadorConfigRes } from '../grpcWeb/grpc/cms/GetAmbassadorConfig_pb'\nimport { AmbassadorConfigReqSchema } from '../grpcWeb/grpc/cms/GetAmbassadorConfig_pb'\nimport type { GetAmbassadorConfigDetailRes } from '../grpcWeb/grpc/cms/GetAmbassadorConfigDetail_pb'\nimport { GetAmbassadorConfigDetailReqSchema } from '../grpcWeb/grpc/cms/GetAmbassadorConfigDetail_pb'\nimport type { GetGameSuggestionsRes } from '../grpcWeb/grpc/cms/GetGameSuggestions_pb'\nimport { GetGameSuggestionsReqSchema } from '../grpcWeb/grpc/cms/GetGameSuggestions_pb'\nimport type { GetSportConfigRes } from '../grpcWeb/grpc/cms/GetSportConfig_pb'\nimport { GetSportConfigReqSchema } from '../grpcWeb/grpc/cms/GetSportConfig_pb'\nimport type { GetSportTodayMatchRes } from '../grpcWeb/grpc/cms/GetSportTodayMatch_pb'\nimport { GetSportTodayMatchReqSchema } from '../grpcWeb/grpc/cms/GetSportTodayMatch_pb'\nimport { ReadEventPopupReqSchema } from '../grpcWeb/grpc/cms/ReadEventPopup_pb'\nimport { ReadPopupReqSchema } from '../grpcWeb/grpc/cms/ReadPopup_pb'\nimport type { SearchGameRes } from '../grpcWeb/grpc/cms/SearchGame_pb'\nimport { SearchGameReqSchema } from '../grpcWeb/grpc/cms/SearchGame_pb'\nimport type { SearchGameV2Res } from '../grpcWeb/grpc/cms/SearchGameV2_pb'\nimport { SearchGameV2ReqSchema } from '../grpcWeb/grpc/cms/SearchGameV2_pb'\nimport type { BaseResponse } from '../grpcWeb/grpc/common/Common_pb'\n\nexport const cmsEndpoints = {\n getPageResource: defineEndpoint<MessageInit<typeof PageResourceReqSchema>, PageResourceRes>({\n id: 'cms.getPageResource',\n transport: 'grpc',\n grpc: {\n service: CmsFrontendService,\n methodName: 'getPageResource',\n requestSchema: PageResourceReqSchema,\n },\n }),\n getPageGameList: defineEndpointGroup<MessageInit<typeof PageGameListReqSchema>, PageGameListRes>({\n id: 'cms.getPageGameList',\n defaultTransport: 'grpc',\n transports: {\n grpc: {\n service: CmsFrontendService,\n methodName: 'getPageGameList',\n requestSchema: PageGameListReqSchema,\n },\n ws: {\n service: 'cms',\n functionName: 'getPageGameList',\n },\n },\n }),\n getJackpotResources: defineEndpoint<\n MessageInit<typeof JackpotResourcesReqSchema>,\n JackpotResourcesRes\n >({\n id: 'cms.getJackpotResources',\n transport: 'grpc',\n grpc: {\n service: CmsFrontendService,\n methodName: 'getJackpotResources',\n requestSchema: JackpotResourcesReqSchema,\n },\n }),\n readPopup: defineEndpoint<MessageInit<typeof ReadPopupReqSchema>, BaseResponse>({\n id: 'cms.readPopup',\n transport: 'grpc',\n grpc: {\n service: CmsFrontendService,\n methodName: 'readPopup',\n requestSchema: ReadPopupReqSchema,\n },\n }),\n readEventPopup: defineEndpoint<MessageInit<typeof ReadEventPopupReqSchema>, BaseResponse>({\n id: 'cms.readEventPopup',\n transport: 'grpc',\n grpc: {\n service: CmsFrontendService,\n methodName: 'readEventPopup',\n requestSchema: ReadEventPopupReqSchema,\n },\n }),\n getAmbassadorConfig: defineEndpoint<\n MessageInit<typeof AmbassadorConfigReqSchema>,\n AmbassadorConfigRes\n >({\n id: 'cms.getAmbassadorConfig',\n transport: 'grpc',\n grpc: {\n service: CmsFrontendService,\n methodName: 'getAmbassadorConfig',\n requestSchema: AmbassadorConfigReqSchema,\n },\n }),\n getAmbassadorConfigDetail: defineEndpoint<\n MessageInit<typeof GetAmbassadorConfigDetailReqSchema>,\n GetAmbassadorConfigDetailRes\n >({\n id: 'cms.getAmbassadorConfigDetail',\n transport: 'grpc',\n grpc: {\n service: CmsFrontendService,\n methodName: 'getAmbassadorConfigDetail',\n requestSchema: GetAmbassadorConfigDetailReqSchema,\n },\n }),\n searchGame: defineEndpoint<MessageInit<typeof SearchGameReqSchema>, SearchGameRes>({\n id: 'cms.searchGame',\n transport: 'grpc',\n grpc: {\n service: CmsFrontendService,\n methodName: 'searchGame',\n requestSchema: SearchGameReqSchema,\n },\n }),\n searchGameV2: defineEndpoint<MessageInit<typeof SearchGameV2ReqSchema>, SearchGameV2Res>({\n id: 'cms.searchGameV2',\n transport: 'grpc',\n grpc: {\n service: CmsFrontendService,\n methodName: 'searchGameV2',\n requestSchema: SearchGameV2ReqSchema,\n },\n }),\n getSportConfig: defineEndpoint<MessageInit<typeof GetSportConfigReqSchema>, GetSportConfigRes>({\n id: 'cms.getSportConfig',\n transport: 'grpc',\n grpc: {\n service: CmsFrontendService,\n methodName: 'getSportConfig',\n requestSchema: GetSportConfigReqSchema,\n },\n }),\n getSportTodayMatch: defineEndpoint<\n MessageInit<typeof GetSportTodayMatchReqSchema>,\n GetSportTodayMatchRes\n >({\n id: 'cms.getSportTodayMatch',\n transport: 'grpc',\n grpc: {\n service: CmsFrontendService,\n methodName: 'getSportTodayMatch',\n requestSchema: GetSportTodayMatchReqSchema,\n },\n }),\n getGameSuggestions: defineEndpoint<\n MessageInit<typeof GetGameSuggestionsReqSchema>,\n GetGameSuggestionsRes\n >({\n id: 'cms.getGameSuggestions',\n transport: 'grpc',\n grpc: {\n service: CmsFrontendService,\n methodName: 'getGameSuggestions',\n requestSchema: GetGameSuggestionsReqSchema,\n },\n }),\n} as const\n","import { platformEndpoints } from './platform'\nimport { adminEndpoints } from './admin'\nimport { cmsEndpoints } from './cms'\n\nexport * from './endpoint'\nexport * from './platform'\nexport * from './admin'\nexport * from './cms'\n\nexport const apiMap = {\n platform: platformEndpoints,\n admin: adminEndpoints,\n cms: cmsEndpoints,\n} as const\n\nexport type ApiMap = typeof apiMap\n","import type { CallOptions } from '@connectrpc/connect'\nimport type { WsRequestOptions } from '../client/wsClient'\nimport type { WsRpcClient } from '../client/wsRpcClient'\nimport type { UnifiedApiClient } from '../client/unifiedApiClient'\nimport { apiMap } from '../spec'\nimport type { ApiMap, EndpointGroup, EndpointSpec, TransportKind } from '../spec'\nimport type { authService } from '../modules/auth'\nimport type { packetService } from '../modules/packet'\nimport type { paymentService } from '../modules/payment'\nimport type { playerService } from '../modules/player'\nimport type { promotionService } from '../modules/promotion'\nimport type { recommendService } from '../modules/recommend'\nimport type { riskcontrolService } from '../modules/riskcontrol'\nimport type { userEngagementService } from '../modules/userEngagement'\n\nlet serviceInstances: Record<string, any> = {}\nlet rpcClient: WsRpcClient | undefined\nlet unifiedClient: UnifiedApiClient | undefined\nlet endpointRegistry: Map<string, Map<TransportKind, EndpointSpec<any, any>>> = new Map()\nlet endpointDefaultTransports: Map<string, TransportKind | 'auto'> = new Map()\nlet defaultTransport: TransportKind | 'auto' = 'auto'\nlet transportState: { hasHttp: boolean; hasWs: boolean; hasGrpc: boolean } = {\n hasHttp: false,\n hasWs: false,\n hasGrpc: false,\n}\n\nexport function resetRoutingState() {\n serviceInstances = {}\n rpcClient = undefined\n unifiedClient = undefined\n endpointRegistry.clear()\n endpointDefaultTransports.clear()\n defaultTransport = 'auto'\n transportState = { hasHttp: false, hasWs: false, hasGrpc: false }\n}\n\nexport function setServiceInstances(instances: Record<string, any>) {\n serviceInstances = instances\n}\n\nexport function setRpcClient(client: WsRpcClient | undefined) {\n rpcClient = client\n}\n\nexport function setUnifiedClient(client: UnifiedApiClient | undefined) {\n unifiedClient = client\n}\n\nexport function setTransportState(state: { hasHttp: boolean; hasWs: boolean; hasGrpc: boolean }) {\n transportState = state\n}\n\nexport function setDefaultTransport(transport: TransportKind | 'auto') {\n defaultTransport = transport\n}\n\nfunction makeEndpointKey(service: string, functionName: string): string {\n return `${service}:${functionName}`\n}\n\nfunction isEndpointSpec(value: unknown): value is EndpointSpec<any, any> {\n return !!value && typeof value === 'object' && 'transport' in (value as any)\n}\n\nfunction isEndpointGroup(value: unknown): value is EndpointGroup<any, any> {\n return !!value && typeof value === 'object' && 'transports' in (value as any)\n}\n\nfunction registerEndpointVariant(\n service: string,\n functionName: string,\n endpoint: EndpointSpec<any, any>,\n) {\n const key = makeEndpointKey(service, functionName)\n let byTransport = endpointRegistry.get(key)\n if (!byTransport) {\n byTransport = new Map()\n endpointRegistry.set(key, byTransport)\n }\n byTransport.set(endpoint.transport, endpoint)\n}\n\nexport function rebuildEndpointRegistry() {\n endpointRegistry = new Map()\n endpointDefaultTransports = new Map()\n for (const [serviceName, service] of Object.entries(apiMap as Record<string, any>)) {\n for (const [functionName, endpoint] of Object.entries(service as Record<string, any>)) {\n if (isEndpointSpec(endpoint)) {\n registerEndpointVariant(serviceName, functionName, endpoint)\n continue\n }\n if (isEndpointGroup(endpoint)) {\n if (endpoint.defaultTransport) {\n endpointDefaultTransports.set(\n makeEndpointKey(serviceName, functionName),\n endpoint.defaultTransport,\n )\n }\n for (const [transport, config] of Object.entries(endpoint.transports ?? {})) {\n if (!config) continue\n if (transport === 'http') {\n registerEndpointVariant(serviceName, functionName, {\n id: endpoint.id,\n transport: 'http',\n http: config as any,\n request: (endpoint as any).request,\n response: (endpoint as any).response,\n })\n } else if (transport === 'ws') {\n registerEndpointVariant(serviceName, functionName, {\n id: endpoint.id,\n transport: 'ws',\n ws: config as any,\n request: (endpoint as any).request,\n response: (endpoint as any).response,\n })\n } else if (transport === 'grpc') {\n registerEndpointVariant(serviceName, functionName, {\n id: endpoint.id,\n transport: 'grpc',\n grpc: config as any,\n request: (endpoint as any).request,\n response: (endpoint as any).response,\n })\n }\n }\n continue\n }\n }\n }\n}\n\ntype EndpointRequest<TEndpoint> =\n TEndpoint extends EndpointSpec<infer TReq, any>\n ? TReq\n : TEndpoint extends EndpointGroup<infer TReq, any>\n ? TReq\n : never\ntype EndpointResponse<TEndpoint> =\n TEndpoint extends EndpointSpec<any, infer TRes>\n ? TRes\n : TEndpoint extends EndpointGroup<any, infer TRes>\n ? TRes\n : never\ntype ApiServiceName = Extract<keyof ApiMap, string>\ntype ApiFunctionName<TService extends ApiServiceName> = Extract<keyof ApiMap[TService], string>\n\ntype SdkServices = {\n auth: ReturnType<typeof authService>\n packet: ReturnType<typeof packetService>\n payment: ReturnType<typeof paymentService>\n player: ReturnType<typeof playerService>\n promotion: ReturnType<typeof promotionService>\n recommend: ReturnType<typeof recommendService>\n riskcontrol: ReturnType<typeof riskcontrolService>\n userEngagement: ReturnType<typeof userEngagementService>\n}\n\ntype SdkServiceName = keyof SdkServices\ntype AnyFn = (...args: any[]) => any\ntype FunctionKeys<T> = { [K in keyof T]-?: T[K] extends AnyFn ? K : never }[keyof T]\ntype SdkFunctionName<TService extends SdkServiceName> = FunctionKeys<SdkServices[TService]>\ntype ServiceFn<\n TService extends SdkServiceName,\n TFunctionName extends SdkFunctionName<TService>,\n> = Extract<SdkServices[TService][TFunctionName], AnyFn>\ntype SecondParam<TFn extends AnyFn> = Parameters<TFn> extends [any, infer B, ...any[]] ? B : never\n\nexport function requestApi<\n TService extends ApiServiceName,\n TFunctionName extends ApiFunctionName<TService>,\n>(args: {\n service: TService\n functionName: TFunctionName\n transport?: TransportKind | 'auto'\n requestParam?: EndpointRequest<ApiMap[TService][TFunctionName]>\n meta?: Record<string, any>\n wsOptions?: WsRequestOptions<EndpointResponse<ApiMap[TService][TFunctionName]>>\n callOptions?: CallOptions\n}): Promise<EndpointResponse<ApiMap[TService][TFunctionName]>>\nexport function requestApi<\n TService extends SdkServiceName,\n TFunctionName extends SdkFunctionName<TService>,\n>(args: {\n service: TService\n functionName: TFunctionName\n transport?: TransportKind | 'auto'\n requestParam: Parameters<ServiceFn<TService, TFunctionName>>[0]\n callOptions?: SecondParam<ServiceFn<TService, TFunctionName>> extends CallOptions\n ? CallOptions\n : never\n}): ReturnType<ServiceFn<TService, TFunctionName>>\nexport function requestApi<TReq = any, TRes = any>(args: {\n service: string\n functionName: string\n transport?: TransportKind | 'auto'\n requestParam?: TReq\n wsOptions?: WsRequestOptions<TRes>\n callOptions?: CallOptions\n meta?: Record<string, any>\n}): Promise<TRes>\nexport function requestApi(args: {\n service: string\n functionName: string\n transport?: TransportKind | 'auto'\n requestParam?: any\n wsOptions?: WsRequestOptions<any>\n callOptions?: CallOptions\n meta?: Record<string, any>\n}): any {\n const key = makeEndpointKey(args.service, args.functionName)\n const endpointVariants = endpointRegistry.get(key)\n\n if (endpointVariants) {\n if (!unifiedClient) {\n throw new Error('SDK not initialized. Please call initSDK first.')\n }\n const specDefaultTransport = endpointDefaultTransports.get(key)\n const endpoint = pickEndpoint(\n endpointVariants,\n args.transport,\n specDefaultTransport,\n args.service,\n args.functionName,\n )\n if (endpoint.transport === 'grpc' && !transportState.hasGrpc) {\n throw new Error('SDK not initialized. Please call initSDK with grpc config.')\n }\n if (endpoint.transport === 'ws' && !transportState.hasWs) {\n throw new Error('SDK not initialized. Please call initSDK with ws config.')\n }\n if (endpoint.transport === 'http' && !transportState.hasHttp) {\n throw new Error('SDK not initialized. Please call initSDK with http config.')\n }\n\n const meta =\n args.callOptions || args.wsOptions\n ? {\n ...(args.meta ?? {}),\n ...(args.callOptions ? { callOptions: args.callOptions } : {}),\n ...(args.wsOptions ? { wsOptions: args.wsOptions } : {}),\n }\n : args.meta\n\n return unifiedClient.call(endpoint, args.requestParam, meta)\n }\n\n const serviceInstance = (serviceInstances as any)[args.service]\n const method = serviceInstance?.[args.functionName]\n if (typeof method === 'function') {\n if (args.callOptions !== undefined) {\n return method(args.requestParam, args.callOptions)\n }\n return method(args.requestParam)\n }\n\n if (!rpcClient) {\n throw new Error('SDK not initialized. Please call initSDK first.')\n }\n\n return rpcClient.call(args.functionName, args.service, args.requestParam, args.wsOptions)\n}\n\nexport { requestApi as requestApiSpec, requestApi as callApi }\n\nfunction pickEndpoint(\n variants: Map<TransportKind, EndpointSpec<any, any>>,\n transport: TransportKind | 'auto' | undefined,\n specDefaultTransport: TransportKind | 'auto' | undefined,\n service: string,\n functionName: string,\n): EndpointSpec<any, any> {\n const resolvedTransport = transport ?? specDefaultTransport ?? defaultTransport\n\n if (resolvedTransport !== 'auto') {\n const found = variants.get(resolvedTransport)\n if (!found) {\n throw new Error(\n `Endpoint transport not found: ${service}.${functionName} (${resolvedTransport}). Available: ${Array.from(\n variants.keys(),\n ).join(', ')}`,\n )\n }\n return found\n }\n\n if (transportState.hasGrpc && variants.has('grpc')) return variants.get('grpc') as any\n if (transportState.hasWs && variants.has('ws')) return variants.get('ws') as any\n if (transportState.hasHttp && variants.has('http')) return variants.get('http') as any\n const fallback = variants.values().next().value\n if (!fallback) {\n throw new Error(`Endpoint not found: ${service}.${functionName}`)\n }\n return fallback\n}\n","export const fetchGuid = () => {\n let guid = getLocalItem('uKey')\n console.log('fetchGuid', JSON.stringify(guid))\n if (!guid) {\n guid = generateGuid()\n setLocalItem('uKey', maskingGuid(true, guid))\n } else {\n guid = maskingGuid(false, null)\n }\n return guid\n}\n\nconst generateGuid = () => {\n return '10000000-1000-4000-8000-100000000000'.replace(/[018]/g, (c) =>\n (+c ^ (crypto.getRandomValues(new Uint8Array(1))[0] & (15 >> (+c / 4)))).toString(16),\n )\n}\n\nconst maskingGuid = (isMask: boolean, oriUKey: string | undefined | null) => {\n let _uKey2\n let uKey = oriUKey || getLocalItem('uKey')\n if (isMask) {\n let _uKey\n uKey = ((_uKey = uKey) == null ? void 0 : _uKey.replace(/-/g, '')) || ''\n const _buffer = new Uint8Array(uKey.length / 2)\n for (let i = 0; i < uKey.length; i += 2) {\n _buffer[i / 2] = parseInt(uKey.substr(i, 2), 16)\n }\n // TS-safe 写法\n return btoa(String.fromCharCode.apply(null, Array.from(_buffer)))\n }\n uKey = ((_uKey2 = uKey) == null ? void 0 : _uKey2.replace(/\"/g, '')) || ''\n const buffer = atob(uKey)\n const hex = Array.prototype.map\n .call(\n new Uint8Array(buffer.length).map((_, i) => buffer.charCodeAt(i)),\n (byte) => ('0' + (byte & 0xff).toString(16)).slice(-2),\n )\n .join('')\n return hex.replace(/^(.{8})(.{4})(.{4})(.{4})(.{12})$/, '$1-$2-$3-$4-$5')\n}\n\nconst getLocalItem = (key: string) => {\n if (typeof window !== 'undefined') {\n return window.localStorage.getItem(key)\n }\n}\n\nconst setLocalItem = (key: string, val: any) => {\n if (typeof window !== 'undefined') {\n window.localStorage.setItem(key, val)\n }\n}\n","import { RequestApi, RequestApiConfig } from './client/requestApi'\nimport { WsRpcClient } from './client/wsRpcClient'\nimport { UnifiedApiClient, normalizeApiError } from './client/unifiedApiClient'\nimport { createAuthInterceptor, createLogInterceptor } from './client/interceptors'\nimport { authService } from './modules/auth'\nimport { packetService } from './modules/packet'\nimport { paymentService } from './modules/payment'\nimport { playerService } from './modules/player'\nimport { promotionService } from './modules/promotion'\nimport { recommendService } from './modules/recommend'\nimport { riskcontrolService } from './modules/riskcontrol'\nimport { userEngagementService } from './modules/userEngagement'\nimport type { CallOptions } from '@connectrpc/connect'\nimport { WsEvent, type WsNotifyCenter, type WsRequestOptions } from './client/wsClient'\nimport { apiMap } from './spec'\nimport type { ApiMap, EndpointGroup, EndpointSpec, TransportKind } from './spec'\nimport type { ApiError } from './client/unifiedApiClient'\nimport {\n rebuildEndpointRegistry,\n requestApi,\n resetRoutingState,\n setDefaultTransport,\n setRpcClient,\n setServiceInstances,\n setTransportState,\n setUnifiedClient,\n} from './routing/router'\nexport { callApi, requestApi, requestApiSpec } from './routing/router'\n\n// export * from './client/wsClient'\n// export * from './client/httpClient'\n// export * from './client/grpcClient'\n// export * from './client/requestApi'\n// export * from './client/wsRpcClient'\n// export * from './client/unifiedApiClient'\n// export * from './client/interceptors'\n// export * from './modules/admin'\n// export * from './modules/auth'\n// export * from './modules/cms'\n// export * from './modules/packet'\n// export * from './modules/payment'\n// export * from './modules/platform'\n// export * from './modules/player'\n// export * from './modules/promotion'\n// export * from './modules/recommend'\n// export * from './modules/riskcontrol'\n// export * from './modules/userEngagement'\n// export * from './spec'\n\nexport { fetchGuid } from './utils/uniqueKey'\n\nlet api: RequestApi | undefined\nlet apiErrorCenter: ApiErrorCenter | undefined\nlet notifyCenter: NotifyCenter | undefined\nconst noopOff = () => {}\nconst wsStatusType = 'ws:status'\nlet wsStatusOffs: Array<() => void> = []\nlet wsStatusSnapshot: WsStatusPayload | undefined\n\nexport type WsStatusState =\n | 'connected'\n | 'disconnected'\n | 'reconnecting'\n | 'reconnect_failed'\n | 'error'\n\nexport type WsStatusPayload =\n | { state: 'connected'; readyState?: number }\n | { state: 'disconnected'; code?: number; reason?: string; readyState?: number }\n | {\n state: 'reconnecting'\n attempt?: number\n maxRetries?: number\n interval?: number\n readyState?: number\n }\n | { state: 'reconnect_failed'; readyState?: number }\n | { state: 'error'; error?: unknown; readyState?: number }\n\nexport function getWsSnapshot(): {\n readyState?: number\n isConnected: boolean\n status?: WsStatusPayload\n} {\n return {\n readyState: api?.ws ? api.ws.state : undefined,\n isConnected: api?.ws ? api.ws.isConnected : false,\n status: wsStatusSnapshot,\n }\n}\n\nfunction clearWsStatusBridge() {\n for (const off of wsStatusOffs) {\n try {\n off()\n } catch {\n void 0\n }\n }\n wsStatusOffs = []\n}\n\ntype Next = () => void | Promise<void>\ntype Middleware<T, Ctx> = (value: T, ctx: Ctx, next: Next) => any\n\nclass Pipeline<T, Ctx> {\n private handlers: Middleware<T, Ctx>[] = []\n\n use(handler: Middleware<T, Ctx>) {\n this.handlers.push(handler)\n return () => {\n this.handlers = this.handlers.filter((h) => h !== handler)\n }\n }\n\n clear() {\n this.handlers = []\n }\n\n async run(value: T, ctx: Ctx) {\n let i = 0\n const next: Next = async () => {\n const handler = this.handlers[i++]\n if (!handler) return\n return await handler(value, ctx, next)\n }\n return await next()\n }\n}\n\nexport type ApiErrorMiddleware = Middleware<ApiError, { source?: string }>\n\nclass ApiErrorCenter {\n private pipeline = new Pipeline<ApiError, { source?: string }>()\n\n use(handler: ApiErrorMiddleware) {\n return this.pipeline.use(async (error, ctx, next) => {\n try {\n return await handler(error, ctx, next)\n } catch (e) {\n console.warn('ApiError middleware threw', e)\n return await next()\n }\n })\n }\n\n emit(error: ApiError, source?: string) {\n return this.pipeline.run(error, { source }).catch((e) => {\n console.warn('ApiError emit failed', e)\n })\n }\n\n clear() {\n this.pipeline.clear()\n }\n}\n\nexport const apiError = {\n use(handler: ApiErrorMiddleware) {\n if (!apiErrorCenter) {\n console.warn('SDK not initialized. apiError.use is a no-op.')\n return noopOff\n }\n return apiErrorCenter.use(handler)\n },\n emit(error: ApiError, source?: string) {\n if (!apiErrorCenter) {\n console.warn('SDK not initialized. apiError.emit is a no-op.')\n return\n }\n return apiErrorCenter.emit(error, source)\n },\n}\n\nexport type NotifyMiddleware<T = any> = Middleware<T, { type: string }>\n\nclass NotifyChannel<T = any> {\n private pipeline = new Pipeline<T, { type: string }>()\n private offWs?: () => void\n\n constructor(\n private type: string,\n private wsNotify?: WsNotifyCenter,\n ) {}\n\n private ensureAttached() {\n if (!this.wsNotify) return\n if (this.offWs) return\n this.offWs = this.wsNotify.on(this.type, (payload: any) => {\n void this.pipeline.run(payload as T, { type: this.type }).catch((e) => {\n console.warn(`Notify pipeline threw: ${this.type}`, e)\n })\n })\n }\n\n use(handler: NotifyMiddleware<T>) {\n this.ensureAttached()\n return this.pipeline.use(handler)\n }\n\n subscribe(listener: (payload: T) => void) {\n this.ensureAttached()\n return this.pipeline.use(async (value, _ctx, next) => {\n try {\n listener(value)\n } catch (e) {\n console.warn(`Notify subscriber threw: ${this.type}`, e)\n }\n return await next()\n })\n }\n\n emit(payload: T) {\n return this.pipeline.run(payload, { type: this.type }).catch((e) => {\n console.warn(`Notify emit failed: ${this.type}`, e)\n })\n }\n\n destroy() {\n if (this.offWs) {\n this.offWs()\n this.offWs = undefined\n }\n this.pipeline.clear()\n }\n}\n\nclass NotifyCenter {\n private channels = new Map<string, NotifyChannel<any>>()\n\n constructor(private wsNotify?: WsNotifyCenter) {}\n\n channel<T = any>(type: string): NotifyChannel<T> {\n const existing = this.channels.get(type)\n if (existing) return existing as NotifyChannel<T>\n const created = new NotifyChannel<T>(type, this.wsNotify)\n this.channels.set(type, created as NotifyChannel<any>)\n return created\n }\n\n destroy() {\n for (const channel of this.channels.values()) {\n channel.destroy()\n }\n this.channels.clear()\n }\n}\n\nexport function notify<T = any>(type: string): NotifyChannel<T> {\n if (!notifyCenter) {\n console.warn(`SDK not initialized. notify('${type}') returns a dummy channel.`)\n return {\n use: () => noopOff,\n subscribe: () => noopOff,\n emit: () => {},\n destroy: () => {},\n } as unknown as NotifyChannel<T>\n }\n return notifyCenter.channel<T>(type)\n}\n\n/**\n * 销毁 SDK 实例,释放资源\n * - 关闭 WS 连接\n * - 清空全局状态\n * - 重置 registry\n */\nexport function destroySDK() {\n if (api?.ws) {\n try {\n api.ws.disconnect()\n } catch (e) {\n console.warn('Failed to disconnect WS', e)\n }\n }\n\n api = undefined\n resetRoutingState()\n apiErrorCenter?.clear()\n apiErrorCenter = undefined\n notifyCenter?.destroy()\n notifyCenter = undefined\n clearWsStatusBridge()\n wsStatusSnapshot = undefined\n}\n\ntype EndpointRequest<TEndpoint> =\n TEndpoint extends EndpointSpec<infer TReq, any>\n ? TReq\n : TEndpoint extends EndpointGroup<infer TReq, any>\n ? TReq\n : never\ntype EndpointResponse<TEndpoint> =\n TEndpoint extends EndpointSpec<any, infer TRes>\n ? TRes\n : TEndpoint extends EndpointGroup<any, infer TRes>\n ? TRes\n : never\ntype ApiServiceName = Extract<keyof ApiMap, string>\ntype ApiFunctionName<TService extends ApiServiceName> = Extract<keyof ApiMap[TService], string>\ntype ApiEndpoint<\n TService extends ApiServiceName,\n TFunctionName extends ApiFunctionName<TService>,\n> = ApiMap[TService][TFunctionName]\ntype ApiTransport<\n TService extends ApiServiceName,\n TFunctionName extends ApiFunctionName<TService>,\n> =\n ApiEndpoint<TService, TFunctionName> extends EndpointSpec<any, any>\n ? ApiEndpoint<TService, TFunctionName>['transport']\n : ApiEndpoint<TService, TFunctionName> extends EndpointGroup<any, any>\n ? 'multi'\n : never\ntype ApiWsOptions<\n TService extends ApiServiceName,\n TFunctionName extends ApiFunctionName<TService>,\n> = WsRequestOptions<EndpointResponse<ApiEndpoint<TService, TFunctionName>>>\ntype ApiMultiOptions<\n TService extends ApiServiceName,\n TFunctionName extends ApiFunctionName<TService>,\n> = {\n transport?: TransportKind | 'auto'\n wsOptions?: ApiWsOptions<TService, TFunctionName>\n callOptions?: CallOptions\n meta?: Record<string, any>\n}\ntype ApiMethod<TService extends ApiServiceName, TFunctionName extends ApiFunctionName<TService>> =\n ApiTransport<TService, TFunctionName> extends 'grpc'\n ? (\n payload?: EndpointRequest<ApiEndpoint<TService, TFunctionName>>,\n options?: CallOptions,\n ) => Promise<EndpointResponse<ApiEndpoint<TService, TFunctionName>>>\n : ApiTransport<TService, TFunctionName> extends 'ws'\n ? (\n payload?: EndpointRequest<ApiEndpoint<TService, TFunctionName>>,\n options?: ApiWsOptions<TService, TFunctionName>,\n ) => Promise<EndpointResponse<ApiEndpoint<TService, TFunctionName>>>\n : ApiTransport<TService, TFunctionName> extends 'multi'\n ? (\n payload?: EndpointRequest<ApiEndpoint<TService, TFunctionName>>,\n options?: ApiMultiOptions<TService, TFunctionName>,\n ) => Promise<EndpointResponse<ApiEndpoint<TService, TFunctionName>>>\n : (\n payload?: EndpointRequest<ApiEndpoint<TService, TFunctionName>>,\n ) => Promise<EndpointResponse<ApiEndpoint<TService, TFunctionName>>>\ntype ApiServiceClient<TService extends ApiServiceName> = {\n transport: ApiTransport<TService, ApiFunctionName<TService>>\n} & {\n [K in ApiFunctionName<TService>]: ApiMethod<TService, K>\n}\n\ntype SdkServices = {\n auth: ReturnType<typeof authService>\n packet: ReturnType<typeof packetService>\n payment: ReturnType<typeof paymentService>\n player: ReturnType<typeof playerService>\n promotion: ReturnType<typeof promotionService>\n recommend: ReturnType<typeof recommendService>\n riskcontrol: ReturnType<typeof riskcontrolService>\n userEngagement: ReturnType<typeof userEngagementService>\n}\n\n/**\n * 初始化 SDK\n *\n * ⚠️ SDK is a singleton.\n * Calling initSDK multiple times will override previous state.\n *\n * @param config SDK 配置\n * @returns RequestApi 实例\n */\nexport function initSDK(config: RequestApiConfig): {\n api: RequestApi\n rpc?: WsRpcClient\n client?: UnifiedApiClient\n wsNotify?: WsNotifyCenter\n apiError: typeof apiError\n notify: typeof notify\n auth?: ReturnType<typeof authService>\n admin?: ApiServiceClient<'admin'>\n cms?: ApiServiceClient<'cms'>\n packet?: ReturnType<typeof packetService>\n payment?: ReturnType<typeof paymentService>\n platform?: ApiServiceClient<'platform'>\n player?: ReturnType<typeof playerService>\n promotion?: ReturnType<typeof promotionService>\n recommend?: ReturnType<typeof recommendService>\n riskcontrol?: ReturnType<typeof riskcontrolService>\n userEngagement?: ReturnType<typeof userEngagementService>\n} {\n clearWsStatusBridge()\n wsStatusSnapshot = undefined\n /**\n * 业务意图:initSDK 是唯一的“装配点”:\n * - 创建三种 transport(HTTP/WS/gRPC)并注入统一鉴权/日志\n * - 建立 WS 连接(只在这里 connect,避免重复建连)\n * - 建立统一调用入口 unifiedClient,用 EndpointSpec 做路由\n * - 对部分“老模块式”服务(auth/packet/...)保留实例,兼容历史调用方式\n */\n api = new RequestApi({\n ...config,\n })\n resetRoutingState()\n setTransportState({ hasHttp: !!config.http, hasWs: !!config.ws, hasGrpc: !!config.grpc?.baseUrl })\n setDefaultTransport(config.defaultTransport ?? 'auto')\n rebuildEndpointRegistry()\n\n config.logger?.info?.('sdk.initialized', {\n hasHttp: !!config.http,\n hasWs: !!config.ws,\n hasGrpc: !!config.grpc,\n })\n const sdk: {\n rpc?: WsRpcClient\n client?: UnifiedApiClient\n wsNotify?: WsNotifyCenter\n apiError: typeof apiError\n notify: typeof notify\n auth?: ReturnType<typeof authService>\n admin?: ApiServiceClient<'admin'>\n cms?: ApiServiceClient<'cms'>\n packet?: ReturnType<typeof packetService>\n payment?: ReturnType<typeof paymentService>\n platform?: ApiServiceClient<'platform'>\n player?: ReturnType<typeof playerService>\n promotion?: ReturnType<typeof promotionService>\n recommend?: ReturnType<typeof recommendService>\n riskcontrol?: ReturnType<typeof riskcontrolService>\n userEngagement?: ReturnType<typeof userEngagementService>\n } = { apiError, notify }\n\n apiErrorCenter = new ApiErrorCenter()\n if (config.onApiError) {\n apiErrorCenter.use((error, _ctx, next) => {\n config.onApiError?.(error)\n return next()\n })\n }\n notifyCenter = new NotifyCenter(config.ws ? api.ws.notify : undefined)\n if (config.ws) {\n const channel = notifyCenter.channel<WsStatusPayload>(wsStatusType)\n const emitStatus = (payload: WsStatusPayload) => {\n wsStatusSnapshot = payload\n void channel.emit(payload)\n }\n\n wsStatusOffs.push(\n api.ws.on(WsEvent.OPEN, () => {\n emitStatus({ state: 'connected', readyState: api?.ws?.state })\n }),\n )\n wsStatusOffs.push(\n api.ws.on(WsEvent.CLOSE, (e: any) => {\n emitStatus({\n state: 'disconnected',\n code: e?.code,\n reason: e?.reason,\n readyState: api?.ws?.state,\n })\n }),\n )\n wsStatusOffs.push(\n api.ws.on(WsEvent.ERROR, (e: any) => {\n emitStatus({ state: 'error', error: e, readyState: api?.ws?.state })\n }),\n )\n wsStatusOffs.push(\n api.ws.on(WsEvent.RECONNECTING, (e: any) => {\n emitStatus({\n state: 'reconnecting',\n attempt: e?.attempt,\n maxRetries: e?.maxRetries,\n interval: e?.interval,\n readyState: api?.ws?.state,\n })\n }),\n )\n wsStatusOffs.push(\n api.ws.on(WsEvent.RECONNECT_FAILED, () => {\n emitStatus({ state: 'reconnect_failed', readyState: api?.ws?.state })\n }),\n )\n\n emitStatus({\n state: api.ws.isConnected ? 'connected' : 'disconnected',\n readyState: api.ws.state,\n })\n }\n\n const rpc = new WsRpcClient(api.ws, {\n onError: (err, source) => {\n if (!apiErrorCenter) return\n const apiErr = normalizeApiError(err, {\n transport: 'ws',\n endpointId: `${source.service}.${source.functionName}`,\n service: source.service,\n functionName: source.functionName,\n })\n void apiErrorCenter.emit(apiErr, 'ws')\n },\n })\n if (config.ws) {\n /**\n * WS 只在 initSDK 时触发 connect:\n * - sdk.rpc 暴露给外部用于订阅/调试等\n * - rpcClient 用于 requestApi 的兜底调用(仅在 endpointRegistry 未命中时使用)\n */\n sdk.rpc = rpc\n setRpcClient(rpc)\n api.ws.connect()\n } else {\n setRpcClient(undefined)\n }\n sdk.wsNotify = config.ws ? api.ws.notify : undefined\n sdk.client = new UnifiedApiClient(\n { http: api.http, rpc, grpc: api.grpc },\n {\n onError: (error) => {\n if (!apiErrorCenter) return\n void apiErrorCenter.emit(error, 'unified')\n },\n interceptors: [\n ...(config.auth?.getToken\n ? [createAuthInterceptor({ getToken: config.auth.getToken })]\n : []),\n ...(config.logger ? [createLogInterceptor({ logger: config.logger, level: 'debug' })] : []),\n ],\n },\n )\n setUnifiedClient(sdk.client)\n\n if (config.grpc?.baseUrl) {\n /**\n * 这些服务来自历史 modules/*:通常是“grpc-web 生成代码 + 少量封装”。\n * 它们不走 endpointRegistry(不是 spec 驱动),这里保留实例用于兼容旧调用。\n */\n sdk.auth = authService(api.grpc)\n sdk.packet = packetService(api.grpc)\n sdk.payment = paymentService(api.grpc)\n sdk.player = playerService(api.grpc)\n sdk.promotion = promotionService(api.grpc)\n sdk.recommend = recommendService(api.grpc)\n sdk.riskcontrol = riskcontrolService(api.grpc)\n sdk.userEngagement = userEngagementService(api.grpc)\n const serviceInstances: Partial<SdkServices> = {}\n serviceInstances.auth = sdk.auth\n serviceInstances.packet = sdk.packet\n serviceInstances.payment = sdk.payment\n serviceInstances.player = sdk.player\n serviceInstances.promotion = sdk.promotion\n serviceInstances.recommend = sdk.recommend\n serviceInstances.riskcontrol = sdk.riskcontrol\n serviceInstances.userEngagement = sdk.userEngagement\n setServiceInstances(serviceInstances as any)\n\n sdk.admin = createApiServiceClient('admin')\n sdk.cms = createApiServiceClient('cms')\n } else {\n setServiceInstances({})\n }\n\n if (config.ws) {\n /**\n * platform 目前是 WS spec 驱动的服务:\n * - createApiServiceClient 会生成“类型安全的 service client”\n * - 其内部统一走 requestApi,从而复用 unifiedClient 的拦截器/路由\n */\n sdk.platform = createApiServiceClient('platform')\n }\n\n // gRPC 客户端通常不需要显式连接,它会在第一次请求时自动处理\n // 但如果需要预热或其他初始化逻辑,可以在这里添加\n\n return {\n api: api,\n ...sdk,\n }\n}\n\n/**\n * 获取 SDK 实例\n * @returns RequestApi 实例\n * @throws Error 如果 SDK 未初始化\n */\nexport function getSDK(): RequestApi {\n if (!api) {\n throw new Error('SDK not initialized. Please call initSDK first.')\n }\n return api\n}\n\nfunction createApiServiceClient<TService extends ApiServiceName>(\n service: TService,\n): ApiServiceClient<TService> {\n /**\n * 业务意图:根据 spec(apiMap) 生成 service client:\n * - 方法名与入参/返回值都由 ApiMap 推导,调用侧拥有完整类型提示\n * - runtime 上只做一个轻量封装:把 payload/options 归一化后转交给 requestApi\n */\n const endpoints = apiMap[service] as ApiMap[TService]\n const functionNames = Object.keys(endpoints ?? {}) as ApiFunctionName<TService>[]\n /**\n * ⚠️ 这里的 transport 推导基于“首个 endpoint”的假设。\n * 如果同一个 service 下混合了 http/ws/grpc,这个字段可能不准确。\n * 建议仅用于“整个 service 统一 transport”的场景,或者不依赖此字段。\n */\n const transport =\n functionNames.length > 0\n ? (() => {\n const first = endpoints[functionNames[0]] as any\n if (first && typeof first === 'object' && 'transport' in first) {\n return (first as EndpointSpec<any, any>).transport\n }\n if (first && typeof first === 'object' && 'transports' in first) {\n return 'multi'\n }\n return undefined\n })()\n : undefined\n\n const client: Record<string, any> = { transport }\n for (const functionName of functionNames) {\n const endpoint = endpoints[functionName] as any\n\n client[functionName] = (payload?: any, options?: any) => {\n /**\n * 业务意图:对调用侧暴露“符合 transport 习惯的第二参数”:\n * - grpc:第二参是 CallOptions\n * - ws:第二参是 WsRequestOptions(timeout/filter/responseFunctionName 等)\n * - http:不暴露第二参(保持最简)\n *\n * 内部通过 requestApi 统一归并为 callOptions/wsOptions/meta,交由 UnifiedApiClient 分发。\n */\n if (endpoint && typeof endpoint === 'object' && 'transport' in endpoint) {\n if (endpoint.transport === 'grpc') {\n return requestApi({\n service,\n functionName,\n requestParam: payload,\n callOptions: options,\n } as any)\n }\n\n if (endpoint.transport === 'ws') {\n return requestApi({\n service,\n functionName,\n requestParam: payload ?? {},\n wsOptions: options,\n } as any)\n }\n\n return requestApi({\n service,\n functionName,\n requestParam: payload,\n } as any)\n }\n\n const normalized =\n options && typeof options === 'object'\n ? (options as {\n transport?: TransportKind | 'auto'\n wsOptions?: WsRequestOptions<any>\n callOptions?: CallOptions\n meta?: Record<string, any>\n })\n : undefined\n\n return requestApi({\n service,\n functionName,\n transport: normalized?.transport,\n requestParam: payload,\n wsOptions: normalized?.wsOptions,\n callOptions: normalized?.callOptions,\n meta: normalized?.meta,\n } as any)\n }\n }\n\n return client as ApiServiceClient<TService>\n}\n// export { fetchGuid }\n"],"mappings":"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","names":["create","apiError","method","create","fileDesc","enumDesc","fileDesc","messageDesc","enumDesc","fileDesc","enumDesc","fileDesc","fileDesc","fileDesc","messageDesc","enumDesc","fileDesc","messageDesc","fileDesc","messageDesc","fileDesc","messageDesc","enumDesc","fileDesc","messageDesc","fileDesc","messageDesc","fileDesc","messageDesc","fileDesc","messageDesc","fileDesc","messageDesc","enumDesc","fileDesc","fileDesc","messageDesc","fileDesc","messageDesc","fileDesc","messageDesc","fileDesc","messageDesc","fileDesc","messageDesc","fileDesc","messageDesc","fileDesc","messageDesc","fileDesc","fileDesc","serviceDesc","fileDesc","messageDesc","fileDesc","messageDesc","fileDesc","messageDesc","fileDesc","messageDesc","fileDesc","messageDesc","fileDesc","messageDesc","fileDesc","messageDesc","fileDesc","messageDesc","fileDesc","messageDesc","fileDesc","messageDesc","fileDesc","messageDesc","fileDesc","messageDesc","fileDesc","serviceDesc","fileDesc","serviceDesc","fileDesc","messageDesc","fileDesc","messageDesc","fileDesc","messageDesc","fileDesc","messageDesc","fileDesc","messageDesc","fileDesc","messageDesc","fileDesc","messageDesc","fileDesc","messageDesc","fileDesc","messageDesc","fileDesc","messageDesc","fileDesc","messageDesc","fileDesc","messageDesc","fileDesc","messageDesc","fileDesc","fileDesc","messageDesc","fileDesc","messageDesc","fileDesc","serviceDesc","fileDesc","serviceDesc","fileDesc","messageDesc","fileDesc","messageDesc","fileDesc","serviceDesc","fileDesc","serviceDesc","fileDesc","messageDesc","fileDesc","messageDesc","fileDesc","messageDesc","fileDesc","messageDesc","fileDesc","messageDesc","fileDesc","messageDesc","fileDesc","serviceDesc","fileDesc","serviceDesc","fileDesc","messageDesc","fileDesc","messageDesc","fileDesc","messageDesc","fileDesc","messageDesc","fileDesc","messageDesc","fileDesc","messageDesc","fileDesc","serviceDesc","create","fileDesc","serviceDesc","fileDesc","messageDesc","fileDesc","messageDesc","fileDesc","messageDesc","fileDesc","serviceDesc","fileDesc","serviceDesc","fileDesc","messageDesc","fileDesc","serviceDesc","fileDesc","serviceDesc","fileDesc","messageDesc","fileDesc","messageDesc","fileDesc","messageDesc","fileDesc","messageDesc","fileDesc","messageDesc","fileDesc","messageDesc","fileDesc","messageDesc","fileDesc","messageDesc","fileDesc","messageDesc","fileDesc","serviceDesc","fileDesc","serviceDesc","fileDesc","messageDesc","fileDesc","messageDesc","fileDesc","serviceDesc","fileDesc","serviceDesc","fileDesc","messageDesc","fileDesc","fileDesc","messageDesc","fileDesc","messageDesc","fileDesc","serviceDesc","fileDesc","serviceDesc","fileDesc","messageDesc","fileDesc","messageDesc","fileDesc","serviceDesc","fileDesc","serviceDesc","fileDesc","messageDesc","fileDesc","messageDesc","fileDesc","messageDesc","fileDesc","messageDesc","fileDesc","messageDesc","fileDesc","messageDesc","fileDesc","messageDesc","fileDesc","messageDesc","fileDesc","serviceDesc","fileDesc","serviceDesc","fileDesc","messageDesc","enumDesc","fileDesc","messageDesc","fileDesc","fileDesc","messageDesc","fileDesc","serviceDesc","fileDesc","serviceDesc","fileDesc","messageDesc","fileDesc","fileDesc","messageDesc","fileDesc","messageDesc","fileDesc","messageDesc","fileDesc","fileDesc","messageDesc","fileDesc","serviceDesc","fileDesc","serviceDesc","fileDesc","messageDesc","fileDesc","fileDesc","serviceDesc","fileDesc","serviceDesc","fileDesc","messageDesc","fileDesc","enumDesc","fileDesc","messageDesc","fileDesc","fileDesc","messageDesc","fileDesc","messageDesc","fileDesc","fileDesc","messageDesc","fileDesc","fileDesc","messageDesc","fileDesc","fileDesc","messageDesc","fileDesc","fileDesc","messageDesc","fileDesc","messageDesc","fileDesc","messageDesc","fileDesc","messageDesc","fileDesc","FrontendPlayerService","serviceDesc","fileDesc","serviceDesc","fileDesc","messageDesc","fileDesc","messageDesc","fileDesc","messageDesc","fileDesc","messageDesc","fileDesc","messageDesc","fileDesc","messageDesc","fileDesc","serviceDesc","fileDesc","serviceDesc","fileDesc","messageDesc","fileDesc","messageDesc","fileDesc","messageDesc","fileDesc","messageDesc","enumDesc","fileDesc","messageDesc","fileDesc","messageDesc","fileDesc","messageDesc","fileDesc","messageDesc","fileDesc","messageDesc","fileDesc","messageDesc","enumDesc","fileDesc","messageDesc","fileDesc","messageDesc","fileDesc","fileDesc","messageDesc","fileDesc","messageDesc","fileDesc","fileDesc","messageDesc","fileDesc","fileDesc","messageDesc","fileDesc","messageDesc","fileDesc","messageDesc","fileDesc","messageDesc","fileDesc","messageDesc","fileDesc","messageDesc","fileDesc","messageDesc","fileDesc","messageDesc","enumDesc","fileDesc","messageDesc","fileDesc","messageDesc","fileDesc","messageDesc","fileDesc","messageDesc","fileDesc","messageDesc","fileDesc","messageDesc","fileDesc","messageDesc","fileDesc","messageDesc","fileDesc","messageDesc","fileDesc","messageDesc","fileDesc","messageDesc","fileDesc","messageDesc","fileDesc","messageDesc","fileDesc","messageDesc","fileDesc","messageDesc","fileDesc","messageDesc","fileDesc","messageDesc","fileDesc","messageDesc","fileDesc","messageDesc","fileDesc","messageDesc","fileDesc","messageDesc","fileDesc","messageDesc","fileDesc","fileDesc","messageDesc","fileDesc","messageDesc","fileDesc","messageDesc","fileDesc","messageDesc","fileDesc","messageDesc","fileDesc","enumDesc","fileDesc","messageDesc","fileDesc","fileDesc","messageDesc","fileDesc","messageDesc","fileDesc","messageDesc","fileDesc","messageDesc","fileDesc","messageDesc","fileDesc","messageDesc","fileDesc","messageDesc","fileDesc","messageDesc","fileDesc","messageDesc","fileDesc","fileDesc","serviceDesc","FrontendPlayerService","fileDesc","serviceDesc","fileDesc","messageDesc","enumDesc","fileDesc","messageDesc","fileDesc","fileDesc","messageDesc","fileDesc","messageDesc","fileDesc","messageDesc","fileDesc","messageDesc","fileDesc","messageDesc","fileDesc","messageDesc","fileDesc","messageDesc","fileDesc","messageDesc","fileDesc","messageDesc","fileDesc","messageDesc","fileDesc","messageDesc","fileDesc","messageDesc","fileDesc","messageDesc","fileDesc","messageDesc","fileDesc","messageDesc","fileDesc","serviceDesc","fileDesc","serviceDesc","fileDesc","messageDesc","fileDesc","fileDesc","messageDesc","fileDesc","fileDesc","serviceDesc","fileDesc","serviceDesc","fileDesc","messageDesc","fileDesc","messageDesc","fileDesc","messageDesc","fileDesc","messageDesc","fileDesc","serviceDesc","fileDesc","serviceDesc","fileDesc","messageDesc","fileDesc","messageDesc","fileDesc","messageDesc","fileDesc","fileDesc","messageDesc","fileDesc","fileDesc","serviceDesc","fileDesc","serviceDesc","fileDesc","messageDesc","fileDesc","messageDesc","fileDesc","messageDesc","fileDesc","messageDesc","fileDesc","serviceDesc","fileDesc","serviceDesc","fileDesc","messageDesc","fileDesc","messageDesc","fileDesc","messageDesc","fileDesc","messageDesc","fileDesc","serviceDesc","fileDesc","serviceDesc","fileDesc","messageDesc","fileDesc","fileDesc","messageDesc","fileDesc","messageDesc","fileDesc","messageDesc","fileDesc","messageDesc","fileDesc","messageDesc","fileDesc","messageDesc","fileDesc","messageDesc","fileDesc","fileDesc","messageDesc","fileDesc","messageDesc","fileDesc","messageDesc","fileDesc","messageDesc","fileDesc","messageDesc","fileDesc","messageDesc","fileDesc","messageDesc","fileDesc","messageDesc","fileDesc","messageDesc","fileDesc","messageDesc","fileDesc","messageDesc","fileDesc","messageDesc","fileDesc","messageDesc","fileDesc","messageDesc","fileDesc","messageDesc","fileDesc","messageDesc","fileDesc","messageDesc","fileDesc","messageDesc","fileDesc","messageDesc","fileDesc","messageDesc","fileDesc","messageDesc","fileDesc","messageDesc","fileDesc","serviceDesc","fileDesc","serviceDesc","fileDesc","messageDesc","fileDesc","messageDesc","fileDesc","messageDesc","fileDesc","fileDesc","messageDesc","fileDesc","messageDesc","fileDesc","messageDesc","fileDesc","messageDesc","fileDesc","serviceDesc","fileDesc","serviceDesc","fileDesc","messageDesc","fileDesc","messageDesc","fileDesc","fileDesc","messageDesc","fileDesc","messageDesc","fileDesc","messageDesc","fileDesc","messageDesc","fileDesc","serviceDesc","fileDesc","serviceDesc","fileDesc","messageDesc","fileDesc","serviceDesc","fileDesc","serviceDesc","fileDesc","messageDesc","fileDesc","messageDesc","fileDesc","messageDesc","fileDesc","fileDesc","messageDesc","fileDesc","messageDesc","fileDesc","messageDesc","fileDesc","messageDesc","fileDesc","messageDesc","fileDesc","messageDesc","fileDesc","messageDesc","fileDesc","messageDesc","fileDesc","messageDesc","fileDesc","messageDesc","fileDesc","messageDesc","fileDesc","messageDesc","fileDesc","messageDesc","fileDesc","messageDesc","fileDesc","messageDesc","fileDesc","messageDesc","fileDesc","messageDesc","fileDesc","serviceDesc","fileDesc","serviceDesc","enumDesc","fileDesc","messageDesc","fileDesc","messageDesc","fileDesc","messageDesc","fileDesc","messageDesc","fileDesc","messageDesc","fileDesc","messageDesc","fileDesc","messageDesc","fileDesc","messageDesc","fileDesc","messageDesc","fileDesc","messageDesc","fileDesc","messageDesc","fileDesc","messageDesc","fileDesc","messageDesc","fileDesc","messageDesc","fileDesc","messageDesc","fileDesc","messageDesc","fileDesc","messageDesc","fileDesc","messageDesc","fileDesc","messageDesc","fileDesc","messageDesc","fileDesc","messageDesc","fileDesc","messageDesc","fileDesc","FrontendService","serviceDesc","FrontendService","serviceInstances"]}