{"version":3,"file":"static/js/main.2cd1eb76.js","mappings":"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","sources":["generated/smg_service_pb.js","src/serviceWorkerRegistration.js","src/assets/styles/colors.tsx","MainStyle.ts","src/lib/Div.tsx","src/lib/P.tsx","src/components/Button.tsx","generated/Smg_serviceServiceClientPb.ts","src/constants/index.tsx","src/utils/index.ts","src/utils/ServiceClient.ts","src/components/StoreContextProvider.tsx","src/components/FadeView.tsx","src/modals/TutorialModal.tsx","src/modals/HelpLinksModal.tsx","src/screens/Common/Splash/index.tsx","src/components/Input.tsx","src/modals/EmailNotExistModal.tsx","src/components/CodeVerificationInput.tsx","src/modals/OtpModal.tsx","src/screens/LoginWithPin.tsx","src/screens/Auth/SignUp/steps/CancelModal/index.tsx","src/components/Loader.tsx","src/components/ContestFrame.tsx","src/components/PayTable.tsx","src/components/SelectChallengeGradient.tsx","src/components/NewGameChallenges.tsx","src/components/DistanceChallengeItem.tsx","src/components/Golf2AcceptedBetDetails.tsx","src/components/NewHeader.tsx","src/components/ChallengeInfoCard.tsx","src/modals/SelectModal.tsx","src/components/Select.tsx","src/modals/TournamentRegistrationConfirmationModal.tsx","src/components/OpenBets.tsx","src/components/ProtectionAndDisclaimer.tsx","src/modals/ContinueAutoPlay.tsx","src/components/BottomNavigation.tsx","src/modals/AlertModal.tsx","src/screens/User/BetSlip/index.tsx","src/components/PhoneInput.tsx","src/components/Handedness.tsx","src/screens/User/Account/Tabs/Profile/index.tsx","src/components/Checkbox.tsx","src/components/OnlinePayment.tsx","src/modals/PosTerminalLoading.tsx","src/components/PosTerminal.tsx","src/modals/SavedCardsModal.tsx","src/components/SavedCards.tsx","src/components/ApplePayButton.tsx","src/components/DateTimePicker/DateTimePicker.tsx","src/screens/Auth/SignUp/steps/ContactInfo/VerifyInformationModal.tsx","src/screens/Auth/SignUp/steps/KycTerm/index.tsx","src/components/LoadingKYC.tsx","src/screens/User/Account/Tabs/Wallet/index.tsx","src/components/BonusCashInfoModal.tsx","src/components/Withdraw.tsx","src/components/AccountNavBar.tsx","src/screens/User/Account/index.tsx","src/modals/SuccessModal.tsx","src/modals/ContestEntryModal.tsx","src/components/ SupportGuideHeader.tsx","src/screens/Common/Responsible-Gaming/index.tsx","src/components/TransactionHistoryItem.tsx","src/components/TransactionHistoryHeader.tsx","src/components/SupportGuideButtonMenu.tsx","src/screens/TransactionHistoryScreen.tsx","src/screens/Common/EmailVerification/Index.tsx","src/components/TermsAndConditionsContent.tsx","src/screens/TermsAndConditionsScreen.tsx","src/screens/PrivacyPolicyScreen.tsx","src/screens/PromotionsScreen.tsx","src/modals/SelfLimitationModal.tsx","src/screens/SelfExclusionScreen.tsx","src/components/Switch.tsx","src/components/NotificationSwitch.tsx","src/screens/NotificationsScreen.tsx","src/screens/User/promos/components/PromoCard.tsx","src/screens/User/promos/components/PromoFeedbackModal.tsx","src/screens/User/promos/components/AddNewPromoCode.tsx","src/screens/User/promos/index.tsx","src/components/FilterChip.tsx","src/components/CheckMarkCheckbox.tsx","src/screens/Tournaments/componenets/TournamentsFilterModal.tsx","src/components/TournamentsFilter.tsx","src/components/TournamentHeader.tsx","src/components/PrizePool.tsx","src/components/TournamentItem.tsx","src/modals/AdditionalSurveyQuestions.tsx","src/components/JoinTournamentButton.tsx","src/screens/Tournaments/TournamentsListingScreen.tsx","src/components/RegisteredPlayersStatusHeaderCell.tsx","src/components/RegisteredPlayersStatus.tsx","src/screens/User/friends/components/YourFriendChallengeCodeForm.tsx","src/screens/TournamentDetails.tsx","src/screens/Auth/SignUp/steps/ContactInfo/SubSteps/index.tsx","src/screens/Auth/SignUp/steps/ContactInfo/index.tsx","src/screens/Auth/SignUp/steps/TermsConditions/index.tsx","src/modals/CameraModal.tsx","src/screens/Auth/SignUp/steps/IdVerification/index.tsx","src/screens/Auth/SignUp/index.tsx","src/screens/User/friends/components/ChallengeFull.tsx","src/screens/User/friends/components/FriendChallengeDetails.tsx","src/screens/User/friends/components/FriendsChallengeConfirmation.tsx","src/screens/User/friends/components/FriendChallengeDetailsForm.tsx","src/screens/User/friends/components/InvalidCodeModal.tsx","src/utils/useMaskedInput.tsx","src/modals/InsufficientFundsPopup.tsx","src/screens/User/friends/FriendsScreen.tsx","src/screens/CompletedFriendChallenges.tsx","src/screens/AllTournaments.tsx","src/components/Main.tsx","App.tsx","index.js","node_modules/moment/locale|sync|/^/.//.*$","webpack/bootstrap","webpack/runtime/amd options","webpack/runtime/chunk loaded","webpack/runtime/compat get default export","webpack/runtime/create fake namespace object","webpack/runtime/define property getters","webpack/runtime/global","webpack/runtime/hasOwnProperty shorthand","webpack/runtime/make namespace object","webpack/runtime/node module decorator","webpack/runtime/publicPath","webpack/runtime/jsonp chunk loading","webpack/startup"],"sourcesContent":["// source: smg_service.proto\n/**\n * @fileoverview\n * @enhanceable\n * @suppress {missingRequire} reports error on implicit type usages.\n * @suppress {messageConventions} JS Compiler reports an error if a variable or\n *     field starts with 'MSG_' and isn't a translatable message.\n * @public\n */\n// GENERATED CODE -- DO NOT EDIT!\n/* eslint-disable */\n// @ts-nocheck\n\nvar jspb = require('google-protobuf');\nvar goog = jspb;\nvar global = (function() { return this || window || global || self || Function('return this')(); }).call(null);\n\nvar google_protobuf_timestamp_pb = require('google-protobuf/google/protobuf/timestamp_pb.js');\ngoog.object.extend(proto, google_protobuf_timestamp_pb);\ngoog.exportSymbol('proto.qb.smg.AcceptBetReply', null, global);\ngoog.exportSymbol('proto.qb.smg.AcceptBetRequest', null, global);\ngoog.exportSymbol('proto.qb.smg.AcceptTncReply', null, global);\ngoog.exportSymbol('proto.qb.smg.AcceptTncRequest', null, global);\ngoog.exportSymbol('proto.qb.smg.ActivatePromoRequest', null, global);\ngoog.exportSymbol('proto.qb.smg.ActivatePromoResponse', null, global);\ngoog.exportSymbol('proto.qb.smg.AddFaceReply', null, global);\ngoog.exportSymbol('proto.qb.smg.AddFaceRequest', null, global);\ngoog.exportSymbol('proto.qb.smg.AdjustBetReply', null, global);\ngoog.exportSymbol('proto.qb.smg.AdjustBetRequest', null, global);\ngoog.exportSymbol('proto.qb.smg.ApproveChangePhotoRequestReply', null, global);\ngoog.exportSymbol('proto.qb.smg.ApproveChangePhotoRequestRequest', null, global);\ngoog.exportSymbol('proto.qb.smg.Bet', null, global);\ngoog.exportSymbol('proto.qb.smg.BetResolutionReply', null, global);\ngoog.exportSymbol('proto.qb.smg.BetResolutionRequest', null, global);\ngoog.exportSymbol('proto.qb.smg.Challenge', null, global);\ngoog.exportSymbol('proto.qb.smg.ChangeType', null, global);\ngoog.exportSymbol('proto.qb.smg.CheckUserEmailExistsReply', null, global);\ngoog.exportSymbol('proto.qb.smg.CheckUserEmailExistsRequest', null, global);\ngoog.exportSymbol('proto.qb.smg.CommandExecutorFRSPayload', null, global);\ngoog.exportSymbol('proto.qb.smg.CommandExecutorFRSPayload.PayloadCase', null, global);\ngoog.exportSymbol('proto.qb.smg.CommandExecutorSMGPayload', null, global);\ngoog.exportSymbol('proto.qb.smg.CommandExecutorSMGPayload.PayloadCase', null, global);\ngoog.exportSymbol('proto.qb.smg.CompareImagesRequest', null, global);\ngoog.exportSymbol('proto.qb.smg.CompareImagesResponse', null, global);\ngoog.exportSymbol('proto.qb.smg.ConfirmEmailChangeRequest', null, global);\ngoog.exportSymbol('proto.qb.smg.ConfirmEmailChangeResponse', null, global);\ngoog.exportSymbol('proto.qb.smg.ConfirmEmailReply', null, global);\ngoog.exportSymbol('proto.qb.smg.ConfirmEmailRequest', null, global);\ngoog.exportSymbol('proto.qb.smg.ConnectStationSimpleReply', null, global);\ngoog.exportSymbol('proto.qb.smg.ConnectStationSimpleRequest', null, global);\ngoog.exportSymbol('proto.qb.smg.ContactCsrReply', null, global);\ngoog.exportSymbol('proto.qb.smg.ContactCsrRequest', null, global);\ngoog.exportSymbol('proto.qb.smg.CreatePrivateTournamentReply', null, global);\ngoog.exportSymbol('proto.qb.smg.CreatePrivateTournamentRequest', null, global);\ngoog.exportSymbol('proto.qb.smg.DeactivateAccountRequest', null, global);\ngoog.exportSymbol('proto.qb.smg.DeactivateAccountResponse', null, global);\ngoog.exportSymbol('proto.qb.smg.DeleteLastActiveBeforeDateRequest', null, global);\ngoog.exportSymbol('proto.qb.smg.DeleteLastActiveBeforeDateResponse', null, global);\ngoog.exportSymbol('proto.qb.smg.DeleteUserImageRequest', null, global);\ngoog.exportSymbol('proto.qb.smg.DeleteUserImageResponse', null, global);\ngoog.exportSymbol('proto.qb.smg.DeleteUserImagesBeforeDateRequest', null, global);\ngoog.exportSymbol('proto.qb.smg.DeleteUserImagesBeforeDateResponse', null, global);\ngoog.exportSymbol('proto.qb.smg.DisableUsersRequest', null, global);\ngoog.exportSymbol('proto.qb.smg.DisableUsersResponse', null, global);\ngoog.exportSymbol('proto.qb.smg.DisplayMessage', null, global);\ngoog.exportSymbol('proto.qb.smg.DoResetPinReply', null, global);\ngoog.exportSymbol('proto.qb.smg.DoResetPinRequest', null, global);\ngoog.exportSymbol('proto.qb.smg.DriverLicenseBackExtractedData', null, global);\ngoog.exportSymbol('proto.qb.smg.DriverLicenseFrontExtractedData', null, global);\ngoog.exportSymbol('proto.qb.smg.EmailLoginReply', null, global);\ngoog.exportSymbol('proto.qb.smg.EmailLoginRequest', null, global);\ngoog.exportSymbol('proto.qb.smg.EnableAutoPlayRequest', null, global);\ngoog.exportSymbol('proto.qb.smg.EnableAutoPlayResponse', null, global);\ngoog.exportSymbol('proto.qb.smg.EnableSelfLimitationReply', null, global);\ngoog.exportSymbol('proto.qb.smg.EnableSelfLimitationRequest', null, global);\ngoog.exportSymbol('proto.qb.smg.EnableSelfLimitationRequest.TimeFrame', null, global);\ngoog.exportSymbol('proto.qb.smg.EnableShawWalletRequest', null, global);\ngoog.exportSymbol('proto.qb.smg.EnableShawWalletResponse', null, global);\ngoog.exportSymbol('proto.qb.smg.Error', null, global);\ngoog.exportSymbol('proto.qb.smg.FrsHeartbeatRequest', null, global);\ngoog.exportSymbol('proto.qb.smg.GenerateS3ArchiveVideoUploadUrlRequest', null, global);\ngoog.exportSymbol('proto.qb.smg.GenerateS3ArchiveVideoUploadUrlResponse', null, global);\ngoog.exportSymbol('proto.qb.smg.GenerateS3SimulatorVideoUploadUrlRequest', null, global);\ngoog.exportSymbol('proto.qb.smg.GenerateS3SimulatorVideoUploadUrlResponse', null, global);\ngoog.exportSymbol('proto.qb.smg.GetBalanceReply', null, global);\ngoog.exportSymbol('proto.qb.smg.GetBalanceRequest', null, global);\ngoog.exportSymbol('proto.qb.smg.GetBetNoTokenReply', null, global);\ngoog.exportSymbol('proto.qb.smg.GetBetNoTokenRequest', null, global);\ngoog.exportSymbol('proto.qb.smg.GetBetReply', null, global);\ngoog.exportSymbol('proto.qb.smg.GetBetRequest', null, global);\ngoog.exportSymbol('proto.qb.smg.GetBetsReply', null, global);\ngoog.exportSymbol('proto.qb.smg.GetBetsRequest', null, global);\ngoog.exportSymbol('proto.qb.smg.GetChangePhotoRequestsReply', null, global);\ngoog.exportSymbol('proto.qb.smg.GetChangePhotoRequestsRequest', null, global);\ngoog.exportSymbol('proto.qb.smg.GetGameStateReply', null, global);\ngoog.exportSymbol('proto.qb.smg.GetGameStateRequest', null, global);\ngoog.exportSymbol('proto.qb.smg.GetPayoutReply', null, global);\ngoog.exportSymbol('proto.qb.smg.GetPayoutRequest', null, global);\ngoog.exportSymbol('proto.qb.smg.GetPromosRequest', null, global);\ngoog.exportSymbol('proto.qb.smg.GetPromosResponse', null, global);\ngoog.exportSymbol('proto.qb.smg.GetTncReply', null, global);\ngoog.exportSymbol('proto.qb.smg.GetTncRequest', null, global);\ngoog.exportSymbol('proto.qb.smg.GetTournamentLeaderBoardReply', null, global);\ngoog.exportSymbol('proto.qb.smg.GetTournamentLeaderBoardRequest', null, global);\ngoog.exportSymbol('proto.qb.smg.GetTournamentPlayerEntry', null, global);\ngoog.exportSymbol('proto.qb.smg.GetTournamentPlayersReply', null, global);\ngoog.exportSymbol('proto.qb.smg.GetTournamentPlayersRequest', null, global);\ngoog.exportSymbol('proto.qb.smg.GetTournamentReply', null, global);\ngoog.exportSymbol('proto.qb.smg.GetTournamentRequest', null, global);\ngoog.exportSymbol('proto.qb.smg.GetTransactionHistoryReply', null, global);\ngoog.exportSymbol('proto.qb.smg.GetTransactionHistoryRequest', null, global);\ngoog.exportSymbol('proto.qb.smg.GetUpcomingBetsForSimulatorReply', null, global);\ngoog.exportSymbol('proto.qb.smg.GetUpcomingBetsForSimulatorRequest', null, global);\ngoog.exportSymbol('proto.qb.smg.GetUserReply', null, global);\ngoog.exportSymbol('proto.qb.smg.GetUserRequest', null, global);\ngoog.exportSymbol('proto.qb.smg.Golf2Challenge', null, global);\ngoog.exportSymbol('proto.qb.smg.Golf2Challenge.Golf2ChallengeLevel', null, global);\ngoog.exportSymbol('proto.qb.smg.Golf2GameCircle', null, global);\ngoog.exportSymbol('proto.qb.smg.Golf2GameDetails', null, global);\ngoog.exportSymbol('proto.qb.smg.Golf2GameGreen', null, global);\ngoog.exportSymbol('proto.qb.smg.Golf2GameHole', null, global);\ngoog.exportSymbol('proto.qb.smg.HeartbeatRequest', null, global);\ngoog.exportSymbol('proto.qb.smg.HeartbeatResponse', null, global);\ngoog.exportSymbol('proto.qb.smg.Hit', null, global);\ngoog.exportSymbol('proto.qb.smg.HitReply', null, global);\ngoog.exportSymbol('proto.qb.smg.HitRequest', null, global);\ngoog.exportSymbol('proto.qb.smg.HitStreamReply', null, global);\ngoog.exportSymbol('proto.qb.smg.HoleInOneConfig', null, global);\ngoog.exportSymbol('proto.qb.smg.IgnoreFrsRequest', null, global);\ngoog.exportSymbol('proto.qb.smg.IgnoreFrsResponse', null, global);\ngoog.exportSymbol('proto.qb.smg.ImageLoginReply', null, global);\ngoog.exportSymbol('proto.qb.smg.ImageLoginRequest', null, global);\ngoog.exportSymbol('proto.qb.smg.InitialCommandConnectorRequest', null, global);\ngoog.exportSymbol('proto.qb.smg.InitialCommandConnectorResponse', null, global);\ngoog.exportSymbol('proto.qb.smg.JoinPrivateTournamentReply', null, global);\ngoog.exportSymbol('proto.qb.smg.JoinPrivateTournamentRequest', null, global);\ngoog.exportSymbol('proto.qb.smg.JoinTournamentReply', null, global);\ngoog.exportSymbol('proto.qb.smg.JoinTournamentRequest', null, global);\ngoog.exportSymbol('proto.qb.smg.LeaveTournamentReply', null, global);\ngoog.exportSymbol('proto.qb.smg.LeaveTournamentRequest', null, global);\ngoog.exportSymbol('proto.qb.smg.ListFacesRequest', null, global);\ngoog.exportSymbol('proto.qb.smg.ListFacesResponse', null, global);\ngoog.exportSymbol('proto.qb.smg.ListTournamentReply', null, global);\ngoog.exportSymbol('proto.qb.smg.ListTournamentRequest', null, global);\ngoog.exportSymbol('proto.qb.smg.ListTournamentRequest.Sort', null, global);\ngoog.exportSymbol('proto.qb.smg.ListTournamentRequest.TournamentAccess', null, global);\ngoog.exportSymbol('proto.qb.smg.LocateVenueReply', null, global);\ngoog.exportSymbol('proto.qb.smg.LocateVenueRequest', null, global);\ngoog.exportSymbol('proto.qb.smg.Location', null, global);\ngoog.exportSymbol('proto.qb.smg.LoginWithIdTokenReply', null, global);\ngoog.exportSymbol('proto.qb.smg.LoginWithIdTokenRequest', null, global);\ngoog.exportSymbol('proto.qb.smg.OcrResult', null, global);\ngoog.exportSymbol('proto.qb.smg.OtpLoginReply', null, global);\ngoog.exportSymbol('proto.qb.smg.OtpLoginRequest', null, global);\ngoog.exportSymbol('proto.qb.smg.OtpMethod', null, global);\ngoog.exportSymbol('proto.qb.smg.Payline', null, global);\ngoog.exportSymbol('proto.qb.smg.Payout', null, global);\ngoog.exportSymbol('proto.qb.smg.Promo', null, global);\ngoog.exportSymbol('proto.qb.smg.PushStationWebcamUpdatesResponse', null, global);\ngoog.exportSymbol('proto.qb.smg.RecognizeFaceRequest', null, global);\ngoog.exportSymbol('proto.qb.smg.RecognizeFaceResponse', null, global);\ngoog.exportSymbol('proto.qb.smg.RegisterUserReply', null, global);\ngoog.exportSymbol('proto.qb.smg.RegisterUserRequest', null, global);\ngoog.exportSymbol('proto.qb.smg.ReplacePhotoRequest', null, global);\ngoog.exportSymbol('proto.qb.smg.ReplacePhotoStatus', null, global);\ngoog.exportSymbol('proto.qb.smg.RequestChangePhotoReply', null, global);\ngoog.exportSymbol('proto.qb.smg.RequestChangePhotoRequest', null, global);\ngoog.exportSymbol('proto.qb.smg.RequestChangeRequest', null, global);\ngoog.exportSymbol('proto.qb.smg.RequestChangeResponse', null, global);\ngoog.exportSymbol('proto.qb.smg.RequestEmailChangeRequest', null, global);\ngoog.exportSymbol('proto.qb.smg.RequestEmailChangeResponse', null, global);\ngoog.exportSymbol('proto.qb.smg.RequestOtpCodeReply', null, global);\ngoog.exportSymbol('proto.qb.smg.RequestOtpCodeRequest', null, global);\ngoog.exportSymbol('proto.qb.smg.RequestResetPinReply', null, global);\ngoog.exportSymbol('proto.qb.smg.RequestResetPinRequest', null, global);\ngoog.exportSymbol('proto.qb.smg.ResendEmailConfirmationReply', null, global);\ngoog.exportSymbol('proto.qb.smg.ResendEmailConfirmationRequest', null, global);\ngoog.exportSymbol('proto.qb.smg.ResetIgnoreFrsRequest', null, global);\ngoog.exportSymbol('proto.qb.smg.ResetIgnoreFrsResponse', null, global);\ngoog.exportSymbol('proto.qb.smg.ResetKycReply', null, global);\ngoog.exportSymbol('proto.qb.smg.ResetKycRequest', null, global);\ngoog.exportSymbol('proto.qb.smg.ResetShotCountRequest', null, global);\ngoog.exportSymbol('proto.qb.smg.ResetShotCountResponse', null, global);\ngoog.exportSymbol('proto.qb.smg.RetrieveCodeForAdminReply', null, global);\ngoog.exportSymbol('proto.qb.smg.RetrieveCodeForAdminRequest', null, global);\ngoog.exportSymbol('proto.qb.smg.Session', null, global);\ngoog.exportSymbol('proto.qb.smg.SetFaceRequest', null, global);\ngoog.exportSymbol('proto.qb.smg.SetFaceResponse', null, global);\ngoog.exportSymbol('proto.qb.smg.SetWelcomeBonusRequest', null, global);\ngoog.exportSymbol('proto.qb.smg.SetWelcomeBonusResponse', null, global);\ngoog.exportSymbol('proto.qb.smg.SettingsUpdate', null, global);\ngoog.exportSymbol('proto.qb.smg.SettingsUpdateStreamRequest', null, global);\ngoog.exportSymbol('proto.qb.smg.Skills', null, global);\ngoog.exportSymbol('proto.qb.smg.StartHitReply', null, global);\ngoog.exportSymbol('proto.qb.smg.StartHitRequest', null, global);\ngoog.exportSymbol('proto.qb.smg.StartVeriffKycVerificationRequest', null, global);\ngoog.exportSymbol('proto.qb.smg.StartVeriffKycVerificationResponse', null, global);\ngoog.exportSymbol('proto.qb.smg.StationMessage', null, global);\ngoog.exportSymbol('proto.qb.smg.StationPlayerState', null, global);\ngoog.exportSymbol('proto.qb.smg.StationState', null, global);\ngoog.exportSymbol('proto.qb.smg.StationWebcamUpdate', null, global);\ngoog.exportSymbol('proto.qb.smg.StationWebcamUpdate.WebcamState', null, global);\ngoog.exportSymbol('proto.qb.smg.StationWebcamUpdate.WebcamState.Side', null, global);\ngoog.exportSymbol('proto.qb.smg.StreamBetsReply', null, global);\ngoog.exportSymbol('proto.qb.smg.StreamBetsRequest', null, global);\ngoog.exportSymbol('proto.qb.smg.StreamStationStateRequest', null, global);\ngoog.exportSymbol('proto.qb.smg.SubmitPhotoReply', null, global);\ngoog.exportSymbol('proto.qb.smg.SubmitPhotoRequest', null, global);\ngoog.exportSymbol('proto.qb.smg.Tournament', null, global);\ngoog.exportSymbol('proto.qb.smg.TournamentLeaderBoardEntry', null, global);\ngoog.exportSymbol('proto.qb.smg.TournamentOwner', null, global);\ngoog.exportSymbol('proto.qb.smg.TournamentPlayerBet', null, global);\ngoog.exportSymbol('proto.qb.smg.TournamentPlayerBet.State', null, global);\ngoog.exportSymbol('proto.qb.smg.TournamentPlayerDetails', null, global);\ngoog.exportSymbol('proto.qb.smg.TournamentPlayerDetails.State', null, global);\ngoog.exportSymbol('proto.qb.smg.TournamentState', null, global);\ngoog.exportSymbol('proto.qb.smg.TournamentSurveyAnswer', null, global);\ngoog.exportSymbol('proto.qb.smg.TournamentSurveyQuestion', null, global);\ngoog.exportSymbol('proto.qb.smg.TournamentSurveyQuestionType', null, global);\ngoog.exportSymbol('proto.qb.smg.TransactionHistory', null, global);\ngoog.exportSymbol('proto.qb.smg.UpdatePhoneNumberRequest', null, global);\ngoog.exportSymbol('proto.qb.smg.UpdatePhoneNumberResponse', null, global);\ngoog.exportSymbol('proto.qb.smg.UpdateUserReply', null, global);\ngoog.exportSymbol('proto.qb.smg.UpdateUserRequest', null, global);\ngoog.exportSymbol('proto.qb.smg.UploadImageReply', null, global);\ngoog.exportSymbol('proto.qb.smg.UploadImageRequest', null, global);\ngoog.exportSymbol('proto.qb.smg.User', null, global);\ngoog.exportSymbol('proto.qb.smg.VenueConfig', null, global);\ngoog.exportSymbol('proto.qb.smg.VerifyOtpCodeReply', null, global);\ngoog.exportSymbol('proto.qb.smg.VerifyOtpCodeRequest', null, global);\ngoog.exportSymbol('proto.qb.smg.VerifyPrivateTournamentCodeReply', null, global);\ngoog.exportSymbol('proto.qb.smg.VerifyPrivateTournamentCodeRequest', null, global);\ngoog.exportSymbol('proto.qb.smg.WalletBonus', null, global);\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.qb.smg.TournamentPlayerBet = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.qb.smg.TournamentPlayerBet, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.qb.smg.TournamentPlayerBet.displayName = 'proto.qb.smg.TournamentPlayerBet';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.qb.smg.TournamentPlayerDetails = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, proto.qb.smg.TournamentPlayerDetails.repeatedFields_, null);\n};\ngoog.inherits(proto.qb.smg.TournamentPlayerDetails, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.qb.smg.TournamentPlayerDetails.displayName = 'proto.qb.smg.TournamentPlayerDetails';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.qb.smg.TournamentOwner = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.qb.smg.TournamentOwner, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.qb.smg.TournamentOwner.displayName = 'proto.qb.smg.TournamentOwner';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.qb.smg.Tournament = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, proto.qb.smg.Tournament.repeatedFields_, null);\n};\ngoog.inherits(proto.qb.smg.Tournament, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.qb.smg.Tournament.displayName = 'proto.qb.smg.Tournament';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.qb.smg.ListTournamentRequest = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, proto.qb.smg.ListTournamentRequest.repeatedFields_, null);\n};\ngoog.inherits(proto.qb.smg.ListTournamentRequest, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.qb.smg.ListTournamentRequest.displayName = 'proto.qb.smg.ListTournamentRequest';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.qb.smg.ListTournamentReply = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, proto.qb.smg.ListTournamentReply.repeatedFields_, null);\n};\ngoog.inherits(proto.qb.smg.ListTournamentReply, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.qb.smg.ListTournamentReply.displayName = 'proto.qb.smg.ListTournamentReply';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.qb.smg.GetTournamentRequest = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.qb.smg.GetTournamentRequest, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.qb.smg.GetTournamentRequest.displayName = 'proto.qb.smg.GetTournamentRequest';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.qb.smg.GetTournamentReply = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.qb.smg.GetTournamentReply, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.qb.smg.GetTournamentReply.displayName = 'proto.qb.smg.GetTournamentReply';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.qb.smg.CreatePrivateTournamentRequest = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.qb.smg.CreatePrivateTournamentRequest, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.qb.smg.CreatePrivateTournamentRequest.displayName = 'proto.qb.smg.CreatePrivateTournamentRequest';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.qb.smg.CreatePrivateTournamentReply = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.qb.smg.CreatePrivateTournamentReply, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.qb.smg.CreatePrivateTournamentReply.displayName = 'proto.qb.smg.CreatePrivateTournamentReply';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.qb.smg.JoinPrivateTournamentRequest = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, proto.qb.smg.JoinPrivateTournamentRequest.repeatedFields_, null);\n};\ngoog.inherits(proto.qb.smg.JoinPrivateTournamentRequest, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.qb.smg.JoinPrivateTournamentRequest.displayName = 'proto.qb.smg.JoinPrivateTournamentRequest';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.qb.smg.JoinPrivateTournamentReply = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.qb.smg.JoinPrivateTournamentReply, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.qb.smg.JoinPrivateTournamentReply.displayName = 'proto.qb.smg.JoinPrivateTournamentReply';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.qb.smg.VerifyPrivateTournamentCodeRequest = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.qb.smg.VerifyPrivateTournamentCodeRequest, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.qb.smg.VerifyPrivateTournamentCodeRequest.displayName = 'proto.qb.smg.VerifyPrivateTournamentCodeRequest';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.qb.smg.VerifyPrivateTournamentCodeReply = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.qb.smg.VerifyPrivateTournamentCodeReply, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.qb.smg.VerifyPrivateTournamentCodeReply.displayName = 'proto.qb.smg.VerifyPrivateTournamentCodeReply';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.qb.smg.TournamentSurveyQuestion = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, proto.qb.smg.TournamentSurveyQuestion.repeatedFields_, null);\n};\ngoog.inherits(proto.qb.smg.TournamentSurveyQuestion, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.qb.smg.TournamentSurveyQuestion.displayName = 'proto.qb.smg.TournamentSurveyQuestion';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.qb.smg.TournamentSurveyAnswer = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, proto.qb.smg.TournamentSurveyAnswer.repeatedFields_, null);\n};\ngoog.inherits(proto.qb.smg.TournamentSurveyAnswer, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.qb.smg.TournamentSurveyAnswer.displayName = 'proto.qb.smg.TournamentSurveyAnswer';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.qb.smg.JoinTournamentRequest = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, proto.qb.smg.JoinTournamentRequest.repeatedFields_, null);\n};\ngoog.inherits(proto.qb.smg.JoinTournamentRequest, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.qb.smg.JoinTournamentRequest.displayName = 'proto.qb.smg.JoinTournamentRequest';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.qb.smg.JoinTournamentReply = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.qb.smg.JoinTournamentReply, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.qb.smg.JoinTournamentReply.displayName = 'proto.qb.smg.JoinTournamentReply';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.qb.smg.LeaveTournamentRequest = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.qb.smg.LeaveTournamentRequest, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.qb.smg.LeaveTournamentRequest.displayName = 'proto.qb.smg.LeaveTournamentRequest';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.qb.smg.LeaveTournamentReply = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.qb.smg.LeaveTournamentReply, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.qb.smg.LeaveTournamentReply.displayName = 'proto.qb.smg.LeaveTournamentReply';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.qb.smg.GetTournamentLeaderBoardRequest = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.qb.smg.GetTournamentLeaderBoardRequest, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.qb.smg.GetTournamentLeaderBoardRequest.displayName = 'proto.qb.smg.GetTournamentLeaderBoardRequest';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.qb.smg.TournamentLeaderBoardEntry = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.qb.smg.TournamentLeaderBoardEntry, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.qb.smg.TournamentLeaderBoardEntry.displayName = 'proto.qb.smg.TournamentLeaderBoardEntry';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.qb.smg.GetTournamentLeaderBoardReply = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, proto.qb.smg.GetTournamentLeaderBoardReply.repeatedFields_, null);\n};\ngoog.inherits(proto.qb.smg.GetTournamentLeaderBoardReply, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.qb.smg.GetTournamentLeaderBoardReply.displayName = 'proto.qb.smg.GetTournamentLeaderBoardReply';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.qb.smg.GetTournamentPlayersRequest = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.qb.smg.GetTournamentPlayersRequest, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.qb.smg.GetTournamentPlayersRequest.displayName = 'proto.qb.smg.GetTournamentPlayersRequest';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.qb.smg.GetTournamentPlayerEntry = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.qb.smg.GetTournamentPlayerEntry, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.qb.smg.GetTournamentPlayerEntry.displayName = 'proto.qb.smg.GetTournamentPlayerEntry';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.qb.smg.GetTournamentPlayersReply = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, proto.qb.smg.GetTournamentPlayersReply.repeatedFields_, null);\n};\ngoog.inherits(proto.qb.smg.GetTournamentPlayersReply, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.qb.smg.GetTournamentPlayersReply.displayName = 'proto.qb.smg.GetTournamentPlayersReply';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.qb.smg.GenerateS3SimulatorVideoUploadUrlRequest = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.qb.smg.GenerateS3SimulatorVideoUploadUrlRequest, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.qb.smg.GenerateS3SimulatorVideoUploadUrlRequest.displayName = 'proto.qb.smg.GenerateS3SimulatorVideoUploadUrlRequest';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.qb.smg.GenerateS3SimulatorVideoUploadUrlResponse = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.qb.smg.GenerateS3SimulatorVideoUploadUrlResponse, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.qb.smg.GenerateS3SimulatorVideoUploadUrlResponse.displayName = 'proto.qb.smg.GenerateS3SimulatorVideoUploadUrlResponse';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.qb.smg.RequestChangeRequest = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.qb.smg.RequestChangeRequest, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.qb.smg.RequestChangeRequest.displayName = 'proto.qb.smg.RequestChangeRequest';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.qb.smg.RequestChangeResponse = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.qb.smg.RequestChangeResponse, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.qb.smg.RequestChangeResponse.displayName = 'proto.qb.smg.RequestChangeResponse';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.qb.smg.UpdatePhoneNumberRequest = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.qb.smg.UpdatePhoneNumberRequest, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.qb.smg.UpdatePhoneNumberRequest.displayName = 'proto.qb.smg.UpdatePhoneNumberRequest';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.qb.smg.UpdatePhoneNumberResponse = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.qb.smg.UpdatePhoneNumberResponse, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.qb.smg.UpdatePhoneNumberResponse.displayName = 'proto.qb.smg.UpdatePhoneNumberResponse';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.qb.smg.RequestEmailChangeRequest = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.qb.smg.RequestEmailChangeRequest, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.qb.smg.RequestEmailChangeRequest.displayName = 'proto.qb.smg.RequestEmailChangeRequest';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.qb.smg.RequestEmailChangeResponse = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.qb.smg.RequestEmailChangeResponse, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.qb.smg.RequestEmailChangeResponse.displayName = 'proto.qb.smg.RequestEmailChangeResponse';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.qb.smg.ConfirmEmailChangeRequest = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.qb.smg.ConfirmEmailChangeRequest, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.qb.smg.ConfirmEmailChangeRequest.displayName = 'proto.qb.smg.ConfirmEmailChangeRequest';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.qb.smg.ConfirmEmailChangeResponse = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.qb.smg.ConfirmEmailChangeResponse, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.qb.smg.ConfirmEmailChangeResponse.displayName = 'proto.qb.smg.ConfirmEmailChangeResponse';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.qb.smg.DeactivateAccountRequest = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.qb.smg.DeactivateAccountRequest, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.qb.smg.DeactivateAccountRequest.displayName = 'proto.qb.smg.DeactivateAccountRequest';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.qb.smg.DeactivateAccountResponse = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.qb.smg.DeactivateAccountResponse, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.qb.smg.DeactivateAccountResponse.displayName = 'proto.qb.smg.DeactivateAccountResponse';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.qb.smg.DisableUsersRequest = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, proto.qb.smg.DisableUsersRequest.repeatedFields_, null);\n};\ngoog.inherits(proto.qb.smg.DisableUsersRequest, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.qb.smg.DisableUsersRequest.displayName = 'proto.qb.smg.DisableUsersRequest';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.qb.smg.DisableUsersResponse = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.qb.smg.DisableUsersResponse, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.qb.smg.DisableUsersResponse.displayName = 'proto.qb.smg.DisableUsersResponse';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.qb.smg.SetFaceRequest = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.qb.smg.SetFaceRequest, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.qb.smg.SetFaceRequest.displayName = 'proto.qb.smg.SetFaceRequest';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.qb.smg.SetFaceResponse = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.qb.smg.SetFaceResponse, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.qb.smg.SetFaceResponse.displayName = 'proto.qb.smg.SetFaceResponse';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.qb.smg.RecognizeFaceRequest = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.qb.smg.RecognizeFaceRequest, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.qb.smg.RecognizeFaceRequest.displayName = 'proto.qb.smg.RecognizeFaceRequest';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.qb.smg.RecognizeFaceResponse = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.qb.smg.RecognizeFaceResponse, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.qb.smg.RecognizeFaceResponse.displayName = 'proto.qb.smg.RecognizeFaceResponse';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.qb.smg.CompareImagesRequest = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.qb.smg.CompareImagesRequest, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.qb.smg.CompareImagesRequest.displayName = 'proto.qb.smg.CompareImagesRequest';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.qb.smg.CompareImagesResponse = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.qb.smg.CompareImagesResponse, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.qb.smg.CompareImagesResponse.displayName = 'proto.qb.smg.CompareImagesResponse';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.qb.smg.ListFacesRequest = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.qb.smg.ListFacesRequest, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.qb.smg.ListFacesRequest.displayName = 'proto.qb.smg.ListFacesRequest';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.qb.smg.ListFacesResponse = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, proto.qb.smg.ListFacesResponse.repeatedFields_, null);\n};\ngoog.inherits(proto.qb.smg.ListFacesResponse, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.qb.smg.ListFacesResponse.displayName = 'proto.qb.smg.ListFacesResponse';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.qb.smg.InitialCommandConnectorRequest = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.qb.smg.InitialCommandConnectorRequest, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.qb.smg.InitialCommandConnectorRequest.displayName = 'proto.qb.smg.InitialCommandConnectorRequest';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.qb.smg.InitialCommandConnectorResponse = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.qb.smg.InitialCommandConnectorResponse, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.qb.smg.InitialCommandConnectorResponse.displayName = 'proto.qb.smg.InitialCommandConnectorResponse';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.qb.smg.CommandExecutorFRSPayload = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, proto.qb.smg.CommandExecutorFRSPayload.oneofGroups_);\n};\ngoog.inherits(proto.qb.smg.CommandExecutorFRSPayload, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.qb.smg.CommandExecutorFRSPayload.displayName = 'proto.qb.smg.CommandExecutorFRSPayload';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.qb.smg.CommandExecutorSMGPayload = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, proto.qb.smg.CommandExecutorSMGPayload.oneofGroups_);\n};\ngoog.inherits(proto.qb.smg.CommandExecutorSMGPayload, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.qb.smg.CommandExecutorSMGPayload.displayName = 'proto.qb.smg.CommandExecutorSMGPayload';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.qb.smg.GenerateS3ArchiveVideoUploadUrlRequest = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.qb.smg.GenerateS3ArchiveVideoUploadUrlRequest, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.qb.smg.GenerateS3ArchiveVideoUploadUrlRequest.displayName = 'proto.qb.smg.GenerateS3ArchiveVideoUploadUrlRequest';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.qb.smg.GenerateS3ArchiveVideoUploadUrlResponse = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.qb.smg.GenerateS3ArchiveVideoUploadUrlResponse, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.qb.smg.GenerateS3ArchiveVideoUploadUrlResponse.displayName = 'proto.qb.smg.GenerateS3ArchiveVideoUploadUrlResponse';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.qb.smg.StationWebcamUpdate = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, proto.qb.smg.StationWebcamUpdate.repeatedFields_, null);\n};\ngoog.inherits(proto.qb.smg.StationWebcamUpdate, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.qb.smg.StationWebcamUpdate.displayName = 'proto.qb.smg.StationWebcamUpdate';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.qb.smg.StationWebcamUpdate.WebcamState = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.qb.smg.StationWebcamUpdate.WebcamState, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.qb.smg.StationWebcamUpdate.WebcamState.displayName = 'proto.qb.smg.StationWebcamUpdate.WebcamState';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.qb.smg.PushStationWebcamUpdatesResponse = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.qb.smg.PushStationWebcamUpdatesResponse, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.qb.smg.PushStationWebcamUpdatesResponse.displayName = 'proto.qb.smg.PushStationWebcamUpdatesResponse';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.qb.smg.UploadImageRequest = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.qb.smg.UploadImageRequest, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.qb.smg.UploadImageRequest.displayName = 'proto.qb.smg.UploadImageRequest';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.qb.smg.UploadImageReply = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.qb.smg.UploadImageReply, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.qb.smg.UploadImageReply.displayName = 'proto.qb.smg.UploadImageReply';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.qb.smg.RequestResetPinRequest = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.qb.smg.RequestResetPinRequest, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.qb.smg.RequestResetPinRequest.displayName = 'proto.qb.smg.RequestResetPinRequest';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.qb.smg.RequestResetPinReply = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.qb.smg.RequestResetPinReply, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.qb.smg.RequestResetPinReply.displayName = 'proto.qb.smg.RequestResetPinReply';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.qb.smg.ResendEmailConfirmationRequest = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.qb.smg.ResendEmailConfirmationRequest, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.qb.smg.ResendEmailConfirmationRequest.displayName = 'proto.qb.smg.ResendEmailConfirmationRequest';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.qb.smg.ResendEmailConfirmationReply = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.qb.smg.ResendEmailConfirmationReply, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.qb.smg.ResendEmailConfirmationReply.displayName = 'proto.qb.smg.ResendEmailConfirmationReply';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.qb.smg.ConfirmEmailRequest = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.qb.smg.ConfirmEmailRequest, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.qb.smg.ConfirmEmailRequest.displayName = 'proto.qb.smg.ConfirmEmailRequest';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.qb.smg.ConfirmEmailReply = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.qb.smg.ConfirmEmailReply, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.qb.smg.ConfirmEmailReply.displayName = 'proto.qb.smg.ConfirmEmailReply';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.qb.smg.DoResetPinRequest = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.qb.smg.DoResetPinRequest, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.qb.smg.DoResetPinRequest.displayName = 'proto.qb.smg.DoResetPinRequest';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.qb.smg.DoResetPinReply = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.qb.smg.DoResetPinReply, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.qb.smg.DoResetPinReply.displayName = 'proto.qb.smg.DoResetPinReply';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.qb.smg.RegisterUserRequest = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.qb.smg.RegisterUserRequest, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.qb.smg.RegisterUserRequest.displayName = 'proto.qb.smg.RegisterUserRequest';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.qb.smg.RegisterUserReply = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.qb.smg.RegisterUserReply, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.qb.smg.RegisterUserReply.displayName = 'proto.qb.smg.RegisterUserReply';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.qb.smg.LocateVenueRequest = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.qb.smg.LocateVenueRequest, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.qb.smg.LocateVenueRequest.displayName = 'proto.qb.smg.LocateVenueRequest';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.qb.smg.LocateVenueReply = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.qb.smg.LocateVenueReply, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.qb.smg.LocateVenueReply.displayName = 'proto.qb.smg.LocateVenueReply';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.qb.smg.CheckUserEmailExistsRequest = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.qb.smg.CheckUserEmailExistsRequest, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.qb.smg.CheckUserEmailExistsRequest.displayName = 'proto.qb.smg.CheckUserEmailExistsRequest';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.qb.smg.CheckUserEmailExistsReply = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.qb.smg.CheckUserEmailExistsReply, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.qb.smg.CheckUserEmailExistsReply.displayName = 'proto.qb.smg.CheckUserEmailExistsReply';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.qb.smg.ReplacePhotoRequest = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.qb.smg.ReplacePhotoRequest, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.qb.smg.ReplacePhotoRequest.displayName = 'proto.qb.smg.ReplacePhotoRequest';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.qb.smg.RequestChangePhotoRequest = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.qb.smg.RequestChangePhotoRequest, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.qb.smg.RequestChangePhotoRequest.displayName = 'proto.qb.smg.RequestChangePhotoRequest';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.qb.smg.RequestChangePhotoReply = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.qb.smg.RequestChangePhotoReply, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.qb.smg.RequestChangePhotoReply.displayName = 'proto.qb.smg.RequestChangePhotoReply';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.qb.smg.GetChangePhotoRequestsRequest = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.qb.smg.GetChangePhotoRequestsRequest, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.qb.smg.GetChangePhotoRequestsRequest.displayName = 'proto.qb.smg.GetChangePhotoRequestsRequest';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.qb.smg.GetChangePhotoRequestsReply = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, proto.qb.smg.GetChangePhotoRequestsReply.repeatedFields_, null);\n};\ngoog.inherits(proto.qb.smg.GetChangePhotoRequestsReply, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.qb.smg.GetChangePhotoRequestsReply.displayName = 'proto.qb.smg.GetChangePhotoRequestsReply';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.qb.smg.ApproveChangePhotoRequestRequest = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.qb.smg.ApproveChangePhotoRequestRequest, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.qb.smg.ApproveChangePhotoRequestRequest.displayName = 'proto.qb.smg.ApproveChangePhotoRequestRequest';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.qb.smg.ApproveChangePhotoRequestReply = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.qb.smg.ApproveChangePhotoRequestReply, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.qb.smg.ApproveChangePhotoRequestReply.displayName = 'proto.qb.smg.ApproveChangePhotoRequestReply';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.qb.smg.GetTncRequest = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.qb.smg.GetTncRequest, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.qb.smg.GetTncRequest.displayName = 'proto.qb.smg.GetTncRequest';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.qb.smg.GetTncReply = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.qb.smg.GetTncReply, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.qb.smg.GetTncReply.displayName = 'proto.qb.smg.GetTncReply';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.qb.smg.AcceptTncRequest = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.qb.smg.AcceptTncRequest, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.qb.smg.AcceptTncRequest.displayName = 'proto.qb.smg.AcceptTncRequest';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.qb.smg.AcceptTncReply = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.qb.smg.AcceptTncReply, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.qb.smg.AcceptTncReply.displayName = 'proto.qb.smg.AcceptTncReply';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.qb.smg.OcrResult = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.qb.smg.OcrResult, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.qb.smg.OcrResult.displayName = 'proto.qb.smg.OcrResult';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.qb.smg.DriverLicenseFrontExtractedData = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.qb.smg.DriverLicenseFrontExtractedData, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.qb.smg.DriverLicenseFrontExtractedData.displayName = 'proto.qb.smg.DriverLicenseFrontExtractedData';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.qb.smg.DriverLicenseBackExtractedData = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.qb.smg.DriverLicenseBackExtractedData, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.qb.smg.DriverLicenseBackExtractedData.displayName = 'proto.qb.smg.DriverLicenseBackExtractedData';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.qb.smg.StartVeriffKycVerificationRequest = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.qb.smg.StartVeriffKycVerificationRequest, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.qb.smg.StartVeriffKycVerificationRequest.displayName = 'proto.qb.smg.StartVeriffKycVerificationRequest';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.qb.smg.StartVeriffKycVerificationResponse = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.qb.smg.StartVeriffKycVerificationResponse, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.qb.smg.StartVeriffKycVerificationResponse.displayName = 'proto.qb.smg.StartVeriffKycVerificationResponse';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.qb.smg.SubmitPhotoRequest = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.qb.smg.SubmitPhotoRequest, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.qb.smg.SubmitPhotoRequest.displayName = 'proto.qb.smg.SubmitPhotoRequest';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.qb.smg.SubmitPhotoReply = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.qb.smg.SubmitPhotoReply, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.qb.smg.SubmitPhotoReply.displayName = 'proto.qb.smg.SubmitPhotoReply';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.qb.smg.ContactCsrRequest = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.qb.smg.ContactCsrRequest, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.qb.smg.ContactCsrRequest.displayName = 'proto.qb.smg.ContactCsrRequest';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.qb.smg.ContactCsrReply = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.qb.smg.ContactCsrReply, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.qb.smg.ContactCsrReply.displayName = 'proto.qb.smg.ContactCsrReply';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.qb.smg.UpdateUserRequest = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.qb.smg.UpdateUserRequest, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.qb.smg.UpdateUserRequest.displayName = 'proto.qb.smg.UpdateUserRequest';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.qb.smg.UpdateUserReply = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.qb.smg.UpdateUserReply, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.qb.smg.UpdateUserReply.displayName = 'proto.qb.smg.UpdateUserReply';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.qb.smg.EmailLoginRequest = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.qb.smg.EmailLoginRequest, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.qb.smg.EmailLoginRequest.displayName = 'proto.qb.smg.EmailLoginRequest';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.qb.smg.EmailLoginReply = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.qb.smg.EmailLoginReply, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.qb.smg.EmailLoginReply.displayName = 'proto.qb.smg.EmailLoginReply';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.qb.smg.ImageLoginRequest = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.qb.smg.ImageLoginRequest, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.qb.smg.ImageLoginRequest.displayName = 'proto.qb.smg.ImageLoginRequest';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.qb.smg.ImageLoginReply = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.qb.smg.ImageLoginReply, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.qb.smg.ImageLoginReply.displayName = 'proto.qb.smg.ImageLoginReply';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.qb.smg.RequestOtpCodeRequest = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.qb.smg.RequestOtpCodeRequest, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.qb.smg.RequestOtpCodeRequest.displayName = 'proto.qb.smg.RequestOtpCodeRequest';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.qb.smg.RequestOtpCodeReply = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.qb.smg.RequestOtpCodeReply, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.qb.smg.RequestOtpCodeReply.displayName = 'proto.qb.smg.RequestOtpCodeReply';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.qb.smg.RetrieveCodeForAdminRequest = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.qb.smg.RetrieveCodeForAdminRequest, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.qb.smg.RetrieveCodeForAdminRequest.displayName = 'proto.qb.smg.RetrieveCodeForAdminRequest';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.qb.smg.RetrieveCodeForAdminReply = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.qb.smg.RetrieveCodeForAdminReply, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.qb.smg.RetrieveCodeForAdminReply.displayName = 'proto.qb.smg.RetrieveCodeForAdminReply';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.qb.smg.EnableSelfLimitationRequest = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.qb.smg.EnableSelfLimitationRequest, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.qb.smg.EnableSelfLimitationRequest.displayName = 'proto.qb.smg.EnableSelfLimitationRequest';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.qb.smg.EnableSelfLimitationReply = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.qb.smg.EnableSelfLimitationReply, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.qb.smg.EnableSelfLimitationReply.displayName = 'proto.qb.smg.EnableSelfLimitationReply';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.qb.smg.OtpLoginRequest = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.qb.smg.OtpLoginRequest, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.qb.smg.OtpLoginRequest.displayName = 'proto.qb.smg.OtpLoginRequest';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.qb.smg.OtpLoginReply = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.qb.smg.OtpLoginReply, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.qb.smg.OtpLoginReply.displayName = 'proto.qb.smg.OtpLoginReply';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.qb.smg.VerifyOtpCodeRequest = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.qb.smg.VerifyOtpCodeRequest, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.qb.smg.VerifyOtpCodeRequest.displayName = 'proto.qb.smg.VerifyOtpCodeRequest';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.qb.smg.VerifyOtpCodeReply = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.qb.smg.VerifyOtpCodeReply, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.qb.smg.VerifyOtpCodeReply.displayName = 'proto.qb.smg.VerifyOtpCodeReply';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.qb.smg.LoginWithIdTokenRequest = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.qb.smg.LoginWithIdTokenRequest, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.qb.smg.LoginWithIdTokenRequest.displayName = 'proto.qb.smg.LoginWithIdTokenRequest';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.qb.smg.LoginWithIdTokenReply = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.qb.smg.LoginWithIdTokenReply, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.qb.smg.LoginWithIdTokenReply.displayName = 'proto.qb.smg.LoginWithIdTokenReply';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.qb.smg.GetUserRequest = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.qb.smg.GetUserRequest, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.qb.smg.GetUserRequest.displayName = 'proto.qb.smg.GetUserRequest';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.qb.smg.GetUserReply = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.qb.smg.GetUserReply, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.qb.smg.GetUserReply.displayName = 'proto.qb.smg.GetUserReply';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.qb.smg.GetBalanceRequest = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.qb.smg.GetBalanceRequest, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.qb.smg.GetBalanceRequest.displayName = 'proto.qb.smg.GetBalanceRequest';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.qb.smg.GetBalanceReply = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, proto.qb.smg.GetBalanceReply.repeatedFields_, null);\n};\ngoog.inherits(proto.qb.smg.GetBalanceReply, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.qb.smg.GetBalanceReply.displayName = 'proto.qb.smg.GetBalanceReply';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.qb.smg.WalletBonus = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.qb.smg.WalletBonus, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.qb.smg.WalletBonus.displayName = 'proto.qb.smg.WalletBonus';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.qb.smg.BetResolutionRequest = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.qb.smg.BetResolutionRequest, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.qb.smg.BetResolutionRequest.displayName = 'proto.qb.smg.BetResolutionRequest';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.qb.smg.BetResolutionReply = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.qb.smg.BetResolutionReply, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.qb.smg.BetResolutionReply.displayName = 'proto.qb.smg.BetResolutionReply';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.qb.smg.GetBetsRequest = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.qb.smg.GetBetsRequest, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.qb.smg.GetBetsRequest.displayName = 'proto.qb.smg.GetBetsRequest';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.qb.smg.GetBetsReply = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, proto.qb.smg.GetBetsReply.repeatedFields_, null);\n};\ngoog.inherits(proto.qb.smg.GetBetsReply, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.qb.smg.GetBetsReply.displayName = 'proto.qb.smg.GetBetsReply';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.qb.smg.GetUpcomingBetsForSimulatorRequest = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.qb.smg.GetUpcomingBetsForSimulatorRequest, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.qb.smg.GetUpcomingBetsForSimulatorRequest.displayName = 'proto.qb.smg.GetUpcomingBetsForSimulatorRequest';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.qb.smg.GetUpcomingBetsForSimulatorReply = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, proto.qb.smg.GetUpcomingBetsForSimulatorReply.repeatedFields_, null);\n};\ngoog.inherits(proto.qb.smg.GetUpcomingBetsForSimulatorReply, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.qb.smg.GetUpcomingBetsForSimulatorReply.displayName = 'proto.qb.smg.GetUpcomingBetsForSimulatorReply';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.qb.smg.GetPayoutRequest = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.qb.smg.GetPayoutRequest, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.qb.smg.GetPayoutRequest.displayName = 'proto.qb.smg.GetPayoutRequest';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.qb.smg.GetPayoutReply = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, proto.qb.smg.GetPayoutReply.repeatedFields_, null);\n};\ngoog.inherits(proto.qb.smg.GetPayoutReply, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.qb.smg.GetPayoutReply.displayName = 'proto.qb.smg.GetPayoutReply';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.qb.smg.StreamBetsRequest = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.qb.smg.StreamBetsRequest, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.qb.smg.StreamBetsRequest.displayName = 'proto.qb.smg.StreamBetsRequest';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.qb.smg.StreamBetsReply = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, proto.qb.smg.StreamBetsReply.repeatedFields_, null);\n};\ngoog.inherits(proto.qb.smg.StreamBetsReply, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.qb.smg.StreamBetsReply.displayName = 'proto.qb.smg.StreamBetsReply';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.qb.smg.GetBetRequest = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.qb.smg.GetBetRequest, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.qb.smg.GetBetRequest.displayName = 'proto.qb.smg.GetBetRequest';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.qb.smg.GetBetReply = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.qb.smg.GetBetReply, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.qb.smg.GetBetReply.displayName = 'proto.qb.smg.GetBetReply';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.qb.smg.GetBetNoTokenRequest = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.qb.smg.GetBetNoTokenRequest, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.qb.smg.GetBetNoTokenRequest.displayName = 'proto.qb.smg.GetBetNoTokenRequest';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.qb.smg.GetBetNoTokenReply = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.qb.smg.GetBetNoTokenReply, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.qb.smg.GetBetNoTokenReply.displayName = 'proto.qb.smg.GetBetNoTokenReply';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.qb.smg.AcceptBetRequest = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.qb.smg.AcceptBetRequest, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.qb.smg.AcceptBetRequest.displayName = 'proto.qb.smg.AcceptBetRequest';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.qb.smg.AcceptBetReply = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.qb.smg.AcceptBetReply, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.qb.smg.AcceptBetReply.displayName = 'proto.qb.smg.AcceptBetReply';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.qb.smg.AdjustBetRequest = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.qb.smg.AdjustBetRequest, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.qb.smg.AdjustBetRequest.displayName = 'proto.qb.smg.AdjustBetRequest';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.qb.smg.AdjustBetReply = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.qb.smg.AdjustBetReply, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.qb.smg.AdjustBetReply.displayName = 'proto.qb.smg.AdjustBetReply';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.qb.smg.Hit = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.qb.smg.Hit, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.qb.smg.Hit.displayName = 'proto.qb.smg.Hit';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.qb.smg.StartHitRequest = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.qb.smg.StartHitRequest, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.qb.smg.StartHitRequest.displayName = 'proto.qb.smg.StartHitRequest';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.qb.smg.StartHitReply = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.qb.smg.StartHitReply, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.qb.smg.StartHitReply.displayName = 'proto.qb.smg.StartHitReply';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.qb.smg.HitRequest = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.qb.smg.HitRequest, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.qb.smg.HitRequest.displayName = 'proto.qb.smg.HitRequest';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.qb.smg.HitReply = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.qb.smg.HitReply, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.qb.smg.HitReply.displayName = 'proto.qb.smg.HitReply';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.qb.smg.HitStreamReply = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.qb.smg.HitStreamReply, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.qb.smg.HitStreamReply.displayName = 'proto.qb.smg.HitStreamReply';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.qb.smg.AddFaceRequest = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.qb.smg.AddFaceRequest, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.qb.smg.AddFaceRequest.displayName = 'proto.qb.smg.AddFaceRequest';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.qb.smg.AddFaceReply = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.qb.smg.AddFaceReply, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.qb.smg.AddFaceReply.displayName = 'proto.qb.smg.AddFaceReply';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.qb.smg.GetGameStateRequest = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.qb.smg.GetGameStateRequest, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.qb.smg.GetGameStateRequest.displayName = 'proto.qb.smg.GetGameStateRequest';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.qb.smg.HoleInOneConfig = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.qb.smg.HoleInOneConfig, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.qb.smg.HoleInOneConfig.displayName = 'proto.qb.smg.HoleInOneConfig';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.qb.smg.GetGameStateReply = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, proto.qb.smg.GetGameStateReply.repeatedFields_, null);\n};\ngoog.inherits(proto.qb.smg.GetGameStateReply, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.qb.smg.GetGameStateReply.displayName = 'proto.qb.smg.GetGameStateReply';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.qb.smg.StreamStationStateRequest = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.qb.smg.StreamStationStateRequest, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.qb.smg.StreamStationStateRequest.displayName = 'proto.qb.smg.StreamStationStateRequest';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.qb.smg.FrsHeartbeatRequest = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.qb.smg.FrsHeartbeatRequest, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.qb.smg.FrsHeartbeatRequest.displayName = 'proto.qb.smg.FrsHeartbeatRequest';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.qb.smg.StationState = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.qb.smg.StationState, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.qb.smg.StationState.displayName = 'proto.qb.smg.StationState';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.qb.smg.HeartbeatRequest = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.qb.smg.HeartbeatRequest, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.qb.smg.HeartbeatRequest.displayName = 'proto.qb.smg.HeartbeatRequest';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.qb.smg.HeartbeatResponse = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.qb.smg.HeartbeatResponse, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.qb.smg.HeartbeatResponse.displayName = 'proto.qb.smg.HeartbeatResponse';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.qb.smg.ConnectStationSimpleRequest = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.qb.smg.ConnectStationSimpleRequest, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.qb.smg.ConnectStationSimpleRequest.displayName = 'proto.qb.smg.ConnectStationSimpleRequest';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.qb.smg.ConnectStationSimpleReply = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.qb.smg.ConnectStationSimpleReply, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.qb.smg.ConnectStationSimpleReply.displayName = 'proto.qb.smg.ConnectStationSimpleReply';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.qb.smg.StationMessage = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.qb.smg.StationMessage, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.qb.smg.StationMessage.displayName = 'proto.qb.smg.StationMessage';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.qb.smg.DisplayMessage = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.qb.smg.DisplayMessage, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.qb.smg.DisplayMessage.displayName = 'proto.qb.smg.DisplayMessage';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.qb.smg.SettingsUpdateStreamRequest = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.qb.smg.SettingsUpdateStreamRequest, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.qb.smg.SettingsUpdateStreamRequest.displayName = 'proto.qb.smg.SettingsUpdateStreamRequest';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.qb.smg.SettingsUpdate = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.qb.smg.SettingsUpdate, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.qb.smg.SettingsUpdate.displayName = 'proto.qb.smg.SettingsUpdate';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.qb.smg.DeleteUserImageRequest = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.qb.smg.DeleteUserImageRequest, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.qb.smg.DeleteUserImageRequest.displayName = 'proto.qb.smg.DeleteUserImageRequest';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.qb.smg.DeleteUserImageResponse = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.qb.smg.DeleteUserImageResponse, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.qb.smg.DeleteUserImageResponse.displayName = 'proto.qb.smg.DeleteUserImageResponse';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.qb.smg.DeleteUserImagesBeforeDateRequest = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.qb.smg.DeleteUserImagesBeforeDateRequest, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.qb.smg.DeleteUserImagesBeforeDateRequest.displayName = 'proto.qb.smg.DeleteUserImagesBeforeDateRequest';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.qb.smg.DeleteUserImagesBeforeDateResponse = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.qb.smg.DeleteUserImagesBeforeDateResponse, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.qb.smg.DeleteUserImagesBeforeDateResponse.displayName = 'proto.qb.smg.DeleteUserImagesBeforeDateResponse';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.qb.smg.DeleteLastActiveBeforeDateRequest = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.qb.smg.DeleteLastActiveBeforeDateRequest, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.qb.smg.DeleteLastActiveBeforeDateRequest.displayName = 'proto.qb.smg.DeleteLastActiveBeforeDateRequest';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.qb.smg.DeleteLastActiveBeforeDateResponse = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.qb.smg.DeleteLastActiveBeforeDateResponse, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.qb.smg.DeleteLastActiveBeforeDateResponse.displayName = 'proto.qb.smg.DeleteLastActiveBeforeDateResponse';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.qb.smg.IgnoreFrsRequest = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.qb.smg.IgnoreFrsRequest, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.qb.smg.IgnoreFrsRequest.displayName = 'proto.qb.smg.IgnoreFrsRequest';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.qb.smg.IgnoreFrsResponse = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, proto.qb.smg.IgnoreFrsResponse.repeatedFields_, null);\n};\ngoog.inherits(proto.qb.smg.IgnoreFrsResponse, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.qb.smg.IgnoreFrsResponse.displayName = 'proto.qb.smg.IgnoreFrsResponse';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.qb.smg.ResetIgnoreFrsRequest = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.qb.smg.ResetIgnoreFrsRequest, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.qb.smg.ResetIgnoreFrsRequest.displayName = 'proto.qb.smg.ResetIgnoreFrsRequest';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.qb.smg.ResetIgnoreFrsResponse = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.qb.smg.ResetIgnoreFrsResponse, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.qb.smg.ResetIgnoreFrsResponse.displayName = 'proto.qb.smg.ResetIgnoreFrsResponse';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.qb.smg.ResetShotCountRequest = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.qb.smg.ResetShotCountRequest, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.qb.smg.ResetShotCountRequest.displayName = 'proto.qb.smg.ResetShotCountRequest';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.qb.smg.ResetShotCountResponse = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.qb.smg.ResetShotCountResponse, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.qb.smg.ResetShotCountResponse.displayName = 'proto.qb.smg.ResetShotCountResponse';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.qb.smg.GetTransactionHistoryRequest = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.qb.smg.GetTransactionHistoryRequest, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.qb.smg.GetTransactionHistoryRequest.displayName = 'proto.qb.smg.GetTransactionHistoryRequest';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.qb.smg.GetTransactionHistoryReply = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, proto.qb.smg.GetTransactionHistoryReply.repeatedFields_, null);\n};\ngoog.inherits(proto.qb.smg.GetTransactionHistoryReply, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.qb.smg.GetTransactionHistoryReply.displayName = 'proto.qb.smg.GetTransactionHistoryReply';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.qb.smg.EnableAutoPlayRequest = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.qb.smg.EnableAutoPlayRequest, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.qb.smg.EnableAutoPlayRequest.displayName = 'proto.qb.smg.EnableAutoPlayRequest';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.qb.smg.EnableAutoPlayResponse = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.qb.smg.EnableAutoPlayResponse, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.qb.smg.EnableAutoPlayResponse.displayName = 'proto.qb.smg.EnableAutoPlayResponse';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.qb.smg.Challenge = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.qb.smg.Challenge, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.qb.smg.Challenge.displayName = 'proto.qb.smg.Challenge';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.qb.smg.Golf2Challenge = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.qb.smg.Golf2Challenge, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.qb.smg.Golf2Challenge.displayName = 'proto.qb.smg.Golf2Challenge';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.qb.smg.Golf2GameGreen = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.qb.smg.Golf2GameGreen, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.qb.smg.Golf2GameGreen.displayName = 'proto.qb.smg.Golf2GameGreen';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.qb.smg.Golf2GameHole = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.qb.smg.Golf2GameHole, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.qb.smg.Golf2GameHole.displayName = 'proto.qb.smg.Golf2GameHole';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.qb.smg.Golf2GameCircle = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.qb.smg.Golf2GameCircle, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.qb.smg.Golf2GameCircle.displayName = 'proto.qb.smg.Golf2GameCircle';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.qb.smg.Golf2GameDetails = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.qb.smg.Golf2GameDetails, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.qb.smg.Golf2GameDetails.displayName = 'proto.qb.smg.Golf2GameDetails';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.qb.smg.Bet = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, proto.qb.smg.Bet.repeatedFields_, null);\n};\ngoog.inherits(proto.qb.smg.Bet, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.qb.smg.Bet.displayName = 'proto.qb.smg.Bet';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.qb.smg.Payout = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.qb.smg.Payout, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.qb.smg.Payout.displayName = 'proto.qb.smg.Payout';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.qb.smg.Payline = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.qb.smg.Payline, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.qb.smg.Payline.displayName = 'proto.qb.smg.Payline';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.qb.smg.Session = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.qb.smg.Session, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.qb.smg.Session.displayName = 'proto.qb.smg.Session';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.qb.smg.User = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.qb.smg.User, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.qb.smg.User.displayName = 'proto.qb.smg.User';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.qb.smg.Location = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.qb.smg.Location, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.qb.smg.Location.displayName = 'proto.qb.smg.Location';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.qb.smg.VenueConfig = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.qb.smg.VenueConfig, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.qb.smg.VenueConfig.displayName = 'proto.qb.smg.VenueConfig';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.qb.smg.Error = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.qb.smg.Error, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.qb.smg.Error.displayName = 'proto.qb.smg.Error';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.qb.smg.Skills = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.qb.smg.Skills, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.qb.smg.Skills.displayName = 'proto.qb.smg.Skills';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.qb.smg.TransactionHistory = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.qb.smg.TransactionHistory, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.qb.smg.TransactionHistory.displayName = 'proto.qb.smg.TransactionHistory';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.qb.smg.SetWelcomeBonusRequest = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.qb.smg.SetWelcomeBonusRequest, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.qb.smg.SetWelcomeBonusRequest.displayName = 'proto.qb.smg.SetWelcomeBonusRequest';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.qb.smg.SetWelcomeBonusResponse = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.qb.smg.SetWelcomeBonusResponse, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.qb.smg.SetWelcomeBonusResponse.displayName = 'proto.qb.smg.SetWelcomeBonusResponse';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.qb.smg.EnableShawWalletRequest = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.qb.smg.EnableShawWalletRequest, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.qb.smg.EnableShawWalletRequest.displayName = 'proto.qb.smg.EnableShawWalletRequest';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.qb.smg.EnableShawWalletResponse = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.qb.smg.EnableShawWalletResponse, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.qb.smg.EnableShawWalletResponse.displayName = 'proto.qb.smg.EnableShawWalletResponse';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.qb.smg.ResetKycRequest = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.qb.smg.ResetKycRequest, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.qb.smg.ResetKycRequest.displayName = 'proto.qb.smg.ResetKycRequest';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.qb.smg.ResetKycReply = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.qb.smg.ResetKycReply, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.qb.smg.ResetKycReply.displayName = 'proto.qb.smg.ResetKycReply';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.qb.smg.GetPromosRequest = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.qb.smg.GetPromosRequest, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.qb.smg.GetPromosRequest.displayName = 'proto.qb.smg.GetPromosRequest';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.qb.smg.GetPromosResponse = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, proto.qb.smg.GetPromosResponse.repeatedFields_, null);\n};\ngoog.inherits(proto.qb.smg.GetPromosResponse, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.qb.smg.GetPromosResponse.displayName = 'proto.qb.smg.GetPromosResponse';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.qb.smg.Promo = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.qb.smg.Promo, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.qb.smg.Promo.displayName = 'proto.qb.smg.Promo';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.qb.smg.ActivatePromoRequest = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.qb.smg.ActivatePromoRequest, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.qb.smg.ActivatePromoRequest.displayName = 'proto.qb.smg.ActivatePromoRequest';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.qb.smg.ActivatePromoResponse = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.qb.smg.ActivatePromoResponse, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.qb.smg.ActivatePromoResponse.displayName = 'proto.qb.smg.ActivatePromoResponse';\n}\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.qb.smg.TournamentPlayerBet.prototype.toObject = function(opt_includeInstance) {\n  return proto.qb.smg.TournamentPlayerBet.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.qb.smg.TournamentPlayerBet} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.qb.smg.TournamentPlayerBet.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    betId: jspb.Message.getFieldWithDefault(msg, 1, 0),\n    state: jspb.Message.getFieldWithDefault(msg, 2, 0),\n    resolved: jspb.Message.getBooleanFieldWithDefault(msg, 3, false)\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.qb.smg.TournamentPlayerBet}\n */\nproto.qb.smg.TournamentPlayerBet.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.qb.smg.TournamentPlayerBet;\n  return proto.qb.smg.TournamentPlayerBet.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.qb.smg.TournamentPlayerBet} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.qb.smg.TournamentPlayerBet}\n */\nproto.qb.smg.TournamentPlayerBet.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {number} */ (reader.readInt32());\n      msg.setBetId(value);\n      break;\n    case 2:\n      var value = /** @type {!proto.qb.smg.TournamentPlayerBet.State} */ (reader.readEnum());\n      msg.setState(value);\n      break;\n    case 3:\n      var value = /** @type {boolean} */ (reader.readBool());\n      msg.setResolved(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.qb.smg.TournamentPlayerBet.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.qb.smg.TournamentPlayerBet.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.qb.smg.TournamentPlayerBet} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.qb.smg.TournamentPlayerBet.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getBetId();\n  if (f !== 0) {\n    writer.writeInt32(\n      1,\n      f\n    );\n  }\n  f = message.getState();\n  if (f !== 0.0) {\n    writer.writeEnum(\n      2,\n      f\n    );\n  }\n  f = message.getResolved();\n  if (f) {\n    writer.writeBool(\n      3,\n      f\n    );\n  }\n};\n\n\n/**\n * @enum {number}\n */\nproto.qb.smg.TournamentPlayerBet.State = {\n  PENDING: 0,\n  PLAYING: 1,\n  FINISHED: 2\n};\n\n/**\n * optional int32 bet_id = 1;\n * @return {number}\n */\nproto.qb.smg.TournamentPlayerBet.prototype.getBetId = function() {\n  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.qb.smg.TournamentPlayerBet} returns this\n */\nproto.qb.smg.TournamentPlayerBet.prototype.setBetId = function(value) {\n  return jspb.Message.setProto3IntField(this, 1, value);\n};\n\n\n/**\n * optional State state = 2;\n * @return {!proto.qb.smg.TournamentPlayerBet.State}\n */\nproto.qb.smg.TournamentPlayerBet.prototype.getState = function() {\n  return /** @type {!proto.qb.smg.TournamentPlayerBet.State} */ (jspb.Message.getFieldWithDefault(this, 2, 0));\n};\n\n\n/**\n * @param {!proto.qb.smg.TournamentPlayerBet.State} value\n * @return {!proto.qb.smg.TournamentPlayerBet} returns this\n */\nproto.qb.smg.TournamentPlayerBet.prototype.setState = function(value) {\n  return jspb.Message.setProto3EnumField(this, 2, value);\n};\n\n\n/**\n * optional bool resolved = 3;\n * @return {boolean}\n */\nproto.qb.smg.TournamentPlayerBet.prototype.getResolved = function() {\n  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 3, false));\n};\n\n\n/**\n * @param {boolean} value\n * @return {!proto.qb.smg.TournamentPlayerBet} returns this\n */\nproto.qb.smg.TournamentPlayerBet.prototype.setResolved = function(value) {\n  return jspb.Message.setProto3BooleanField(this, 3, value);\n};\n\n\n\n/**\n * List of repeated fields within this message type.\n * @private {!Array<number>}\n * @const\n */\nproto.qb.smg.TournamentPlayerDetails.repeatedFields_ = [3];\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.qb.smg.TournamentPlayerDetails.prototype.toObject = function(opt_includeInstance) {\n  return proto.qb.smg.TournamentPlayerDetails.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.qb.smg.TournamentPlayerDetails} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.qb.smg.TournamentPlayerDetails.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    playerId: jspb.Message.getFieldWithDefault(msg, 1, 0),\n    playerName: jspb.Message.getFieldWithDefault(msg, 2, \"\"),\n    betsList: jspb.Message.toObjectList(msg.getBetsList(),\n    proto.qb.smg.TournamentPlayerBet.toObject, includeInstance),\n    state: jspb.Message.getFieldWithDefault(msg, 4, 0),\n    won: jspb.Message.getBooleanFieldWithDefault(msg, 5, false),\n    score: jspb.Message.getFieldWithDefault(msg, 6, 0),\n    prize: jspb.Message.getFieldWithDefault(msg, 7, 0),\n    betentreefee: jspb.Message.getFieldWithDefault(msg, 8, 0),\n    rank: jspb.Message.getFieldWithDefault(msg, 9, 0)\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.qb.smg.TournamentPlayerDetails}\n */\nproto.qb.smg.TournamentPlayerDetails.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.qb.smg.TournamentPlayerDetails;\n  return proto.qb.smg.TournamentPlayerDetails.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.qb.smg.TournamentPlayerDetails} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.qb.smg.TournamentPlayerDetails}\n */\nproto.qb.smg.TournamentPlayerDetails.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {number} */ (reader.readInt32());\n      msg.setPlayerId(value);\n      break;\n    case 2:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setPlayerName(value);\n      break;\n    case 3:\n      var value = new proto.qb.smg.TournamentPlayerBet;\n      reader.readMessage(value,proto.qb.smg.TournamentPlayerBet.deserializeBinaryFromReader);\n      msg.addBets(value);\n      break;\n    case 4:\n      var value = /** @type {!proto.qb.smg.TournamentPlayerDetails.State} */ (reader.readEnum());\n      msg.setState(value);\n      break;\n    case 5:\n      var value = /** @type {boolean} */ (reader.readBool());\n      msg.setWon(value);\n      break;\n    case 6:\n      var value = /** @type {number} */ (reader.readInt32());\n      msg.setScore(value);\n      break;\n    case 7:\n      var value = /** @type {number} */ (reader.readInt32());\n      msg.setPrize(value);\n      break;\n    case 8:\n      var value = /** @type {number} */ (reader.readInt32());\n      msg.setBetentreefee(value);\n      break;\n    case 9:\n      var value = /** @type {number} */ (reader.readInt32());\n      msg.setRank(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.qb.smg.TournamentPlayerDetails.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.qb.smg.TournamentPlayerDetails.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.qb.smg.TournamentPlayerDetails} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.qb.smg.TournamentPlayerDetails.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getPlayerId();\n  if (f !== 0) {\n    writer.writeInt32(\n      1,\n      f\n    );\n  }\n  f = message.getPlayerName();\n  if (f.length > 0) {\n    writer.writeString(\n      2,\n      f\n    );\n  }\n  f = message.getBetsList();\n  if (f.length > 0) {\n    writer.writeRepeatedMessage(\n      3,\n      f,\n      proto.qb.smg.TournamentPlayerBet.serializeBinaryToWriter\n    );\n  }\n  f = message.getState();\n  if (f !== 0.0) {\n    writer.writeEnum(\n      4,\n      f\n    );\n  }\n  f = message.getWon();\n  if (f) {\n    writer.writeBool(\n      5,\n      f\n    );\n  }\n  f = message.getScore();\n  if (f !== 0) {\n    writer.writeInt32(\n      6,\n      f\n    );\n  }\n  f = message.getPrize();\n  if (f !== 0) {\n    writer.writeInt32(\n      7,\n      f\n    );\n  }\n  f = message.getBetentreefee();\n  if (f !== 0) {\n    writer.writeInt32(\n      8,\n      f\n    );\n  }\n  f = message.getRank();\n  if (f !== 0) {\n    writer.writeInt32(\n      9,\n      f\n    );\n  }\n};\n\n\n/**\n * @enum {number}\n */\nproto.qb.smg.TournamentPlayerDetails.State = {\n  PENDING: 0,\n  PLAYING: 1,\n  FINISHED: 2\n};\n\n/**\n * optional int32 player_id = 1;\n * @return {number}\n */\nproto.qb.smg.TournamentPlayerDetails.prototype.getPlayerId = function() {\n  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.qb.smg.TournamentPlayerDetails} returns this\n */\nproto.qb.smg.TournamentPlayerDetails.prototype.setPlayerId = function(value) {\n  return jspb.Message.setProto3IntField(this, 1, value);\n};\n\n\n/**\n * optional string player_name = 2;\n * @return {string}\n */\nproto.qb.smg.TournamentPlayerDetails.prototype.getPlayerName = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.qb.smg.TournamentPlayerDetails} returns this\n */\nproto.qb.smg.TournamentPlayerDetails.prototype.setPlayerName = function(value) {\n  return jspb.Message.setProto3StringField(this, 2, value);\n};\n\n\n/**\n * repeated TournamentPlayerBet bets = 3;\n * @return {!Array<!proto.qb.smg.TournamentPlayerBet>}\n */\nproto.qb.smg.TournamentPlayerDetails.prototype.getBetsList = function() {\n  return /** @type{!Array<!proto.qb.smg.TournamentPlayerBet>} */ (\n    jspb.Message.getRepeatedWrapperField(this, proto.qb.smg.TournamentPlayerBet, 3));\n};\n\n\n/**\n * @param {!Array<!proto.qb.smg.TournamentPlayerBet>} value\n * @return {!proto.qb.smg.TournamentPlayerDetails} returns this\n*/\nproto.qb.smg.TournamentPlayerDetails.prototype.setBetsList = function(value) {\n  return jspb.Message.setRepeatedWrapperField(this, 3, value);\n};\n\n\n/**\n * @param {!proto.qb.smg.TournamentPlayerBet=} opt_value\n * @param {number=} opt_index\n * @return {!proto.qb.smg.TournamentPlayerBet}\n */\nproto.qb.smg.TournamentPlayerDetails.prototype.addBets = function(opt_value, opt_index) {\n  return jspb.Message.addToRepeatedWrapperField(this, 3, opt_value, proto.qb.smg.TournamentPlayerBet, opt_index);\n};\n\n\n/**\n * Clears the list making it empty but non-null.\n * @return {!proto.qb.smg.TournamentPlayerDetails} returns this\n */\nproto.qb.smg.TournamentPlayerDetails.prototype.clearBetsList = function() {\n  return this.setBetsList([]);\n};\n\n\n/**\n * optional State state = 4;\n * @return {!proto.qb.smg.TournamentPlayerDetails.State}\n */\nproto.qb.smg.TournamentPlayerDetails.prototype.getState = function() {\n  return /** @type {!proto.qb.smg.TournamentPlayerDetails.State} */ (jspb.Message.getFieldWithDefault(this, 4, 0));\n};\n\n\n/**\n * @param {!proto.qb.smg.TournamentPlayerDetails.State} value\n * @return {!proto.qb.smg.TournamentPlayerDetails} returns this\n */\nproto.qb.smg.TournamentPlayerDetails.prototype.setState = function(value) {\n  return jspb.Message.setProto3EnumField(this, 4, value);\n};\n\n\n/**\n * optional bool won = 5;\n * @return {boolean}\n */\nproto.qb.smg.TournamentPlayerDetails.prototype.getWon = function() {\n  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 5, false));\n};\n\n\n/**\n * @param {boolean} value\n * @return {!proto.qb.smg.TournamentPlayerDetails} returns this\n */\nproto.qb.smg.TournamentPlayerDetails.prototype.setWon = function(value) {\n  return jspb.Message.setProto3BooleanField(this, 5, value);\n};\n\n\n/**\n * optional int32 score = 6;\n * @return {number}\n */\nproto.qb.smg.TournamentPlayerDetails.prototype.getScore = function() {\n  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 6, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.qb.smg.TournamentPlayerDetails} returns this\n */\nproto.qb.smg.TournamentPlayerDetails.prototype.setScore = function(value) {\n  return jspb.Message.setProto3IntField(this, 6, value);\n};\n\n\n/**\n * optional int32 prize = 7;\n * @return {number}\n */\nproto.qb.smg.TournamentPlayerDetails.prototype.getPrize = function() {\n  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 7, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.qb.smg.TournamentPlayerDetails} returns this\n */\nproto.qb.smg.TournamentPlayerDetails.prototype.setPrize = function(value) {\n  return jspb.Message.setProto3IntField(this, 7, value);\n};\n\n\n/**\n * optional int32 betEntreeFee = 8;\n * @return {number}\n */\nproto.qb.smg.TournamentPlayerDetails.prototype.getBetentreefee = function() {\n  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 8, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.qb.smg.TournamentPlayerDetails} returns this\n */\nproto.qb.smg.TournamentPlayerDetails.prototype.setBetentreefee = function(value) {\n  return jspb.Message.setProto3IntField(this, 8, value);\n};\n\n\n/**\n * optional int32 rank = 9;\n * @return {number}\n */\nproto.qb.smg.TournamentPlayerDetails.prototype.getRank = function() {\n  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 9, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.qb.smg.TournamentPlayerDetails} returns this\n */\nproto.qb.smg.TournamentPlayerDetails.prototype.setRank = function(value) {\n  return jspb.Message.setProto3IntField(this, 9, value);\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.qb.smg.TournamentOwner.prototype.toObject = function(opt_includeInstance) {\n  return proto.qb.smg.TournamentOwner.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.qb.smg.TournamentOwner} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.qb.smg.TournamentOwner.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    id: jspb.Message.getFieldWithDefault(msg, 1, 0),\n    username: jspb.Message.getFieldWithDefault(msg, 2, \"\"),\n    firstname: jspb.Message.getFieldWithDefault(msg, 3, \"\"),\n    lastname: jspb.Message.getFieldWithDefault(msg, 4, \"\")\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.qb.smg.TournamentOwner}\n */\nproto.qb.smg.TournamentOwner.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.qb.smg.TournamentOwner;\n  return proto.qb.smg.TournamentOwner.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.qb.smg.TournamentOwner} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.qb.smg.TournamentOwner}\n */\nproto.qb.smg.TournamentOwner.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {number} */ (reader.readInt32());\n      msg.setId(value);\n      break;\n    case 2:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setUsername(value);\n      break;\n    case 3:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setFirstname(value);\n      break;\n    case 4:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setLastname(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.qb.smg.TournamentOwner.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.qb.smg.TournamentOwner.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.qb.smg.TournamentOwner} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.qb.smg.TournamentOwner.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getId();\n  if (f !== 0) {\n    writer.writeInt32(\n      1,\n      f\n    );\n  }\n  f = message.getUsername();\n  if (f.length > 0) {\n    writer.writeString(\n      2,\n      f\n    );\n  }\n  f = message.getFirstname();\n  if (f.length > 0) {\n    writer.writeString(\n      3,\n      f\n    );\n  }\n  f = message.getLastname();\n  if (f.length > 0) {\n    writer.writeString(\n      4,\n      f\n    );\n  }\n};\n\n\n/**\n * optional int32 id = 1;\n * @return {number}\n */\nproto.qb.smg.TournamentOwner.prototype.getId = function() {\n  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.qb.smg.TournamentOwner} returns this\n */\nproto.qb.smg.TournamentOwner.prototype.setId = function(value) {\n  return jspb.Message.setProto3IntField(this, 1, value);\n};\n\n\n/**\n * optional string username = 2;\n * @return {string}\n */\nproto.qb.smg.TournamentOwner.prototype.getUsername = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.qb.smg.TournamentOwner} returns this\n */\nproto.qb.smg.TournamentOwner.prototype.setUsername = function(value) {\n  return jspb.Message.setProto3StringField(this, 2, value);\n};\n\n\n/**\n * optional string firstName = 3;\n * @return {string}\n */\nproto.qb.smg.TournamentOwner.prototype.getFirstname = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 3, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.qb.smg.TournamentOwner} returns this\n */\nproto.qb.smg.TournamentOwner.prototype.setFirstname = function(value) {\n  return jspb.Message.setProto3StringField(this, 3, value);\n};\n\n\n/**\n * optional string lastName = 4;\n * @return {string}\n */\nproto.qb.smg.TournamentOwner.prototype.getLastname = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 4, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.qb.smg.TournamentOwner} returns this\n */\nproto.qb.smg.TournamentOwner.prototype.setLastname = function(value) {\n  return jspb.Message.setProto3StringField(this, 4, value);\n};\n\n\n\n/**\n * List of repeated fields within this message type.\n * @private {!Array<number>}\n * @const\n */\nproto.qb.smg.Tournament.repeatedFields_ = [12,14,24];\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.qb.smg.Tournament.prototype.toObject = function(opt_includeInstance) {\n  return proto.qb.smg.Tournament.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.qb.smg.Tournament} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.qb.smg.Tournament.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    id: jspb.Message.getFieldWithDefault(msg, 1, 0),\n    name: jspb.Message.getFieldWithDefault(msg, 2, \"\"),\n    isprivate: jspb.Message.getBooleanFieldWithDefault(msg, 3, false),\n    criteriastates: jspb.Message.getFieldWithDefault(msg, 4, \"\"),\n    criteriacities: jspb.Message.getFieldWithDefault(msg, 5, \"\"),\n    criteriavenues: jspb.Message.getFieldWithDefault(msg, 6, \"\"),\n    entrybegindate: jspb.Message.getFieldWithDefault(msg, 7, 0),\n    entryenddate: jspb.Message.getFieldWithDefault(msg, 8, 0),\n    startdate: jspb.Message.getFieldWithDefault(msg, 23, 0),\n    finishdate: jspb.Message.getFieldWithDefault(msg, 21, 0),\n    minimumguaranteedpricepool: jspb.Message.getFieldWithDefault(msg, 9, 0),\n    entryfee: jspb.Message.getFieldWithDefault(msg, 10, 0),\n    rake: jspb.Message.getFieldWithDefault(msg, 11, 0),\n    prizepoolList: (f = jspb.Message.getRepeatedField(msg, 12)) == null ? undefined : f,\n    currentplayerdetails: (f = msg.getCurrentplayerdetails()) && proto.qb.smg.TournamentPlayerDetails.toObject(includeInstance, f),\n    playerdetailsList: jspb.Message.toObjectList(msg.getPlayerdetailsList(),\n    proto.qb.smg.TournamentPlayerDetails.toObject, includeInstance),\n    state: jspb.Message.getFieldWithDefault(msg, 15, 0),\n    maxparticipants: jspb.Message.getFieldWithDefault(msg, 16, 0),\n    totalshots: jspb.Message.getFieldWithDefault(msg, 17, 0),\n    owner: (f = msg.getOwner()) && proto.qb.smg.TournamentOwner.toObject(includeInstance, f),\n    expirationdate: jspb.Message.getFieldWithDefault(msg, 19, 0),\n    sponsorlogo: jspb.Message.getFieldWithDefault(msg, 20, \"\"),\n    tournamentCode: jspb.Message.getFieldWithDefault(msg, 22, \"\"),\n    questionsList: jspb.Message.toObjectList(msg.getQuestionsList(),\n    proto.qb.smg.TournamentSurveyQuestion.toObject, includeInstance),\n    physicalPrizing: jspb.Message.getBooleanFieldWithDefault(msg, 25, false),\n    venueId: jspb.Message.getFieldWithDefault(msg, 26, 0),\n    sponsorLandscapeLogo: jspb.Message.getFieldWithDefault(msg, 27, \"\")\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.qb.smg.Tournament}\n */\nproto.qb.smg.Tournament.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.qb.smg.Tournament;\n  return proto.qb.smg.Tournament.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.qb.smg.Tournament} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.qb.smg.Tournament}\n */\nproto.qb.smg.Tournament.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {number} */ (reader.readInt32());\n      msg.setId(value);\n      break;\n    case 2:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setName(value);\n      break;\n    case 3:\n      var value = /** @type {boolean} */ (reader.readBool());\n      msg.setIsprivate(value);\n      break;\n    case 4:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setCriteriastates(value);\n      break;\n    case 5:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setCriteriacities(value);\n      break;\n    case 6:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setCriteriavenues(value);\n      break;\n    case 7:\n      var value = /** @type {number} */ (reader.readInt64());\n      msg.setEntrybegindate(value);\n      break;\n    case 8:\n      var value = /** @type {number} */ (reader.readInt64());\n      msg.setEntryenddate(value);\n      break;\n    case 23:\n      var value = /** @type {number} */ (reader.readInt64());\n      msg.setStartdate(value);\n      break;\n    case 21:\n      var value = /** @type {number} */ (reader.readInt64());\n      msg.setFinishdate(value);\n      break;\n    case 9:\n      var value = /** @type {number} */ (reader.readInt32());\n      msg.setMinimumguaranteedpricepool(value);\n      break;\n    case 10:\n      var value = /** @type {number} */ (reader.readInt32());\n      msg.setEntryfee(value);\n      break;\n    case 11:\n      var value = /** @type {number} */ (reader.readInt32());\n      msg.setRake(value);\n      break;\n    case 12:\n      var values = /** @type {!Array<number>} */ (reader.isDelimited() ? reader.readPackedInt32() : [reader.readInt32()]);\n      for (var i = 0; i < values.length; i++) {\n        msg.addPrizepool(values[i]);\n      }\n      break;\n    case 13:\n      var value = new proto.qb.smg.TournamentPlayerDetails;\n      reader.readMessage(value,proto.qb.smg.TournamentPlayerDetails.deserializeBinaryFromReader);\n      msg.setCurrentplayerdetails(value);\n      break;\n    case 14:\n      var value = new proto.qb.smg.TournamentPlayerDetails;\n      reader.readMessage(value,proto.qb.smg.TournamentPlayerDetails.deserializeBinaryFromReader);\n      msg.addPlayerdetails(value);\n      break;\n    case 15:\n      var value = /** @type {!proto.qb.smg.TournamentState} */ (reader.readEnum());\n      msg.setState(value);\n      break;\n    case 16:\n      var value = /** @type {number} */ (reader.readInt32());\n      msg.setMaxparticipants(value);\n      break;\n    case 17:\n      var value = /** @type {number} */ (reader.readInt32());\n      msg.setTotalshots(value);\n      break;\n    case 18:\n      var value = new proto.qb.smg.TournamentOwner;\n      reader.readMessage(value,proto.qb.smg.TournamentOwner.deserializeBinaryFromReader);\n      msg.setOwner(value);\n      break;\n    case 19:\n      var value = /** @type {number} */ (reader.readInt64());\n      msg.setExpirationdate(value);\n      break;\n    case 20:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setSponsorlogo(value);\n      break;\n    case 22:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setTournamentCode(value);\n      break;\n    case 24:\n      var value = new proto.qb.smg.TournamentSurveyQuestion;\n      reader.readMessage(value,proto.qb.smg.TournamentSurveyQuestion.deserializeBinaryFromReader);\n      msg.addQuestions(value);\n      break;\n    case 25:\n      var value = /** @type {boolean} */ (reader.readBool());\n      msg.setPhysicalPrizing(value);\n      break;\n    case 26:\n      var value = /** @type {number} */ (reader.readInt32());\n      msg.setVenueId(value);\n      break;\n    case 27:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setSponsorLandscapeLogo(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.qb.smg.Tournament.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.qb.smg.Tournament.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.qb.smg.Tournament} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.qb.smg.Tournament.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getId();\n  if (f !== 0) {\n    writer.writeInt32(\n      1,\n      f\n    );\n  }\n  f = message.getName();\n  if (f.length > 0) {\n    writer.writeString(\n      2,\n      f\n    );\n  }\n  f = message.getIsprivate();\n  if (f) {\n    writer.writeBool(\n      3,\n      f\n    );\n  }\n  f = message.getCriteriastates();\n  if (f.length > 0) {\n    writer.writeString(\n      4,\n      f\n    );\n  }\n  f = message.getCriteriacities();\n  if (f.length > 0) {\n    writer.writeString(\n      5,\n      f\n    );\n  }\n  f = message.getCriteriavenues();\n  if (f.length > 0) {\n    writer.writeString(\n      6,\n      f\n    );\n  }\n  f = message.getEntrybegindate();\n  if (f !== 0) {\n    writer.writeInt64(\n      7,\n      f\n    );\n  }\n  f = message.getEntryenddate();\n  if (f !== 0) {\n    writer.writeInt64(\n      8,\n      f\n    );\n  }\n  f = message.getStartdate();\n  if (f !== 0) {\n    writer.writeInt64(\n      23,\n      f\n    );\n  }\n  f = message.getFinishdate();\n  if (f !== 0) {\n    writer.writeInt64(\n      21,\n      f\n    );\n  }\n  f = message.getMinimumguaranteedpricepool();\n  if (f !== 0) {\n    writer.writeInt32(\n      9,\n      f\n    );\n  }\n  f = message.getEntryfee();\n  if (f !== 0) {\n    writer.writeInt32(\n      10,\n      f\n    );\n  }\n  f = message.getRake();\n  if (f !== 0) {\n    writer.writeInt32(\n      11,\n      f\n    );\n  }\n  f = message.getPrizepoolList();\n  if (f.length > 0) {\n    writer.writePackedInt32(\n      12,\n      f\n    );\n  }\n  f = message.getCurrentplayerdetails();\n  if (f != null) {\n    writer.writeMessage(\n      13,\n      f,\n      proto.qb.smg.TournamentPlayerDetails.serializeBinaryToWriter\n    );\n  }\n  f = message.getPlayerdetailsList();\n  if (f.length > 0) {\n    writer.writeRepeatedMessage(\n      14,\n      f,\n      proto.qb.smg.TournamentPlayerDetails.serializeBinaryToWriter\n    );\n  }\n  f = message.getState();\n  if (f !== 0.0) {\n    writer.writeEnum(\n      15,\n      f\n    );\n  }\n  f = message.getMaxparticipants();\n  if (f !== 0) {\n    writer.writeInt32(\n      16,\n      f\n    );\n  }\n  f = message.getTotalshots();\n  if (f !== 0) {\n    writer.writeInt32(\n      17,\n      f\n    );\n  }\n  f = message.getOwner();\n  if (f != null) {\n    writer.writeMessage(\n      18,\n      f,\n      proto.qb.smg.TournamentOwner.serializeBinaryToWriter\n    );\n  }\n  f = message.getExpirationdate();\n  if (f !== 0) {\n    writer.writeInt64(\n      19,\n      f\n    );\n  }\n  f = message.getSponsorlogo();\n  if (f.length > 0) {\n    writer.writeString(\n      20,\n      f\n    );\n  }\n  f = message.getTournamentCode();\n  if (f.length > 0) {\n    writer.writeString(\n      22,\n      f\n    );\n  }\n  f = message.getQuestionsList();\n  if (f.length > 0) {\n    writer.writeRepeatedMessage(\n      24,\n      f,\n      proto.qb.smg.TournamentSurveyQuestion.serializeBinaryToWriter\n    );\n  }\n  f = message.getPhysicalPrizing();\n  if (f) {\n    writer.writeBool(\n      25,\n      f\n    );\n  }\n  f = message.getVenueId();\n  if (f !== 0) {\n    writer.writeInt32(\n      26,\n      f\n    );\n  }\n  f = message.getSponsorLandscapeLogo();\n  if (f.length > 0) {\n    writer.writeString(\n      27,\n      f\n    );\n  }\n};\n\n\n/**\n * optional int32 id = 1;\n * @return {number}\n */\nproto.qb.smg.Tournament.prototype.getId = function() {\n  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.qb.smg.Tournament} returns this\n */\nproto.qb.smg.Tournament.prototype.setId = function(value) {\n  return jspb.Message.setProto3IntField(this, 1, value);\n};\n\n\n/**\n * optional string name = 2;\n * @return {string}\n */\nproto.qb.smg.Tournament.prototype.getName = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.qb.smg.Tournament} returns this\n */\nproto.qb.smg.Tournament.prototype.setName = function(value) {\n  return jspb.Message.setProto3StringField(this, 2, value);\n};\n\n\n/**\n * optional bool isPrivate = 3;\n * @return {boolean}\n */\nproto.qb.smg.Tournament.prototype.getIsprivate = function() {\n  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 3, false));\n};\n\n\n/**\n * @param {boolean} value\n * @return {!proto.qb.smg.Tournament} returns this\n */\nproto.qb.smg.Tournament.prototype.setIsprivate = function(value) {\n  return jspb.Message.setProto3BooleanField(this, 3, value);\n};\n\n\n/**\n * optional string criteriaStates = 4;\n * @return {string}\n */\nproto.qb.smg.Tournament.prototype.getCriteriastates = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 4, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.qb.smg.Tournament} returns this\n */\nproto.qb.smg.Tournament.prototype.setCriteriastates = function(value) {\n  return jspb.Message.setProto3StringField(this, 4, value);\n};\n\n\n/**\n * optional string criteriaCities = 5;\n * @return {string}\n */\nproto.qb.smg.Tournament.prototype.getCriteriacities = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 5, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.qb.smg.Tournament} returns this\n */\nproto.qb.smg.Tournament.prototype.setCriteriacities = function(value) {\n  return jspb.Message.setProto3StringField(this, 5, value);\n};\n\n\n/**\n * optional string criteriaVenues = 6;\n * @return {string}\n */\nproto.qb.smg.Tournament.prototype.getCriteriavenues = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 6, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.qb.smg.Tournament} returns this\n */\nproto.qb.smg.Tournament.prototype.setCriteriavenues = function(value) {\n  return jspb.Message.setProto3StringField(this, 6, value);\n};\n\n\n/**\n * optional int64 entryBeginDate = 7;\n * @return {number}\n */\nproto.qb.smg.Tournament.prototype.getEntrybegindate = function() {\n  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 7, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.qb.smg.Tournament} returns this\n */\nproto.qb.smg.Tournament.prototype.setEntrybegindate = function(value) {\n  return jspb.Message.setProto3IntField(this, 7, value);\n};\n\n\n/**\n * optional int64 entryEndDate = 8;\n * @return {number}\n */\nproto.qb.smg.Tournament.prototype.getEntryenddate = function() {\n  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 8, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.qb.smg.Tournament} returns this\n */\nproto.qb.smg.Tournament.prototype.setEntryenddate = function(value) {\n  return jspb.Message.setProto3IntField(this, 8, value);\n};\n\n\n/**\n * optional int64 startDate = 23;\n * @return {number}\n */\nproto.qb.smg.Tournament.prototype.getStartdate = function() {\n  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 23, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.qb.smg.Tournament} returns this\n */\nproto.qb.smg.Tournament.prototype.setStartdate = function(value) {\n  return jspb.Message.setProto3IntField(this, 23, value);\n};\n\n\n/**\n * optional int64 finishDate = 21;\n * @return {number}\n */\nproto.qb.smg.Tournament.prototype.getFinishdate = function() {\n  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 21, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.qb.smg.Tournament} returns this\n */\nproto.qb.smg.Tournament.prototype.setFinishdate = function(value) {\n  return jspb.Message.setProto3IntField(this, 21, value);\n};\n\n\n/**\n * optional int32 minimumGuaranteedPricePool = 9;\n * @return {number}\n */\nproto.qb.smg.Tournament.prototype.getMinimumguaranteedpricepool = function() {\n  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 9, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.qb.smg.Tournament} returns this\n */\nproto.qb.smg.Tournament.prototype.setMinimumguaranteedpricepool = function(value) {\n  return jspb.Message.setProto3IntField(this, 9, value);\n};\n\n\n/**\n * optional int32 entryFee = 10;\n * @return {number}\n */\nproto.qb.smg.Tournament.prototype.getEntryfee = function() {\n  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 10, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.qb.smg.Tournament} returns this\n */\nproto.qb.smg.Tournament.prototype.setEntryfee = function(value) {\n  return jspb.Message.setProto3IntField(this, 10, value);\n};\n\n\n/**\n * optional int32 rake = 11;\n * @return {number}\n */\nproto.qb.smg.Tournament.prototype.getRake = function() {\n  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 11, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.qb.smg.Tournament} returns this\n */\nproto.qb.smg.Tournament.prototype.setRake = function(value) {\n  return jspb.Message.setProto3IntField(this, 11, value);\n};\n\n\n/**\n * repeated int32 prizePool = 12;\n * @return {!Array<number>}\n */\nproto.qb.smg.Tournament.prototype.getPrizepoolList = function() {\n  return /** @type {!Array<number>} */ (jspb.Message.getRepeatedField(this, 12));\n};\n\n\n/**\n * @param {!Array<number>} value\n * @return {!proto.qb.smg.Tournament} returns this\n */\nproto.qb.smg.Tournament.prototype.setPrizepoolList = function(value) {\n  return jspb.Message.setField(this, 12, value || []);\n};\n\n\n/**\n * @param {number} value\n * @param {number=} opt_index\n * @return {!proto.qb.smg.Tournament} returns this\n */\nproto.qb.smg.Tournament.prototype.addPrizepool = function(value, opt_index) {\n  return jspb.Message.addToRepeatedField(this, 12, value, opt_index);\n};\n\n\n/**\n * Clears the list making it empty but non-null.\n * @return {!proto.qb.smg.Tournament} returns this\n */\nproto.qb.smg.Tournament.prototype.clearPrizepoolList = function() {\n  return this.setPrizepoolList([]);\n};\n\n\n/**\n * optional TournamentPlayerDetails currentPlayerDetails = 13;\n * @return {?proto.qb.smg.TournamentPlayerDetails}\n */\nproto.qb.smg.Tournament.prototype.getCurrentplayerdetails = function() {\n  return /** @type{?proto.qb.smg.TournamentPlayerDetails} */ (\n    jspb.Message.getWrapperField(this, proto.qb.smg.TournamentPlayerDetails, 13));\n};\n\n\n/**\n * @param {?proto.qb.smg.TournamentPlayerDetails|undefined} value\n * @return {!proto.qb.smg.Tournament} returns this\n*/\nproto.qb.smg.Tournament.prototype.setCurrentplayerdetails = function(value) {\n  return jspb.Message.setWrapperField(this, 13, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.qb.smg.Tournament} returns this\n */\nproto.qb.smg.Tournament.prototype.clearCurrentplayerdetails = function() {\n  return this.setCurrentplayerdetails(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.qb.smg.Tournament.prototype.hasCurrentplayerdetails = function() {\n  return jspb.Message.getField(this, 13) != null;\n};\n\n\n/**\n * repeated TournamentPlayerDetails playerDetails = 14;\n * @return {!Array<!proto.qb.smg.TournamentPlayerDetails>}\n */\nproto.qb.smg.Tournament.prototype.getPlayerdetailsList = function() {\n  return /** @type{!Array<!proto.qb.smg.TournamentPlayerDetails>} */ (\n    jspb.Message.getRepeatedWrapperField(this, proto.qb.smg.TournamentPlayerDetails, 14));\n};\n\n\n/**\n * @param {!Array<!proto.qb.smg.TournamentPlayerDetails>} value\n * @return {!proto.qb.smg.Tournament} returns this\n*/\nproto.qb.smg.Tournament.prototype.setPlayerdetailsList = function(value) {\n  return jspb.Message.setRepeatedWrapperField(this, 14, value);\n};\n\n\n/**\n * @param {!proto.qb.smg.TournamentPlayerDetails=} opt_value\n * @param {number=} opt_index\n * @return {!proto.qb.smg.TournamentPlayerDetails}\n */\nproto.qb.smg.Tournament.prototype.addPlayerdetails = function(opt_value, opt_index) {\n  return jspb.Message.addToRepeatedWrapperField(this, 14, opt_value, proto.qb.smg.TournamentPlayerDetails, opt_index);\n};\n\n\n/**\n * Clears the list making it empty but non-null.\n * @return {!proto.qb.smg.Tournament} returns this\n */\nproto.qb.smg.Tournament.prototype.clearPlayerdetailsList = function() {\n  return this.setPlayerdetailsList([]);\n};\n\n\n/**\n * optional TournamentState state = 15;\n * @return {!proto.qb.smg.TournamentState}\n */\nproto.qb.smg.Tournament.prototype.getState = function() {\n  return /** @type {!proto.qb.smg.TournamentState} */ (jspb.Message.getFieldWithDefault(this, 15, 0));\n};\n\n\n/**\n * @param {!proto.qb.smg.TournamentState} value\n * @return {!proto.qb.smg.Tournament} returns this\n */\nproto.qb.smg.Tournament.prototype.setState = function(value) {\n  return jspb.Message.setProto3EnumField(this, 15, value);\n};\n\n\n/**\n * optional int32 maxParticipants = 16;\n * @return {number}\n */\nproto.qb.smg.Tournament.prototype.getMaxparticipants = function() {\n  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 16, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.qb.smg.Tournament} returns this\n */\nproto.qb.smg.Tournament.prototype.setMaxparticipants = function(value) {\n  return jspb.Message.setProto3IntField(this, 16, value);\n};\n\n\n/**\n * optional int32 totalShots = 17;\n * @return {number}\n */\nproto.qb.smg.Tournament.prototype.getTotalshots = function() {\n  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 17, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.qb.smg.Tournament} returns this\n */\nproto.qb.smg.Tournament.prototype.setTotalshots = function(value) {\n  return jspb.Message.setProto3IntField(this, 17, value);\n};\n\n\n/**\n * optional TournamentOwner owner = 18;\n * @return {?proto.qb.smg.TournamentOwner}\n */\nproto.qb.smg.Tournament.prototype.getOwner = function() {\n  return /** @type{?proto.qb.smg.TournamentOwner} */ (\n    jspb.Message.getWrapperField(this, proto.qb.smg.TournamentOwner, 18));\n};\n\n\n/**\n * @param {?proto.qb.smg.TournamentOwner|undefined} value\n * @return {!proto.qb.smg.Tournament} returns this\n*/\nproto.qb.smg.Tournament.prototype.setOwner = function(value) {\n  return jspb.Message.setWrapperField(this, 18, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.qb.smg.Tournament} returns this\n */\nproto.qb.smg.Tournament.prototype.clearOwner = function() {\n  return this.setOwner(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.qb.smg.Tournament.prototype.hasOwner = function() {\n  return jspb.Message.getField(this, 18) != null;\n};\n\n\n/**\n * optional int64 expirationDate = 19;\n * @return {number}\n */\nproto.qb.smg.Tournament.prototype.getExpirationdate = function() {\n  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 19, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.qb.smg.Tournament} returns this\n */\nproto.qb.smg.Tournament.prototype.setExpirationdate = function(value) {\n  return jspb.Message.setProto3IntField(this, 19, value);\n};\n\n\n/**\n * optional string sponsorLogo = 20;\n * @return {string}\n */\nproto.qb.smg.Tournament.prototype.getSponsorlogo = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 20, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.qb.smg.Tournament} returns this\n */\nproto.qb.smg.Tournament.prototype.setSponsorlogo = function(value) {\n  return jspb.Message.setProto3StringField(this, 20, value);\n};\n\n\n/**\n * optional string tournament_code = 22;\n * @return {string}\n */\nproto.qb.smg.Tournament.prototype.getTournamentCode = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 22, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.qb.smg.Tournament} returns this\n */\nproto.qb.smg.Tournament.prototype.setTournamentCode = function(value) {\n  return jspb.Message.setProto3StringField(this, 22, value);\n};\n\n\n/**\n * repeated TournamentSurveyQuestion questions = 24;\n * @return {!Array<!proto.qb.smg.TournamentSurveyQuestion>}\n */\nproto.qb.smg.Tournament.prototype.getQuestionsList = function() {\n  return /** @type{!Array<!proto.qb.smg.TournamentSurveyQuestion>} */ (\n    jspb.Message.getRepeatedWrapperField(this, proto.qb.smg.TournamentSurveyQuestion, 24));\n};\n\n\n/**\n * @param {!Array<!proto.qb.smg.TournamentSurveyQuestion>} value\n * @return {!proto.qb.smg.Tournament} returns this\n*/\nproto.qb.smg.Tournament.prototype.setQuestionsList = function(value) {\n  return jspb.Message.setRepeatedWrapperField(this, 24, value);\n};\n\n\n/**\n * @param {!proto.qb.smg.TournamentSurveyQuestion=} opt_value\n * @param {number=} opt_index\n * @return {!proto.qb.smg.TournamentSurveyQuestion}\n */\nproto.qb.smg.Tournament.prototype.addQuestions = function(opt_value, opt_index) {\n  return jspb.Message.addToRepeatedWrapperField(this, 24, opt_value, proto.qb.smg.TournamentSurveyQuestion, opt_index);\n};\n\n\n/**\n * Clears the list making it empty but non-null.\n * @return {!proto.qb.smg.Tournament} returns this\n */\nproto.qb.smg.Tournament.prototype.clearQuestionsList = function() {\n  return this.setQuestionsList([]);\n};\n\n\n/**\n * optional bool physical_prizing = 25;\n * @return {boolean}\n */\nproto.qb.smg.Tournament.prototype.getPhysicalPrizing = function() {\n  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 25, false));\n};\n\n\n/**\n * @param {boolean} value\n * @return {!proto.qb.smg.Tournament} returns this\n */\nproto.qb.smg.Tournament.prototype.setPhysicalPrizing = function(value) {\n  return jspb.Message.setProto3BooleanField(this, 25, value);\n};\n\n\n/**\n * optional int32 venue_id = 26;\n * @return {number}\n */\nproto.qb.smg.Tournament.prototype.getVenueId = function() {\n  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 26, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.qb.smg.Tournament} returns this\n */\nproto.qb.smg.Tournament.prototype.setVenueId = function(value) {\n  return jspb.Message.setProto3IntField(this, 26, value);\n};\n\n\n/**\n * optional string sponsor_landscape_logo = 27;\n * @return {string}\n */\nproto.qb.smg.Tournament.prototype.getSponsorLandscapeLogo = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 27, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.qb.smg.Tournament} returns this\n */\nproto.qb.smg.Tournament.prototype.setSponsorLandscapeLogo = function(value) {\n  return jspb.Message.setProto3StringField(this, 27, value);\n};\n\n\n\n/**\n * List of repeated fields within this message type.\n * @private {!Array<number>}\n * @const\n */\nproto.qb.smg.ListTournamentRequest.repeatedFields_ = [3];\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.qb.smg.ListTournamentRequest.prototype.toObject = function(opt_includeInstance) {\n  return proto.qb.smg.ListTournamentRequest.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.qb.smg.ListTournamentRequest} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.qb.smg.ListTournamentRequest.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    token: jspb.Message.getFieldWithDefault(msg, 1, \"\"),\n    mineonly: jspb.Message.getBooleanFieldWithDefault(msg, 4, false),\n    showlasttwodaysforpasttournaments: jspb.Message.getBooleanFieldWithDefault(msg, 6, false),\n    tournamentaccess: jspb.Message.getFieldWithDefault(msg, 2, 0),\n    statesList: (f = jspb.Message.getRepeatedField(msg, 3)) == null ? undefined : f,\n    sort: jspb.Message.getFieldWithDefault(msg, 5, 0)\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.qb.smg.ListTournamentRequest}\n */\nproto.qb.smg.ListTournamentRequest.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.qb.smg.ListTournamentRequest;\n  return proto.qb.smg.ListTournamentRequest.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.qb.smg.ListTournamentRequest} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.qb.smg.ListTournamentRequest}\n */\nproto.qb.smg.ListTournamentRequest.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setToken(value);\n      break;\n    case 4:\n      var value = /** @type {boolean} */ (reader.readBool());\n      msg.setMineonly(value);\n      break;\n    case 6:\n      var value = /** @type {boolean} */ (reader.readBool());\n      msg.setShowlasttwodaysforpasttournaments(value);\n      break;\n    case 2:\n      var value = /** @type {!proto.qb.smg.ListTournamentRequest.TournamentAccess} */ (reader.readEnum());\n      msg.setTournamentaccess(value);\n      break;\n    case 3:\n      var values = /** @type {!Array<!proto.qb.smg.TournamentState>} */ (reader.isDelimited() ? reader.readPackedEnum() : [reader.readEnum()]);\n      for (var i = 0; i < values.length; i++) {\n        msg.addStates(values[i]);\n      }\n      break;\n    case 5:\n      var value = /** @type {!proto.qb.smg.ListTournamentRequest.Sort} */ (reader.readEnum());\n      msg.setSort(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.qb.smg.ListTournamentRequest.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.qb.smg.ListTournamentRequest.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.qb.smg.ListTournamentRequest} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.qb.smg.ListTournamentRequest.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getToken();\n  if (f.length > 0) {\n    writer.writeString(\n      1,\n      f\n    );\n  }\n  f = message.getMineonly();\n  if (f) {\n    writer.writeBool(\n      4,\n      f\n    );\n  }\n  f = message.getShowlasttwodaysforpasttournaments();\n  if (f) {\n    writer.writeBool(\n      6,\n      f\n    );\n  }\n  f = message.getTournamentaccess();\n  if (f !== 0.0) {\n    writer.writeEnum(\n      2,\n      f\n    );\n  }\n  f = message.getStatesList();\n  if (f.length > 0) {\n    writer.writePackedEnum(\n      3,\n      f\n    );\n  }\n  f = message.getSort();\n  if (f !== 0.0) {\n    writer.writeEnum(\n      5,\n      f\n    );\n  }\n};\n\n\n/**\n * @enum {number}\n */\nproto.qb.smg.ListTournamentRequest.TournamentAccess = {\n  BOTH: 0,\n  PUBLIC: 1,\n  PRIVATE: 2\n};\n\n/**\n * @enum {number}\n */\nproto.qb.smg.ListTournamentRequest.Sort = {\n  DEFAULT: 0,\n  ENTRY_BEGIN_DATE_SOONEST: 1,\n  ENTRY_BEGIN_DATE_LATEST: 2,\n  ENTRY_END_DATE_SOONEST: 3,\n  ENTRY_END_DATE_LATEST: 4,\n  FINISH_TIME: 5,\n  START_TIME: 6\n};\n\n/**\n * optional string token = 1;\n * @return {string}\n */\nproto.qb.smg.ListTournamentRequest.prototype.getToken = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.qb.smg.ListTournamentRequest} returns this\n */\nproto.qb.smg.ListTournamentRequest.prototype.setToken = function(value) {\n  return jspb.Message.setProto3StringField(this, 1, value);\n};\n\n\n/**\n * optional bool mineOnly = 4;\n * @return {boolean}\n */\nproto.qb.smg.ListTournamentRequest.prototype.getMineonly = function() {\n  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 4, false));\n};\n\n\n/**\n * @param {boolean} value\n * @return {!proto.qb.smg.ListTournamentRequest} returns this\n */\nproto.qb.smg.ListTournamentRequest.prototype.setMineonly = function(value) {\n  return jspb.Message.setProto3BooleanField(this, 4, value);\n};\n\n\n/**\n * optional bool showLastTwoDaysForPastTournaments = 6;\n * @return {boolean}\n */\nproto.qb.smg.ListTournamentRequest.prototype.getShowlasttwodaysforpasttournaments = function() {\n  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 6, false));\n};\n\n\n/**\n * @param {boolean} value\n * @return {!proto.qb.smg.ListTournamentRequest} returns this\n */\nproto.qb.smg.ListTournamentRequest.prototype.setShowlasttwodaysforpasttournaments = function(value) {\n  return jspb.Message.setProto3BooleanField(this, 6, value);\n};\n\n\n/**\n * optional TournamentAccess tournamentAccess = 2;\n * @return {!proto.qb.smg.ListTournamentRequest.TournamentAccess}\n */\nproto.qb.smg.ListTournamentRequest.prototype.getTournamentaccess = function() {\n  return /** @type {!proto.qb.smg.ListTournamentRequest.TournamentAccess} */ (jspb.Message.getFieldWithDefault(this, 2, 0));\n};\n\n\n/**\n * @param {!proto.qb.smg.ListTournamentRequest.TournamentAccess} value\n * @return {!proto.qb.smg.ListTournamentRequest} returns this\n */\nproto.qb.smg.ListTournamentRequest.prototype.setTournamentaccess = function(value) {\n  return jspb.Message.setProto3EnumField(this, 2, value);\n};\n\n\n/**\n * repeated TournamentState states = 3;\n * @return {!Array<!proto.qb.smg.TournamentState>}\n */\nproto.qb.smg.ListTournamentRequest.prototype.getStatesList = function() {\n  return /** @type {!Array<!proto.qb.smg.TournamentState>} */ (jspb.Message.getRepeatedField(this, 3));\n};\n\n\n/**\n * @param {!Array<!proto.qb.smg.TournamentState>} value\n * @return {!proto.qb.smg.ListTournamentRequest} returns this\n */\nproto.qb.smg.ListTournamentRequest.prototype.setStatesList = function(value) {\n  return jspb.Message.setField(this, 3, value || []);\n};\n\n\n/**\n * @param {!proto.qb.smg.TournamentState} value\n * @param {number=} opt_index\n * @return {!proto.qb.smg.ListTournamentRequest} returns this\n */\nproto.qb.smg.ListTournamentRequest.prototype.addStates = function(value, opt_index) {\n  return jspb.Message.addToRepeatedField(this, 3, value, opt_index);\n};\n\n\n/**\n * Clears the list making it empty but non-null.\n * @return {!proto.qb.smg.ListTournamentRequest} returns this\n */\nproto.qb.smg.ListTournamentRequest.prototype.clearStatesList = function() {\n  return this.setStatesList([]);\n};\n\n\n/**\n * optional Sort sort = 5;\n * @return {!proto.qb.smg.ListTournamentRequest.Sort}\n */\nproto.qb.smg.ListTournamentRequest.prototype.getSort = function() {\n  return /** @type {!proto.qb.smg.ListTournamentRequest.Sort} */ (jspb.Message.getFieldWithDefault(this, 5, 0));\n};\n\n\n/**\n * @param {!proto.qb.smg.ListTournamentRequest.Sort} value\n * @return {!proto.qb.smg.ListTournamentRequest} returns this\n */\nproto.qb.smg.ListTournamentRequest.prototype.setSort = function(value) {\n  return jspb.Message.setProto3EnumField(this, 5, value);\n};\n\n\n\n/**\n * List of repeated fields within this message type.\n * @private {!Array<number>}\n * @const\n */\nproto.qb.smg.ListTournamentReply.repeatedFields_ = [3,4,5,6];\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.qb.smg.ListTournamentReply.prototype.toObject = function(opt_includeInstance) {\n  return proto.qb.smg.ListTournamentReply.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.qb.smg.ListTournamentReply} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.qb.smg.ListTournamentReply.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    success: jspb.Message.getBooleanFieldWithDefault(msg, 1, false),\n    error: (f = msg.getError()) && proto.qb.smg.Error.toObject(includeInstance, f),\n    tournamentsList: jspb.Message.toObjectList(msg.getTournamentsList(),\n    proto.qb.smg.Tournament.toObject, includeInstance),\n    activeTournamentsList: jspb.Message.toObjectList(msg.getActiveTournamentsList(),\n    proto.qb.smg.Tournament.toObject, includeInstance),\n    availableTournamentsList: jspb.Message.toObjectList(msg.getAvailableTournamentsList(),\n    proto.qb.smg.Tournament.toObject, includeInstance),\n    pastTournamentsList: jspb.Message.toObjectList(msg.getPastTournamentsList(),\n    proto.qb.smg.Tournament.toObject, includeInstance)\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.qb.smg.ListTournamentReply}\n */\nproto.qb.smg.ListTournamentReply.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.qb.smg.ListTournamentReply;\n  return proto.qb.smg.ListTournamentReply.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.qb.smg.ListTournamentReply} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.qb.smg.ListTournamentReply}\n */\nproto.qb.smg.ListTournamentReply.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {boolean} */ (reader.readBool());\n      msg.setSuccess(value);\n      break;\n    case 2:\n      var value = new proto.qb.smg.Error;\n      reader.readMessage(value,proto.qb.smg.Error.deserializeBinaryFromReader);\n      msg.setError(value);\n      break;\n    case 3:\n      var value = new proto.qb.smg.Tournament;\n      reader.readMessage(value,proto.qb.smg.Tournament.deserializeBinaryFromReader);\n      msg.addTournaments(value);\n      break;\n    case 4:\n      var value = new proto.qb.smg.Tournament;\n      reader.readMessage(value,proto.qb.smg.Tournament.deserializeBinaryFromReader);\n      msg.addActiveTournaments(value);\n      break;\n    case 5:\n      var value = new proto.qb.smg.Tournament;\n      reader.readMessage(value,proto.qb.smg.Tournament.deserializeBinaryFromReader);\n      msg.addAvailableTournaments(value);\n      break;\n    case 6:\n      var value = new proto.qb.smg.Tournament;\n      reader.readMessage(value,proto.qb.smg.Tournament.deserializeBinaryFromReader);\n      msg.addPastTournaments(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.qb.smg.ListTournamentReply.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.qb.smg.ListTournamentReply.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.qb.smg.ListTournamentReply} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.qb.smg.ListTournamentReply.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getSuccess();\n  if (f) {\n    writer.writeBool(\n      1,\n      f\n    );\n  }\n  f = message.getError();\n  if (f != null) {\n    writer.writeMessage(\n      2,\n      f,\n      proto.qb.smg.Error.serializeBinaryToWriter\n    );\n  }\n  f = message.getTournamentsList();\n  if (f.length > 0) {\n    writer.writeRepeatedMessage(\n      3,\n      f,\n      proto.qb.smg.Tournament.serializeBinaryToWriter\n    );\n  }\n  f = message.getActiveTournamentsList();\n  if (f.length > 0) {\n    writer.writeRepeatedMessage(\n      4,\n      f,\n      proto.qb.smg.Tournament.serializeBinaryToWriter\n    );\n  }\n  f = message.getAvailableTournamentsList();\n  if (f.length > 0) {\n    writer.writeRepeatedMessage(\n      5,\n      f,\n      proto.qb.smg.Tournament.serializeBinaryToWriter\n    );\n  }\n  f = message.getPastTournamentsList();\n  if (f.length > 0) {\n    writer.writeRepeatedMessage(\n      6,\n      f,\n      proto.qb.smg.Tournament.serializeBinaryToWriter\n    );\n  }\n};\n\n\n/**\n * optional bool success = 1;\n * @return {boolean}\n */\nproto.qb.smg.ListTournamentReply.prototype.getSuccess = function() {\n  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 1, false));\n};\n\n\n/**\n * @param {boolean} value\n * @return {!proto.qb.smg.ListTournamentReply} returns this\n */\nproto.qb.smg.ListTournamentReply.prototype.setSuccess = function(value) {\n  return jspb.Message.setProto3BooleanField(this, 1, value);\n};\n\n\n/**\n * optional Error error = 2;\n * @return {?proto.qb.smg.Error}\n */\nproto.qb.smg.ListTournamentReply.prototype.getError = function() {\n  return /** @type{?proto.qb.smg.Error} */ (\n    jspb.Message.getWrapperField(this, proto.qb.smg.Error, 2));\n};\n\n\n/**\n * @param {?proto.qb.smg.Error|undefined} value\n * @return {!proto.qb.smg.ListTournamentReply} returns this\n*/\nproto.qb.smg.ListTournamentReply.prototype.setError = function(value) {\n  return jspb.Message.setWrapperField(this, 2, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.qb.smg.ListTournamentReply} returns this\n */\nproto.qb.smg.ListTournamentReply.prototype.clearError = function() {\n  return this.setError(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.qb.smg.ListTournamentReply.prototype.hasError = function() {\n  return jspb.Message.getField(this, 2) != null;\n};\n\n\n/**\n * repeated Tournament tournaments = 3;\n * @return {!Array<!proto.qb.smg.Tournament>}\n */\nproto.qb.smg.ListTournamentReply.prototype.getTournamentsList = function() {\n  return /** @type{!Array<!proto.qb.smg.Tournament>} */ (\n    jspb.Message.getRepeatedWrapperField(this, proto.qb.smg.Tournament, 3));\n};\n\n\n/**\n * @param {!Array<!proto.qb.smg.Tournament>} value\n * @return {!proto.qb.smg.ListTournamentReply} returns this\n*/\nproto.qb.smg.ListTournamentReply.prototype.setTournamentsList = function(value) {\n  return jspb.Message.setRepeatedWrapperField(this, 3, value);\n};\n\n\n/**\n * @param {!proto.qb.smg.Tournament=} opt_value\n * @param {number=} opt_index\n * @return {!proto.qb.smg.Tournament}\n */\nproto.qb.smg.ListTournamentReply.prototype.addTournaments = function(opt_value, opt_index) {\n  return jspb.Message.addToRepeatedWrapperField(this, 3, opt_value, proto.qb.smg.Tournament, opt_index);\n};\n\n\n/**\n * Clears the list making it empty but non-null.\n * @return {!proto.qb.smg.ListTournamentReply} returns this\n */\nproto.qb.smg.ListTournamentReply.prototype.clearTournamentsList = function() {\n  return this.setTournamentsList([]);\n};\n\n\n/**\n * repeated Tournament active_tournaments = 4;\n * @return {!Array<!proto.qb.smg.Tournament>}\n */\nproto.qb.smg.ListTournamentReply.prototype.getActiveTournamentsList = function() {\n  return /** @type{!Array<!proto.qb.smg.Tournament>} */ (\n    jspb.Message.getRepeatedWrapperField(this, proto.qb.smg.Tournament, 4));\n};\n\n\n/**\n * @param {!Array<!proto.qb.smg.Tournament>} value\n * @return {!proto.qb.smg.ListTournamentReply} returns this\n*/\nproto.qb.smg.ListTournamentReply.prototype.setActiveTournamentsList = function(value) {\n  return jspb.Message.setRepeatedWrapperField(this, 4, value);\n};\n\n\n/**\n * @param {!proto.qb.smg.Tournament=} opt_value\n * @param {number=} opt_index\n * @return {!proto.qb.smg.Tournament}\n */\nproto.qb.smg.ListTournamentReply.prototype.addActiveTournaments = function(opt_value, opt_index) {\n  return jspb.Message.addToRepeatedWrapperField(this, 4, opt_value, proto.qb.smg.Tournament, opt_index);\n};\n\n\n/**\n * Clears the list making it empty but non-null.\n * @return {!proto.qb.smg.ListTournamentReply} returns this\n */\nproto.qb.smg.ListTournamentReply.prototype.clearActiveTournamentsList = function() {\n  return this.setActiveTournamentsList([]);\n};\n\n\n/**\n * repeated Tournament available_tournaments = 5;\n * @return {!Array<!proto.qb.smg.Tournament>}\n */\nproto.qb.smg.ListTournamentReply.prototype.getAvailableTournamentsList = function() {\n  return /** @type{!Array<!proto.qb.smg.Tournament>} */ (\n    jspb.Message.getRepeatedWrapperField(this, proto.qb.smg.Tournament, 5));\n};\n\n\n/**\n * @param {!Array<!proto.qb.smg.Tournament>} value\n * @return {!proto.qb.smg.ListTournamentReply} returns this\n*/\nproto.qb.smg.ListTournamentReply.prototype.setAvailableTournamentsList = function(value) {\n  return jspb.Message.setRepeatedWrapperField(this, 5, value);\n};\n\n\n/**\n * @param {!proto.qb.smg.Tournament=} opt_value\n * @param {number=} opt_index\n * @return {!proto.qb.smg.Tournament}\n */\nproto.qb.smg.ListTournamentReply.prototype.addAvailableTournaments = function(opt_value, opt_index) {\n  return jspb.Message.addToRepeatedWrapperField(this, 5, opt_value, proto.qb.smg.Tournament, opt_index);\n};\n\n\n/**\n * Clears the list making it empty but non-null.\n * @return {!proto.qb.smg.ListTournamentReply} returns this\n */\nproto.qb.smg.ListTournamentReply.prototype.clearAvailableTournamentsList = function() {\n  return this.setAvailableTournamentsList([]);\n};\n\n\n/**\n * repeated Tournament past_tournaments = 6;\n * @return {!Array<!proto.qb.smg.Tournament>}\n */\nproto.qb.smg.ListTournamentReply.prototype.getPastTournamentsList = function() {\n  return /** @type{!Array<!proto.qb.smg.Tournament>} */ (\n    jspb.Message.getRepeatedWrapperField(this, proto.qb.smg.Tournament, 6));\n};\n\n\n/**\n * @param {!Array<!proto.qb.smg.Tournament>} value\n * @return {!proto.qb.smg.ListTournamentReply} returns this\n*/\nproto.qb.smg.ListTournamentReply.prototype.setPastTournamentsList = function(value) {\n  return jspb.Message.setRepeatedWrapperField(this, 6, value);\n};\n\n\n/**\n * @param {!proto.qb.smg.Tournament=} opt_value\n * @param {number=} opt_index\n * @return {!proto.qb.smg.Tournament}\n */\nproto.qb.smg.ListTournamentReply.prototype.addPastTournaments = function(opt_value, opt_index) {\n  return jspb.Message.addToRepeatedWrapperField(this, 6, opt_value, proto.qb.smg.Tournament, opt_index);\n};\n\n\n/**\n * Clears the list making it empty but non-null.\n * @return {!proto.qb.smg.ListTournamentReply} returns this\n */\nproto.qb.smg.ListTournamentReply.prototype.clearPastTournamentsList = function() {\n  return this.setPastTournamentsList([]);\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.qb.smg.GetTournamentRequest.prototype.toObject = function(opt_includeInstance) {\n  return proto.qb.smg.GetTournamentRequest.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.qb.smg.GetTournamentRequest} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.qb.smg.GetTournamentRequest.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    token: jspb.Message.getFieldWithDefault(msg, 1, \"\"),\n    tournamentid: jspb.Message.getFieldWithDefault(msg, 2, 0)\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.qb.smg.GetTournamentRequest}\n */\nproto.qb.smg.GetTournamentRequest.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.qb.smg.GetTournamentRequest;\n  return proto.qb.smg.GetTournamentRequest.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.qb.smg.GetTournamentRequest} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.qb.smg.GetTournamentRequest}\n */\nproto.qb.smg.GetTournamentRequest.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setToken(value);\n      break;\n    case 2:\n      var value = /** @type {number} */ (reader.readInt32());\n      msg.setTournamentid(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.qb.smg.GetTournamentRequest.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.qb.smg.GetTournamentRequest.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.qb.smg.GetTournamentRequest} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.qb.smg.GetTournamentRequest.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getToken();\n  if (f.length > 0) {\n    writer.writeString(\n      1,\n      f\n    );\n  }\n  f = message.getTournamentid();\n  if (f !== 0) {\n    writer.writeInt32(\n      2,\n      f\n    );\n  }\n};\n\n\n/**\n * optional string token = 1;\n * @return {string}\n */\nproto.qb.smg.GetTournamentRequest.prototype.getToken = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.qb.smg.GetTournamentRequest} returns this\n */\nproto.qb.smg.GetTournamentRequest.prototype.setToken = function(value) {\n  return jspb.Message.setProto3StringField(this, 1, value);\n};\n\n\n/**\n * optional int32 tournamentId = 2;\n * @return {number}\n */\nproto.qb.smg.GetTournamentRequest.prototype.getTournamentid = function() {\n  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 2, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.qb.smg.GetTournamentRequest} returns this\n */\nproto.qb.smg.GetTournamentRequest.prototype.setTournamentid = function(value) {\n  return jspb.Message.setProto3IntField(this, 2, value);\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.qb.smg.GetTournamentReply.prototype.toObject = function(opt_includeInstance) {\n  return proto.qb.smg.GetTournamentReply.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.qb.smg.GetTournamentReply} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.qb.smg.GetTournamentReply.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    success: jspb.Message.getBooleanFieldWithDefault(msg, 1, false),\n    error: (f = msg.getError()) && proto.qb.smg.Error.toObject(includeInstance, f),\n    tournament: (f = msg.getTournament()) && proto.qb.smg.Tournament.toObject(includeInstance, f)\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.qb.smg.GetTournamentReply}\n */\nproto.qb.smg.GetTournamentReply.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.qb.smg.GetTournamentReply;\n  return proto.qb.smg.GetTournamentReply.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.qb.smg.GetTournamentReply} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.qb.smg.GetTournamentReply}\n */\nproto.qb.smg.GetTournamentReply.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {boolean} */ (reader.readBool());\n      msg.setSuccess(value);\n      break;\n    case 2:\n      var value = new proto.qb.smg.Error;\n      reader.readMessage(value,proto.qb.smg.Error.deserializeBinaryFromReader);\n      msg.setError(value);\n      break;\n    case 3:\n      var value = new proto.qb.smg.Tournament;\n      reader.readMessage(value,proto.qb.smg.Tournament.deserializeBinaryFromReader);\n      msg.setTournament(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.qb.smg.GetTournamentReply.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.qb.smg.GetTournamentReply.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.qb.smg.GetTournamentReply} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.qb.smg.GetTournamentReply.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getSuccess();\n  if (f) {\n    writer.writeBool(\n      1,\n      f\n    );\n  }\n  f = message.getError();\n  if (f != null) {\n    writer.writeMessage(\n      2,\n      f,\n      proto.qb.smg.Error.serializeBinaryToWriter\n    );\n  }\n  f = message.getTournament();\n  if (f != null) {\n    writer.writeMessage(\n      3,\n      f,\n      proto.qb.smg.Tournament.serializeBinaryToWriter\n    );\n  }\n};\n\n\n/**\n * optional bool success = 1;\n * @return {boolean}\n */\nproto.qb.smg.GetTournamentReply.prototype.getSuccess = function() {\n  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 1, false));\n};\n\n\n/**\n * @param {boolean} value\n * @return {!proto.qb.smg.GetTournamentReply} returns this\n */\nproto.qb.smg.GetTournamentReply.prototype.setSuccess = function(value) {\n  return jspb.Message.setProto3BooleanField(this, 1, value);\n};\n\n\n/**\n * optional Error error = 2;\n * @return {?proto.qb.smg.Error}\n */\nproto.qb.smg.GetTournamentReply.prototype.getError = function() {\n  return /** @type{?proto.qb.smg.Error} */ (\n    jspb.Message.getWrapperField(this, proto.qb.smg.Error, 2));\n};\n\n\n/**\n * @param {?proto.qb.smg.Error|undefined} value\n * @return {!proto.qb.smg.GetTournamentReply} returns this\n*/\nproto.qb.smg.GetTournamentReply.prototype.setError = function(value) {\n  return jspb.Message.setWrapperField(this, 2, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.qb.smg.GetTournamentReply} returns this\n */\nproto.qb.smg.GetTournamentReply.prototype.clearError = function() {\n  return this.setError(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.qb.smg.GetTournamentReply.prototype.hasError = function() {\n  return jspb.Message.getField(this, 2) != null;\n};\n\n\n/**\n * optional Tournament tournament = 3;\n * @return {?proto.qb.smg.Tournament}\n */\nproto.qb.smg.GetTournamentReply.prototype.getTournament = function() {\n  return /** @type{?proto.qb.smg.Tournament} */ (\n    jspb.Message.getWrapperField(this, proto.qb.smg.Tournament, 3));\n};\n\n\n/**\n * @param {?proto.qb.smg.Tournament|undefined} value\n * @return {!proto.qb.smg.GetTournamentReply} returns this\n*/\nproto.qb.smg.GetTournamentReply.prototype.setTournament = function(value) {\n  return jspb.Message.setWrapperField(this, 3, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.qb.smg.GetTournamentReply} returns this\n */\nproto.qb.smg.GetTournamentReply.prototype.clearTournament = function() {\n  return this.setTournament(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.qb.smg.GetTournamentReply.prototype.hasTournament = function() {\n  return jspb.Message.getField(this, 3) != null;\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.qb.smg.CreatePrivateTournamentRequest.prototype.toObject = function(opt_includeInstance) {\n  return proto.qb.smg.CreatePrivateTournamentRequest.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.qb.smg.CreatePrivateTournamentRequest} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.qb.smg.CreatePrivateTournamentRequest.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    token: jspb.Message.getFieldWithDefault(msg, 1, \"\"),\n    numberOfShots: jspb.Message.getFieldWithDefault(msg, 2, 0),\n    maxParticipants: jspb.Message.getFieldWithDefault(msg, 3, 0),\n    entreeFee: jspb.Message.getFieldWithDefault(msg, 4, 0)\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.qb.smg.CreatePrivateTournamentRequest}\n */\nproto.qb.smg.CreatePrivateTournamentRequest.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.qb.smg.CreatePrivateTournamentRequest;\n  return proto.qb.smg.CreatePrivateTournamentRequest.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.qb.smg.CreatePrivateTournamentRequest} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.qb.smg.CreatePrivateTournamentRequest}\n */\nproto.qb.smg.CreatePrivateTournamentRequest.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setToken(value);\n      break;\n    case 2:\n      var value = /** @type {number} */ (reader.readInt32());\n      msg.setNumberOfShots(value);\n      break;\n    case 3:\n      var value = /** @type {number} */ (reader.readInt32());\n      msg.setMaxParticipants(value);\n      break;\n    case 4:\n      var value = /** @type {number} */ (reader.readInt32());\n      msg.setEntreeFee(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.qb.smg.CreatePrivateTournamentRequest.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.qb.smg.CreatePrivateTournamentRequest.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.qb.smg.CreatePrivateTournamentRequest} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.qb.smg.CreatePrivateTournamentRequest.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getToken();\n  if (f.length > 0) {\n    writer.writeString(\n      1,\n      f\n    );\n  }\n  f = message.getNumberOfShots();\n  if (f !== 0) {\n    writer.writeInt32(\n      2,\n      f\n    );\n  }\n  f = message.getMaxParticipants();\n  if (f !== 0) {\n    writer.writeInt32(\n      3,\n      f\n    );\n  }\n  f = message.getEntreeFee();\n  if (f !== 0) {\n    writer.writeInt32(\n      4,\n      f\n    );\n  }\n};\n\n\n/**\n * optional string token = 1;\n * @return {string}\n */\nproto.qb.smg.CreatePrivateTournamentRequest.prototype.getToken = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.qb.smg.CreatePrivateTournamentRequest} returns this\n */\nproto.qb.smg.CreatePrivateTournamentRequest.prototype.setToken = function(value) {\n  return jspb.Message.setProto3StringField(this, 1, value);\n};\n\n\n/**\n * optional int32 number_of_shots = 2;\n * @return {number}\n */\nproto.qb.smg.CreatePrivateTournamentRequest.prototype.getNumberOfShots = function() {\n  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 2, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.qb.smg.CreatePrivateTournamentRequest} returns this\n */\nproto.qb.smg.CreatePrivateTournamentRequest.prototype.setNumberOfShots = function(value) {\n  return jspb.Message.setProto3IntField(this, 2, value);\n};\n\n\n/**\n * optional int32 max_participants = 3;\n * @return {number}\n */\nproto.qb.smg.CreatePrivateTournamentRequest.prototype.getMaxParticipants = function() {\n  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 3, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.qb.smg.CreatePrivateTournamentRequest} returns this\n */\nproto.qb.smg.CreatePrivateTournamentRequest.prototype.setMaxParticipants = function(value) {\n  return jspb.Message.setProto3IntField(this, 3, value);\n};\n\n\n/**\n * optional int32 entree_fee = 4;\n * @return {number}\n */\nproto.qb.smg.CreatePrivateTournamentRequest.prototype.getEntreeFee = function() {\n  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 4, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.qb.smg.CreatePrivateTournamentRequest} returns this\n */\nproto.qb.smg.CreatePrivateTournamentRequest.prototype.setEntreeFee = function(value) {\n  return jspb.Message.setProto3IntField(this, 4, value);\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.qb.smg.CreatePrivateTournamentReply.prototype.toObject = function(opt_includeInstance) {\n  return proto.qb.smg.CreatePrivateTournamentReply.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.qb.smg.CreatePrivateTournamentReply} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.qb.smg.CreatePrivateTournamentReply.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    success: jspb.Message.getBooleanFieldWithDefault(msg, 1, false),\n    error: (f = msg.getError()) && proto.qb.smg.Error.toObject(includeInstance, f),\n    newTournamentCode: jspb.Message.getFieldWithDefault(msg, 3, \"\"),\n    tournament: (f = msg.getTournament()) && proto.qb.smg.Tournament.toObject(includeInstance, f)\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.qb.smg.CreatePrivateTournamentReply}\n */\nproto.qb.smg.CreatePrivateTournamentReply.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.qb.smg.CreatePrivateTournamentReply;\n  return proto.qb.smg.CreatePrivateTournamentReply.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.qb.smg.CreatePrivateTournamentReply} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.qb.smg.CreatePrivateTournamentReply}\n */\nproto.qb.smg.CreatePrivateTournamentReply.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {boolean} */ (reader.readBool());\n      msg.setSuccess(value);\n      break;\n    case 2:\n      var value = new proto.qb.smg.Error;\n      reader.readMessage(value,proto.qb.smg.Error.deserializeBinaryFromReader);\n      msg.setError(value);\n      break;\n    case 3:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setNewTournamentCode(value);\n      break;\n    case 4:\n      var value = new proto.qb.smg.Tournament;\n      reader.readMessage(value,proto.qb.smg.Tournament.deserializeBinaryFromReader);\n      msg.setTournament(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.qb.smg.CreatePrivateTournamentReply.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.qb.smg.CreatePrivateTournamentReply.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.qb.smg.CreatePrivateTournamentReply} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.qb.smg.CreatePrivateTournamentReply.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getSuccess();\n  if (f) {\n    writer.writeBool(\n      1,\n      f\n    );\n  }\n  f = message.getError();\n  if (f != null) {\n    writer.writeMessage(\n      2,\n      f,\n      proto.qb.smg.Error.serializeBinaryToWriter\n    );\n  }\n  f = message.getNewTournamentCode();\n  if (f.length > 0) {\n    writer.writeString(\n      3,\n      f\n    );\n  }\n  f = message.getTournament();\n  if (f != null) {\n    writer.writeMessage(\n      4,\n      f,\n      proto.qb.smg.Tournament.serializeBinaryToWriter\n    );\n  }\n};\n\n\n/**\n * optional bool success = 1;\n * @return {boolean}\n */\nproto.qb.smg.CreatePrivateTournamentReply.prototype.getSuccess = function() {\n  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 1, false));\n};\n\n\n/**\n * @param {boolean} value\n * @return {!proto.qb.smg.CreatePrivateTournamentReply} returns this\n */\nproto.qb.smg.CreatePrivateTournamentReply.prototype.setSuccess = function(value) {\n  return jspb.Message.setProto3BooleanField(this, 1, value);\n};\n\n\n/**\n * optional Error error = 2;\n * @return {?proto.qb.smg.Error}\n */\nproto.qb.smg.CreatePrivateTournamentReply.prototype.getError = function() {\n  return /** @type{?proto.qb.smg.Error} */ (\n    jspb.Message.getWrapperField(this, proto.qb.smg.Error, 2));\n};\n\n\n/**\n * @param {?proto.qb.smg.Error|undefined} value\n * @return {!proto.qb.smg.CreatePrivateTournamentReply} returns this\n*/\nproto.qb.smg.CreatePrivateTournamentReply.prototype.setError = function(value) {\n  return jspb.Message.setWrapperField(this, 2, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.qb.smg.CreatePrivateTournamentReply} returns this\n */\nproto.qb.smg.CreatePrivateTournamentReply.prototype.clearError = function() {\n  return this.setError(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.qb.smg.CreatePrivateTournamentReply.prototype.hasError = function() {\n  return jspb.Message.getField(this, 2) != null;\n};\n\n\n/**\n * optional string new_tournament_code = 3;\n * @return {string}\n */\nproto.qb.smg.CreatePrivateTournamentReply.prototype.getNewTournamentCode = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 3, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.qb.smg.CreatePrivateTournamentReply} returns this\n */\nproto.qb.smg.CreatePrivateTournamentReply.prototype.setNewTournamentCode = function(value) {\n  return jspb.Message.setProto3StringField(this, 3, value);\n};\n\n\n/**\n * optional Tournament tournament = 4;\n * @return {?proto.qb.smg.Tournament}\n */\nproto.qb.smg.CreatePrivateTournamentReply.prototype.getTournament = function() {\n  return /** @type{?proto.qb.smg.Tournament} */ (\n    jspb.Message.getWrapperField(this, proto.qb.smg.Tournament, 4));\n};\n\n\n/**\n * @param {?proto.qb.smg.Tournament|undefined} value\n * @return {!proto.qb.smg.CreatePrivateTournamentReply} returns this\n*/\nproto.qb.smg.CreatePrivateTournamentReply.prototype.setTournament = function(value) {\n  return jspb.Message.setWrapperField(this, 4, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.qb.smg.CreatePrivateTournamentReply} returns this\n */\nproto.qb.smg.CreatePrivateTournamentReply.prototype.clearTournament = function() {\n  return this.setTournament(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.qb.smg.CreatePrivateTournamentReply.prototype.hasTournament = function() {\n  return jspb.Message.getField(this, 4) != null;\n};\n\n\n\n/**\n * List of repeated fields within this message type.\n * @private {!Array<number>}\n * @const\n */\nproto.qb.smg.JoinPrivateTournamentRequest.repeatedFields_ = [4];\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.qb.smg.JoinPrivateTournamentRequest.prototype.toObject = function(opt_includeInstance) {\n  return proto.qb.smg.JoinPrivateTournamentRequest.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.qb.smg.JoinPrivateTournamentRequest} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.qb.smg.JoinPrivateTournamentRequest.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    token: jspb.Message.getFieldWithDefault(msg, 1, \"\"),\n    code: jspb.Message.getFieldWithDefault(msg, 2, \"\"),\n    betentreefee: jspb.Message.getFieldWithDefault(msg, 3, 0),\n    surveyanswersList: jspb.Message.toObjectList(msg.getSurveyanswersList(),\n    proto.qb.smg.TournamentSurveyAnswer.toObject, includeInstance),\n    location: (f = msg.getLocation()) && proto.qb.smg.Location.toObject(includeInstance, f),\n    venueid: jspb.Message.getFieldWithDefault(msg, 102, 0)\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.qb.smg.JoinPrivateTournamentRequest}\n */\nproto.qb.smg.JoinPrivateTournamentRequest.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.qb.smg.JoinPrivateTournamentRequest;\n  return proto.qb.smg.JoinPrivateTournamentRequest.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.qb.smg.JoinPrivateTournamentRequest} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.qb.smg.JoinPrivateTournamentRequest}\n */\nproto.qb.smg.JoinPrivateTournamentRequest.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setToken(value);\n      break;\n    case 2:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setCode(value);\n      break;\n    case 3:\n      var value = /** @type {number} */ (reader.readInt32());\n      msg.setBetentreefee(value);\n      break;\n    case 4:\n      var value = new proto.qb.smg.TournamentSurveyAnswer;\n      reader.readMessage(value,proto.qb.smg.TournamentSurveyAnswer.deserializeBinaryFromReader);\n      msg.addSurveyanswers(value);\n      break;\n    case 101:\n      var value = new proto.qb.smg.Location;\n      reader.readMessage(value,proto.qb.smg.Location.deserializeBinaryFromReader);\n      msg.setLocation(value);\n      break;\n    case 102:\n      var value = /** @type {number} */ (reader.readInt32());\n      msg.setVenueid(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.qb.smg.JoinPrivateTournamentRequest.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.qb.smg.JoinPrivateTournamentRequest.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.qb.smg.JoinPrivateTournamentRequest} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.qb.smg.JoinPrivateTournamentRequest.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getToken();\n  if (f.length > 0) {\n    writer.writeString(\n      1,\n      f\n    );\n  }\n  f = message.getCode();\n  if (f.length > 0) {\n    writer.writeString(\n      2,\n      f\n    );\n  }\n  f = message.getBetentreefee();\n  if (f !== 0) {\n    writer.writeInt32(\n      3,\n      f\n    );\n  }\n  f = message.getSurveyanswersList();\n  if (f.length > 0) {\n    writer.writeRepeatedMessage(\n      4,\n      f,\n      proto.qb.smg.TournamentSurveyAnswer.serializeBinaryToWriter\n    );\n  }\n  f = message.getLocation();\n  if (f != null) {\n    writer.writeMessage(\n      101,\n      f,\n      proto.qb.smg.Location.serializeBinaryToWriter\n    );\n  }\n  f = message.getVenueid();\n  if (f !== 0) {\n    writer.writeInt32(\n      102,\n      f\n    );\n  }\n};\n\n\n/**\n * optional string token = 1;\n * @return {string}\n */\nproto.qb.smg.JoinPrivateTournamentRequest.prototype.getToken = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.qb.smg.JoinPrivateTournamentRequest} returns this\n */\nproto.qb.smg.JoinPrivateTournamentRequest.prototype.setToken = function(value) {\n  return jspb.Message.setProto3StringField(this, 1, value);\n};\n\n\n/**\n * optional string code = 2;\n * @return {string}\n */\nproto.qb.smg.JoinPrivateTournamentRequest.prototype.getCode = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.qb.smg.JoinPrivateTournamentRequest} returns this\n */\nproto.qb.smg.JoinPrivateTournamentRequest.prototype.setCode = function(value) {\n  return jspb.Message.setProto3StringField(this, 2, value);\n};\n\n\n/**\n * optional int32 betEntreeFee = 3;\n * @return {number}\n */\nproto.qb.smg.JoinPrivateTournamentRequest.prototype.getBetentreefee = function() {\n  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 3, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.qb.smg.JoinPrivateTournamentRequest} returns this\n */\nproto.qb.smg.JoinPrivateTournamentRequest.prototype.setBetentreefee = function(value) {\n  return jspb.Message.setProto3IntField(this, 3, value);\n};\n\n\n/**\n * repeated TournamentSurveyAnswer surveyAnswers = 4;\n * @return {!Array<!proto.qb.smg.TournamentSurveyAnswer>}\n */\nproto.qb.smg.JoinPrivateTournamentRequest.prototype.getSurveyanswersList = function() {\n  return /** @type{!Array<!proto.qb.smg.TournamentSurveyAnswer>} */ (\n    jspb.Message.getRepeatedWrapperField(this, proto.qb.smg.TournamentSurveyAnswer, 4));\n};\n\n\n/**\n * @param {!Array<!proto.qb.smg.TournamentSurveyAnswer>} value\n * @return {!proto.qb.smg.JoinPrivateTournamentRequest} returns this\n*/\nproto.qb.smg.JoinPrivateTournamentRequest.prototype.setSurveyanswersList = function(value) {\n  return jspb.Message.setRepeatedWrapperField(this, 4, value);\n};\n\n\n/**\n * @param {!proto.qb.smg.TournamentSurveyAnswer=} opt_value\n * @param {number=} opt_index\n * @return {!proto.qb.smg.TournamentSurveyAnswer}\n */\nproto.qb.smg.JoinPrivateTournamentRequest.prototype.addSurveyanswers = function(opt_value, opt_index) {\n  return jspb.Message.addToRepeatedWrapperField(this, 4, opt_value, proto.qb.smg.TournamentSurveyAnswer, opt_index);\n};\n\n\n/**\n * Clears the list making it empty but non-null.\n * @return {!proto.qb.smg.JoinPrivateTournamentRequest} returns this\n */\nproto.qb.smg.JoinPrivateTournamentRequest.prototype.clearSurveyanswersList = function() {\n  return this.setSurveyanswersList([]);\n};\n\n\n/**\n * optional Location location = 101;\n * @return {?proto.qb.smg.Location}\n */\nproto.qb.smg.JoinPrivateTournamentRequest.prototype.getLocation = function() {\n  return /** @type{?proto.qb.smg.Location} */ (\n    jspb.Message.getWrapperField(this, proto.qb.smg.Location, 101));\n};\n\n\n/**\n * @param {?proto.qb.smg.Location|undefined} value\n * @return {!proto.qb.smg.JoinPrivateTournamentRequest} returns this\n*/\nproto.qb.smg.JoinPrivateTournamentRequest.prototype.setLocation = function(value) {\n  return jspb.Message.setWrapperField(this, 101, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.qb.smg.JoinPrivateTournamentRequest} returns this\n */\nproto.qb.smg.JoinPrivateTournamentRequest.prototype.clearLocation = function() {\n  return this.setLocation(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.qb.smg.JoinPrivateTournamentRequest.prototype.hasLocation = function() {\n  return jspb.Message.getField(this, 101) != null;\n};\n\n\n/**\n * optional int32 venueId = 102;\n * @return {number}\n */\nproto.qb.smg.JoinPrivateTournamentRequest.prototype.getVenueid = function() {\n  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 102, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.qb.smg.JoinPrivateTournamentRequest} returns this\n */\nproto.qb.smg.JoinPrivateTournamentRequest.prototype.setVenueid = function(value) {\n  return jspb.Message.setProto3IntField(this, 102, value);\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.qb.smg.JoinPrivateTournamentReply.prototype.toObject = function(opt_includeInstance) {\n  return proto.qb.smg.JoinPrivateTournamentReply.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.qb.smg.JoinPrivateTournamentReply} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.qb.smg.JoinPrivateTournamentReply.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    success: jspb.Message.getBooleanFieldWithDefault(msg, 1, false),\n    error: (f = msg.getError()) && proto.qb.smg.Error.toObject(includeInstance, f),\n    tournament: (f = msg.getTournament()) && proto.qb.smg.Tournament.toObject(includeInstance, f)\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.qb.smg.JoinPrivateTournamentReply}\n */\nproto.qb.smg.JoinPrivateTournamentReply.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.qb.smg.JoinPrivateTournamentReply;\n  return proto.qb.smg.JoinPrivateTournamentReply.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.qb.smg.JoinPrivateTournamentReply} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.qb.smg.JoinPrivateTournamentReply}\n */\nproto.qb.smg.JoinPrivateTournamentReply.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {boolean} */ (reader.readBool());\n      msg.setSuccess(value);\n      break;\n    case 2:\n      var value = new proto.qb.smg.Error;\n      reader.readMessage(value,proto.qb.smg.Error.deserializeBinaryFromReader);\n      msg.setError(value);\n      break;\n    case 3:\n      var value = new proto.qb.smg.Tournament;\n      reader.readMessage(value,proto.qb.smg.Tournament.deserializeBinaryFromReader);\n      msg.setTournament(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.qb.smg.JoinPrivateTournamentReply.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.qb.smg.JoinPrivateTournamentReply.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.qb.smg.JoinPrivateTournamentReply} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.qb.smg.JoinPrivateTournamentReply.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getSuccess();\n  if (f) {\n    writer.writeBool(\n      1,\n      f\n    );\n  }\n  f = message.getError();\n  if (f != null) {\n    writer.writeMessage(\n      2,\n      f,\n      proto.qb.smg.Error.serializeBinaryToWriter\n    );\n  }\n  f = message.getTournament();\n  if (f != null) {\n    writer.writeMessage(\n      3,\n      f,\n      proto.qb.smg.Tournament.serializeBinaryToWriter\n    );\n  }\n};\n\n\n/**\n * optional bool success = 1;\n * @return {boolean}\n */\nproto.qb.smg.JoinPrivateTournamentReply.prototype.getSuccess = function() {\n  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 1, false));\n};\n\n\n/**\n * @param {boolean} value\n * @return {!proto.qb.smg.JoinPrivateTournamentReply} returns this\n */\nproto.qb.smg.JoinPrivateTournamentReply.prototype.setSuccess = function(value) {\n  return jspb.Message.setProto3BooleanField(this, 1, value);\n};\n\n\n/**\n * optional Error error = 2;\n * @return {?proto.qb.smg.Error}\n */\nproto.qb.smg.JoinPrivateTournamentReply.prototype.getError = function() {\n  return /** @type{?proto.qb.smg.Error} */ (\n    jspb.Message.getWrapperField(this, proto.qb.smg.Error, 2));\n};\n\n\n/**\n * @param {?proto.qb.smg.Error|undefined} value\n * @return {!proto.qb.smg.JoinPrivateTournamentReply} returns this\n*/\nproto.qb.smg.JoinPrivateTournamentReply.prototype.setError = function(value) {\n  return jspb.Message.setWrapperField(this, 2, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.qb.smg.JoinPrivateTournamentReply} returns this\n */\nproto.qb.smg.JoinPrivateTournamentReply.prototype.clearError = function() {\n  return this.setError(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.qb.smg.JoinPrivateTournamentReply.prototype.hasError = function() {\n  return jspb.Message.getField(this, 2) != null;\n};\n\n\n/**\n * optional Tournament tournament = 3;\n * @return {?proto.qb.smg.Tournament}\n */\nproto.qb.smg.JoinPrivateTournamentReply.prototype.getTournament = function() {\n  return /** @type{?proto.qb.smg.Tournament} */ (\n    jspb.Message.getWrapperField(this, proto.qb.smg.Tournament, 3));\n};\n\n\n/**\n * @param {?proto.qb.smg.Tournament|undefined} value\n * @return {!proto.qb.smg.JoinPrivateTournamentReply} returns this\n*/\nproto.qb.smg.JoinPrivateTournamentReply.prototype.setTournament = function(value) {\n  return jspb.Message.setWrapperField(this, 3, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.qb.smg.JoinPrivateTournamentReply} returns this\n */\nproto.qb.smg.JoinPrivateTournamentReply.prototype.clearTournament = function() {\n  return this.setTournament(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.qb.smg.JoinPrivateTournamentReply.prototype.hasTournament = function() {\n  return jspb.Message.getField(this, 3) != null;\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.qb.smg.VerifyPrivateTournamentCodeRequest.prototype.toObject = function(opt_includeInstance) {\n  return proto.qb.smg.VerifyPrivateTournamentCodeRequest.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.qb.smg.VerifyPrivateTournamentCodeRequest} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.qb.smg.VerifyPrivateTournamentCodeRequest.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    token: jspb.Message.getFieldWithDefault(msg, 1, \"\"),\n    code: jspb.Message.getFieldWithDefault(msg, 2, \"\"),\n    location: (f = msg.getLocation()) && proto.qb.smg.Location.toObject(includeInstance, f),\n    venueid: jspb.Message.getFieldWithDefault(msg, 102, 0)\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.qb.smg.VerifyPrivateTournamentCodeRequest}\n */\nproto.qb.smg.VerifyPrivateTournamentCodeRequest.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.qb.smg.VerifyPrivateTournamentCodeRequest;\n  return proto.qb.smg.VerifyPrivateTournamentCodeRequest.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.qb.smg.VerifyPrivateTournamentCodeRequest} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.qb.smg.VerifyPrivateTournamentCodeRequest}\n */\nproto.qb.smg.VerifyPrivateTournamentCodeRequest.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setToken(value);\n      break;\n    case 2:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setCode(value);\n      break;\n    case 101:\n      var value = new proto.qb.smg.Location;\n      reader.readMessage(value,proto.qb.smg.Location.deserializeBinaryFromReader);\n      msg.setLocation(value);\n      break;\n    case 102:\n      var value = /** @type {number} */ (reader.readInt32());\n      msg.setVenueid(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.qb.smg.VerifyPrivateTournamentCodeRequest.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.qb.smg.VerifyPrivateTournamentCodeRequest.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.qb.smg.VerifyPrivateTournamentCodeRequest} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.qb.smg.VerifyPrivateTournamentCodeRequest.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getToken();\n  if (f.length > 0) {\n    writer.writeString(\n      1,\n      f\n    );\n  }\n  f = message.getCode();\n  if (f.length > 0) {\n    writer.writeString(\n      2,\n      f\n    );\n  }\n  f = message.getLocation();\n  if (f != null) {\n    writer.writeMessage(\n      101,\n      f,\n      proto.qb.smg.Location.serializeBinaryToWriter\n    );\n  }\n  f = message.getVenueid();\n  if (f !== 0) {\n    writer.writeInt32(\n      102,\n      f\n    );\n  }\n};\n\n\n/**\n * optional string token = 1;\n * @return {string}\n */\nproto.qb.smg.VerifyPrivateTournamentCodeRequest.prototype.getToken = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.qb.smg.VerifyPrivateTournamentCodeRequest} returns this\n */\nproto.qb.smg.VerifyPrivateTournamentCodeRequest.prototype.setToken = function(value) {\n  return jspb.Message.setProto3StringField(this, 1, value);\n};\n\n\n/**\n * optional string code = 2;\n * @return {string}\n */\nproto.qb.smg.VerifyPrivateTournamentCodeRequest.prototype.getCode = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.qb.smg.VerifyPrivateTournamentCodeRequest} returns this\n */\nproto.qb.smg.VerifyPrivateTournamentCodeRequest.prototype.setCode = function(value) {\n  return jspb.Message.setProto3StringField(this, 2, value);\n};\n\n\n/**\n * optional Location location = 101;\n * @return {?proto.qb.smg.Location}\n */\nproto.qb.smg.VerifyPrivateTournamentCodeRequest.prototype.getLocation = function() {\n  return /** @type{?proto.qb.smg.Location} */ (\n    jspb.Message.getWrapperField(this, proto.qb.smg.Location, 101));\n};\n\n\n/**\n * @param {?proto.qb.smg.Location|undefined} value\n * @return {!proto.qb.smg.VerifyPrivateTournamentCodeRequest} returns this\n*/\nproto.qb.smg.VerifyPrivateTournamentCodeRequest.prototype.setLocation = function(value) {\n  return jspb.Message.setWrapperField(this, 101, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.qb.smg.VerifyPrivateTournamentCodeRequest} returns this\n */\nproto.qb.smg.VerifyPrivateTournamentCodeRequest.prototype.clearLocation = function() {\n  return this.setLocation(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.qb.smg.VerifyPrivateTournamentCodeRequest.prototype.hasLocation = function() {\n  return jspb.Message.getField(this, 101) != null;\n};\n\n\n/**\n * optional int32 venueId = 102;\n * @return {number}\n */\nproto.qb.smg.VerifyPrivateTournamentCodeRequest.prototype.getVenueid = function() {\n  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 102, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.qb.smg.VerifyPrivateTournamentCodeRequest} returns this\n */\nproto.qb.smg.VerifyPrivateTournamentCodeRequest.prototype.setVenueid = function(value) {\n  return jspb.Message.setProto3IntField(this, 102, value);\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.qb.smg.VerifyPrivateTournamentCodeReply.prototype.toObject = function(opt_includeInstance) {\n  return proto.qb.smg.VerifyPrivateTournamentCodeReply.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.qb.smg.VerifyPrivateTournamentCodeReply} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.qb.smg.VerifyPrivateTournamentCodeReply.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    success: jspb.Message.getBooleanFieldWithDefault(msg, 1, false),\n    error: (f = msg.getError()) && proto.qb.smg.Error.toObject(includeInstance, f),\n    tournament: (f = msg.getTournament()) && proto.qb.smg.Tournament.toObject(includeInstance, f)\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.qb.smg.VerifyPrivateTournamentCodeReply}\n */\nproto.qb.smg.VerifyPrivateTournamentCodeReply.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.qb.smg.VerifyPrivateTournamentCodeReply;\n  return proto.qb.smg.VerifyPrivateTournamentCodeReply.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.qb.smg.VerifyPrivateTournamentCodeReply} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.qb.smg.VerifyPrivateTournamentCodeReply}\n */\nproto.qb.smg.VerifyPrivateTournamentCodeReply.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {boolean} */ (reader.readBool());\n      msg.setSuccess(value);\n      break;\n    case 2:\n      var value = new proto.qb.smg.Error;\n      reader.readMessage(value,proto.qb.smg.Error.deserializeBinaryFromReader);\n      msg.setError(value);\n      break;\n    case 3:\n      var value = new proto.qb.smg.Tournament;\n      reader.readMessage(value,proto.qb.smg.Tournament.deserializeBinaryFromReader);\n      msg.setTournament(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.qb.smg.VerifyPrivateTournamentCodeReply.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.qb.smg.VerifyPrivateTournamentCodeReply.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.qb.smg.VerifyPrivateTournamentCodeReply} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.qb.smg.VerifyPrivateTournamentCodeReply.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getSuccess();\n  if (f) {\n    writer.writeBool(\n      1,\n      f\n    );\n  }\n  f = message.getError();\n  if (f != null) {\n    writer.writeMessage(\n      2,\n      f,\n      proto.qb.smg.Error.serializeBinaryToWriter\n    );\n  }\n  f = message.getTournament();\n  if (f != null) {\n    writer.writeMessage(\n      3,\n      f,\n      proto.qb.smg.Tournament.serializeBinaryToWriter\n    );\n  }\n};\n\n\n/**\n * optional bool success = 1;\n * @return {boolean}\n */\nproto.qb.smg.VerifyPrivateTournamentCodeReply.prototype.getSuccess = function() {\n  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 1, false));\n};\n\n\n/**\n * @param {boolean} value\n * @return {!proto.qb.smg.VerifyPrivateTournamentCodeReply} returns this\n */\nproto.qb.smg.VerifyPrivateTournamentCodeReply.prototype.setSuccess = function(value) {\n  return jspb.Message.setProto3BooleanField(this, 1, value);\n};\n\n\n/**\n * optional Error error = 2;\n * @return {?proto.qb.smg.Error}\n */\nproto.qb.smg.VerifyPrivateTournamentCodeReply.prototype.getError = function() {\n  return /** @type{?proto.qb.smg.Error} */ (\n    jspb.Message.getWrapperField(this, proto.qb.smg.Error, 2));\n};\n\n\n/**\n * @param {?proto.qb.smg.Error|undefined} value\n * @return {!proto.qb.smg.VerifyPrivateTournamentCodeReply} returns this\n*/\nproto.qb.smg.VerifyPrivateTournamentCodeReply.prototype.setError = function(value) {\n  return jspb.Message.setWrapperField(this, 2, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.qb.smg.VerifyPrivateTournamentCodeReply} returns this\n */\nproto.qb.smg.VerifyPrivateTournamentCodeReply.prototype.clearError = function() {\n  return this.setError(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.qb.smg.VerifyPrivateTournamentCodeReply.prototype.hasError = function() {\n  return jspb.Message.getField(this, 2) != null;\n};\n\n\n/**\n * optional Tournament tournament = 3;\n * @return {?proto.qb.smg.Tournament}\n */\nproto.qb.smg.VerifyPrivateTournamentCodeReply.prototype.getTournament = function() {\n  return /** @type{?proto.qb.smg.Tournament} */ (\n    jspb.Message.getWrapperField(this, proto.qb.smg.Tournament, 3));\n};\n\n\n/**\n * @param {?proto.qb.smg.Tournament|undefined} value\n * @return {!proto.qb.smg.VerifyPrivateTournamentCodeReply} returns this\n*/\nproto.qb.smg.VerifyPrivateTournamentCodeReply.prototype.setTournament = function(value) {\n  return jspb.Message.setWrapperField(this, 3, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.qb.smg.VerifyPrivateTournamentCodeReply} returns this\n */\nproto.qb.smg.VerifyPrivateTournamentCodeReply.prototype.clearTournament = function() {\n  return this.setTournament(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.qb.smg.VerifyPrivateTournamentCodeReply.prototype.hasTournament = function() {\n  return jspb.Message.getField(this, 3) != null;\n};\n\n\n\n/**\n * List of repeated fields within this message type.\n * @private {!Array<number>}\n * @const\n */\nproto.qb.smg.TournamentSurveyQuestion.repeatedFields_ = [4];\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.qb.smg.TournamentSurveyQuestion.prototype.toObject = function(opt_includeInstance) {\n  return proto.qb.smg.TournamentSurveyQuestion.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.qb.smg.TournamentSurveyQuestion} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.qb.smg.TournamentSurveyQuestion.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    id: jspb.Message.getFieldWithDefault(msg, 1, 0),\n    text: jspb.Message.getFieldWithDefault(msg, 2, \"\"),\n    type: jspb.Message.getFieldWithDefault(msg, 3, 0),\n    optionsList: (f = jspb.Message.getRepeatedField(msg, 4)) == null ? undefined : f\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.qb.smg.TournamentSurveyQuestion}\n */\nproto.qb.smg.TournamentSurveyQuestion.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.qb.smg.TournamentSurveyQuestion;\n  return proto.qb.smg.TournamentSurveyQuestion.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.qb.smg.TournamentSurveyQuestion} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.qb.smg.TournamentSurveyQuestion}\n */\nproto.qb.smg.TournamentSurveyQuestion.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {number} */ (reader.readInt32());\n      msg.setId(value);\n      break;\n    case 2:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setText(value);\n      break;\n    case 3:\n      var value = /** @type {!proto.qb.smg.TournamentSurveyQuestionType} */ (reader.readEnum());\n      msg.setType(value);\n      break;\n    case 4:\n      var value = /** @type {string} */ (reader.readString());\n      msg.addOptions(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.qb.smg.TournamentSurveyQuestion.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.qb.smg.TournamentSurveyQuestion.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.qb.smg.TournamentSurveyQuestion} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.qb.smg.TournamentSurveyQuestion.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getId();\n  if (f !== 0) {\n    writer.writeInt32(\n      1,\n      f\n    );\n  }\n  f = message.getText();\n  if (f.length > 0) {\n    writer.writeString(\n      2,\n      f\n    );\n  }\n  f = message.getType();\n  if (f !== 0.0) {\n    writer.writeEnum(\n      3,\n      f\n    );\n  }\n  f = message.getOptionsList();\n  if (f.length > 0) {\n    writer.writeRepeatedString(\n      4,\n      f\n    );\n  }\n};\n\n\n/**\n * optional int32 id = 1;\n * @return {number}\n */\nproto.qb.smg.TournamentSurveyQuestion.prototype.getId = function() {\n  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.qb.smg.TournamentSurveyQuestion} returns this\n */\nproto.qb.smg.TournamentSurveyQuestion.prototype.setId = function(value) {\n  return jspb.Message.setProto3IntField(this, 1, value);\n};\n\n\n/**\n * optional string text = 2;\n * @return {string}\n */\nproto.qb.smg.TournamentSurveyQuestion.prototype.getText = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.qb.smg.TournamentSurveyQuestion} returns this\n */\nproto.qb.smg.TournamentSurveyQuestion.prototype.setText = function(value) {\n  return jspb.Message.setProto3StringField(this, 2, value);\n};\n\n\n/**\n * optional TournamentSurveyQuestionType type = 3;\n * @return {!proto.qb.smg.TournamentSurveyQuestionType}\n */\nproto.qb.smg.TournamentSurveyQuestion.prototype.getType = function() {\n  return /** @type {!proto.qb.smg.TournamentSurveyQuestionType} */ (jspb.Message.getFieldWithDefault(this, 3, 0));\n};\n\n\n/**\n * @param {!proto.qb.smg.TournamentSurveyQuestionType} value\n * @return {!proto.qb.smg.TournamentSurveyQuestion} returns this\n */\nproto.qb.smg.TournamentSurveyQuestion.prototype.setType = function(value) {\n  return jspb.Message.setProto3EnumField(this, 3, value);\n};\n\n\n/**\n * repeated string options = 4;\n * @return {!Array<string>}\n */\nproto.qb.smg.TournamentSurveyQuestion.prototype.getOptionsList = function() {\n  return /** @type {!Array<string>} */ (jspb.Message.getRepeatedField(this, 4));\n};\n\n\n/**\n * @param {!Array<string>} value\n * @return {!proto.qb.smg.TournamentSurveyQuestion} returns this\n */\nproto.qb.smg.TournamentSurveyQuestion.prototype.setOptionsList = function(value) {\n  return jspb.Message.setField(this, 4, value || []);\n};\n\n\n/**\n * @param {string} value\n * @param {number=} opt_index\n * @return {!proto.qb.smg.TournamentSurveyQuestion} returns this\n */\nproto.qb.smg.TournamentSurveyQuestion.prototype.addOptions = function(value, opt_index) {\n  return jspb.Message.addToRepeatedField(this, 4, value, opt_index);\n};\n\n\n/**\n * Clears the list making it empty but non-null.\n * @return {!proto.qb.smg.TournamentSurveyQuestion} returns this\n */\nproto.qb.smg.TournamentSurveyQuestion.prototype.clearOptionsList = function() {\n  return this.setOptionsList([]);\n};\n\n\n\n/**\n * List of repeated fields within this message type.\n * @private {!Array<number>}\n * @const\n */\nproto.qb.smg.TournamentSurveyAnswer.repeatedFields_ = [2];\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.qb.smg.TournamentSurveyAnswer.prototype.toObject = function(opt_includeInstance) {\n  return proto.qb.smg.TournamentSurveyAnswer.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.qb.smg.TournamentSurveyAnswer} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.qb.smg.TournamentSurveyAnswer.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    questionid: jspb.Message.getFieldWithDefault(msg, 1, 0),\n    responseList: (f = jspb.Message.getRepeatedField(msg, 2)) == null ? undefined : f\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.qb.smg.TournamentSurveyAnswer}\n */\nproto.qb.smg.TournamentSurveyAnswer.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.qb.smg.TournamentSurveyAnswer;\n  return proto.qb.smg.TournamentSurveyAnswer.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.qb.smg.TournamentSurveyAnswer} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.qb.smg.TournamentSurveyAnswer}\n */\nproto.qb.smg.TournamentSurveyAnswer.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {number} */ (reader.readInt32());\n      msg.setQuestionid(value);\n      break;\n    case 2:\n      var value = /** @type {string} */ (reader.readString());\n      msg.addResponse(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.qb.smg.TournamentSurveyAnswer.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.qb.smg.TournamentSurveyAnswer.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.qb.smg.TournamentSurveyAnswer} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.qb.smg.TournamentSurveyAnswer.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getQuestionid();\n  if (f !== 0) {\n    writer.writeInt32(\n      1,\n      f\n    );\n  }\n  f = message.getResponseList();\n  if (f.length > 0) {\n    writer.writeRepeatedString(\n      2,\n      f\n    );\n  }\n};\n\n\n/**\n * optional int32 questionId = 1;\n * @return {number}\n */\nproto.qb.smg.TournamentSurveyAnswer.prototype.getQuestionid = function() {\n  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.qb.smg.TournamentSurveyAnswer} returns this\n */\nproto.qb.smg.TournamentSurveyAnswer.prototype.setQuestionid = function(value) {\n  return jspb.Message.setProto3IntField(this, 1, value);\n};\n\n\n/**\n * repeated string response = 2;\n * @return {!Array<string>}\n */\nproto.qb.smg.TournamentSurveyAnswer.prototype.getResponseList = function() {\n  return /** @type {!Array<string>} */ (jspb.Message.getRepeatedField(this, 2));\n};\n\n\n/**\n * @param {!Array<string>} value\n * @return {!proto.qb.smg.TournamentSurveyAnswer} returns this\n */\nproto.qb.smg.TournamentSurveyAnswer.prototype.setResponseList = function(value) {\n  return jspb.Message.setField(this, 2, value || []);\n};\n\n\n/**\n * @param {string} value\n * @param {number=} opt_index\n * @return {!proto.qb.smg.TournamentSurveyAnswer} returns this\n */\nproto.qb.smg.TournamentSurveyAnswer.prototype.addResponse = function(value, opt_index) {\n  return jspb.Message.addToRepeatedField(this, 2, value, opt_index);\n};\n\n\n/**\n * Clears the list making it empty but non-null.\n * @return {!proto.qb.smg.TournamentSurveyAnswer} returns this\n */\nproto.qb.smg.TournamentSurveyAnswer.prototype.clearResponseList = function() {\n  return this.setResponseList([]);\n};\n\n\n\n/**\n * List of repeated fields within this message type.\n * @private {!Array<number>}\n * @const\n */\nproto.qb.smg.JoinTournamentRequest.repeatedFields_ = [4];\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.qb.smg.JoinTournamentRequest.prototype.toObject = function(opt_includeInstance) {\n  return proto.qb.smg.JoinTournamentRequest.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.qb.smg.JoinTournamentRequest} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.qb.smg.JoinTournamentRequest.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    token: jspb.Message.getFieldWithDefault(msg, 1, \"\"),\n    tournamentid: jspb.Message.getFieldWithDefault(msg, 2, 0),\n    betentreefee: jspb.Message.getFieldWithDefault(msg, 3, 0),\n    surveyanswersList: jspb.Message.toObjectList(msg.getSurveyanswersList(),\n    proto.qb.smg.TournamentSurveyAnswer.toObject, includeInstance),\n    location: (f = msg.getLocation()) && proto.qb.smg.Location.toObject(includeInstance, f),\n    venueid: jspb.Message.getFieldWithDefault(msg, 102, 0)\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.qb.smg.JoinTournamentRequest}\n */\nproto.qb.smg.JoinTournamentRequest.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.qb.smg.JoinTournamentRequest;\n  return proto.qb.smg.JoinTournamentRequest.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.qb.smg.JoinTournamentRequest} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.qb.smg.JoinTournamentRequest}\n */\nproto.qb.smg.JoinTournamentRequest.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setToken(value);\n      break;\n    case 2:\n      var value = /** @type {number} */ (reader.readInt32());\n      msg.setTournamentid(value);\n      break;\n    case 3:\n      var value = /** @type {number} */ (reader.readInt32());\n      msg.setBetentreefee(value);\n      break;\n    case 4:\n      var value = new proto.qb.smg.TournamentSurveyAnswer;\n      reader.readMessage(value,proto.qb.smg.TournamentSurveyAnswer.deserializeBinaryFromReader);\n      msg.addSurveyanswers(value);\n      break;\n    case 101:\n      var value = new proto.qb.smg.Location;\n      reader.readMessage(value,proto.qb.smg.Location.deserializeBinaryFromReader);\n      msg.setLocation(value);\n      break;\n    case 102:\n      var value = /** @type {number} */ (reader.readInt32());\n      msg.setVenueid(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.qb.smg.JoinTournamentRequest.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.qb.smg.JoinTournamentRequest.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.qb.smg.JoinTournamentRequest} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.qb.smg.JoinTournamentRequest.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getToken();\n  if (f.length > 0) {\n    writer.writeString(\n      1,\n      f\n    );\n  }\n  f = message.getTournamentid();\n  if (f !== 0) {\n    writer.writeInt32(\n      2,\n      f\n    );\n  }\n  f = message.getBetentreefee();\n  if (f !== 0) {\n    writer.writeInt32(\n      3,\n      f\n    );\n  }\n  f = message.getSurveyanswersList();\n  if (f.length > 0) {\n    writer.writeRepeatedMessage(\n      4,\n      f,\n      proto.qb.smg.TournamentSurveyAnswer.serializeBinaryToWriter\n    );\n  }\n  f = message.getLocation();\n  if (f != null) {\n    writer.writeMessage(\n      101,\n      f,\n      proto.qb.smg.Location.serializeBinaryToWriter\n    );\n  }\n  f = message.getVenueid();\n  if (f !== 0) {\n    writer.writeInt32(\n      102,\n      f\n    );\n  }\n};\n\n\n/**\n * optional string token = 1;\n * @return {string}\n */\nproto.qb.smg.JoinTournamentRequest.prototype.getToken = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.qb.smg.JoinTournamentRequest} returns this\n */\nproto.qb.smg.JoinTournamentRequest.prototype.setToken = function(value) {\n  return jspb.Message.setProto3StringField(this, 1, value);\n};\n\n\n/**\n * optional int32 tournamentId = 2;\n * @return {number}\n */\nproto.qb.smg.JoinTournamentRequest.prototype.getTournamentid = function() {\n  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 2, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.qb.smg.JoinTournamentRequest} returns this\n */\nproto.qb.smg.JoinTournamentRequest.prototype.setTournamentid = function(value) {\n  return jspb.Message.setProto3IntField(this, 2, value);\n};\n\n\n/**\n * optional int32 betEntreeFee = 3;\n * @return {number}\n */\nproto.qb.smg.JoinTournamentRequest.prototype.getBetentreefee = function() {\n  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 3, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.qb.smg.JoinTournamentRequest} returns this\n */\nproto.qb.smg.JoinTournamentRequest.prototype.setBetentreefee = function(value) {\n  return jspb.Message.setProto3IntField(this, 3, value);\n};\n\n\n/**\n * repeated TournamentSurveyAnswer surveyAnswers = 4;\n * @return {!Array<!proto.qb.smg.TournamentSurveyAnswer>}\n */\nproto.qb.smg.JoinTournamentRequest.prototype.getSurveyanswersList = function() {\n  return /** @type{!Array<!proto.qb.smg.TournamentSurveyAnswer>} */ (\n    jspb.Message.getRepeatedWrapperField(this, proto.qb.smg.TournamentSurveyAnswer, 4));\n};\n\n\n/**\n * @param {!Array<!proto.qb.smg.TournamentSurveyAnswer>} value\n * @return {!proto.qb.smg.JoinTournamentRequest} returns this\n*/\nproto.qb.smg.JoinTournamentRequest.prototype.setSurveyanswersList = function(value) {\n  return jspb.Message.setRepeatedWrapperField(this, 4, value);\n};\n\n\n/**\n * @param {!proto.qb.smg.TournamentSurveyAnswer=} opt_value\n * @param {number=} opt_index\n * @return {!proto.qb.smg.TournamentSurveyAnswer}\n */\nproto.qb.smg.JoinTournamentRequest.prototype.addSurveyanswers = function(opt_value, opt_index) {\n  return jspb.Message.addToRepeatedWrapperField(this, 4, opt_value, proto.qb.smg.TournamentSurveyAnswer, opt_index);\n};\n\n\n/**\n * Clears the list making it empty but non-null.\n * @return {!proto.qb.smg.JoinTournamentRequest} returns this\n */\nproto.qb.smg.JoinTournamentRequest.prototype.clearSurveyanswersList = function() {\n  return this.setSurveyanswersList([]);\n};\n\n\n/**\n * optional Location location = 101;\n * @return {?proto.qb.smg.Location}\n */\nproto.qb.smg.JoinTournamentRequest.prototype.getLocation = function() {\n  return /** @type{?proto.qb.smg.Location} */ (\n    jspb.Message.getWrapperField(this, proto.qb.smg.Location, 101));\n};\n\n\n/**\n * @param {?proto.qb.smg.Location|undefined} value\n * @return {!proto.qb.smg.JoinTournamentRequest} returns this\n*/\nproto.qb.smg.JoinTournamentRequest.prototype.setLocation = function(value) {\n  return jspb.Message.setWrapperField(this, 101, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.qb.smg.JoinTournamentRequest} returns this\n */\nproto.qb.smg.JoinTournamentRequest.prototype.clearLocation = function() {\n  return this.setLocation(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.qb.smg.JoinTournamentRequest.prototype.hasLocation = function() {\n  return jspb.Message.getField(this, 101) != null;\n};\n\n\n/**\n * optional int32 venueId = 102;\n * @return {number}\n */\nproto.qb.smg.JoinTournamentRequest.prototype.getVenueid = function() {\n  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 102, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.qb.smg.JoinTournamentRequest} returns this\n */\nproto.qb.smg.JoinTournamentRequest.prototype.setVenueid = function(value) {\n  return jspb.Message.setProto3IntField(this, 102, value);\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.qb.smg.JoinTournamentReply.prototype.toObject = function(opt_includeInstance) {\n  return proto.qb.smg.JoinTournamentReply.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.qb.smg.JoinTournamentReply} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.qb.smg.JoinTournamentReply.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    success: jspb.Message.getBooleanFieldWithDefault(msg, 1, false),\n    error: (f = msg.getError()) && proto.qb.smg.Error.toObject(includeInstance, f)\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.qb.smg.JoinTournamentReply}\n */\nproto.qb.smg.JoinTournamentReply.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.qb.smg.JoinTournamentReply;\n  return proto.qb.smg.JoinTournamentReply.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.qb.smg.JoinTournamentReply} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.qb.smg.JoinTournamentReply}\n */\nproto.qb.smg.JoinTournamentReply.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {boolean} */ (reader.readBool());\n      msg.setSuccess(value);\n      break;\n    case 2:\n      var value = new proto.qb.smg.Error;\n      reader.readMessage(value,proto.qb.smg.Error.deserializeBinaryFromReader);\n      msg.setError(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.qb.smg.JoinTournamentReply.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.qb.smg.JoinTournamentReply.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.qb.smg.JoinTournamentReply} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.qb.smg.JoinTournamentReply.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getSuccess();\n  if (f) {\n    writer.writeBool(\n      1,\n      f\n    );\n  }\n  f = message.getError();\n  if (f != null) {\n    writer.writeMessage(\n      2,\n      f,\n      proto.qb.smg.Error.serializeBinaryToWriter\n    );\n  }\n};\n\n\n/**\n * optional bool success = 1;\n * @return {boolean}\n */\nproto.qb.smg.JoinTournamentReply.prototype.getSuccess = function() {\n  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 1, false));\n};\n\n\n/**\n * @param {boolean} value\n * @return {!proto.qb.smg.JoinTournamentReply} returns this\n */\nproto.qb.smg.JoinTournamentReply.prototype.setSuccess = function(value) {\n  return jspb.Message.setProto3BooleanField(this, 1, value);\n};\n\n\n/**\n * optional Error error = 2;\n * @return {?proto.qb.smg.Error}\n */\nproto.qb.smg.JoinTournamentReply.prototype.getError = function() {\n  return /** @type{?proto.qb.smg.Error} */ (\n    jspb.Message.getWrapperField(this, proto.qb.smg.Error, 2));\n};\n\n\n/**\n * @param {?proto.qb.smg.Error|undefined} value\n * @return {!proto.qb.smg.JoinTournamentReply} returns this\n*/\nproto.qb.smg.JoinTournamentReply.prototype.setError = function(value) {\n  return jspb.Message.setWrapperField(this, 2, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.qb.smg.JoinTournamentReply} returns this\n */\nproto.qb.smg.JoinTournamentReply.prototype.clearError = function() {\n  return this.setError(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.qb.smg.JoinTournamentReply.prototype.hasError = function() {\n  return jspb.Message.getField(this, 2) != null;\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.qb.smg.LeaveTournamentRequest.prototype.toObject = function(opt_includeInstance) {\n  return proto.qb.smg.LeaveTournamentRequest.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.qb.smg.LeaveTournamentRequest} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.qb.smg.LeaveTournamentRequest.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    token: jspb.Message.getFieldWithDefault(msg, 1, \"\"),\n    tournamentid: jspb.Message.getFieldWithDefault(msg, 2, 0)\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.qb.smg.LeaveTournamentRequest}\n */\nproto.qb.smg.LeaveTournamentRequest.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.qb.smg.LeaveTournamentRequest;\n  return proto.qb.smg.LeaveTournamentRequest.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.qb.smg.LeaveTournamentRequest} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.qb.smg.LeaveTournamentRequest}\n */\nproto.qb.smg.LeaveTournamentRequest.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setToken(value);\n      break;\n    case 2:\n      var value = /** @type {number} */ (reader.readInt32());\n      msg.setTournamentid(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.qb.smg.LeaveTournamentRequest.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.qb.smg.LeaveTournamentRequest.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.qb.smg.LeaveTournamentRequest} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.qb.smg.LeaveTournamentRequest.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getToken();\n  if (f.length > 0) {\n    writer.writeString(\n      1,\n      f\n    );\n  }\n  f = message.getTournamentid();\n  if (f !== 0) {\n    writer.writeInt32(\n      2,\n      f\n    );\n  }\n};\n\n\n/**\n * optional string token = 1;\n * @return {string}\n */\nproto.qb.smg.LeaveTournamentRequest.prototype.getToken = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.qb.smg.LeaveTournamentRequest} returns this\n */\nproto.qb.smg.LeaveTournamentRequest.prototype.setToken = function(value) {\n  return jspb.Message.setProto3StringField(this, 1, value);\n};\n\n\n/**\n * optional int32 tournamentId = 2;\n * @return {number}\n */\nproto.qb.smg.LeaveTournamentRequest.prototype.getTournamentid = function() {\n  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 2, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.qb.smg.LeaveTournamentRequest} returns this\n */\nproto.qb.smg.LeaveTournamentRequest.prototype.setTournamentid = function(value) {\n  return jspb.Message.setProto3IntField(this, 2, value);\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.qb.smg.LeaveTournamentReply.prototype.toObject = function(opt_includeInstance) {\n  return proto.qb.smg.LeaveTournamentReply.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.qb.smg.LeaveTournamentReply} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.qb.smg.LeaveTournamentReply.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    success: jspb.Message.getBooleanFieldWithDefault(msg, 1, false),\n    error: (f = msg.getError()) && proto.qb.smg.Error.toObject(includeInstance, f)\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.qb.smg.LeaveTournamentReply}\n */\nproto.qb.smg.LeaveTournamentReply.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.qb.smg.LeaveTournamentReply;\n  return proto.qb.smg.LeaveTournamentReply.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.qb.smg.LeaveTournamentReply} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.qb.smg.LeaveTournamentReply}\n */\nproto.qb.smg.LeaveTournamentReply.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {boolean} */ (reader.readBool());\n      msg.setSuccess(value);\n      break;\n    case 2:\n      var value = new proto.qb.smg.Error;\n      reader.readMessage(value,proto.qb.smg.Error.deserializeBinaryFromReader);\n      msg.setError(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.qb.smg.LeaveTournamentReply.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.qb.smg.LeaveTournamentReply.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.qb.smg.LeaveTournamentReply} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.qb.smg.LeaveTournamentReply.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getSuccess();\n  if (f) {\n    writer.writeBool(\n      1,\n      f\n    );\n  }\n  f = message.getError();\n  if (f != null) {\n    writer.writeMessage(\n      2,\n      f,\n      proto.qb.smg.Error.serializeBinaryToWriter\n    );\n  }\n};\n\n\n/**\n * optional bool success = 1;\n * @return {boolean}\n */\nproto.qb.smg.LeaveTournamentReply.prototype.getSuccess = function() {\n  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 1, false));\n};\n\n\n/**\n * @param {boolean} value\n * @return {!proto.qb.smg.LeaveTournamentReply} returns this\n */\nproto.qb.smg.LeaveTournamentReply.prototype.setSuccess = function(value) {\n  return jspb.Message.setProto3BooleanField(this, 1, value);\n};\n\n\n/**\n * optional Error error = 2;\n * @return {?proto.qb.smg.Error}\n */\nproto.qb.smg.LeaveTournamentReply.prototype.getError = function() {\n  return /** @type{?proto.qb.smg.Error} */ (\n    jspb.Message.getWrapperField(this, proto.qb.smg.Error, 2));\n};\n\n\n/**\n * @param {?proto.qb.smg.Error|undefined} value\n * @return {!proto.qb.smg.LeaveTournamentReply} returns this\n*/\nproto.qb.smg.LeaveTournamentReply.prototype.setError = function(value) {\n  return jspb.Message.setWrapperField(this, 2, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.qb.smg.LeaveTournamentReply} returns this\n */\nproto.qb.smg.LeaveTournamentReply.prototype.clearError = function() {\n  return this.setError(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.qb.smg.LeaveTournamentReply.prototype.hasError = function() {\n  return jspb.Message.getField(this, 2) != null;\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.qb.smg.GetTournamentLeaderBoardRequest.prototype.toObject = function(opt_includeInstance) {\n  return proto.qb.smg.GetTournamentLeaderBoardRequest.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.qb.smg.GetTournamentLeaderBoardRequest} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.qb.smg.GetTournamentLeaderBoardRequest.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    token: jspb.Message.getFieldWithDefault(msg, 1, \"\"),\n    playerid: jspb.Message.getFieldWithDefault(msg, 2, 0),\n    tournamentid: jspb.Message.getFieldWithDefault(msg, 3, 0),\n    topn: jspb.Message.getFieldWithDefault(msg, 4, 0)\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.qb.smg.GetTournamentLeaderBoardRequest}\n */\nproto.qb.smg.GetTournamentLeaderBoardRequest.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.qb.smg.GetTournamentLeaderBoardRequest;\n  return proto.qb.smg.GetTournamentLeaderBoardRequest.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.qb.smg.GetTournamentLeaderBoardRequest} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.qb.smg.GetTournamentLeaderBoardRequest}\n */\nproto.qb.smg.GetTournamentLeaderBoardRequest.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setToken(value);\n      break;\n    case 2:\n      var value = /** @type {number} */ (reader.readInt64());\n      msg.setPlayerid(value);\n      break;\n    case 3:\n      var value = /** @type {number} */ (reader.readInt32());\n      msg.setTournamentid(value);\n      break;\n    case 4:\n      var value = /** @type {number} */ (reader.readInt32());\n      msg.setTopn(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.qb.smg.GetTournamentLeaderBoardRequest.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.qb.smg.GetTournamentLeaderBoardRequest.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.qb.smg.GetTournamentLeaderBoardRequest} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.qb.smg.GetTournamentLeaderBoardRequest.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getToken();\n  if (f.length > 0) {\n    writer.writeString(\n      1,\n      f\n    );\n  }\n  f = message.getPlayerid();\n  if (f !== 0) {\n    writer.writeInt64(\n      2,\n      f\n    );\n  }\n  f = message.getTournamentid();\n  if (f !== 0) {\n    writer.writeInt32(\n      3,\n      f\n    );\n  }\n  f = message.getTopn();\n  if (f !== 0) {\n    writer.writeInt32(\n      4,\n      f\n    );\n  }\n};\n\n\n/**\n * optional string token = 1;\n * @return {string}\n */\nproto.qb.smg.GetTournamentLeaderBoardRequest.prototype.getToken = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.qb.smg.GetTournamentLeaderBoardRequest} returns this\n */\nproto.qb.smg.GetTournamentLeaderBoardRequest.prototype.setToken = function(value) {\n  return jspb.Message.setProto3StringField(this, 1, value);\n};\n\n\n/**\n * optional int64 playerId = 2;\n * @return {number}\n */\nproto.qb.smg.GetTournamentLeaderBoardRequest.prototype.getPlayerid = function() {\n  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 2, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.qb.smg.GetTournamentLeaderBoardRequest} returns this\n */\nproto.qb.smg.GetTournamentLeaderBoardRequest.prototype.setPlayerid = function(value) {\n  return jspb.Message.setProto3IntField(this, 2, value);\n};\n\n\n/**\n * optional int32 tournamentId = 3;\n * @return {number}\n */\nproto.qb.smg.GetTournamentLeaderBoardRequest.prototype.getTournamentid = function() {\n  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 3, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.qb.smg.GetTournamentLeaderBoardRequest} returns this\n */\nproto.qb.smg.GetTournamentLeaderBoardRequest.prototype.setTournamentid = function(value) {\n  return jspb.Message.setProto3IntField(this, 3, value);\n};\n\n\n/**\n * optional int32 topN = 4;\n * @return {number}\n */\nproto.qb.smg.GetTournamentLeaderBoardRequest.prototype.getTopn = function() {\n  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 4, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.qb.smg.GetTournamentLeaderBoardRequest} returns this\n */\nproto.qb.smg.GetTournamentLeaderBoardRequest.prototype.setTopn = function(value) {\n  return jspb.Message.setProto3IntField(this, 4, value);\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.qb.smg.TournamentLeaderBoardEntry.prototype.toObject = function(opt_includeInstance) {\n  return proto.qb.smg.TournamentLeaderBoardEntry.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.qb.smg.TournamentLeaderBoardEntry} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.qb.smg.TournamentLeaderBoardEntry.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    rank: jspb.Message.getFieldWithDefault(msg, 1, 0),\n    playerusername: jspb.Message.getFieldWithDefault(msg, 2, \"\"),\n    playerfirstname: jspb.Message.getFieldWithDefault(msg, 3, \"\"),\n    playerlastname: jspb.Message.getFieldWithDefault(msg, 4, \"\"),\n    score: jspb.Message.getFieldWithDefault(msg, 5, 0),\n    shotscompleted: jspb.Message.getFieldWithDefault(msg, 6, 0),\n    iscurrentuser: jspb.Message.getBooleanFieldWithDefault(msg, 7, false),\n    playerusernameid: jspb.Message.getFieldWithDefault(msg, 8, \"\")\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.qb.smg.TournamentLeaderBoardEntry}\n */\nproto.qb.smg.TournamentLeaderBoardEntry.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.qb.smg.TournamentLeaderBoardEntry;\n  return proto.qb.smg.TournamentLeaderBoardEntry.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.qb.smg.TournamentLeaderBoardEntry} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.qb.smg.TournamentLeaderBoardEntry}\n */\nproto.qb.smg.TournamentLeaderBoardEntry.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {number} */ (reader.readInt32());\n      msg.setRank(value);\n      break;\n    case 2:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setPlayerusername(value);\n      break;\n    case 3:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setPlayerfirstname(value);\n      break;\n    case 4:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setPlayerlastname(value);\n      break;\n    case 5:\n      var value = /** @type {number} */ (reader.readInt32());\n      msg.setScore(value);\n      break;\n    case 6:\n      var value = /** @type {number} */ (reader.readInt32());\n      msg.setShotscompleted(value);\n      break;\n    case 7:\n      var value = /** @type {boolean} */ (reader.readBool());\n      msg.setIscurrentuser(value);\n      break;\n    case 8:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setPlayerusernameid(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.qb.smg.TournamentLeaderBoardEntry.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.qb.smg.TournamentLeaderBoardEntry.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.qb.smg.TournamentLeaderBoardEntry} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.qb.smg.TournamentLeaderBoardEntry.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getRank();\n  if (f !== 0) {\n    writer.writeInt32(\n      1,\n      f\n    );\n  }\n  f = message.getPlayerusername();\n  if (f.length > 0) {\n    writer.writeString(\n      2,\n      f\n    );\n  }\n  f = message.getPlayerfirstname();\n  if (f.length > 0) {\n    writer.writeString(\n      3,\n      f\n    );\n  }\n  f = message.getPlayerlastname();\n  if (f.length > 0) {\n    writer.writeString(\n      4,\n      f\n    );\n  }\n  f = message.getScore();\n  if (f !== 0) {\n    writer.writeInt32(\n      5,\n      f\n    );\n  }\n  f = message.getShotscompleted();\n  if (f !== 0) {\n    writer.writeInt32(\n      6,\n      f\n    );\n  }\n  f = message.getIscurrentuser();\n  if (f) {\n    writer.writeBool(\n      7,\n      f\n    );\n  }\n  f = message.getPlayerusernameid();\n  if (f.length > 0) {\n    writer.writeString(\n      8,\n      f\n    );\n  }\n};\n\n\n/**\n * optional int32 rank = 1;\n * @return {number}\n */\nproto.qb.smg.TournamentLeaderBoardEntry.prototype.getRank = function() {\n  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.qb.smg.TournamentLeaderBoardEntry} returns this\n */\nproto.qb.smg.TournamentLeaderBoardEntry.prototype.setRank = function(value) {\n  return jspb.Message.setProto3IntField(this, 1, value);\n};\n\n\n/**\n * optional string playerUsername = 2;\n * @return {string}\n */\nproto.qb.smg.TournamentLeaderBoardEntry.prototype.getPlayerusername = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.qb.smg.TournamentLeaderBoardEntry} returns this\n */\nproto.qb.smg.TournamentLeaderBoardEntry.prototype.setPlayerusername = function(value) {\n  return jspb.Message.setProto3StringField(this, 2, value);\n};\n\n\n/**\n * optional string playerFirstName = 3;\n * @return {string}\n */\nproto.qb.smg.TournamentLeaderBoardEntry.prototype.getPlayerfirstname = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 3, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.qb.smg.TournamentLeaderBoardEntry} returns this\n */\nproto.qb.smg.TournamentLeaderBoardEntry.prototype.setPlayerfirstname = function(value) {\n  return jspb.Message.setProto3StringField(this, 3, value);\n};\n\n\n/**\n * optional string playerLastName = 4;\n * @return {string}\n */\nproto.qb.smg.TournamentLeaderBoardEntry.prototype.getPlayerlastname = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 4, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.qb.smg.TournamentLeaderBoardEntry} returns this\n */\nproto.qb.smg.TournamentLeaderBoardEntry.prototype.setPlayerlastname = function(value) {\n  return jspb.Message.setProto3StringField(this, 4, value);\n};\n\n\n/**\n * optional int32 score = 5;\n * @return {number}\n */\nproto.qb.smg.TournamentLeaderBoardEntry.prototype.getScore = function() {\n  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 5, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.qb.smg.TournamentLeaderBoardEntry} returns this\n */\nproto.qb.smg.TournamentLeaderBoardEntry.prototype.setScore = function(value) {\n  return jspb.Message.setProto3IntField(this, 5, value);\n};\n\n\n/**\n * optional int32 shotsCompleted = 6;\n * @return {number}\n */\nproto.qb.smg.TournamentLeaderBoardEntry.prototype.getShotscompleted = function() {\n  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 6, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.qb.smg.TournamentLeaderBoardEntry} returns this\n */\nproto.qb.smg.TournamentLeaderBoardEntry.prototype.setShotscompleted = function(value) {\n  return jspb.Message.setProto3IntField(this, 6, value);\n};\n\n\n/**\n * optional bool isCurrentUser = 7;\n * @return {boolean}\n */\nproto.qb.smg.TournamentLeaderBoardEntry.prototype.getIscurrentuser = function() {\n  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 7, false));\n};\n\n\n/**\n * @param {boolean} value\n * @return {!proto.qb.smg.TournamentLeaderBoardEntry} returns this\n */\nproto.qb.smg.TournamentLeaderBoardEntry.prototype.setIscurrentuser = function(value) {\n  return jspb.Message.setProto3BooleanField(this, 7, value);\n};\n\n\n/**\n * optional string playerUsernameId = 8;\n * @return {string}\n */\nproto.qb.smg.TournamentLeaderBoardEntry.prototype.getPlayerusernameid = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 8, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.qb.smg.TournamentLeaderBoardEntry} returns this\n */\nproto.qb.smg.TournamentLeaderBoardEntry.prototype.setPlayerusernameid = function(value) {\n  return jspb.Message.setProto3StringField(this, 8, value);\n};\n\n\n\n/**\n * List of repeated fields within this message type.\n * @private {!Array<number>}\n * @const\n */\nproto.qb.smg.GetTournamentLeaderBoardReply.repeatedFields_ = [5];\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.qb.smg.GetTournamentLeaderBoardReply.prototype.toObject = function(opt_includeInstance) {\n  return proto.qb.smg.GetTournamentLeaderBoardReply.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.qb.smg.GetTournamentLeaderBoardReply} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.qb.smg.GetTournamentLeaderBoardReply.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    success: jspb.Message.getBooleanFieldWithDefault(msg, 1, false),\n    error: (f = msg.getError()) && proto.qb.smg.Error.toObject(includeInstance, f),\n    hasactivetournament: jspb.Message.getBooleanFieldWithDefault(msg, 3, false),\n    hastournamentcompletedforuser: jspb.Message.getBooleanFieldWithDefault(msg, 4, false),\n    entriesList: jspb.Message.toObjectList(msg.getEntriesList(),\n    proto.qb.smg.TournamentLeaderBoardEntry.toObject, includeInstance)\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.qb.smg.GetTournamentLeaderBoardReply}\n */\nproto.qb.smg.GetTournamentLeaderBoardReply.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.qb.smg.GetTournamentLeaderBoardReply;\n  return proto.qb.smg.GetTournamentLeaderBoardReply.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.qb.smg.GetTournamentLeaderBoardReply} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.qb.smg.GetTournamentLeaderBoardReply}\n */\nproto.qb.smg.GetTournamentLeaderBoardReply.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {boolean} */ (reader.readBool());\n      msg.setSuccess(value);\n      break;\n    case 2:\n      var value = new proto.qb.smg.Error;\n      reader.readMessage(value,proto.qb.smg.Error.deserializeBinaryFromReader);\n      msg.setError(value);\n      break;\n    case 3:\n      var value = /** @type {boolean} */ (reader.readBool());\n      msg.setHasactivetournament(value);\n      break;\n    case 4:\n      var value = /** @type {boolean} */ (reader.readBool());\n      msg.setHastournamentcompletedforuser(value);\n      break;\n    case 5:\n      var value = new proto.qb.smg.TournamentLeaderBoardEntry;\n      reader.readMessage(value,proto.qb.smg.TournamentLeaderBoardEntry.deserializeBinaryFromReader);\n      msg.addEntries(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.qb.smg.GetTournamentLeaderBoardReply.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.qb.smg.GetTournamentLeaderBoardReply.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.qb.smg.GetTournamentLeaderBoardReply} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.qb.smg.GetTournamentLeaderBoardReply.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getSuccess();\n  if (f) {\n    writer.writeBool(\n      1,\n      f\n    );\n  }\n  f = message.getError();\n  if (f != null) {\n    writer.writeMessage(\n      2,\n      f,\n      proto.qb.smg.Error.serializeBinaryToWriter\n    );\n  }\n  f = message.getHasactivetournament();\n  if (f) {\n    writer.writeBool(\n      3,\n      f\n    );\n  }\n  f = message.getHastournamentcompletedforuser();\n  if (f) {\n    writer.writeBool(\n      4,\n      f\n    );\n  }\n  f = message.getEntriesList();\n  if (f.length > 0) {\n    writer.writeRepeatedMessage(\n      5,\n      f,\n      proto.qb.smg.TournamentLeaderBoardEntry.serializeBinaryToWriter\n    );\n  }\n};\n\n\n/**\n * optional bool success = 1;\n * @return {boolean}\n */\nproto.qb.smg.GetTournamentLeaderBoardReply.prototype.getSuccess = function() {\n  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 1, false));\n};\n\n\n/**\n * @param {boolean} value\n * @return {!proto.qb.smg.GetTournamentLeaderBoardReply} returns this\n */\nproto.qb.smg.GetTournamentLeaderBoardReply.prototype.setSuccess = function(value) {\n  return jspb.Message.setProto3BooleanField(this, 1, value);\n};\n\n\n/**\n * optional Error error = 2;\n * @return {?proto.qb.smg.Error}\n */\nproto.qb.smg.GetTournamentLeaderBoardReply.prototype.getError = function() {\n  return /** @type{?proto.qb.smg.Error} */ (\n    jspb.Message.getWrapperField(this, proto.qb.smg.Error, 2));\n};\n\n\n/**\n * @param {?proto.qb.smg.Error|undefined} value\n * @return {!proto.qb.smg.GetTournamentLeaderBoardReply} returns this\n*/\nproto.qb.smg.GetTournamentLeaderBoardReply.prototype.setError = function(value) {\n  return jspb.Message.setWrapperField(this, 2, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.qb.smg.GetTournamentLeaderBoardReply} returns this\n */\nproto.qb.smg.GetTournamentLeaderBoardReply.prototype.clearError = function() {\n  return this.setError(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.qb.smg.GetTournamentLeaderBoardReply.prototype.hasError = function() {\n  return jspb.Message.getField(this, 2) != null;\n};\n\n\n/**\n * optional bool hasActiveTournament = 3;\n * @return {boolean}\n */\nproto.qb.smg.GetTournamentLeaderBoardReply.prototype.getHasactivetournament = function() {\n  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 3, false));\n};\n\n\n/**\n * @param {boolean} value\n * @return {!proto.qb.smg.GetTournamentLeaderBoardReply} returns this\n */\nproto.qb.smg.GetTournamentLeaderBoardReply.prototype.setHasactivetournament = function(value) {\n  return jspb.Message.setProto3BooleanField(this, 3, value);\n};\n\n\n/**\n * optional bool hasTournamentCompletedForUser = 4;\n * @return {boolean}\n */\nproto.qb.smg.GetTournamentLeaderBoardReply.prototype.getHastournamentcompletedforuser = function() {\n  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 4, false));\n};\n\n\n/**\n * @param {boolean} value\n * @return {!proto.qb.smg.GetTournamentLeaderBoardReply} returns this\n */\nproto.qb.smg.GetTournamentLeaderBoardReply.prototype.setHastournamentcompletedforuser = function(value) {\n  return jspb.Message.setProto3BooleanField(this, 4, value);\n};\n\n\n/**\n * repeated TournamentLeaderBoardEntry entries = 5;\n * @return {!Array<!proto.qb.smg.TournamentLeaderBoardEntry>}\n */\nproto.qb.smg.GetTournamentLeaderBoardReply.prototype.getEntriesList = function() {\n  return /** @type{!Array<!proto.qb.smg.TournamentLeaderBoardEntry>} */ (\n    jspb.Message.getRepeatedWrapperField(this, proto.qb.smg.TournamentLeaderBoardEntry, 5));\n};\n\n\n/**\n * @param {!Array<!proto.qb.smg.TournamentLeaderBoardEntry>} value\n * @return {!proto.qb.smg.GetTournamentLeaderBoardReply} returns this\n*/\nproto.qb.smg.GetTournamentLeaderBoardReply.prototype.setEntriesList = function(value) {\n  return jspb.Message.setRepeatedWrapperField(this, 5, value);\n};\n\n\n/**\n * @param {!proto.qb.smg.TournamentLeaderBoardEntry=} opt_value\n * @param {number=} opt_index\n * @return {!proto.qb.smg.TournamentLeaderBoardEntry}\n */\nproto.qb.smg.GetTournamentLeaderBoardReply.prototype.addEntries = function(opt_value, opt_index) {\n  return jspb.Message.addToRepeatedWrapperField(this, 5, opt_value, proto.qb.smg.TournamentLeaderBoardEntry, opt_index);\n};\n\n\n/**\n * Clears the list making it empty but non-null.\n * @return {!proto.qb.smg.GetTournamentLeaderBoardReply} returns this\n */\nproto.qb.smg.GetTournamentLeaderBoardReply.prototype.clearEntriesList = function() {\n  return this.setEntriesList([]);\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.qb.smg.GetTournamentPlayersRequest.prototype.toObject = function(opt_includeInstance) {\n  return proto.qb.smg.GetTournamentPlayersRequest.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.qb.smg.GetTournamentPlayersRequest} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.qb.smg.GetTournamentPlayersRequest.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    token: jspb.Message.getFieldWithDefault(msg, 1, \"\"),\n    playerid: jspb.Message.getFieldWithDefault(msg, 2, 0),\n    tournamentid: jspb.Message.getFieldWithDefault(msg, 3, 0)\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.qb.smg.GetTournamentPlayersRequest}\n */\nproto.qb.smg.GetTournamentPlayersRequest.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.qb.smg.GetTournamentPlayersRequest;\n  return proto.qb.smg.GetTournamentPlayersRequest.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.qb.smg.GetTournamentPlayersRequest} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.qb.smg.GetTournamentPlayersRequest}\n */\nproto.qb.smg.GetTournamentPlayersRequest.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setToken(value);\n      break;\n    case 2:\n      var value = /** @type {number} */ (reader.readInt64());\n      msg.setPlayerid(value);\n      break;\n    case 3:\n      var value = /** @type {number} */ (reader.readInt32());\n      msg.setTournamentid(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.qb.smg.GetTournamentPlayersRequest.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.qb.smg.GetTournamentPlayersRequest.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.qb.smg.GetTournamentPlayersRequest} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.qb.smg.GetTournamentPlayersRequest.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getToken();\n  if (f.length > 0) {\n    writer.writeString(\n      1,\n      f\n    );\n  }\n  f = message.getPlayerid();\n  if (f !== 0) {\n    writer.writeInt64(\n      2,\n      f\n    );\n  }\n  f = message.getTournamentid();\n  if (f !== 0) {\n    writer.writeInt32(\n      3,\n      f\n    );\n  }\n};\n\n\n/**\n * optional string token = 1;\n * @return {string}\n */\nproto.qb.smg.GetTournamentPlayersRequest.prototype.getToken = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.qb.smg.GetTournamentPlayersRequest} returns this\n */\nproto.qb.smg.GetTournamentPlayersRequest.prototype.setToken = function(value) {\n  return jspb.Message.setProto3StringField(this, 1, value);\n};\n\n\n/**\n * optional int64 playerId = 2;\n * @return {number}\n */\nproto.qb.smg.GetTournamentPlayersRequest.prototype.getPlayerid = function() {\n  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 2, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.qb.smg.GetTournamentPlayersRequest} returns this\n */\nproto.qb.smg.GetTournamentPlayersRequest.prototype.setPlayerid = function(value) {\n  return jspb.Message.setProto3IntField(this, 2, value);\n};\n\n\n/**\n * optional int32 tournamentId = 3;\n * @return {number}\n */\nproto.qb.smg.GetTournamentPlayersRequest.prototype.getTournamentid = function() {\n  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 3, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.qb.smg.GetTournamentPlayersRequest} returns this\n */\nproto.qb.smg.GetTournamentPlayersRequest.prototype.setTournamentid = function(value) {\n  return jspb.Message.setProto3IntField(this, 3, value);\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.qb.smg.GetTournamentPlayerEntry.prototype.toObject = function(opt_includeInstance) {\n  return proto.qb.smg.GetTournamentPlayerEntry.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.qb.smg.GetTournamentPlayerEntry} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.qb.smg.GetTournamentPlayerEntry.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    playerusername: jspb.Message.getFieldWithDefault(msg, 2, \"\"),\n    playerfirstname: jspb.Message.getFieldWithDefault(msg, 3, \"\"),\n    playerlastname: jspb.Message.getFieldWithDefault(msg, 4, \"\")\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.qb.smg.GetTournamentPlayerEntry}\n */\nproto.qb.smg.GetTournamentPlayerEntry.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.qb.smg.GetTournamentPlayerEntry;\n  return proto.qb.smg.GetTournamentPlayerEntry.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.qb.smg.GetTournamentPlayerEntry} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.qb.smg.GetTournamentPlayerEntry}\n */\nproto.qb.smg.GetTournamentPlayerEntry.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 2:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setPlayerusername(value);\n      break;\n    case 3:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setPlayerfirstname(value);\n      break;\n    case 4:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setPlayerlastname(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.qb.smg.GetTournamentPlayerEntry.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.qb.smg.GetTournamentPlayerEntry.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.qb.smg.GetTournamentPlayerEntry} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.qb.smg.GetTournamentPlayerEntry.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getPlayerusername();\n  if (f.length > 0) {\n    writer.writeString(\n      2,\n      f\n    );\n  }\n  f = message.getPlayerfirstname();\n  if (f.length > 0) {\n    writer.writeString(\n      3,\n      f\n    );\n  }\n  f = message.getPlayerlastname();\n  if (f.length > 0) {\n    writer.writeString(\n      4,\n      f\n    );\n  }\n};\n\n\n/**\n * optional string playerUsername = 2;\n * @return {string}\n */\nproto.qb.smg.GetTournamentPlayerEntry.prototype.getPlayerusername = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.qb.smg.GetTournamentPlayerEntry} returns this\n */\nproto.qb.smg.GetTournamentPlayerEntry.prototype.setPlayerusername = function(value) {\n  return jspb.Message.setProto3StringField(this, 2, value);\n};\n\n\n/**\n * optional string playerFirstName = 3;\n * @return {string}\n */\nproto.qb.smg.GetTournamentPlayerEntry.prototype.getPlayerfirstname = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 3, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.qb.smg.GetTournamentPlayerEntry} returns this\n */\nproto.qb.smg.GetTournamentPlayerEntry.prototype.setPlayerfirstname = function(value) {\n  return jspb.Message.setProto3StringField(this, 3, value);\n};\n\n\n/**\n * optional string playerLastName = 4;\n * @return {string}\n */\nproto.qb.smg.GetTournamentPlayerEntry.prototype.getPlayerlastname = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 4, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.qb.smg.GetTournamentPlayerEntry} returns this\n */\nproto.qb.smg.GetTournamentPlayerEntry.prototype.setPlayerlastname = function(value) {\n  return jspb.Message.setProto3StringField(this, 4, value);\n};\n\n\n\n/**\n * List of repeated fields within this message type.\n * @private {!Array<number>}\n * @const\n */\nproto.qb.smg.GetTournamentPlayersReply.repeatedFields_ = [5];\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.qb.smg.GetTournamentPlayersReply.prototype.toObject = function(opt_includeInstance) {\n  return proto.qb.smg.GetTournamentPlayersReply.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.qb.smg.GetTournamentPlayersReply} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.qb.smg.GetTournamentPlayersReply.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    success: jspb.Message.getBooleanFieldWithDefault(msg, 1, false),\n    error: (f = msg.getError()) && proto.qb.smg.Error.toObject(includeInstance, f),\n    entriesList: jspb.Message.toObjectList(msg.getEntriesList(),\n    proto.qb.smg.GetTournamentPlayerEntry.toObject, includeInstance)\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.qb.smg.GetTournamentPlayersReply}\n */\nproto.qb.smg.GetTournamentPlayersReply.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.qb.smg.GetTournamentPlayersReply;\n  return proto.qb.smg.GetTournamentPlayersReply.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.qb.smg.GetTournamentPlayersReply} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.qb.smg.GetTournamentPlayersReply}\n */\nproto.qb.smg.GetTournamentPlayersReply.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {boolean} */ (reader.readBool());\n      msg.setSuccess(value);\n      break;\n    case 2:\n      var value = new proto.qb.smg.Error;\n      reader.readMessage(value,proto.qb.smg.Error.deserializeBinaryFromReader);\n      msg.setError(value);\n      break;\n    case 5:\n      var value = new proto.qb.smg.GetTournamentPlayerEntry;\n      reader.readMessage(value,proto.qb.smg.GetTournamentPlayerEntry.deserializeBinaryFromReader);\n      msg.addEntries(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.qb.smg.GetTournamentPlayersReply.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.qb.smg.GetTournamentPlayersReply.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.qb.smg.GetTournamentPlayersReply} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.qb.smg.GetTournamentPlayersReply.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getSuccess();\n  if (f) {\n    writer.writeBool(\n      1,\n      f\n    );\n  }\n  f = message.getError();\n  if (f != null) {\n    writer.writeMessage(\n      2,\n      f,\n      proto.qb.smg.Error.serializeBinaryToWriter\n    );\n  }\n  f = message.getEntriesList();\n  if (f.length > 0) {\n    writer.writeRepeatedMessage(\n      5,\n      f,\n      proto.qb.smg.GetTournamentPlayerEntry.serializeBinaryToWriter\n    );\n  }\n};\n\n\n/**\n * optional bool success = 1;\n * @return {boolean}\n */\nproto.qb.smg.GetTournamentPlayersReply.prototype.getSuccess = function() {\n  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 1, false));\n};\n\n\n/**\n * @param {boolean} value\n * @return {!proto.qb.smg.GetTournamentPlayersReply} returns this\n */\nproto.qb.smg.GetTournamentPlayersReply.prototype.setSuccess = function(value) {\n  return jspb.Message.setProto3BooleanField(this, 1, value);\n};\n\n\n/**\n * optional Error error = 2;\n * @return {?proto.qb.smg.Error}\n */\nproto.qb.smg.GetTournamentPlayersReply.prototype.getError = function() {\n  return /** @type{?proto.qb.smg.Error} */ (\n    jspb.Message.getWrapperField(this, proto.qb.smg.Error, 2));\n};\n\n\n/**\n * @param {?proto.qb.smg.Error|undefined} value\n * @return {!proto.qb.smg.GetTournamentPlayersReply} returns this\n*/\nproto.qb.smg.GetTournamentPlayersReply.prototype.setError = function(value) {\n  return jspb.Message.setWrapperField(this, 2, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.qb.smg.GetTournamentPlayersReply} returns this\n */\nproto.qb.smg.GetTournamentPlayersReply.prototype.clearError = function() {\n  return this.setError(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.qb.smg.GetTournamentPlayersReply.prototype.hasError = function() {\n  return jspb.Message.getField(this, 2) != null;\n};\n\n\n/**\n * repeated GetTournamentPlayerEntry entries = 5;\n * @return {!Array<!proto.qb.smg.GetTournamentPlayerEntry>}\n */\nproto.qb.smg.GetTournamentPlayersReply.prototype.getEntriesList = function() {\n  return /** @type{!Array<!proto.qb.smg.GetTournamentPlayerEntry>} */ (\n    jspb.Message.getRepeatedWrapperField(this, proto.qb.smg.GetTournamentPlayerEntry, 5));\n};\n\n\n/**\n * @param {!Array<!proto.qb.smg.GetTournamentPlayerEntry>} value\n * @return {!proto.qb.smg.GetTournamentPlayersReply} returns this\n*/\nproto.qb.smg.GetTournamentPlayersReply.prototype.setEntriesList = function(value) {\n  return jspb.Message.setRepeatedWrapperField(this, 5, value);\n};\n\n\n/**\n * @param {!proto.qb.smg.GetTournamentPlayerEntry=} opt_value\n * @param {number=} opt_index\n * @return {!proto.qb.smg.GetTournamentPlayerEntry}\n */\nproto.qb.smg.GetTournamentPlayersReply.prototype.addEntries = function(opt_value, opt_index) {\n  return jspb.Message.addToRepeatedWrapperField(this, 5, opt_value, proto.qb.smg.GetTournamentPlayerEntry, opt_index);\n};\n\n\n/**\n * Clears the list making it empty but non-null.\n * @return {!proto.qb.smg.GetTournamentPlayersReply} returns this\n */\nproto.qb.smg.GetTournamentPlayersReply.prototype.clearEntriesList = function() {\n  return this.setEntriesList([]);\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.qb.smg.GenerateS3SimulatorVideoUploadUrlRequest.prototype.toObject = function(opt_includeInstance) {\n  return proto.qb.smg.GenerateS3SimulatorVideoUploadUrlRequest.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.qb.smg.GenerateS3SimulatorVideoUploadUrlRequest} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.qb.smg.GenerateS3SimulatorVideoUploadUrlRequest.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    stationid: jspb.Message.getFieldWithDefault(msg, 1, 0),\n    betid: jspb.Message.getFieldWithDefault(msg, 2, 0),\n    token: jspb.Message.getFieldWithDefault(msg, 3, \"\")\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.qb.smg.GenerateS3SimulatorVideoUploadUrlRequest}\n */\nproto.qb.smg.GenerateS3SimulatorVideoUploadUrlRequest.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.qb.smg.GenerateS3SimulatorVideoUploadUrlRequest;\n  return proto.qb.smg.GenerateS3SimulatorVideoUploadUrlRequest.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.qb.smg.GenerateS3SimulatorVideoUploadUrlRequest} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.qb.smg.GenerateS3SimulatorVideoUploadUrlRequest}\n */\nproto.qb.smg.GenerateS3SimulatorVideoUploadUrlRequest.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {number} */ (reader.readInt64());\n      msg.setStationid(value);\n      break;\n    case 2:\n      var value = /** @type {number} */ (reader.readInt64());\n      msg.setBetid(value);\n      break;\n    case 3:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setToken(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.qb.smg.GenerateS3SimulatorVideoUploadUrlRequest.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.qb.smg.GenerateS3SimulatorVideoUploadUrlRequest.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.qb.smg.GenerateS3SimulatorVideoUploadUrlRequest} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.qb.smg.GenerateS3SimulatorVideoUploadUrlRequest.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getStationid();\n  if (f !== 0) {\n    writer.writeInt64(\n      1,\n      f\n    );\n  }\n  f = message.getBetid();\n  if (f !== 0) {\n    writer.writeInt64(\n      2,\n      f\n    );\n  }\n  f = message.getToken();\n  if (f.length > 0) {\n    writer.writeString(\n      3,\n      f\n    );\n  }\n};\n\n\n/**\n * optional int64 stationId = 1;\n * @return {number}\n */\nproto.qb.smg.GenerateS3SimulatorVideoUploadUrlRequest.prototype.getStationid = function() {\n  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.qb.smg.GenerateS3SimulatorVideoUploadUrlRequest} returns this\n */\nproto.qb.smg.GenerateS3SimulatorVideoUploadUrlRequest.prototype.setStationid = function(value) {\n  return jspb.Message.setProto3IntField(this, 1, value);\n};\n\n\n/**\n * optional int64 betId = 2;\n * @return {number}\n */\nproto.qb.smg.GenerateS3SimulatorVideoUploadUrlRequest.prototype.getBetid = function() {\n  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 2, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.qb.smg.GenerateS3SimulatorVideoUploadUrlRequest} returns this\n */\nproto.qb.smg.GenerateS3SimulatorVideoUploadUrlRequest.prototype.setBetid = function(value) {\n  return jspb.Message.setProto3IntField(this, 2, value);\n};\n\n\n/**\n * optional string token = 3;\n * @return {string}\n */\nproto.qb.smg.GenerateS3SimulatorVideoUploadUrlRequest.prototype.getToken = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 3, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.qb.smg.GenerateS3SimulatorVideoUploadUrlRequest} returns this\n */\nproto.qb.smg.GenerateS3SimulatorVideoUploadUrlRequest.prototype.setToken = function(value) {\n  return jspb.Message.setProto3StringField(this, 3, value);\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.qb.smg.GenerateS3SimulatorVideoUploadUrlResponse.prototype.toObject = function(opt_includeInstance) {\n  return proto.qb.smg.GenerateS3SimulatorVideoUploadUrlResponse.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.qb.smg.GenerateS3SimulatorVideoUploadUrlResponse} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.qb.smg.GenerateS3SimulatorVideoUploadUrlResponse.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    success: jspb.Message.getBooleanFieldWithDefault(msg, 1, false),\n    error: (f = msg.getError()) && proto.qb.smg.Error.toObject(includeInstance, f),\n    uploadurl: jspb.Message.getFieldWithDefault(msg, 3, \"\")\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.qb.smg.GenerateS3SimulatorVideoUploadUrlResponse}\n */\nproto.qb.smg.GenerateS3SimulatorVideoUploadUrlResponse.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.qb.smg.GenerateS3SimulatorVideoUploadUrlResponse;\n  return proto.qb.smg.GenerateS3SimulatorVideoUploadUrlResponse.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.qb.smg.GenerateS3SimulatorVideoUploadUrlResponse} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.qb.smg.GenerateS3SimulatorVideoUploadUrlResponse}\n */\nproto.qb.smg.GenerateS3SimulatorVideoUploadUrlResponse.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {boolean} */ (reader.readBool());\n      msg.setSuccess(value);\n      break;\n    case 2:\n      var value = new proto.qb.smg.Error;\n      reader.readMessage(value,proto.qb.smg.Error.deserializeBinaryFromReader);\n      msg.setError(value);\n      break;\n    case 3:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setUploadurl(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.qb.smg.GenerateS3SimulatorVideoUploadUrlResponse.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.qb.smg.GenerateS3SimulatorVideoUploadUrlResponse.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.qb.smg.GenerateS3SimulatorVideoUploadUrlResponse} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.qb.smg.GenerateS3SimulatorVideoUploadUrlResponse.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getSuccess();\n  if (f) {\n    writer.writeBool(\n      1,\n      f\n    );\n  }\n  f = message.getError();\n  if (f != null) {\n    writer.writeMessage(\n      2,\n      f,\n      proto.qb.smg.Error.serializeBinaryToWriter\n    );\n  }\n  f = message.getUploadurl();\n  if (f.length > 0) {\n    writer.writeString(\n      3,\n      f\n    );\n  }\n};\n\n\n/**\n * optional bool success = 1;\n * @return {boolean}\n */\nproto.qb.smg.GenerateS3SimulatorVideoUploadUrlResponse.prototype.getSuccess = function() {\n  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 1, false));\n};\n\n\n/**\n * @param {boolean} value\n * @return {!proto.qb.smg.GenerateS3SimulatorVideoUploadUrlResponse} returns this\n */\nproto.qb.smg.GenerateS3SimulatorVideoUploadUrlResponse.prototype.setSuccess = function(value) {\n  return jspb.Message.setProto3BooleanField(this, 1, value);\n};\n\n\n/**\n * optional Error error = 2;\n * @return {?proto.qb.smg.Error}\n */\nproto.qb.smg.GenerateS3SimulatorVideoUploadUrlResponse.prototype.getError = function() {\n  return /** @type{?proto.qb.smg.Error} */ (\n    jspb.Message.getWrapperField(this, proto.qb.smg.Error, 2));\n};\n\n\n/**\n * @param {?proto.qb.smg.Error|undefined} value\n * @return {!proto.qb.smg.GenerateS3SimulatorVideoUploadUrlResponse} returns this\n*/\nproto.qb.smg.GenerateS3SimulatorVideoUploadUrlResponse.prototype.setError = function(value) {\n  return jspb.Message.setWrapperField(this, 2, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.qb.smg.GenerateS3SimulatorVideoUploadUrlResponse} returns this\n */\nproto.qb.smg.GenerateS3SimulatorVideoUploadUrlResponse.prototype.clearError = function() {\n  return this.setError(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.qb.smg.GenerateS3SimulatorVideoUploadUrlResponse.prototype.hasError = function() {\n  return jspb.Message.getField(this, 2) != null;\n};\n\n\n/**\n * optional string uploadUrl = 3;\n * @return {string}\n */\nproto.qb.smg.GenerateS3SimulatorVideoUploadUrlResponse.prototype.getUploadurl = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 3, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.qb.smg.GenerateS3SimulatorVideoUploadUrlResponse} returns this\n */\nproto.qb.smg.GenerateS3SimulatorVideoUploadUrlResponse.prototype.setUploadurl = function(value) {\n  return jspb.Message.setProto3StringField(this, 3, value);\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.qb.smg.RequestChangeRequest.prototype.toObject = function(opt_includeInstance) {\n  return proto.qb.smg.RequestChangeRequest.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.qb.smg.RequestChangeRequest} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.qb.smg.RequestChangeRequest.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    token: jspb.Message.getFieldWithDefault(msg, 1, \"\"),\n    changeType: jspb.Message.getFieldWithDefault(msg, 2, 0)\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.qb.smg.RequestChangeRequest}\n */\nproto.qb.smg.RequestChangeRequest.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.qb.smg.RequestChangeRequest;\n  return proto.qb.smg.RequestChangeRequest.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.qb.smg.RequestChangeRequest} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.qb.smg.RequestChangeRequest}\n */\nproto.qb.smg.RequestChangeRequest.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setToken(value);\n      break;\n    case 2:\n      var value = /** @type {!proto.qb.smg.ChangeType} */ (reader.readEnum());\n      msg.setChangeType(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.qb.smg.RequestChangeRequest.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.qb.smg.RequestChangeRequest.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.qb.smg.RequestChangeRequest} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.qb.smg.RequestChangeRequest.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getToken();\n  if (f.length > 0) {\n    writer.writeString(\n      1,\n      f\n    );\n  }\n  f = message.getChangeType();\n  if (f !== 0.0) {\n    writer.writeEnum(\n      2,\n      f\n    );\n  }\n};\n\n\n/**\n * optional string token = 1;\n * @return {string}\n */\nproto.qb.smg.RequestChangeRequest.prototype.getToken = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.qb.smg.RequestChangeRequest} returns this\n */\nproto.qb.smg.RequestChangeRequest.prototype.setToken = function(value) {\n  return jspb.Message.setProto3StringField(this, 1, value);\n};\n\n\n/**\n * optional ChangeType change_type = 2;\n * @return {!proto.qb.smg.ChangeType}\n */\nproto.qb.smg.RequestChangeRequest.prototype.getChangeType = function() {\n  return /** @type {!proto.qb.smg.ChangeType} */ (jspb.Message.getFieldWithDefault(this, 2, 0));\n};\n\n\n/**\n * @param {!proto.qb.smg.ChangeType} value\n * @return {!proto.qb.smg.RequestChangeRequest} returns this\n */\nproto.qb.smg.RequestChangeRequest.prototype.setChangeType = function(value) {\n  return jspb.Message.setProto3EnumField(this, 2, value);\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.qb.smg.RequestChangeResponse.prototype.toObject = function(opt_includeInstance) {\n  return proto.qb.smg.RequestChangeResponse.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.qb.smg.RequestChangeResponse} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.qb.smg.RequestChangeResponse.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    error: (f = msg.getError()) && proto.qb.smg.Error.toObject(includeInstance, f),\n    success: jspb.Message.getBooleanFieldWithDefault(msg, 2, false)\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.qb.smg.RequestChangeResponse}\n */\nproto.qb.smg.RequestChangeResponse.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.qb.smg.RequestChangeResponse;\n  return proto.qb.smg.RequestChangeResponse.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.qb.smg.RequestChangeResponse} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.qb.smg.RequestChangeResponse}\n */\nproto.qb.smg.RequestChangeResponse.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = new proto.qb.smg.Error;\n      reader.readMessage(value,proto.qb.smg.Error.deserializeBinaryFromReader);\n      msg.setError(value);\n      break;\n    case 2:\n      var value = /** @type {boolean} */ (reader.readBool());\n      msg.setSuccess(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.qb.smg.RequestChangeResponse.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.qb.smg.RequestChangeResponse.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.qb.smg.RequestChangeResponse} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.qb.smg.RequestChangeResponse.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getError();\n  if (f != null) {\n    writer.writeMessage(\n      1,\n      f,\n      proto.qb.smg.Error.serializeBinaryToWriter\n    );\n  }\n  f = message.getSuccess();\n  if (f) {\n    writer.writeBool(\n      2,\n      f\n    );\n  }\n};\n\n\n/**\n * optional Error error = 1;\n * @return {?proto.qb.smg.Error}\n */\nproto.qb.smg.RequestChangeResponse.prototype.getError = function() {\n  return /** @type{?proto.qb.smg.Error} */ (\n    jspb.Message.getWrapperField(this, proto.qb.smg.Error, 1));\n};\n\n\n/**\n * @param {?proto.qb.smg.Error|undefined} value\n * @return {!proto.qb.smg.RequestChangeResponse} returns this\n*/\nproto.qb.smg.RequestChangeResponse.prototype.setError = function(value) {\n  return jspb.Message.setWrapperField(this, 1, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.qb.smg.RequestChangeResponse} returns this\n */\nproto.qb.smg.RequestChangeResponse.prototype.clearError = function() {\n  return this.setError(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.qb.smg.RequestChangeResponse.prototype.hasError = function() {\n  return jspb.Message.getField(this, 1) != null;\n};\n\n\n/**\n * optional bool success = 2;\n * @return {boolean}\n */\nproto.qb.smg.RequestChangeResponse.prototype.getSuccess = function() {\n  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 2, false));\n};\n\n\n/**\n * @param {boolean} value\n * @return {!proto.qb.smg.RequestChangeResponse} returns this\n */\nproto.qb.smg.RequestChangeResponse.prototype.setSuccess = function(value) {\n  return jspb.Message.setProto3BooleanField(this, 2, value);\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.qb.smg.UpdatePhoneNumberRequest.prototype.toObject = function(opt_includeInstance) {\n  return proto.qb.smg.UpdatePhoneNumberRequest.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.qb.smg.UpdatePhoneNumberRequest} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.qb.smg.UpdatePhoneNumberRequest.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    token: jspb.Message.getFieldWithDefault(msg, 1, \"\"),\n    phoneNumber: jspb.Message.getFieldWithDefault(msg, 2, \"\"),\n    otpCode: jspb.Message.getFieldWithDefault(msg, 3, \"\")\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.qb.smg.UpdatePhoneNumberRequest}\n */\nproto.qb.smg.UpdatePhoneNumberRequest.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.qb.smg.UpdatePhoneNumberRequest;\n  return proto.qb.smg.UpdatePhoneNumberRequest.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.qb.smg.UpdatePhoneNumberRequest} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.qb.smg.UpdatePhoneNumberRequest}\n */\nproto.qb.smg.UpdatePhoneNumberRequest.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setToken(value);\n      break;\n    case 2:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setPhoneNumber(value);\n      break;\n    case 3:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setOtpCode(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.qb.smg.UpdatePhoneNumberRequest.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.qb.smg.UpdatePhoneNumberRequest.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.qb.smg.UpdatePhoneNumberRequest} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.qb.smg.UpdatePhoneNumberRequest.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getToken();\n  if (f.length > 0) {\n    writer.writeString(\n      1,\n      f\n    );\n  }\n  f = message.getPhoneNumber();\n  if (f.length > 0) {\n    writer.writeString(\n      2,\n      f\n    );\n  }\n  f = message.getOtpCode();\n  if (f.length > 0) {\n    writer.writeString(\n      3,\n      f\n    );\n  }\n};\n\n\n/**\n * optional string token = 1;\n * @return {string}\n */\nproto.qb.smg.UpdatePhoneNumberRequest.prototype.getToken = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.qb.smg.UpdatePhoneNumberRequest} returns this\n */\nproto.qb.smg.UpdatePhoneNumberRequest.prototype.setToken = function(value) {\n  return jspb.Message.setProto3StringField(this, 1, value);\n};\n\n\n/**\n * optional string phone_number = 2;\n * @return {string}\n */\nproto.qb.smg.UpdatePhoneNumberRequest.prototype.getPhoneNumber = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.qb.smg.UpdatePhoneNumberRequest} returns this\n */\nproto.qb.smg.UpdatePhoneNumberRequest.prototype.setPhoneNumber = function(value) {\n  return jspb.Message.setProto3StringField(this, 2, value);\n};\n\n\n/**\n * optional string otp_code = 3;\n * @return {string}\n */\nproto.qb.smg.UpdatePhoneNumberRequest.prototype.getOtpCode = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 3, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.qb.smg.UpdatePhoneNumberRequest} returns this\n */\nproto.qb.smg.UpdatePhoneNumberRequest.prototype.setOtpCode = function(value) {\n  return jspb.Message.setProto3StringField(this, 3, value);\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.qb.smg.UpdatePhoneNumberResponse.prototype.toObject = function(opt_includeInstance) {\n  return proto.qb.smg.UpdatePhoneNumberResponse.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.qb.smg.UpdatePhoneNumberResponse} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.qb.smg.UpdatePhoneNumberResponse.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    error: (f = msg.getError()) && proto.qb.smg.Error.toObject(includeInstance, f),\n    success: jspb.Message.getBooleanFieldWithDefault(msg, 2, false)\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.qb.smg.UpdatePhoneNumberResponse}\n */\nproto.qb.smg.UpdatePhoneNumberResponse.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.qb.smg.UpdatePhoneNumberResponse;\n  return proto.qb.smg.UpdatePhoneNumberResponse.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.qb.smg.UpdatePhoneNumberResponse} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.qb.smg.UpdatePhoneNumberResponse}\n */\nproto.qb.smg.UpdatePhoneNumberResponse.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = new proto.qb.smg.Error;\n      reader.readMessage(value,proto.qb.smg.Error.deserializeBinaryFromReader);\n      msg.setError(value);\n      break;\n    case 2:\n      var value = /** @type {boolean} */ (reader.readBool());\n      msg.setSuccess(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.qb.smg.UpdatePhoneNumberResponse.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.qb.smg.UpdatePhoneNumberResponse.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.qb.smg.UpdatePhoneNumberResponse} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.qb.smg.UpdatePhoneNumberResponse.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getError();\n  if (f != null) {\n    writer.writeMessage(\n      1,\n      f,\n      proto.qb.smg.Error.serializeBinaryToWriter\n    );\n  }\n  f = message.getSuccess();\n  if (f) {\n    writer.writeBool(\n      2,\n      f\n    );\n  }\n};\n\n\n/**\n * optional Error error = 1;\n * @return {?proto.qb.smg.Error}\n */\nproto.qb.smg.UpdatePhoneNumberResponse.prototype.getError = function() {\n  return /** @type{?proto.qb.smg.Error} */ (\n    jspb.Message.getWrapperField(this, proto.qb.smg.Error, 1));\n};\n\n\n/**\n * @param {?proto.qb.smg.Error|undefined} value\n * @return {!proto.qb.smg.UpdatePhoneNumberResponse} returns this\n*/\nproto.qb.smg.UpdatePhoneNumberResponse.prototype.setError = function(value) {\n  return jspb.Message.setWrapperField(this, 1, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.qb.smg.UpdatePhoneNumberResponse} returns this\n */\nproto.qb.smg.UpdatePhoneNumberResponse.prototype.clearError = function() {\n  return this.setError(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.qb.smg.UpdatePhoneNumberResponse.prototype.hasError = function() {\n  return jspb.Message.getField(this, 1) != null;\n};\n\n\n/**\n * optional bool success = 2;\n * @return {boolean}\n */\nproto.qb.smg.UpdatePhoneNumberResponse.prototype.getSuccess = function() {\n  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 2, false));\n};\n\n\n/**\n * @param {boolean} value\n * @return {!proto.qb.smg.UpdatePhoneNumberResponse} returns this\n */\nproto.qb.smg.UpdatePhoneNumberResponse.prototype.setSuccess = function(value) {\n  return jspb.Message.setProto3BooleanField(this, 2, value);\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.qb.smg.RequestEmailChangeRequest.prototype.toObject = function(opt_includeInstance) {\n  return proto.qb.smg.RequestEmailChangeRequest.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.qb.smg.RequestEmailChangeRequest} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.qb.smg.RequestEmailChangeRequest.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    token: jspb.Message.getFieldWithDefault(msg, 1, \"\"),\n    newEmail: jspb.Message.getFieldWithDefault(msg, 2, \"\")\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.qb.smg.RequestEmailChangeRequest}\n */\nproto.qb.smg.RequestEmailChangeRequest.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.qb.smg.RequestEmailChangeRequest;\n  return proto.qb.smg.RequestEmailChangeRequest.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.qb.smg.RequestEmailChangeRequest} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.qb.smg.RequestEmailChangeRequest}\n */\nproto.qb.smg.RequestEmailChangeRequest.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setToken(value);\n      break;\n    case 2:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setNewEmail(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.qb.smg.RequestEmailChangeRequest.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.qb.smg.RequestEmailChangeRequest.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.qb.smg.RequestEmailChangeRequest} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.qb.smg.RequestEmailChangeRequest.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getToken();\n  if (f.length > 0) {\n    writer.writeString(\n      1,\n      f\n    );\n  }\n  f = message.getNewEmail();\n  if (f.length > 0) {\n    writer.writeString(\n      2,\n      f\n    );\n  }\n};\n\n\n/**\n * optional string token = 1;\n * @return {string}\n */\nproto.qb.smg.RequestEmailChangeRequest.prototype.getToken = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.qb.smg.RequestEmailChangeRequest} returns this\n */\nproto.qb.smg.RequestEmailChangeRequest.prototype.setToken = function(value) {\n  return jspb.Message.setProto3StringField(this, 1, value);\n};\n\n\n/**\n * optional string new_email = 2;\n * @return {string}\n */\nproto.qb.smg.RequestEmailChangeRequest.prototype.getNewEmail = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.qb.smg.RequestEmailChangeRequest} returns this\n */\nproto.qb.smg.RequestEmailChangeRequest.prototype.setNewEmail = function(value) {\n  return jspb.Message.setProto3StringField(this, 2, value);\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.qb.smg.RequestEmailChangeResponse.prototype.toObject = function(opt_includeInstance) {\n  return proto.qb.smg.RequestEmailChangeResponse.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.qb.smg.RequestEmailChangeResponse} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.qb.smg.RequestEmailChangeResponse.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    error: (f = msg.getError()) && proto.qb.smg.Error.toObject(includeInstance, f),\n    success: jspb.Message.getBooleanFieldWithDefault(msg, 2, false)\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.qb.smg.RequestEmailChangeResponse}\n */\nproto.qb.smg.RequestEmailChangeResponse.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.qb.smg.RequestEmailChangeResponse;\n  return proto.qb.smg.RequestEmailChangeResponse.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.qb.smg.RequestEmailChangeResponse} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.qb.smg.RequestEmailChangeResponse}\n */\nproto.qb.smg.RequestEmailChangeResponse.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = new proto.qb.smg.Error;\n      reader.readMessage(value,proto.qb.smg.Error.deserializeBinaryFromReader);\n      msg.setError(value);\n      break;\n    case 2:\n      var value = /** @type {boolean} */ (reader.readBool());\n      msg.setSuccess(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.qb.smg.RequestEmailChangeResponse.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.qb.smg.RequestEmailChangeResponse.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.qb.smg.RequestEmailChangeResponse} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.qb.smg.RequestEmailChangeResponse.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getError();\n  if (f != null) {\n    writer.writeMessage(\n      1,\n      f,\n      proto.qb.smg.Error.serializeBinaryToWriter\n    );\n  }\n  f = message.getSuccess();\n  if (f) {\n    writer.writeBool(\n      2,\n      f\n    );\n  }\n};\n\n\n/**\n * optional Error error = 1;\n * @return {?proto.qb.smg.Error}\n */\nproto.qb.smg.RequestEmailChangeResponse.prototype.getError = function() {\n  return /** @type{?proto.qb.smg.Error} */ (\n    jspb.Message.getWrapperField(this, proto.qb.smg.Error, 1));\n};\n\n\n/**\n * @param {?proto.qb.smg.Error|undefined} value\n * @return {!proto.qb.smg.RequestEmailChangeResponse} returns this\n*/\nproto.qb.smg.RequestEmailChangeResponse.prototype.setError = function(value) {\n  return jspb.Message.setWrapperField(this, 1, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.qb.smg.RequestEmailChangeResponse} returns this\n */\nproto.qb.smg.RequestEmailChangeResponse.prototype.clearError = function() {\n  return this.setError(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.qb.smg.RequestEmailChangeResponse.prototype.hasError = function() {\n  return jspb.Message.getField(this, 1) != null;\n};\n\n\n/**\n * optional bool success = 2;\n * @return {boolean}\n */\nproto.qb.smg.RequestEmailChangeResponse.prototype.getSuccess = function() {\n  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 2, false));\n};\n\n\n/**\n * @param {boolean} value\n * @return {!proto.qb.smg.RequestEmailChangeResponse} returns this\n */\nproto.qb.smg.RequestEmailChangeResponse.prototype.setSuccess = function(value) {\n  return jspb.Message.setProto3BooleanField(this, 2, value);\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.qb.smg.ConfirmEmailChangeRequest.prototype.toObject = function(opt_includeInstance) {\n  return proto.qb.smg.ConfirmEmailChangeRequest.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.qb.smg.ConfirmEmailChangeRequest} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.qb.smg.ConfirmEmailChangeRequest.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    token: jspb.Message.getFieldWithDefault(msg, 1, \"\")\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.qb.smg.ConfirmEmailChangeRequest}\n */\nproto.qb.smg.ConfirmEmailChangeRequest.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.qb.smg.ConfirmEmailChangeRequest;\n  return proto.qb.smg.ConfirmEmailChangeRequest.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.qb.smg.ConfirmEmailChangeRequest} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.qb.smg.ConfirmEmailChangeRequest}\n */\nproto.qb.smg.ConfirmEmailChangeRequest.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setToken(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.qb.smg.ConfirmEmailChangeRequest.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.qb.smg.ConfirmEmailChangeRequest.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.qb.smg.ConfirmEmailChangeRequest} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.qb.smg.ConfirmEmailChangeRequest.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getToken();\n  if (f.length > 0) {\n    writer.writeString(\n      1,\n      f\n    );\n  }\n};\n\n\n/**\n * optional string token = 1;\n * @return {string}\n */\nproto.qb.smg.ConfirmEmailChangeRequest.prototype.getToken = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.qb.smg.ConfirmEmailChangeRequest} returns this\n */\nproto.qb.smg.ConfirmEmailChangeRequest.prototype.setToken = function(value) {\n  return jspb.Message.setProto3StringField(this, 1, value);\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.qb.smg.ConfirmEmailChangeResponse.prototype.toObject = function(opt_includeInstance) {\n  return proto.qb.smg.ConfirmEmailChangeResponse.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.qb.smg.ConfirmEmailChangeResponse} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.qb.smg.ConfirmEmailChangeResponse.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    error: (f = msg.getError()) && proto.qb.smg.Error.toObject(includeInstance, f),\n    success: jspb.Message.getBooleanFieldWithDefault(msg, 2, false)\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.qb.smg.ConfirmEmailChangeResponse}\n */\nproto.qb.smg.ConfirmEmailChangeResponse.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.qb.smg.ConfirmEmailChangeResponse;\n  return proto.qb.smg.ConfirmEmailChangeResponse.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.qb.smg.ConfirmEmailChangeResponse} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.qb.smg.ConfirmEmailChangeResponse}\n */\nproto.qb.smg.ConfirmEmailChangeResponse.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = new proto.qb.smg.Error;\n      reader.readMessage(value,proto.qb.smg.Error.deserializeBinaryFromReader);\n      msg.setError(value);\n      break;\n    case 2:\n      var value = /** @type {boolean} */ (reader.readBool());\n      msg.setSuccess(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.qb.smg.ConfirmEmailChangeResponse.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.qb.smg.ConfirmEmailChangeResponse.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.qb.smg.ConfirmEmailChangeResponse} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.qb.smg.ConfirmEmailChangeResponse.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getError();\n  if (f != null) {\n    writer.writeMessage(\n      1,\n      f,\n      proto.qb.smg.Error.serializeBinaryToWriter\n    );\n  }\n  f = message.getSuccess();\n  if (f) {\n    writer.writeBool(\n      2,\n      f\n    );\n  }\n};\n\n\n/**\n * optional Error error = 1;\n * @return {?proto.qb.smg.Error}\n */\nproto.qb.smg.ConfirmEmailChangeResponse.prototype.getError = function() {\n  return /** @type{?proto.qb.smg.Error} */ (\n    jspb.Message.getWrapperField(this, proto.qb.smg.Error, 1));\n};\n\n\n/**\n * @param {?proto.qb.smg.Error|undefined} value\n * @return {!proto.qb.smg.ConfirmEmailChangeResponse} returns this\n*/\nproto.qb.smg.ConfirmEmailChangeResponse.prototype.setError = function(value) {\n  return jspb.Message.setWrapperField(this, 1, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.qb.smg.ConfirmEmailChangeResponse} returns this\n */\nproto.qb.smg.ConfirmEmailChangeResponse.prototype.clearError = function() {\n  return this.setError(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.qb.smg.ConfirmEmailChangeResponse.prototype.hasError = function() {\n  return jspb.Message.getField(this, 1) != null;\n};\n\n\n/**\n * optional bool success = 2;\n * @return {boolean}\n */\nproto.qb.smg.ConfirmEmailChangeResponse.prototype.getSuccess = function() {\n  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 2, false));\n};\n\n\n/**\n * @param {boolean} value\n * @return {!proto.qb.smg.ConfirmEmailChangeResponse} returns this\n */\nproto.qb.smg.ConfirmEmailChangeResponse.prototype.setSuccess = function(value) {\n  return jspb.Message.setProto3BooleanField(this, 2, value);\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.qb.smg.DeactivateAccountRequest.prototype.toObject = function(opt_includeInstance) {\n  return proto.qb.smg.DeactivateAccountRequest.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.qb.smg.DeactivateAccountRequest} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.qb.smg.DeactivateAccountRequest.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    token: jspb.Message.getFieldWithDefault(msg, 1, \"\")\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.qb.smg.DeactivateAccountRequest}\n */\nproto.qb.smg.DeactivateAccountRequest.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.qb.smg.DeactivateAccountRequest;\n  return proto.qb.smg.DeactivateAccountRequest.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.qb.smg.DeactivateAccountRequest} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.qb.smg.DeactivateAccountRequest}\n */\nproto.qb.smg.DeactivateAccountRequest.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setToken(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.qb.smg.DeactivateAccountRequest.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.qb.smg.DeactivateAccountRequest.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.qb.smg.DeactivateAccountRequest} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.qb.smg.DeactivateAccountRequest.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getToken();\n  if (f.length > 0) {\n    writer.writeString(\n      1,\n      f\n    );\n  }\n};\n\n\n/**\n * optional string token = 1;\n * @return {string}\n */\nproto.qb.smg.DeactivateAccountRequest.prototype.getToken = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.qb.smg.DeactivateAccountRequest} returns this\n */\nproto.qb.smg.DeactivateAccountRequest.prototype.setToken = function(value) {\n  return jspb.Message.setProto3StringField(this, 1, value);\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.qb.smg.DeactivateAccountResponse.prototype.toObject = function(opt_includeInstance) {\n  return proto.qb.smg.DeactivateAccountResponse.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.qb.smg.DeactivateAccountResponse} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.qb.smg.DeactivateAccountResponse.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    error: (f = msg.getError()) && proto.qb.smg.Error.toObject(includeInstance, f),\n    success: jspb.Message.getBooleanFieldWithDefault(msg, 2, false)\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.qb.smg.DeactivateAccountResponse}\n */\nproto.qb.smg.DeactivateAccountResponse.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.qb.smg.DeactivateAccountResponse;\n  return proto.qb.smg.DeactivateAccountResponse.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.qb.smg.DeactivateAccountResponse} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.qb.smg.DeactivateAccountResponse}\n */\nproto.qb.smg.DeactivateAccountResponse.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = new proto.qb.smg.Error;\n      reader.readMessage(value,proto.qb.smg.Error.deserializeBinaryFromReader);\n      msg.setError(value);\n      break;\n    case 2:\n      var value = /** @type {boolean} */ (reader.readBool());\n      msg.setSuccess(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.qb.smg.DeactivateAccountResponse.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.qb.smg.DeactivateAccountResponse.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.qb.smg.DeactivateAccountResponse} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.qb.smg.DeactivateAccountResponse.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getError();\n  if (f != null) {\n    writer.writeMessage(\n      1,\n      f,\n      proto.qb.smg.Error.serializeBinaryToWriter\n    );\n  }\n  f = message.getSuccess();\n  if (f) {\n    writer.writeBool(\n      2,\n      f\n    );\n  }\n};\n\n\n/**\n * optional Error error = 1;\n * @return {?proto.qb.smg.Error}\n */\nproto.qb.smg.DeactivateAccountResponse.prototype.getError = function() {\n  return /** @type{?proto.qb.smg.Error} */ (\n    jspb.Message.getWrapperField(this, proto.qb.smg.Error, 1));\n};\n\n\n/**\n * @param {?proto.qb.smg.Error|undefined} value\n * @return {!proto.qb.smg.DeactivateAccountResponse} returns this\n*/\nproto.qb.smg.DeactivateAccountResponse.prototype.setError = function(value) {\n  return jspb.Message.setWrapperField(this, 1, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.qb.smg.DeactivateAccountResponse} returns this\n */\nproto.qb.smg.DeactivateAccountResponse.prototype.clearError = function() {\n  return this.setError(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.qb.smg.DeactivateAccountResponse.prototype.hasError = function() {\n  return jspb.Message.getField(this, 1) != null;\n};\n\n\n/**\n * optional bool success = 2;\n * @return {boolean}\n */\nproto.qb.smg.DeactivateAccountResponse.prototype.getSuccess = function() {\n  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 2, false));\n};\n\n\n/**\n * @param {boolean} value\n * @return {!proto.qb.smg.DeactivateAccountResponse} returns this\n */\nproto.qb.smg.DeactivateAccountResponse.prototype.setSuccess = function(value) {\n  return jspb.Message.setProto3BooleanField(this, 2, value);\n};\n\n\n\n/**\n * List of repeated fields within this message type.\n * @private {!Array<number>}\n * @const\n */\nproto.qb.smg.DisableUsersRequest.repeatedFields_ = [1,2,3];\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.qb.smg.DisableUsersRequest.prototype.toObject = function(opt_includeInstance) {\n  return proto.qb.smg.DisableUsersRequest.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.qb.smg.DisableUsersRequest} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.qb.smg.DisableUsersRequest.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    userIdsList: (f = jspb.Message.getRepeatedField(msg, 1)) == null ? undefined : f,\n    emailsList: (f = jspb.Message.getRepeatedField(msg, 2)) == null ? undefined : f,\n    kycnamesList: (f = jspb.Message.getRepeatedField(msg, 3)) == null ? undefined : f,\n    wipeKey: jspb.Message.getFieldWithDefault(msg, 4, \"\"),\n    reason: jspb.Message.getFieldWithDefault(msg, 5, \"\")\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.qb.smg.DisableUsersRequest}\n */\nproto.qb.smg.DisableUsersRequest.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.qb.smg.DisableUsersRequest;\n  return proto.qb.smg.DisableUsersRequest.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.qb.smg.DisableUsersRequest} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.qb.smg.DisableUsersRequest}\n */\nproto.qb.smg.DisableUsersRequest.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {string} */ (reader.readString());\n      msg.addUserIds(value);\n      break;\n    case 2:\n      var value = /** @type {string} */ (reader.readString());\n      msg.addEmails(value);\n      break;\n    case 3:\n      var value = /** @type {string} */ (reader.readString());\n      msg.addKycnames(value);\n      break;\n    case 4:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setWipeKey(value);\n      break;\n    case 5:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setReason(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.qb.smg.DisableUsersRequest.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.qb.smg.DisableUsersRequest.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.qb.smg.DisableUsersRequest} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.qb.smg.DisableUsersRequest.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getUserIdsList();\n  if (f.length > 0) {\n    writer.writeRepeatedString(\n      1,\n      f\n    );\n  }\n  f = message.getEmailsList();\n  if (f.length > 0) {\n    writer.writeRepeatedString(\n      2,\n      f\n    );\n  }\n  f = message.getKycnamesList();\n  if (f.length > 0) {\n    writer.writeRepeatedString(\n      3,\n      f\n    );\n  }\n  f = message.getWipeKey();\n  if (f.length > 0) {\n    writer.writeString(\n      4,\n      f\n    );\n  }\n  f = message.getReason();\n  if (f.length > 0) {\n    writer.writeString(\n      5,\n      f\n    );\n  }\n};\n\n\n/**\n * repeated string user_ids = 1;\n * @return {!Array<string>}\n */\nproto.qb.smg.DisableUsersRequest.prototype.getUserIdsList = function() {\n  return /** @type {!Array<string>} */ (jspb.Message.getRepeatedField(this, 1));\n};\n\n\n/**\n * @param {!Array<string>} value\n * @return {!proto.qb.smg.DisableUsersRequest} returns this\n */\nproto.qb.smg.DisableUsersRequest.prototype.setUserIdsList = function(value) {\n  return jspb.Message.setField(this, 1, value || []);\n};\n\n\n/**\n * @param {string} value\n * @param {number=} opt_index\n * @return {!proto.qb.smg.DisableUsersRequest} returns this\n */\nproto.qb.smg.DisableUsersRequest.prototype.addUserIds = function(value, opt_index) {\n  return jspb.Message.addToRepeatedField(this, 1, value, opt_index);\n};\n\n\n/**\n * Clears the list making it empty but non-null.\n * @return {!proto.qb.smg.DisableUsersRequest} returns this\n */\nproto.qb.smg.DisableUsersRequest.prototype.clearUserIdsList = function() {\n  return this.setUserIdsList([]);\n};\n\n\n/**\n * repeated string emails = 2;\n * @return {!Array<string>}\n */\nproto.qb.smg.DisableUsersRequest.prototype.getEmailsList = function() {\n  return /** @type {!Array<string>} */ (jspb.Message.getRepeatedField(this, 2));\n};\n\n\n/**\n * @param {!Array<string>} value\n * @return {!proto.qb.smg.DisableUsersRequest} returns this\n */\nproto.qb.smg.DisableUsersRequest.prototype.setEmailsList = function(value) {\n  return jspb.Message.setField(this, 2, value || []);\n};\n\n\n/**\n * @param {string} value\n * @param {number=} opt_index\n * @return {!proto.qb.smg.DisableUsersRequest} returns this\n */\nproto.qb.smg.DisableUsersRequest.prototype.addEmails = function(value, opt_index) {\n  return jspb.Message.addToRepeatedField(this, 2, value, opt_index);\n};\n\n\n/**\n * Clears the list making it empty but non-null.\n * @return {!proto.qb.smg.DisableUsersRequest} returns this\n */\nproto.qb.smg.DisableUsersRequest.prototype.clearEmailsList = function() {\n  return this.setEmailsList([]);\n};\n\n\n/**\n * repeated string kycNames = 3;\n * @return {!Array<string>}\n */\nproto.qb.smg.DisableUsersRequest.prototype.getKycnamesList = function() {\n  return /** @type {!Array<string>} */ (jspb.Message.getRepeatedField(this, 3));\n};\n\n\n/**\n * @param {!Array<string>} value\n * @return {!proto.qb.smg.DisableUsersRequest} returns this\n */\nproto.qb.smg.DisableUsersRequest.prototype.setKycnamesList = function(value) {\n  return jspb.Message.setField(this, 3, value || []);\n};\n\n\n/**\n * @param {string} value\n * @param {number=} opt_index\n * @return {!proto.qb.smg.DisableUsersRequest} returns this\n */\nproto.qb.smg.DisableUsersRequest.prototype.addKycnames = function(value, opt_index) {\n  return jspb.Message.addToRepeatedField(this, 3, value, opt_index);\n};\n\n\n/**\n * Clears the list making it empty but non-null.\n * @return {!proto.qb.smg.DisableUsersRequest} returns this\n */\nproto.qb.smg.DisableUsersRequest.prototype.clearKycnamesList = function() {\n  return this.setKycnamesList([]);\n};\n\n\n/**\n * optional string wipe_key = 4;\n * @return {string}\n */\nproto.qb.smg.DisableUsersRequest.prototype.getWipeKey = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 4, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.qb.smg.DisableUsersRequest} returns this\n */\nproto.qb.smg.DisableUsersRequest.prototype.setWipeKey = function(value) {\n  return jspb.Message.setProto3StringField(this, 4, value);\n};\n\n\n/**\n * optional string reason = 5;\n * @return {string}\n */\nproto.qb.smg.DisableUsersRequest.prototype.getReason = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 5, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.qb.smg.DisableUsersRequest} returns this\n */\nproto.qb.smg.DisableUsersRequest.prototype.setReason = function(value) {\n  return jspb.Message.setProto3StringField(this, 5, value);\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.qb.smg.DisableUsersResponse.prototype.toObject = function(opt_includeInstance) {\n  return proto.qb.smg.DisableUsersResponse.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.qb.smg.DisableUsersResponse} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.qb.smg.DisableUsersResponse.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    error: (f = msg.getError()) && proto.qb.smg.Error.toObject(includeInstance, f),\n    success: jspb.Message.getBooleanFieldWithDefault(msg, 2, false)\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.qb.smg.DisableUsersResponse}\n */\nproto.qb.smg.DisableUsersResponse.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.qb.smg.DisableUsersResponse;\n  return proto.qb.smg.DisableUsersResponse.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.qb.smg.DisableUsersResponse} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.qb.smg.DisableUsersResponse}\n */\nproto.qb.smg.DisableUsersResponse.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = new proto.qb.smg.Error;\n      reader.readMessage(value,proto.qb.smg.Error.deserializeBinaryFromReader);\n      msg.setError(value);\n      break;\n    case 2:\n      var value = /** @type {boolean} */ (reader.readBool());\n      msg.setSuccess(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.qb.smg.DisableUsersResponse.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.qb.smg.DisableUsersResponse.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.qb.smg.DisableUsersResponse} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.qb.smg.DisableUsersResponse.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getError();\n  if (f != null) {\n    writer.writeMessage(\n      1,\n      f,\n      proto.qb.smg.Error.serializeBinaryToWriter\n    );\n  }\n  f = message.getSuccess();\n  if (f) {\n    writer.writeBool(\n      2,\n      f\n    );\n  }\n};\n\n\n/**\n * optional Error error = 1;\n * @return {?proto.qb.smg.Error}\n */\nproto.qb.smg.DisableUsersResponse.prototype.getError = function() {\n  return /** @type{?proto.qb.smg.Error} */ (\n    jspb.Message.getWrapperField(this, proto.qb.smg.Error, 1));\n};\n\n\n/**\n * @param {?proto.qb.smg.Error|undefined} value\n * @return {!proto.qb.smg.DisableUsersResponse} returns this\n*/\nproto.qb.smg.DisableUsersResponse.prototype.setError = function(value) {\n  return jspb.Message.setWrapperField(this, 1, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.qb.smg.DisableUsersResponse} returns this\n */\nproto.qb.smg.DisableUsersResponse.prototype.clearError = function() {\n  return this.setError(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.qb.smg.DisableUsersResponse.prototype.hasError = function() {\n  return jspb.Message.getField(this, 1) != null;\n};\n\n\n/**\n * optional bool success = 2;\n * @return {boolean}\n */\nproto.qb.smg.DisableUsersResponse.prototype.getSuccess = function() {\n  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 2, false));\n};\n\n\n/**\n * @param {boolean} value\n * @return {!proto.qb.smg.DisableUsersResponse} returns this\n */\nproto.qb.smg.DisableUsersResponse.prototype.setSuccess = function(value) {\n  return jspb.Message.setProto3BooleanField(this, 2, value);\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.qb.smg.SetFaceRequest.prototype.toObject = function(opt_includeInstance) {\n  return proto.qb.smg.SetFaceRequest.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.qb.smg.SetFaceRequest} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.qb.smg.SetFaceRequest.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    imageUrl: jspb.Message.getFieldWithDefault(msg, 1, \"\"),\n    userId: jspb.Message.getFieldWithDefault(msg, 2, \"\")\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.qb.smg.SetFaceRequest}\n */\nproto.qb.smg.SetFaceRequest.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.qb.smg.SetFaceRequest;\n  return proto.qb.smg.SetFaceRequest.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.qb.smg.SetFaceRequest} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.qb.smg.SetFaceRequest}\n */\nproto.qb.smg.SetFaceRequest.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setImageUrl(value);\n      break;\n    case 2:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setUserId(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.qb.smg.SetFaceRequest.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.qb.smg.SetFaceRequest.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.qb.smg.SetFaceRequest} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.qb.smg.SetFaceRequest.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getImageUrl();\n  if (f.length > 0) {\n    writer.writeString(\n      1,\n      f\n    );\n  }\n  f = message.getUserId();\n  if (f.length > 0) {\n    writer.writeString(\n      2,\n      f\n    );\n  }\n};\n\n\n/**\n * optional string image_url = 1;\n * @return {string}\n */\nproto.qb.smg.SetFaceRequest.prototype.getImageUrl = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.qb.smg.SetFaceRequest} returns this\n */\nproto.qb.smg.SetFaceRequest.prototype.setImageUrl = function(value) {\n  return jspb.Message.setProto3StringField(this, 1, value);\n};\n\n\n/**\n * optional string user_id = 2;\n * @return {string}\n */\nproto.qb.smg.SetFaceRequest.prototype.getUserId = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.qb.smg.SetFaceRequest} returns this\n */\nproto.qb.smg.SetFaceRequest.prototype.setUserId = function(value) {\n  return jspb.Message.setProto3StringField(this, 2, value);\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.qb.smg.SetFaceResponse.prototype.toObject = function(opt_includeInstance) {\n  return proto.qb.smg.SetFaceResponse.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.qb.smg.SetFaceResponse} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.qb.smg.SetFaceResponse.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    isSuccess: jspb.Message.getBooleanFieldWithDefault(msg, 1, false),\n    err: jspb.Message.getFieldWithDefault(msg, 2, \"\")\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.qb.smg.SetFaceResponse}\n */\nproto.qb.smg.SetFaceResponse.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.qb.smg.SetFaceResponse;\n  return proto.qb.smg.SetFaceResponse.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.qb.smg.SetFaceResponse} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.qb.smg.SetFaceResponse}\n */\nproto.qb.smg.SetFaceResponse.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {boolean} */ (reader.readBool());\n      msg.setIsSuccess(value);\n      break;\n    case 2:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setErr(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.qb.smg.SetFaceResponse.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.qb.smg.SetFaceResponse.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.qb.smg.SetFaceResponse} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.qb.smg.SetFaceResponse.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getIsSuccess();\n  if (f) {\n    writer.writeBool(\n      1,\n      f\n    );\n  }\n  f = message.getErr();\n  if (f.length > 0) {\n    writer.writeString(\n      2,\n      f\n    );\n  }\n};\n\n\n/**\n * optional bool is_success = 1;\n * @return {boolean}\n */\nproto.qb.smg.SetFaceResponse.prototype.getIsSuccess = function() {\n  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 1, false));\n};\n\n\n/**\n * @param {boolean} value\n * @return {!proto.qb.smg.SetFaceResponse} returns this\n */\nproto.qb.smg.SetFaceResponse.prototype.setIsSuccess = function(value) {\n  return jspb.Message.setProto3BooleanField(this, 1, value);\n};\n\n\n/**\n * optional string err = 2;\n * @return {string}\n */\nproto.qb.smg.SetFaceResponse.prototype.getErr = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.qb.smg.SetFaceResponse} returns this\n */\nproto.qb.smg.SetFaceResponse.prototype.setErr = function(value) {\n  return jspb.Message.setProto3StringField(this, 2, value);\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.qb.smg.RecognizeFaceRequest.prototype.toObject = function(opt_includeInstance) {\n  return proto.qb.smg.RecognizeFaceRequest.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.qb.smg.RecognizeFaceRequest} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.qb.smg.RecognizeFaceRequest.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    imageUrl: jspb.Message.getFieldWithDefault(msg, 1, \"\")\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.qb.smg.RecognizeFaceRequest}\n */\nproto.qb.smg.RecognizeFaceRequest.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.qb.smg.RecognizeFaceRequest;\n  return proto.qb.smg.RecognizeFaceRequest.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.qb.smg.RecognizeFaceRequest} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.qb.smg.RecognizeFaceRequest}\n */\nproto.qb.smg.RecognizeFaceRequest.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setImageUrl(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.qb.smg.RecognizeFaceRequest.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.qb.smg.RecognizeFaceRequest.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.qb.smg.RecognizeFaceRequest} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.qb.smg.RecognizeFaceRequest.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getImageUrl();\n  if (f.length > 0) {\n    writer.writeString(\n      1,\n      f\n    );\n  }\n};\n\n\n/**\n * optional string image_url = 1;\n * @return {string}\n */\nproto.qb.smg.RecognizeFaceRequest.prototype.getImageUrl = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.qb.smg.RecognizeFaceRequest} returns this\n */\nproto.qb.smg.RecognizeFaceRequest.prototype.setImageUrl = function(value) {\n  return jspb.Message.setProto3StringField(this, 1, value);\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.qb.smg.RecognizeFaceResponse.prototype.toObject = function(opt_includeInstance) {\n  return proto.qb.smg.RecognizeFaceResponse.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.qb.smg.RecognizeFaceResponse} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.qb.smg.RecognizeFaceResponse.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    isSuccess: jspb.Message.getBooleanFieldWithDefault(msg, 1, false),\n    err: jspb.Message.getFieldWithDefault(msg, 2, \"\"),\n    userId: jspb.Message.getFieldWithDefault(msg, 3, \"\")\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.qb.smg.RecognizeFaceResponse}\n */\nproto.qb.smg.RecognizeFaceResponse.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.qb.smg.RecognizeFaceResponse;\n  return proto.qb.smg.RecognizeFaceResponse.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.qb.smg.RecognizeFaceResponse} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.qb.smg.RecognizeFaceResponse}\n */\nproto.qb.smg.RecognizeFaceResponse.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {boolean} */ (reader.readBool());\n      msg.setIsSuccess(value);\n      break;\n    case 2:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setErr(value);\n      break;\n    case 3:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setUserId(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.qb.smg.RecognizeFaceResponse.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.qb.smg.RecognizeFaceResponse.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.qb.smg.RecognizeFaceResponse} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.qb.smg.RecognizeFaceResponse.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getIsSuccess();\n  if (f) {\n    writer.writeBool(\n      1,\n      f\n    );\n  }\n  f = message.getErr();\n  if (f.length > 0) {\n    writer.writeString(\n      2,\n      f\n    );\n  }\n  f = message.getUserId();\n  if (f.length > 0) {\n    writer.writeString(\n      3,\n      f\n    );\n  }\n};\n\n\n/**\n * optional bool is_success = 1;\n * @return {boolean}\n */\nproto.qb.smg.RecognizeFaceResponse.prototype.getIsSuccess = function() {\n  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 1, false));\n};\n\n\n/**\n * @param {boolean} value\n * @return {!proto.qb.smg.RecognizeFaceResponse} returns this\n */\nproto.qb.smg.RecognizeFaceResponse.prototype.setIsSuccess = function(value) {\n  return jspb.Message.setProto3BooleanField(this, 1, value);\n};\n\n\n/**\n * optional string err = 2;\n * @return {string}\n */\nproto.qb.smg.RecognizeFaceResponse.prototype.getErr = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.qb.smg.RecognizeFaceResponse} returns this\n */\nproto.qb.smg.RecognizeFaceResponse.prototype.setErr = function(value) {\n  return jspb.Message.setProto3StringField(this, 2, value);\n};\n\n\n/**\n * optional string user_id = 3;\n * @return {string}\n */\nproto.qb.smg.RecognizeFaceResponse.prototype.getUserId = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 3, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.qb.smg.RecognizeFaceResponse} returns this\n */\nproto.qb.smg.RecognizeFaceResponse.prototype.setUserId = function(value) {\n  return jspb.Message.setProto3StringField(this, 3, value);\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.qb.smg.CompareImagesRequest.prototype.toObject = function(opt_includeInstance) {\n  return proto.qb.smg.CompareImagesRequest.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.qb.smg.CompareImagesRequest} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.qb.smg.CompareImagesRequest.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    firstImageUrl: jspb.Message.getFieldWithDefault(msg, 1, \"\"),\n    secondImageUrl: jspb.Message.getFieldWithDefault(msg, 2, \"\")\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.qb.smg.CompareImagesRequest}\n */\nproto.qb.smg.CompareImagesRequest.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.qb.smg.CompareImagesRequest;\n  return proto.qb.smg.CompareImagesRequest.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.qb.smg.CompareImagesRequest} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.qb.smg.CompareImagesRequest}\n */\nproto.qb.smg.CompareImagesRequest.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setFirstImageUrl(value);\n      break;\n    case 2:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setSecondImageUrl(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.qb.smg.CompareImagesRequest.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.qb.smg.CompareImagesRequest.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.qb.smg.CompareImagesRequest} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.qb.smg.CompareImagesRequest.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getFirstImageUrl();\n  if (f.length > 0) {\n    writer.writeString(\n      1,\n      f\n    );\n  }\n  f = message.getSecondImageUrl();\n  if (f.length > 0) {\n    writer.writeString(\n      2,\n      f\n    );\n  }\n};\n\n\n/**\n * optional string first_image_url = 1;\n * @return {string}\n */\nproto.qb.smg.CompareImagesRequest.prototype.getFirstImageUrl = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.qb.smg.CompareImagesRequest} returns this\n */\nproto.qb.smg.CompareImagesRequest.prototype.setFirstImageUrl = function(value) {\n  return jspb.Message.setProto3StringField(this, 1, value);\n};\n\n\n/**\n * optional string second_image_url = 2;\n * @return {string}\n */\nproto.qb.smg.CompareImagesRequest.prototype.getSecondImageUrl = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.qb.smg.CompareImagesRequest} returns this\n */\nproto.qb.smg.CompareImagesRequest.prototype.setSecondImageUrl = function(value) {\n  return jspb.Message.setProto3StringField(this, 2, value);\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.qb.smg.CompareImagesResponse.prototype.toObject = function(opt_includeInstance) {\n  return proto.qb.smg.CompareImagesResponse.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.qb.smg.CompareImagesResponse} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.qb.smg.CompareImagesResponse.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    isMatch: jspb.Message.getBooleanFieldWithDefault(msg, 1, false),\n    matchProbability: jspb.Message.getFloatingPointFieldWithDefault(msg, 2, 0.0),\n    similiarity: jspb.Message.getFloatingPointFieldWithDefault(msg, 3, 0.0),\n    err: jspb.Message.getFieldWithDefault(msg, 4, \"\")\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.qb.smg.CompareImagesResponse}\n */\nproto.qb.smg.CompareImagesResponse.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.qb.smg.CompareImagesResponse;\n  return proto.qb.smg.CompareImagesResponse.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.qb.smg.CompareImagesResponse} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.qb.smg.CompareImagesResponse}\n */\nproto.qb.smg.CompareImagesResponse.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {boolean} */ (reader.readBool());\n      msg.setIsMatch(value);\n      break;\n    case 2:\n      var value = /** @type {number} */ (reader.readFloat());\n      msg.setMatchProbability(value);\n      break;\n    case 3:\n      var value = /** @type {number} */ (reader.readFloat());\n      msg.setSimiliarity(value);\n      break;\n    case 4:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setErr(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.qb.smg.CompareImagesResponse.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.qb.smg.CompareImagesResponse.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.qb.smg.CompareImagesResponse} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.qb.smg.CompareImagesResponse.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getIsMatch();\n  if (f) {\n    writer.writeBool(\n      1,\n      f\n    );\n  }\n  f = message.getMatchProbability();\n  if (f !== 0.0) {\n    writer.writeFloat(\n      2,\n      f\n    );\n  }\n  f = message.getSimiliarity();\n  if (f !== 0.0) {\n    writer.writeFloat(\n      3,\n      f\n    );\n  }\n  f = message.getErr();\n  if (f.length > 0) {\n    writer.writeString(\n      4,\n      f\n    );\n  }\n};\n\n\n/**\n * optional bool is_match = 1;\n * @return {boolean}\n */\nproto.qb.smg.CompareImagesResponse.prototype.getIsMatch = function() {\n  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 1, false));\n};\n\n\n/**\n * @param {boolean} value\n * @return {!proto.qb.smg.CompareImagesResponse} returns this\n */\nproto.qb.smg.CompareImagesResponse.prototype.setIsMatch = function(value) {\n  return jspb.Message.setProto3BooleanField(this, 1, value);\n};\n\n\n/**\n * optional float match_probability = 2;\n * @return {number}\n */\nproto.qb.smg.CompareImagesResponse.prototype.getMatchProbability = function() {\n  return /** @type {number} */ (jspb.Message.getFloatingPointFieldWithDefault(this, 2, 0.0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.qb.smg.CompareImagesResponse} returns this\n */\nproto.qb.smg.CompareImagesResponse.prototype.setMatchProbability = function(value) {\n  return jspb.Message.setProto3FloatField(this, 2, value);\n};\n\n\n/**\n * optional float similiarity = 3;\n * @return {number}\n */\nproto.qb.smg.CompareImagesResponse.prototype.getSimiliarity = function() {\n  return /** @type {number} */ (jspb.Message.getFloatingPointFieldWithDefault(this, 3, 0.0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.qb.smg.CompareImagesResponse} returns this\n */\nproto.qb.smg.CompareImagesResponse.prototype.setSimiliarity = function(value) {\n  return jspb.Message.setProto3FloatField(this, 3, value);\n};\n\n\n/**\n * optional string err = 4;\n * @return {string}\n */\nproto.qb.smg.CompareImagesResponse.prototype.getErr = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 4, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.qb.smg.CompareImagesResponse} returns this\n */\nproto.qb.smg.CompareImagesResponse.prototype.setErr = function(value) {\n  return jspb.Message.setProto3StringField(this, 4, value);\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.qb.smg.ListFacesRequest.prototype.toObject = function(opt_includeInstance) {\n  return proto.qb.smg.ListFacesRequest.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.qb.smg.ListFacesRequest} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.qb.smg.ListFacesRequest.toObject = function(includeInstance, msg) {\n  var f, obj = {\n\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.qb.smg.ListFacesRequest}\n */\nproto.qb.smg.ListFacesRequest.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.qb.smg.ListFacesRequest;\n  return proto.qb.smg.ListFacesRequest.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.qb.smg.ListFacesRequest} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.qb.smg.ListFacesRequest}\n */\nproto.qb.smg.ListFacesRequest.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.qb.smg.ListFacesRequest.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.qb.smg.ListFacesRequest.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.qb.smg.ListFacesRequest} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.qb.smg.ListFacesRequest.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n};\n\n\n\n/**\n * List of repeated fields within this message type.\n * @private {!Array<number>}\n * @const\n */\nproto.qb.smg.ListFacesResponse.repeatedFields_ = [1];\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.qb.smg.ListFacesResponse.prototype.toObject = function(opt_includeInstance) {\n  return proto.qb.smg.ListFacesResponse.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.qb.smg.ListFacesResponse} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.qb.smg.ListFacesResponse.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    userIdsList: (f = jspb.Message.getRepeatedField(msg, 1)) == null ? undefined : f\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.qb.smg.ListFacesResponse}\n */\nproto.qb.smg.ListFacesResponse.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.qb.smg.ListFacesResponse;\n  return proto.qb.smg.ListFacesResponse.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.qb.smg.ListFacesResponse} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.qb.smg.ListFacesResponse}\n */\nproto.qb.smg.ListFacesResponse.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {string} */ (reader.readString());\n      msg.addUserIds(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.qb.smg.ListFacesResponse.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.qb.smg.ListFacesResponse.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.qb.smg.ListFacesResponse} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.qb.smg.ListFacesResponse.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getUserIdsList();\n  if (f.length > 0) {\n    writer.writeRepeatedString(\n      1,\n      f\n    );\n  }\n};\n\n\n/**\n * repeated string user_ids = 1;\n * @return {!Array<string>}\n */\nproto.qb.smg.ListFacesResponse.prototype.getUserIdsList = function() {\n  return /** @type {!Array<string>} */ (jspb.Message.getRepeatedField(this, 1));\n};\n\n\n/**\n * @param {!Array<string>} value\n * @return {!proto.qb.smg.ListFacesResponse} returns this\n */\nproto.qb.smg.ListFacesResponse.prototype.setUserIdsList = function(value) {\n  return jspb.Message.setField(this, 1, value || []);\n};\n\n\n/**\n * @param {string} value\n * @param {number=} opt_index\n * @return {!proto.qb.smg.ListFacesResponse} returns this\n */\nproto.qb.smg.ListFacesResponse.prototype.addUserIds = function(value, opt_index) {\n  return jspb.Message.addToRepeatedField(this, 1, value, opt_index);\n};\n\n\n/**\n * Clears the list making it empty but non-null.\n * @return {!proto.qb.smg.ListFacesResponse} returns this\n */\nproto.qb.smg.ListFacesResponse.prototype.clearUserIdsList = function() {\n  return this.setUserIdsList([]);\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.qb.smg.InitialCommandConnectorRequest.prototype.toObject = function(opt_includeInstance) {\n  return proto.qb.smg.InitialCommandConnectorRequest.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.qb.smg.InitialCommandConnectorRequest} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.qb.smg.InitialCommandConnectorRequest.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    venueid: jspb.Message.getFieldWithDefault(msg, 1, 0),\n    stationid: jspb.Message.getFieldWithDefault(msg, 2, 0),\n    useNewService: jspb.Message.getBooleanFieldWithDefault(msg, 3, false)\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.qb.smg.InitialCommandConnectorRequest}\n */\nproto.qb.smg.InitialCommandConnectorRequest.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.qb.smg.InitialCommandConnectorRequest;\n  return proto.qb.smg.InitialCommandConnectorRequest.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.qb.smg.InitialCommandConnectorRequest} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.qb.smg.InitialCommandConnectorRequest}\n */\nproto.qb.smg.InitialCommandConnectorRequest.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {number} */ (reader.readInt64());\n      msg.setVenueid(value);\n      break;\n    case 2:\n      var value = /** @type {number} */ (reader.readInt64());\n      msg.setStationid(value);\n      break;\n    case 3:\n      var value = /** @type {boolean} */ (reader.readBool());\n      msg.setUseNewService(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.qb.smg.InitialCommandConnectorRequest.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.qb.smg.InitialCommandConnectorRequest.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.qb.smg.InitialCommandConnectorRequest} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.qb.smg.InitialCommandConnectorRequest.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getVenueid();\n  if (f !== 0) {\n    writer.writeInt64(\n      1,\n      f\n    );\n  }\n  f = message.getStationid();\n  if (f !== 0) {\n    writer.writeInt64(\n      2,\n      f\n    );\n  }\n  f = message.getUseNewService();\n  if (f) {\n    writer.writeBool(\n      3,\n      f\n    );\n  }\n};\n\n\n/**\n * optional int64 venueId = 1;\n * @return {number}\n */\nproto.qb.smg.InitialCommandConnectorRequest.prototype.getVenueid = function() {\n  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.qb.smg.InitialCommandConnectorRequest} returns this\n */\nproto.qb.smg.InitialCommandConnectorRequest.prototype.setVenueid = function(value) {\n  return jspb.Message.setProto3IntField(this, 1, value);\n};\n\n\n/**\n * optional int64 stationId = 2;\n * @return {number}\n */\nproto.qb.smg.InitialCommandConnectorRequest.prototype.getStationid = function() {\n  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 2, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.qb.smg.InitialCommandConnectorRequest} returns this\n */\nproto.qb.smg.InitialCommandConnectorRequest.prototype.setStationid = function(value) {\n  return jspb.Message.setProto3IntField(this, 2, value);\n};\n\n\n/**\n * optional bool use_new_service = 3;\n * @return {boolean}\n */\nproto.qb.smg.InitialCommandConnectorRequest.prototype.getUseNewService = function() {\n  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 3, false));\n};\n\n\n/**\n * @param {boolean} value\n * @return {!proto.qb.smg.InitialCommandConnectorRequest} returns this\n */\nproto.qb.smg.InitialCommandConnectorRequest.prototype.setUseNewService = function(value) {\n  return jspb.Message.setProto3BooleanField(this, 3, value);\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.qb.smg.InitialCommandConnectorResponse.prototype.toObject = function(opt_includeInstance) {\n  return proto.qb.smg.InitialCommandConnectorResponse.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.qb.smg.InitialCommandConnectorResponse} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.qb.smg.InitialCommandConnectorResponse.toObject = function(includeInstance, msg) {\n  var f, obj = {\n\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.qb.smg.InitialCommandConnectorResponse}\n */\nproto.qb.smg.InitialCommandConnectorResponse.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.qb.smg.InitialCommandConnectorResponse;\n  return proto.qb.smg.InitialCommandConnectorResponse.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.qb.smg.InitialCommandConnectorResponse} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.qb.smg.InitialCommandConnectorResponse}\n */\nproto.qb.smg.InitialCommandConnectorResponse.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.qb.smg.InitialCommandConnectorResponse.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.qb.smg.InitialCommandConnectorResponse.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.qb.smg.InitialCommandConnectorResponse} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.qb.smg.InitialCommandConnectorResponse.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n};\n\n\n\n/**\n * Oneof group definitions for this message. Each group defines the field\n * numbers belonging to that group. When of these fields' value is set, all\n * other fields in the group are cleared. During deserialization, if multiple\n * fields are encountered for a group, only the last value seen will be kept.\n * @private {!Array<!Array<number>>}\n * @const\n */\nproto.qb.smg.CommandExecutorFRSPayload.oneofGroups_ = [[1,2,3,4,5,6,7,8]];\n\n/**\n * @enum {number}\n */\nproto.qb.smg.CommandExecutorFRSPayload.PayloadCase = {\n  PAYLOAD_NOT_SET: 0,\n  INITIALCOMMANDCONNECTORREQUEST: 1,\n  SETFACERESPONSE: 2,\n  COMPAREIMAGESRESPONSE: 3,\n  LISTFACESRESPONSE: 4,\n  DELETEUSERIMAGERESPONSE: 5,\n  HEARTBEATRESPONSE: 6,\n  DELETELASTACTIVEBEFOREDATERESPONSE: 7,\n  RECOGNIZEFACERESPONSE: 8\n};\n\n/**\n * @return {proto.qb.smg.CommandExecutorFRSPayload.PayloadCase}\n */\nproto.qb.smg.CommandExecutorFRSPayload.prototype.getPayloadCase = function() {\n  return /** @type {proto.qb.smg.CommandExecutorFRSPayload.PayloadCase} */(jspb.Message.computeOneofCase(this, proto.qb.smg.CommandExecutorFRSPayload.oneofGroups_[0]));\n};\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.qb.smg.CommandExecutorFRSPayload.prototype.toObject = function(opt_includeInstance) {\n  return proto.qb.smg.CommandExecutorFRSPayload.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.qb.smg.CommandExecutorFRSPayload} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.qb.smg.CommandExecutorFRSPayload.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    initialcommandconnectorrequest: (f = msg.getInitialcommandconnectorrequest()) && proto.qb.smg.InitialCommandConnectorRequest.toObject(includeInstance, f),\n    setfaceresponse: (f = msg.getSetfaceresponse()) && proto.qb.smg.SetFaceResponse.toObject(includeInstance, f),\n    compareimagesresponse: (f = msg.getCompareimagesresponse()) && proto.qb.smg.CompareImagesResponse.toObject(includeInstance, f),\n    listfacesresponse: (f = msg.getListfacesresponse()) && proto.qb.smg.ListFacesResponse.toObject(includeInstance, f),\n    deleteuserimageresponse: (f = msg.getDeleteuserimageresponse()) && proto.qb.smg.DeleteUserImageResponse.toObject(includeInstance, f),\n    heartbeatresponse: (f = msg.getHeartbeatresponse()) && proto.qb.smg.HeartbeatResponse.toObject(includeInstance, f),\n    deletelastactivebeforedateresponse: (f = msg.getDeletelastactivebeforedateresponse()) && proto.qb.smg.DeleteLastActiveBeforeDateResponse.toObject(includeInstance, f),\n    recognizefaceresponse: (f = msg.getRecognizefaceresponse()) && proto.qb.smg.RecognizeFaceResponse.toObject(includeInstance, f),\n    token: jspb.Message.getFieldWithDefault(msg, 9, \"\")\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.qb.smg.CommandExecutorFRSPayload}\n */\nproto.qb.smg.CommandExecutorFRSPayload.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.qb.smg.CommandExecutorFRSPayload;\n  return proto.qb.smg.CommandExecutorFRSPayload.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.qb.smg.CommandExecutorFRSPayload} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.qb.smg.CommandExecutorFRSPayload}\n */\nproto.qb.smg.CommandExecutorFRSPayload.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = new proto.qb.smg.InitialCommandConnectorRequest;\n      reader.readMessage(value,proto.qb.smg.InitialCommandConnectorRequest.deserializeBinaryFromReader);\n      msg.setInitialcommandconnectorrequest(value);\n      break;\n    case 2:\n      var value = new proto.qb.smg.SetFaceResponse;\n      reader.readMessage(value,proto.qb.smg.SetFaceResponse.deserializeBinaryFromReader);\n      msg.setSetfaceresponse(value);\n      break;\n    case 3:\n      var value = new proto.qb.smg.CompareImagesResponse;\n      reader.readMessage(value,proto.qb.smg.CompareImagesResponse.deserializeBinaryFromReader);\n      msg.setCompareimagesresponse(value);\n      break;\n    case 4:\n      var value = new proto.qb.smg.ListFacesResponse;\n      reader.readMessage(value,proto.qb.smg.ListFacesResponse.deserializeBinaryFromReader);\n      msg.setListfacesresponse(value);\n      break;\n    case 5:\n      var value = new proto.qb.smg.DeleteUserImageResponse;\n      reader.readMessage(value,proto.qb.smg.DeleteUserImageResponse.deserializeBinaryFromReader);\n      msg.setDeleteuserimageresponse(value);\n      break;\n    case 6:\n      var value = new proto.qb.smg.HeartbeatResponse;\n      reader.readMessage(value,proto.qb.smg.HeartbeatResponse.deserializeBinaryFromReader);\n      msg.setHeartbeatresponse(value);\n      break;\n    case 7:\n      var value = new proto.qb.smg.DeleteLastActiveBeforeDateResponse;\n      reader.readMessage(value,proto.qb.smg.DeleteLastActiveBeforeDateResponse.deserializeBinaryFromReader);\n      msg.setDeletelastactivebeforedateresponse(value);\n      break;\n    case 8:\n      var value = new proto.qb.smg.RecognizeFaceResponse;\n      reader.readMessage(value,proto.qb.smg.RecognizeFaceResponse.deserializeBinaryFromReader);\n      msg.setRecognizefaceresponse(value);\n      break;\n    case 9:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setToken(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.qb.smg.CommandExecutorFRSPayload.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.qb.smg.CommandExecutorFRSPayload.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.qb.smg.CommandExecutorFRSPayload} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.qb.smg.CommandExecutorFRSPayload.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getInitialcommandconnectorrequest();\n  if (f != null) {\n    writer.writeMessage(\n      1,\n      f,\n      proto.qb.smg.InitialCommandConnectorRequest.serializeBinaryToWriter\n    );\n  }\n  f = message.getSetfaceresponse();\n  if (f != null) {\n    writer.writeMessage(\n      2,\n      f,\n      proto.qb.smg.SetFaceResponse.serializeBinaryToWriter\n    );\n  }\n  f = message.getCompareimagesresponse();\n  if (f != null) {\n    writer.writeMessage(\n      3,\n      f,\n      proto.qb.smg.CompareImagesResponse.serializeBinaryToWriter\n    );\n  }\n  f = message.getListfacesresponse();\n  if (f != null) {\n    writer.writeMessage(\n      4,\n      f,\n      proto.qb.smg.ListFacesResponse.serializeBinaryToWriter\n    );\n  }\n  f = message.getDeleteuserimageresponse();\n  if (f != null) {\n    writer.writeMessage(\n      5,\n      f,\n      proto.qb.smg.DeleteUserImageResponse.serializeBinaryToWriter\n    );\n  }\n  f = message.getHeartbeatresponse();\n  if (f != null) {\n    writer.writeMessage(\n      6,\n      f,\n      proto.qb.smg.HeartbeatResponse.serializeBinaryToWriter\n    );\n  }\n  f = message.getDeletelastactivebeforedateresponse();\n  if (f != null) {\n    writer.writeMessage(\n      7,\n      f,\n      proto.qb.smg.DeleteLastActiveBeforeDateResponse.serializeBinaryToWriter\n    );\n  }\n  f = message.getRecognizefaceresponse();\n  if (f != null) {\n    writer.writeMessage(\n      8,\n      f,\n      proto.qb.smg.RecognizeFaceResponse.serializeBinaryToWriter\n    );\n  }\n  f = message.getToken();\n  if (f.length > 0) {\n    writer.writeString(\n      9,\n      f\n    );\n  }\n};\n\n\n/**\n * optional InitialCommandConnectorRequest initialCommandConnectorRequest = 1;\n * @return {?proto.qb.smg.InitialCommandConnectorRequest}\n */\nproto.qb.smg.CommandExecutorFRSPayload.prototype.getInitialcommandconnectorrequest = function() {\n  return /** @type{?proto.qb.smg.InitialCommandConnectorRequest} */ (\n    jspb.Message.getWrapperField(this, proto.qb.smg.InitialCommandConnectorRequest, 1));\n};\n\n\n/**\n * @param {?proto.qb.smg.InitialCommandConnectorRequest|undefined} value\n * @return {!proto.qb.smg.CommandExecutorFRSPayload} returns this\n*/\nproto.qb.smg.CommandExecutorFRSPayload.prototype.setInitialcommandconnectorrequest = function(value) {\n  return jspb.Message.setOneofWrapperField(this, 1, proto.qb.smg.CommandExecutorFRSPayload.oneofGroups_[0], value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.qb.smg.CommandExecutorFRSPayload} returns this\n */\nproto.qb.smg.CommandExecutorFRSPayload.prototype.clearInitialcommandconnectorrequest = function() {\n  return this.setInitialcommandconnectorrequest(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.qb.smg.CommandExecutorFRSPayload.prototype.hasInitialcommandconnectorrequest = function() {\n  return jspb.Message.getField(this, 1) != null;\n};\n\n\n/**\n * optional SetFaceResponse setFaceResponse = 2;\n * @return {?proto.qb.smg.SetFaceResponse}\n */\nproto.qb.smg.CommandExecutorFRSPayload.prototype.getSetfaceresponse = function() {\n  return /** @type{?proto.qb.smg.SetFaceResponse} */ (\n    jspb.Message.getWrapperField(this, proto.qb.smg.SetFaceResponse, 2));\n};\n\n\n/**\n * @param {?proto.qb.smg.SetFaceResponse|undefined} value\n * @return {!proto.qb.smg.CommandExecutorFRSPayload} returns this\n*/\nproto.qb.smg.CommandExecutorFRSPayload.prototype.setSetfaceresponse = function(value) {\n  return jspb.Message.setOneofWrapperField(this, 2, proto.qb.smg.CommandExecutorFRSPayload.oneofGroups_[0], value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.qb.smg.CommandExecutorFRSPayload} returns this\n */\nproto.qb.smg.CommandExecutorFRSPayload.prototype.clearSetfaceresponse = function() {\n  return this.setSetfaceresponse(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.qb.smg.CommandExecutorFRSPayload.prototype.hasSetfaceresponse = function() {\n  return jspb.Message.getField(this, 2) != null;\n};\n\n\n/**\n * optional CompareImagesResponse compareImagesResponse = 3;\n * @return {?proto.qb.smg.CompareImagesResponse}\n */\nproto.qb.smg.CommandExecutorFRSPayload.prototype.getCompareimagesresponse = function() {\n  return /** @type{?proto.qb.smg.CompareImagesResponse} */ (\n    jspb.Message.getWrapperField(this, proto.qb.smg.CompareImagesResponse, 3));\n};\n\n\n/**\n * @param {?proto.qb.smg.CompareImagesResponse|undefined} value\n * @return {!proto.qb.smg.CommandExecutorFRSPayload} returns this\n*/\nproto.qb.smg.CommandExecutorFRSPayload.prototype.setCompareimagesresponse = function(value) {\n  return jspb.Message.setOneofWrapperField(this, 3, proto.qb.smg.CommandExecutorFRSPayload.oneofGroups_[0], value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.qb.smg.CommandExecutorFRSPayload} returns this\n */\nproto.qb.smg.CommandExecutorFRSPayload.prototype.clearCompareimagesresponse = function() {\n  return this.setCompareimagesresponse(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.qb.smg.CommandExecutorFRSPayload.prototype.hasCompareimagesresponse = function() {\n  return jspb.Message.getField(this, 3) != null;\n};\n\n\n/**\n * optional ListFacesResponse listFacesResponse = 4;\n * @return {?proto.qb.smg.ListFacesResponse}\n */\nproto.qb.smg.CommandExecutorFRSPayload.prototype.getListfacesresponse = function() {\n  return /** @type{?proto.qb.smg.ListFacesResponse} */ (\n    jspb.Message.getWrapperField(this, proto.qb.smg.ListFacesResponse, 4));\n};\n\n\n/**\n * @param {?proto.qb.smg.ListFacesResponse|undefined} value\n * @return {!proto.qb.smg.CommandExecutorFRSPayload} returns this\n*/\nproto.qb.smg.CommandExecutorFRSPayload.prototype.setListfacesresponse = function(value) {\n  return jspb.Message.setOneofWrapperField(this, 4, proto.qb.smg.CommandExecutorFRSPayload.oneofGroups_[0], value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.qb.smg.CommandExecutorFRSPayload} returns this\n */\nproto.qb.smg.CommandExecutorFRSPayload.prototype.clearListfacesresponse = function() {\n  return this.setListfacesresponse(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.qb.smg.CommandExecutorFRSPayload.prototype.hasListfacesresponse = function() {\n  return jspb.Message.getField(this, 4) != null;\n};\n\n\n/**\n * optional DeleteUserImageResponse deleteUserImageResponse = 5;\n * @return {?proto.qb.smg.DeleteUserImageResponse}\n */\nproto.qb.smg.CommandExecutorFRSPayload.prototype.getDeleteuserimageresponse = function() {\n  return /** @type{?proto.qb.smg.DeleteUserImageResponse} */ (\n    jspb.Message.getWrapperField(this, proto.qb.smg.DeleteUserImageResponse, 5));\n};\n\n\n/**\n * @param {?proto.qb.smg.DeleteUserImageResponse|undefined} value\n * @return {!proto.qb.smg.CommandExecutorFRSPayload} returns this\n*/\nproto.qb.smg.CommandExecutorFRSPayload.prototype.setDeleteuserimageresponse = function(value) {\n  return jspb.Message.setOneofWrapperField(this, 5, proto.qb.smg.CommandExecutorFRSPayload.oneofGroups_[0], value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.qb.smg.CommandExecutorFRSPayload} returns this\n */\nproto.qb.smg.CommandExecutorFRSPayload.prototype.clearDeleteuserimageresponse = function() {\n  return this.setDeleteuserimageresponse(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.qb.smg.CommandExecutorFRSPayload.prototype.hasDeleteuserimageresponse = function() {\n  return jspb.Message.getField(this, 5) != null;\n};\n\n\n/**\n * optional HeartbeatResponse heartbeatResponse = 6;\n * @return {?proto.qb.smg.HeartbeatResponse}\n */\nproto.qb.smg.CommandExecutorFRSPayload.prototype.getHeartbeatresponse = function() {\n  return /** @type{?proto.qb.smg.HeartbeatResponse} */ (\n    jspb.Message.getWrapperField(this, proto.qb.smg.HeartbeatResponse, 6));\n};\n\n\n/**\n * @param {?proto.qb.smg.HeartbeatResponse|undefined} value\n * @return {!proto.qb.smg.CommandExecutorFRSPayload} returns this\n*/\nproto.qb.smg.CommandExecutorFRSPayload.prototype.setHeartbeatresponse = function(value) {\n  return jspb.Message.setOneofWrapperField(this, 6, proto.qb.smg.CommandExecutorFRSPayload.oneofGroups_[0], value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.qb.smg.CommandExecutorFRSPayload} returns this\n */\nproto.qb.smg.CommandExecutorFRSPayload.prototype.clearHeartbeatresponse = function() {\n  return this.setHeartbeatresponse(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.qb.smg.CommandExecutorFRSPayload.prototype.hasHeartbeatresponse = function() {\n  return jspb.Message.getField(this, 6) != null;\n};\n\n\n/**\n * optional DeleteLastActiveBeforeDateResponse deleteLastActiveBeforeDateResponse = 7;\n * @return {?proto.qb.smg.DeleteLastActiveBeforeDateResponse}\n */\nproto.qb.smg.CommandExecutorFRSPayload.prototype.getDeletelastactivebeforedateresponse = function() {\n  return /** @type{?proto.qb.smg.DeleteLastActiveBeforeDateResponse} */ (\n    jspb.Message.getWrapperField(this, proto.qb.smg.DeleteLastActiveBeforeDateResponse, 7));\n};\n\n\n/**\n * @param {?proto.qb.smg.DeleteLastActiveBeforeDateResponse|undefined} value\n * @return {!proto.qb.smg.CommandExecutorFRSPayload} returns this\n*/\nproto.qb.smg.CommandExecutorFRSPayload.prototype.setDeletelastactivebeforedateresponse = function(value) {\n  return jspb.Message.setOneofWrapperField(this, 7, proto.qb.smg.CommandExecutorFRSPayload.oneofGroups_[0], value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.qb.smg.CommandExecutorFRSPayload} returns this\n */\nproto.qb.smg.CommandExecutorFRSPayload.prototype.clearDeletelastactivebeforedateresponse = function() {\n  return this.setDeletelastactivebeforedateresponse(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.qb.smg.CommandExecutorFRSPayload.prototype.hasDeletelastactivebeforedateresponse = function() {\n  return jspb.Message.getField(this, 7) != null;\n};\n\n\n/**\n * optional RecognizeFaceResponse recognizeFaceResponse = 8;\n * @return {?proto.qb.smg.RecognizeFaceResponse}\n */\nproto.qb.smg.CommandExecutorFRSPayload.prototype.getRecognizefaceresponse = function() {\n  return /** @type{?proto.qb.smg.RecognizeFaceResponse} */ (\n    jspb.Message.getWrapperField(this, proto.qb.smg.RecognizeFaceResponse, 8));\n};\n\n\n/**\n * @param {?proto.qb.smg.RecognizeFaceResponse|undefined} value\n * @return {!proto.qb.smg.CommandExecutorFRSPayload} returns this\n*/\nproto.qb.smg.CommandExecutorFRSPayload.prototype.setRecognizefaceresponse = function(value) {\n  return jspb.Message.setOneofWrapperField(this, 8, proto.qb.smg.CommandExecutorFRSPayload.oneofGroups_[0], value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.qb.smg.CommandExecutorFRSPayload} returns this\n */\nproto.qb.smg.CommandExecutorFRSPayload.prototype.clearRecognizefaceresponse = function() {\n  return this.setRecognizefaceresponse(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.qb.smg.CommandExecutorFRSPayload.prototype.hasRecognizefaceresponse = function() {\n  return jspb.Message.getField(this, 8) != null;\n};\n\n\n/**\n * optional string token = 9;\n * @return {string}\n */\nproto.qb.smg.CommandExecutorFRSPayload.prototype.getToken = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 9, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.qb.smg.CommandExecutorFRSPayload} returns this\n */\nproto.qb.smg.CommandExecutorFRSPayload.prototype.setToken = function(value) {\n  return jspb.Message.setProto3StringField(this, 9, value);\n};\n\n\n\n/**\n * Oneof group definitions for this message. Each group defines the field\n * numbers belonging to that group. When of these fields' value is set, all\n * other fields in the group are cleared. During deserialization, if multiple\n * fields are encountered for a group, only the last value seen will be kept.\n * @private {!Array<!Array<number>>}\n * @const\n */\nproto.qb.smg.CommandExecutorSMGPayload.oneofGroups_ = [[2,3,4,5,6,7,8]];\n\n/**\n * @enum {number}\n */\nproto.qb.smg.CommandExecutorSMGPayload.PayloadCase = {\n  PAYLOAD_NOT_SET: 0,\n  SETFACEREQUEST: 2,\n  COMPAREIMAGESREQUEST: 3,\n  LISTFACESREQUEST: 4,\n  DELETEUSERIMAGEREQUEST: 5,\n  HEARTBEATREQUEST: 6,\n  DELETELASTACTIVEBEFOREDATEREQUEST: 7,\n  RECOGNIZEFACEREQUEST: 8\n};\n\n/**\n * @return {proto.qb.smg.CommandExecutorSMGPayload.PayloadCase}\n */\nproto.qb.smg.CommandExecutorSMGPayload.prototype.getPayloadCase = function() {\n  return /** @type {proto.qb.smg.CommandExecutorSMGPayload.PayloadCase} */(jspb.Message.computeOneofCase(this, proto.qb.smg.CommandExecutorSMGPayload.oneofGroups_[0]));\n};\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.qb.smg.CommandExecutorSMGPayload.prototype.toObject = function(opt_includeInstance) {\n  return proto.qb.smg.CommandExecutorSMGPayload.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.qb.smg.CommandExecutorSMGPayload} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.qb.smg.CommandExecutorSMGPayload.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    setfacerequest: (f = msg.getSetfacerequest()) && proto.qb.smg.SetFaceRequest.toObject(includeInstance, f),\n    compareimagesrequest: (f = msg.getCompareimagesrequest()) && proto.qb.smg.CompareImagesRequest.toObject(includeInstance, f),\n    listfacesrequest: (f = msg.getListfacesrequest()) && proto.qb.smg.ListFacesRequest.toObject(includeInstance, f),\n    deleteuserimagerequest: (f = msg.getDeleteuserimagerequest()) && proto.qb.smg.DeleteUserImageRequest.toObject(includeInstance, f),\n    heartbeatrequest: (f = msg.getHeartbeatrequest()) && proto.qb.smg.FrsHeartbeatRequest.toObject(includeInstance, f),\n    deletelastactivebeforedaterequest: (f = msg.getDeletelastactivebeforedaterequest()) && proto.qb.smg.DeleteLastActiveBeforeDateRequest.toObject(includeInstance, f),\n    recognizefacerequest: (f = msg.getRecognizefacerequest()) && proto.qb.smg.RecognizeFaceRequest.toObject(includeInstance, f)\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.qb.smg.CommandExecutorSMGPayload}\n */\nproto.qb.smg.CommandExecutorSMGPayload.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.qb.smg.CommandExecutorSMGPayload;\n  return proto.qb.smg.CommandExecutorSMGPayload.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.qb.smg.CommandExecutorSMGPayload} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.qb.smg.CommandExecutorSMGPayload}\n */\nproto.qb.smg.CommandExecutorSMGPayload.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 2:\n      var value = new proto.qb.smg.SetFaceRequest;\n      reader.readMessage(value,proto.qb.smg.SetFaceRequest.deserializeBinaryFromReader);\n      msg.setSetfacerequest(value);\n      break;\n    case 3:\n      var value = new proto.qb.smg.CompareImagesRequest;\n      reader.readMessage(value,proto.qb.smg.CompareImagesRequest.deserializeBinaryFromReader);\n      msg.setCompareimagesrequest(value);\n      break;\n    case 4:\n      var value = new proto.qb.smg.ListFacesRequest;\n      reader.readMessage(value,proto.qb.smg.ListFacesRequest.deserializeBinaryFromReader);\n      msg.setListfacesrequest(value);\n      break;\n    case 5:\n      var value = new proto.qb.smg.DeleteUserImageRequest;\n      reader.readMessage(value,proto.qb.smg.DeleteUserImageRequest.deserializeBinaryFromReader);\n      msg.setDeleteuserimagerequest(value);\n      break;\n    case 6:\n      var value = new proto.qb.smg.FrsHeartbeatRequest;\n      reader.readMessage(value,proto.qb.smg.FrsHeartbeatRequest.deserializeBinaryFromReader);\n      msg.setHeartbeatrequest(value);\n      break;\n    case 7:\n      var value = new proto.qb.smg.DeleteLastActiveBeforeDateRequest;\n      reader.readMessage(value,proto.qb.smg.DeleteLastActiveBeforeDateRequest.deserializeBinaryFromReader);\n      msg.setDeletelastactivebeforedaterequest(value);\n      break;\n    case 8:\n      var value = new proto.qb.smg.RecognizeFaceRequest;\n      reader.readMessage(value,proto.qb.smg.RecognizeFaceRequest.deserializeBinaryFromReader);\n      msg.setRecognizefacerequest(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.qb.smg.CommandExecutorSMGPayload.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.qb.smg.CommandExecutorSMGPayload.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.qb.smg.CommandExecutorSMGPayload} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.qb.smg.CommandExecutorSMGPayload.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getSetfacerequest();\n  if (f != null) {\n    writer.writeMessage(\n      2,\n      f,\n      proto.qb.smg.SetFaceRequest.serializeBinaryToWriter\n    );\n  }\n  f = message.getCompareimagesrequest();\n  if (f != null) {\n    writer.writeMessage(\n      3,\n      f,\n      proto.qb.smg.CompareImagesRequest.serializeBinaryToWriter\n    );\n  }\n  f = message.getListfacesrequest();\n  if (f != null) {\n    writer.writeMessage(\n      4,\n      f,\n      proto.qb.smg.ListFacesRequest.serializeBinaryToWriter\n    );\n  }\n  f = message.getDeleteuserimagerequest();\n  if (f != null) {\n    writer.writeMessage(\n      5,\n      f,\n      proto.qb.smg.DeleteUserImageRequest.serializeBinaryToWriter\n    );\n  }\n  f = message.getHeartbeatrequest();\n  if (f != null) {\n    writer.writeMessage(\n      6,\n      f,\n      proto.qb.smg.FrsHeartbeatRequest.serializeBinaryToWriter\n    );\n  }\n  f = message.getDeletelastactivebeforedaterequest();\n  if (f != null) {\n    writer.writeMessage(\n      7,\n      f,\n      proto.qb.smg.DeleteLastActiveBeforeDateRequest.serializeBinaryToWriter\n    );\n  }\n  f = message.getRecognizefacerequest();\n  if (f != null) {\n    writer.writeMessage(\n      8,\n      f,\n      proto.qb.smg.RecognizeFaceRequest.serializeBinaryToWriter\n    );\n  }\n};\n\n\n/**\n * optional SetFaceRequest setFaceRequest = 2;\n * @return {?proto.qb.smg.SetFaceRequest}\n */\nproto.qb.smg.CommandExecutorSMGPayload.prototype.getSetfacerequest = function() {\n  return /** @type{?proto.qb.smg.SetFaceRequest} */ (\n    jspb.Message.getWrapperField(this, proto.qb.smg.SetFaceRequest, 2));\n};\n\n\n/**\n * @param {?proto.qb.smg.SetFaceRequest|undefined} value\n * @return {!proto.qb.smg.CommandExecutorSMGPayload} returns this\n*/\nproto.qb.smg.CommandExecutorSMGPayload.prototype.setSetfacerequest = function(value) {\n  return jspb.Message.setOneofWrapperField(this, 2, proto.qb.smg.CommandExecutorSMGPayload.oneofGroups_[0], value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.qb.smg.CommandExecutorSMGPayload} returns this\n */\nproto.qb.smg.CommandExecutorSMGPayload.prototype.clearSetfacerequest = function() {\n  return this.setSetfacerequest(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.qb.smg.CommandExecutorSMGPayload.prototype.hasSetfacerequest = function() {\n  return jspb.Message.getField(this, 2) != null;\n};\n\n\n/**\n * optional CompareImagesRequest compareImagesRequest = 3;\n * @return {?proto.qb.smg.CompareImagesRequest}\n */\nproto.qb.smg.CommandExecutorSMGPayload.prototype.getCompareimagesrequest = function() {\n  return /** @type{?proto.qb.smg.CompareImagesRequest} */ (\n    jspb.Message.getWrapperField(this, proto.qb.smg.CompareImagesRequest, 3));\n};\n\n\n/**\n * @param {?proto.qb.smg.CompareImagesRequest|undefined} value\n * @return {!proto.qb.smg.CommandExecutorSMGPayload} returns this\n*/\nproto.qb.smg.CommandExecutorSMGPayload.prototype.setCompareimagesrequest = function(value) {\n  return jspb.Message.setOneofWrapperField(this, 3, proto.qb.smg.CommandExecutorSMGPayload.oneofGroups_[0], value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.qb.smg.CommandExecutorSMGPayload} returns this\n */\nproto.qb.smg.CommandExecutorSMGPayload.prototype.clearCompareimagesrequest = function() {\n  return this.setCompareimagesrequest(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.qb.smg.CommandExecutorSMGPayload.prototype.hasCompareimagesrequest = function() {\n  return jspb.Message.getField(this, 3) != null;\n};\n\n\n/**\n * optional ListFacesRequest listFacesRequest = 4;\n * @return {?proto.qb.smg.ListFacesRequest}\n */\nproto.qb.smg.CommandExecutorSMGPayload.prototype.getListfacesrequest = function() {\n  return /** @type{?proto.qb.smg.ListFacesRequest} */ (\n    jspb.Message.getWrapperField(this, proto.qb.smg.ListFacesRequest, 4));\n};\n\n\n/**\n * @param {?proto.qb.smg.ListFacesRequest|undefined} value\n * @return {!proto.qb.smg.CommandExecutorSMGPayload} returns this\n*/\nproto.qb.smg.CommandExecutorSMGPayload.prototype.setListfacesrequest = function(value) {\n  return jspb.Message.setOneofWrapperField(this, 4, proto.qb.smg.CommandExecutorSMGPayload.oneofGroups_[0], value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.qb.smg.CommandExecutorSMGPayload} returns this\n */\nproto.qb.smg.CommandExecutorSMGPayload.prototype.clearListfacesrequest = function() {\n  return this.setListfacesrequest(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.qb.smg.CommandExecutorSMGPayload.prototype.hasListfacesrequest = function() {\n  return jspb.Message.getField(this, 4) != null;\n};\n\n\n/**\n * optional DeleteUserImageRequest deleteUserImageRequest = 5;\n * @return {?proto.qb.smg.DeleteUserImageRequest}\n */\nproto.qb.smg.CommandExecutorSMGPayload.prototype.getDeleteuserimagerequest = function() {\n  return /** @type{?proto.qb.smg.DeleteUserImageRequest} */ (\n    jspb.Message.getWrapperField(this, proto.qb.smg.DeleteUserImageRequest, 5));\n};\n\n\n/**\n * @param {?proto.qb.smg.DeleteUserImageRequest|undefined} value\n * @return {!proto.qb.smg.CommandExecutorSMGPayload} returns this\n*/\nproto.qb.smg.CommandExecutorSMGPayload.prototype.setDeleteuserimagerequest = function(value) {\n  return jspb.Message.setOneofWrapperField(this, 5, proto.qb.smg.CommandExecutorSMGPayload.oneofGroups_[0], value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.qb.smg.CommandExecutorSMGPayload} returns this\n */\nproto.qb.smg.CommandExecutorSMGPayload.prototype.clearDeleteuserimagerequest = function() {\n  return this.setDeleteuserimagerequest(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.qb.smg.CommandExecutorSMGPayload.prototype.hasDeleteuserimagerequest = function() {\n  return jspb.Message.getField(this, 5) != null;\n};\n\n\n/**\n * optional FrsHeartbeatRequest heartbeatRequest = 6;\n * @return {?proto.qb.smg.FrsHeartbeatRequest}\n */\nproto.qb.smg.CommandExecutorSMGPayload.prototype.getHeartbeatrequest = function() {\n  return /** @type{?proto.qb.smg.FrsHeartbeatRequest} */ (\n    jspb.Message.getWrapperField(this, proto.qb.smg.FrsHeartbeatRequest, 6));\n};\n\n\n/**\n * @param {?proto.qb.smg.FrsHeartbeatRequest|undefined} value\n * @return {!proto.qb.smg.CommandExecutorSMGPayload} returns this\n*/\nproto.qb.smg.CommandExecutorSMGPayload.prototype.setHeartbeatrequest = function(value) {\n  return jspb.Message.setOneofWrapperField(this, 6, proto.qb.smg.CommandExecutorSMGPayload.oneofGroups_[0], value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.qb.smg.CommandExecutorSMGPayload} returns this\n */\nproto.qb.smg.CommandExecutorSMGPayload.prototype.clearHeartbeatrequest = function() {\n  return this.setHeartbeatrequest(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.qb.smg.CommandExecutorSMGPayload.prototype.hasHeartbeatrequest = function() {\n  return jspb.Message.getField(this, 6) != null;\n};\n\n\n/**\n * optional DeleteLastActiveBeforeDateRequest deleteLastActiveBeforeDateRequest = 7;\n * @return {?proto.qb.smg.DeleteLastActiveBeforeDateRequest}\n */\nproto.qb.smg.CommandExecutorSMGPayload.prototype.getDeletelastactivebeforedaterequest = function() {\n  return /** @type{?proto.qb.smg.DeleteLastActiveBeforeDateRequest} */ (\n    jspb.Message.getWrapperField(this, proto.qb.smg.DeleteLastActiveBeforeDateRequest, 7));\n};\n\n\n/**\n * @param {?proto.qb.smg.DeleteLastActiveBeforeDateRequest|undefined} value\n * @return {!proto.qb.smg.CommandExecutorSMGPayload} returns this\n*/\nproto.qb.smg.CommandExecutorSMGPayload.prototype.setDeletelastactivebeforedaterequest = function(value) {\n  return jspb.Message.setOneofWrapperField(this, 7, proto.qb.smg.CommandExecutorSMGPayload.oneofGroups_[0], value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.qb.smg.CommandExecutorSMGPayload} returns this\n */\nproto.qb.smg.CommandExecutorSMGPayload.prototype.clearDeletelastactivebeforedaterequest = function() {\n  return this.setDeletelastactivebeforedaterequest(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.qb.smg.CommandExecutorSMGPayload.prototype.hasDeletelastactivebeforedaterequest = function() {\n  return jspb.Message.getField(this, 7) != null;\n};\n\n\n/**\n * optional RecognizeFaceRequest recognizeFaceRequest = 8;\n * @return {?proto.qb.smg.RecognizeFaceRequest}\n */\nproto.qb.smg.CommandExecutorSMGPayload.prototype.getRecognizefacerequest = function() {\n  return /** @type{?proto.qb.smg.RecognizeFaceRequest} */ (\n    jspb.Message.getWrapperField(this, proto.qb.smg.RecognizeFaceRequest, 8));\n};\n\n\n/**\n * @param {?proto.qb.smg.RecognizeFaceRequest|undefined} value\n * @return {!proto.qb.smg.CommandExecutorSMGPayload} returns this\n*/\nproto.qb.smg.CommandExecutorSMGPayload.prototype.setRecognizefacerequest = function(value) {\n  return jspb.Message.setOneofWrapperField(this, 8, proto.qb.smg.CommandExecutorSMGPayload.oneofGroups_[0], value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.qb.smg.CommandExecutorSMGPayload} returns this\n */\nproto.qb.smg.CommandExecutorSMGPayload.prototype.clearRecognizefacerequest = function() {\n  return this.setRecognizefacerequest(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.qb.smg.CommandExecutorSMGPayload.prototype.hasRecognizefacerequest = function() {\n  return jspb.Message.getField(this, 8) != null;\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.qb.smg.GenerateS3ArchiveVideoUploadUrlRequest.prototype.toObject = function(opt_includeInstance) {\n  return proto.qb.smg.GenerateS3ArchiveVideoUploadUrlRequest.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.qb.smg.GenerateS3ArchiveVideoUploadUrlRequest} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.qb.smg.GenerateS3ArchiveVideoUploadUrlRequest.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    venueid: jspb.Message.getFieldWithDefault(msg, 1, 0),\n    stationid: jspb.Message.getFieldWithDefault(msg, 2, 0),\n    cameraid: jspb.Message.getFieldWithDefault(msg, 3, 0),\n    capturetime: (f = msg.getCapturetime()) && google_protobuf_timestamp_pb.Timestamp.toObject(includeInstance, f),\n    token: jspb.Message.getFieldWithDefault(msg, 5, \"\")\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.qb.smg.GenerateS3ArchiveVideoUploadUrlRequest}\n */\nproto.qb.smg.GenerateS3ArchiveVideoUploadUrlRequest.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.qb.smg.GenerateS3ArchiveVideoUploadUrlRequest;\n  return proto.qb.smg.GenerateS3ArchiveVideoUploadUrlRequest.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.qb.smg.GenerateS3ArchiveVideoUploadUrlRequest} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.qb.smg.GenerateS3ArchiveVideoUploadUrlRequest}\n */\nproto.qb.smg.GenerateS3ArchiveVideoUploadUrlRequest.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {number} */ (reader.readInt64());\n      msg.setVenueid(value);\n      break;\n    case 2:\n      var value = /** @type {number} */ (reader.readInt64());\n      msg.setStationid(value);\n      break;\n    case 3:\n      var value = /** @type {number} */ (reader.readInt64());\n      msg.setCameraid(value);\n      break;\n    case 4:\n      var value = new google_protobuf_timestamp_pb.Timestamp;\n      reader.readMessage(value,google_protobuf_timestamp_pb.Timestamp.deserializeBinaryFromReader);\n      msg.setCapturetime(value);\n      break;\n    case 5:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setToken(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.qb.smg.GenerateS3ArchiveVideoUploadUrlRequest.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.qb.smg.GenerateS3ArchiveVideoUploadUrlRequest.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.qb.smg.GenerateS3ArchiveVideoUploadUrlRequest} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.qb.smg.GenerateS3ArchiveVideoUploadUrlRequest.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getVenueid();\n  if (f !== 0) {\n    writer.writeInt64(\n      1,\n      f\n    );\n  }\n  f = message.getStationid();\n  if (f !== 0) {\n    writer.writeInt64(\n      2,\n      f\n    );\n  }\n  f = message.getCameraid();\n  if (f !== 0) {\n    writer.writeInt64(\n      3,\n      f\n    );\n  }\n  f = message.getCapturetime();\n  if (f != null) {\n    writer.writeMessage(\n      4,\n      f,\n      google_protobuf_timestamp_pb.Timestamp.serializeBinaryToWriter\n    );\n  }\n  f = message.getToken();\n  if (f.length > 0) {\n    writer.writeString(\n      5,\n      f\n    );\n  }\n};\n\n\n/**\n * optional int64 venueId = 1;\n * @return {number}\n */\nproto.qb.smg.GenerateS3ArchiveVideoUploadUrlRequest.prototype.getVenueid = function() {\n  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.qb.smg.GenerateS3ArchiveVideoUploadUrlRequest} returns this\n */\nproto.qb.smg.GenerateS3ArchiveVideoUploadUrlRequest.prototype.setVenueid = function(value) {\n  return jspb.Message.setProto3IntField(this, 1, value);\n};\n\n\n/**\n * optional int64 stationId = 2;\n * @return {number}\n */\nproto.qb.smg.GenerateS3ArchiveVideoUploadUrlRequest.prototype.getStationid = function() {\n  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 2, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.qb.smg.GenerateS3ArchiveVideoUploadUrlRequest} returns this\n */\nproto.qb.smg.GenerateS3ArchiveVideoUploadUrlRequest.prototype.setStationid = function(value) {\n  return jspb.Message.setProto3IntField(this, 2, value);\n};\n\n\n/**\n * optional int64 cameraId = 3;\n * @return {number}\n */\nproto.qb.smg.GenerateS3ArchiveVideoUploadUrlRequest.prototype.getCameraid = function() {\n  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 3, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.qb.smg.GenerateS3ArchiveVideoUploadUrlRequest} returns this\n */\nproto.qb.smg.GenerateS3ArchiveVideoUploadUrlRequest.prototype.setCameraid = function(value) {\n  return jspb.Message.setProto3IntField(this, 3, value);\n};\n\n\n/**\n * optional google.protobuf.Timestamp captureTime = 4;\n * @return {?proto.google.protobuf.Timestamp}\n */\nproto.qb.smg.GenerateS3ArchiveVideoUploadUrlRequest.prototype.getCapturetime = function() {\n  return /** @type{?proto.google.protobuf.Timestamp} */ (\n    jspb.Message.getWrapperField(this, google_protobuf_timestamp_pb.Timestamp, 4));\n};\n\n\n/**\n * @param {?proto.google.protobuf.Timestamp|undefined} value\n * @return {!proto.qb.smg.GenerateS3ArchiveVideoUploadUrlRequest} returns this\n*/\nproto.qb.smg.GenerateS3ArchiveVideoUploadUrlRequest.prototype.setCapturetime = function(value) {\n  return jspb.Message.setWrapperField(this, 4, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.qb.smg.GenerateS3ArchiveVideoUploadUrlRequest} returns this\n */\nproto.qb.smg.GenerateS3ArchiveVideoUploadUrlRequest.prototype.clearCapturetime = function() {\n  return this.setCapturetime(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.qb.smg.GenerateS3ArchiveVideoUploadUrlRequest.prototype.hasCapturetime = function() {\n  return jspb.Message.getField(this, 4) != null;\n};\n\n\n/**\n * optional string token = 5;\n * @return {string}\n */\nproto.qb.smg.GenerateS3ArchiveVideoUploadUrlRequest.prototype.getToken = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 5, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.qb.smg.GenerateS3ArchiveVideoUploadUrlRequest} returns this\n */\nproto.qb.smg.GenerateS3ArchiveVideoUploadUrlRequest.prototype.setToken = function(value) {\n  return jspb.Message.setProto3StringField(this, 5, value);\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.qb.smg.GenerateS3ArchiveVideoUploadUrlResponse.prototype.toObject = function(opt_includeInstance) {\n  return proto.qb.smg.GenerateS3ArchiveVideoUploadUrlResponse.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.qb.smg.GenerateS3ArchiveVideoUploadUrlResponse} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.qb.smg.GenerateS3ArchiveVideoUploadUrlResponse.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    success: jspb.Message.getBooleanFieldWithDefault(msg, 1, false),\n    error: (f = msg.getError()) && proto.qb.smg.Error.toObject(includeInstance, f),\n    uploadurl: jspb.Message.getFieldWithDefault(msg, 3, \"\")\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.qb.smg.GenerateS3ArchiveVideoUploadUrlResponse}\n */\nproto.qb.smg.GenerateS3ArchiveVideoUploadUrlResponse.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.qb.smg.GenerateS3ArchiveVideoUploadUrlResponse;\n  return proto.qb.smg.GenerateS3ArchiveVideoUploadUrlResponse.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.qb.smg.GenerateS3ArchiveVideoUploadUrlResponse} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.qb.smg.GenerateS3ArchiveVideoUploadUrlResponse}\n */\nproto.qb.smg.GenerateS3ArchiveVideoUploadUrlResponse.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {boolean} */ (reader.readBool());\n      msg.setSuccess(value);\n      break;\n    case 2:\n      var value = new proto.qb.smg.Error;\n      reader.readMessage(value,proto.qb.smg.Error.deserializeBinaryFromReader);\n      msg.setError(value);\n      break;\n    case 3:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setUploadurl(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.qb.smg.GenerateS3ArchiveVideoUploadUrlResponse.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.qb.smg.GenerateS3ArchiveVideoUploadUrlResponse.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.qb.smg.GenerateS3ArchiveVideoUploadUrlResponse} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.qb.smg.GenerateS3ArchiveVideoUploadUrlResponse.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getSuccess();\n  if (f) {\n    writer.writeBool(\n      1,\n      f\n    );\n  }\n  f = message.getError();\n  if (f != null) {\n    writer.writeMessage(\n      2,\n      f,\n      proto.qb.smg.Error.serializeBinaryToWriter\n    );\n  }\n  f = message.getUploadurl();\n  if (f.length > 0) {\n    writer.writeString(\n      3,\n      f\n    );\n  }\n};\n\n\n/**\n * optional bool success = 1;\n * @return {boolean}\n */\nproto.qb.smg.GenerateS3ArchiveVideoUploadUrlResponse.prototype.getSuccess = function() {\n  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 1, false));\n};\n\n\n/**\n * @param {boolean} value\n * @return {!proto.qb.smg.GenerateS3ArchiveVideoUploadUrlResponse} returns this\n */\nproto.qb.smg.GenerateS3ArchiveVideoUploadUrlResponse.prototype.setSuccess = function(value) {\n  return jspb.Message.setProto3BooleanField(this, 1, value);\n};\n\n\n/**\n * optional Error error = 2;\n * @return {?proto.qb.smg.Error}\n */\nproto.qb.smg.GenerateS3ArchiveVideoUploadUrlResponse.prototype.getError = function() {\n  return /** @type{?proto.qb.smg.Error} */ (\n    jspb.Message.getWrapperField(this, proto.qb.smg.Error, 2));\n};\n\n\n/**\n * @param {?proto.qb.smg.Error|undefined} value\n * @return {!proto.qb.smg.GenerateS3ArchiveVideoUploadUrlResponse} returns this\n*/\nproto.qb.smg.GenerateS3ArchiveVideoUploadUrlResponse.prototype.setError = function(value) {\n  return jspb.Message.setWrapperField(this, 2, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.qb.smg.GenerateS3ArchiveVideoUploadUrlResponse} returns this\n */\nproto.qb.smg.GenerateS3ArchiveVideoUploadUrlResponse.prototype.clearError = function() {\n  return this.setError(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.qb.smg.GenerateS3ArchiveVideoUploadUrlResponse.prototype.hasError = function() {\n  return jspb.Message.getField(this, 2) != null;\n};\n\n\n/**\n * optional string uploadUrl = 3;\n * @return {string}\n */\nproto.qb.smg.GenerateS3ArchiveVideoUploadUrlResponse.prototype.getUploadurl = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 3, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.qb.smg.GenerateS3ArchiveVideoUploadUrlResponse} returns this\n */\nproto.qb.smg.GenerateS3ArchiveVideoUploadUrlResponse.prototype.setUploadurl = function(value) {\n  return jspb.Message.setProto3StringField(this, 3, value);\n};\n\n\n\n/**\n * List of repeated fields within this message type.\n * @private {!Array<number>}\n * @const\n */\nproto.qb.smg.StationWebcamUpdate.repeatedFields_ = [3];\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.qb.smg.StationWebcamUpdate.prototype.toObject = function(opt_includeInstance) {\n  return proto.qb.smg.StationWebcamUpdate.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.qb.smg.StationWebcamUpdate} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.qb.smg.StationWebcamUpdate.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    stationid: jspb.Message.getFieldWithDefault(msg, 1, 0),\n    sendtime: (f = msg.getSendtime()) && google_protobuf_timestamp_pb.Timestamp.toObject(includeInstance, f),\n    webcamstateList: jspb.Message.toObjectList(msg.getWebcamstateList(),\n    proto.qb.smg.StationWebcamUpdate.WebcamState.toObject, includeInstance),\n    token: jspb.Message.getFieldWithDefault(msg, 4, \"\"),\n    location: (f = msg.getLocation()) && proto.qb.smg.Location.toObject(includeInstance, f),\n    venueId: jspb.Message.getFieldWithDefault(msg, 102, 0),\n    additionalParametersMap: (f = msg.getAdditionalParametersMap()) ? f.toObject(includeInstance, undefined) : []\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.qb.smg.StationWebcamUpdate}\n */\nproto.qb.smg.StationWebcamUpdate.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.qb.smg.StationWebcamUpdate;\n  return proto.qb.smg.StationWebcamUpdate.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.qb.smg.StationWebcamUpdate} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.qb.smg.StationWebcamUpdate}\n */\nproto.qb.smg.StationWebcamUpdate.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {number} */ (reader.readInt64());\n      msg.setStationid(value);\n      break;\n    case 2:\n      var value = new google_protobuf_timestamp_pb.Timestamp;\n      reader.readMessage(value,google_protobuf_timestamp_pb.Timestamp.deserializeBinaryFromReader);\n      msg.setSendtime(value);\n      break;\n    case 3:\n      var value = new proto.qb.smg.StationWebcamUpdate.WebcamState;\n      reader.readMessage(value,proto.qb.smg.StationWebcamUpdate.WebcamState.deserializeBinaryFromReader);\n      msg.addWebcamstate(value);\n      break;\n    case 4:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setToken(value);\n      break;\n    case 101:\n      var value = new proto.qb.smg.Location;\n      reader.readMessage(value,proto.qb.smg.Location.deserializeBinaryFromReader);\n      msg.setLocation(value);\n      break;\n    case 102:\n      var value = /** @type {number} */ (reader.readInt32());\n      msg.setVenueId(value);\n      break;\n    case 103:\n      var value = msg.getAdditionalParametersMap();\n      reader.readMessage(value, function(message, reader) {\n        jspb.Map.deserializeBinary(message, reader, jspb.BinaryReader.prototype.readString, jspb.BinaryReader.prototype.readString, null, \"\", \"\");\n         });\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.qb.smg.StationWebcamUpdate.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.qb.smg.StationWebcamUpdate.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.qb.smg.StationWebcamUpdate} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.qb.smg.StationWebcamUpdate.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getStationid();\n  if (f !== 0) {\n    writer.writeInt64(\n      1,\n      f\n    );\n  }\n  f = message.getSendtime();\n  if (f != null) {\n    writer.writeMessage(\n      2,\n      f,\n      google_protobuf_timestamp_pb.Timestamp.serializeBinaryToWriter\n    );\n  }\n  f = message.getWebcamstateList();\n  if (f.length > 0) {\n    writer.writeRepeatedMessage(\n      3,\n      f,\n      proto.qb.smg.StationWebcamUpdate.WebcamState.serializeBinaryToWriter\n    );\n  }\n  f = message.getToken();\n  if (f.length > 0) {\n    writer.writeString(\n      4,\n      f\n    );\n  }\n  f = message.getLocation();\n  if (f != null) {\n    writer.writeMessage(\n      101,\n      f,\n      proto.qb.smg.Location.serializeBinaryToWriter\n    );\n  }\n  f = message.getVenueId();\n  if (f !== 0) {\n    writer.writeInt32(\n      102,\n      f\n    );\n  }\n  f = message.getAdditionalParametersMap(true);\n  if (f && f.getLength() > 0) {\n    f.serializeBinary(103, writer, jspb.BinaryWriter.prototype.writeString, jspb.BinaryWriter.prototype.writeString);\n  }\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.qb.smg.StationWebcamUpdate.WebcamState.prototype.toObject = function(opt_includeInstance) {\n  return proto.qb.smg.StationWebcamUpdate.WebcamState.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.qb.smg.StationWebcamUpdate.WebcamState} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.qb.smg.StationWebcamUpdate.WebcamState.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    webcamid: jspb.Message.getFieldWithDefault(msg, 1, \"\"),\n    capturetime: (f = msg.getCapturetime()) && google_protobuf_timestamp_pb.Timestamp.toObject(includeInstance, f),\n    faceDetected: jspb.Message.getBooleanFieldWithDefault(msg, 3, false),\n    userid: jspb.Message.getFieldWithDefault(msg, 4, 0),\n    probability: jspb.Message.getFloatingPointFieldWithDefault(msg, 5, 0.0),\n    multipleHumanDetected: jspb.Message.getBooleanFieldWithDefault(msg, 6, false),\n    numberOfHumanDetected: jspb.Message.getFieldWithDefault(msg, 7, 0),\n    side: jspb.Message.getFieldWithDefault(msg, 8, 0),\n    numberOfHumanInDetectableArea: jspb.Message.getFieldWithDefault(msg, 9, 0),\n    useridInDetectableArea: jspb.Message.getFieldWithDefault(msg, 10, 0),\n    faceDetectedInDetectableArea: jspb.Message.getBooleanFieldWithDefault(msg, 11, false)\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.qb.smg.StationWebcamUpdate.WebcamState}\n */\nproto.qb.smg.StationWebcamUpdate.WebcamState.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.qb.smg.StationWebcamUpdate.WebcamState;\n  return proto.qb.smg.StationWebcamUpdate.WebcamState.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.qb.smg.StationWebcamUpdate.WebcamState} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.qb.smg.StationWebcamUpdate.WebcamState}\n */\nproto.qb.smg.StationWebcamUpdate.WebcamState.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setWebcamid(value);\n      break;\n    case 2:\n      var value = new google_protobuf_timestamp_pb.Timestamp;\n      reader.readMessage(value,google_protobuf_timestamp_pb.Timestamp.deserializeBinaryFromReader);\n      msg.setCapturetime(value);\n      break;\n    case 3:\n      var value = /** @type {boolean} */ (reader.readBool());\n      msg.setFaceDetected(value);\n      break;\n    case 4:\n      var value = /** @type {number} */ (reader.readInt64());\n      msg.setUserid(value);\n      break;\n    case 5:\n      var value = /** @type {number} */ (reader.readFloat());\n      msg.setProbability(value);\n      break;\n    case 6:\n      var value = /** @type {boolean} */ (reader.readBool());\n      msg.setMultipleHumanDetected(value);\n      break;\n    case 7:\n      var value = /** @type {number} */ (reader.readInt32());\n      msg.setNumberOfHumanDetected(value);\n      break;\n    case 8:\n      var value = /** @type {!proto.qb.smg.StationWebcamUpdate.WebcamState.Side} */ (reader.readEnum());\n      msg.setSide(value);\n      break;\n    case 9:\n      var value = /** @type {number} */ (reader.readInt32());\n      msg.setNumberOfHumanInDetectableArea(value);\n      break;\n    case 10:\n      var value = /** @type {number} */ (reader.readInt64());\n      msg.setUseridInDetectableArea(value);\n      break;\n    case 11:\n      var value = /** @type {boolean} */ (reader.readBool());\n      msg.setFaceDetectedInDetectableArea(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.qb.smg.StationWebcamUpdate.WebcamState.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.qb.smg.StationWebcamUpdate.WebcamState.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.qb.smg.StationWebcamUpdate.WebcamState} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.qb.smg.StationWebcamUpdate.WebcamState.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getWebcamid();\n  if (f.length > 0) {\n    writer.writeString(\n      1,\n      f\n    );\n  }\n  f = message.getCapturetime();\n  if (f != null) {\n    writer.writeMessage(\n      2,\n      f,\n      google_protobuf_timestamp_pb.Timestamp.serializeBinaryToWriter\n    );\n  }\n  f = message.getFaceDetected();\n  if (f) {\n    writer.writeBool(\n      3,\n      f\n    );\n  }\n  f = message.getUserid();\n  if (f !== 0) {\n    writer.writeInt64(\n      4,\n      f\n    );\n  }\n  f = message.getProbability();\n  if (f !== 0.0) {\n    writer.writeFloat(\n      5,\n      f\n    );\n  }\n  f = message.getMultipleHumanDetected();\n  if (f) {\n    writer.writeBool(\n      6,\n      f\n    );\n  }\n  f = message.getNumberOfHumanDetected();\n  if (f !== 0) {\n    writer.writeInt32(\n      7,\n      f\n    );\n  }\n  f = message.getSide();\n  if (f !== 0.0) {\n    writer.writeEnum(\n      8,\n      f\n    );\n  }\n  f = message.getNumberOfHumanInDetectableArea();\n  if (f !== 0) {\n    writer.writeInt32(\n      9,\n      f\n    );\n  }\n  f = message.getUseridInDetectableArea();\n  if (f !== 0) {\n    writer.writeInt64(\n      10,\n      f\n    );\n  }\n  f = message.getFaceDetectedInDetectableArea();\n  if (f) {\n    writer.writeBool(\n      11,\n      f\n    );\n  }\n};\n\n\n/**\n * @enum {number}\n */\nproto.qb.smg.StationWebcamUpdate.WebcamState.Side = {\n  LEFT: 0,\n  RIGHT: 1\n};\n\n/**\n * optional string webcamId = 1;\n * @return {string}\n */\nproto.qb.smg.StationWebcamUpdate.WebcamState.prototype.getWebcamid = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.qb.smg.StationWebcamUpdate.WebcamState} returns this\n */\nproto.qb.smg.StationWebcamUpdate.WebcamState.prototype.setWebcamid = function(value) {\n  return jspb.Message.setProto3StringField(this, 1, value);\n};\n\n\n/**\n * optional google.protobuf.Timestamp captureTime = 2;\n * @return {?proto.google.protobuf.Timestamp}\n */\nproto.qb.smg.StationWebcamUpdate.WebcamState.prototype.getCapturetime = function() {\n  return /** @type{?proto.google.protobuf.Timestamp} */ (\n    jspb.Message.getWrapperField(this, google_protobuf_timestamp_pb.Timestamp, 2));\n};\n\n\n/**\n * @param {?proto.google.protobuf.Timestamp|undefined} value\n * @return {!proto.qb.smg.StationWebcamUpdate.WebcamState} returns this\n*/\nproto.qb.smg.StationWebcamUpdate.WebcamState.prototype.setCapturetime = function(value) {\n  return jspb.Message.setWrapperField(this, 2, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.qb.smg.StationWebcamUpdate.WebcamState} returns this\n */\nproto.qb.smg.StationWebcamUpdate.WebcamState.prototype.clearCapturetime = function() {\n  return this.setCapturetime(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.qb.smg.StationWebcamUpdate.WebcamState.prototype.hasCapturetime = function() {\n  return jspb.Message.getField(this, 2) != null;\n};\n\n\n/**\n * optional bool face_detected = 3;\n * @return {boolean}\n */\nproto.qb.smg.StationWebcamUpdate.WebcamState.prototype.getFaceDetected = function() {\n  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 3, false));\n};\n\n\n/**\n * @param {boolean} value\n * @return {!proto.qb.smg.StationWebcamUpdate.WebcamState} returns this\n */\nproto.qb.smg.StationWebcamUpdate.WebcamState.prototype.setFaceDetected = function(value) {\n  return jspb.Message.setProto3BooleanField(this, 3, value);\n};\n\n\n/**\n * optional int64 userId = 4;\n * @return {number}\n */\nproto.qb.smg.StationWebcamUpdate.WebcamState.prototype.getUserid = function() {\n  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 4, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.qb.smg.StationWebcamUpdate.WebcamState} returns this\n */\nproto.qb.smg.StationWebcamUpdate.WebcamState.prototype.setUserid = function(value) {\n  return jspb.Message.setProto3IntField(this, 4, value);\n};\n\n\n/**\n * optional float probability = 5;\n * @return {number}\n */\nproto.qb.smg.StationWebcamUpdate.WebcamState.prototype.getProbability = function() {\n  return /** @type {number} */ (jspb.Message.getFloatingPointFieldWithDefault(this, 5, 0.0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.qb.smg.StationWebcamUpdate.WebcamState} returns this\n */\nproto.qb.smg.StationWebcamUpdate.WebcamState.prototype.setProbability = function(value) {\n  return jspb.Message.setProto3FloatField(this, 5, value);\n};\n\n\n/**\n * optional bool multiple_human_detected = 6;\n * @return {boolean}\n */\nproto.qb.smg.StationWebcamUpdate.WebcamState.prototype.getMultipleHumanDetected = function() {\n  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 6, false));\n};\n\n\n/**\n * @param {boolean} value\n * @return {!proto.qb.smg.StationWebcamUpdate.WebcamState} returns this\n */\nproto.qb.smg.StationWebcamUpdate.WebcamState.prototype.setMultipleHumanDetected = function(value) {\n  return jspb.Message.setProto3BooleanField(this, 6, value);\n};\n\n\n/**\n * optional int32 number_of_human_detected = 7;\n * @return {number}\n */\nproto.qb.smg.StationWebcamUpdate.WebcamState.prototype.getNumberOfHumanDetected = function() {\n  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 7, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.qb.smg.StationWebcamUpdate.WebcamState} returns this\n */\nproto.qb.smg.StationWebcamUpdate.WebcamState.prototype.setNumberOfHumanDetected = function(value) {\n  return jspb.Message.setProto3IntField(this, 7, value);\n};\n\n\n/**\n * optional Side side = 8;\n * @return {!proto.qb.smg.StationWebcamUpdate.WebcamState.Side}\n */\nproto.qb.smg.StationWebcamUpdate.WebcamState.prototype.getSide = function() {\n  return /** @type {!proto.qb.smg.StationWebcamUpdate.WebcamState.Side} */ (jspb.Message.getFieldWithDefault(this, 8, 0));\n};\n\n\n/**\n * @param {!proto.qb.smg.StationWebcamUpdate.WebcamState.Side} value\n * @return {!proto.qb.smg.StationWebcamUpdate.WebcamState} returns this\n */\nproto.qb.smg.StationWebcamUpdate.WebcamState.prototype.setSide = function(value) {\n  return jspb.Message.setProto3EnumField(this, 8, value);\n};\n\n\n/**\n * optional int32 number_of_human_in_detectable_area = 9;\n * @return {number}\n */\nproto.qb.smg.StationWebcamUpdate.WebcamState.prototype.getNumberOfHumanInDetectableArea = function() {\n  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 9, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.qb.smg.StationWebcamUpdate.WebcamState} returns this\n */\nproto.qb.smg.StationWebcamUpdate.WebcamState.prototype.setNumberOfHumanInDetectableArea = function(value) {\n  return jspb.Message.setProto3IntField(this, 9, value);\n};\n\n\n/**\n * optional int64 userId_in_detectable_area = 10;\n * @return {number}\n */\nproto.qb.smg.StationWebcamUpdate.WebcamState.prototype.getUseridInDetectableArea = function() {\n  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 10, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.qb.smg.StationWebcamUpdate.WebcamState} returns this\n */\nproto.qb.smg.StationWebcamUpdate.WebcamState.prototype.setUseridInDetectableArea = function(value) {\n  return jspb.Message.setProto3IntField(this, 10, value);\n};\n\n\n/**\n * optional bool face_detected_in_detectable_area = 11;\n * @return {boolean}\n */\nproto.qb.smg.StationWebcamUpdate.WebcamState.prototype.getFaceDetectedInDetectableArea = function() {\n  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 11, false));\n};\n\n\n/**\n * @param {boolean} value\n * @return {!proto.qb.smg.StationWebcamUpdate.WebcamState} returns this\n */\nproto.qb.smg.StationWebcamUpdate.WebcamState.prototype.setFaceDetectedInDetectableArea = function(value) {\n  return jspb.Message.setProto3BooleanField(this, 11, value);\n};\n\n\n/**\n * optional int64 stationId = 1;\n * @return {number}\n */\nproto.qb.smg.StationWebcamUpdate.prototype.getStationid = function() {\n  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.qb.smg.StationWebcamUpdate} returns this\n */\nproto.qb.smg.StationWebcamUpdate.prototype.setStationid = function(value) {\n  return jspb.Message.setProto3IntField(this, 1, value);\n};\n\n\n/**\n * optional google.protobuf.Timestamp sendTime = 2;\n * @return {?proto.google.protobuf.Timestamp}\n */\nproto.qb.smg.StationWebcamUpdate.prototype.getSendtime = function() {\n  return /** @type{?proto.google.protobuf.Timestamp} */ (\n    jspb.Message.getWrapperField(this, google_protobuf_timestamp_pb.Timestamp, 2));\n};\n\n\n/**\n * @param {?proto.google.protobuf.Timestamp|undefined} value\n * @return {!proto.qb.smg.StationWebcamUpdate} returns this\n*/\nproto.qb.smg.StationWebcamUpdate.prototype.setSendtime = function(value) {\n  return jspb.Message.setWrapperField(this, 2, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.qb.smg.StationWebcamUpdate} returns this\n */\nproto.qb.smg.StationWebcamUpdate.prototype.clearSendtime = function() {\n  return this.setSendtime(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.qb.smg.StationWebcamUpdate.prototype.hasSendtime = function() {\n  return jspb.Message.getField(this, 2) != null;\n};\n\n\n/**\n * repeated WebcamState webcamState = 3;\n * @return {!Array<!proto.qb.smg.StationWebcamUpdate.WebcamState>}\n */\nproto.qb.smg.StationWebcamUpdate.prototype.getWebcamstateList = function() {\n  return /** @type{!Array<!proto.qb.smg.StationWebcamUpdate.WebcamState>} */ (\n    jspb.Message.getRepeatedWrapperField(this, proto.qb.smg.StationWebcamUpdate.WebcamState, 3));\n};\n\n\n/**\n * @param {!Array<!proto.qb.smg.StationWebcamUpdate.WebcamState>} value\n * @return {!proto.qb.smg.StationWebcamUpdate} returns this\n*/\nproto.qb.smg.StationWebcamUpdate.prototype.setWebcamstateList = function(value) {\n  return jspb.Message.setRepeatedWrapperField(this, 3, value);\n};\n\n\n/**\n * @param {!proto.qb.smg.StationWebcamUpdate.WebcamState=} opt_value\n * @param {number=} opt_index\n * @return {!proto.qb.smg.StationWebcamUpdate.WebcamState}\n */\nproto.qb.smg.StationWebcamUpdate.prototype.addWebcamstate = function(opt_value, opt_index) {\n  return jspb.Message.addToRepeatedWrapperField(this, 3, opt_value, proto.qb.smg.StationWebcamUpdate.WebcamState, opt_index);\n};\n\n\n/**\n * Clears the list making it empty but non-null.\n * @return {!proto.qb.smg.StationWebcamUpdate} returns this\n */\nproto.qb.smg.StationWebcamUpdate.prototype.clearWebcamstateList = function() {\n  return this.setWebcamstateList([]);\n};\n\n\n/**\n * optional string token = 4;\n * @return {string}\n */\nproto.qb.smg.StationWebcamUpdate.prototype.getToken = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 4, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.qb.smg.StationWebcamUpdate} returns this\n */\nproto.qb.smg.StationWebcamUpdate.prototype.setToken = function(value) {\n  return jspb.Message.setProto3StringField(this, 4, value);\n};\n\n\n/**\n * optional Location location = 101;\n * @return {?proto.qb.smg.Location}\n */\nproto.qb.smg.StationWebcamUpdate.prototype.getLocation = function() {\n  return /** @type{?proto.qb.smg.Location} */ (\n    jspb.Message.getWrapperField(this, proto.qb.smg.Location, 101));\n};\n\n\n/**\n * @param {?proto.qb.smg.Location|undefined} value\n * @return {!proto.qb.smg.StationWebcamUpdate} returns this\n*/\nproto.qb.smg.StationWebcamUpdate.prototype.setLocation = function(value) {\n  return jspb.Message.setWrapperField(this, 101, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.qb.smg.StationWebcamUpdate} returns this\n */\nproto.qb.smg.StationWebcamUpdate.prototype.clearLocation = function() {\n  return this.setLocation(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.qb.smg.StationWebcamUpdate.prototype.hasLocation = function() {\n  return jspb.Message.getField(this, 101) != null;\n};\n\n\n/**\n * optional int32 venue_id = 102;\n * @return {number}\n */\nproto.qb.smg.StationWebcamUpdate.prototype.getVenueId = function() {\n  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 102, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.qb.smg.StationWebcamUpdate} returns this\n */\nproto.qb.smg.StationWebcamUpdate.prototype.setVenueId = function(value) {\n  return jspb.Message.setProto3IntField(this, 102, value);\n};\n\n\n/**\n * map<string, string> additional_parameters = 103;\n * @param {boolean=} opt_noLazyCreate Do not create the map if\n * empty, instead returning `undefined`\n * @return {!jspb.Map<string,string>}\n */\nproto.qb.smg.StationWebcamUpdate.prototype.getAdditionalParametersMap = function(opt_noLazyCreate) {\n  return /** @type {!jspb.Map<string,string>} */ (\n      jspb.Message.getMapField(this, 103, opt_noLazyCreate,\n      null));\n};\n\n\n/**\n * Clears values from the map. The map will be non-null.\n * @return {!proto.qb.smg.StationWebcamUpdate} returns this\n */\nproto.qb.smg.StationWebcamUpdate.prototype.clearAdditionalParametersMap = function() {\n  this.getAdditionalParametersMap().clear();\n  return this;};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.qb.smg.PushStationWebcamUpdatesResponse.prototype.toObject = function(opt_includeInstance) {\n  return proto.qb.smg.PushStationWebcamUpdatesResponse.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.qb.smg.PushStationWebcamUpdatesResponse} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.qb.smg.PushStationWebcamUpdatesResponse.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    success: jspb.Message.getBooleanFieldWithDefault(msg, 1, false),\n    error: (f = msg.getError()) && proto.qb.smg.Error.toObject(includeInstance, f)\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.qb.smg.PushStationWebcamUpdatesResponse}\n */\nproto.qb.smg.PushStationWebcamUpdatesResponse.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.qb.smg.PushStationWebcamUpdatesResponse;\n  return proto.qb.smg.PushStationWebcamUpdatesResponse.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.qb.smg.PushStationWebcamUpdatesResponse} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.qb.smg.PushStationWebcamUpdatesResponse}\n */\nproto.qb.smg.PushStationWebcamUpdatesResponse.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {boolean} */ (reader.readBool());\n      msg.setSuccess(value);\n      break;\n    case 2:\n      var value = new proto.qb.smg.Error;\n      reader.readMessage(value,proto.qb.smg.Error.deserializeBinaryFromReader);\n      msg.setError(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.qb.smg.PushStationWebcamUpdatesResponse.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.qb.smg.PushStationWebcamUpdatesResponse.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.qb.smg.PushStationWebcamUpdatesResponse} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.qb.smg.PushStationWebcamUpdatesResponse.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getSuccess();\n  if (f) {\n    writer.writeBool(\n      1,\n      f\n    );\n  }\n  f = message.getError();\n  if (f != null) {\n    writer.writeMessage(\n      2,\n      f,\n      proto.qb.smg.Error.serializeBinaryToWriter\n    );\n  }\n};\n\n\n/**\n * optional bool success = 1;\n * @return {boolean}\n */\nproto.qb.smg.PushStationWebcamUpdatesResponse.prototype.getSuccess = function() {\n  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 1, false));\n};\n\n\n/**\n * @param {boolean} value\n * @return {!proto.qb.smg.PushStationWebcamUpdatesResponse} returns this\n */\nproto.qb.smg.PushStationWebcamUpdatesResponse.prototype.setSuccess = function(value) {\n  return jspb.Message.setProto3BooleanField(this, 1, value);\n};\n\n\n/**\n * optional Error error = 2;\n * @return {?proto.qb.smg.Error}\n */\nproto.qb.smg.PushStationWebcamUpdatesResponse.prototype.getError = function() {\n  return /** @type{?proto.qb.smg.Error} */ (\n    jspb.Message.getWrapperField(this, proto.qb.smg.Error, 2));\n};\n\n\n/**\n * @param {?proto.qb.smg.Error|undefined} value\n * @return {!proto.qb.smg.PushStationWebcamUpdatesResponse} returns this\n*/\nproto.qb.smg.PushStationWebcamUpdatesResponse.prototype.setError = function(value) {\n  return jspb.Message.setWrapperField(this, 2, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.qb.smg.PushStationWebcamUpdatesResponse} returns this\n */\nproto.qb.smg.PushStationWebcamUpdatesResponse.prototype.clearError = function() {\n  return this.setError(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.qb.smg.PushStationWebcamUpdatesResponse.prototype.hasError = function() {\n  return jspb.Message.getField(this, 2) != null;\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.qb.smg.UploadImageRequest.prototype.toObject = function(opt_includeInstance) {\n  return proto.qb.smg.UploadImageRequest.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.qb.smg.UploadImageRequest} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.qb.smg.UploadImageRequest.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    image: msg.getImage_asB64()\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.qb.smg.UploadImageRequest}\n */\nproto.qb.smg.UploadImageRequest.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.qb.smg.UploadImageRequest;\n  return proto.qb.smg.UploadImageRequest.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.qb.smg.UploadImageRequest} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.qb.smg.UploadImageRequest}\n */\nproto.qb.smg.UploadImageRequest.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {!Uint8Array} */ (reader.readBytes());\n      msg.setImage(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.qb.smg.UploadImageRequest.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.qb.smg.UploadImageRequest.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.qb.smg.UploadImageRequest} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.qb.smg.UploadImageRequest.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getImage_asU8();\n  if (f.length > 0) {\n    writer.writeBytes(\n      1,\n      f\n    );\n  }\n};\n\n\n/**\n * optional bytes image = 1;\n * @return {!(string|Uint8Array)}\n */\nproto.qb.smg.UploadImageRequest.prototype.getImage = function() {\n  return /** @type {!(string|Uint8Array)} */ (jspb.Message.getFieldWithDefault(this, 1, \"\"));\n};\n\n\n/**\n * optional bytes image = 1;\n * This is a type-conversion wrapper around `getImage()`\n * @return {string}\n */\nproto.qb.smg.UploadImageRequest.prototype.getImage_asB64 = function() {\n  return /** @type {string} */ (jspb.Message.bytesAsB64(\n      this.getImage()));\n};\n\n\n/**\n * optional bytes image = 1;\n * Note that Uint8Array is not supported on all browsers.\n * @see http://caniuse.com/Uint8Array\n * This is a type-conversion wrapper around `getImage()`\n * @return {!Uint8Array}\n */\nproto.qb.smg.UploadImageRequest.prototype.getImage_asU8 = function() {\n  return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8(\n      this.getImage()));\n};\n\n\n/**\n * @param {!(string|Uint8Array)} value\n * @return {!proto.qb.smg.UploadImageRequest} returns this\n */\nproto.qb.smg.UploadImageRequest.prototype.setImage = function(value) {\n  return jspb.Message.setProto3BytesField(this, 1, value);\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.qb.smg.UploadImageReply.prototype.toObject = function(opt_includeInstance) {\n  return proto.qb.smg.UploadImageReply.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.qb.smg.UploadImageReply} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.qb.smg.UploadImageReply.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    success: jspb.Message.getBooleanFieldWithDefault(msg, 1, false),\n    error: (f = msg.getError()) && proto.qb.smg.Error.toObject(includeInstance, f),\n    fileId: jspb.Message.getFieldWithDefault(msg, 3, 0)\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.qb.smg.UploadImageReply}\n */\nproto.qb.smg.UploadImageReply.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.qb.smg.UploadImageReply;\n  return proto.qb.smg.UploadImageReply.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.qb.smg.UploadImageReply} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.qb.smg.UploadImageReply}\n */\nproto.qb.smg.UploadImageReply.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {boolean} */ (reader.readBool());\n      msg.setSuccess(value);\n      break;\n    case 2:\n      var value = new proto.qb.smg.Error;\n      reader.readMessage(value,proto.qb.smg.Error.deserializeBinaryFromReader);\n      msg.setError(value);\n      break;\n    case 3:\n      var value = /** @type {number} */ (reader.readInt64());\n      msg.setFileId(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.qb.smg.UploadImageReply.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.qb.smg.UploadImageReply.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.qb.smg.UploadImageReply} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.qb.smg.UploadImageReply.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getSuccess();\n  if (f) {\n    writer.writeBool(\n      1,\n      f\n    );\n  }\n  f = message.getError();\n  if (f != null) {\n    writer.writeMessage(\n      2,\n      f,\n      proto.qb.smg.Error.serializeBinaryToWriter\n    );\n  }\n  f = message.getFileId();\n  if (f !== 0) {\n    writer.writeInt64(\n      3,\n      f\n    );\n  }\n};\n\n\n/**\n * optional bool success = 1;\n * @return {boolean}\n */\nproto.qb.smg.UploadImageReply.prototype.getSuccess = function() {\n  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 1, false));\n};\n\n\n/**\n * @param {boolean} value\n * @return {!proto.qb.smg.UploadImageReply} returns this\n */\nproto.qb.smg.UploadImageReply.prototype.setSuccess = function(value) {\n  return jspb.Message.setProto3BooleanField(this, 1, value);\n};\n\n\n/**\n * optional Error error = 2;\n * @return {?proto.qb.smg.Error}\n */\nproto.qb.smg.UploadImageReply.prototype.getError = function() {\n  return /** @type{?proto.qb.smg.Error} */ (\n    jspb.Message.getWrapperField(this, proto.qb.smg.Error, 2));\n};\n\n\n/**\n * @param {?proto.qb.smg.Error|undefined} value\n * @return {!proto.qb.smg.UploadImageReply} returns this\n*/\nproto.qb.smg.UploadImageReply.prototype.setError = function(value) {\n  return jspb.Message.setWrapperField(this, 2, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.qb.smg.UploadImageReply} returns this\n */\nproto.qb.smg.UploadImageReply.prototype.clearError = function() {\n  return this.setError(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.qb.smg.UploadImageReply.prototype.hasError = function() {\n  return jspb.Message.getField(this, 2) != null;\n};\n\n\n/**\n * optional int64 file_id = 3;\n * @return {number}\n */\nproto.qb.smg.UploadImageReply.prototype.getFileId = function() {\n  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 3, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.qb.smg.UploadImageReply} returns this\n */\nproto.qb.smg.UploadImageReply.prototype.setFileId = function(value) {\n  return jspb.Message.setProto3IntField(this, 3, value);\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.qb.smg.RequestResetPinRequest.prototype.toObject = function(opt_includeInstance) {\n  return proto.qb.smg.RequestResetPinRequest.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.qb.smg.RequestResetPinRequest} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.qb.smg.RequestResetPinRequest.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    emailAddress: jspb.Message.getFieldWithDefault(msg, 1, \"\"),\n    location: (f = msg.getLocation()) && proto.qb.smg.Location.toObject(includeInstance, f),\n    venueId: jspb.Message.getFieldWithDefault(msg, 102, 0)\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.qb.smg.RequestResetPinRequest}\n */\nproto.qb.smg.RequestResetPinRequest.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.qb.smg.RequestResetPinRequest;\n  return proto.qb.smg.RequestResetPinRequest.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.qb.smg.RequestResetPinRequest} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.qb.smg.RequestResetPinRequest}\n */\nproto.qb.smg.RequestResetPinRequest.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setEmailAddress(value);\n      break;\n    case 101:\n      var value = new proto.qb.smg.Location;\n      reader.readMessage(value,proto.qb.smg.Location.deserializeBinaryFromReader);\n      msg.setLocation(value);\n      break;\n    case 102:\n      var value = /** @type {number} */ (reader.readInt32());\n      msg.setVenueId(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.qb.smg.RequestResetPinRequest.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.qb.smg.RequestResetPinRequest.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.qb.smg.RequestResetPinRequest} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.qb.smg.RequestResetPinRequest.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getEmailAddress();\n  if (f.length > 0) {\n    writer.writeString(\n      1,\n      f\n    );\n  }\n  f = message.getLocation();\n  if (f != null) {\n    writer.writeMessage(\n      101,\n      f,\n      proto.qb.smg.Location.serializeBinaryToWriter\n    );\n  }\n  f = message.getVenueId();\n  if (f !== 0) {\n    writer.writeInt32(\n      102,\n      f\n    );\n  }\n};\n\n\n/**\n * optional string email_address = 1;\n * @return {string}\n */\nproto.qb.smg.RequestResetPinRequest.prototype.getEmailAddress = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.qb.smg.RequestResetPinRequest} returns this\n */\nproto.qb.smg.RequestResetPinRequest.prototype.setEmailAddress = function(value) {\n  return jspb.Message.setProto3StringField(this, 1, value);\n};\n\n\n/**\n * optional Location location = 101;\n * @return {?proto.qb.smg.Location}\n */\nproto.qb.smg.RequestResetPinRequest.prototype.getLocation = function() {\n  return /** @type{?proto.qb.smg.Location} */ (\n    jspb.Message.getWrapperField(this, proto.qb.smg.Location, 101));\n};\n\n\n/**\n * @param {?proto.qb.smg.Location|undefined} value\n * @return {!proto.qb.smg.RequestResetPinRequest} returns this\n*/\nproto.qb.smg.RequestResetPinRequest.prototype.setLocation = function(value) {\n  return jspb.Message.setWrapperField(this, 101, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.qb.smg.RequestResetPinRequest} returns this\n */\nproto.qb.smg.RequestResetPinRequest.prototype.clearLocation = function() {\n  return this.setLocation(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.qb.smg.RequestResetPinRequest.prototype.hasLocation = function() {\n  return jspb.Message.getField(this, 101) != null;\n};\n\n\n/**\n * optional int32 venue_id = 102;\n * @return {number}\n */\nproto.qb.smg.RequestResetPinRequest.prototype.getVenueId = function() {\n  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 102, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.qb.smg.RequestResetPinRequest} returns this\n */\nproto.qb.smg.RequestResetPinRequest.prototype.setVenueId = function(value) {\n  return jspb.Message.setProto3IntField(this, 102, value);\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.qb.smg.RequestResetPinReply.prototype.toObject = function(opt_includeInstance) {\n  return proto.qb.smg.RequestResetPinReply.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.qb.smg.RequestResetPinReply} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.qb.smg.RequestResetPinReply.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    success: jspb.Message.getBooleanFieldWithDefault(msg, 1, false),\n    error: (f = msg.getError()) && proto.qb.smg.Error.toObject(includeInstance, f)\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.qb.smg.RequestResetPinReply}\n */\nproto.qb.smg.RequestResetPinReply.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.qb.smg.RequestResetPinReply;\n  return proto.qb.smg.RequestResetPinReply.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.qb.smg.RequestResetPinReply} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.qb.smg.RequestResetPinReply}\n */\nproto.qb.smg.RequestResetPinReply.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {boolean} */ (reader.readBool());\n      msg.setSuccess(value);\n      break;\n    case 2:\n      var value = new proto.qb.smg.Error;\n      reader.readMessage(value,proto.qb.smg.Error.deserializeBinaryFromReader);\n      msg.setError(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.qb.smg.RequestResetPinReply.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.qb.smg.RequestResetPinReply.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.qb.smg.RequestResetPinReply} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.qb.smg.RequestResetPinReply.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getSuccess();\n  if (f) {\n    writer.writeBool(\n      1,\n      f\n    );\n  }\n  f = message.getError();\n  if (f != null) {\n    writer.writeMessage(\n      2,\n      f,\n      proto.qb.smg.Error.serializeBinaryToWriter\n    );\n  }\n};\n\n\n/**\n * optional bool success = 1;\n * @return {boolean}\n */\nproto.qb.smg.RequestResetPinReply.prototype.getSuccess = function() {\n  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 1, false));\n};\n\n\n/**\n * @param {boolean} value\n * @return {!proto.qb.smg.RequestResetPinReply} returns this\n */\nproto.qb.smg.RequestResetPinReply.prototype.setSuccess = function(value) {\n  return jspb.Message.setProto3BooleanField(this, 1, value);\n};\n\n\n/**\n * optional Error error = 2;\n * @return {?proto.qb.smg.Error}\n */\nproto.qb.smg.RequestResetPinReply.prototype.getError = function() {\n  return /** @type{?proto.qb.smg.Error} */ (\n    jspb.Message.getWrapperField(this, proto.qb.smg.Error, 2));\n};\n\n\n/**\n * @param {?proto.qb.smg.Error|undefined} value\n * @return {!proto.qb.smg.RequestResetPinReply} returns this\n*/\nproto.qb.smg.RequestResetPinReply.prototype.setError = function(value) {\n  return jspb.Message.setWrapperField(this, 2, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.qb.smg.RequestResetPinReply} returns this\n */\nproto.qb.smg.RequestResetPinReply.prototype.clearError = function() {\n  return this.setError(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.qb.smg.RequestResetPinReply.prototype.hasError = function() {\n  return jspb.Message.getField(this, 2) != null;\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.qb.smg.ResendEmailConfirmationRequest.prototype.toObject = function(opt_includeInstance) {\n  return proto.qb.smg.ResendEmailConfirmationRequest.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.qb.smg.ResendEmailConfirmationRequest} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.qb.smg.ResendEmailConfirmationRequest.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    token: jspb.Message.getFieldWithDefault(msg, 1, \"\"),\n    location: (f = msg.getLocation()) && proto.qb.smg.Location.toObject(includeInstance, f),\n    venueId: jspb.Message.getFieldWithDefault(msg, 102, 0)\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.qb.smg.ResendEmailConfirmationRequest}\n */\nproto.qb.smg.ResendEmailConfirmationRequest.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.qb.smg.ResendEmailConfirmationRequest;\n  return proto.qb.smg.ResendEmailConfirmationRequest.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.qb.smg.ResendEmailConfirmationRequest} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.qb.smg.ResendEmailConfirmationRequest}\n */\nproto.qb.smg.ResendEmailConfirmationRequest.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setToken(value);\n      break;\n    case 101:\n      var value = new proto.qb.smg.Location;\n      reader.readMessage(value,proto.qb.smg.Location.deserializeBinaryFromReader);\n      msg.setLocation(value);\n      break;\n    case 102:\n      var value = /** @type {number} */ (reader.readInt32());\n      msg.setVenueId(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.qb.smg.ResendEmailConfirmationRequest.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.qb.smg.ResendEmailConfirmationRequest.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.qb.smg.ResendEmailConfirmationRequest} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.qb.smg.ResendEmailConfirmationRequest.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getToken();\n  if (f.length > 0) {\n    writer.writeString(\n      1,\n      f\n    );\n  }\n  f = message.getLocation();\n  if (f != null) {\n    writer.writeMessage(\n      101,\n      f,\n      proto.qb.smg.Location.serializeBinaryToWriter\n    );\n  }\n  f = message.getVenueId();\n  if (f !== 0) {\n    writer.writeInt32(\n      102,\n      f\n    );\n  }\n};\n\n\n/**\n * optional string token = 1;\n * @return {string}\n */\nproto.qb.smg.ResendEmailConfirmationRequest.prototype.getToken = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.qb.smg.ResendEmailConfirmationRequest} returns this\n */\nproto.qb.smg.ResendEmailConfirmationRequest.prototype.setToken = function(value) {\n  return jspb.Message.setProto3StringField(this, 1, value);\n};\n\n\n/**\n * optional Location location = 101;\n * @return {?proto.qb.smg.Location}\n */\nproto.qb.smg.ResendEmailConfirmationRequest.prototype.getLocation = function() {\n  return /** @type{?proto.qb.smg.Location} */ (\n    jspb.Message.getWrapperField(this, proto.qb.smg.Location, 101));\n};\n\n\n/**\n * @param {?proto.qb.smg.Location|undefined} value\n * @return {!proto.qb.smg.ResendEmailConfirmationRequest} returns this\n*/\nproto.qb.smg.ResendEmailConfirmationRequest.prototype.setLocation = function(value) {\n  return jspb.Message.setWrapperField(this, 101, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.qb.smg.ResendEmailConfirmationRequest} returns this\n */\nproto.qb.smg.ResendEmailConfirmationRequest.prototype.clearLocation = function() {\n  return this.setLocation(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.qb.smg.ResendEmailConfirmationRequest.prototype.hasLocation = function() {\n  return jspb.Message.getField(this, 101) != null;\n};\n\n\n/**\n * optional int32 venue_id = 102;\n * @return {number}\n */\nproto.qb.smg.ResendEmailConfirmationRequest.prototype.getVenueId = function() {\n  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 102, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.qb.smg.ResendEmailConfirmationRequest} returns this\n */\nproto.qb.smg.ResendEmailConfirmationRequest.prototype.setVenueId = function(value) {\n  return jspb.Message.setProto3IntField(this, 102, value);\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.qb.smg.ResendEmailConfirmationReply.prototype.toObject = function(opt_includeInstance) {\n  return proto.qb.smg.ResendEmailConfirmationReply.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.qb.smg.ResendEmailConfirmationReply} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.qb.smg.ResendEmailConfirmationReply.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    success: jspb.Message.getBooleanFieldWithDefault(msg, 1, false),\n    error: (f = msg.getError()) && proto.qb.smg.Error.toObject(includeInstance, f)\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.qb.smg.ResendEmailConfirmationReply}\n */\nproto.qb.smg.ResendEmailConfirmationReply.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.qb.smg.ResendEmailConfirmationReply;\n  return proto.qb.smg.ResendEmailConfirmationReply.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.qb.smg.ResendEmailConfirmationReply} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.qb.smg.ResendEmailConfirmationReply}\n */\nproto.qb.smg.ResendEmailConfirmationReply.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {boolean} */ (reader.readBool());\n      msg.setSuccess(value);\n      break;\n    case 2:\n      var value = new proto.qb.smg.Error;\n      reader.readMessage(value,proto.qb.smg.Error.deserializeBinaryFromReader);\n      msg.setError(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.qb.smg.ResendEmailConfirmationReply.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.qb.smg.ResendEmailConfirmationReply.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.qb.smg.ResendEmailConfirmationReply} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.qb.smg.ResendEmailConfirmationReply.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getSuccess();\n  if (f) {\n    writer.writeBool(\n      1,\n      f\n    );\n  }\n  f = message.getError();\n  if (f != null) {\n    writer.writeMessage(\n      2,\n      f,\n      proto.qb.smg.Error.serializeBinaryToWriter\n    );\n  }\n};\n\n\n/**\n * optional bool success = 1;\n * @return {boolean}\n */\nproto.qb.smg.ResendEmailConfirmationReply.prototype.getSuccess = function() {\n  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 1, false));\n};\n\n\n/**\n * @param {boolean} value\n * @return {!proto.qb.smg.ResendEmailConfirmationReply} returns this\n */\nproto.qb.smg.ResendEmailConfirmationReply.prototype.setSuccess = function(value) {\n  return jspb.Message.setProto3BooleanField(this, 1, value);\n};\n\n\n/**\n * optional Error error = 2;\n * @return {?proto.qb.smg.Error}\n */\nproto.qb.smg.ResendEmailConfirmationReply.prototype.getError = function() {\n  return /** @type{?proto.qb.smg.Error} */ (\n    jspb.Message.getWrapperField(this, proto.qb.smg.Error, 2));\n};\n\n\n/**\n * @param {?proto.qb.smg.Error|undefined} value\n * @return {!proto.qb.smg.ResendEmailConfirmationReply} returns this\n*/\nproto.qb.smg.ResendEmailConfirmationReply.prototype.setError = function(value) {\n  return jspb.Message.setWrapperField(this, 2, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.qb.smg.ResendEmailConfirmationReply} returns this\n */\nproto.qb.smg.ResendEmailConfirmationReply.prototype.clearError = function() {\n  return this.setError(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.qb.smg.ResendEmailConfirmationReply.prototype.hasError = function() {\n  return jspb.Message.getField(this, 2) != null;\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.qb.smg.ConfirmEmailRequest.prototype.toObject = function(opt_includeInstance) {\n  return proto.qb.smg.ConfirmEmailRequest.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.qb.smg.ConfirmEmailRequest} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.qb.smg.ConfirmEmailRequest.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    confirmationtoken: jspb.Message.getFieldWithDefault(msg, 1, \"\")\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.qb.smg.ConfirmEmailRequest}\n */\nproto.qb.smg.ConfirmEmailRequest.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.qb.smg.ConfirmEmailRequest;\n  return proto.qb.smg.ConfirmEmailRequest.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.qb.smg.ConfirmEmailRequest} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.qb.smg.ConfirmEmailRequest}\n */\nproto.qb.smg.ConfirmEmailRequest.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setConfirmationtoken(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.qb.smg.ConfirmEmailRequest.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.qb.smg.ConfirmEmailRequest.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.qb.smg.ConfirmEmailRequest} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.qb.smg.ConfirmEmailRequest.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getConfirmationtoken();\n  if (f.length > 0) {\n    writer.writeString(\n      1,\n      f\n    );\n  }\n};\n\n\n/**\n * optional string confirmationToken = 1;\n * @return {string}\n */\nproto.qb.smg.ConfirmEmailRequest.prototype.getConfirmationtoken = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.qb.smg.ConfirmEmailRequest} returns this\n */\nproto.qb.smg.ConfirmEmailRequest.prototype.setConfirmationtoken = function(value) {\n  return jspb.Message.setProto3StringField(this, 1, value);\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.qb.smg.ConfirmEmailReply.prototype.toObject = function(opt_includeInstance) {\n  return proto.qb.smg.ConfirmEmailReply.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.qb.smg.ConfirmEmailReply} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.qb.smg.ConfirmEmailReply.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    success: jspb.Message.getBooleanFieldWithDefault(msg, 1, false),\n    error: (f = msg.getError()) && proto.qb.smg.Error.toObject(includeInstance, f),\n    session: (f = msg.getSession()) && proto.qb.smg.Session.toObject(includeInstance, f),\n    user: (f = msg.getUser()) && proto.qb.smg.User.toObject(includeInstance, f)\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.qb.smg.ConfirmEmailReply}\n */\nproto.qb.smg.ConfirmEmailReply.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.qb.smg.ConfirmEmailReply;\n  return proto.qb.smg.ConfirmEmailReply.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.qb.smg.ConfirmEmailReply} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.qb.smg.ConfirmEmailReply}\n */\nproto.qb.smg.ConfirmEmailReply.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {boolean} */ (reader.readBool());\n      msg.setSuccess(value);\n      break;\n    case 2:\n      var value = new proto.qb.smg.Error;\n      reader.readMessage(value,proto.qb.smg.Error.deserializeBinaryFromReader);\n      msg.setError(value);\n      break;\n    case 3:\n      var value = new proto.qb.smg.Session;\n      reader.readMessage(value,proto.qb.smg.Session.deserializeBinaryFromReader);\n      msg.setSession(value);\n      break;\n    case 4:\n      var value = new proto.qb.smg.User;\n      reader.readMessage(value,proto.qb.smg.User.deserializeBinaryFromReader);\n      msg.setUser(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.qb.smg.ConfirmEmailReply.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.qb.smg.ConfirmEmailReply.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.qb.smg.ConfirmEmailReply} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.qb.smg.ConfirmEmailReply.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getSuccess();\n  if (f) {\n    writer.writeBool(\n      1,\n      f\n    );\n  }\n  f = message.getError();\n  if (f != null) {\n    writer.writeMessage(\n      2,\n      f,\n      proto.qb.smg.Error.serializeBinaryToWriter\n    );\n  }\n  f = message.getSession();\n  if (f != null) {\n    writer.writeMessage(\n      3,\n      f,\n      proto.qb.smg.Session.serializeBinaryToWriter\n    );\n  }\n  f = message.getUser();\n  if (f != null) {\n    writer.writeMessage(\n      4,\n      f,\n      proto.qb.smg.User.serializeBinaryToWriter\n    );\n  }\n};\n\n\n/**\n * optional bool success = 1;\n * @return {boolean}\n */\nproto.qb.smg.ConfirmEmailReply.prototype.getSuccess = function() {\n  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 1, false));\n};\n\n\n/**\n * @param {boolean} value\n * @return {!proto.qb.smg.ConfirmEmailReply} returns this\n */\nproto.qb.smg.ConfirmEmailReply.prototype.setSuccess = function(value) {\n  return jspb.Message.setProto3BooleanField(this, 1, value);\n};\n\n\n/**\n * optional Error error = 2;\n * @return {?proto.qb.smg.Error}\n */\nproto.qb.smg.ConfirmEmailReply.prototype.getError = function() {\n  return /** @type{?proto.qb.smg.Error} */ (\n    jspb.Message.getWrapperField(this, proto.qb.smg.Error, 2));\n};\n\n\n/**\n * @param {?proto.qb.smg.Error|undefined} value\n * @return {!proto.qb.smg.ConfirmEmailReply} returns this\n*/\nproto.qb.smg.ConfirmEmailReply.prototype.setError = function(value) {\n  return jspb.Message.setWrapperField(this, 2, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.qb.smg.ConfirmEmailReply} returns this\n */\nproto.qb.smg.ConfirmEmailReply.prototype.clearError = function() {\n  return this.setError(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.qb.smg.ConfirmEmailReply.prototype.hasError = function() {\n  return jspb.Message.getField(this, 2) != null;\n};\n\n\n/**\n * optional Session session = 3;\n * @return {?proto.qb.smg.Session}\n */\nproto.qb.smg.ConfirmEmailReply.prototype.getSession = function() {\n  return /** @type{?proto.qb.smg.Session} */ (\n    jspb.Message.getWrapperField(this, proto.qb.smg.Session, 3));\n};\n\n\n/**\n * @param {?proto.qb.smg.Session|undefined} value\n * @return {!proto.qb.smg.ConfirmEmailReply} returns this\n*/\nproto.qb.smg.ConfirmEmailReply.prototype.setSession = function(value) {\n  return jspb.Message.setWrapperField(this, 3, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.qb.smg.ConfirmEmailReply} returns this\n */\nproto.qb.smg.ConfirmEmailReply.prototype.clearSession = function() {\n  return this.setSession(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.qb.smg.ConfirmEmailReply.prototype.hasSession = function() {\n  return jspb.Message.getField(this, 3) != null;\n};\n\n\n/**\n * optional User user = 4;\n * @return {?proto.qb.smg.User}\n */\nproto.qb.smg.ConfirmEmailReply.prototype.getUser = function() {\n  return /** @type{?proto.qb.smg.User} */ (\n    jspb.Message.getWrapperField(this, proto.qb.smg.User, 4));\n};\n\n\n/**\n * @param {?proto.qb.smg.User|undefined} value\n * @return {!proto.qb.smg.ConfirmEmailReply} returns this\n*/\nproto.qb.smg.ConfirmEmailReply.prototype.setUser = function(value) {\n  return jspb.Message.setWrapperField(this, 4, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.qb.smg.ConfirmEmailReply} returns this\n */\nproto.qb.smg.ConfirmEmailReply.prototype.clearUser = function() {\n  return this.setUser(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.qb.smg.ConfirmEmailReply.prototype.hasUser = function() {\n  return jspb.Message.getField(this, 4) != null;\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.qb.smg.DoResetPinRequest.prototype.toObject = function(opt_includeInstance) {\n  return proto.qb.smg.DoResetPinRequest.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.qb.smg.DoResetPinRequest} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.qb.smg.DoResetPinRequest.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    token: jspb.Message.getFieldWithDefault(msg, 1, \"\"),\n    newPin: jspb.Message.getFieldWithDefault(msg, 2, \"\"),\n    location: (f = msg.getLocation()) && proto.qb.smg.Location.toObject(includeInstance, f),\n    venueId: jspb.Message.getFieldWithDefault(msg, 102, 0)\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.qb.smg.DoResetPinRequest}\n */\nproto.qb.smg.DoResetPinRequest.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.qb.smg.DoResetPinRequest;\n  return proto.qb.smg.DoResetPinRequest.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.qb.smg.DoResetPinRequest} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.qb.smg.DoResetPinRequest}\n */\nproto.qb.smg.DoResetPinRequest.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setToken(value);\n      break;\n    case 2:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setNewPin(value);\n      break;\n    case 101:\n      var value = new proto.qb.smg.Location;\n      reader.readMessage(value,proto.qb.smg.Location.deserializeBinaryFromReader);\n      msg.setLocation(value);\n      break;\n    case 102:\n      var value = /** @type {number} */ (reader.readInt32());\n      msg.setVenueId(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.qb.smg.DoResetPinRequest.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.qb.smg.DoResetPinRequest.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.qb.smg.DoResetPinRequest} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.qb.smg.DoResetPinRequest.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getToken();\n  if (f.length > 0) {\n    writer.writeString(\n      1,\n      f\n    );\n  }\n  f = message.getNewPin();\n  if (f.length > 0) {\n    writer.writeString(\n      2,\n      f\n    );\n  }\n  f = message.getLocation();\n  if (f != null) {\n    writer.writeMessage(\n      101,\n      f,\n      proto.qb.smg.Location.serializeBinaryToWriter\n    );\n  }\n  f = message.getVenueId();\n  if (f !== 0) {\n    writer.writeInt32(\n      102,\n      f\n    );\n  }\n};\n\n\n/**\n * optional string token = 1;\n * @return {string}\n */\nproto.qb.smg.DoResetPinRequest.prototype.getToken = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.qb.smg.DoResetPinRequest} returns this\n */\nproto.qb.smg.DoResetPinRequest.prototype.setToken = function(value) {\n  return jspb.Message.setProto3StringField(this, 1, value);\n};\n\n\n/**\n * optional string new_pin = 2;\n * @return {string}\n */\nproto.qb.smg.DoResetPinRequest.prototype.getNewPin = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.qb.smg.DoResetPinRequest} returns this\n */\nproto.qb.smg.DoResetPinRequest.prototype.setNewPin = function(value) {\n  return jspb.Message.setProto3StringField(this, 2, value);\n};\n\n\n/**\n * optional Location location = 101;\n * @return {?proto.qb.smg.Location}\n */\nproto.qb.smg.DoResetPinRequest.prototype.getLocation = function() {\n  return /** @type{?proto.qb.smg.Location} */ (\n    jspb.Message.getWrapperField(this, proto.qb.smg.Location, 101));\n};\n\n\n/**\n * @param {?proto.qb.smg.Location|undefined} value\n * @return {!proto.qb.smg.DoResetPinRequest} returns this\n*/\nproto.qb.smg.DoResetPinRequest.prototype.setLocation = function(value) {\n  return jspb.Message.setWrapperField(this, 101, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.qb.smg.DoResetPinRequest} returns this\n */\nproto.qb.smg.DoResetPinRequest.prototype.clearLocation = function() {\n  return this.setLocation(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.qb.smg.DoResetPinRequest.prototype.hasLocation = function() {\n  return jspb.Message.getField(this, 101) != null;\n};\n\n\n/**\n * optional int32 venue_id = 102;\n * @return {number}\n */\nproto.qb.smg.DoResetPinRequest.prototype.getVenueId = function() {\n  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 102, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.qb.smg.DoResetPinRequest} returns this\n */\nproto.qb.smg.DoResetPinRequest.prototype.setVenueId = function(value) {\n  return jspb.Message.setProto3IntField(this, 102, value);\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.qb.smg.DoResetPinReply.prototype.toObject = function(opt_includeInstance) {\n  return proto.qb.smg.DoResetPinReply.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.qb.smg.DoResetPinReply} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.qb.smg.DoResetPinReply.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    success: jspb.Message.getBooleanFieldWithDefault(msg, 1, false),\n    error: (f = msg.getError()) && proto.qb.smg.Error.toObject(includeInstance, f)\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.qb.smg.DoResetPinReply}\n */\nproto.qb.smg.DoResetPinReply.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.qb.smg.DoResetPinReply;\n  return proto.qb.smg.DoResetPinReply.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.qb.smg.DoResetPinReply} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.qb.smg.DoResetPinReply}\n */\nproto.qb.smg.DoResetPinReply.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {boolean} */ (reader.readBool());\n      msg.setSuccess(value);\n      break;\n    case 2:\n      var value = new proto.qb.smg.Error;\n      reader.readMessage(value,proto.qb.smg.Error.deserializeBinaryFromReader);\n      msg.setError(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.qb.smg.DoResetPinReply.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.qb.smg.DoResetPinReply.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.qb.smg.DoResetPinReply} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.qb.smg.DoResetPinReply.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getSuccess();\n  if (f) {\n    writer.writeBool(\n      1,\n      f\n    );\n  }\n  f = message.getError();\n  if (f != null) {\n    writer.writeMessage(\n      2,\n      f,\n      proto.qb.smg.Error.serializeBinaryToWriter\n    );\n  }\n};\n\n\n/**\n * optional bool success = 1;\n * @return {boolean}\n */\nproto.qb.smg.DoResetPinReply.prototype.getSuccess = function() {\n  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 1, false));\n};\n\n\n/**\n * @param {boolean} value\n * @return {!proto.qb.smg.DoResetPinReply} returns this\n */\nproto.qb.smg.DoResetPinReply.prototype.setSuccess = function(value) {\n  return jspb.Message.setProto3BooleanField(this, 1, value);\n};\n\n\n/**\n * optional Error error = 2;\n * @return {?proto.qb.smg.Error}\n */\nproto.qb.smg.DoResetPinReply.prototype.getError = function() {\n  return /** @type{?proto.qb.smg.Error} */ (\n    jspb.Message.getWrapperField(this, proto.qb.smg.Error, 2));\n};\n\n\n/**\n * @param {?proto.qb.smg.Error|undefined} value\n * @return {!proto.qb.smg.DoResetPinReply} returns this\n*/\nproto.qb.smg.DoResetPinReply.prototype.setError = function(value) {\n  return jspb.Message.setWrapperField(this, 2, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.qb.smg.DoResetPinReply} returns this\n */\nproto.qb.smg.DoResetPinReply.prototype.clearError = function() {\n  return this.setError(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.qb.smg.DoResetPinReply.prototype.hasError = function() {\n  return jspb.Message.getField(this, 2) != null;\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.qb.smg.RegisterUserRequest.prototype.toObject = function(opt_includeInstance) {\n  return proto.qb.smg.RegisterUserRequest.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.qb.smg.RegisterUserRequest} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.qb.smg.RegisterUserRequest.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    emailAddress: jspb.Message.getFieldWithDefault(msg, 1, \"\"),\n    otpcode: jspb.Message.getFieldWithDefault(msg, 2, \"\"),\n    username: jspb.Message.getFieldWithDefault(msg, 3, \"\"),\n    handedness: jspb.Message.getFieldWithDefault(msg, 5, \"\"),\n    phonenumber: jspb.Message.getFieldWithDefault(msg, 6, \"\"),\n    firstname: jspb.Message.getFieldWithDefault(msg, 7, \"\"),\n    middlename: jspb.Message.getFieldWithDefault(msg, 8, \"\"),\n    lastname: jspb.Message.getFieldWithDefault(msg, 9, \"\"),\n    address: jspb.Message.getFieldWithDefault(msg, 10, \"\"),\n    country: jspb.Message.getFieldWithDefault(msg, 11, \"\"),\n    state: jspb.Message.getFieldWithDefault(msg, 12, \"\"),\n    city: jspb.Message.getFieldWithDefault(msg, 13, \"\"),\n    zipcode: jspb.Message.getFieldWithDefault(msg, 14, \"\"),\n    handicap: jspb.Message.getFieldWithDefault(msg, 15, \"\"),\n    dateOfBirth: jspb.Message.getFieldWithDefault(msg, 16, \"\"),\n    preferredotpmethod: jspb.Message.getFieldWithDefault(msg, 17, 0),\n    location: (f = msg.getLocation()) && proto.qb.smg.Location.toObject(includeInstance, f),\n    venueId: jspb.Message.getFieldWithDefault(msg, 102, 0)\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.qb.smg.RegisterUserRequest}\n */\nproto.qb.smg.RegisterUserRequest.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.qb.smg.RegisterUserRequest;\n  return proto.qb.smg.RegisterUserRequest.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.qb.smg.RegisterUserRequest} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.qb.smg.RegisterUserRequest}\n */\nproto.qb.smg.RegisterUserRequest.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setEmailAddress(value);\n      break;\n    case 2:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setOtpcode(value);\n      break;\n    case 3:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setUsername(value);\n      break;\n    case 5:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setHandedness(value);\n      break;\n    case 6:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setPhonenumber(value);\n      break;\n    case 7:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setFirstname(value);\n      break;\n    case 8:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setMiddlename(value);\n      break;\n    case 9:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setLastname(value);\n      break;\n    case 10:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setAddress(value);\n      break;\n    case 11:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setCountry(value);\n      break;\n    case 12:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setState(value);\n      break;\n    case 13:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setCity(value);\n      break;\n    case 14:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setZipcode(value);\n      break;\n    case 15:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setHandicap(value);\n      break;\n    case 16:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setDateOfBirth(value);\n      break;\n    case 17:\n      var value = /** @type {!proto.qb.smg.OtpMethod} */ (reader.readEnum());\n      msg.setPreferredotpmethod(value);\n      break;\n    case 101:\n      var value = new proto.qb.smg.Location;\n      reader.readMessage(value,proto.qb.smg.Location.deserializeBinaryFromReader);\n      msg.setLocation(value);\n      break;\n    case 102:\n      var value = /** @type {number} */ (reader.readInt32());\n      msg.setVenueId(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.qb.smg.RegisterUserRequest.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.qb.smg.RegisterUserRequest.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.qb.smg.RegisterUserRequest} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.qb.smg.RegisterUserRequest.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getEmailAddress();\n  if (f.length > 0) {\n    writer.writeString(\n      1,\n      f\n    );\n  }\n  f = message.getOtpcode();\n  if (f.length > 0) {\n    writer.writeString(\n      2,\n      f\n    );\n  }\n  f = message.getUsername();\n  if (f.length > 0) {\n    writer.writeString(\n      3,\n      f\n    );\n  }\n  f = message.getHandedness();\n  if (f.length > 0) {\n    writer.writeString(\n      5,\n      f\n    );\n  }\n  f = message.getPhonenumber();\n  if (f.length > 0) {\n    writer.writeString(\n      6,\n      f\n    );\n  }\n  f = message.getFirstname();\n  if (f.length > 0) {\n    writer.writeString(\n      7,\n      f\n    );\n  }\n  f = message.getMiddlename();\n  if (f.length > 0) {\n    writer.writeString(\n      8,\n      f\n    );\n  }\n  f = message.getLastname();\n  if (f.length > 0) {\n    writer.writeString(\n      9,\n      f\n    );\n  }\n  f = message.getAddress();\n  if (f.length > 0) {\n    writer.writeString(\n      10,\n      f\n    );\n  }\n  f = message.getCountry();\n  if (f.length > 0) {\n    writer.writeString(\n      11,\n      f\n    );\n  }\n  f = message.getState();\n  if (f.length > 0) {\n    writer.writeString(\n      12,\n      f\n    );\n  }\n  f = message.getCity();\n  if (f.length > 0) {\n    writer.writeString(\n      13,\n      f\n    );\n  }\n  f = message.getZipcode();\n  if (f.length > 0) {\n    writer.writeString(\n      14,\n      f\n    );\n  }\n  f = message.getHandicap();\n  if (f.length > 0) {\n    writer.writeString(\n      15,\n      f\n    );\n  }\n  f = message.getDateOfBirth();\n  if (f.length > 0) {\n    writer.writeString(\n      16,\n      f\n    );\n  }\n  f = message.getPreferredotpmethod();\n  if (f !== 0.0) {\n    writer.writeEnum(\n      17,\n      f\n    );\n  }\n  f = message.getLocation();\n  if (f != null) {\n    writer.writeMessage(\n      101,\n      f,\n      proto.qb.smg.Location.serializeBinaryToWriter\n    );\n  }\n  f = message.getVenueId();\n  if (f !== 0) {\n    writer.writeInt32(\n      102,\n      f\n    );\n  }\n};\n\n\n/**\n * optional string email_address = 1;\n * @return {string}\n */\nproto.qb.smg.RegisterUserRequest.prototype.getEmailAddress = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.qb.smg.RegisterUserRequest} returns this\n */\nproto.qb.smg.RegisterUserRequest.prototype.setEmailAddress = function(value) {\n  return jspb.Message.setProto3StringField(this, 1, value);\n};\n\n\n/**\n * optional string otpCode = 2;\n * @return {string}\n */\nproto.qb.smg.RegisterUserRequest.prototype.getOtpcode = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.qb.smg.RegisterUserRequest} returns this\n */\nproto.qb.smg.RegisterUserRequest.prototype.setOtpcode = function(value) {\n  return jspb.Message.setProto3StringField(this, 2, value);\n};\n\n\n/**\n * optional string username = 3;\n * @return {string}\n */\nproto.qb.smg.RegisterUserRequest.prototype.getUsername = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 3, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.qb.smg.RegisterUserRequest} returns this\n */\nproto.qb.smg.RegisterUserRequest.prototype.setUsername = function(value) {\n  return jspb.Message.setProto3StringField(this, 3, value);\n};\n\n\n/**\n * optional string handedness = 5;\n * @return {string}\n */\nproto.qb.smg.RegisterUserRequest.prototype.getHandedness = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 5, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.qb.smg.RegisterUserRequest} returns this\n */\nproto.qb.smg.RegisterUserRequest.prototype.setHandedness = function(value) {\n  return jspb.Message.setProto3StringField(this, 5, value);\n};\n\n\n/**\n * optional string phoneNumber = 6;\n * @return {string}\n */\nproto.qb.smg.RegisterUserRequest.prototype.getPhonenumber = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 6, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.qb.smg.RegisterUserRequest} returns this\n */\nproto.qb.smg.RegisterUserRequest.prototype.setPhonenumber = function(value) {\n  return jspb.Message.setProto3StringField(this, 6, value);\n};\n\n\n/**\n * optional string firstname = 7;\n * @return {string}\n */\nproto.qb.smg.RegisterUserRequest.prototype.getFirstname = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 7, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.qb.smg.RegisterUserRequest} returns this\n */\nproto.qb.smg.RegisterUserRequest.prototype.setFirstname = function(value) {\n  return jspb.Message.setProto3StringField(this, 7, value);\n};\n\n\n/**\n * optional string middlename = 8;\n * @return {string}\n */\nproto.qb.smg.RegisterUserRequest.prototype.getMiddlename = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 8, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.qb.smg.RegisterUserRequest} returns this\n */\nproto.qb.smg.RegisterUserRequest.prototype.setMiddlename = function(value) {\n  return jspb.Message.setProto3StringField(this, 8, value);\n};\n\n\n/**\n * optional string lastname = 9;\n * @return {string}\n */\nproto.qb.smg.RegisterUserRequest.prototype.getLastname = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 9, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.qb.smg.RegisterUserRequest} returns this\n */\nproto.qb.smg.RegisterUserRequest.prototype.setLastname = function(value) {\n  return jspb.Message.setProto3StringField(this, 9, value);\n};\n\n\n/**\n * optional string address = 10;\n * @return {string}\n */\nproto.qb.smg.RegisterUserRequest.prototype.getAddress = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 10, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.qb.smg.RegisterUserRequest} returns this\n */\nproto.qb.smg.RegisterUserRequest.prototype.setAddress = function(value) {\n  return jspb.Message.setProto3StringField(this, 10, value);\n};\n\n\n/**\n * optional string country = 11;\n * @return {string}\n */\nproto.qb.smg.RegisterUserRequest.prototype.getCountry = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 11, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.qb.smg.RegisterUserRequest} returns this\n */\nproto.qb.smg.RegisterUserRequest.prototype.setCountry = function(value) {\n  return jspb.Message.setProto3StringField(this, 11, value);\n};\n\n\n/**\n * optional string state = 12;\n * @return {string}\n */\nproto.qb.smg.RegisterUserRequest.prototype.getState = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 12, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.qb.smg.RegisterUserRequest} returns this\n */\nproto.qb.smg.RegisterUserRequest.prototype.setState = function(value) {\n  return jspb.Message.setProto3StringField(this, 12, value);\n};\n\n\n/**\n * optional string city = 13;\n * @return {string}\n */\nproto.qb.smg.RegisterUserRequest.prototype.getCity = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 13, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.qb.smg.RegisterUserRequest} returns this\n */\nproto.qb.smg.RegisterUserRequest.prototype.setCity = function(value) {\n  return jspb.Message.setProto3StringField(this, 13, value);\n};\n\n\n/**\n * optional string zipcode = 14;\n * @return {string}\n */\nproto.qb.smg.RegisterUserRequest.prototype.getZipcode = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 14, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.qb.smg.RegisterUserRequest} returns this\n */\nproto.qb.smg.RegisterUserRequest.prototype.setZipcode = function(value) {\n  return jspb.Message.setProto3StringField(this, 14, value);\n};\n\n\n/**\n * optional string handicap = 15;\n * @return {string}\n */\nproto.qb.smg.RegisterUserRequest.prototype.getHandicap = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 15, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.qb.smg.RegisterUserRequest} returns this\n */\nproto.qb.smg.RegisterUserRequest.prototype.setHandicap = function(value) {\n  return jspb.Message.setProto3StringField(this, 15, value);\n};\n\n\n/**\n * optional string date_of_birth = 16;\n * @return {string}\n */\nproto.qb.smg.RegisterUserRequest.prototype.getDateOfBirth = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 16, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.qb.smg.RegisterUserRequest} returns this\n */\nproto.qb.smg.RegisterUserRequest.prototype.setDateOfBirth = function(value) {\n  return jspb.Message.setProto3StringField(this, 16, value);\n};\n\n\n/**\n * optional OtpMethod preferredOtpMethod = 17;\n * @return {!proto.qb.smg.OtpMethod}\n */\nproto.qb.smg.RegisterUserRequest.prototype.getPreferredotpmethod = function() {\n  return /** @type {!proto.qb.smg.OtpMethod} */ (jspb.Message.getFieldWithDefault(this, 17, 0));\n};\n\n\n/**\n * @param {!proto.qb.smg.OtpMethod} value\n * @return {!proto.qb.smg.RegisterUserRequest} returns this\n */\nproto.qb.smg.RegisterUserRequest.prototype.setPreferredotpmethod = function(value) {\n  return jspb.Message.setProto3EnumField(this, 17, value);\n};\n\n\n/**\n * optional Location location = 101;\n * @return {?proto.qb.smg.Location}\n */\nproto.qb.smg.RegisterUserRequest.prototype.getLocation = function() {\n  return /** @type{?proto.qb.smg.Location} */ (\n    jspb.Message.getWrapperField(this, proto.qb.smg.Location, 101));\n};\n\n\n/**\n * @param {?proto.qb.smg.Location|undefined} value\n * @return {!proto.qb.smg.RegisterUserRequest} returns this\n*/\nproto.qb.smg.RegisterUserRequest.prototype.setLocation = function(value) {\n  return jspb.Message.setWrapperField(this, 101, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.qb.smg.RegisterUserRequest} returns this\n */\nproto.qb.smg.RegisterUserRequest.prototype.clearLocation = function() {\n  return this.setLocation(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.qb.smg.RegisterUserRequest.prototype.hasLocation = function() {\n  return jspb.Message.getField(this, 101) != null;\n};\n\n\n/**\n * optional int32 venue_id = 102;\n * @return {number}\n */\nproto.qb.smg.RegisterUserRequest.prototype.getVenueId = function() {\n  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 102, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.qb.smg.RegisterUserRequest} returns this\n */\nproto.qb.smg.RegisterUserRequest.prototype.setVenueId = function(value) {\n  return jspb.Message.setProto3IntField(this, 102, value);\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.qb.smg.RegisterUserReply.prototype.toObject = function(opt_includeInstance) {\n  return proto.qb.smg.RegisterUserReply.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.qb.smg.RegisterUserReply} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.qb.smg.RegisterUserReply.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    success: jspb.Message.getBooleanFieldWithDefault(msg, 1, false),\n    error: (f = msg.getError()) && proto.qb.smg.Error.toObject(includeInstance, f),\n    session: (f = msg.getSession()) && proto.qb.smg.Session.toObject(includeInstance, f)\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.qb.smg.RegisterUserReply}\n */\nproto.qb.smg.RegisterUserReply.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.qb.smg.RegisterUserReply;\n  return proto.qb.smg.RegisterUserReply.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.qb.smg.RegisterUserReply} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.qb.smg.RegisterUserReply}\n */\nproto.qb.smg.RegisterUserReply.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {boolean} */ (reader.readBool());\n      msg.setSuccess(value);\n      break;\n    case 2:\n      var value = new proto.qb.smg.Error;\n      reader.readMessage(value,proto.qb.smg.Error.deserializeBinaryFromReader);\n      msg.setError(value);\n      break;\n    case 3:\n      var value = new proto.qb.smg.Session;\n      reader.readMessage(value,proto.qb.smg.Session.deserializeBinaryFromReader);\n      msg.setSession(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.qb.smg.RegisterUserReply.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.qb.smg.RegisterUserReply.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.qb.smg.RegisterUserReply} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.qb.smg.RegisterUserReply.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getSuccess();\n  if (f) {\n    writer.writeBool(\n      1,\n      f\n    );\n  }\n  f = message.getError();\n  if (f != null) {\n    writer.writeMessage(\n      2,\n      f,\n      proto.qb.smg.Error.serializeBinaryToWriter\n    );\n  }\n  f = message.getSession();\n  if (f != null) {\n    writer.writeMessage(\n      3,\n      f,\n      proto.qb.smg.Session.serializeBinaryToWriter\n    );\n  }\n};\n\n\n/**\n * optional bool success = 1;\n * @return {boolean}\n */\nproto.qb.smg.RegisterUserReply.prototype.getSuccess = function() {\n  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 1, false));\n};\n\n\n/**\n * @param {boolean} value\n * @return {!proto.qb.smg.RegisterUserReply} returns this\n */\nproto.qb.smg.RegisterUserReply.prototype.setSuccess = function(value) {\n  return jspb.Message.setProto3BooleanField(this, 1, value);\n};\n\n\n/**\n * optional Error error = 2;\n * @return {?proto.qb.smg.Error}\n */\nproto.qb.smg.RegisterUserReply.prototype.getError = function() {\n  return /** @type{?proto.qb.smg.Error} */ (\n    jspb.Message.getWrapperField(this, proto.qb.smg.Error, 2));\n};\n\n\n/**\n * @param {?proto.qb.smg.Error|undefined} value\n * @return {!proto.qb.smg.RegisterUserReply} returns this\n*/\nproto.qb.smg.RegisterUserReply.prototype.setError = function(value) {\n  return jspb.Message.setWrapperField(this, 2, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.qb.smg.RegisterUserReply} returns this\n */\nproto.qb.smg.RegisterUserReply.prototype.clearError = function() {\n  return this.setError(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.qb.smg.RegisterUserReply.prototype.hasError = function() {\n  return jspb.Message.getField(this, 2) != null;\n};\n\n\n/**\n * optional Session session = 3;\n * @return {?proto.qb.smg.Session}\n */\nproto.qb.smg.RegisterUserReply.prototype.getSession = function() {\n  return /** @type{?proto.qb.smg.Session} */ (\n    jspb.Message.getWrapperField(this, proto.qb.smg.Session, 3));\n};\n\n\n/**\n * @param {?proto.qb.smg.Session|undefined} value\n * @return {!proto.qb.smg.RegisterUserReply} returns this\n*/\nproto.qb.smg.RegisterUserReply.prototype.setSession = function(value) {\n  return jspb.Message.setWrapperField(this, 3, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.qb.smg.RegisterUserReply} returns this\n */\nproto.qb.smg.RegisterUserReply.prototype.clearSession = function() {\n  return this.setSession(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.qb.smg.RegisterUserReply.prototype.hasSession = function() {\n  return jspb.Message.getField(this, 3) != null;\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.qb.smg.LocateVenueRequest.prototype.toObject = function(opt_includeInstance) {\n  return proto.qb.smg.LocateVenueRequest.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.qb.smg.LocateVenueRequest} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.qb.smg.LocateVenueRequest.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    location: (f = msg.getLocation()) && proto.qb.smg.Location.toObject(includeInstance, f),\n    venueId: jspb.Message.getFieldWithDefault(msg, 2, 0),\n    token: jspb.Message.getFieldWithDefault(msg, 3, \"\")\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.qb.smg.LocateVenueRequest}\n */\nproto.qb.smg.LocateVenueRequest.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.qb.smg.LocateVenueRequest;\n  return proto.qb.smg.LocateVenueRequest.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.qb.smg.LocateVenueRequest} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.qb.smg.LocateVenueRequest}\n */\nproto.qb.smg.LocateVenueRequest.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = new proto.qb.smg.Location;\n      reader.readMessage(value,proto.qb.smg.Location.deserializeBinaryFromReader);\n      msg.setLocation(value);\n      break;\n    case 2:\n      var value = /** @type {number} */ (reader.readInt32());\n      msg.setVenueId(value);\n      break;\n    case 3:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setToken(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.qb.smg.LocateVenueRequest.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.qb.smg.LocateVenueRequest.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.qb.smg.LocateVenueRequest} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.qb.smg.LocateVenueRequest.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getLocation();\n  if (f != null) {\n    writer.writeMessage(\n      1,\n      f,\n      proto.qb.smg.Location.serializeBinaryToWriter\n    );\n  }\n  f = message.getVenueId();\n  if (f !== 0) {\n    writer.writeInt32(\n      2,\n      f\n    );\n  }\n  f = message.getToken();\n  if (f.length > 0) {\n    writer.writeString(\n      3,\n      f\n    );\n  }\n};\n\n\n/**\n * optional Location location = 1;\n * @return {?proto.qb.smg.Location}\n */\nproto.qb.smg.LocateVenueRequest.prototype.getLocation = function() {\n  return /** @type{?proto.qb.smg.Location} */ (\n    jspb.Message.getWrapperField(this, proto.qb.smg.Location, 1));\n};\n\n\n/**\n * @param {?proto.qb.smg.Location|undefined} value\n * @return {!proto.qb.smg.LocateVenueRequest} returns this\n*/\nproto.qb.smg.LocateVenueRequest.prototype.setLocation = function(value) {\n  return jspb.Message.setWrapperField(this, 1, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.qb.smg.LocateVenueRequest} returns this\n */\nproto.qb.smg.LocateVenueRequest.prototype.clearLocation = function() {\n  return this.setLocation(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.qb.smg.LocateVenueRequest.prototype.hasLocation = function() {\n  return jspb.Message.getField(this, 1) != null;\n};\n\n\n/**\n * optional int32 venue_id = 2;\n * @return {number}\n */\nproto.qb.smg.LocateVenueRequest.prototype.getVenueId = function() {\n  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 2, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.qb.smg.LocateVenueRequest} returns this\n */\nproto.qb.smg.LocateVenueRequest.prototype.setVenueId = function(value) {\n  return jspb.Message.setProto3IntField(this, 2, value);\n};\n\n\n/**\n * optional string token = 3;\n * @return {string}\n */\nproto.qb.smg.LocateVenueRequest.prototype.getToken = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 3, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.qb.smg.LocateVenueRequest} returns this\n */\nproto.qb.smg.LocateVenueRequest.prototype.setToken = function(value) {\n  return jspb.Message.setProto3StringField(this, 3, value);\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.qb.smg.LocateVenueReply.prototype.toObject = function(opt_includeInstance) {\n  return proto.qb.smg.LocateVenueReply.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.qb.smg.LocateVenueReply} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.qb.smg.LocateVenueReply.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    success: jspb.Message.getBooleanFieldWithDefault(msg, 1, false),\n    error: (f = msg.getError()) && proto.qb.smg.Error.toObject(includeInstance, f),\n    venueconfig: (f = msg.getVenueconfig()) && proto.qb.smg.VenueConfig.toObject(includeInstance, f)\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.qb.smg.LocateVenueReply}\n */\nproto.qb.smg.LocateVenueReply.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.qb.smg.LocateVenueReply;\n  return proto.qb.smg.LocateVenueReply.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.qb.smg.LocateVenueReply} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.qb.smg.LocateVenueReply}\n */\nproto.qb.smg.LocateVenueReply.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {boolean} */ (reader.readBool());\n      msg.setSuccess(value);\n      break;\n    case 2:\n      var value = new proto.qb.smg.Error;\n      reader.readMessage(value,proto.qb.smg.Error.deserializeBinaryFromReader);\n      msg.setError(value);\n      break;\n    case 3:\n      var value = new proto.qb.smg.VenueConfig;\n      reader.readMessage(value,proto.qb.smg.VenueConfig.deserializeBinaryFromReader);\n      msg.setVenueconfig(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.qb.smg.LocateVenueReply.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.qb.smg.LocateVenueReply.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.qb.smg.LocateVenueReply} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.qb.smg.LocateVenueReply.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getSuccess();\n  if (f) {\n    writer.writeBool(\n      1,\n      f\n    );\n  }\n  f = message.getError();\n  if (f != null) {\n    writer.writeMessage(\n      2,\n      f,\n      proto.qb.smg.Error.serializeBinaryToWriter\n    );\n  }\n  f = message.getVenueconfig();\n  if (f != null) {\n    writer.writeMessage(\n      3,\n      f,\n      proto.qb.smg.VenueConfig.serializeBinaryToWriter\n    );\n  }\n};\n\n\n/**\n * optional bool success = 1;\n * @return {boolean}\n */\nproto.qb.smg.LocateVenueReply.prototype.getSuccess = function() {\n  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 1, false));\n};\n\n\n/**\n * @param {boolean} value\n * @return {!proto.qb.smg.LocateVenueReply} returns this\n */\nproto.qb.smg.LocateVenueReply.prototype.setSuccess = function(value) {\n  return jspb.Message.setProto3BooleanField(this, 1, value);\n};\n\n\n/**\n * optional Error error = 2;\n * @return {?proto.qb.smg.Error}\n */\nproto.qb.smg.LocateVenueReply.prototype.getError = function() {\n  return /** @type{?proto.qb.smg.Error} */ (\n    jspb.Message.getWrapperField(this, proto.qb.smg.Error, 2));\n};\n\n\n/**\n * @param {?proto.qb.smg.Error|undefined} value\n * @return {!proto.qb.smg.LocateVenueReply} returns this\n*/\nproto.qb.smg.LocateVenueReply.prototype.setError = function(value) {\n  return jspb.Message.setWrapperField(this, 2, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.qb.smg.LocateVenueReply} returns this\n */\nproto.qb.smg.LocateVenueReply.prototype.clearError = function() {\n  return this.setError(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.qb.smg.LocateVenueReply.prototype.hasError = function() {\n  return jspb.Message.getField(this, 2) != null;\n};\n\n\n/**\n * optional VenueConfig venueConfig = 3;\n * @return {?proto.qb.smg.VenueConfig}\n */\nproto.qb.smg.LocateVenueReply.prototype.getVenueconfig = function() {\n  return /** @type{?proto.qb.smg.VenueConfig} */ (\n    jspb.Message.getWrapperField(this, proto.qb.smg.VenueConfig, 3));\n};\n\n\n/**\n * @param {?proto.qb.smg.VenueConfig|undefined} value\n * @return {!proto.qb.smg.LocateVenueReply} returns this\n*/\nproto.qb.smg.LocateVenueReply.prototype.setVenueconfig = function(value) {\n  return jspb.Message.setWrapperField(this, 3, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.qb.smg.LocateVenueReply} returns this\n */\nproto.qb.smg.LocateVenueReply.prototype.clearVenueconfig = function() {\n  return this.setVenueconfig(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.qb.smg.LocateVenueReply.prototype.hasVenueconfig = function() {\n  return jspb.Message.getField(this, 3) != null;\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.qb.smg.CheckUserEmailExistsRequest.prototype.toObject = function(opt_includeInstance) {\n  return proto.qb.smg.CheckUserEmailExistsRequest.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.qb.smg.CheckUserEmailExistsRequest} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.qb.smg.CheckUserEmailExistsRequest.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    emailAddress: jspb.Message.getFieldWithDefault(msg, 1, \"\"),\n    location: (f = msg.getLocation()) && proto.qb.smg.Location.toObject(includeInstance, f),\n    venueId: jspb.Message.getFieldWithDefault(msg, 102, 0)\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.qb.smg.CheckUserEmailExistsRequest}\n */\nproto.qb.smg.CheckUserEmailExistsRequest.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.qb.smg.CheckUserEmailExistsRequest;\n  return proto.qb.smg.CheckUserEmailExistsRequest.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.qb.smg.CheckUserEmailExistsRequest} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.qb.smg.CheckUserEmailExistsRequest}\n */\nproto.qb.smg.CheckUserEmailExistsRequest.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setEmailAddress(value);\n      break;\n    case 101:\n      var value = new proto.qb.smg.Location;\n      reader.readMessage(value,proto.qb.smg.Location.deserializeBinaryFromReader);\n      msg.setLocation(value);\n      break;\n    case 102:\n      var value = /** @type {number} */ (reader.readInt32());\n      msg.setVenueId(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.qb.smg.CheckUserEmailExistsRequest.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.qb.smg.CheckUserEmailExistsRequest.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.qb.smg.CheckUserEmailExistsRequest} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.qb.smg.CheckUserEmailExistsRequest.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getEmailAddress();\n  if (f.length > 0) {\n    writer.writeString(\n      1,\n      f\n    );\n  }\n  f = message.getLocation();\n  if (f != null) {\n    writer.writeMessage(\n      101,\n      f,\n      proto.qb.smg.Location.serializeBinaryToWriter\n    );\n  }\n  f = message.getVenueId();\n  if (f !== 0) {\n    writer.writeInt32(\n      102,\n      f\n    );\n  }\n};\n\n\n/**\n * optional string email_address = 1;\n * @return {string}\n */\nproto.qb.smg.CheckUserEmailExistsRequest.prototype.getEmailAddress = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.qb.smg.CheckUserEmailExistsRequest} returns this\n */\nproto.qb.smg.CheckUserEmailExistsRequest.prototype.setEmailAddress = function(value) {\n  return jspb.Message.setProto3StringField(this, 1, value);\n};\n\n\n/**\n * optional Location location = 101;\n * @return {?proto.qb.smg.Location}\n */\nproto.qb.smg.CheckUserEmailExistsRequest.prototype.getLocation = function() {\n  return /** @type{?proto.qb.smg.Location} */ (\n    jspb.Message.getWrapperField(this, proto.qb.smg.Location, 101));\n};\n\n\n/**\n * @param {?proto.qb.smg.Location|undefined} value\n * @return {!proto.qb.smg.CheckUserEmailExistsRequest} returns this\n*/\nproto.qb.smg.CheckUserEmailExistsRequest.prototype.setLocation = function(value) {\n  return jspb.Message.setWrapperField(this, 101, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.qb.smg.CheckUserEmailExistsRequest} returns this\n */\nproto.qb.smg.CheckUserEmailExistsRequest.prototype.clearLocation = function() {\n  return this.setLocation(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.qb.smg.CheckUserEmailExistsRequest.prototype.hasLocation = function() {\n  return jspb.Message.getField(this, 101) != null;\n};\n\n\n/**\n * optional int32 venue_id = 102;\n * @return {number}\n */\nproto.qb.smg.CheckUserEmailExistsRequest.prototype.getVenueId = function() {\n  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 102, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.qb.smg.CheckUserEmailExistsRequest} returns this\n */\nproto.qb.smg.CheckUserEmailExistsRequest.prototype.setVenueId = function(value) {\n  return jspb.Message.setProto3IntField(this, 102, value);\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.qb.smg.CheckUserEmailExistsReply.prototype.toObject = function(opt_includeInstance) {\n  return proto.qb.smg.CheckUserEmailExistsReply.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.qb.smg.CheckUserEmailExistsReply} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.qb.smg.CheckUserEmailExistsReply.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    success: jspb.Message.getBooleanFieldWithDefault(msg, 1, false),\n    error: (f = msg.getError()) && proto.qb.smg.Error.toObject(includeInstance, f),\n    exists: jspb.Message.getBooleanFieldWithDefault(msg, 3, false)\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.qb.smg.CheckUserEmailExistsReply}\n */\nproto.qb.smg.CheckUserEmailExistsReply.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.qb.smg.CheckUserEmailExistsReply;\n  return proto.qb.smg.CheckUserEmailExistsReply.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.qb.smg.CheckUserEmailExistsReply} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.qb.smg.CheckUserEmailExistsReply}\n */\nproto.qb.smg.CheckUserEmailExistsReply.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {boolean} */ (reader.readBool());\n      msg.setSuccess(value);\n      break;\n    case 2:\n      var value = new proto.qb.smg.Error;\n      reader.readMessage(value,proto.qb.smg.Error.deserializeBinaryFromReader);\n      msg.setError(value);\n      break;\n    case 3:\n      var value = /** @type {boolean} */ (reader.readBool());\n      msg.setExists(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.qb.smg.CheckUserEmailExistsReply.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.qb.smg.CheckUserEmailExistsReply.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.qb.smg.CheckUserEmailExistsReply} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.qb.smg.CheckUserEmailExistsReply.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getSuccess();\n  if (f) {\n    writer.writeBool(\n      1,\n      f\n    );\n  }\n  f = message.getError();\n  if (f != null) {\n    writer.writeMessage(\n      2,\n      f,\n      proto.qb.smg.Error.serializeBinaryToWriter\n    );\n  }\n  f = message.getExists();\n  if (f) {\n    writer.writeBool(\n      3,\n      f\n    );\n  }\n};\n\n\n/**\n * optional bool success = 1;\n * @return {boolean}\n */\nproto.qb.smg.CheckUserEmailExistsReply.prototype.getSuccess = function() {\n  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 1, false));\n};\n\n\n/**\n * @param {boolean} value\n * @return {!proto.qb.smg.CheckUserEmailExistsReply} returns this\n */\nproto.qb.smg.CheckUserEmailExistsReply.prototype.setSuccess = function(value) {\n  return jspb.Message.setProto3BooleanField(this, 1, value);\n};\n\n\n/**\n * optional Error error = 2;\n * @return {?proto.qb.smg.Error}\n */\nproto.qb.smg.CheckUserEmailExistsReply.prototype.getError = function() {\n  return /** @type{?proto.qb.smg.Error} */ (\n    jspb.Message.getWrapperField(this, proto.qb.smg.Error, 2));\n};\n\n\n/**\n * @param {?proto.qb.smg.Error|undefined} value\n * @return {!proto.qb.smg.CheckUserEmailExistsReply} returns this\n*/\nproto.qb.smg.CheckUserEmailExistsReply.prototype.setError = function(value) {\n  return jspb.Message.setWrapperField(this, 2, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.qb.smg.CheckUserEmailExistsReply} returns this\n */\nproto.qb.smg.CheckUserEmailExistsReply.prototype.clearError = function() {\n  return this.setError(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.qb.smg.CheckUserEmailExistsReply.prototype.hasError = function() {\n  return jspb.Message.getField(this, 2) != null;\n};\n\n\n/**\n * optional bool exists = 3;\n * @return {boolean}\n */\nproto.qb.smg.CheckUserEmailExistsReply.prototype.getExists = function() {\n  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 3, false));\n};\n\n\n/**\n * @param {boolean} value\n * @return {!proto.qb.smg.CheckUserEmailExistsReply} returns this\n */\nproto.qb.smg.CheckUserEmailExistsReply.prototype.setExists = function(value) {\n  return jspb.Message.setProto3BooleanField(this, 3, value);\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.qb.smg.ReplacePhotoRequest.prototype.toObject = function(opt_includeInstance) {\n  return proto.qb.smg.ReplacePhotoRequest.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.qb.smg.ReplacePhotoRequest} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.qb.smg.ReplacePhotoRequest.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    requestId: jspb.Message.getFieldWithDefault(msg, 1, 0),\n    playerId: jspb.Message.getFieldWithDefault(msg, 2, 0),\n    dateOfRequest: jspb.Message.getFieldWithDefault(msg, 4, 0),\n    photo: msg.getPhoto_asB64(),\n    reasonForRequest: jspb.Message.getFieldWithDefault(msg, 6, \"\"),\n    status: jspb.Message.getFieldWithDefault(msg, 7, 0),\n    csrComment: jspb.Message.getFieldWithDefault(msg, 8, \"\"),\n    csrId: jspb.Message.getFieldWithDefault(msg, 9, 0),\n    dateOfTheDecision: jspb.Message.getFieldWithDefault(msg, 10, 0)\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.qb.smg.ReplacePhotoRequest}\n */\nproto.qb.smg.ReplacePhotoRequest.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.qb.smg.ReplacePhotoRequest;\n  return proto.qb.smg.ReplacePhotoRequest.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.qb.smg.ReplacePhotoRequest} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.qb.smg.ReplacePhotoRequest}\n */\nproto.qb.smg.ReplacePhotoRequest.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {number} */ (reader.readInt64());\n      msg.setRequestId(value);\n      break;\n    case 2:\n      var value = /** @type {number} */ (reader.readInt64());\n      msg.setPlayerId(value);\n      break;\n    case 4:\n      var value = /** @type {number} */ (reader.readInt64());\n      msg.setDateOfRequest(value);\n      break;\n    case 5:\n      var value = /** @type {!Uint8Array} */ (reader.readBytes());\n      msg.setPhoto(value);\n      break;\n    case 6:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setReasonForRequest(value);\n      break;\n    case 7:\n      var value = /** @type {!proto.qb.smg.ReplacePhotoStatus} */ (reader.readEnum());\n      msg.setStatus(value);\n      break;\n    case 8:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setCsrComment(value);\n      break;\n    case 9:\n      var value = /** @type {number} */ (reader.readInt64());\n      msg.setCsrId(value);\n      break;\n    case 10:\n      var value = /** @type {number} */ (reader.readInt64());\n      msg.setDateOfTheDecision(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.qb.smg.ReplacePhotoRequest.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.qb.smg.ReplacePhotoRequest.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.qb.smg.ReplacePhotoRequest} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.qb.smg.ReplacePhotoRequest.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getRequestId();\n  if (f !== 0) {\n    writer.writeInt64(\n      1,\n      f\n    );\n  }\n  f = message.getPlayerId();\n  if (f !== 0) {\n    writer.writeInt64(\n      2,\n      f\n    );\n  }\n  f = message.getDateOfRequest();\n  if (f !== 0) {\n    writer.writeInt64(\n      4,\n      f\n    );\n  }\n  f = message.getPhoto_asU8();\n  if (f.length > 0) {\n    writer.writeBytes(\n      5,\n      f\n    );\n  }\n  f = message.getReasonForRequest();\n  if (f.length > 0) {\n    writer.writeString(\n      6,\n      f\n    );\n  }\n  f = message.getStatus();\n  if (f !== 0.0) {\n    writer.writeEnum(\n      7,\n      f\n    );\n  }\n  f = message.getCsrComment();\n  if (f.length > 0) {\n    writer.writeString(\n      8,\n      f\n    );\n  }\n  f = message.getCsrId();\n  if (f !== 0) {\n    writer.writeInt64(\n      9,\n      f\n    );\n  }\n  f = message.getDateOfTheDecision();\n  if (f !== 0) {\n    writer.writeInt64(\n      10,\n      f\n    );\n  }\n};\n\n\n/**\n * optional int64 request_id = 1;\n * @return {number}\n */\nproto.qb.smg.ReplacePhotoRequest.prototype.getRequestId = function() {\n  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.qb.smg.ReplacePhotoRequest} returns this\n */\nproto.qb.smg.ReplacePhotoRequest.prototype.setRequestId = function(value) {\n  return jspb.Message.setProto3IntField(this, 1, value);\n};\n\n\n/**\n * optional int64 player_id = 2;\n * @return {number}\n */\nproto.qb.smg.ReplacePhotoRequest.prototype.getPlayerId = function() {\n  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 2, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.qb.smg.ReplacePhotoRequest} returns this\n */\nproto.qb.smg.ReplacePhotoRequest.prototype.setPlayerId = function(value) {\n  return jspb.Message.setProto3IntField(this, 2, value);\n};\n\n\n/**\n * optional int64 date_of_request = 4;\n * @return {number}\n */\nproto.qb.smg.ReplacePhotoRequest.prototype.getDateOfRequest = function() {\n  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 4, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.qb.smg.ReplacePhotoRequest} returns this\n */\nproto.qb.smg.ReplacePhotoRequest.prototype.setDateOfRequest = function(value) {\n  return jspb.Message.setProto3IntField(this, 4, value);\n};\n\n\n/**\n * optional bytes photo = 5;\n * @return {!(string|Uint8Array)}\n */\nproto.qb.smg.ReplacePhotoRequest.prototype.getPhoto = function() {\n  return /** @type {!(string|Uint8Array)} */ (jspb.Message.getFieldWithDefault(this, 5, \"\"));\n};\n\n\n/**\n * optional bytes photo = 5;\n * This is a type-conversion wrapper around `getPhoto()`\n * @return {string}\n */\nproto.qb.smg.ReplacePhotoRequest.prototype.getPhoto_asB64 = function() {\n  return /** @type {string} */ (jspb.Message.bytesAsB64(\n      this.getPhoto()));\n};\n\n\n/**\n * optional bytes photo = 5;\n * Note that Uint8Array is not supported on all browsers.\n * @see http://caniuse.com/Uint8Array\n * This is a type-conversion wrapper around `getPhoto()`\n * @return {!Uint8Array}\n */\nproto.qb.smg.ReplacePhotoRequest.prototype.getPhoto_asU8 = function() {\n  return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8(\n      this.getPhoto()));\n};\n\n\n/**\n * @param {!(string|Uint8Array)} value\n * @return {!proto.qb.smg.ReplacePhotoRequest} returns this\n */\nproto.qb.smg.ReplacePhotoRequest.prototype.setPhoto = function(value) {\n  return jspb.Message.setProto3BytesField(this, 5, value);\n};\n\n\n/**\n * optional string reason_for_request = 6;\n * @return {string}\n */\nproto.qb.smg.ReplacePhotoRequest.prototype.getReasonForRequest = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 6, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.qb.smg.ReplacePhotoRequest} returns this\n */\nproto.qb.smg.ReplacePhotoRequest.prototype.setReasonForRequest = function(value) {\n  return jspb.Message.setProto3StringField(this, 6, value);\n};\n\n\n/**\n * optional ReplacePhotoStatus status = 7;\n * @return {!proto.qb.smg.ReplacePhotoStatus}\n */\nproto.qb.smg.ReplacePhotoRequest.prototype.getStatus = function() {\n  return /** @type {!proto.qb.smg.ReplacePhotoStatus} */ (jspb.Message.getFieldWithDefault(this, 7, 0));\n};\n\n\n/**\n * @param {!proto.qb.smg.ReplacePhotoStatus} value\n * @return {!proto.qb.smg.ReplacePhotoRequest} returns this\n */\nproto.qb.smg.ReplacePhotoRequest.prototype.setStatus = function(value) {\n  return jspb.Message.setProto3EnumField(this, 7, value);\n};\n\n\n/**\n * optional string csr_comment = 8;\n * @return {string}\n */\nproto.qb.smg.ReplacePhotoRequest.prototype.getCsrComment = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 8, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.qb.smg.ReplacePhotoRequest} returns this\n */\nproto.qb.smg.ReplacePhotoRequest.prototype.setCsrComment = function(value) {\n  return jspb.Message.setProto3StringField(this, 8, value);\n};\n\n\n/**\n * optional int64 csr_id = 9;\n * @return {number}\n */\nproto.qb.smg.ReplacePhotoRequest.prototype.getCsrId = function() {\n  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 9, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.qb.smg.ReplacePhotoRequest} returns this\n */\nproto.qb.smg.ReplacePhotoRequest.prototype.setCsrId = function(value) {\n  return jspb.Message.setProto3IntField(this, 9, value);\n};\n\n\n/**\n * optional int64 date_of_the_decision = 10;\n * @return {number}\n */\nproto.qb.smg.ReplacePhotoRequest.prototype.getDateOfTheDecision = function() {\n  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 10, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.qb.smg.ReplacePhotoRequest} returns this\n */\nproto.qb.smg.ReplacePhotoRequest.prototype.setDateOfTheDecision = function(value) {\n  return jspb.Message.setProto3IntField(this, 10, value);\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.qb.smg.RequestChangePhotoRequest.prototype.toObject = function(opt_includeInstance) {\n  return proto.qb.smg.RequestChangePhotoRequest.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.qb.smg.RequestChangePhotoRequest} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.qb.smg.RequestChangePhotoRequest.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    token: jspb.Message.getFieldWithDefault(msg, 1, \"\"),\n    photo: msg.getPhoto_asB64(),\n    reasonForRequest: jspb.Message.getFieldWithDefault(msg, 3, \"\"),\n    location: (f = msg.getLocation()) && proto.qb.smg.Location.toObject(includeInstance, f),\n    venueId: jspb.Message.getFieldWithDefault(msg, 102, 0)\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.qb.smg.RequestChangePhotoRequest}\n */\nproto.qb.smg.RequestChangePhotoRequest.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.qb.smg.RequestChangePhotoRequest;\n  return proto.qb.smg.RequestChangePhotoRequest.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.qb.smg.RequestChangePhotoRequest} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.qb.smg.RequestChangePhotoRequest}\n */\nproto.qb.smg.RequestChangePhotoRequest.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setToken(value);\n      break;\n    case 2:\n      var value = /** @type {!Uint8Array} */ (reader.readBytes());\n      msg.setPhoto(value);\n      break;\n    case 3:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setReasonForRequest(value);\n      break;\n    case 101:\n      var value = new proto.qb.smg.Location;\n      reader.readMessage(value,proto.qb.smg.Location.deserializeBinaryFromReader);\n      msg.setLocation(value);\n      break;\n    case 102:\n      var value = /** @type {number} */ (reader.readInt32());\n      msg.setVenueId(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.qb.smg.RequestChangePhotoRequest.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.qb.smg.RequestChangePhotoRequest.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.qb.smg.RequestChangePhotoRequest} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.qb.smg.RequestChangePhotoRequest.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getToken();\n  if (f.length > 0) {\n    writer.writeString(\n      1,\n      f\n    );\n  }\n  f = message.getPhoto_asU8();\n  if (f.length > 0) {\n    writer.writeBytes(\n      2,\n      f\n    );\n  }\n  f = message.getReasonForRequest();\n  if (f.length > 0) {\n    writer.writeString(\n      3,\n      f\n    );\n  }\n  f = message.getLocation();\n  if (f != null) {\n    writer.writeMessage(\n      101,\n      f,\n      proto.qb.smg.Location.serializeBinaryToWriter\n    );\n  }\n  f = message.getVenueId();\n  if (f !== 0) {\n    writer.writeInt32(\n      102,\n      f\n    );\n  }\n};\n\n\n/**\n * optional string token = 1;\n * @return {string}\n */\nproto.qb.smg.RequestChangePhotoRequest.prototype.getToken = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.qb.smg.RequestChangePhotoRequest} returns this\n */\nproto.qb.smg.RequestChangePhotoRequest.prototype.setToken = function(value) {\n  return jspb.Message.setProto3StringField(this, 1, value);\n};\n\n\n/**\n * optional bytes photo = 2;\n * @return {!(string|Uint8Array)}\n */\nproto.qb.smg.RequestChangePhotoRequest.prototype.getPhoto = function() {\n  return /** @type {!(string|Uint8Array)} */ (jspb.Message.getFieldWithDefault(this, 2, \"\"));\n};\n\n\n/**\n * optional bytes photo = 2;\n * This is a type-conversion wrapper around `getPhoto()`\n * @return {string}\n */\nproto.qb.smg.RequestChangePhotoRequest.prototype.getPhoto_asB64 = function() {\n  return /** @type {string} */ (jspb.Message.bytesAsB64(\n      this.getPhoto()));\n};\n\n\n/**\n * optional bytes photo = 2;\n * Note that Uint8Array is not supported on all browsers.\n * @see http://caniuse.com/Uint8Array\n * This is a type-conversion wrapper around `getPhoto()`\n * @return {!Uint8Array}\n */\nproto.qb.smg.RequestChangePhotoRequest.prototype.getPhoto_asU8 = function() {\n  return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8(\n      this.getPhoto()));\n};\n\n\n/**\n * @param {!(string|Uint8Array)} value\n * @return {!proto.qb.smg.RequestChangePhotoRequest} returns this\n */\nproto.qb.smg.RequestChangePhotoRequest.prototype.setPhoto = function(value) {\n  return jspb.Message.setProto3BytesField(this, 2, value);\n};\n\n\n/**\n * optional string reason_for_request = 3;\n * @return {string}\n */\nproto.qb.smg.RequestChangePhotoRequest.prototype.getReasonForRequest = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 3, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.qb.smg.RequestChangePhotoRequest} returns this\n */\nproto.qb.smg.RequestChangePhotoRequest.prototype.setReasonForRequest = function(value) {\n  return jspb.Message.setProto3StringField(this, 3, value);\n};\n\n\n/**\n * optional Location location = 101;\n * @return {?proto.qb.smg.Location}\n */\nproto.qb.smg.RequestChangePhotoRequest.prototype.getLocation = function() {\n  return /** @type{?proto.qb.smg.Location} */ (\n    jspb.Message.getWrapperField(this, proto.qb.smg.Location, 101));\n};\n\n\n/**\n * @param {?proto.qb.smg.Location|undefined} value\n * @return {!proto.qb.smg.RequestChangePhotoRequest} returns this\n*/\nproto.qb.smg.RequestChangePhotoRequest.prototype.setLocation = function(value) {\n  return jspb.Message.setWrapperField(this, 101, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.qb.smg.RequestChangePhotoRequest} returns this\n */\nproto.qb.smg.RequestChangePhotoRequest.prototype.clearLocation = function() {\n  return this.setLocation(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.qb.smg.RequestChangePhotoRequest.prototype.hasLocation = function() {\n  return jspb.Message.getField(this, 101) != null;\n};\n\n\n/**\n * optional int32 venue_id = 102;\n * @return {number}\n */\nproto.qb.smg.RequestChangePhotoRequest.prototype.getVenueId = function() {\n  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 102, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.qb.smg.RequestChangePhotoRequest} returns this\n */\nproto.qb.smg.RequestChangePhotoRequest.prototype.setVenueId = function(value) {\n  return jspb.Message.setProto3IntField(this, 102, value);\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.qb.smg.RequestChangePhotoReply.prototype.toObject = function(opt_includeInstance) {\n  return proto.qb.smg.RequestChangePhotoReply.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.qb.smg.RequestChangePhotoReply} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.qb.smg.RequestChangePhotoReply.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    success: jspb.Message.getBooleanFieldWithDefault(msg, 1, false),\n    error: (f = msg.getError()) && proto.qb.smg.Error.toObject(includeInstance, f),\n    replacephotorequest: (f = msg.getReplacephotorequest()) && proto.qb.smg.ReplacePhotoRequest.toObject(includeInstance, f)\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.qb.smg.RequestChangePhotoReply}\n */\nproto.qb.smg.RequestChangePhotoReply.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.qb.smg.RequestChangePhotoReply;\n  return proto.qb.smg.RequestChangePhotoReply.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.qb.smg.RequestChangePhotoReply} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.qb.smg.RequestChangePhotoReply}\n */\nproto.qb.smg.RequestChangePhotoReply.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {boolean} */ (reader.readBool());\n      msg.setSuccess(value);\n      break;\n    case 2:\n      var value = new proto.qb.smg.Error;\n      reader.readMessage(value,proto.qb.smg.Error.deserializeBinaryFromReader);\n      msg.setError(value);\n      break;\n    case 3:\n      var value = new proto.qb.smg.ReplacePhotoRequest;\n      reader.readMessage(value,proto.qb.smg.ReplacePhotoRequest.deserializeBinaryFromReader);\n      msg.setReplacephotorequest(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.qb.smg.RequestChangePhotoReply.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.qb.smg.RequestChangePhotoReply.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.qb.smg.RequestChangePhotoReply} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.qb.smg.RequestChangePhotoReply.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getSuccess();\n  if (f) {\n    writer.writeBool(\n      1,\n      f\n    );\n  }\n  f = message.getError();\n  if (f != null) {\n    writer.writeMessage(\n      2,\n      f,\n      proto.qb.smg.Error.serializeBinaryToWriter\n    );\n  }\n  f = message.getReplacephotorequest();\n  if (f != null) {\n    writer.writeMessage(\n      3,\n      f,\n      proto.qb.smg.ReplacePhotoRequest.serializeBinaryToWriter\n    );\n  }\n};\n\n\n/**\n * optional bool success = 1;\n * @return {boolean}\n */\nproto.qb.smg.RequestChangePhotoReply.prototype.getSuccess = function() {\n  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 1, false));\n};\n\n\n/**\n * @param {boolean} value\n * @return {!proto.qb.smg.RequestChangePhotoReply} returns this\n */\nproto.qb.smg.RequestChangePhotoReply.prototype.setSuccess = function(value) {\n  return jspb.Message.setProto3BooleanField(this, 1, value);\n};\n\n\n/**\n * optional Error error = 2;\n * @return {?proto.qb.smg.Error}\n */\nproto.qb.smg.RequestChangePhotoReply.prototype.getError = function() {\n  return /** @type{?proto.qb.smg.Error} */ (\n    jspb.Message.getWrapperField(this, proto.qb.smg.Error, 2));\n};\n\n\n/**\n * @param {?proto.qb.smg.Error|undefined} value\n * @return {!proto.qb.smg.RequestChangePhotoReply} returns this\n*/\nproto.qb.smg.RequestChangePhotoReply.prototype.setError = function(value) {\n  return jspb.Message.setWrapperField(this, 2, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.qb.smg.RequestChangePhotoReply} returns this\n */\nproto.qb.smg.RequestChangePhotoReply.prototype.clearError = function() {\n  return this.setError(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.qb.smg.RequestChangePhotoReply.prototype.hasError = function() {\n  return jspb.Message.getField(this, 2) != null;\n};\n\n\n/**\n * optional ReplacePhotoRequest replacePhotoRequest = 3;\n * @return {?proto.qb.smg.ReplacePhotoRequest}\n */\nproto.qb.smg.RequestChangePhotoReply.prototype.getReplacephotorequest = function() {\n  return /** @type{?proto.qb.smg.ReplacePhotoRequest} */ (\n    jspb.Message.getWrapperField(this, proto.qb.smg.ReplacePhotoRequest, 3));\n};\n\n\n/**\n * @param {?proto.qb.smg.ReplacePhotoRequest|undefined} value\n * @return {!proto.qb.smg.RequestChangePhotoReply} returns this\n*/\nproto.qb.smg.RequestChangePhotoReply.prototype.setReplacephotorequest = function(value) {\n  return jspb.Message.setWrapperField(this, 3, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.qb.smg.RequestChangePhotoReply} returns this\n */\nproto.qb.smg.RequestChangePhotoReply.prototype.clearReplacephotorequest = function() {\n  return this.setReplacephotorequest(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.qb.smg.RequestChangePhotoReply.prototype.hasReplacephotorequest = function() {\n  return jspb.Message.getField(this, 3) != null;\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.qb.smg.GetChangePhotoRequestsRequest.prototype.toObject = function(opt_includeInstance) {\n  return proto.qb.smg.GetChangePhotoRequestsRequest.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.qb.smg.GetChangePhotoRequestsRequest} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.qb.smg.GetChangePhotoRequestsRequest.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    requestId: jspb.Message.getFieldWithDefault(msg, 1, 0),\n    playerId: jspb.Message.getFieldWithDefault(msg, 2, 0),\n    dateStart: jspb.Message.getFieldWithDefault(msg, 3, 0),\n    dateEnd: jspb.Message.getFieldWithDefault(msg, 4, 0),\n    status: jspb.Message.getFieldWithDefault(msg, 5, 0),\n    token: jspb.Message.getFieldWithDefault(msg, 6, \"\"),\n    location: (f = msg.getLocation()) && proto.qb.smg.Location.toObject(includeInstance, f),\n    venueId: jspb.Message.getFieldWithDefault(msg, 102, 0)\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.qb.smg.GetChangePhotoRequestsRequest}\n */\nproto.qb.smg.GetChangePhotoRequestsRequest.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.qb.smg.GetChangePhotoRequestsRequest;\n  return proto.qb.smg.GetChangePhotoRequestsRequest.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.qb.smg.GetChangePhotoRequestsRequest} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.qb.smg.GetChangePhotoRequestsRequest}\n */\nproto.qb.smg.GetChangePhotoRequestsRequest.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {number} */ (reader.readInt64());\n      msg.setRequestId(value);\n      break;\n    case 2:\n      var value = /** @type {number} */ (reader.readInt64());\n      msg.setPlayerId(value);\n      break;\n    case 3:\n      var value = /** @type {number} */ (reader.readInt64());\n      msg.setDateStart(value);\n      break;\n    case 4:\n      var value = /** @type {number} */ (reader.readInt64());\n      msg.setDateEnd(value);\n      break;\n    case 5:\n      var value = /** @type {!proto.qb.smg.ReplacePhotoStatus} */ (reader.readEnum());\n      msg.setStatus(value);\n      break;\n    case 6:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setToken(value);\n      break;\n    case 101:\n      var value = new proto.qb.smg.Location;\n      reader.readMessage(value,proto.qb.smg.Location.deserializeBinaryFromReader);\n      msg.setLocation(value);\n      break;\n    case 102:\n      var value = /** @type {number} */ (reader.readInt32());\n      msg.setVenueId(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.qb.smg.GetChangePhotoRequestsRequest.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.qb.smg.GetChangePhotoRequestsRequest.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.qb.smg.GetChangePhotoRequestsRequest} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.qb.smg.GetChangePhotoRequestsRequest.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getRequestId();\n  if (f !== 0) {\n    writer.writeInt64(\n      1,\n      f\n    );\n  }\n  f = message.getPlayerId();\n  if (f !== 0) {\n    writer.writeInt64(\n      2,\n      f\n    );\n  }\n  f = message.getDateStart();\n  if (f !== 0) {\n    writer.writeInt64(\n      3,\n      f\n    );\n  }\n  f = message.getDateEnd();\n  if (f !== 0) {\n    writer.writeInt64(\n      4,\n      f\n    );\n  }\n  f = message.getStatus();\n  if (f !== 0.0) {\n    writer.writeEnum(\n      5,\n      f\n    );\n  }\n  f = message.getToken();\n  if (f.length > 0) {\n    writer.writeString(\n      6,\n      f\n    );\n  }\n  f = message.getLocation();\n  if (f != null) {\n    writer.writeMessage(\n      101,\n      f,\n      proto.qb.smg.Location.serializeBinaryToWriter\n    );\n  }\n  f = message.getVenueId();\n  if (f !== 0) {\n    writer.writeInt32(\n      102,\n      f\n    );\n  }\n};\n\n\n/**\n * optional int64 request_id = 1;\n * @return {number}\n */\nproto.qb.smg.GetChangePhotoRequestsRequest.prototype.getRequestId = function() {\n  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.qb.smg.GetChangePhotoRequestsRequest} returns this\n */\nproto.qb.smg.GetChangePhotoRequestsRequest.prototype.setRequestId = function(value) {\n  return jspb.Message.setProto3IntField(this, 1, value);\n};\n\n\n/**\n * optional int64 player_id = 2;\n * @return {number}\n */\nproto.qb.smg.GetChangePhotoRequestsRequest.prototype.getPlayerId = function() {\n  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 2, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.qb.smg.GetChangePhotoRequestsRequest} returns this\n */\nproto.qb.smg.GetChangePhotoRequestsRequest.prototype.setPlayerId = function(value) {\n  return jspb.Message.setProto3IntField(this, 2, value);\n};\n\n\n/**\n * optional int64 date_start = 3;\n * @return {number}\n */\nproto.qb.smg.GetChangePhotoRequestsRequest.prototype.getDateStart = function() {\n  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 3, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.qb.smg.GetChangePhotoRequestsRequest} returns this\n */\nproto.qb.smg.GetChangePhotoRequestsRequest.prototype.setDateStart = function(value) {\n  return jspb.Message.setProto3IntField(this, 3, value);\n};\n\n\n/**\n * optional int64 date_end = 4;\n * @return {number}\n */\nproto.qb.smg.GetChangePhotoRequestsRequest.prototype.getDateEnd = function() {\n  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 4, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.qb.smg.GetChangePhotoRequestsRequest} returns this\n */\nproto.qb.smg.GetChangePhotoRequestsRequest.prototype.setDateEnd = function(value) {\n  return jspb.Message.setProto3IntField(this, 4, value);\n};\n\n\n/**\n * optional ReplacePhotoStatus status = 5;\n * @return {!proto.qb.smg.ReplacePhotoStatus}\n */\nproto.qb.smg.GetChangePhotoRequestsRequest.prototype.getStatus = function() {\n  return /** @type {!proto.qb.smg.ReplacePhotoStatus} */ (jspb.Message.getFieldWithDefault(this, 5, 0));\n};\n\n\n/**\n * @param {!proto.qb.smg.ReplacePhotoStatus} value\n * @return {!proto.qb.smg.GetChangePhotoRequestsRequest} returns this\n */\nproto.qb.smg.GetChangePhotoRequestsRequest.prototype.setStatus = function(value) {\n  return jspb.Message.setProto3EnumField(this, 5, value);\n};\n\n\n/**\n * optional string token = 6;\n * @return {string}\n */\nproto.qb.smg.GetChangePhotoRequestsRequest.prototype.getToken = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 6, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.qb.smg.GetChangePhotoRequestsRequest} returns this\n */\nproto.qb.smg.GetChangePhotoRequestsRequest.prototype.setToken = function(value) {\n  return jspb.Message.setProto3StringField(this, 6, value);\n};\n\n\n/**\n * optional Location location = 101;\n * @return {?proto.qb.smg.Location}\n */\nproto.qb.smg.GetChangePhotoRequestsRequest.prototype.getLocation = function() {\n  return /** @type{?proto.qb.smg.Location} */ (\n    jspb.Message.getWrapperField(this, proto.qb.smg.Location, 101));\n};\n\n\n/**\n * @param {?proto.qb.smg.Location|undefined} value\n * @return {!proto.qb.smg.GetChangePhotoRequestsRequest} returns this\n*/\nproto.qb.smg.GetChangePhotoRequestsRequest.prototype.setLocation = function(value) {\n  return jspb.Message.setWrapperField(this, 101, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.qb.smg.GetChangePhotoRequestsRequest} returns this\n */\nproto.qb.smg.GetChangePhotoRequestsRequest.prototype.clearLocation = function() {\n  return this.setLocation(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.qb.smg.GetChangePhotoRequestsRequest.prototype.hasLocation = function() {\n  return jspb.Message.getField(this, 101) != null;\n};\n\n\n/**\n * optional int32 venue_id = 102;\n * @return {number}\n */\nproto.qb.smg.GetChangePhotoRequestsRequest.prototype.getVenueId = function() {\n  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 102, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.qb.smg.GetChangePhotoRequestsRequest} returns this\n */\nproto.qb.smg.GetChangePhotoRequestsRequest.prototype.setVenueId = function(value) {\n  return jspb.Message.setProto3IntField(this, 102, value);\n};\n\n\n\n/**\n * List of repeated fields within this message type.\n * @private {!Array<number>}\n * @const\n */\nproto.qb.smg.GetChangePhotoRequestsReply.repeatedFields_ = [3];\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.qb.smg.GetChangePhotoRequestsReply.prototype.toObject = function(opt_includeInstance) {\n  return proto.qb.smg.GetChangePhotoRequestsReply.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.qb.smg.GetChangePhotoRequestsReply} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.qb.smg.GetChangePhotoRequestsReply.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    success: jspb.Message.getBooleanFieldWithDefault(msg, 1, false),\n    error: (f = msg.getError()) && proto.qb.smg.Error.toObject(includeInstance, f),\n    replacePhotoRequestsList: jspb.Message.toObjectList(msg.getReplacePhotoRequestsList(),\n    proto.qb.smg.ReplacePhotoRequest.toObject, includeInstance)\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.qb.smg.GetChangePhotoRequestsReply}\n */\nproto.qb.smg.GetChangePhotoRequestsReply.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.qb.smg.GetChangePhotoRequestsReply;\n  return proto.qb.smg.GetChangePhotoRequestsReply.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.qb.smg.GetChangePhotoRequestsReply} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.qb.smg.GetChangePhotoRequestsReply}\n */\nproto.qb.smg.GetChangePhotoRequestsReply.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {boolean} */ (reader.readBool());\n      msg.setSuccess(value);\n      break;\n    case 2:\n      var value = new proto.qb.smg.Error;\n      reader.readMessage(value,proto.qb.smg.Error.deserializeBinaryFromReader);\n      msg.setError(value);\n      break;\n    case 3:\n      var value = new proto.qb.smg.ReplacePhotoRequest;\n      reader.readMessage(value,proto.qb.smg.ReplacePhotoRequest.deserializeBinaryFromReader);\n      msg.addReplacePhotoRequests(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.qb.smg.GetChangePhotoRequestsReply.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.qb.smg.GetChangePhotoRequestsReply.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.qb.smg.GetChangePhotoRequestsReply} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.qb.smg.GetChangePhotoRequestsReply.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getSuccess();\n  if (f) {\n    writer.writeBool(\n      1,\n      f\n    );\n  }\n  f = message.getError();\n  if (f != null) {\n    writer.writeMessage(\n      2,\n      f,\n      proto.qb.smg.Error.serializeBinaryToWriter\n    );\n  }\n  f = message.getReplacePhotoRequestsList();\n  if (f.length > 0) {\n    writer.writeRepeatedMessage(\n      3,\n      f,\n      proto.qb.smg.ReplacePhotoRequest.serializeBinaryToWriter\n    );\n  }\n};\n\n\n/**\n * optional bool success = 1;\n * @return {boolean}\n */\nproto.qb.smg.GetChangePhotoRequestsReply.prototype.getSuccess = function() {\n  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 1, false));\n};\n\n\n/**\n * @param {boolean} value\n * @return {!proto.qb.smg.GetChangePhotoRequestsReply} returns this\n */\nproto.qb.smg.GetChangePhotoRequestsReply.prototype.setSuccess = function(value) {\n  return jspb.Message.setProto3BooleanField(this, 1, value);\n};\n\n\n/**\n * optional Error error = 2;\n * @return {?proto.qb.smg.Error}\n */\nproto.qb.smg.GetChangePhotoRequestsReply.prototype.getError = function() {\n  return /** @type{?proto.qb.smg.Error} */ (\n    jspb.Message.getWrapperField(this, proto.qb.smg.Error, 2));\n};\n\n\n/**\n * @param {?proto.qb.smg.Error|undefined} value\n * @return {!proto.qb.smg.GetChangePhotoRequestsReply} returns this\n*/\nproto.qb.smg.GetChangePhotoRequestsReply.prototype.setError = function(value) {\n  return jspb.Message.setWrapperField(this, 2, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.qb.smg.GetChangePhotoRequestsReply} returns this\n */\nproto.qb.smg.GetChangePhotoRequestsReply.prototype.clearError = function() {\n  return this.setError(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.qb.smg.GetChangePhotoRequestsReply.prototype.hasError = function() {\n  return jspb.Message.getField(this, 2) != null;\n};\n\n\n/**\n * repeated ReplacePhotoRequest replace_photo_requests = 3;\n * @return {!Array<!proto.qb.smg.ReplacePhotoRequest>}\n */\nproto.qb.smg.GetChangePhotoRequestsReply.prototype.getReplacePhotoRequestsList = function() {\n  return /** @type{!Array<!proto.qb.smg.ReplacePhotoRequest>} */ (\n    jspb.Message.getRepeatedWrapperField(this, proto.qb.smg.ReplacePhotoRequest, 3));\n};\n\n\n/**\n * @param {!Array<!proto.qb.smg.ReplacePhotoRequest>} value\n * @return {!proto.qb.smg.GetChangePhotoRequestsReply} returns this\n*/\nproto.qb.smg.GetChangePhotoRequestsReply.prototype.setReplacePhotoRequestsList = function(value) {\n  return jspb.Message.setRepeatedWrapperField(this, 3, value);\n};\n\n\n/**\n * @param {!proto.qb.smg.ReplacePhotoRequest=} opt_value\n * @param {number=} opt_index\n * @return {!proto.qb.smg.ReplacePhotoRequest}\n */\nproto.qb.smg.GetChangePhotoRequestsReply.prototype.addReplacePhotoRequests = function(opt_value, opt_index) {\n  return jspb.Message.addToRepeatedWrapperField(this, 3, opt_value, proto.qb.smg.ReplacePhotoRequest, opt_index);\n};\n\n\n/**\n * Clears the list making it empty but non-null.\n * @return {!proto.qb.smg.GetChangePhotoRequestsReply} returns this\n */\nproto.qb.smg.GetChangePhotoRequestsReply.prototype.clearReplacePhotoRequestsList = function() {\n  return this.setReplacePhotoRequestsList([]);\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.qb.smg.ApproveChangePhotoRequestRequest.prototype.toObject = function(opt_includeInstance) {\n  return proto.qb.smg.ApproveChangePhotoRequestRequest.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.qb.smg.ApproveChangePhotoRequestRequest} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.qb.smg.ApproveChangePhotoRequestRequest.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    requestId: jspb.Message.getFieldWithDefault(msg, 1, 0),\n    csrId: jspb.Message.getFieldWithDefault(msg, 2, 0),\n    commentFromCsr: jspb.Message.getFieldWithDefault(msg, 3, \"\"),\n    approved: jspb.Message.getBooleanFieldWithDefault(msg, 4, false),\n    token: jspb.Message.getFieldWithDefault(msg, 5, \"\"),\n    location: (f = msg.getLocation()) && proto.qb.smg.Location.toObject(includeInstance, f),\n    venueId: jspb.Message.getFieldWithDefault(msg, 102, 0)\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.qb.smg.ApproveChangePhotoRequestRequest}\n */\nproto.qb.smg.ApproveChangePhotoRequestRequest.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.qb.smg.ApproveChangePhotoRequestRequest;\n  return proto.qb.smg.ApproveChangePhotoRequestRequest.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.qb.smg.ApproveChangePhotoRequestRequest} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.qb.smg.ApproveChangePhotoRequestRequest}\n */\nproto.qb.smg.ApproveChangePhotoRequestRequest.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {number} */ (reader.readInt64());\n      msg.setRequestId(value);\n      break;\n    case 2:\n      var value = /** @type {number} */ (reader.readInt64());\n      msg.setCsrId(value);\n      break;\n    case 3:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setCommentFromCsr(value);\n      break;\n    case 4:\n      var value = /** @type {boolean} */ (reader.readBool());\n      msg.setApproved(value);\n      break;\n    case 5:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setToken(value);\n      break;\n    case 101:\n      var value = new proto.qb.smg.Location;\n      reader.readMessage(value,proto.qb.smg.Location.deserializeBinaryFromReader);\n      msg.setLocation(value);\n      break;\n    case 102:\n      var value = /** @type {number} */ (reader.readInt32());\n      msg.setVenueId(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.qb.smg.ApproveChangePhotoRequestRequest.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.qb.smg.ApproveChangePhotoRequestRequest.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.qb.smg.ApproveChangePhotoRequestRequest} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.qb.smg.ApproveChangePhotoRequestRequest.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getRequestId();\n  if (f !== 0) {\n    writer.writeInt64(\n      1,\n      f\n    );\n  }\n  f = message.getCsrId();\n  if (f !== 0) {\n    writer.writeInt64(\n      2,\n      f\n    );\n  }\n  f = message.getCommentFromCsr();\n  if (f.length > 0) {\n    writer.writeString(\n      3,\n      f\n    );\n  }\n  f = message.getApproved();\n  if (f) {\n    writer.writeBool(\n      4,\n      f\n    );\n  }\n  f = message.getToken();\n  if (f.length > 0) {\n    writer.writeString(\n      5,\n      f\n    );\n  }\n  f = message.getLocation();\n  if (f != null) {\n    writer.writeMessage(\n      101,\n      f,\n      proto.qb.smg.Location.serializeBinaryToWriter\n    );\n  }\n  f = message.getVenueId();\n  if (f !== 0) {\n    writer.writeInt32(\n      102,\n      f\n    );\n  }\n};\n\n\n/**\n * optional int64 request_id = 1;\n * @return {number}\n */\nproto.qb.smg.ApproveChangePhotoRequestRequest.prototype.getRequestId = function() {\n  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.qb.smg.ApproveChangePhotoRequestRequest} returns this\n */\nproto.qb.smg.ApproveChangePhotoRequestRequest.prototype.setRequestId = function(value) {\n  return jspb.Message.setProto3IntField(this, 1, value);\n};\n\n\n/**\n * optional int64 csr_id = 2;\n * @return {number}\n */\nproto.qb.smg.ApproveChangePhotoRequestRequest.prototype.getCsrId = function() {\n  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 2, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.qb.smg.ApproveChangePhotoRequestRequest} returns this\n */\nproto.qb.smg.ApproveChangePhotoRequestRequest.prototype.setCsrId = function(value) {\n  return jspb.Message.setProto3IntField(this, 2, value);\n};\n\n\n/**\n * optional string comment_from_csr = 3;\n * @return {string}\n */\nproto.qb.smg.ApproveChangePhotoRequestRequest.prototype.getCommentFromCsr = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 3, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.qb.smg.ApproveChangePhotoRequestRequest} returns this\n */\nproto.qb.smg.ApproveChangePhotoRequestRequest.prototype.setCommentFromCsr = function(value) {\n  return jspb.Message.setProto3StringField(this, 3, value);\n};\n\n\n/**\n * optional bool approved = 4;\n * @return {boolean}\n */\nproto.qb.smg.ApproveChangePhotoRequestRequest.prototype.getApproved = function() {\n  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 4, false));\n};\n\n\n/**\n * @param {boolean} value\n * @return {!proto.qb.smg.ApproveChangePhotoRequestRequest} returns this\n */\nproto.qb.smg.ApproveChangePhotoRequestRequest.prototype.setApproved = function(value) {\n  return jspb.Message.setProto3BooleanField(this, 4, value);\n};\n\n\n/**\n * optional string token = 5;\n * @return {string}\n */\nproto.qb.smg.ApproveChangePhotoRequestRequest.prototype.getToken = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 5, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.qb.smg.ApproveChangePhotoRequestRequest} returns this\n */\nproto.qb.smg.ApproveChangePhotoRequestRequest.prototype.setToken = function(value) {\n  return jspb.Message.setProto3StringField(this, 5, value);\n};\n\n\n/**\n * optional Location location = 101;\n * @return {?proto.qb.smg.Location}\n */\nproto.qb.smg.ApproveChangePhotoRequestRequest.prototype.getLocation = function() {\n  return /** @type{?proto.qb.smg.Location} */ (\n    jspb.Message.getWrapperField(this, proto.qb.smg.Location, 101));\n};\n\n\n/**\n * @param {?proto.qb.smg.Location|undefined} value\n * @return {!proto.qb.smg.ApproveChangePhotoRequestRequest} returns this\n*/\nproto.qb.smg.ApproveChangePhotoRequestRequest.prototype.setLocation = function(value) {\n  return jspb.Message.setWrapperField(this, 101, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.qb.smg.ApproveChangePhotoRequestRequest} returns this\n */\nproto.qb.smg.ApproveChangePhotoRequestRequest.prototype.clearLocation = function() {\n  return this.setLocation(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.qb.smg.ApproveChangePhotoRequestRequest.prototype.hasLocation = function() {\n  return jspb.Message.getField(this, 101) != null;\n};\n\n\n/**\n * optional int32 venue_id = 102;\n * @return {number}\n */\nproto.qb.smg.ApproveChangePhotoRequestRequest.prototype.getVenueId = function() {\n  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 102, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.qb.smg.ApproveChangePhotoRequestRequest} returns this\n */\nproto.qb.smg.ApproveChangePhotoRequestRequest.prototype.setVenueId = function(value) {\n  return jspb.Message.setProto3IntField(this, 102, value);\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.qb.smg.ApproveChangePhotoRequestReply.prototype.toObject = function(opt_includeInstance) {\n  return proto.qb.smg.ApproveChangePhotoRequestReply.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.qb.smg.ApproveChangePhotoRequestReply} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.qb.smg.ApproveChangePhotoRequestReply.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    success: jspb.Message.getBooleanFieldWithDefault(msg, 1, false),\n    error: (f = msg.getError()) && proto.qb.smg.Error.toObject(includeInstance, f),\n    replacephotorequest: (f = msg.getReplacephotorequest()) && proto.qb.smg.ReplacePhotoRequest.toObject(includeInstance, f)\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.qb.smg.ApproveChangePhotoRequestReply}\n */\nproto.qb.smg.ApproveChangePhotoRequestReply.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.qb.smg.ApproveChangePhotoRequestReply;\n  return proto.qb.smg.ApproveChangePhotoRequestReply.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.qb.smg.ApproveChangePhotoRequestReply} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.qb.smg.ApproveChangePhotoRequestReply}\n */\nproto.qb.smg.ApproveChangePhotoRequestReply.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {boolean} */ (reader.readBool());\n      msg.setSuccess(value);\n      break;\n    case 2:\n      var value = new proto.qb.smg.Error;\n      reader.readMessage(value,proto.qb.smg.Error.deserializeBinaryFromReader);\n      msg.setError(value);\n      break;\n    case 3:\n      var value = new proto.qb.smg.ReplacePhotoRequest;\n      reader.readMessage(value,proto.qb.smg.ReplacePhotoRequest.deserializeBinaryFromReader);\n      msg.setReplacephotorequest(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.qb.smg.ApproveChangePhotoRequestReply.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.qb.smg.ApproveChangePhotoRequestReply.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.qb.smg.ApproveChangePhotoRequestReply} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.qb.smg.ApproveChangePhotoRequestReply.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getSuccess();\n  if (f) {\n    writer.writeBool(\n      1,\n      f\n    );\n  }\n  f = message.getError();\n  if (f != null) {\n    writer.writeMessage(\n      2,\n      f,\n      proto.qb.smg.Error.serializeBinaryToWriter\n    );\n  }\n  f = message.getReplacephotorequest();\n  if (f != null) {\n    writer.writeMessage(\n      3,\n      f,\n      proto.qb.smg.ReplacePhotoRequest.serializeBinaryToWriter\n    );\n  }\n};\n\n\n/**\n * optional bool success = 1;\n * @return {boolean}\n */\nproto.qb.smg.ApproveChangePhotoRequestReply.prototype.getSuccess = function() {\n  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 1, false));\n};\n\n\n/**\n * @param {boolean} value\n * @return {!proto.qb.smg.ApproveChangePhotoRequestReply} returns this\n */\nproto.qb.smg.ApproveChangePhotoRequestReply.prototype.setSuccess = function(value) {\n  return jspb.Message.setProto3BooleanField(this, 1, value);\n};\n\n\n/**\n * optional Error error = 2;\n * @return {?proto.qb.smg.Error}\n */\nproto.qb.smg.ApproveChangePhotoRequestReply.prototype.getError = function() {\n  return /** @type{?proto.qb.smg.Error} */ (\n    jspb.Message.getWrapperField(this, proto.qb.smg.Error, 2));\n};\n\n\n/**\n * @param {?proto.qb.smg.Error|undefined} value\n * @return {!proto.qb.smg.ApproveChangePhotoRequestReply} returns this\n*/\nproto.qb.smg.ApproveChangePhotoRequestReply.prototype.setError = function(value) {\n  return jspb.Message.setWrapperField(this, 2, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.qb.smg.ApproveChangePhotoRequestReply} returns this\n */\nproto.qb.smg.ApproveChangePhotoRequestReply.prototype.clearError = function() {\n  return this.setError(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.qb.smg.ApproveChangePhotoRequestReply.prototype.hasError = function() {\n  return jspb.Message.getField(this, 2) != null;\n};\n\n\n/**\n * optional ReplacePhotoRequest replacePhotoRequest = 3;\n * @return {?proto.qb.smg.ReplacePhotoRequest}\n */\nproto.qb.smg.ApproveChangePhotoRequestReply.prototype.getReplacephotorequest = function() {\n  return /** @type{?proto.qb.smg.ReplacePhotoRequest} */ (\n    jspb.Message.getWrapperField(this, proto.qb.smg.ReplacePhotoRequest, 3));\n};\n\n\n/**\n * @param {?proto.qb.smg.ReplacePhotoRequest|undefined} value\n * @return {!proto.qb.smg.ApproveChangePhotoRequestReply} returns this\n*/\nproto.qb.smg.ApproveChangePhotoRequestReply.prototype.setReplacephotorequest = function(value) {\n  return jspb.Message.setWrapperField(this, 3, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.qb.smg.ApproveChangePhotoRequestReply} returns this\n */\nproto.qb.smg.ApproveChangePhotoRequestReply.prototype.clearReplacephotorequest = function() {\n  return this.setReplacephotorequest(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.qb.smg.ApproveChangePhotoRequestReply.prototype.hasReplacephotorequest = function() {\n  return jspb.Message.getField(this, 3) != null;\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.qb.smg.GetTncRequest.prototype.toObject = function(opt_includeInstance) {\n  return proto.qb.smg.GetTncRequest.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.qb.smg.GetTncRequest} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.qb.smg.GetTncRequest.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    token: jspb.Message.getFieldWithDefault(msg, 1, \"\"),\n    version: jspb.Message.getFieldWithDefault(msg, 2, \"\"),\n    location: (f = msg.getLocation()) && proto.qb.smg.Location.toObject(includeInstance, f),\n    venueId: jspb.Message.getFieldWithDefault(msg, 102, 0)\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.qb.smg.GetTncRequest}\n */\nproto.qb.smg.GetTncRequest.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.qb.smg.GetTncRequest;\n  return proto.qb.smg.GetTncRequest.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.qb.smg.GetTncRequest} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.qb.smg.GetTncRequest}\n */\nproto.qb.smg.GetTncRequest.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setToken(value);\n      break;\n    case 2:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setVersion(value);\n      break;\n    case 101:\n      var value = new proto.qb.smg.Location;\n      reader.readMessage(value,proto.qb.smg.Location.deserializeBinaryFromReader);\n      msg.setLocation(value);\n      break;\n    case 102:\n      var value = /** @type {number} */ (reader.readInt32());\n      msg.setVenueId(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.qb.smg.GetTncRequest.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.qb.smg.GetTncRequest.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.qb.smg.GetTncRequest} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.qb.smg.GetTncRequest.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getToken();\n  if (f.length > 0) {\n    writer.writeString(\n      1,\n      f\n    );\n  }\n  f = message.getVersion();\n  if (f.length > 0) {\n    writer.writeString(\n      2,\n      f\n    );\n  }\n  f = message.getLocation();\n  if (f != null) {\n    writer.writeMessage(\n      101,\n      f,\n      proto.qb.smg.Location.serializeBinaryToWriter\n    );\n  }\n  f = message.getVenueId();\n  if (f !== 0) {\n    writer.writeInt32(\n      102,\n      f\n    );\n  }\n};\n\n\n/**\n * optional string token = 1;\n * @return {string}\n */\nproto.qb.smg.GetTncRequest.prototype.getToken = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.qb.smg.GetTncRequest} returns this\n */\nproto.qb.smg.GetTncRequest.prototype.setToken = function(value) {\n  return jspb.Message.setProto3StringField(this, 1, value);\n};\n\n\n/**\n * optional string version = 2;\n * @return {string}\n */\nproto.qb.smg.GetTncRequest.prototype.getVersion = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.qb.smg.GetTncRequest} returns this\n */\nproto.qb.smg.GetTncRequest.prototype.setVersion = function(value) {\n  return jspb.Message.setProto3StringField(this, 2, value);\n};\n\n\n/**\n * optional Location location = 101;\n * @return {?proto.qb.smg.Location}\n */\nproto.qb.smg.GetTncRequest.prototype.getLocation = function() {\n  return /** @type{?proto.qb.smg.Location} */ (\n    jspb.Message.getWrapperField(this, proto.qb.smg.Location, 101));\n};\n\n\n/**\n * @param {?proto.qb.smg.Location|undefined} value\n * @return {!proto.qb.smg.GetTncRequest} returns this\n*/\nproto.qb.smg.GetTncRequest.prototype.setLocation = function(value) {\n  return jspb.Message.setWrapperField(this, 101, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.qb.smg.GetTncRequest} returns this\n */\nproto.qb.smg.GetTncRequest.prototype.clearLocation = function() {\n  return this.setLocation(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.qb.smg.GetTncRequest.prototype.hasLocation = function() {\n  return jspb.Message.getField(this, 101) != null;\n};\n\n\n/**\n * optional int32 venue_id = 102;\n * @return {number}\n */\nproto.qb.smg.GetTncRequest.prototype.getVenueId = function() {\n  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 102, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.qb.smg.GetTncRequest} returns this\n */\nproto.qb.smg.GetTncRequest.prototype.setVenueId = function(value) {\n  return jspb.Message.setProto3IntField(this, 102, value);\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.qb.smg.GetTncReply.prototype.toObject = function(opt_includeInstance) {\n  return proto.qb.smg.GetTncReply.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.qb.smg.GetTncReply} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.qb.smg.GetTncReply.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    success: jspb.Message.getBooleanFieldWithDefault(msg, 1, false),\n    error: (f = msg.getError()) && proto.qb.smg.Error.toObject(includeInstance, f),\n    version: jspb.Message.getFieldWithDefault(msg, 3, \"\"),\n    content: jspb.Message.getFieldWithDefault(msg, 4, \"\")\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.qb.smg.GetTncReply}\n */\nproto.qb.smg.GetTncReply.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.qb.smg.GetTncReply;\n  return proto.qb.smg.GetTncReply.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.qb.smg.GetTncReply} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.qb.smg.GetTncReply}\n */\nproto.qb.smg.GetTncReply.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {boolean} */ (reader.readBool());\n      msg.setSuccess(value);\n      break;\n    case 2:\n      var value = new proto.qb.smg.Error;\n      reader.readMessage(value,proto.qb.smg.Error.deserializeBinaryFromReader);\n      msg.setError(value);\n      break;\n    case 3:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setVersion(value);\n      break;\n    case 4:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setContent(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.qb.smg.GetTncReply.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.qb.smg.GetTncReply.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.qb.smg.GetTncReply} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.qb.smg.GetTncReply.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getSuccess();\n  if (f) {\n    writer.writeBool(\n      1,\n      f\n    );\n  }\n  f = message.getError();\n  if (f != null) {\n    writer.writeMessage(\n      2,\n      f,\n      proto.qb.smg.Error.serializeBinaryToWriter\n    );\n  }\n  f = message.getVersion();\n  if (f.length > 0) {\n    writer.writeString(\n      3,\n      f\n    );\n  }\n  f = message.getContent();\n  if (f.length > 0) {\n    writer.writeString(\n      4,\n      f\n    );\n  }\n};\n\n\n/**\n * optional bool success = 1;\n * @return {boolean}\n */\nproto.qb.smg.GetTncReply.prototype.getSuccess = function() {\n  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 1, false));\n};\n\n\n/**\n * @param {boolean} value\n * @return {!proto.qb.smg.GetTncReply} returns this\n */\nproto.qb.smg.GetTncReply.prototype.setSuccess = function(value) {\n  return jspb.Message.setProto3BooleanField(this, 1, value);\n};\n\n\n/**\n * optional Error error = 2;\n * @return {?proto.qb.smg.Error}\n */\nproto.qb.smg.GetTncReply.prototype.getError = function() {\n  return /** @type{?proto.qb.smg.Error} */ (\n    jspb.Message.getWrapperField(this, proto.qb.smg.Error, 2));\n};\n\n\n/**\n * @param {?proto.qb.smg.Error|undefined} value\n * @return {!proto.qb.smg.GetTncReply} returns this\n*/\nproto.qb.smg.GetTncReply.prototype.setError = function(value) {\n  return jspb.Message.setWrapperField(this, 2, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.qb.smg.GetTncReply} returns this\n */\nproto.qb.smg.GetTncReply.prototype.clearError = function() {\n  return this.setError(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.qb.smg.GetTncReply.prototype.hasError = function() {\n  return jspb.Message.getField(this, 2) != null;\n};\n\n\n/**\n * optional string version = 3;\n * @return {string}\n */\nproto.qb.smg.GetTncReply.prototype.getVersion = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 3, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.qb.smg.GetTncReply} returns this\n */\nproto.qb.smg.GetTncReply.prototype.setVersion = function(value) {\n  return jspb.Message.setProto3StringField(this, 3, value);\n};\n\n\n/**\n * optional string content = 4;\n * @return {string}\n */\nproto.qb.smg.GetTncReply.prototype.getContent = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 4, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.qb.smg.GetTncReply} returns this\n */\nproto.qb.smg.GetTncReply.prototype.setContent = function(value) {\n  return jspb.Message.setProto3StringField(this, 4, value);\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.qb.smg.AcceptTncRequest.prototype.toObject = function(opt_includeInstance) {\n  return proto.qb.smg.AcceptTncRequest.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.qb.smg.AcceptTncRequest} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.qb.smg.AcceptTncRequest.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    token: jspb.Message.getFieldWithDefault(msg, 1, \"\"),\n    location: (f = msg.getLocation()) && proto.qb.smg.Location.toObject(includeInstance, f),\n    venueId: jspb.Message.getFieldWithDefault(msg, 102, 0)\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.qb.smg.AcceptTncRequest}\n */\nproto.qb.smg.AcceptTncRequest.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.qb.smg.AcceptTncRequest;\n  return proto.qb.smg.AcceptTncRequest.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.qb.smg.AcceptTncRequest} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.qb.smg.AcceptTncRequest}\n */\nproto.qb.smg.AcceptTncRequest.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setToken(value);\n      break;\n    case 101:\n      var value = new proto.qb.smg.Location;\n      reader.readMessage(value,proto.qb.smg.Location.deserializeBinaryFromReader);\n      msg.setLocation(value);\n      break;\n    case 102:\n      var value = /** @type {number} */ (reader.readInt32());\n      msg.setVenueId(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.qb.smg.AcceptTncRequest.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.qb.smg.AcceptTncRequest.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.qb.smg.AcceptTncRequest} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.qb.smg.AcceptTncRequest.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getToken();\n  if (f.length > 0) {\n    writer.writeString(\n      1,\n      f\n    );\n  }\n  f = message.getLocation();\n  if (f != null) {\n    writer.writeMessage(\n      101,\n      f,\n      proto.qb.smg.Location.serializeBinaryToWriter\n    );\n  }\n  f = message.getVenueId();\n  if (f !== 0) {\n    writer.writeInt32(\n      102,\n      f\n    );\n  }\n};\n\n\n/**\n * optional string token = 1;\n * @return {string}\n */\nproto.qb.smg.AcceptTncRequest.prototype.getToken = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.qb.smg.AcceptTncRequest} returns this\n */\nproto.qb.smg.AcceptTncRequest.prototype.setToken = function(value) {\n  return jspb.Message.setProto3StringField(this, 1, value);\n};\n\n\n/**\n * optional Location location = 101;\n * @return {?proto.qb.smg.Location}\n */\nproto.qb.smg.AcceptTncRequest.prototype.getLocation = function() {\n  return /** @type{?proto.qb.smg.Location} */ (\n    jspb.Message.getWrapperField(this, proto.qb.smg.Location, 101));\n};\n\n\n/**\n * @param {?proto.qb.smg.Location|undefined} value\n * @return {!proto.qb.smg.AcceptTncRequest} returns this\n*/\nproto.qb.smg.AcceptTncRequest.prototype.setLocation = function(value) {\n  return jspb.Message.setWrapperField(this, 101, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.qb.smg.AcceptTncRequest} returns this\n */\nproto.qb.smg.AcceptTncRequest.prototype.clearLocation = function() {\n  return this.setLocation(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.qb.smg.AcceptTncRequest.prototype.hasLocation = function() {\n  return jspb.Message.getField(this, 101) != null;\n};\n\n\n/**\n * optional int32 venue_id = 102;\n * @return {number}\n */\nproto.qb.smg.AcceptTncRequest.prototype.getVenueId = function() {\n  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 102, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.qb.smg.AcceptTncRequest} returns this\n */\nproto.qb.smg.AcceptTncRequest.prototype.setVenueId = function(value) {\n  return jspb.Message.setProto3IntField(this, 102, value);\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.qb.smg.AcceptTncReply.prototype.toObject = function(opt_includeInstance) {\n  return proto.qb.smg.AcceptTncReply.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.qb.smg.AcceptTncReply} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.qb.smg.AcceptTncReply.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    success: jspb.Message.getBooleanFieldWithDefault(msg, 1, false),\n    error: (f = msg.getError()) && proto.qb.smg.Error.toObject(includeInstance, f)\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.qb.smg.AcceptTncReply}\n */\nproto.qb.smg.AcceptTncReply.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.qb.smg.AcceptTncReply;\n  return proto.qb.smg.AcceptTncReply.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.qb.smg.AcceptTncReply} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.qb.smg.AcceptTncReply}\n */\nproto.qb.smg.AcceptTncReply.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {boolean} */ (reader.readBool());\n      msg.setSuccess(value);\n      break;\n    case 2:\n      var value = new proto.qb.smg.Error;\n      reader.readMessage(value,proto.qb.smg.Error.deserializeBinaryFromReader);\n      msg.setError(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.qb.smg.AcceptTncReply.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.qb.smg.AcceptTncReply.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.qb.smg.AcceptTncReply} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.qb.smg.AcceptTncReply.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getSuccess();\n  if (f) {\n    writer.writeBool(\n      1,\n      f\n    );\n  }\n  f = message.getError();\n  if (f != null) {\n    writer.writeMessage(\n      2,\n      f,\n      proto.qb.smg.Error.serializeBinaryToWriter\n    );\n  }\n};\n\n\n/**\n * optional bool success = 1;\n * @return {boolean}\n */\nproto.qb.smg.AcceptTncReply.prototype.getSuccess = function() {\n  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 1, false));\n};\n\n\n/**\n * @param {boolean} value\n * @return {!proto.qb.smg.AcceptTncReply} returns this\n */\nproto.qb.smg.AcceptTncReply.prototype.setSuccess = function(value) {\n  return jspb.Message.setProto3BooleanField(this, 1, value);\n};\n\n\n/**\n * optional Error error = 2;\n * @return {?proto.qb.smg.Error}\n */\nproto.qb.smg.AcceptTncReply.prototype.getError = function() {\n  return /** @type{?proto.qb.smg.Error} */ (\n    jspb.Message.getWrapperField(this, proto.qb.smg.Error, 2));\n};\n\n\n/**\n * @param {?proto.qb.smg.Error|undefined} value\n * @return {!proto.qb.smg.AcceptTncReply} returns this\n*/\nproto.qb.smg.AcceptTncReply.prototype.setError = function(value) {\n  return jspb.Message.setWrapperField(this, 2, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.qb.smg.AcceptTncReply} returns this\n */\nproto.qb.smg.AcceptTncReply.prototype.clearError = function() {\n  return this.setError(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.qb.smg.AcceptTncReply.prototype.hasError = function() {\n  return jspb.Message.getField(this, 2) != null;\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.qb.smg.OcrResult.prototype.toObject = function(opt_includeInstance) {\n  return proto.qb.smg.OcrResult.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.qb.smg.OcrResult} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.qb.smg.OcrResult.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    firstName: jspb.Message.getFieldWithDefault(msg, 1, \"\"),\n    lastName: jspb.Message.getFieldWithDefault(msg, 2, \"\"),\n    country: jspb.Message.getFieldWithDefault(msg, 3, \"\"),\n    state: jspb.Message.getFieldWithDefault(msg, 4, \"\"),\n    city: jspb.Message.getFieldWithDefault(msg, 5, \"\"),\n    street: jspb.Message.getFieldWithDefault(msg, 6, \"\")\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.qb.smg.OcrResult}\n */\nproto.qb.smg.OcrResult.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.qb.smg.OcrResult;\n  return proto.qb.smg.OcrResult.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.qb.smg.OcrResult} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.qb.smg.OcrResult}\n */\nproto.qb.smg.OcrResult.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setFirstName(value);\n      break;\n    case 2:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setLastName(value);\n      break;\n    case 3:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setCountry(value);\n      break;\n    case 4:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setState(value);\n      break;\n    case 5:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setCity(value);\n      break;\n    case 6:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setStreet(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.qb.smg.OcrResult.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.qb.smg.OcrResult.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.qb.smg.OcrResult} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.qb.smg.OcrResult.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getFirstName();\n  if (f.length > 0) {\n    writer.writeString(\n      1,\n      f\n    );\n  }\n  f = message.getLastName();\n  if (f.length > 0) {\n    writer.writeString(\n      2,\n      f\n    );\n  }\n  f = message.getCountry();\n  if (f.length > 0) {\n    writer.writeString(\n      3,\n      f\n    );\n  }\n  f = message.getState();\n  if (f.length > 0) {\n    writer.writeString(\n      4,\n      f\n    );\n  }\n  f = message.getCity();\n  if (f.length > 0) {\n    writer.writeString(\n      5,\n      f\n    );\n  }\n  f = message.getStreet();\n  if (f.length > 0) {\n    writer.writeString(\n      6,\n      f\n    );\n  }\n};\n\n\n/**\n * optional string first_name = 1;\n * @return {string}\n */\nproto.qb.smg.OcrResult.prototype.getFirstName = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.qb.smg.OcrResult} returns this\n */\nproto.qb.smg.OcrResult.prototype.setFirstName = function(value) {\n  return jspb.Message.setProto3StringField(this, 1, value);\n};\n\n\n/**\n * optional string last_name = 2;\n * @return {string}\n */\nproto.qb.smg.OcrResult.prototype.getLastName = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.qb.smg.OcrResult} returns this\n */\nproto.qb.smg.OcrResult.prototype.setLastName = function(value) {\n  return jspb.Message.setProto3StringField(this, 2, value);\n};\n\n\n/**\n * optional string country = 3;\n * @return {string}\n */\nproto.qb.smg.OcrResult.prototype.getCountry = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 3, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.qb.smg.OcrResult} returns this\n */\nproto.qb.smg.OcrResult.prototype.setCountry = function(value) {\n  return jspb.Message.setProto3StringField(this, 3, value);\n};\n\n\n/**\n * optional string state = 4;\n * @return {string}\n */\nproto.qb.smg.OcrResult.prototype.getState = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 4, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.qb.smg.OcrResult} returns this\n */\nproto.qb.smg.OcrResult.prototype.setState = function(value) {\n  return jspb.Message.setProto3StringField(this, 4, value);\n};\n\n\n/**\n * optional string city = 5;\n * @return {string}\n */\nproto.qb.smg.OcrResult.prototype.getCity = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 5, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.qb.smg.OcrResult} returns this\n */\nproto.qb.smg.OcrResult.prototype.setCity = function(value) {\n  return jspb.Message.setProto3StringField(this, 5, value);\n};\n\n\n/**\n * optional string street = 6;\n * @return {string}\n */\nproto.qb.smg.OcrResult.prototype.getStreet = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 6, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.qb.smg.OcrResult} returns this\n */\nproto.qb.smg.OcrResult.prototype.setStreet = function(value) {\n  return jspb.Message.setProto3StringField(this, 6, value);\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.qb.smg.DriverLicenseFrontExtractedData.prototype.toObject = function(opt_includeInstance) {\n  return proto.qb.smg.DriverLicenseFrontExtractedData.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.qb.smg.DriverLicenseFrontExtractedData} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.qb.smg.DriverLicenseFrontExtractedData.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    firstName: jspb.Message.getFieldWithDefault(msg, 1, \"\"),\n    lastName: jspb.Message.getFieldWithDefault(msg, 2, \"\"),\n    country: jspb.Message.getFieldWithDefault(msg, 3, \"\"),\n    state: jspb.Message.getFieldWithDefault(msg, 4, \"\"),\n    city: jspb.Message.getFieldWithDefault(msg, 5, \"\"),\n    street: jspb.Message.getFieldWithDefault(msg, 6, \"\")\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.qb.smg.DriverLicenseFrontExtractedData}\n */\nproto.qb.smg.DriverLicenseFrontExtractedData.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.qb.smg.DriverLicenseFrontExtractedData;\n  return proto.qb.smg.DriverLicenseFrontExtractedData.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.qb.smg.DriverLicenseFrontExtractedData} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.qb.smg.DriverLicenseFrontExtractedData}\n */\nproto.qb.smg.DriverLicenseFrontExtractedData.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setFirstName(value);\n      break;\n    case 2:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setLastName(value);\n      break;\n    case 3:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setCountry(value);\n      break;\n    case 4:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setState(value);\n      break;\n    case 5:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setCity(value);\n      break;\n    case 6:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setStreet(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.qb.smg.DriverLicenseFrontExtractedData.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.qb.smg.DriverLicenseFrontExtractedData.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.qb.smg.DriverLicenseFrontExtractedData} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.qb.smg.DriverLicenseFrontExtractedData.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getFirstName();\n  if (f.length > 0) {\n    writer.writeString(\n      1,\n      f\n    );\n  }\n  f = message.getLastName();\n  if (f.length > 0) {\n    writer.writeString(\n      2,\n      f\n    );\n  }\n  f = message.getCountry();\n  if (f.length > 0) {\n    writer.writeString(\n      3,\n      f\n    );\n  }\n  f = message.getState();\n  if (f.length > 0) {\n    writer.writeString(\n      4,\n      f\n    );\n  }\n  f = message.getCity();\n  if (f.length > 0) {\n    writer.writeString(\n      5,\n      f\n    );\n  }\n  f = message.getStreet();\n  if (f.length > 0) {\n    writer.writeString(\n      6,\n      f\n    );\n  }\n};\n\n\n/**\n * optional string first_name = 1;\n * @return {string}\n */\nproto.qb.smg.DriverLicenseFrontExtractedData.prototype.getFirstName = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.qb.smg.DriverLicenseFrontExtractedData} returns this\n */\nproto.qb.smg.DriverLicenseFrontExtractedData.prototype.setFirstName = function(value) {\n  return jspb.Message.setProto3StringField(this, 1, value);\n};\n\n\n/**\n * optional string last_name = 2;\n * @return {string}\n */\nproto.qb.smg.DriverLicenseFrontExtractedData.prototype.getLastName = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.qb.smg.DriverLicenseFrontExtractedData} returns this\n */\nproto.qb.smg.DriverLicenseFrontExtractedData.prototype.setLastName = function(value) {\n  return jspb.Message.setProto3StringField(this, 2, value);\n};\n\n\n/**\n * optional string country = 3;\n * @return {string}\n */\nproto.qb.smg.DriverLicenseFrontExtractedData.prototype.getCountry = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 3, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.qb.smg.DriverLicenseFrontExtractedData} returns this\n */\nproto.qb.smg.DriverLicenseFrontExtractedData.prototype.setCountry = function(value) {\n  return jspb.Message.setProto3StringField(this, 3, value);\n};\n\n\n/**\n * optional string state = 4;\n * @return {string}\n */\nproto.qb.smg.DriverLicenseFrontExtractedData.prototype.getState = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 4, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.qb.smg.DriverLicenseFrontExtractedData} returns this\n */\nproto.qb.smg.DriverLicenseFrontExtractedData.prototype.setState = function(value) {\n  return jspb.Message.setProto3StringField(this, 4, value);\n};\n\n\n/**\n * optional string city = 5;\n * @return {string}\n */\nproto.qb.smg.DriverLicenseFrontExtractedData.prototype.getCity = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 5, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.qb.smg.DriverLicenseFrontExtractedData} returns this\n */\nproto.qb.smg.DriverLicenseFrontExtractedData.prototype.setCity = function(value) {\n  return jspb.Message.setProto3StringField(this, 5, value);\n};\n\n\n/**\n * optional string street = 6;\n * @return {string}\n */\nproto.qb.smg.DriverLicenseFrontExtractedData.prototype.getStreet = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 6, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.qb.smg.DriverLicenseFrontExtractedData} returns this\n */\nproto.qb.smg.DriverLicenseFrontExtractedData.prototype.setStreet = function(value) {\n  return jspb.Message.setProto3StringField(this, 6, value);\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.qb.smg.DriverLicenseBackExtractedData.prototype.toObject = function(opt_includeInstance) {\n  return proto.qb.smg.DriverLicenseBackExtractedData.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.qb.smg.DriverLicenseBackExtractedData} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.qb.smg.DriverLicenseBackExtractedData.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    firstName: jspb.Message.getFieldWithDefault(msg, 1, \"\"),\n    lastName: jspb.Message.getFieldWithDefault(msg, 2, \"\"),\n    address: jspb.Message.getFieldWithDefault(msg, 3, \"\"),\n    city: jspb.Message.getFieldWithDefault(msg, 4, \"\"),\n    state: jspb.Message.getFieldWithDefault(msg, 5, \"\"),\n    country: jspb.Message.getFieldWithDefault(msg, 6, \"\")\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.qb.smg.DriverLicenseBackExtractedData}\n */\nproto.qb.smg.DriverLicenseBackExtractedData.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.qb.smg.DriverLicenseBackExtractedData;\n  return proto.qb.smg.DriverLicenseBackExtractedData.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.qb.smg.DriverLicenseBackExtractedData} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.qb.smg.DriverLicenseBackExtractedData}\n */\nproto.qb.smg.DriverLicenseBackExtractedData.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setFirstName(value);\n      break;\n    case 2:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setLastName(value);\n      break;\n    case 3:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setAddress(value);\n      break;\n    case 4:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setCity(value);\n      break;\n    case 5:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setState(value);\n      break;\n    case 6:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setCountry(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.qb.smg.DriverLicenseBackExtractedData.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.qb.smg.DriverLicenseBackExtractedData.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.qb.smg.DriverLicenseBackExtractedData} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.qb.smg.DriverLicenseBackExtractedData.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getFirstName();\n  if (f.length > 0) {\n    writer.writeString(\n      1,\n      f\n    );\n  }\n  f = message.getLastName();\n  if (f.length > 0) {\n    writer.writeString(\n      2,\n      f\n    );\n  }\n  f = message.getAddress();\n  if (f.length > 0) {\n    writer.writeString(\n      3,\n      f\n    );\n  }\n  f = message.getCity();\n  if (f.length > 0) {\n    writer.writeString(\n      4,\n      f\n    );\n  }\n  f = message.getState();\n  if (f.length > 0) {\n    writer.writeString(\n      5,\n      f\n    );\n  }\n  f = message.getCountry();\n  if (f.length > 0) {\n    writer.writeString(\n      6,\n      f\n    );\n  }\n};\n\n\n/**\n * optional string first_name = 1;\n * @return {string}\n */\nproto.qb.smg.DriverLicenseBackExtractedData.prototype.getFirstName = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.qb.smg.DriverLicenseBackExtractedData} returns this\n */\nproto.qb.smg.DriverLicenseBackExtractedData.prototype.setFirstName = function(value) {\n  return jspb.Message.setProto3StringField(this, 1, value);\n};\n\n\n/**\n * optional string last_name = 2;\n * @return {string}\n */\nproto.qb.smg.DriverLicenseBackExtractedData.prototype.getLastName = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.qb.smg.DriverLicenseBackExtractedData} returns this\n */\nproto.qb.smg.DriverLicenseBackExtractedData.prototype.setLastName = function(value) {\n  return jspb.Message.setProto3StringField(this, 2, value);\n};\n\n\n/**\n * optional string address = 3;\n * @return {string}\n */\nproto.qb.smg.DriverLicenseBackExtractedData.prototype.getAddress = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 3, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.qb.smg.DriverLicenseBackExtractedData} returns this\n */\nproto.qb.smg.DriverLicenseBackExtractedData.prototype.setAddress = function(value) {\n  return jspb.Message.setProto3StringField(this, 3, value);\n};\n\n\n/**\n * optional string city = 4;\n * @return {string}\n */\nproto.qb.smg.DriverLicenseBackExtractedData.prototype.getCity = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 4, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.qb.smg.DriverLicenseBackExtractedData} returns this\n */\nproto.qb.smg.DriverLicenseBackExtractedData.prototype.setCity = function(value) {\n  return jspb.Message.setProto3StringField(this, 4, value);\n};\n\n\n/**\n * optional string state = 5;\n * @return {string}\n */\nproto.qb.smg.DriverLicenseBackExtractedData.prototype.getState = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 5, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.qb.smg.DriverLicenseBackExtractedData} returns this\n */\nproto.qb.smg.DriverLicenseBackExtractedData.prototype.setState = function(value) {\n  return jspb.Message.setProto3StringField(this, 5, value);\n};\n\n\n/**\n * optional string country = 6;\n * @return {string}\n */\nproto.qb.smg.DriverLicenseBackExtractedData.prototype.getCountry = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 6, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.qb.smg.DriverLicenseBackExtractedData} returns this\n */\nproto.qb.smg.DriverLicenseBackExtractedData.prototype.setCountry = function(value) {\n  return jspb.Message.setProto3StringField(this, 6, value);\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.qb.smg.StartVeriffKycVerificationRequest.prototype.toObject = function(opt_includeInstance) {\n  return proto.qb.smg.StartVeriffKycVerificationRequest.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.qb.smg.StartVeriffKycVerificationRequest} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.qb.smg.StartVeriffKycVerificationRequest.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    token: jspb.Message.getFieldWithDefault(msg, 1, \"\"),\n    location: (f = msg.getLocation()) && proto.qb.smg.Location.toObject(includeInstance, f),\n    venueId: jspb.Message.getFieldWithDefault(msg, 102, 0)\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.qb.smg.StartVeriffKycVerificationRequest}\n */\nproto.qb.smg.StartVeriffKycVerificationRequest.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.qb.smg.StartVeriffKycVerificationRequest;\n  return proto.qb.smg.StartVeriffKycVerificationRequest.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.qb.smg.StartVeriffKycVerificationRequest} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.qb.smg.StartVeriffKycVerificationRequest}\n */\nproto.qb.smg.StartVeriffKycVerificationRequest.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setToken(value);\n      break;\n    case 101:\n      var value = new proto.qb.smg.Location;\n      reader.readMessage(value,proto.qb.smg.Location.deserializeBinaryFromReader);\n      msg.setLocation(value);\n      break;\n    case 102:\n      var value = /** @type {number} */ (reader.readInt32());\n      msg.setVenueId(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.qb.smg.StartVeriffKycVerificationRequest.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.qb.smg.StartVeriffKycVerificationRequest.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.qb.smg.StartVeriffKycVerificationRequest} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.qb.smg.StartVeriffKycVerificationRequest.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getToken();\n  if (f.length > 0) {\n    writer.writeString(\n      1,\n      f\n    );\n  }\n  f = message.getLocation();\n  if (f != null) {\n    writer.writeMessage(\n      101,\n      f,\n      proto.qb.smg.Location.serializeBinaryToWriter\n    );\n  }\n  f = message.getVenueId();\n  if (f !== 0) {\n    writer.writeInt32(\n      102,\n      f\n    );\n  }\n};\n\n\n/**\n * optional string token = 1;\n * @return {string}\n */\nproto.qb.smg.StartVeriffKycVerificationRequest.prototype.getToken = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.qb.smg.StartVeriffKycVerificationRequest} returns this\n */\nproto.qb.smg.StartVeriffKycVerificationRequest.prototype.setToken = function(value) {\n  return jspb.Message.setProto3StringField(this, 1, value);\n};\n\n\n/**\n * optional Location location = 101;\n * @return {?proto.qb.smg.Location}\n */\nproto.qb.smg.StartVeriffKycVerificationRequest.prototype.getLocation = function() {\n  return /** @type{?proto.qb.smg.Location} */ (\n    jspb.Message.getWrapperField(this, proto.qb.smg.Location, 101));\n};\n\n\n/**\n * @param {?proto.qb.smg.Location|undefined} value\n * @return {!proto.qb.smg.StartVeriffKycVerificationRequest} returns this\n*/\nproto.qb.smg.StartVeriffKycVerificationRequest.prototype.setLocation = function(value) {\n  return jspb.Message.setWrapperField(this, 101, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.qb.smg.StartVeriffKycVerificationRequest} returns this\n */\nproto.qb.smg.StartVeriffKycVerificationRequest.prototype.clearLocation = function() {\n  return this.setLocation(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.qb.smg.StartVeriffKycVerificationRequest.prototype.hasLocation = function() {\n  return jspb.Message.getField(this, 101) != null;\n};\n\n\n/**\n * optional int32 venue_id = 102;\n * @return {number}\n */\nproto.qb.smg.StartVeriffKycVerificationRequest.prototype.getVenueId = function() {\n  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 102, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.qb.smg.StartVeriffKycVerificationRequest} returns this\n */\nproto.qb.smg.StartVeriffKycVerificationRequest.prototype.setVenueId = function(value) {\n  return jspb.Message.setProto3IntField(this, 102, value);\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.qb.smg.StartVeriffKycVerificationResponse.prototype.toObject = function(opt_includeInstance) {\n  return proto.qb.smg.StartVeriffKycVerificationResponse.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.qb.smg.StartVeriffKycVerificationResponse} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.qb.smg.StartVeriffKycVerificationResponse.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    success: jspb.Message.getBooleanFieldWithDefault(msg, 1, false),\n    error: (f = msg.getError()) && proto.qb.smg.Error.toObject(includeInstance, f),\n    veriffurl: jspb.Message.getFieldWithDefault(msg, 3, \"\")\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.qb.smg.StartVeriffKycVerificationResponse}\n */\nproto.qb.smg.StartVeriffKycVerificationResponse.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.qb.smg.StartVeriffKycVerificationResponse;\n  return proto.qb.smg.StartVeriffKycVerificationResponse.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.qb.smg.StartVeriffKycVerificationResponse} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.qb.smg.StartVeriffKycVerificationResponse}\n */\nproto.qb.smg.StartVeriffKycVerificationResponse.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {boolean} */ (reader.readBool());\n      msg.setSuccess(value);\n      break;\n    case 2:\n      var value = new proto.qb.smg.Error;\n      reader.readMessage(value,proto.qb.smg.Error.deserializeBinaryFromReader);\n      msg.setError(value);\n      break;\n    case 3:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setVeriffurl(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.qb.smg.StartVeriffKycVerificationResponse.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.qb.smg.StartVeriffKycVerificationResponse.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.qb.smg.StartVeriffKycVerificationResponse} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.qb.smg.StartVeriffKycVerificationResponse.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getSuccess();\n  if (f) {\n    writer.writeBool(\n      1,\n      f\n    );\n  }\n  f = message.getError();\n  if (f != null) {\n    writer.writeMessage(\n      2,\n      f,\n      proto.qb.smg.Error.serializeBinaryToWriter\n    );\n  }\n  f = message.getVeriffurl();\n  if (f.length > 0) {\n    writer.writeString(\n      3,\n      f\n    );\n  }\n};\n\n\n/**\n * optional bool success = 1;\n * @return {boolean}\n */\nproto.qb.smg.StartVeriffKycVerificationResponse.prototype.getSuccess = function() {\n  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 1, false));\n};\n\n\n/**\n * @param {boolean} value\n * @return {!proto.qb.smg.StartVeriffKycVerificationResponse} returns this\n */\nproto.qb.smg.StartVeriffKycVerificationResponse.prototype.setSuccess = function(value) {\n  return jspb.Message.setProto3BooleanField(this, 1, value);\n};\n\n\n/**\n * optional Error error = 2;\n * @return {?proto.qb.smg.Error}\n */\nproto.qb.smg.StartVeriffKycVerificationResponse.prototype.getError = function() {\n  return /** @type{?proto.qb.smg.Error} */ (\n    jspb.Message.getWrapperField(this, proto.qb.smg.Error, 2));\n};\n\n\n/**\n * @param {?proto.qb.smg.Error|undefined} value\n * @return {!proto.qb.smg.StartVeriffKycVerificationResponse} returns this\n*/\nproto.qb.smg.StartVeriffKycVerificationResponse.prototype.setError = function(value) {\n  return jspb.Message.setWrapperField(this, 2, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.qb.smg.StartVeriffKycVerificationResponse} returns this\n */\nproto.qb.smg.StartVeriffKycVerificationResponse.prototype.clearError = function() {\n  return this.setError(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.qb.smg.StartVeriffKycVerificationResponse.prototype.hasError = function() {\n  return jspb.Message.getField(this, 2) != null;\n};\n\n\n/**\n * optional string veriffUrl = 3;\n * @return {string}\n */\nproto.qb.smg.StartVeriffKycVerificationResponse.prototype.getVeriffurl = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 3, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.qb.smg.StartVeriffKycVerificationResponse} returns this\n */\nproto.qb.smg.StartVeriffKycVerificationResponse.prototype.setVeriffurl = function(value) {\n  return jspb.Message.setProto3StringField(this, 3, value);\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.qb.smg.SubmitPhotoRequest.prototype.toObject = function(opt_includeInstance) {\n  return proto.qb.smg.SubmitPhotoRequest.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.qb.smg.SubmitPhotoRequest} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.qb.smg.SubmitPhotoRequest.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    token: jspb.Message.getFieldWithDefault(msg, 1, \"\"),\n    image: msg.getImage_asB64(),\n    location: (f = msg.getLocation()) && proto.qb.smg.Location.toObject(includeInstance, f),\n    venueId: jspb.Message.getFieldWithDefault(msg, 102, 0)\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.qb.smg.SubmitPhotoRequest}\n */\nproto.qb.smg.SubmitPhotoRequest.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.qb.smg.SubmitPhotoRequest;\n  return proto.qb.smg.SubmitPhotoRequest.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.qb.smg.SubmitPhotoRequest} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.qb.smg.SubmitPhotoRequest}\n */\nproto.qb.smg.SubmitPhotoRequest.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setToken(value);\n      break;\n    case 2:\n      var value = /** @type {!Uint8Array} */ (reader.readBytes());\n      msg.setImage(value);\n      break;\n    case 101:\n      var value = new proto.qb.smg.Location;\n      reader.readMessage(value,proto.qb.smg.Location.deserializeBinaryFromReader);\n      msg.setLocation(value);\n      break;\n    case 102:\n      var value = /** @type {number} */ (reader.readInt32());\n      msg.setVenueId(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.qb.smg.SubmitPhotoRequest.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.qb.smg.SubmitPhotoRequest.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.qb.smg.SubmitPhotoRequest} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.qb.smg.SubmitPhotoRequest.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getToken();\n  if (f.length > 0) {\n    writer.writeString(\n      1,\n      f\n    );\n  }\n  f = message.getImage_asU8();\n  if (f.length > 0) {\n    writer.writeBytes(\n      2,\n      f\n    );\n  }\n  f = message.getLocation();\n  if (f != null) {\n    writer.writeMessage(\n      101,\n      f,\n      proto.qb.smg.Location.serializeBinaryToWriter\n    );\n  }\n  f = message.getVenueId();\n  if (f !== 0) {\n    writer.writeInt32(\n      102,\n      f\n    );\n  }\n};\n\n\n/**\n * optional string token = 1;\n * @return {string}\n */\nproto.qb.smg.SubmitPhotoRequest.prototype.getToken = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.qb.smg.SubmitPhotoRequest} returns this\n */\nproto.qb.smg.SubmitPhotoRequest.prototype.setToken = function(value) {\n  return jspb.Message.setProto3StringField(this, 1, value);\n};\n\n\n/**\n * optional bytes image = 2;\n * @return {!(string|Uint8Array)}\n */\nproto.qb.smg.SubmitPhotoRequest.prototype.getImage = function() {\n  return /** @type {!(string|Uint8Array)} */ (jspb.Message.getFieldWithDefault(this, 2, \"\"));\n};\n\n\n/**\n * optional bytes image = 2;\n * This is a type-conversion wrapper around `getImage()`\n * @return {string}\n */\nproto.qb.smg.SubmitPhotoRequest.prototype.getImage_asB64 = function() {\n  return /** @type {string} */ (jspb.Message.bytesAsB64(\n      this.getImage()));\n};\n\n\n/**\n * optional bytes image = 2;\n * Note that Uint8Array is not supported on all browsers.\n * @see http://caniuse.com/Uint8Array\n * This is a type-conversion wrapper around `getImage()`\n * @return {!Uint8Array}\n */\nproto.qb.smg.SubmitPhotoRequest.prototype.getImage_asU8 = function() {\n  return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8(\n      this.getImage()));\n};\n\n\n/**\n * @param {!(string|Uint8Array)} value\n * @return {!proto.qb.smg.SubmitPhotoRequest} returns this\n */\nproto.qb.smg.SubmitPhotoRequest.prototype.setImage = function(value) {\n  return jspb.Message.setProto3BytesField(this, 2, value);\n};\n\n\n/**\n * optional Location location = 101;\n * @return {?proto.qb.smg.Location}\n */\nproto.qb.smg.SubmitPhotoRequest.prototype.getLocation = function() {\n  return /** @type{?proto.qb.smg.Location} */ (\n    jspb.Message.getWrapperField(this, proto.qb.smg.Location, 101));\n};\n\n\n/**\n * @param {?proto.qb.smg.Location|undefined} value\n * @return {!proto.qb.smg.SubmitPhotoRequest} returns this\n*/\nproto.qb.smg.SubmitPhotoRequest.prototype.setLocation = function(value) {\n  return jspb.Message.setWrapperField(this, 101, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.qb.smg.SubmitPhotoRequest} returns this\n */\nproto.qb.smg.SubmitPhotoRequest.prototype.clearLocation = function() {\n  return this.setLocation(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.qb.smg.SubmitPhotoRequest.prototype.hasLocation = function() {\n  return jspb.Message.getField(this, 101) != null;\n};\n\n\n/**\n * optional int32 venue_id = 102;\n * @return {number}\n */\nproto.qb.smg.SubmitPhotoRequest.prototype.getVenueId = function() {\n  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 102, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.qb.smg.SubmitPhotoRequest} returns this\n */\nproto.qb.smg.SubmitPhotoRequest.prototype.setVenueId = function(value) {\n  return jspb.Message.setProto3IntField(this, 102, value);\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.qb.smg.SubmitPhotoReply.prototype.toObject = function(opt_includeInstance) {\n  return proto.qb.smg.SubmitPhotoReply.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.qb.smg.SubmitPhotoReply} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.qb.smg.SubmitPhotoReply.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    success: jspb.Message.getBooleanFieldWithDefault(msg, 1, false),\n    error: (f = msg.getError()) && proto.qb.smg.Error.toObject(includeInstance, f),\n    isRecognized: jspb.Message.getBooleanFieldWithDefault(msg, 3, false),\n    submissionAllowed: jspb.Message.getBooleanFieldWithDefault(msg, 4, false)\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.qb.smg.SubmitPhotoReply}\n */\nproto.qb.smg.SubmitPhotoReply.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.qb.smg.SubmitPhotoReply;\n  return proto.qb.smg.SubmitPhotoReply.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.qb.smg.SubmitPhotoReply} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.qb.smg.SubmitPhotoReply}\n */\nproto.qb.smg.SubmitPhotoReply.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {boolean} */ (reader.readBool());\n      msg.setSuccess(value);\n      break;\n    case 2:\n      var value = new proto.qb.smg.Error;\n      reader.readMessage(value,proto.qb.smg.Error.deserializeBinaryFromReader);\n      msg.setError(value);\n      break;\n    case 3:\n      var value = /** @type {boolean} */ (reader.readBool());\n      msg.setIsRecognized(value);\n      break;\n    case 4:\n      var value = /** @type {boolean} */ (reader.readBool());\n      msg.setSubmissionAllowed(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.qb.smg.SubmitPhotoReply.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.qb.smg.SubmitPhotoReply.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.qb.smg.SubmitPhotoReply} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.qb.smg.SubmitPhotoReply.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getSuccess();\n  if (f) {\n    writer.writeBool(\n      1,\n      f\n    );\n  }\n  f = message.getError();\n  if (f != null) {\n    writer.writeMessage(\n      2,\n      f,\n      proto.qb.smg.Error.serializeBinaryToWriter\n    );\n  }\n  f = message.getIsRecognized();\n  if (f) {\n    writer.writeBool(\n      3,\n      f\n    );\n  }\n  f = message.getSubmissionAllowed();\n  if (f) {\n    writer.writeBool(\n      4,\n      f\n    );\n  }\n};\n\n\n/**\n * optional bool success = 1;\n * @return {boolean}\n */\nproto.qb.smg.SubmitPhotoReply.prototype.getSuccess = function() {\n  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 1, false));\n};\n\n\n/**\n * @param {boolean} value\n * @return {!proto.qb.smg.SubmitPhotoReply} returns this\n */\nproto.qb.smg.SubmitPhotoReply.prototype.setSuccess = function(value) {\n  return jspb.Message.setProto3BooleanField(this, 1, value);\n};\n\n\n/**\n * optional Error error = 2;\n * @return {?proto.qb.smg.Error}\n */\nproto.qb.smg.SubmitPhotoReply.prototype.getError = function() {\n  return /** @type{?proto.qb.smg.Error} */ (\n    jspb.Message.getWrapperField(this, proto.qb.smg.Error, 2));\n};\n\n\n/**\n * @param {?proto.qb.smg.Error|undefined} value\n * @return {!proto.qb.smg.SubmitPhotoReply} returns this\n*/\nproto.qb.smg.SubmitPhotoReply.prototype.setError = function(value) {\n  return jspb.Message.setWrapperField(this, 2, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.qb.smg.SubmitPhotoReply} returns this\n */\nproto.qb.smg.SubmitPhotoReply.prototype.clearError = function() {\n  return this.setError(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.qb.smg.SubmitPhotoReply.prototype.hasError = function() {\n  return jspb.Message.getField(this, 2) != null;\n};\n\n\n/**\n * optional bool is_recognized = 3;\n * @return {boolean}\n */\nproto.qb.smg.SubmitPhotoReply.prototype.getIsRecognized = function() {\n  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 3, false));\n};\n\n\n/**\n * @param {boolean} value\n * @return {!proto.qb.smg.SubmitPhotoReply} returns this\n */\nproto.qb.smg.SubmitPhotoReply.prototype.setIsRecognized = function(value) {\n  return jspb.Message.setProto3BooleanField(this, 3, value);\n};\n\n\n/**\n * optional bool submission_allowed = 4;\n * @return {boolean}\n */\nproto.qb.smg.SubmitPhotoReply.prototype.getSubmissionAllowed = function() {\n  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 4, false));\n};\n\n\n/**\n * @param {boolean} value\n * @return {!proto.qb.smg.SubmitPhotoReply} returns this\n */\nproto.qb.smg.SubmitPhotoReply.prototype.setSubmissionAllowed = function(value) {\n  return jspb.Message.setProto3BooleanField(this, 4, value);\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.qb.smg.ContactCsrRequest.prototype.toObject = function(opt_includeInstance) {\n  return proto.qb.smg.ContactCsrRequest.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.qb.smg.ContactCsrRequest} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.qb.smg.ContactCsrRequest.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    token: jspb.Message.getFieldWithDefault(msg, 1, \"\"),\n    request: jspb.Message.getFieldWithDefault(msg, 2, \"\"),\n    location: (f = msg.getLocation()) && proto.qb.smg.Location.toObject(includeInstance, f),\n    venueId: jspb.Message.getFieldWithDefault(msg, 102, 0)\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.qb.smg.ContactCsrRequest}\n */\nproto.qb.smg.ContactCsrRequest.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.qb.smg.ContactCsrRequest;\n  return proto.qb.smg.ContactCsrRequest.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.qb.smg.ContactCsrRequest} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.qb.smg.ContactCsrRequest}\n */\nproto.qb.smg.ContactCsrRequest.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setToken(value);\n      break;\n    case 2:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setRequest(value);\n      break;\n    case 101:\n      var value = new proto.qb.smg.Location;\n      reader.readMessage(value,proto.qb.smg.Location.deserializeBinaryFromReader);\n      msg.setLocation(value);\n      break;\n    case 102:\n      var value = /** @type {number} */ (reader.readInt32());\n      msg.setVenueId(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.qb.smg.ContactCsrRequest.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.qb.smg.ContactCsrRequest.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.qb.smg.ContactCsrRequest} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.qb.smg.ContactCsrRequest.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getToken();\n  if (f.length > 0) {\n    writer.writeString(\n      1,\n      f\n    );\n  }\n  f = message.getRequest();\n  if (f.length > 0) {\n    writer.writeString(\n      2,\n      f\n    );\n  }\n  f = message.getLocation();\n  if (f != null) {\n    writer.writeMessage(\n      101,\n      f,\n      proto.qb.smg.Location.serializeBinaryToWriter\n    );\n  }\n  f = message.getVenueId();\n  if (f !== 0) {\n    writer.writeInt32(\n      102,\n      f\n    );\n  }\n};\n\n\n/**\n * optional string token = 1;\n * @return {string}\n */\nproto.qb.smg.ContactCsrRequest.prototype.getToken = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.qb.smg.ContactCsrRequest} returns this\n */\nproto.qb.smg.ContactCsrRequest.prototype.setToken = function(value) {\n  return jspb.Message.setProto3StringField(this, 1, value);\n};\n\n\n/**\n * optional string request = 2;\n * @return {string}\n */\nproto.qb.smg.ContactCsrRequest.prototype.getRequest = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.qb.smg.ContactCsrRequest} returns this\n */\nproto.qb.smg.ContactCsrRequest.prototype.setRequest = function(value) {\n  return jspb.Message.setProto3StringField(this, 2, value);\n};\n\n\n/**\n * optional Location location = 101;\n * @return {?proto.qb.smg.Location}\n */\nproto.qb.smg.ContactCsrRequest.prototype.getLocation = function() {\n  return /** @type{?proto.qb.smg.Location} */ (\n    jspb.Message.getWrapperField(this, proto.qb.smg.Location, 101));\n};\n\n\n/**\n * @param {?proto.qb.smg.Location|undefined} value\n * @return {!proto.qb.smg.ContactCsrRequest} returns this\n*/\nproto.qb.smg.ContactCsrRequest.prototype.setLocation = function(value) {\n  return jspb.Message.setWrapperField(this, 101, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.qb.smg.ContactCsrRequest} returns this\n */\nproto.qb.smg.ContactCsrRequest.prototype.clearLocation = function() {\n  return this.setLocation(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.qb.smg.ContactCsrRequest.prototype.hasLocation = function() {\n  return jspb.Message.getField(this, 101) != null;\n};\n\n\n/**\n * optional int32 venue_id = 102;\n * @return {number}\n */\nproto.qb.smg.ContactCsrRequest.prototype.getVenueId = function() {\n  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 102, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.qb.smg.ContactCsrRequest} returns this\n */\nproto.qb.smg.ContactCsrRequest.prototype.setVenueId = function(value) {\n  return jspb.Message.setProto3IntField(this, 102, value);\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.qb.smg.ContactCsrReply.prototype.toObject = function(opt_includeInstance) {\n  return proto.qb.smg.ContactCsrReply.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.qb.smg.ContactCsrReply} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.qb.smg.ContactCsrReply.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    success: jspb.Message.getBooleanFieldWithDefault(msg, 1, false),\n    error: (f = msg.getError()) && proto.qb.smg.Error.toObject(includeInstance, f)\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.qb.smg.ContactCsrReply}\n */\nproto.qb.smg.ContactCsrReply.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.qb.smg.ContactCsrReply;\n  return proto.qb.smg.ContactCsrReply.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.qb.smg.ContactCsrReply} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.qb.smg.ContactCsrReply}\n */\nproto.qb.smg.ContactCsrReply.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {boolean} */ (reader.readBool());\n      msg.setSuccess(value);\n      break;\n    case 2:\n      var value = new proto.qb.smg.Error;\n      reader.readMessage(value,proto.qb.smg.Error.deserializeBinaryFromReader);\n      msg.setError(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.qb.smg.ContactCsrReply.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.qb.smg.ContactCsrReply.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.qb.smg.ContactCsrReply} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.qb.smg.ContactCsrReply.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getSuccess();\n  if (f) {\n    writer.writeBool(\n      1,\n      f\n    );\n  }\n  f = message.getError();\n  if (f != null) {\n    writer.writeMessage(\n      2,\n      f,\n      proto.qb.smg.Error.serializeBinaryToWriter\n    );\n  }\n};\n\n\n/**\n * optional bool success = 1;\n * @return {boolean}\n */\nproto.qb.smg.ContactCsrReply.prototype.getSuccess = function() {\n  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 1, false));\n};\n\n\n/**\n * @param {boolean} value\n * @return {!proto.qb.smg.ContactCsrReply} returns this\n */\nproto.qb.smg.ContactCsrReply.prototype.setSuccess = function(value) {\n  return jspb.Message.setProto3BooleanField(this, 1, value);\n};\n\n\n/**\n * optional Error error = 2;\n * @return {?proto.qb.smg.Error}\n */\nproto.qb.smg.ContactCsrReply.prototype.getError = function() {\n  return /** @type{?proto.qb.smg.Error} */ (\n    jspb.Message.getWrapperField(this, proto.qb.smg.Error, 2));\n};\n\n\n/**\n * @param {?proto.qb.smg.Error|undefined} value\n * @return {!proto.qb.smg.ContactCsrReply} returns this\n*/\nproto.qb.smg.ContactCsrReply.prototype.setError = function(value) {\n  return jspb.Message.setWrapperField(this, 2, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.qb.smg.ContactCsrReply} returns this\n */\nproto.qb.smg.ContactCsrReply.prototype.clearError = function() {\n  return this.setError(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.qb.smg.ContactCsrReply.prototype.hasError = function() {\n  return jspb.Message.getField(this, 2) != null;\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.qb.smg.UpdateUserRequest.prototype.toObject = function(opt_includeInstance) {\n  return proto.qb.smg.UpdateUserRequest.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.qb.smg.UpdateUserRequest} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.qb.smg.UpdateUserRequest.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    token: jspb.Message.getFieldWithDefault(msg, 1, \"\"),\n    firstName: jspb.Message.getFieldWithDefault(msg, 2, \"\"),\n    lastName: jspb.Message.getFieldWithDefault(msg, 3, \"\"),\n    username: jspb.Message.getFieldWithDefault(msg, 4, \"\"),\n    dateOfBirth: (f = msg.getDateOfBirth()) && google_protobuf_timestamp_pb.Timestamp.toObject(includeInstance, f),\n    handedness: jspb.Message.getFieldWithDefault(msg, 6, \"\"),\n    handicap: jspb.Message.getFieldWithDefault(msg, 16, \"\"),\n    allowTextNotifications: jspb.Message.getBooleanFieldWithDefault(msg, 17, false),\n    allowEmailNotifications: jspb.Message.getBooleanFieldWithDefault(msg, 18, false),\n    allowPartnerPromos: jspb.Message.getBooleanFieldWithDefault(msg, 19, false),\n    location: (f = msg.getLocation()) && proto.qb.smg.Location.toObject(includeInstance, f),\n    venueId: jspb.Message.getFieldWithDefault(msg, 102, 0)\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.qb.smg.UpdateUserRequest}\n */\nproto.qb.smg.UpdateUserRequest.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.qb.smg.UpdateUserRequest;\n  return proto.qb.smg.UpdateUserRequest.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.qb.smg.UpdateUserRequest} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.qb.smg.UpdateUserRequest}\n */\nproto.qb.smg.UpdateUserRequest.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setToken(value);\n      break;\n    case 2:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setFirstName(value);\n      break;\n    case 3:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setLastName(value);\n      break;\n    case 4:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setUsername(value);\n      break;\n    case 5:\n      var value = new google_protobuf_timestamp_pb.Timestamp;\n      reader.readMessage(value,google_protobuf_timestamp_pb.Timestamp.deserializeBinaryFromReader);\n      msg.setDateOfBirth(value);\n      break;\n    case 6:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setHandedness(value);\n      break;\n    case 16:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setHandicap(value);\n      break;\n    case 17:\n      var value = /** @type {boolean} */ (reader.readBool());\n      msg.setAllowTextNotifications(value);\n      break;\n    case 18:\n      var value = /** @type {boolean} */ (reader.readBool());\n      msg.setAllowEmailNotifications(value);\n      break;\n    case 19:\n      var value = /** @type {boolean} */ (reader.readBool());\n      msg.setAllowPartnerPromos(value);\n      break;\n    case 101:\n      var value = new proto.qb.smg.Location;\n      reader.readMessage(value,proto.qb.smg.Location.deserializeBinaryFromReader);\n      msg.setLocation(value);\n      break;\n    case 102:\n      var value = /** @type {number} */ (reader.readInt32());\n      msg.setVenueId(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.qb.smg.UpdateUserRequest.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.qb.smg.UpdateUserRequest.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.qb.smg.UpdateUserRequest} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.qb.smg.UpdateUserRequest.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getToken();\n  if (f.length > 0) {\n    writer.writeString(\n      1,\n      f\n    );\n  }\n  f = message.getFirstName();\n  if (f.length > 0) {\n    writer.writeString(\n      2,\n      f\n    );\n  }\n  f = message.getLastName();\n  if (f.length > 0) {\n    writer.writeString(\n      3,\n      f\n    );\n  }\n  f = message.getUsername();\n  if (f.length > 0) {\n    writer.writeString(\n      4,\n      f\n    );\n  }\n  f = message.getDateOfBirth();\n  if (f != null) {\n    writer.writeMessage(\n      5,\n      f,\n      google_protobuf_timestamp_pb.Timestamp.serializeBinaryToWriter\n    );\n  }\n  f = message.getHandedness();\n  if (f.length > 0) {\n    writer.writeString(\n      6,\n      f\n    );\n  }\n  f = message.getHandicap();\n  if (f.length > 0) {\n    writer.writeString(\n      16,\n      f\n    );\n  }\n  f = message.getAllowTextNotifications();\n  if (f) {\n    writer.writeBool(\n      17,\n      f\n    );\n  }\n  f = message.getAllowEmailNotifications();\n  if (f) {\n    writer.writeBool(\n      18,\n      f\n    );\n  }\n  f = message.getAllowPartnerPromos();\n  if (f) {\n    writer.writeBool(\n      19,\n      f\n    );\n  }\n  f = message.getLocation();\n  if (f != null) {\n    writer.writeMessage(\n      101,\n      f,\n      proto.qb.smg.Location.serializeBinaryToWriter\n    );\n  }\n  f = message.getVenueId();\n  if (f !== 0) {\n    writer.writeInt32(\n      102,\n      f\n    );\n  }\n};\n\n\n/**\n * optional string token = 1;\n * @return {string}\n */\nproto.qb.smg.UpdateUserRequest.prototype.getToken = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.qb.smg.UpdateUserRequest} returns this\n */\nproto.qb.smg.UpdateUserRequest.prototype.setToken = function(value) {\n  return jspb.Message.setProto3StringField(this, 1, value);\n};\n\n\n/**\n * optional string first_name = 2;\n * @return {string}\n */\nproto.qb.smg.UpdateUserRequest.prototype.getFirstName = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.qb.smg.UpdateUserRequest} returns this\n */\nproto.qb.smg.UpdateUserRequest.prototype.setFirstName = function(value) {\n  return jspb.Message.setProto3StringField(this, 2, value);\n};\n\n\n/**\n * optional string last_name = 3;\n * @return {string}\n */\nproto.qb.smg.UpdateUserRequest.prototype.getLastName = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 3, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.qb.smg.UpdateUserRequest} returns this\n */\nproto.qb.smg.UpdateUserRequest.prototype.setLastName = function(value) {\n  return jspb.Message.setProto3StringField(this, 3, value);\n};\n\n\n/**\n * optional string username = 4;\n * @return {string}\n */\nproto.qb.smg.UpdateUserRequest.prototype.getUsername = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 4, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.qb.smg.UpdateUserRequest} returns this\n */\nproto.qb.smg.UpdateUserRequest.prototype.setUsername = function(value) {\n  return jspb.Message.setProto3StringField(this, 4, value);\n};\n\n\n/**\n * optional google.protobuf.Timestamp date_of_birth = 5;\n * @return {?proto.google.protobuf.Timestamp}\n */\nproto.qb.smg.UpdateUserRequest.prototype.getDateOfBirth = function() {\n  return /** @type{?proto.google.protobuf.Timestamp} */ (\n    jspb.Message.getWrapperField(this, google_protobuf_timestamp_pb.Timestamp, 5));\n};\n\n\n/**\n * @param {?proto.google.protobuf.Timestamp|undefined} value\n * @return {!proto.qb.smg.UpdateUserRequest} returns this\n*/\nproto.qb.smg.UpdateUserRequest.prototype.setDateOfBirth = function(value) {\n  return jspb.Message.setWrapperField(this, 5, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.qb.smg.UpdateUserRequest} returns this\n */\nproto.qb.smg.UpdateUserRequest.prototype.clearDateOfBirth = function() {\n  return this.setDateOfBirth(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.qb.smg.UpdateUserRequest.prototype.hasDateOfBirth = function() {\n  return jspb.Message.getField(this, 5) != null;\n};\n\n\n/**\n * optional string handedness = 6;\n * @return {string}\n */\nproto.qb.smg.UpdateUserRequest.prototype.getHandedness = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 6, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.qb.smg.UpdateUserRequest} returns this\n */\nproto.qb.smg.UpdateUserRequest.prototype.setHandedness = function(value) {\n  return jspb.Message.setProto3StringField(this, 6, value);\n};\n\n\n/**\n * optional string handicap = 16;\n * @return {string}\n */\nproto.qb.smg.UpdateUserRequest.prototype.getHandicap = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 16, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.qb.smg.UpdateUserRequest} returns this\n */\nproto.qb.smg.UpdateUserRequest.prototype.setHandicap = function(value) {\n  return jspb.Message.setProto3StringField(this, 16, value);\n};\n\n\n/**\n * optional bool allow_text_notifications = 17;\n * @return {boolean}\n */\nproto.qb.smg.UpdateUserRequest.prototype.getAllowTextNotifications = function() {\n  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 17, false));\n};\n\n\n/**\n * @param {boolean} value\n * @return {!proto.qb.smg.UpdateUserRequest} returns this\n */\nproto.qb.smg.UpdateUserRequest.prototype.setAllowTextNotifications = function(value) {\n  return jspb.Message.setProto3BooleanField(this, 17, value);\n};\n\n\n/**\n * optional bool allow_email_notifications = 18;\n * @return {boolean}\n */\nproto.qb.smg.UpdateUserRequest.prototype.getAllowEmailNotifications = function() {\n  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 18, false));\n};\n\n\n/**\n * @param {boolean} value\n * @return {!proto.qb.smg.UpdateUserRequest} returns this\n */\nproto.qb.smg.UpdateUserRequest.prototype.setAllowEmailNotifications = function(value) {\n  return jspb.Message.setProto3BooleanField(this, 18, value);\n};\n\n\n/**\n * optional bool allow_partner_promos = 19;\n * @return {boolean}\n */\nproto.qb.smg.UpdateUserRequest.prototype.getAllowPartnerPromos = function() {\n  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 19, false));\n};\n\n\n/**\n * @param {boolean} value\n * @return {!proto.qb.smg.UpdateUserRequest} returns this\n */\nproto.qb.smg.UpdateUserRequest.prototype.setAllowPartnerPromos = function(value) {\n  return jspb.Message.setProto3BooleanField(this, 19, value);\n};\n\n\n/**\n * optional Location location = 101;\n * @return {?proto.qb.smg.Location}\n */\nproto.qb.smg.UpdateUserRequest.prototype.getLocation = function() {\n  return /** @type{?proto.qb.smg.Location} */ (\n    jspb.Message.getWrapperField(this, proto.qb.smg.Location, 101));\n};\n\n\n/**\n * @param {?proto.qb.smg.Location|undefined} value\n * @return {!proto.qb.smg.UpdateUserRequest} returns this\n*/\nproto.qb.smg.UpdateUserRequest.prototype.setLocation = function(value) {\n  return jspb.Message.setWrapperField(this, 101, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.qb.smg.UpdateUserRequest} returns this\n */\nproto.qb.smg.UpdateUserRequest.prototype.clearLocation = function() {\n  return this.setLocation(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.qb.smg.UpdateUserRequest.prototype.hasLocation = function() {\n  return jspb.Message.getField(this, 101) != null;\n};\n\n\n/**\n * optional int32 venue_id = 102;\n * @return {number}\n */\nproto.qb.smg.UpdateUserRequest.prototype.getVenueId = function() {\n  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 102, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.qb.smg.UpdateUserRequest} returns this\n */\nproto.qb.smg.UpdateUserRequest.prototype.setVenueId = function(value) {\n  return jspb.Message.setProto3IntField(this, 102, value);\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.qb.smg.UpdateUserReply.prototype.toObject = function(opt_includeInstance) {\n  return proto.qb.smg.UpdateUserReply.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.qb.smg.UpdateUserReply} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.qb.smg.UpdateUserReply.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    success: jspb.Message.getBooleanFieldWithDefault(msg, 1, false),\n    error: (f = msg.getError()) && proto.qb.smg.Error.toObject(includeInstance, f)\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.qb.smg.UpdateUserReply}\n */\nproto.qb.smg.UpdateUserReply.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.qb.smg.UpdateUserReply;\n  return proto.qb.smg.UpdateUserReply.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.qb.smg.UpdateUserReply} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.qb.smg.UpdateUserReply}\n */\nproto.qb.smg.UpdateUserReply.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {boolean} */ (reader.readBool());\n      msg.setSuccess(value);\n      break;\n    case 2:\n      var value = new proto.qb.smg.Error;\n      reader.readMessage(value,proto.qb.smg.Error.deserializeBinaryFromReader);\n      msg.setError(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.qb.smg.UpdateUserReply.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.qb.smg.UpdateUserReply.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.qb.smg.UpdateUserReply} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.qb.smg.UpdateUserReply.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getSuccess();\n  if (f) {\n    writer.writeBool(\n      1,\n      f\n    );\n  }\n  f = message.getError();\n  if (f != null) {\n    writer.writeMessage(\n      2,\n      f,\n      proto.qb.smg.Error.serializeBinaryToWriter\n    );\n  }\n};\n\n\n/**\n * optional bool success = 1;\n * @return {boolean}\n */\nproto.qb.smg.UpdateUserReply.prototype.getSuccess = function() {\n  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 1, false));\n};\n\n\n/**\n * @param {boolean} value\n * @return {!proto.qb.smg.UpdateUserReply} returns this\n */\nproto.qb.smg.UpdateUserReply.prototype.setSuccess = function(value) {\n  return jspb.Message.setProto3BooleanField(this, 1, value);\n};\n\n\n/**\n * optional Error error = 2;\n * @return {?proto.qb.smg.Error}\n */\nproto.qb.smg.UpdateUserReply.prototype.getError = function() {\n  return /** @type{?proto.qb.smg.Error} */ (\n    jspb.Message.getWrapperField(this, proto.qb.smg.Error, 2));\n};\n\n\n/**\n * @param {?proto.qb.smg.Error|undefined} value\n * @return {!proto.qb.smg.UpdateUserReply} returns this\n*/\nproto.qb.smg.UpdateUserReply.prototype.setError = function(value) {\n  return jspb.Message.setWrapperField(this, 2, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.qb.smg.UpdateUserReply} returns this\n */\nproto.qb.smg.UpdateUserReply.prototype.clearError = function() {\n  return this.setError(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.qb.smg.UpdateUserReply.prototype.hasError = function() {\n  return jspb.Message.getField(this, 2) != null;\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.qb.smg.EmailLoginRequest.prototype.toObject = function(opt_includeInstance) {\n  return proto.qb.smg.EmailLoginRequest.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.qb.smg.EmailLoginRequest} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.qb.smg.EmailLoginRequest.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    emailAddress: jspb.Message.getFieldWithDefault(msg, 1, \"\"),\n    password: jspb.Message.getFieldWithDefault(msg, 2, \"\"),\n    location: (f = msg.getLocation()) && proto.qb.smg.Location.toObject(includeInstance, f),\n    venueId: jspb.Message.getFieldWithDefault(msg, 102, 0)\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.qb.smg.EmailLoginRequest}\n */\nproto.qb.smg.EmailLoginRequest.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.qb.smg.EmailLoginRequest;\n  return proto.qb.smg.EmailLoginRequest.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.qb.smg.EmailLoginRequest} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.qb.smg.EmailLoginRequest}\n */\nproto.qb.smg.EmailLoginRequest.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setEmailAddress(value);\n      break;\n    case 2:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setPassword(value);\n      break;\n    case 101:\n      var value = new proto.qb.smg.Location;\n      reader.readMessage(value,proto.qb.smg.Location.deserializeBinaryFromReader);\n      msg.setLocation(value);\n      break;\n    case 102:\n      var value = /** @type {number} */ (reader.readInt32());\n      msg.setVenueId(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.qb.smg.EmailLoginRequest.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.qb.smg.EmailLoginRequest.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.qb.smg.EmailLoginRequest} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.qb.smg.EmailLoginRequest.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getEmailAddress();\n  if (f.length > 0) {\n    writer.writeString(\n      1,\n      f\n    );\n  }\n  f = message.getPassword();\n  if (f.length > 0) {\n    writer.writeString(\n      2,\n      f\n    );\n  }\n  f = message.getLocation();\n  if (f != null) {\n    writer.writeMessage(\n      101,\n      f,\n      proto.qb.smg.Location.serializeBinaryToWriter\n    );\n  }\n  f = message.getVenueId();\n  if (f !== 0) {\n    writer.writeInt32(\n      102,\n      f\n    );\n  }\n};\n\n\n/**\n * optional string email_address = 1;\n * @return {string}\n */\nproto.qb.smg.EmailLoginRequest.prototype.getEmailAddress = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.qb.smg.EmailLoginRequest} returns this\n */\nproto.qb.smg.EmailLoginRequest.prototype.setEmailAddress = function(value) {\n  return jspb.Message.setProto3StringField(this, 1, value);\n};\n\n\n/**\n * optional string password = 2;\n * @return {string}\n */\nproto.qb.smg.EmailLoginRequest.prototype.getPassword = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.qb.smg.EmailLoginRequest} returns this\n */\nproto.qb.smg.EmailLoginRequest.prototype.setPassword = function(value) {\n  return jspb.Message.setProto3StringField(this, 2, value);\n};\n\n\n/**\n * optional Location location = 101;\n * @return {?proto.qb.smg.Location}\n */\nproto.qb.smg.EmailLoginRequest.prototype.getLocation = function() {\n  return /** @type{?proto.qb.smg.Location} */ (\n    jspb.Message.getWrapperField(this, proto.qb.smg.Location, 101));\n};\n\n\n/**\n * @param {?proto.qb.smg.Location|undefined} value\n * @return {!proto.qb.smg.EmailLoginRequest} returns this\n*/\nproto.qb.smg.EmailLoginRequest.prototype.setLocation = function(value) {\n  return jspb.Message.setWrapperField(this, 101, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.qb.smg.EmailLoginRequest} returns this\n */\nproto.qb.smg.EmailLoginRequest.prototype.clearLocation = function() {\n  return this.setLocation(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.qb.smg.EmailLoginRequest.prototype.hasLocation = function() {\n  return jspb.Message.getField(this, 101) != null;\n};\n\n\n/**\n * optional int32 venue_id = 102;\n * @return {number}\n */\nproto.qb.smg.EmailLoginRequest.prototype.getVenueId = function() {\n  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 102, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.qb.smg.EmailLoginRequest} returns this\n */\nproto.qb.smg.EmailLoginRequest.prototype.setVenueId = function(value) {\n  return jspb.Message.setProto3IntField(this, 102, value);\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.qb.smg.EmailLoginReply.prototype.toObject = function(opt_includeInstance) {\n  return proto.qb.smg.EmailLoginReply.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.qb.smg.EmailLoginReply} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.qb.smg.EmailLoginReply.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    success: jspb.Message.getBooleanFieldWithDefault(msg, 1, false),\n    error: (f = msg.getError()) && proto.qb.smg.Error.toObject(includeInstance, f),\n    session: (f = msg.getSession()) && proto.qb.smg.Session.toObject(includeInstance, f),\n    user: (f = msg.getUser()) && proto.qb.smg.User.toObject(includeInstance, f)\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.qb.smg.EmailLoginReply}\n */\nproto.qb.smg.EmailLoginReply.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.qb.smg.EmailLoginReply;\n  return proto.qb.smg.EmailLoginReply.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.qb.smg.EmailLoginReply} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.qb.smg.EmailLoginReply}\n */\nproto.qb.smg.EmailLoginReply.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {boolean} */ (reader.readBool());\n      msg.setSuccess(value);\n      break;\n    case 2:\n      var value = new proto.qb.smg.Error;\n      reader.readMessage(value,proto.qb.smg.Error.deserializeBinaryFromReader);\n      msg.setError(value);\n      break;\n    case 3:\n      var value = new proto.qb.smg.Session;\n      reader.readMessage(value,proto.qb.smg.Session.deserializeBinaryFromReader);\n      msg.setSession(value);\n      break;\n    case 4:\n      var value = new proto.qb.smg.User;\n      reader.readMessage(value,proto.qb.smg.User.deserializeBinaryFromReader);\n      msg.setUser(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.qb.smg.EmailLoginReply.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.qb.smg.EmailLoginReply.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.qb.smg.EmailLoginReply} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.qb.smg.EmailLoginReply.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getSuccess();\n  if (f) {\n    writer.writeBool(\n      1,\n      f\n    );\n  }\n  f = message.getError();\n  if (f != null) {\n    writer.writeMessage(\n      2,\n      f,\n      proto.qb.smg.Error.serializeBinaryToWriter\n    );\n  }\n  f = message.getSession();\n  if (f != null) {\n    writer.writeMessage(\n      3,\n      f,\n      proto.qb.smg.Session.serializeBinaryToWriter\n    );\n  }\n  f = message.getUser();\n  if (f != null) {\n    writer.writeMessage(\n      4,\n      f,\n      proto.qb.smg.User.serializeBinaryToWriter\n    );\n  }\n};\n\n\n/**\n * optional bool success = 1;\n * @return {boolean}\n */\nproto.qb.smg.EmailLoginReply.prototype.getSuccess = function() {\n  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 1, false));\n};\n\n\n/**\n * @param {boolean} value\n * @return {!proto.qb.smg.EmailLoginReply} returns this\n */\nproto.qb.smg.EmailLoginReply.prototype.setSuccess = function(value) {\n  return jspb.Message.setProto3BooleanField(this, 1, value);\n};\n\n\n/**\n * optional Error error = 2;\n * @return {?proto.qb.smg.Error}\n */\nproto.qb.smg.EmailLoginReply.prototype.getError = function() {\n  return /** @type{?proto.qb.smg.Error} */ (\n    jspb.Message.getWrapperField(this, proto.qb.smg.Error, 2));\n};\n\n\n/**\n * @param {?proto.qb.smg.Error|undefined} value\n * @return {!proto.qb.smg.EmailLoginReply} returns this\n*/\nproto.qb.smg.EmailLoginReply.prototype.setError = function(value) {\n  return jspb.Message.setWrapperField(this, 2, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.qb.smg.EmailLoginReply} returns this\n */\nproto.qb.smg.EmailLoginReply.prototype.clearError = function() {\n  return this.setError(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.qb.smg.EmailLoginReply.prototype.hasError = function() {\n  return jspb.Message.getField(this, 2) != null;\n};\n\n\n/**\n * optional Session session = 3;\n * @return {?proto.qb.smg.Session}\n */\nproto.qb.smg.EmailLoginReply.prototype.getSession = function() {\n  return /** @type{?proto.qb.smg.Session} */ (\n    jspb.Message.getWrapperField(this, proto.qb.smg.Session, 3));\n};\n\n\n/**\n * @param {?proto.qb.smg.Session|undefined} value\n * @return {!proto.qb.smg.EmailLoginReply} returns this\n*/\nproto.qb.smg.EmailLoginReply.prototype.setSession = function(value) {\n  return jspb.Message.setWrapperField(this, 3, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.qb.smg.EmailLoginReply} returns this\n */\nproto.qb.smg.EmailLoginReply.prototype.clearSession = function() {\n  return this.setSession(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.qb.smg.EmailLoginReply.prototype.hasSession = function() {\n  return jspb.Message.getField(this, 3) != null;\n};\n\n\n/**\n * optional User user = 4;\n * @return {?proto.qb.smg.User}\n */\nproto.qb.smg.EmailLoginReply.prototype.getUser = function() {\n  return /** @type{?proto.qb.smg.User} */ (\n    jspb.Message.getWrapperField(this, proto.qb.smg.User, 4));\n};\n\n\n/**\n * @param {?proto.qb.smg.User|undefined} value\n * @return {!proto.qb.smg.EmailLoginReply} returns this\n*/\nproto.qb.smg.EmailLoginReply.prototype.setUser = function(value) {\n  return jspb.Message.setWrapperField(this, 4, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.qb.smg.EmailLoginReply} returns this\n */\nproto.qb.smg.EmailLoginReply.prototype.clearUser = function() {\n  return this.setUser(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.qb.smg.EmailLoginReply.prototype.hasUser = function() {\n  return jspb.Message.getField(this, 4) != null;\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.qb.smg.ImageLoginRequest.prototype.toObject = function(opt_includeInstance) {\n  return proto.qb.smg.ImageLoginRequest.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.qb.smg.ImageLoginRequest} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.qb.smg.ImageLoginRequest.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    image: msg.getImage_asB64(),\n    location: (f = msg.getLocation()) && proto.qb.smg.Location.toObject(includeInstance, f),\n    venueId: jspb.Message.getFieldWithDefault(msg, 102, 0)\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.qb.smg.ImageLoginRequest}\n */\nproto.qb.smg.ImageLoginRequest.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.qb.smg.ImageLoginRequest;\n  return proto.qb.smg.ImageLoginRequest.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.qb.smg.ImageLoginRequest} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.qb.smg.ImageLoginRequest}\n */\nproto.qb.smg.ImageLoginRequest.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 2:\n      var value = /** @type {!Uint8Array} */ (reader.readBytes());\n      msg.setImage(value);\n      break;\n    case 101:\n      var value = new proto.qb.smg.Location;\n      reader.readMessage(value,proto.qb.smg.Location.deserializeBinaryFromReader);\n      msg.setLocation(value);\n      break;\n    case 102:\n      var value = /** @type {number} */ (reader.readInt32());\n      msg.setVenueId(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.qb.smg.ImageLoginRequest.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.qb.smg.ImageLoginRequest.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.qb.smg.ImageLoginRequest} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.qb.smg.ImageLoginRequest.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getImage_asU8();\n  if (f.length > 0) {\n    writer.writeBytes(\n      2,\n      f\n    );\n  }\n  f = message.getLocation();\n  if (f != null) {\n    writer.writeMessage(\n      101,\n      f,\n      proto.qb.smg.Location.serializeBinaryToWriter\n    );\n  }\n  f = message.getVenueId();\n  if (f !== 0) {\n    writer.writeInt32(\n      102,\n      f\n    );\n  }\n};\n\n\n/**\n * optional bytes image = 2;\n * @return {!(string|Uint8Array)}\n */\nproto.qb.smg.ImageLoginRequest.prototype.getImage = function() {\n  return /** @type {!(string|Uint8Array)} */ (jspb.Message.getFieldWithDefault(this, 2, \"\"));\n};\n\n\n/**\n * optional bytes image = 2;\n * This is a type-conversion wrapper around `getImage()`\n * @return {string}\n */\nproto.qb.smg.ImageLoginRequest.prototype.getImage_asB64 = function() {\n  return /** @type {string} */ (jspb.Message.bytesAsB64(\n      this.getImage()));\n};\n\n\n/**\n * optional bytes image = 2;\n * Note that Uint8Array is not supported on all browsers.\n * @see http://caniuse.com/Uint8Array\n * This is a type-conversion wrapper around `getImage()`\n * @return {!Uint8Array}\n */\nproto.qb.smg.ImageLoginRequest.prototype.getImage_asU8 = function() {\n  return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8(\n      this.getImage()));\n};\n\n\n/**\n * @param {!(string|Uint8Array)} value\n * @return {!proto.qb.smg.ImageLoginRequest} returns this\n */\nproto.qb.smg.ImageLoginRequest.prototype.setImage = function(value) {\n  return jspb.Message.setProto3BytesField(this, 2, value);\n};\n\n\n/**\n * optional Location location = 101;\n * @return {?proto.qb.smg.Location}\n */\nproto.qb.smg.ImageLoginRequest.prototype.getLocation = function() {\n  return /** @type{?proto.qb.smg.Location} */ (\n    jspb.Message.getWrapperField(this, proto.qb.smg.Location, 101));\n};\n\n\n/**\n * @param {?proto.qb.smg.Location|undefined} value\n * @return {!proto.qb.smg.ImageLoginRequest} returns this\n*/\nproto.qb.smg.ImageLoginRequest.prototype.setLocation = function(value) {\n  return jspb.Message.setWrapperField(this, 101, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.qb.smg.ImageLoginRequest} returns this\n */\nproto.qb.smg.ImageLoginRequest.prototype.clearLocation = function() {\n  return this.setLocation(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.qb.smg.ImageLoginRequest.prototype.hasLocation = function() {\n  return jspb.Message.getField(this, 101) != null;\n};\n\n\n/**\n * optional int32 venue_id = 102;\n * @return {number}\n */\nproto.qb.smg.ImageLoginRequest.prototype.getVenueId = function() {\n  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 102, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.qb.smg.ImageLoginRequest} returns this\n */\nproto.qb.smg.ImageLoginRequest.prototype.setVenueId = function(value) {\n  return jspb.Message.setProto3IntField(this, 102, value);\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.qb.smg.ImageLoginReply.prototype.toObject = function(opt_includeInstance) {\n  return proto.qb.smg.ImageLoginReply.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.qb.smg.ImageLoginReply} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.qb.smg.ImageLoginReply.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    success: jspb.Message.getBooleanFieldWithDefault(msg, 1, false),\n    error: (f = msg.getError()) && proto.qb.smg.Error.toObject(includeInstance, f),\n    session: (f = msg.getSession()) && proto.qb.smg.Session.toObject(includeInstance, f),\n    user: (f = msg.getUser()) && proto.qb.smg.User.toObject(includeInstance, f)\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.qb.smg.ImageLoginReply}\n */\nproto.qb.smg.ImageLoginReply.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.qb.smg.ImageLoginReply;\n  return proto.qb.smg.ImageLoginReply.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.qb.smg.ImageLoginReply} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.qb.smg.ImageLoginReply}\n */\nproto.qb.smg.ImageLoginReply.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {boolean} */ (reader.readBool());\n      msg.setSuccess(value);\n      break;\n    case 2:\n      var value = new proto.qb.smg.Error;\n      reader.readMessage(value,proto.qb.smg.Error.deserializeBinaryFromReader);\n      msg.setError(value);\n      break;\n    case 3:\n      var value = new proto.qb.smg.Session;\n      reader.readMessage(value,proto.qb.smg.Session.deserializeBinaryFromReader);\n      msg.setSession(value);\n      break;\n    case 4:\n      var value = new proto.qb.smg.User;\n      reader.readMessage(value,proto.qb.smg.User.deserializeBinaryFromReader);\n      msg.setUser(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.qb.smg.ImageLoginReply.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.qb.smg.ImageLoginReply.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.qb.smg.ImageLoginReply} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.qb.smg.ImageLoginReply.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getSuccess();\n  if (f) {\n    writer.writeBool(\n      1,\n      f\n    );\n  }\n  f = message.getError();\n  if (f != null) {\n    writer.writeMessage(\n      2,\n      f,\n      proto.qb.smg.Error.serializeBinaryToWriter\n    );\n  }\n  f = message.getSession();\n  if (f != null) {\n    writer.writeMessage(\n      3,\n      f,\n      proto.qb.smg.Session.serializeBinaryToWriter\n    );\n  }\n  f = message.getUser();\n  if (f != null) {\n    writer.writeMessage(\n      4,\n      f,\n      proto.qb.smg.User.serializeBinaryToWriter\n    );\n  }\n};\n\n\n/**\n * optional bool success = 1;\n * @return {boolean}\n */\nproto.qb.smg.ImageLoginReply.prototype.getSuccess = function() {\n  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 1, false));\n};\n\n\n/**\n * @param {boolean} value\n * @return {!proto.qb.smg.ImageLoginReply} returns this\n */\nproto.qb.smg.ImageLoginReply.prototype.setSuccess = function(value) {\n  return jspb.Message.setProto3BooleanField(this, 1, value);\n};\n\n\n/**\n * optional Error error = 2;\n * @return {?proto.qb.smg.Error}\n */\nproto.qb.smg.ImageLoginReply.prototype.getError = function() {\n  return /** @type{?proto.qb.smg.Error} */ (\n    jspb.Message.getWrapperField(this, proto.qb.smg.Error, 2));\n};\n\n\n/**\n * @param {?proto.qb.smg.Error|undefined} value\n * @return {!proto.qb.smg.ImageLoginReply} returns this\n*/\nproto.qb.smg.ImageLoginReply.prototype.setError = function(value) {\n  return jspb.Message.setWrapperField(this, 2, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.qb.smg.ImageLoginReply} returns this\n */\nproto.qb.smg.ImageLoginReply.prototype.clearError = function() {\n  return this.setError(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.qb.smg.ImageLoginReply.prototype.hasError = function() {\n  return jspb.Message.getField(this, 2) != null;\n};\n\n\n/**\n * optional Session session = 3;\n * @return {?proto.qb.smg.Session}\n */\nproto.qb.smg.ImageLoginReply.prototype.getSession = function() {\n  return /** @type{?proto.qb.smg.Session} */ (\n    jspb.Message.getWrapperField(this, proto.qb.smg.Session, 3));\n};\n\n\n/**\n * @param {?proto.qb.smg.Session|undefined} value\n * @return {!proto.qb.smg.ImageLoginReply} returns this\n*/\nproto.qb.smg.ImageLoginReply.prototype.setSession = function(value) {\n  return jspb.Message.setWrapperField(this, 3, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.qb.smg.ImageLoginReply} returns this\n */\nproto.qb.smg.ImageLoginReply.prototype.clearSession = function() {\n  return this.setSession(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.qb.smg.ImageLoginReply.prototype.hasSession = function() {\n  return jspb.Message.getField(this, 3) != null;\n};\n\n\n/**\n * optional User user = 4;\n * @return {?proto.qb.smg.User}\n */\nproto.qb.smg.ImageLoginReply.prototype.getUser = function() {\n  return /** @type{?proto.qb.smg.User} */ (\n    jspb.Message.getWrapperField(this, proto.qb.smg.User, 4));\n};\n\n\n/**\n * @param {?proto.qb.smg.User|undefined} value\n * @return {!proto.qb.smg.ImageLoginReply} returns this\n*/\nproto.qb.smg.ImageLoginReply.prototype.setUser = function(value) {\n  return jspb.Message.setWrapperField(this, 4, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.qb.smg.ImageLoginReply} returns this\n */\nproto.qb.smg.ImageLoginReply.prototype.clearUser = function() {\n  return this.setUser(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.qb.smg.ImageLoginReply.prototype.hasUser = function() {\n  return jspb.Message.getField(this, 4) != null;\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.qb.smg.RequestOtpCodeRequest.prototype.toObject = function(opt_includeInstance) {\n  return proto.qb.smg.RequestOtpCodeRequest.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.qb.smg.RequestOtpCodeRequest} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.qb.smg.RequestOtpCodeRequest.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    emailAddress: jspb.Message.getFieldWithDefault(msg, 1, \"\"),\n    phoneNumber: jspb.Message.getFieldWithDefault(msg, 2, \"\"),\n    preferredotpmethod: jspb.Message.getFieldWithDefault(msg, 3, 0),\n    location: (f = msg.getLocation()) && proto.qb.smg.Location.toObject(includeInstance, f),\n    venueId: jspb.Message.getFieldWithDefault(msg, 102, 0)\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.qb.smg.RequestOtpCodeRequest}\n */\nproto.qb.smg.RequestOtpCodeRequest.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.qb.smg.RequestOtpCodeRequest;\n  return proto.qb.smg.RequestOtpCodeRequest.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.qb.smg.RequestOtpCodeRequest} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.qb.smg.RequestOtpCodeRequest}\n */\nproto.qb.smg.RequestOtpCodeRequest.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setEmailAddress(value);\n      break;\n    case 2:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setPhoneNumber(value);\n      break;\n    case 3:\n      var value = /** @type {!proto.qb.smg.OtpMethod} */ (reader.readEnum());\n      msg.setPreferredotpmethod(value);\n      break;\n    case 101:\n      var value = new proto.qb.smg.Location;\n      reader.readMessage(value,proto.qb.smg.Location.deserializeBinaryFromReader);\n      msg.setLocation(value);\n      break;\n    case 102:\n      var value = /** @type {number} */ (reader.readInt32());\n      msg.setVenueId(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.qb.smg.RequestOtpCodeRequest.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.qb.smg.RequestOtpCodeRequest.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.qb.smg.RequestOtpCodeRequest} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.qb.smg.RequestOtpCodeRequest.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getEmailAddress();\n  if (f.length > 0) {\n    writer.writeString(\n      1,\n      f\n    );\n  }\n  f = message.getPhoneNumber();\n  if (f.length > 0) {\n    writer.writeString(\n      2,\n      f\n    );\n  }\n  f = message.getPreferredotpmethod();\n  if (f !== 0.0) {\n    writer.writeEnum(\n      3,\n      f\n    );\n  }\n  f = message.getLocation();\n  if (f != null) {\n    writer.writeMessage(\n      101,\n      f,\n      proto.qb.smg.Location.serializeBinaryToWriter\n    );\n  }\n  f = message.getVenueId();\n  if (f !== 0) {\n    writer.writeInt32(\n      102,\n      f\n    );\n  }\n};\n\n\n/**\n * optional string email_address = 1;\n * @return {string}\n */\nproto.qb.smg.RequestOtpCodeRequest.prototype.getEmailAddress = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.qb.smg.RequestOtpCodeRequest} returns this\n */\nproto.qb.smg.RequestOtpCodeRequest.prototype.setEmailAddress = function(value) {\n  return jspb.Message.setProto3StringField(this, 1, value);\n};\n\n\n/**\n * optional string phone_number = 2;\n * @return {string}\n */\nproto.qb.smg.RequestOtpCodeRequest.prototype.getPhoneNumber = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.qb.smg.RequestOtpCodeRequest} returns this\n */\nproto.qb.smg.RequestOtpCodeRequest.prototype.setPhoneNumber = function(value) {\n  return jspb.Message.setProto3StringField(this, 2, value);\n};\n\n\n/**\n * optional OtpMethod preferredOtpMethod = 3;\n * @return {!proto.qb.smg.OtpMethod}\n */\nproto.qb.smg.RequestOtpCodeRequest.prototype.getPreferredotpmethod = function() {\n  return /** @type {!proto.qb.smg.OtpMethod} */ (jspb.Message.getFieldWithDefault(this, 3, 0));\n};\n\n\n/**\n * @param {!proto.qb.smg.OtpMethod} value\n * @return {!proto.qb.smg.RequestOtpCodeRequest} returns this\n */\nproto.qb.smg.RequestOtpCodeRequest.prototype.setPreferredotpmethod = function(value) {\n  return jspb.Message.setProto3EnumField(this, 3, value);\n};\n\n\n/**\n * optional Location location = 101;\n * @return {?proto.qb.smg.Location}\n */\nproto.qb.smg.RequestOtpCodeRequest.prototype.getLocation = function() {\n  return /** @type{?proto.qb.smg.Location} */ (\n    jspb.Message.getWrapperField(this, proto.qb.smg.Location, 101));\n};\n\n\n/**\n * @param {?proto.qb.smg.Location|undefined} value\n * @return {!proto.qb.smg.RequestOtpCodeRequest} returns this\n*/\nproto.qb.smg.RequestOtpCodeRequest.prototype.setLocation = function(value) {\n  return jspb.Message.setWrapperField(this, 101, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.qb.smg.RequestOtpCodeRequest} returns this\n */\nproto.qb.smg.RequestOtpCodeRequest.prototype.clearLocation = function() {\n  return this.setLocation(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.qb.smg.RequestOtpCodeRequest.prototype.hasLocation = function() {\n  return jspb.Message.getField(this, 101) != null;\n};\n\n\n/**\n * optional int32 venue_id = 102;\n * @return {number}\n */\nproto.qb.smg.RequestOtpCodeRequest.prototype.getVenueId = function() {\n  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 102, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.qb.smg.RequestOtpCodeRequest} returns this\n */\nproto.qb.smg.RequestOtpCodeRequest.prototype.setVenueId = function(value) {\n  return jspb.Message.setProto3IntField(this, 102, value);\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.qb.smg.RequestOtpCodeReply.prototype.toObject = function(opt_includeInstance) {\n  return proto.qb.smg.RequestOtpCodeReply.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.qb.smg.RequestOtpCodeReply} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.qb.smg.RequestOtpCodeReply.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    success: jspb.Message.getBooleanFieldWithDefault(msg, 1, false),\n    error: (f = msg.getError()) && proto.qb.smg.Error.toObject(includeInstance, f)\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.qb.smg.RequestOtpCodeReply}\n */\nproto.qb.smg.RequestOtpCodeReply.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.qb.smg.RequestOtpCodeReply;\n  return proto.qb.smg.RequestOtpCodeReply.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.qb.smg.RequestOtpCodeReply} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.qb.smg.RequestOtpCodeReply}\n */\nproto.qb.smg.RequestOtpCodeReply.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {boolean} */ (reader.readBool());\n      msg.setSuccess(value);\n      break;\n    case 2:\n      var value = new proto.qb.smg.Error;\n      reader.readMessage(value,proto.qb.smg.Error.deserializeBinaryFromReader);\n      msg.setError(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.qb.smg.RequestOtpCodeReply.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.qb.smg.RequestOtpCodeReply.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.qb.smg.RequestOtpCodeReply} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.qb.smg.RequestOtpCodeReply.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getSuccess();\n  if (f) {\n    writer.writeBool(\n      1,\n      f\n    );\n  }\n  f = message.getError();\n  if (f != null) {\n    writer.writeMessage(\n      2,\n      f,\n      proto.qb.smg.Error.serializeBinaryToWriter\n    );\n  }\n};\n\n\n/**\n * optional bool success = 1;\n * @return {boolean}\n */\nproto.qb.smg.RequestOtpCodeReply.prototype.getSuccess = function() {\n  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 1, false));\n};\n\n\n/**\n * @param {boolean} value\n * @return {!proto.qb.smg.RequestOtpCodeReply} returns this\n */\nproto.qb.smg.RequestOtpCodeReply.prototype.setSuccess = function(value) {\n  return jspb.Message.setProto3BooleanField(this, 1, value);\n};\n\n\n/**\n * optional Error error = 2;\n * @return {?proto.qb.smg.Error}\n */\nproto.qb.smg.RequestOtpCodeReply.prototype.getError = function() {\n  return /** @type{?proto.qb.smg.Error} */ (\n    jspb.Message.getWrapperField(this, proto.qb.smg.Error, 2));\n};\n\n\n/**\n * @param {?proto.qb.smg.Error|undefined} value\n * @return {!proto.qb.smg.RequestOtpCodeReply} returns this\n*/\nproto.qb.smg.RequestOtpCodeReply.prototype.setError = function(value) {\n  return jspb.Message.setWrapperField(this, 2, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.qb.smg.RequestOtpCodeReply} returns this\n */\nproto.qb.smg.RequestOtpCodeReply.prototype.clearError = function() {\n  return this.setError(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.qb.smg.RequestOtpCodeReply.prototype.hasError = function() {\n  return jspb.Message.getField(this, 2) != null;\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.qb.smg.RetrieveCodeForAdminRequest.prototype.toObject = function(opt_includeInstance) {\n  return proto.qb.smg.RetrieveCodeForAdminRequest.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.qb.smg.RetrieveCodeForAdminRequest} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.qb.smg.RetrieveCodeForAdminRequest.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    emailAddress: jspb.Message.getFieldWithDefault(msg, 1, \"\"),\n    phoneNumber: jspb.Message.getFieldWithDefault(msg, 2, \"\"),\n    preferredotpmethod: jspb.Message.getFieldWithDefault(msg, 3, 0),\n    wipeKey: jspb.Message.getFieldWithDefault(msg, 4, \"\"),\n    location: (f = msg.getLocation()) && proto.qb.smg.Location.toObject(includeInstance, f),\n    venueId: jspb.Message.getFieldWithDefault(msg, 102, 0)\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.qb.smg.RetrieveCodeForAdminRequest}\n */\nproto.qb.smg.RetrieveCodeForAdminRequest.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.qb.smg.RetrieveCodeForAdminRequest;\n  return proto.qb.smg.RetrieveCodeForAdminRequest.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.qb.smg.RetrieveCodeForAdminRequest} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.qb.smg.RetrieveCodeForAdminRequest}\n */\nproto.qb.smg.RetrieveCodeForAdminRequest.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setEmailAddress(value);\n      break;\n    case 2:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setPhoneNumber(value);\n      break;\n    case 3:\n      var value = /** @type {!proto.qb.smg.OtpMethod} */ (reader.readEnum());\n      msg.setPreferredotpmethod(value);\n      break;\n    case 4:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setWipeKey(value);\n      break;\n    case 101:\n      var value = new proto.qb.smg.Location;\n      reader.readMessage(value,proto.qb.smg.Location.deserializeBinaryFromReader);\n      msg.setLocation(value);\n      break;\n    case 102:\n      var value = /** @type {number} */ (reader.readInt32());\n      msg.setVenueId(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.qb.smg.RetrieveCodeForAdminRequest.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.qb.smg.RetrieveCodeForAdminRequest.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.qb.smg.RetrieveCodeForAdminRequest} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.qb.smg.RetrieveCodeForAdminRequest.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getEmailAddress();\n  if (f.length > 0) {\n    writer.writeString(\n      1,\n      f\n    );\n  }\n  f = message.getPhoneNumber();\n  if (f.length > 0) {\n    writer.writeString(\n      2,\n      f\n    );\n  }\n  f = message.getPreferredotpmethod();\n  if (f !== 0.0) {\n    writer.writeEnum(\n      3,\n      f\n    );\n  }\n  f = message.getWipeKey();\n  if (f.length > 0) {\n    writer.writeString(\n      4,\n      f\n    );\n  }\n  f = message.getLocation();\n  if (f != null) {\n    writer.writeMessage(\n      101,\n      f,\n      proto.qb.smg.Location.serializeBinaryToWriter\n    );\n  }\n  f = message.getVenueId();\n  if (f !== 0) {\n    writer.writeInt32(\n      102,\n      f\n    );\n  }\n};\n\n\n/**\n * optional string email_address = 1;\n * @return {string}\n */\nproto.qb.smg.RetrieveCodeForAdminRequest.prototype.getEmailAddress = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.qb.smg.RetrieveCodeForAdminRequest} returns this\n */\nproto.qb.smg.RetrieveCodeForAdminRequest.prototype.setEmailAddress = function(value) {\n  return jspb.Message.setProto3StringField(this, 1, value);\n};\n\n\n/**\n * optional string phone_number = 2;\n * @return {string}\n */\nproto.qb.smg.RetrieveCodeForAdminRequest.prototype.getPhoneNumber = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.qb.smg.RetrieveCodeForAdminRequest} returns this\n */\nproto.qb.smg.RetrieveCodeForAdminRequest.prototype.setPhoneNumber = function(value) {\n  return jspb.Message.setProto3StringField(this, 2, value);\n};\n\n\n/**\n * optional OtpMethod preferredOtpMethod = 3;\n * @return {!proto.qb.smg.OtpMethod}\n */\nproto.qb.smg.RetrieveCodeForAdminRequest.prototype.getPreferredotpmethod = function() {\n  return /** @type {!proto.qb.smg.OtpMethod} */ (jspb.Message.getFieldWithDefault(this, 3, 0));\n};\n\n\n/**\n * @param {!proto.qb.smg.OtpMethod} value\n * @return {!proto.qb.smg.RetrieveCodeForAdminRequest} returns this\n */\nproto.qb.smg.RetrieveCodeForAdminRequest.prototype.setPreferredotpmethod = function(value) {\n  return jspb.Message.setProto3EnumField(this, 3, value);\n};\n\n\n/**\n * optional string wipe_key = 4;\n * @return {string}\n */\nproto.qb.smg.RetrieveCodeForAdminRequest.prototype.getWipeKey = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 4, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.qb.smg.RetrieveCodeForAdminRequest} returns this\n */\nproto.qb.smg.RetrieveCodeForAdminRequest.prototype.setWipeKey = function(value) {\n  return jspb.Message.setProto3StringField(this, 4, value);\n};\n\n\n/**\n * optional Location location = 101;\n * @return {?proto.qb.smg.Location}\n */\nproto.qb.smg.RetrieveCodeForAdminRequest.prototype.getLocation = function() {\n  return /** @type{?proto.qb.smg.Location} */ (\n    jspb.Message.getWrapperField(this, proto.qb.smg.Location, 101));\n};\n\n\n/**\n * @param {?proto.qb.smg.Location|undefined} value\n * @return {!proto.qb.smg.RetrieveCodeForAdminRequest} returns this\n*/\nproto.qb.smg.RetrieveCodeForAdminRequest.prototype.setLocation = function(value) {\n  return jspb.Message.setWrapperField(this, 101, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.qb.smg.RetrieveCodeForAdminRequest} returns this\n */\nproto.qb.smg.RetrieveCodeForAdminRequest.prototype.clearLocation = function() {\n  return this.setLocation(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.qb.smg.RetrieveCodeForAdminRequest.prototype.hasLocation = function() {\n  return jspb.Message.getField(this, 101) != null;\n};\n\n\n/**\n * optional int32 venue_id = 102;\n * @return {number}\n */\nproto.qb.smg.RetrieveCodeForAdminRequest.prototype.getVenueId = function() {\n  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 102, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.qb.smg.RetrieveCodeForAdminRequest} returns this\n */\nproto.qb.smg.RetrieveCodeForAdminRequest.prototype.setVenueId = function(value) {\n  return jspb.Message.setProto3IntField(this, 102, value);\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.qb.smg.RetrieveCodeForAdminReply.prototype.toObject = function(opt_includeInstance) {\n  return proto.qb.smg.RetrieveCodeForAdminReply.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.qb.smg.RetrieveCodeForAdminReply} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.qb.smg.RetrieveCodeForAdminReply.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    success: jspb.Message.getBooleanFieldWithDefault(msg, 1, false),\n    error: (f = msg.getError()) && proto.qb.smg.Error.toObject(includeInstance, f),\n    code: jspb.Message.getFieldWithDefault(msg, 3, \"\")\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.qb.smg.RetrieveCodeForAdminReply}\n */\nproto.qb.smg.RetrieveCodeForAdminReply.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.qb.smg.RetrieveCodeForAdminReply;\n  return proto.qb.smg.RetrieveCodeForAdminReply.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.qb.smg.RetrieveCodeForAdminReply} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.qb.smg.RetrieveCodeForAdminReply}\n */\nproto.qb.smg.RetrieveCodeForAdminReply.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {boolean} */ (reader.readBool());\n      msg.setSuccess(value);\n      break;\n    case 2:\n      var value = new proto.qb.smg.Error;\n      reader.readMessage(value,proto.qb.smg.Error.deserializeBinaryFromReader);\n      msg.setError(value);\n      break;\n    case 3:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setCode(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.qb.smg.RetrieveCodeForAdminReply.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.qb.smg.RetrieveCodeForAdminReply.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.qb.smg.RetrieveCodeForAdminReply} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.qb.smg.RetrieveCodeForAdminReply.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getSuccess();\n  if (f) {\n    writer.writeBool(\n      1,\n      f\n    );\n  }\n  f = message.getError();\n  if (f != null) {\n    writer.writeMessage(\n      2,\n      f,\n      proto.qb.smg.Error.serializeBinaryToWriter\n    );\n  }\n  f = message.getCode();\n  if (f.length > 0) {\n    writer.writeString(\n      3,\n      f\n    );\n  }\n};\n\n\n/**\n * optional bool success = 1;\n * @return {boolean}\n */\nproto.qb.smg.RetrieveCodeForAdminReply.prototype.getSuccess = function() {\n  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 1, false));\n};\n\n\n/**\n * @param {boolean} value\n * @return {!proto.qb.smg.RetrieveCodeForAdminReply} returns this\n */\nproto.qb.smg.RetrieveCodeForAdminReply.prototype.setSuccess = function(value) {\n  return jspb.Message.setProto3BooleanField(this, 1, value);\n};\n\n\n/**\n * optional Error error = 2;\n * @return {?proto.qb.smg.Error}\n */\nproto.qb.smg.RetrieveCodeForAdminReply.prototype.getError = function() {\n  return /** @type{?proto.qb.smg.Error} */ (\n    jspb.Message.getWrapperField(this, proto.qb.smg.Error, 2));\n};\n\n\n/**\n * @param {?proto.qb.smg.Error|undefined} value\n * @return {!proto.qb.smg.RetrieveCodeForAdminReply} returns this\n*/\nproto.qb.smg.RetrieveCodeForAdminReply.prototype.setError = function(value) {\n  return jspb.Message.setWrapperField(this, 2, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.qb.smg.RetrieveCodeForAdminReply} returns this\n */\nproto.qb.smg.RetrieveCodeForAdminReply.prototype.clearError = function() {\n  return this.setError(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.qb.smg.RetrieveCodeForAdminReply.prototype.hasError = function() {\n  return jspb.Message.getField(this, 2) != null;\n};\n\n\n/**\n * optional string code = 3;\n * @return {string}\n */\nproto.qb.smg.RetrieveCodeForAdminReply.prototype.getCode = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 3, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.qb.smg.RetrieveCodeForAdminReply} returns this\n */\nproto.qb.smg.RetrieveCodeForAdminReply.prototype.setCode = function(value) {\n  return jspb.Message.setProto3StringField(this, 3, value);\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.qb.smg.EnableSelfLimitationRequest.prototype.toObject = function(opt_includeInstance) {\n  return proto.qb.smg.EnableSelfLimitationRequest.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.qb.smg.EnableSelfLimitationRequest} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.qb.smg.EnableSelfLimitationRequest.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    token: jspb.Message.getFieldWithDefault(msg, 1, \"\"),\n    timeFrame: jspb.Message.getFieldWithDefault(msg, 2, 0),\n    location: (f = msg.getLocation()) && proto.qb.smg.Location.toObject(includeInstance, f),\n    venueId: jspb.Message.getFieldWithDefault(msg, 102, 0)\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.qb.smg.EnableSelfLimitationRequest}\n */\nproto.qb.smg.EnableSelfLimitationRequest.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.qb.smg.EnableSelfLimitationRequest;\n  return proto.qb.smg.EnableSelfLimitationRequest.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.qb.smg.EnableSelfLimitationRequest} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.qb.smg.EnableSelfLimitationRequest}\n */\nproto.qb.smg.EnableSelfLimitationRequest.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setToken(value);\n      break;\n    case 2:\n      var value = /** @type {!proto.qb.smg.EnableSelfLimitationRequest.TimeFrame} */ (reader.readEnum());\n      msg.setTimeFrame(value);\n      break;\n    case 101:\n      var value = new proto.qb.smg.Location;\n      reader.readMessage(value,proto.qb.smg.Location.deserializeBinaryFromReader);\n      msg.setLocation(value);\n      break;\n    case 102:\n      var value = /** @type {number} */ (reader.readInt32());\n      msg.setVenueId(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.qb.smg.EnableSelfLimitationRequest.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.qb.smg.EnableSelfLimitationRequest.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.qb.smg.EnableSelfLimitationRequest} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.qb.smg.EnableSelfLimitationRequest.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getToken();\n  if (f.length > 0) {\n    writer.writeString(\n      1,\n      f\n    );\n  }\n  f = message.getTimeFrame();\n  if (f !== 0.0) {\n    writer.writeEnum(\n      2,\n      f\n    );\n  }\n  f = message.getLocation();\n  if (f != null) {\n    writer.writeMessage(\n      101,\n      f,\n      proto.qb.smg.Location.serializeBinaryToWriter\n    );\n  }\n  f = message.getVenueId();\n  if (f !== 0) {\n    writer.writeInt32(\n      102,\n      f\n    );\n  }\n};\n\n\n/**\n * @enum {number}\n */\nproto.qb.smg.EnableSelfLimitationRequest.TimeFrame = {\n  SIX_MONTH: 0,\n  ONE_YEAR: 1,\n  TWO_YEAR: 2,\n  FOREVER: 3\n};\n\n/**\n * optional string token = 1;\n * @return {string}\n */\nproto.qb.smg.EnableSelfLimitationRequest.prototype.getToken = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.qb.smg.EnableSelfLimitationRequest} returns this\n */\nproto.qb.smg.EnableSelfLimitationRequest.prototype.setToken = function(value) {\n  return jspb.Message.setProto3StringField(this, 1, value);\n};\n\n\n/**\n * optional TimeFrame time_frame = 2;\n * @return {!proto.qb.smg.EnableSelfLimitationRequest.TimeFrame}\n */\nproto.qb.smg.EnableSelfLimitationRequest.prototype.getTimeFrame = function() {\n  return /** @type {!proto.qb.smg.EnableSelfLimitationRequest.TimeFrame} */ (jspb.Message.getFieldWithDefault(this, 2, 0));\n};\n\n\n/**\n * @param {!proto.qb.smg.EnableSelfLimitationRequest.TimeFrame} value\n * @return {!proto.qb.smg.EnableSelfLimitationRequest} returns this\n */\nproto.qb.smg.EnableSelfLimitationRequest.prototype.setTimeFrame = function(value) {\n  return jspb.Message.setProto3EnumField(this, 2, value);\n};\n\n\n/**\n * optional Location location = 101;\n * @return {?proto.qb.smg.Location}\n */\nproto.qb.smg.EnableSelfLimitationRequest.prototype.getLocation = function() {\n  return /** @type{?proto.qb.smg.Location} */ (\n    jspb.Message.getWrapperField(this, proto.qb.smg.Location, 101));\n};\n\n\n/**\n * @param {?proto.qb.smg.Location|undefined} value\n * @return {!proto.qb.smg.EnableSelfLimitationRequest} returns this\n*/\nproto.qb.smg.EnableSelfLimitationRequest.prototype.setLocation = function(value) {\n  return jspb.Message.setWrapperField(this, 101, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.qb.smg.EnableSelfLimitationRequest} returns this\n */\nproto.qb.smg.EnableSelfLimitationRequest.prototype.clearLocation = function() {\n  return this.setLocation(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.qb.smg.EnableSelfLimitationRequest.prototype.hasLocation = function() {\n  return jspb.Message.getField(this, 101) != null;\n};\n\n\n/**\n * optional int32 venue_id = 102;\n * @return {number}\n */\nproto.qb.smg.EnableSelfLimitationRequest.prototype.getVenueId = function() {\n  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 102, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.qb.smg.EnableSelfLimitationRequest} returns this\n */\nproto.qb.smg.EnableSelfLimitationRequest.prototype.setVenueId = function(value) {\n  return jspb.Message.setProto3IntField(this, 102, value);\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.qb.smg.EnableSelfLimitationReply.prototype.toObject = function(opt_includeInstance) {\n  return proto.qb.smg.EnableSelfLimitationReply.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.qb.smg.EnableSelfLimitationReply} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.qb.smg.EnableSelfLimitationReply.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    success: jspb.Message.getBooleanFieldWithDefault(msg, 1, false),\n    error: (f = msg.getError()) && proto.qb.smg.Error.toObject(includeInstance, f)\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.qb.smg.EnableSelfLimitationReply}\n */\nproto.qb.smg.EnableSelfLimitationReply.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.qb.smg.EnableSelfLimitationReply;\n  return proto.qb.smg.EnableSelfLimitationReply.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.qb.smg.EnableSelfLimitationReply} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.qb.smg.EnableSelfLimitationReply}\n */\nproto.qb.smg.EnableSelfLimitationReply.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {boolean} */ (reader.readBool());\n      msg.setSuccess(value);\n      break;\n    case 2:\n      var value = new proto.qb.smg.Error;\n      reader.readMessage(value,proto.qb.smg.Error.deserializeBinaryFromReader);\n      msg.setError(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.qb.smg.EnableSelfLimitationReply.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.qb.smg.EnableSelfLimitationReply.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.qb.smg.EnableSelfLimitationReply} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.qb.smg.EnableSelfLimitationReply.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getSuccess();\n  if (f) {\n    writer.writeBool(\n      1,\n      f\n    );\n  }\n  f = message.getError();\n  if (f != null) {\n    writer.writeMessage(\n      2,\n      f,\n      proto.qb.smg.Error.serializeBinaryToWriter\n    );\n  }\n};\n\n\n/**\n * optional bool success = 1;\n * @return {boolean}\n */\nproto.qb.smg.EnableSelfLimitationReply.prototype.getSuccess = function() {\n  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 1, false));\n};\n\n\n/**\n * @param {boolean} value\n * @return {!proto.qb.smg.EnableSelfLimitationReply} returns this\n */\nproto.qb.smg.EnableSelfLimitationReply.prototype.setSuccess = function(value) {\n  return jspb.Message.setProto3BooleanField(this, 1, value);\n};\n\n\n/**\n * optional Error error = 2;\n * @return {?proto.qb.smg.Error}\n */\nproto.qb.smg.EnableSelfLimitationReply.prototype.getError = function() {\n  return /** @type{?proto.qb.smg.Error} */ (\n    jspb.Message.getWrapperField(this, proto.qb.smg.Error, 2));\n};\n\n\n/**\n * @param {?proto.qb.smg.Error|undefined} value\n * @return {!proto.qb.smg.EnableSelfLimitationReply} returns this\n*/\nproto.qb.smg.EnableSelfLimitationReply.prototype.setError = function(value) {\n  return jspb.Message.setWrapperField(this, 2, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.qb.smg.EnableSelfLimitationReply} returns this\n */\nproto.qb.smg.EnableSelfLimitationReply.prototype.clearError = function() {\n  return this.setError(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.qb.smg.EnableSelfLimitationReply.prototype.hasError = function() {\n  return jspb.Message.getField(this, 2) != null;\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.qb.smg.OtpLoginRequest.prototype.toObject = function(opt_includeInstance) {\n  return proto.qb.smg.OtpLoginRequest.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.qb.smg.OtpLoginRequest} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.qb.smg.OtpLoginRequest.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    emailAddress: jspb.Message.getFieldWithDefault(msg, 1, \"\"),\n    otpCode: jspb.Message.getFieldWithDefault(msg, 2, \"\"),\n    location: (f = msg.getLocation()) && proto.qb.smg.Location.toObject(includeInstance, f),\n    venueId: jspb.Message.getFieldWithDefault(msg, 102, 0)\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.qb.smg.OtpLoginRequest}\n */\nproto.qb.smg.OtpLoginRequest.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.qb.smg.OtpLoginRequest;\n  return proto.qb.smg.OtpLoginRequest.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.qb.smg.OtpLoginRequest} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.qb.smg.OtpLoginRequest}\n */\nproto.qb.smg.OtpLoginRequest.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setEmailAddress(value);\n      break;\n    case 2:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setOtpCode(value);\n      break;\n    case 101:\n      var value = new proto.qb.smg.Location;\n      reader.readMessage(value,proto.qb.smg.Location.deserializeBinaryFromReader);\n      msg.setLocation(value);\n      break;\n    case 102:\n      var value = /** @type {number} */ (reader.readInt32());\n      msg.setVenueId(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.qb.smg.OtpLoginRequest.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.qb.smg.OtpLoginRequest.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.qb.smg.OtpLoginRequest} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.qb.smg.OtpLoginRequest.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getEmailAddress();\n  if (f.length > 0) {\n    writer.writeString(\n      1,\n      f\n    );\n  }\n  f = message.getOtpCode();\n  if (f.length > 0) {\n    writer.writeString(\n      2,\n      f\n    );\n  }\n  f = message.getLocation();\n  if (f != null) {\n    writer.writeMessage(\n      101,\n      f,\n      proto.qb.smg.Location.serializeBinaryToWriter\n    );\n  }\n  f = message.getVenueId();\n  if (f !== 0) {\n    writer.writeInt32(\n      102,\n      f\n    );\n  }\n};\n\n\n/**\n * optional string email_address = 1;\n * @return {string}\n */\nproto.qb.smg.OtpLoginRequest.prototype.getEmailAddress = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.qb.smg.OtpLoginRequest} returns this\n */\nproto.qb.smg.OtpLoginRequest.prototype.setEmailAddress = function(value) {\n  return jspb.Message.setProto3StringField(this, 1, value);\n};\n\n\n/**\n * optional string otp_code = 2;\n * @return {string}\n */\nproto.qb.smg.OtpLoginRequest.prototype.getOtpCode = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.qb.smg.OtpLoginRequest} returns this\n */\nproto.qb.smg.OtpLoginRequest.prototype.setOtpCode = function(value) {\n  return jspb.Message.setProto3StringField(this, 2, value);\n};\n\n\n/**\n * optional Location location = 101;\n * @return {?proto.qb.smg.Location}\n */\nproto.qb.smg.OtpLoginRequest.prototype.getLocation = function() {\n  return /** @type{?proto.qb.smg.Location} */ (\n    jspb.Message.getWrapperField(this, proto.qb.smg.Location, 101));\n};\n\n\n/**\n * @param {?proto.qb.smg.Location|undefined} value\n * @return {!proto.qb.smg.OtpLoginRequest} returns this\n*/\nproto.qb.smg.OtpLoginRequest.prototype.setLocation = function(value) {\n  return jspb.Message.setWrapperField(this, 101, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.qb.smg.OtpLoginRequest} returns this\n */\nproto.qb.smg.OtpLoginRequest.prototype.clearLocation = function() {\n  return this.setLocation(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.qb.smg.OtpLoginRequest.prototype.hasLocation = function() {\n  return jspb.Message.getField(this, 101) != null;\n};\n\n\n/**\n * optional int32 venue_id = 102;\n * @return {number}\n */\nproto.qb.smg.OtpLoginRequest.prototype.getVenueId = function() {\n  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 102, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.qb.smg.OtpLoginRequest} returns this\n */\nproto.qb.smg.OtpLoginRequest.prototype.setVenueId = function(value) {\n  return jspb.Message.setProto3IntField(this, 102, value);\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.qb.smg.OtpLoginReply.prototype.toObject = function(opt_includeInstance) {\n  return proto.qb.smg.OtpLoginReply.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.qb.smg.OtpLoginReply} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.qb.smg.OtpLoginReply.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    success: jspb.Message.getBooleanFieldWithDefault(msg, 1, false),\n    error: (f = msg.getError()) && proto.qb.smg.Error.toObject(includeInstance, f),\n    session: (f = msg.getSession()) && proto.qb.smg.Session.toObject(includeInstance, f),\n    user: (f = msg.getUser()) && proto.qb.smg.User.toObject(includeInstance, f)\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.qb.smg.OtpLoginReply}\n */\nproto.qb.smg.OtpLoginReply.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.qb.smg.OtpLoginReply;\n  return proto.qb.smg.OtpLoginReply.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.qb.smg.OtpLoginReply} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.qb.smg.OtpLoginReply}\n */\nproto.qb.smg.OtpLoginReply.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {boolean} */ (reader.readBool());\n      msg.setSuccess(value);\n      break;\n    case 2:\n      var value = new proto.qb.smg.Error;\n      reader.readMessage(value,proto.qb.smg.Error.deserializeBinaryFromReader);\n      msg.setError(value);\n      break;\n    case 3:\n      var value = new proto.qb.smg.Session;\n      reader.readMessage(value,proto.qb.smg.Session.deserializeBinaryFromReader);\n      msg.setSession(value);\n      break;\n    case 4:\n      var value = new proto.qb.smg.User;\n      reader.readMessage(value,proto.qb.smg.User.deserializeBinaryFromReader);\n      msg.setUser(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.qb.smg.OtpLoginReply.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.qb.smg.OtpLoginReply.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.qb.smg.OtpLoginReply} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.qb.smg.OtpLoginReply.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getSuccess();\n  if (f) {\n    writer.writeBool(\n      1,\n      f\n    );\n  }\n  f = message.getError();\n  if (f != null) {\n    writer.writeMessage(\n      2,\n      f,\n      proto.qb.smg.Error.serializeBinaryToWriter\n    );\n  }\n  f = message.getSession();\n  if (f != null) {\n    writer.writeMessage(\n      3,\n      f,\n      proto.qb.smg.Session.serializeBinaryToWriter\n    );\n  }\n  f = message.getUser();\n  if (f != null) {\n    writer.writeMessage(\n      4,\n      f,\n      proto.qb.smg.User.serializeBinaryToWriter\n    );\n  }\n};\n\n\n/**\n * optional bool success = 1;\n * @return {boolean}\n */\nproto.qb.smg.OtpLoginReply.prototype.getSuccess = function() {\n  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 1, false));\n};\n\n\n/**\n * @param {boolean} value\n * @return {!proto.qb.smg.OtpLoginReply} returns this\n */\nproto.qb.smg.OtpLoginReply.prototype.setSuccess = function(value) {\n  return jspb.Message.setProto3BooleanField(this, 1, value);\n};\n\n\n/**\n * optional Error error = 2;\n * @return {?proto.qb.smg.Error}\n */\nproto.qb.smg.OtpLoginReply.prototype.getError = function() {\n  return /** @type{?proto.qb.smg.Error} */ (\n    jspb.Message.getWrapperField(this, proto.qb.smg.Error, 2));\n};\n\n\n/**\n * @param {?proto.qb.smg.Error|undefined} value\n * @return {!proto.qb.smg.OtpLoginReply} returns this\n*/\nproto.qb.smg.OtpLoginReply.prototype.setError = function(value) {\n  return jspb.Message.setWrapperField(this, 2, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.qb.smg.OtpLoginReply} returns this\n */\nproto.qb.smg.OtpLoginReply.prototype.clearError = function() {\n  return this.setError(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.qb.smg.OtpLoginReply.prototype.hasError = function() {\n  return jspb.Message.getField(this, 2) != null;\n};\n\n\n/**\n * optional Session session = 3;\n * @return {?proto.qb.smg.Session}\n */\nproto.qb.smg.OtpLoginReply.prototype.getSession = function() {\n  return /** @type{?proto.qb.smg.Session} */ (\n    jspb.Message.getWrapperField(this, proto.qb.smg.Session, 3));\n};\n\n\n/**\n * @param {?proto.qb.smg.Session|undefined} value\n * @return {!proto.qb.smg.OtpLoginReply} returns this\n*/\nproto.qb.smg.OtpLoginReply.prototype.setSession = function(value) {\n  return jspb.Message.setWrapperField(this, 3, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.qb.smg.OtpLoginReply} returns this\n */\nproto.qb.smg.OtpLoginReply.prototype.clearSession = function() {\n  return this.setSession(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.qb.smg.OtpLoginReply.prototype.hasSession = function() {\n  return jspb.Message.getField(this, 3) != null;\n};\n\n\n/**\n * optional User user = 4;\n * @return {?proto.qb.smg.User}\n */\nproto.qb.smg.OtpLoginReply.prototype.getUser = function() {\n  return /** @type{?proto.qb.smg.User} */ (\n    jspb.Message.getWrapperField(this, proto.qb.smg.User, 4));\n};\n\n\n/**\n * @param {?proto.qb.smg.User|undefined} value\n * @return {!proto.qb.smg.OtpLoginReply} returns this\n*/\nproto.qb.smg.OtpLoginReply.prototype.setUser = function(value) {\n  return jspb.Message.setWrapperField(this, 4, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.qb.smg.OtpLoginReply} returns this\n */\nproto.qb.smg.OtpLoginReply.prototype.clearUser = function() {\n  return this.setUser(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.qb.smg.OtpLoginReply.prototype.hasUser = function() {\n  return jspb.Message.getField(this, 4) != null;\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.qb.smg.VerifyOtpCodeRequest.prototype.toObject = function(opt_includeInstance) {\n  return proto.qb.smg.VerifyOtpCodeRequest.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.qb.smg.VerifyOtpCodeRequest} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.qb.smg.VerifyOtpCodeRequest.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    emailAddress: jspb.Message.getFieldWithDefault(msg, 1, \"\"),\n    phoneNumber: jspb.Message.getFieldWithDefault(msg, 2, \"\"),\n    otpCode: jspb.Message.getFieldWithDefault(msg, 3, \"\")\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.qb.smg.VerifyOtpCodeRequest}\n */\nproto.qb.smg.VerifyOtpCodeRequest.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.qb.smg.VerifyOtpCodeRequest;\n  return proto.qb.smg.VerifyOtpCodeRequest.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.qb.smg.VerifyOtpCodeRequest} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.qb.smg.VerifyOtpCodeRequest}\n */\nproto.qb.smg.VerifyOtpCodeRequest.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setEmailAddress(value);\n      break;\n    case 2:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setPhoneNumber(value);\n      break;\n    case 3:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setOtpCode(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.qb.smg.VerifyOtpCodeRequest.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.qb.smg.VerifyOtpCodeRequest.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.qb.smg.VerifyOtpCodeRequest} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.qb.smg.VerifyOtpCodeRequest.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getEmailAddress();\n  if (f.length > 0) {\n    writer.writeString(\n      1,\n      f\n    );\n  }\n  f = message.getPhoneNumber();\n  if (f.length > 0) {\n    writer.writeString(\n      2,\n      f\n    );\n  }\n  f = message.getOtpCode();\n  if (f.length > 0) {\n    writer.writeString(\n      3,\n      f\n    );\n  }\n};\n\n\n/**\n * optional string email_address = 1;\n * @return {string}\n */\nproto.qb.smg.VerifyOtpCodeRequest.prototype.getEmailAddress = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.qb.smg.VerifyOtpCodeRequest} returns this\n */\nproto.qb.smg.VerifyOtpCodeRequest.prototype.setEmailAddress = function(value) {\n  return jspb.Message.setProto3StringField(this, 1, value);\n};\n\n\n/**\n * optional string phone_number = 2;\n * @return {string}\n */\nproto.qb.smg.VerifyOtpCodeRequest.prototype.getPhoneNumber = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.qb.smg.VerifyOtpCodeRequest} returns this\n */\nproto.qb.smg.VerifyOtpCodeRequest.prototype.setPhoneNumber = function(value) {\n  return jspb.Message.setProto3StringField(this, 2, value);\n};\n\n\n/**\n * optional string otp_code = 3;\n * @return {string}\n */\nproto.qb.smg.VerifyOtpCodeRequest.prototype.getOtpCode = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 3, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.qb.smg.VerifyOtpCodeRequest} returns this\n */\nproto.qb.smg.VerifyOtpCodeRequest.prototype.setOtpCode = function(value) {\n  return jspb.Message.setProto3StringField(this, 3, value);\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.qb.smg.VerifyOtpCodeReply.prototype.toObject = function(opt_includeInstance) {\n  return proto.qb.smg.VerifyOtpCodeReply.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.qb.smg.VerifyOtpCodeReply} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.qb.smg.VerifyOtpCodeReply.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    success: jspb.Message.getBooleanFieldWithDefault(msg, 1, false),\n    error: (f = msg.getError()) && proto.qb.smg.Error.toObject(includeInstance, f),\n    codeiscorrect: jspb.Message.getBooleanFieldWithDefault(msg, 3, false)\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.qb.smg.VerifyOtpCodeReply}\n */\nproto.qb.smg.VerifyOtpCodeReply.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.qb.smg.VerifyOtpCodeReply;\n  return proto.qb.smg.VerifyOtpCodeReply.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.qb.smg.VerifyOtpCodeReply} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.qb.smg.VerifyOtpCodeReply}\n */\nproto.qb.smg.VerifyOtpCodeReply.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {boolean} */ (reader.readBool());\n      msg.setSuccess(value);\n      break;\n    case 2:\n      var value = new proto.qb.smg.Error;\n      reader.readMessage(value,proto.qb.smg.Error.deserializeBinaryFromReader);\n      msg.setError(value);\n      break;\n    case 3:\n      var value = /** @type {boolean} */ (reader.readBool());\n      msg.setCodeiscorrect(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.qb.smg.VerifyOtpCodeReply.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.qb.smg.VerifyOtpCodeReply.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.qb.smg.VerifyOtpCodeReply} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.qb.smg.VerifyOtpCodeReply.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getSuccess();\n  if (f) {\n    writer.writeBool(\n      1,\n      f\n    );\n  }\n  f = message.getError();\n  if (f != null) {\n    writer.writeMessage(\n      2,\n      f,\n      proto.qb.smg.Error.serializeBinaryToWriter\n    );\n  }\n  f = message.getCodeiscorrect();\n  if (f) {\n    writer.writeBool(\n      3,\n      f\n    );\n  }\n};\n\n\n/**\n * optional bool success = 1;\n * @return {boolean}\n */\nproto.qb.smg.VerifyOtpCodeReply.prototype.getSuccess = function() {\n  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 1, false));\n};\n\n\n/**\n * @param {boolean} value\n * @return {!proto.qb.smg.VerifyOtpCodeReply} returns this\n */\nproto.qb.smg.VerifyOtpCodeReply.prototype.setSuccess = function(value) {\n  return jspb.Message.setProto3BooleanField(this, 1, value);\n};\n\n\n/**\n * optional Error error = 2;\n * @return {?proto.qb.smg.Error}\n */\nproto.qb.smg.VerifyOtpCodeReply.prototype.getError = function() {\n  return /** @type{?proto.qb.smg.Error} */ (\n    jspb.Message.getWrapperField(this, proto.qb.smg.Error, 2));\n};\n\n\n/**\n * @param {?proto.qb.smg.Error|undefined} value\n * @return {!proto.qb.smg.VerifyOtpCodeReply} returns this\n*/\nproto.qb.smg.VerifyOtpCodeReply.prototype.setError = function(value) {\n  return jspb.Message.setWrapperField(this, 2, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.qb.smg.VerifyOtpCodeReply} returns this\n */\nproto.qb.smg.VerifyOtpCodeReply.prototype.clearError = function() {\n  return this.setError(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.qb.smg.VerifyOtpCodeReply.prototype.hasError = function() {\n  return jspb.Message.getField(this, 2) != null;\n};\n\n\n/**\n * optional bool codeIsCorrect = 3;\n * @return {boolean}\n */\nproto.qb.smg.VerifyOtpCodeReply.prototype.getCodeiscorrect = function() {\n  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 3, false));\n};\n\n\n/**\n * @param {boolean} value\n * @return {!proto.qb.smg.VerifyOtpCodeReply} returns this\n */\nproto.qb.smg.VerifyOtpCodeReply.prototype.setCodeiscorrect = function(value) {\n  return jspb.Message.setProto3BooleanField(this, 3, value);\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.qb.smg.LoginWithIdTokenRequest.prototype.toObject = function(opt_includeInstance) {\n  return proto.qb.smg.LoginWithIdTokenRequest.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.qb.smg.LoginWithIdTokenRequest} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.qb.smg.LoginWithIdTokenRequest.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    idToken: jspb.Message.getFieldWithDefault(msg, 2, \"\"),\n    location: (f = msg.getLocation()) && proto.qb.smg.Location.toObject(includeInstance, f),\n    venueId: jspb.Message.getFieldWithDefault(msg, 102, 0)\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.qb.smg.LoginWithIdTokenRequest}\n */\nproto.qb.smg.LoginWithIdTokenRequest.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.qb.smg.LoginWithIdTokenRequest;\n  return proto.qb.smg.LoginWithIdTokenRequest.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.qb.smg.LoginWithIdTokenRequest} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.qb.smg.LoginWithIdTokenRequest}\n */\nproto.qb.smg.LoginWithIdTokenRequest.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 2:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setIdToken(value);\n      break;\n    case 101:\n      var value = new proto.qb.smg.Location;\n      reader.readMessage(value,proto.qb.smg.Location.deserializeBinaryFromReader);\n      msg.setLocation(value);\n      break;\n    case 102:\n      var value = /** @type {number} */ (reader.readInt32());\n      msg.setVenueId(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.qb.smg.LoginWithIdTokenRequest.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.qb.smg.LoginWithIdTokenRequest.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.qb.smg.LoginWithIdTokenRequest} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.qb.smg.LoginWithIdTokenRequest.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getIdToken();\n  if (f.length > 0) {\n    writer.writeString(\n      2,\n      f\n    );\n  }\n  f = message.getLocation();\n  if (f != null) {\n    writer.writeMessage(\n      101,\n      f,\n      proto.qb.smg.Location.serializeBinaryToWriter\n    );\n  }\n  f = message.getVenueId();\n  if (f !== 0) {\n    writer.writeInt32(\n      102,\n      f\n    );\n  }\n};\n\n\n/**\n * optional string id_token = 2;\n * @return {string}\n */\nproto.qb.smg.LoginWithIdTokenRequest.prototype.getIdToken = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.qb.smg.LoginWithIdTokenRequest} returns this\n */\nproto.qb.smg.LoginWithIdTokenRequest.prototype.setIdToken = function(value) {\n  return jspb.Message.setProto3StringField(this, 2, value);\n};\n\n\n/**\n * optional Location location = 101;\n * @return {?proto.qb.smg.Location}\n */\nproto.qb.smg.LoginWithIdTokenRequest.prototype.getLocation = function() {\n  return /** @type{?proto.qb.smg.Location} */ (\n    jspb.Message.getWrapperField(this, proto.qb.smg.Location, 101));\n};\n\n\n/**\n * @param {?proto.qb.smg.Location|undefined} value\n * @return {!proto.qb.smg.LoginWithIdTokenRequest} returns this\n*/\nproto.qb.smg.LoginWithIdTokenRequest.prototype.setLocation = function(value) {\n  return jspb.Message.setWrapperField(this, 101, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.qb.smg.LoginWithIdTokenRequest} returns this\n */\nproto.qb.smg.LoginWithIdTokenRequest.prototype.clearLocation = function() {\n  return this.setLocation(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.qb.smg.LoginWithIdTokenRequest.prototype.hasLocation = function() {\n  return jspb.Message.getField(this, 101) != null;\n};\n\n\n/**\n * optional int32 venue_id = 102;\n * @return {number}\n */\nproto.qb.smg.LoginWithIdTokenRequest.prototype.getVenueId = function() {\n  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 102, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.qb.smg.LoginWithIdTokenRequest} returns this\n */\nproto.qb.smg.LoginWithIdTokenRequest.prototype.setVenueId = function(value) {\n  return jspb.Message.setProto3IntField(this, 102, value);\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.qb.smg.LoginWithIdTokenReply.prototype.toObject = function(opt_includeInstance) {\n  return proto.qb.smg.LoginWithIdTokenReply.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.qb.smg.LoginWithIdTokenReply} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.qb.smg.LoginWithIdTokenReply.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    success: jspb.Message.getBooleanFieldWithDefault(msg, 1, false),\n    error: (f = msg.getError()) && proto.qb.smg.Error.toObject(includeInstance, f),\n    session: (f = msg.getSession()) && proto.qb.smg.Session.toObject(includeInstance, f),\n    user: (f = msg.getUser()) && proto.qb.smg.User.toObject(includeInstance, f)\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.qb.smg.LoginWithIdTokenReply}\n */\nproto.qb.smg.LoginWithIdTokenReply.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.qb.smg.LoginWithIdTokenReply;\n  return proto.qb.smg.LoginWithIdTokenReply.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.qb.smg.LoginWithIdTokenReply} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.qb.smg.LoginWithIdTokenReply}\n */\nproto.qb.smg.LoginWithIdTokenReply.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {boolean} */ (reader.readBool());\n      msg.setSuccess(value);\n      break;\n    case 2:\n      var value = new proto.qb.smg.Error;\n      reader.readMessage(value,proto.qb.smg.Error.deserializeBinaryFromReader);\n      msg.setError(value);\n      break;\n    case 3:\n      var value = new proto.qb.smg.Session;\n      reader.readMessage(value,proto.qb.smg.Session.deserializeBinaryFromReader);\n      msg.setSession(value);\n      break;\n    case 4:\n      var value = new proto.qb.smg.User;\n      reader.readMessage(value,proto.qb.smg.User.deserializeBinaryFromReader);\n      msg.setUser(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.qb.smg.LoginWithIdTokenReply.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.qb.smg.LoginWithIdTokenReply.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.qb.smg.LoginWithIdTokenReply} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.qb.smg.LoginWithIdTokenReply.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getSuccess();\n  if (f) {\n    writer.writeBool(\n      1,\n      f\n    );\n  }\n  f = message.getError();\n  if (f != null) {\n    writer.writeMessage(\n      2,\n      f,\n      proto.qb.smg.Error.serializeBinaryToWriter\n    );\n  }\n  f = message.getSession();\n  if (f != null) {\n    writer.writeMessage(\n      3,\n      f,\n      proto.qb.smg.Session.serializeBinaryToWriter\n    );\n  }\n  f = message.getUser();\n  if (f != null) {\n    writer.writeMessage(\n      4,\n      f,\n      proto.qb.smg.User.serializeBinaryToWriter\n    );\n  }\n};\n\n\n/**\n * optional bool success = 1;\n * @return {boolean}\n */\nproto.qb.smg.LoginWithIdTokenReply.prototype.getSuccess = function() {\n  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 1, false));\n};\n\n\n/**\n * @param {boolean} value\n * @return {!proto.qb.smg.LoginWithIdTokenReply} returns this\n */\nproto.qb.smg.LoginWithIdTokenReply.prototype.setSuccess = function(value) {\n  return jspb.Message.setProto3BooleanField(this, 1, value);\n};\n\n\n/**\n * optional Error error = 2;\n * @return {?proto.qb.smg.Error}\n */\nproto.qb.smg.LoginWithIdTokenReply.prototype.getError = function() {\n  return /** @type{?proto.qb.smg.Error} */ (\n    jspb.Message.getWrapperField(this, proto.qb.smg.Error, 2));\n};\n\n\n/**\n * @param {?proto.qb.smg.Error|undefined} value\n * @return {!proto.qb.smg.LoginWithIdTokenReply} returns this\n*/\nproto.qb.smg.LoginWithIdTokenReply.prototype.setError = function(value) {\n  return jspb.Message.setWrapperField(this, 2, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.qb.smg.LoginWithIdTokenReply} returns this\n */\nproto.qb.smg.LoginWithIdTokenReply.prototype.clearError = function() {\n  return this.setError(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.qb.smg.LoginWithIdTokenReply.prototype.hasError = function() {\n  return jspb.Message.getField(this, 2) != null;\n};\n\n\n/**\n * optional Session session = 3;\n * @return {?proto.qb.smg.Session}\n */\nproto.qb.smg.LoginWithIdTokenReply.prototype.getSession = function() {\n  return /** @type{?proto.qb.smg.Session} */ (\n    jspb.Message.getWrapperField(this, proto.qb.smg.Session, 3));\n};\n\n\n/**\n * @param {?proto.qb.smg.Session|undefined} value\n * @return {!proto.qb.smg.LoginWithIdTokenReply} returns this\n*/\nproto.qb.smg.LoginWithIdTokenReply.prototype.setSession = function(value) {\n  return jspb.Message.setWrapperField(this, 3, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.qb.smg.LoginWithIdTokenReply} returns this\n */\nproto.qb.smg.LoginWithIdTokenReply.prototype.clearSession = function() {\n  return this.setSession(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.qb.smg.LoginWithIdTokenReply.prototype.hasSession = function() {\n  return jspb.Message.getField(this, 3) != null;\n};\n\n\n/**\n * optional User user = 4;\n * @return {?proto.qb.smg.User}\n */\nproto.qb.smg.LoginWithIdTokenReply.prototype.getUser = function() {\n  return /** @type{?proto.qb.smg.User} */ (\n    jspb.Message.getWrapperField(this, proto.qb.smg.User, 4));\n};\n\n\n/**\n * @param {?proto.qb.smg.User|undefined} value\n * @return {!proto.qb.smg.LoginWithIdTokenReply} returns this\n*/\nproto.qb.smg.LoginWithIdTokenReply.prototype.setUser = function(value) {\n  return jspb.Message.setWrapperField(this, 4, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.qb.smg.LoginWithIdTokenReply} returns this\n */\nproto.qb.smg.LoginWithIdTokenReply.prototype.clearUser = function() {\n  return this.setUser(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.qb.smg.LoginWithIdTokenReply.prototype.hasUser = function() {\n  return jspb.Message.getField(this, 4) != null;\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.qb.smg.GetUserRequest.prototype.toObject = function(opt_includeInstance) {\n  return proto.qb.smg.GetUserRequest.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.qb.smg.GetUserRequest} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.qb.smg.GetUserRequest.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    token: jspb.Message.getFieldWithDefault(msg, 1, \"\"),\n    location: (f = msg.getLocation()) && proto.qb.smg.Location.toObject(includeInstance, f),\n    venueId: jspb.Message.getFieldWithDefault(msg, 102, 0)\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.qb.smg.GetUserRequest}\n */\nproto.qb.smg.GetUserRequest.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.qb.smg.GetUserRequest;\n  return proto.qb.smg.GetUserRequest.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.qb.smg.GetUserRequest} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.qb.smg.GetUserRequest}\n */\nproto.qb.smg.GetUserRequest.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setToken(value);\n      break;\n    case 101:\n      var value = new proto.qb.smg.Location;\n      reader.readMessage(value,proto.qb.smg.Location.deserializeBinaryFromReader);\n      msg.setLocation(value);\n      break;\n    case 102:\n      var value = /** @type {number} */ (reader.readInt32());\n      msg.setVenueId(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.qb.smg.GetUserRequest.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.qb.smg.GetUserRequest.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.qb.smg.GetUserRequest} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.qb.smg.GetUserRequest.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getToken();\n  if (f.length > 0) {\n    writer.writeString(\n      1,\n      f\n    );\n  }\n  f = message.getLocation();\n  if (f != null) {\n    writer.writeMessage(\n      101,\n      f,\n      proto.qb.smg.Location.serializeBinaryToWriter\n    );\n  }\n  f = message.getVenueId();\n  if (f !== 0) {\n    writer.writeInt32(\n      102,\n      f\n    );\n  }\n};\n\n\n/**\n * optional string token = 1;\n * @return {string}\n */\nproto.qb.smg.GetUserRequest.prototype.getToken = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.qb.smg.GetUserRequest} returns this\n */\nproto.qb.smg.GetUserRequest.prototype.setToken = function(value) {\n  return jspb.Message.setProto3StringField(this, 1, value);\n};\n\n\n/**\n * optional Location location = 101;\n * @return {?proto.qb.smg.Location}\n */\nproto.qb.smg.GetUserRequest.prototype.getLocation = function() {\n  return /** @type{?proto.qb.smg.Location} */ (\n    jspb.Message.getWrapperField(this, proto.qb.smg.Location, 101));\n};\n\n\n/**\n * @param {?proto.qb.smg.Location|undefined} value\n * @return {!proto.qb.smg.GetUserRequest} returns this\n*/\nproto.qb.smg.GetUserRequest.prototype.setLocation = function(value) {\n  return jspb.Message.setWrapperField(this, 101, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.qb.smg.GetUserRequest} returns this\n */\nproto.qb.smg.GetUserRequest.prototype.clearLocation = function() {\n  return this.setLocation(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.qb.smg.GetUserRequest.prototype.hasLocation = function() {\n  return jspb.Message.getField(this, 101) != null;\n};\n\n\n/**\n * optional int32 venue_id = 102;\n * @return {number}\n */\nproto.qb.smg.GetUserRequest.prototype.getVenueId = function() {\n  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 102, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.qb.smg.GetUserRequest} returns this\n */\nproto.qb.smg.GetUserRequest.prototype.setVenueId = function(value) {\n  return jspb.Message.setProto3IntField(this, 102, value);\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.qb.smg.GetUserReply.prototype.toObject = function(opt_includeInstance) {\n  return proto.qb.smg.GetUserReply.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.qb.smg.GetUserReply} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.qb.smg.GetUserReply.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    success: jspb.Message.getBooleanFieldWithDefault(msg, 1, false),\n    error: (f = msg.getError()) && proto.qb.smg.Error.toObject(includeInstance, f),\n    user: (f = msg.getUser()) && proto.qb.smg.User.toObject(includeInstance, f),\n    maxshotamount: jspb.Message.getFieldWithDefault(msg, 25, 0),\n    hasactivetournament: jspb.Message.getBooleanFieldWithDefault(msg, 26, false),\n    isnewplayer: jspb.Message.getBooleanFieldWithDefault(msg, 27, false),\n    freeshotcount: jspb.Message.getFieldWithDefault(msg, 28, 0),\n    freeshotnumber: jspb.Message.getFieldWithDefault(msg, 29, 0),\n    hasnewbonus: jspb.Message.getBooleanFieldWithDefault(msg, 30, false),\n    tournamentAutoPlayAmount: jspb.Message.getFieldWithDefault(msg, 31, 0)\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.qb.smg.GetUserReply}\n */\nproto.qb.smg.GetUserReply.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.qb.smg.GetUserReply;\n  return proto.qb.smg.GetUserReply.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.qb.smg.GetUserReply} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.qb.smg.GetUserReply}\n */\nproto.qb.smg.GetUserReply.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {boolean} */ (reader.readBool());\n      msg.setSuccess(value);\n      break;\n    case 2:\n      var value = new proto.qb.smg.Error;\n      reader.readMessage(value,proto.qb.smg.Error.deserializeBinaryFromReader);\n      msg.setError(value);\n      break;\n    case 3:\n      var value = new proto.qb.smg.User;\n      reader.readMessage(value,proto.qb.smg.User.deserializeBinaryFromReader);\n      msg.setUser(value);\n      break;\n    case 25:\n      var value = /** @type {number} */ (reader.readInt32());\n      msg.setMaxshotamount(value);\n      break;\n    case 26:\n      var value = /** @type {boolean} */ (reader.readBool());\n      msg.setHasactivetournament(value);\n      break;\n    case 27:\n      var value = /** @type {boolean} */ (reader.readBool());\n      msg.setIsnewplayer(value);\n      break;\n    case 28:\n      var value = /** @type {number} */ (reader.readInt32());\n      msg.setFreeshotcount(value);\n      break;\n    case 29:\n      var value = /** @type {number} */ (reader.readInt32());\n      msg.setFreeshotnumber(value);\n      break;\n    case 30:\n      var value = /** @type {boolean} */ (reader.readBool());\n      msg.setHasnewbonus(value);\n      break;\n    case 31:\n      var value = /** @type {number} */ (reader.readInt32());\n      msg.setTournamentAutoPlayAmount(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.qb.smg.GetUserReply.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.qb.smg.GetUserReply.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.qb.smg.GetUserReply} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.qb.smg.GetUserReply.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getSuccess();\n  if (f) {\n    writer.writeBool(\n      1,\n      f\n    );\n  }\n  f = message.getError();\n  if (f != null) {\n    writer.writeMessage(\n      2,\n      f,\n      proto.qb.smg.Error.serializeBinaryToWriter\n    );\n  }\n  f = message.getUser();\n  if (f != null) {\n    writer.writeMessage(\n      3,\n      f,\n      proto.qb.smg.User.serializeBinaryToWriter\n    );\n  }\n  f = message.getMaxshotamount();\n  if (f !== 0) {\n    writer.writeInt32(\n      25,\n      f\n    );\n  }\n  f = message.getHasactivetournament();\n  if (f) {\n    writer.writeBool(\n      26,\n      f\n    );\n  }\n  f = message.getIsnewplayer();\n  if (f) {\n    writer.writeBool(\n      27,\n      f\n    );\n  }\n  f = message.getFreeshotcount();\n  if (f !== 0) {\n    writer.writeInt32(\n      28,\n      f\n    );\n  }\n  f = message.getFreeshotnumber();\n  if (f !== 0) {\n    writer.writeInt32(\n      29,\n      f\n    );\n  }\n  f = message.getHasnewbonus();\n  if (f) {\n    writer.writeBool(\n      30,\n      f\n    );\n  }\n  f = message.getTournamentAutoPlayAmount();\n  if (f !== 0) {\n    writer.writeInt32(\n      31,\n      f\n    );\n  }\n};\n\n\n/**\n * optional bool success = 1;\n * @return {boolean}\n */\nproto.qb.smg.GetUserReply.prototype.getSuccess = function() {\n  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 1, false));\n};\n\n\n/**\n * @param {boolean} value\n * @return {!proto.qb.smg.GetUserReply} returns this\n */\nproto.qb.smg.GetUserReply.prototype.setSuccess = function(value) {\n  return jspb.Message.setProto3BooleanField(this, 1, value);\n};\n\n\n/**\n * optional Error error = 2;\n * @return {?proto.qb.smg.Error}\n */\nproto.qb.smg.GetUserReply.prototype.getError = function() {\n  return /** @type{?proto.qb.smg.Error} */ (\n    jspb.Message.getWrapperField(this, proto.qb.smg.Error, 2));\n};\n\n\n/**\n * @param {?proto.qb.smg.Error|undefined} value\n * @return {!proto.qb.smg.GetUserReply} returns this\n*/\nproto.qb.smg.GetUserReply.prototype.setError = function(value) {\n  return jspb.Message.setWrapperField(this, 2, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.qb.smg.GetUserReply} returns this\n */\nproto.qb.smg.GetUserReply.prototype.clearError = function() {\n  return this.setError(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.qb.smg.GetUserReply.prototype.hasError = function() {\n  return jspb.Message.getField(this, 2) != null;\n};\n\n\n/**\n * optional User user = 3;\n * @return {?proto.qb.smg.User}\n */\nproto.qb.smg.GetUserReply.prototype.getUser = function() {\n  return /** @type{?proto.qb.smg.User} */ (\n    jspb.Message.getWrapperField(this, proto.qb.smg.User, 3));\n};\n\n\n/**\n * @param {?proto.qb.smg.User|undefined} value\n * @return {!proto.qb.smg.GetUserReply} returns this\n*/\nproto.qb.smg.GetUserReply.prototype.setUser = function(value) {\n  return jspb.Message.setWrapperField(this, 3, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.qb.smg.GetUserReply} returns this\n */\nproto.qb.smg.GetUserReply.prototype.clearUser = function() {\n  return this.setUser(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.qb.smg.GetUserReply.prototype.hasUser = function() {\n  return jspb.Message.getField(this, 3) != null;\n};\n\n\n/**\n * optional int32 maxShotAmount = 25;\n * @return {number}\n */\nproto.qb.smg.GetUserReply.prototype.getMaxshotamount = function() {\n  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 25, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.qb.smg.GetUserReply} returns this\n */\nproto.qb.smg.GetUserReply.prototype.setMaxshotamount = function(value) {\n  return jspb.Message.setProto3IntField(this, 25, value);\n};\n\n\n/**\n * optional bool hasActiveTournament = 26;\n * @return {boolean}\n */\nproto.qb.smg.GetUserReply.prototype.getHasactivetournament = function() {\n  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 26, false));\n};\n\n\n/**\n * @param {boolean} value\n * @return {!proto.qb.smg.GetUserReply} returns this\n */\nproto.qb.smg.GetUserReply.prototype.setHasactivetournament = function(value) {\n  return jspb.Message.setProto3BooleanField(this, 26, value);\n};\n\n\n/**\n * optional bool isNewPlayer = 27;\n * @return {boolean}\n */\nproto.qb.smg.GetUserReply.prototype.getIsnewplayer = function() {\n  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 27, false));\n};\n\n\n/**\n * @param {boolean} value\n * @return {!proto.qb.smg.GetUserReply} returns this\n */\nproto.qb.smg.GetUserReply.prototype.setIsnewplayer = function(value) {\n  return jspb.Message.setProto3BooleanField(this, 27, value);\n};\n\n\n/**\n * optional int32 freeShotCount = 28;\n * @return {number}\n */\nproto.qb.smg.GetUserReply.prototype.getFreeshotcount = function() {\n  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 28, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.qb.smg.GetUserReply} returns this\n */\nproto.qb.smg.GetUserReply.prototype.setFreeshotcount = function(value) {\n  return jspb.Message.setProto3IntField(this, 28, value);\n};\n\n\n/**\n * optional int32 freeShotNumber = 29;\n * @return {number}\n */\nproto.qb.smg.GetUserReply.prototype.getFreeshotnumber = function() {\n  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 29, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.qb.smg.GetUserReply} returns this\n */\nproto.qb.smg.GetUserReply.prototype.setFreeshotnumber = function(value) {\n  return jspb.Message.setProto3IntField(this, 29, value);\n};\n\n\n/**\n * optional bool hasNewBonus = 30;\n * @return {boolean}\n */\nproto.qb.smg.GetUserReply.prototype.getHasnewbonus = function() {\n  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 30, false));\n};\n\n\n/**\n * @param {boolean} value\n * @return {!proto.qb.smg.GetUserReply} returns this\n */\nproto.qb.smg.GetUserReply.prototype.setHasnewbonus = function(value) {\n  return jspb.Message.setProto3BooleanField(this, 30, value);\n};\n\n\n/**\n * optional int32 tournament_auto_play_amount = 31;\n * @return {number}\n */\nproto.qb.smg.GetUserReply.prototype.getTournamentAutoPlayAmount = function() {\n  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 31, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.qb.smg.GetUserReply} returns this\n */\nproto.qb.smg.GetUserReply.prototype.setTournamentAutoPlayAmount = function(value) {\n  return jspb.Message.setProto3IntField(this, 31, value);\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.qb.smg.GetBalanceRequest.prototype.toObject = function(opt_includeInstance) {\n  return proto.qb.smg.GetBalanceRequest.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.qb.smg.GetBalanceRequest} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.qb.smg.GetBalanceRequest.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    token: jspb.Message.getFieldWithDefault(msg, 1, \"\"),\n    location: (f = msg.getLocation()) && proto.qb.smg.Location.toObject(includeInstance, f),\n    venueId: jspb.Message.getFieldWithDefault(msg, 102, 0)\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.qb.smg.GetBalanceRequest}\n */\nproto.qb.smg.GetBalanceRequest.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.qb.smg.GetBalanceRequest;\n  return proto.qb.smg.GetBalanceRequest.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.qb.smg.GetBalanceRequest} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.qb.smg.GetBalanceRequest}\n */\nproto.qb.smg.GetBalanceRequest.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setToken(value);\n      break;\n    case 101:\n      var value = new proto.qb.smg.Location;\n      reader.readMessage(value,proto.qb.smg.Location.deserializeBinaryFromReader);\n      msg.setLocation(value);\n      break;\n    case 102:\n      var value = /** @type {number} */ (reader.readInt32());\n      msg.setVenueId(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.qb.smg.GetBalanceRequest.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.qb.smg.GetBalanceRequest.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.qb.smg.GetBalanceRequest} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.qb.smg.GetBalanceRequest.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getToken();\n  if (f.length > 0) {\n    writer.writeString(\n      1,\n      f\n    );\n  }\n  f = message.getLocation();\n  if (f != null) {\n    writer.writeMessage(\n      101,\n      f,\n      proto.qb.smg.Location.serializeBinaryToWriter\n    );\n  }\n  f = message.getVenueId();\n  if (f !== 0) {\n    writer.writeInt32(\n      102,\n      f\n    );\n  }\n};\n\n\n/**\n * optional string token = 1;\n * @return {string}\n */\nproto.qb.smg.GetBalanceRequest.prototype.getToken = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.qb.smg.GetBalanceRequest} returns this\n */\nproto.qb.smg.GetBalanceRequest.prototype.setToken = function(value) {\n  return jspb.Message.setProto3StringField(this, 1, value);\n};\n\n\n/**\n * optional Location location = 101;\n * @return {?proto.qb.smg.Location}\n */\nproto.qb.smg.GetBalanceRequest.prototype.getLocation = function() {\n  return /** @type{?proto.qb.smg.Location} */ (\n    jspb.Message.getWrapperField(this, proto.qb.smg.Location, 101));\n};\n\n\n/**\n * @param {?proto.qb.smg.Location|undefined} value\n * @return {!proto.qb.smg.GetBalanceRequest} returns this\n*/\nproto.qb.smg.GetBalanceRequest.prototype.setLocation = function(value) {\n  return jspb.Message.setWrapperField(this, 101, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.qb.smg.GetBalanceRequest} returns this\n */\nproto.qb.smg.GetBalanceRequest.prototype.clearLocation = function() {\n  return this.setLocation(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.qb.smg.GetBalanceRequest.prototype.hasLocation = function() {\n  return jspb.Message.getField(this, 101) != null;\n};\n\n\n/**\n * optional int32 venue_id = 102;\n * @return {number}\n */\nproto.qb.smg.GetBalanceRequest.prototype.getVenueId = function() {\n  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 102, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.qb.smg.GetBalanceRequest} returns this\n */\nproto.qb.smg.GetBalanceRequest.prototype.setVenueId = function(value) {\n  return jspb.Message.setProto3IntField(this, 102, value);\n};\n\n\n\n/**\n * List of repeated fields within this message type.\n * @private {!Array<number>}\n * @const\n */\nproto.qb.smg.GetBalanceReply.repeatedFields_ = [5];\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.qb.smg.GetBalanceReply.prototype.toObject = function(opt_includeInstance) {\n  return proto.qb.smg.GetBalanceReply.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.qb.smg.GetBalanceReply} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.qb.smg.GetBalanceReply.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    success: jspb.Message.getBooleanFieldWithDefault(msg, 1, false),\n    error: (f = msg.getError()) && proto.qb.smg.Error.toObject(includeInstance, f),\n    balance: jspb.Message.getFieldWithDefault(msg, 3, 0),\n    totalBonusesBalance: jspb.Message.getFieldWithDefault(msg, 4, 0),\n    walletBonusesList: jspb.Message.toObjectList(msg.getWalletBonusesList(),\n    proto.qb.smg.WalletBonus.toObject, includeInstance)\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.qb.smg.GetBalanceReply}\n */\nproto.qb.smg.GetBalanceReply.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.qb.smg.GetBalanceReply;\n  return proto.qb.smg.GetBalanceReply.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.qb.smg.GetBalanceReply} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.qb.smg.GetBalanceReply}\n */\nproto.qb.smg.GetBalanceReply.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {boolean} */ (reader.readBool());\n      msg.setSuccess(value);\n      break;\n    case 2:\n      var value = new proto.qb.smg.Error;\n      reader.readMessage(value,proto.qb.smg.Error.deserializeBinaryFromReader);\n      msg.setError(value);\n      break;\n    case 3:\n      var value = /** @type {number} */ (reader.readInt64());\n      msg.setBalance(value);\n      break;\n    case 4:\n      var value = /** @type {number} */ (reader.readInt64());\n      msg.setTotalBonusesBalance(value);\n      break;\n    case 5:\n      var value = new proto.qb.smg.WalletBonus;\n      reader.readMessage(value,proto.qb.smg.WalletBonus.deserializeBinaryFromReader);\n      msg.addWalletBonuses(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.qb.smg.GetBalanceReply.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.qb.smg.GetBalanceReply.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.qb.smg.GetBalanceReply} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.qb.smg.GetBalanceReply.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getSuccess();\n  if (f) {\n    writer.writeBool(\n      1,\n      f\n    );\n  }\n  f = message.getError();\n  if (f != null) {\n    writer.writeMessage(\n      2,\n      f,\n      proto.qb.smg.Error.serializeBinaryToWriter\n    );\n  }\n  f = message.getBalance();\n  if (f !== 0) {\n    writer.writeInt64(\n      3,\n      f\n    );\n  }\n  f = message.getTotalBonusesBalance();\n  if (f !== 0) {\n    writer.writeInt64(\n      4,\n      f\n    );\n  }\n  f = message.getWalletBonusesList();\n  if (f.length > 0) {\n    writer.writeRepeatedMessage(\n      5,\n      f,\n      proto.qb.smg.WalletBonus.serializeBinaryToWriter\n    );\n  }\n};\n\n\n/**\n * optional bool success = 1;\n * @return {boolean}\n */\nproto.qb.smg.GetBalanceReply.prototype.getSuccess = function() {\n  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 1, false));\n};\n\n\n/**\n * @param {boolean} value\n * @return {!proto.qb.smg.GetBalanceReply} returns this\n */\nproto.qb.smg.GetBalanceReply.prototype.setSuccess = function(value) {\n  return jspb.Message.setProto3BooleanField(this, 1, value);\n};\n\n\n/**\n * optional Error error = 2;\n * @return {?proto.qb.smg.Error}\n */\nproto.qb.smg.GetBalanceReply.prototype.getError = function() {\n  return /** @type{?proto.qb.smg.Error} */ (\n    jspb.Message.getWrapperField(this, proto.qb.smg.Error, 2));\n};\n\n\n/**\n * @param {?proto.qb.smg.Error|undefined} value\n * @return {!proto.qb.smg.GetBalanceReply} returns this\n*/\nproto.qb.smg.GetBalanceReply.prototype.setError = function(value) {\n  return jspb.Message.setWrapperField(this, 2, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.qb.smg.GetBalanceReply} returns this\n */\nproto.qb.smg.GetBalanceReply.prototype.clearError = function() {\n  return this.setError(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.qb.smg.GetBalanceReply.prototype.hasError = function() {\n  return jspb.Message.getField(this, 2) != null;\n};\n\n\n/**\n * optional int64 balance = 3;\n * @return {number}\n */\nproto.qb.smg.GetBalanceReply.prototype.getBalance = function() {\n  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 3, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.qb.smg.GetBalanceReply} returns this\n */\nproto.qb.smg.GetBalanceReply.prototype.setBalance = function(value) {\n  return jspb.Message.setProto3IntField(this, 3, value);\n};\n\n\n/**\n * optional int64 total_bonuses_balance = 4;\n * @return {number}\n */\nproto.qb.smg.GetBalanceReply.prototype.getTotalBonusesBalance = function() {\n  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 4, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.qb.smg.GetBalanceReply} returns this\n */\nproto.qb.smg.GetBalanceReply.prototype.setTotalBonusesBalance = function(value) {\n  return jspb.Message.setProto3IntField(this, 4, value);\n};\n\n\n/**\n * repeated WalletBonus wallet_bonuses = 5;\n * @return {!Array<!proto.qb.smg.WalletBonus>}\n */\nproto.qb.smg.GetBalanceReply.prototype.getWalletBonusesList = function() {\n  return /** @type{!Array<!proto.qb.smg.WalletBonus>} */ (\n    jspb.Message.getRepeatedWrapperField(this, proto.qb.smg.WalletBonus, 5));\n};\n\n\n/**\n * @param {!Array<!proto.qb.smg.WalletBonus>} value\n * @return {!proto.qb.smg.GetBalanceReply} returns this\n*/\nproto.qb.smg.GetBalanceReply.prototype.setWalletBonusesList = function(value) {\n  return jspb.Message.setRepeatedWrapperField(this, 5, value);\n};\n\n\n/**\n * @param {!proto.qb.smg.WalletBonus=} opt_value\n * @param {number=} opt_index\n * @return {!proto.qb.smg.WalletBonus}\n */\nproto.qb.smg.GetBalanceReply.prototype.addWalletBonuses = function(opt_value, opt_index) {\n  return jspb.Message.addToRepeatedWrapperField(this, 5, opt_value, proto.qb.smg.WalletBonus, opt_index);\n};\n\n\n/**\n * Clears the list making it empty but non-null.\n * @return {!proto.qb.smg.GetBalanceReply} returns this\n */\nproto.qb.smg.GetBalanceReply.prototype.clearWalletBonusesList = function() {\n  return this.setWalletBonusesList([]);\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.qb.smg.WalletBonus.prototype.toObject = function(opt_includeInstance) {\n  return proto.qb.smg.WalletBonus.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.qb.smg.WalletBonus} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.qb.smg.WalletBonus.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    bonusId: jspb.Message.getFieldWithDefault(msg, 1, 0),\n    bonusAmount: jspb.Message.getFieldWithDefault(msg, 2, 0),\n    turnoverAmount: jspb.Message.getFieldWithDefault(msg, 3, 0),\n    turnoverCurrent: jspb.Message.getFieldWithDefault(msg, 4, 0)\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.qb.smg.WalletBonus}\n */\nproto.qb.smg.WalletBonus.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.qb.smg.WalletBonus;\n  return proto.qb.smg.WalletBonus.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.qb.smg.WalletBonus} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.qb.smg.WalletBonus}\n */\nproto.qb.smg.WalletBonus.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {number} */ (reader.readUint64());\n      msg.setBonusId(value);\n      break;\n    case 2:\n      var value = /** @type {number} */ (reader.readInt64());\n      msg.setBonusAmount(value);\n      break;\n    case 3:\n      var value = /** @type {number} */ (reader.readInt64());\n      msg.setTurnoverAmount(value);\n      break;\n    case 4:\n      var value = /** @type {number} */ (reader.readInt64());\n      msg.setTurnoverCurrent(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.qb.smg.WalletBonus.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.qb.smg.WalletBonus.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.qb.smg.WalletBonus} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.qb.smg.WalletBonus.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getBonusId();\n  if (f !== 0) {\n    writer.writeUint64(\n      1,\n      f\n    );\n  }\n  f = message.getBonusAmount();\n  if (f !== 0) {\n    writer.writeInt64(\n      2,\n      f\n    );\n  }\n  f = message.getTurnoverAmount();\n  if (f !== 0) {\n    writer.writeInt64(\n      3,\n      f\n    );\n  }\n  f = message.getTurnoverCurrent();\n  if (f !== 0) {\n    writer.writeInt64(\n      4,\n      f\n    );\n  }\n};\n\n\n/**\n * optional uint64 bonus_id = 1;\n * @return {number}\n */\nproto.qb.smg.WalletBonus.prototype.getBonusId = function() {\n  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.qb.smg.WalletBonus} returns this\n */\nproto.qb.smg.WalletBonus.prototype.setBonusId = function(value) {\n  return jspb.Message.setProto3IntField(this, 1, value);\n};\n\n\n/**\n * optional int64 bonus_amount = 2;\n * @return {number}\n */\nproto.qb.smg.WalletBonus.prototype.getBonusAmount = function() {\n  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 2, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.qb.smg.WalletBonus} returns this\n */\nproto.qb.smg.WalletBonus.prototype.setBonusAmount = function(value) {\n  return jspb.Message.setProto3IntField(this, 2, value);\n};\n\n\n/**\n * optional int64 turnover_amount = 3;\n * @return {number}\n */\nproto.qb.smg.WalletBonus.prototype.getTurnoverAmount = function() {\n  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 3, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.qb.smg.WalletBonus} returns this\n */\nproto.qb.smg.WalletBonus.prototype.setTurnoverAmount = function(value) {\n  return jspb.Message.setProto3IntField(this, 3, value);\n};\n\n\n/**\n * optional int64 turnover_current = 4;\n * @return {number}\n */\nproto.qb.smg.WalletBonus.prototype.getTurnoverCurrent = function() {\n  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 4, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.qb.smg.WalletBonus} returns this\n */\nproto.qb.smg.WalletBonus.prototype.setTurnoverCurrent = function(value) {\n  return jspb.Message.setProto3IntField(this, 4, value);\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.qb.smg.BetResolutionRequest.prototype.toObject = function(opt_includeInstance) {\n  return proto.qb.smg.BetResolutionRequest.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.qb.smg.BetResolutionRequest} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.qb.smg.BetResolutionRequest.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    token: jspb.Message.getFieldWithDefault(msg, 1, \"\"),\n    betId: jspb.Message.getFieldWithDefault(msg, 2, 0),\n    location: (f = msg.getLocation()) && proto.qb.smg.Location.toObject(includeInstance, f),\n    venueId: jspb.Message.getFieldWithDefault(msg, 102, 0)\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.qb.smg.BetResolutionRequest}\n */\nproto.qb.smg.BetResolutionRequest.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.qb.smg.BetResolutionRequest;\n  return proto.qb.smg.BetResolutionRequest.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.qb.smg.BetResolutionRequest} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.qb.smg.BetResolutionRequest}\n */\nproto.qb.smg.BetResolutionRequest.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setToken(value);\n      break;\n    case 2:\n      var value = /** @type {number} */ (reader.readInt64());\n      msg.setBetId(value);\n      break;\n    case 101:\n      var value = new proto.qb.smg.Location;\n      reader.readMessage(value,proto.qb.smg.Location.deserializeBinaryFromReader);\n      msg.setLocation(value);\n      break;\n    case 102:\n      var value = /** @type {number} */ (reader.readInt32());\n      msg.setVenueId(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.qb.smg.BetResolutionRequest.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.qb.smg.BetResolutionRequest.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.qb.smg.BetResolutionRequest} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.qb.smg.BetResolutionRequest.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getToken();\n  if (f.length > 0) {\n    writer.writeString(\n      1,\n      f\n    );\n  }\n  f = message.getBetId();\n  if (f !== 0) {\n    writer.writeInt64(\n      2,\n      f\n    );\n  }\n  f = message.getLocation();\n  if (f != null) {\n    writer.writeMessage(\n      101,\n      f,\n      proto.qb.smg.Location.serializeBinaryToWriter\n    );\n  }\n  f = message.getVenueId();\n  if (f !== 0) {\n    writer.writeInt32(\n      102,\n      f\n    );\n  }\n};\n\n\n/**\n * optional string token = 1;\n * @return {string}\n */\nproto.qb.smg.BetResolutionRequest.prototype.getToken = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.qb.smg.BetResolutionRequest} returns this\n */\nproto.qb.smg.BetResolutionRequest.prototype.setToken = function(value) {\n  return jspb.Message.setProto3StringField(this, 1, value);\n};\n\n\n/**\n * optional int64 bet_id = 2;\n * @return {number}\n */\nproto.qb.smg.BetResolutionRequest.prototype.getBetId = function() {\n  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 2, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.qb.smg.BetResolutionRequest} returns this\n */\nproto.qb.smg.BetResolutionRequest.prototype.setBetId = function(value) {\n  return jspb.Message.setProto3IntField(this, 2, value);\n};\n\n\n/**\n * optional Location location = 101;\n * @return {?proto.qb.smg.Location}\n */\nproto.qb.smg.BetResolutionRequest.prototype.getLocation = function() {\n  return /** @type{?proto.qb.smg.Location} */ (\n    jspb.Message.getWrapperField(this, proto.qb.smg.Location, 101));\n};\n\n\n/**\n * @param {?proto.qb.smg.Location|undefined} value\n * @return {!proto.qb.smg.BetResolutionRequest} returns this\n*/\nproto.qb.smg.BetResolutionRequest.prototype.setLocation = function(value) {\n  return jspb.Message.setWrapperField(this, 101, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.qb.smg.BetResolutionRequest} returns this\n */\nproto.qb.smg.BetResolutionRequest.prototype.clearLocation = function() {\n  return this.setLocation(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.qb.smg.BetResolutionRequest.prototype.hasLocation = function() {\n  return jspb.Message.getField(this, 101) != null;\n};\n\n\n/**\n * optional int32 venue_id = 102;\n * @return {number}\n */\nproto.qb.smg.BetResolutionRequest.prototype.getVenueId = function() {\n  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 102, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.qb.smg.BetResolutionRequest} returns this\n */\nproto.qb.smg.BetResolutionRequest.prototype.setVenueId = function(value) {\n  return jspb.Message.setProto3IntField(this, 102, value);\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.qb.smg.BetResolutionReply.prototype.toObject = function(opt_includeInstance) {\n  return proto.qb.smg.BetResolutionReply.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.qb.smg.BetResolutionReply} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.qb.smg.BetResolutionReply.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    resolved: jspb.Message.getBooleanFieldWithDefault(msg, 1, false),\n    error: (f = msg.getError()) && proto.qb.smg.Error.toObject(includeInstance, f)\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.qb.smg.BetResolutionReply}\n */\nproto.qb.smg.BetResolutionReply.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.qb.smg.BetResolutionReply;\n  return proto.qb.smg.BetResolutionReply.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.qb.smg.BetResolutionReply} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.qb.smg.BetResolutionReply}\n */\nproto.qb.smg.BetResolutionReply.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {boolean} */ (reader.readBool());\n      msg.setResolved(value);\n      break;\n    case 2:\n      var value = new proto.qb.smg.Error;\n      reader.readMessage(value,proto.qb.smg.Error.deserializeBinaryFromReader);\n      msg.setError(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.qb.smg.BetResolutionReply.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.qb.smg.BetResolutionReply.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.qb.smg.BetResolutionReply} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.qb.smg.BetResolutionReply.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getResolved();\n  if (f) {\n    writer.writeBool(\n      1,\n      f\n    );\n  }\n  f = message.getError();\n  if (f != null) {\n    writer.writeMessage(\n      2,\n      f,\n      proto.qb.smg.Error.serializeBinaryToWriter\n    );\n  }\n};\n\n\n/**\n * optional bool resolved = 1;\n * @return {boolean}\n */\nproto.qb.smg.BetResolutionReply.prototype.getResolved = function() {\n  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 1, false));\n};\n\n\n/**\n * @param {boolean} value\n * @return {!proto.qb.smg.BetResolutionReply} returns this\n */\nproto.qb.smg.BetResolutionReply.prototype.setResolved = function(value) {\n  return jspb.Message.setProto3BooleanField(this, 1, value);\n};\n\n\n/**\n * optional Error error = 2;\n * @return {?proto.qb.smg.Error}\n */\nproto.qb.smg.BetResolutionReply.prototype.getError = function() {\n  return /** @type{?proto.qb.smg.Error} */ (\n    jspb.Message.getWrapperField(this, proto.qb.smg.Error, 2));\n};\n\n\n/**\n * @param {?proto.qb.smg.Error|undefined} value\n * @return {!proto.qb.smg.BetResolutionReply} returns this\n*/\nproto.qb.smg.BetResolutionReply.prototype.setError = function(value) {\n  return jspb.Message.setWrapperField(this, 2, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.qb.smg.BetResolutionReply} returns this\n */\nproto.qb.smg.BetResolutionReply.prototype.clearError = function() {\n  return this.setError(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.qb.smg.BetResolutionReply.prototype.hasError = function() {\n  return jspb.Message.getField(this, 2) != null;\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.qb.smg.GetBetsRequest.prototype.toObject = function(opt_includeInstance) {\n  return proto.qb.smg.GetBetsRequest.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.qb.smg.GetBetsRequest} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.qb.smg.GetBetsRequest.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    token: jspb.Message.getFieldWithDefault(msg, 1, \"\"),\n    betState: jspb.Message.getFieldWithDefault(msg, 2, \"\"),\n    location: (f = msg.getLocation()) && proto.qb.smg.Location.toObject(includeInstance, f),\n    venueId: jspb.Message.getFieldWithDefault(msg, 102, 0)\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.qb.smg.GetBetsRequest}\n */\nproto.qb.smg.GetBetsRequest.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.qb.smg.GetBetsRequest;\n  return proto.qb.smg.GetBetsRequest.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.qb.smg.GetBetsRequest} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.qb.smg.GetBetsRequest}\n */\nproto.qb.smg.GetBetsRequest.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setToken(value);\n      break;\n    case 2:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setBetState(value);\n      break;\n    case 101:\n      var value = new proto.qb.smg.Location;\n      reader.readMessage(value,proto.qb.smg.Location.deserializeBinaryFromReader);\n      msg.setLocation(value);\n      break;\n    case 102:\n      var value = /** @type {number} */ (reader.readInt32());\n      msg.setVenueId(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.qb.smg.GetBetsRequest.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.qb.smg.GetBetsRequest.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.qb.smg.GetBetsRequest} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.qb.smg.GetBetsRequest.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getToken();\n  if (f.length > 0) {\n    writer.writeString(\n      1,\n      f\n    );\n  }\n  f = message.getBetState();\n  if (f.length > 0) {\n    writer.writeString(\n      2,\n      f\n    );\n  }\n  f = message.getLocation();\n  if (f != null) {\n    writer.writeMessage(\n      101,\n      f,\n      proto.qb.smg.Location.serializeBinaryToWriter\n    );\n  }\n  f = message.getVenueId();\n  if (f !== 0) {\n    writer.writeInt32(\n      102,\n      f\n    );\n  }\n};\n\n\n/**\n * optional string token = 1;\n * @return {string}\n */\nproto.qb.smg.GetBetsRequest.prototype.getToken = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.qb.smg.GetBetsRequest} returns this\n */\nproto.qb.smg.GetBetsRequest.prototype.setToken = function(value) {\n  return jspb.Message.setProto3StringField(this, 1, value);\n};\n\n\n/**\n * optional string bet_state = 2;\n * @return {string}\n */\nproto.qb.smg.GetBetsRequest.prototype.getBetState = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.qb.smg.GetBetsRequest} returns this\n */\nproto.qb.smg.GetBetsRequest.prototype.setBetState = function(value) {\n  return jspb.Message.setProto3StringField(this, 2, value);\n};\n\n\n/**\n * optional Location location = 101;\n * @return {?proto.qb.smg.Location}\n */\nproto.qb.smg.GetBetsRequest.prototype.getLocation = function() {\n  return /** @type{?proto.qb.smg.Location} */ (\n    jspb.Message.getWrapperField(this, proto.qb.smg.Location, 101));\n};\n\n\n/**\n * @param {?proto.qb.smg.Location|undefined} value\n * @return {!proto.qb.smg.GetBetsRequest} returns this\n*/\nproto.qb.smg.GetBetsRequest.prototype.setLocation = function(value) {\n  return jspb.Message.setWrapperField(this, 101, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.qb.smg.GetBetsRequest} returns this\n */\nproto.qb.smg.GetBetsRequest.prototype.clearLocation = function() {\n  return this.setLocation(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.qb.smg.GetBetsRequest.prototype.hasLocation = function() {\n  return jspb.Message.getField(this, 101) != null;\n};\n\n\n/**\n * optional int32 venue_id = 102;\n * @return {number}\n */\nproto.qb.smg.GetBetsRequest.prototype.getVenueId = function() {\n  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 102, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.qb.smg.GetBetsRequest} returns this\n */\nproto.qb.smg.GetBetsRequest.prototype.setVenueId = function(value) {\n  return jspb.Message.setProto3IntField(this, 102, value);\n};\n\n\n\n/**\n * List of repeated fields within this message type.\n * @private {!Array<number>}\n * @const\n */\nproto.qb.smg.GetBetsReply.repeatedFields_ = [3];\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.qb.smg.GetBetsReply.prototype.toObject = function(opt_includeInstance) {\n  return proto.qb.smg.GetBetsReply.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.qb.smg.GetBetsReply} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.qb.smg.GetBetsReply.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    success: jspb.Message.getBooleanFieldWithDefault(msg, 1, false),\n    error: (f = msg.getError()) && proto.qb.smg.Error.toObject(includeInstance, f),\n    betsList: jspb.Message.toObjectList(msg.getBetsList(),\n    proto.qb.smg.Bet.toObject, includeInstance)\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.qb.smg.GetBetsReply}\n */\nproto.qb.smg.GetBetsReply.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.qb.smg.GetBetsReply;\n  return proto.qb.smg.GetBetsReply.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.qb.smg.GetBetsReply} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.qb.smg.GetBetsReply}\n */\nproto.qb.smg.GetBetsReply.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {boolean} */ (reader.readBool());\n      msg.setSuccess(value);\n      break;\n    case 2:\n      var value = new proto.qb.smg.Error;\n      reader.readMessage(value,proto.qb.smg.Error.deserializeBinaryFromReader);\n      msg.setError(value);\n      break;\n    case 3:\n      var value = new proto.qb.smg.Bet;\n      reader.readMessage(value,proto.qb.smg.Bet.deserializeBinaryFromReader);\n      msg.addBets(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.qb.smg.GetBetsReply.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.qb.smg.GetBetsReply.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.qb.smg.GetBetsReply} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.qb.smg.GetBetsReply.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getSuccess();\n  if (f) {\n    writer.writeBool(\n      1,\n      f\n    );\n  }\n  f = message.getError();\n  if (f != null) {\n    writer.writeMessage(\n      2,\n      f,\n      proto.qb.smg.Error.serializeBinaryToWriter\n    );\n  }\n  f = message.getBetsList();\n  if (f.length > 0) {\n    writer.writeRepeatedMessage(\n      3,\n      f,\n      proto.qb.smg.Bet.serializeBinaryToWriter\n    );\n  }\n};\n\n\n/**\n * optional bool success = 1;\n * @return {boolean}\n */\nproto.qb.smg.GetBetsReply.prototype.getSuccess = function() {\n  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 1, false));\n};\n\n\n/**\n * @param {boolean} value\n * @return {!proto.qb.smg.GetBetsReply} returns this\n */\nproto.qb.smg.GetBetsReply.prototype.setSuccess = function(value) {\n  return jspb.Message.setProto3BooleanField(this, 1, value);\n};\n\n\n/**\n * optional Error error = 2;\n * @return {?proto.qb.smg.Error}\n */\nproto.qb.smg.GetBetsReply.prototype.getError = function() {\n  return /** @type{?proto.qb.smg.Error} */ (\n    jspb.Message.getWrapperField(this, proto.qb.smg.Error, 2));\n};\n\n\n/**\n * @param {?proto.qb.smg.Error|undefined} value\n * @return {!proto.qb.smg.GetBetsReply} returns this\n*/\nproto.qb.smg.GetBetsReply.prototype.setError = function(value) {\n  return jspb.Message.setWrapperField(this, 2, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.qb.smg.GetBetsReply} returns this\n */\nproto.qb.smg.GetBetsReply.prototype.clearError = function() {\n  return this.setError(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.qb.smg.GetBetsReply.prototype.hasError = function() {\n  return jspb.Message.getField(this, 2) != null;\n};\n\n\n/**\n * repeated Bet bets = 3;\n * @return {!Array<!proto.qb.smg.Bet>}\n */\nproto.qb.smg.GetBetsReply.prototype.getBetsList = function() {\n  return /** @type{!Array<!proto.qb.smg.Bet>} */ (\n    jspb.Message.getRepeatedWrapperField(this, proto.qb.smg.Bet, 3));\n};\n\n\n/**\n * @param {!Array<!proto.qb.smg.Bet>} value\n * @return {!proto.qb.smg.GetBetsReply} returns this\n*/\nproto.qb.smg.GetBetsReply.prototype.setBetsList = function(value) {\n  return jspb.Message.setRepeatedWrapperField(this, 3, value);\n};\n\n\n/**\n * @param {!proto.qb.smg.Bet=} opt_value\n * @param {number=} opt_index\n * @return {!proto.qb.smg.Bet}\n */\nproto.qb.smg.GetBetsReply.prototype.addBets = function(opt_value, opt_index) {\n  return jspb.Message.addToRepeatedWrapperField(this, 3, opt_value, proto.qb.smg.Bet, opt_index);\n};\n\n\n/**\n * Clears the list making it empty but non-null.\n * @return {!proto.qb.smg.GetBetsReply} returns this\n */\nproto.qb.smg.GetBetsReply.prototype.clearBetsList = function() {\n  return this.setBetsList([]);\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.qb.smg.GetUpcomingBetsForSimulatorRequest.prototype.toObject = function(opt_includeInstance) {\n  return proto.qb.smg.GetUpcomingBetsForSimulatorRequest.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.qb.smg.GetUpcomingBetsForSimulatorRequest} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.qb.smg.GetUpcomingBetsForSimulatorRequest.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    token: jspb.Message.getFieldWithDefault(msg, 1, \"\"),\n    userId: jspb.Message.getFieldWithDefault(msg, 3, 0),\n    location: (f = msg.getLocation()) && proto.qb.smg.Location.toObject(includeInstance, f),\n    venueId: jspb.Message.getFieldWithDefault(msg, 102, 0)\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.qb.smg.GetUpcomingBetsForSimulatorRequest}\n */\nproto.qb.smg.GetUpcomingBetsForSimulatorRequest.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.qb.smg.GetUpcomingBetsForSimulatorRequest;\n  return proto.qb.smg.GetUpcomingBetsForSimulatorRequest.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.qb.smg.GetUpcomingBetsForSimulatorRequest} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.qb.smg.GetUpcomingBetsForSimulatorRequest}\n */\nproto.qb.smg.GetUpcomingBetsForSimulatorRequest.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setToken(value);\n      break;\n    case 3:\n      var value = /** @type {number} */ (reader.readInt64());\n      msg.setUserId(value);\n      break;\n    case 101:\n      var value = new proto.qb.smg.Location;\n      reader.readMessage(value,proto.qb.smg.Location.deserializeBinaryFromReader);\n      msg.setLocation(value);\n      break;\n    case 102:\n      var value = /** @type {number} */ (reader.readInt32());\n      msg.setVenueId(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.qb.smg.GetUpcomingBetsForSimulatorRequest.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.qb.smg.GetUpcomingBetsForSimulatorRequest.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.qb.smg.GetUpcomingBetsForSimulatorRequest} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.qb.smg.GetUpcomingBetsForSimulatorRequest.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getToken();\n  if (f.length > 0) {\n    writer.writeString(\n      1,\n      f\n    );\n  }\n  f = message.getUserId();\n  if (f !== 0) {\n    writer.writeInt64(\n      3,\n      f\n    );\n  }\n  f = message.getLocation();\n  if (f != null) {\n    writer.writeMessage(\n      101,\n      f,\n      proto.qb.smg.Location.serializeBinaryToWriter\n    );\n  }\n  f = message.getVenueId();\n  if (f !== 0) {\n    writer.writeInt32(\n      102,\n      f\n    );\n  }\n};\n\n\n/**\n * optional string token = 1;\n * @return {string}\n */\nproto.qb.smg.GetUpcomingBetsForSimulatorRequest.prototype.getToken = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.qb.smg.GetUpcomingBetsForSimulatorRequest} returns this\n */\nproto.qb.smg.GetUpcomingBetsForSimulatorRequest.prototype.setToken = function(value) {\n  return jspb.Message.setProto3StringField(this, 1, value);\n};\n\n\n/**\n * optional int64 user_id = 3;\n * @return {number}\n */\nproto.qb.smg.GetUpcomingBetsForSimulatorRequest.prototype.getUserId = function() {\n  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 3, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.qb.smg.GetUpcomingBetsForSimulatorRequest} returns this\n */\nproto.qb.smg.GetUpcomingBetsForSimulatorRequest.prototype.setUserId = function(value) {\n  return jspb.Message.setProto3IntField(this, 3, value);\n};\n\n\n/**\n * optional Location location = 101;\n * @return {?proto.qb.smg.Location}\n */\nproto.qb.smg.GetUpcomingBetsForSimulatorRequest.prototype.getLocation = function() {\n  return /** @type{?proto.qb.smg.Location} */ (\n    jspb.Message.getWrapperField(this, proto.qb.smg.Location, 101));\n};\n\n\n/**\n * @param {?proto.qb.smg.Location|undefined} value\n * @return {!proto.qb.smg.GetUpcomingBetsForSimulatorRequest} returns this\n*/\nproto.qb.smg.GetUpcomingBetsForSimulatorRequest.prototype.setLocation = function(value) {\n  return jspb.Message.setWrapperField(this, 101, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.qb.smg.GetUpcomingBetsForSimulatorRequest} returns this\n */\nproto.qb.smg.GetUpcomingBetsForSimulatorRequest.prototype.clearLocation = function() {\n  return this.setLocation(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.qb.smg.GetUpcomingBetsForSimulatorRequest.prototype.hasLocation = function() {\n  return jspb.Message.getField(this, 101) != null;\n};\n\n\n/**\n * optional int32 venue_id = 102;\n * @return {number}\n */\nproto.qb.smg.GetUpcomingBetsForSimulatorRequest.prototype.getVenueId = function() {\n  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 102, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.qb.smg.GetUpcomingBetsForSimulatorRequest} returns this\n */\nproto.qb.smg.GetUpcomingBetsForSimulatorRequest.prototype.setVenueId = function(value) {\n  return jspb.Message.setProto3IntField(this, 102, value);\n};\n\n\n\n/**\n * List of repeated fields within this message type.\n * @private {!Array<number>}\n * @const\n */\nproto.qb.smg.GetUpcomingBetsForSimulatorReply.repeatedFields_ = [3];\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.qb.smg.GetUpcomingBetsForSimulatorReply.prototype.toObject = function(opt_includeInstance) {\n  return proto.qb.smg.GetUpcomingBetsForSimulatorReply.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.qb.smg.GetUpcomingBetsForSimulatorReply} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.qb.smg.GetUpcomingBetsForSimulatorReply.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    success: jspb.Message.getBooleanFieldWithDefault(msg, 1, false),\n    error: (f = msg.getError()) && proto.qb.smg.Error.toObject(includeInstance, f),\n    betsList: jspb.Message.toObjectList(msg.getBetsList(),\n    proto.qb.smg.Bet.toObject, includeInstance)\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.qb.smg.GetUpcomingBetsForSimulatorReply}\n */\nproto.qb.smg.GetUpcomingBetsForSimulatorReply.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.qb.smg.GetUpcomingBetsForSimulatorReply;\n  return proto.qb.smg.GetUpcomingBetsForSimulatorReply.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.qb.smg.GetUpcomingBetsForSimulatorReply} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.qb.smg.GetUpcomingBetsForSimulatorReply}\n */\nproto.qb.smg.GetUpcomingBetsForSimulatorReply.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {boolean} */ (reader.readBool());\n      msg.setSuccess(value);\n      break;\n    case 2:\n      var value = new proto.qb.smg.Error;\n      reader.readMessage(value,proto.qb.smg.Error.deserializeBinaryFromReader);\n      msg.setError(value);\n      break;\n    case 3:\n      var value = new proto.qb.smg.Bet;\n      reader.readMessage(value,proto.qb.smg.Bet.deserializeBinaryFromReader);\n      msg.addBets(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.qb.smg.GetUpcomingBetsForSimulatorReply.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.qb.smg.GetUpcomingBetsForSimulatorReply.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.qb.smg.GetUpcomingBetsForSimulatorReply} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.qb.smg.GetUpcomingBetsForSimulatorReply.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getSuccess();\n  if (f) {\n    writer.writeBool(\n      1,\n      f\n    );\n  }\n  f = message.getError();\n  if (f != null) {\n    writer.writeMessage(\n      2,\n      f,\n      proto.qb.smg.Error.serializeBinaryToWriter\n    );\n  }\n  f = message.getBetsList();\n  if (f.length > 0) {\n    writer.writeRepeatedMessage(\n      3,\n      f,\n      proto.qb.smg.Bet.serializeBinaryToWriter\n    );\n  }\n};\n\n\n/**\n * optional bool success = 1;\n * @return {boolean}\n */\nproto.qb.smg.GetUpcomingBetsForSimulatorReply.prototype.getSuccess = function() {\n  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 1, false));\n};\n\n\n/**\n * @param {boolean} value\n * @return {!proto.qb.smg.GetUpcomingBetsForSimulatorReply} returns this\n */\nproto.qb.smg.GetUpcomingBetsForSimulatorReply.prototype.setSuccess = function(value) {\n  return jspb.Message.setProto3BooleanField(this, 1, value);\n};\n\n\n/**\n * optional Error error = 2;\n * @return {?proto.qb.smg.Error}\n */\nproto.qb.smg.GetUpcomingBetsForSimulatorReply.prototype.getError = function() {\n  return /** @type{?proto.qb.smg.Error} */ (\n    jspb.Message.getWrapperField(this, proto.qb.smg.Error, 2));\n};\n\n\n/**\n * @param {?proto.qb.smg.Error|undefined} value\n * @return {!proto.qb.smg.GetUpcomingBetsForSimulatorReply} returns this\n*/\nproto.qb.smg.GetUpcomingBetsForSimulatorReply.prototype.setError = function(value) {\n  return jspb.Message.setWrapperField(this, 2, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.qb.smg.GetUpcomingBetsForSimulatorReply} returns this\n */\nproto.qb.smg.GetUpcomingBetsForSimulatorReply.prototype.clearError = function() {\n  return this.setError(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.qb.smg.GetUpcomingBetsForSimulatorReply.prototype.hasError = function() {\n  return jspb.Message.getField(this, 2) != null;\n};\n\n\n/**\n * repeated Bet bets = 3;\n * @return {!Array<!proto.qb.smg.Bet>}\n */\nproto.qb.smg.GetUpcomingBetsForSimulatorReply.prototype.getBetsList = function() {\n  return /** @type{!Array<!proto.qb.smg.Bet>} */ (\n    jspb.Message.getRepeatedWrapperField(this, proto.qb.smg.Bet, 3));\n};\n\n\n/**\n * @param {!Array<!proto.qb.smg.Bet>} value\n * @return {!proto.qb.smg.GetUpcomingBetsForSimulatorReply} returns this\n*/\nproto.qb.smg.GetUpcomingBetsForSimulatorReply.prototype.setBetsList = function(value) {\n  return jspb.Message.setRepeatedWrapperField(this, 3, value);\n};\n\n\n/**\n * @param {!proto.qb.smg.Bet=} opt_value\n * @param {number=} opt_index\n * @return {!proto.qb.smg.Bet}\n */\nproto.qb.smg.GetUpcomingBetsForSimulatorReply.prototype.addBets = function(opt_value, opt_index) {\n  return jspb.Message.addToRepeatedWrapperField(this, 3, opt_value, proto.qb.smg.Bet, opt_index);\n};\n\n\n/**\n * Clears the list making it empty but non-null.\n * @return {!proto.qb.smg.GetUpcomingBetsForSimulatorReply} returns this\n */\nproto.qb.smg.GetUpcomingBetsForSimulatorReply.prototype.clearBetsList = function() {\n  return this.setBetsList([]);\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.qb.smg.GetPayoutRequest.prototype.toObject = function(opt_includeInstance) {\n  return proto.qb.smg.GetPayoutRequest.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.qb.smg.GetPayoutRequest} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.qb.smg.GetPayoutRequest.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    token: jspb.Message.getFieldWithDefault(msg, 1, \"\"),\n    betId: jspb.Message.getFieldWithDefault(msg, 2, 0),\n    location: (f = msg.getLocation()) && proto.qb.smg.Location.toObject(includeInstance, f),\n    venueId: jspb.Message.getFieldWithDefault(msg, 102, 0)\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.qb.smg.GetPayoutRequest}\n */\nproto.qb.smg.GetPayoutRequest.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.qb.smg.GetPayoutRequest;\n  return proto.qb.smg.GetPayoutRequest.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.qb.smg.GetPayoutRequest} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.qb.smg.GetPayoutRequest}\n */\nproto.qb.smg.GetPayoutRequest.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setToken(value);\n      break;\n    case 2:\n      var value = /** @type {number} */ (reader.readInt64());\n      msg.setBetId(value);\n      break;\n    case 101:\n      var value = new proto.qb.smg.Location;\n      reader.readMessage(value,proto.qb.smg.Location.deserializeBinaryFromReader);\n      msg.setLocation(value);\n      break;\n    case 102:\n      var value = /** @type {number} */ (reader.readInt32());\n      msg.setVenueId(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.qb.smg.GetPayoutRequest.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.qb.smg.GetPayoutRequest.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.qb.smg.GetPayoutRequest} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.qb.smg.GetPayoutRequest.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getToken();\n  if (f.length > 0) {\n    writer.writeString(\n      1,\n      f\n    );\n  }\n  f = message.getBetId();\n  if (f !== 0) {\n    writer.writeInt64(\n      2,\n      f\n    );\n  }\n  f = message.getLocation();\n  if (f != null) {\n    writer.writeMessage(\n      101,\n      f,\n      proto.qb.smg.Location.serializeBinaryToWriter\n    );\n  }\n  f = message.getVenueId();\n  if (f !== 0) {\n    writer.writeInt32(\n      102,\n      f\n    );\n  }\n};\n\n\n/**\n * optional string token = 1;\n * @return {string}\n */\nproto.qb.smg.GetPayoutRequest.prototype.getToken = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.qb.smg.GetPayoutRequest} returns this\n */\nproto.qb.smg.GetPayoutRequest.prototype.setToken = function(value) {\n  return jspb.Message.setProto3StringField(this, 1, value);\n};\n\n\n/**\n * optional int64 bet_id = 2;\n * @return {number}\n */\nproto.qb.smg.GetPayoutRequest.prototype.getBetId = function() {\n  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 2, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.qb.smg.GetPayoutRequest} returns this\n */\nproto.qb.smg.GetPayoutRequest.prototype.setBetId = function(value) {\n  return jspb.Message.setProto3IntField(this, 2, value);\n};\n\n\n/**\n * optional Location location = 101;\n * @return {?proto.qb.smg.Location}\n */\nproto.qb.smg.GetPayoutRequest.prototype.getLocation = function() {\n  return /** @type{?proto.qb.smg.Location} */ (\n    jspb.Message.getWrapperField(this, proto.qb.smg.Location, 101));\n};\n\n\n/**\n * @param {?proto.qb.smg.Location|undefined} value\n * @return {!proto.qb.smg.GetPayoutRequest} returns this\n*/\nproto.qb.smg.GetPayoutRequest.prototype.setLocation = function(value) {\n  return jspb.Message.setWrapperField(this, 101, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.qb.smg.GetPayoutRequest} returns this\n */\nproto.qb.smg.GetPayoutRequest.prototype.clearLocation = function() {\n  return this.setLocation(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.qb.smg.GetPayoutRequest.prototype.hasLocation = function() {\n  return jspb.Message.getField(this, 101) != null;\n};\n\n\n/**\n * optional int32 venue_id = 102;\n * @return {number}\n */\nproto.qb.smg.GetPayoutRequest.prototype.getVenueId = function() {\n  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 102, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.qb.smg.GetPayoutRequest} returns this\n */\nproto.qb.smg.GetPayoutRequest.prototype.setVenueId = function(value) {\n  return jspb.Message.setProto3IntField(this, 102, value);\n};\n\n\n\n/**\n * List of repeated fields within this message type.\n * @private {!Array<number>}\n * @const\n */\nproto.qb.smg.GetPayoutReply.repeatedFields_ = [3];\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.qb.smg.GetPayoutReply.prototype.toObject = function(opt_includeInstance) {\n  return proto.qb.smg.GetPayoutReply.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.qb.smg.GetPayoutReply} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.qb.smg.GetPayoutReply.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    success: jspb.Message.getBooleanFieldWithDefault(msg, 1, false),\n    error: (f = msg.getError()) && proto.qb.smg.Error.toObject(includeInstance, f),\n    payoutsList: jspb.Message.toObjectList(msg.getPayoutsList(),\n    proto.qb.smg.Payout.toObject, includeInstance)\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.qb.smg.GetPayoutReply}\n */\nproto.qb.smg.GetPayoutReply.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.qb.smg.GetPayoutReply;\n  return proto.qb.smg.GetPayoutReply.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.qb.smg.GetPayoutReply} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.qb.smg.GetPayoutReply}\n */\nproto.qb.smg.GetPayoutReply.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {boolean} */ (reader.readBool());\n      msg.setSuccess(value);\n      break;\n    case 2:\n      var value = new proto.qb.smg.Error;\n      reader.readMessage(value,proto.qb.smg.Error.deserializeBinaryFromReader);\n      msg.setError(value);\n      break;\n    case 3:\n      var value = new proto.qb.smg.Payout;\n      reader.readMessage(value,proto.qb.smg.Payout.deserializeBinaryFromReader);\n      msg.addPayouts(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.qb.smg.GetPayoutReply.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.qb.smg.GetPayoutReply.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.qb.smg.GetPayoutReply} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.qb.smg.GetPayoutReply.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getSuccess();\n  if (f) {\n    writer.writeBool(\n      1,\n      f\n    );\n  }\n  f = message.getError();\n  if (f != null) {\n    writer.writeMessage(\n      2,\n      f,\n      proto.qb.smg.Error.serializeBinaryToWriter\n    );\n  }\n  f = message.getPayoutsList();\n  if (f.length > 0) {\n    writer.writeRepeatedMessage(\n      3,\n      f,\n      proto.qb.smg.Payout.serializeBinaryToWriter\n    );\n  }\n};\n\n\n/**\n * optional bool success = 1;\n * @return {boolean}\n */\nproto.qb.smg.GetPayoutReply.prototype.getSuccess = function() {\n  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 1, false));\n};\n\n\n/**\n * @param {boolean} value\n * @return {!proto.qb.smg.GetPayoutReply} returns this\n */\nproto.qb.smg.GetPayoutReply.prototype.setSuccess = function(value) {\n  return jspb.Message.setProto3BooleanField(this, 1, value);\n};\n\n\n/**\n * optional Error error = 2;\n * @return {?proto.qb.smg.Error}\n */\nproto.qb.smg.GetPayoutReply.prototype.getError = function() {\n  return /** @type{?proto.qb.smg.Error} */ (\n    jspb.Message.getWrapperField(this, proto.qb.smg.Error, 2));\n};\n\n\n/**\n * @param {?proto.qb.smg.Error|undefined} value\n * @return {!proto.qb.smg.GetPayoutReply} returns this\n*/\nproto.qb.smg.GetPayoutReply.prototype.setError = function(value) {\n  return jspb.Message.setWrapperField(this, 2, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.qb.smg.GetPayoutReply} returns this\n */\nproto.qb.smg.GetPayoutReply.prototype.clearError = function() {\n  return this.setError(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.qb.smg.GetPayoutReply.prototype.hasError = function() {\n  return jspb.Message.getField(this, 2) != null;\n};\n\n\n/**\n * repeated Payout payouts = 3;\n * @return {!Array<!proto.qb.smg.Payout>}\n */\nproto.qb.smg.GetPayoutReply.prototype.getPayoutsList = function() {\n  return /** @type{!Array<!proto.qb.smg.Payout>} */ (\n    jspb.Message.getRepeatedWrapperField(this, proto.qb.smg.Payout, 3));\n};\n\n\n/**\n * @param {!Array<!proto.qb.smg.Payout>} value\n * @return {!proto.qb.smg.GetPayoutReply} returns this\n*/\nproto.qb.smg.GetPayoutReply.prototype.setPayoutsList = function(value) {\n  return jspb.Message.setRepeatedWrapperField(this, 3, value);\n};\n\n\n/**\n * @param {!proto.qb.smg.Payout=} opt_value\n * @param {number=} opt_index\n * @return {!proto.qb.smg.Payout}\n */\nproto.qb.smg.GetPayoutReply.prototype.addPayouts = function(opt_value, opt_index) {\n  return jspb.Message.addToRepeatedWrapperField(this, 3, opt_value, proto.qb.smg.Payout, opt_index);\n};\n\n\n/**\n * Clears the list making it empty but non-null.\n * @return {!proto.qb.smg.GetPayoutReply} returns this\n */\nproto.qb.smg.GetPayoutReply.prototype.clearPayoutsList = function() {\n  return this.setPayoutsList([]);\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.qb.smg.StreamBetsRequest.prototype.toObject = function(opt_includeInstance) {\n  return proto.qb.smg.StreamBetsRequest.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.qb.smg.StreamBetsRequest} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.qb.smg.StreamBetsRequest.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    token: jspb.Message.getFieldWithDefault(msg, 1, \"\"),\n    closeAfterSend: jspb.Message.getBooleanFieldWithDefault(msg, 2, false),\n    lastSeenHash: jspb.Message.getFieldWithDefault(msg, 3, \"\"),\n    location: (f = msg.getLocation()) && proto.qb.smg.Location.toObject(includeInstance, f),\n    venueId: jspb.Message.getFieldWithDefault(msg, 102, 0)\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.qb.smg.StreamBetsRequest}\n */\nproto.qb.smg.StreamBetsRequest.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.qb.smg.StreamBetsRequest;\n  return proto.qb.smg.StreamBetsRequest.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.qb.smg.StreamBetsRequest} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.qb.smg.StreamBetsRequest}\n */\nproto.qb.smg.StreamBetsRequest.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setToken(value);\n      break;\n    case 2:\n      var value = /** @type {boolean} */ (reader.readBool());\n      msg.setCloseAfterSend(value);\n      break;\n    case 3:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setLastSeenHash(value);\n      break;\n    case 101:\n      var value = new proto.qb.smg.Location;\n      reader.readMessage(value,proto.qb.smg.Location.deserializeBinaryFromReader);\n      msg.setLocation(value);\n      break;\n    case 102:\n      var value = /** @type {number} */ (reader.readInt32());\n      msg.setVenueId(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.qb.smg.StreamBetsRequest.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.qb.smg.StreamBetsRequest.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.qb.smg.StreamBetsRequest} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.qb.smg.StreamBetsRequest.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getToken();\n  if (f.length > 0) {\n    writer.writeString(\n      1,\n      f\n    );\n  }\n  f = message.getCloseAfterSend();\n  if (f) {\n    writer.writeBool(\n      2,\n      f\n    );\n  }\n  f = message.getLastSeenHash();\n  if (f.length > 0) {\n    writer.writeString(\n      3,\n      f\n    );\n  }\n  f = message.getLocation();\n  if (f != null) {\n    writer.writeMessage(\n      101,\n      f,\n      proto.qb.smg.Location.serializeBinaryToWriter\n    );\n  }\n  f = message.getVenueId();\n  if (f !== 0) {\n    writer.writeInt32(\n      102,\n      f\n    );\n  }\n};\n\n\n/**\n * optional string token = 1;\n * @return {string}\n */\nproto.qb.smg.StreamBetsRequest.prototype.getToken = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.qb.smg.StreamBetsRequest} returns this\n */\nproto.qb.smg.StreamBetsRequest.prototype.setToken = function(value) {\n  return jspb.Message.setProto3StringField(this, 1, value);\n};\n\n\n/**\n * optional bool close_after_send = 2;\n * @return {boolean}\n */\nproto.qb.smg.StreamBetsRequest.prototype.getCloseAfterSend = function() {\n  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 2, false));\n};\n\n\n/**\n * @param {boolean} value\n * @return {!proto.qb.smg.StreamBetsRequest} returns this\n */\nproto.qb.smg.StreamBetsRequest.prototype.setCloseAfterSend = function(value) {\n  return jspb.Message.setProto3BooleanField(this, 2, value);\n};\n\n\n/**\n * optional string last_seen_hash = 3;\n * @return {string}\n */\nproto.qb.smg.StreamBetsRequest.prototype.getLastSeenHash = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 3, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.qb.smg.StreamBetsRequest} returns this\n */\nproto.qb.smg.StreamBetsRequest.prototype.setLastSeenHash = function(value) {\n  return jspb.Message.setProto3StringField(this, 3, value);\n};\n\n\n/**\n * optional Location location = 101;\n * @return {?proto.qb.smg.Location}\n */\nproto.qb.smg.StreamBetsRequest.prototype.getLocation = function() {\n  return /** @type{?proto.qb.smg.Location} */ (\n    jspb.Message.getWrapperField(this, proto.qb.smg.Location, 101));\n};\n\n\n/**\n * @param {?proto.qb.smg.Location|undefined} value\n * @return {!proto.qb.smg.StreamBetsRequest} returns this\n*/\nproto.qb.smg.StreamBetsRequest.prototype.setLocation = function(value) {\n  return jspb.Message.setWrapperField(this, 101, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.qb.smg.StreamBetsRequest} returns this\n */\nproto.qb.smg.StreamBetsRequest.prototype.clearLocation = function() {\n  return this.setLocation(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.qb.smg.StreamBetsRequest.prototype.hasLocation = function() {\n  return jspb.Message.getField(this, 101) != null;\n};\n\n\n/**\n * optional int32 venue_id = 102;\n * @return {number}\n */\nproto.qb.smg.StreamBetsRequest.prototype.getVenueId = function() {\n  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 102, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.qb.smg.StreamBetsRequest} returns this\n */\nproto.qb.smg.StreamBetsRequest.prototype.setVenueId = function(value) {\n  return jspb.Message.setProto3IntField(this, 102, value);\n};\n\n\n\n/**\n * List of repeated fields within this message type.\n * @private {!Array<number>}\n * @const\n */\nproto.qb.smg.StreamBetsReply.repeatedFields_ = [3];\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.qb.smg.StreamBetsReply.prototype.toObject = function(opt_includeInstance) {\n  return proto.qb.smg.StreamBetsReply.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.qb.smg.StreamBetsReply} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.qb.smg.StreamBetsReply.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    success: jspb.Message.getBooleanFieldWithDefault(msg, 1, false),\n    error: (f = msg.getError()) && proto.qb.smg.Error.toObject(includeInstance, f),\n    betsList: jspb.Message.toObjectList(msg.getBetsList(),\n    proto.qb.smg.Bet.toObject, includeInstance),\n    hash: jspb.Message.getFieldWithDefault(msg, 4, \"\")\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.qb.smg.StreamBetsReply}\n */\nproto.qb.smg.StreamBetsReply.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.qb.smg.StreamBetsReply;\n  return proto.qb.smg.StreamBetsReply.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.qb.smg.StreamBetsReply} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.qb.smg.StreamBetsReply}\n */\nproto.qb.smg.StreamBetsReply.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {boolean} */ (reader.readBool());\n      msg.setSuccess(value);\n      break;\n    case 2:\n      var value = new proto.qb.smg.Error;\n      reader.readMessage(value,proto.qb.smg.Error.deserializeBinaryFromReader);\n      msg.setError(value);\n      break;\n    case 3:\n      var value = new proto.qb.smg.Bet;\n      reader.readMessage(value,proto.qb.smg.Bet.deserializeBinaryFromReader);\n      msg.addBets(value);\n      break;\n    case 4:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setHash(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.qb.smg.StreamBetsReply.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.qb.smg.StreamBetsReply.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.qb.smg.StreamBetsReply} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.qb.smg.StreamBetsReply.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getSuccess();\n  if (f) {\n    writer.writeBool(\n      1,\n      f\n    );\n  }\n  f = message.getError();\n  if (f != null) {\n    writer.writeMessage(\n      2,\n      f,\n      proto.qb.smg.Error.serializeBinaryToWriter\n    );\n  }\n  f = message.getBetsList();\n  if (f.length > 0) {\n    writer.writeRepeatedMessage(\n      3,\n      f,\n      proto.qb.smg.Bet.serializeBinaryToWriter\n    );\n  }\n  f = message.getHash();\n  if (f.length > 0) {\n    writer.writeString(\n      4,\n      f\n    );\n  }\n};\n\n\n/**\n * optional bool success = 1;\n * @return {boolean}\n */\nproto.qb.smg.StreamBetsReply.prototype.getSuccess = function() {\n  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 1, false));\n};\n\n\n/**\n * @param {boolean} value\n * @return {!proto.qb.smg.StreamBetsReply} returns this\n */\nproto.qb.smg.StreamBetsReply.prototype.setSuccess = function(value) {\n  return jspb.Message.setProto3BooleanField(this, 1, value);\n};\n\n\n/**\n * optional Error error = 2;\n * @return {?proto.qb.smg.Error}\n */\nproto.qb.smg.StreamBetsReply.prototype.getError = function() {\n  return /** @type{?proto.qb.smg.Error} */ (\n    jspb.Message.getWrapperField(this, proto.qb.smg.Error, 2));\n};\n\n\n/**\n * @param {?proto.qb.smg.Error|undefined} value\n * @return {!proto.qb.smg.StreamBetsReply} returns this\n*/\nproto.qb.smg.StreamBetsReply.prototype.setError = function(value) {\n  return jspb.Message.setWrapperField(this, 2, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.qb.smg.StreamBetsReply} returns this\n */\nproto.qb.smg.StreamBetsReply.prototype.clearError = function() {\n  return this.setError(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.qb.smg.StreamBetsReply.prototype.hasError = function() {\n  return jspb.Message.getField(this, 2) != null;\n};\n\n\n/**\n * repeated Bet bets = 3;\n * @return {!Array<!proto.qb.smg.Bet>}\n */\nproto.qb.smg.StreamBetsReply.prototype.getBetsList = function() {\n  return /** @type{!Array<!proto.qb.smg.Bet>} */ (\n    jspb.Message.getRepeatedWrapperField(this, proto.qb.smg.Bet, 3));\n};\n\n\n/**\n * @param {!Array<!proto.qb.smg.Bet>} value\n * @return {!proto.qb.smg.StreamBetsReply} returns this\n*/\nproto.qb.smg.StreamBetsReply.prototype.setBetsList = function(value) {\n  return jspb.Message.setRepeatedWrapperField(this, 3, value);\n};\n\n\n/**\n * @param {!proto.qb.smg.Bet=} opt_value\n * @param {number=} opt_index\n * @return {!proto.qb.smg.Bet}\n */\nproto.qb.smg.StreamBetsReply.prototype.addBets = function(opt_value, opt_index) {\n  return jspb.Message.addToRepeatedWrapperField(this, 3, opt_value, proto.qb.smg.Bet, opt_index);\n};\n\n\n/**\n * Clears the list making it empty but non-null.\n * @return {!proto.qb.smg.StreamBetsReply} returns this\n */\nproto.qb.smg.StreamBetsReply.prototype.clearBetsList = function() {\n  return this.setBetsList([]);\n};\n\n\n/**\n * optional string hash = 4;\n * @return {string}\n */\nproto.qb.smg.StreamBetsReply.prototype.getHash = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 4, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.qb.smg.StreamBetsReply} returns this\n */\nproto.qb.smg.StreamBetsReply.prototype.setHash = function(value) {\n  return jspb.Message.setProto3StringField(this, 4, value);\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.qb.smg.GetBetRequest.prototype.toObject = function(opt_includeInstance) {\n  return proto.qb.smg.GetBetRequest.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.qb.smg.GetBetRequest} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.qb.smg.GetBetRequest.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    token: jspb.Message.getFieldWithDefault(msg, 1, \"\"),\n    betId: jspb.Message.getFieldWithDefault(msg, 2, 0),\n    location: (f = msg.getLocation()) && proto.qb.smg.Location.toObject(includeInstance, f),\n    venueId: jspb.Message.getFieldWithDefault(msg, 102, 0)\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.qb.smg.GetBetRequest}\n */\nproto.qb.smg.GetBetRequest.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.qb.smg.GetBetRequest;\n  return proto.qb.smg.GetBetRequest.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.qb.smg.GetBetRequest} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.qb.smg.GetBetRequest}\n */\nproto.qb.smg.GetBetRequest.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setToken(value);\n      break;\n    case 2:\n      var value = /** @type {number} */ (reader.readInt64());\n      msg.setBetId(value);\n      break;\n    case 101:\n      var value = new proto.qb.smg.Location;\n      reader.readMessage(value,proto.qb.smg.Location.deserializeBinaryFromReader);\n      msg.setLocation(value);\n      break;\n    case 102:\n      var value = /** @type {number} */ (reader.readInt32());\n      msg.setVenueId(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.qb.smg.GetBetRequest.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.qb.smg.GetBetRequest.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.qb.smg.GetBetRequest} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.qb.smg.GetBetRequest.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getToken();\n  if (f.length > 0) {\n    writer.writeString(\n      1,\n      f\n    );\n  }\n  f = message.getBetId();\n  if (f !== 0) {\n    writer.writeInt64(\n      2,\n      f\n    );\n  }\n  f = message.getLocation();\n  if (f != null) {\n    writer.writeMessage(\n      101,\n      f,\n      proto.qb.smg.Location.serializeBinaryToWriter\n    );\n  }\n  f = message.getVenueId();\n  if (f !== 0) {\n    writer.writeInt32(\n      102,\n      f\n    );\n  }\n};\n\n\n/**\n * optional string token = 1;\n * @return {string}\n */\nproto.qb.smg.GetBetRequest.prototype.getToken = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.qb.smg.GetBetRequest} returns this\n */\nproto.qb.smg.GetBetRequest.prototype.setToken = function(value) {\n  return jspb.Message.setProto3StringField(this, 1, value);\n};\n\n\n/**\n * optional int64 bet_id = 2;\n * @return {number}\n */\nproto.qb.smg.GetBetRequest.prototype.getBetId = function() {\n  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 2, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.qb.smg.GetBetRequest} returns this\n */\nproto.qb.smg.GetBetRequest.prototype.setBetId = function(value) {\n  return jspb.Message.setProto3IntField(this, 2, value);\n};\n\n\n/**\n * optional Location location = 101;\n * @return {?proto.qb.smg.Location}\n */\nproto.qb.smg.GetBetRequest.prototype.getLocation = function() {\n  return /** @type{?proto.qb.smg.Location} */ (\n    jspb.Message.getWrapperField(this, proto.qb.smg.Location, 101));\n};\n\n\n/**\n * @param {?proto.qb.smg.Location|undefined} value\n * @return {!proto.qb.smg.GetBetRequest} returns this\n*/\nproto.qb.smg.GetBetRequest.prototype.setLocation = function(value) {\n  return jspb.Message.setWrapperField(this, 101, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.qb.smg.GetBetRequest} returns this\n */\nproto.qb.smg.GetBetRequest.prototype.clearLocation = function() {\n  return this.setLocation(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.qb.smg.GetBetRequest.prototype.hasLocation = function() {\n  return jspb.Message.getField(this, 101) != null;\n};\n\n\n/**\n * optional int32 venue_id = 102;\n * @return {number}\n */\nproto.qb.smg.GetBetRequest.prototype.getVenueId = function() {\n  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 102, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.qb.smg.GetBetRequest} returns this\n */\nproto.qb.smg.GetBetRequest.prototype.setVenueId = function(value) {\n  return jspb.Message.setProto3IntField(this, 102, value);\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.qb.smg.GetBetReply.prototype.toObject = function(opt_includeInstance) {\n  return proto.qb.smg.GetBetReply.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.qb.smg.GetBetReply} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.qb.smg.GetBetReply.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    success: jspb.Message.getBooleanFieldWithDefault(msg, 1, false),\n    error: (f = msg.getError()) && proto.qb.smg.Error.toObject(includeInstance, f),\n    bet: (f = msg.getBet()) && proto.qb.smg.Bet.toObject(includeInstance, f)\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.qb.smg.GetBetReply}\n */\nproto.qb.smg.GetBetReply.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.qb.smg.GetBetReply;\n  return proto.qb.smg.GetBetReply.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.qb.smg.GetBetReply} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.qb.smg.GetBetReply}\n */\nproto.qb.smg.GetBetReply.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {boolean} */ (reader.readBool());\n      msg.setSuccess(value);\n      break;\n    case 2:\n      var value = new proto.qb.smg.Error;\n      reader.readMessage(value,proto.qb.smg.Error.deserializeBinaryFromReader);\n      msg.setError(value);\n      break;\n    case 3:\n      var value = new proto.qb.smg.Bet;\n      reader.readMessage(value,proto.qb.smg.Bet.deserializeBinaryFromReader);\n      msg.setBet(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.qb.smg.GetBetReply.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.qb.smg.GetBetReply.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.qb.smg.GetBetReply} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.qb.smg.GetBetReply.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getSuccess();\n  if (f) {\n    writer.writeBool(\n      1,\n      f\n    );\n  }\n  f = message.getError();\n  if (f != null) {\n    writer.writeMessage(\n      2,\n      f,\n      proto.qb.smg.Error.serializeBinaryToWriter\n    );\n  }\n  f = message.getBet();\n  if (f != null) {\n    writer.writeMessage(\n      3,\n      f,\n      proto.qb.smg.Bet.serializeBinaryToWriter\n    );\n  }\n};\n\n\n/**\n * optional bool success = 1;\n * @return {boolean}\n */\nproto.qb.smg.GetBetReply.prototype.getSuccess = function() {\n  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 1, false));\n};\n\n\n/**\n * @param {boolean} value\n * @return {!proto.qb.smg.GetBetReply} returns this\n */\nproto.qb.smg.GetBetReply.prototype.setSuccess = function(value) {\n  return jspb.Message.setProto3BooleanField(this, 1, value);\n};\n\n\n/**\n * optional Error error = 2;\n * @return {?proto.qb.smg.Error}\n */\nproto.qb.smg.GetBetReply.prototype.getError = function() {\n  return /** @type{?proto.qb.smg.Error} */ (\n    jspb.Message.getWrapperField(this, proto.qb.smg.Error, 2));\n};\n\n\n/**\n * @param {?proto.qb.smg.Error|undefined} value\n * @return {!proto.qb.smg.GetBetReply} returns this\n*/\nproto.qb.smg.GetBetReply.prototype.setError = function(value) {\n  return jspb.Message.setWrapperField(this, 2, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.qb.smg.GetBetReply} returns this\n */\nproto.qb.smg.GetBetReply.prototype.clearError = function() {\n  return this.setError(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.qb.smg.GetBetReply.prototype.hasError = function() {\n  return jspb.Message.getField(this, 2) != null;\n};\n\n\n/**\n * optional Bet bet = 3;\n * @return {?proto.qb.smg.Bet}\n */\nproto.qb.smg.GetBetReply.prototype.getBet = function() {\n  return /** @type{?proto.qb.smg.Bet} */ (\n    jspb.Message.getWrapperField(this, proto.qb.smg.Bet, 3));\n};\n\n\n/**\n * @param {?proto.qb.smg.Bet|undefined} value\n * @return {!proto.qb.smg.GetBetReply} returns this\n*/\nproto.qb.smg.GetBetReply.prototype.setBet = function(value) {\n  return jspb.Message.setWrapperField(this, 3, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.qb.smg.GetBetReply} returns this\n */\nproto.qb.smg.GetBetReply.prototype.clearBet = function() {\n  return this.setBet(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.qb.smg.GetBetReply.prototype.hasBet = function() {\n  return jspb.Message.getField(this, 3) != null;\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.qb.smg.GetBetNoTokenRequest.prototype.toObject = function(opt_includeInstance) {\n  return proto.qb.smg.GetBetNoTokenRequest.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.qb.smg.GetBetNoTokenRequest} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.qb.smg.GetBetNoTokenRequest.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    betId: jspb.Message.getFieldWithDefault(msg, 1, 0),\n    token: jspb.Message.getFieldWithDefault(msg, 2, \"\"),\n    location: (f = msg.getLocation()) && proto.qb.smg.Location.toObject(includeInstance, f),\n    venueId: jspb.Message.getFieldWithDefault(msg, 102, 0)\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.qb.smg.GetBetNoTokenRequest}\n */\nproto.qb.smg.GetBetNoTokenRequest.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.qb.smg.GetBetNoTokenRequest;\n  return proto.qb.smg.GetBetNoTokenRequest.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.qb.smg.GetBetNoTokenRequest} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.qb.smg.GetBetNoTokenRequest}\n */\nproto.qb.smg.GetBetNoTokenRequest.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {number} */ (reader.readInt64());\n      msg.setBetId(value);\n      break;\n    case 2:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setToken(value);\n      break;\n    case 101:\n      var value = new proto.qb.smg.Location;\n      reader.readMessage(value,proto.qb.smg.Location.deserializeBinaryFromReader);\n      msg.setLocation(value);\n      break;\n    case 102:\n      var value = /** @type {number} */ (reader.readInt32());\n      msg.setVenueId(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.qb.smg.GetBetNoTokenRequest.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.qb.smg.GetBetNoTokenRequest.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.qb.smg.GetBetNoTokenRequest} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.qb.smg.GetBetNoTokenRequest.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getBetId();\n  if (f !== 0) {\n    writer.writeInt64(\n      1,\n      f\n    );\n  }\n  f = message.getToken();\n  if (f.length > 0) {\n    writer.writeString(\n      2,\n      f\n    );\n  }\n  f = message.getLocation();\n  if (f != null) {\n    writer.writeMessage(\n      101,\n      f,\n      proto.qb.smg.Location.serializeBinaryToWriter\n    );\n  }\n  f = message.getVenueId();\n  if (f !== 0) {\n    writer.writeInt32(\n      102,\n      f\n    );\n  }\n};\n\n\n/**\n * optional int64 bet_id = 1;\n * @return {number}\n */\nproto.qb.smg.GetBetNoTokenRequest.prototype.getBetId = function() {\n  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.qb.smg.GetBetNoTokenRequest} returns this\n */\nproto.qb.smg.GetBetNoTokenRequest.prototype.setBetId = function(value) {\n  return jspb.Message.setProto3IntField(this, 1, value);\n};\n\n\n/**\n * optional string token = 2;\n * @return {string}\n */\nproto.qb.smg.GetBetNoTokenRequest.prototype.getToken = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.qb.smg.GetBetNoTokenRequest} returns this\n */\nproto.qb.smg.GetBetNoTokenRequest.prototype.setToken = function(value) {\n  return jspb.Message.setProto3StringField(this, 2, value);\n};\n\n\n/**\n * optional Location location = 101;\n * @return {?proto.qb.smg.Location}\n */\nproto.qb.smg.GetBetNoTokenRequest.prototype.getLocation = function() {\n  return /** @type{?proto.qb.smg.Location} */ (\n    jspb.Message.getWrapperField(this, proto.qb.smg.Location, 101));\n};\n\n\n/**\n * @param {?proto.qb.smg.Location|undefined} value\n * @return {!proto.qb.smg.GetBetNoTokenRequest} returns this\n*/\nproto.qb.smg.GetBetNoTokenRequest.prototype.setLocation = function(value) {\n  return jspb.Message.setWrapperField(this, 101, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.qb.smg.GetBetNoTokenRequest} returns this\n */\nproto.qb.smg.GetBetNoTokenRequest.prototype.clearLocation = function() {\n  return this.setLocation(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.qb.smg.GetBetNoTokenRequest.prototype.hasLocation = function() {\n  return jspb.Message.getField(this, 101) != null;\n};\n\n\n/**\n * optional int32 venue_id = 102;\n * @return {number}\n */\nproto.qb.smg.GetBetNoTokenRequest.prototype.getVenueId = function() {\n  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 102, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.qb.smg.GetBetNoTokenRequest} returns this\n */\nproto.qb.smg.GetBetNoTokenRequest.prototype.setVenueId = function(value) {\n  return jspb.Message.setProto3IntField(this, 102, value);\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.qb.smg.GetBetNoTokenReply.prototype.toObject = function(opt_includeInstance) {\n  return proto.qb.smg.GetBetNoTokenReply.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.qb.smg.GetBetNoTokenReply} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.qb.smg.GetBetNoTokenReply.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    success: jspb.Message.getBooleanFieldWithDefault(msg, 1, false),\n    error: (f = msg.getError()) && proto.qb.smg.Error.toObject(includeInstance, f),\n    bet: (f = msg.getBet()) && proto.qb.smg.Bet.toObject(includeInstance, f),\n    istournamententrycomplete: jspb.Message.getBooleanFieldWithDefault(msg, 4, false),\n    playertournamentscore: jspb.Message.getFieldWithDefault(msg, 5, 0),\n    istournamentbet: jspb.Message.getBooleanFieldWithDefault(msg, 6, false),\n    totalwonfreeplayamount: jspb.Message.getFieldWithDefault(msg, 7, 0),\n    onlyplayedtournamentbets: jspb.Message.getBooleanFieldWithDefault(msg, 8, false),\n    isadditionalfreeplayamountadded: jspb.Message.getBooleanFieldWithDefault(msg, 9, false)\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.qb.smg.GetBetNoTokenReply}\n */\nproto.qb.smg.GetBetNoTokenReply.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.qb.smg.GetBetNoTokenReply;\n  return proto.qb.smg.GetBetNoTokenReply.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.qb.smg.GetBetNoTokenReply} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.qb.smg.GetBetNoTokenReply}\n */\nproto.qb.smg.GetBetNoTokenReply.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {boolean} */ (reader.readBool());\n      msg.setSuccess(value);\n      break;\n    case 2:\n      var value = new proto.qb.smg.Error;\n      reader.readMessage(value,proto.qb.smg.Error.deserializeBinaryFromReader);\n      msg.setError(value);\n      break;\n    case 3:\n      var value = new proto.qb.smg.Bet;\n      reader.readMessage(value,proto.qb.smg.Bet.deserializeBinaryFromReader);\n      msg.setBet(value);\n      break;\n    case 4:\n      var value = /** @type {boolean} */ (reader.readBool());\n      msg.setIstournamententrycomplete(value);\n      break;\n    case 5:\n      var value = /** @type {number} */ (reader.readInt32());\n      msg.setPlayertournamentscore(value);\n      break;\n    case 6:\n      var value = /** @type {boolean} */ (reader.readBool());\n      msg.setIstournamentbet(value);\n      break;\n    case 7:\n      var value = /** @type {number} */ (reader.readInt32());\n      msg.setTotalwonfreeplayamount(value);\n      break;\n    case 8:\n      var value = /** @type {boolean} */ (reader.readBool());\n      msg.setOnlyplayedtournamentbets(value);\n      break;\n    case 9:\n      var value = /** @type {boolean} */ (reader.readBool());\n      msg.setIsadditionalfreeplayamountadded(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.qb.smg.GetBetNoTokenReply.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.qb.smg.GetBetNoTokenReply.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.qb.smg.GetBetNoTokenReply} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.qb.smg.GetBetNoTokenReply.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getSuccess();\n  if (f) {\n    writer.writeBool(\n      1,\n      f\n    );\n  }\n  f = message.getError();\n  if (f != null) {\n    writer.writeMessage(\n      2,\n      f,\n      proto.qb.smg.Error.serializeBinaryToWriter\n    );\n  }\n  f = message.getBet();\n  if (f != null) {\n    writer.writeMessage(\n      3,\n      f,\n      proto.qb.smg.Bet.serializeBinaryToWriter\n    );\n  }\n  f = message.getIstournamententrycomplete();\n  if (f) {\n    writer.writeBool(\n      4,\n      f\n    );\n  }\n  f = message.getPlayertournamentscore();\n  if (f !== 0) {\n    writer.writeInt32(\n      5,\n      f\n    );\n  }\n  f = message.getIstournamentbet();\n  if (f) {\n    writer.writeBool(\n      6,\n      f\n    );\n  }\n  f = message.getTotalwonfreeplayamount();\n  if (f !== 0) {\n    writer.writeInt32(\n      7,\n      f\n    );\n  }\n  f = message.getOnlyplayedtournamentbets();\n  if (f) {\n    writer.writeBool(\n      8,\n      f\n    );\n  }\n  f = message.getIsadditionalfreeplayamountadded();\n  if (f) {\n    writer.writeBool(\n      9,\n      f\n    );\n  }\n};\n\n\n/**\n * optional bool success = 1;\n * @return {boolean}\n */\nproto.qb.smg.GetBetNoTokenReply.prototype.getSuccess = function() {\n  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 1, false));\n};\n\n\n/**\n * @param {boolean} value\n * @return {!proto.qb.smg.GetBetNoTokenReply} returns this\n */\nproto.qb.smg.GetBetNoTokenReply.prototype.setSuccess = function(value) {\n  return jspb.Message.setProto3BooleanField(this, 1, value);\n};\n\n\n/**\n * optional Error error = 2;\n * @return {?proto.qb.smg.Error}\n */\nproto.qb.smg.GetBetNoTokenReply.prototype.getError = function() {\n  return /** @type{?proto.qb.smg.Error} */ (\n    jspb.Message.getWrapperField(this, proto.qb.smg.Error, 2));\n};\n\n\n/**\n * @param {?proto.qb.smg.Error|undefined} value\n * @return {!proto.qb.smg.GetBetNoTokenReply} returns this\n*/\nproto.qb.smg.GetBetNoTokenReply.prototype.setError = function(value) {\n  return jspb.Message.setWrapperField(this, 2, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.qb.smg.GetBetNoTokenReply} returns this\n */\nproto.qb.smg.GetBetNoTokenReply.prototype.clearError = function() {\n  return this.setError(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.qb.smg.GetBetNoTokenReply.prototype.hasError = function() {\n  return jspb.Message.getField(this, 2) != null;\n};\n\n\n/**\n * optional Bet bet = 3;\n * @return {?proto.qb.smg.Bet}\n */\nproto.qb.smg.GetBetNoTokenReply.prototype.getBet = function() {\n  return /** @type{?proto.qb.smg.Bet} */ (\n    jspb.Message.getWrapperField(this, proto.qb.smg.Bet, 3));\n};\n\n\n/**\n * @param {?proto.qb.smg.Bet|undefined} value\n * @return {!proto.qb.smg.GetBetNoTokenReply} returns this\n*/\nproto.qb.smg.GetBetNoTokenReply.prototype.setBet = function(value) {\n  return jspb.Message.setWrapperField(this, 3, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.qb.smg.GetBetNoTokenReply} returns this\n */\nproto.qb.smg.GetBetNoTokenReply.prototype.clearBet = function() {\n  return this.setBet(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.qb.smg.GetBetNoTokenReply.prototype.hasBet = function() {\n  return jspb.Message.getField(this, 3) != null;\n};\n\n\n/**\n * optional bool isTournamentEntryComplete = 4;\n * @return {boolean}\n */\nproto.qb.smg.GetBetNoTokenReply.prototype.getIstournamententrycomplete = function() {\n  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 4, false));\n};\n\n\n/**\n * @param {boolean} value\n * @return {!proto.qb.smg.GetBetNoTokenReply} returns this\n */\nproto.qb.smg.GetBetNoTokenReply.prototype.setIstournamententrycomplete = function(value) {\n  return jspb.Message.setProto3BooleanField(this, 4, value);\n};\n\n\n/**\n * optional int32 playerTournamentScore = 5;\n * @return {number}\n */\nproto.qb.smg.GetBetNoTokenReply.prototype.getPlayertournamentscore = function() {\n  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 5, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.qb.smg.GetBetNoTokenReply} returns this\n */\nproto.qb.smg.GetBetNoTokenReply.prototype.setPlayertournamentscore = function(value) {\n  return jspb.Message.setProto3IntField(this, 5, value);\n};\n\n\n/**\n * optional bool isTournamentBet = 6;\n * @return {boolean}\n */\nproto.qb.smg.GetBetNoTokenReply.prototype.getIstournamentbet = function() {\n  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 6, false));\n};\n\n\n/**\n * @param {boolean} value\n * @return {!proto.qb.smg.GetBetNoTokenReply} returns this\n */\nproto.qb.smg.GetBetNoTokenReply.prototype.setIstournamentbet = function(value) {\n  return jspb.Message.setProto3BooleanField(this, 6, value);\n};\n\n\n/**\n * optional int32 totalWonFreePlayAmount = 7;\n * @return {number}\n */\nproto.qb.smg.GetBetNoTokenReply.prototype.getTotalwonfreeplayamount = function() {\n  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 7, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.qb.smg.GetBetNoTokenReply} returns this\n */\nproto.qb.smg.GetBetNoTokenReply.prototype.setTotalwonfreeplayamount = function(value) {\n  return jspb.Message.setProto3IntField(this, 7, value);\n};\n\n\n/**\n * optional bool onlyPlayedTournamentBets = 8;\n * @return {boolean}\n */\nproto.qb.smg.GetBetNoTokenReply.prototype.getOnlyplayedtournamentbets = function() {\n  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 8, false));\n};\n\n\n/**\n * @param {boolean} value\n * @return {!proto.qb.smg.GetBetNoTokenReply} returns this\n */\nproto.qb.smg.GetBetNoTokenReply.prototype.setOnlyplayedtournamentbets = function(value) {\n  return jspb.Message.setProto3BooleanField(this, 8, value);\n};\n\n\n/**\n * optional bool isAdditionalFreePlayAmountAdded = 9;\n * @return {boolean}\n */\nproto.qb.smg.GetBetNoTokenReply.prototype.getIsadditionalfreeplayamountadded = function() {\n  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 9, false));\n};\n\n\n/**\n * @param {boolean} value\n * @return {!proto.qb.smg.GetBetNoTokenReply} returns this\n */\nproto.qb.smg.GetBetNoTokenReply.prototype.setIsadditionalfreeplayamountadded = function(value) {\n  return jspb.Message.setProto3BooleanField(this, 9, value);\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.qb.smg.AcceptBetRequest.prototype.toObject = function(opt_includeInstance) {\n  return proto.qb.smg.AcceptBetRequest.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.qb.smg.AcceptBetRequest} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.qb.smg.AcceptBetRequest.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    token: jspb.Message.getFieldWithDefault(msg, 1, \"\"),\n    betId: jspb.Message.getFieldWithDefault(msg, 2, 0),\n    betamount: jspb.Message.getFieldWithDefault(msg, 3, 0),\n    challengeId: jspb.Message.getFieldWithDefault(msg, 4, 0),\n    location: (f = msg.getLocation()) && proto.qb.smg.Location.toObject(includeInstance, f),\n    venueId: jspb.Message.getFieldWithDefault(msg, 102, 0)\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.qb.smg.AcceptBetRequest}\n */\nproto.qb.smg.AcceptBetRequest.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.qb.smg.AcceptBetRequest;\n  return proto.qb.smg.AcceptBetRequest.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.qb.smg.AcceptBetRequest} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.qb.smg.AcceptBetRequest}\n */\nproto.qb.smg.AcceptBetRequest.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setToken(value);\n      break;\n    case 2:\n      var value = /** @type {number} */ (reader.readInt64());\n      msg.setBetId(value);\n      break;\n    case 3:\n      var value = /** @type {number} */ (reader.readInt64());\n      msg.setBetamount(value);\n      break;\n    case 4:\n      var value = /** @type {number} */ (reader.readInt64());\n      msg.setChallengeId(value);\n      break;\n    case 101:\n      var value = new proto.qb.smg.Location;\n      reader.readMessage(value,proto.qb.smg.Location.deserializeBinaryFromReader);\n      msg.setLocation(value);\n      break;\n    case 102:\n      var value = /** @type {number} */ (reader.readInt32());\n      msg.setVenueId(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.qb.smg.AcceptBetRequest.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.qb.smg.AcceptBetRequest.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.qb.smg.AcceptBetRequest} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.qb.smg.AcceptBetRequest.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getToken();\n  if (f.length > 0) {\n    writer.writeString(\n      1,\n      f\n    );\n  }\n  f = message.getBetId();\n  if (f !== 0) {\n    writer.writeInt64(\n      2,\n      f\n    );\n  }\n  f = message.getBetamount();\n  if (f !== 0) {\n    writer.writeInt64(\n      3,\n      f\n    );\n  }\n  f = message.getChallengeId();\n  if (f !== 0) {\n    writer.writeInt64(\n      4,\n      f\n    );\n  }\n  f = message.getLocation();\n  if (f != null) {\n    writer.writeMessage(\n      101,\n      f,\n      proto.qb.smg.Location.serializeBinaryToWriter\n    );\n  }\n  f = message.getVenueId();\n  if (f !== 0) {\n    writer.writeInt32(\n      102,\n      f\n    );\n  }\n};\n\n\n/**\n * optional string token = 1;\n * @return {string}\n */\nproto.qb.smg.AcceptBetRequest.prototype.getToken = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.qb.smg.AcceptBetRequest} returns this\n */\nproto.qb.smg.AcceptBetRequest.prototype.setToken = function(value) {\n  return jspb.Message.setProto3StringField(this, 1, value);\n};\n\n\n/**\n * optional int64 bet_id = 2;\n * @return {number}\n */\nproto.qb.smg.AcceptBetRequest.prototype.getBetId = function() {\n  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 2, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.qb.smg.AcceptBetRequest} returns this\n */\nproto.qb.smg.AcceptBetRequest.prototype.setBetId = function(value) {\n  return jspb.Message.setProto3IntField(this, 2, value);\n};\n\n\n/**\n * optional int64 betAmount = 3;\n * @return {number}\n */\nproto.qb.smg.AcceptBetRequest.prototype.getBetamount = function() {\n  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 3, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.qb.smg.AcceptBetRequest} returns this\n */\nproto.qb.smg.AcceptBetRequest.prototype.setBetamount = function(value) {\n  return jspb.Message.setProto3IntField(this, 3, value);\n};\n\n\n/**\n * optional int64 challenge_id = 4;\n * @return {number}\n */\nproto.qb.smg.AcceptBetRequest.prototype.getChallengeId = function() {\n  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 4, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.qb.smg.AcceptBetRequest} returns this\n */\nproto.qb.smg.AcceptBetRequest.prototype.setChallengeId = function(value) {\n  return jspb.Message.setProto3IntField(this, 4, value);\n};\n\n\n/**\n * optional Location location = 101;\n * @return {?proto.qb.smg.Location}\n */\nproto.qb.smg.AcceptBetRequest.prototype.getLocation = function() {\n  return /** @type{?proto.qb.smg.Location} */ (\n    jspb.Message.getWrapperField(this, proto.qb.smg.Location, 101));\n};\n\n\n/**\n * @param {?proto.qb.smg.Location|undefined} value\n * @return {!proto.qb.smg.AcceptBetRequest} returns this\n*/\nproto.qb.smg.AcceptBetRequest.prototype.setLocation = function(value) {\n  return jspb.Message.setWrapperField(this, 101, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.qb.smg.AcceptBetRequest} returns this\n */\nproto.qb.smg.AcceptBetRequest.prototype.clearLocation = function() {\n  return this.setLocation(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.qb.smg.AcceptBetRequest.prototype.hasLocation = function() {\n  return jspb.Message.getField(this, 101) != null;\n};\n\n\n/**\n * optional int32 venue_id = 102;\n * @return {number}\n */\nproto.qb.smg.AcceptBetRequest.prototype.getVenueId = function() {\n  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 102, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.qb.smg.AcceptBetRequest} returns this\n */\nproto.qb.smg.AcceptBetRequest.prototype.setVenueId = function(value) {\n  return jspb.Message.setProto3IntField(this, 102, value);\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.qb.smg.AcceptBetReply.prototype.toObject = function(opt_includeInstance) {\n  return proto.qb.smg.AcceptBetReply.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.qb.smg.AcceptBetReply} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.qb.smg.AcceptBetReply.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    success: jspb.Message.getBooleanFieldWithDefault(msg, 1, false),\n    error: (f = msg.getError()) && proto.qb.smg.Error.toObject(includeInstance, f)\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.qb.smg.AcceptBetReply}\n */\nproto.qb.smg.AcceptBetReply.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.qb.smg.AcceptBetReply;\n  return proto.qb.smg.AcceptBetReply.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.qb.smg.AcceptBetReply} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.qb.smg.AcceptBetReply}\n */\nproto.qb.smg.AcceptBetReply.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {boolean} */ (reader.readBool());\n      msg.setSuccess(value);\n      break;\n    case 2:\n      var value = new proto.qb.smg.Error;\n      reader.readMessage(value,proto.qb.smg.Error.deserializeBinaryFromReader);\n      msg.setError(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.qb.smg.AcceptBetReply.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.qb.smg.AcceptBetReply.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.qb.smg.AcceptBetReply} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.qb.smg.AcceptBetReply.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getSuccess();\n  if (f) {\n    writer.writeBool(\n      1,\n      f\n    );\n  }\n  f = message.getError();\n  if (f != null) {\n    writer.writeMessage(\n      2,\n      f,\n      proto.qb.smg.Error.serializeBinaryToWriter\n    );\n  }\n};\n\n\n/**\n * optional bool success = 1;\n * @return {boolean}\n */\nproto.qb.smg.AcceptBetReply.prototype.getSuccess = function() {\n  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 1, false));\n};\n\n\n/**\n * @param {boolean} value\n * @return {!proto.qb.smg.AcceptBetReply} returns this\n */\nproto.qb.smg.AcceptBetReply.prototype.setSuccess = function(value) {\n  return jspb.Message.setProto3BooleanField(this, 1, value);\n};\n\n\n/**\n * optional Error error = 2;\n * @return {?proto.qb.smg.Error}\n */\nproto.qb.smg.AcceptBetReply.prototype.getError = function() {\n  return /** @type{?proto.qb.smg.Error} */ (\n    jspb.Message.getWrapperField(this, proto.qb.smg.Error, 2));\n};\n\n\n/**\n * @param {?proto.qb.smg.Error|undefined} value\n * @return {!proto.qb.smg.AcceptBetReply} returns this\n*/\nproto.qb.smg.AcceptBetReply.prototype.setError = function(value) {\n  return jspb.Message.setWrapperField(this, 2, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.qb.smg.AcceptBetReply} returns this\n */\nproto.qb.smg.AcceptBetReply.prototype.clearError = function() {\n  return this.setError(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.qb.smg.AcceptBetReply.prototype.hasError = function() {\n  return jspb.Message.getField(this, 2) != null;\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.qb.smg.AdjustBetRequest.prototype.toObject = function(opt_includeInstance) {\n  return proto.qb.smg.AdjustBetRequest.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.qb.smg.AdjustBetRequest} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.qb.smg.AdjustBetRequest.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    token: jspb.Message.getFieldWithDefault(msg, 1, \"\"),\n    betId: jspb.Message.getFieldWithDefault(msg, 2, 0),\n    betamount: jspb.Message.getFieldWithDefault(msg, 3, 0),\n    location: (f = msg.getLocation()) && proto.qb.smg.Location.toObject(includeInstance, f),\n    venueId: jspb.Message.getFieldWithDefault(msg, 102, 0)\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.qb.smg.AdjustBetRequest}\n */\nproto.qb.smg.AdjustBetRequest.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.qb.smg.AdjustBetRequest;\n  return proto.qb.smg.AdjustBetRequest.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.qb.smg.AdjustBetRequest} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.qb.smg.AdjustBetRequest}\n */\nproto.qb.smg.AdjustBetRequest.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setToken(value);\n      break;\n    case 2:\n      var value = /** @type {number} */ (reader.readInt64());\n      msg.setBetId(value);\n      break;\n    case 3:\n      var value = /** @type {number} */ (reader.readInt64());\n      msg.setBetamount(value);\n      break;\n    case 101:\n      var value = new proto.qb.smg.Location;\n      reader.readMessage(value,proto.qb.smg.Location.deserializeBinaryFromReader);\n      msg.setLocation(value);\n      break;\n    case 102:\n      var value = /** @type {number} */ (reader.readInt32());\n      msg.setVenueId(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.qb.smg.AdjustBetRequest.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.qb.smg.AdjustBetRequest.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.qb.smg.AdjustBetRequest} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.qb.smg.AdjustBetRequest.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getToken();\n  if (f.length > 0) {\n    writer.writeString(\n      1,\n      f\n    );\n  }\n  f = message.getBetId();\n  if (f !== 0) {\n    writer.writeInt64(\n      2,\n      f\n    );\n  }\n  f = message.getBetamount();\n  if (f !== 0) {\n    writer.writeInt64(\n      3,\n      f\n    );\n  }\n  f = message.getLocation();\n  if (f != null) {\n    writer.writeMessage(\n      101,\n      f,\n      proto.qb.smg.Location.serializeBinaryToWriter\n    );\n  }\n  f = message.getVenueId();\n  if (f !== 0) {\n    writer.writeInt32(\n      102,\n      f\n    );\n  }\n};\n\n\n/**\n * optional string token = 1;\n * @return {string}\n */\nproto.qb.smg.AdjustBetRequest.prototype.getToken = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.qb.smg.AdjustBetRequest} returns this\n */\nproto.qb.smg.AdjustBetRequest.prototype.setToken = function(value) {\n  return jspb.Message.setProto3StringField(this, 1, value);\n};\n\n\n/**\n * optional int64 bet_id = 2;\n * @return {number}\n */\nproto.qb.smg.AdjustBetRequest.prototype.getBetId = function() {\n  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 2, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.qb.smg.AdjustBetRequest} returns this\n */\nproto.qb.smg.AdjustBetRequest.prototype.setBetId = function(value) {\n  return jspb.Message.setProto3IntField(this, 2, value);\n};\n\n\n/**\n * optional int64 betAmount = 3;\n * @return {number}\n */\nproto.qb.smg.AdjustBetRequest.prototype.getBetamount = function() {\n  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 3, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.qb.smg.AdjustBetRequest} returns this\n */\nproto.qb.smg.AdjustBetRequest.prototype.setBetamount = function(value) {\n  return jspb.Message.setProto3IntField(this, 3, value);\n};\n\n\n/**\n * optional Location location = 101;\n * @return {?proto.qb.smg.Location}\n */\nproto.qb.smg.AdjustBetRequest.prototype.getLocation = function() {\n  return /** @type{?proto.qb.smg.Location} */ (\n    jspb.Message.getWrapperField(this, proto.qb.smg.Location, 101));\n};\n\n\n/**\n * @param {?proto.qb.smg.Location|undefined} value\n * @return {!proto.qb.smg.AdjustBetRequest} returns this\n*/\nproto.qb.smg.AdjustBetRequest.prototype.setLocation = function(value) {\n  return jspb.Message.setWrapperField(this, 101, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.qb.smg.AdjustBetRequest} returns this\n */\nproto.qb.smg.AdjustBetRequest.prototype.clearLocation = function() {\n  return this.setLocation(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.qb.smg.AdjustBetRequest.prototype.hasLocation = function() {\n  return jspb.Message.getField(this, 101) != null;\n};\n\n\n/**\n * optional int32 venue_id = 102;\n * @return {number}\n */\nproto.qb.smg.AdjustBetRequest.prototype.getVenueId = function() {\n  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 102, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.qb.smg.AdjustBetRequest} returns this\n */\nproto.qb.smg.AdjustBetRequest.prototype.setVenueId = function(value) {\n  return jspb.Message.setProto3IntField(this, 102, value);\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.qb.smg.AdjustBetReply.prototype.toObject = function(opt_includeInstance) {\n  return proto.qb.smg.AdjustBetReply.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.qb.smg.AdjustBetReply} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.qb.smg.AdjustBetReply.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    success: jspb.Message.getBooleanFieldWithDefault(msg, 1, false),\n    betId: jspb.Message.getFieldWithDefault(msg, 2, 0),\n    error: (f = msg.getError()) && proto.qb.smg.Error.toObject(includeInstance, f)\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.qb.smg.AdjustBetReply}\n */\nproto.qb.smg.AdjustBetReply.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.qb.smg.AdjustBetReply;\n  return proto.qb.smg.AdjustBetReply.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.qb.smg.AdjustBetReply} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.qb.smg.AdjustBetReply}\n */\nproto.qb.smg.AdjustBetReply.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {boolean} */ (reader.readBool());\n      msg.setSuccess(value);\n      break;\n    case 2:\n      var value = /** @type {number} */ (reader.readInt64());\n      msg.setBetId(value);\n      break;\n    case 3:\n      var value = new proto.qb.smg.Error;\n      reader.readMessage(value,proto.qb.smg.Error.deserializeBinaryFromReader);\n      msg.setError(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.qb.smg.AdjustBetReply.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.qb.smg.AdjustBetReply.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.qb.smg.AdjustBetReply} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.qb.smg.AdjustBetReply.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getSuccess();\n  if (f) {\n    writer.writeBool(\n      1,\n      f\n    );\n  }\n  f = message.getBetId();\n  if (f !== 0) {\n    writer.writeInt64(\n      2,\n      f\n    );\n  }\n  f = message.getError();\n  if (f != null) {\n    writer.writeMessage(\n      3,\n      f,\n      proto.qb.smg.Error.serializeBinaryToWriter\n    );\n  }\n};\n\n\n/**\n * optional bool success = 1;\n * @return {boolean}\n */\nproto.qb.smg.AdjustBetReply.prototype.getSuccess = function() {\n  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 1, false));\n};\n\n\n/**\n * @param {boolean} value\n * @return {!proto.qb.smg.AdjustBetReply} returns this\n */\nproto.qb.smg.AdjustBetReply.prototype.setSuccess = function(value) {\n  return jspb.Message.setProto3BooleanField(this, 1, value);\n};\n\n\n/**\n * optional int64 bet_id = 2;\n * @return {number}\n */\nproto.qb.smg.AdjustBetReply.prototype.getBetId = function() {\n  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 2, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.qb.smg.AdjustBetReply} returns this\n */\nproto.qb.smg.AdjustBetReply.prototype.setBetId = function(value) {\n  return jspb.Message.setProto3IntField(this, 2, value);\n};\n\n\n/**\n * optional Error error = 3;\n * @return {?proto.qb.smg.Error}\n */\nproto.qb.smg.AdjustBetReply.prototype.getError = function() {\n  return /** @type{?proto.qb.smg.Error} */ (\n    jspb.Message.getWrapperField(this, proto.qb.smg.Error, 3));\n};\n\n\n/**\n * @param {?proto.qb.smg.Error|undefined} value\n * @return {!proto.qb.smg.AdjustBetReply} returns this\n*/\nproto.qb.smg.AdjustBetReply.prototype.setError = function(value) {\n  return jspb.Message.setWrapperField(this, 3, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.qb.smg.AdjustBetReply} returns this\n */\nproto.qb.smg.AdjustBetReply.prototype.clearError = function() {\n  return this.setError(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.qb.smg.AdjustBetReply.prototype.hasError = function() {\n  return jspb.Message.getField(this, 3) != null;\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.qb.smg.Hit.prototype.toObject = function(opt_includeInstance) {\n  return proto.qb.smg.Hit.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.qb.smg.Hit} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.qb.smg.Hit.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    token: jspb.Message.getFieldWithDefault(msg, 101, \"\"),\n    id: jspb.Message.getFieldWithDefault(msg, 1, \"\"),\n    carryDistance: jspb.Message.getFloatingPointFieldWithDefault(msg, 2, 0.0),\n    totalDistance: jspb.Message.getFloatingPointFieldWithDefault(msg, 3, 0.0),\n    headSpeedMph: jspb.Message.getFloatingPointFieldWithDefault(msg, 4, 0.0),\n    ballSpeedMph: jspb.Message.getFloatingPointFieldWithDefault(msg, 5, 0.0),\n    pathAngle: jspb.Message.getFloatingPointFieldWithDefault(msg, 6, 0.0),\n    faceOpenClosedAngle: jspb.Message.getFloatingPointFieldWithDefault(msg, 7, 0.0),\n    smashFactor: jspb.Message.getFloatingPointFieldWithDefault(msg, 8, 0.0),\n    launchAngle: jspb.Message.getFloatingPointFieldWithDefault(msg, 9, 0.0),\n    backSpin: jspb.Message.getFloatingPointFieldWithDefault(msg, 10, 0.0),\n    sideSpin: jspb.Message.getFloatingPointFieldWithDefault(msg, 11, 0.0),\n    distanceToTarget: jspb.Message.getFloatingPointFieldWithDefault(msg, 12, 0.0),\n    apex: jspb.Message.getFloatingPointFieldWithDefault(msg, 13, 0.0),\n    unixTimeStamp: jspb.Message.getFieldWithDefault(msg, 14, 0),\n    stationId: jspb.Message.getFieldWithDefault(msg, 15, 0)\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.qb.smg.Hit}\n */\nproto.qb.smg.Hit.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.qb.smg.Hit;\n  return proto.qb.smg.Hit.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.qb.smg.Hit} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.qb.smg.Hit}\n */\nproto.qb.smg.Hit.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 101:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setToken(value);\n      break;\n    case 1:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setId(value);\n      break;\n    case 2:\n      var value = /** @type {number} */ (reader.readDouble());\n      msg.setCarryDistance(value);\n      break;\n    case 3:\n      var value = /** @type {number} */ (reader.readDouble());\n      msg.setTotalDistance(value);\n      break;\n    case 4:\n      var value = /** @type {number} */ (reader.readDouble());\n      msg.setHeadSpeedMph(value);\n      break;\n    case 5:\n      var value = /** @type {number} */ (reader.readDouble());\n      msg.setBallSpeedMph(value);\n      break;\n    case 6:\n      var value = /** @type {number} */ (reader.readDouble());\n      msg.setPathAngle(value);\n      break;\n    case 7:\n      var value = /** @type {number} */ (reader.readDouble());\n      msg.setFaceOpenClosedAngle(value);\n      break;\n    case 8:\n      var value = /** @type {number} */ (reader.readDouble());\n      msg.setSmashFactor(value);\n      break;\n    case 9:\n      var value = /** @type {number} */ (reader.readDouble());\n      msg.setLaunchAngle(value);\n      break;\n    case 10:\n      var value = /** @type {number} */ (reader.readDouble());\n      msg.setBackSpin(value);\n      break;\n    case 11:\n      var value = /** @type {number} */ (reader.readDouble());\n      msg.setSideSpin(value);\n      break;\n    case 12:\n      var value = /** @type {number} */ (reader.readDouble());\n      msg.setDistanceToTarget(value);\n      break;\n    case 13:\n      var value = /** @type {number} */ (reader.readDouble());\n      msg.setApex(value);\n      break;\n    case 14:\n      var value = /** @type {number} */ (reader.readInt64());\n      msg.setUnixTimeStamp(value);\n      break;\n    case 15:\n      var value = /** @type {number} */ (reader.readInt64());\n      msg.setStationId(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.qb.smg.Hit.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.qb.smg.Hit.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.qb.smg.Hit} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.qb.smg.Hit.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getToken();\n  if (f.length > 0) {\n    writer.writeString(\n      101,\n      f\n    );\n  }\n  f = message.getId();\n  if (f.length > 0) {\n    writer.writeString(\n      1,\n      f\n    );\n  }\n  f = message.getCarryDistance();\n  if (f !== 0.0) {\n    writer.writeDouble(\n      2,\n      f\n    );\n  }\n  f = message.getTotalDistance();\n  if (f !== 0.0) {\n    writer.writeDouble(\n      3,\n      f\n    );\n  }\n  f = message.getHeadSpeedMph();\n  if (f !== 0.0) {\n    writer.writeDouble(\n      4,\n      f\n    );\n  }\n  f = message.getBallSpeedMph();\n  if (f !== 0.0) {\n    writer.writeDouble(\n      5,\n      f\n    );\n  }\n  f = message.getPathAngle();\n  if (f !== 0.0) {\n    writer.writeDouble(\n      6,\n      f\n    );\n  }\n  f = message.getFaceOpenClosedAngle();\n  if (f !== 0.0) {\n    writer.writeDouble(\n      7,\n      f\n    );\n  }\n  f = message.getSmashFactor();\n  if (f !== 0.0) {\n    writer.writeDouble(\n      8,\n      f\n    );\n  }\n  f = message.getLaunchAngle();\n  if (f !== 0.0) {\n    writer.writeDouble(\n      9,\n      f\n    );\n  }\n  f = message.getBackSpin();\n  if (f !== 0.0) {\n    writer.writeDouble(\n      10,\n      f\n    );\n  }\n  f = message.getSideSpin();\n  if (f !== 0.0) {\n    writer.writeDouble(\n      11,\n      f\n    );\n  }\n  f = message.getDistanceToTarget();\n  if (f !== 0.0) {\n    writer.writeDouble(\n      12,\n      f\n    );\n  }\n  f = message.getApex();\n  if (f !== 0.0) {\n    writer.writeDouble(\n      13,\n      f\n    );\n  }\n  f = message.getUnixTimeStamp();\n  if (f !== 0) {\n    writer.writeInt64(\n      14,\n      f\n    );\n  }\n  f = message.getStationId();\n  if (f !== 0) {\n    writer.writeInt64(\n      15,\n      f\n    );\n  }\n};\n\n\n/**\n * optional string token = 101;\n * @return {string}\n */\nproto.qb.smg.Hit.prototype.getToken = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 101, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.qb.smg.Hit} returns this\n */\nproto.qb.smg.Hit.prototype.setToken = function(value) {\n  return jspb.Message.setProto3StringField(this, 101, value);\n};\n\n\n/**\n * optional string id = 1;\n * @return {string}\n */\nproto.qb.smg.Hit.prototype.getId = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.qb.smg.Hit} returns this\n */\nproto.qb.smg.Hit.prototype.setId = function(value) {\n  return jspb.Message.setProto3StringField(this, 1, value);\n};\n\n\n/**\n * optional double carry_distance = 2;\n * @return {number}\n */\nproto.qb.smg.Hit.prototype.getCarryDistance = function() {\n  return /** @type {number} */ (jspb.Message.getFloatingPointFieldWithDefault(this, 2, 0.0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.qb.smg.Hit} returns this\n */\nproto.qb.smg.Hit.prototype.setCarryDistance = function(value) {\n  return jspb.Message.setProto3FloatField(this, 2, value);\n};\n\n\n/**\n * optional double total_distance = 3;\n * @return {number}\n */\nproto.qb.smg.Hit.prototype.getTotalDistance = function() {\n  return /** @type {number} */ (jspb.Message.getFloatingPointFieldWithDefault(this, 3, 0.0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.qb.smg.Hit} returns this\n */\nproto.qb.smg.Hit.prototype.setTotalDistance = function(value) {\n  return jspb.Message.setProto3FloatField(this, 3, value);\n};\n\n\n/**\n * optional double head_speed_mph = 4;\n * @return {number}\n */\nproto.qb.smg.Hit.prototype.getHeadSpeedMph = function() {\n  return /** @type {number} */ (jspb.Message.getFloatingPointFieldWithDefault(this, 4, 0.0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.qb.smg.Hit} returns this\n */\nproto.qb.smg.Hit.prototype.setHeadSpeedMph = function(value) {\n  return jspb.Message.setProto3FloatField(this, 4, value);\n};\n\n\n/**\n * optional double ball_speed_mph = 5;\n * @return {number}\n */\nproto.qb.smg.Hit.prototype.getBallSpeedMph = function() {\n  return /** @type {number} */ (jspb.Message.getFloatingPointFieldWithDefault(this, 5, 0.0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.qb.smg.Hit} returns this\n */\nproto.qb.smg.Hit.prototype.setBallSpeedMph = function(value) {\n  return jspb.Message.setProto3FloatField(this, 5, value);\n};\n\n\n/**\n * optional double path_angle = 6;\n * @return {number}\n */\nproto.qb.smg.Hit.prototype.getPathAngle = function() {\n  return /** @type {number} */ (jspb.Message.getFloatingPointFieldWithDefault(this, 6, 0.0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.qb.smg.Hit} returns this\n */\nproto.qb.smg.Hit.prototype.setPathAngle = function(value) {\n  return jspb.Message.setProto3FloatField(this, 6, value);\n};\n\n\n/**\n * optional double face_open_closed_angle = 7;\n * @return {number}\n */\nproto.qb.smg.Hit.prototype.getFaceOpenClosedAngle = function() {\n  return /** @type {number} */ (jspb.Message.getFloatingPointFieldWithDefault(this, 7, 0.0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.qb.smg.Hit} returns this\n */\nproto.qb.smg.Hit.prototype.setFaceOpenClosedAngle = function(value) {\n  return jspb.Message.setProto3FloatField(this, 7, value);\n};\n\n\n/**\n * optional double smash_factor = 8;\n * @return {number}\n */\nproto.qb.smg.Hit.prototype.getSmashFactor = function() {\n  return /** @type {number} */ (jspb.Message.getFloatingPointFieldWithDefault(this, 8, 0.0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.qb.smg.Hit} returns this\n */\nproto.qb.smg.Hit.prototype.setSmashFactor = function(value) {\n  return jspb.Message.setProto3FloatField(this, 8, value);\n};\n\n\n/**\n * optional double launch_angle = 9;\n * @return {number}\n */\nproto.qb.smg.Hit.prototype.getLaunchAngle = function() {\n  return /** @type {number} */ (jspb.Message.getFloatingPointFieldWithDefault(this, 9, 0.0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.qb.smg.Hit} returns this\n */\nproto.qb.smg.Hit.prototype.setLaunchAngle = function(value) {\n  return jspb.Message.setProto3FloatField(this, 9, value);\n};\n\n\n/**\n * optional double back_spin = 10;\n * @return {number}\n */\nproto.qb.smg.Hit.prototype.getBackSpin = function() {\n  return /** @type {number} */ (jspb.Message.getFloatingPointFieldWithDefault(this, 10, 0.0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.qb.smg.Hit} returns this\n */\nproto.qb.smg.Hit.prototype.setBackSpin = function(value) {\n  return jspb.Message.setProto3FloatField(this, 10, value);\n};\n\n\n/**\n * optional double side_spin = 11;\n * @return {number}\n */\nproto.qb.smg.Hit.prototype.getSideSpin = function() {\n  return /** @type {number} */ (jspb.Message.getFloatingPointFieldWithDefault(this, 11, 0.0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.qb.smg.Hit} returns this\n */\nproto.qb.smg.Hit.prototype.setSideSpin = function(value) {\n  return jspb.Message.setProto3FloatField(this, 11, value);\n};\n\n\n/**\n * optional double distance_to_target = 12;\n * @return {number}\n */\nproto.qb.smg.Hit.prototype.getDistanceToTarget = function() {\n  return /** @type {number} */ (jspb.Message.getFloatingPointFieldWithDefault(this, 12, 0.0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.qb.smg.Hit} returns this\n */\nproto.qb.smg.Hit.prototype.setDistanceToTarget = function(value) {\n  return jspb.Message.setProto3FloatField(this, 12, value);\n};\n\n\n/**\n * optional double apex = 13;\n * @return {number}\n */\nproto.qb.smg.Hit.prototype.getApex = function() {\n  return /** @type {number} */ (jspb.Message.getFloatingPointFieldWithDefault(this, 13, 0.0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.qb.smg.Hit} returns this\n */\nproto.qb.smg.Hit.prototype.setApex = function(value) {\n  return jspb.Message.setProto3FloatField(this, 13, value);\n};\n\n\n/**\n * optional int64 unix_time_stamp = 14;\n * @return {number}\n */\nproto.qb.smg.Hit.prototype.getUnixTimeStamp = function() {\n  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 14, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.qb.smg.Hit} returns this\n */\nproto.qb.smg.Hit.prototype.setUnixTimeStamp = function(value) {\n  return jspb.Message.setProto3IntField(this, 14, value);\n};\n\n\n/**\n * optional int64 station_id = 15;\n * @return {number}\n */\nproto.qb.smg.Hit.prototype.getStationId = function() {\n  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 15, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.qb.smg.Hit} returns this\n */\nproto.qb.smg.Hit.prototype.setStationId = function(value) {\n  return jspb.Message.setProto3IntField(this, 15, value);\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.qb.smg.StartHitRequest.prototype.toObject = function(opt_includeInstance) {\n  return proto.qb.smg.StartHitRequest.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.qb.smg.StartHitRequest} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.qb.smg.StartHitRequest.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    stationId: jspb.Message.getFieldWithDefault(msg, 1, 0),\n    acceptedBetId: jspb.Message.getFieldWithDefault(msg, 2, 0),\n    token: jspb.Message.getFieldWithDefault(msg, 3, \"\"),\n    location: (f = msg.getLocation()) && proto.qb.smg.Location.toObject(includeInstance, f),\n    venueId: jspb.Message.getFieldWithDefault(msg, 102, 0)\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.qb.smg.StartHitRequest}\n */\nproto.qb.smg.StartHitRequest.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.qb.smg.StartHitRequest;\n  return proto.qb.smg.StartHitRequest.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.qb.smg.StartHitRequest} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.qb.smg.StartHitRequest}\n */\nproto.qb.smg.StartHitRequest.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {number} */ (reader.readInt64());\n      msg.setStationId(value);\n      break;\n    case 2:\n      var value = /** @type {number} */ (reader.readInt64());\n      msg.setAcceptedBetId(value);\n      break;\n    case 3:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setToken(value);\n      break;\n    case 101:\n      var value = new proto.qb.smg.Location;\n      reader.readMessage(value,proto.qb.smg.Location.deserializeBinaryFromReader);\n      msg.setLocation(value);\n      break;\n    case 102:\n      var value = /** @type {number} */ (reader.readInt32());\n      msg.setVenueId(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.qb.smg.StartHitRequest.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.qb.smg.StartHitRequest.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.qb.smg.StartHitRequest} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.qb.smg.StartHitRequest.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getStationId();\n  if (f !== 0) {\n    writer.writeInt64(\n      1,\n      f\n    );\n  }\n  f = message.getAcceptedBetId();\n  if (f !== 0) {\n    writer.writeInt64(\n      2,\n      f\n    );\n  }\n  f = message.getToken();\n  if (f.length > 0) {\n    writer.writeString(\n      3,\n      f\n    );\n  }\n  f = message.getLocation();\n  if (f != null) {\n    writer.writeMessage(\n      101,\n      f,\n      proto.qb.smg.Location.serializeBinaryToWriter\n    );\n  }\n  f = message.getVenueId();\n  if (f !== 0) {\n    writer.writeInt32(\n      102,\n      f\n    );\n  }\n};\n\n\n/**\n * optional int64 station_id = 1;\n * @return {number}\n */\nproto.qb.smg.StartHitRequest.prototype.getStationId = function() {\n  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.qb.smg.StartHitRequest} returns this\n */\nproto.qb.smg.StartHitRequest.prototype.setStationId = function(value) {\n  return jspb.Message.setProto3IntField(this, 1, value);\n};\n\n\n/**\n * optional int64 accepted_bet_id = 2;\n * @return {number}\n */\nproto.qb.smg.StartHitRequest.prototype.getAcceptedBetId = function() {\n  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 2, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.qb.smg.StartHitRequest} returns this\n */\nproto.qb.smg.StartHitRequest.prototype.setAcceptedBetId = function(value) {\n  return jspb.Message.setProto3IntField(this, 2, value);\n};\n\n\n/**\n * optional string token = 3;\n * @return {string}\n */\nproto.qb.smg.StartHitRequest.prototype.getToken = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 3, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.qb.smg.StartHitRequest} returns this\n */\nproto.qb.smg.StartHitRequest.prototype.setToken = function(value) {\n  return jspb.Message.setProto3StringField(this, 3, value);\n};\n\n\n/**\n * optional Location location = 101;\n * @return {?proto.qb.smg.Location}\n */\nproto.qb.smg.StartHitRequest.prototype.getLocation = function() {\n  return /** @type{?proto.qb.smg.Location} */ (\n    jspb.Message.getWrapperField(this, proto.qb.smg.Location, 101));\n};\n\n\n/**\n * @param {?proto.qb.smg.Location|undefined} value\n * @return {!proto.qb.smg.StartHitRequest} returns this\n*/\nproto.qb.smg.StartHitRequest.prototype.setLocation = function(value) {\n  return jspb.Message.setWrapperField(this, 101, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.qb.smg.StartHitRequest} returns this\n */\nproto.qb.smg.StartHitRequest.prototype.clearLocation = function() {\n  return this.setLocation(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.qb.smg.StartHitRequest.prototype.hasLocation = function() {\n  return jspb.Message.getField(this, 101) != null;\n};\n\n\n/**\n * optional int32 venue_id = 102;\n * @return {number}\n */\nproto.qb.smg.StartHitRequest.prototype.getVenueId = function() {\n  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 102, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.qb.smg.StartHitRequest} returns this\n */\nproto.qb.smg.StartHitRequest.prototype.setVenueId = function(value) {\n  return jspb.Message.setProto3IntField(this, 102, value);\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.qb.smg.StartHitReply.prototype.toObject = function(opt_includeInstance) {\n  return proto.qb.smg.StartHitReply.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.qb.smg.StartHitReply} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.qb.smg.StartHitReply.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    error: (f = msg.getError()) && proto.qb.smg.Error.toObject(includeInstance, f),\n    success: jspb.Message.getBooleanFieldWithDefault(msg, 2, false),\n    hitId: jspb.Message.getFieldWithDefault(msg, 3, 0)\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.qb.smg.StartHitReply}\n */\nproto.qb.smg.StartHitReply.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.qb.smg.StartHitReply;\n  return proto.qb.smg.StartHitReply.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.qb.smg.StartHitReply} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.qb.smg.StartHitReply}\n */\nproto.qb.smg.StartHitReply.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = new proto.qb.smg.Error;\n      reader.readMessage(value,proto.qb.smg.Error.deserializeBinaryFromReader);\n      msg.setError(value);\n      break;\n    case 2:\n      var value = /** @type {boolean} */ (reader.readBool());\n      msg.setSuccess(value);\n      break;\n    case 3:\n      var value = /** @type {number} */ (reader.readInt64());\n      msg.setHitId(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.qb.smg.StartHitReply.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.qb.smg.StartHitReply.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.qb.smg.StartHitReply} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.qb.smg.StartHitReply.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getError();\n  if (f != null) {\n    writer.writeMessage(\n      1,\n      f,\n      proto.qb.smg.Error.serializeBinaryToWriter\n    );\n  }\n  f = message.getSuccess();\n  if (f) {\n    writer.writeBool(\n      2,\n      f\n    );\n  }\n  f = message.getHitId();\n  if (f !== 0) {\n    writer.writeInt64(\n      3,\n      f\n    );\n  }\n};\n\n\n/**\n * optional Error error = 1;\n * @return {?proto.qb.smg.Error}\n */\nproto.qb.smg.StartHitReply.prototype.getError = function() {\n  return /** @type{?proto.qb.smg.Error} */ (\n    jspb.Message.getWrapperField(this, proto.qb.smg.Error, 1));\n};\n\n\n/**\n * @param {?proto.qb.smg.Error|undefined} value\n * @return {!proto.qb.smg.StartHitReply} returns this\n*/\nproto.qb.smg.StartHitReply.prototype.setError = function(value) {\n  return jspb.Message.setWrapperField(this, 1, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.qb.smg.StartHitReply} returns this\n */\nproto.qb.smg.StartHitReply.prototype.clearError = function() {\n  return this.setError(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.qb.smg.StartHitReply.prototype.hasError = function() {\n  return jspb.Message.getField(this, 1) != null;\n};\n\n\n/**\n * optional bool success = 2;\n * @return {boolean}\n */\nproto.qb.smg.StartHitReply.prototype.getSuccess = function() {\n  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 2, false));\n};\n\n\n/**\n * @param {boolean} value\n * @return {!proto.qb.smg.StartHitReply} returns this\n */\nproto.qb.smg.StartHitReply.prototype.setSuccess = function(value) {\n  return jspb.Message.setProto3BooleanField(this, 2, value);\n};\n\n\n/**\n * optional int64 hit_id = 3;\n * @return {number}\n */\nproto.qb.smg.StartHitReply.prototype.getHitId = function() {\n  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 3, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.qb.smg.StartHitReply} returns this\n */\nproto.qb.smg.StartHitReply.prototype.setHitId = function(value) {\n  return jspb.Message.setProto3IntField(this, 3, value);\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.qb.smg.HitRequest.prototype.toObject = function(opt_includeInstance) {\n  return proto.qb.smg.HitRequest.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.qb.smg.HitRequest} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.qb.smg.HitRequest.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    hitId: jspb.Message.getFieldWithDefault(msg, 2, 0),\n    hit: (f = msg.getHit()) && proto.qb.smg.Hit.toObject(includeInstance, f),\n    holeInOne: jspb.Message.getBooleanFieldWithDefault(msg, 16, false),\n    token: jspb.Message.getFieldWithDefault(msg, 4, \"\"),\n    location: (f = msg.getLocation()) && proto.qb.smg.Location.toObject(includeInstance, f),\n    venueId: jspb.Message.getFieldWithDefault(msg, 102, 0)\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.qb.smg.HitRequest}\n */\nproto.qb.smg.HitRequest.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.qb.smg.HitRequest;\n  return proto.qb.smg.HitRequest.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.qb.smg.HitRequest} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.qb.smg.HitRequest}\n */\nproto.qb.smg.HitRequest.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 2:\n      var value = /** @type {number} */ (reader.readInt64());\n      msg.setHitId(value);\n      break;\n    case 3:\n      var value = new proto.qb.smg.Hit;\n      reader.readMessage(value,proto.qb.smg.Hit.deserializeBinaryFromReader);\n      msg.setHit(value);\n      break;\n    case 16:\n      var value = /** @type {boolean} */ (reader.readBool());\n      msg.setHoleInOne(value);\n      break;\n    case 4:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setToken(value);\n      break;\n    case 101:\n      var value = new proto.qb.smg.Location;\n      reader.readMessage(value,proto.qb.smg.Location.deserializeBinaryFromReader);\n      msg.setLocation(value);\n      break;\n    case 102:\n      var value = /** @type {number} */ (reader.readInt32());\n      msg.setVenueId(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.qb.smg.HitRequest.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.qb.smg.HitRequest.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.qb.smg.HitRequest} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.qb.smg.HitRequest.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getHitId();\n  if (f !== 0) {\n    writer.writeInt64(\n      2,\n      f\n    );\n  }\n  f = message.getHit();\n  if (f != null) {\n    writer.writeMessage(\n      3,\n      f,\n      proto.qb.smg.Hit.serializeBinaryToWriter\n    );\n  }\n  f = message.getHoleInOne();\n  if (f) {\n    writer.writeBool(\n      16,\n      f\n    );\n  }\n  f = message.getToken();\n  if (f.length > 0) {\n    writer.writeString(\n      4,\n      f\n    );\n  }\n  f = message.getLocation();\n  if (f != null) {\n    writer.writeMessage(\n      101,\n      f,\n      proto.qb.smg.Location.serializeBinaryToWriter\n    );\n  }\n  f = message.getVenueId();\n  if (f !== 0) {\n    writer.writeInt32(\n      102,\n      f\n    );\n  }\n};\n\n\n/**\n * optional int64 hit_id = 2;\n * @return {number}\n */\nproto.qb.smg.HitRequest.prototype.getHitId = function() {\n  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 2, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.qb.smg.HitRequest} returns this\n */\nproto.qb.smg.HitRequest.prototype.setHitId = function(value) {\n  return jspb.Message.setProto3IntField(this, 2, value);\n};\n\n\n/**\n * optional Hit hit = 3;\n * @return {?proto.qb.smg.Hit}\n */\nproto.qb.smg.HitRequest.prototype.getHit = function() {\n  return /** @type{?proto.qb.smg.Hit} */ (\n    jspb.Message.getWrapperField(this, proto.qb.smg.Hit, 3));\n};\n\n\n/**\n * @param {?proto.qb.smg.Hit|undefined} value\n * @return {!proto.qb.smg.HitRequest} returns this\n*/\nproto.qb.smg.HitRequest.prototype.setHit = function(value) {\n  return jspb.Message.setWrapperField(this, 3, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.qb.smg.HitRequest} returns this\n */\nproto.qb.smg.HitRequest.prototype.clearHit = function() {\n  return this.setHit(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.qb.smg.HitRequest.prototype.hasHit = function() {\n  return jspb.Message.getField(this, 3) != null;\n};\n\n\n/**\n * optional bool hole_in_one = 16;\n * @return {boolean}\n */\nproto.qb.smg.HitRequest.prototype.getHoleInOne = function() {\n  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 16, false));\n};\n\n\n/**\n * @param {boolean} value\n * @return {!proto.qb.smg.HitRequest} returns this\n */\nproto.qb.smg.HitRequest.prototype.setHoleInOne = function(value) {\n  return jspb.Message.setProto3BooleanField(this, 16, value);\n};\n\n\n/**\n * optional string token = 4;\n * @return {string}\n */\nproto.qb.smg.HitRequest.prototype.getToken = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 4, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.qb.smg.HitRequest} returns this\n */\nproto.qb.smg.HitRequest.prototype.setToken = function(value) {\n  return jspb.Message.setProto3StringField(this, 4, value);\n};\n\n\n/**\n * optional Location location = 101;\n * @return {?proto.qb.smg.Location}\n */\nproto.qb.smg.HitRequest.prototype.getLocation = function() {\n  return /** @type{?proto.qb.smg.Location} */ (\n    jspb.Message.getWrapperField(this, proto.qb.smg.Location, 101));\n};\n\n\n/**\n * @param {?proto.qb.smg.Location|undefined} value\n * @return {!proto.qb.smg.HitRequest} returns this\n*/\nproto.qb.smg.HitRequest.prototype.setLocation = function(value) {\n  return jspb.Message.setWrapperField(this, 101, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.qb.smg.HitRequest} returns this\n */\nproto.qb.smg.HitRequest.prototype.clearLocation = function() {\n  return this.setLocation(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.qb.smg.HitRequest.prototype.hasLocation = function() {\n  return jspb.Message.getField(this, 101) != null;\n};\n\n\n/**\n * optional int32 venue_id = 102;\n * @return {number}\n */\nproto.qb.smg.HitRequest.prototype.getVenueId = function() {\n  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 102, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.qb.smg.HitRequest} returns this\n */\nproto.qb.smg.HitRequest.prototype.setVenueId = function(value) {\n  return jspb.Message.setProto3IntField(this, 102, value);\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.qb.smg.HitReply.prototype.toObject = function(opt_includeInstance) {\n  return proto.qb.smg.HitReply.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.qb.smg.HitReply} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.qb.smg.HitReply.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    error: (f = msg.getError()) && proto.qb.smg.Error.toObject(includeInstance, f),\n    success: jspb.Message.getBooleanFieldWithDefault(msg, 2, false)\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.qb.smg.HitReply}\n */\nproto.qb.smg.HitReply.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.qb.smg.HitReply;\n  return proto.qb.smg.HitReply.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.qb.smg.HitReply} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.qb.smg.HitReply}\n */\nproto.qb.smg.HitReply.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = new proto.qb.smg.Error;\n      reader.readMessage(value,proto.qb.smg.Error.deserializeBinaryFromReader);\n      msg.setError(value);\n      break;\n    case 2:\n      var value = /** @type {boolean} */ (reader.readBool());\n      msg.setSuccess(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.qb.smg.HitReply.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.qb.smg.HitReply.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.qb.smg.HitReply} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.qb.smg.HitReply.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getError();\n  if (f != null) {\n    writer.writeMessage(\n      1,\n      f,\n      proto.qb.smg.Error.serializeBinaryToWriter\n    );\n  }\n  f = message.getSuccess();\n  if (f) {\n    writer.writeBool(\n      2,\n      f\n    );\n  }\n};\n\n\n/**\n * optional Error error = 1;\n * @return {?proto.qb.smg.Error}\n */\nproto.qb.smg.HitReply.prototype.getError = function() {\n  return /** @type{?proto.qb.smg.Error} */ (\n    jspb.Message.getWrapperField(this, proto.qb.smg.Error, 1));\n};\n\n\n/**\n * @param {?proto.qb.smg.Error|undefined} value\n * @return {!proto.qb.smg.HitReply} returns this\n*/\nproto.qb.smg.HitReply.prototype.setError = function(value) {\n  return jspb.Message.setWrapperField(this, 1, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.qb.smg.HitReply} returns this\n */\nproto.qb.smg.HitReply.prototype.clearError = function() {\n  return this.setError(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.qb.smg.HitReply.prototype.hasError = function() {\n  return jspb.Message.getField(this, 1) != null;\n};\n\n\n/**\n * optional bool success = 2;\n * @return {boolean}\n */\nproto.qb.smg.HitReply.prototype.getSuccess = function() {\n  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 2, false));\n};\n\n\n/**\n * @param {boolean} value\n * @return {!proto.qb.smg.HitReply} returns this\n */\nproto.qb.smg.HitReply.prototype.setSuccess = function(value) {\n  return jspb.Message.setProto3BooleanField(this, 2, value);\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.qb.smg.HitStreamReply.prototype.toObject = function(opt_includeInstance) {\n  return proto.qb.smg.HitStreamReply.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.qb.smg.HitStreamReply} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.qb.smg.HitStreamReply.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    something: jspb.Message.getFieldWithDefault(msg, 1, 0)\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.qb.smg.HitStreamReply}\n */\nproto.qb.smg.HitStreamReply.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.qb.smg.HitStreamReply;\n  return proto.qb.smg.HitStreamReply.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.qb.smg.HitStreamReply} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.qb.smg.HitStreamReply}\n */\nproto.qb.smg.HitStreamReply.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {number} */ (reader.readInt64());\n      msg.setSomething(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.qb.smg.HitStreamReply.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.qb.smg.HitStreamReply.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.qb.smg.HitStreamReply} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.qb.smg.HitStreamReply.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getSomething();\n  if (f !== 0) {\n    writer.writeInt64(\n      1,\n      f\n    );\n  }\n};\n\n\n/**\n * optional int64 something = 1;\n * @return {number}\n */\nproto.qb.smg.HitStreamReply.prototype.getSomething = function() {\n  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.qb.smg.HitStreamReply} returns this\n */\nproto.qb.smg.HitStreamReply.prototype.setSomething = function(value) {\n  return jspb.Message.setProto3IntField(this, 1, value);\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.qb.smg.AddFaceRequest.prototype.toObject = function(opt_includeInstance) {\n  return proto.qb.smg.AddFaceRequest.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.qb.smg.AddFaceRequest} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.qb.smg.AddFaceRequest.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    stationId: jspb.Message.getFieldWithDefault(msg, 1, 0),\n    faceId: jspb.Message.getFieldWithDefault(msg, 2, 0),\n    isRecognized: jspb.Message.getBooleanFieldWithDefault(msg, 3, false),\n    isDetected: jspb.Message.getBooleanFieldWithDefault(msg, 4, false)\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.qb.smg.AddFaceRequest}\n */\nproto.qb.smg.AddFaceRequest.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.qb.smg.AddFaceRequest;\n  return proto.qb.smg.AddFaceRequest.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.qb.smg.AddFaceRequest} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.qb.smg.AddFaceRequest}\n */\nproto.qb.smg.AddFaceRequest.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {number} */ (reader.readInt64());\n      msg.setStationId(value);\n      break;\n    case 2:\n      var value = /** @type {number} */ (reader.readInt64());\n      msg.setFaceId(value);\n      break;\n    case 3:\n      var value = /** @type {boolean} */ (reader.readBool());\n      msg.setIsRecognized(value);\n      break;\n    case 4:\n      var value = /** @type {boolean} */ (reader.readBool());\n      msg.setIsDetected(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.qb.smg.AddFaceRequest.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.qb.smg.AddFaceRequest.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.qb.smg.AddFaceRequest} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.qb.smg.AddFaceRequest.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getStationId();\n  if (f !== 0) {\n    writer.writeInt64(\n      1,\n      f\n    );\n  }\n  f = message.getFaceId();\n  if (f !== 0) {\n    writer.writeInt64(\n      2,\n      f\n    );\n  }\n  f = message.getIsRecognized();\n  if (f) {\n    writer.writeBool(\n      3,\n      f\n    );\n  }\n  f = message.getIsDetected();\n  if (f) {\n    writer.writeBool(\n      4,\n      f\n    );\n  }\n};\n\n\n/**\n * optional int64 station_id = 1;\n * @return {number}\n */\nproto.qb.smg.AddFaceRequest.prototype.getStationId = function() {\n  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.qb.smg.AddFaceRequest} returns this\n */\nproto.qb.smg.AddFaceRequest.prototype.setStationId = function(value) {\n  return jspb.Message.setProto3IntField(this, 1, value);\n};\n\n\n/**\n * optional int64 face_id = 2;\n * @return {number}\n */\nproto.qb.smg.AddFaceRequest.prototype.getFaceId = function() {\n  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 2, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.qb.smg.AddFaceRequest} returns this\n */\nproto.qb.smg.AddFaceRequest.prototype.setFaceId = function(value) {\n  return jspb.Message.setProto3IntField(this, 2, value);\n};\n\n\n/**\n * optional bool is_recognized = 3;\n * @return {boolean}\n */\nproto.qb.smg.AddFaceRequest.prototype.getIsRecognized = function() {\n  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 3, false));\n};\n\n\n/**\n * @param {boolean} value\n * @return {!proto.qb.smg.AddFaceRequest} returns this\n */\nproto.qb.smg.AddFaceRequest.prototype.setIsRecognized = function(value) {\n  return jspb.Message.setProto3BooleanField(this, 3, value);\n};\n\n\n/**\n * optional bool is_detected = 4;\n * @return {boolean}\n */\nproto.qb.smg.AddFaceRequest.prototype.getIsDetected = function() {\n  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 4, false));\n};\n\n\n/**\n * @param {boolean} value\n * @return {!proto.qb.smg.AddFaceRequest} returns this\n */\nproto.qb.smg.AddFaceRequest.prototype.setIsDetected = function(value) {\n  return jspb.Message.setProto3BooleanField(this, 4, value);\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.qb.smg.AddFaceReply.prototype.toObject = function(opt_includeInstance) {\n  return proto.qb.smg.AddFaceReply.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.qb.smg.AddFaceReply} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.qb.smg.AddFaceReply.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    error: (f = msg.getError()) && proto.qb.smg.Error.toObject(includeInstance, f),\n    success: jspb.Message.getBooleanFieldWithDefault(msg, 2, false)\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.qb.smg.AddFaceReply}\n */\nproto.qb.smg.AddFaceReply.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.qb.smg.AddFaceReply;\n  return proto.qb.smg.AddFaceReply.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.qb.smg.AddFaceReply} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.qb.smg.AddFaceReply}\n */\nproto.qb.smg.AddFaceReply.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = new proto.qb.smg.Error;\n      reader.readMessage(value,proto.qb.smg.Error.deserializeBinaryFromReader);\n      msg.setError(value);\n      break;\n    case 2:\n      var value = /** @type {boolean} */ (reader.readBool());\n      msg.setSuccess(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.qb.smg.AddFaceReply.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.qb.smg.AddFaceReply.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.qb.smg.AddFaceReply} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.qb.smg.AddFaceReply.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getError();\n  if (f != null) {\n    writer.writeMessage(\n      1,\n      f,\n      proto.qb.smg.Error.serializeBinaryToWriter\n    );\n  }\n  f = message.getSuccess();\n  if (f) {\n    writer.writeBool(\n      2,\n      f\n    );\n  }\n};\n\n\n/**\n * optional Error error = 1;\n * @return {?proto.qb.smg.Error}\n */\nproto.qb.smg.AddFaceReply.prototype.getError = function() {\n  return /** @type{?proto.qb.smg.Error} */ (\n    jspb.Message.getWrapperField(this, proto.qb.smg.Error, 1));\n};\n\n\n/**\n * @param {?proto.qb.smg.Error|undefined} value\n * @return {!proto.qb.smg.AddFaceReply} returns this\n*/\nproto.qb.smg.AddFaceReply.prototype.setError = function(value) {\n  return jspb.Message.setWrapperField(this, 1, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.qb.smg.AddFaceReply} returns this\n */\nproto.qb.smg.AddFaceReply.prototype.clearError = function() {\n  return this.setError(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.qb.smg.AddFaceReply.prototype.hasError = function() {\n  return jspb.Message.getField(this, 1) != null;\n};\n\n\n/**\n * optional bool success = 2;\n * @return {boolean}\n */\nproto.qb.smg.AddFaceReply.prototype.getSuccess = function() {\n  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 2, false));\n};\n\n\n/**\n * @param {boolean} value\n * @return {!proto.qb.smg.AddFaceReply} returns this\n */\nproto.qb.smg.AddFaceReply.prototype.setSuccess = function(value) {\n  return jspb.Message.setProto3BooleanField(this, 2, value);\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.qb.smg.GetGameStateRequest.prototype.toObject = function(opt_includeInstance) {\n  return proto.qb.smg.GetGameStateRequest.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.qb.smg.GetGameStateRequest} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.qb.smg.GetGameStateRequest.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    stationId: jspb.Message.getFieldWithDefault(msg, 1, 0),\n    token: jspb.Message.getFieldWithDefault(msg, 2, \"\"),\n    location: (f = msg.getLocation()) && proto.qb.smg.Location.toObject(includeInstance, f),\n    venueId: jspb.Message.getFieldWithDefault(msg, 102, 0)\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.qb.smg.GetGameStateRequest}\n */\nproto.qb.smg.GetGameStateRequest.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.qb.smg.GetGameStateRequest;\n  return proto.qb.smg.GetGameStateRequest.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.qb.smg.GetGameStateRequest} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.qb.smg.GetGameStateRequest}\n */\nproto.qb.smg.GetGameStateRequest.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {number} */ (reader.readInt64());\n      msg.setStationId(value);\n      break;\n    case 2:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setToken(value);\n      break;\n    case 101:\n      var value = new proto.qb.smg.Location;\n      reader.readMessage(value,proto.qb.smg.Location.deserializeBinaryFromReader);\n      msg.setLocation(value);\n      break;\n    case 102:\n      var value = /** @type {number} */ (reader.readInt32());\n      msg.setVenueId(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.qb.smg.GetGameStateRequest.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.qb.smg.GetGameStateRequest.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.qb.smg.GetGameStateRequest} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.qb.smg.GetGameStateRequest.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getStationId();\n  if (f !== 0) {\n    writer.writeInt64(\n      1,\n      f\n    );\n  }\n  f = message.getToken();\n  if (f.length > 0) {\n    writer.writeString(\n      2,\n      f\n    );\n  }\n  f = message.getLocation();\n  if (f != null) {\n    writer.writeMessage(\n      101,\n      f,\n      proto.qb.smg.Location.serializeBinaryToWriter\n    );\n  }\n  f = message.getVenueId();\n  if (f !== 0) {\n    writer.writeInt32(\n      102,\n      f\n    );\n  }\n};\n\n\n/**\n * optional int64 station_id = 1;\n * @return {number}\n */\nproto.qb.smg.GetGameStateRequest.prototype.getStationId = function() {\n  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.qb.smg.GetGameStateRequest} returns this\n */\nproto.qb.smg.GetGameStateRequest.prototype.setStationId = function(value) {\n  return jspb.Message.setProto3IntField(this, 1, value);\n};\n\n\n/**\n * optional string token = 2;\n * @return {string}\n */\nproto.qb.smg.GetGameStateRequest.prototype.getToken = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.qb.smg.GetGameStateRequest} returns this\n */\nproto.qb.smg.GetGameStateRequest.prototype.setToken = function(value) {\n  return jspb.Message.setProto3StringField(this, 2, value);\n};\n\n\n/**\n * optional Location location = 101;\n * @return {?proto.qb.smg.Location}\n */\nproto.qb.smg.GetGameStateRequest.prototype.getLocation = function() {\n  return /** @type{?proto.qb.smg.Location} */ (\n    jspb.Message.getWrapperField(this, proto.qb.smg.Location, 101));\n};\n\n\n/**\n * @param {?proto.qb.smg.Location|undefined} value\n * @return {!proto.qb.smg.GetGameStateRequest} returns this\n*/\nproto.qb.smg.GetGameStateRequest.prototype.setLocation = function(value) {\n  return jspb.Message.setWrapperField(this, 101, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.qb.smg.GetGameStateRequest} returns this\n */\nproto.qb.smg.GetGameStateRequest.prototype.clearLocation = function() {\n  return this.setLocation(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.qb.smg.GetGameStateRequest.prototype.hasLocation = function() {\n  return jspb.Message.getField(this, 101) != null;\n};\n\n\n/**\n * optional int32 venue_id = 102;\n * @return {number}\n */\nproto.qb.smg.GetGameStateRequest.prototype.getVenueId = function() {\n  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 102, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.qb.smg.GetGameStateRequest} returns this\n */\nproto.qb.smg.GetGameStateRequest.prototype.setVenueId = function(value) {\n  return jspb.Message.setProto3IntField(this, 102, value);\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.qb.smg.HoleInOneConfig.prototype.toObject = function(opt_includeInstance) {\n  return proto.qb.smg.HoleInOneConfig.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.qb.smg.HoleInOneConfig} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.qb.smg.HoleInOneConfig.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    bonusamount: jspb.Message.getFieldWithDefault(msg, 1, 0)\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.qb.smg.HoleInOneConfig}\n */\nproto.qb.smg.HoleInOneConfig.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.qb.smg.HoleInOneConfig;\n  return proto.qb.smg.HoleInOneConfig.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.qb.smg.HoleInOneConfig} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.qb.smg.HoleInOneConfig}\n */\nproto.qb.smg.HoleInOneConfig.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {number} */ (reader.readInt32());\n      msg.setBonusamount(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.qb.smg.HoleInOneConfig.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.qb.smg.HoleInOneConfig.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.qb.smg.HoleInOneConfig} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.qb.smg.HoleInOneConfig.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getBonusamount();\n  if (f !== 0) {\n    writer.writeInt32(\n      1,\n      f\n    );\n  }\n};\n\n\n/**\n * optional int32 bonusAmount = 1;\n * @return {number}\n */\nproto.qb.smg.HoleInOneConfig.prototype.getBonusamount = function() {\n  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.qb.smg.HoleInOneConfig} returns this\n */\nproto.qb.smg.HoleInOneConfig.prototype.setBonusamount = function(value) {\n  return jspb.Message.setProto3IntField(this, 1, value);\n};\n\n\n\n/**\n * List of repeated fields within this message type.\n * @private {!Array<number>}\n * @const\n */\nproto.qb.smg.GetGameStateReply.repeatedFields_ = [8];\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.qb.smg.GetGameStateReply.prototype.toObject = function(opt_includeInstance) {\n  return proto.qb.smg.GetGameStateReply.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.qb.smg.GetGameStateReply} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.qb.smg.GetGameStateReply.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    error: (f = msg.getError()) && proto.qb.smg.Error.toObject(includeInstance, f),\n    success: jspb.Message.getBooleanFieldWithDefault(msg, 2, false),\n    userDetected: jspb.Message.getBooleanFieldWithDefault(msg, 3, false),\n    faceDetected: jspb.Message.getBooleanFieldWithDefault(msg, 10, false),\n    multiFaceDetected: jspb.Message.getBooleanFieldWithDefault(msg, 12, false),\n    userInWrongCameraSide: jspb.Message.getBooleanFieldWithDefault(msg, 13, false),\n    userId: jspb.Message.getFieldWithDefault(msg, 4, 0),\n    userBalance: jspb.Message.getFieldWithDefault(msg, 11, 0),\n    username: jspb.Message.getFieldWithDefault(msg, 5, \"\"),\n    activeBet: (f = msg.getActiveBet()) && proto.qb.smg.Bet.toObject(includeInstance, f),\n    closedBet: (f = msg.getClosedBet()) && proto.qb.smg.Bet.toObject(includeInstance, f),\n    availableBetsList: jspb.Message.toObjectList(msg.getAvailableBetsList(),\n    proto.qb.smg.Bet.toObject, includeInstance),\n    userSkills: (f = msg.getUserSkills()) && proto.qb.smg.Skills.toObject(includeInstance, f),\n    playerhandedness: jspb.Message.getFieldWithDefault(msg, 14, \"\"),\n    showMultiPlayerError: jspb.Message.getBooleanFieldWithDefault(msg, 15, false),\n    showPlayerNotInGamePlayAreaError: jspb.Message.getBooleanFieldWithDefault(msg, 16, false),\n    shotSequence: jspb.Message.getFieldWithDefault(msg, 17, 0),\n    autoAcceptBets: jspb.Message.getBooleanFieldWithDefault(msg, 18, false),\n    hasactivetournament: jspb.Message.getBooleanFieldWithDefault(msg, 19, false),\n    maxshotamount: jspb.Message.getFieldWithDefault(msg, 25, 0),\n    showWallet: jspb.Message.getBooleanFieldWithDefault(msg, 26, false),\n    holeInOneBonusAmount: jspb.Message.getFieldWithDefault(msg, 27, 0),\n    istournamentbetactivated: jspb.Message.getBooleanFieldWithDefault(msg, 28, false),\n    playedtournamentshotcount: jspb.Message.getFieldWithDefault(msg, 29, 0),\n    totaltournamentshotcount: jspb.Message.getFieldWithDefault(msg, 30, 0),\n    isnewplayer: jspb.Message.getBooleanFieldWithDefault(msg, 31, false),\n    freeshotcount: jspb.Message.getFieldWithDefault(msg, 32, 0),\n    freeshotnumber: jspb.Message.getFieldWithDefault(msg, 33, 0),\n    totalwonfreeplayamount: jspb.Message.getFieldWithDefault(msg, 34, 0),\n    totaltournamentscore: jspb.Message.getFieldWithDefault(msg, 35, 0),\n    istournamentpublic: jspb.Message.getBooleanFieldWithDefault(msg, 36, false),\n    tournamentsponsorshiplogo: jspb.Message.getFieldWithDefault(msg, 37, \"\"),\n    currenttournamentid: jspb.Message.getFieldWithDefault(msg, 38, 0)\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.qb.smg.GetGameStateReply}\n */\nproto.qb.smg.GetGameStateReply.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.qb.smg.GetGameStateReply;\n  return proto.qb.smg.GetGameStateReply.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.qb.smg.GetGameStateReply} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.qb.smg.GetGameStateReply}\n */\nproto.qb.smg.GetGameStateReply.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = new proto.qb.smg.Error;\n      reader.readMessage(value,proto.qb.smg.Error.deserializeBinaryFromReader);\n      msg.setError(value);\n      break;\n    case 2:\n      var value = /** @type {boolean} */ (reader.readBool());\n      msg.setSuccess(value);\n      break;\n    case 3:\n      var value = /** @type {boolean} */ (reader.readBool());\n      msg.setUserDetected(value);\n      break;\n    case 10:\n      var value = /** @type {boolean} */ (reader.readBool());\n      msg.setFaceDetected(value);\n      break;\n    case 12:\n      var value = /** @type {boolean} */ (reader.readBool());\n      msg.setMultiFaceDetected(value);\n      break;\n    case 13:\n      var value = /** @type {boolean} */ (reader.readBool());\n      msg.setUserInWrongCameraSide(value);\n      break;\n    case 4:\n      var value = /** @type {number} */ (reader.readInt64());\n      msg.setUserId(value);\n      break;\n    case 11:\n      var value = /** @type {number} */ (reader.readInt64());\n      msg.setUserBalance(value);\n      break;\n    case 5:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setUsername(value);\n      break;\n    case 6:\n      var value = new proto.qb.smg.Bet;\n      reader.readMessage(value,proto.qb.smg.Bet.deserializeBinaryFromReader);\n      msg.setActiveBet(value);\n      break;\n    case 7:\n      var value = new proto.qb.smg.Bet;\n      reader.readMessage(value,proto.qb.smg.Bet.deserializeBinaryFromReader);\n      msg.setClosedBet(value);\n      break;\n    case 8:\n      var value = new proto.qb.smg.Bet;\n      reader.readMessage(value,proto.qb.smg.Bet.deserializeBinaryFromReader);\n      msg.addAvailableBets(value);\n      break;\n    case 9:\n      var value = new proto.qb.smg.Skills;\n      reader.readMessage(value,proto.qb.smg.Skills.deserializeBinaryFromReader);\n      msg.setUserSkills(value);\n      break;\n    case 14:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setPlayerhandedness(value);\n      break;\n    case 15:\n      var value = /** @type {boolean} */ (reader.readBool());\n      msg.setShowMultiPlayerError(value);\n      break;\n    case 16:\n      var value = /** @type {boolean} */ (reader.readBool());\n      msg.setShowPlayerNotInGamePlayAreaError(value);\n      break;\n    case 17:\n      var value = /** @type {number} */ (reader.readInt32());\n      msg.setShotSequence(value);\n      break;\n    case 18:\n      var value = /** @type {boolean} */ (reader.readBool());\n      msg.setAutoAcceptBets(value);\n      break;\n    case 19:\n      var value = /** @type {boolean} */ (reader.readBool());\n      msg.setHasactivetournament(value);\n      break;\n    case 25:\n      var value = /** @type {number} */ (reader.readInt32());\n      msg.setMaxshotamount(value);\n      break;\n    case 26:\n      var value = /** @type {boolean} */ (reader.readBool());\n      msg.setShowWallet(value);\n      break;\n    case 27:\n      var value = /** @type {number} */ (reader.readInt32());\n      msg.setHoleInOneBonusAmount(value);\n      break;\n    case 28:\n      var value = /** @type {boolean} */ (reader.readBool());\n      msg.setIstournamentbetactivated(value);\n      break;\n    case 29:\n      var value = /** @type {number} */ (reader.readInt32());\n      msg.setPlayedtournamentshotcount(value);\n      break;\n    case 30:\n      var value = /** @type {number} */ (reader.readInt32());\n      msg.setTotaltournamentshotcount(value);\n      break;\n    case 31:\n      var value = /** @type {boolean} */ (reader.readBool());\n      msg.setIsnewplayer(value);\n      break;\n    case 32:\n      var value = /** @type {number} */ (reader.readInt32());\n      msg.setFreeshotcount(value);\n      break;\n    case 33:\n      var value = /** @type {number} */ (reader.readInt32());\n      msg.setFreeshotnumber(value);\n      break;\n    case 34:\n      var value = /** @type {number} */ (reader.readInt32());\n      msg.setTotalwonfreeplayamount(value);\n      break;\n    case 35:\n      var value = /** @type {number} */ (reader.readInt32());\n      msg.setTotaltournamentscore(value);\n      break;\n    case 36:\n      var value = /** @type {boolean} */ (reader.readBool());\n      msg.setIstournamentpublic(value);\n      break;\n    case 37:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setTournamentsponsorshiplogo(value);\n      break;\n    case 38:\n      var value = /** @type {number} */ (reader.readInt32());\n      msg.setCurrenttournamentid(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.qb.smg.GetGameStateReply.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.qb.smg.GetGameStateReply.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.qb.smg.GetGameStateReply} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.qb.smg.GetGameStateReply.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getError();\n  if (f != null) {\n    writer.writeMessage(\n      1,\n      f,\n      proto.qb.smg.Error.serializeBinaryToWriter\n    );\n  }\n  f = message.getSuccess();\n  if (f) {\n    writer.writeBool(\n      2,\n      f\n    );\n  }\n  f = message.getUserDetected();\n  if (f) {\n    writer.writeBool(\n      3,\n      f\n    );\n  }\n  f = message.getFaceDetected();\n  if (f) {\n    writer.writeBool(\n      10,\n      f\n    );\n  }\n  f = message.getMultiFaceDetected();\n  if (f) {\n    writer.writeBool(\n      12,\n      f\n    );\n  }\n  f = message.getUserInWrongCameraSide();\n  if (f) {\n    writer.writeBool(\n      13,\n      f\n    );\n  }\n  f = message.getUserId();\n  if (f !== 0) {\n    writer.writeInt64(\n      4,\n      f\n    );\n  }\n  f = message.getUserBalance();\n  if (f !== 0) {\n    writer.writeInt64(\n      11,\n      f\n    );\n  }\n  f = message.getUsername();\n  if (f.length > 0) {\n    writer.writeString(\n      5,\n      f\n    );\n  }\n  f = message.getActiveBet();\n  if (f != null) {\n    writer.writeMessage(\n      6,\n      f,\n      proto.qb.smg.Bet.serializeBinaryToWriter\n    );\n  }\n  f = message.getClosedBet();\n  if (f != null) {\n    writer.writeMessage(\n      7,\n      f,\n      proto.qb.smg.Bet.serializeBinaryToWriter\n    );\n  }\n  f = message.getAvailableBetsList();\n  if (f.length > 0) {\n    writer.writeRepeatedMessage(\n      8,\n      f,\n      proto.qb.smg.Bet.serializeBinaryToWriter\n    );\n  }\n  f = message.getUserSkills();\n  if (f != null) {\n    writer.writeMessage(\n      9,\n      f,\n      proto.qb.smg.Skills.serializeBinaryToWriter\n    );\n  }\n  f = message.getPlayerhandedness();\n  if (f.length > 0) {\n    writer.writeString(\n      14,\n      f\n    );\n  }\n  f = message.getShowMultiPlayerError();\n  if (f) {\n    writer.writeBool(\n      15,\n      f\n    );\n  }\n  f = message.getShowPlayerNotInGamePlayAreaError();\n  if (f) {\n    writer.writeBool(\n      16,\n      f\n    );\n  }\n  f = message.getShotSequence();\n  if (f !== 0) {\n    writer.writeInt32(\n      17,\n      f\n    );\n  }\n  f = message.getAutoAcceptBets();\n  if (f) {\n    writer.writeBool(\n      18,\n      f\n    );\n  }\n  f = message.getHasactivetournament();\n  if (f) {\n    writer.writeBool(\n      19,\n      f\n    );\n  }\n  f = message.getMaxshotamount();\n  if (f !== 0) {\n    writer.writeInt32(\n      25,\n      f\n    );\n  }\n  f = message.getShowWallet();\n  if (f) {\n    writer.writeBool(\n      26,\n      f\n    );\n  }\n  f = message.getHoleInOneBonusAmount();\n  if (f !== 0) {\n    writer.writeInt32(\n      27,\n      f\n    );\n  }\n  f = message.getIstournamentbetactivated();\n  if (f) {\n    writer.writeBool(\n      28,\n      f\n    );\n  }\n  f = message.getPlayedtournamentshotcount();\n  if (f !== 0) {\n    writer.writeInt32(\n      29,\n      f\n    );\n  }\n  f = message.getTotaltournamentshotcount();\n  if (f !== 0) {\n    writer.writeInt32(\n      30,\n      f\n    );\n  }\n  f = message.getIsnewplayer();\n  if (f) {\n    writer.writeBool(\n      31,\n      f\n    );\n  }\n  f = message.getFreeshotcount();\n  if (f !== 0) {\n    writer.writeInt32(\n      32,\n      f\n    );\n  }\n  f = message.getFreeshotnumber();\n  if (f !== 0) {\n    writer.writeInt32(\n      33,\n      f\n    );\n  }\n  f = message.getTotalwonfreeplayamount();\n  if (f !== 0) {\n    writer.writeInt32(\n      34,\n      f\n    );\n  }\n  f = message.getTotaltournamentscore();\n  if (f !== 0) {\n    writer.writeInt32(\n      35,\n      f\n    );\n  }\n  f = message.getIstournamentpublic();\n  if (f) {\n    writer.writeBool(\n      36,\n      f\n    );\n  }\n  f = message.getTournamentsponsorshiplogo();\n  if (f.length > 0) {\n    writer.writeString(\n      37,\n      f\n    );\n  }\n  f = message.getCurrenttournamentid();\n  if (f !== 0) {\n    writer.writeInt32(\n      38,\n      f\n    );\n  }\n};\n\n\n/**\n * optional Error error = 1;\n * @return {?proto.qb.smg.Error}\n */\nproto.qb.smg.GetGameStateReply.prototype.getError = function() {\n  return /** @type{?proto.qb.smg.Error} */ (\n    jspb.Message.getWrapperField(this, proto.qb.smg.Error, 1));\n};\n\n\n/**\n * @param {?proto.qb.smg.Error|undefined} value\n * @return {!proto.qb.smg.GetGameStateReply} returns this\n*/\nproto.qb.smg.GetGameStateReply.prototype.setError = function(value) {\n  return jspb.Message.setWrapperField(this, 1, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.qb.smg.GetGameStateReply} returns this\n */\nproto.qb.smg.GetGameStateReply.prototype.clearError = function() {\n  return this.setError(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.qb.smg.GetGameStateReply.prototype.hasError = function() {\n  return jspb.Message.getField(this, 1) != null;\n};\n\n\n/**\n * optional bool success = 2;\n * @return {boolean}\n */\nproto.qb.smg.GetGameStateReply.prototype.getSuccess = function() {\n  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 2, false));\n};\n\n\n/**\n * @param {boolean} value\n * @return {!proto.qb.smg.GetGameStateReply} returns this\n */\nproto.qb.smg.GetGameStateReply.prototype.setSuccess = function(value) {\n  return jspb.Message.setProto3BooleanField(this, 2, value);\n};\n\n\n/**\n * optional bool user_detected = 3;\n * @return {boolean}\n */\nproto.qb.smg.GetGameStateReply.prototype.getUserDetected = function() {\n  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 3, false));\n};\n\n\n/**\n * @param {boolean} value\n * @return {!proto.qb.smg.GetGameStateReply} returns this\n */\nproto.qb.smg.GetGameStateReply.prototype.setUserDetected = function(value) {\n  return jspb.Message.setProto3BooleanField(this, 3, value);\n};\n\n\n/**\n * optional bool face_detected = 10;\n * @return {boolean}\n */\nproto.qb.smg.GetGameStateReply.prototype.getFaceDetected = function() {\n  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 10, false));\n};\n\n\n/**\n * @param {boolean} value\n * @return {!proto.qb.smg.GetGameStateReply} returns this\n */\nproto.qb.smg.GetGameStateReply.prototype.setFaceDetected = function(value) {\n  return jspb.Message.setProto3BooleanField(this, 10, value);\n};\n\n\n/**\n * optional bool multi_face_detected = 12;\n * @return {boolean}\n */\nproto.qb.smg.GetGameStateReply.prototype.getMultiFaceDetected = function() {\n  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 12, false));\n};\n\n\n/**\n * @param {boolean} value\n * @return {!proto.qb.smg.GetGameStateReply} returns this\n */\nproto.qb.smg.GetGameStateReply.prototype.setMultiFaceDetected = function(value) {\n  return jspb.Message.setProto3BooleanField(this, 12, value);\n};\n\n\n/**\n * optional bool user_in_wrong_camera_side = 13;\n * @return {boolean}\n */\nproto.qb.smg.GetGameStateReply.prototype.getUserInWrongCameraSide = function() {\n  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 13, false));\n};\n\n\n/**\n * @param {boolean} value\n * @return {!proto.qb.smg.GetGameStateReply} returns this\n */\nproto.qb.smg.GetGameStateReply.prototype.setUserInWrongCameraSide = function(value) {\n  return jspb.Message.setProto3BooleanField(this, 13, value);\n};\n\n\n/**\n * optional int64 user_id = 4;\n * @return {number}\n */\nproto.qb.smg.GetGameStateReply.prototype.getUserId = function() {\n  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 4, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.qb.smg.GetGameStateReply} returns this\n */\nproto.qb.smg.GetGameStateReply.prototype.setUserId = function(value) {\n  return jspb.Message.setProto3IntField(this, 4, value);\n};\n\n\n/**\n * optional int64 user_balance = 11;\n * @return {number}\n */\nproto.qb.smg.GetGameStateReply.prototype.getUserBalance = function() {\n  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 11, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.qb.smg.GetGameStateReply} returns this\n */\nproto.qb.smg.GetGameStateReply.prototype.setUserBalance = function(value) {\n  return jspb.Message.setProto3IntField(this, 11, value);\n};\n\n\n/**\n * optional string username = 5;\n * @return {string}\n */\nproto.qb.smg.GetGameStateReply.prototype.getUsername = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 5, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.qb.smg.GetGameStateReply} returns this\n */\nproto.qb.smg.GetGameStateReply.prototype.setUsername = function(value) {\n  return jspb.Message.setProto3StringField(this, 5, value);\n};\n\n\n/**\n * optional Bet active_bet = 6;\n * @return {?proto.qb.smg.Bet}\n */\nproto.qb.smg.GetGameStateReply.prototype.getActiveBet = function() {\n  return /** @type{?proto.qb.smg.Bet} */ (\n    jspb.Message.getWrapperField(this, proto.qb.smg.Bet, 6));\n};\n\n\n/**\n * @param {?proto.qb.smg.Bet|undefined} value\n * @return {!proto.qb.smg.GetGameStateReply} returns this\n*/\nproto.qb.smg.GetGameStateReply.prototype.setActiveBet = function(value) {\n  return jspb.Message.setWrapperField(this, 6, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.qb.smg.GetGameStateReply} returns this\n */\nproto.qb.smg.GetGameStateReply.prototype.clearActiveBet = function() {\n  return this.setActiveBet(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.qb.smg.GetGameStateReply.prototype.hasActiveBet = function() {\n  return jspb.Message.getField(this, 6) != null;\n};\n\n\n/**\n * optional Bet closed_bet = 7;\n * @return {?proto.qb.smg.Bet}\n */\nproto.qb.smg.GetGameStateReply.prototype.getClosedBet = function() {\n  return /** @type{?proto.qb.smg.Bet} */ (\n    jspb.Message.getWrapperField(this, proto.qb.smg.Bet, 7));\n};\n\n\n/**\n * @param {?proto.qb.smg.Bet|undefined} value\n * @return {!proto.qb.smg.GetGameStateReply} returns this\n*/\nproto.qb.smg.GetGameStateReply.prototype.setClosedBet = function(value) {\n  return jspb.Message.setWrapperField(this, 7, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.qb.smg.GetGameStateReply} returns this\n */\nproto.qb.smg.GetGameStateReply.prototype.clearClosedBet = function() {\n  return this.setClosedBet(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.qb.smg.GetGameStateReply.prototype.hasClosedBet = function() {\n  return jspb.Message.getField(this, 7) != null;\n};\n\n\n/**\n * repeated Bet available_bets = 8;\n * @return {!Array<!proto.qb.smg.Bet>}\n */\nproto.qb.smg.GetGameStateReply.prototype.getAvailableBetsList = function() {\n  return /** @type{!Array<!proto.qb.smg.Bet>} */ (\n    jspb.Message.getRepeatedWrapperField(this, proto.qb.smg.Bet, 8));\n};\n\n\n/**\n * @param {!Array<!proto.qb.smg.Bet>} value\n * @return {!proto.qb.smg.GetGameStateReply} returns this\n*/\nproto.qb.smg.GetGameStateReply.prototype.setAvailableBetsList = function(value) {\n  return jspb.Message.setRepeatedWrapperField(this, 8, value);\n};\n\n\n/**\n * @param {!proto.qb.smg.Bet=} opt_value\n * @param {number=} opt_index\n * @return {!proto.qb.smg.Bet}\n */\nproto.qb.smg.GetGameStateReply.prototype.addAvailableBets = function(opt_value, opt_index) {\n  return jspb.Message.addToRepeatedWrapperField(this, 8, opt_value, proto.qb.smg.Bet, opt_index);\n};\n\n\n/**\n * Clears the list making it empty but non-null.\n * @return {!proto.qb.smg.GetGameStateReply} returns this\n */\nproto.qb.smg.GetGameStateReply.prototype.clearAvailableBetsList = function() {\n  return this.setAvailableBetsList([]);\n};\n\n\n/**\n * optional Skills user_skills = 9;\n * @return {?proto.qb.smg.Skills}\n */\nproto.qb.smg.GetGameStateReply.prototype.getUserSkills = function() {\n  return /** @type{?proto.qb.smg.Skills} */ (\n    jspb.Message.getWrapperField(this, proto.qb.smg.Skills, 9));\n};\n\n\n/**\n * @param {?proto.qb.smg.Skills|undefined} value\n * @return {!proto.qb.smg.GetGameStateReply} returns this\n*/\nproto.qb.smg.GetGameStateReply.prototype.setUserSkills = function(value) {\n  return jspb.Message.setWrapperField(this, 9, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.qb.smg.GetGameStateReply} returns this\n */\nproto.qb.smg.GetGameStateReply.prototype.clearUserSkills = function() {\n  return this.setUserSkills(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.qb.smg.GetGameStateReply.prototype.hasUserSkills = function() {\n  return jspb.Message.getField(this, 9) != null;\n};\n\n\n/**\n * optional string PlayerHandedness = 14;\n * @return {string}\n */\nproto.qb.smg.GetGameStateReply.prototype.getPlayerhandedness = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 14, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.qb.smg.GetGameStateReply} returns this\n */\nproto.qb.smg.GetGameStateReply.prototype.setPlayerhandedness = function(value) {\n  return jspb.Message.setProto3StringField(this, 14, value);\n};\n\n\n/**\n * optional bool show_multi_player_error = 15;\n * @return {boolean}\n */\nproto.qb.smg.GetGameStateReply.prototype.getShowMultiPlayerError = function() {\n  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 15, false));\n};\n\n\n/**\n * @param {boolean} value\n * @return {!proto.qb.smg.GetGameStateReply} returns this\n */\nproto.qb.smg.GetGameStateReply.prototype.setShowMultiPlayerError = function(value) {\n  return jspb.Message.setProto3BooleanField(this, 15, value);\n};\n\n\n/**\n * optional bool show_player_not_in_game_play_area_error = 16;\n * @return {boolean}\n */\nproto.qb.smg.GetGameStateReply.prototype.getShowPlayerNotInGamePlayAreaError = function() {\n  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 16, false));\n};\n\n\n/**\n * @param {boolean} value\n * @return {!proto.qb.smg.GetGameStateReply} returns this\n */\nproto.qb.smg.GetGameStateReply.prototype.setShowPlayerNotInGamePlayAreaError = function(value) {\n  return jspb.Message.setProto3BooleanField(this, 16, value);\n};\n\n\n/**\n * optional int32 shot_sequence = 17;\n * @return {number}\n */\nproto.qb.smg.GetGameStateReply.prototype.getShotSequence = function() {\n  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 17, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.qb.smg.GetGameStateReply} returns this\n */\nproto.qb.smg.GetGameStateReply.prototype.setShotSequence = function(value) {\n  return jspb.Message.setProto3IntField(this, 17, value);\n};\n\n\n/**\n * optional bool auto_accept_bets = 18;\n * @return {boolean}\n */\nproto.qb.smg.GetGameStateReply.prototype.getAutoAcceptBets = function() {\n  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 18, false));\n};\n\n\n/**\n * @param {boolean} value\n * @return {!proto.qb.smg.GetGameStateReply} returns this\n */\nproto.qb.smg.GetGameStateReply.prototype.setAutoAcceptBets = function(value) {\n  return jspb.Message.setProto3BooleanField(this, 18, value);\n};\n\n\n/**\n * optional bool hasActiveTournament = 19;\n * @return {boolean}\n */\nproto.qb.smg.GetGameStateReply.prototype.getHasactivetournament = function() {\n  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 19, false));\n};\n\n\n/**\n * @param {boolean} value\n * @return {!proto.qb.smg.GetGameStateReply} returns this\n */\nproto.qb.smg.GetGameStateReply.prototype.setHasactivetournament = function(value) {\n  return jspb.Message.setProto3BooleanField(this, 19, value);\n};\n\n\n/**\n * optional int32 maxShotAmount = 25;\n * @return {number}\n */\nproto.qb.smg.GetGameStateReply.prototype.getMaxshotamount = function() {\n  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 25, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.qb.smg.GetGameStateReply} returns this\n */\nproto.qb.smg.GetGameStateReply.prototype.setMaxshotamount = function(value) {\n  return jspb.Message.setProto3IntField(this, 25, value);\n};\n\n\n/**\n * optional bool show_wallet = 26;\n * @return {boolean}\n */\nproto.qb.smg.GetGameStateReply.prototype.getShowWallet = function() {\n  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 26, false));\n};\n\n\n/**\n * @param {boolean} value\n * @return {!proto.qb.smg.GetGameStateReply} returns this\n */\nproto.qb.smg.GetGameStateReply.prototype.setShowWallet = function(value) {\n  return jspb.Message.setProto3BooleanField(this, 26, value);\n};\n\n\n/**\n * optional int32 hole_in_one_bonus_amount = 27;\n * @return {number}\n */\nproto.qb.smg.GetGameStateReply.prototype.getHoleInOneBonusAmount = function() {\n  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 27, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.qb.smg.GetGameStateReply} returns this\n */\nproto.qb.smg.GetGameStateReply.prototype.setHoleInOneBonusAmount = function(value) {\n  return jspb.Message.setProto3IntField(this, 27, value);\n};\n\n\n/**\n * optional bool isTournamentBetActivated = 28;\n * @return {boolean}\n */\nproto.qb.smg.GetGameStateReply.prototype.getIstournamentbetactivated = function() {\n  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 28, false));\n};\n\n\n/**\n * @param {boolean} value\n * @return {!proto.qb.smg.GetGameStateReply} returns this\n */\nproto.qb.smg.GetGameStateReply.prototype.setIstournamentbetactivated = function(value) {\n  return jspb.Message.setProto3BooleanField(this, 28, value);\n};\n\n\n/**\n * optional int32 playedTournamentShotCount = 29;\n * @return {number}\n */\nproto.qb.smg.GetGameStateReply.prototype.getPlayedtournamentshotcount = function() {\n  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 29, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.qb.smg.GetGameStateReply} returns this\n */\nproto.qb.smg.GetGameStateReply.prototype.setPlayedtournamentshotcount = function(value) {\n  return jspb.Message.setProto3IntField(this, 29, value);\n};\n\n\n/**\n * optional int32 totalTournamentShotCount = 30;\n * @return {number}\n */\nproto.qb.smg.GetGameStateReply.prototype.getTotaltournamentshotcount = function() {\n  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 30, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.qb.smg.GetGameStateReply} returns this\n */\nproto.qb.smg.GetGameStateReply.prototype.setTotaltournamentshotcount = function(value) {\n  return jspb.Message.setProto3IntField(this, 30, value);\n};\n\n\n/**\n * optional bool isNewPlayer = 31;\n * @return {boolean}\n */\nproto.qb.smg.GetGameStateReply.prototype.getIsnewplayer = function() {\n  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 31, false));\n};\n\n\n/**\n * @param {boolean} value\n * @return {!proto.qb.smg.GetGameStateReply} returns this\n */\nproto.qb.smg.GetGameStateReply.prototype.setIsnewplayer = function(value) {\n  return jspb.Message.setProto3BooleanField(this, 31, value);\n};\n\n\n/**\n * optional int32 freeShotCount = 32;\n * @return {number}\n */\nproto.qb.smg.GetGameStateReply.prototype.getFreeshotcount = function() {\n  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 32, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.qb.smg.GetGameStateReply} returns this\n */\nproto.qb.smg.GetGameStateReply.prototype.setFreeshotcount = function(value) {\n  return jspb.Message.setProto3IntField(this, 32, value);\n};\n\n\n/**\n * optional int32 freeShotNumber = 33;\n * @return {number}\n */\nproto.qb.smg.GetGameStateReply.prototype.getFreeshotnumber = function() {\n  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 33, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.qb.smg.GetGameStateReply} returns this\n */\nproto.qb.smg.GetGameStateReply.prototype.setFreeshotnumber = function(value) {\n  return jspb.Message.setProto3IntField(this, 33, value);\n};\n\n\n/**\n * optional int32 totalWonFreePlayAmount = 34;\n * @return {number}\n */\nproto.qb.smg.GetGameStateReply.prototype.getTotalwonfreeplayamount = function() {\n  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 34, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.qb.smg.GetGameStateReply} returns this\n */\nproto.qb.smg.GetGameStateReply.prototype.setTotalwonfreeplayamount = function(value) {\n  return jspb.Message.setProto3IntField(this, 34, value);\n};\n\n\n/**\n * optional int32 totalTournamentScore = 35;\n * @return {number}\n */\nproto.qb.smg.GetGameStateReply.prototype.getTotaltournamentscore = function() {\n  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 35, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.qb.smg.GetGameStateReply} returns this\n */\nproto.qb.smg.GetGameStateReply.prototype.setTotaltournamentscore = function(value) {\n  return jspb.Message.setProto3IntField(this, 35, value);\n};\n\n\n/**\n * optional bool isTournamentPublic = 36;\n * @return {boolean}\n */\nproto.qb.smg.GetGameStateReply.prototype.getIstournamentpublic = function() {\n  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 36, false));\n};\n\n\n/**\n * @param {boolean} value\n * @return {!proto.qb.smg.GetGameStateReply} returns this\n */\nproto.qb.smg.GetGameStateReply.prototype.setIstournamentpublic = function(value) {\n  return jspb.Message.setProto3BooleanField(this, 36, value);\n};\n\n\n/**\n * optional string tournamentSponsorshipLogo = 37;\n * @return {string}\n */\nproto.qb.smg.GetGameStateReply.prototype.getTournamentsponsorshiplogo = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 37, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.qb.smg.GetGameStateReply} returns this\n */\nproto.qb.smg.GetGameStateReply.prototype.setTournamentsponsorshiplogo = function(value) {\n  return jspb.Message.setProto3StringField(this, 37, value);\n};\n\n\n/**\n * optional int32 currentTournamentId = 38;\n * @return {number}\n */\nproto.qb.smg.GetGameStateReply.prototype.getCurrenttournamentid = function() {\n  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 38, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.qb.smg.GetGameStateReply} returns this\n */\nproto.qb.smg.GetGameStateReply.prototype.setCurrenttournamentid = function(value) {\n  return jspb.Message.setProto3IntField(this, 38, value);\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.qb.smg.StreamStationStateRequest.prototype.toObject = function(opt_includeInstance) {\n  return proto.qb.smg.StreamStationStateRequest.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.qb.smg.StreamStationStateRequest} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.qb.smg.StreamStationStateRequest.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    stationId: jspb.Message.getFieldWithDefault(msg, 1, 0),\n    token: jspb.Message.getFieldWithDefault(msg, 2, \"\"),\n    useNewService: jspb.Message.getBooleanFieldWithDefault(msg, 3, false),\n    location: (f = msg.getLocation()) && proto.qb.smg.Location.toObject(includeInstance, f),\n    venueId: jspb.Message.getFieldWithDefault(msg, 102, 0)\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.qb.smg.StreamStationStateRequest}\n */\nproto.qb.smg.StreamStationStateRequest.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.qb.smg.StreamStationStateRequest;\n  return proto.qb.smg.StreamStationStateRequest.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.qb.smg.StreamStationStateRequest} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.qb.smg.StreamStationStateRequest}\n */\nproto.qb.smg.StreamStationStateRequest.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {number} */ (reader.readInt64());\n      msg.setStationId(value);\n      break;\n    case 2:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setToken(value);\n      break;\n    case 3:\n      var value = /** @type {boolean} */ (reader.readBool());\n      msg.setUseNewService(value);\n      break;\n    case 101:\n      var value = new proto.qb.smg.Location;\n      reader.readMessage(value,proto.qb.smg.Location.deserializeBinaryFromReader);\n      msg.setLocation(value);\n      break;\n    case 102:\n      var value = /** @type {number} */ (reader.readInt32());\n      msg.setVenueId(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.qb.smg.StreamStationStateRequest.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.qb.smg.StreamStationStateRequest.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.qb.smg.StreamStationStateRequest} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.qb.smg.StreamStationStateRequest.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getStationId();\n  if (f !== 0) {\n    writer.writeInt64(\n      1,\n      f\n    );\n  }\n  f = message.getToken();\n  if (f.length > 0) {\n    writer.writeString(\n      2,\n      f\n    );\n  }\n  f = message.getUseNewService();\n  if (f) {\n    writer.writeBool(\n      3,\n      f\n    );\n  }\n  f = message.getLocation();\n  if (f != null) {\n    writer.writeMessage(\n      101,\n      f,\n      proto.qb.smg.Location.serializeBinaryToWriter\n    );\n  }\n  f = message.getVenueId();\n  if (f !== 0) {\n    writer.writeInt32(\n      102,\n      f\n    );\n  }\n};\n\n\n/**\n * optional int64 station_id = 1;\n * @return {number}\n */\nproto.qb.smg.StreamStationStateRequest.prototype.getStationId = function() {\n  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.qb.smg.StreamStationStateRequest} returns this\n */\nproto.qb.smg.StreamStationStateRequest.prototype.setStationId = function(value) {\n  return jspb.Message.setProto3IntField(this, 1, value);\n};\n\n\n/**\n * optional string token = 2;\n * @return {string}\n */\nproto.qb.smg.StreamStationStateRequest.prototype.getToken = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.qb.smg.StreamStationStateRequest} returns this\n */\nproto.qb.smg.StreamStationStateRequest.prototype.setToken = function(value) {\n  return jspb.Message.setProto3StringField(this, 2, value);\n};\n\n\n/**\n * optional bool use_new_service = 3;\n * @return {boolean}\n */\nproto.qb.smg.StreamStationStateRequest.prototype.getUseNewService = function() {\n  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 3, false));\n};\n\n\n/**\n * @param {boolean} value\n * @return {!proto.qb.smg.StreamStationStateRequest} returns this\n */\nproto.qb.smg.StreamStationStateRequest.prototype.setUseNewService = function(value) {\n  return jspb.Message.setProto3BooleanField(this, 3, value);\n};\n\n\n/**\n * optional Location location = 101;\n * @return {?proto.qb.smg.Location}\n */\nproto.qb.smg.StreamStationStateRequest.prototype.getLocation = function() {\n  return /** @type{?proto.qb.smg.Location} */ (\n    jspb.Message.getWrapperField(this, proto.qb.smg.Location, 101));\n};\n\n\n/**\n * @param {?proto.qb.smg.Location|undefined} value\n * @return {!proto.qb.smg.StreamStationStateRequest} returns this\n*/\nproto.qb.smg.StreamStationStateRequest.prototype.setLocation = function(value) {\n  return jspb.Message.setWrapperField(this, 101, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.qb.smg.StreamStationStateRequest} returns this\n */\nproto.qb.smg.StreamStationStateRequest.prototype.clearLocation = function() {\n  return this.setLocation(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.qb.smg.StreamStationStateRequest.prototype.hasLocation = function() {\n  return jspb.Message.getField(this, 101) != null;\n};\n\n\n/**\n * optional int32 venue_id = 102;\n * @return {number}\n */\nproto.qb.smg.StreamStationStateRequest.prototype.getVenueId = function() {\n  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 102, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.qb.smg.StreamStationStateRequest} returns this\n */\nproto.qb.smg.StreamStationStateRequest.prototype.setVenueId = function(value) {\n  return jspb.Message.setProto3IntField(this, 102, value);\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.qb.smg.FrsHeartbeatRequest.prototype.toObject = function(opt_includeInstance) {\n  return proto.qb.smg.FrsHeartbeatRequest.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.qb.smg.FrsHeartbeatRequest} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.qb.smg.FrsHeartbeatRequest.toObject = function(includeInstance, msg) {\n  var f, obj = {\n\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.qb.smg.FrsHeartbeatRequest}\n */\nproto.qb.smg.FrsHeartbeatRequest.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.qb.smg.FrsHeartbeatRequest;\n  return proto.qb.smg.FrsHeartbeatRequest.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.qb.smg.FrsHeartbeatRequest} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.qb.smg.FrsHeartbeatRequest}\n */\nproto.qb.smg.FrsHeartbeatRequest.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.qb.smg.FrsHeartbeatRequest.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.qb.smg.FrsHeartbeatRequest.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.qb.smg.FrsHeartbeatRequest} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.qb.smg.FrsHeartbeatRequest.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.qb.smg.StationState.prototype.toObject = function(opt_includeInstance) {\n  return proto.qb.smg.StationState.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.qb.smg.StationState} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.qb.smg.StationState.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    activeuserid: jspb.Message.getFieldWithDefault(msg, 1, 0),\n    activebetid: jspb.Message.getFieldWithDefault(msg, 2, 0),\n    userDetected: jspb.Message.getBooleanFieldWithDefault(msg, 3, false),\n    faceDetected: jspb.Message.getBooleanFieldWithDefault(msg, 4, false),\n    multiFaceDetected: jspb.Message.getBooleanFieldWithDefault(msg, 6, false),\n    currentstate: jspb.Message.getFieldWithDefault(msg, 5, 0),\n    userInWrongCameraSide: jspb.Message.getBooleanFieldWithDefault(msg, 7, false),\n    showMultiplayerError: jspb.Message.getBooleanFieldWithDefault(msg, 8, false),\n    showPlayerNotInGamePlayAreaError: jspb.Message.getBooleanFieldWithDefault(msg, 9, false),\n    holeInOneDetected: jspb.Message.getBooleanFieldWithDefault(msg, 10, false),\n    betamount: jspb.Message.getFieldWithDefault(msg, 11, 0)\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.qb.smg.StationState}\n */\nproto.qb.smg.StationState.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.qb.smg.StationState;\n  return proto.qb.smg.StationState.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.qb.smg.StationState} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.qb.smg.StationState}\n */\nproto.qb.smg.StationState.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {number} */ (reader.readUint64());\n      msg.setActiveuserid(value);\n      break;\n    case 2:\n      var value = /** @type {number} */ (reader.readUint64());\n      msg.setActivebetid(value);\n      break;\n    case 3:\n      var value = /** @type {boolean} */ (reader.readBool());\n      msg.setUserDetected(value);\n      break;\n    case 4:\n      var value = /** @type {boolean} */ (reader.readBool());\n      msg.setFaceDetected(value);\n      break;\n    case 6:\n      var value = /** @type {boolean} */ (reader.readBool());\n      msg.setMultiFaceDetected(value);\n      break;\n    case 5:\n      var value = /** @type {!proto.qb.smg.StationPlayerState} */ (reader.readEnum());\n      msg.setCurrentstate(value);\n      break;\n    case 7:\n      var value = /** @type {boolean} */ (reader.readBool());\n      msg.setUserInWrongCameraSide(value);\n      break;\n    case 8:\n      var value = /** @type {boolean} */ (reader.readBool());\n      msg.setShowMultiplayerError(value);\n      break;\n    case 9:\n      var value = /** @type {boolean} */ (reader.readBool());\n      msg.setShowPlayerNotInGamePlayAreaError(value);\n      break;\n    case 10:\n      var value = /** @type {boolean} */ (reader.readBool());\n      msg.setHoleInOneDetected(value);\n      break;\n    case 11:\n      var value = /** @type {number} */ (reader.readInt64());\n      msg.setBetamount(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.qb.smg.StationState.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.qb.smg.StationState.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.qb.smg.StationState} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.qb.smg.StationState.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getActiveuserid();\n  if (f !== 0) {\n    writer.writeUint64(\n      1,\n      f\n    );\n  }\n  f = message.getActivebetid();\n  if (f !== 0) {\n    writer.writeUint64(\n      2,\n      f\n    );\n  }\n  f = message.getUserDetected();\n  if (f) {\n    writer.writeBool(\n      3,\n      f\n    );\n  }\n  f = message.getFaceDetected();\n  if (f) {\n    writer.writeBool(\n      4,\n      f\n    );\n  }\n  f = message.getMultiFaceDetected();\n  if (f) {\n    writer.writeBool(\n      6,\n      f\n    );\n  }\n  f = message.getCurrentstate();\n  if (f !== 0.0) {\n    writer.writeEnum(\n      5,\n      f\n    );\n  }\n  f = message.getUserInWrongCameraSide();\n  if (f) {\n    writer.writeBool(\n      7,\n      f\n    );\n  }\n  f = message.getShowMultiplayerError();\n  if (f) {\n    writer.writeBool(\n      8,\n      f\n    );\n  }\n  f = message.getShowPlayerNotInGamePlayAreaError();\n  if (f) {\n    writer.writeBool(\n      9,\n      f\n    );\n  }\n  f = message.getHoleInOneDetected();\n  if (f) {\n    writer.writeBool(\n      10,\n      f\n    );\n  }\n  f = message.getBetamount();\n  if (f !== 0) {\n    writer.writeInt64(\n      11,\n      f\n    );\n  }\n};\n\n\n/**\n * optional uint64 activeUserId = 1;\n * @return {number}\n */\nproto.qb.smg.StationState.prototype.getActiveuserid = function() {\n  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.qb.smg.StationState} returns this\n */\nproto.qb.smg.StationState.prototype.setActiveuserid = function(value) {\n  return jspb.Message.setProto3IntField(this, 1, value);\n};\n\n\n/**\n * optional uint64 activeBetId = 2;\n * @return {number}\n */\nproto.qb.smg.StationState.prototype.getActivebetid = function() {\n  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 2, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.qb.smg.StationState} returns this\n */\nproto.qb.smg.StationState.prototype.setActivebetid = function(value) {\n  return jspb.Message.setProto3IntField(this, 2, value);\n};\n\n\n/**\n * optional bool user_detected = 3;\n * @return {boolean}\n */\nproto.qb.smg.StationState.prototype.getUserDetected = function() {\n  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 3, false));\n};\n\n\n/**\n * @param {boolean} value\n * @return {!proto.qb.smg.StationState} returns this\n */\nproto.qb.smg.StationState.prototype.setUserDetected = function(value) {\n  return jspb.Message.setProto3BooleanField(this, 3, value);\n};\n\n\n/**\n * optional bool face_detected = 4;\n * @return {boolean}\n */\nproto.qb.smg.StationState.prototype.getFaceDetected = function() {\n  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 4, false));\n};\n\n\n/**\n * @param {boolean} value\n * @return {!proto.qb.smg.StationState} returns this\n */\nproto.qb.smg.StationState.prototype.setFaceDetected = function(value) {\n  return jspb.Message.setProto3BooleanField(this, 4, value);\n};\n\n\n/**\n * optional bool multi_face_detected = 6;\n * @return {boolean}\n */\nproto.qb.smg.StationState.prototype.getMultiFaceDetected = function() {\n  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 6, false));\n};\n\n\n/**\n * @param {boolean} value\n * @return {!proto.qb.smg.StationState} returns this\n */\nproto.qb.smg.StationState.prototype.setMultiFaceDetected = function(value) {\n  return jspb.Message.setProto3BooleanField(this, 6, value);\n};\n\n\n/**\n * optional StationPlayerState currentState = 5;\n * @return {!proto.qb.smg.StationPlayerState}\n */\nproto.qb.smg.StationState.prototype.getCurrentstate = function() {\n  return /** @type {!proto.qb.smg.StationPlayerState} */ (jspb.Message.getFieldWithDefault(this, 5, 0));\n};\n\n\n/**\n * @param {!proto.qb.smg.StationPlayerState} value\n * @return {!proto.qb.smg.StationState} returns this\n */\nproto.qb.smg.StationState.prototype.setCurrentstate = function(value) {\n  return jspb.Message.setProto3EnumField(this, 5, value);\n};\n\n\n/**\n * optional bool user_in_wrong_camera_side = 7;\n * @return {boolean}\n */\nproto.qb.smg.StationState.prototype.getUserInWrongCameraSide = function() {\n  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 7, false));\n};\n\n\n/**\n * @param {boolean} value\n * @return {!proto.qb.smg.StationState} returns this\n */\nproto.qb.smg.StationState.prototype.setUserInWrongCameraSide = function(value) {\n  return jspb.Message.setProto3BooleanField(this, 7, value);\n};\n\n\n/**\n * optional bool show_multiplayer_error = 8;\n * @return {boolean}\n */\nproto.qb.smg.StationState.prototype.getShowMultiplayerError = function() {\n  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 8, false));\n};\n\n\n/**\n * @param {boolean} value\n * @return {!proto.qb.smg.StationState} returns this\n */\nproto.qb.smg.StationState.prototype.setShowMultiplayerError = function(value) {\n  return jspb.Message.setProto3BooleanField(this, 8, value);\n};\n\n\n/**\n * optional bool show_player_not_in_game_play_area_error = 9;\n * @return {boolean}\n */\nproto.qb.smg.StationState.prototype.getShowPlayerNotInGamePlayAreaError = function() {\n  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 9, false));\n};\n\n\n/**\n * @param {boolean} value\n * @return {!proto.qb.smg.StationState} returns this\n */\nproto.qb.smg.StationState.prototype.setShowPlayerNotInGamePlayAreaError = function(value) {\n  return jspb.Message.setProto3BooleanField(this, 9, value);\n};\n\n\n/**\n * optional bool hole_in_one_detected = 10;\n * @return {boolean}\n */\nproto.qb.smg.StationState.prototype.getHoleInOneDetected = function() {\n  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 10, false));\n};\n\n\n/**\n * @param {boolean} value\n * @return {!proto.qb.smg.StationState} returns this\n */\nproto.qb.smg.StationState.prototype.setHoleInOneDetected = function(value) {\n  return jspb.Message.setProto3BooleanField(this, 10, value);\n};\n\n\n/**\n * optional int64 betAmount = 11;\n * @return {number}\n */\nproto.qb.smg.StationState.prototype.getBetamount = function() {\n  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 11, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.qb.smg.StationState} returns this\n */\nproto.qb.smg.StationState.prototype.setBetamount = function(value) {\n  return jspb.Message.setProto3IntField(this, 11, value);\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.qb.smg.HeartbeatRequest.prototype.toObject = function(opt_includeInstance) {\n  return proto.qb.smg.HeartbeatRequest.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.qb.smg.HeartbeatRequest} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.qb.smg.HeartbeatRequest.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    token: jspb.Message.getFieldWithDefault(msg, 1, \"\"),\n    location: (f = msg.getLocation()) && proto.qb.smg.Location.toObject(includeInstance, f),\n    venueId: jspb.Message.getFieldWithDefault(msg, 102, 0)\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.qb.smg.HeartbeatRequest}\n */\nproto.qb.smg.HeartbeatRequest.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.qb.smg.HeartbeatRequest;\n  return proto.qb.smg.HeartbeatRequest.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.qb.smg.HeartbeatRequest} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.qb.smg.HeartbeatRequest}\n */\nproto.qb.smg.HeartbeatRequest.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setToken(value);\n      break;\n    case 101:\n      var value = new proto.qb.smg.Location;\n      reader.readMessage(value,proto.qb.smg.Location.deserializeBinaryFromReader);\n      msg.setLocation(value);\n      break;\n    case 102:\n      var value = /** @type {number} */ (reader.readInt32());\n      msg.setVenueId(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.qb.smg.HeartbeatRequest.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.qb.smg.HeartbeatRequest.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.qb.smg.HeartbeatRequest} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.qb.smg.HeartbeatRequest.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getToken();\n  if (f.length > 0) {\n    writer.writeString(\n      1,\n      f\n    );\n  }\n  f = message.getLocation();\n  if (f != null) {\n    writer.writeMessage(\n      101,\n      f,\n      proto.qb.smg.Location.serializeBinaryToWriter\n    );\n  }\n  f = message.getVenueId();\n  if (f !== 0) {\n    writer.writeInt32(\n      102,\n      f\n    );\n  }\n};\n\n\n/**\n * optional string token = 1;\n * @return {string}\n */\nproto.qb.smg.HeartbeatRequest.prototype.getToken = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.qb.smg.HeartbeatRequest} returns this\n */\nproto.qb.smg.HeartbeatRequest.prototype.setToken = function(value) {\n  return jspb.Message.setProto3StringField(this, 1, value);\n};\n\n\n/**\n * optional Location location = 101;\n * @return {?proto.qb.smg.Location}\n */\nproto.qb.smg.HeartbeatRequest.prototype.getLocation = function() {\n  return /** @type{?proto.qb.smg.Location} */ (\n    jspb.Message.getWrapperField(this, proto.qb.smg.Location, 101));\n};\n\n\n/**\n * @param {?proto.qb.smg.Location|undefined} value\n * @return {!proto.qb.smg.HeartbeatRequest} returns this\n*/\nproto.qb.smg.HeartbeatRequest.prototype.setLocation = function(value) {\n  return jspb.Message.setWrapperField(this, 101, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.qb.smg.HeartbeatRequest} returns this\n */\nproto.qb.smg.HeartbeatRequest.prototype.clearLocation = function() {\n  return this.setLocation(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.qb.smg.HeartbeatRequest.prototype.hasLocation = function() {\n  return jspb.Message.getField(this, 101) != null;\n};\n\n\n/**\n * optional int32 venue_id = 102;\n * @return {number}\n */\nproto.qb.smg.HeartbeatRequest.prototype.getVenueId = function() {\n  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 102, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.qb.smg.HeartbeatRequest} returns this\n */\nproto.qb.smg.HeartbeatRequest.prototype.setVenueId = function(value) {\n  return jspb.Message.setProto3IntField(this, 102, value);\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.qb.smg.HeartbeatResponse.prototype.toObject = function(opt_includeInstance) {\n  return proto.qb.smg.HeartbeatResponse.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.qb.smg.HeartbeatResponse} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.qb.smg.HeartbeatResponse.toObject = function(includeInstance, msg) {\n  var f, obj = {\n\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.qb.smg.HeartbeatResponse}\n */\nproto.qb.smg.HeartbeatResponse.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.qb.smg.HeartbeatResponse;\n  return proto.qb.smg.HeartbeatResponse.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.qb.smg.HeartbeatResponse} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.qb.smg.HeartbeatResponse}\n */\nproto.qb.smg.HeartbeatResponse.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.qb.smg.HeartbeatResponse.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.qb.smg.HeartbeatResponse.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.qb.smg.HeartbeatResponse} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.qb.smg.HeartbeatResponse.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.qb.smg.ConnectStationSimpleRequest.prototype.toObject = function(opt_includeInstance) {\n  return proto.qb.smg.ConnectStationSimpleRequest.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.qb.smg.ConnectStationSimpleRequest} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.qb.smg.ConnectStationSimpleRequest.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    stationId: jspb.Message.getFieldWithDefault(msg, 1, 0),\n    token: jspb.Message.getFieldWithDefault(msg, 2, \"\"),\n    location: (f = msg.getLocation()) && proto.qb.smg.Location.toObject(includeInstance, f),\n    venueId: jspb.Message.getFieldWithDefault(msg, 102, 0)\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.qb.smg.ConnectStationSimpleRequest}\n */\nproto.qb.smg.ConnectStationSimpleRequest.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.qb.smg.ConnectStationSimpleRequest;\n  return proto.qb.smg.ConnectStationSimpleRequest.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.qb.smg.ConnectStationSimpleRequest} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.qb.smg.ConnectStationSimpleRequest}\n */\nproto.qb.smg.ConnectStationSimpleRequest.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {number} */ (reader.readInt32());\n      msg.setStationId(value);\n      break;\n    case 2:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setToken(value);\n      break;\n    case 101:\n      var value = new proto.qb.smg.Location;\n      reader.readMessage(value,proto.qb.smg.Location.deserializeBinaryFromReader);\n      msg.setLocation(value);\n      break;\n    case 102:\n      var value = /** @type {number} */ (reader.readInt32());\n      msg.setVenueId(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.qb.smg.ConnectStationSimpleRequest.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.qb.smg.ConnectStationSimpleRequest.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.qb.smg.ConnectStationSimpleRequest} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.qb.smg.ConnectStationSimpleRequest.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getStationId();\n  if (f !== 0) {\n    writer.writeInt32(\n      1,\n      f\n    );\n  }\n  f = message.getToken();\n  if (f.length > 0) {\n    writer.writeString(\n      2,\n      f\n    );\n  }\n  f = message.getLocation();\n  if (f != null) {\n    writer.writeMessage(\n      101,\n      f,\n      proto.qb.smg.Location.serializeBinaryToWriter\n    );\n  }\n  f = message.getVenueId();\n  if (f !== 0) {\n    writer.writeInt32(\n      102,\n      f\n    );\n  }\n};\n\n\n/**\n * optional int32 station_id = 1;\n * @return {number}\n */\nproto.qb.smg.ConnectStationSimpleRequest.prototype.getStationId = function() {\n  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.qb.smg.ConnectStationSimpleRequest} returns this\n */\nproto.qb.smg.ConnectStationSimpleRequest.prototype.setStationId = function(value) {\n  return jspb.Message.setProto3IntField(this, 1, value);\n};\n\n\n/**\n * optional string token = 2;\n * @return {string}\n */\nproto.qb.smg.ConnectStationSimpleRequest.prototype.getToken = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.qb.smg.ConnectStationSimpleRequest} returns this\n */\nproto.qb.smg.ConnectStationSimpleRequest.prototype.setToken = function(value) {\n  return jspb.Message.setProto3StringField(this, 2, value);\n};\n\n\n/**\n * optional Location location = 101;\n * @return {?proto.qb.smg.Location}\n */\nproto.qb.smg.ConnectStationSimpleRequest.prototype.getLocation = function() {\n  return /** @type{?proto.qb.smg.Location} */ (\n    jspb.Message.getWrapperField(this, proto.qb.smg.Location, 101));\n};\n\n\n/**\n * @param {?proto.qb.smg.Location|undefined} value\n * @return {!proto.qb.smg.ConnectStationSimpleRequest} returns this\n*/\nproto.qb.smg.ConnectStationSimpleRequest.prototype.setLocation = function(value) {\n  return jspb.Message.setWrapperField(this, 101, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.qb.smg.ConnectStationSimpleRequest} returns this\n */\nproto.qb.smg.ConnectStationSimpleRequest.prototype.clearLocation = function() {\n  return this.setLocation(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.qb.smg.ConnectStationSimpleRequest.prototype.hasLocation = function() {\n  return jspb.Message.getField(this, 101) != null;\n};\n\n\n/**\n * optional int32 venue_id = 102;\n * @return {number}\n */\nproto.qb.smg.ConnectStationSimpleRequest.prototype.getVenueId = function() {\n  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 102, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.qb.smg.ConnectStationSimpleRequest} returns this\n */\nproto.qb.smg.ConnectStationSimpleRequest.prototype.setVenueId = function(value) {\n  return jspb.Message.setProto3IntField(this, 102, value);\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.qb.smg.ConnectStationSimpleReply.prototype.toObject = function(opt_includeInstance) {\n  return proto.qb.smg.ConnectStationSimpleReply.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.qb.smg.ConnectStationSimpleReply} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.qb.smg.ConnectStationSimpleReply.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    connected: jspb.Message.getBooleanFieldWithDefault(msg, 1, false)\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.qb.smg.ConnectStationSimpleReply}\n */\nproto.qb.smg.ConnectStationSimpleReply.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.qb.smg.ConnectStationSimpleReply;\n  return proto.qb.smg.ConnectStationSimpleReply.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.qb.smg.ConnectStationSimpleReply} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.qb.smg.ConnectStationSimpleReply}\n */\nproto.qb.smg.ConnectStationSimpleReply.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {boolean} */ (reader.readBool());\n      msg.setConnected(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.qb.smg.ConnectStationSimpleReply.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.qb.smg.ConnectStationSimpleReply.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.qb.smg.ConnectStationSimpleReply} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.qb.smg.ConnectStationSimpleReply.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getConnected();\n  if (f) {\n    writer.writeBool(\n      1,\n      f\n    );\n  }\n};\n\n\n/**\n * optional bool connected = 1;\n * @return {boolean}\n */\nproto.qb.smg.ConnectStationSimpleReply.prototype.getConnected = function() {\n  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 1, false));\n};\n\n\n/**\n * @param {boolean} value\n * @return {!proto.qb.smg.ConnectStationSimpleReply} returns this\n */\nproto.qb.smg.ConnectStationSimpleReply.prototype.setConnected = function(value) {\n  return jspb.Message.setProto3BooleanField(this, 1, value);\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.qb.smg.StationMessage.prototype.toObject = function(opt_includeInstance) {\n  return proto.qb.smg.StationMessage.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.qb.smg.StationMessage} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.qb.smg.StationMessage.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    messageId: jspb.Message.getFieldWithDefault(msg, 1, 0),\n    settingsUpdate: (f = msg.getSettingsUpdate()) && proto.qb.smg.SettingsUpdate.toObject(includeInstance, f),\n    displayMessage: (f = msg.getDisplayMessage()) && proto.qb.smg.DisplayMessage.toObject(includeInstance, f)\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.qb.smg.StationMessage}\n */\nproto.qb.smg.StationMessage.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.qb.smg.StationMessage;\n  return proto.qb.smg.StationMessage.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.qb.smg.StationMessage} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.qb.smg.StationMessage}\n */\nproto.qb.smg.StationMessage.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {number} */ (reader.readInt64());\n      msg.setMessageId(value);\n      break;\n    case 2:\n      var value = new proto.qb.smg.SettingsUpdate;\n      reader.readMessage(value,proto.qb.smg.SettingsUpdate.deserializeBinaryFromReader);\n      msg.setSettingsUpdate(value);\n      break;\n    case 3:\n      var value = new proto.qb.smg.DisplayMessage;\n      reader.readMessage(value,proto.qb.smg.DisplayMessage.deserializeBinaryFromReader);\n      msg.setDisplayMessage(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.qb.smg.StationMessage.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.qb.smg.StationMessage.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.qb.smg.StationMessage} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.qb.smg.StationMessage.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getMessageId();\n  if (f !== 0) {\n    writer.writeInt64(\n      1,\n      f\n    );\n  }\n  f = message.getSettingsUpdate();\n  if (f != null) {\n    writer.writeMessage(\n      2,\n      f,\n      proto.qb.smg.SettingsUpdate.serializeBinaryToWriter\n    );\n  }\n  f = message.getDisplayMessage();\n  if (f != null) {\n    writer.writeMessage(\n      3,\n      f,\n      proto.qb.smg.DisplayMessage.serializeBinaryToWriter\n    );\n  }\n};\n\n\n/**\n * optional int64 message_id = 1;\n * @return {number}\n */\nproto.qb.smg.StationMessage.prototype.getMessageId = function() {\n  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.qb.smg.StationMessage} returns this\n */\nproto.qb.smg.StationMessage.prototype.setMessageId = function(value) {\n  return jspb.Message.setProto3IntField(this, 1, value);\n};\n\n\n/**\n * optional SettingsUpdate settings_update = 2;\n * @return {?proto.qb.smg.SettingsUpdate}\n */\nproto.qb.smg.StationMessage.prototype.getSettingsUpdate = function() {\n  return /** @type{?proto.qb.smg.SettingsUpdate} */ (\n    jspb.Message.getWrapperField(this, proto.qb.smg.SettingsUpdate, 2));\n};\n\n\n/**\n * @param {?proto.qb.smg.SettingsUpdate|undefined} value\n * @return {!proto.qb.smg.StationMessage} returns this\n*/\nproto.qb.smg.StationMessage.prototype.setSettingsUpdate = function(value) {\n  return jspb.Message.setWrapperField(this, 2, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.qb.smg.StationMessage} returns this\n */\nproto.qb.smg.StationMessage.prototype.clearSettingsUpdate = function() {\n  return this.setSettingsUpdate(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.qb.smg.StationMessage.prototype.hasSettingsUpdate = function() {\n  return jspb.Message.getField(this, 2) != null;\n};\n\n\n/**\n * optional DisplayMessage display_message = 3;\n * @return {?proto.qb.smg.DisplayMessage}\n */\nproto.qb.smg.StationMessage.prototype.getDisplayMessage = function() {\n  return /** @type{?proto.qb.smg.DisplayMessage} */ (\n    jspb.Message.getWrapperField(this, proto.qb.smg.DisplayMessage, 3));\n};\n\n\n/**\n * @param {?proto.qb.smg.DisplayMessage|undefined} value\n * @return {!proto.qb.smg.StationMessage} returns this\n*/\nproto.qb.smg.StationMessage.prototype.setDisplayMessage = function(value) {\n  return jspb.Message.setWrapperField(this, 3, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.qb.smg.StationMessage} returns this\n */\nproto.qb.smg.StationMessage.prototype.clearDisplayMessage = function() {\n  return this.setDisplayMessage(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.qb.smg.StationMessage.prototype.hasDisplayMessage = function() {\n  return jspb.Message.getField(this, 3) != null;\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.qb.smg.DisplayMessage.prototype.toObject = function(opt_includeInstance) {\n  return proto.qb.smg.DisplayMessage.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.qb.smg.DisplayMessage} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.qb.smg.DisplayMessage.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    line1: jspb.Message.getFieldWithDefault(msg, 1, \"\"),\n    line2: jspb.Message.getFieldWithDefault(msg, 2, \"\"),\n    line3: jspb.Message.getFieldWithDefault(msg, 3, \"\"),\n    displayTime: jspb.Message.getFieldWithDefault(msg, 4, 0)\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.qb.smg.DisplayMessage}\n */\nproto.qb.smg.DisplayMessage.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.qb.smg.DisplayMessage;\n  return proto.qb.smg.DisplayMessage.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.qb.smg.DisplayMessage} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.qb.smg.DisplayMessage}\n */\nproto.qb.smg.DisplayMessage.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setLine1(value);\n      break;\n    case 2:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setLine2(value);\n      break;\n    case 3:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setLine3(value);\n      break;\n    case 4:\n      var value = /** @type {number} */ (reader.readInt64());\n      msg.setDisplayTime(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.qb.smg.DisplayMessage.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.qb.smg.DisplayMessage.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.qb.smg.DisplayMessage} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.qb.smg.DisplayMessage.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getLine1();\n  if (f.length > 0) {\n    writer.writeString(\n      1,\n      f\n    );\n  }\n  f = message.getLine2();\n  if (f.length > 0) {\n    writer.writeString(\n      2,\n      f\n    );\n  }\n  f = message.getLine3();\n  if (f.length > 0) {\n    writer.writeString(\n      3,\n      f\n    );\n  }\n  f = message.getDisplayTime();\n  if (f !== 0) {\n    writer.writeInt64(\n      4,\n      f\n    );\n  }\n};\n\n\n/**\n * optional string line1 = 1;\n * @return {string}\n */\nproto.qb.smg.DisplayMessage.prototype.getLine1 = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.qb.smg.DisplayMessage} returns this\n */\nproto.qb.smg.DisplayMessage.prototype.setLine1 = function(value) {\n  return jspb.Message.setProto3StringField(this, 1, value);\n};\n\n\n/**\n * optional string line2 = 2;\n * @return {string}\n */\nproto.qb.smg.DisplayMessage.prototype.getLine2 = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.qb.smg.DisplayMessage} returns this\n */\nproto.qb.smg.DisplayMessage.prototype.setLine2 = function(value) {\n  return jspb.Message.setProto3StringField(this, 2, value);\n};\n\n\n/**\n * optional string line3 = 3;\n * @return {string}\n */\nproto.qb.smg.DisplayMessage.prototype.getLine3 = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 3, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.qb.smg.DisplayMessage} returns this\n */\nproto.qb.smg.DisplayMessage.prototype.setLine3 = function(value) {\n  return jspb.Message.setProto3StringField(this, 3, value);\n};\n\n\n/**\n * optional int64 display_time = 4;\n * @return {number}\n */\nproto.qb.smg.DisplayMessage.prototype.getDisplayTime = function() {\n  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 4, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.qb.smg.DisplayMessage} returns this\n */\nproto.qb.smg.DisplayMessage.prototype.setDisplayTime = function(value) {\n  return jspb.Message.setProto3IntField(this, 4, value);\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.qb.smg.SettingsUpdateStreamRequest.prototype.toObject = function(opt_includeInstance) {\n  return proto.qb.smg.SettingsUpdateStreamRequest.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.qb.smg.SettingsUpdateStreamRequest} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.qb.smg.SettingsUpdateStreamRequest.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    token: jspb.Message.getFieldWithDefault(msg, 1, \"\"),\n    location: (f = msg.getLocation()) && proto.qb.smg.Location.toObject(includeInstance, f),\n    venueId: jspb.Message.getFieldWithDefault(msg, 102, 0)\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.qb.smg.SettingsUpdateStreamRequest}\n */\nproto.qb.smg.SettingsUpdateStreamRequest.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.qb.smg.SettingsUpdateStreamRequest;\n  return proto.qb.smg.SettingsUpdateStreamRequest.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.qb.smg.SettingsUpdateStreamRequest} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.qb.smg.SettingsUpdateStreamRequest}\n */\nproto.qb.smg.SettingsUpdateStreamRequest.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setToken(value);\n      break;\n    case 101:\n      var value = new proto.qb.smg.Location;\n      reader.readMessage(value,proto.qb.smg.Location.deserializeBinaryFromReader);\n      msg.setLocation(value);\n      break;\n    case 102:\n      var value = /** @type {number} */ (reader.readInt32());\n      msg.setVenueId(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.qb.smg.SettingsUpdateStreamRequest.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.qb.smg.SettingsUpdateStreamRequest.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.qb.smg.SettingsUpdateStreamRequest} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.qb.smg.SettingsUpdateStreamRequest.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getToken();\n  if (f.length > 0) {\n    writer.writeString(\n      1,\n      f\n    );\n  }\n  f = message.getLocation();\n  if (f != null) {\n    writer.writeMessage(\n      101,\n      f,\n      proto.qb.smg.Location.serializeBinaryToWriter\n    );\n  }\n  f = message.getVenueId();\n  if (f !== 0) {\n    writer.writeInt32(\n      102,\n      f\n    );\n  }\n};\n\n\n/**\n * optional string token = 1;\n * @return {string}\n */\nproto.qb.smg.SettingsUpdateStreamRequest.prototype.getToken = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.qb.smg.SettingsUpdateStreamRequest} returns this\n */\nproto.qb.smg.SettingsUpdateStreamRequest.prototype.setToken = function(value) {\n  return jspb.Message.setProto3StringField(this, 1, value);\n};\n\n\n/**\n * optional Location location = 101;\n * @return {?proto.qb.smg.Location}\n */\nproto.qb.smg.SettingsUpdateStreamRequest.prototype.getLocation = function() {\n  return /** @type{?proto.qb.smg.Location} */ (\n    jspb.Message.getWrapperField(this, proto.qb.smg.Location, 101));\n};\n\n\n/**\n * @param {?proto.qb.smg.Location|undefined} value\n * @return {!proto.qb.smg.SettingsUpdateStreamRequest} returns this\n*/\nproto.qb.smg.SettingsUpdateStreamRequest.prototype.setLocation = function(value) {\n  return jspb.Message.setWrapperField(this, 101, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.qb.smg.SettingsUpdateStreamRequest} returns this\n */\nproto.qb.smg.SettingsUpdateStreamRequest.prototype.clearLocation = function() {\n  return this.setLocation(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.qb.smg.SettingsUpdateStreamRequest.prototype.hasLocation = function() {\n  return jspb.Message.getField(this, 101) != null;\n};\n\n\n/**\n * optional int32 venue_id = 102;\n * @return {number}\n */\nproto.qb.smg.SettingsUpdateStreamRequest.prototype.getVenueId = function() {\n  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 102, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.qb.smg.SettingsUpdateStreamRequest} returns this\n */\nproto.qb.smg.SettingsUpdateStreamRequest.prototype.setVenueId = function(value) {\n  return jspb.Message.setProto3IntField(this, 102, value);\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.qb.smg.SettingsUpdate.prototype.toObject = function(opt_includeInstance) {\n  return proto.qb.smg.SettingsUpdate.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.qb.smg.SettingsUpdate} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.qb.smg.SettingsUpdate.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    lastchangetimestamp: jspb.Message.getFieldWithDefault(msg, 1, 0),\n    handedness: jspb.Message.getFieldWithDefault(msg, 2, \"\"),\n    distance: jspb.Message.getFieldWithDefault(msg, 3, 0),\n    targettype: jspb.Message.getFieldWithDefault(msg, 4, \"\")\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.qb.smg.SettingsUpdate}\n */\nproto.qb.smg.SettingsUpdate.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.qb.smg.SettingsUpdate;\n  return proto.qb.smg.SettingsUpdate.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.qb.smg.SettingsUpdate} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.qb.smg.SettingsUpdate}\n */\nproto.qb.smg.SettingsUpdate.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {number} */ (reader.readInt64());\n      msg.setLastchangetimestamp(value);\n      break;\n    case 2:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setHandedness(value);\n      break;\n    case 3:\n      var value = /** @type {number} */ (reader.readInt64());\n      msg.setDistance(value);\n      break;\n    case 4:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setTargettype(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.qb.smg.SettingsUpdate.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.qb.smg.SettingsUpdate.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.qb.smg.SettingsUpdate} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.qb.smg.SettingsUpdate.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getLastchangetimestamp();\n  if (f !== 0) {\n    writer.writeInt64(\n      1,\n      f\n    );\n  }\n  f = message.getHandedness();\n  if (f.length > 0) {\n    writer.writeString(\n      2,\n      f\n    );\n  }\n  f = message.getDistance();\n  if (f !== 0) {\n    writer.writeInt64(\n      3,\n      f\n    );\n  }\n  f = message.getTargettype();\n  if (f.length > 0) {\n    writer.writeString(\n      4,\n      f\n    );\n  }\n};\n\n\n/**\n * optional int64 LastChangeTimestamp = 1;\n * @return {number}\n */\nproto.qb.smg.SettingsUpdate.prototype.getLastchangetimestamp = function() {\n  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.qb.smg.SettingsUpdate} returns this\n */\nproto.qb.smg.SettingsUpdate.prototype.setLastchangetimestamp = function(value) {\n  return jspb.Message.setProto3IntField(this, 1, value);\n};\n\n\n/**\n * optional string Handedness = 2;\n * @return {string}\n */\nproto.qb.smg.SettingsUpdate.prototype.getHandedness = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.qb.smg.SettingsUpdate} returns this\n */\nproto.qb.smg.SettingsUpdate.prototype.setHandedness = function(value) {\n  return jspb.Message.setProto3StringField(this, 2, value);\n};\n\n\n/**\n * optional int64 Distance = 3;\n * @return {number}\n */\nproto.qb.smg.SettingsUpdate.prototype.getDistance = function() {\n  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 3, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.qb.smg.SettingsUpdate} returns this\n */\nproto.qb.smg.SettingsUpdate.prototype.setDistance = function(value) {\n  return jspb.Message.setProto3IntField(this, 3, value);\n};\n\n\n/**\n * optional string TargetType = 4;\n * @return {string}\n */\nproto.qb.smg.SettingsUpdate.prototype.getTargettype = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 4, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.qb.smg.SettingsUpdate} returns this\n */\nproto.qb.smg.SettingsUpdate.prototype.setTargettype = function(value) {\n  return jspb.Message.setProto3StringField(this, 4, value);\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.qb.smg.DeleteUserImageRequest.prototype.toObject = function(opt_includeInstance) {\n  return proto.qb.smg.DeleteUserImageRequest.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.qb.smg.DeleteUserImageRequest} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.qb.smg.DeleteUserImageRequest.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    userId: jspb.Message.getFieldWithDefault(msg, 1, 0),\n    venueId: jspb.Message.getFieldWithDefault(msg, 2, 0),\n    token: jspb.Message.getFieldWithDefault(msg, 3, \"\")\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.qb.smg.DeleteUserImageRequest}\n */\nproto.qb.smg.DeleteUserImageRequest.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.qb.smg.DeleteUserImageRequest;\n  return proto.qb.smg.DeleteUserImageRequest.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.qb.smg.DeleteUserImageRequest} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.qb.smg.DeleteUserImageRequest}\n */\nproto.qb.smg.DeleteUserImageRequest.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {number} */ (reader.readInt64());\n      msg.setUserId(value);\n      break;\n    case 2:\n      var value = /** @type {number} */ (reader.readInt32());\n      msg.setVenueId(value);\n      break;\n    case 3:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setToken(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.qb.smg.DeleteUserImageRequest.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.qb.smg.DeleteUserImageRequest.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.qb.smg.DeleteUserImageRequest} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.qb.smg.DeleteUserImageRequest.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getUserId();\n  if (f !== 0) {\n    writer.writeInt64(\n      1,\n      f\n    );\n  }\n  f = message.getVenueId();\n  if (f !== 0) {\n    writer.writeInt32(\n      2,\n      f\n    );\n  }\n  f = message.getToken();\n  if (f.length > 0) {\n    writer.writeString(\n      3,\n      f\n    );\n  }\n};\n\n\n/**\n * optional int64 user_id = 1;\n * @return {number}\n */\nproto.qb.smg.DeleteUserImageRequest.prototype.getUserId = function() {\n  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.qb.smg.DeleteUserImageRequest} returns this\n */\nproto.qb.smg.DeleteUserImageRequest.prototype.setUserId = function(value) {\n  return jspb.Message.setProto3IntField(this, 1, value);\n};\n\n\n/**\n * optional int32 venue_id = 2;\n * @return {number}\n */\nproto.qb.smg.DeleteUserImageRequest.prototype.getVenueId = function() {\n  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 2, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.qb.smg.DeleteUserImageRequest} returns this\n */\nproto.qb.smg.DeleteUserImageRequest.prototype.setVenueId = function(value) {\n  return jspb.Message.setProto3IntField(this, 2, value);\n};\n\n\n/**\n * optional string token = 3;\n * @return {string}\n */\nproto.qb.smg.DeleteUserImageRequest.prototype.getToken = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 3, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.qb.smg.DeleteUserImageRequest} returns this\n */\nproto.qb.smg.DeleteUserImageRequest.prototype.setToken = function(value) {\n  return jspb.Message.setProto3StringField(this, 3, value);\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.qb.smg.DeleteUserImageResponse.prototype.toObject = function(opt_includeInstance) {\n  return proto.qb.smg.DeleteUserImageResponse.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.qb.smg.DeleteUserImageResponse} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.qb.smg.DeleteUserImageResponse.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    error: (f = msg.getError()) && proto.qb.smg.Error.toObject(includeInstance, f),\n    success: jspb.Message.getBooleanFieldWithDefault(msg, 2, false)\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.qb.smg.DeleteUserImageResponse}\n */\nproto.qb.smg.DeleteUserImageResponse.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.qb.smg.DeleteUserImageResponse;\n  return proto.qb.smg.DeleteUserImageResponse.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.qb.smg.DeleteUserImageResponse} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.qb.smg.DeleteUserImageResponse}\n */\nproto.qb.smg.DeleteUserImageResponse.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = new proto.qb.smg.Error;\n      reader.readMessage(value,proto.qb.smg.Error.deserializeBinaryFromReader);\n      msg.setError(value);\n      break;\n    case 2:\n      var value = /** @type {boolean} */ (reader.readBool());\n      msg.setSuccess(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.qb.smg.DeleteUserImageResponse.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.qb.smg.DeleteUserImageResponse.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.qb.smg.DeleteUserImageResponse} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.qb.smg.DeleteUserImageResponse.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getError();\n  if (f != null) {\n    writer.writeMessage(\n      1,\n      f,\n      proto.qb.smg.Error.serializeBinaryToWriter\n    );\n  }\n  f = message.getSuccess();\n  if (f) {\n    writer.writeBool(\n      2,\n      f\n    );\n  }\n};\n\n\n/**\n * optional Error error = 1;\n * @return {?proto.qb.smg.Error}\n */\nproto.qb.smg.DeleteUserImageResponse.prototype.getError = function() {\n  return /** @type{?proto.qb.smg.Error} */ (\n    jspb.Message.getWrapperField(this, proto.qb.smg.Error, 1));\n};\n\n\n/**\n * @param {?proto.qb.smg.Error|undefined} value\n * @return {!proto.qb.smg.DeleteUserImageResponse} returns this\n*/\nproto.qb.smg.DeleteUserImageResponse.prototype.setError = function(value) {\n  return jspb.Message.setWrapperField(this, 1, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.qb.smg.DeleteUserImageResponse} returns this\n */\nproto.qb.smg.DeleteUserImageResponse.prototype.clearError = function() {\n  return this.setError(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.qb.smg.DeleteUserImageResponse.prototype.hasError = function() {\n  return jspb.Message.getField(this, 1) != null;\n};\n\n\n/**\n * optional bool success = 2;\n * @return {boolean}\n */\nproto.qb.smg.DeleteUserImageResponse.prototype.getSuccess = function() {\n  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 2, false));\n};\n\n\n/**\n * @param {boolean} value\n * @return {!proto.qb.smg.DeleteUserImageResponse} returns this\n */\nproto.qb.smg.DeleteUserImageResponse.prototype.setSuccess = function(value) {\n  return jspb.Message.setProto3BooleanField(this, 2, value);\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.qb.smg.DeleteUserImagesBeforeDateRequest.prototype.toObject = function(opt_includeInstance) {\n  return proto.qb.smg.DeleteUserImagesBeforeDateRequest.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.qb.smg.DeleteUserImagesBeforeDateRequest} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.qb.smg.DeleteUserImagesBeforeDateRequest.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    date: (f = msg.getDate()) && google_protobuf_timestamp_pb.Timestamp.toObject(includeInstance, f),\n    venueId: jspb.Message.getFieldWithDefault(msg, 2, 0),\n    token: jspb.Message.getFieldWithDefault(msg, 3, \"\")\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.qb.smg.DeleteUserImagesBeforeDateRequest}\n */\nproto.qb.smg.DeleteUserImagesBeforeDateRequest.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.qb.smg.DeleteUserImagesBeforeDateRequest;\n  return proto.qb.smg.DeleteUserImagesBeforeDateRequest.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.qb.smg.DeleteUserImagesBeforeDateRequest} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.qb.smg.DeleteUserImagesBeforeDateRequest}\n */\nproto.qb.smg.DeleteUserImagesBeforeDateRequest.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = new google_protobuf_timestamp_pb.Timestamp;\n      reader.readMessage(value,google_protobuf_timestamp_pb.Timestamp.deserializeBinaryFromReader);\n      msg.setDate(value);\n      break;\n    case 2:\n      var value = /** @type {number} */ (reader.readInt32());\n      msg.setVenueId(value);\n      break;\n    case 3:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setToken(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.qb.smg.DeleteUserImagesBeforeDateRequest.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.qb.smg.DeleteUserImagesBeforeDateRequest.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.qb.smg.DeleteUserImagesBeforeDateRequest} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.qb.smg.DeleteUserImagesBeforeDateRequest.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getDate();\n  if (f != null) {\n    writer.writeMessage(\n      1,\n      f,\n      google_protobuf_timestamp_pb.Timestamp.serializeBinaryToWriter\n    );\n  }\n  f = message.getVenueId();\n  if (f !== 0) {\n    writer.writeInt32(\n      2,\n      f\n    );\n  }\n  f = message.getToken();\n  if (f.length > 0) {\n    writer.writeString(\n      3,\n      f\n    );\n  }\n};\n\n\n/**\n * optional google.protobuf.Timestamp Date = 1;\n * @return {?proto.google.protobuf.Timestamp}\n */\nproto.qb.smg.DeleteUserImagesBeforeDateRequest.prototype.getDate = function() {\n  return /** @type{?proto.google.protobuf.Timestamp} */ (\n    jspb.Message.getWrapperField(this, google_protobuf_timestamp_pb.Timestamp, 1));\n};\n\n\n/**\n * @param {?proto.google.protobuf.Timestamp|undefined} value\n * @return {!proto.qb.smg.DeleteUserImagesBeforeDateRequest} returns this\n*/\nproto.qb.smg.DeleteUserImagesBeforeDateRequest.prototype.setDate = function(value) {\n  return jspb.Message.setWrapperField(this, 1, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.qb.smg.DeleteUserImagesBeforeDateRequest} returns this\n */\nproto.qb.smg.DeleteUserImagesBeforeDateRequest.prototype.clearDate = function() {\n  return this.setDate(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.qb.smg.DeleteUserImagesBeforeDateRequest.prototype.hasDate = function() {\n  return jspb.Message.getField(this, 1) != null;\n};\n\n\n/**\n * optional int32 venue_id = 2;\n * @return {number}\n */\nproto.qb.smg.DeleteUserImagesBeforeDateRequest.prototype.getVenueId = function() {\n  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 2, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.qb.smg.DeleteUserImagesBeforeDateRequest} returns this\n */\nproto.qb.smg.DeleteUserImagesBeforeDateRequest.prototype.setVenueId = function(value) {\n  return jspb.Message.setProto3IntField(this, 2, value);\n};\n\n\n/**\n * optional string token = 3;\n * @return {string}\n */\nproto.qb.smg.DeleteUserImagesBeforeDateRequest.prototype.getToken = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 3, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.qb.smg.DeleteUserImagesBeforeDateRequest} returns this\n */\nproto.qb.smg.DeleteUserImagesBeforeDateRequest.prototype.setToken = function(value) {\n  return jspb.Message.setProto3StringField(this, 3, value);\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.qb.smg.DeleteUserImagesBeforeDateResponse.prototype.toObject = function(opt_includeInstance) {\n  return proto.qb.smg.DeleteUserImagesBeforeDateResponse.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.qb.smg.DeleteUserImagesBeforeDateResponse} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.qb.smg.DeleteUserImagesBeforeDateResponse.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    error: (f = msg.getError()) && proto.qb.smg.Error.toObject(includeInstance, f),\n    success: jspb.Message.getBooleanFieldWithDefault(msg, 2, false)\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.qb.smg.DeleteUserImagesBeforeDateResponse}\n */\nproto.qb.smg.DeleteUserImagesBeforeDateResponse.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.qb.smg.DeleteUserImagesBeforeDateResponse;\n  return proto.qb.smg.DeleteUserImagesBeforeDateResponse.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.qb.smg.DeleteUserImagesBeforeDateResponse} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.qb.smg.DeleteUserImagesBeforeDateResponse}\n */\nproto.qb.smg.DeleteUserImagesBeforeDateResponse.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = new proto.qb.smg.Error;\n      reader.readMessage(value,proto.qb.smg.Error.deserializeBinaryFromReader);\n      msg.setError(value);\n      break;\n    case 2:\n      var value = /** @type {boolean} */ (reader.readBool());\n      msg.setSuccess(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.qb.smg.DeleteUserImagesBeforeDateResponse.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.qb.smg.DeleteUserImagesBeforeDateResponse.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.qb.smg.DeleteUserImagesBeforeDateResponse} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.qb.smg.DeleteUserImagesBeforeDateResponse.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getError();\n  if (f != null) {\n    writer.writeMessage(\n      1,\n      f,\n      proto.qb.smg.Error.serializeBinaryToWriter\n    );\n  }\n  f = message.getSuccess();\n  if (f) {\n    writer.writeBool(\n      2,\n      f\n    );\n  }\n};\n\n\n/**\n * optional Error error = 1;\n * @return {?proto.qb.smg.Error}\n */\nproto.qb.smg.DeleteUserImagesBeforeDateResponse.prototype.getError = function() {\n  return /** @type{?proto.qb.smg.Error} */ (\n    jspb.Message.getWrapperField(this, proto.qb.smg.Error, 1));\n};\n\n\n/**\n * @param {?proto.qb.smg.Error|undefined} value\n * @return {!proto.qb.smg.DeleteUserImagesBeforeDateResponse} returns this\n*/\nproto.qb.smg.DeleteUserImagesBeforeDateResponse.prototype.setError = function(value) {\n  return jspb.Message.setWrapperField(this, 1, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.qb.smg.DeleteUserImagesBeforeDateResponse} returns this\n */\nproto.qb.smg.DeleteUserImagesBeforeDateResponse.prototype.clearError = function() {\n  return this.setError(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.qb.smg.DeleteUserImagesBeforeDateResponse.prototype.hasError = function() {\n  return jspb.Message.getField(this, 1) != null;\n};\n\n\n/**\n * optional bool success = 2;\n * @return {boolean}\n */\nproto.qb.smg.DeleteUserImagesBeforeDateResponse.prototype.getSuccess = function() {\n  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 2, false));\n};\n\n\n/**\n * @param {boolean} value\n * @return {!proto.qb.smg.DeleteUserImagesBeforeDateResponse} returns this\n */\nproto.qb.smg.DeleteUserImagesBeforeDateResponse.prototype.setSuccess = function(value) {\n  return jspb.Message.setProto3BooleanField(this, 2, value);\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.qb.smg.DeleteLastActiveBeforeDateRequest.prototype.toObject = function(opt_includeInstance) {\n  return proto.qb.smg.DeleteLastActiveBeforeDateRequest.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.qb.smg.DeleteLastActiveBeforeDateRequest} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.qb.smg.DeleteLastActiveBeforeDateRequest.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    date: (f = msg.getDate()) && google_protobuf_timestamp_pb.Timestamp.toObject(includeInstance, f)\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.qb.smg.DeleteLastActiveBeforeDateRequest}\n */\nproto.qb.smg.DeleteLastActiveBeforeDateRequest.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.qb.smg.DeleteLastActiveBeforeDateRequest;\n  return proto.qb.smg.DeleteLastActiveBeforeDateRequest.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.qb.smg.DeleteLastActiveBeforeDateRequest} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.qb.smg.DeleteLastActiveBeforeDateRequest}\n */\nproto.qb.smg.DeleteLastActiveBeforeDateRequest.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = new google_protobuf_timestamp_pb.Timestamp;\n      reader.readMessage(value,google_protobuf_timestamp_pb.Timestamp.deserializeBinaryFromReader);\n      msg.setDate(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.qb.smg.DeleteLastActiveBeforeDateRequest.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.qb.smg.DeleteLastActiveBeforeDateRequest.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.qb.smg.DeleteLastActiveBeforeDateRequest} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.qb.smg.DeleteLastActiveBeforeDateRequest.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getDate();\n  if (f != null) {\n    writer.writeMessage(\n      1,\n      f,\n      google_protobuf_timestamp_pb.Timestamp.serializeBinaryToWriter\n    );\n  }\n};\n\n\n/**\n * optional google.protobuf.Timestamp date = 1;\n * @return {?proto.google.protobuf.Timestamp}\n */\nproto.qb.smg.DeleteLastActiveBeforeDateRequest.prototype.getDate = function() {\n  return /** @type{?proto.google.protobuf.Timestamp} */ (\n    jspb.Message.getWrapperField(this, google_protobuf_timestamp_pb.Timestamp, 1));\n};\n\n\n/**\n * @param {?proto.google.protobuf.Timestamp|undefined} value\n * @return {!proto.qb.smg.DeleteLastActiveBeforeDateRequest} returns this\n*/\nproto.qb.smg.DeleteLastActiveBeforeDateRequest.prototype.setDate = function(value) {\n  return jspb.Message.setWrapperField(this, 1, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.qb.smg.DeleteLastActiveBeforeDateRequest} returns this\n */\nproto.qb.smg.DeleteLastActiveBeforeDateRequest.prototype.clearDate = function() {\n  return this.setDate(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.qb.smg.DeleteLastActiveBeforeDateRequest.prototype.hasDate = function() {\n  return jspb.Message.getField(this, 1) != null;\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.qb.smg.DeleteLastActiveBeforeDateResponse.prototype.toObject = function(opt_includeInstance) {\n  return proto.qb.smg.DeleteLastActiveBeforeDateResponse.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.qb.smg.DeleteLastActiveBeforeDateResponse} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.qb.smg.DeleteLastActiveBeforeDateResponse.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    error: (f = msg.getError()) && proto.qb.smg.Error.toObject(includeInstance, f),\n    success: jspb.Message.getBooleanFieldWithDefault(msg, 2, false)\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.qb.smg.DeleteLastActiveBeforeDateResponse}\n */\nproto.qb.smg.DeleteLastActiveBeforeDateResponse.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.qb.smg.DeleteLastActiveBeforeDateResponse;\n  return proto.qb.smg.DeleteLastActiveBeforeDateResponse.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.qb.smg.DeleteLastActiveBeforeDateResponse} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.qb.smg.DeleteLastActiveBeforeDateResponse}\n */\nproto.qb.smg.DeleteLastActiveBeforeDateResponse.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = new proto.qb.smg.Error;\n      reader.readMessage(value,proto.qb.smg.Error.deserializeBinaryFromReader);\n      msg.setError(value);\n      break;\n    case 2:\n      var value = /** @type {boolean} */ (reader.readBool());\n      msg.setSuccess(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.qb.smg.DeleteLastActiveBeforeDateResponse.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.qb.smg.DeleteLastActiveBeforeDateResponse.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.qb.smg.DeleteLastActiveBeforeDateResponse} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.qb.smg.DeleteLastActiveBeforeDateResponse.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getError();\n  if (f != null) {\n    writer.writeMessage(\n      1,\n      f,\n      proto.qb.smg.Error.serializeBinaryToWriter\n    );\n  }\n  f = message.getSuccess();\n  if (f) {\n    writer.writeBool(\n      2,\n      f\n    );\n  }\n};\n\n\n/**\n * optional Error error = 1;\n * @return {?proto.qb.smg.Error}\n */\nproto.qb.smg.DeleteLastActiveBeforeDateResponse.prototype.getError = function() {\n  return /** @type{?proto.qb.smg.Error} */ (\n    jspb.Message.getWrapperField(this, proto.qb.smg.Error, 1));\n};\n\n\n/**\n * @param {?proto.qb.smg.Error|undefined} value\n * @return {!proto.qb.smg.DeleteLastActiveBeforeDateResponse} returns this\n*/\nproto.qb.smg.DeleteLastActiveBeforeDateResponse.prototype.setError = function(value) {\n  return jspb.Message.setWrapperField(this, 1, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.qb.smg.DeleteLastActiveBeforeDateResponse} returns this\n */\nproto.qb.smg.DeleteLastActiveBeforeDateResponse.prototype.clearError = function() {\n  return this.setError(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.qb.smg.DeleteLastActiveBeforeDateResponse.prototype.hasError = function() {\n  return jspb.Message.getField(this, 1) != null;\n};\n\n\n/**\n * optional bool success = 2;\n * @return {boolean}\n */\nproto.qb.smg.DeleteLastActiveBeforeDateResponse.prototype.getSuccess = function() {\n  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 2, false));\n};\n\n\n/**\n * @param {boolean} value\n * @return {!proto.qb.smg.DeleteLastActiveBeforeDateResponse} returns this\n */\nproto.qb.smg.DeleteLastActiveBeforeDateResponse.prototype.setSuccess = function(value) {\n  return jspb.Message.setProto3BooleanField(this, 2, value);\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.qb.smg.IgnoreFrsRequest.prototype.toObject = function(opt_includeInstance) {\n  return proto.qb.smg.IgnoreFrsRequest.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.qb.smg.IgnoreFrsRequest} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.qb.smg.IgnoreFrsRequest.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    enable: jspb.Message.getBooleanFieldWithDefault(msg, 1, false),\n    forcedUserId: jspb.Message.getFieldWithDefault(msg, 2, 0),\n    token: jspb.Message.getFieldWithDefault(msg, 3, \"\"),\n    stationId: jspb.Message.getFieldWithDefault(msg, 4, 0)\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.qb.smg.IgnoreFrsRequest}\n */\nproto.qb.smg.IgnoreFrsRequest.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.qb.smg.IgnoreFrsRequest;\n  return proto.qb.smg.IgnoreFrsRequest.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.qb.smg.IgnoreFrsRequest} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.qb.smg.IgnoreFrsRequest}\n */\nproto.qb.smg.IgnoreFrsRequest.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {boolean} */ (reader.readBool());\n      msg.setEnable(value);\n      break;\n    case 2:\n      var value = /** @type {number} */ (reader.readInt64());\n      msg.setForcedUserId(value);\n      break;\n    case 3:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setToken(value);\n      break;\n    case 4:\n      var value = /** @type {number} */ (reader.readInt32());\n      msg.setStationId(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.qb.smg.IgnoreFrsRequest.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.qb.smg.IgnoreFrsRequest.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.qb.smg.IgnoreFrsRequest} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.qb.smg.IgnoreFrsRequest.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getEnable();\n  if (f) {\n    writer.writeBool(\n      1,\n      f\n    );\n  }\n  f = message.getForcedUserId();\n  if (f !== 0) {\n    writer.writeInt64(\n      2,\n      f\n    );\n  }\n  f = message.getToken();\n  if (f.length > 0) {\n    writer.writeString(\n      3,\n      f\n    );\n  }\n  f = message.getStationId();\n  if (f !== 0) {\n    writer.writeInt32(\n      4,\n      f\n    );\n  }\n};\n\n\n/**\n * optional bool enable = 1;\n * @return {boolean}\n */\nproto.qb.smg.IgnoreFrsRequest.prototype.getEnable = function() {\n  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 1, false));\n};\n\n\n/**\n * @param {boolean} value\n * @return {!proto.qb.smg.IgnoreFrsRequest} returns this\n */\nproto.qb.smg.IgnoreFrsRequest.prototype.setEnable = function(value) {\n  return jspb.Message.setProto3BooleanField(this, 1, value);\n};\n\n\n/**\n * optional int64 forced_user_id = 2;\n * @return {number}\n */\nproto.qb.smg.IgnoreFrsRequest.prototype.getForcedUserId = function() {\n  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 2, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.qb.smg.IgnoreFrsRequest} returns this\n */\nproto.qb.smg.IgnoreFrsRequest.prototype.setForcedUserId = function(value) {\n  return jspb.Message.setProto3IntField(this, 2, value);\n};\n\n\n/**\n * optional string token = 3;\n * @return {string}\n */\nproto.qb.smg.IgnoreFrsRequest.prototype.getToken = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 3, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.qb.smg.IgnoreFrsRequest} returns this\n */\nproto.qb.smg.IgnoreFrsRequest.prototype.setToken = function(value) {\n  return jspb.Message.setProto3StringField(this, 3, value);\n};\n\n\n/**\n * optional int32 station_id = 4;\n * @return {number}\n */\nproto.qb.smg.IgnoreFrsRequest.prototype.getStationId = function() {\n  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 4, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.qb.smg.IgnoreFrsRequest} returns this\n */\nproto.qb.smg.IgnoreFrsRequest.prototype.setStationId = function(value) {\n  return jspb.Message.setProto3IntField(this, 4, value);\n};\n\n\n\n/**\n * List of repeated fields within this message type.\n * @private {!Array<number>}\n * @const\n */\nproto.qb.smg.IgnoreFrsResponse.repeatedFields_ = [3];\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.qb.smg.IgnoreFrsResponse.prototype.toObject = function(opt_includeInstance) {\n  return proto.qb.smg.IgnoreFrsResponse.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.qb.smg.IgnoreFrsResponse} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.qb.smg.IgnoreFrsResponse.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    error: (f = msg.getError()) && proto.qb.smg.Error.toObject(includeInstance, f),\n    success: jspb.Message.getBooleanFieldWithDefault(msg, 2, false),\n    availableusersList: jspb.Message.toObjectList(msg.getAvailableusersList(),\n    proto.qb.smg.User.toObject, includeInstance)\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.qb.smg.IgnoreFrsResponse}\n */\nproto.qb.smg.IgnoreFrsResponse.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.qb.smg.IgnoreFrsResponse;\n  return proto.qb.smg.IgnoreFrsResponse.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.qb.smg.IgnoreFrsResponse} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.qb.smg.IgnoreFrsResponse}\n */\nproto.qb.smg.IgnoreFrsResponse.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = new proto.qb.smg.Error;\n      reader.readMessage(value,proto.qb.smg.Error.deserializeBinaryFromReader);\n      msg.setError(value);\n      break;\n    case 2:\n      var value = /** @type {boolean} */ (reader.readBool());\n      msg.setSuccess(value);\n      break;\n    case 3:\n      var value = new proto.qb.smg.User;\n      reader.readMessage(value,proto.qb.smg.User.deserializeBinaryFromReader);\n      msg.addAvailableusers(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.qb.smg.IgnoreFrsResponse.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.qb.smg.IgnoreFrsResponse.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.qb.smg.IgnoreFrsResponse} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.qb.smg.IgnoreFrsResponse.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getError();\n  if (f != null) {\n    writer.writeMessage(\n      1,\n      f,\n      proto.qb.smg.Error.serializeBinaryToWriter\n    );\n  }\n  f = message.getSuccess();\n  if (f) {\n    writer.writeBool(\n      2,\n      f\n    );\n  }\n  f = message.getAvailableusersList();\n  if (f.length > 0) {\n    writer.writeRepeatedMessage(\n      3,\n      f,\n      proto.qb.smg.User.serializeBinaryToWriter\n    );\n  }\n};\n\n\n/**\n * optional Error error = 1;\n * @return {?proto.qb.smg.Error}\n */\nproto.qb.smg.IgnoreFrsResponse.prototype.getError = function() {\n  return /** @type{?proto.qb.smg.Error} */ (\n    jspb.Message.getWrapperField(this, proto.qb.smg.Error, 1));\n};\n\n\n/**\n * @param {?proto.qb.smg.Error|undefined} value\n * @return {!proto.qb.smg.IgnoreFrsResponse} returns this\n*/\nproto.qb.smg.IgnoreFrsResponse.prototype.setError = function(value) {\n  return jspb.Message.setWrapperField(this, 1, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.qb.smg.IgnoreFrsResponse} returns this\n */\nproto.qb.smg.IgnoreFrsResponse.prototype.clearError = function() {\n  return this.setError(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.qb.smg.IgnoreFrsResponse.prototype.hasError = function() {\n  return jspb.Message.getField(this, 1) != null;\n};\n\n\n/**\n * optional bool success = 2;\n * @return {boolean}\n */\nproto.qb.smg.IgnoreFrsResponse.prototype.getSuccess = function() {\n  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 2, false));\n};\n\n\n/**\n * @param {boolean} value\n * @return {!proto.qb.smg.IgnoreFrsResponse} returns this\n */\nproto.qb.smg.IgnoreFrsResponse.prototype.setSuccess = function(value) {\n  return jspb.Message.setProto3BooleanField(this, 2, value);\n};\n\n\n/**\n * repeated User availableUsers = 3;\n * @return {!Array<!proto.qb.smg.User>}\n */\nproto.qb.smg.IgnoreFrsResponse.prototype.getAvailableusersList = function() {\n  return /** @type{!Array<!proto.qb.smg.User>} */ (\n    jspb.Message.getRepeatedWrapperField(this, proto.qb.smg.User, 3));\n};\n\n\n/**\n * @param {!Array<!proto.qb.smg.User>} value\n * @return {!proto.qb.smg.IgnoreFrsResponse} returns this\n*/\nproto.qb.smg.IgnoreFrsResponse.prototype.setAvailableusersList = function(value) {\n  return jspb.Message.setRepeatedWrapperField(this, 3, value);\n};\n\n\n/**\n * @param {!proto.qb.smg.User=} opt_value\n * @param {number=} opt_index\n * @return {!proto.qb.smg.User}\n */\nproto.qb.smg.IgnoreFrsResponse.prototype.addAvailableusers = function(opt_value, opt_index) {\n  return jspb.Message.addToRepeatedWrapperField(this, 3, opt_value, proto.qb.smg.User, opt_index);\n};\n\n\n/**\n * Clears the list making it empty but non-null.\n * @return {!proto.qb.smg.IgnoreFrsResponse} returns this\n */\nproto.qb.smg.IgnoreFrsResponse.prototype.clearAvailableusersList = function() {\n  return this.setAvailableusersList([]);\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.qb.smg.ResetIgnoreFrsRequest.prototype.toObject = function(opt_includeInstance) {\n  return proto.qb.smg.ResetIgnoreFrsRequest.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.qb.smg.ResetIgnoreFrsRequest} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.qb.smg.ResetIgnoreFrsRequest.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    token: jspb.Message.getFieldWithDefault(msg, 1, \"\")\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.qb.smg.ResetIgnoreFrsRequest}\n */\nproto.qb.smg.ResetIgnoreFrsRequest.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.qb.smg.ResetIgnoreFrsRequest;\n  return proto.qb.smg.ResetIgnoreFrsRequest.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.qb.smg.ResetIgnoreFrsRequest} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.qb.smg.ResetIgnoreFrsRequest}\n */\nproto.qb.smg.ResetIgnoreFrsRequest.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setToken(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.qb.smg.ResetIgnoreFrsRequest.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.qb.smg.ResetIgnoreFrsRequest.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.qb.smg.ResetIgnoreFrsRequest} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.qb.smg.ResetIgnoreFrsRequest.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getToken();\n  if (f.length > 0) {\n    writer.writeString(\n      1,\n      f\n    );\n  }\n};\n\n\n/**\n * optional string token = 1;\n * @return {string}\n */\nproto.qb.smg.ResetIgnoreFrsRequest.prototype.getToken = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.qb.smg.ResetIgnoreFrsRequest} returns this\n */\nproto.qb.smg.ResetIgnoreFrsRequest.prototype.setToken = function(value) {\n  return jspb.Message.setProto3StringField(this, 1, value);\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.qb.smg.ResetIgnoreFrsResponse.prototype.toObject = function(opt_includeInstance) {\n  return proto.qb.smg.ResetIgnoreFrsResponse.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.qb.smg.ResetIgnoreFrsResponse} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.qb.smg.ResetIgnoreFrsResponse.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    error: (f = msg.getError()) && proto.qb.smg.Error.toObject(includeInstance, f),\n    success: jspb.Message.getBooleanFieldWithDefault(msg, 2, false)\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.qb.smg.ResetIgnoreFrsResponse}\n */\nproto.qb.smg.ResetIgnoreFrsResponse.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.qb.smg.ResetIgnoreFrsResponse;\n  return proto.qb.smg.ResetIgnoreFrsResponse.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.qb.smg.ResetIgnoreFrsResponse} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.qb.smg.ResetIgnoreFrsResponse}\n */\nproto.qb.smg.ResetIgnoreFrsResponse.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = new proto.qb.smg.Error;\n      reader.readMessage(value,proto.qb.smg.Error.deserializeBinaryFromReader);\n      msg.setError(value);\n      break;\n    case 2:\n      var value = /** @type {boolean} */ (reader.readBool());\n      msg.setSuccess(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.qb.smg.ResetIgnoreFrsResponse.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.qb.smg.ResetIgnoreFrsResponse.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.qb.smg.ResetIgnoreFrsResponse} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.qb.smg.ResetIgnoreFrsResponse.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getError();\n  if (f != null) {\n    writer.writeMessage(\n      1,\n      f,\n      proto.qb.smg.Error.serializeBinaryToWriter\n    );\n  }\n  f = message.getSuccess();\n  if (f) {\n    writer.writeBool(\n      2,\n      f\n    );\n  }\n};\n\n\n/**\n * optional Error error = 1;\n * @return {?proto.qb.smg.Error}\n */\nproto.qb.smg.ResetIgnoreFrsResponse.prototype.getError = function() {\n  return /** @type{?proto.qb.smg.Error} */ (\n    jspb.Message.getWrapperField(this, proto.qb.smg.Error, 1));\n};\n\n\n/**\n * @param {?proto.qb.smg.Error|undefined} value\n * @return {!proto.qb.smg.ResetIgnoreFrsResponse} returns this\n*/\nproto.qb.smg.ResetIgnoreFrsResponse.prototype.setError = function(value) {\n  return jspb.Message.setWrapperField(this, 1, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.qb.smg.ResetIgnoreFrsResponse} returns this\n */\nproto.qb.smg.ResetIgnoreFrsResponse.prototype.clearError = function() {\n  return this.setError(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.qb.smg.ResetIgnoreFrsResponse.prototype.hasError = function() {\n  return jspb.Message.getField(this, 1) != null;\n};\n\n\n/**\n * optional bool success = 2;\n * @return {boolean}\n */\nproto.qb.smg.ResetIgnoreFrsResponse.prototype.getSuccess = function() {\n  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 2, false));\n};\n\n\n/**\n * @param {boolean} value\n * @return {!proto.qb.smg.ResetIgnoreFrsResponse} returns this\n */\nproto.qb.smg.ResetIgnoreFrsResponse.prototype.setSuccess = function(value) {\n  return jspb.Message.setProto3BooleanField(this, 2, value);\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.qb.smg.ResetShotCountRequest.prototype.toObject = function(opt_includeInstance) {\n  return proto.qb.smg.ResetShotCountRequest.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.qb.smg.ResetShotCountRequest} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.qb.smg.ResetShotCountRequest.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    token: jspb.Message.getFieldWithDefault(msg, 1, \"\"),\n    userId: jspb.Message.getFieldWithDefault(msg, 2, 0)\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.qb.smg.ResetShotCountRequest}\n */\nproto.qb.smg.ResetShotCountRequest.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.qb.smg.ResetShotCountRequest;\n  return proto.qb.smg.ResetShotCountRequest.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.qb.smg.ResetShotCountRequest} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.qb.smg.ResetShotCountRequest}\n */\nproto.qb.smg.ResetShotCountRequest.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setToken(value);\n      break;\n    case 2:\n      var value = /** @type {number} */ (reader.readInt64());\n      msg.setUserId(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.qb.smg.ResetShotCountRequest.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.qb.smg.ResetShotCountRequest.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.qb.smg.ResetShotCountRequest} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.qb.smg.ResetShotCountRequest.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getToken();\n  if (f.length > 0) {\n    writer.writeString(\n      1,\n      f\n    );\n  }\n  f = message.getUserId();\n  if (f !== 0) {\n    writer.writeInt64(\n      2,\n      f\n    );\n  }\n};\n\n\n/**\n * optional string token = 1;\n * @return {string}\n */\nproto.qb.smg.ResetShotCountRequest.prototype.getToken = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.qb.smg.ResetShotCountRequest} returns this\n */\nproto.qb.smg.ResetShotCountRequest.prototype.setToken = function(value) {\n  return jspb.Message.setProto3StringField(this, 1, value);\n};\n\n\n/**\n * optional int64 user_id = 2;\n * @return {number}\n */\nproto.qb.smg.ResetShotCountRequest.prototype.getUserId = function() {\n  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 2, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.qb.smg.ResetShotCountRequest} returns this\n */\nproto.qb.smg.ResetShotCountRequest.prototype.setUserId = function(value) {\n  return jspb.Message.setProto3IntField(this, 2, value);\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.qb.smg.ResetShotCountResponse.prototype.toObject = function(opt_includeInstance) {\n  return proto.qb.smg.ResetShotCountResponse.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.qb.smg.ResetShotCountResponse} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.qb.smg.ResetShotCountResponse.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    error: (f = msg.getError()) && proto.qb.smg.Error.toObject(includeInstance, f),\n    success: jspb.Message.getBooleanFieldWithDefault(msg, 2, false)\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.qb.smg.ResetShotCountResponse}\n */\nproto.qb.smg.ResetShotCountResponse.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.qb.smg.ResetShotCountResponse;\n  return proto.qb.smg.ResetShotCountResponse.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.qb.smg.ResetShotCountResponse} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.qb.smg.ResetShotCountResponse}\n */\nproto.qb.smg.ResetShotCountResponse.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = new proto.qb.smg.Error;\n      reader.readMessage(value,proto.qb.smg.Error.deserializeBinaryFromReader);\n      msg.setError(value);\n      break;\n    case 2:\n      var value = /** @type {boolean} */ (reader.readBool());\n      msg.setSuccess(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.qb.smg.ResetShotCountResponse.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.qb.smg.ResetShotCountResponse.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.qb.smg.ResetShotCountResponse} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.qb.smg.ResetShotCountResponse.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getError();\n  if (f != null) {\n    writer.writeMessage(\n      1,\n      f,\n      proto.qb.smg.Error.serializeBinaryToWriter\n    );\n  }\n  f = message.getSuccess();\n  if (f) {\n    writer.writeBool(\n      2,\n      f\n    );\n  }\n};\n\n\n/**\n * optional Error error = 1;\n * @return {?proto.qb.smg.Error}\n */\nproto.qb.smg.ResetShotCountResponse.prototype.getError = function() {\n  return /** @type{?proto.qb.smg.Error} */ (\n    jspb.Message.getWrapperField(this, proto.qb.smg.Error, 1));\n};\n\n\n/**\n * @param {?proto.qb.smg.Error|undefined} value\n * @return {!proto.qb.smg.ResetShotCountResponse} returns this\n*/\nproto.qb.smg.ResetShotCountResponse.prototype.setError = function(value) {\n  return jspb.Message.setWrapperField(this, 1, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.qb.smg.ResetShotCountResponse} returns this\n */\nproto.qb.smg.ResetShotCountResponse.prototype.clearError = function() {\n  return this.setError(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.qb.smg.ResetShotCountResponse.prototype.hasError = function() {\n  return jspb.Message.getField(this, 1) != null;\n};\n\n\n/**\n * optional bool success = 2;\n * @return {boolean}\n */\nproto.qb.smg.ResetShotCountResponse.prototype.getSuccess = function() {\n  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 2, false));\n};\n\n\n/**\n * @param {boolean} value\n * @return {!proto.qb.smg.ResetShotCountResponse} returns this\n */\nproto.qb.smg.ResetShotCountResponse.prototype.setSuccess = function(value) {\n  return jspb.Message.setProto3BooleanField(this, 2, value);\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.qb.smg.GetTransactionHistoryRequest.prototype.toObject = function(opt_includeInstance) {\n  return proto.qb.smg.GetTransactionHistoryRequest.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.qb.smg.GetTransactionHistoryRequest} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.qb.smg.GetTransactionHistoryRequest.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    userId: jspb.Message.getFieldWithDefault(msg, 1, 0)\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.qb.smg.GetTransactionHistoryRequest}\n */\nproto.qb.smg.GetTransactionHistoryRequest.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.qb.smg.GetTransactionHistoryRequest;\n  return proto.qb.smg.GetTransactionHistoryRequest.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.qb.smg.GetTransactionHistoryRequest} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.qb.smg.GetTransactionHistoryRequest}\n */\nproto.qb.smg.GetTransactionHistoryRequest.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {number} */ (reader.readUint64());\n      msg.setUserId(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.qb.smg.GetTransactionHistoryRequest.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.qb.smg.GetTransactionHistoryRequest.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.qb.smg.GetTransactionHistoryRequest} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.qb.smg.GetTransactionHistoryRequest.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getUserId();\n  if (f !== 0) {\n    writer.writeUint64(\n      1,\n      f\n    );\n  }\n};\n\n\n/**\n * optional uint64 user_id = 1;\n * @return {number}\n */\nproto.qb.smg.GetTransactionHistoryRequest.prototype.getUserId = function() {\n  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.qb.smg.GetTransactionHistoryRequest} returns this\n */\nproto.qb.smg.GetTransactionHistoryRequest.prototype.setUserId = function(value) {\n  return jspb.Message.setProto3IntField(this, 1, value);\n};\n\n\n\n/**\n * List of repeated fields within this message type.\n * @private {!Array<number>}\n * @const\n */\nproto.qb.smg.GetTransactionHistoryReply.repeatedFields_ = [3];\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.qb.smg.GetTransactionHistoryReply.prototype.toObject = function(opt_includeInstance) {\n  return proto.qb.smg.GetTransactionHistoryReply.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.qb.smg.GetTransactionHistoryReply} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.qb.smg.GetTransactionHistoryReply.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    error: (f = msg.getError()) && proto.qb.smg.Error.toObject(includeInstance, f),\n    success: jspb.Message.getBooleanFieldWithDefault(msg, 2, false),\n    historyList: jspb.Message.toObjectList(msg.getHistoryList(),\n    proto.qb.smg.TransactionHistory.toObject, includeInstance)\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.qb.smg.GetTransactionHistoryReply}\n */\nproto.qb.smg.GetTransactionHistoryReply.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.qb.smg.GetTransactionHistoryReply;\n  return proto.qb.smg.GetTransactionHistoryReply.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.qb.smg.GetTransactionHistoryReply} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.qb.smg.GetTransactionHistoryReply}\n */\nproto.qb.smg.GetTransactionHistoryReply.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = new proto.qb.smg.Error;\n      reader.readMessage(value,proto.qb.smg.Error.deserializeBinaryFromReader);\n      msg.setError(value);\n      break;\n    case 2:\n      var value = /** @type {boolean} */ (reader.readBool());\n      msg.setSuccess(value);\n      break;\n    case 3:\n      var value = new proto.qb.smg.TransactionHistory;\n      reader.readMessage(value,proto.qb.smg.TransactionHistory.deserializeBinaryFromReader);\n      msg.addHistory(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.qb.smg.GetTransactionHistoryReply.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.qb.smg.GetTransactionHistoryReply.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.qb.smg.GetTransactionHistoryReply} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.qb.smg.GetTransactionHistoryReply.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getError();\n  if (f != null) {\n    writer.writeMessage(\n      1,\n      f,\n      proto.qb.smg.Error.serializeBinaryToWriter\n    );\n  }\n  f = message.getSuccess();\n  if (f) {\n    writer.writeBool(\n      2,\n      f\n    );\n  }\n  f = message.getHistoryList();\n  if (f.length > 0) {\n    writer.writeRepeatedMessage(\n      3,\n      f,\n      proto.qb.smg.TransactionHistory.serializeBinaryToWriter\n    );\n  }\n};\n\n\n/**\n * optional Error error = 1;\n * @return {?proto.qb.smg.Error}\n */\nproto.qb.smg.GetTransactionHistoryReply.prototype.getError = function() {\n  return /** @type{?proto.qb.smg.Error} */ (\n    jspb.Message.getWrapperField(this, proto.qb.smg.Error, 1));\n};\n\n\n/**\n * @param {?proto.qb.smg.Error|undefined} value\n * @return {!proto.qb.smg.GetTransactionHistoryReply} returns this\n*/\nproto.qb.smg.GetTransactionHistoryReply.prototype.setError = function(value) {\n  return jspb.Message.setWrapperField(this, 1, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.qb.smg.GetTransactionHistoryReply} returns this\n */\nproto.qb.smg.GetTransactionHistoryReply.prototype.clearError = function() {\n  return this.setError(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.qb.smg.GetTransactionHistoryReply.prototype.hasError = function() {\n  return jspb.Message.getField(this, 1) != null;\n};\n\n\n/**\n * optional bool success = 2;\n * @return {boolean}\n */\nproto.qb.smg.GetTransactionHistoryReply.prototype.getSuccess = function() {\n  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 2, false));\n};\n\n\n/**\n * @param {boolean} value\n * @return {!proto.qb.smg.GetTransactionHistoryReply} returns this\n */\nproto.qb.smg.GetTransactionHistoryReply.prototype.setSuccess = function(value) {\n  return jspb.Message.setProto3BooleanField(this, 2, value);\n};\n\n\n/**\n * repeated TransactionHistory history = 3;\n * @return {!Array<!proto.qb.smg.TransactionHistory>}\n */\nproto.qb.smg.GetTransactionHistoryReply.prototype.getHistoryList = function() {\n  return /** @type{!Array<!proto.qb.smg.TransactionHistory>} */ (\n    jspb.Message.getRepeatedWrapperField(this, proto.qb.smg.TransactionHistory, 3));\n};\n\n\n/**\n * @param {!Array<!proto.qb.smg.TransactionHistory>} value\n * @return {!proto.qb.smg.GetTransactionHistoryReply} returns this\n*/\nproto.qb.smg.GetTransactionHistoryReply.prototype.setHistoryList = function(value) {\n  return jspb.Message.setRepeatedWrapperField(this, 3, value);\n};\n\n\n/**\n * @param {!proto.qb.smg.TransactionHistory=} opt_value\n * @param {number=} opt_index\n * @return {!proto.qb.smg.TransactionHistory}\n */\nproto.qb.smg.GetTransactionHistoryReply.prototype.addHistory = function(opt_value, opt_index) {\n  return jspb.Message.addToRepeatedWrapperField(this, 3, opt_value, proto.qb.smg.TransactionHistory, opt_index);\n};\n\n\n/**\n * Clears the list making it empty but non-null.\n * @return {!proto.qb.smg.GetTransactionHistoryReply} returns this\n */\nproto.qb.smg.GetTransactionHistoryReply.prototype.clearHistoryList = function() {\n  return this.setHistoryList([]);\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.qb.smg.EnableAutoPlayRequest.prototype.toObject = function(opt_includeInstance) {\n  return proto.qb.smg.EnableAutoPlayRequest.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.qb.smg.EnableAutoPlayRequest} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.qb.smg.EnableAutoPlayRequest.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    token: jspb.Message.getFieldWithDefault(msg, 1, \"\"),\n    enabled: jspb.Message.getBooleanFieldWithDefault(msg, 2, false),\n    betamount: jspb.Message.getFieldWithDefault(msg, 3, 0),\n    location: (f = msg.getLocation()) && proto.qb.smg.Location.toObject(includeInstance, f),\n    venueId: jspb.Message.getFieldWithDefault(msg, 102, 0)\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.qb.smg.EnableAutoPlayRequest}\n */\nproto.qb.smg.EnableAutoPlayRequest.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.qb.smg.EnableAutoPlayRequest;\n  return proto.qb.smg.EnableAutoPlayRequest.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.qb.smg.EnableAutoPlayRequest} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.qb.smg.EnableAutoPlayRequest}\n */\nproto.qb.smg.EnableAutoPlayRequest.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setToken(value);\n      break;\n    case 2:\n      var value = /** @type {boolean} */ (reader.readBool());\n      msg.setEnabled(value);\n      break;\n    case 3:\n      var value = /** @type {number} */ (reader.readInt32());\n      msg.setBetamount(value);\n      break;\n    case 101:\n      var value = new proto.qb.smg.Location;\n      reader.readMessage(value,proto.qb.smg.Location.deserializeBinaryFromReader);\n      msg.setLocation(value);\n      break;\n    case 102:\n      var value = /** @type {number} */ (reader.readInt32());\n      msg.setVenueId(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.qb.smg.EnableAutoPlayRequest.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.qb.smg.EnableAutoPlayRequest.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.qb.smg.EnableAutoPlayRequest} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.qb.smg.EnableAutoPlayRequest.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getToken();\n  if (f.length > 0) {\n    writer.writeString(\n      1,\n      f\n    );\n  }\n  f = message.getEnabled();\n  if (f) {\n    writer.writeBool(\n      2,\n      f\n    );\n  }\n  f = message.getBetamount();\n  if (f !== 0) {\n    writer.writeInt32(\n      3,\n      f\n    );\n  }\n  f = message.getLocation();\n  if (f != null) {\n    writer.writeMessage(\n      101,\n      f,\n      proto.qb.smg.Location.serializeBinaryToWriter\n    );\n  }\n  f = message.getVenueId();\n  if (f !== 0) {\n    writer.writeInt32(\n      102,\n      f\n    );\n  }\n};\n\n\n/**\n * optional string token = 1;\n * @return {string}\n */\nproto.qb.smg.EnableAutoPlayRequest.prototype.getToken = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.qb.smg.EnableAutoPlayRequest} returns this\n */\nproto.qb.smg.EnableAutoPlayRequest.prototype.setToken = function(value) {\n  return jspb.Message.setProto3StringField(this, 1, value);\n};\n\n\n/**\n * optional bool enabled = 2;\n * @return {boolean}\n */\nproto.qb.smg.EnableAutoPlayRequest.prototype.getEnabled = function() {\n  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 2, false));\n};\n\n\n/**\n * @param {boolean} value\n * @return {!proto.qb.smg.EnableAutoPlayRequest} returns this\n */\nproto.qb.smg.EnableAutoPlayRequest.prototype.setEnabled = function(value) {\n  return jspb.Message.setProto3BooleanField(this, 2, value);\n};\n\n\n/**\n * optional int32 betAmount = 3;\n * @return {number}\n */\nproto.qb.smg.EnableAutoPlayRequest.prototype.getBetamount = function() {\n  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 3, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.qb.smg.EnableAutoPlayRequest} returns this\n */\nproto.qb.smg.EnableAutoPlayRequest.prototype.setBetamount = function(value) {\n  return jspb.Message.setProto3IntField(this, 3, value);\n};\n\n\n/**\n * optional Location location = 101;\n * @return {?proto.qb.smg.Location}\n */\nproto.qb.smg.EnableAutoPlayRequest.prototype.getLocation = function() {\n  return /** @type{?proto.qb.smg.Location} */ (\n    jspb.Message.getWrapperField(this, proto.qb.smg.Location, 101));\n};\n\n\n/**\n * @param {?proto.qb.smg.Location|undefined} value\n * @return {!proto.qb.smg.EnableAutoPlayRequest} returns this\n*/\nproto.qb.smg.EnableAutoPlayRequest.prototype.setLocation = function(value) {\n  return jspb.Message.setWrapperField(this, 101, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.qb.smg.EnableAutoPlayRequest} returns this\n */\nproto.qb.smg.EnableAutoPlayRequest.prototype.clearLocation = function() {\n  return this.setLocation(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.qb.smg.EnableAutoPlayRequest.prototype.hasLocation = function() {\n  return jspb.Message.getField(this, 101) != null;\n};\n\n\n/**\n * optional int32 venue_id = 102;\n * @return {number}\n */\nproto.qb.smg.EnableAutoPlayRequest.prototype.getVenueId = function() {\n  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 102, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.qb.smg.EnableAutoPlayRequest} returns this\n */\nproto.qb.smg.EnableAutoPlayRequest.prototype.setVenueId = function(value) {\n  return jspb.Message.setProto3IntField(this, 102, value);\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.qb.smg.EnableAutoPlayResponse.prototype.toObject = function(opt_includeInstance) {\n  return proto.qb.smg.EnableAutoPlayResponse.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.qb.smg.EnableAutoPlayResponse} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.qb.smg.EnableAutoPlayResponse.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    error: (f = msg.getError()) && proto.qb.smg.Error.toObject(includeInstance, f),\n    success: jspb.Message.getBooleanFieldWithDefault(msg, 2, false)\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.qb.smg.EnableAutoPlayResponse}\n */\nproto.qb.smg.EnableAutoPlayResponse.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.qb.smg.EnableAutoPlayResponse;\n  return proto.qb.smg.EnableAutoPlayResponse.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.qb.smg.EnableAutoPlayResponse} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.qb.smg.EnableAutoPlayResponse}\n */\nproto.qb.smg.EnableAutoPlayResponse.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = new proto.qb.smg.Error;\n      reader.readMessage(value,proto.qb.smg.Error.deserializeBinaryFromReader);\n      msg.setError(value);\n      break;\n    case 2:\n      var value = /** @type {boolean} */ (reader.readBool());\n      msg.setSuccess(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.qb.smg.EnableAutoPlayResponse.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.qb.smg.EnableAutoPlayResponse.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.qb.smg.EnableAutoPlayResponse} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.qb.smg.EnableAutoPlayResponse.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getError();\n  if (f != null) {\n    writer.writeMessage(\n      1,\n      f,\n      proto.qb.smg.Error.serializeBinaryToWriter\n    );\n  }\n  f = message.getSuccess();\n  if (f) {\n    writer.writeBool(\n      2,\n      f\n    );\n  }\n};\n\n\n/**\n * optional Error error = 1;\n * @return {?proto.qb.smg.Error}\n */\nproto.qb.smg.EnableAutoPlayResponse.prototype.getError = function() {\n  return /** @type{?proto.qb.smg.Error} */ (\n    jspb.Message.getWrapperField(this, proto.qb.smg.Error, 1));\n};\n\n\n/**\n * @param {?proto.qb.smg.Error|undefined} value\n * @return {!proto.qb.smg.EnableAutoPlayResponse} returns this\n*/\nproto.qb.smg.EnableAutoPlayResponse.prototype.setError = function(value) {\n  return jspb.Message.setWrapperField(this, 1, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.qb.smg.EnableAutoPlayResponse} returns this\n */\nproto.qb.smg.EnableAutoPlayResponse.prototype.clearError = function() {\n  return this.setError(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.qb.smg.EnableAutoPlayResponse.prototype.hasError = function() {\n  return jspb.Message.getField(this, 1) != null;\n};\n\n\n/**\n * optional bool success = 2;\n * @return {boolean}\n */\nproto.qb.smg.EnableAutoPlayResponse.prototype.getSuccess = function() {\n  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 2, false));\n};\n\n\n/**\n * @param {boolean} value\n * @return {!proto.qb.smg.EnableAutoPlayResponse} returns this\n */\nproto.qb.smg.EnableAutoPlayResponse.prototype.setSuccess = function(value) {\n  return jspb.Message.setProto3BooleanField(this, 2, value);\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.qb.smg.Challenge.prototype.toObject = function(opt_includeInstance) {\n  return proto.qb.smg.Challenge.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.qb.smg.Challenge} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.qb.smg.Challenge.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    challengeId: jspb.Message.getFieldWithDefault(msg, 1, 0),\n    sequence: jspb.Message.getFieldWithDefault(msg, 2, 0),\n    challengeType: jspb.Message.getFieldWithDefault(msg, 3, \"\"),\n    challengeSubType: jspb.Message.getFieldWithDefault(msg, 4, \"\"),\n    challengeState: jspb.Message.getFieldWithDefault(msg, 5, \"\"),\n    outcome: jspb.Message.getFieldWithDefault(msg, 6, \"\"),\n    userId: jspb.Message.getFieldWithDefault(msg, 7, 0),\n    hitId: jspb.Message.getFieldWithDefault(msg, 8, 0),\n    value1: jspb.Message.getFieldWithDefault(msg, 9, 0),\n    value2: jspb.Message.getFieldWithDefault(msg, 10, 0),\n    value3: jspb.Message.getFieldWithDefault(msg, 11, 0),\n    totalAttempts: jspb.Message.getFieldWithDefault(msg, 12, 0),\n    attemptsRemaining: jspb.Message.getFieldWithDefault(msg, 13, 0),\n    createdOn: jspb.Message.getFieldWithDefault(msg, 14, 0),\n    resolvedOn: jspb.Message.getFieldWithDefault(msg, 15, 0),\n    odds: jspb.Message.getFieldWithDefault(msg, 16, \"\"),\n    distance: jspb.Message.getFieldWithDefault(msg, 17, \"\"),\n    validtill: jspb.Message.getFieldWithDefault(msg, 18, \"\"),\n    description: jspb.Message.getFieldWithDefault(msg, 19, \"\"),\n    acceptedOn: jspb.Message.getFieldWithDefault(msg, 20, 0)\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.qb.smg.Challenge}\n */\nproto.qb.smg.Challenge.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.qb.smg.Challenge;\n  return proto.qb.smg.Challenge.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.qb.smg.Challenge} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.qb.smg.Challenge}\n */\nproto.qb.smg.Challenge.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {number} */ (reader.readInt64());\n      msg.setChallengeId(value);\n      break;\n    case 2:\n      var value = /** @type {number} */ (reader.readInt32());\n      msg.setSequence(value);\n      break;\n    case 3:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setChallengeType(value);\n      break;\n    case 4:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setChallengeSubType(value);\n      break;\n    case 5:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setChallengeState(value);\n      break;\n    case 6:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setOutcome(value);\n      break;\n    case 7:\n      var value = /** @type {number} */ (reader.readInt64());\n      msg.setUserId(value);\n      break;\n    case 8:\n      var value = /** @type {number} */ (reader.readInt64());\n      msg.setHitId(value);\n      break;\n    case 9:\n      var value = /** @type {number} */ (reader.readInt64());\n      msg.setValue1(value);\n      break;\n    case 10:\n      var value = /** @type {number} */ (reader.readInt64());\n      msg.setValue2(value);\n      break;\n    case 11:\n      var value = /** @type {number} */ (reader.readInt64());\n      msg.setValue3(value);\n      break;\n    case 12:\n      var value = /** @type {number} */ (reader.readInt32());\n      msg.setTotalAttempts(value);\n      break;\n    case 13:\n      var value = /** @type {number} */ (reader.readInt32());\n      msg.setAttemptsRemaining(value);\n      break;\n    case 14:\n      var value = /** @type {number} */ (reader.readInt64());\n      msg.setCreatedOn(value);\n      break;\n    case 15:\n      var value = /** @type {number} */ (reader.readInt64());\n      msg.setResolvedOn(value);\n      break;\n    case 16:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setOdds(value);\n      break;\n    case 17:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setDistance(value);\n      break;\n    case 18:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setValidtill(value);\n      break;\n    case 19:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setDescription(value);\n      break;\n    case 20:\n      var value = /** @type {number} */ (reader.readInt64());\n      msg.setAcceptedOn(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.qb.smg.Challenge.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.qb.smg.Challenge.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.qb.smg.Challenge} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.qb.smg.Challenge.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getChallengeId();\n  if (f !== 0) {\n    writer.writeInt64(\n      1,\n      f\n    );\n  }\n  f = message.getSequence();\n  if (f !== 0) {\n    writer.writeInt32(\n      2,\n      f\n    );\n  }\n  f = message.getChallengeType();\n  if (f.length > 0) {\n    writer.writeString(\n      3,\n      f\n    );\n  }\n  f = message.getChallengeSubType();\n  if (f.length > 0) {\n    writer.writeString(\n      4,\n      f\n    );\n  }\n  f = message.getChallengeState();\n  if (f.length > 0) {\n    writer.writeString(\n      5,\n      f\n    );\n  }\n  f = message.getOutcome();\n  if (f.length > 0) {\n    writer.writeString(\n      6,\n      f\n    );\n  }\n  f = message.getUserId();\n  if (f !== 0) {\n    writer.writeInt64(\n      7,\n      f\n    );\n  }\n  f = message.getHitId();\n  if (f !== 0) {\n    writer.writeInt64(\n      8,\n      f\n    );\n  }\n  f = message.getValue1();\n  if (f !== 0) {\n    writer.writeInt64(\n      9,\n      f\n    );\n  }\n  f = message.getValue2();\n  if (f !== 0) {\n    writer.writeInt64(\n      10,\n      f\n    );\n  }\n  f = message.getValue3();\n  if (f !== 0) {\n    writer.writeInt64(\n      11,\n      f\n    );\n  }\n  f = message.getTotalAttempts();\n  if (f !== 0) {\n    writer.writeInt32(\n      12,\n      f\n    );\n  }\n  f = message.getAttemptsRemaining();\n  if (f !== 0) {\n    writer.writeInt32(\n      13,\n      f\n    );\n  }\n  f = message.getCreatedOn();\n  if (f !== 0) {\n    writer.writeInt64(\n      14,\n      f\n    );\n  }\n  f = message.getResolvedOn();\n  if (f !== 0) {\n    writer.writeInt64(\n      15,\n      f\n    );\n  }\n  f = message.getOdds();\n  if (f.length > 0) {\n    writer.writeString(\n      16,\n      f\n    );\n  }\n  f = message.getDistance();\n  if (f.length > 0) {\n    writer.writeString(\n      17,\n      f\n    );\n  }\n  f = message.getValidtill();\n  if (f.length > 0) {\n    writer.writeString(\n      18,\n      f\n    );\n  }\n  f = message.getDescription();\n  if (f.length > 0) {\n    writer.writeString(\n      19,\n      f\n    );\n  }\n  f = message.getAcceptedOn();\n  if (f !== 0) {\n    writer.writeInt64(\n      20,\n      f\n    );\n  }\n};\n\n\n/**\n * optional int64 challenge_id = 1;\n * @return {number}\n */\nproto.qb.smg.Challenge.prototype.getChallengeId = function() {\n  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.qb.smg.Challenge} returns this\n */\nproto.qb.smg.Challenge.prototype.setChallengeId = function(value) {\n  return jspb.Message.setProto3IntField(this, 1, value);\n};\n\n\n/**\n * optional int32 sequence = 2;\n * @return {number}\n */\nproto.qb.smg.Challenge.prototype.getSequence = function() {\n  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 2, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.qb.smg.Challenge} returns this\n */\nproto.qb.smg.Challenge.prototype.setSequence = function(value) {\n  return jspb.Message.setProto3IntField(this, 2, value);\n};\n\n\n/**\n * optional string challenge_type = 3;\n * @return {string}\n */\nproto.qb.smg.Challenge.prototype.getChallengeType = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 3, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.qb.smg.Challenge} returns this\n */\nproto.qb.smg.Challenge.prototype.setChallengeType = function(value) {\n  return jspb.Message.setProto3StringField(this, 3, value);\n};\n\n\n/**\n * optional string challenge_sub_type = 4;\n * @return {string}\n */\nproto.qb.smg.Challenge.prototype.getChallengeSubType = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 4, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.qb.smg.Challenge} returns this\n */\nproto.qb.smg.Challenge.prototype.setChallengeSubType = function(value) {\n  return jspb.Message.setProto3StringField(this, 4, value);\n};\n\n\n/**\n * optional string challenge_state = 5;\n * @return {string}\n */\nproto.qb.smg.Challenge.prototype.getChallengeState = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 5, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.qb.smg.Challenge} returns this\n */\nproto.qb.smg.Challenge.prototype.setChallengeState = function(value) {\n  return jspb.Message.setProto3StringField(this, 5, value);\n};\n\n\n/**\n * optional string outcome = 6;\n * @return {string}\n */\nproto.qb.smg.Challenge.prototype.getOutcome = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 6, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.qb.smg.Challenge} returns this\n */\nproto.qb.smg.Challenge.prototype.setOutcome = function(value) {\n  return jspb.Message.setProto3StringField(this, 6, value);\n};\n\n\n/**\n * optional int64 user_id = 7;\n * @return {number}\n */\nproto.qb.smg.Challenge.prototype.getUserId = function() {\n  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 7, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.qb.smg.Challenge} returns this\n */\nproto.qb.smg.Challenge.prototype.setUserId = function(value) {\n  return jspb.Message.setProto3IntField(this, 7, value);\n};\n\n\n/**\n * optional int64 hit_id = 8;\n * @return {number}\n */\nproto.qb.smg.Challenge.prototype.getHitId = function() {\n  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 8, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.qb.smg.Challenge} returns this\n */\nproto.qb.smg.Challenge.prototype.setHitId = function(value) {\n  return jspb.Message.setProto3IntField(this, 8, value);\n};\n\n\n/**\n * optional int64 value1 = 9;\n * @return {number}\n */\nproto.qb.smg.Challenge.prototype.getValue1 = function() {\n  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 9, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.qb.smg.Challenge} returns this\n */\nproto.qb.smg.Challenge.prototype.setValue1 = function(value) {\n  return jspb.Message.setProto3IntField(this, 9, value);\n};\n\n\n/**\n * optional int64 value2 = 10;\n * @return {number}\n */\nproto.qb.smg.Challenge.prototype.getValue2 = function() {\n  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 10, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.qb.smg.Challenge} returns this\n */\nproto.qb.smg.Challenge.prototype.setValue2 = function(value) {\n  return jspb.Message.setProto3IntField(this, 10, value);\n};\n\n\n/**\n * optional int64 value3 = 11;\n * @return {number}\n */\nproto.qb.smg.Challenge.prototype.getValue3 = function() {\n  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 11, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.qb.smg.Challenge} returns this\n */\nproto.qb.smg.Challenge.prototype.setValue3 = function(value) {\n  return jspb.Message.setProto3IntField(this, 11, value);\n};\n\n\n/**\n * optional int32 total_attempts = 12;\n * @return {number}\n */\nproto.qb.smg.Challenge.prototype.getTotalAttempts = function() {\n  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 12, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.qb.smg.Challenge} returns this\n */\nproto.qb.smg.Challenge.prototype.setTotalAttempts = function(value) {\n  return jspb.Message.setProto3IntField(this, 12, value);\n};\n\n\n/**\n * optional int32 attempts_remaining = 13;\n * @return {number}\n */\nproto.qb.smg.Challenge.prototype.getAttemptsRemaining = function() {\n  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 13, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.qb.smg.Challenge} returns this\n */\nproto.qb.smg.Challenge.prototype.setAttemptsRemaining = function(value) {\n  return jspb.Message.setProto3IntField(this, 13, value);\n};\n\n\n/**\n * optional int64 created_on = 14;\n * @return {number}\n */\nproto.qb.smg.Challenge.prototype.getCreatedOn = function() {\n  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 14, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.qb.smg.Challenge} returns this\n */\nproto.qb.smg.Challenge.prototype.setCreatedOn = function(value) {\n  return jspb.Message.setProto3IntField(this, 14, value);\n};\n\n\n/**\n * optional int64 resolved_on = 15;\n * @return {number}\n */\nproto.qb.smg.Challenge.prototype.getResolvedOn = function() {\n  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 15, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.qb.smg.Challenge} returns this\n */\nproto.qb.smg.Challenge.prototype.setResolvedOn = function(value) {\n  return jspb.Message.setProto3IntField(this, 15, value);\n};\n\n\n/**\n * optional string odds = 16;\n * @return {string}\n */\nproto.qb.smg.Challenge.prototype.getOdds = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 16, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.qb.smg.Challenge} returns this\n */\nproto.qb.smg.Challenge.prototype.setOdds = function(value) {\n  return jspb.Message.setProto3StringField(this, 16, value);\n};\n\n\n/**\n * optional string distance = 17;\n * @return {string}\n */\nproto.qb.smg.Challenge.prototype.getDistance = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 17, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.qb.smg.Challenge} returns this\n */\nproto.qb.smg.Challenge.prototype.setDistance = function(value) {\n  return jspb.Message.setProto3StringField(this, 17, value);\n};\n\n\n/**\n * optional string validTill = 18;\n * @return {string}\n */\nproto.qb.smg.Challenge.prototype.getValidtill = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 18, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.qb.smg.Challenge} returns this\n */\nproto.qb.smg.Challenge.prototype.setValidtill = function(value) {\n  return jspb.Message.setProto3StringField(this, 18, value);\n};\n\n\n/**\n * optional string description = 19;\n * @return {string}\n */\nproto.qb.smg.Challenge.prototype.getDescription = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 19, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.qb.smg.Challenge} returns this\n */\nproto.qb.smg.Challenge.prototype.setDescription = function(value) {\n  return jspb.Message.setProto3StringField(this, 19, value);\n};\n\n\n/**\n * optional int64 accepted_on = 20;\n * @return {number}\n */\nproto.qb.smg.Challenge.prototype.getAcceptedOn = function() {\n  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 20, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.qb.smg.Challenge} returns this\n */\nproto.qb.smg.Challenge.prototype.setAcceptedOn = function(value) {\n  return jspb.Message.setProto3IntField(this, 20, value);\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.qb.smg.Golf2Challenge.prototype.toObject = function(opt_includeInstance) {\n  return proto.qb.smg.Golf2Challenge.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.qb.smg.Golf2Challenge} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.qb.smg.Golf2Challenge.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    challengeId: jspb.Message.getFieldWithDefault(msg, 1, 0),\n    gamedetails: (f = msg.getGamedetails()) && proto.qb.smg.Golf2GameDetails.toObject(includeInstance, f),\n    multiplier: jspb.Message.getFloatingPointFieldWithDefault(msg, 3, 0.0),\n    outcome: jspb.Message.getFieldWithDefault(msg, 4, \"\"),\n    userId: jspb.Message.getFieldWithDefault(msg, 5, 0),\n    createdOn: jspb.Message.getFieldWithDefault(msg, 7, 0),\n    resolvedOn: jspb.Message.getFieldWithDefault(msg, 8, 0),\n    acceptedOn: jspb.Message.getFieldWithDefault(msg, 9, 0),\n    level: jspb.Message.getFieldWithDefault(msg, 10, 0)\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.qb.smg.Golf2Challenge}\n */\nproto.qb.smg.Golf2Challenge.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.qb.smg.Golf2Challenge;\n  return proto.qb.smg.Golf2Challenge.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.qb.smg.Golf2Challenge} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.qb.smg.Golf2Challenge}\n */\nproto.qb.smg.Golf2Challenge.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {number} */ (reader.readInt64());\n      msg.setChallengeId(value);\n      break;\n    case 2:\n      var value = new proto.qb.smg.Golf2GameDetails;\n      reader.readMessage(value,proto.qb.smg.Golf2GameDetails.deserializeBinaryFromReader);\n      msg.setGamedetails(value);\n      break;\n    case 3:\n      var value = /** @type {number} */ (reader.readFloat());\n      msg.setMultiplier(value);\n      break;\n    case 4:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setOutcome(value);\n      break;\n    case 5:\n      var value = /** @type {number} */ (reader.readInt64());\n      msg.setUserId(value);\n      break;\n    case 7:\n      var value = /** @type {number} */ (reader.readInt64());\n      msg.setCreatedOn(value);\n      break;\n    case 8:\n      var value = /** @type {number} */ (reader.readInt64());\n      msg.setResolvedOn(value);\n      break;\n    case 9:\n      var value = /** @type {number} */ (reader.readInt64());\n      msg.setAcceptedOn(value);\n      break;\n    case 10:\n      var value = /** @type {!proto.qb.smg.Golf2Challenge.Golf2ChallengeLevel} */ (reader.readEnum());\n      msg.setLevel(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.qb.smg.Golf2Challenge.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.qb.smg.Golf2Challenge.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.qb.smg.Golf2Challenge} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.qb.smg.Golf2Challenge.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getChallengeId();\n  if (f !== 0) {\n    writer.writeInt64(\n      1,\n      f\n    );\n  }\n  f = message.getGamedetails();\n  if (f != null) {\n    writer.writeMessage(\n      2,\n      f,\n      proto.qb.smg.Golf2GameDetails.serializeBinaryToWriter\n    );\n  }\n  f = message.getMultiplier();\n  if (f !== 0.0) {\n    writer.writeFloat(\n      3,\n      f\n    );\n  }\n  f = message.getOutcome();\n  if (f.length > 0) {\n    writer.writeString(\n      4,\n      f\n    );\n  }\n  f = message.getUserId();\n  if (f !== 0) {\n    writer.writeInt64(\n      5,\n      f\n    );\n  }\n  f = message.getCreatedOn();\n  if (f !== 0) {\n    writer.writeInt64(\n      7,\n      f\n    );\n  }\n  f = message.getResolvedOn();\n  if (f !== 0) {\n    writer.writeInt64(\n      8,\n      f\n    );\n  }\n  f = message.getAcceptedOn();\n  if (f !== 0) {\n    writer.writeInt64(\n      9,\n      f\n    );\n  }\n  f = message.getLevel();\n  if (f !== 0.0) {\n    writer.writeEnum(\n      10,\n      f\n    );\n  }\n};\n\n\n/**\n * @enum {number}\n */\nproto.qb.smg.Golf2Challenge.Golf2ChallengeLevel = {\n  EASY: 0,\n  MEDIUM: 1,\n  HARD: 2\n};\n\n/**\n * optional int64 challenge_id = 1;\n * @return {number}\n */\nproto.qb.smg.Golf2Challenge.prototype.getChallengeId = function() {\n  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.qb.smg.Golf2Challenge} returns this\n */\nproto.qb.smg.Golf2Challenge.prototype.setChallengeId = function(value) {\n  return jspb.Message.setProto3IntField(this, 1, value);\n};\n\n\n/**\n * optional Golf2GameDetails gameDetails = 2;\n * @return {?proto.qb.smg.Golf2GameDetails}\n */\nproto.qb.smg.Golf2Challenge.prototype.getGamedetails = function() {\n  return /** @type{?proto.qb.smg.Golf2GameDetails} */ (\n    jspb.Message.getWrapperField(this, proto.qb.smg.Golf2GameDetails, 2));\n};\n\n\n/**\n * @param {?proto.qb.smg.Golf2GameDetails|undefined} value\n * @return {!proto.qb.smg.Golf2Challenge} returns this\n*/\nproto.qb.smg.Golf2Challenge.prototype.setGamedetails = function(value) {\n  return jspb.Message.setWrapperField(this, 2, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.qb.smg.Golf2Challenge} returns this\n */\nproto.qb.smg.Golf2Challenge.prototype.clearGamedetails = function() {\n  return this.setGamedetails(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.qb.smg.Golf2Challenge.prototype.hasGamedetails = function() {\n  return jspb.Message.getField(this, 2) != null;\n};\n\n\n/**\n * optional float multiplier = 3;\n * @return {number}\n */\nproto.qb.smg.Golf2Challenge.prototype.getMultiplier = function() {\n  return /** @type {number} */ (jspb.Message.getFloatingPointFieldWithDefault(this, 3, 0.0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.qb.smg.Golf2Challenge} returns this\n */\nproto.qb.smg.Golf2Challenge.prototype.setMultiplier = function(value) {\n  return jspb.Message.setProto3FloatField(this, 3, value);\n};\n\n\n/**\n * optional string outcome = 4;\n * @return {string}\n */\nproto.qb.smg.Golf2Challenge.prototype.getOutcome = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 4, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.qb.smg.Golf2Challenge} returns this\n */\nproto.qb.smg.Golf2Challenge.prototype.setOutcome = function(value) {\n  return jspb.Message.setProto3StringField(this, 4, value);\n};\n\n\n/**\n * optional int64 user_id = 5;\n * @return {number}\n */\nproto.qb.smg.Golf2Challenge.prototype.getUserId = function() {\n  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 5, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.qb.smg.Golf2Challenge} returns this\n */\nproto.qb.smg.Golf2Challenge.prototype.setUserId = function(value) {\n  return jspb.Message.setProto3IntField(this, 5, value);\n};\n\n\n/**\n * optional int64 created_on = 7;\n * @return {number}\n */\nproto.qb.smg.Golf2Challenge.prototype.getCreatedOn = function() {\n  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 7, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.qb.smg.Golf2Challenge} returns this\n */\nproto.qb.smg.Golf2Challenge.prototype.setCreatedOn = function(value) {\n  return jspb.Message.setProto3IntField(this, 7, value);\n};\n\n\n/**\n * optional int64 resolved_on = 8;\n * @return {number}\n */\nproto.qb.smg.Golf2Challenge.prototype.getResolvedOn = function() {\n  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 8, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.qb.smg.Golf2Challenge} returns this\n */\nproto.qb.smg.Golf2Challenge.prototype.setResolvedOn = function(value) {\n  return jspb.Message.setProto3IntField(this, 8, value);\n};\n\n\n/**\n * optional int64 accepted_on = 9;\n * @return {number}\n */\nproto.qb.smg.Golf2Challenge.prototype.getAcceptedOn = function() {\n  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 9, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.qb.smg.Golf2Challenge} returns this\n */\nproto.qb.smg.Golf2Challenge.prototype.setAcceptedOn = function(value) {\n  return jspb.Message.setProto3IntField(this, 9, value);\n};\n\n\n/**\n * optional Golf2ChallengeLevel level = 10;\n * @return {!proto.qb.smg.Golf2Challenge.Golf2ChallengeLevel}\n */\nproto.qb.smg.Golf2Challenge.prototype.getLevel = function() {\n  return /** @type {!proto.qb.smg.Golf2Challenge.Golf2ChallengeLevel} */ (jspb.Message.getFieldWithDefault(this, 10, 0));\n};\n\n\n/**\n * @param {!proto.qb.smg.Golf2Challenge.Golf2ChallengeLevel} value\n * @return {!proto.qb.smg.Golf2Challenge} returns this\n */\nproto.qb.smg.Golf2Challenge.prototype.setLevel = function(value) {\n  return jspb.Message.setProto3EnumField(this, 10, value);\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.qb.smg.Golf2GameGreen.prototype.toObject = function(opt_includeInstance) {\n  return proto.qb.smg.Golf2GameGreen.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.qb.smg.Golf2GameGreen} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.qb.smg.Golf2GameGreen.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    greenId: jspb.Message.getFieldWithDefault(msg, 1, 0),\n    range: jspb.Message.getFieldWithDefault(msg, 2, 0),\n    rangeExplanation: jspb.Message.getFieldWithDefault(msg, 3, \"\"),\n    shape: jspb.Message.getFieldWithDefault(msg, 4, \"\")\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.qb.smg.Golf2GameGreen}\n */\nproto.qb.smg.Golf2GameGreen.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.qb.smg.Golf2GameGreen;\n  return proto.qb.smg.Golf2GameGreen.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.qb.smg.Golf2GameGreen} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.qb.smg.Golf2GameGreen}\n */\nproto.qb.smg.Golf2GameGreen.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {number} */ (reader.readInt32());\n      msg.setGreenId(value);\n      break;\n    case 2:\n      var value = /** @type {number} */ (reader.readInt32());\n      msg.setRange(value);\n      break;\n    case 3:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setRangeExplanation(value);\n      break;\n    case 4:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setShape(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.qb.smg.Golf2GameGreen.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.qb.smg.Golf2GameGreen.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.qb.smg.Golf2GameGreen} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.qb.smg.Golf2GameGreen.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getGreenId();\n  if (f !== 0) {\n    writer.writeInt32(\n      1,\n      f\n    );\n  }\n  f = message.getRange();\n  if (f !== 0) {\n    writer.writeInt32(\n      2,\n      f\n    );\n  }\n  f = message.getRangeExplanation();\n  if (f.length > 0) {\n    writer.writeString(\n      3,\n      f\n    );\n  }\n  f = message.getShape();\n  if (f.length > 0) {\n    writer.writeString(\n      4,\n      f\n    );\n  }\n};\n\n\n/**\n * optional int32 green_id = 1;\n * @return {number}\n */\nproto.qb.smg.Golf2GameGreen.prototype.getGreenId = function() {\n  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.qb.smg.Golf2GameGreen} returns this\n */\nproto.qb.smg.Golf2GameGreen.prototype.setGreenId = function(value) {\n  return jspb.Message.setProto3IntField(this, 1, value);\n};\n\n\n/**\n * optional int32 range = 2;\n * @return {number}\n */\nproto.qb.smg.Golf2GameGreen.prototype.getRange = function() {\n  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 2, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.qb.smg.Golf2GameGreen} returns this\n */\nproto.qb.smg.Golf2GameGreen.prototype.setRange = function(value) {\n  return jspb.Message.setProto3IntField(this, 2, value);\n};\n\n\n/**\n * optional string range_explanation = 3;\n * @return {string}\n */\nproto.qb.smg.Golf2GameGreen.prototype.getRangeExplanation = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 3, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.qb.smg.Golf2GameGreen} returns this\n */\nproto.qb.smg.Golf2GameGreen.prototype.setRangeExplanation = function(value) {\n  return jspb.Message.setProto3StringField(this, 3, value);\n};\n\n\n/**\n * optional string shape = 4;\n * @return {string}\n */\nproto.qb.smg.Golf2GameGreen.prototype.getShape = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 4, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.qb.smg.Golf2GameGreen} returns this\n */\nproto.qb.smg.Golf2GameGreen.prototype.setShape = function(value) {\n  return jspb.Message.setProto3StringField(this, 4, value);\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.qb.smg.Golf2GameHole.prototype.toObject = function(opt_includeInstance) {\n  return proto.qb.smg.Golf2GameHole.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.qb.smg.Golf2GameHole} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.qb.smg.Golf2GameHole.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    holeId: jspb.Message.getFieldWithDefault(msg, 1, 0),\n    difficulty: jspb.Message.getFieldWithDefault(msg, 2, 0),\n    difficultyExplanation: jspb.Message.getFieldWithDefault(msg, 3, \"\"),\n    distance: jspb.Message.getFieldWithDefault(msg, 4, 0)\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.qb.smg.Golf2GameHole}\n */\nproto.qb.smg.Golf2GameHole.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.qb.smg.Golf2GameHole;\n  return proto.qb.smg.Golf2GameHole.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.qb.smg.Golf2GameHole} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.qb.smg.Golf2GameHole}\n */\nproto.qb.smg.Golf2GameHole.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {number} */ (reader.readInt32());\n      msg.setHoleId(value);\n      break;\n    case 2:\n      var value = /** @type {number} */ (reader.readInt32());\n      msg.setDifficulty(value);\n      break;\n    case 3:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setDifficultyExplanation(value);\n      break;\n    case 4:\n      var value = /** @type {number} */ (reader.readInt32());\n      msg.setDistance(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.qb.smg.Golf2GameHole.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.qb.smg.Golf2GameHole.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.qb.smg.Golf2GameHole} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.qb.smg.Golf2GameHole.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getHoleId();\n  if (f !== 0) {\n    writer.writeInt32(\n      1,\n      f\n    );\n  }\n  f = message.getDifficulty();\n  if (f !== 0) {\n    writer.writeInt32(\n      2,\n      f\n    );\n  }\n  f = message.getDifficultyExplanation();\n  if (f.length > 0) {\n    writer.writeString(\n      3,\n      f\n    );\n  }\n  f = message.getDistance();\n  if (f !== 0) {\n    writer.writeInt32(\n      4,\n      f\n    );\n  }\n};\n\n\n/**\n * optional int32 hole_id = 1;\n * @return {number}\n */\nproto.qb.smg.Golf2GameHole.prototype.getHoleId = function() {\n  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.qb.smg.Golf2GameHole} returns this\n */\nproto.qb.smg.Golf2GameHole.prototype.setHoleId = function(value) {\n  return jspb.Message.setProto3IntField(this, 1, value);\n};\n\n\n/**\n * optional int32 difficulty = 2;\n * @return {number}\n */\nproto.qb.smg.Golf2GameHole.prototype.getDifficulty = function() {\n  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 2, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.qb.smg.Golf2GameHole} returns this\n */\nproto.qb.smg.Golf2GameHole.prototype.setDifficulty = function(value) {\n  return jspb.Message.setProto3IntField(this, 2, value);\n};\n\n\n/**\n * optional string difficulty_explanation = 3;\n * @return {string}\n */\nproto.qb.smg.Golf2GameHole.prototype.getDifficultyExplanation = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 3, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.qb.smg.Golf2GameHole} returns this\n */\nproto.qb.smg.Golf2GameHole.prototype.setDifficultyExplanation = function(value) {\n  return jspb.Message.setProto3StringField(this, 3, value);\n};\n\n\n/**\n * optional int32 distance = 4;\n * @return {number}\n */\nproto.qb.smg.Golf2GameHole.prototype.getDistance = function() {\n  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 4, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.qb.smg.Golf2GameHole} returns this\n */\nproto.qb.smg.Golf2GameHole.prototype.setDistance = function(value) {\n  return jspb.Message.setProto3IntField(this, 4, value);\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.qb.smg.Golf2GameCircle.prototype.toObject = function(opt_includeInstance) {\n  return proto.qb.smg.Golf2GameCircle.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.qb.smg.Golf2GameCircle} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.qb.smg.Golf2GameCircle.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    circleId: jspb.Message.getFieldWithDefault(msg, 1, 0),\n    winCircleDistance: jspb.Message.getFieldWithDefault(msg, 2, 0)\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.qb.smg.Golf2GameCircle}\n */\nproto.qb.smg.Golf2GameCircle.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.qb.smg.Golf2GameCircle;\n  return proto.qb.smg.Golf2GameCircle.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.qb.smg.Golf2GameCircle} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.qb.smg.Golf2GameCircle}\n */\nproto.qb.smg.Golf2GameCircle.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {number} */ (reader.readInt32());\n      msg.setCircleId(value);\n      break;\n    case 2:\n      var value = /** @type {number} */ (reader.readInt32());\n      msg.setWinCircleDistance(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.qb.smg.Golf2GameCircle.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.qb.smg.Golf2GameCircle.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.qb.smg.Golf2GameCircle} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.qb.smg.Golf2GameCircle.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getCircleId();\n  if (f !== 0) {\n    writer.writeInt32(\n      1,\n      f\n    );\n  }\n  f = message.getWinCircleDistance();\n  if (f !== 0) {\n    writer.writeInt32(\n      2,\n      f\n    );\n  }\n};\n\n\n/**\n * optional int32 circle_id = 1;\n * @return {number}\n */\nproto.qb.smg.Golf2GameCircle.prototype.getCircleId = function() {\n  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.qb.smg.Golf2GameCircle} returns this\n */\nproto.qb.smg.Golf2GameCircle.prototype.setCircleId = function(value) {\n  return jspb.Message.setProto3IntField(this, 1, value);\n};\n\n\n/**\n * optional int32 win_circle_distance = 2;\n * @return {number}\n */\nproto.qb.smg.Golf2GameCircle.prototype.getWinCircleDistance = function() {\n  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 2, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.qb.smg.Golf2GameCircle} returns this\n */\nproto.qb.smg.Golf2GameCircle.prototype.setWinCircleDistance = function(value) {\n  return jspb.Message.setProto3IntField(this, 2, value);\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.qb.smg.Golf2GameDetails.prototype.toObject = function(opt_includeInstance) {\n  return proto.qb.smg.Golf2GameDetails.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.qb.smg.Golf2GameDetails} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.qb.smg.Golf2GameDetails.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    green: (f = msg.getGreen()) && proto.qb.smg.Golf2GameGreen.toObject(includeInstance, f),\n    hole: (f = msg.getHole()) && proto.qb.smg.Golf2GameHole.toObject(includeInstance, f),\n    circle: (f = msg.getCircle()) && proto.qb.smg.Golf2GameCircle.toObject(includeInstance, f),\n    targetLevel: jspb.Message.getFieldWithDefault(msg, 4, 0)\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.qb.smg.Golf2GameDetails}\n */\nproto.qb.smg.Golf2GameDetails.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.qb.smg.Golf2GameDetails;\n  return proto.qb.smg.Golf2GameDetails.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.qb.smg.Golf2GameDetails} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.qb.smg.Golf2GameDetails}\n */\nproto.qb.smg.Golf2GameDetails.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = new proto.qb.smg.Golf2GameGreen;\n      reader.readMessage(value,proto.qb.smg.Golf2GameGreen.deserializeBinaryFromReader);\n      msg.setGreen(value);\n      break;\n    case 2:\n      var value = new proto.qb.smg.Golf2GameHole;\n      reader.readMessage(value,proto.qb.smg.Golf2GameHole.deserializeBinaryFromReader);\n      msg.setHole(value);\n      break;\n    case 3:\n      var value = new proto.qb.smg.Golf2GameCircle;\n      reader.readMessage(value,proto.qb.smg.Golf2GameCircle.deserializeBinaryFromReader);\n      msg.setCircle(value);\n      break;\n    case 4:\n      var value = /** @type {number} */ (reader.readInt32());\n      msg.setTargetLevel(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.qb.smg.Golf2GameDetails.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.qb.smg.Golf2GameDetails.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.qb.smg.Golf2GameDetails} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.qb.smg.Golf2GameDetails.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getGreen();\n  if (f != null) {\n    writer.writeMessage(\n      1,\n      f,\n      proto.qb.smg.Golf2GameGreen.serializeBinaryToWriter\n    );\n  }\n  f = message.getHole();\n  if (f != null) {\n    writer.writeMessage(\n      2,\n      f,\n      proto.qb.smg.Golf2GameHole.serializeBinaryToWriter\n    );\n  }\n  f = message.getCircle();\n  if (f != null) {\n    writer.writeMessage(\n      3,\n      f,\n      proto.qb.smg.Golf2GameCircle.serializeBinaryToWriter\n    );\n  }\n  f = message.getTargetLevel();\n  if (f !== 0) {\n    writer.writeInt32(\n      4,\n      f\n    );\n  }\n};\n\n\n/**\n * optional Golf2GameGreen green = 1;\n * @return {?proto.qb.smg.Golf2GameGreen}\n */\nproto.qb.smg.Golf2GameDetails.prototype.getGreen = function() {\n  return /** @type{?proto.qb.smg.Golf2GameGreen} */ (\n    jspb.Message.getWrapperField(this, proto.qb.smg.Golf2GameGreen, 1));\n};\n\n\n/**\n * @param {?proto.qb.smg.Golf2GameGreen|undefined} value\n * @return {!proto.qb.smg.Golf2GameDetails} returns this\n*/\nproto.qb.smg.Golf2GameDetails.prototype.setGreen = function(value) {\n  return jspb.Message.setWrapperField(this, 1, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.qb.smg.Golf2GameDetails} returns this\n */\nproto.qb.smg.Golf2GameDetails.prototype.clearGreen = function() {\n  return this.setGreen(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.qb.smg.Golf2GameDetails.prototype.hasGreen = function() {\n  return jspb.Message.getField(this, 1) != null;\n};\n\n\n/**\n * optional Golf2GameHole hole = 2;\n * @return {?proto.qb.smg.Golf2GameHole}\n */\nproto.qb.smg.Golf2GameDetails.prototype.getHole = function() {\n  return /** @type{?proto.qb.smg.Golf2GameHole} */ (\n    jspb.Message.getWrapperField(this, proto.qb.smg.Golf2GameHole, 2));\n};\n\n\n/**\n * @param {?proto.qb.smg.Golf2GameHole|undefined} value\n * @return {!proto.qb.smg.Golf2GameDetails} returns this\n*/\nproto.qb.smg.Golf2GameDetails.prototype.setHole = function(value) {\n  return jspb.Message.setWrapperField(this, 2, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.qb.smg.Golf2GameDetails} returns this\n */\nproto.qb.smg.Golf2GameDetails.prototype.clearHole = function() {\n  return this.setHole(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.qb.smg.Golf2GameDetails.prototype.hasHole = function() {\n  return jspb.Message.getField(this, 2) != null;\n};\n\n\n/**\n * optional Golf2GameCircle circle = 3;\n * @return {?proto.qb.smg.Golf2GameCircle}\n */\nproto.qb.smg.Golf2GameDetails.prototype.getCircle = function() {\n  return /** @type{?proto.qb.smg.Golf2GameCircle} */ (\n    jspb.Message.getWrapperField(this, proto.qb.smg.Golf2GameCircle, 3));\n};\n\n\n/**\n * @param {?proto.qb.smg.Golf2GameCircle|undefined} value\n * @return {!proto.qb.smg.Golf2GameDetails} returns this\n*/\nproto.qb.smg.Golf2GameDetails.prototype.setCircle = function(value) {\n  return jspb.Message.setWrapperField(this, 3, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.qb.smg.Golf2GameDetails} returns this\n */\nproto.qb.smg.Golf2GameDetails.prototype.clearCircle = function() {\n  return this.setCircle(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.qb.smg.Golf2GameDetails.prototype.hasCircle = function() {\n  return jspb.Message.getField(this, 3) != null;\n};\n\n\n/**\n * optional int32 target_level = 4;\n * @return {number}\n */\nproto.qb.smg.Golf2GameDetails.prototype.getTargetLevel = function() {\n  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 4, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.qb.smg.Golf2GameDetails} returns this\n */\nproto.qb.smg.Golf2GameDetails.prototype.setTargetLevel = function(value) {\n  return jspb.Message.setProto3IntField(this, 4, value);\n};\n\n\n\n/**\n * List of repeated fields within this message type.\n * @private {!Array<number>}\n * @const\n */\nproto.qb.smg.Bet.repeatedFields_ = [11,13,12];\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.qb.smg.Bet.prototype.toObject = function(opt_includeInstance) {\n  return proto.qb.smg.Bet.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.qb.smg.Bet} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.qb.smg.Bet.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    betId: jspb.Message.getFieldWithDefault(msg, 1, 0),\n    userId: jspb.Message.getFieldWithDefault(msg, 2, 0),\n    betType: jspb.Message.getFieldWithDefault(msg, 3, \"\"),\n    betState: jspb.Message.getFieldWithDefault(msg, 4, \"\"),\n    amount: jspb.Message.getFieldWithDefault(msg, 5, 0),\n    multiplier: jspb.Message.getFloatingPointFieldWithDefault(msg, 6, 0.0),\n    outcome: jspb.Message.getFieldWithDefault(msg, 7, \"\"),\n    createdOn: jspb.Message.getFieldWithDefault(msg, 8, 0),\n    resolvedOn: jspb.Message.getFieldWithDefault(msg, 9, 0),\n    venueId: jspb.Message.getFieldWithDefault(msg, 10, 0),\n    challengesList: jspb.Message.toObjectList(msg.getChallengesList(),\n    proto.qb.smg.Challenge.toObject, includeInstance),\n    paylinesList: jspb.Message.toObjectList(msg.getPaylinesList(),\n    proto.qb.smg.Payline.toObject, includeInstance),\n    golf2challengesList: jspb.Message.toObjectList(msg.getGolf2challengesList(),\n    proto.qb.smg.Golf2Challenge.toObject, includeInstance),\n    acceptedOn: jspb.Message.getFieldWithDefault(msg, 14, 0),\n    holeInOne: jspb.Message.getBooleanFieldWithDefault(msg, 15, false),\n    holeInOneBonusAmount: jspb.Message.getFieldWithDefault(msg, 16, 0)\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.qb.smg.Bet}\n */\nproto.qb.smg.Bet.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.qb.smg.Bet;\n  return proto.qb.smg.Bet.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.qb.smg.Bet} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.qb.smg.Bet}\n */\nproto.qb.smg.Bet.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {number} */ (reader.readInt64());\n      msg.setBetId(value);\n      break;\n    case 2:\n      var value = /** @type {number} */ (reader.readInt64());\n      msg.setUserId(value);\n      break;\n    case 3:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setBetType(value);\n      break;\n    case 4:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setBetState(value);\n      break;\n    case 5:\n      var value = /** @type {number} */ (reader.readInt64());\n      msg.setAmount(value);\n      break;\n    case 6:\n      var value = /** @type {number} */ (reader.readFloat());\n      msg.setMultiplier(value);\n      break;\n    case 7:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setOutcome(value);\n      break;\n    case 8:\n      var value = /** @type {number} */ (reader.readInt64());\n      msg.setCreatedOn(value);\n      break;\n    case 9:\n      var value = /** @type {number} */ (reader.readInt64());\n      msg.setResolvedOn(value);\n      break;\n    case 10:\n      var value = /** @type {number} */ (reader.readInt32());\n      msg.setVenueId(value);\n      break;\n    case 11:\n      var value = new proto.qb.smg.Challenge;\n      reader.readMessage(value,proto.qb.smg.Challenge.deserializeBinaryFromReader);\n      msg.addChallenges(value);\n      break;\n    case 13:\n      var value = new proto.qb.smg.Payline;\n      reader.readMessage(value,proto.qb.smg.Payline.deserializeBinaryFromReader);\n      msg.addPaylines(value);\n      break;\n    case 12:\n      var value = new proto.qb.smg.Golf2Challenge;\n      reader.readMessage(value,proto.qb.smg.Golf2Challenge.deserializeBinaryFromReader);\n      msg.addGolf2challenges(value);\n      break;\n    case 14:\n      var value = /** @type {number} */ (reader.readInt64());\n      msg.setAcceptedOn(value);\n      break;\n    case 15:\n      var value = /** @type {boolean} */ (reader.readBool());\n      msg.setHoleInOne(value);\n      break;\n    case 16:\n      var value = /** @type {number} */ (reader.readInt32());\n      msg.setHoleInOneBonusAmount(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.qb.smg.Bet.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.qb.smg.Bet.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.qb.smg.Bet} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.qb.smg.Bet.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getBetId();\n  if (f !== 0) {\n    writer.writeInt64(\n      1,\n      f\n    );\n  }\n  f = message.getUserId();\n  if (f !== 0) {\n    writer.writeInt64(\n      2,\n      f\n    );\n  }\n  f = message.getBetType();\n  if (f.length > 0) {\n    writer.writeString(\n      3,\n      f\n    );\n  }\n  f = message.getBetState();\n  if (f.length > 0) {\n    writer.writeString(\n      4,\n      f\n    );\n  }\n  f = message.getAmount();\n  if (f !== 0) {\n    writer.writeInt64(\n      5,\n      f\n    );\n  }\n  f = message.getMultiplier();\n  if (f !== 0.0) {\n    writer.writeFloat(\n      6,\n      f\n    );\n  }\n  f = message.getOutcome();\n  if (f.length > 0) {\n    writer.writeString(\n      7,\n      f\n    );\n  }\n  f = message.getCreatedOn();\n  if (f !== 0) {\n    writer.writeInt64(\n      8,\n      f\n    );\n  }\n  f = message.getResolvedOn();\n  if (f !== 0) {\n    writer.writeInt64(\n      9,\n      f\n    );\n  }\n  f = message.getVenueId();\n  if (f !== 0) {\n    writer.writeInt32(\n      10,\n      f\n    );\n  }\n  f = message.getChallengesList();\n  if (f.length > 0) {\n    writer.writeRepeatedMessage(\n      11,\n      f,\n      proto.qb.smg.Challenge.serializeBinaryToWriter\n    );\n  }\n  f = message.getPaylinesList();\n  if (f.length > 0) {\n    writer.writeRepeatedMessage(\n      13,\n      f,\n      proto.qb.smg.Payline.serializeBinaryToWriter\n    );\n  }\n  f = message.getGolf2challengesList();\n  if (f.length > 0) {\n    writer.writeRepeatedMessage(\n      12,\n      f,\n      proto.qb.smg.Golf2Challenge.serializeBinaryToWriter\n    );\n  }\n  f = message.getAcceptedOn();\n  if (f !== 0) {\n    writer.writeInt64(\n      14,\n      f\n    );\n  }\n  f = message.getHoleInOne();\n  if (f) {\n    writer.writeBool(\n      15,\n      f\n    );\n  }\n  f = message.getHoleInOneBonusAmount();\n  if (f !== 0) {\n    writer.writeInt32(\n      16,\n      f\n    );\n  }\n};\n\n\n/**\n * optional int64 bet_id = 1;\n * @return {number}\n */\nproto.qb.smg.Bet.prototype.getBetId = function() {\n  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.qb.smg.Bet} returns this\n */\nproto.qb.smg.Bet.prototype.setBetId = function(value) {\n  return jspb.Message.setProto3IntField(this, 1, value);\n};\n\n\n/**\n * optional int64 user_id = 2;\n * @return {number}\n */\nproto.qb.smg.Bet.prototype.getUserId = function() {\n  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 2, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.qb.smg.Bet} returns this\n */\nproto.qb.smg.Bet.prototype.setUserId = function(value) {\n  return jspb.Message.setProto3IntField(this, 2, value);\n};\n\n\n/**\n * optional string bet_type = 3;\n * @return {string}\n */\nproto.qb.smg.Bet.prototype.getBetType = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 3, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.qb.smg.Bet} returns this\n */\nproto.qb.smg.Bet.prototype.setBetType = function(value) {\n  return jspb.Message.setProto3StringField(this, 3, value);\n};\n\n\n/**\n * optional string bet_state = 4;\n * @return {string}\n */\nproto.qb.smg.Bet.prototype.getBetState = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 4, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.qb.smg.Bet} returns this\n */\nproto.qb.smg.Bet.prototype.setBetState = function(value) {\n  return jspb.Message.setProto3StringField(this, 4, value);\n};\n\n\n/**\n * optional int64 amount = 5;\n * @return {number}\n */\nproto.qb.smg.Bet.prototype.getAmount = function() {\n  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 5, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.qb.smg.Bet} returns this\n */\nproto.qb.smg.Bet.prototype.setAmount = function(value) {\n  return jspb.Message.setProto3IntField(this, 5, value);\n};\n\n\n/**\n * optional float multiplier = 6;\n * @return {number}\n */\nproto.qb.smg.Bet.prototype.getMultiplier = function() {\n  return /** @type {number} */ (jspb.Message.getFloatingPointFieldWithDefault(this, 6, 0.0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.qb.smg.Bet} returns this\n */\nproto.qb.smg.Bet.prototype.setMultiplier = function(value) {\n  return jspb.Message.setProto3FloatField(this, 6, value);\n};\n\n\n/**\n * optional string outcome = 7;\n * @return {string}\n */\nproto.qb.smg.Bet.prototype.getOutcome = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 7, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.qb.smg.Bet} returns this\n */\nproto.qb.smg.Bet.prototype.setOutcome = function(value) {\n  return jspb.Message.setProto3StringField(this, 7, value);\n};\n\n\n/**\n * optional int64 created_on = 8;\n * @return {number}\n */\nproto.qb.smg.Bet.prototype.getCreatedOn = function() {\n  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 8, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.qb.smg.Bet} returns this\n */\nproto.qb.smg.Bet.prototype.setCreatedOn = function(value) {\n  return jspb.Message.setProto3IntField(this, 8, value);\n};\n\n\n/**\n * optional int64 resolved_on = 9;\n * @return {number}\n */\nproto.qb.smg.Bet.prototype.getResolvedOn = function() {\n  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 9, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.qb.smg.Bet} returns this\n */\nproto.qb.smg.Bet.prototype.setResolvedOn = function(value) {\n  return jspb.Message.setProto3IntField(this, 9, value);\n};\n\n\n/**\n * optional int32 venue_id = 10;\n * @return {number}\n */\nproto.qb.smg.Bet.prototype.getVenueId = function() {\n  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 10, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.qb.smg.Bet} returns this\n */\nproto.qb.smg.Bet.prototype.setVenueId = function(value) {\n  return jspb.Message.setProto3IntField(this, 10, value);\n};\n\n\n/**\n * repeated Challenge challenges = 11;\n * @return {!Array<!proto.qb.smg.Challenge>}\n */\nproto.qb.smg.Bet.prototype.getChallengesList = function() {\n  return /** @type{!Array<!proto.qb.smg.Challenge>} */ (\n    jspb.Message.getRepeatedWrapperField(this, proto.qb.smg.Challenge, 11));\n};\n\n\n/**\n * @param {!Array<!proto.qb.smg.Challenge>} value\n * @return {!proto.qb.smg.Bet} returns this\n*/\nproto.qb.smg.Bet.prototype.setChallengesList = function(value) {\n  return jspb.Message.setRepeatedWrapperField(this, 11, value);\n};\n\n\n/**\n * @param {!proto.qb.smg.Challenge=} opt_value\n * @param {number=} opt_index\n * @return {!proto.qb.smg.Challenge}\n */\nproto.qb.smg.Bet.prototype.addChallenges = function(opt_value, opt_index) {\n  return jspb.Message.addToRepeatedWrapperField(this, 11, opt_value, proto.qb.smg.Challenge, opt_index);\n};\n\n\n/**\n * Clears the list making it empty but non-null.\n * @return {!proto.qb.smg.Bet} returns this\n */\nproto.qb.smg.Bet.prototype.clearChallengesList = function() {\n  return this.setChallengesList([]);\n};\n\n\n/**\n * repeated Payline paylines = 13;\n * @return {!Array<!proto.qb.smg.Payline>}\n */\nproto.qb.smg.Bet.prototype.getPaylinesList = function() {\n  return /** @type{!Array<!proto.qb.smg.Payline>} */ (\n    jspb.Message.getRepeatedWrapperField(this, proto.qb.smg.Payline, 13));\n};\n\n\n/**\n * @param {!Array<!proto.qb.smg.Payline>} value\n * @return {!proto.qb.smg.Bet} returns this\n*/\nproto.qb.smg.Bet.prototype.setPaylinesList = function(value) {\n  return jspb.Message.setRepeatedWrapperField(this, 13, value);\n};\n\n\n/**\n * @param {!proto.qb.smg.Payline=} opt_value\n * @param {number=} opt_index\n * @return {!proto.qb.smg.Payline}\n */\nproto.qb.smg.Bet.prototype.addPaylines = function(opt_value, opt_index) {\n  return jspb.Message.addToRepeatedWrapperField(this, 13, opt_value, proto.qb.smg.Payline, opt_index);\n};\n\n\n/**\n * Clears the list making it empty but non-null.\n * @return {!proto.qb.smg.Bet} returns this\n */\nproto.qb.smg.Bet.prototype.clearPaylinesList = function() {\n  return this.setPaylinesList([]);\n};\n\n\n/**\n * repeated Golf2Challenge golf2Challenges = 12;\n * @return {!Array<!proto.qb.smg.Golf2Challenge>}\n */\nproto.qb.smg.Bet.prototype.getGolf2challengesList = function() {\n  return /** @type{!Array<!proto.qb.smg.Golf2Challenge>} */ (\n    jspb.Message.getRepeatedWrapperField(this, proto.qb.smg.Golf2Challenge, 12));\n};\n\n\n/**\n * @param {!Array<!proto.qb.smg.Golf2Challenge>} value\n * @return {!proto.qb.smg.Bet} returns this\n*/\nproto.qb.smg.Bet.prototype.setGolf2challengesList = function(value) {\n  return jspb.Message.setRepeatedWrapperField(this, 12, value);\n};\n\n\n/**\n * @param {!proto.qb.smg.Golf2Challenge=} opt_value\n * @param {number=} opt_index\n * @return {!proto.qb.smg.Golf2Challenge}\n */\nproto.qb.smg.Bet.prototype.addGolf2challenges = function(opt_value, opt_index) {\n  return jspb.Message.addToRepeatedWrapperField(this, 12, opt_value, proto.qb.smg.Golf2Challenge, opt_index);\n};\n\n\n/**\n * Clears the list making it empty but non-null.\n * @return {!proto.qb.smg.Bet} returns this\n */\nproto.qb.smg.Bet.prototype.clearGolf2challengesList = function() {\n  return this.setGolf2challengesList([]);\n};\n\n\n/**\n * optional int64 accepted_on = 14;\n * @return {number}\n */\nproto.qb.smg.Bet.prototype.getAcceptedOn = function() {\n  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 14, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.qb.smg.Bet} returns this\n */\nproto.qb.smg.Bet.prototype.setAcceptedOn = function(value) {\n  return jspb.Message.setProto3IntField(this, 14, value);\n};\n\n\n/**\n * optional bool hole_in_one = 15;\n * @return {boolean}\n */\nproto.qb.smg.Bet.prototype.getHoleInOne = function() {\n  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 15, false));\n};\n\n\n/**\n * @param {boolean} value\n * @return {!proto.qb.smg.Bet} returns this\n */\nproto.qb.smg.Bet.prototype.setHoleInOne = function(value) {\n  return jspb.Message.setProto3BooleanField(this, 15, value);\n};\n\n\n/**\n * optional int32 hole_in_one_bonus_amount = 16;\n * @return {number}\n */\nproto.qb.smg.Bet.prototype.getHoleInOneBonusAmount = function() {\n  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 16, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.qb.smg.Bet} returns this\n */\nproto.qb.smg.Bet.prototype.setHoleInOneBonusAmount = function(value) {\n  return jspb.Message.setProto3IntField(this, 16, value);\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.qb.smg.Payout.prototype.toObject = function(opt_includeInstance) {\n  return proto.qb.smg.Payout.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.qb.smg.Payout} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.qb.smg.Payout.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    payoutId: jspb.Message.getFieldWithDefault(msg, 1, 0),\n    outcome: jspb.Message.getFieldWithDefault(msg, 2, \"\"),\n    odds: jspb.Message.getFieldWithDefault(msg, 3, \"\"),\n    amount: jspb.Message.getFieldWithDefault(msg, 4, 0),\n    betid: jspb.Message.getFieldWithDefault(msg, 5, 0)\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.qb.smg.Payout}\n */\nproto.qb.smg.Payout.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.qb.smg.Payout;\n  return proto.qb.smg.Payout.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.qb.smg.Payout} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.qb.smg.Payout}\n */\nproto.qb.smg.Payout.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {number} */ (reader.readInt64());\n      msg.setPayoutId(value);\n      break;\n    case 2:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setOutcome(value);\n      break;\n    case 3:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setOdds(value);\n      break;\n    case 4:\n      var value = /** @type {number} */ (reader.readInt64());\n      msg.setAmount(value);\n      break;\n    case 5:\n      var value = /** @type {number} */ (reader.readInt64());\n      msg.setBetid(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.qb.smg.Payout.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.qb.smg.Payout.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.qb.smg.Payout} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.qb.smg.Payout.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getPayoutId();\n  if (f !== 0) {\n    writer.writeInt64(\n      1,\n      f\n    );\n  }\n  f = message.getOutcome();\n  if (f.length > 0) {\n    writer.writeString(\n      2,\n      f\n    );\n  }\n  f = message.getOdds();\n  if (f.length > 0) {\n    writer.writeString(\n      3,\n      f\n    );\n  }\n  f = message.getAmount();\n  if (f !== 0) {\n    writer.writeInt64(\n      4,\n      f\n    );\n  }\n  f = message.getBetid();\n  if (f !== 0) {\n    writer.writeInt64(\n      5,\n      f\n    );\n  }\n};\n\n\n/**\n * optional int64 payout_id = 1;\n * @return {number}\n */\nproto.qb.smg.Payout.prototype.getPayoutId = function() {\n  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.qb.smg.Payout} returns this\n */\nproto.qb.smg.Payout.prototype.setPayoutId = function(value) {\n  return jspb.Message.setProto3IntField(this, 1, value);\n};\n\n\n/**\n * optional string outcome = 2;\n * @return {string}\n */\nproto.qb.smg.Payout.prototype.getOutcome = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.qb.smg.Payout} returns this\n */\nproto.qb.smg.Payout.prototype.setOutcome = function(value) {\n  return jspb.Message.setProto3StringField(this, 2, value);\n};\n\n\n/**\n * optional string odds = 3;\n * @return {string}\n */\nproto.qb.smg.Payout.prototype.getOdds = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 3, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.qb.smg.Payout} returns this\n */\nproto.qb.smg.Payout.prototype.setOdds = function(value) {\n  return jspb.Message.setProto3StringField(this, 3, value);\n};\n\n\n/**\n * optional int64 amount = 4;\n * @return {number}\n */\nproto.qb.smg.Payout.prototype.getAmount = function() {\n  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 4, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.qb.smg.Payout} returns this\n */\nproto.qb.smg.Payout.prototype.setAmount = function(value) {\n  return jspb.Message.setProto3IntField(this, 4, value);\n};\n\n\n/**\n * optional int64 betId = 5;\n * @return {number}\n */\nproto.qb.smg.Payout.prototype.getBetid = function() {\n  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 5, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.qb.smg.Payout} returns this\n */\nproto.qb.smg.Payout.prototype.setBetid = function(value) {\n  return jspb.Message.setProto3IntField(this, 5, value);\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.qb.smg.Payline.prototype.toObject = function(opt_includeInstance) {\n  return proto.qb.smg.Payline.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.qb.smg.Payline} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.qb.smg.Payline.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    paylineId: jspb.Message.getFieldWithDefault(msg, 1, 0),\n    betId: jspb.Message.getFieldWithDefault(msg, 2, 0),\n    challengeId: jspb.Message.getFieldWithDefault(msg, 3, 0),\n    multiplier: jspb.Message.getFieldWithDefault(msg, 4, 0),\n    priority: jspb.Message.getFieldWithDefault(msg, 5, 0)\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.qb.smg.Payline}\n */\nproto.qb.smg.Payline.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.qb.smg.Payline;\n  return proto.qb.smg.Payline.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.qb.smg.Payline} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.qb.smg.Payline}\n */\nproto.qb.smg.Payline.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {number} */ (reader.readInt64());\n      msg.setPaylineId(value);\n      break;\n    case 2:\n      var value = /** @type {number} */ (reader.readInt64());\n      msg.setBetId(value);\n      break;\n    case 3:\n      var value = /** @type {number} */ (reader.readInt64());\n      msg.setChallengeId(value);\n      break;\n    case 4:\n      var value = /** @type {number} */ (reader.readInt64());\n      msg.setMultiplier(value);\n      break;\n    case 5:\n      var value = /** @type {number} */ (reader.readInt64());\n      msg.setPriority(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.qb.smg.Payline.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.qb.smg.Payline.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.qb.smg.Payline} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.qb.smg.Payline.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getPaylineId();\n  if (f !== 0) {\n    writer.writeInt64(\n      1,\n      f\n    );\n  }\n  f = message.getBetId();\n  if (f !== 0) {\n    writer.writeInt64(\n      2,\n      f\n    );\n  }\n  f = message.getChallengeId();\n  if (f !== 0) {\n    writer.writeInt64(\n      3,\n      f\n    );\n  }\n  f = message.getMultiplier();\n  if (f !== 0) {\n    writer.writeInt64(\n      4,\n      f\n    );\n  }\n  f = message.getPriority();\n  if (f !== 0) {\n    writer.writeInt64(\n      5,\n      f\n    );\n  }\n};\n\n\n/**\n * optional int64 payline_id = 1;\n * @return {number}\n */\nproto.qb.smg.Payline.prototype.getPaylineId = function() {\n  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.qb.smg.Payline} returns this\n */\nproto.qb.smg.Payline.prototype.setPaylineId = function(value) {\n  return jspb.Message.setProto3IntField(this, 1, value);\n};\n\n\n/**\n * optional int64 bet_id = 2;\n * @return {number}\n */\nproto.qb.smg.Payline.prototype.getBetId = function() {\n  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 2, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.qb.smg.Payline} returns this\n */\nproto.qb.smg.Payline.prototype.setBetId = function(value) {\n  return jspb.Message.setProto3IntField(this, 2, value);\n};\n\n\n/**\n * optional int64 challenge_id = 3;\n * @return {number}\n */\nproto.qb.smg.Payline.prototype.getChallengeId = function() {\n  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 3, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.qb.smg.Payline} returns this\n */\nproto.qb.smg.Payline.prototype.setChallengeId = function(value) {\n  return jspb.Message.setProto3IntField(this, 3, value);\n};\n\n\n/**\n * optional int64 multiplier = 4;\n * @return {number}\n */\nproto.qb.smg.Payline.prototype.getMultiplier = function() {\n  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 4, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.qb.smg.Payline} returns this\n */\nproto.qb.smg.Payline.prototype.setMultiplier = function(value) {\n  return jspb.Message.setProto3IntField(this, 4, value);\n};\n\n\n/**\n * optional int64 priority = 5;\n * @return {number}\n */\nproto.qb.smg.Payline.prototype.getPriority = function() {\n  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 5, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.qb.smg.Payline} returns this\n */\nproto.qb.smg.Payline.prototype.setPriority = function(value) {\n  return jspb.Message.setProto3IntField(this, 5, value);\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.qb.smg.Session.prototype.toObject = function(opt_includeInstance) {\n  return proto.qb.smg.Session.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.qb.smg.Session} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.qb.smg.Session.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    token: jspb.Message.getFieldWithDefault(msg, 1, \"\"),\n    userId: jspb.Message.getFieldWithDefault(msg, 2, 0),\n    sessionStart: jspb.Message.getFieldWithDefault(msg, 3, 0),\n    sessionEnd: jspb.Message.getFieldWithDefault(msg, 4, 0),\n    analyticsId: jspb.Message.getFieldWithDefault(msg, 5, \"\")\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.qb.smg.Session}\n */\nproto.qb.smg.Session.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.qb.smg.Session;\n  return proto.qb.smg.Session.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.qb.smg.Session} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.qb.smg.Session}\n */\nproto.qb.smg.Session.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setToken(value);\n      break;\n    case 2:\n      var value = /** @type {number} */ (reader.readInt64());\n      msg.setUserId(value);\n      break;\n    case 3:\n      var value = /** @type {number} */ (reader.readInt64());\n      msg.setSessionStart(value);\n      break;\n    case 4:\n      var value = /** @type {number} */ (reader.readInt64());\n      msg.setSessionEnd(value);\n      break;\n    case 5:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setAnalyticsId(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.qb.smg.Session.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.qb.smg.Session.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.qb.smg.Session} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.qb.smg.Session.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getToken();\n  if (f.length > 0) {\n    writer.writeString(\n      1,\n      f\n    );\n  }\n  f = message.getUserId();\n  if (f !== 0) {\n    writer.writeInt64(\n      2,\n      f\n    );\n  }\n  f = message.getSessionStart();\n  if (f !== 0) {\n    writer.writeInt64(\n      3,\n      f\n    );\n  }\n  f = message.getSessionEnd();\n  if (f !== 0) {\n    writer.writeInt64(\n      4,\n      f\n    );\n  }\n  f = message.getAnalyticsId();\n  if (f.length > 0) {\n    writer.writeString(\n      5,\n      f\n    );\n  }\n};\n\n\n/**\n * optional string token = 1;\n * @return {string}\n */\nproto.qb.smg.Session.prototype.getToken = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.qb.smg.Session} returns this\n */\nproto.qb.smg.Session.prototype.setToken = function(value) {\n  return jspb.Message.setProto3StringField(this, 1, value);\n};\n\n\n/**\n * optional int64 user_id = 2;\n * @return {number}\n */\nproto.qb.smg.Session.prototype.getUserId = function() {\n  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 2, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.qb.smg.Session} returns this\n */\nproto.qb.smg.Session.prototype.setUserId = function(value) {\n  return jspb.Message.setProto3IntField(this, 2, value);\n};\n\n\n/**\n * optional int64 session_start = 3;\n * @return {number}\n */\nproto.qb.smg.Session.prototype.getSessionStart = function() {\n  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 3, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.qb.smg.Session} returns this\n */\nproto.qb.smg.Session.prototype.setSessionStart = function(value) {\n  return jspb.Message.setProto3IntField(this, 3, value);\n};\n\n\n/**\n * optional int64 session_end = 4;\n * @return {number}\n */\nproto.qb.smg.Session.prototype.getSessionEnd = function() {\n  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 4, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.qb.smg.Session} returns this\n */\nproto.qb.smg.Session.prototype.setSessionEnd = function(value) {\n  return jspb.Message.setProto3IntField(this, 4, value);\n};\n\n\n/**\n * optional string analytics_id = 5;\n * @return {string}\n */\nproto.qb.smg.Session.prototype.getAnalyticsId = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 5, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.qb.smg.Session} returns this\n */\nproto.qb.smg.Session.prototype.setAnalyticsId = function(value) {\n  return jspb.Message.setProto3StringField(this, 5, value);\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.qb.smg.User.prototype.toObject = function(opt_includeInstance) {\n  return proto.qb.smg.User.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.qb.smg.User} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.qb.smg.User.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    userId: jspb.Message.getFieldWithDefault(msg, 1, 0),\n    username: jspb.Message.getFieldWithDefault(msg, 2, \"\"),\n    emailAddress: jspb.Message.getFieldWithDefault(msg, 3, \"\"),\n    balance: jspb.Message.getFieldWithDefault(msg, 4, 0),\n    handedness: jspb.Message.getFieldWithDefault(msg, 5, \"\"),\n    phoneNumber: jspb.Message.getFieldWithDefault(msg, 6, \"\"),\n    firstname: jspb.Message.getFieldWithDefault(msg, 7, \"\"),\n    middleName: jspb.Message.getFieldWithDefault(msg, 8, \"\"),\n    lastname: jspb.Message.getFieldWithDefault(msg, 9, \"\"),\n    address: jspb.Message.getFieldWithDefault(msg, 10, \"\"),\n    country: jspb.Message.getFieldWithDefault(msg, 11, \"\"),\n    state: jspb.Message.getFieldWithDefault(msg, 12, \"\"),\n    city: jspb.Message.getFieldWithDefault(msg, 13, \"\"),\n    zipcode: jspb.Message.getFieldWithDefault(msg, 14, \"\"),\n    tncAccepted: jspb.Message.getBooleanFieldWithDefault(msg, 15, false),\n    tncAcceptDate: jspb.Message.getFieldWithDefault(msg, 16, 0),\n    tncAcceptedVersion: jspb.Message.getFieldWithDefault(msg, 17, \"\"),\n    photoAccepted: jspb.Message.getBooleanFieldWithDefault(msg, 19, false),\n    kycStatus: jspb.Message.getFieldWithDefault(msg, 20, 0),\n    dateOfBirth: jspb.Message.getFieldWithDefault(msg, 21, \"\"),\n    realName: jspb.Message.getFieldWithDefault(msg, 22, \"\"),\n    emailConfirmed: jspb.Message.getBooleanFieldWithDefault(msg, 23, false),\n    handicap: jspb.Message.getFieldWithDefault(msg, 24, \"\"),\n    allowTextNotifications: jspb.Message.getBooleanFieldWithDefault(msg, 25, false),\n    allowEmailNotifications: jspb.Message.getBooleanFieldWithDefault(msg, 26, false),\n    allowPartnerPromos: jspb.Message.getBooleanFieldWithDefault(msg, 27, false),\n    selfLimitationConfirmed: jspb.Message.getBooleanFieldWithDefault(msg, 28, false),\n    selfLimitationExpiration: jspb.Message.getFieldWithDefault(msg, 29, 0),\n    autoPlayEnabled: jspb.Message.getBooleanFieldWithDefault(msg, 30, false),\n    autoPlayAmount: jspb.Message.getFieldWithDefault(msg, 31, 0)\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.qb.smg.User}\n */\nproto.qb.smg.User.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.qb.smg.User;\n  return proto.qb.smg.User.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.qb.smg.User} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.qb.smg.User}\n */\nproto.qb.smg.User.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {number} */ (reader.readInt64());\n      msg.setUserId(value);\n      break;\n    case 2:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setUsername(value);\n      break;\n    case 3:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setEmailAddress(value);\n      break;\n    case 4:\n      var value = /** @type {number} */ (reader.readInt64());\n      msg.setBalance(value);\n      break;\n    case 5:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setHandedness(value);\n      break;\n    case 6:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setPhoneNumber(value);\n      break;\n    case 7:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setFirstname(value);\n      break;\n    case 8:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setMiddleName(value);\n      break;\n    case 9:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setLastname(value);\n      break;\n    case 10:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setAddress(value);\n      break;\n    case 11:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setCountry(value);\n      break;\n    case 12:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setState(value);\n      break;\n    case 13:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setCity(value);\n      break;\n    case 14:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setZipcode(value);\n      break;\n    case 15:\n      var value = /** @type {boolean} */ (reader.readBool());\n      msg.setTncAccepted(value);\n      break;\n    case 16:\n      var value = /** @type {number} */ (reader.readInt64());\n      msg.setTncAcceptDate(value);\n      break;\n    case 17:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setTncAcceptedVersion(value);\n      break;\n    case 19:\n      var value = /** @type {boolean} */ (reader.readBool());\n      msg.setPhotoAccepted(value);\n      break;\n    case 20:\n      var value = /** @type {number} */ (reader.readInt32());\n      msg.setKycStatus(value);\n      break;\n    case 21:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setDateOfBirth(value);\n      break;\n    case 22:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setRealName(value);\n      break;\n    case 23:\n      var value = /** @type {boolean} */ (reader.readBool());\n      msg.setEmailConfirmed(value);\n      break;\n    case 24:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setHandicap(value);\n      break;\n    case 25:\n      var value = /** @type {boolean} */ (reader.readBool());\n      msg.setAllowTextNotifications(value);\n      break;\n    case 26:\n      var value = /** @type {boolean} */ (reader.readBool());\n      msg.setAllowEmailNotifications(value);\n      break;\n    case 27:\n      var value = /** @type {boolean} */ (reader.readBool());\n      msg.setAllowPartnerPromos(value);\n      break;\n    case 28:\n      var value = /** @type {boolean} */ (reader.readBool());\n      msg.setSelfLimitationConfirmed(value);\n      break;\n    case 29:\n      var value = /** @type {number} */ (reader.readInt64());\n      msg.setSelfLimitationExpiration(value);\n      break;\n    case 30:\n      var value = /** @type {boolean} */ (reader.readBool());\n      msg.setAutoPlayEnabled(value);\n      break;\n    case 31:\n      var value = /** @type {number} */ (reader.readInt32());\n      msg.setAutoPlayAmount(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.qb.smg.User.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.qb.smg.User.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.qb.smg.User} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.qb.smg.User.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getUserId();\n  if (f !== 0) {\n    writer.writeInt64(\n      1,\n      f\n    );\n  }\n  f = message.getUsername();\n  if (f.length > 0) {\n    writer.writeString(\n      2,\n      f\n    );\n  }\n  f = message.getEmailAddress();\n  if (f.length > 0) {\n    writer.writeString(\n      3,\n      f\n    );\n  }\n  f = message.getBalance();\n  if (f !== 0) {\n    writer.writeInt64(\n      4,\n      f\n    );\n  }\n  f = message.getHandedness();\n  if (f.length > 0) {\n    writer.writeString(\n      5,\n      f\n    );\n  }\n  f = message.getPhoneNumber();\n  if (f.length > 0) {\n    writer.writeString(\n      6,\n      f\n    );\n  }\n  f = message.getFirstname();\n  if (f.length > 0) {\n    writer.writeString(\n      7,\n      f\n    );\n  }\n  f = message.getMiddleName();\n  if (f.length > 0) {\n    writer.writeString(\n      8,\n      f\n    );\n  }\n  f = message.getLastname();\n  if (f.length > 0) {\n    writer.writeString(\n      9,\n      f\n    );\n  }\n  f = message.getAddress();\n  if (f.length > 0) {\n    writer.writeString(\n      10,\n      f\n    );\n  }\n  f = message.getCountry();\n  if (f.length > 0) {\n    writer.writeString(\n      11,\n      f\n    );\n  }\n  f = message.getState();\n  if (f.length > 0) {\n    writer.writeString(\n      12,\n      f\n    );\n  }\n  f = message.getCity();\n  if (f.length > 0) {\n    writer.writeString(\n      13,\n      f\n    );\n  }\n  f = message.getZipcode();\n  if (f.length > 0) {\n    writer.writeString(\n      14,\n      f\n    );\n  }\n  f = message.getTncAccepted();\n  if (f) {\n    writer.writeBool(\n      15,\n      f\n    );\n  }\n  f = message.getTncAcceptDate();\n  if (f !== 0) {\n    writer.writeInt64(\n      16,\n      f\n    );\n  }\n  f = message.getTncAcceptedVersion();\n  if (f.length > 0) {\n    writer.writeString(\n      17,\n      f\n    );\n  }\n  f = message.getPhotoAccepted();\n  if (f) {\n    writer.writeBool(\n      19,\n      f\n    );\n  }\n  f = message.getKycStatus();\n  if (f !== 0) {\n    writer.writeInt32(\n      20,\n      f\n    );\n  }\n  f = message.getDateOfBirth();\n  if (f.length > 0) {\n    writer.writeString(\n      21,\n      f\n    );\n  }\n  f = message.getRealName();\n  if (f.length > 0) {\n    writer.writeString(\n      22,\n      f\n    );\n  }\n  f = message.getEmailConfirmed();\n  if (f) {\n    writer.writeBool(\n      23,\n      f\n    );\n  }\n  f = message.getHandicap();\n  if (f.length > 0) {\n    writer.writeString(\n      24,\n      f\n    );\n  }\n  f = message.getAllowTextNotifications();\n  if (f) {\n    writer.writeBool(\n      25,\n      f\n    );\n  }\n  f = message.getAllowEmailNotifications();\n  if (f) {\n    writer.writeBool(\n      26,\n      f\n    );\n  }\n  f = message.getAllowPartnerPromos();\n  if (f) {\n    writer.writeBool(\n      27,\n      f\n    );\n  }\n  f = message.getSelfLimitationConfirmed();\n  if (f) {\n    writer.writeBool(\n      28,\n      f\n    );\n  }\n  f = message.getSelfLimitationExpiration();\n  if (f !== 0) {\n    writer.writeInt64(\n      29,\n      f\n    );\n  }\n  f = message.getAutoPlayEnabled();\n  if (f) {\n    writer.writeBool(\n      30,\n      f\n    );\n  }\n  f = message.getAutoPlayAmount();\n  if (f !== 0) {\n    writer.writeInt32(\n      31,\n      f\n    );\n  }\n};\n\n\n/**\n * optional int64 user_id = 1;\n * @return {number}\n */\nproto.qb.smg.User.prototype.getUserId = function() {\n  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.qb.smg.User} returns this\n */\nproto.qb.smg.User.prototype.setUserId = function(value) {\n  return jspb.Message.setProto3IntField(this, 1, value);\n};\n\n\n/**\n * optional string username = 2;\n * @return {string}\n */\nproto.qb.smg.User.prototype.getUsername = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.qb.smg.User} returns this\n */\nproto.qb.smg.User.prototype.setUsername = function(value) {\n  return jspb.Message.setProto3StringField(this, 2, value);\n};\n\n\n/**\n * optional string email_address = 3;\n * @return {string}\n */\nproto.qb.smg.User.prototype.getEmailAddress = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 3, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.qb.smg.User} returns this\n */\nproto.qb.smg.User.prototype.setEmailAddress = function(value) {\n  return jspb.Message.setProto3StringField(this, 3, value);\n};\n\n\n/**\n * optional int64 balance = 4;\n * @return {number}\n */\nproto.qb.smg.User.prototype.getBalance = function() {\n  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 4, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.qb.smg.User} returns this\n */\nproto.qb.smg.User.prototype.setBalance = function(value) {\n  return jspb.Message.setProto3IntField(this, 4, value);\n};\n\n\n/**\n * optional string handedness = 5;\n * @return {string}\n */\nproto.qb.smg.User.prototype.getHandedness = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 5, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.qb.smg.User} returns this\n */\nproto.qb.smg.User.prototype.setHandedness = function(value) {\n  return jspb.Message.setProto3StringField(this, 5, value);\n};\n\n\n/**\n * optional string phone_number = 6;\n * @return {string}\n */\nproto.qb.smg.User.prototype.getPhoneNumber = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 6, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.qb.smg.User} returns this\n */\nproto.qb.smg.User.prototype.setPhoneNumber = function(value) {\n  return jspb.Message.setProto3StringField(this, 6, value);\n};\n\n\n/**\n * optional string firstname = 7;\n * @return {string}\n */\nproto.qb.smg.User.prototype.getFirstname = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 7, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.qb.smg.User} returns this\n */\nproto.qb.smg.User.prototype.setFirstname = function(value) {\n  return jspb.Message.setProto3StringField(this, 7, value);\n};\n\n\n/**\n * optional string middle_name = 8;\n * @return {string}\n */\nproto.qb.smg.User.prototype.getMiddleName = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 8, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.qb.smg.User} returns this\n */\nproto.qb.smg.User.prototype.setMiddleName = function(value) {\n  return jspb.Message.setProto3StringField(this, 8, value);\n};\n\n\n/**\n * optional string lastname = 9;\n * @return {string}\n */\nproto.qb.smg.User.prototype.getLastname = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 9, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.qb.smg.User} returns this\n */\nproto.qb.smg.User.prototype.setLastname = function(value) {\n  return jspb.Message.setProto3StringField(this, 9, value);\n};\n\n\n/**\n * optional string address = 10;\n * @return {string}\n */\nproto.qb.smg.User.prototype.getAddress = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 10, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.qb.smg.User} returns this\n */\nproto.qb.smg.User.prototype.setAddress = function(value) {\n  return jspb.Message.setProto3StringField(this, 10, value);\n};\n\n\n/**\n * optional string country = 11;\n * @return {string}\n */\nproto.qb.smg.User.prototype.getCountry = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 11, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.qb.smg.User} returns this\n */\nproto.qb.smg.User.prototype.setCountry = function(value) {\n  return jspb.Message.setProto3StringField(this, 11, value);\n};\n\n\n/**\n * optional string state = 12;\n * @return {string}\n */\nproto.qb.smg.User.prototype.getState = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 12, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.qb.smg.User} returns this\n */\nproto.qb.smg.User.prototype.setState = function(value) {\n  return jspb.Message.setProto3StringField(this, 12, value);\n};\n\n\n/**\n * optional string city = 13;\n * @return {string}\n */\nproto.qb.smg.User.prototype.getCity = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 13, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.qb.smg.User} returns this\n */\nproto.qb.smg.User.prototype.setCity = function(value) {\n  return jspb.Message.setProto3StringField(this, 13, value);\n};\n\n\n/**\n * optional string zipcode = 14;\n * @return {string}\n */\nproto.qb.smg.User.prototype.getZipcode = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 14, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.qb.smg.User} returns this\n */\nproto.qb.smg.User.prototype.setZipcode = function(value) {\n  return jspb.Message.setProto3StringField(this, 14, value);\n};\n\n\n/**\n * optional bool tnc_accepted = 15;\n * @return {boolean}\n */\nproto.qb.smg.User.prototype.getTncAccepted = function() {\n  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 15, false));\n};\n\n\n/**\n * @param {boolean} value\n * @return {!proto.qb.smg.User} returns this\n */\nproto.qb.smg.User.prototype.setTncAccepted = function(value) {\n  return jspb.Message.setProto3BooleanField(this, 15, value);\n};\n\n\n/**\n * optional int64 tnc_accept_date = 16;\n * @return {number}\n */\nproto.qb.smg.User.prototype.getTncAcceptDate = function() {\n  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 16, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.qb.smg.User} returns this\n */\nproto.qb.smg.User.prototype.setTncAcceptDate = function(value) {\n  return jspb.Message.setProto3IntField(this, 16, value);\n};\n\n\n/**\n * optional string tnc_accepted_version = 17;\n * @return {string}\n */\nproto.qb.smg.User.prototype.getTncAcceptedVersion = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 17, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.qb.smg.User} returns this\n */\nproto.qb.smg.User.prototype.setTncAcceptedVersion = function(value) {\n  return jspb.Message.setProto3StringField(this, 17, value);\n};\n\n\n/**\n * optional bool photo_accepted = 19;\n * @return {boolean}\n */\nproto.qb.smg.User.prototype.getPhotoAccepted = function() {\n  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 19, false));\n};\n\n\n/**\n * @param {boolean} value\n * @return {!proto.qb.smg.User} returns this\n */\nproto.qb.smg.User.prototype.setPhotoAccepted = function(value) {\n  return jspb.Message.setProto3BooleanField(this, 19, value);\n};\n\n\n/**\n * optional int32 kyc_status = 20;\n * @return {number}\n */\nproto.qb.smg.User.prototype.getKycStatus = function() {\n  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 20, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.qb.smg.User} returns this\n */\nproto.qb.smg.User.prototype.setKycStatus = function(value) {\n  return jspb.Message.setProto3IntField(this, 20, value);\n};\n\n\n/**\n * optional string date_of_birth = 21;\n * @return {string}\n */\nproto.qb.smg.User.prototype.getDateOfBirth = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 21, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.qb.smg.User} returns this\n */\nproto.qb.smg.User.prototype.setDateOfBirth = function(value) {\n  return jspb.Message.setProto3StringField(this, 21, value);\n};\n\n\n/**\n * optional string real_name = 22;\n * @return {string}\n */\nproto.qb.smg.User.prototype.getRealName = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 22, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.qb.smg.User} returns this\n */\nproto.qb.smg.User.prototype.setRealName = function(value) {\n  return jspb.Message.setProto3StringField(this, 22, value);\n};\n\n\n/**\n * optional bool email_confirmed = 23;\n * @return {boolean}\n */\nproto.qb.smg.User.prototype.getEmailConfirmed = function() {\n  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 23, false));\n};\n\n\n/**\n * @param {boolean} value\n * @return {!proto.qb.smg.User} returns this\n */\nproto.qb.smg.User.prototype.setEmailConfirmed = function(value) {\n  return jspb.Message.setProto3BooleanField(this, 23, value);\n};\n\n\n/**\n * optional string handicap = 24;\n * @return {string}\n */\nproto.qb.smg.User.prototype.getHandicap = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 24, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.qb.smg.User} returns this\n */\nproto.qb.smg.User.prototype.setHandicap = function(value) {\n  return jspb.Message.setProto3StringField(this, 24, value);\n};\n\n\n/**\n * optional bool allow_text_notifications = 25;\n * @return {boolean}\n */\nproto.qb.smg.User.prototype.getAllowTextNotifications = function() {\n  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 25, false));\n};\n\n\n/**\n * @param {boolean} value\n * @return {!proto.qb.smg.User} returns this\n */\nproto.qb.smg.User.prototype.setAllowTextNotifications = function(value) {\n  return jspb.Message.setProto3BooleanField(this, 25, value);\n};\n\n\n/**\n * optional bool allow_email_notifications = 26;\n * @return {boolean}\n */\nproto.qb.smg.User.prototype.getAllowEmailNotifications = function() {\n  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 26, false));\n};\n\n\n/**\n * @param {boolean} value\n * @return {!proto.qb.smg.User} returns this\n */\nproto.qb.smg.User.prototype.setAllowEmailNotifications = function(value) {\n  return jspb.Message.setProto3BooleanField(this, 26, value);\n};\n\n\n/**\n * optional bool allow_partner_promos = 27;\n * @return {boolean}\n */\nproto.qb.smg.User.prototype.getAllowPartnerPromos = function() {\n  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 27, false));\n};\n\n\n/**\n * @param {boolean} value\n * @return {!proto.qb.smg.User} returns this\n */\nproto.qb.smg.User.prototype.setAllowPartnerPromos = function(value) {\n  return jspb.Message.setProto3BooleanField(this, 27, value);\n};\n\n\n/**\n * optional bool self_limitation_confirmed = 28;\n * @return {boolean}\n */\nproto.qb.smg.User.prototype.getSelfLimitationConfirmed = function() {\n  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 28, false));\n};\n\n\n/**\n * @param {boolean} value\n * @return {!proto.qb.smg.User} returns this\n */\nproto.qb.smg.User.prototype.setSelfLimitationConfirmed = function(value) {\n  return jspb.Message.setProto3BooleanField(this, 28, value);\n};\n\n\n/**\n * optional int64 self_limitation_expiration = 29;\n * @return {number}\n */\nproto.qb.smg.User.prototype.getSelfLimitationExpiration = function() {\n  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 29, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.qb.smg.User} returns this\n */\nproto.qb.smg.User.prototype.setSelfLimitationExpiration = function(value) {\n  return jspb.Message.setProto3IntField(this, 29, value);\n};\n\n\n/**\n * optional bool auto_play_enabled = 30;\n * @return {boolean}\n */\nproto.qb.smg.User.prototype.getAutoPlayEnabled = function() {\n  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 30, false));\n};\n\n\n/**\n * @param {boolean} value\n * @return {!proto.qb.smg.User} returns this\n */\nproto.qb.smg.User.prototype.setAutoPlayEnabled = function(value) {\n  return jspb.Message.setProto3BooleanField(this, 30, value);\n};\n\n\n/**\n * optional int32 auto_play_amount = 31;\n * @return {number}\n */\nproto.qb.smg.User.prototype.getAutoPlayAmount = function() {\n  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 31, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.qb.smg.User} returns this\n */\nproto.qb.smg.User.prototype.setAutoPlayAmount = function(value) {\n  return jspb.Message.setProto3IntField(this, 31, value);\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.qb.smg.Location.prototype.toObject = function(opt_includeInstance) {\n  return proto.qb.smg.Location.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.qb.smg.Location} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.qb.smg.Location.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    latitude: jspb.Message.getFloatingPointFieldWithDefault(msg, 1, 0.0),\n    longitude: jspb.Message.getFloatingPointFieldWithDefault(msg, 2, 0.0)\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.qb.smg.Location}\n */\nproto.qb.smg.Location.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.qb.smg.Location;\n  return proto.qb.smg.Location.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.qb.smg.Location} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.qb.smg.Location}\n */\nproto.qb.smg.Location.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {number} */ (reader.readDouble());\n      msg.setLatitude(value);\n      break;\n    case 2:\n      var value = /** @type {number} */ (reader.readDouble());\n      msg.setLongitude(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.qb.smg.Location.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.qb.smg.Location.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.qb.smg.Location} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.qb.smg.Location.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getLatitude();\n  if (f !== 0.0) {\n    writer.writeDouble(\n      1,\n      f\n    );\n  }\n  f = message.getLongitude();\n  if (f !== 0.0) {\n    writer.writeDouble(\n      2,\n      f\n    );\n  }\n};\n\n\n/**\n * optional double latitude = 1;\n * @return {number}\n */\nproto.qb.smg.Location.prototype.getLatitude = function() {\n  return /** @type {number} */ (jspb.Message.getFloatingPointFieldWithDefault(this, 1, 0.0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.qb.smg.Location} returns this\n */\nproto.qb.smg.Location.prototype.setLatitude = function(value) {\n  return jspb.Message.setProto3FloatField(this, 1, value);\n};\n\n\n/**\n * optional double longitude = 2;\n * @return {number}\n */\nproto.qb.smg.Location.prototype.getLongitude = function() {\n  return /** @type {number} */ (jspb.Message.getFloatingPointFieldWithDefault(this, 2, 0.0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.qb.smg.Location} returns this\n */\nproto.qb.smg.Location.prototype.setLongitude = function(value) {\n  return jspb.Message.setProto3FloatField(this, 2, value);\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.qb.smg.VenueConfig.prototype.toObject = function(opt_includeInstance) {\n  return proto.qb.smg.VenueConfig.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.qb.smg.VenueConfig} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.qb.smg.VenueConfig.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    facialRecognitionServerAddress: jspb.Message.getFieldWithDefault(msg, 1, \"\")\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.qb.smg.VenueConfig}\n */\nproto.qb.smg.VenueConfig.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.qb.smg.VenueConfig;\n  return proto.qb.smg.VenueConfig.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.qb.smg.VenueConfig} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.qb.smg.VenueConfig}\n */\nproto.qb.smg.VenueConfig.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setFacialRecognitionServerAddress(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.qb.smg.VenueConfig.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.qb.smg.VenueConfig.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.qb.smg.VenueConfig} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.qb.smg.VenueConfig.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getFacialRecognitionServerAddress();\n  if (f.length > 0) {\n    writer.writeString(\n      1,\n      f\n    );\n  }\n};\n\n\n/**\n * optional string facial_recognition_server_address = 1;\n * @return {string}\n */\nproto.qb.smg.VenueConfig.prototype.getFacialRecognitionServerAddress = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.qb.smg.VenueConfig} returns this\n */\nproto.qb.smg.VenueConfig.prototype.setFacialRecognitionServerAddress = function(value) {\n  return jspb.Message.setProto3StringField(this, 1, value);\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.qb.smg.Error.prototype.toObject = function(opt_includeInstance) {\n  return proto.qb.smg.Error.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.qb.smg.Error} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.qb.smg.Error.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    code: jspb.Message.getFieldWithDefault(msg, 1, 0),\n    message: jspb.Message.getFieldWithDefault(msg, 2, \"\")\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.qb.smg.Error}\n */\nproto.qb.smg.Error.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.qb.smg.Error;\n  return proto.qb.smg.Error.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.qb.smg.Error} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.qb.smg.Error}\n */\nproto.qb.smg.Error.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {number} */ (reader.readInt64());\n      msg.setCode(value);\n      break;\n    case 2:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setMessage(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.qb.smg.Error.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.qb.smg.Error.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.qb.smg.Error} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.qb.smg.Error.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getCode();\n  if (f !== 0) {\n    writer.writeInt64(\n      1,\n      f\n    );\n  }\n  f = message.getMessage();\n  if (f.length > 0) {\n    writer.writeString(\n      2,\n      f\n    );\n  }\n};\n\n\n/**\n * optional int64 code = 1;\n * @return {number}\n */\nproto.qb.smg.Error.prototype.getCode = function() {\n  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.qb.smg.Error} returns this\n */\nproto.qb.smg.Error.prototype.setCode = function(value) {\n  return jspb.Message.setProto3IntField(this, 1, value);\n};\n\n\n/**\n * optional string message = 2;\n * @return {string}\n */\nproto.qb.smg.Error.prototype.getMessage = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.qb.smg.Error} returns this\n */\nproto.qb.smg.Error.prototype.setMessage = function(value) {\n  return jspb.Message.setProto3StringField(this, 2, value);\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.qb.smg.Skills.prototype.toObject = function(opt_includeInstance) {\n  return proto.qb.smg.Skills.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.qb.smg.Skills} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.qb.smg.Skills.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    skillLevel1: jspb.Message.getFieldWithDefault(msg, 1, 0),\n    skillLevel2: jspb.Message.getFieldWithDefault(msg, 2, 0),\n    skillLevel3: jspb.Message.getFieldWithDefault(msg, 3, 0),\n    skillLevel4: jspb.Message.getFieldWithDefault(msg, 4, 0),\n    golf2GameSkill: jspb.Message.getFieldWithDefault(msg, 5, 0)\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.qb.smg.Skills}\n */\nproto.qb.smg.Skills.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.qb.smg.Skills;\n  return proto.qb.smg.Skills.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.qb.smg.Skills} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.qb.smg.Skills}\n */\nproto.qb.smg.Skills.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {number} */ (reader.readInt64());\n      msg.setSkillLevel1(value);\n      break;\n    case 2:\n      var value = /** @type {number} */ (reader.readInt64());\n      msg.setSkillLevel2(value);\n      break;\n    case 3:\n      var value = /** @type {number} */ (reader.readInt64());\n      msg.setSkillLevel3(value);\n      break;\n    case 4:\n      var value = /** @type {number} */ (reader.readInt64());\n      msg.setSkillLevel4(value);\n      break;\n    case 5:\n      var value = /** @type {number} */ (reader.readInt64());\n      msg.setGolf2GameSkill(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.qb.smg.Skills.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.qb.smg.Skills.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.qb.smg.Skills} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.qb.smg.Skills.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getSkillLevel1();\n  if (f !== 0) {\n    writer.writeInt64(\n      1,\n      f\n    );\n  }\n  f = message.getSkillLevel2();\n  if (f !== 0) {\n    writer.writeInt64(\n      2,\n      f\n    );\n  }\n  f = message.getSkillLevel3();\n  if (f !== 0) {\n    writer.writeInt64(\n      3,\n      f\n    );\n  }\n  f = message.getSkillLevel4();\n  if (f !== 0) {\n    writer.writeInt64(\n      4,\n      f\n    );\n  }\n  f = message.getGolf2GameSkill();\n  if (f !== 0) {\n    writer.writeInt64(\n      5,\n      f\n    );\n  }\n};\n\n\n/**\n * optional int64 skill_level_1 = 1;\n * @return {number}\n */\nproto.qb.smg.Skills.prototype.getSkillLevel1 = function() {\n  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.qb.smg.Skills} returns this\n */\nproto.qb.smg.Skills.prototype.setSkillLevel1 = function(value) {\n  return jspb.Message.setProto3IntField(this, 1, value);\n};\n\n\n/**\n * optional int64 skill_level_2 = 2;\n * @return {number}\n */\nproto.qb.smg.Skills.prototype.getSkillLevel2 = function() {\n  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 2, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.qb.smg.Skills} returns this\n */\nproto.qb.smg.Skills.prototype.setSkillLevel2 = function(value) {\n  return jspb.Message.setProto3IntField(this, 2, value);\n};\n\n\n/**\n * optional int64 skill_level_3 = 3;\n * @return {number}\n */\nproto.qb.smg.Skills.prototype.getSkillLevel3 = function() {\n  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 3, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.qb.smg.Skills} returns this\n */\nproto.qb.smg.Skills.prototype.setSkillLevel3 = function(value) {\n  return jspb.Message.setProto3IntField(this, 3, value);\n};\n\n\n/**\n * optional int64 skill_level_4 = 4;\n * @return {number}\n */\nproto.qb.smg.Skills.prototype.getSkillLevel4 = function() {\n  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 4, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.qb.smg.Skills} returns this\n */\nproto.qb.smg.Skills.prototype.setSkillLevel4 = function(value) {\n  return jspb.Message.setProto3IntField(this, 4, value);\n};\n\n\n/**\n * optional int64 golf2_game_skill = 5;\n * @return {number}\n */\nproto.qb.smg.Skills.prototype.getGolf2GameSkill = function() {\n  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 5, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.qb.smg.Skills} returns this\n */\nproto.qb.smg.Skills.prototype.setGolf2GameSkill = function(value) {\n  return jspb.Message.setProto3IntField(this, 5, value);\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.qb.smg.TransactionHistory.prototype.toObject = function(opt_includeInstance) {\n  return proto.qb.smg.TransactionHistory.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.qb.smg.TransactionHistory} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.qb.smg.TransactionHistory.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    playerid: jspb.Message.getFieldWithDefault(msg, 1, 0),\n    type: jspb.Message.getFieldWithDefault(msg, 2, \"\"),\n    time: jspb.Message.getFieldWithDefault(msg, 3, 0),\n    amount: jspb.Message.getFieldWithDefault(msg, 4, 0),\n    status: jspb.Message.getFieldWithDefault(msg, 5, \"\"),\n    winAmount: jspb.Message.getFieldWithDefault(msg, 6, 0),\n    lastUpdateTime: jspb.Message.getFieldWithDefault(msg, 7, 0)\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.qb.smg.TransactionHistory}\n */\nproto.qb.smg.TransactionHistory.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.qb.smg.TransactionHistory;\n  return proto.qb.smg.TransactionHistory.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.qb.smg.TransactionHistory} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.qb.smg.TransactionHistory}\n */\nproto.qb.smg.TransactionHistory.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {number} */ (reader.readUint64());\n      msg.setPlayerid(value);\n      break;\n    case 2:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setType(value);\n      break;\n    case 3:\n      var value = /** @type {number} */ (reader.readInt64());\n      msg.setTime(value);\n      break;\n    case 4:\n      var value = /** @type {number} */ (reader.readInt64());\n      msg.setAmount(value);\n      break;\n    case 5:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setStatus(value);\n      break;\n    case 6:\n      var value = /** @type {number} */ (reader.readInt64());\n      msg.setWinAmount(value);\n      break;\n    case 7:\n      var value = /** @type {number} */ (reader.readInt64());\n      msg.setLastUpdateTime(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.qb.smg.TransactionHistory.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.qb.smg.TransactionHistory.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.qb.smg.TransactionHistory} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.qb.smg.TransactionHistory.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getPlayerid();\n  if (f !== 0) {\n    writer.writeUint64(\n      1,\n      f\n    );\n  }\n  f = message.getType();\n  if (f.length > 0) {\n    writer.writeString(\n      2,\n      f\n    );\n  }\n  f = message.getTime();\n  if (f !== 0) {\n    writer.writeInt64(\n      3,\n      f\n    );\n  }\n  f = message.getAmount();\n  if (f !== 0) {\n    writer.writeInt64(\n      4,\n      f\n    );\n  }\n  f = message.getStatus();\n  if (f.length > 0) {\n    writer.writeString(\n      5,\n      f\n    );\n  }\n  f = message.getWinAmount();\n  if (f !== 0) {\n    writer.writeInt64(\n      6,\n      f\n    );\n  }\n  f = message.getLastUpdateTime();\n  if (f !== 0) {\n    writer.writeInt64(\n      7,\n      f\n    );\n  }\n};\n\n\n/**\n * optional uint64 playerId = 1;\n * @return {number}\n */\nproto.qb.smg.TransactionHistory.prototype.getPlayerid = function() {\n  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.qb.smg.TransactionHistory} returns this\n */\nproto.qb.smg.TransactionHistory.prototype.setPlayerid = function(value) {\n  return jspb.Message.setProto3IntField(this, 1, value);\n};\n\n\n/**\n * optional string type = 2;\n * @return {string}\n */\nproto.qb.smg.TransactionHistory.prototype.getType = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.qb.smg.TransactionHistory} returns this\n */\nproto.qb.smg.TransactionHistory.prototype.setType = function(value) {\n  return jspb.Message.setProto3StringField(this, 2, value);\n};\n\n\n/**\n * optional int64 time = 3;\n * @return {number}\n */\nproto.qb.smg.TransactionHistory.prototype.getTime = function() {\n  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 3, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.qb.smg.TransactionHistory} returns this\n */\nproto.qb.smg.TransactionHistory.prototype.setTime = function(value) {\n  return jspb.Message.setProto3IntField(this, 3, value);\n};\n\n\n/**\n * optional int64 amount = 4;\n * @return {number}\n */\nproto.qb.smg.TransactionHistory.prototype.getAmount = function() {\n  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 4, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.qb.smg.TransactionHistory} returns this\n */\nproto.qb.smg.TransactionHistory.prototype.setAmount = function(value) {\n  return jspb.Message.setProto3IntField(this, 4, value);\n};\n\n\n/**\n * optional string status = 5;\n * @return {string}\n */\nproto.qb.smg.TransactionHistory.prototype.getStatus = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 5, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.qb.smg.TransactionHistory} returns this\n */\nproto.qb.smg.TransactionHistory.prototype.setStatus = function(value) {\n  return jspb.Message.setProto3StringField(this, 5, value);\n};\n\n\n/**\n * optional int64 win_amount = 6;\n * @return {number}\n */\nproto.qb.smg.TransactionHistory.prototype.getWinAmount = function() {\n  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 6, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.qb.smg.TransactionHistory} returns this\n */\nproto.qb.smg.TransactionHistory.prototype.setWinAmount = function(value) {\n  return jspb.Message.setProto3IntField(this, 6, value);\n};\n\n\n/**\n * optional int64 last_update_time = 7;\n * @return {number}\n */\nproto.qb.smg.TransactionHistory.prototype.getLastUpdateTime = function() {\n  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 7, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.qb.smg.TransactionHistory} returns this\n */\nproto.qb.smg.TransactionHistory.prototype.setLastUpdateTime = function(value) {\n  return jspb.Message.setProto3IntField(this, 7, value);\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.qb.smg.SetWelcomeBonusRequest.prototype.toObject = function(opt_includeInstance) {\n  return proto.qb.smg.SetWelcomeBonusRequest.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.qb.smg.SetWelcomeBonusRequest} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.qb.smg.SetWelcomeBonusRequest.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    bonusId: jspb.Message.getFieldWithDefault(msg, 1, 0),\n    daysBeforeExpire: jspb.Message.getFieldWithDefault(msg, 2, 0),\n    amount: jspb.Message.getFieldWithDefault(msg, 3, 0),\n    turnoverAmount: jspb.Message.getFieldWithDefault(msg, 4, 0),\n    enabled: jspb.Message.getBooleanFieldWithDefault(msg, 5, false)\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.qb.smg.SetWelcomeBonusRequest}\n */\nproto.qb.smg.SetWelcomeBonusRequest.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.qb.smg.SetWelcomeBonusRequest;\n  return proto.qb.smg.SetWelcomeBonusRequest.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.qb.smg.SetWelcomeBonusRequest} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.qb.smg.SetWelcomeBonusRequest}\n */\nproto.qb.smg.SetWelcomeBonusRequest.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {number} */ (reader.readInt64());\n      msg.setBonusId(value);\n      break;\n    case 2:\n      var value = /** @type {number} */ (reader.readInt32());\n      msg.setDaysBeforeExpire(value);\n      break;\n    case 3:\n      var value = /** @type {number} */ (reader.readInt64());\n      msg.setAmount(value);\n      break;\n    case 4:\n      var value = /** @type {number} */ (reader.readInt64());\n      msg.setTurnoverAmount(value);\n      break;\n    case 5:\n      var value = /** @type {boolean} */ (reader.readBool());\n      msg.setEnabled(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.qb.smg.SetWelcomeBonusRequest.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.qb.smg.SetWelcomeBonusRequest.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.qb.smg.SetWelcomeBonusRequest} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.qb.smg.SetWelcomeBonusRequest.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getBonusId();\n  if (f !== 0) {\n    writer.writeInt64(\n      1,\n      f\n    );\n  }\n  f = message.getDaysBeforeExpire();\n  if (f !== 0) {\n    writer.writeInt32(\n      2,\n      f\n    );\n  }\n  f = message.getAmount();\n  if (f !== 0) {\n    writer.writeInt64(\n      3,\n      f\n    );\n  }\n  f = message.getTurnoverAmount();\n  if (f !== 0) {\n    writer.writeInt64(\n      4,\n      f\n    );\n  }\n  f = message.getEnabled();\n  if (f) {\n    writer.writeBool(\n      5,\n      f\n    );\n  }\n};\n\n\n/**\n * optional int64 bonus_id = 1;\n * @return {number}\n */\nproto.qb.smg.SetWelcomeBonusRequest.prototype.getBonusId = function() {\n  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.qb.smg.SetWelcomeBonusRequest} returns this\n */\nproto.qb.smg.SetWelcomeBonusRequest.prototype.setBonusId = function(value) {\n  return jspb.Message.setProto3IntField(this, 1, value);\n};\n\n\n/**\n * optional int32 days_before_expire = 2;\n * @return {number}\n */\nproto.qb.smg.SetWelcomeBonusRequest.prototype.getDaysBeforeExpire = function() {\n  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 2, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.qb.smg.SetWelcomeBonusRequest} returns this\n */\nproto.qb.smg.SetWelcomeBonusRequest.prototype.setDaysBeforeExpire = function(value) {\n  return jspb.Message.setProto3IntField(this, 2, value);\n};\n\n\n/**\n * optional int64 amount = 3;\n * @return {number}\n */\nproto.qb.smg.SetWelcomeBonusRequest.prototype.getAmount = function() {\n  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 3, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.qb.smg.SetWelcomeBonusRequest} returns this\n */\nproto.qb.smg.SetWelcomeBonusRequest.prototype.setAmount = function(value) {\n  return jspb.Message.setProto3IntField(this, 3, value);\n};\n\n\n/**\n * optional int64 turnover_amount = 4;\n * @return {number}\n */\nproto.qb.smg.SetWelcomeBonusRequest.prototype.getTurnoverAmount = function() {\n  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 4, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.qb.smg.SetWelcomeBonusRequest} returns this\n */\nproto.qb.smg.SetWelcomeBonusRequest.prototype.setTurnoverAmount = function(value) {\n  return jspb.Message.setProto3IntField(this, 4, value);\n};\n\n\n/**\n * optional bool enabled = 5;\n * @return {boolean}\n */\nproto.qb.smg.SetWelcomeBonusRequest.prototype.getEnabled = function() {\n  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 5, false));\n};\n\n\n/**\n * @param {boolean} value\n * @return {!proto.qb.smg.SetWelcomeBonusRequest} returns this\n */\nproto.qb.smg.SetWelcomeBonusRequest.prototype.setEnabled = function(value) {\n  return jspb.Message.setProto3BooleanField(this, 5, value);\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.qb.smg.SetWelcomeBonusResponse.prototype.toObject = function(opt_includeInstance) {\n  return proto.qb.smg.SetWelcomeBonusResponse.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.qb.smg.SetWelcomeBonusResponse} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.qb.smg.SetWelcomeBonusResponse.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    success: jspb.Message.getBooleanFieldWithDefault(msg, 1, false),\n    error: (f = msg.getError()) && proto.qb.smg.Error.toObject(includeInstance, f)\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.qb.smg.SetWelcomeBonusResponse}\n */\nproto.qb.smg.SetWelcomeBonusResponse.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.qb.smg.SetWelcomeBonusResponse;\n  return proto.qb.smg.SetWelcomeBonusResponse.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.qb.smg.SetWelcomeBonusResponse} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.qb.smg.SetWelcomeBonusResponse}\n */\nproto.qb.smg.SetWelcomeBonusResponse.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {boolean} */ (reader.readBool());\n      msg.setSuccess(value);\n      break;\n    case 2:\n      var value = new proto.qb.smg.Error;\n      reader.readMessage(value,proto.qb.smg.Error.deserializeBinaryFromReader);\n      msg.setError(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.qb.smg.SetWelcomeBonusResponse.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.qb.smg.SetWelcomeBonusResponse.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.qb.smg.SetWelcomeBonusResponse} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.qb.smg.SetWelcomeBonusResponse.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getSuccess();\n  if (f) {\n    writer.writeBool(\n      1,\n      f\n    );\n  }\n  f = message.getError();\n  if (f != null) {\n    writer.writeMessage(\n      2,\n      f,\n      proto.qb.smg.Error.serializeBinaryToWriter\n    );\n  }\n};\n\n\n/**\n * optional bool success = 1;\n * @return {boolean}\n */\nproto.qb.smg.SetWelcomeBonusResponse.prototype.getSuccess = function() {\n  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 1, false));\n};\n\n\n/**\n * @param {boolean} value\n * @return {!proto.qb.smg.SetWelcomeBonusResponse} returns this\n */\nproto.qb.smg.SetWelcomeBonusResponse.prototype.setSuccess = function(value) {\n  return jspb.Message.setProto3BooleanField(this, 1, value);\n};\n\n\n/**\n * optional Error error = 2;\n * @return {?proto.qb.smg.Error}\n */\nproto.qb.smg.SetWelcomeBonusResponse.prototype.getError = function() {\n  return /** @type{?proto.qb.smg.Error} */ (\n    jspb.Message.getWrapperField(this, proto.qb.smg.Error, 2));\n};\n\n\n/**\n * @param {?proto.qb.smg.Error|undefined} value\n * @return {!proto.qb.smg.SetWelcomeBonusResponse} returns this\n*/\nproto.qb.smg.SetWelcomeBonusResponse.prototype.setError = function(value) {\n  return jspb.Message.setWrapperField(this, 2, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.qb.smg.SetWelcomeBonusResponse} returns this\n */\nproto.qb.smg.SetWelcomeBonusResponse.prototype.clearError = function() {\n  return this.setError(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.qb.smg.SetWelcomeBonusResponse.prototype.hasError = function() {\n  return jspb.Message.getField(this, 2) != null;\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.qb.smg.EnableShawWalletRequest.prototype.toObject = function(opt_includeInstance) {\n  return proto.qb.smg.EnableShawWalletRequest.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.qb.smg.EnableShawWalletRequest} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.qb.smg.EnableShawWalletRequest.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    userId: jspb.Message.getFieldWithDefault(msg, 1, 0),\n    enabled: jspb.Message.getBooleanFieldWithDefault(msg, 2, false),\n    token: jspb.Message.getFieldWithDefault(msg, 3, \"\")\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.qb.smg.EnableShawWalletRequest}\n */\nproto.qb.smg.EnableShawWalletRequest.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.qb.smg.EnableShawWalletRequest;\n  return proto.qb.smg.EnableShawWalletRequest.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.qb.smg.EnableShawWalletRequest} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.qb.smg.EnableShawWalletRequest}\n */\nproto.qb.smg.EnableShawWalletRequest.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {number} */ (reader.readInt32());\n      msg.setUserId(value);\n      break;\n    case 2:\n      var value = /** @type {boolean} */ (reader.readBool());\n      msg.setEnabled(value);\n      break;\n    case 3:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setToken(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.qb.smg.EnableShawWalletRequest.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.qb.smg.EnableShawWalletRequest.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.qb.smg.EnableShawWalletRequest} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.qb.smg.EnableShawWalletRequest.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getUserId();\n  if (f !== 0) {\n    writer.writeInt32(\n      1,\n      f\n    );\n  }\n  f = message.getEnabled();\n  if (f) {\n    writer.writeBool(\n      2,\n      f\n    );\n  }\n  f = message.getToken();\n  if (f.length > 0) {\n    writer.writeString(\n      3,\n      f\n    );\n  }\n};\n\n\n/**\n * optional int32 user_id = 1;\n * @return {number}\n */\nproto.qb.smg.EnableShawWalletRequest.prototype.getUserId = function() {\n  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.qb.smg.EnableShawWalletRequest} returns this\n */\nproto.qb.smg.EnableShawWalletRequest.prototype.setUserId = function(value) {\n  return jspb.Message.setProto3IntField(this, 1, value);\n};\n\n\n/**\n * optional bool enabled = 2;\n * @return {boolean}\n */\nproto.qb.smg.EnableShawWalletRequest.prototype.getEnabled = function() {\n  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 2, false));\n};\n\n\n/**\n * @param {boolean} value\n * @return {!proto.qb.smg.EnableShawWalletRequest} returns this\n */\nproto.qb.smg.EnableShawWalletRequest.prototype.setEnabled = function(value) {\n  return jspb.Message.setProto3BooleanField(this, 2, value);\n};\n\n\n/**\n * optional string token = 3;\n * @return {string}\n */\nproto.qb.smg.EnableShawWalletRequest.prototype.getToken = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 3, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.qb.smg.EnableShawWalletRequest} returns this\n */\nproto.qb.smg.EnableShawWalletRequest.prototype.setToken = function(value) {\n  return jspb.Message.setProto3StringField(this, 3, value);\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.qb.smg.EnableShawWalletResponse.prototype.toObject = function(opt_includeInstance) {\n  return proto.qb.smg.EnableShawWalletResponse.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.qb.smg.EnableShawWalletResponse} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.qb.smg.EnableShawWalletResponse.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    success: jspb.Message.getBooleanFieldWithDefault(msg, 1, false),\n    error: (f = msg.getError()) && proto.qb.smg.Error.toObject(includeInstance, f)\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.qb.smg.EnableShawWalletResponse}\n */\nproto.qb.smg.EnableShawWalletResponse.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.qb.smg.EnableShawWalletResponse;\n  return proto.qb.smg.EnableShawWalletResponse.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.qb.smg.EnableShawWalletResponse} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.qb.smg.EnableShawWalletResponse}\n */\nproto.qb.smg.EnableShawWalletResponse.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {boolean} */ (reader.readBool());\n      msg.setSuccess(value);\n      break;\n    case 2:\n      var value = new proto.qb.smg.Error;\n      reader.readMessage(value,proto.qb.smg.Error.deserializeBinaryFromReader);\n      msg.setError(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.qb.smg.EnableShawWalletResponse.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.qb.smg.EnableShawWalletResponse.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.qb.smg.EnableShawWalletResponse} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.qb.smg.EnableShawWalletResponse.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getSuccess();\n  if (f) {\n    writer.writeBool(\n      1,\n      f\n    );\n  }\n  f = message.getError();\n  if (f != null) {\n    writer.writeMessage(\n      2,\n      f,\n      proto.qb.smg.Error.serializeBinaryToWriter\n    );\n  }\n};\n\n\n/**\n * optional bool success = 1;\n * @return {boolean}\n */\nproto.qb.smg.EnableShawWalletResponse.prototype.getSuccess = function() {\n  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 1, false));\n};\n\n\n/**\n * @param {boolean} value\n * @return {!proto.qb.smg.EnableShawWalletResponse} returns this\n */\nproto.qb.smg.EnableShawWalletResponse.prototype.setSuccess = function(value) {\n  return jspb.Message.setProto3BooleanField(this, 1, value);\n};\n\n\n/**\n * optional Error error = 2;\n * @return {?proto.qb.smg.Error}\n */\nproto.qb.smg.EnableShawWalletResponse.prototype.getError = function() {\n  return /** @type{?proto.qb.smg.Error} */ (\n    jspb.Message.getWrapperField(this, proto.qb.smg.Error, 2));\n};\n\n\n/**\n * @param {?proto.qb.smg.Error|undefined} value\n * @return {!proto.qb.smg.EnableShawWalletResponse} returns this\n*/\nproto.qb.smg.EnableShawWalletResponse.prototype.setError = function(value) {\n  return jspb.Message.setWrapperField(this, 2, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.qb.smg.EnableShawWalletResponse} returns this\n */\nproto.qb.smg.EnableShawWalletResponse.prototype.clearError = function() {\n  return this.setError(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.qb.smg.EnableShawWalletResponse.prototype.hasError = function() {\n  return jspb.Message.getField(this, 2) != null;\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.qb.smg.ResetKycRequest.prototype.toObject = function(opt_includeInstance) {\n  return proto.qb.smg.ResetKycRequest.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.qb.smg.ResetKycRequest} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.qb.smg.ResetKycRequest.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    playerId: jspb.Message.getFieldWithDefault(msg, 1, 0),\n    token: jspb.Message.getFieldWithDefault(msg, 2, \"\")\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.qb.smg.ResetKycRequest}\n */\nproto.qb.smg.ResetKycRequest.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.qb.smg.ResetKycRequest;\n  return proto.qb.smg.ResetKycRequest.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.qb.smg.ResetKycRequest} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.qb.smg.ResetKycRequest}\n */\nproto.qb.smg.ResetKycRequest.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {number} */ (reader.readInt64());\n      msg.setPlayerId(value);\n      break;\n    case 2:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setToken(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.qb.smg.ResetKycRequest.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.qb.smg.ResetKycRequest.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.qb.smg.ResetKycRequest} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.qb.smg.ResetKycRequest.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getPlayerId();\n  if (f !== 0) {\n    writer.writeInt64(\n      1,\n      f\n    );\n  }\n  f = message.getToken();\n  if (f.length > 0) {\n    writer.writeString(\n      2,\n      f\n    );\n  }\n};\n\n\n/**\n * optional int64 player_id = 1;\n * @return {number}\n */\nproto.qb.smg.ResetKycRequest.prototype.getPlayerId = function() {\n  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.qb.smg.ResetKycRequest} returns this\n */\nproto.qb.smg.ResetKycRequest.prototype.setPlayerId = function(value) {\n  return jspb.Message.setProto3IntField(this, 1, value);\n};\n\n\n/**\n * optional string token = 2;\n * @return {string}\n */\nproto.qb.smg.ResetKycRequest.prototype.getToken = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.qb.smg.ResetKycRequest} returns this\n */\nproto.qb.smg.ResetKycRequest.prototype.setToken = function(value) {\n  return jspb.Message.setProto3StringField(this, 2, value);\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.qb.smg.ResetKycReply.prototype.toObject = function(opt_includeInstance) {\n  return proto.qb.smg.ResetKycReply.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.qb.smg.ResetKycReply} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.qb.smg.ResetKycReply.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    success: jspb.Message.getBooleanFieldWithDefault(msg, 1, false),\n    error: (f = msg.getError()) && proto.qb.smg.Error.toObject(includeInstance, f)\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.qb.smg.ResetKycReply}\n */\nproto.qb.smg.ResetKycReply.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.qb.smg.ResetKycReply;\n  return proto.qb.smg.ResetKycReply.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.qb.smg.ResetKycReply} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.qb.smg.ResetKycReply}\n */\nproto.qb.smg.ResetKycReply.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {boolean} */ (reader.readBool());\n      msg.setSuccess(value);\n      break;\n    case 2:\n      var value = new proto.qb.smg.Error;\n      reader.readMessage(value,proto.qb.smg.Error.deserializeBinaryFromReader);\n      msg.setError(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.qb.smg.ResetKycReply.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.qb.smg.ResetKycReply.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.qb.smg.ResetKycReply} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.qb.smg.ResetKycReply.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getSuccess();\n  if (f) {\n    writer.writeBool(\n      1,\n      f\n    );\n  }\n  f = message.getError();\n  if (f != null) {\n    writer.writeMessage(\n      2,\n      f,\n      proto.qb.smg.Error.serializeBinaryToWriter\n    );\n  }\n};\n\n\n/**\n * optional bool success = 1;\n * @return {boolean}\n */\nproto.qb.smg.ResetKycReply.prototype.getSuccess = function() {\n  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 1, false));\n};\n\n\n/**\n * @param {boolean} value\n * @return {!proto.qb.smg.ResetKycReply} returns this\n */\nproto.qb.smg.ResetKycReply.prototype.setSuccess = function(value) {\n  return jspb.Message.setProto3BooleanField(this, 1, value);\n};\n\n\n/**\n * optional Error error = 2;\n * @return {?proto.qb.smg.Error}\n */\nproto.qb.smg.ResetKycReply.prototype.getError = function() {\n  return /** @type{?proto.qb.smg.Error} */ (\n    jspb.Message.getWrapperField(this, proto.qb.smg.Error, 2));\n};\n\n\n/**\n * @param {?proto.qb.smg.Error|undefined} value\n * @return {!proto.qb.smg.ResetKycReply} returns this\n*/\nproto.qb.smg.ResetKycReply.prototype.setError = function(value) {\n  return jspb.Message.setWrapperField(this, 2, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.qb.smg.ResetKycReply} returns this\n */\nproto.qb.smg.ResetKycReply.prototype.clearError = function() {\n  return this.setError(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.qb.smg.ResetKycReply.prototype.hasError = function() {\n  return jspb.Message.getField(this, 2) != null;\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.qb.smg.GetPromosRequest.prototype.toObject = function(opt_includeInstance) {\n  return proto.qb.smg.GetPromosRequest.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.qb.smg.GetPromosRequest} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.qb.smg.GetPromosRequest.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    playerId: jspb.Message.getFieldWithDefault(msg, 1, 0),\n    token: jspb.Message.getFieldWithDefault(msg, 2, \"\")\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.qb.smg.GetPromosRequest}\n */\nproto.qb.smg.GetPromosRequest.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.qb.smg.GetPromosRequest;\n  return proto.qb.smg.GetPromosRequest.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.qb.smg.GetPromosRequest} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.qb.smg.GetPromosRequest}\n */\nproto.qb.smg.GetPromosRequest.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {number} */ (reader.readInt64());\n      msg.setPlayerId(value);\n      break;\n    case 2:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setToken(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.qb.smg.GetPromosRequest.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.qb.smg.GetPromosRequest.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.qb.smg.GetPromosRequest} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.qb.smg.GetPromosRequest.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getPlayerId();\n  if (f !== 0) {\n    writer.writeInt64(\n      1,\n      f\n    );\n  }\n  f = message.getToken();\n  if (f.length > 0) {\n    writer.writeString(\n      2,\n      f\n    );\n  }\n};\n\n\n/**\n * optional int64 player_id = 1;\n * @return {number}\n */\nproto.qb.smg.GetPromosRequest.prototype.getPlayerId = function() {\n  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.qb.smg.GetPromosRequest} returns this\n */\nproto.qb.smg.GetPromosRequest.prototype.setPlayerId = function(value) {\n  return jspb.Message.setProto3IntField(this, 1, value);\n};\n\n\n/**\n * optional string token = 2;\n * @return {string}\n */\nproto.qb.smg.GetPromosRequest.prototype.getToken = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.qb.smg.GetPromosRequest} returns this\n */\nproto.qb.smg.GetPromosRequest.prototype.setToken = function(value) {\n  return jspb.Message.setProto3StringField(this, 2, value);\n};\n\n\n\n/**\n * List of repeated fields within this message type.\n * @private {!Array<number>}\n * @const\n */\nproto.qb.smg.GetPromosResponse.repeatedFields_ = [3];\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.qb.smg.GetPromosResponse.prototype.toObject = function(opt_includeInstance) {\n  return proto.qb.smg.GetPromosResponse.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.qb.smg.GetPromosResponse} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.qb.smg.GetPromosResponse.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    success: jspb.Message.getBooleanFieldWithDefault(msg, 1, false),\n    error: (f = msg.getError()) && proto.qb.smg.Error.toObject(includeInstance, f),\n    promosList: jspb.Message.toObjectList(msg.getPromosList(),\n    proto.qb.smg.Promo.toObject, includeInstance)\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.qb.smg.GetPromosResponse}\n */\nproto.qb.smg.GetPromosResponse.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.qb.smg.GetPromosResponse;\n  return proto.qb.smg.GetPromosResponse.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.qb.smg.GetPromosResponse} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.qb.smg.GetPromosResponse}\n */\nproto.qb.smg.GetPromosResponse.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {boolean} */ (reader.readBool());\n      msg.setSuccess(value);\n      break;\n    case 2:\n      var value = new proto.qb.smg.Error;\n      reader.readMessage(value,proto.qb.smg.Error.deserializeBinaryFromReader);\n      msg.setError(value);\n      break;\n    case 3:\n      var value = new proto.qb.smg.Promo;\n      reader.readMessage(value,proto.qb.smg.Promo.deserializeBinaryFromReader);\n      msg.addPromos(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.qb.smg.GetPromosResponse.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.qb.smg.GetPromosResponse.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.qb.smg.GetPromosResponse} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.qb.smg.GetPromosResponse.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getSuccess();\n  if (f) {\n    writer.writeBool(\n      1,\n      f\n    );\n  }\n  f = message.getError();\n  if (f != null) {\n    writer.writeMessage(\n      2,\n      f,\n      proto.qb.smg.Error.serializeBinaryToWriter\n    );\n  }\n  f = message.getPromosList();\n  if (f.length > 0) {\n    writer.writeRepeatedMessage(\n      3,\n      f,\n      proto.qb.smg.Promo.serializeBinaryToWriter\n    );\n  }\n};\n\n\n/**\n * optional bool success = 1;\n * @return {boolean}\n */\nproto.qb.smg.GetPromosResponse.prototype.getSuccess = function() {\n  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 1, false));\n};\n\n\n/**\n * @param {boolean} value\n * @return {!proto.qb.smg.GetPromosResponse} returns this\n */\nproto.qb.smg.GetPromosResponse.prototype.setSuccess = function(value) {\n  return jspb.Message.setProto3BooleanField(this, 1, value);\n};\n\n\n/**\n * optional Error error = 2;\n * @return {?proto.qb.smg.Error}\n */\nproto.qb.smg.GetPromosResponse.prototype.getError = function() {\n  return /** @type{?proto.qb.smg.Error} */ (\n    jspb.Message.getWrapperField(this, proto.qb.smg.Error, 2));\n};\n\n\n/**\n * @param {?proto.qb.smg.Error|undefined} value\n * @return {!proto.qb.smg.GetPromosResponse} returns this\n*/\nproto.qb.smg.GetPromosResponse.prototype.setError = function(value) {\n  return jspb.Message.setWrapperField(this, 2, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.qb.smg.GetPromosResponse} returns this\n */\nproto.qb.smg.GetPromosResponse.prototype.clearError = function() {\n  return this.setError(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.qb.smg.GetPromosResponse.prototype.hasError = function() {\n  return jspb.Message.getField(this, 2) != null;\n};\n\n\n/**\n * repeated Promo promos = 3;\n * @return {!Array<!proto.qb.smg.Promo>}\n */\nproto.qb.smg.GetPromosResponse.prototype.getPromosList = function() {\n  return /** @type{!Array<!proto.qb.smg.Promo>} */ (\n    jspb.Message.getRepeatedWrapperField(this, proto.qb.smg.Promo, 3));\n};\n\n\n/**\n * @param {!Array<!proto.qb.smg.Promo>} value\n * @return {!proto.qb.smg.GetPromosResponse} returns this\n*/\nproto.qb.smg.GetPromosResponse.prototype.setPromosList = function(value) {\n  return jspb.Message.setRepeatedWrapperField(this, 3, value);\n};\n\n\n/**\n * @param {!proto.qb.smg.Promo=} opt_value\n * @param {number=} opt_index\n * @return {!proto.qb.smg.Promo}\n */\nproto.qb.smg.GetPromosResponse.prototype.addPromos = function(opt_value, opt_index) {\n  return jspb.Message.addToRepeatedWrapperField(this, 3, opt_value, proto.qb.smg.Promo, opt_index);\n};\n\n\n/**\n * Clears the list making it empty but non-null.\n * @return {!proto.qb.smg.GetPromosResponse} returns this\n */\nproto.qb.smg.GetPromosResponse.prototype.clearPromosList = function() {\n  return this.setPromosList([]);\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.qb.smg.Promo.prototype.toObject = function(opt_includeInstance) {\n  return proto.qb.smg.Promo.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.qb.smg.Promo} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.qb.smg.Promo.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    id: jspb.Message.getFieldWithDefault(msg, 1, 0),\n    name: jspb.Message.getFieldWithDefault(msg, 2, \"\"),\n    type: jspb.Message.getFieldWithDefault(msg, 3, \"\"),\n    amount: jspb.Message.getFieldWithDefault(msg, 4, 0),\n    turnoverAmount: jspb.Message.getFieldWithDefault(msg, 5, 0),\n    status: jspb.Message.getFieldWithDefault(msg, 6, \"\"),\n    expirationDate: jspb.Message.getFieldWithDefault(msg, 7, 0)\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.qb.smg.Promo}\n */\nproto.qb.smg.Promo.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.qb.smg.Promo;\n  return proto.qb.smg.Promo.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.qb.smg.Promo} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.qb.smg.Promo}\n */\nproto.qb.smg.Promo.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {number} */ (reader.readInt64());\n      msg.setId(value);\n      break;\n    case 2:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setName(value);\n      break;\n    case 3:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setType(value);\n      break;\n    case 4:\n      var value = /** @type {number} */ (reader.readInt64());\n      msg.setAmount(value);\n      break;\n    case 5:\n      var value = /** @type {number} */ (reader.readInt64());\n      msg.setTurnoverAmount(value);\n      break;\n    case 6:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setStatus(value);\n      break;\n    case 7:\n      var value = /** @type {number} */ (reader.readInt64());\n      msg.setExpirationDate(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.qb.smg.Promo.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.qb.smg.Promo.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.qb.smg.Promo} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.qb.smg.Promo.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getId();\n  if (f !== 0) {\n    writer.writeInt64(\n      1,\n      f\n    );\n  }\n  f = message.getName();\n  if (f.length > 0) {\n    writer.writeString(\n      2,\n      f\n    );\n  }\n  f = message.getType();\n  if (f.length > 0) {\n    writer.writeString(\n      3,\n      f\n    );\n  }\n  f = message.getAmount();\n  if (f !== 0) {\n    writer.writeInt64(\n      4,\n      f\n    );\n  }\n  f = message.getTurnoverAmount();\n  if (f !== 0) {\n    writer.writeInt64(\n      5,\n      f\n    );\n  }\n  f = message.getStatus();\n  if (f.length > 0) {\n    writer.writeString(\n      6,\n      f\n    );\n  }\n  f = message.getExpirationDate();\n  if (f !== 0) {\n    writer.writeInt64(\n      7,\n      f\n    );\n  }\n};\n\n\n/**\n * optional int64 id = 1;\n * @return {number}\n */\nproto.qb.smg.Promo.prototype.getId = function() {\n  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.qb.smg.Promo} returns this\n */\nproto.qb.smg.Promo.prototype.setId = function(value) {\n  return jspb.Message.setProto3IntField(this, 1, value);\n};\n\n\n/**\n * optional string name = 2;\n * @return {string}\n */\nproto.qb.smg.Promo.prototype.getName = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.qb.smg.Promo} returns this\n */\nproto.qb.smg.Promo.prototype.setName = function(value) {\n  return jspb.Message.setProto3StringField(this, 2, value);\n};\n\n\n/**\n * optional string type = 3;\n * @return {string}\n */\nproto.qb.smg.Promo.prototype.getType = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 3, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.qb.smg.Promo} returns this\n */\nproto.qb.smg.Promo.prototype.setType = function(value) {\n  return jspb.Message.setProto3StringField(this, 3, value);\n};\n\n\n/**\n * optional int64 amount = 4;\n * @return {number}\n */\nproto.qb.smg.Promo.prototype.getAmount = function() {\n  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 4, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.qb.smg.Promo} returns this\n */\nproto.qb.smg.Promo.prototype.setAmount = function(value) {\n  return jspb.Message.setProto3IntField(this, 4, value);\n};\n\n\n/**\n * optional int64 turnover_amount = 5;\n * @return {number}\n */\nproto.qb.smg.Promo.prototype.getTurnoverAmount = function() {\n  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 5, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.qb.smg.Promo} returns this\n */\nproto.qb.smg.Promo.prototype.setTurnoverAmount = function(value) {\n  return jspb.Message.setProto3IntField(this, 5, value);\n};\n\n\n/**\n * optional string status = 6;\n * @return {string}\n */\nproto.qb.smg.Promo.prototype.getStatus = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 6, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.qb.smg.Promo} returns this\n */\nproto.qb.smg.Promo.prototype.setStatus = function(value) {\n  return jspb.Message.setProto3StringField(this, 6, value);\n};\n\n\n/**\n * optional int64 expiration_date = 7;\n * @return {number}\n */\nproto.qb.smg.Promo.prototype.getExpirationDate = function() {\n  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 7, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.qb.smg.Promo} returns this\n */\nproto.qb.smg.Promo.prototype.setExpirationDate = function(value) {\n  return jspb.Message.setProto3IntField(this, 7, value);\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.qb.smg.ActivatePromoRequest.prototype.toObject = function(opt_includeInstance) {\n  return proto.qb.smg.ActivatePromoRequest.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.qb.smg.ActivatePromoRequest} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.qb.smg.ActivatePromoRequest.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    promocode: jspb.Message.getFieldWithDefault(msg, 1, \"\"),\n    token: jspb.Message.getFieldWithDefault(msg, 2, \"\")\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.qb.smg.ActivatePromoRequest}\n */\nproto.qb.smg.ActivatePromoRequest.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.qb.smg.ActivatePromoRequest;\n  return proto.qb.smg.ActivatePromoRequest.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.qb.smg.ActivatePromoRequest} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.qb.smg.ActivatePromoRequest}\n */\nproto.qb.smg.ActivatePromoRequest.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setPromocode(value);\n      break;\n    case 2:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setToken(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.qb.smg.ActivatePromoRequest.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.qb.smg.ActivatePromoRequest.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.qb.smg.ActivatePromoRequest} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.qb.smg.ActivatePromoRequest.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getPromocode();\n  if (f.length > 0) {\n    writer.writeString(\n      1,\n      f\n    );\n  }\n  f = message.getToken();\n  if (f.length > 0) {\n    writer.writeString(\n      2,\n      f\n    );\n  }\n};\n\n\n/**\n * optional string promoCode = 1;\n * @return {string}\n */\nproto.qb.smg.ActivatePromoRequest.prototype.getPromocode = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.qb.smg.ActivatePromoRequest} returns this\n */\nproto.qb.smg.ActivatePromoRequest.prototype.setPromocode = function(value) {\n  return jspb.Message.setProto3StringField(this, 1, value);\n};\n\n\n/**\n * optional string token = 2;\n * @return {string}\n */\nproto.qb.smg.ActivatePromoRequest.prototype.getToken = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.qb.smg.ActivatePromoRequest} returns this\n */\nproto.qb.smg.ActivatePromoRequest.prototype.setToken = function(value) {\n  return jspb.Message.setProto3StringField(this, 2, value);\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.qb.smg.ActivatePromoResponse.prototype.toObject = function(opt_includeInstance) {\n  return proto.qb.smg.ActivatePromoResponse.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.qb.smg.ActivatePromoResponse} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.qb.smg.ActivatePromoResponse.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    success: jspb.Message.getBooleanFieldWithDefault(msg, 1, false),\n    error: (f = msg.getError()) && proto.qb.smg.Error.toObject(includeInstance, f),\n    activatedpromo: (f = msg.getActivatedpromo()) && proto.qb.smg.Promo.toObject(includeInstance, f)\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.qb.smg.ActivatePromoResponse}\n */\nproto.qb.smg.ActivatePromoResponse.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.qb.smg.ActivatePromoResponse;\n  return proto.qb.smg.ActivatePromoResponse.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.qb.smg.ActivatePromoResponse} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.qb.smg.ActivatePromoResponse}\n */\nproto.qb.smg.ActivatePromoResponse.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {boolean} */ (reader.readBool());\n      msg.setSuccess(value);\n      break;\n    case 2:\n      var value = new proto.qb.smg.Error;\n      reader.readMessage(value,proto.qb.smg.Error.deserializeBinaryFromReader);\n      msg.setError(value);\n      break;\n    case 3:\n      var value = new proto.qb.smg.Promo;\n      reader.readMessage(value,proto.qb.smg.Promo.deserializeBinaryFromReader);\n      msg.setActivatedpromo(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.qb.smg.ActivatePromoResponse.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.qb.smg.ActivatePromoResponse.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.qb.smg.ActivatePromoResponse} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.qb.smg.ActivatePromoResponse.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getSuccess();\n  if (f) {\n    writer.writeBool(\n      1,\n      f\n    );\n  }\n  f = message.getError();\n  if (f != null) {\n    writer.writeMessage(\n      2,\n      f,\n      proto.qb.smg.Error.serializeBinaryToWriter\n    );\n  }\n  f = message.getActivatedpromo();\n  if (f != null) {\n    writer.writeMessage(\n      3,\n      f,\n      proto.qb.smg.Promo.serializeBinaryToWriter\n    );\n  }\n};\n\n\n/**\n * optional bool success = 1;\n * @return {boolean}\n */\nproto.qb.smg.ActivatePromoResponse.prototype.getSuccess = function() {\n  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 1, false));\n};\n\n\n/**\n * @param {boolean} value\n * @return {!proto.qb.smg.ActivatePromoResponse} returns this\n */\nproto.qb.smg.ActivatePromoResponse.prototype.setSuccess = function(value) {\n  return jspb.Message.setProto3BooleanField(this, 1, value);\n};\n\n\n/**\n * optional Error error = 2;\n * @return {?proto.qb.smg.Error}\n */\nproto.qb.smg.ActivatePromoResponse.prototype.getError = function() {\n  return /** @type{?proto.qb.smg.Error} */ (\n    jspb.Message.getWrapperField(this, proto.qb.smg.Error, 2));\n};\n\n\n/**\n * @param {?proto.qb.smg.Error|undefined} value\n * @return {!proto.qb.smg.ActivatePromoResponse} returns this\n*/\nproto.qb.smg.ActivatePromoResponse.prototype.setError = function(value) {\n  return jspb.Message.setWrapperField(this, 2, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.qb.smg.ActivatePromoResponse} returns this\n */\nproto.qb.smg.ActivatePromoResponse.prototype.clearError = function() {\n  return this.setError(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.qb.smg.ActivatePromoResponse.prototype.hasError = function() {\n  return jspb.Message.getField(this, 2) != null;\n};\n\n\n/**\n * optional Promo activatedPromo = 3;\n * @return {?proto.qb.smg.Promo}\n */\nproto.qb.smg.ActivatePromoResponse.prototype.getActivatedpromo = function() {\n  return /** @type{?proto.qb.smg.Promo} */ (\n    jspb.Message.getWrapperField(this, proto.qb.smg.Promo, 3));\n};\n\n\n/**\n * @param {?proto.qb.smg.Promo|undefined} value\n * @return {!proto.qb.smg.ActivatePromoResponse} returns this\n*/\nproto.qb.smg.ActivatePromoResponse.prototype.setActivatedpromo = function(value) {\n  return jspb.Message.setWrapperField(this, 3, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.qb.smg.ActivatePromoResponse} returns this\n */\nproto.qb.smg.ActivatePromoResponse.prototype.clearActivatedpromo = function() {\n  return this.setActivatedpromo(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.qb.smg.ActivatePromoResponse.prototype.hasActivatedpromo = function() {\n  return jspb.Message.getField(this, 3) != null;\n};\n\n\n/**\n * @enum {number}\n */\nproto.qb.smg.TournamentState = {\n  PENDING: 0,\n  PUBLISHED: 1,\n  PLAYING: 2,\n  FINISHED: 3,\n  CANCELLED: 4\n};\n\n/**\n * @enum {number}\n */\nproto.qb.smg.TournamentSurveyQuestionType = {\n  TEXT_ENTRY: 0,\n  DROPDOWN: 1,\n  MULTI_CHOICE: 2\n};\n\n/**\n * @enum {number}\n */\nproto.qb.smg.ChangeType = {\n  ADDRESS: 0,\n  PHOTO: 1\n};\n\n/**\n * @enum {number}\n */\nproto.qb.smg.OtpMethod = {\n  EMAIL: 0,\n  SMS: 1\n};\n\n/**\n * @enum {number}\n */\nproto.qb.smg.ReplacePhotoStatus = {\n  OPEN: 0,\n  APPROVED: 1,\n  DECLINED: 2\n};\n\n/**\n * @enum {number}\n */\nproto.qb.smg.StationPlayerState = {\n  NO_PLAYER: 0,\n  GUEST: 1,\n  PLAYER: 2,\n  PLAYER_DELAY: 3,\n  MULTI_PLAYER: 4,\n  PLAYER_NOT_IN_GAMEPLAY_AREA: 5\n};\n\ngoog.object.extend(exports, proto.qb.smg);\n","// This optional code is used to register a service worker.\n// register() is not called by default.\n\n// This lets the app load faster on subsequent visits in production, and gives\n// it offline capabilities. However, it also means that developers (and users)\n// will only see deployed updates on subsequent visits to a page, after all the\n// existing tabs open on the page have been closed, since previously cached\n// resources are updated in the background.\n\n// To learn more about the benefits of this model and instructions on how to\n// opt-in, read https://cra.link/PWA\n\nconst isLocalhost = Boolean(\n  window.location.hostname === \"localhost\" ||\n  // [::1] is the IPv6 localhost address.\n  window.location.hostname === \"[::1]\" ||\n  // 127.0.0.0/8 are considered localhost for IPv4.\n  window.location.hostname.match(/^127(?:\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/)\n);\n\nexport const register = (config) => {\n  if ('serviceWorker' in navigator) {\n    // The URL constructor is available in all browsers that support SW.\n    const publicUrl = new URL('', window.location.href);\n\n    if (publicUrl.origin !== window.location.origin) {\n      console.log(\"Our service worker won't work if PUBLIC_URL is on a different origin from what our page is served on. This might happen if a CDN is used to serve assets; see https://github.com/facebook/create-react-app/issues/2374\")\n      return;\n    }\n\n    window.addEventListener('load', () => {\n      const swUrl = './service-worker.js';\n\n      if (isLocalhost) {\n        console.log(\"This is running on localhost. Let's check if a service worker still exists or not.\");\n        checkValidServiceWorker(swUrl, config);\n\n        console.log('Add some additional logging to localhost, pointing developers to the service worker/PWA documentation.');\n        navigator.serviceWorker.ready.then(() => {\n          console.log('This web app is being served cache-first by a service worker. To learn more, visit https://cra.link/PWA');\n        });\n\n      } else {\n        console.log('Is not localhost. Just register service worker');\n        registerValidSW(swUrl, config);\n      }\n    });\n  }\n};\n\nconst registerValidSW = (swUrl, config) => {\n  navigator.serviceWorker.register(swUrl).then((registration) => {\n    registration.onupdatefound = () => {\n      const installingWorker = registration.installing;\n\n      if (installingWorker == null) return;\n\n      installingWorker.onstatechange = () => {\n        if (installingWorker.state === 'installed') {\n          if (navigator.serviceWorker.controller) {\n            // At this point, the updated precached content has been fetched,\n            // but the previous service worker will still serve the older\n            // content until all client tabs are closed.\n            console.log('New content is available and will be used when all tabs for this page are closed. See https://cra.link/PWA.');\n\n            // Execute callback\n            if (config && config.onUpdate) config.onUpdate(registration);\n\n          } else {\n            // At this point, everything has been precached.\n            // It's the perfect time to display a\n            // \"Content is cached for offline use.\" message.\n            console.log('Content is cached for offline use.');\n\n            // Execute callback\n            if (config && config.onSuccess) config.onSuccess(registration);\n          }\n        }\n      };\n    };\n\n  }).catch((error) => {\n    console.error('Error during service worker registration:', error);\n  });\n\n  // navigator.serviceWorker.ready.then((registration) => {\n  //   registration.active.postMessage(JSON.stringify({type: 'ScreenSize', value: screen.width}));\n  // });\n};\n\nconst checkValidServiceWorker = (swUrl, config) => {\n  fetch(swUrl, {headers: {'Service-Worker': 'script'}}).then((response) => {\n    // Ensure service worker exists, and that we really are getting a JS file.\n    const contentType = response.headers.get('content-type');\n\n    if (response.status === 404 || (contentType != null && contentType.indexOf('javascript') === -1)) {\n      console.log('No service worker found. Probably a different app. Reload the page.');\n      navigator.serviceWorker.ready.then((registration) => {\n        registration.unregister().then(() => {\n          window.location.reload();\n        });\n      });\n\n    } else {\n      console.log('Service worker found. Proceed as normal.');\n      registerValidSW(swUrl, config);\n    }\n\n  }).catch(() => {\n    console.log('No internet connection found. App is running in offline mode.');\n  });\n};\n\nexport const unregister = () => {\n  if ('serviceWorker' in navigator) {\n    navigator.serviceWorker.ready.then((registration) => {\n      registration.unregister();\n\n    }).catch((error) => {\n      console.error(error.message);\n    });\n  }\n};\n","export const colors = {\n  mainBg: '#000000',\n  layoutBg: 'rgb(64, 64, 64)',\n  modalBg: 'rgba(0, 0, 0, 0.95)',\n  bottomTabBg: '#162929',\n  whiteText: '#F5F5F5',\n  lightText: '#FAFAFA',\n  darkText: 'rgba(255, 255, 255, 0.3)',\n  registered: 'rgba(255, 255, 255, 0.15)',\n  settings_border: 'rgba(255, 255, 255, 0.1)',\n  settings_bg: '#162929',\n  deposit_bg: '#0D282B',\n  activeDarkText: '#0F8300',\n  activeText: '#209D00',\n  warningText: '#D90000',\n  blueText: '#2E75BA',\n  greenText: '#91c859',\n  newGreenText: '#27E9A6',\n  inActiveBtnBg: '#5b5b5b',\n  inActiveBtnText: '#7b7b7b',\n  inputBorder: '#588396',\n  popupDangerPrimary: '#FF6262',\n  popupDropBg: 'rgba(0, 0, 0, 0.5)',\n  popupBorder: '#B1D5EA',\n  popupPrimaryButtonBg: '#209D01',\n  blue: 'rgba(46, 117, 186, 0.5)',\n  primary: '#219C02',\n  darkOverlay: 'rgba(0, 0, 0, 0.9)',\n  deepBlue: '#19436C',\n  lightBlue: '#85BED1',\n  bg_contest: '#08121D',\n  darkYellow: '#FABF41',\n  lightYellow: '#FAFF00',\n  unselect: '#585858',\n  unselectDark: 'rgba(88, 88, 88, 0.5)',\n  amount: '#143352',\n  gray: 'rgba(255, 255, 255, 0.5)',\n  newGreen: '#10884D',\n  newDangerText: '#FF6565',\n  iconColor: '#2791B5',\n  darkNewGreen: 'rgba(28, 231, 131, 0.5)',\n  balanceColor: '#03FF83',\n  btn_bg_color: '#07111C',\n  white: '#FFFFFF',\n  mainBackground: '#0B1321',\n  filter_chip_bg: '#8E93FF',\n  filter_chip_bg2: 'rgba(0, 123, 193, 0.1)',\n  disable_chip_text: '#92C0DB',\n  disable_chip: '#004065',\n  filter_modal_bg: 'rgba(0, 0, 0, 0.7)',\n  id_text: '#CBCBCB',\n  status_border: '#005C09',\n  availability: '#006F39',\n  caret: '#3BFF2E',\n  state_color: '#006F38',\n  state_completed: '#7F7F7F',\n  state_cancelled: '#FF0000',\n  divider_bg: '#545A64',\n  pay_table_border: '#2A3446',\n  stop_auto_play: '#2F3642',\n  placeholder: '#808080',\n  newLightBlue: '#8ab4f8',\n  loading_login: '#0E1919',\n  new_input_color: '#162929',\n  new_bg: 'rgba(14, 24, 25, 1)',\n  help_icon: 'rgba(0, 77, 67, 0.5)',\n  darkPurple: '#6262D9',\n  newDarkBlue: '#121D31',\n  selectPurple: 'rgba(98, 98, 217, 0.5)',\n  navSelected: '#004D43',\n  balance: '#85BED0',\n  yellow: '#FF6'\n};\n","import {StyleSheet} from 'react-native';\nimport {colors} from './src/assets/styles/colors';\n\nconst MainStyle = StyleSheet.create({\n  border: {borderStyle: 'solid', borderColor: 'red', borderWidth: 1},\n  bc_gray: {backgroundColor: colors.gray},\n  bc_darkblue: {backgroundColor: colors.bottomTabBg},\n  bc_popupDropBg: {backgroundColor: colors.popupDropBg},\n  bc_green: {backgroundColor: colors.greenText},\n  bc_modalBg: {backgroundColor: colors.modalBg},\n  bg_contest: {backgroundColor: colors.bg_contest},\n  bg_main: {backgroundColor: colors.mainBackground},\n  bg_new_bg: {backgroundColor: colors.new_bg},\n  bg_warningText: {backgroundColor: colors.warningText},\n  bg_settings: {backgroundColor: colors.settings_bg},\n  bg_new_input_color: {backgroundColor: colors.new_input_color},\n  bg_deposit: {backgroundColor: colors.deposit_bg},\n  bg_filter_chip: {backgroundColor: colors.filter_chip_bg},\n  bg_filter_modal: {backgroundColor: colors.filter_modal_bg},\n  bg_black: {backgroundColor: colors.mainBg},\n  bg_loading_login: {backgroundColor: colors.loading_login},\n  bg_newGreen: {backgroundColor: colors.newGreenText},\n  bg_darkText: {backgroundColor: colors.darkText},\n  bg_darkOverlay: {backgroundColor: colors.darkOverlay},\n  bg_transparent: {backgroundColor: 'transparent'},\n  max_w_59: {maxWidth: 59},\n  max_w_260: {maxWidth: 260},\n  max_w_312: {maxWidth: 312},\n  max_w_323: {maxWidth: 323},\n  max_w_332: {maxWidth: 332},\n  max_w_340: {maxWidth: 340},\n  max_w_387: {maxWidth: 387},\n  max_w_430: {maxWidth: 430},\n  max_w_570: {maxWidth: 570},\n  max_w_690: {maxWidth: 690},\n  max_w_1040: {maxWidth: 1040},\n  max_w_1100: {maxWidth: 1100},\n  max_w_1120: {maxWidth: 1120},\n  max_w_1205: {maxWidth: 1205},\n  full_w: {width: '100%'},\n  full_h: {height: '100%'},\n  p_b_10: {paddingBottom: 10},\n  p_b_15: {paddingBottom: 15},\n  p_b_29: {paddingBottom: 29},\n  p_b_41: {paddingBottom: 41},\n  p_b_67: {paddingBottom: 67},\n  b_r_2: {borderRadius: 2},\n  b_r_4: {borderRadius: 4},\n  b_r_8: {borderRadius: 8},\n  b_r_14: {borderRadius: 14},\n  b_r_16: {borderRadius: 16},\n  b_r_20: {borderRadius: 20},\n  b_r_40: {borderRadius: 40},\n  b_r_70: {borderRadius: 70},\n  b_r_200: {borderRadius: 200},\n  c_light_blue: {color: colors.popupBorder},\n  c_white: {color: colors.whiteText},\n  c_mainBackground: {color: colors.mainBackground},\n  c_yellow: {color: colors.darkYellow},\n  c_black: {color: colors.mainBg},\n  c_gray: {color: '#989898'},\n  c_warn: {color: colors.newDangerText},\n  c_lightblue: {color: colors.lightBlue},\n  c_title_blue: {color: colors.blueText},\n  c_popupDangerPrimary: {color: colors.popupDangerPrimary},\n  c_green: {color: '#43D120'},\n  c_green_text: {color: colors.greenText},\n  c_new_green_text: {color: colors.newGreenText},\n  m_b_0: {marginBottom: 0},\n  m_b_1: {marginBottom: 1},\n  m_b_2: {marginBottom: 2},\n  m_b_3: {marginBottom: 3},\n  m_b_4: {marginBottom: 4},\n  m_b_6: {marginBottom: 6},\n  m_b_8: {marginBottom: 8},\n  m_b_9: {marginBottom: 9},\n  m_b_10: {marginBottom: 10},\n  m_b_11: {marginBottom: 11},\n  m_b_12: {marginBottom: 12},\n  m_b_13: {marginBottom: 13},\n  m_b_14: {marginBottom: 14},\n  m_b_15: {marginBottom: 15},\n  m_b_16: {marginBottom: 16},\n  m_b_17: {marginBottom: 17},\n  m_b_19: {marginBottom: 19},\n  m_b_20: {marginBottom: 20},\n  m_b_21: {marginBottom: 21},\n  m_b_22: {marginBottom: 22},\n  m_b_23: {marginBottom: 23},\n  m_b_24: {marginBottom: 24},\n  m_b_25: {marginBottom: 25},\n  m_b_26: {marginBottom: 26},\n  m_b_28: {marginBottom: 28},\n  m_b_29: {marginBottom: 29},\n  m_b_30: {marginBottom: 30},\n  m_b_31: {marginBottom: 31},\n  m_b_32: {marginBottom: 32},\n  m_b_34: {marginBottom: 34},\n  m_b_37: {marginBottom: 37},\n  m_b_38: {marginBottom: 38},\n  m_b_40: {marginBottom: 40},\n  m_b_42: {marginBottom: 42},\n  m_b_45: {marginBottom: 45},\n  m_b_47: {marginBottom: 47},\n  m_b_60: {marginBottom: 60},\n  m_b_62: {marginBottom: 62},\n  m_b_64: {marginBottom: 64},\n  m_b_80: {marginBottom: 80},\n  m_b_101: {marginBottom: 101},\n  m_b_112: {marginBottom: 112},\n  m_b_125: {marginBottom: 125},\n  m_b_158: {marginBottom: 158},\n  flex: {display: 'flex'},\n  row: {display: 'flex', flexDirection: 'row'},\n  column: {display: 'flex', flexDirection: 'column'},\n  a_i_c: {alignItems: 'center'},\n  a_i_e: {alignItems: 'flex-end'},\n  o_0: {opacity: 0},\n  o_05: {opacity: 0.5},\n  o_06: {opacity: 0.6},\n  w_8: {width: 8},\n  w_10: {width: 10},\n  w_12: {width: 12},\n  w_13: {width: 13},\n  w_19: {width: 19},\n  w_20: {width: 20},\n  w_21: {width: 21},\n  w_24: {width: 24},\n  w_28: {width: 28},\n  w_32: {width: 32},\n  w_40: {width: 40},\n  w_42: {width: 42},\n  w_44: {width: 44},\n  w_45: {width: 45},\n  w_48: {width: 48},\n  w_53: {width: 53},\n  w_60: {width: 60},\n  w_64: {width: 64},\n  w_80: {width: 80},\n  w_116: {width: 116},\n  w_129: {width: 129},\n  w_130: {width: 130},\n  w_144: {width: 144},\n  w_160: {width: 160},\n  w_164: {width: 164},\n  w_170: {width: 170},\n  w_176: {width: 176},\n  w_184: {width: 184},\n  w_190: {width: 190},\n  w_194: {width: 194},\n  w_220: {width: 220},\n  w_224: {width: 224},\n  w_225: {width: 225},\n  w_233: {width: 233},\n  w_240: {width: 240},\n  w_255: {width: 255},\n  w_267: {width: 267},\n  w_271: {width: 271},\n  w_286: {width: 286},\n  w_300: {width: 300},\n  w_312: {width: 312},\n  w_330: {width: 330},\n  w_350: {width: 350},\n  w_360: {width: 360},\n  w_370: {width: 370},\n  w_389: {width: 389},\n  w_480: {width: 480},\n  w_640: {width: 640},\n  h_1: {height: 1},\n  h_4: {height: 4},\n  h_6: {height: 6},\n  h_9: {height: 9},\n  h_12: {height: 12},\n  h_18: {height: 18},\n  h_20: {height: 20},\n  h_21: {height: 21},\n  h_22: {height: 22},\n  h_24: {height: 24},\n  h_26: {height: 26},\n  h_28: {height: 28},\n  h_32: {height: 32},\n  h_37: {height: 37},\n  h_40: {height: 40},\n  h_41: {height: 41},\n  h_46: {height: 46},\n  h_48: {height: 48},\n  h_51: {height: 51},\n  h_55: {height: 55},\n  h_59: {height: 59},\n  h_60: {height: 60},\n  h_63: {height: 63},\n  h_64: {height: 64},\n  h_66: {height: 66},\n  h_72: {height: 72},\n  h_80: {height: 80},\n  h_90: {height: 90},\n  h_150: {height: 150},\n  h_159: {height: 159},\n  h_160: {height: 160},\n  h_176: {height: 176},\n  h_234: {height: 234},\n  h_240: {height: 240},\n  h_253: {height: 253},\n  h_271: {height: 271},\n  h_300: {height: 300},\n  h_368: {height: 368},\n  h_493: {height: 493},\n  m_y_6: {marginVertical: 6},\n  m_y_20: {marginVertical: 20},\n  t_a_c: {textAlign: 'center'},\n  t_a_l: {textAlign: 'left'},\n  f_s_10: {fontSize: 10},\n  f_s_12: {fontSize: 12},\n  f_s_14: {fontSize: 14},\n  f_s_15: {fontSize: 15},\n  f_s_16: {fontSize: 16},\n  f_s_17: {fontSize: 17},\n  f_s_18: {fontSize: 18},\n  f_s_20: {fontSize: 20},\n  f_s_21: {fontSize: 21},\n  f_s_22: {fontSize: 22},\n  f_s_23: {fontSize: 23},\n  f_s_24: {fontSize: 24},\n  f_s_25: {fontSize: 25},\n  f_s_26: {fontSize: 26},\n  f_s_28: {fontSize: 28},\n  f_s_30: {fontSize: 30},\n  f_s_32: {fontSize: 32},\n  f_s_36: {fontSize: 36},\n  f_s_40: {fontSize: 40},\n  f_s_48: {fontSize: 48},\n  f_s_52: {fontSize: 52},\n  f_s_56: {fontSize: 56},\n  f_s_60: {fontSize: 60},\n  m_t__32: {marginTop: -32},\n  m_t_6: {marginTop: 6},\n  m_t_7: {marginTop: 7},\n  m_t_10: {marginTop: 10},\n  m_t_13: {marginTop: 13},\n  m_t_17: {marginTop: 17},\n  m_t_20: {marginTop: 20},\n  m_t_28: {marginTop: 28},\n  m_t_34: {marginTop: 34},\n  m_t_50: {marginTop: 50},\n  m_t_114: {marginTop: 114},\n  j_c_c: {justifyContent: 'center'},\n  j_c_s_between: {justifyContent: 'space-between'},\n  j_c_s_around: {justifyContent: 'space-around'},\n  flex1: {flex: 1},\n  p_10: {padding: 10},\n  o_hidden: {overflow: 'hidden'},\n  m_l__32: {marginLeft: -32},\n  m_l_2: {marginLeft: 2},\n  m_l_4: {marginLeft: 4},\n  m_l_6: {marginLeft: 6},\n  m_l_8: {marginLeft: 8},\n  m_l_9: {marginLeft: 9},\n  m_l_10: {marginLeft: 10},\n  m_l_12: {marginLeft: 12},\n  m_l_15: {marginLeft: 15},\n  m_l_20: {marginLeft: 20},\n  m_l_21: {marginLeft: 21},\n  m_l_22: {marginLeft: 22},\n  m_l_24: {marginLeft: 24},\n  m_l_32: {marginLeft: 32},\n  m_l_37: {marginLeft: 37},\n  m_l_52: {marginLeft: 52},\n  m_l_77: {marginLeft: 77},\n  b_b_w_1: {borderBottomWidth: 1},\n  b_b_w_3: {borderBottomWidth: 3},\n  b_c_transparent: {borderColor: 'transparent'},\n  b_c_black: {borderColor: 'black'},\n  b_c_blue: {borderColor: colors.blue},\n  b_c_white: {borderColor: colors.whiteText},\n  b_c_warn: {borderColor: colors.newDangerText},\n  b_c_yellow: {borderColor: colors.darkYellow},\n  b_c_blueText: {borderColor: colors.blueText},\n  b_c_popupBorder: {borderColor: colors.popupBorder},\n  b_c_settings_border: {borderColor: colors.settings_border},\n  b_c_darkText: {borderColor: colors.darkText},\n  b_c_newGreen: {borderColor: colors.newGreenText},\n  b_c_filter_chip_bg: {borderColor: colors.filter_chip_bg},\n  p_x_8: {paddingHorizontal: 8},\n  p_x_9: {paddingHorizontal: 9},\n  p_x_15: {paddingHorizontal: 15},\n  p_x_16: {paddingHorizontal: 16},\n  p_x_20: {paddingHorizontal: 20},\n  p_x_24: {paddingHorizontal: 24},\n  p_x_26: {paddingHorizontal: 26},\n  p_x_27: {paddingHorizontal: 27},\n  p_x_30: {paddingHorizontal: 30},\n  p_x_32: {paddingHorizontal: 32},\n  p_x_36: {paddingHorizontal: 36},\n  p_x_80: {paddingHorizontal: 80},\n  m_r_2: {marginRight: 2},\n  m_r_7: {marginRight: 7},\n  m_r_10: {marginRight: 10},\n  m_r_15: {marginRight: 15},\n  m_r_24: {marginRight: 24},\n  relative: {position: 'relative'},\n  p_l_10: {paddingLeft: 10},\n  p_l_16: {paddingLeft: 16},\n  p_r_18: {paddingRight: 18},\n  p_r_34: {paddingRight: 34},\n  f_w_400: {fontWeight: '400'},\n  f_w_600: {fontWeight: '600'},\n  f_w_700: {fontWeight: '700'},\n  f_w_800: {fontWeight: '800'},\n  f_w_900: {fontWeight: '900'},\n  m_x_auto: {marginHorizontal: 'auto'},\n  m_x_3: {marginHorizontal: 3},\n  m_x_6: {marginHorizontal: 6},\n  m_x_8: {marginHorizontal: 8},\n  m_x_10: {marginHorizontal: 10},\n  m_x_15: {marginHorizontal: 15},\n  m_x_16: {marginHorizontal: 16},\n  m_x_19: {marginHorizontal: 19},\n  m_x_20: {marginHorizontal: 20},\n  m_x_23: {marginHorizontal: 23},\n  m_x_40: {marginHorizontal: 40},\n  min_h_32: {minHeight: 32},\n  min_h_90: {minHeight: 90},\n  min_h_164: {minHeight: 164},\n  min_h_452: {minHeight: 452},\n  min_h_510: {minHeight: 510},\n  min_h_full: {minHeight: '100%'},\n  p_y_19: {paddingVertical: 19},\n  p_y_23: {paddingVertical: 23},\n  p_y_70: {paddingVertical: 70},\n  r__28: {right: -28},\n  r__22: {right: -22},\n  r__17: {right: -17},\n  r__12: {right: -12},\n  r__1: {right: -1},\n  r_0: {right: 0},\n  r_56: {right: 56},\n  l_50_percent: {left: '50%'},\n  l__75: {left: -75},\n  l__56: {left: -56},\n  l__1: {left: -1},\n  l_0: {left: 0},\n  l_5: {left: 5},\n  l_15: {left: 15},\n  l_18: {left: 18},\n  absolute: {position: 'absolute'},\n  b_0: {bottom: 0},\n  b_1: {bottom: 1},\n  b_47: {bottom: 47},\n  l_h_3_5: {lineHeight: 3.5},\n  l_h_12: {lineHeight: 12},\n  l_h_14: {lineHeight: 14},\n  l_h_16: {lineHeight: 16},\n  l_h_18: {lineHeight: 18},\n  l_h_19: {lineHeight: 19},\n  l_h_20: {lineHeight: 20},\n  l_h_22: {lineHeight: 22},\n  l_h_23: {lineHeight: 23},\n  l_h_24: {lineHeight: 24},\n  l_h_26: {lineHeight: 26},\n  l_h_27: {lineHeight: 27},\n  l_h_30: {lineHeight: 30},\n  l_h_32: {lineHeight: 32},\n  l_h_33: {lineHeight: 33},\n  l_h_35: {lineHeight: 35},\n  l_h_36: {lineHeight: 36},\n  l_h_40: {lineHeight: 40},\n  l_h_47: {lineHeight: 47},\n  l_h_48: {lineHeight: 48},\n  l_h_50: {lineHeight: 50},\n  l_h_55: {lineHeight: 55},\n  l_h_78: {lineHeight: 78},\n  l_h_80: {lineHeight: 80},\n  b_w_0: {borderWidth: 0},\n  b_w_1: {borderWidth: 1},\n  b_w_3: {borderWidth: 3},\n  p_t_13: {paddingTop: 13},\n  p_t_17: {paddingTop: 17},\n  p_t_18: {paddingTop: 18},\n  p_t_19: {paddingTop: 19},\n  p_t_20: {paddingTop: 20},\n  p_t_22: {paddingTop: 22},\n  p_t_23: {paddingTop: 23},\n  p_t_25: {paddingTop: 25},\n  p_t_30: {paddingTop: 30},\n  p_t_46: {paddingTop: 46},\n  p_t_60: {paddingTop: 60},\n  rm_center: {resizeMode: 'center'},\n  rm_contain: {resizeMode: 'contain'},\n  rm_stretch: {resizeMode: 'stretch'},\n  rm_cover: {resizeMode: 'cover'},\n  italic: {fontStyle: 'italic'},\n  t_50_percent: {top: '50%'},\n  t__99: {top: -99},\n  t__81: {top: -81},\n  t__70: {top: -70},\n  t__28: {top: -28},\n  t_0: {top: 0},\n  t_9: {top: 9},\n  t_35: {top: 35},\n  b_t_l_r_0: {borderTopLeftRadius: 0},\n  b_t_l_r_14: {borderTopLeftRadius: 14},\n  b_t_l_r_28: {borderTopLeftRadius: 28},\n  b_t_r_r_0: {borderTopRightRadius: 0},\n  b_t_r_r_14: {borderTopRightRadius: 14},\n  b_b_l_r_0: {borderBottomLeftRadius: 0},\n  b_b_l_r_14: {borderBottomLeftRadius: 14},\n  b_b_l_r_28: {borderBottomLeftRadius: 28},\n  b_b_r_r_0: {borderBottomRightRadius: 0},\n  b_b_r_r_14: {borderBottomRightRadius: 14},\n  b_t_w_3: {borderTopWidth: 3},\n  b_l_w_0: {borderLeftWidth: 0},\n  z_i__1: {zIndex: -1},\n  z_i_2: {zIndex: 2},\n  t_t_u: {textTransform: 'uppercase'},\n  fix_gradient_and_modal_error_in_landscape: {borderWidth: 0.1, borderColor: 'black'},\n  b_r_w_0: {borderRightWidth: 0},\n  Barlow400: {fontFamily: 'Barlow-Regular'},\n  Barlow500: {fontFamily: 'Barlow-Medium'},\n  Barlow600: {fontFamily: 'Barlow-SemiBold'},\n  Barlow700: {fontFamily: 'Barlow-Bold'},\n  t_d_l_u: {textDecorationLine: 'underline'},\n  textShadow: {textShadowOffset: { width: 0, height: 2 }, textShadowRadius: 2, textShadowColor: 'rgba(0, 0, 0, 0.50)'},\n  l_s_5: {letterSpacing: 5}\n});\n\nexport default MainStyle;\n","import React from 'react';\nimport {ColorValue, StyleSheet, View, ViewProps, ViewStyle} from 'react-native';\n\ninterface DivProps extends ViewProps {\n  borderColor?: string;\n  borderTopColor?: string;\n  borderRightColor?: string;\n  borderBottomColor?: string;\n  borderLeftColor?: string;\n  borderWidth?: number;\n  borderHorizontalWidth?: number;\n  borderTopWidth?: number;\n  borderRightWidth?: number;\n  borderBottomWidth?: number;\n  borderLeftWidth?: number;\n  borderStartWidth?: number;\n  borderEndWidth?: number;\n  borderStyle?: ViewStyle['borderStyle'];\n  m?: number | string;\n  mt?: number | string;\n  mr?: number | string;\n  mb?: number | string;\n  ml?: number | string;\n  mx?: number | string;\n  my?: number | string;\n  ms?: number;\n  p?: number | string;\n  pt?: number | string;\n  pr?: number | string;\n  pb?: number | string;\n  pl?: number | string;\n  px?: number | string;\n  py?: number | string;\n  ps?: number;\n  rounded?: number;\n  roundedTopLeft?: number;\n  roundedTopRight?: number;\n  roundedBottomLeft?: number;\n  roundedBottomRight?: number;\n  roundedTop?: number;\n  roundedLeft?: number;\n  roundedRight?: number;\n  roundedBottom?: number;\n  shadowColor?: string;\n  minH?: number | string;\n  minW?: number | string;\n  maxH?: number | string;\n  maxW?: number | string;\n  h?: number | string;\n  w?: number | string;\n  row?: boolean;\n  flex?: ViewStyle['flex'];\n  flexDir?: ViewStyle['flexDirection'];\n  flexWrap?: ViewStyle['flexWrap'];\n  justifyContent?: ViewStyle['justifyContent'];\n  alignSelf?: ViewStyle['alignSelf'];\n  alignItems?: ViewStyle['alignItems'];\n  position?: ViewStyle['position'];\n  top?: number | string;\n  right?: number | string;\n  bottom?: number | string;\n  left?: number | string;\n  opacity?: number;\n  overflow?: ViewStyle['overflow'];\n  zIndex?: number;\n  bg?: ColorValue;\n  column?: boolean;\n}\n\nconst Div = (props: DivProps) => {\n  const {\n    children, borderColor, borderTopColor, borderRightColor, borderBottomColor, borderLeftColor, borderWidth,\n    borderTopWidth, borderRightWidth, borderBottomWidth, borderLeftWidth, borderStartWidth, borderEndWidth, borderStyle,\n    m, mt, mr, mb, ml, mx, my, ms, p, pt, pr, pb, pl, px, py, ps, rounded, roundedTopLeft, roundedTopRight,\n    roundedBottomLeft, roundedBottomRight, roundedTop, roundedLeft, roundedRight, roundedBottom, shadowColor, minH,\n    minW, maxH, maxW, h, w, row, flex, flexDir, flexWrap, justifyContent, alignSelf, alignItems, position, top, right,\n    bottom, left, opacity, overflow, zIndex, bg, column, borderHorizontalWidth, ...rest\n  } = props;\n\n  let style: Partial<ViewStyle> = {\n    ...(borderColor ? {borderColor} : {}),\n    ...(borderTopColor ? {borderTopColor} : {}),\n    ...(borderRightColor ? {borderRightColor} : {}),\n    ...(borderBottomColor ? {borderBottomColor} : {}),\n    ...(borderLeftColor ? {borderLeftColor} : {}),\n    ...(borderWidth ? {borderWidth} : {}),\n    ...(borderHorizontalWidth ? {borderLeftWidth: borderHorizontalWidth, borderRightWidth: borderHorizontalWidth} : {}),\n    ...(borderTopWidth ? {borderTopWidth} : {}),\n    ...(borderRightWidth ? {borderRightWidth} : {}),\n    ...(borderBottomWidth ? {borderBottomWidth} : {}),\n    ...(borderLeftWidth ? {borderLeftWidth} : {}),\n    ...(borderStartWidth ? {borderStartWidth} : {}),\n    ...(borderEndWidth ? {borderEndWidth} : {}),\n    ...(borderStyle ? {borderStyle} : {}),\n    ...(m ? {margin: m} : {}),\n    ...(mt ? {marginTop: mt} : {}),\n    ...(mr ? {marginRight: mr} : {}),\n    ...(mb ? {marginBottom: mb} : {}),\n    ...(ml ? {marginLeft: ml} : {}),\n    ...(mx ? {marginHorizontal: mx} : {}),\n    ...(my ? {marginVertical: my} : {}),\n    ...(ms ? {marginStart: ms} : {}),\n    ...(p ? {padding: p} : {}),\n    ...(pt ? {paddingTop: pt} : {}),\n    ...(pr ? {paddingRight: pr} : {}),\n    ...(pb ? {paddingBottom: pb} : {}),\n    ...(pl ? {paddingLeft: pl} : {}),\n    ...(px ? {paddingHorizontal: px} : {}),\n    ...(py ? {paddingVertical: py} : {}),\n    ...(ps ? {paddingStart: ps} : {}),\n    ...(rounded ? {borderRadius: rounded} : {}),\n    ...(roundedTopLeft ? {borderTopLeftRadius: roundedTopLeft} : {}),\n    ...(roundedTopRight ? {borderTopRightRadius: roundedTopRight} : {}),\n    ...(roundedBottomLeft ? {borderBottomLeftRadius: roundedBottomLeft} : {}),\n    ...(roundedBottomRight ? {borderBottomRightRadius: roundedBottomRight} : {}),\n    ...(roundedTop ? {borderTopLeftRadius: roundedTop, borderTopRightRadius: roundedTop} : {}),\n    ...(roundedLeft ? {borderTopLeftRadius: roundedLeft, borderBottomLeftRadius: roundedLeft} : {}),\n    ...(roundedRight ? {borderTopRightRadius: roundedRight, borderBottomRightRadius: roundedRight} : {}),\n    ...(roundedBottom ? {borderBottomLeftRadius: roundedBottom, borderBottomRightRadius: roundedBottom} : {}),\n    ...(shadowColor ? {shadowColor} : {}),\n    ...(minH ? {minHeight: minH} : {}),\n    ...(minW ? {minWidth: minW} : {}),\n    ...(maxH ? {maxHeight: maxH} : {}),\n    ...(maxW ? {maxWidth: maxW} : {}),\n    ...(h ? {height: h} : {}),\n    ...(w ? {width: w} : {}),\n    ...(row ? {flexDirection: 'row'} : {}),\n    ...(flex ? {flex} : {}),\n    ...(flexDir ? {flexDirection: flexDir} : {}),\n    ...(flexWrap ? {flexWrap} : {}),\n    ...(justifyContent ? {justifyContent} : {}),\n    ...(alignSelf ? {alignSelf} : {}),\n    ...(alignItems ? {alignItems} : {}),\n    ...(position ? {position} : {}),\n    ...(top !== undefined ? {top} : {}),\n    ...(right !== undefined ? {right} : {}),\n    ...(bottom !== undefined ? {bottom} : {}),\n    ...(left !== undefined ? {left} : {}),\n    ...(opacity ? {opacity} : {}),\n    ...(overflow ? {overflow} : {}),\n    ...(zIndex ? {zIndex} : {}),\n    ...(bg ? {backgroundColor: bg} : {}),\n    ...(column ? {flexDirection: 'column'} : {})\n  };\n\n  const combinedStyle = props && props.style ? StyleSheet.flatten(props.style) : {};\n  style = {...style, ...combinedStyle};\n  if (rest && rest.style) delete rest.style;\n\n  return <View style={StyleSheet.flatten(style)} {...rest}>{children}</View>;\n};\n\nexport default React.memo(Div);\n","import React from \"react\";\nimport {ColorValue, StyleProp, Text, TextProps, TextStyle} from \"react-native\";\n\ninterface Props extends TextProps {\n  color?: ColorValue;\n  fs?: number;\n  fw?: '400' | '500' | '600' | '700' | 400 | 500 | 600 | 700;\n  ls?: number;\n  lh?: number;\n  ta?: 'auto' | 'left' | 'right' | 'center' | 'justify';\n  tt?: 'none' | 'capitalize' | 'uppercase' | 'lowercase';\n  ml?: string | number;\n  mb?: number | string;\n  mt?: number | string;\n  flex?: number;\n  fShrink?: number;\n  maxW?: number | string;\n  bw?: number;\n  w?: number | string;\n  borderColor?: ColorValue;\n  px?: number | string;\n  my?: number | string;\n  mx?: number | string;\n  mr?: number | string;\n  opacity?: number;\n  maxHeight?: number | string;\n  borderRadius?: number;\n  borderWidth?: number;\n  bg?: ColorValue;\n  position?: 'absolute' | 'relative';\n  textDecorationLine?: 'none' | 'underline' | 'line-through' | 'underline line-through';\n  minW?: number | string;\n  borderHorizontalWidth?: number;\n  fontFamily?: 'Barlow-Regular' | 'Barlow-Medium' | 'Barlow-SemiBold' | 'Barlow-Bold';\n  h?: number | string;\n}\n\nconst P = (props: Props) => {\n  const {\n    children, style, color, fs, fw, ls, lh, ta, tt, ml, mb, flex, fShrink, maxW, bw, w, borderColor, px, my, mx,\n    opacity, mr, maxHeight, borderRadius, borderWidth, bg, position, textDecorationLine, minW, borderHorizontalWidth,\n    fontFamily, h, mt, ...rest\n  } = props;\n  let Style: StyleProp<TextStyle> = [{color: 'white', fontSize: 16, fontFamily: 'Barlow-Regular'}];\n\n  if (color) Style.push({color});\n  if (fs) Style.push({fontSize: fs});\n\n  if (fw === '400' || fw === 400) Style.push({fontFamily: 'Barlow-Regular'});\n  if (fw === '500' || fw === 500) Style.push({fontFamily: 'Barlow-Medium'});\n  if (fw === '600' || fw === 600) Style.push({fontFamily: 'Barlow-SemiBold'});\n  if (fw === '700' || fw === 700) Style.push({fontFamily: 'Barlow-Bold'});\n\n  if (ls) Style.push({letterSpacing: ls});\n  if (lh) Style.push({lineHeight: lh});\n  if (ta) Style.push({textAlign: ta});\n  if (tt) Style.push({textTransform: tt});\n  if (ml) Style.push({marginLeft: ml});\n  if (mb) Style.push({marginBottom: mb});\n  if (flex) Style.push({flex});\n  if (fShrink) Style.push({flexShrink: fShrink});\n  if (maxW) Style.push({maxWidth: maxW});\n  if (bw) Style.push({borderWidth: bw});\n  if (borderHorizontalWidth) Style.push({borderLeftWidth: borderHorizontalWidth, borderRightWidth: borderHorizontalWidth});\n  if (w) Style.push({width: w});\n  if (borderColor) Style.push({borderColor});\n  if (px) Style.push({paddingHorizontal: px});\n  if (my) Style.push({marginVertical: my});\n  if (mx) Style.push({marginHorizontal: mx});\n  if (mr) Style.push({marginRight: mr});\n  if (maxHeight) Style.push({maxHeight});\n  if (opacity) Style.push({opacity});\n  if (borderRadius) Style.push({borderRadius});\n  if (borderWidth) Style.push({borderWidth});\n  if (bg) Style.push({backgroundColor: bg});\n  if (position) Style.push({position});\n  if (textDecorationLine) Style.push({textDecorationLine});\n  if (minW) Style.push({minWidth: minW});\n  if (fontFamily) Style.push({fontFamily});\n  if (h) Style.push({height: h});\n  if (mt) Style.push({marginTop: mt});\n\n  if (style && Array.isArray(style)) Style = [...style];\n  else if (style) Style.push(style);\n\n  return <Text style={Style} {...rest}>{children}</Text>\n};\n\nexport default React.memo(P);\n","import React, {useState, ReactNode} from 'react';\nimport {\n  GestureResponderEvent, StyleProp, ViewStyle, TouchableOpacity, TextStyle, ColorValue, ActivityIndicator,\n  LayoutChangeEvent\n} from 'react-native';\nimport MainStyle from '../../MainStyle';\nimport {Fontisto} from '@expo/vector-icons';\nimport Div from \"../lib/Div\";\nimport P from \"../lib/P\";\n\ntype Props = {\n  text: string, onPress?: ((event: GestureResponderEvent) => void), style?: StyleProp<ViewStyle>, w?: string | number,\n  textStyle?: StyleProp<TextStyle>, h?: string | number, radius?: number, bg?: ColorValue, borderWidth?: number,\n  fontFamily?: 'Barlow-Regular' | 'Barlow-Medium' | 'Barlow-SemiBold' | 'Barlow-Bold', borderColor?: ColorValue,\n  fontSize?: number, mb?: string | number, ml?: string | number, mt?: string | number, cardType?: string,\n  color?: ColorValue, isLoading?: boolean, mx?: number | string, my?: number | string, shadow?: boolean,\n  autoPlayIcon?: ReactNode, disabled?: boolean, flex?: number, fontWeight?: '400' | '500' | '600' | '700'\n};\n\nconst Button = (props: Props) => {\n  const {text, style, textStyle, w, h, radius, bg, borderWidth, mb, borderColor, fontFamily, fontSize, ml, mt} = props;\n  const {cardType, color, isLoading, mx, my, shadow, autoPlayIcon, disabled, flex, fontWeight} = props;\n  let btnStyle: StyleProp<ViewStyle> = [\n    MainStyle.h_63, MainStyle.bg_newGreen, MainStyle.b_r_70, MainStyle.flex, MainStyle.j_c_c, MainStyle.a_i_c,\n    MainStyle.row\n  ];\n  const [currBtnHeight, setCurrBtnHeight] = useState(40);\n\n  if (Array.isArray(style)) btnStyle = [...btnStyle, ...style];\n  else if (style) btnStyle.push(style);\n\n  if (w) btnStyle.push({width: w});\n  if (h) btnStyle.push({height: h});\n  if (radius) btnStyle.push({borderRadius: radius});\n  if (bg) btnStyle.push({backgroundColor: bg});\n  if (borderWidth) btnStyle.push({borderWidth});\n  if (borderColor) btnStyle.push({borderColor});\n  if (mb) btnStyle.push({marginBottom: mb});\n  if (ml) btnStyle.push({marginLeft: ml});\n  if (mt) btnStyle.push({marginTop: mt});\n  if (mx) btnStyle.push({marginHorizontal: mx});\n  if (my) btnStyle.push({marginVertical: my});\n  if (flex) btnStyle.push({flex});\n  if (shadow) {\n    btnStyle.push({\n      shadowOffset: {width: 0, height: 4},\n      shadowRadius: 4,\n      shadowColor: \"rgba(0, 0, 0, 0.25)\",\n      shadowOpacity: 1\n    })\n  }\n\n  const onLayout = (event: LayoutChangeEvent) => {\n    const {height} = event.nativeEvent.layout;\n    setCurrBtnHeight(height);\n  };\n\n  return (\n    <TouchableOpacity onPress={props.onPress} style={[...btnStyle, disabled && MainStyle.o_05]} onLayout={onLayout}\n                      disabled={isLoading || disabled}>\n      {cardType && (\n        <Div mr={10}>\n          <Fontisto name={cardType as 'visa' | 'mastercard' | 'american-express'} size={18} color=\"white\"/>\n        </Div>\n      )}\n\n      {autoPlayIcon}\n\n      {isLoading ? (\n        <ActivityIndicator color=\"white\" size={currBtnHeight * 0.6}/>\n      ) : (\n        <P fontFamily={fontFamily} fs={fontSize || 22} fw={fontWeight || '500'} ta=\"center\" color={color || 'black'}\n           style={textStyle}>\n          {text}\n        </P>\n      )}\n    </TouchableOpacity>\n  );\n};\n\nexport default React.memo(Button);\n","/**\n * @fileoverview gRPC-Web generated client stub for qb.smg\n * @enhanceable\n * @public\n */\n\n// Code generated by protoc-gen-grpc-web. DO NOT EDIT.\n// versions:\n// \tprotoc-gen-grpc-web v1.4.2\n// \tprotoc              v3.20.3\n// source: smg_service.proto\n\n\n/* eslint-disable */\n// @ts-nocheck\n\n\nimport * as grpcWeb from 'grpc-web';\n\nimport * as smg_service_pb from './smg_service_pb';\n\n\nexport class SmgServiceClient {\n  client_: grpcWeb.AbstractClientBase;\n  hostname_: string;\n  credentials_: null | { [index: string]: string; };\n  options_: null | { [index: string]: any; };\n\n  constructor (hostname: string,\n               credentials?: null | { [index: string]: string; },\n               options?: null | { [index: string]: any; }) {\n    if (!options) options = {};\n    if (!credentials) credentials = {};\n    options['format'] = 'text';\n\n    this.client_ = new grpcWeb.GrpcWebClientBase(options);\n    this.hostname_ = hostname.replace(/\\/+$/, '');\n    this.credentials_ = credentials;\n    this.options_ = options;\n  }\n\n  methodDescriptorRegisterUser = new grpcWeb.MethodDescriptor(\n    '/qb.smg.SmgService/RegisterUser',\n    grpcWeb.MethodType.UNARY,\n    smg_service_pb.RegisterUserRequest,\n    smg_service_pb.RegisterUserReply,\n    (request: smg_service_pb.RegisterUserRequest) => {\n      return request.serializeBinary();\n    },\n    smg_service_pb.RegisterUserReply.deserializeBinary\n  );\n\n  registerUser(\n    request: smg_service_pb.RegisterUserRequest,\n    metadata: grpcWeb.Metadata | null): Promise<smg_service_pb.RegisterUserReply>;\n\n  registerUser(\n    request: smg_service_pb.RegisterUserRequest,\n    metadata: grpcWeb.Metadata | null,\n    callback: (err: grpcWeb.RpcError,\n               response: smg_service_pb.RegisterUserReply) => void): grpcWeb.ClientReadableStream<smg_service_pb.RegisterUserReply>;\n\n  registerUser(\n    request: smg_service_pb.RegisterUserRequest,\n    metadata: grpcWeb.Metadata | null,\n    callback?: (err: grpcWeb.RpcError,\n               response: smg_service_pb.RegisterUserReply) => void) {\n    if (callback !== undefined) {\n      return this.client_.rpcCall(\n        this.hostname_ +\n          '/qb.smg.SmgService/RegisterUser',\n        request,\n        metadata || {},\n        this.methodDescriptorRegisterUser,\n        callback);\n    }\n    return this.client_.unaryCall(\n    this.hostname_ +\n      '/qb.smg.SmgService/RegisterUser',\n    request,\n    metadata || {},\n    this.methodDescriptorRegisterUser);\n  }\n\n  methodDescriptorRequestResetPin = new grpcWeb.MethodDescriptor(\n    '/qb.smg.SmgService/RequestResetPin',\n    grpcWeb.MethodType.UNARY,\n    smg_service_pb.RequestResetPinRequest,\n    smg_service_pb.RequestResetPinReply,\n    (request: smg_service_pb.RequestResetPinRequest) => {\n      return request.serializeBinary();\n    },\n    smg_service_pb.RequestResetPinReply.deserializeBinary\n  );\n\n  requestResetPin(\n    request: smg_service_pb.RequestResetPinRequest,\n    metadata: grpcWeb.Metadata | null): Promise<smg_service_pb.RequestResetPinReply>;\n\n  requestResetPin(\n    request: smg_service_pb.RequestResetPinRequest,\n    metadata: grpcWeb.Metadata | null,\n    callback: (err: grpcWeb.RpcError,\n               response: smg_service_pb.RequestResetPinReply) => void): grpcWeb.ClientReadableStream<smg_service_pb.RequestResetPinReply>;\n\n  requestResetPin(\n    request: smg_service_pb.RequestResetPinRequest,\n    metadata: grpcWeb.Metadata | null,\n    callback?: (err: grpcWeb.RpcError,\n               response: smg_service_pb.RequestResetPinReply) => void) {\n    if (callback !== undefined) {\n      return this.client_.rpcCall(\n        this.hostname_ +\n          '/qb.smg.SmgService/RequestResetPin',\n        request,\n        metadata || {},\n        this.methodDescriptorRequestResetPin,\n        callback);\n    }\n    return this.client_.unaryCall(\n    this.hostname_ +\n      '/qb.smg.SmgService/RequestResetPin',\n    request,\n    metadata || {},\n    this.methodDescriptorRequestResetPin);\n  }\n\n  methodDescriptorResendEmailConfirmation = new grpcWeb.MethodDescriptor(\n    '/qb.smg.SmgService/ResendEmailConfirmation',\n    grpcWeb.MethodType.UNARY,\n    smg_service_pb.ResendEmailConfirmationRequest,\n    smg_service_pb.ResendEmailConfirmationReply,\n    (request: smg_service_pb.ResendEmailConfirmationRequest) => {\n      return request.serializeBinary();\n    },\n    smg_service_pb.ResendEmailConfirmationReply.deserializeBinary\n  );\n\n  resendEmailConfirmation(\n    request: smg_service_pb.ResendEmailConfirmationRequest,\n    metadata: grpcWeb.Metadata | null): Promise<smg_service_pb.ResendEmailConfirmationReply>;\n\n  resendEmailConfirmation(\n    request: smg_service_pb.ResendEmailConfirmationRequest,\n    metadata: grpcWeb.Metadata | null,\n    callback: (err: grpcWeb.RpcError,\n               response: smg_service_pb.ResendEmailConfirmationReply) => void): grpcWeb.ClientReadableStream<smg_service_pb.ResendEmailConfirmationReply>;\n\n  resendEmailConfirmation(\n    request: smg_service_pb.ResendEmailConfirmationRequest,\n    metadata: grpcWeb.Metadata | null,\n    callback?: (err: grpcWeb.RpcError,\n               response: smg_service_pb.ResendEmailConfirmationReply) => void) {\n    if (callback !== undefined) {\n      return this.client_.rpcCall(\n        this.hostname_ +\n          '/qb.smg.SmgService/ResendEmailConfirmation',\n        request,\n        metadata || {},\n        this.methodDescriptorResendEmailConfirmation,\n        callback);\n    }\n    return this.client_.unaryCall(\n    this.hostname_ +\n      '/qb.smg.SmgService/ResendEmailConfirmation',\n    request,\n    metadata || {},\n    this.methodDescriptorResendEmailConfirmation);\n  }\n\n  methodDescriptorConfirmEmail = new grpcWeb.MethodDescriptor(\n    '/qb.smg.SmgService/ConfirmEmail',\n    grpcWeb.MethodType.UNARY,\n    smg_service_pb.ConfirmEmailRequest,\n    smg_service_pb.ConfirmEmailReply,\n    (request: smg_service_pb.ConfirmEmailRequest) => {\n      return request.serializeBinary();\n    },\n    smg_service_pb.ConfirmEmailReply.deserializeBinary\n  );\n\n  confirmEmail(\n    request: smg_service_pb.ConfirmEmailRequest,\n    metadata: grpcWeb.Metadata | null): Promise<smg_service_pb.ConfirmEmailReply>;\n\n  confirmEmail(\n    request: smg_service_pb.ConfirmEmailRequest,\n    metadata: grpcWeb.Metadata | null,\n    callback: (err: grpcWeb.RpcError,\n               response: smg_service_pb.ConfirmEmailReply) => void): grpcWeb.ClientReadableStream<smg_service_pb.ConfirmEmailReply>;\n\n  confirmEmail(\n    request: smg_service_pb.ConfirmEmailRequest,\n    metadata: grpcWeb.Metadata | null,\n    callback?: (err: grpcWeb.RpcError,\n               response: smg_service_pb.ConfirmEmailReply) => void) {\n    if (callback !== undefined) {\n      return this.client_.rpcCall(\n        this.hostname_ +\n          '/qb.smg.SmgService/ConfirmEmail',\n        request,\n        metadata || {},\n        this.methodDescriptorConfirmEmail,\n        callback);\n    }\n    return this.client_.unaryCall(\n    this.hostname_ +\n      '/qb.smg.SmgService/ConfirmEmail',\n    request,\n    metadata || {},\n    this.methodDescriptorConfirmEmail);\n  }\n\n  methodDescriptorDoResetPin = new grpcWeb.MethodDescriptor(\n    '/qb.smg.SmgService/DoResetPin',\n    grpcWeb.MethodType.UNARY,\n    smg_service_pb.DoResetPinRequest,\n    smg_service_pb.DoResetPinReply,\n    (request: smg_service_pb.DoResetPinRequest) => {\n      return request.serializeBinary();\n    },\n    smg_service_pb.DoResetPinReply.deserializeBinary\n  );\n\n  doResetPin(\n    request: smg_service_pb.DoResetPinRequest,\n    metadata: grpcWeb.Metadata | null): Promise<smg_service_pb.DoResetPinReply>;\n\n  doResetPin(\n    request: smg_service_pb.DoResetPinRequest,\n    metadata: grpcWeb.Metadata | null,\n    callback: (err: grpcWeb.RpcError,\n               response: smg_service_pb.DoResetPinReply) => void): grpcWeb.ClientReadableStream<smg_service_pb.DoResetPinReply>;\n\n  doResetPin(\n    request: smg_service_pb.DoResetPinRequest,\n    metadata: grpcWeb.Metadata | null,\n    callback?: (err: grpcWeb.RpcError,\n               response: smg_service_pb.DoResetPinReply) => void) {\n    if (callback !== undefined) {\n      return this.client_.rpcCall(\n        this.hostname_ +\n          '/qb.smg.SmgService/DoResetPin',\n        request,\n        metadata || {},\n        this.methodDescriptorDoResetPin,\n        callback);\n    }\n    return this.client_.unaryCall(\n    this.hostname_ +\n      '/qb.smg.SmgService/DoResetPin',\n    request,\n    metadata || {},\n    this.methodDescriptorDoResetPin);\n  }\n\n  methodDescriptorLocateVenue = new grpcWeb.MethodDescriptor(\n    '/qb.smg.SmgService/LocateVenue',\n    grpcWeb.MethodType.UNARY,\n    smg_service_pb.LocateVenueRequest,\n    smg_service_pb.LocateVenueReply,\n    (request: smg_service_pb.LocateVenueRequest) => {\n      return request.serializeBinary();\n    },\n    smg_service_pb.LocateVenueReply.deserializeBinary\n  );\n\n  locateVenue(\n    request: smg_service_pb.LocateVenueRequest,\n    metadata: grpcWeb.Metadata | null): Promise<smg_service_pb.LocateVenueReply>;\n\n  locateVenue(\n    request: smg_service_pb.LocateVenueRequest,\n    metadata: grpcWeb.Metadata | null,\n    callback: (err: grpcWeb.RpcError,\n               response: smg_service_pb.LocateVenueReply) => void): grpcWeb.ClientReadableStream<smg_service_pb.LocateVenueReply>;\n\n  locateVenue(\n    request: smg_service_pb.LocateVenueRequest,\n    metadata: grpcWeb.Metadata | null,\n    callback?: (err: grpcWeb.RpcError,\n               response: smg_service_pb.LocateVenueReply) => void) {\n    if (callback !== undefined) {\n      return this.client_.rpcCall(\n        this.hostname_ +\n          '/qb.smg.SmgService/LocateVenue',\n        request,\n        metadata || {},\n        this.methodDescriptorLocateVenue,\n        callback);\n    }\n    return this.client_.unaryCall(\n    this.hostname_ +\n      '/qb.smg.SmgService/LocateVenue',\n    request,\n    metadata || {},\n    this.methodDescriptorLocateVenue);\n  }\n\n  methodDescriptorCheckUserEmailExists = new grpcWeb.MethodDescriptor(\n    '/qb.smg.SmgService/CheckUserEmailExists',\n    grpcWeb.MethodType.UNARY,\n    smg_service_pb.CheckUserEmailExistsRequest,\n    smg_service_pb.CheckUserEmailExistsReply,\n    (request: smg_service_pb.CheckUserEmailExistsRequest) => {\n      return request.serializeBinary();\n    },\n    smg_service_pb.CheckUserEmailExistsReply.deserializeBinary\n  );\n\n  checkUserEmailExists(\n    request: smg_service_pb.CheckUserEmailExistsRequest,\n    metadata: grpcWeb.Metadata | null): Promise<smg_service_pb.CheckUserEmailExistsReply>;\n\n  checkUserEmailExists(\n    request: smg_service_pb.CheckUserEmailExistsRequest,\n    metadata: grpcWeb.Metadata | null,\n    callback: (err: grpcWeb.RpcError,\n               response: smg_service_pb.CheckUserEmailExistsReply) => void): grpcWeb.ClientReadableStream<smg_service_pb.CheckUserEmailExistsReply>;\n\n  checkUserEmailExists(\n    request: smg_service_pb.CheckUserEmailExistsRequest,\n    metadata: grpcWeb.Metadata | null,\n    callback?: (err: grpcWeb.RpcError,\n               response: smg_service_pb.CheckUserEmailExistsReply) => void) {\n    if (callback !== undefined) {\n      return this.client_.rpcCall(\n        this.hostname_ +\n          '/qb.smg.SmgService/CheckUserEmailExists',\n        request,\n        metadata || {},\n        this.methodDescriptorCheckUserEmailExists,\n        callback);\n    }\n    return this.client_.unaryCall(\n    this.hostname_ +\n      '/qb.smg.SmgService/CheckUserEmailExists',\n    request,\n    metadata || {},\n    this.methodDescriptorCheckUserEmailExists);\n  }\n\n  methodDescriptorRequestChangePhoto = new grpcWeb.MethodDescriptor(\n    '/qb.smg.SmgService/RequestChangePhoto',\n    grpcWeb.MethodType.UNARY,\n    smg_service_pb.RequestChangePhotoRequest,\n    smg_service_pb.RequestChangePhotoReply,\n    (request: smg_service_pb.RequestChangePhotoRequest) => {\n      return request.serializeBinary();\n    },\n    smg_service_pb.RequestChangePhotoReply.deserializeBinary\n  );\n\n  requestChangePhoto(\n    request: smg_service_pb.RequestChangePhotoRequest,\n    metadata: grpcWeb.Metadata | null): Promise<smg_service_pb.RequestChangePhotoReply>;\n\n  requestChangePhoto(\n    request: smg_service_pb.RequestChangePhotoRequest,\n    metadata: grpcWeb.Metadata | null,\n    callback: (err: grpcWeb.RpcError,\n               response: smg_service_pb.RequestChangePhotoReply) => void): grpcWeb.ClientReadableStream<smg_service_pb.RequestChangePhotoReply>;\n\n  requestChangePhoto(\n    request: smg_service_pb.RequestChangePhotoRequest,\n    metadata: grpcWeb.Metadata | null,\n    callback?: (err: grpcWeb.RpcError,\n               response: smg_service_pb.RequestChangePhotoReply) => void) {\n    if (callback !== undefined) {\n      return this.client_.rpcCall(\n        this.hostname_ +\n          '/qb.smg.SmgService/RequestChangePhoto',\n        request,\n        metadata || {},\n        this.methodDescriptorRequestChangePhoto,\n        callback);\n    }\n    return this.client_.unaryCall(\n    this.hostname_ +\n      '/qb.smg.SmgService/RequestChangePhoto',\n    request,\n    metadata || {},\n    this.methodDescriptorRequestChangePhoto);\n  }\n\n  methodDescriptorGetChangePhotoRequests = new grpcWeb.MethodDescriptor(\n    '/qb.smg.SmgService/GetChangePhotoRequests',\n    grpcWeb.MethodType.UNARY,\n    smg_service_pb.GetChangePhotoRequestsRequest,\n    smg_service_pb.GetChangePhotoRequestsReply,\n    (request: smg_service_pb.GetChangePhotoRequestsRequest) => {\n      return request.serializeBinary();\n    },\n    smg_service_pb.GetChangePhotoRequestsReply.deserializeBinary\n  );\n\n  getChangePhotoRequests(\n    request: smg_service_pb.GetChangePhotoRequestsRequest,\n    metadata: grpcWeb.Metadata | null): Promise<smg_service_pb.GetChangePhotoRequestsReply>;\n\n  getChangePhotoRequests(\n    request: smg_service_pb.GetChangePhotoRequestsRequest,\n    metadata: grpcWeb.Metadata | null,\n    callback: (err: grpcWeb.RpcError,\n               response: smg_service_pb.GetChangePhotoRequestsReply) => void): grpcWeb.ClientReadableStream<smg_service_pb.GetChangePhotoRequestsReply>;\n\n  getChangePhotoRequests(\n    request: smg_service_pb.GetChangePhotoRequestsRequest,\n    metadata: grpcWeb.Metadata | null,\n    callback?: (err: grpcWeb.RpcError,\n               response: smg_service_pb.GetChangePhotoRequestsReply) => void) {\n    if (callback !== undefined) {\n      return this.client_.rpcCall(\n        this.hostname_ +\n          '/qb.smg.SmgService/GetChangePhotoRequests',\n        request,\n        metadata || {},\n        this.methodDescriptorGetChangePhotoRequests,\n        callback);\n    }\n    return this.client_.unaryCall(\n    this.hostname_ +\n      '/qb.smg.SmgService/GetChangePhotoRequests',\n    request,\n    metadata || {},\n    this.methodDescriptorGetChangePhotoRequests);\n  }\n\n  methodDescriptorApproveChangePhotoRequest = new grpcWeb.MethodDescriptor(\n    '/qb.smg.SmgService/ApproveChangePhotoRequest',\n    grpcWeb.MethodType.UNARY,\n    smg_service_pb.ApproveChangePhotoRequestRequest,\n    smg_service_pb.ApproveChangePhotoRequestReply,\n    (request: smg_service_pb.ApproveChangePhotoRequestRequest) => {\n      return request.serializeBinary();\n    },\n    smg_service_pb.ApproveChangePhotoRequestReply.deserializeBinary\n  );\n\n  approveChangePhotoRequest(\n    request: smg_service_pb.ApproveChangePhotoRequestRequest,\n    metadata: grpcWeb.Metadata | null): Promise<smg_service_pb.ApproveChangePhotoRequestReply>;\n\n  approveChangePhotoRequest(\n    request: smg_service_pb.ApproveChangePhotoRequestRequest,\n    metadata: grpcWeb.Metadata | null,\n    callback: (err: grpcWeb.RpcError,\n               response: smg_service_pb.ApproveChangePhotoRequestReply) => void): grpcWeb.ClientReadableStream<smg_service_pb.ApproveChangePhotoRequestReply>;\n\n  approveChangePhotoRequest(\n    request: smg_service_pb.ApproveChangePhotoRequestRequest,\n    metadata: grpcWeb.Metadata | null,\n    callback?: (err: grpcWeb.RpcError,\n               response: smg_service_pb.ApproveChangePhotoRequestReply) => void) {\n    if (callback !== undefined) {\n      return this.client_.rpcCall(\n        this.hostname_ +\n          '/qb.smg.SmgService/ApproveChangePhotoRequest',\n        request,\n        metadata || {},\n        this.methodDescriptorApproveChangePhotoRequest,\n        callback);\n    }\n    return this.client_.unaryCall(\n    this.hostname_ +\n      '/qb.smg.SmgService/ApproveChangePhotoRequest',\n    request,\n    metadata || {},\n    this.methodDescriptorApproveChangePhotoRequest);\n  }\n\n  methodDescriptorGetTnc = new grpcWeb.MethodDescriptor(\n    '/qb.smg.SmgService/GetTnc',\n    grpcWeb.MethodType.UNARY,\n    smg_service_pb.GetTncRequest,\n    smg_service_pb.GetTncReply,\n    (request: smg_service_pb.GetTncRequest) => {\n      return request.serializeBinary();\n    },\n    smg_service_pb.GetTncReply.deserializeBinary\n  );\n\n  getTnc(\n    request: smg_service_pb.GetTncRequest,\n    metadata: grpcWeb.Metadata | null): Promise<smg_service_pb.GetTncReply>;\n\n  getTnc(\n    request: smg_service_pb.GetTncRequest,\n    metadata: grpcWeb.Metadata | null,\n    callback: (err: grpcWeb.RpcError,\n               response: smg_service_pb.GetTncReply) => void): grpcWeb.ClientReadableStream<smg_service_pb.GetTncReply>;\n\n  getTnc(\n    request: smg_service_pb.GetTncRequest,\n    metadata: grpcWeb.Metadata | null,\n    callback?: (err: grpcWeb.RpcError,\n               response: smg_service_pb.GetTncReply) => void) {\n    if (callback !== undefined) {\n      return this.client_.rpcCall(\n        this.hostname_ +\n          '/qb.smg.SmgService/GetTnc',\n        request,\n        metadata || {},\n        this.methodDescriptorGetTnc,\n        callback);\n    }\n    return this.client_.unaryCall(\n    this.hostname_ +\n      '/qb.smg.SmgService/GetTnc',\n    request,\n    metadata || {},\n    this.methodDescriptorGetTnc);\n  }\n\n  methodDescriptorAcceptTnc = new grpcWeb.MethodDescriptor(\n    '/qb.smg.SmgService/AcceptTnc',\n    grpcWeb.MethodType.UNARY,\n    smg_service_pb.AcceptTncRequest,\n    smg_service_pb.AcceptTncReply,\n    (request: smg_service_pb.AcceptTncRequest) => {\n      return request.serializeBinary();\n    },\n    smg_service_pb.AcceptTncReply.deserializeBinary\n  );\n\n  acceptTnc(\n    request: smg_service_pb.AcceptTncRequest,\n    metadata: grpcWeb.Metadata | null): Promise<smg_service_pb.AcceptTncReply>;\n\n  acceptTnc(\n    request: smg_service_pb.AcceptTncRequest,\n    metadata: grpcWeb.Metadata | null,\n    callback: (err: grpcWeb.RpcError,\n               response: smg_service_pb.AcceptTncReply) => void): grpcWeb.ClientReadableStream<smg_service_pb.AcceptTncReply>;\n\n  acceptTnc(\n    request: smg_service_pb.AcceptTncRequest,\n    metadata: grpcWeb.Metadata | null,\n    callback?: (err: grpcWeb.RpcError,\n               response: smg_service_pb.AcceptTncReply) => void) {\n    if (callback !== undefined) {\n      return this.client_.rpcCall(\n        this.hostname_ +\n          '/qb.smg.SmgService/AcceptTnc',\n        request,\n        metadata || {},\n        this.methodDescriptorAcceptTnc,\n        callback);\n    }\n    return this.client_.unaryCall(\n    this.hostname_ +\n      '/qb.smg.SmgService/AcceptTnc',\n    request,\n    metadata || {},\n    this.methodDescriptorAcceptTnc);\n  }\n\n  methodDescriptorStartVeriffKycVerification = new grpcWeb.MethodDescriptor(\n    '/qb.smg.SmgService/StartVeriffKycVerification',\n    grpcWeb.MethodType.UNARY,\n    smg_service_pb.StartVeriffKycVerificationRequest,\n    smg_service_pb.StartVeriffKycVerificationResponse,\n    (request: smg_service_pb.StartVeriffKycVerificationRequest) => {\n      return request.serializeBinary();\n    },\n    smg_service_pb.StartVeriffKycVerificationResponse.deserializeBinary\n  );\n\n  startVeriffKycVerification(\n    request: smg_service_pb.StartVeriffKycVerificationRequest,\n    metadata: grpcWeb.Metadata | null): Promise<smg_service_pb.StartVeriffKycVerificationResponse>;\n\n  startVeriffKycVerification(\n    request: smg_service_pb.StartVeriffKycVerificationRequest,\n    metadata: grpcWeb.Metadata | null,\n    callback: (err: grpcWeb.RpcError,\n               response: smg_service_pb.StartVeriffKycVerificationResponse) => void): grpcWeb.ClientReadableStream<smg_service_pb.StartVeriffKycVerificationResponse>;\n\n  startVeriffKycVerification(\n    request: smg_service_pb.StartVeriffKycVerificationRequest,\n    metadata: grpcWeb.Metadata | null,\n    callback?: (err: grpcWeb.RpcError,\n               response: smg_service_pb.StartVeriffKycVerificationResponse) => void) {\n    if (callback !== undefined) {\n      return this.client_.rpcCall(\n        this.hostname_ +\n          '/qb.smg.SmgService/StartVeriffKycVerification',\n        request,\n        metadata || {},\n        this.methodDescriptorStartVeriffKycVerification,\n        callback);\n    }\n    return this.client_.unaryCall(\n    this.hostname_ +\n      '/qb.smg.SmgService/StartVeriffKycVerification',\n    request,\n    metadata || {},\n    this.methodDescriptorStartVeriffKycVerification);\n  }\n\n  methodDescriptorSubmitPhoto = new grpcWeb.MethodDescriptor(\n    '/qb.smg.SmgService/SubmitPhoto',\n    grpcWeb.MethodType.UNARY,\n    smg_service_pb.SubmitPhotoRequest,\n    smg_service_pb.SubmitPhotoReply,\n    (request: smg_service_pb.SubmitPhotoRequest) => {\n      return request.serializeBinary();\n    },\n    smg_service_pb.SubmitPhotoReply.deserializeBinary\n  );\n\n  submitPhoto(\n    request: smg_service_pb.SubmitPhotoRequest,\n    metadata: grpcWeb.Metadata | null): Promise<smg_service_pb.SubmitPhotoReply>;\n\n  submitPhoto(\n    request: smg_service_pb.SubmitPhotoRequest,\n    metadata: grpcWeb.Metadata | null,\n    callback: (err: grpcWeb.RpcError,\n               response: smg_service_pb.SubmitPhotoReply) => void): grpcWeb.ClientReadableStream<smg_service_pb.SubmitPhotoReply>;\n\n  submitPhoto(\n    request: smg_service_pb.SubmitPhotoRequest,\n    metadata: grpcWeb.Metadata | null,\n    callback?: (err: grpcWeb.RpcError,\n               response: smg_service_pb.SubmitPhotoReply) => void) {\n    if (callback !== undefined) {\n      return this.client_.rpcCall(\n        this.hostname_ +\n          '/qb.smg.SmgService/SubmitPhoto',\n        request,\n        metadata || {},\n        this.methodDescriptorSubmitPhoto,\n        callback);\n    }\n    return this.client_.unaryCall(\n    this.hostname_ +\n      '/qb.smg.SmgService/SubmitPhoto',\n    request,\n    metadata || {},\n    this.methodDescriptorSubmitPhoto);\n  }\n\n  methodDescriptorContactCsr = new grpcWeb.MethodDescriptor(\n    '/qb.smg.SmgService/ContactCsr',\n    grpcWeb.MethodType.UNARY,\n    smg_service_pb.ContactCsrRequest,\n    smg_service_pb.ContactCsrReply,\n    (request: smg_service_pb.ContactCsrRequest) => {\n      return request.serializeBinary();\n    },\n    smg_service_pb.ContactCsrReply.deserializeBinary\n  );\n\n  contactCsr(\n    request: smg_service_pb.ContactCsrRequest,\n    metadata: grpcWeb.Metadata | null): Promise<smg_service_pb.ContactCsrReply>;\n\n  contactCsr(\n    request: smg_service_pb.ContactCsrRequest,\n    metadata: grpcWeb.Metadata | null,\n    callback: (err: grpcWeb.RpcError,\n               response: smg_service_pb.ContactCsrReply) => void): grpcWeb.ClientReadableStream<smg_service_pb.ContactCsrReply>;\n\n  contactCsr(\n    request: smg_service_pb.ContactCsrRequest,\n    metadata: grpcWeb.Metadata | null,\n    callback?: (err: grpcWeb.RpcError,\n               response: smg_service_pb.ContactCsrReply) => void) {\n    if (callback !== undefined) {\n      return this.client_.rpcCall(\n        this.hostname_ +\n          '/qb.smg.SmgService/ContactCsr',\n        request,\n        metadata || {},\n        this.methodDescriptorContactCsr,\n        callback);\n    }\n    return this.client_.unaryCall(\n    this.hostname_ +\n      '/qb.smg.SmgService/ContactCsr',\n    request,\n    metadata || {},\n    this.methodDescriptorContactCsr);\n  }\n\n  methodDescriptorUpdateUser = new grpcWeb.MethodDescriptor(\n    '/qb.smg.SmgService/UpdateUser',\n    grpcWeb.MethodType.UNARY,\n    smg_service_pb.UpdateUserRequest,\n    smg_service_pb.UpdateUserReply,\n    (request: smg_service_pb.UpdateUserRequest) => {\n      return request.serializeBinary();\n    },\n    smg_service_pb.UpdateUserReply.deserializeBinary\n  );\n\n  updateUser(\n    request: smg_service_pb.UpdateUserRequest,\n    metadata: grpcWeb.Metadata | null): Promise<smg_service_pb.UpdateUserReply>;\n\n  updateUser(\n    request: smg_service_pb.UpdateUserRequest,\n    metadata: grpcWeb.Metadata | null,\n    callback: (err: grpcWeb.RpcError,\n               response: smg_service_pb.UpdateUserReply) => void): grpcWeb.ClientReadableStream<smg_service_pb.UpdateUserReply>;\n\n  updateUser(\n    request: smg_service_pb.UpdateUserRequest,\n    metadata: grpcWeb.Metadata | null,\n    callback?: (err: grpcWeb.RpcError,\n               response: smg_service_pb.UpdateUserReply) => void) {\n    if (callback !== undefined) {\n      return this.client_.rpcCall(\n        this.hostname_ +\n          '/qb.smg.SmgService/UpdateUser',\n        request,\n        metadata || {},\n        this.methodDescriptorUpdateUser,\n        callback);\n    }\n    return this.client_.unaryCall(\n    this.hostname_ +\n      '/qb.smg.SmgService/UpdateUser',\n    request,\n    metadata || {},\n    this.methodDescriptorUpdateUser);\n  }\n\n  methodDescriptorEmailLogin = new grpcWeb.MethodDescriptor(\n    '/qb.smg.SmgService/EmailLogin',\n    grpcWeb.MethodType.UNARY,\n    smg_service_pb.EmailLoginRequest,\n    smg_service_pb.EmailLoginReply,\n    (request: smg_service_pb.EmailLoginRequest) => {\n      return request.serializeBinary();\n    },\n    smg_service_pb.EmailLoginReply.deserializeBinary\n  );\n\n  emailLogin(\n    request: smg_service_pb.EmailLoginRequest,\n    metadata: grpcWeb.Metadata | null): Promise<smg_service_pb.EmailLoginReply>;\n\n  emailLogin(\n    request: smg_service_pb.EmailLoginRequest,\n    metadata: grpcWeb.Metadata | null,\n    callback: (err: grpcWeb.RpcError,\n               response: smg_service_pb.EmailLoginReply) => void): grpcWeb.ClientReadableStream<smg_service_pb.EmailLoginReply>;\n\n  emailLogin(\n    request: smg_service_pb.EmailLoginRequest,\n    metadata: grpcWeb.Metadata | null,\n    callback?: (err: grpcWeb.RpcError,\n               response: smg_service_pb.EmailLoginReply) => void) {\n    if (callback !== undefined) {\n      return this.client_.rpcCall(\n        this.hostname_ +\n          '/qb.smg.SmgService/EmailLogin',\n        request,\n        metadata || {},\n        this.methodDescriptorEmailLogin,\n        callback);\n    }\n    return this.client_.unaryCall(\n    this.hostname_ +\n      '/qb.smg.SmgService/EmailLogin',\n    request,\n    metadata || {},\n    this.methodDescriptorEmailLogin);\n  }\n\n  methodDescriptorImageLogin = new grpcWeb.MethodDescriptor(\n    '/qb.smg.SmgService/ImageLogin',\n    grpcWeb.MethodType.UNARY,\n    smg_service_pb.ImageLoginRequest,\n    smg_service_pb.ImageLoginReply,\n    (request: smg_service_pb.ImageLoginRequest) => {\n      return request.serializeBinary();\n    },\n    smg_service_pb.ImageLoginReply.deserializeBinary\n  );\n\n  imageLogin(\n    request: smg_service_pb.ImageLoginRequest,\n    metadata: grpcWeb.Metadata | null): Promise<smg_service_pb.ImageLoginReply>;\n\n  imageLogin(\n    request: smg_service_pb.ImageLoginRequest,\n    metadata: grpcWeb.Metadata | null,\n    callback: (err: grpcWeb.RpcError,\n               response: smg_service_pb.ImageLoginReply) => void): grpcWeb.ClientReadableStream<smg_service_pb.ImageLoginReply>;\n\n  imageLogin(\n    request: smg_service_pb.ImageLoginRequest,\n    metadata: grpcWeb.Metadata | null,\n    callback?: (err: grpcWeb.RpcError,\n               response: smg_service_pb.ImageLoginReply) => void) {\n    if (callback !== undefined) {\n      return this.client_.rpcCall(\n        this.hostname_ +\n          '/qb.smg.SmgService/ImageLogin',\n        request,\n        metadata || {},\n        this.methodDescriptorImageLogin,\n        callback);\n    }\n    return this.client_.unaryCall(\n    this.hostname_ +\n      '/qb.smg.SmgService/ImageLogin',\n    request,\n    metadata || {},\n    this.methodDescriptorImageLogin);\n  }\n\n  methodDescriptorRequestOtpCode = new grpcWeb.MethodDescriptor(\n    '/qb.smg.SmgService/RequestOtpCode',\n    grpcWeb.MethodType.UNARY,\n    smg_service_pb.RequestOtpCodeRequest,\n    smg_service_pb.RequestOtpCodeReply,\n    (request: smg_service_pb.RequestOtpCodeRequest) => {\n      return request.serializeBinary();\n    },\n    smg_service_pb.RequestOtpCodeReply.deserializeBinary\n  );\n\n  requestOtpCode(\n    request: smg_service_pb.RequestOtpCodeRequest,\n    metadata: grpcWeb.Metadata | null): Promise<smg_service_pb.RequestOtpCodeReply>;\n\n  requestOtpCode(\n    request: smg_service_pb.RequestOtpCodeRequest,\n    metadata: grpcWeb.Metadata | null,\n    callback: (err: grpcWeb.RpcError,\n               response: smg_service_pb.RequestOtpCodeReply) => void): grpcWeb.ClientReadableStream<smg_service_pb.RequestOtpCodeReply>;\n\n  requestOtpCode(\n    request: smg_service_pb.RequestOtpCodeRequest,\n    metadata: grpcWeb.Metadata | null,\n    callback?: (err: grpcWeb.RpcError,\n               response: smg_service_pb.RequestOtpCodeReply) => void) {\n    if (callback !== undefined) {\n      return this.client_.rpcCall(\n        this.hostname_ +\n          '/qb.smg.SmgService/RequestOtpCode',\n        request,\n        metadata || {},\n        this.methodDescriptorRequestOtpCode,\n        callback);\n    }\n    return this.client_.unaryCall(\n    this.hostname_ +\n      '/qb.smg.SmgService/RequestOtpCode',\n    request,\n    metadata || {},\n    this.methodDescriptorRequestOtpCode);\n  }\n\n  methodDescriptorRetrieveOtpCodeForAdmin = new grpcWeb.MethodDescriptor(\n    '/qb.smg.SmgService/RetrieveOtpCodeForAdmin',\n    grpcWeb.MethodType.UNARY,\n    smg_service_pb.RetrieveCodeForAdminRequest,\n    smg_service_pb.RetrieveCodeForAdminReply,\n    (request: smg_service_pb.RetrieveCodeForAdminRequest) => {\n      return request.serializeBinary();\n    },\n    smg_service_pb.RetrieveCodeForAdminReply.deserializeBinary\n  );\n\n  retrieveOtpCodeForAdmin(\n    request: smg_service_pb.RetrieveCodeForAdminRequest,\n    metadata: grpcWeb.Metadata | null): Promise<smg_service_pb.RetrieveCodeForAdminReply>;\n\n  retrieveOtpCodeForAdmin(\n    request: smg_service_pb.RetrieveCodeForAdminRequest,\n    metadata: grpcWeb.Metadata | null,\n    callback: (err: grpcWeb.RpcError,\n               response: smg_service_pb.RetrieveCodeForAdminReply) => void): grpcWeb.ClientReadableStream<smg_service_pb.RetrieveCodeForAdminReply>;\n\n  retrieveOtpCodeForAdmin(\n    request: smg_service_pb.RetrieveCodeForAdminRequest,\n    metadata: grpcWeb.Metadata | null,\n    callback?: (err: grpcWeb.RpcError,\n               response: smg_service_pb.RetrieveCodeForAdminReply) => void) {\n    if (callback !== undefined) {\n      return this.client_.rpcCall(\n        this.hostname_ +\n          '/qb.smg.SmgService/RetrieveOtpCodeForAdmin',\n        request,\n        metadata || {},\n        this.methodDescriptorRetrieveOtpCodeForAdmin,\n        callback);\n    }\n    return this.client_.unaryCall(\n    this.hostname_ +\n      '/qb.smg.SmgService/RetrieveOtpCodeForAdmin',\n    request,\n    metadata || {},\n    this.methodDescriptorRetrieveOtpCodeForAdmin);\n  }\n\n  methodDescriptorEnableSelfLimitation = new grpcWeb.MethodDescriptor(\n    '/qb.smg.SmgService/EnableSelfLimitation',\n    grpcWeb.MethodType.UNARY,\n    smg_service_pb.EnableSelfLimitationRequest,\n    smg_service_pb.EnableSelfLimitationReply,\n    (request: smg_service_pb.EnableSelfLimitationRequest) => {\n      return request.serializeBinary();\n    },\n    smg_service_pb.EnableSelfLimitationReply.deserializeBinary\n  );\n\n  enableSelfLimitation(\n    request: smg_service_pb.EnableSelfLimitationRequest,\n    metadata: grpcWeb.Metadata | null): Promise<smg_service_pb.EnableSelfLimitationReply>;\n\n  enableSelfLimitation(\n    request: smg_service_pb.EnableSelfLimitationRequest,\n    metadata: grpcWeb.Metadata | null,\n    callback: (err: grpcWeb.RpcError,\n               response: smg_service_pb.EnableSelfLimitationReply) => void): grpcWeb.ClientReadableStream<smg_service_pb.EnableSelfLimitationReply>;\n\n  enableSelfLimitation(\n    request: smg_service_pb.EnableSelfLimitationRequest,\n    metadata: grpcWeb.Metadata | null,\n    callback?: (err: grpcWeb.RpcError,\n               response: smg_service_pb.EnableSelfLimitationReply) => void) {\n    if (callback !== undefined) {\n      return this.client_.rpcCall(\n        this.hostname_ +\n          '/qb.smg.SmgService/EnableSelfLimitation',\n        request,\n        metadata || {},\n        this.methodDescriptorEnableSelfLimitation,\n        callback);\n    }\n    return this.client_.unaryCall(\n    this.hostname_ +\n      '/qb.smg.SmgService/EnableSelfLimitation',\n    request,\n    metadata || {},\n    this.methodDescriptorEnableSelfLimitation);\n  }\n\n  methodDescriptorOtpLogin = new grpcWeb.MethodDescriptor(\n    '/qb.smg.SmgService/OtpLogin',\n    grpcWeb.MethodType.UNARY,\n    smg_service_pb.OtpLoginRequest,\n    smg_service_pb.OtpLoginReply,\n    (request: smg_service_pb.OtpLoginRequest) => {\n      return request.serializeBinary();\n    },\n    smg_service_pb.OtpLoginReply.deserializeBinary\n  );\n\n  otpLogin(\n    request: smg_service_pb.OtpLoginRequest,\n    metadata: grpcWeb.Metadata | null): Promise<smg_service_pb.OtpLoginReply>;\n\n  otpLogin(\n    request: smg_service_pb.OtpLoginRequest,\n    metadata: grpcWeb.Metadata | null,\n    callback: (err: grpcWeb.RpcError,\n               response: smg_service_pb.OtpLoginReply) => void): grpcWeb.ClientReadableStream<smg_service_pb.OtpLoginReply>;\n\n  otpLogin(\n    request: smg_service_pb.OtpLoginRequest,\n    metadata: grpcWeb.Metadata | null,\n    callback?: (err: grpcWeb.RpcError,\n               response: smg_service_pb.OtpLoginReply) => void) {\n    if (callback !== undefined) {\n      return this.client_.rpcCall(\n        this.hostname_ +\n          '/qb.smg.SmgService/OtpLogin',\n        request,\n        metadata || {},\n        this.methodDescriptorOtpLogin,\n        callback);\n    }\n    return this.client_.unaryCall(\n    this.hostname_ +\n      '/qb.smg.SmgService/OtpLogin',\n    request,\n    metadata || {},\n    this.methodDescriptorOtpLogin);\n  }\n\n  methodDescriptorVerifyOtpCode = new grpcWeb.MethodDescriptor(\n    '/qb.smg.SmgService/VerifyOtpCode',\n    grpcWeb.MethodType.UNARY,\n    smg_service_pb.VerifyOtpCodeRequest,\n    smg_service_pb.VerifyOtpCodeReply,\n    (request: smg_service_pb.VerifyOtpCodeRequest) => {\n      return request.serializeBinary();\n    },\n    smg_service_pb.VerifyOtpCodeReply.deserializeBinary\n  );\n\n  verifyOtpCode(\n    request: smg_service_pb.VerifyOtpCodeRequest,\n    metadata: grpcWeb.Metadata | null): Promise<smg_service_pb.VerifyOtpCodeReply>;\n\n  verifyOtpCode(\n    request: smg_service_pb.VerifyOtpCodeRequest,\n    metadata: grpcWeb.Metadata | null,\n    callback: (err: grpcWeb.RpcError,\n               response: smg_service_pb.VerifyOtpCodeReply) => void): grpcWeb.ClientReadableStream<smg_service_pb.VerifyOtpCodeReply>;\n\n  verifyOtpCode(\n    request: smg_service_pb.VerifyOtpCodeRequest,\n    metadata: grpcWeb.Metadata | null,\n    callback?: (err: grpcWeb.RpcError,\n               response: smg_service_pb.VerifyOtpCodeReply) => void) {\n    if (callback !== undefined) {\n      return this.client_.rpcCall(\n        this.hostname_ +\n          '/qb.smg.SmgService/VerifyOtpCode',\n        request,\n        metadata || {},\n        this.methodDescriptorVerifyOtpCode,\n        callback);\n    }\n    return this.client_.unaryCall(\n    this.hostname_ +\n      '/qb.smg.SmgService/VerifyOtpCode',\n    request,\n    metadata || {},\n    this.methodDescriptorVerifyOtpCode);\n  }\n\n  methodDescriptorLoginWithIdToken = new grpcWeb.MethodDescriptor(\n    '/qb.smg.SmgService/LoginWithIdToken',\n    grpcWeb.MethodType.UNARY,\n    smg_service_pb.LoginWithIdTokenRequest,\n    smg_service_pb.LoginWithIdTokenReply,\n    (request: smg_service_pb.LoginWithIdTokenRequest) => {\n      return request.serializeBinary();\n    },\n    smg_service_pb.LoginWithIdTokenReply.deserializeBinary\n  );\n\n  loginWithIdToken(\n    request: smg_service_pb.LoginWithIdTokenRequest,\n    metadata: grpcWeb.Metadata | null): Promise<smg_service_pb.LoginWithIdTokenReply>;\n\n  loginWithIdToken(\n    request: smg_service_pb.LoginWithIdTokenRequest,\n    metadata: grpcWeb.Metadata | null,\n    callback: (err: grpcWeb.RpcError,\n               response: smg_service_pb.LoginWithIdTokenReply) => void): grpcWeb.ClientReadableStream<smg_service_pb.LoginWithIdTokenReply>;\n\n  loginWithIdToken(\n    request: smg_service_pb.LoginWithIdTokenRequest,\n    metadata: grpcWeb.Metadata | null,\n    callback?: (err: grpcWeb.RpcError,\n               response: smg_service_pb.LoginWithIdTokenReply) => void) {\n    if (callback !== undefined) {\n      return this.client_.rpcCall(\n        this.hostname_ +\n          '/qb.smg.SmgService/LoginWithIdToken',\n        request,\n        metadata || {},\n        this.methodDescriptorLoginWithIdToken,\n        callback);\n    }\n    return this.client_.unaryCall(\n    this.hostname_ +\n      '/qb.smg.SmgService/LoginWithIdToken',\n    request,\n    metadata || {},\n    this.methodDescriptorLoginWithIdToken);\n  }\n\n  methodDescriptorGetUser = new grpcWeb.MethodDescriptor(\n    '/qb.smg.SmgService/GetUser',\n    grpcWeb.MethodType.UNARY,\n    smg_service_pb.GetUserRequest,\n    smg_service_pb.GetUserReply,\n    (request: smg_service_pb.GetUserRequest) => {\n      return request.serializeBinary();\n    },\n    smg_service_pb.GetUserReply.deserializeBinary\n  );\n\n  getUser(\n    request: smg_service_pb.GetUserRequest,\n    metadata: grpcWeb.Metadata | null): Promise<smg_service_pb.GetUserReply>;\n\n  getUser(\n    request: smg_service_pb.GetUserRequest,\n    metadata: grpcWeb.Metadata | null,\n    callback: (err: grpcWeb.RpcError,\n               response: smg_service_pb.GetUserReply) => void): grpcWeb.ClientReadableStream<smg_service_pb.GetUserReply>;\n\n  getUser(\n    request: smg_service_pb.GetUserRequest,\n    metadata: grpcWeb.Metadata | null,\n    callback?: (err: grpcWeb.RpcError,\n               response: smg_service_pb.GetUserReply) => void) {\n    if (callback !== undefined) {\n      return this.client_.rpcCall(\n        this.hostname_ +\n          '/qb.smg.SmgService/GetUser',\n        request,\n        metadata || {},\n        this.methodDescriptorGetUser,\n        callback);\n    }\n    return this.client_.unaryCall(\n    this.hostname_ +\n      '/qb.smg.SmgService/GetUser',\n    request,\n    metadata || {},\n    this.methodDescriptorGetUser);\n  }\n\n  methodDescriptorGetBalance = new grpcWeb.MethodDescriptor(\n    '/qb.smg.SmgService/GetBalance',\n    grpcWeb.MethodType.UNARY,\n    smg_service_pb.GetBalanceRequest,\n    smg_service_pb.GetBalanceReply,\n    (request: smg_service_pb.GetBalanceRequest) => {\n      return request.serializeBinary();\n    },\n    smg_service_pb.GetBalanceReply.deserializeBinary\n  );\n\n  getBalance(\n    request: smg_service_pb.GetBalanceRequest,\n    metadata: grpcWeb.Metadata | null): Promise<smg_service_pb.GetBalanceReply>;\n\n  getBalance(\n    request: smg_service_pb.GetBalanceRequest,\n    metadata: grpcWeb.Metadata | null,\n    callback: (err: grpcWeb.RpcError,\n               response: smg_service_pb.GetBalanceReply) => void): grpcWeb.ClientReadableStream<smg_service_pb.GetBalanceReply>;\n\n  getBalance(\n    request: smg_service_pb.GetBalanceRequest,\n    metadata: grpcWeb.Metadata | null,\n    callback?: (err: grpcWeb.RpcError,\n               response: smg_service_pb.GetBalanceReply) => void) {\n    if (callback !== undefined) {\n      return this.client_.rpcCall(\n        this.hostname_ +\n          '/qb.smg.SmgService/GetBalance',\n        request,\n        metadata || {},\n        this.methodDescriptorGetBalance,\n        callback);\n    }\n    return this.client_.unaryCall(\n    this.hostname_ +\n      '/qb.smg.SmgService/GetBalance',\n    request,\n    metadata || {},\n    this.methodDescriptorGetBalance);\n  }\n\n  methodDescriptorRefundBet = new grpcWeb.MethodDescriptor(\n    '/qb.smg.SmgService/RefundBet',\n    grpcWeb.MethodType.UNARY,\n    smg_service_pb.BetResolutionRequest,\n    smg_service_pb.BetResolutionReply,\n    (request: smg_service_pb.BetResolutionRequest) => {\n      return request.serializeBinary();\n    },\n    smg_service_pb.BetResolutionReply.deserializeBinary\n  );\n\n  refundBet(\n    request: smg_service_pb.BetResolutionRequest,\n    metadata: grpcWeb.Metadata | null): Promise<smg_service_pb.BetResolutionReply>;\n\n  refundBet(\n    request: smg_service_pb.BetResolutionRequest,\n    metadata: grpcWeb.Metadata | null,\n    callback: (err: grpcWeb.RpcError,\n               response: smg_service_pb.BetResolutionReply) => void): grpcWeb.ClientReadableStream<smg_service_pb.BetResolutionReply>;\n\n  refundBet(\n    request: smg_service_pb.BetResolutionRequest,\n    metadata: grpcWeb.Metadata | null,\n    callback?: (err: grpcWeb.RpcError,\n               response: smg_service_pb.BetResolutionReply) => void) {\n    if (callback !== undefined) {\n      return this.client_.rpcCall(\n        this.hostname_ +\n          '/qb.smg.SmgService/RefundBet',\n        request,\n        metadata || {},\n        this.methodDescriptorRefundBet,\n        callback);\n    }\n    return this.client_.unaryCall(\n    this.hostname_ +\n      '/qb.smg.SmgService/RefundBet',\n    request,\n    metadata || {},\n    this.methodDescriptorRefundBet);\n  }\n\n  methodDescriptorCancelBet = new grpcWeb.MethodDescriptor(\n    '/qb.smg.SmgService/CancelBet',\n    grpcWeb.MethodType.UNARY,\n    smg_service_pb.BetResolutionRequest,\n    smg_service_pb.BetResolutionReply,\n    (request: smg_service_pb.BetResolutionRequest) => {\n      return request.serializeBinary();\n    },\n    smg_service_pb.BetResolutionReply.deserializeBinary\n  );\n\n  cancelBet(\n    request: smg_service_pb.BetResolutionRequest,\n    metadata: grpcWeb.Metadata | null): Promise<smg_service_pb.BetResolutionReply>;\n\n  cancelBet(\n    request: smg_service_pb.BetResolutionRequest,\n    metadata: grpcWeb.Metadata | null,\n    callback: (err: grpcWeb.RpcError,\n               response: smg_service_pb.BetResolutionReply) => void): grpcWeb.ClientReadableStream<smg_service_pb.BetResolutionReply>;\n\n  cancelBet(\n    request: smg_service_pb.BetResolutionRequest,\n    metadata: grpcWeb.Metadata | null,\n    callback?: (err: grpcWeb.RpcError,\n               response: smg_service_pb.BetResolutionReply) => void) {\n    if (callback !== undefined) {\n      return this.client_.rpcCall(\n        this.hostname_ +\n          '/qb.smg.SmgService/CancelBet',\n        request,\n        metadata || {},\n        this.methodDescriptorCancelBet,\n        callback);\n    }\n    return this.client_.unaryCall(\n    this.hostname_ +\n      '/qb.smg.SmgService/CancelBet',\n    request,\n    metadata || {},\n    this.methodDescriptorCancelBet);\n  }\n\n  methodDescriptorRefundBetByAdmin = new grpcWeb.MethodDescriptor(\n    '/qb.smg.SmgService/RefundBetByAdmin',\n    grpcWeb.MethodType.UNARY,\n    smg_service_pb.BetResolutionRequest,\n    smg_service_pb.BetResolutionReply,\n    (request: smg_service_pb.BetResolutionRequest) => {\n      return request.serializeBinary();\n    },\n    smg_service_pb.BetResolutionReply.deserializeBinary\n  );\n\n  refundBetByAdmin(\n    request: smg_service_pb.BetResolutionRequest,\n    metadata: grpcWeb.Metadata | null): Promise<smg_service_pb.BetResolutionReply>;\n\n  refundBetByAdmin(\n    request: smg_service_pb.BetResolutionRequest,\n    metadata: grpcWeb.Metadata | null,\n    callback: (err: grpcWeb.RpcError,\n               response: smg_service_pb.BetResolutionReply) => void): grpcWeb.ClientReadableStream<smg_service_pb.BetResolutionReply>;\n\n  refundBetByAdmin(\n    request: smg_service_pb.BetResolutionRequest,\n    metadata: grpcWeb.Metadata | null,\n    callback?: (err: grpcWeb.RpcError,\n               response: smg_service_pb.BetResolutionReply) => void) {\n    if (callback !== undefined) {\n      return this.client_.rpcCall(\n        this.hostname_ +\n          '/qb.smg.SmgService/RefundBetByAdmin',\n        request,\n        metadata || {},\n        this.methodDescriptorRefundBetByAdmin,\n        callback);\n    }\n    return this.client_.unaryCall(\n    this.hostname_ +\n      '/qb.smg.SmgService/RefundBetByAdmin',\n    request,\n    metadata || {},\n    this.methodDescriptorRefundBetByAdmin);\n  }\n\n  methodDescriptorCancelBetByAdmin = new grpcWeb.MethodDescriptor(\n    '/qb.smg.SmgService/CancelBetByAdmin',\n    grpcWeb.MethodType.UNARY,\n    smg_service_pb.BetResolutionRequest,\n    smg_service_pb.BetResolutionReply,\n    (request: smg_service_pb.BetResolutionRequest) => {\n      return request.serializeBinary();\n    },\n    smg_service_pb.BetResolutionReply.deserializeBinary\n  );\n\n  cancelBetByAdmin(\n    request: smg_service_pb.BetResolutionRequest,\n    metadata: grpcWeb.Metadata | null): Promise<smg_service_pb.BetResolutionReply>;\n\n  cancelBetByAdmin(\n    request: smg_service_pb.BetResolutionRequest,\n    metadata: grpcWeb.Metadata | null,\n    callback: (err: grpcWeb.RpcError,\n               response: smg_service_pb.BetResolutionReply) => void): grpcWeb.ClientReadableStream<smg_service_pb.BetResolutionReply>;\n\n  cancelBetByAdmin(\n    request: smg_service_pb.BetResolutionRequest,\n    metadata: grpcWeb.Metadata | null,\n    callback?: (err: grpcWeb.RpcError,\n               response: smg_service_pb.BetResolutionReply) => void) {\n    if (callback !== undefined) {\n      return this.client_.rpcCall(\n        this.hostname_ +\n          '/qb.smg.SmgService/CancelBetByAdmin',\n        request,\n        metadata || {},\n        this.methodDescriptorCancelBetByAdmin,\n        callback);\n    }\n    return this.client_.unaryCall(\n    this.hostname_ +\n      '/qb.smg.SmgService/CancelBetByAdmin',\n    request,\n    metadata || {},\n    this.methodDescriptorCancelBetByAdmin);\n  }\n\n  methodDescriptorGetPayouts = new grpcWeb.MethodDescriptor(\n    '/qb.smg.SmgService/GetPayouts',\n    grpcWeb.MethodType.UNARY,\n    smg_service_pb.GetPayoutRequest,\n    smg_service_pb.GetPayoutReply,\n    (request: smg_service_pb.GetPayoutRequest) => {\n      return request.serializeBinary();\n    },\n    smg_service_pb.GetPayoutReply.deserializeBinary\n  );\n\n  getPayouts(\n    request: smg_service_pb.GetPayoutRequest,\n    metadata: grpcWeb.Metadata | null): Promise<smg_service_pb.GetPayoutReply>;\n\n  getPayouts(\n    request: smg_service_pb.GetPayoutRequest,\n    metadata: grpcWeb.Metadata | null,\n    callback: (err: grpcWeb.RpcError,\n               response: smg_service_pb.GetPayoutReply) => void): grpcWeb.ClientReadableStream<smg_service_pb.GetPayoutReply>;\n\n  getPayouts(\n    request: smg_service_pb.GetPayoutRequest,\n    metadata: grpcWeb.Metadata | null,\n    callback?: (err: grpcWeb.RpcError,\n               response: smg_service_pb.GetPayoutReply) => void) {\n    if (callback !== undefined) {\n      return this.client_.rpcCall(\n        this.hostname_ +\n          '/qb.smg.SmgService/GetPayouts',\n        request,\n        metadata || {},\n        this.methodDescriptorGetPayouts,\n        callback);\n    }\n    return this.client_.unaryCall(\n    this.hostname_ +\n      '/qb.smg.SmgService/GetPayouts',\n    request,\n    metadata || {},\n    this.methodDescriptorGetPayouts);\n  }\n\n  methodDescriptorGetBets = new grpcWeb.MethodDescriptor(\n    '/qb.smg.SmgService/GetBets',\n    grpcWeb.MethodType.UNARY,\n    smg_service_pb.GetBetsRequest,\n    smg_service_pb.GetBetsReply,\n    (request: smg_service_pb.GetBetsRequest) => {\n      return request.serializeBinary();\n    },\n    smg_service_pb.GetBetsReply.deserializeBinary\n  );\n\n  getBets(\n    request: smg_service_pb.GetBetsRequest,\n    metadata: grpcWeb.Metadata | null): Promise<smg_service_pb.GetBetsReply>;\n\n  getBets(\n    request: smg_service_pb.GetBetsRequest,\n    metadata: grpcWeb.Metadata | null,\n    callback: (err: grpcWeb.RpcError,\n               response: smg_service_pb.GetBetsReply) => void): grpcWeb.ClientReadableStream<smg_service_pb.GetBetsReply>;\n\n  getBets(\n    request: smg_service_pb.GetBetsRequest,\n    metadata: grpcWeb.Metadata | null,\n    callback?: (err: grpcWeb.RpcError,\n               response: smg_service_pb.GetBetsReply) => void) {\n    if (callback !== undefined) {\n      return this.client_.rpcCall(\n        this.hostname_ +\n          '/qb.smg.SmgService/GetBets',\n        request,\n        metadata || {},\n        this.methodDescriptorGetBets,\n        callback);\n    }\n    return this.client_.unaryCall(\n    this.hostname_ +\n      '/qb.smg.SmgService/GetBets',\n    request,\n    metadata || {},\n    this.methodDescriptorGetBets);\n  }\n\n  methodDescriptorGetUpcomingBetsForSimulator = new grpcWeb.MethodDescriptor(\n    '/qb.smg.SmgService/GetUpcomingBetsForSimulator',\n    grpcWeb.MethodType.UNARY,\n    smg_service_pb.GetUpcomingBetsForSimulatorRequest,\n    smg_service_pb.GetUpcomingBetsForSimulatorReply,\n    (request: smg_service_pb.GetUpcomingBetsForSimulatorRequest) => {\n      return request.serializeBinary();\n    },\n    smg_service_pb.GetUpcomingBetsForSimulatorReply.deserializeBinary\n  );\n\n  getUpcomingBetsForSimulator(\n    request: smg_service_pb.GetUpcomingBetsForSimulatorRequest,\n    metadata: grpcWeb.Metadata | null): Promise<smg_service_pb.GetUpcomingBetsForSimulatorReply>;\n\n  getUpcomingBetsForSimulator(\n    request: smg_service_pb.GetUpcomingBetsForSimulatorRequest,\n    metadata: grpcWeb.Metadata | null,\n    callback: (err: grpcWeb.RpcError,\n               response: smg_service_pb.GetUpcomingBetsForSimulatorReply) => void): grpcWeb.ClientReadableStream<smg_service_pb.GetUpcomingBetsForSimulatorReply>;\n\n  getUpcomingBetsForSimulator(\n    request: smg_service_pb.GetUpcomingBetsForSimulatorRequest,\n    metadata: grpcWeb.Metadata | null,\n    callback?: (err: grpcWeb.RpcError,\n               response: smg_service_pb.GetUpcomingBetsForSimulatorReply) => void) {\n    if (callback !== undefined) {\n      return this.client_.rpcCall(\n        this.hostname_ +\n          '/qb.smg.SmgService/GetUpcomingBetsForSimulator',\n        request,\n        metadata || {},\n        this.methodDescriptorGetUpcomingBetsForSimulator,\n        callback);\n    }\n    return this.client_.unaryCall(\n    this.hostname_ +\n      '/qb.smg.SmgService/GetUpcomingBetsForSimulator',\n    request,\n    metadata || {},\n    this.methodDescriptorGetUpcomingBetsForSimulator);\n  }\n\n  methodDescriptorStreamBets = new grpcWeb.MethodDescriptor(\n    '/qb.smg.SmgService/StreamBets',\n    grpcWeb.MethodType.SERVER_STREAMING,\n    smg_service_pb.StreamBetsRequest,\n    smg_service_pb.StreamBetsReply,\n    (request: smg_service_pb.StreamBetsRequest) => {\n      return request.serializeBinary();\n    },\n    smg_service_pb.StreamBetsReply.deserializeBinary\n  );\n\n  streamBets(\n    request: smg_service_pb.StreamBetsRequest,\n    metadata?: grpcWeb.Metadata): grpcWeb.ClientReadableStream<smg_service_pb.StreamBetsReply> {\n    return this.client_.serverStreaming(\n      this.hostname_ +\n        '/qb.smg.SmgService/StreamBets',\n      request,\n      metadata || {},\n      this.methodDescriptorStreamBets);\n  }\n\n  methodDescriptorGetBet = new grpcWeb.MethodDescriptor(\n    '/qb.smg.SmgService/GetBet',\n    grpcWeb.MethodType.UNARY,\n    smg_service_pb.GetBetRequest,\n    smg_service_pb.GetBetReply,\n    (request: smg_service_pb.GetBetRequest) => {\n      return request.serializeBinary();\n    },\n    smg_service_pb.GetBetReply.deserializeBinary\n  );\n\n  getBet(\n    request: smg_service_pb.GetBetRequest,\n    metadata: grpcWeb.Metadata | null): Promise<smg_service_pb.GetBetReply>;\n\n  getBet(\n    request: smg_service_pb.GetBetRequest,\n    metadata: grpcWeb.Metadata | null,\n    callback: (err: grpcWeb.RpcError,\n               response: smg_service_pb.GetBetReply) => void): grpcWeb.ClientReadableStream<smg_service_pb.GetBetReply>;\n\n  getBet(\n    request: smg_service_pb.GetBetRequest,\n    metadata: grpcWeb.Metadata | null,\n    callback?: (err: grpcWeb.RpcError,\n               response: smg_service_pb.GetBetReply) => void) {\n    if (callback !== undefined) {\n      return this.client_.rpcCall(\n        this.hostname_ +\n          '/qb.smg.SmgService/GetBet',\n        request,\n        metadata || {},\n        this.methodDescriptorGetBet,\n        callback);\n    }\n    return this.client_.unaryCall(\n    this.hostname_ +\n      '/qb.smg.SmgService/GetBet',\n    request,\n    metadata || {},\n    this.methodDescriptorGetBet);\n  }\n\n  methodDescriptorGetBetNoToken = new grpcWeb.MethodDescriptor(\n    '/qb.smg.SmgService/GetBetNoToken',\n    grpcWeb.MethodType.UNARY,\n    smg_service_pb.GetBetNoTokenRequest,\n    smg_service_pb.GetBetNoTokenReply,\n    (request: smg_service_pb.GetBetNoTokenRequest) => {\n      return request.serializeBinary();\n    },\n    smg_service_pb.GetBetNoTokenReply.deserializeBinary\n  );\n\n  getBetNoToken(\n    request: smg_service_pb.GetBetNoTokenRequest,\n    metadata: grpcWeb.Metadata | null): Promise<smg_service_pb.GetBetNoTokenReply>;\n\n  getBetNoToken(\n    request: smg_service_pb.GetBetNoTokenRequest,\n    metadata: grpcWeb.Metadata | null,\n    callback: (err: grpcWeb.RpcError,\n               response: smg_service_pb.GetBetNoTokenReply) => void): grpcWeb.ClientReadableStream<smg_service_pb.GetBetNoTokenReply>;\n\n  getBetNoToken(\n    request: smg_service_pb.GetBetNoTokenRequest,\n    metadata: grpcWeb.Metadata | null,\n    callback?: (err: grpcWeb.RpcError,\n               response: smg_service_pb.GetBetNoTokenReply) => void) {\n    if (callback !== undefined) {\n      return this.client_.rpcCall(\n        this.hostname_ +\n          '/qb.smg.SmgService/GetBetNoToken',\n        request,\n        metadata || {},\n        this.methodDescriptorGetBetNoToken,\n        callback);\n    }\n    return this.client_.unaryCall(\n    this.hostname_ +\n      '/qb.smg.SmgService/GetBetNoToken',\n    request,\n    metadata || {},\n    this.methodDescriptorGetBetNoToken);\n  }\n\n  methodDescriptorAcceptBet = new grpcWeb.MethodDescriptor(\n    '/qb.smg.SmgService/AcceptBet',\n    grpcWeb.MethodType.UNARY,\n    smg_service_pb.AcceptBetRequest,\n    smg_service_pb.AcceptBetReply,\n    (request: smg_service_pb.AcceptBetRequest) => {\n      return request.serializeBinary();\n    },\n    smg_service_pb.AcceptBetReply.deserializeBinary\n  );\n\n  acceptBet(\n    request: smg_service_pb.AcceptBetRequest,\n    metadata: grpcWeb.Metadata | null): Promise<smg_service_pb.AcceptBetReply>;\n\n  acceptBet(\n    request: smg_service_pb.AcceptBetRequest,\n    metadata: grpcWeb.Metadata | null,\n    callback: (err: grpcWeb.RpcError,\n               response: smg_service_pb.AcceptBetReply) => void): grpcWeb.ClientReadableStream<smg_service_pb.AcceptBetReply>;\n\n  acceptBet(\n    request: smg_service_pb.AcceptBetRequest,\n    metadata: grpcWeb.Metadata | null,\n    callback?: (err: grpcWeb.RpcError,\n               response: smg_service_pb.AcceptBetReply) => void) {\n    if (callback !== undefined) {\n      return this.client_.rpcCall(\n        this.hostname_ +\n          '/qb.smg.SmgService/AcceptBet',\n        request,\n        metadata || {},\n        this.methodDescriptorAcceptBet,\n        callback);\n    }\n    return this.client_.unaryCall(\n    this.hostname_ +\n      '/qb.smg.SmgService/AcceptBet',\n    request,\n    metadata || {},\n    this.methodDescriptorAcceptBet);\n  }\n\n  methodDescriptorAdjustBet = new grpcWeb.MethodDescriptor(\n    '/qb.smg.SmgService/AdjustBet',\n    grpcWeb.MethodType.UNARY,\n    smg_service_pb.AdjustBetRequest,\n    smg_service_pb.AdjustBetReply,\n    (request: smg_service_pb.AdjustBetRequest) => {\n      return request.serializeBinary();\n    },\n    smg_service_pb.AdjustBetReply.deserializeBinary\n  );\n\n  adjustBet(\n    request: smg_service_pb.AdjustBetRequest,\n    metadata: grpcWeb.Metadata | null): Promise<smg_service_pb.AdjustBetReply>;\n\n  adjustBet(\n    request: smg_service_pb.AdjustBetRequest,\n    metadata: grpcWeb.Metadata | null,\n    callback: (err: grpcWeb.RpcError,\n               response: smg_service_pb.AdjustBetReply) => void): grpcWeb.ClientReadableStream<smg_service_pb.AdjustBetReply>;\n\n  adjustBet(\n    request: smg_service_pb.AdjustBetRequest,\n    metadata: grpcWeb.Metadata | null,\n    callback?: (err: grpcWeb.RpcError,\n               response: smg_service_pb.AdjustBetReply) => void) {\n    if (callback !== undefined) {\n      return this.client_.rpcCall(\n        this.hostname_ +\n          '/qb.smg.SmgService/AdjustBet',\n        request,\n        metadata || {},\n        this.methodDescriptorAdjustBet,\n        callback);\n    }\n    return this.client_.unaryCall(\n    this.hostname_ +\n      '/qb.smg.SmgService/AdjustBet',\n    request,\n    metadata || {},\n    this.methodDescriptorAdjustBet);\n  }\n\n  methodDescriptorStartHit = new grpcWeb.MethodDescriptor(\n    '/qb.smg.SmgService/StartHit',\n    grpcWeb.MethodType.UNARY,\n    smg_service_pb.StartHitRequest,\n    smg_service_pb.StartHitReply,\n    (request: smg_service_pb.StartHitRequest) => {\n      return request.serializeBinary();\n    },\n    smg_service_pb.StartHitReply.deserializeBinary\n  );\n\n  startHit(\n    request: smg_service_pb.StartHitRequest,\n    metadata: grpcWeb.Metadata | null): Promise<smg_service_pb.StartHitReply>;\n\n  startHit(\n    request: smg_service_pb.StartHitRequest,\n    metadata: grpcWeb.Metadata | null,\n    callback: (err: grpcWeb.RpcError,\n               response: smg_service_pb.StartHitReply) => void): grpcWeb.ClientReadableStream<smg_service_pb.StartHitReply>;\n\n  startHit(\n    request: smg_service_pb.StartHitRequest,\n    metadata: grpcWeb.Metadata | null,\n    callback?: (err: grpcWeb.RpcError,\n               response: smg_service_pb.StartHitReply) => void) {\n    if (callback !== undefined) {\n      return this.client_.rpcCall(\n        this.hostname_ +\n          '/qb.smg.SmgService/StartHit',\n        request,\n        metadata || {},\n        this.methodDescriptorStartHit,\n        callback);\n    }\n    return this.client_.unaryCall(\n    this.hostname_ +\n      '/qb.smg.SmgService/StartHit',\n    request,\n    metadata || {},\n    this.methodDescriptorStartHit);\n  }\n\n  methodDescriptorHitSingle = new grpcWeb.MethodDescriptor(\n    '/qb.smg.SmgService/HitSingle',\n    grpcWeb.MethodType.UNARY,\n    smg_service_pb.HitRequest,\n    smg_service_pb.HitReply,\n    (request: smg_service_pb.HitRequest) => {\n      return request.serializeBinary();\n    },\n    smg_service_pb.HitReply.deserializeBinary\n  );\n\n  hitSingle(\n    request: smg_service_pb.HitRequest,\n    metadata: grpcWeb.Metadata | null): Promise<smg_service_pb.HitReply>;\n\n  hitSingle(\n    request: smg_service_pb.HitRequest,\n    metadata: grpcWeb.Metadata | null,\n    callback: (err: grpcWeb.RpcError,\n               response: smg_service_pb.HitReply) => void): grpcWeb.ClientReadableStream<smg_service_pb.HitReply>;\n\n  hitSingle(\n    request: smg_service_pb.HitRequest,\n    metadata: grpcWeb.Metadata | null,\n    callback?: (err: grpcWeb.RpcError,\n               response: smg_service_pb.HitReply) => void) {\n    if (callback !== undefined) {\n      return this.client_.rpcCall(\n        this.hostname_ +\n          '/qb.smg.SmgService/HitSingle',\n        request,\n        metadata || {},\n        this.methodDescriptorHitSingle,\n        callback);\n    }\n    return this.client_.unaryCall(\n    this.hostname_ +\n      '/qb.smg.SmgService/HitSingle',\n    request,\n    metadata || {},\n    this.methodDescriptorHitSingle);\n  }\n\n  methodDescriptorSettingsUpdateStream = new grpcWeb.MethodDescriptor(\n    '/qb.smg.SmgService/SettingsUpdateStream',\n    grpcWeb.MethodType.SERVER_STREAMING,\n    smg_service_pb.SettingsUpdateStreamRequest,\n    smg_service_pb.SettingsUpdate,\n    (request: smg_service_pb.SettingsUpdateStreamRequest) => {\n      return request.serializeBinary();\n    },\n    smg_service_pb.SettingsUpdate.deserializeBinary\n  );\n\n  settingsUpdateStream(\n    request: smg_service_pb.SettingsUpdateStreamRequest,\n    metadata?: grpcWeb.Metadata): grpcWeb.ClientReadableStream<smg_service_pb.SettingsUpdate> {\n    return this.client_.serverStreaming(\n      this.hostname_ +\n        '/qb.smg.SmgService/SettingsUpdateStream',\n      request,\n      metadata || {},\n      this.methodDescriptorSettingsUpdateStream);\n  }\n\n  methodDescriptorConnectStationSimple = new grpcWeb.MethodDescriptor(\n    '/qb.smg.SmgService/ConnectStationSimple',\n    grpcWeb.MethodType.UNARY,\n    smg_service_pb.ConnectStationSimpleRequest,\n    smg_service_pb.ConnectStationSimpleReply,\n    (request: smg_service_pb.ConnectStationSimpleRequest) => {\n      return request.serializeBinary();\n    },\n    smg_service_pb.ConnectStationSimpleReply.deserializeBinary\n  );\n\n  connectStationSimple(\n    request: smg_service_pb.ConnectStationSimpleRequest,\n    metadata: grpcWeb.Metadata | null): Promise<smg_service_pb.ConnectStationSimpleReply>;\n\n  connectStationSimple(\n    request: smg_service_pb.ConnectStationSimpleRequest,\n    metadata: grpcWeb.Metadata | null,\n    callback: (err: grpcWeb.RpcError,\n               response: smg_service_pb.ConnectStationSimpleReply) => void): grpcWeb.ClientReadableStream<smg_service_pb.ConnectStationSimpleReply>;\n\n  connectStationSimple(\n    request: smg_service_pb.ConnectStationSimpleRequest,\n    metadata: grpcWeb.Metadata | null,\n    callback?: (err: grpcWeb.RpcError,\n               response: smg_service_pb.ConnectStationSimpleReply) => void) {\n    if (callback !== undefined) {\n      return this.client_.rpcCall(\n        this.hostname_ +\n          '/qb.smg.SmgService/ConnectStationSimple',\n        request,\n        metadata || {},\n        this.methodDescriptorConnectStationSimple,\n        callback);\n    }\n    return this.client_.unaryCall(\n    this.hostname_ +\n      '/qb.smg.SmgService/ConnectStationSimple',\n    request,\n    metadata || {},\n    this.methodDescriptorConnectStationSimple);\n  }\n\n  methodDescriptorHeartbeat = new grpcWeb.MethodDescriptor(\n    '/qb.smg.SmgService/Heartbeat',\n    grpcWeb.MethodType.UNARY,\n    smg_service_pb.HeartbeatRequest,\n    smg_service_pb.HeartbeatResponse,\n    (request: smg_service_pb.HeartbeatRequest) => {\n      return request.serializeBinary();\n    },\n    smg_service_pb.HeartbeatResponse.deserializeBinary\n  );\n\n  heartbeat(\n    request: smg_service_pb.HeartbeatRequest,\n    metadata: grpcWeb.Metadata | null): Promise<smg_service_pb.HeartbeatResponse>;\n\n  heartbeat(\n    request: smg_service_pb.HeartbeatRequest,\n    metadata: grpcWeb.Metadata | null,\n    callback: (err: grpcWeb.RpcError,\n               response: smg_service_pb.HeartbeatResponse) => void): grpcWeb.ClientReadableStream<smg_service_pb.HeartbeatResponse>;\n\n  heartbeat(\n    request: smg_service_pb.HeartbeatRequest,\n    metadata: grpcWeb.Metadata | null,\n    callback?: (err: grpcWeb.RpcError,\n               response: smg_service_pb.HeartbeatResponse) => void) {\n    if (callback !== undefined) {\n      return this.client_.rpcCall(\n        this.hostname_ +\n          '/qb.smg.SmgService/Heartbeat',\n        request,\n        metadata || {},\n        this.methodDescriptorHeartbeat,\n        callback);\n    }\n    return this.client_.unaryCall(\n    this.hostname_ +\n      '/qb.smg.SmgService/Heartbeat',\n    request,\n    metadata || {},\n    this.methodDescriptorHeartbeat);\n  }\n\n  methodDescriptorGetGameState = new grpcWeb.MethodDescriptor(\n    '/qb.smg.SmgService/GetGameState',\n    grpcWeb.MethodType.UNARY,\n    smg_service_pb.GetGameStateRequest,\n    smg_service_pb.GetGameStateReply,\n    (request: smg_service_pb.GetGameStateRequest) => {\n      return request.serializeBinary();\n    },\n    smg_service_pb.GetGameStateReply.deserializeBinary\n  );\n\n  getGameState(\n    request: smg_service_pb.GetGameStateRequest,\n    metadata: grpcWeb.Metadata | null): Promise<smg_service_pb.GetGameStateReply>;\n\n  getGameState(\n    request: smg_service_pb.GetGameStateRequest,\n    metadata: grpcWeb.Metadata | null,\n    callback: (err: grpcWeb.RpcError,\n               response: smg_service_pb.GetGameStateReply) => void): grpcWeb.ClientReadableStream<smg_service_pb.GetGameStateReply>;\n\n  getGameState(\n    request: smg_service_pb.GetGameStateRequest,\n    metadata: grpcWeb.Metadata | null,\n    callback?: (err: grpcWeb.RpcError,\n               response: smg_service_pb.GetGameStateReply) => void) {\n    if (callback !== undefined) {\n      return this.client_.rpcCall(\n        this.hostname_ +\n          '/qb.smg.SmgService/GetGameState',\n        request,\n        metadata || {},\n        this.methodDescriptorGetGameState,\n        callback);\n    }\n    return this.client_.unaryCall(\n    this.hostname_ +\n      '/qb.smg.SmgService/GetGameState',\n    request,\n    metadata || {},\n    this.methodDescriptorGetGameState);\n  }\n\n  methodDescriptorStreamStationState = new grpcWeb.MethodDescriptor(\n    '/qb.smg.SmgService/StreamStationState',\n    grpcWeb.MethodType.SERVER_STREAMING,\n    smg_service_pb.StreamStationStateRequest,\n    smg_service_pb.StationState,\n    (request: smg_service_pb.StreamStationStateRequest) => {\n      return request.serializeBinary();\n    },\n    smg_service_pb.StationState.deserializeBinary\n  );\n\n  streamStationState(\n    request: smg_service_pb.StreamStationStateRequest,\n    metadata?: grpcWeb.Metadata): grpcWeb.ClientReadableStream<smg_service_pb.StationState> {\n    return this.client_.serverStreaming(\n      this.hostname_ +\n        '/qb.smg.SmgService/StreamStationState',\n      request,\n      metadata || {},\n      this.methodDescriptorStreamStationState);\n  }\n\n  methodDescriptorDeleteUserImage = new grpcWeb.MethodDescriptor(\n    '/qb.smg.SmgService/DeleteUserImage',\n    grpcWeb.MethodType.UNARY,\n    smg_service_pb.DeleteUserImageRequest,\n    smg_service_pb.DeleteUserImageResponse,\n    (request: smg_service_pb.DeleteUserImageRequest) => {\n      return request.serializeBinary();\n    },\n    smg_service_pb.DeleteUserImageResponse.deserializeBinary\n  );\n\n  deleteUserImage(\n    request: smg_service_pb.DeleteUserImageRequest,\n    metadata: grpcWeb.Metadata | null): Promise<smg_service_pb.DeleteUserImageResponse>;\n\n  deleteUserImage(\n    request: smg_service_pb.DeleteUserImageRequest,\n    metadata: grpcWeb.Metadata | null,\n    callback: (err: grpcWeb.RpcError,\n               response: smg_service_pb.DeleteUserImageResponse) => void): grpcWeb.ClientReadableStream<smg_service_pb.DeleteUserImageResponse>;\n\n  deleteUserImage(\n    request: smg_service_pb.DeleteUserImageRequest,\n    metadata: grpcWeb.Metadata | null,\n    callback?: (err: grpcWeb.RpcError,\n               response: smg_service_pb.DeleteUserImageResponse) => void) {\n    if (callback !== undefined) {\n      return this.client_.rpcCall(\n        this.hostname_ +\n          '/qb.smg.SmgService/DeleteUserImage',\n        request,\n        metadata || {},\n        this.methodDescriptorDeleteUserImage,\n        callback);\n    }\n    return this.client_.unaryCall(\n    this.hostname_ +\n      '/qb.smg.SmgService/DeleteUserImage',\n    request,\n    metadata || {},\n    this.methodDescriptorDeleteUserImage);\n  }\n\n  methodDescriptorDeleteUserImagesBeforeDate = new grpcWeb.MethodDescriptor(\n    '/qb.smg.SmgService/DeleteUserImagesBeforeDate',\n    grpcWeb.MethodType.UNARY,\n    smg_service_pb.DeleteUserImagesBeforeDateRequest,\n    smg_service_pb.DeleteUserImagesBeforeDateResponse,\n    (request: smg_service_pb.DeleteUserImagesBeforeDateRequest) => {\n      return request.serializeBinary();\n    },\n    smg_service_pb.DeleteUserImagesBeforeDateResponse.deserializeBinary\n  );\n\n  deleteUserImagesBeforeDate(\n    request: smg_service_pb.DeleteUserImagesBeforeDateRequest,\n    metadata: grpcWeb.Metadata | null): Promise<smg_service_pb.DeleteUserImagesBeforeDateResponse>;\n\n  deleteUserImagesBeforeDate(\n    request: smg_service_pb.DeleteUserImagesBeforeDateRequest,\n    metadata: grpcWeb.Metadata | null,\n    callback: (err: grpcWeb.RpcError,\n               response: smg_service_pb.DeleteUserImagesBeforeDateResponse) => void): grpcWeb.ClientReadableStream<smg_service_pb.DeleteUserImagesBeforeDateResponse>;\n\n  deleteUserImagesBeforeDate(\n    request: smg_service_pb.DeleteUserImagesBeforeDateRequest,\n    metadata: grpcWeb.Metadata | null,\n    callback?: (err: grpcWeb.RpcError,\n               response: smg_service_pb.DeleteUserImagesBeforeDateResponse) => void) {\n    if (callback !== undefined) {\n      return this.client_.rpcCall(\n        this.hostname_ +\n          '/qb.smg.SmgService/DeleteUserImagesBeforeDate',\n        request,\n        metadata || {},\n        this.methodDescriptorDeleteUserImagesBeforeDate,\n        callback);\n    }\n    return this.client_.unaryCall(\n    this.hostname_ +\n      '/qb.smg.SmgService/DeleteUserImagesBeforeDate',\n    request,\n    metadata || {},\n    this.methodDescriptorDeleteUserImagesBeforeDate);\n  }\n\n  methodDescriptorDisableUsers = new grpcWeb.MethodDescriptor(\n    '/qb.smg.SmgService/DisableUsers',\n    grpcWeb.MethodType.UNARY,\n    smg_service_pb.DisableUsersRequest,\n    smg_service_pb.DisableUsersResponse,\n    (request: smg_service_pb.DisableUsersRequest) => {\n      return request.serializeBinary();\n    },\n    smg_service_pb.DisableUsersResponse.deserializeBinary\n  );\n\n  disableUsers(\n    request: smg_service_pb.DisableUsersRequest,\n    metadata: grpcWeb.Metadata | null): Promise<smg_service_pb.DisableUsersResponse>;\n\n  disableUsers(\n    request: smg_service_pb.DisableUsersRequest,\n    metadata: grpcWeb.Metadata | null,\n    callback: (err: grpcWeb.RpcError,\n               response: smg_service_pb.DisableUsersResponse) => void): grpcWeb.ClientReadableStream<smg_service_pb.DisableUsersResponse>;\n\n  disableUsers(\n    request: smg_service_pb.DisableUsersRequest,\n    metadata: grpcWeb.Metadata | null,\n    callback?: (err: grpcWeb.RpcError,\n               response: smg_service_pb.DisableUsersResponse) => void) {\n    if (callback !== undefined) {\n      return this.client_.rpcCall(\n        this.hostname_ +\n          '/qb.smg.SmgService/DisableUsers',\n        request,\n        metadata || {},\n        this.methodDescriptorDisableUsers,\n        callback);\n    }\n    return this.client_.unaryCall(\n    this.hostname_ +\n      '/qb.smg.SmgService/DisableUsers',\n    request,\n    metadata || {},\n    this.methodDescriptorDisableUsers);\n  }\n\n  methodDescriptorIgnoreFrs = new grpcWeb.MethodDescriptor(\n    '/qb.smg.SmgService/IgnoreFrs',\n    grpcWeb.MethodType.UNARY,\n    smg_service_pb.IgnoreFrsRequest,\n    smg_service_pb.IgnoreFrsResponse,\n    (request: smg_service_pb.IgnoreFrsRequest) => {\n      return request.serializeBinary();\n    },\n    smg_service_pb.IgnoreFrsResponse.deserializeBinary\n  );\n\n  ignoreFrs(\n    request: smg_service_pb.IgnoreFrsRequest,\n    metadata: grpcWeb.Metadata | null): Promise<smg_service_pb.IgnoreFrsResponse>;\n\n  ignoreFrs(\n    request: smg_service_pb.IgnoreFrsRequest,\n    metadata: grpcWeb.Metadata | null,\n    callback: (err: grpcWeb.RpcError,\n               response: smg_service_pb.IgnoreFrsResponse) => void): grpcWeb.ClientReadableStream<smg_service_pb.IgnoreFrsResponse>;\n\n  ignoreFrs(\n    request: smg_service_pb.IgnoreFrsRequest,\n    metadata: grpcWeb.Metadata | null,\n    callback?: (err: grpcWeb.RpcError,\n               response: smg_service_pb.IgnoreFrsResponse) => void) {\n    if (callback !== undefined) {\n      return this.client_.rpcCall(\n        this.hostname_ +\n          '/qb.smg.SmgService/IgnoreFrs',\n        request,\n        metadata || {},\n        this.methodDescriptorIgnoreFrs,\n        callback);\n    }\n    return this.client_.unaryCall(\n    this.hostname_ +\n      '/qb.smg.SmgService/IgnoreFrs',\n    request,\n    metadata || {},\n    this.methodDescriptorIgnoreFrs);\n  }\n\n  methodDescriptorResetIgnoreFrs = new grpcWeb.MethodDescriptor(\n    '/qb.smg.SmgService/ResetIgnoreFrs',\n    grpcWeb.MethodType.UNARY,\n    smg_service_pb.ResetIgnoreFrsRequest,\n    smg_service_pb.ResetIgnoreFrsResponse,\n    (request: smg_service_pb.ResetIgnoreFrsRequest) => {\n      return request.serializeBinary();\n    },\n    smg_service_pb.ResetIgnoreFrsResponse.deserializeBinary\n  );\n\n  resetIgnoreFrs(\n    request: smg_service_pb.ResetIgnoreFrsRequest,\n    metadata: grpcWeb.Metadata | null): Promise<smg_service_pb.ResetIgnoreFrsResponse>;\n\n  resetIgnoreFrs(\n    request: smg_service_pb.ResetIgnoreFrsRequest,\n    metadata: grpcWeb.Metadata | null,\n    callback: (err: grpcWeb.RpcError,\n               response: smg_service_pb.ResetIgnoreFrsResponse) => void): grpcWeb.ClientReadableStream<smg_service_pb.ResetIgnoreFrsResponse>;\n\n  resetIgnoreFrs(\n    request: smg_service_pb.ResetIgnoreFrsRequest,\n    metadata: grpcWeb.Metadata | null,\n    callback?: (err: grpcWeb.RpcError,\n               response: smg_service_pb.ResetIgnoreFrsResponse) => void) {\n    if (callback !== undefined) {\n      return this.client_.rpcCall(\n        this.hostname_ +\n          '/qb.smg.SmgService/ResetIgnoreFrs',\n        request,\n        metadata || {},\n        this.methodDescriptorResetIgnoreFrs,\n        callback);\n    }\n    return this.client_.unaryCall(\n    this.hostname_ +\n      '/qb.smg.SmgService/ResetIgnoreFrs',\n    request,\n    metadata || {},\n    this.methodDescriptorResetIgnoreFrs);\n  }\n\n  methodDescriptorResetShotCount = new grpcWeb.MethodDescriptor(\n    '/qb.smg.SmgService/ResetShotCount',\n    grpcWeb.MethodType.UNARY,\n    smg_service_pb.ResetShotCountRequest,\n    smg_service_pb.ResetShotCountResponse,\n    (request: smg_service_pb.ResetShotCountRequest) => {\n      return request.serializeBinary();\n    },\n    smg_service_pb.ResetShotCountResponse.deserializeBinary\n  );\n\n  resetShotCount(\n    request: smg_service_pb.ResetShotCountRequest,\n    metadata: grpcWeb.Metadata | null): Promise<smg_service_pb.ResetShotCountResponse>;\n\n  resetShotCount(\n    request: smg_service_pb.ResetShotCountRequest,\n    metadata: grpcWeb.Metadata | null,\n    callback: (err: grpcWeb.RpcError,\n               response: smg_service_pb.ResetShotCountResponse) => void): grpcWeb.ClientReadableStream<smg_service_pb.ResetShotCountResponse>;\n\n  resetShotCount(\n    request: smg_service_pb.ResetShotCountRequest,\n    metadata: grpcWeb.Metadata | null,\n    callback?: (err: grpcWeb.RpcError,\n               response: smg_service_pb.ResetShotCountResponse) => void) {\n    if (callback !== undefined) {\n      return this.client_.rpcCall(\n        this.hostname_ +\n          '/qb.smg.SmgService/ResetShotCount',\n        request,\n        metadata || {},\n        this.methodDescriptorResetShotCount,\n        callback);\n    }\n    return this.client_.unaryCall(\n    this.hostname_ +\n      '/qb.smg.SmgService/ResetShotCount',\n    request,\n    metadata || {},\n    this.methodDescriptorResetShotCount);\n  }\n\n  methodDescriptorGenerateS3ArchiveVideoUploadUrl = new grpcWeb.MethodDescriptor(\n    '/qb.smg.SmgService/GenerateS3ArchiveVideoUploadUrl',\n    grpcWeb.MethodType.UNARY,\n    smg_service_pb.GenerateS3ArchiveVideoUploadUrlRequest,\n    smg_service_pb.GenerateS3ArchiveVideoUploadUrlResponse,\n    (request: smg_service_pb.GenerateS3ArchiveVideoUploadUrlRequest) => {\n      return request.serializeBinary();\n    },\n    smg_service_pb.GenerateS3ArchiveVideoUploadUrlResponse.deserializeBinary\n  );\n\n  generateS3ArchiveVideoUploadUrl(\n    request: smg_service_pb.GenerateS3ArchiveVideoUploadUrlRequest,\n    metadata: grpcWeb.Metadata | null): Promise<smg_service_pb.GenerateS3ArchiveVideoUploadUrlResponse>;\n\n  generateS3ArchiveVideoUploadUrl(\n    request: smg_service_pb.GenerateS3ArchiveVideoUploadUrlRequest,\n    metadata: grpcWeb.Metadata | null,\n    callback: (err: grpcWeb.RpcError,\n               response: smg_service_pb.GenerateS3ArchiveVideoUploadUrlResponse) => void): grpcWeb.ClientReadableStream<smg_service_pb.GenerateS3ArchiveVideoUploadUrlResponse>;\n\n  generateS3ArchiveVideoUploadUrl(\n    request: smg_service_pb.GenerateS3ArchiveVideoUploadUrlRequest,\n    metadata: grpcWeb.Metadata | null,\n    callback?: (err: grpcWeb.RpcError,\n               response: smg_service_pb.GenerateS3ArchiveVideoUploadUrlResponse) => void) {\n    if (callback !== undefined) {\n      return this.client_.rpcCall(\n        this.hostname_ +\n          '/qb.smg.SmgService/GenerateS3ArchiveVideoUploadUrl',\n        request,\n        metadata || {},\n        this.methodDescriptorGenerateS3ArchiveVideoUploadUrl,\n        callback);\n    }\n    return this.client_.unaryCall(\n    this.hostname_ +\n      '/qb.smg.SmgService/GenerateS3ArchiveVideoUploadUrl',\n    request,\n    metadata || {},\n    this.methodDescriptorGenerateS3ArchiveVideoUploadUrl);\n  }\n\n  methodDescriptorGetTransactionHistory = new grpcWeb.MethodDescriptor(\n    '/qb.smg.SmgService/GetTransactionHistory',\n    grpcWeb.MethodType.UNARY,\n    smg_service_pb.GetTransactionHistoryRequest,\n    smg_service_pb.GetTransactionHistoryReply,\n    (request: smg_service_pb.GetTransactionHistoryRequest) => {\n      return request.serializeBinary();\n    },\n    smg_service_pb.GetTransactionHistoryReply.deserializeBinary\n  );\n\n  getTransactionHistory(\n    request: smg_service_pb.GetTransactionHistoryRequest,\n    metadata: grpcWeb.Metadata | null): Promise<smg_service_pb.GetTransactionHistoryReply>;\n\n  getTransactionHistory(\n    request: smg_service_pb.GetTransactionHistoryRequest,\n    metadata: grpcWeb.Metadata | null,\n    callback: (err: grpcWeb.RpcError,\n               response: smg_service_pb.GetTransactionHistoryReply) => void): grpcWeb.ClientReadableStream<smg_service_pb.GetTransactionHistoryReply>;\n\n  getTransactionHistory(\n    request: smg_service_pb.GetTransactionHistoryRequest,\n    metadata: grpcWeb.Metadata | null,\n    callback?: (err: grpcWeb.RpcError,\n               response: smg_service_pb.GetTransactionHistoryReply) => void) {\n    if (callback !== undefined) {\n      return this.client_.rpcCall(\n        this.hostname_ +\n          '/qb.smg.SmgService/GetTransactionHistory',\n        request,\n        metadata || {},\n        this.methodDescriptorGetTransactionHistory,\n        callback);\n    }\n    return this.client_.unaryCall(\n    this.hostname_ +\n      '/qb.smg.SmgService/GetTransactionHistory',\n    request,\n    metadata || {},\n    this.methodDescriptorGetTransactionHistory);\n  }\n\n  methodDescriptorEnableAutoPlay = new grpcWeb.MethodDescriptor(\n    '/qb.smg.SmgService/EnableAutoPlay',\n    grpcWeb.MethodType.UNARY,\n    smg_service_pb.EnableAutoPlayRequest,\n    smg_service_pb.EnableAutoPlayResponse,\n    (request: smg_service_pb.EnableAutoPlayRequest) => {\n      return request.serializeBinary();\n    },\n    smg_service_pb.EnableAutoPlayResponse.deserializeBinary\n  );\n\n  enableAutoPlay(\n    request: smg_service_pb.EnableAutoPlayRequest,\n    metadata: grpcWeb.Metadata | null): Promise<smg_service_pb.EnableAutoPlayResponse>;\n\n  enableAutoPlay(\n    request: smg_service_pb.EnableAutoPlayRequest,\n    metadata: grpcWeb.Metadata | null,\n    callback: (err: grpcWeb.RpcError,\n               response: smg_service_pb.EnableAutoPlayResponse) => void): grpcWeb.ClientReadableStream<smg_service_pb.EnableAutoPlayResponse>;\n\n  enableAutoPlay(\n    request: smg_service_pb.EnableAutoPlayRequest,\n    metadata: grpcWeb.Metadata | null,\n    callback?: (err: grpcWeb.RpcError,\n               response: smg_service_pb.EnableAutoPlayResponse) => void) {\n    if (callback !== undefined) {\n      return this.client_.rpcCall(\n        this.hostname_ +\n          '/qb.smg.SmgService/EnableAutoPlay',\n        request,\n        metadata || {},\n        this.methodDescriptorEnableAutoPlay,\n        callback);\n    }\n    return this.client_.unaryCall(\n    this.hostname_ +\n      '/qb.smg.SmgService/EnableAutoPlay',\n    request,\n    metadata || {},\n    this.methodDescriptorEnableAutoPlay);\n  }\n\n  methodDescriptorSetWelcomeBonus = new grpcWeb.MethodDescriptor(\n    '/qb.smg.SmgService/SetWelcomeBonus',\n    grpcWeb.MethodType.UNARY,\n    smg_service_pb.SetWelcomeBonusRequest,\n    smg_service_pb.SetWelcomeBonusResponse,\n    (request: smg_service_pb.SetWelcomeBonusRequest) => {\n      return request.serializeBinary();\n    },\n    smg_service_pb.SetWelcomeBonusResponse.deserializeBinary\n  );\n\n  setWelcomeBonus(\n    request: smg_service_pb.SetWelcomeBonusRequest,\n    metadata: grpcWeb.Metadata | null): Promise<smg_service_pb.SetWelcomeBonusResponse>;\n\n  setWelcomeBonus(\n    request: smg_service_pb.SetWelcomeBonusRequest,\n    metadata: grpcWeb.Metadata | null,\n    callback: (err: grpcWeb.RpcError,\n               response: smg_service_pb.SetWelcomeBonusResponse) => void): grpcWeb.ClientReadableStream<smg_service_pb.SetWelcomeBonusResponse>;\n\n  setWelcomeBonus(\n    request: smg_service_pb.SetWelcomeBonusRequest,\n    metadata: grpcWeb.Metadata | null,\n    callback?: (err: grpcWeb.RpcError,\n               response: smg_service_pb.SetWelcomeBonusResponse) => void) {\n    if (callback !== undefined) {\n      return this.client_.rpcCall(\n        this.hostname_ +\n          '/qb.smg.SmgService/SetWelcomeBonus',\n        request,\n        metadata || {},\n        this.methodDescriptorSetWelcomeBonus,\n        callback);\n    }\n    return this.client_.unaryCall(\n    this.hostname_ +\n      '/qb.smg.SmgService/SetWelcomeBonus',\n    request,\n    metadata || {},\n    this.methodDescriptorSetWelcomeBonus);\n  }\n\n  methodDescriptorEnableShawWallet = new grpcWeb.MethodDescriptor(\n    '/qb.smg.SmgService/EnableShawWallet',\n    grpcWeb.MethodType.UNARY,\n    smg_service_pb.EnableShawWalletRequest,\n    smg_service_pb.EnableShawWalletResponse,\n    (request: smg_service_pb.EnableShawWalletRequest) => {\n      return request.serializeBinary();\n    },\n    smg_service_pb.EnableShawWalletResponse.deserializeBinary\n  );\n\n  enableShawWallet(\n    request: smg_service_pb.EnableShawWalletRequest,\n    metadata: grpcWeb.Metadata | null): Promise<smg_service_pb.EnableShawWalletResponse>;\n\n  enableShawWallet(\n    request: smg_service_pb.EnableShawWalletRequest,\n    metadata: grpcWeb.Metadata | null,\n    callback: (err: grpcWeb.RpcError,\n               response: smg_service_pb.EnableShawWalletResponse) => void): grpcWeb.ClientReadableStream<smg_service_pb.EnableShawWalletResponse>;\n\n  enableShawWallet(\n    request: smg_service_pb.EnableShawWalletRequest,\n    metadata: grpcWeb.Metadata | null,\n    callback?: (err: grpcWeb.RpcError,\n               response: smg_service_pb.EnableShawWalletResponse) => void) {\n    if (callback !== undefined) {\n      return this.client_.rpcCall(\n        this.hostname_ +\n          '/qb.smg.SmgService/EnableShawWallet',\n        request,\n        metadata || {},\n        this.methodDescriptorEnableShawWallet,\n        callback);\n    }\n    return this.client_.unaryCall(\n    this.hostname_ +\n      '/qb.smg.SmgService/EnableShawWallet',\n    request,\n    metadata || {},\n    this.methodDescriptorEnableShawWallet);\n  }\n\n  methodDescriptorDeactivateAccount = new grpcWeb.MethodDescriptor(\n    '/qb.smg.SmgService/DeactivateAccount',\n    grpcWeb.MethodType.UNARY,\n    smg_service_pb.DeactivateAccountRequest,\n    smg_service_pb.DeactivateAccountResponse,\n    (request: smg_service_pb.DeactivateAccountRequest) => {\n      return request.serializeBinary();\n    },\n    smg_service_pb.DeactivateAccountResponse.deserializeBinary\n  );\n\n  deactivateAccount(\n    request: smg_service_pb.DeactivateAccountRequest,\n    metadata: grpcWeb.Metadata | null): Promise<smg_service_pb.DeactivateAccountResponse>;\n\n  deactivateAccount(\n    request: smg_service_pb.DeactivateAccountRequest,\n    metadata: grpcWeb.Metadata | null,\n    callback: (err: grpcWeb.RpcError,\n               response: smg_service_pb.DeactivateAccountResponse) => void): grpcWeb.ClientReadableStream<smg_service_pb.DeactivateAccountResponse>;\n\n  deactivateAccount(\n    request: smg_service_pb.DeactivateAccountRequest,\n    metadata: grpcWeb.Metadata | null,\n    callback?: (err: grpcWeb.RpcError,\n               response: smg_service_pb.DeactivateAccountResponse) => void) {\n    if (callback !== undefined) {\n      return this.client_.rpcCall(\n        this.hostname_ +\n          '/qb.smg.SmgService/DeactivateAccount',\n        request,\n        metadata || {},\n        this.methodDescriptorDeactivateAccount,\n        callback);\n    }\n    return this.client_.unaryCall(\n    this.hostname_ +\n      '/qb.smg.SmgService/DeactivateAccount',\n    request,\n    metadata || {},\n    this.methodDescriptorDeactivateAccount);\n  }\n\n  methodDescriptorRequestEmailChange = new grpcWeb.MethodDescriptor(\n    '/qb.smg.SmgService/RequestEmailChange',\n    grpcWeb.MethodType.UNARY,\n    smg_service_pb.RequestEmailChangeRequest,\n    smg_service_pb.RequestEmailChangeResponse,\n    (request: smg_service_pb.RequestEmailChangeRequest) => {\n      return request.serializeBinary();\n    },\n    smg_service_pb.RequestEmailChangeResponse.deserializeBinary\n  );\n\n  requestEmailChange(\n    request: smg_service_pb.RequestEmailChangeRequest,\n    metadata: grpcWeb.Metadata | null): Promise<smg_service_pb.RequestEmailChangeResponse>;\n\n  requestEmailChange(\n    request: smg_service_pb.RequestEmailChangeRequest,\n    metadata: grpcWeb.Metadata | null,\n    callback: (err: grpcWeb.RpcError,\n               response: smg_service_pb.RequestEmailChangeResponse) => void): grpcWeb.ClientReadableStream<smg_service_pb.RequestEmailChangeResponse>;\n\n  requestEmailChange(\n    request: smg_service_pb.RequestEmailChangeRequest,\n    metadata: grpcWeb.Metadata | null,\n    callback?: (err: grpcWeb.RpcError,\n               response: smg_service_pb.RequestEmailChangeResponse) => void) {\n    if (callback !== undefined) {\n      return this.client_.rpcCall(\n        this.hostname_ +\n          '/qb.smg.SmgService/RequestEmailChange',\n        request,\n        metadata || {},\n        this.methodDescriptorRequestEmailChange,\n        callback);\n    }\n    return this.client_.unaryCall(\n    this.hostname_ +\n      '/qb.smg.SmgService/RequestEmailChange',\n    request,\n    metadata || {},\n    this.methodDescriptorRequestEmailChange);\n  }\n\n  methodDescriptorConfirmEmailChange = new grpcWeb.MethodDescriptor(\n    '/qb.smg.SmgService/ConfirmEmailChange',\n    grpcWeb.MethodType.UNARY,\n    smg_service_pb.ConfirmEmailChangeRequest,\n    smg_service_pb.ConfirmEmailChangeResponse,\n    (request: smg_service_pb.ConfirmEmailChangeRequest) => {\n      return request.serializeBinary();\n    },\n    smg_service_pb.ConfirmEmailChangeResponse.deserializeBinary\n  );\n\n  confirmEmailChange(\n    request: smg_service_pb.ConfirmEmailChangeRequest,\n    metadata: grpcWeb.Metadata | null): Promise<smg_service_pb.ConfirmEmailChangeResponse>;\n\n  confirmEmailChange(\n    request: smg_service_pb.ConfirmEmailChangeRequest,\n    metadata: grpcWeb.Metadata | null,\n    callback: (err: grpcWeb.RpcError,\n               response: smg_service_pb.ConfirmEmailChangeResponse) => void): grpcWeb.ClientReadableStream<smg_service_pb.ConfirmEmailChangeResponse>;\n\n  confirmEmailChange(\n    request: smg_service_pb.ConfirmEmailChangeRequest,\n    metadata: grpcWeb.Metadata | null,\n    callback?: (err: grpcWeb.RpcError,\n               response: smg_service_pb.ConfirmEmailChangeResponse) => void) {\n    if (callback !== undefined) {\n      return this.client_.rpcCall(\n        this.hostname_ +\n          '/qb.smg.SmgService/ConfirmEmailChange',\n        request,\n        metadata || {},\n        this.methodDescriptorConfirmEmailChange,\n        callback);\n    }\n    return this.client_.unaryCall(\n    this.hostname_ +\n      '/qb.smg.SmgService/ConfirmEmailChange',\n    request,\n    metadata || {},\n    this.methodDescriptorConfirmEmailChange);\n  }\n\n  methodDescriptorUpdatePhoneNumber = new grpcWeb.MethodDescriptor(\n    '/qb.smg.SmgService/UpdatePhoneNumber',\n    grpcWeb.MethodType.UNARY,\n    smg_service_pb.UpdatePhoneNumberRequest,\n    smg_service_pb.UpdatePhoneNumberResponse,\n    (request: smg_service_pb.UpdatePhoneNumberRequest) => {\n      return request.serializeBinary();\n    },\n    smg_service_pb.UpdatePhoneNumberResponse.deserializeBinary\n  );\n\n  updatePhoneNumber(\n    request: smg_service_pb.UpdatePhoneNumberRequest,\n    metadata: grpcWeb.Metadata | null): Promise<smg_service_pb.UpdatePhoneNumberResponse>;\n\n  updatePhoneNumber(\n    request: smg_service_pb.UpdatePhoneNumberRequest,\n    metadata: grpcWeb.Metadata | null,\n    callback: (err: grpcWeb.RpcError,\n               response: smg_service_pb.UpdatePhoneNumberResponse) => void): grpcWeb.ClientReadableStream<smg_service_pb.UpdatePhoneNumberResponse>;\n\n  updatePhoneNumber(\n    request: smg_service_pb.UpdatePhoneNumberRequest,\n    metadata: grpcWeb.Metadata | null,\n    callback?: (err: grpcWeb.RpcError,\n               response: smg_service_pb.UpdatePhoneNumberResponse) => void) {\n    if (callback !== undefined) {\n      return this.client_.rpcCall(\n        this.hostname_ +\n          '/qb.smg.SmgService/UpdatePhoneNumber',\n        request,\n        metadata || {},\n        this.methodDescriptorUpdatePhoneNumber,\n        callback);\n    }\n    return this.client_.unaryCall(\n    this.hostname_ +\n      '/qb.smg.SmgService/UpdatePhoneNumber',\n    request,\n    metadata || {},\n    this.methodDescriptorUpdatePhoneNumber);\n  }\n\n  methodDescriptorRequestChange = new grpcWeb.MethodDescriptor(\n    '/qb.smg.SmgService/RequestChange',\n    grpcWeb.MethodType.UNARY,\n    smg_service_pb.RequestChangeRequest,\n    smg_service_pb.RequestChangeResponse,\n    (request: smg_service_pb.RequestChangeRequest) => {\n      return request.serializeBinary();\n    },\n    smg_service_pb.RequestChangeResponse.deserializeBinary\n  );\n\n  requestChange(\n    request: smg_service_pb.RequestChangeRequest,\n    metadata: grpcWeb.Metadata | null): Promise<smg_service_pb.RequestChangeResponse>;\n\n  requestChange(\n    request: smg_service_pb.RequestChangeRequest,\n    metadata: grpcWeb.Metadata | null,\n    callback: (err: grpcWeb.RpcError,\n               response: smg_service_pb.RequestChangeResponse) => void): grpcWeb.ClientReadableStream<smg_service_pb.RequestChangeResponse>;\n\n  requestChange(\n    request: smg_service_pb.RequestChangeRequest,\n    metadata: grpcWeb.Metadata | null,\n    callback?: (err: grpcWeb.RpcError,\n               response: smg_service_pb.RequestChangeResponse) => void) {\n    if (callback !== undefined) {\n      return this.client_.rpcCall(\n        this.hostname_ +\n          '/qb.smg.SmgService/RequestChange',\n        request,\n        metadata || {},\n        this.methodDescriptorRequestChange,\n        callback);\n    }\n    return this.client_.unaryCall(\n    this.hostname_ +\n      '/qb.smg.SmgService/RequestChange',\n    request,\n    metadata || {},\n    this.methodDescriptorRequestChange);\n  }\n\n  methodDescriptorGenerateS3SimulatorVideoUploadUrl = new grpcWeb.MethodDescriptor(\n    '/qb.smg.SmgService/GenerateS3SimulatorVideoUploadUrl',\n    grpcWeb.MethodType.UNARY,\n    smg_service_pb.GenerateS3SimulatorVideoUploadUrlRequest,\n    smg_service_pb.GenerateS3SimulatorVideoUploadUrlResponse,\n    (request: smg_service_pb.GenerateS3SimulatorVideoUploadUrlRequest) => {\n      return request.serializeBinary();\n    },\n    smg_service_pb.GenerateS3SimulatorVideoUploadUrlResponse.deserializeBinary\n  );\n\n  generateS3SimulatorVideoUploadUrl(\n    request: smg_service_pb.GenerateS3SimulatorVideoUploadUrlRequest,\n    metadata: grpcWeb.Metadata | null): Promise<smg_service_pb.GenerateS3SimulatorVideoUploadUrlResponse>;\n\n  generateS3SimulatorVideoUploadUrl(\n    request: smg_service_pb.GenerateS3SimulatorVideoUploadUrlRequest,\n    metadata: grpcWeb.Metadata | null,\n    callback: (err: grpcWeb.RpcError,\n               response: smg_service_pb.GenerateS3SimulatorVideoUploadUrlResponse) => void): grpcWeb.ClientReadableStream<smg_service_pb.GenerateS3SimulatorVideoUploadUrlResponse>;\n\n  generateS3SimulatorVideoUploadUrl(\n    request: smg_service_pb.GenerateS3SimulatorVideoUploadUrlRequest,\n    metadata: grpcWeb.Metadata | null,\n    callback?: (err: grpcWeb.RpcError,\n               response: smg_service_pb.GenerateS3SimulatorVideoUploadUrlResponse) => void) {\n    if (callback !== undefined) {\n      return this.client_.rpcCall(\n        this.hostname_ +\n          '/qb.smg.SmgService/GenerateS3SimulatorVideoUploadUrl',\n        request,\n        metadata || {},\n        this.methodDescriptorGenerateS3SimulatorVideoUploadUrl,\n        callback);\n    }\n    return this.client_.unaryCall(\n    this.hostname_ +\n      '/qb.smg.SmgService/GenerateS3SimulatorVideoUploadUrl',\n    request,\n    metadata || {},\n    this.methodDescriptorGenerateS3SimulatorVideoUploadUrl);\n  }\n\n  methodDescriptorResetKyc = new grpcWeb.MethodDescriptor(\n    '/qb.smg.SmgService/ResetKyc',\n    grpcWeb.MethodType.UNARY,\n    smg_service_pb.ResetKycRequest,\n    smg_service_pb.ResetKycReply,\n    (request: smg_service_pb.ResetKycRequest) => {\n      return request.serializeBinary();\n    },\n    smg_service_pb.ResetKycReply.deserializeBinary\n  );\n\n  resetKyc(\n    request: smg_service_pb.ResetKycRequest,\n    metadata: grpcWeb.Metadata | null): Promise<smg_service_pb.ResetKycReply>;\n\n  resetKyc(\n    request: smg_service_pb.ResetKycRequest,\n    metadata: grpcWeb.Metadata | null,\n    callback: (err: grpcWeb.RpcError,\n               response: smg_service_pb.ResetKycReply) => void): grpcWeb.ClientReadableStream<smg_service_pb.ResetKycReply>;\n\n  resetKyc(\n    request: smg_service_pb.ResetKycRequest,\n    metadata: grpcWeb.Metadata | null,\n    callback?: (err: grpcWeb.RpcError,\n               response: smg_service_pb.ResetKycReply) => void) {\n    if (callback !== undefined) {\n      return this.client_.rpcCall(\n        this.hostname_ +\n          '/qb.smg.SmgService/ResetKyc',\n        request,\n        metadata || {},\n        this.methodDescriptorResetKyc,\n        callback);\n    }\n    return this.client_.unaryCall(\n    this.hostname_ +\n      '/qb.smg.SmgService/ResetKyc',\n    request,\n    metadata || {},\n    this.methodDescriptorResetKyc);\n  }\n\n  methodDescriptorListTournaments = new grpcWeb.MethodDescriptor(\n    '/qb.smg.SmgService/ListTournaments',\n    grpcWeb.MethodType.UNARY,\n    smg_service_pb.ListTournamentRequest,\n    smg_service_pb.ListTournamentReply,\n    (request: smg_service_pb.ListTournamentRequest) => {\n      return request.serializeBinary();\n    },\n    smg_service_pb.ListTournamentReply.deserializeBinary\n  );\n\n  listTournaments(\n    request: smg_service_pb.ListTournamentRequest,\n    metadata: grpcWeb.Metadata | null): Promise<smg_service_pb.ListTournamentReply>;\n\n  listTournaments(\n    request: smg_service_pb.ListTournamentRequest,\n    metadata: grpcWeb.Metadata | null,\n    callback: (err: grpcWeb.RpcError,\n               response: smg_service_pb.ListTournamentReply) => void): grpcWeb.ClientReadableStream<smg_service_pb.ListTournamentReply>;\n\n  listTournaments(\n    request: smg_service_pb.ListTournamentRequest,\n    metadata: grpcWeb.Metadata | null,\n    callback?: (err: grpcWeb.RpcError,\n               response: smg_service_pb.ListTournamentReply) => void) {\n    if (callback !== undefined) {\n      return this.client_.rpcCall(\n        this.hostname_ +\n          '/qb.smg.SmgService/ListTournaments',\n        request,\n        metadata || {},\n        this.methodDescriptorListTournaments,\n        callback);\n    }\n    return this.client_.unaryCall(\n    this.hostname_ +\n      '/qb.smg.SmgService/ListTournaments',\n    request,\n    metadata || {},\n    this.methodDescriptorListTournaments);\n  }\n\n  methodDescriptorJoinTournament = new grpcWeb.MethodDescriptor(\n    '/qb.smg.SmgService/JoinTournament',\n    grpcWeb.MethodType.UNARY,\n    smg_service_pb.JoinTournamentRequest,\n    smg_service_pb.JoinTournamentReply,\n    (request: smg_service_pb.JoinTournamentRequest) => {\n      return request.serializeBinary();\n    },\n    smg_service_pb.JoinTournamentReply.deserializeBinary\n  );\n\n  joinTournament(\n    request: smg_service_pb.JoinTournamentRequest,\n    metadata: grpcWeb.Metadata | null): Promise<smg_service_pb.JoinTournamentReply>;\n\n  joinTournament(\n    request: smg_service_pb.JoinTournamentRequest,\n    metadata: grpcWeb.Metadata | null,\n    callback: (err: grpcWeb.RpcError,\n               response: smg_service_pb.JoinTournamentReply) => void): grpcWeb.ClientReadableStream<smg_service_pb.JoinTournamentReply>;\n\n  joinTournament(\n    request: smg_service_pb.JoinTournamentRequest,\n    metadata: grpcWeb.Metadata | null,\n    callback?: (err: grpcWeb.RpcError,\n               response: smg_service_pb.JoinTournamentReply) => void) {\n    if (callback !== undefined) {\n      return this.client_.rpcCall(\n        this.hostname_ +\n          '/qb.smg.SmgService/JoinTournament',\n        request,\n        metadata || {},\n        this.methodDescriptorJoinTournament,\n        callback);\n    }\n    return this.client_.unaryCall(\n    this.hostname_ +\n      '/qb.smg.SmgService/JoinTournament',\n    request,\n    metadata || {},\n    this.methodDescriptorJoinTournament);\n  }\n\n  methodDescriptorLeaveTournament = new grpcWeb.MethodDescriptor(\n    '/qb.smg.SmgService/LeaveTournament',\n    grpcWeb.MethodType.UNARY,\n    smg_service_pb.LeaveTournamentRequest,\n    smg_service_pb.LeaveTournamentReply,\n    (request: smg_service_pb.LeaveTournamentRequest) => {\n      return request.serializeBinary();\n    },\n    smg_service_pb.LeaveTournamentReply.deserializeBinary\n  );\n\n  leaveTournament(\n    request: smg_service_pb.LeaveTournamentRequest,\n    metadata: grpcWeb.Metadata | null): Promise<smg_service_pb.LeaveTournamentReply>;\n\n  leaveTournament(\n    request: smg_service_pb.LeaveTournamentRequest,\n    metadata: grpcWeb.Metadata | null,\n    callback: (err: grpcWeb.RpcError,\n               response: smg_service_pb.LeaveTournamentReply) => void): grpcWeb.ClientReadableStream<smg_service_pb.LeaveTournamentReply>;\n\n  leaveTournament(\n    request: smg_service_pb.LeaveTournamentRequest,\n    metadata: grpcWeb.Metadata | null,\n    callback?: (err: grpcWeb.RpcError,\n               response: smg_service_pb.LeaveTournamentReply) => void) {\n    if (callback !== undefined) {\n      return this.client_.rpcCall(\n        this.hostname_ +\n          '/qb.smg.SmgService/LeaveTournament',\n        request,\n        metadata || {},\n        this.methodDescriptorLeaveTournament,\n        callback);\n    }\n    return this.client_.unaryCall(\n    this.hostname_ +\n      '/qb.smg.SmgService/LeaveTournament',\n    request,\n    metadata || {},\n    this.methodDescriptorLeaveTournament);\n  }\n\n  methodDescriptorGetTournament = new grpcWeb.MethodDescriptor(\n    '/qb.smg.SmgService/GetTournament',\n    grpcWeb.MethodType.UNARY,\n    smg_service_pb.GetTournamentRequest,\n    smg_service_pb.GetTournamentReply,\n    (request: smg_service_pb.GetTournamentRequest) => {\n      return request.serializeBinary();\n    },\n    smg_service_pb.GetTournamentReply.deserializeBinary\n  );\n\n  getTournament(\n    request: smg_service_pb.GetTournamentRequest,\n    metadata: grpcWeb.Metadata | null): Promise<smg_service_pb.GetTournamentReply>;\n\n  getTournament(\n    request: smg_service_pb.GetTournamentRequest,\n    metadata: grpcWeb.Metadata | null,\n    callback: (err: grpcWeb.RpcError,\n               response: smg_service_pb.GetTournamentReply) => void): grpcWeb.ClientReadableStream<smg_service_pb.GetTournamentReply>;\n\n  getTournament(\n    request: smg_service_pb.GetTournamentRequest,\n    metadata: grpcWeb.Metadata | null,\n    callback?: (err: grpcWeb.RpcError,\n               response: smg_service_pb.GetTournamentReply) => void) {\n    if (callback !== undefined) {\n      return this.client_.rpcCall(\n        this.hostname_ +\n          '/qb.smg.SmgService/GetTournament',\n        request,\n        metadata || {},\n        this.methodDescriptorGetTournament,\n        callback);\n    }\n    return this.client_.unaryCall(\n    this.hostname_ +\n      '/qb.smg.SmgService/GetTournament',\n    request,\n    metadata || {},\n    this.methodDescriptorGetTournament);\n  }\n\n  methodDescriptorGetTournamentLeaderBoard = new grpcWeb.MethodDescriptor(\n    '/qb.smg.SmgService/GetTournamentLeaderBoard',\n    grpcWeb.MethodType.UNARY,\n    smg_service_pb.GetTournamentLeaderBoardRequest,\n    smg_service_pb.GetTournamentLeaderBoardReply,\n    (request: smg_service_pb.GetTournamentLeaderBoardRequest) => {\n      return request.serializeBinary();\n    },\n    smg_service_pb.GetTournamentLeaderBoardReply.deserializeBinary\n  );\n\n  getTournamentLeaderBoard(\n    request: smg_service_pb.GetTournamentLeaderBoardRequest,\n    metadata: grpcWeb.Metadata | null): Promise<smg_service_pb.GetTournamentLeaderBoardReply>;\n\n  getTournamentLeaderBoard(\n    request: smg_service_pb.GetTournamentLeaderBoardRequest,\n    metadata: grpcWeb.Metadata | null,\n    callback: (err: grpcWeb.RpcError,\n               response: smg_service_pb.GetTournamentLeaderBoardReply) => void): grpcWeb.ClientReadableStream<smg_service_pb.GetTournamentLeaderBoardReply>;\n\n  getTournamentLeaderBoard(\n    request: smg_service_pb.GetTournamentLeaderBoardRequest,\n    metadata: grpcWeb.Metadata | null,\n    callback?: (err: grpcWeb.RpcError,\n               response: smg_service_pb.GetTournamentLeaderBoardReply) => void) {\n    if (callback !== undefined) {\n      return this.client_.rpcCall(\n        this.hostname_ +\n          '/qb.smg.SmgService/GetTournamentLeaderBoard',\n        request,\n        metadata || {},\n        this.methodDescriptorGetTournamentLeaderBoard,\n        callback);\n    }\n    return this.client_.unaryCall(\n    this.hostname_ +\n      '/qb.smg.SmgService/GetTournamentLeaderBoard',\n    request,\n    metadata || {},\n    this.methodDescriptorGetTournamentLeaderBoard);\n  }\n\n  methodDescriptorGetTournamentPlayers = new grpcWeb.MethodDescriptor(\n    '/qb.smg.SmgService/GetTournamentPlayers',\n    grpcWeb.MethodType.UNARY,\n    smg_service_pb.GetTournamentPlayersRequest,\n    smg_service_pb.GetTournamentPlayersReply,\n    (request: smg_service_pb.GetTournamentPlayersRequest) => {\n      return request.serializeBinary();\n    },\n    smg_service_pb.GetTournamentPlayersReply.deserializeBinary\n  );\n\n  getTournamentPlayers(\n    request: smg_service_pb.GetTournamentPlayersRequest,\n    metadata: grpcWeb.Metadata | null): Promise<smg_service_pb.GetTournamentPlayersReply>;\n\n  getTournamentPlayers(\n    request: smg_service_pb.GetTournamentPlayersRequest,\n    metadata: grpcWeb.Metadata | null,\n    callback: (err: grpcWeb.RpcError,\n               response: smg_service_pb.GetTournamentPlayersReply) => void): grpcWeb.ClientReadableStream<smg_service_pb.GetTournamentPlayersReply>;\n\n  getTournamentPlayers(\n    request: smg_service_pb.GetTournamentPlayersRequest,\n    metadata: grpcWeb.Metadata | null,\n    callback?: (err: grpcWeb.RpcError,\n               response: smg_service_pb.GetTournamentPlayersReply) => void) {\n    if (callback !== undefined) {\n      return this.client_.rpcCall(\n        this.hostname_ +\n          '/qb.smg.SmgService/GetTournamentPlayers',\n        request,\n        metadata || {},\n        this.methodDescriptorGetTournamentPlayers,\n        callback);\n    }\n    return this.client_.unaryCall(\n    this.hostname_ +\n      '/qb.smg.SmgService/GetTournamentPlayers',\n    request,\n    metadata || {},\n    this.methodDescriptorGetTournamentPlayers);\n  }\n\n  methodDescriptorCreatePrivateTournament = new grpcWeb.MethodDescriptor(\n    '/qb.smg.SmgService/CreatePrivateTournament',\n    grpcWeb.MethodType.UNARY,\n    smg_service_pb.CreatePrivateTournamentRequest,\n    smg_service_pb.CreatePrivateTournamentReply,\n    (request: smg_service_pb.CreatePrivateTournamentRequest) => {\n      return request.serializeBinary();\n    },\n    smg_service_pb.CreatePrivateTournamentReply.deserializeBinary\n  );\n\n  createPrivateTournament(\n    request: smg_service_pb.CreatePrivateTournamentRequest,\n    metadata: grpcWeb.Metadata | null): Promise<smg_service_pb.CreatePrivateTournamentReply>;\n\n  createPrivateTournament(\n    request: smg_service_pb.CreatePrivateTournamentRequest,\n    metadata: grpcWeb.Metadata | null,\n    callback: (err: grpcWeb.RpcError,\n               response: smg_service_pb.CreatePrivateTournamentReply) => void): grpcWeb.ClientReadableStream<smg_service_pb.CreatePrivateTournamentReply>;\n\n  createPrivateTournament(\n    request: smg_service_pb.CreatePrivateTournamentRequest,\n    metadata: grpcWeb.Metadata | null,\n    callback?: (err: grpcWeb.RpcError,\n               response: smg_service_pb.CreatePrivateTournamentReply) => void) {\n    if (callback !== undefined) {\n      return this.client_.rpcCall(\n        this.hostname_ +\n          '/qb.smg.SmgService/CreatePrivateTournament',\n        request,\n        metadata || {},\n        this.methodDescriptorCreatePrivateTournament,\n        callback);\n    }\n    return this.client_.unaryCall(\n    this.hostname_ +\n      '/qb.smg.SmgService/CreatePrivateTournament',\n    request,\n    metadata || {},\n    this.methodDescriptorCreatePrivateTournament);\n  }\n\n  methodDescriptorJoinPrivateTournament = new grpcWeb.MethodDescriptor(\n    '/qb.smg.SmgService/JoinPrivateTournament',\n    grpcWeb.MethodType.UNARY,\n    smg_service_pb.JoinPrivateTournamentRequest,\n    smg_service_pb.JoinPrivateTournamentReply,\n    (request: smg_service_pb.JoinPrivateTournamentRequest) => {\n      return request.serializeBinary();\n    },\n    smg_service_pb.JoinPrivateTournamentReply.deserializeBinary\n  );\n\n  joinPrivateTournament(\n    request: smg_service_pb.JoinPrivateTournamentRequest,\n    metadata: grpcWeb.Metadata | null): Promise<smg_service_pb.JoinPrivateTournamentReply>;\n\n  joinPrivateTournament(\n    request: smg_service_pb.JoinPrivateTournamentRequest,\n    metadata: grpcWeb.Metadata | null,\n    callback: (err: grpcWeb.RpcError,\n               response: smg_service_pb.JoinPrivateTournamentReply) => void): grpcWeb.ClientReadableStream<smg_service_pb.JoinPrivateTournamentReply>;\n\n  joinPrivateTournament(\n    request: smg_service_pb.JoinPrivateTournamentRequest,\n    metadata: grpcWeb.Metadata | null,\n    callback?: (err: grpcWeb.RpcError,\n               response: smg_service_pb.JoinPrivateTournamentReply) => void) {\n    if (callback !== undefined) {\n      return this.client_.rpcCall(\n        this.hostname_ +\n          '/qb.smg.SmgService/JoinPrivateTournament',\n        request,\n        metadata || {},\n        this.methodDescriptorJoinPrivateTournament,\n        callback);\n    }\n    return this.client_.unaryCall(\n    this.hostname_ +\n      '/qb.smg.SmgService/JoinPrivateTournament',\n    request,\n    metadata || {},\n    this.methodDescriptorJoinPrivateTournament);\n  }\n\n  methodDescriptorVerifyPrivateTournamentCode = new grpcWeb.MethodDescriptor(\n    '/qb.smg.SmgService/VerifyPrivateTournamentCode',\n    grpcWeb.MethodType.UNARY,\n    smg_service_pb.VerifyPrivateTournamentCodeRequest,\n    smg_service_pb.VerifyPrivateTournamentCodeReply,\n    (request: smg_service_pb.VerifyPrivateTournamentCodeRequest) => {\n      return request.serializeBinary();\n    },\n    smg_service_pb.VerifyPrivateTournamentCodeReply.deserializeBinary\n  );\n\n  verifyPrivateTournamentCode(\n    request: smg_service_pb.VerifyPrivateTournamentCodeRequest,\n    metadata: grpcWeb.Metadata | null): Promise<smg_service_pb.VerifyPrivateTournamentCodeReply>;\n\n  verifyPrivateTournamentCode(\n    request: smg_service_pb.VerifyPrivateTournamentCodeRequest,\n    metadata: grpcWeb.Metadata | null,\n    callback: (err: grpcWeb.RpcError,\n               response: smg_service_pb.VerifyPrivateTournamentCodeReply) => void): grpcWeb.ClientReadableStream<smg_service_pb.VerifyPrivateTournamentCodeReply>;\n\n  verifyPrivateTournamentCode(\n    request: smg_service_pb.VerifyPrivateTournamentCodeRequest,\n    metadata: grpcWeb.Metadata | null,\n    callback?: (err: grpcWeb.RpcError,\n               response: smg_service_pb.VerifyPrivateTournamentCodeReply) => void) {\n    if (callback !== undefined) {\n      return this.client_.rpcCall(\n        this.hostname_ +\n          '/qb.smg.SmgService/VerifyPrivateTournamentCode',\n        request,\n        metadata || {},\n        this.methodDescriptorVerifyPrivateTournamentCode,\n        callback);\n    }\n    return this.client_.unaryCall(\n    this.hostname_ +\n      '/qb.smg.SmgService/VerifyPrivateTournamentCode',\n    request,\n    metadata || {},\n    this.methodDescriptorVerifyPrivateTournamentCode);\n  }\n\n  methodDescriptorGetPromos = new grpcWeb.MethodDescriptor(\n    '/qb.smg.SmgService/GetPromos',\n    grpcWeb.MethodType.UNARY,\n    smg_service_pb.GetPromosRequest,\n    smg_service_pb.GetPromosResponse,\n    (request: smg_service_pb.GetPromosRequest) => {\n      return request.serializeBinary();\n    },\n    smg_service_pb.GetPromosResponse.deserializeBinary\n  );\n\n  getPromos(\n    request: smg_service_pb.GetPromosRequest,\n    metadata: grpcWeb.Metadata | null): Promise<smg_service_pb.GetPromosResponse>;\n\n  getPromos(\n    request: smg_service_pb.GetPromosRequest,\n    metadata: grpcWeb.Metadata | null,\n    callback: (err: grpcWeb.RpcError,\n               response: smg_service_pb.GetPromosResponse) => void): grpcWeb.ClientReadableStream<smg_service_pb.GetPromosResponse>;\n\n  getPromos(\n    request: smg_service_pb.GetPromosRequest,\n    metadata: grpcWeb.Metadata | null,\n    callback?: (err: grpcWeb.RpcError,\n               response: smg_service_pb.GetPromosResponse) => void) {\n    if (callback !== undefined) {\n      return this.client_.rpcCall(\n        this.hostname_ +\n          '/qb.smg.SmgService/GetPromos',\n        request,\n        metadata || {},\n        this.methodDescriptorGetPromos,\n        callback);\n    }\n    return this.client_.unaryCall(\n    this.hostname_ +\n      '/qb.smg.SmgService/GetPromos',\n    request,\n    metadata || {},\n    this.methodDescriptorGetPromos);\n  }\n\n  methodDescriptorActivatePromo = new grpcWeb.MethodDescriptor(\n    '/qb.smg.SmgService/ActivatePromo',\n    grpcWeb.MethodType.UNARY,\n    smg_service_pb.ActivatePromoRequest,\n    smg_service_pb.ActivatePromoResponse,\n    (request: smg_service_pb.ActivatePromoRequest) => {\n      return request.serializeBinary();\n    },\n    smg_service_pb.ActivatePromoResponse.deserializeBinary\n  );\n\n  activatePromo(\n    request: smg_service_pb.ActivatePromoRequest,\n    metadata: grpcWeb.Metadata | null): Promise<smg_service_pb.ActivatePromoResponse>;\n\n  activatePromo(\n    request: smg_service_pb.ActivatePromoRequest,\n    metadata: grpcWeb.Metadata | null,\n    callback: (err: grpcWeb.RpcError,\n               response: smg_service_pb.ActivatePromoResponse) => void): grpcWeb.ClientReadableStream<smg_service_pb.ActivatePromoResponse>;\n\n  activatePromo(\n    request: smg_service_pb.ActivatePromoRequest,\n    metadata: grpcWeb.Metadata | null,\n    callback?: (err: grpcWeb.RpcError,\n               response: smg_service_pb.ActivatePromoResponse) => void) {\n    if (callback !== undefined) {\n      return this.client_.rpcCall(\n        this.hostname_ +\n          '/qb.smg.SmgService/ActivatePromo',\n        request,\n        metadata || {},\n        this.methodDescriptorActivatePromo,\n        callback);\n    }\n    return this.client_.unaryCall(\n    this.hostname_ +\n      '/qb.smg.SmgService/ActivatePromo',\n    request,\n    metadata || {},\n    this.methodDescriptorActivatePromo);\n  }\n\n}\n\n","import {\n  SMG_AUTH_WORLDPAY, SMG_ENVIRONMENT, SMG_SERVER_URL, SMG_TRANSACTOR_WORLDPAY, SMG_TRANSACTOR_WORLDPAY_WEBSOCKET,\n  SMG_PAY_PAGE_ID, SMG_REPORT_GROUP, SMG_ePROTECT_URL\n} from 'react-native-dotenv';\nimport Config from 'react-native-config';\nimport {Platform} from 'react-native';\nimport {SmgServiceClient} from '../../generated/Smg_serviceServiceClientPb';\nimport {PhoneNumberUtil} from 'google-libphonenumber';\n\nexport const smgServerUrl = Config.SMG_SERVER_URL || SMG_SERVER_URL;\nexport const smgEnvironment = Config.SMG_ENVIRONMENT || SMG_ENVIRONMENT || 'local';\nexport const smgAuthWorldpay = Config.SMG_AUTH_WORLDPAY || SMG_AUTH_WORLDPAY;\nexport const smgTransactorWorldpay = Config.SMG_TRANSACTOR_WORLDPAY || SMG_TRANSACTOR_WORLDPAY;\nexport const smgTransactorWorldpayWebsocket = Config.SMG_TRANSACTOR_WORLDPAY_WEBSOCKET || SMG_TRANSACTOR_WORLDPAY_WEBSOCKET;\nexport const smgPayPageId = Config.SMG_PAY_PAGE_ID || SMG_PAY_PAGE_ID;\nexport const smgReportGroup = Config.SMG_REPORT_GROUP || SMG_REPORT_GROUP;\nexport const smgEProtectUrl = Config.SMG_ePROTECT_URL || SMG_ePROTECT_URL;\n\nexport const SMG_Client = new SmgServiceClient(smgServerUrl);\nexport const Test_Client = new SmgServiceClient('http://10.8.0.14:50051');\n\n// const RomaAccounts = {\n//   dev: {deactivated: 6, lastCreated: 38}, internal: {deactivated: 7, lastCreated: 14}, external: {lastCreated: 1}\n// };\n\nexport const dateFormat = 'YYYY-MM-DD';\n\nexport const localFormatter = new Intl.DateTimeFormat('en-US', {\n  year: 'numeric', month: '2-digit', day: '2-digit', hour: 'numeric', minute: 'numeric', timeZoneName: 'short'\n});\n\nexport const transformImg = (base64: string): string => {\n  let val = base64;\n\n  val = val.replace('data:image/png;base64,', '');\n  val = val.replace('data:image/jpg;base64,', '');\n  val = val.replace('data:image/jpeg;base64,', '');\n\n  return val;\n};\n\nexport const breakpoint = 1150;\nexport const tabletBreakpoint = 768;\n\nexport const preventSelect: any = Platform.select({web: {userSelect: 'none'}});\n\nexport const outline_0: any = Platform.select({web: {outline: 0}});\n\nexport const phoneUtil = PhoneNumberUtil.getInstance();\n\nexport const payoutFormat = (val: number) => {\n  if (Number.isInteger(val)) return val;\n  else return val.toFixed(2);\n};\n\nexport const CustomScrollbarStyle = `\n<style>\n/* width */\n::-webkit-scrollbar {\n  width: 8px;\n}\n\n/* Track */\n::-webkit-scrollbar-track {\n  background: rgba(0, 0, 0, 0.2); \n}\n \n/* Handle */\n::-webkit-scrollbar-thumb {\n  background: #0d0d0d;\n  border-radius: 4px;\n}\n</style>\n`;\n\nexport const FixForTournamentFlatListAlignment = `\n<style>\n#tournament_list > div > div {\nscroll-snap-align: center !important;\n}\n</style>\n`;\n\nexport const WebApp = 'https://app.evenplay.com';\nexport const WebAppText = 'app.evenplay.com';\nexport const Landing = 'https://evenplay.com';\nexport const LandingText = 'www.evenplay.com';\nexport const LANDING_PAGE_URL = smgEnvironment === 'prod' ? Landing : '/splash';\nexport const SESSION_EXPIRE_TIME = 30; // minutes\nexport const SupportMail = 'support@evenplay.com';\nexport const BrandName = 'Evenplay';\nexport const AboutLanding = 'https://about.skillmoney.com';\n","import {Golf2Challenge, Location, TournamentState} from \"../../generated/smg_service_pb\";\nimport dollar1 from \"../assets/img/dollar1.png\";\nimport dollar2 from \"../assets/img/dollar2.png\";\nimport dollar3 from \"../assets/img/dollar3.png\";\nimport Frame2 from \"../assets/img/Frame2.png\";\nimport Frame3 from \"../assets/img/Frame3.png\";\nimport Frame4 from \"../assets/img/Frame4.png\";\nimport frame1 from \"../assets/img/Frame1.png\";\nimport image8 from \"../assets/img/image8.png\";\nimport image9 from \"../assets/img/acfdd669d263e06734c69ca200dd47a7.png\";\nimport MainStyle from \"../../MainStyle\";\nimport {preventSelect} from \"../constants\";\nimport {Platform} from \"react-native\";\nimport moment from 'moment';\nimport {colors} from \"../assets/styles/colors\";\nimport * as faceapi from \"face-api.js\";\nimport {Timestamp} from \"google-protobuf/google/protobuf/timestamp_pb\";\n\nexport const convertToUnixTimestamp = (isoDateString: string): Timestamp => {\n  const date = moment(isoDateString);\n  const unixSeconds = date.utc(true).unix();\n\n  const timestamp = new Timestamp();\n  timestamp.setSeconds(unixSeconds);\n  timestamp.setNanos(0);\n\n  return timestamp;\n};\n\nexport const formatPayout = (amount: number) => {\n  const formatter = new Intl.NumberFormat('en-US', {\n    style: 'currency', currency: 'USD', minimumFractionDigits: amount % 1 === 0 ? 0 : 2, maximumFractionDigits: 2\n  });\n  return formatter.format(amount);\n};\n\nexport const formatCurrency = (value: number) => {\n  return new Intl.NumberFormat('en-US', {style: 'currency', currency: 'USD'}).format(value);\n};\n\nexport const getFieldError = (key: string, formik: any): boolean | string => {\n  return formik.touched[key] && formik.errors[key];\n};\n\nexport const fixAspectRatio = async (uri: string) => {\n  const img = new Image();\n  img.src = uri;\n\n  await new Promise((resolve) => (img.onload = resolve));\n\n  const canvas = document.createElement('canvas');\n  const ctx = canvas.getContext('2d');\n\n  const aspectRatio = 4 / 3;\n  const width = img.width;\n  const height = width / aspectRatio;\n\n  canvas.width = width;\n  canvas.height = height;\n\n  ctx?.drawImage(img, 0, 0, width, height);\n\n  return canvas.toDataURL('image/jpeg');\n};\n\nconst getAveragePoint = (points: faceapi.Point[]) => {\n  const sum = points.reduce((acc, point) => {\n    return {x: acc.x + point.x, y: acc.y + point.y};\n  }, {x: 0, y: 0});\n\n  return {x: sum.x / points.length, y: sum.y / points.length};\n};\n\nexport const detectHeadTurn = async (video: HTMLVideoElement | null) => {\n  if (!video) return;\n  const detections = await faceapi.detectSingleFace(video, new faceapi.TinyFaceDetectorOptions()).withFaceLandmarks();\n\n  if (detections) {\n    const landmarks = detections.landmarks;\n\n    const leftEye = getAveragePoint(landmarks.getLeftEye());\n    const rightEye = getAveragePoint(landmarks.getRightEye());\n    const nose = getAveragePoint(landmarks.getNose());\n\n    const eyeDistance = rightEye.x - leftEye.x;\n    const centerPosition = leftEye.x + eyeDistance / 2;\n    const noseOffset = nose.x - centerPosition;\n\n    const threshold = eyeDistance * 0.25;\n\n    if (noseOffset < -threshold) return 'left';\n    else if (noseOffset > threshold) return 'right';\n    else return 'straight';\n  }\n};\n\nexport const tournamentStatusStyle = (state?: TournamentState) => {\n  const State = TournamentState;\n  let val = {color: '', text: ''};\n\n  if (state === State.PENDING) val = {color: colors.filter_chip_bg, text: 'CREATED'};\n  else if (state === State.PUBLISHED) val = {color: colors.disable_chip, text: 'PUBLISHED'};\n  else if (state === State.PLAYING) val = {color: colors.state_color, text: 'ACTIVE'};\n  else if (state === State.FINISHED) val = {color: colors.state_completed, text: 'Completed'};\n  else if (state === State.CANCELLED) val = {color: colors.state_cancelled, text: 'CANCELLED'};\n\n  return val;\n};\n\nconst distance = (lat1: number, lon1: number, lat2: number, lon2: number, unit: 'M' | 'K' | 'N') => {\n  if ((lat1 == lat2) && (lon1 == lon2)) return 0;\n  else {\n    const radlat1 = Math.PI * lat1 / 180;\n    const radlat2 = Math.PI * lat2 / 180;\n    const theta = lon1 - lon2;\n    const radtheta = Math.PI * theta / 180;\n    let dist = Math.sin(radlat1) * Math.sin(radlat2) + Math.cos(radlat1) * Math.cos(radlat2) * Math.cos(radtheta);\n\n    if (dist > 1) dist = 1;\n\n    dist = Math.acos(dist);\n    dist = dist * 180 / Math.PI;\n    dist = dist * 60 * 1.1515;\n\n    if (unit === 'K') dist = dist * 1.609344;\n    if (unit === 'N') dist = dist * 0.8684;\n\n    return dist;\n  }\n};\n\nexport const browser = () => {\n  if (Platform.OS !== 'web') return '';\n  const test = (regexp: RegExp) => regexp.test(window.navigator.userAgent);\n\n  switch (true) {\n    case test(/edg/i):\n      return 'microsoft edge';\n    case test(/trident/i):\n      return 'internet explorer';\n    case test(/firefox|fxios/i):\n      return 'firefox';\n    case test(/opr\\//i):\n      return 'opera';\n    case test(/ucbrowser/i):\n      return 'uc browser';\n    case test(/samsungbrowser/i):\n      return 'samsung browser';\n    case test(/chrome|chromium|crios/i):\n      return 'chrome';\n    case test(/safari/i):\n      return 'safari';\n    default:\n      return 'browser';\n  }\n};\n\n// string to readable capitalization\nexport const toCapitalize = (str: string) => {\n  if (typeof str !== 'string') return '';\n  return str.charAt(0).toUpperCase() + str.slice(1);\n};\n\nexport const setPointConfig = (challenge: Golf2Challenge.AsObject, type: 'open' | 'accepted') => {\n  const config = {\n    lvl: '', text: '', top: 0, left: 0, icon: dollar1 as any, iconTop: 0, iconLeft: 0,\n    Styles: {distance: [MainStyle.f_w_700], text: [MainStyle.f_w_700], iconH: 0, iconW: 0}\n  };\n\n  if (type === 'open') {\n    config.Styles.distance = styles.open_distance_s;\n    config.Styles.text = styles.open_text_s;\n    config.Styles.iconH = 38;\n    config.Styles.iconW = 20;\n\n    if (challenge.level === Golf2Challenge.Golf2ChallengeLevel.EASY) {\n      config.lvl = 'Easy';\n      config.text = 'Bowl';\n      config.icon = dollar1;\n      config.top = 125;\n      config.left = 165;\n      config.iconTop = 107;\n      config.iconLeft = 156;\n\n    } else if (challenge.level === Golf2Challenge.Golf2ChallengeLevel.MEDIUM) {\n      config.lvl = 'Medium';\n      config.text = 'Flat';\n      config.icon = dollar2;\n      config.top = 74;\n      config.left = 22;\n      config.iconTop = 50;\n      config.iconLeft = 12;\n\n    } else {\n      config.lvl = 'Hard';\n      config.text = 'Convex';\n      config.icon = dollar3;\n      config.top = 33;\n      config.left = 140;\n      config.iconTop = 12;\n      config.iconLeft = 229;\n    }\n\n  } else {\n    config.Styles.distance = styles.distance_s;\n    config.Styles.text = styles.text_s;\n    config.Styles.iconH = 75;\n    config.Styles.iconW = 40;\n\n    if (challenge.level === Golf2Challenge.Golf2ChallengeLevel.EASY) {\n      config.lvl = 'Easy';\n      config.text = 'Bowl';\n      config.icon = dollar1;\n      config.top = 75;\n      config.left = 124;\n      config.iconTop = 37;\n      config.iconLeft = 66;\n\n    } else if (challenge.level === Golf2Challenge.Golf2ChallengeLevel.MEDIUM) {\n      config.lvl = 'Medium';\n      config.text = 'Flat';\n      config.icon = dollar2;\n      config.top = 74;\n      config.left = 93;\n      config.iconTop = 21;\n      config.iconLeft = 38;\n\n    } else {\n      config.lvl = 'Hard';\n      config.text = 'Convex';\n      config.icon = dollar3;\n      config.top = 71;\n      config.left = 70;\n      config.iconTop = 33;\n      config.iconLeft = 189;\n    }\n  }\n\n  return config;\n};\n\nexport const setContestFrameImage = (betType: string, type: 'open' | 'accepted', golf2challenge?: Golf2Challenge.AsObject) => {\n  if (type === 'accepted' && betType === 'golf2' && golf2challenge) {\n    if (golf2challenge.level === Golf2Challenge.Golf2ChallengeLevel.EASY) return Frame2;\n    else if (golf2challenge.level === Golf2Challenge.Golf2ChallengeLevel.MEDIUM) return Frame3;\n    else return Frame4;\n\n  } else if (betType === 'golf2') return frame1;\n  else if (betType === 'paytable') return image9;\n  else return image8;\n};\n\nlet lastLocationUpdate: GeolocationPosition;\n\nconst getCurrentNetworkPosition = (): Promise<GeolocationPosition> => {\n  return new Promise((resolve, reject) => {\n    const options = {enableHighAccuracy: true, timeout: 1000 * 10, maximumAge: 0};\n\n    const showPosition = (position: GeolocationPosition) => {\n      resolve(position);\n    };\n\n    const showError = (error: GeolocationPositionError) => {\n      if (error.code === error.PERMISSION_DENIED) reject(null);\n      else resolve(lastLocationUpdate);\n    };\n\n    if (navigator.geolocation) {\n      navigator.geolocation.getCurrentPosition(showPosition, showError, options);\n\n    } else {\n      console.log(\"Geolocation is not supported by this browser.\");\n      reject(null);\n    }\n\n    // Geolocation.getCurrentPosition(\n    //   (position) => {\n    //     resolve(position);\n    //   },\n    //   () => {\n    //     // See error code charts below.\n    //     reject(null);\n    //   },\n    //   {enableHighAccuracy: true, timeout: 15000, maximumAge: 10000, showLocationDialog: true, forceRequestLocation: true}\n    // );\n  });\n};\n\nexport const getLocation = async (): Promise<GeolocationPosition | null> => {\n  try {\n    if (!lastLocationUpdate || moment().diff(moment(lastLocationUpdate.timestamp), 'minutes')) {\n      const newLocation = await getCurrentNetworkPosition();\n\n      if (!lastLocationUpdate) {\n        lastLocationUpdate = newLocation;\n\n      } else {\n        const currDistance = distance(lastLocationUpdate.coords.latitude, lastLocationUpdate.coords.longitude, newLocation.coords.latitude, newLocation.coords.longitude, 'K');\n        console.log('current distance', currDistance);\n\n        if (currDistance < 3.5) lastLocationUpdate = newLocation;\n      }\n    }\n\n    return lastLocationUpdate;\n\n  } catch (e) {\n    console.log('getLocation e', e);\n    return null;\n  }\n};\n\nexport const setVenueIdOrLocation = async (request: any) => {\n  const curLocation = await getLocation();\n\n  if (curLocation && curLocation.coords && curLocation.coords.latitude && curLocation.coords.longitude) {\n    const location = new Location();\n\n    location.setLatitude(curLocation.coords.latitude);\n    location.setLongitude(curLocation.coords.longitude);\n\n    request.setLocation(location);\n\n  } else {\n    throw {message: 'Permission to access the location was denied.'};\n  }\n};\n\nconst styles = {\n  open_distance_l: [MainStyle.f_w_700, MainStyle.f_s_30, MainStyle.c_white, MainStyle.t_a_c, MainStyle.l_h_33, preventSelect],\n  open_distance_s: [MainStyle.f_w_700, MainStyle.f_s_14, MainStyle.c_white, MainStyle.t_a_c, MainStyle.l_h_16, preventSelect],\n  open_text_l: [MainStyle.f_w_700, MainStyle.f_s_22, MainStyle.c_white, MainStyle.t_a_c, MainStyle.l_h_22, preventSelect],\n  open_text_s: [MainStyle.f_w_700, MainStyle.f_s_12, MainStyle.c_white, MainStyle.t_a_c, MainStyle.l_h_12, preventSelect],\n  distance_l: [MainStyle.f_w_700, MainStyle.f_s_40, MainStyle.c_white, MainStyle.t_a_c, MainStyle.l_h_40, preventSelect],\n  distance_s: [MainStyle.f_w_700, MainStyle.f_s_20, MainStyle.c_white, MainStyle.t_a_c, MainStyle.l_h_20, preventSelect],\n  text_l: [MainStyle.f_w_700, MainStyle.f_s_32, MainStyle.c_white, MainStyle.t_a_c, MainStyle.l_h_30, preventSelect],\n  text_s: [MainStyle.f_w_700, MainStyle.f_s_16, MainStyle.c_white, MainStyle.t_a_c, MainStyle.l_h_16, preventSelect],\n};\n\nexport function convertCentsToDollars(cents: number): string {\n  const dollars = cents / 100;\n  return dollars.toFixed(2);\n}\n\nexport const getCardTypeForApplePay = (type: 'Visa' | 'MasterCard') => {\n  switch (type) {\n    case 'Visa':\n      return 'VI';\n    case 'MasterCard':\n      return 'MC';\n    default:\n      return null;\n  }\n};\n","import {SMG_Client, smgAuthWorldpay, smgTransactorWorldpay} from \"../constants\";\nimport {\n  AcceptBetRequest, AcceptTncRequest, ActivatePromoRequest, BetResolutionRequest, ChangeType,\n  CheckUserEmailExistsRequest, ConfirmEmailChangeRequest, ConfirmEmailRequest, ContactCsrRequest,\n  CreatePrivateTournamentRequest, DeactivateAccountRequest, DoResetPinRequest, EnableAutoPlayRequest,\n  EnableSelfLimitationRequest, GetBetsRequest, GetPromosRequest, GetTournamentRequest, GetTransactionHistoryRequest,\n  JoinPrivateTournamentRequest, JoinTournamentRequest, LeaveTournamentRequest, ListTournamentRequest, OtpMethod,\n  RequestChangeRequest, RequestEmailChangeRequest, RequestOtpCodeRequest, RequestResetPinRequest,\n  ResendEmailConfirmationRequest, Session, StartVeriffKycVerificationRequest, SubmitPhotoRequest, TournamentState,\n  TournamentSurveyAnswer, UpdatePhoneNumberRequest, UpdateUserRequest, VerifyOtpCodeRequest,\n  VerifyPrivateTournamentCodeRequest\n} from \"../../generated/smg_service_pb\";\nimport axios, {AxiosResponse} from \"axios\";\nimport {DepositPayloadType, PayoffResponse, SavedCardType, updateUserPayloadType, WorldpayReply} from \"../types\";\nimport {convertToUnixTimestamp, setVenueIdOrLocation} from \"./index\";\nimport {Buffer} from \"buffer\";\n\nconst Sort = ListTournamentRequest.Sort;\n\nconst ServiceClient = {\n  client: SMG_Client,\n  session: {} as Session.AsObject,\n  payGateToken: '',\n  async checkUserEmailExists(email: string) {\n    const request = new CheckUserEmailExistsRequest();\n    request.setEmailAddress(email);\n\n    return this.client.checkUserEmailExists(request, {}).then(res => {\n      const {success, error, exists} = res.toObject();\n      if (success) return exists;\n      else throw error;\n    });\n  },\n  async requestOtpCode(val: { email?: string, phone?: string }) {\n    const request = new RequestOtpCodeRequest();\n    const {email, phone} = val;\n\n    if (email) {\n      request.setEmailAddress(email);\n      request.setPreferredotpmethod(OtpMethod.EMAIL);\n\n    } else if (phone) {\n      request.setPhoneNumber(phone);\n      request.setPreferredotpmethod(OtpMethod.SMS);\n    }\n\n    return this.client.requestOtpCode(request, {}).then(res => {\n      const {success, error} = res.toObject();\n\n      if (success) return success;\n      else throw error;\n    });\n  },\n  async verifyOtpCode(code: string, email: string, phone?: string) {\n    const request = new VerifyOtpCodeRequest();\n\n    request.setOtpCode(code);\n    request.setEmailAddress(email);\n    if (phone) request.setPhoneNumber(phone);\n\n    return this.client.verifyOtpCode(request, {}).then(res => {\n      const {success, error, codeiscorrect} = res.toObject();\n\n      if (success) return codeiscorrect;\n      else throw error;\n    });\n  },\n  async deposit(data: DepositPayloadType) {\n    const config = {headers: {Authorization: `Bearer ${this.payGateToken}`}};\n\n    return axios.post(`${smgTransactorWorldpay}/v1/transactions/deposit`, data, config).then((response: AxiosResponse<WorldpayReply<any>>) => {\n      const {success, message, result} = response.data;\n\n      if (success) return result;\n      else throw {message};\n    });\n  },\n  async validateMerchant(verificationURL: string) {\n    const config = {headers: {Authorization: `Bearer ${this.payGateToken}`}};\n\n    return axios.post(`${smgTransactorWorldpay}/v1/transactions/deposit/applepay/verification`, {verificationURL}, config).then((response: AxiosResponse<WorldpayReply<any>>) => {\n      const {success, message, result} = response.data;\n\n      if (success) return result;\n      else throw {message};\n    });\n  },\n  async getPayGateToken() {\n    const data = {sessionToken: this.session?.token || ''};\n\n    return axios.post(`${smgAuthWorldpay}/auth/v1/token`, data).then((response: AxiosResponse<WorldpayReply<any>>) => {\n      const {success, result, message} = response.data;\n\n      if (success && result) {\n        this.payGateToken = result.accessToken;\n        return result.accessToken;\n\n      } else throw {message: message || 'Error'};\n    });\n  },\n  async getSavedCards() {\n    const config = {headers: {Authorization: `Bearer ${this.payGateToken}`}};\n    return axios.get(`${smgTransactorWorldpay}/v1/cards/getSavedCards`, config).then((response: AxiosResponse<WorldpayReply<SavedCardType[]>>) => {\n      const {success, result, message} = response.data;\n\n      if (success && result) return result;\n      else throw {message: message || 'Error'};\n    });\n  },\n  async deleteCard(cardUid: string) {\n    const config = {headers: {Authorization: `Bearer ${this.payGateToken}`}};\n    const data = {cardUid};\n\n    return axios.post(`${smgTransactorWorldpay}/v1/cards/delete`, data, config).then((res: AxiosResponse<WorldpayReply<any>>) => {\n      const {success, result, message} = res.data;\n\n      if (success) return result;\n      else {\n        console.log('deleteCard res.data', res.data);\n        throw {message: message || 'Error'};\n      }\n    });\n  },\n  async payoff(amount: number) {\n    const config = {headers: {Authorization: `Bearer ${this.payGateToken}`}};\n    const data = {amount};\n\n    return axios.post(`${smgTransactorWorldpay}/v1/transactions/payoff`, data, config).then((res: AxiosResponse<PayoffResponse>) => {\n      const {success, message, result} = res.data;\n\n      if (success) return result;\n      else throw {message};\n    });\n  },\n  async sale(data: { amount: number, location: { latitude: string, longitude: string } }) {\n    const config = {headers: {Authorization: `Bearer ${this.payGateToken}`}};\n\n    return axios.post(`${smgTransactorWorldpay}/v1/transactions/sale`, data, config).then((response: AxiosResponse<WorldpayReply<any>>) => {\n      const {success, result, message} = response.data;\n\n      if (success && result?.transactionId) return result.transactionId;\n      else throw {message: message || 'Error'};\n    });\n  },\n  async enableSelfLimitation(timeFrame: EnableSelfLimitationRequest.TimeFrame) {\n    const request = new EnableSelfLimitationRequest();\n    await setVenueIdOrLocation(request);\n\n    request.setToken(this.session.token || '');\n    request.setTimeFrame(timeFrame);\n\n    return this.client.enableSelfLimitation(request, {}).then(res => {\n      const {success, error} = res.toObject();\n\n      if (success) return success;\n      throw error;\n    });\n  },\n  async deactivateAccount() {\n    const request = new DeactivateAccountRequest();\n    request.setToken(this.session.token || '');\n\n    return this.client.deactivateAccount(request, {}).then(res => {\n      const {success, error} = res.toObject();\n\n      if (success) return success;\n      else throw error;\n    });\n  },\n  async acceptTnc() {\n    const request = new AcceptTncRequest();\n    request.setToken(this.session.token || '');\n\n    return this.client.acceptTnc(request, {}).then(res => {\n      const {error, success} = res.toObject();\n\n      if (success) return success;\n      else throw error;\n    });\n  },\n  async getBets(state: 'open' | 'accepted', localSession?: Session.AsObject) {\n    const request = new GetBetsRequest();\n    request.setToken(localSession?.token || this.session.token || '');\n    request.setBetState(state);\n\n    return this.client.getBets(request, {}).then(res => {\n      const {success, error, betsList} = res.toObject();\n\n      if (success) return betsList;\n      else throw error;\n    });\n  },\n  async enableAutoPlay(enabled: boolean, betAmount: number) {\n    const request = new EnableAutoPlayRequest();\n\n    request.setToken(this.session.token || '');\n    request.setEnabled(enabled);\n    request.setBetamount(betAmount);\n\n    return this.client.enableAutoPlay(request, {}).then(res => {\n      const {success, error} = res.toObject();\n\n      if (success) return success;\n      else throw error;\n    });\n  },\n  async updateUser(value: updateUserPayloadType) {\n    const request = new UpdateUserRequest();\n    const {\n      allowPartnerPromos, allowEmailNotifications, allowTextNotifications, username, handicap, handedness, firstname,\n      lastname, dateOfBirth\n    } = value;\n\n    request.setToken(this.session.token || '');\n    request.setUsername(username);\n    request.setAllowTextNotifications(allowTextNotifications);\n    request.setAllowEmailNotifications(allowEmailNotifications);\n    request.setAllowPartnerPromos(allowPartnerPromos);\n    request.setHandicap(handicap);\n    request.setHandedness(handedness);\n    request.setFirstName(firstname);\n    request.setLastName(lastname);\n    if (dateOfBirth) request.setDateOfBirth(convertToUnixTimestamp(dateOfBirth));\n    // await setVenueIdOrLocation(request);\n\n    return this.client.updateUser(request, {}).then(res => {\n      const {success, error} = res.toObject();\n\n      if (success) return success;\n      else throw error;\n    });\n  },\n  async requestEmailChange(email: string) {\n    const request = new RequestEmailChangeRequest();\n\n    request.setNewEmail(email);\n    request.setToken(this.session.token || '');\n\n    return this.client.requestEmailChange(request, {}).then(res => {\n      const {success, error} = res.toObject();\n\n      if (success) return success;\n      else throw error;\n    });\n  },\n  async confirmEmail(token: string) {\n    const request = new ConfirmEmailRequest();\n    request.setConfirmationtoken(token);\n\n    return this.client.confirmEmail(request, {}).then(res => {\n      const {success, error, session} = res.toObject();\n\n      if (success) return session;\n      else throw error;\n    });\n  },\n  async confirmEmailChange(token: string) {\n    const request = new ConfirmEmailChangeRequest();\n    request.setToken(token);\n\n    return this.client.confirmEmailChange(request, {}).then(res => {\n      const {success, error} = res.toObject();\n\n      if (success) return success;\n      else throw error;\n    });\n  },\n  async updatePhoneNumber(phone: string, code?: string) {\n    const request = new UpdatePhoneNumberRequest();\n\n    request.setToken(this.session.token || '');\n    if (code) request.setOtpCode(code);\n    request.setPhoneNumber(phone);\n\n    return this.client.updatePhoneNumber(request, {}).then(res => {\n      const {success, error} = res.toObject();\n\n      if (success) return success;\n      else throw error;\n    });\n  },\n  async requestChange(type: ChangeType) {\n    const request = new RequestChangeRequest();\n\n    request.setToken(this.session.token || '');\n    request.setChangeType(type);\n\n    return this.client.requestChange(request, {}).then(res => {\n      const {success, error} = res.toObject();\n\n      if (success) return success;\n      else throw error;\n    });\n  },\n  async getPromos(player_id: number) {\n    const request = new GetPromosRequest();\n\n    request.setToken(this.session.token || '');\n    request.setPlayerId(player_id);\n\n    return this.client.getPromos(request, {}).then(res => {\n      const {success, error, promosList} = res.toObject();\n\n      if (success) return promosList;\n      else throw error;\n    });\n  },\n  async listTournaments(state: TournamentState[], sort: ListTournamentRequest.Sort, access: ListTournamentRequest.TournamentAccess, mineOnly: boolean, showLastTwoDaysForPastTournaments = true) {\n    const request = new ListTournamentRequest();\n\n    request.setToken(this.session.token || '');\n    request.setTournamentaccess(access);\n    request.setMineonly(mineOnly);\n    request.setStatesList(state);\n    request.setSort(sort);\n\n    if (showLastTwoDaysForPastTournaments && (!state.length && sort === Sort.DEFAULT)) request.setShowlasttwodaysforpasttournaments(true);\n\n    return this.client.listTournaments(request, {}).then(res => {\n      const {success, tournamentsList, error} = res.toObject();\n\n      if (success) {\n        return tournamentsList.filter(el => {\n          if (el.state === TournamentState.FINISHED || el.state === TournamentState.CANCELLED) {\n            return typeof el.currentplayerdetails !== 'undefined';\n\n          } else {\n            return true;\n          }\n        });\n\n      } else {\n        throw error;\n      }\n    });\n  },\n  async getTournament(id: number) {\n    const request = new GetTournamentRequest();\n    request.setToken(this.session.token || '');\n    request.setTournamentid(id);\n\n    return this.client.getTournament(request, {}).then(res => {\n      const {success, error, tournament} = res.toObject();\n\n      if (success) return tournament;\n      else throw error;\n    });\n  },\n  async joinTournament(id: number, betEntreeFee: number, answers: Record<string, string[]>) {\n    const request = new JoinTournamentRequest();\n\n    request.setToken(this.session.token || '');\n    request.setTournamentid(id);\n    request.setBetentreefee(betEntreeFee);\n\n    if (Object.keys(answers).length) {\n      const answersList: TournamentSurveyAnswer[] = [];\n\n      Object.keys(answers).forEach(key => {\n        const val = new TournamentSurveyAnswer();\n\n        val.setQuestionid(+key);\n        val.setResponseList(answers[key]);\n\n        answersList.push(val);\n      });\n\n      request.setSurveyanswersList(answersList);\n    }\n\n    return this.client.joinTournament(request, {}).then(res => {\n      const {success, error} = res.toObject();\n\n      if (success) return success;\n      else throw error;\n    });\n  },\n  async leaveTournament(id: number) {\n    const request = new LeaveTournamentRequest();\n    request.setTournamentid(id);\n    request.setToken(this.session.token || '');\n\n    return this.client.leaveTournament(request, {}).then(res => {\n      const {success, error} = res.toObject();\n\n      if (success) return success;\n      else throw error;\n    });\n  },\n  async acceptBet(betId: number, amount: number, challengeId?: number) {\n    const request = new AcceptBetRequest();\n\n    request.setToken(this.session.token || '');\n    if (challengeId) request.setChallengeId(challengeId);\n    request.setBetId(betId);\n    request.setBetamount(amount);\n\n    return this.client.acceptBet(request, {}).then(res => {\n      const {success, error} = res.toObject();\n\n      if (success) return success;\n      else throw error;\n    });\n  },\n  async resendEmailConfirmation() {\n    const request = new ResendEmailConfirmationRequest();\n    request.setToken(this.session.token || '');\n\n    return this.client.resendEmailConfirmation(request, {}).then(res => {\n      const {success, error} = res.toObject();\n\n      if (success) return success;\n      else throw error;\n    });\n  },\n  async doResetPin(token: string, newPin: string) {\n    const request = new DoResetPinRequest();\n    request.setToken(token);\n    request.setNewPin(newPin);\n    await setVenueIdOrLocation(request);\n\n    return this.client.doResetPin(request, {}).then(res => {\n      const {success, error} = res.toObject();\n\n      if (success) return success;\n      else throw error;\n    });\n  },\n  async requestResetPin(email: string) {\n    const request = new RequestResetPinRequest();\n    request.setEmailAddress(email);\n    await setVenueIdOrLocation(request);\n\n    return this.client.requestResetPin(request, {}).then(res => {\n      const {success, error} = res.toObject();\n\n      if (success) return success;\n      else throw error;\n    });\n  },\n  async refundBet(betId: number) {\n    const request = new BetResolutionRequest();\n    request.setBetId(betId);\n    request.setToken(this.session.token || '');\n\n    return this.client.refundBet(request, {}).then(res => {\n      const {resolved, error} = res.toObject();\n\n      if (resolved) return resolved;\n      else throw error;\n    });\n  },\n  async contactCsr(message: string) {\n    const request = new ContactCsrRequest();\n\n    request.setRequest(message);\n    request.setToken(this.session.token || '');\n    await setVenueIdOrLocation(request);\n\n    return this.client.contactCsr(request, {}).then(res => {\n      const {success, error} = res.toObject();\n\n      if (success) return success;\n      else throw error;\n    });\n  },\n  async submitPhoto(image: string) {\n    const request = new SubmitPhotoRequest();\n    const byteArray = Buffer.from(image, 'base64');\n\n    request.setImage(byteArray);\n    request.setToken(this.session.token || '');\n\n    return this.client.submitPhoto(request, {}).then(res => {\n      const {success, error, isRecognized} = res.toObject();\n\n      if (success) return isRecognized;\n      else throw error;\n    });\n  },\n  async startVeriffKycVerification() {\n    const request = new StartVeriffKycVerificationRequest();\n    request.setToken(this.session.token || '');\n\n    return this.client.startVeriffKycVerification(request, {}).then(res => {\n      const {success, error, veriffurl} = res.toObject();\n\n      if (success) return veriffurl;\n      else throw error;\n    });\n  },\n  async activatePromo(code: string) {\n    const request = new ActivatePromoRequest();\n    request.setToken(this.session.token || '');\n    request.setPromocode(code);\n\n    return this.client.activatePromo(request, {}).then(res => {\n      const {success, error, activatedpromo} = res.toObject();\n\n      if (success) return activatedpromo;\n      else throw error;\n    });\n  },\n  async createPrivateTournament(numberOfShots: number, maxParticipants: number, entreeFee: number) {\n    const request = new CreatePrivateTournamentRequest();\n\n    request.setToken(this.session.token || '');\n    request.setNumberOfShots(numberOfShots);\n    request.setMaxParticipants(maxParticipants);\n    request.setEntreeFee(entreeFee * 100);\n\n    return this.client.createPrivateTournament(request, {}).then(res => {\n      const {success, newTournamentCode, error} = res.toObject();\n\n      if (success) return newTournamentCode;\n      else throw error;\n    });\n  },\n  async verifyPrivateTournamentCode(code: string) {\n    const request = new VerifyPrivateTournamentCodeRequest();\n    request.setToken(this.session.token || '');\n    request.setCode(code);\n\n    return this.client.verifyPrivateTournamentCode(request, {}).then(res => {\n      const {success, error, tournament} = res.toObject();\n\n      if (success) return tournament;\n      else throw error;\n    });\n  },\n  async joinPrivateTournament(code: string, answers: Record<string, string[]>) {\n    const request = new JoinPrivateTournamentRequest();\n    request.setToken(this.session.token || '');\n    request.setCode(code);\n    request.setBetentreefee(0);\n\n    if (Object.keys(answers).length) {\n      const answersList: TournamentSurveyAnswer[] = [];\n\n      Object.keys(answers).forEach(key => {\n        const val = new TournamentSurveyAnswer();\n\n        val.setQuestionid(+key);\n        val.setResponseList(answers[key]);\n\n        answersList.push(val);\n      });\n\n      request.setSurveyanswersList(answersList);\n    }\n\n    return this.client.joinPrivateTournament(request, {}).then(res => {\n      const {success, error, tournament} = res.toObject();\n\n      if (success) return tournament;\n      else throw error;\n    });\n  },\n  async getTransactionHistory(userId: number) {\n    const request = new GetTransactionHistoryRequest();\n    request.setUserId(userId);\n\n    return this.client.getTransactionHistory(request, {}).then(res => {\n      const {success, error, historyList} = res.toObject();\n\n      if (success) return historyList;\n      else throw error;\n    });\n  }\n};\n\nexport default ServiceClient;\n","import {createContext, ReactNode, useEffect, useState} from \"react\";\nimport {\n  EmailLoginRequest, Error, GetBalanceRequest, GetUserRequest, ImageLoginRequest, OtpLoginRequest, RegisterUserRequest,\n  Session, User\n} from \"../../generated/smg_service_pb\";\nimport {dateFormat, SMG_Client, Test_Client} from \"../constants\";\nimport {CancelModalProps, ExtendedUserDataType, IContestEntryModal, registerUserPayloadType} from \"../types\";\nimport AsyncStorage from \"@react-native-async-storage/async-storage\";\nimport {Buffer} from \"buffer\";\nimport moment from 'moment';\nimport ServiceClient from \"../utils/ServiceClient\";\nimport MainStyle from \"../../MainStyle\";\n\nconst defaultCancelModalConfig = {visible: false, title: '', subtitle: ''};\n\ntype initTypes = {\n  user: User.AsObject | undefined,\n  getUser: (Session?: Session.AsObject) => Promise<User.AsObject>,\n  session: Session.AsObject | undefined,\n  setSession: (val: Session.AsObject) => void,\n  logout: () => Promise<boolean>,\n  registerUser: (val: registerUserPayloadType) => Promise<Session.AsObject>,\n  emailLogin: (email: string, password: string) => Promise<true>,\n  imageLogin: (val: string) => Promise<true>,\n  cancelModalConfig: CancelModalProps,\n  setCancelModalConfig: (val: CancelModalProps) => void,\n  loadingOverlay: boolean,\n  setLoadingOverlay: (val: boolean) => void,\n  getBalance: () => Promise<number | Error.AsObject>,\n  balance: number,\n  isSuccessMessageShow: string,\n  setIsSuccessMessageShow: (message: string) => void\n  contestEntryModalConfig: IContestEntryModal,\n  setContestEntryModalConfig: (val: IContestEntryModal) => void,\n  isTest: boolean,\n  setIsTest: (val: boolean) => void,\n  onLine: boolean,\n  setOnLine: (val: boolean) => void,\n  totalBonuses: number,\n  otpLogin: (email: string, code: string) => Promise<true>,\n  extendedUserData: ExtendedUserDataType,\n  setUser: (val: User.AsObject) => void\n};\n\nconst defaultValue: initTypes = {\n  user: undefined,\n  getUser: (): any => {\n  },\n  session: undefined,\n  setSession: () => {\n  },\n  logout: (): any => {\n  },\n  registerUser: (): any => {\n  },\n  emailLogin: (): any => {\n  },\n  imageLogin: (): any => {\n  },\n  cancelModalConfig: defaultCancelModalConfig,\n  setCancelModalConfig: () => {\n  },\n  loadingOverlay: false,\n  setLoadingOverlay: () => {\n  },\n  getBalance: (): any => {\n  },\n  balance: 0,\n  isSuccessMessageShow: '',\n  setIsSuccessMessageShow: () => {\n  },\n  contestEntryModalConfig: {},\n  setContestEntryModalConfig: () => {\n  },\n  isTest: false,\n  setIsTest: () => {\n  },\n  onLine: true,\n  setOnLine: () => {\n  },\n  totalBonuses: 0,\n  otpLogin: (): any => {\n  },\n  extendedUserData: {\n    maxshotamount: 0, hasactivetournament: false, freeshotcount: 0, freeshotnumber: 0, isnewplayer: false,\n    hasnewbonus: false, tournamentAutoPlayAmount: 0\n  },\n  setUser: () => {\n  }\n};\n\nexport const StoreContext = createContext(defaultValue);\n\ntype Props = { children: ReactNode };\nexport const StoreContextProvider = (props: Props) => {\n  const {children} = props;\n  const [user, setUser] = useState<User.AsObject>();\n  const [session, setSession] = useState<Session.AsObject>();\n  const [cancelModalConfig, setCancelModalConfig] = useState<CancelModalProps>(defaultCancelModalConfig);\n  const [loadingOverlay, setLoadingOverlay] = useState(false);\n  const [balance, setBalance] = useState(0);\n  const [isSuccessMessageShow, setIsSuccessMessageShow] = useState('');\n  const [contestEntryModalConfig, setContestEntryModalConfig] = useState<IContestEntryModal>({visible: false});\n  const [isTest, setIsTest] = useState(false);\n  const client = isTest ? Test_Client : SMG_Client;\n  const [onLine, setOnLine] = useState(true);\n  const [totalBonuses, setTotalBonuses] = useState(0);\n  const [extendedUserData, setExtendedUserData] = useState<ExtendedUserDataType>({\n    maxshotamount: 0, hasactivetournament: false, freeshotcount: 0, freeshotnumber: 0, isnewplayer: false,\n    hasnewbonus: false, tournamentAutoPlayAmount: 0\n  });\n\n  const getBalance = async (localSession?: Session.AsObject): Promise<number | Error.AsObject> => {\n    const request = new GetBalanceRequest();\n    request.setToken(localSession?.token || session?.token || '');\n\n    return client.getBalance(request, {}).then(res => {\n      const {success, balance, error, totalBonusesBalance} = res.toObject();\n\n      if (success) {\n        setTotalBonuses(totalBonusesBalance);\n        setBalance(balance);\n        return balance;\n\n      } else throw error;\n\n    }).catch(err => {\n      console.log('getBalance', err);\n      return err;\n    });\n  };\n\n  const logout = async () => {\n    await AsyncStorage.removeItem('session');\n\n    setUser(undefined);\n    setSession(undefined);\n    setBalance(0);\n    setExtendedUserData({\n      maxshotamount: 0, hasactivetournament: false, freeshotcount: 0, freeshotnumber: 0, isnewplayer: false,\n      hasnewbonus: false, tournamentAutoPlayAmount: 0\n    });\n    return true;\n  };\n\n  const imageLogin = async (image: string) => {\n    const request = new ImageLoginRequest();\n    const byteArray = Buffer.from(image, 'base64');\n\n    request.setImage(byteArray);\n\n    return client.imageLogin(request, {}).then(res => {\n      const {success, user, session, error} = res.toObject();\n\n      if (user && user.dateOfBirth && moment().diff(moment(user.dateOfBirth, dateFormat), 'years') < 18) {\n        throw {message: 'You have successfully completed registration. However, you must be 18 or older to play.'};\n\n      } else if (success && session && user) {\n        setSession(session);\n        getBalance(session).then();\n        AsyncStorage.setItem('session', JSON.stringify(session));\n        setUser(user);\n        return success;\n\n      } else throw error;\n    });\n  };\n\n  const otpLogin = async (email: string, code: string) => {\n    const request = new OtpLoginRequest();\n    request.setEmailAddress(email);\n    request.setOtpCode(code);\n\n    return client.otpLogin(request, {}).then(async (res) => {\n      const {success, error, session, user} = res.toObject();\n\n      if (user && user.dateOfBirth && moment().diff(moment(user.dateOfBirth, dateFormat), 'years') < 18) {\n        throw {message: 'You have successfully completed registration. However, you must be 18 or older to play.'};\n\n      } else if (success && session) {\n        setSession(session);\n        await getBalance(session);\n        await getUser(session);\n        AsyncStorage.setItem('session', JSON.stringify(session)).then();\n        return success;\n\n      } else throw error;\n    });\n  };\n\n  const emailLogin = async (email: string, password: string) => {\n    const request = new EmailLoginRequest();\n    request.setEmailAddress(email);\n    request.setPassword(password);\n\n    return client.emailLogin(request, {}).then(res => {\n      const {error, session, user, success} = res.toObject();\n\n      if (user && user.dateOfBirth && moment().diff(moment(user.dateOfBirth, dateFormat), 'years') < 18) {\n        throw {message: 'You have successfully completed registration. However, you must be 18 or older to play.'};\n\n      } else if (success && session && user) {\n        setSession(session);\n        getBalance(session).then();\n        AsyncStorage.setItem('session', JSON.stringify(session));\n        setUser(user);\n        return success;\n\n      } else throw error;\n    });\n  };\n\n  const registerUser = async (values: registerUserPayloadType) => {\n    const {\n      email, smsCode, phone, username, handedness, handicap, dateOfBirth, firstname, lastname, preferredOtpMethod\n    } = values;\n    const request = new RegisterUserRequest();\n\n    request.setEmailAddress(email);\n    request.setUsername(username);\n    request.setOtpcode(smsCode);\n    request.setPhonenumber(phone);\n    request.setHandedness(handedness);\n    request.setHandicap(handicap);\n    if (dateOfBirth) request.setDateOfBirth(dateOfBirth.format(dateFormat));\n    request.setFirstname(firstname);\n    request.setLastname(lastname);\n    request.setPreferredotpmethod(preferredOtpMethod);\n\n    return client.registerUser(request, {}).then(res => {\n      const {success, error, session} = res.toObject();\n\n      if (success && session) {\n        AsyncStorage.setItem('session', JSON.stringify(session));\n        setSession(session);\n        return session;\n\n      } else throw error;\n    });\n  };\n\n  const getUser = async (localSession?: Session.AsObject) => {\n    const request = new GetUserRequest();\n    request.setToken(localSession?.token || session?.token || '');\n\n    return client.getUser(request, {}).then(res => {\n      const {\n        success, user, error, maxshotamount, hasactivetournament, freeshotcount, freeshotnumber, isnewplayer,\n        hasnewbonus, tournamentAutoPlayAmount\n      } = res.toObject();\n\n      if (success && user) {\n        getBalance(localSession).then();\n        setExtendedUserData({\n          maxshotamount, hasactivetournament, freeshotcount, freeshotnumber, isnewplayer, hasnewbonus, tournamentAutoPlayAmount\n        });\n        setTimeout(() => setUser(user), 150);\n\n        if (extendedUserData.maxshotamount && (extendedUserData.maxshotamount < maxshotamount)) {\n          setCancelModalConfig({\n            visible: true, title: 'Success', titleColor: MainStyle.c_green, leftBtnText: 'OK',\n            subtitle: `Your Max Challenge Fee has increased to $${maxshotamount / 100}!\\n\\nYou can adjust your Challenge Fee in the app.`,\n            onExit: () => setCancelModalConfig({...cancelModalConfig, visible: false})\n          });\n        }\n\n        return user;\n\n      } else throw error;\n    });\n  };\n\n  useEffect(() => {\n    ServiceClient.client = isTest ? Test_Client : SMG_Client;\n    if (session) ServiceClient.session = session;\n  }, [isTest, session]);\n\n  const providerValue = {\n    user, getUser, setSession, registerUser, emailLogin, imageLogin, session, cancelModalConfig, setCancelModalConfig,\n    logout, loadingOverlay, setLoadingOverlay, getBalance, balance, isSuccessMessageShow, setIsSuccessMessageShow,\n    contestEntryModalConfig, setContestEntryModalConfig, isTest, setIsTest, onLine, setOnLine, totalBonuses, otpLogin,\n    extendedUserData, setUser\n  };\n\n  return (\n    <StoreContext.Provider value={providerValue}>\n      {children}\n    </StoreContext.Provider>\n  );\n};\n","import React, {useEffect, useRef} from \"react\";\nimport {Animated, StyleProp, ViewStyle} from \"react-native\";\n\ntype Props = { style?: StyleProp<ViewStyle>, duration: number, showDuration: number, children?: React.ReactNode };\n\nconst FadeView = (props: Props) => {\n  const {style, duration, children, showDuration} = props;\n  const fadeAnim = useRef(new Animated.Value(0)).current;\n\n  useEffect(() => {\n    Animated.timing(fadeAnim, {toValue: 1, duration, useNativeDriver: true}).start();\n\n    setTimeout(() => {\n      Animated.timing(fadeAnim, {toValue: 0, duration, useNativeDriver: true}).start();\n    }, duration + showDuration);\n  }, []);\n\n  return (\n    <Animated.View style={[style, {opacity: fadeAnim}]}>\n      {children}\n    </Animated.View>\n  );\n};\n\nexport default React.memo(FadeView);\n","import React, {useEffect, useState} from \"react\";\nimport {Image, Modal, Pressable, View} from \"react-native\";\nimport icon from \"../assets/img/circle-close-icon.png\";\nimport MainStyle from \"../../MainStyle\";\nimport Lottie from \"lottie-react\";\nimport tutorial_1_1_2_3 from \"../assets/lottie/tutorial_1-1-2-3.json\";\nimport tutorial_2_1 from \"../assets/lottie/tutorial_2-1.json\";\nimport tutorial_2_2 from \"../assets/lottie/tutorial_2-2.json\";\nimport tutorial_3_1 from \"../assets/lottie/tutorial_3-1.json\";\nimport tutorial_3_2 from \"../assets/lottie/tutorial_3-2.json\";\nimport tutorial_3_3 from \"../assets/lottie/tutorial_3-3.json\";\nimport tutorial_4_1 from \"../assets/lottie/tutorial_4-1.json\";\nimport tutorial_4_2 from \"../assets/lottie/tutorial_4-2.json\";\nimport tutorial_4_3 from \"../assets/lottie/tutorial_4-3.json\";\nimport Logo_SMG from \"../assets/img/evenplay-logo-long.svg\";\nimport FadeView from \"../components/FadeView\";\nimport Div from \"../lib/Div\";\nimport {colors} from \"../assets/styles/colors\";\nimport P from \"../lib/P\";\n\nconst register = [\n  {header: 'Register', data: tutorial_1_1_2_3, other: 'We’ll start you off with 10 Free Shots'}\n];\n\nconst enterContest = [\n  {header: 'Enter a Challenge', data: tutorial_2_1, other: 'Choose your Distance, Win Circle, and Pay Table'},\n  {\n    header: 'Enter a Challenge',\n    data: tutorial_2_2,\n    other: 'Select the “Enter Challenge” button and Confirm Challenge Entry'\n  }\n];\n\nconst takeShot = [\n  {header: 'Take a Shot', data: tutorial_3_1, other: 'You’ll see your name on the screen with your challenge active'},\n  {header: 'Take a Shot', data: tutorial_3_2, other: 'Choose your club and place a ball in the hitting area'},\n  {header: 'Take a Shot', data: tutorial_3_3, other: 'Swing away!'}\n];\n\nconst getPaid = [\n  {header: 'Get Paid!', data: tutorial_4_1, other: \"If your ball lands within the Win Circle, you'll win\"},\n  {header: 'Get Paid!', data: tutorial_4_2, other: \"The closer you get, the more you'll win!\"},\n  {header: 'Get Paid!', data: tutorial_4_3, other: 'Use the Web App to deposit or withdraw money easily'}\n];\n\ntype Props = { visible: boolean, onResume: () => void, logged: boolean };\n\nconst TutorialModal = (props: Props) => {\n  const {visible, logged} = props;\n  const [animationIndex, setAnimationIndex] = useState(0);\n  const animations = [...(logged ? [] : register), ...enterContest, ...takeShot, ...getPaid];\n  const [showPreview, setShowPreview] = useState(true);\n\n  const onLoopComplete = () => {\n    if (animationIndex + 1 === animations.length) props.onResume();\n    else setAnimationIndex(prevState => prevState + 1);\n  };\n\n  useEffect(() => {\n    if (visible) {\n      setTimeout(() => {\n        setShowPreview(false);\n      }, 2000);\n\n    } else {\n      setShowPreview(true);\n      setAnimationIndex(0);\n    }\n  }, [visible]);\n\n  return (\n    <Modal animationType=\"fade\" transparent visible={visible} statusBarTranslucent={false} hardwareAccelerated={false}\n           onRequestClose={() => props.onResume()}>\n      <View style={styles.wrap}>\n        <Div w={240} maxH={385} rounded={4} borderWidth={1} borderColor={colors.popupBorder} bg={colors.new_input_color}\n             position=\"relative\" py={10}>\n          <Pressable style={styles.icon_s} onPress={() => props.onResume()}>\n            <Image source={icon} style={styles.img_s}/>\n          </Pressable>\n\n          {showPreview ? (\n            <FadeView duration={300} showDuration={1400} style={[MainStyle.h_300, MainStyle.a_i_c, MainStyle.j_c_c]}>\n              <P color={colors.lightBlue} ta=\"center\" fw=\"600\" fs={20}>Here’s how to play</P>\n              <Image source={Logo_SMG as any} style={styles.logo_s}/>\n            </FadeView>\n          ) : (\n            <>\n              <P color={colors.lightBlue} ta=\"center\" fw=\"600\" fs={20}>{animations[animationIndex].header}</P>\n\n              <Lottie\n                animationData={animations[animationIndex].data} style={{width: '100%', height: '100%'}}\n                onLoopComplete={onLoopComplete} loop\n              />\n            </>\n          )}\n\n          <P ta=\"center\" mx={8}>{showPreview ? '' : animations[animationIndex].other}</P>\n        </Div>\n      </View>\n    </Modal>\n  );\n};\n\nconst styles = {\n  wrap: [\n    MainStyle.full_h, MainStyle.full_w, MainStyle.bc_modalBg, MainStyle.fix_gradient_and_modal_error_in_landscape,\n    MainStyle.flex, MainStyle.a_i_c, MainStyle.j_c_c, MainStyle.p_y_70\n  ],\n  icon_s: [MainStyle.absolute, MainStyle.t__28, MainStyle.r__28],\n  img_s: [MainStyle.w_28, MainStyle.h_28],\n  logo_s: [MainStyle.full_w, MainStyle.h_176, MainStyle.rm_center]\n};\n\nexport default React.memo(TutorialModal);\n","import React, {useContext, useState} from 'react';\nimport {\n  ColorValue, FlexAlignType, Image, Linking, Modal, Platform, StyleProp, TouchableOpacity, ViewStyle\n} from 'react-native';\nimport {StoreContext} from '../components/StoreContextProvider';\nimport {Landing} from '../constants';\nimport {useNavigation} from '@react-navigation/native';\nimport {colors} from \"../assets/styles/colors\";\nimport TutorialModal from \"./TutorialModal\";\nimport {Ionicons} from '@expo/vector-icons';\nimport MainStyle from \"../../MainStyle\";\nimport circleClose from '../assets/img/circle-close-icon.png';\nimport button_menu from \"../assets/img/icons/button_menu.png\";\nimport Div from \"../lib/Div\";\nimport P from \"../lib/P\";\n\nconst support_url = 'https://smgames.atlassian.net/servicedesk/customer/portal/3';\n\ntype Props = {\n  page?: 'splash' | 'support_guide' | 'header', size?: number, mx?: number | string, position?: 'absolute' | 'relative',\n  top?: number | string, right?: number | string, bw?: number, borderColor?: ColorValue, bg?: ColorValue,\n  w?: number | string, h?: number | string, br?: number, alignItems?: FlexAlignType,\n  justifyContent?: 'flex-start' | 'flex-end' | 'center' | 'space-between' | 'space-around' | 'space-evenly'\n};\n\nconst HelpLinkModalTrigger = (props: Props) => {\n  const {page, size, mx, position, top, right, bw, borderColor, bg, w, h, br, alignItems, justifyContent} = props;\n  const navigation: any = useNavigation();\n  const Context = useContext(StoreContext);\n  const {user, session} = Context;\n  const [showTutorial, setShowTutorial] = useState(false);\n  const [isHelpModalVisible, setIsHelpModalVisible] = useState(false);\n  const UN_AUTHENTICATIONS_LINKS = [\n    {\n      title: 'Contact Support',\n      onPress: () => {\n        if (Platform.OS === 'web') window.open(support_url, '_blank');\n        else Linking.openURL(support_url).then();\n        setIsHelpModalVisible(false);\n      }\n    },\n    {\n      title: 'Tutorial',\n      onPress: () => {\n        setIsHelpModalVisible(false);\n        setShowTutorial(true);\n      }\n    },\n    {\n      title: 'Terms and Conditions',\n      onPress: () => {\n        navigation.navigate('TermsAndConditions');\n        setIsHelpModalVisible(false);\n      }\n    },\n    {\n      title: 'Privacy Policy',\n      onPress: () => {\n        setIsHelpModalVisible(false);\n        navigation.navigate('PrivacyPolicy');\n      }\n    },\n    {\n      title: 'PROMOTIONS TERMS AND CONDITIONS',\n      onPress: () => {\n        setIsHelpModalVisible(false);\n        navigation.navigate('Promotions');\n      }\n    },\n    {\n      title: 'About the Company',\n      onPress: () => {\n        if (Platform.OS === 'web') window.open(Landing, '_self');\n        setIsHelpModalVisible(false);\n      }\n    }\n  ];\n  const AUTHENTICATIONS_LINKS = [\n    {\n      title: 'CONTACT SUPPORT',\n      onPress: () => {\n        if (Platform.OS === 'web') window.open(support_url, '_blank');\n        else Linking.openURL(support_url).then();\n        setIsHelpModalVisible(false);\n      }\n    },\n    {\n      title: 'TRANSACTION HISTORY',\n      onPress: () => {\n        navigation.navigate('TransactionHistory');\n        setIsHelpModalVisible(false);\n      }\n    },\n    {\n      title: 'Tutorial',\n      onPress: () => {\n        setIsHelpModalVisible(false);\n        setShowTutorial(true);\n      }\n    },\n    {\n      title: 'Notifications',\n      onPress: () => {\n        navigation.navigate('Notifications');\n        setIsHelpModalVisible(false);\n      }\n    },\n    {\n      title: 'Terms and Conditions',\n      onPress: () => {\n        navigation.navigate('TermsAndConditions');\n        setIsHelpModalVisible(false);\n      }\n    },\n    {\n      title: 'Privacy Policy',\n      onPress: () => {\n        setIsHelpModalVisible(false);\n        navigation.navigate('PrivacyPolicy');\n      }\n    },\n    {\n      title: 'Responsible Gaming',\n      onPress: () => {\n        navigation.navigate('ResponsibleGaming');\n        setIsHelpModalVisible(false);\n      }\n    },\n    {\n      title: 'Self-Limitation',\n      onPress: () => {\n        navigation.navigate('SelfExclusion');\n        setIsHelpModalVisible(false);\n      },\n    },\n    {\n      title: 'PROMOTIONS TERMS AND CONDITIONS',\n      onPress: () => {\n        setIsHelpModalVisible(false);\n        navigation.navigate('Promotions');\n      }\n    },\n    {\n      title: 'About the Company',\n      onPress: () => {\n        if (Platform.OS === 'web') window.open(Landing, '_self');\n        setIsHelpModalVisible(false);\n      }\n    }\n  ];\n  const style: StyleProp<ViewStyle> = {\n    marginHorizontal: mx, position, top, right, borderWidth: bw, borderColor, backgroundColor: bg, width: w, height: h,\n    borderRadius: br, alignItems, justifyContent, zIndex: 10\n  };\n\n  return (\n    <>\n      <TouchableOpacity onPress={() => setIsHelpModalVisible(true)} style={style}>\n        {page === 'splash' ? (\n          <Ionicons name=\"menu\" size={size || 20} color=\"white\"/>\n        ) : page === 'support_guide' ? (\n          <Image source={button_menu} style={{width: size || 20, height: size || 20}}/>\n        ) : page === 'header' ? (\n          <Ionicons name=\"settings-outline\" size={size || 20} color={colors.white}/>\n        ) : (\n          <Ionicons name={session ? 'settings-outline' : 'help-circle-outline'} size={size || 20} color=\"white\"/>\n        )}\n      </TouchableOpacity>\n\n      <Modal animationType=\"fade\" transparent visible={isHelpModalVisible} statusBarTranslucent={false}\n             hardwareAccelerated={false} onRequestClose={() => setIsHelpModalVisible(false)}>\n        <Div flex={1} justifyContent=\"center\" alignItems=\"center\" bg={colors.popupDropBg}>\n          <Div bg={colors.new_input_color} borderWidth={2} borderColor={colors.popupBorder} rounded={4} p={10}\n               position=\"relative\">\n            <Div position=\"absolute\" top={-28} right={-28}>\n              <TouchableOpacity onPress={() => setIsHelpModalVisible(false)}>\n                <Image source={circleClose} style={[MainStyle.h_28, MainStyle.w_28]}/>\n              </TouchableOpacity>\n            </Div>\n\n            {(!!user ? AUTHENTICATIONS_LINKS : UN_AUTHENTICATIONS_LINKS).map(item => (\n              <TouchableOpacity onPress={item.onPress} key={item.title}>\n                <P fw=\"700\" lh={36} tt=\"uppercase\" color={colors.whiteText} ta=\"center\">{item.title}</P>\n              </TouchableOpacity>\n            ))}\n          </Div>\n        </Div>\n      </Modal>\n\n      <TutorialModal visible={showTutorial} onResume={() => setShowTutorial(false)} logged={!!user}/>\n    </>\n  );\n};\n\nexport default React.memo(HelpLinkModalTrigger);\n","import React, {useContext, useEffect, useRef, useState} from 'react';\nimport {View, Text, Image, Platform, Pressable, Switch} from 'react-native';\nimport play_icon from '../../../assets/img/icons/play_icon.png';\nimport MainStyle from '../../../../MainStyle';\nimport Button from '../../../components/Button';\nimport {Landing, smgEnvironment} from '../../../constants';\nimport HelpLinkModalTrigger from '../../../modals/HelpLinksModal';\nimport {useSafeAreaInsets} from 'react-native-safe-area-context';\nimport {browser} from \"../../../utils\";\nimport {StoreContext} from \"../../../components/StoreContextProvider\";\nimport add_to_home from '../../../assets/img/icons/add_to_home.png';\nimport about_company from '../../../assets/img/icons/about_company_icon.png';\nimport Vimeo from '@vimeo/player';\nimport Div from \"../../../lib/Div\";\nimport kiosk_logo_RGB_1row from \"../../../assets/img/evenplay-logo-long.svg\";\nimport P from \"../../../lib/P\";\n\nconst smartphone_video = 'https://player.vimeo.com/video/846314975?h=5c6f773563&title=0&byline=0&portrait=0&controls=0';\n\ntype SplashScreenProps = { navigation: any };\n\nexport const SplashScreen = ({navigation}: SplashScreenProps) => {\n  const [installEvent, setInstallEvent] = useState<any>();\n  const insets = useSafeAreaInsets();\n  const Context = useContext(StoreContext);\n  const {cancelModalConfig, isTest} = Context;\n  const [isPlayingFullScreen, setIsPlayingFullScreen] = useState(false);\n  const player = useRef<Vimeo>();\n\n  const openAboutCompany = () => {\n    if (Platform.OS === 'web') window.open(Landing, '_self');\n    // if (Platform.OS === 'web') window.open(`${AboutLanding}/?env=${smgEnvironment}`, '_blank');\n  };\n\n  const isInstalled = () => {\n    if (Platform.OS !== 'web') return false;\n    return window.matchMedia('(display-mode: standalone)').matches;\n  };\n\n  const AddToHomeScreen = () => {\n    if (installEvent) {\n      installEvent?.prompt();\n\n    } else if (getMobileOperatingSystem() === 'iOS') {\n      Context.setCancelModalConfig({\n        visible: true, title: 'Add To Home Screen', titleColor: MainStyle.c_light_blue, leftBtnText: 'OK',\n        subtitle: 'Tap on the “Share” button on your browser',\n        secondary: 'Select “Add to Home Screen”',\n        onExit: () => {\n          Context.setCancelModalConfig({...cancelModalConfig, visible: false});\n        }\n      });\n\n    } else if (getMobileOperatingSystem() === 'Android') {\n      Context.setCancelModalConfig({\n        visible: true, title: 'Add To Home Screen', titleColor: MainStyle.c_light_blue, leftBtnText: 'OK',\n        subtitle: 'Tap on the menu button',\n        secondary: 'Select the option labeled \"Add to home screen\"',\n        onExit: () => {\n          Context.setCancelModalConfig({...cancelModalConfig, visible: false});\n        }\n      });\n    }\n  };\n\n  const getMobileOperatingSystem = () => {\n    if (Platform.OS !== 'web') return '';\n    const userAgent = navigator.userAgent || navigator.vendor;\n\n    // Windows Phone must come first because its UA also contains \"Android\"\n    if (/windows phone/i.test(userAgent)) return \"Windows Phone\";\n\n    if (/android/i.test(userAgent)) return \"Android\";\n\n    // iOS detection from: http://stackoverflow.com/a/9039885/177710\n    if (/iPad|iPhone|iPod/.test(userAgent)) return \"iOS\";\n\n    return \"unknown\";\n  };\n\n  const videoClick = () => {\n    navigation.reset({index: 0, routes: [{name: 'LoginWithPin'}]});\n\n    // if (Platform.OS === 'web') {\n    //   if (!isPlayingFullScreen) {\n    //     playVideo();\n    //     setIsPlayingFullScreen(true);\n    //\n    //   } else {\n    //     navigation.reset({index: 0, routes: [{name: 'LoginWithPin'}]});\n    //   }\n    // }\n  };\n\n  const playVideo = () => {\n    if (Platform.OS === 'web') player.current?.play();\n  };\n\n  useEffect(() => {\n    const iframe = document.querySelector('iframe');\n    let time: any;\n\n    if (iframe) {\n      setTimeout(() => {\n        player.current = new Vimeo(iframe);\n\n        player.current?.on('ended', () => {\n          player.current?.setCurrentTime(14);\n        });\n      }, 1500);\n    }\n\n    return () => {\n      if (iframe) player.current?.off('ended');\n      if (time) clearTimeout(time);\n    };\n  }, []);\n\n  useEffect(() => {\n    console.log('getMobileOperatingSystem=', getMobileOperatingSystem());\n    console.log('browser=', browser());\n\n    const listener = (ev: Event) => {\n      // Prevent the mini-infobar from appearing on mobile\n      ev.preventDefault();\n      // Stash the event so it can be triggered later.\n      setInstallEvent(ev);\n      console.log('saved the install event');\n      // Update UI notify the user they can install the PWA\n      // if you want here...\n    };\n\n    if (Platform.OS === 'web') {\n      window.addEventListener('beforeinstallprompt', listener);\n    }\n\n    return () => {\n      if (Platform.OS === 'web') {\n        window.removeEventListener('beforeinstallprompt', listener);\n      }\n    };\n  }, []);\n\n  return (\n    <>\n      {!isPlayingFullScreen && <HelpLinkModalTrigger page=\"splash\" position=\"absolute\" top={5} right={5}/>}\n\n      <Div flex={1} pt={insets.top}>\n        {!isPlayingFullScreen && (\n          <Div pt={24} pb={7}>\n            <View style={styles.header_s}>\n              <Div flexDir=\"column\" alignItems=\"center\">\n                {/*<Text style={[...styles.title_s, MainStyle.c_title_blue]}>PLAY GOLF.</Text>*/}\n                <Text style={[...styles.title_s, MainStyle.c_new_green_text]}>\n                  &nbsp;Tailored to your talent.&nbsp;\n                </Text>\n              </Div>\n              {/*<Text style={[...styles.title_s, MainStyle.c_white]}>IT’S THAT SIMPLE.</Text>*/}\n            </View>\n          </Div>\n        )}\n\n        <View style={[MainStyle.flex1, isPlayingFullScreen ? {} : MainStyle.p_x_27, MainStyle.relative]}>\n          <Image source={kiosk_logo_RGB_1row as any} style={MainStyle.flex1} resizeMode=\"center\"/>\n\n          {/*{Platform.OS === 'web' && (*/}\n          {/*  <iframe*/}\n          {/*    src={smartphone_video} width=\"100%\" height=\"100%\" allow=\"autoplay; fullscreen; picture-in-picture\"*/}\n          {/*    allowFullScreen style={{border: 0}}*/}\n          {/*  />*/}\n          {/*)}*/}\n\n          <Pressable\n            onPress={videoClick}\n            style={[MainStyle.absolute, MainStyle.t_0, MainStyle.r_0, MainStyle.b_0, MainStyle.l_0]}\n          />\n\n          {/*{!isPlayingFullScreen && (*/}\n          {/*  <Pressable onPress={videoClick} style={styles.play_btn}>*/}\n          {/*    <Image source={play_icon} style={[MainStyle.w_64, MainStyle.h_64]}/>*/}\n          {/*  </Pressable>*/}\n          {/*)}*/}\n        </View>\n\n        {!isPlayingFullScreen && (\n          <Div py={19}>\n            <Div w=\"100%\" maxW={1205} mx=\"auto\" position=\"relative\" row justifyContent=\"space-between\">\n              <Div w={53} ml={10}>\n                <Pressable style={MainStyle.a_i_c} onPress={openAboutCompany}>\n                  <Image source={about_company} style={[MainStyle.w_20, MainStyle.h_20, MainStyle.m_b_6]}/>\n                  <Text style={styles.btn_text}>About the Company</Text>\n                </Pressable>\n              </Div>\n\n              <Div flexDir=\"column\">\n                <Button\n                  text=\"SIGN UP/IN\" onPress={() => navigation.reset({index: 0, routes: [{name: 'LoginWithPin'}]})}\n                  w={180} h={24} fontSize={16} fontFamily=\"Barlow-Bold\" style={styles.btn_shadow}\n                />\n\n                <Div w={30} h={10}/>\n\n                <Button\n                  text=\"BOOK NOW\" w={180} h={24} fontSize={16}\n                  onPress={() => {\n                    if (Platform.OS === 'web') window.open(Landing, '_self');\n                  }}\n                  fontFamily=\"Barlow-Bold\" style={styles.btn_shadow}\n                />\n              </Div>\n\n              <Div w={53} mr={10}>\n                {!isInstalled() && (getMobileOperatingSystem() === 'Android' || getMobileOperatingSystem() === 'iOS') && (\n                  <Pressable style={MainStyle.a_i_c} onPress={AddToHomeScreen}>\n                    <Image source={add_to_home} style={[MainStyle.w_20, MainStyle.h_20, MainStyle.m_b_6]}/>\n                    <Text style={styles.btn_text}>add to Home Screen</Text>\n                  </Pressable>\n                )}\n              </Div>\n            </Div>\n          </Div>\n        )}\n      </Div>\n\n      {(smgEnvironment === 'external' || smgEnvironment === 'test') && (\n        <Pressable style={[MainStyle.absolute, MainStyle.t_35, MainStyle.l_5, MainStyle.row, MainStyle.a_i_c]}\n                   onPress={() => Context.setIsTest(!isTest)}>\n          <P fw=\"600\" fs={10} mr={7}>Test</P>\n\n          <Switch\n            trackColor={{false: '#767577', true: '#81b0ff'}}\n            thumbColor={isTest ? '#f5dd4b' : '#f4f3f4'}\n            ios_backgroundColor=\"#3e3e3e\" value={isTest}\n            onValueChange={() => Context.setIsTest(!isTest)}\n          />\n        </Pressable>\n      )}\n\n      {smgEnvironment !== 'prod' && (\n        <Text style={[MainStyle.absolute, MainStyle.t_9, MainStyle.l_15, MainStyle.c_gray]}>\n          {smgEnvironment}\n        </Text>\n      )}\n    </>\n  );\n};\n\nconst styles = {\n  header_s: [MainStyle.a_i_c, MainStyle.m_y_6],\n  title_s: [MainStyle.f_s_20, MainStyle.italic, MainStyle.f_w_800],\n  btn_text: [\n    MainStyle.Barlow700, MainStyle.f_s_10, MainStyle.l_h_12, MainStyle.t_t_u, MainStyle.c_white, MainStyle.t_a_c\n  ],\n  play_btn: [MainStyle.t_50_percent, MainStyle.l_50_percent, MainStyle.absolute, MainStyle.m_t__32, MainStyle.m_l__32],\n  btn_shadow: {\n    \"shadowOffset\": {\"width\": 0, \"height\": 4},\n    \"shadowRadius\": 4,\n    \"shadowColor\": \"rgba(0, 0, 0, 0.25)\",\n    \"shadowOpacity\": 1\n  }\n};\n","import React, {useEffect, useRef, useState} from \"react\";\nimport {\n  View, TextInput, StyleProp, ViewStyle, Platform, Pressable, NativeSyntheticEvent, TextInputFocusEventData, TextStyle,\n  ColorValue\n} from \"react-native\";\nimport MainStyle from \"../../MainStyle\";\nimport Ionicons from '@expo/vector-icons/Ionicons';\nimport {toCapitalize} from \"../utils\";\n\n// @ts-ignore\nimport NumericInput from \"@wwdrew/react-native-numeric-textinput\";\nimport {outline_0} from \"../constants\";\nimport {colors} from \"../assets/styles/colors\";\nimport Div from \"../lib/Div\";\nimport P from \"../lib/P\";\n\ntype Props = {\n  style?: StyleProp<ViewStyle>, placeholder?: string, label?: string, type?: 'numeric' | 'email-address',\n  secureTextEntry?: boolean, helperText?: string, value?: string, onChangeText?: ((text: string) => void),\n  onBlur?: ((e: NativeSyntheticEvent<TextInputFocusEventData>) => void), error?: string | boolean | null,\n  autoFocus?: boolean, editable?: boolean, dollarMask?: boolean, labelStyle?: StyleProp<TextStyle>,\n  inputStyles?: StyleProp<TextStyle>, decimalPlaces?: number, useGrouping?: boolean, onFocusScroll?: boolean,\n  mb?: string | number, w?: string | number, textAlign?: 'auto' | 'left' | 'right' | 'center' | 'justify',\n  showErrorMessage?: boolean, placeholderTextColor?: string, selection?: { start: number; end?: number | undefined },\n  mx?: string | number, h?: string | number, rounded?: number, borderColor?: ColorValue, bg?: ColorValue, fs?: number,\n  px?: number | string, color?: ColorValue\n};\n\nconst Input = (props: Props) => {\n  const {style, placeholder, label, type, secureTextEntry, helperText, value, error, autoFocus, mb, editable} = props;\n  const {labelStyle, inputStyles, dollarMask, decimalPlaces, useGrouping, onFocusScroll, w, textAlign, px} = props;\n  const {showErrorMessage = true, placeholderTextColor, selection, mx, h, rounded, borderColor, bg, fs, color} = props;\n  let wrapStyle: StyleProp<ViewStyle> = [MainStyle.relative];\n  const [secureText, setSecureText] = useState(secureTextEntry);\n  let inputStyle: StyleProp<TextStyle> = [\n    outline_0, MainStyle.b_r_200, MainStyle.b_w_1, MainStyle.b_c_settings_border, MainStyle.bg_loading_login,\n    MainStyle.h_66, MainStyle.p_x_32, MainStyle.c_white, MainStyle.Barlow500, MainStyle.f_s_24\n  ];\n  const wrapRef = useRef<any>();\n  const secureTextStyle: any = (secureText && Platform.OS === 'web') ? {WebkitTextSecurity: 'disc'} : {};\n\n  if (style) {\n    if (Array.isArray(style)) wrapStyle = [...wrapStyle, ...style];\n    else wrapStyle.push(style);\n  }\n\n  if (mb) wrapStyle.push({marginBottom: mb});\n  if (mx) wrapStyle.push({marginHorizontal: mx});\n  if (w) wrapStyle.push({width: w});\n  if (textAlign) inputStyle.push({textAlign});\n  if (h) inputStyle.push({height: h});\n  if (rounded) inputStyle.push({borderRadius: rounded});\n  if (borderColor) inputStyle.push({borderColor});\n  if (bg) inputStyle.push({backgroundColor: bg});\n  if (fs) inputStyle.push({fontSize: fs});\n  if (px) inputStyle.push({paddingHorizontal: px});\n  if (color) inputStyle.push({color});\n\n  const onTouchStart = () => {\n    if (Platform.OS === 'web') {\n      const {maxTouchPoints, platform} = window.navigator;\n\n      if (maxTouchPoints && platform === 'Win32' && onFocusScroll) {\n        wrapRef.current?.scrollIntoView({behavior: 'instant', block: 'center', inline: 'center'});\n      }\n    }\n  };\n\n  useEffect(() => {\n    if (Platform.OS === 'web') {\n      const {maxTouchPoints, platform} = window.navigator;\n\n      if ((dollarMask || secureTextEntry) && maxTouchPoints && platform === 'Win32') {\n        wrapRef.current.querySelector('input').setAttribute('type', 'tel');\n      }\n    }\n  }, []);\n\n  return (\n    <View style={wrapStyle}>\n      {(label || helperText) && (\n        <Div row px={9} mb={3} position=\"relative\">\n          {label && <P ta=\"center\" fw=\"500\" fs={14} lh={18} flex={1} opacity={0.5} style={labelStyle}>{label}</P>}\n          {helperText ? <P flex={1} ta=\"right\" fw=\"500\" fs={12}>{helperText}</P> : null}\n        </Div>\n      )}\n\n      <View style={MainStyle.relative} ref={ref => wrapRef.current = ref} onTouchStart={onTouchStart}>\n        {dollarMask ? (\n          <NumericInput\n            value={value} style={[inputStyle, inputStyles, secureTextStyle, error && MainStyle.b_c_warn]}\n            onUpdate={(val: any) => {\n              if (props.onChangeText) props.onChangeText(`${val || ''}`);\n            }}\n            placeholder={placeholder} placeholderTextColor={placeholderTextColor || colors.gray}\n            decimalPlaces={decimalPlaces || 0} secureTextEntry={Platform.OS !== 'web' && secureText}\n            onBlur={props.onBlur} autoFocus={autoFocus} editable={editable} useGrouping={!!useGrouping}\n          />\n        ) : (\n          <TextInput\n            placeholder={placeholder} style={[inputStyle, inputStyles, secureTextStyle, error && MainStyle.b_c_warn]}\n            placeholderTextColor={placeholderTextColor || colors.gray} keyboardType={type} secureTextEntry={secureText}\n            value={value} onChangeText={props.onChangeText} onBlur={props.onBlur} autoFocus={autoFocus}\n            editable={editable} selection={selection}\n          />\n        )}\n\n        {typeof secureText === 'boolean' && (\n          <Div position=\"absolute\" bottom={1} top={1} right={1} row bg=\"transparent\">\n            <Pressable style={styles.icon_s} onPress={() => props.onChangeText?.('')}>\n              <Ionicons name=\"close\" size={16} color={colors.iconColor}/>\n            </Pressable>\n\n            <Pressable style={styles.icon_s} onPress={() => setSecureText(!secureText)}>\n              <Ionicons name={secureText ? 'eye-off-outline' : 'eye-outline'} size={16} color={colors.iconColor}/>\n            </Pressable>\n          </Div>\n        )}\n      </View>\n\n      {showErrorMessage && (\n        <Div position=\"absolute\" bottom={-14} w=\"100%\">\n          {error && (\n            <P flex={1} ta=\"center\" fw=\"500\" fs={12} color={colors.newDangerText}>{toCapitalize(error as string)}</P>\n          )}\n        </Div>\n      )}\n    </View>\n  );\n};\n\nconst styles = {\n  icon_s: [MainStyle.h_40, MainStyle.w_40, MainStyle.a_i_c, MainStyle.j_c_c]\n};\n\nexport default React.memo(Input);\n","import React, {useEffect, useState} from 'react';\nimport {Image, Modal} from 'react-native';\nimport Button from '../components/Button';\nimport {useNavigation} from '@react-navigation/native';\nimport MainStyle from \"../../MainStyle\";\nimport bg from \"../assets/img/Group 2494.png\";\nimport Div from \"../lib/Div\";\nimport {colors} from \"../assets/styles/colors\";\nimport P from \"../lib/P\";\n\ntype Props = { visible: boolean, onClose: () => void, email: string };\n\nconst EmailNotExistModal = (props: Props) => {\n  const {visible, email} = props;\n  const navigation: any = useNavigation();\n  const [bgColor, setBgColor] = useState('transparent');\n\n  const createNewAccount = () => {\n    props.onClose();\n    navigation.navigate({name: 'Register', params: {email}});\n  };\n\n  useEffect(() => {\n    if (visible) {\n      setTimeout(() => {\n        setBgColor(colors.popupDropBg);\n      }, 400);\n\n    } else {\n      setBgColor('transparent');\n    }\n  }, [visible]);\n\n  return (\n    <Modal animationType=\"slide\" transparent visible={visible} onRequestClose={props.onClose}>\n      <Div flex={1} zIndex={2} bg={bgColor}>\n        <Div flex={1}/>\n\n        <Div w=\"100%\" maxW={430} mx=\"auto\" position=\"relative\" bg={colors.loading_login} borderHorizontalWidth={1}\n             borderColor={colors.settings_border}>\n          <Image source={bg as any} style={styles.image} resizeMode=\"center\"/>\n\n          <P ta=\"center\" fw=\"500\" mb={22}>{`You do not have an account with this\\nemail address.`}</P>\n\n          <P ta=\"center\" fs={18} fw=\"700\" mb={27}>Do you want to create a new account?</P>\n\n          <Div px={18} mb={60} column>\n            <Button text=\"Create a New Account\" onPress={createNewAccount} w=\"100%\" mb={20}/>\n\n            <Button\n              text=\"Re-Enter Email\" onPress={props.onClose} w=\"100%\" bg=\"transparent\" color=\"white\"\n              borderWidth={1} borderColor=\"white\"\n            />\n          </Div>\n        </Div>\n      </Div>\n    </Modal>\n  );\n};\n\nconst styles = {\n  image: [MainStyle.h_368, MainStyle.absolute, MainStyle.t__70, MainStyle.z_i__1, MainStyle.l__1, MainStyle.r__1]\n};\n\nexport default React.memo(EmailNotExistModal);\n","import React, {useRef} from \"react\";\nimport {TextInput} from \"react-native\";\nimport MainStyle from \"../../MainStyle\";\nimport {outline_0} from \"../constants\";\nimport Div from \"../lib/Div\";\n\ntype Props = { onChange: (text: string) => void };\n\nconst CodeVerificationInput = (props: Props) => {\n  const input0 = useRef<TextInput>(null);\n  const input1 = useRef<TextInput>(null);\n  const input2 = useRef<TextInput>(null);\n  const input3 = useRef<TextInput>(null);\n  const input4 = useRef<TextInput>(null);\n  const input5 = useRef<TextInput>(null);\n  const inputs = [input0, input1, input2, input3, input4, input5];\n  const lastIndex = inputs.length - 1;\n\n  const onChange = () => {\n    let val = '';\n\n    inputs.forEach(el => {\n      const input: any = el.current;\n      val += input.value;\n    });\n\n    props.onChange(val);\n  };\n\n  const onChangeText = (index: number) => (val: string) => {\n    const text = val.slice(0, inputs.length);\n\n    if (text.length > 1) {\n      if (index === lastIndex) {\n        const input: any = inputs[lastIndex].current;\n        input.value = text[text.length - 1];\n\n      } else {\n        inputs.forEach((el, i) => {\n          const input: any = el.current;\n          input.focus();\n          input.value = text[i] || '';\n        });\n      }\n\n    } else if (text.length === 1) {\n      if (index < lastIndex) {\n        inputs[index + 1].current?.focus();\n      }\n    }\n\n    onChange();\n  };\n\n  const handleBackspace = (i: number) => {\n    const input: any = inputs[i].current;\n\n    if (input.value) {\n      input.value = '';\n      onChange();\n      return;\n    }\n\n    if (i) inputs[i - 1].current?.focus();\n  };\n\n  const handleKeydown = (i: number) => (e: any) => {\n    switch (e.code) {\n      case 'Backspace':\n        handleBackspace(i);\n        break;\n      case 'ArrowLeft':\n        if (i) inputs[i - 1].current?.focus();\n        break;\n      case 'ArrowRight':\n        if (i < lastIndex) inputs[i + 1].current?.focus();\n        break;\n      default:\n    }\n  };\n\n  const onFocus = (index: number) => () => {\n    const input: any = inputs[index].current;\n    input.value = '';\n  };\n\n  return (\n    <Div row justifyContent=\"center\" mb={30}>\n      {inputs.map((input, i) => (\n        <TextInput\n          key={i} ref={input} style={styles.item} keyboardType=\"phone-pad\" autoFocus={!i} selectTextOnFocus\n          onKeyPress={handleKeydown(i)} onChangeText={onChangeText(i)} onFocus={onFocus(i)}\n        />\n      ))}\n    </Div>\n  );\n};\n\nconst styles = {\n  item: [\n    MainStyle.full_w, MainStyle.max_w_59, MainStyle.h_59, MainStyle.b_r_14, MainStyle.b_w_1,\n    MainStyle.b_c_settings_border, MainStyle.bg_new_input_color, MainStyle.c_lightblue, outline_0, MainStyle.t_a_c,\n    MainStyle.f_s_18, MainStyle.m_x_3\n  ]\n};\n\nexport default React.memo(CodeVerificationInput);\n","import React, {useContext, useEffect, useState} from 'react';\nimport {Modal, Image} from 'react-native';\nimport Button from '../components/Button';\nimport CodeVerificationInput from '../components/CodeVerificationInput';\nimport ServiceClient from \"../utils/ServiceClient\";\nimport {StoreContext} from \"../components/StoreContextProvider\";\nimport MainStyle from \"../../MainStyle\";\nimport bg from '../assets/img/Group 2494.png';\nimport Div from \"../lib/Div\";\nimport {colors} from \"../assets/styles/colors\";\nimport P from \"../lib/P\";\n\ntype Props = {\n  visible: boolean, setVisible: (code?: string) => void, email: string, phone?: string, goBackBtn?: boolean,\n  onSuccess: (email: string) => void, isLoginPage?: boolean\n};\n\nconst OtpModal = (props: Props) => {\n  const {visible, email, phone, goBackBtn, isLoginPage} = props;\n  const [code, setCode] = useState('');\n  const [errorMessage, setErrorMessage] = useState('');\n  const Context = useContext(StoreContext);\n  const [isCodeWasResend, setIsCodeWasResend] = useState(false);\n  const [bgColor, setBgColor] = useState('transparent');\n\n  const otpLogin = () => {\n    Context.setLoadingOverlay(true);\n\n    Context.otpLogin(email, code).then(() => {\n      Context.setLoadingOverlay(false);\n      props.setVisible();\n      props.onSuccess(email);\n\n    }).catch((err) => {\n      Context.setLoadingOverlay(false);\n      console.log('otpLogin err', err);\n\n      if (err.code === 10010008 && err.message === 'User login rejected') {\n        setErrorMessage('Your email is not associated with a Player Account. Please create an account or edit login details.');\n\n      } else if (err.code === 10010009 && err.message === 'User login rejected') {\n        setErrorMessage('The Pin Code entered does not match your User Account. Please re-enter or select the “Forgot Password” button to reset.');\n\n      } else if (err?.message) {\n        setErrorMessage(err.message);\n      }\n    });\n  };\n\n  const requestOtpCode = () => {\n    Context.setLoadingOverlay(true);\n    const payload = phone ? {phone} : {email};\n\n    ServiceClient.requestOtpCode(payload).then(() => {\n      Context.setLoadingOverlay(false);\n      setIsCodeWasResend(true);\n\n    }).catch(err => {\n      console.log('requestOtpCode err', err);\n      Context.setLoadingOverlay(false);\n\n      if (err && err.message) setErrorMessage(err.message || 'Code expired or incorrect');\n    });\n  };\n\n  const verifyOtpCode = () => {\n    Context.setLoadingOverlay(true);\n\n    ServiceClient.verifyOtpCode(code, email, phone).then(codeIsCorrect => {\n      Context.setLoadingOverlay(false);\n\n      if (codeIsCorrect) props.setVisible(code);\n      else setErrorMessage('Code expired or incorrect');\n\n    }).catch(err => {\n      Context.setLoadingOverlay(false);\n      console.log('verifyOtpCode err', err);\n      if (err && err.message) setErrorMessage(err.message || 'Code expired or incorrect');\n    });\n  };\n\n  const submit = () => {\n    if (isLoginPage) otpLogin();\n    else verifyOtpCode();\n  };\n\n  useEffect(() => {\n    if (visible) {\n      setTimeout(() => {\n        setBgColor(colors.popupDropBg);\n      }, 400);\n\n    } else {\n      setBgColor('transparent');\n    }\n  }, [visible]);\n\n  useEffect(() => {\n    if (isCodeWasResend) {\n      setTimeout(() => {\n        setIsCodeWasResend(false);\n      }, 3000);\n    }\n  }, [isCodeWasResend]);\n\n  useEffect(() => {\n    if (errorMessage) setErrorMessage('');\n  }, [code]);\n\n  return (\n    <Modal animationType=\"slide\" transparent visible={visible} onRequestClose={() => props.setVisible()}>\n      <Div flex={1} zIndex={2} bg={bgColor}>\n        <Div flex={1}/>\n\n        <Div w=\"100%\" maxW={430} mx=\"auto\" position=\"relative\" bg={colors.loading_login} borderHorizontalWidth={1}\n             borderColor={colors.settings_border}>\n          <Image source={bg as any} style={styles.image} resizeMode=\"center\"/>\n\n          <P ta=\"center\" fs={18} fw=\"500\" mb={16}>{`We've sent you a code to your phone\\nfor verification.`}</P>\n\n          {!!errorMessage ? (\n            <P ta=\"center\" fs={18} fw=\"700\" mb={24} color={colors.newDangerText}>{errorMessage}</P>\n          ) : isCodeWasResend ? (\n            <P ta=\"center\" fs={18} fw=\"700\" mb={24} color={colors.darkYellow}>Code was resent</P>\n          ) : (\n            <P ta=\"center\" fs={18} fw=\"700\" mb={24}>Please enter the code below:</P>\n          )}\n\n          <CodeVerificationInput onChange={val => setCode(val)}/>\n\n          <Div px={18} mb={20}>\n            <Button text=\"Submit\" onPress={submit} w=\"100%\"/>\n          </Div>\n\n          <Div px={20} row mb={60}>\n            <Button\n              text=\"Resend Code\" bg=\"transparent\" borderWidth={1} borderColor=\"white\" onPress={requestOtpCode}\n              style={MainStyle.flex1} color=\"white\"\n            />\n\n            {goBackBtn && (\n              <>\n                <Div w={10}/>\n                <Button\n                  text=\"Back\" bg=\"transparent\" borderWidth={1} borderColor=\"white\" style={MainStyle.flex1}\n                  onPress={() => props.setVisible()} color=\"white\"\n                />\n              </>\n            )}\n          </Div>\n        </Div>\n      </Div>\n    </Modal>\n  );\n};\n\nconst styles = {\n  image: [MainStyle.h_368, MainStyle.absolute, MainStyle.t__70, MainStyle.z_i__1, MainStyle.l__1, MainStyle.r__1]\n};\n\nexport default React.memo(OtpModal);\n","import React, {useContext, useState} from 'react';\nimport {Image, Platform, ScrollView, Pressable, ImageBackground} from 'react-native';\nimport * as Yup from 'yup';\nimport Button from '../components/Button';\nimport Input from '../components/Input';\nimport MainStyle from '../../MainStyle';\nimport {StoreContext} from '../components/StoreContextProvider';\nimport kiosk_logo_RGB_1row from '../assets/img/evenplay-logo-long.svg';\nimport {useFormik} from 'formik';\nimport {LANDING_PAGE_URL} from \"../constants\";\nimport HelpLinkModalTrigger from '../modals/HelpLinksModal';\nimport ServiceClient from \"../utils/ServiceClient\";\nimport EmailNotExistModal from \"../modals/EmailNotExistModal\";\nimport OtpModal from \"../modals/OtpModal\";\nimport bg from '../assets/img/loading page.png';\nimport {useNavigation} from \"@react-navigation/native\";\nimport {colors} from \"../assets/styles/colors\";\nimport Div from \"../lib/Div\";\nimport P from \"../lib/P\";\n\ntype Props = { onSuccessLogin?: () => void };\n\nconst LoginWithPin = (props: Props) => {\n  const [showEmailNotExistDialog, setShowEmailNotExistDialog] = useState(false);\n  const Context = useContext(StoreContext);\n  const {cancelModalConfig} = Context;\n  const [phoneVerificationDialog, setPhoneVerificationDialog] = useState(false);\n  const formik = useFormik({\n    initialValues: {email: ''}, validationSchema: Yup.object({email: Yup.string().email().required()}),\n    onSubmit: (values) => {\n      checkUserEmailExists(values.email);\n    }\n  });\n  const navigation: any = useNavigation();\n\n  const errorModalClose = () => {\n    Context.setCancelModalConfig({...cancelModalConfig, visible: false});\n  };\n\n  const checkUserEmailExists = (email: string) => {\n    Context.setLoadingOverlay(true);\n\n    ServiceClient.checkUserEmailExists(email).then(isExists => {\n      if (isExists) {\n        requestOtpCode(email);\n\n      } else {\n        Context.setLoadingOverlay(false);\n        setShowEmailNotExistDialog(true);\n      }\n\n    }).catch(err => {\n      console.log('checkUserEmailExists err', err);\n      Context.setLoadingOverlay(false);\n\n      Context.setCancelModalConfig({\n        visible: true, title: 'Error', subtitle: err.message, rightBtnText: 'OK',\n        onResume: errorModalClose\n      });\n    });\n  };\n\n  const requestOtpCode = (email: string) => {\n    ServiceClient.requestOtpCode({email}).then(() => {\n      Context.setLoadingOverlay(false);\n      setPhoneVerificationDialog(true);\n\n    }).catch(err => {\n      console.log('requestOtpCode err', err);\n      Context.setLoadingOverlay(false);\n\n      Context.setCancelModalConfig({\n        visible: true, title: 'Error', subtitle: err.message, rightBtnText: 'OK',\n        onResume: errorModalClose\n      });\n    });\n  };\n\n  const goBack = () => {\n    // navigation.reset({index: 0, routes: [{name: 'Splash'}]});\n    if (Platform.OS === 'web') window.open(LANDING_PAGE_URL, '_self');\n  };\n\n  const getFieldError = (key: string): boolean | string | undefined => {\n    return formik.touched[key as keyof typeof formik.touched] && formik.errors[key as keyof typeof formik.errors];\n  };\n\n  return (\n    <Div bg={colors.loading_login} flex={1}>\n      <ImageBackground source={bg} style={MainStyle.flex1} imageStyle={{opacity: 0.8}}>\n        <HelpLinkModalTrigger position=\"absolute\" top={5} right={5}/>\n\n        <ScrollView contentContainerStyle={[MainStyle.full_h, MainStyle.full_w]}>\n          <Pressable style={[MainStyle.m_t_7, MainStyle.m_x_auto, MainStyle.m_b_125]} onPress={goBack}>\n            <Image source={kiosk_logo_RGB_1row as any} style={[MainStyle.h_46, MainStyle.w_176]}/>\n          </Pressable>\n\n          <Div flex={1} alignItems=\"center\">\n            <P fw=\"500\" fs={30} lh={24} mb={59}>Create Account or Sign In</P>\n\n            <Input\n              w={390} placeholder=\"Enter Email\" label=\"EMAIL ADDRESS\" type=\"email-address\"\n              value={formik.values.email} onChangeText={formik.handleChange('email')}\n              onBlur={formik.handleBlur('email')} error={getFieldError('email')}\n            />\n          </Div>\n\n          <P fw=\"500\" ta=\"center\" mb={46}>\n            <P color={colors.newGreenText} onPress={() => navigation.navigate('TermsAndConditions')}>Terms and\n              Conditions</P> and <P color={colors.newGreenText} onPress={() => navigation.navigate('PrivacyPolicy')}>Privacy\n            Policy</P>\n          </P>\n\n          <Button text=\"Let's Go!\" onPress={() => formik.handleSubmit()} w={389} mb={86} mx=\"auto\"/>\n        </ScrollView>\n\n        <EmailNotExistModal\n          visible={showEmailNotExistDialog} onClose={() => setShowEmailNotExistDialog(false)}\n          email={formik.values.email}\n        />\n\n        <OtpModal\n          visible={phoneVerificationDialog} setVisible={() => setPhoneVerificationDialog(false)} isLoginPage\n          email={formik.values.email}\n          onSuccess={() => {\n            if (props.onSuccessLogin) props.onSuccessLogin();\n            else navigation.reset({index: 0, routes: [{name: 'challenges'}]});\n          }}\n        />\n      </ImageBackground>\n    </Div>\n  );\n};\n\nexport default LoginWithPin;\n","import React, {useContext, useState} from 'react';\nimport {View, Modal, LayoutChangeEvent, ScrollView, Platform} from 'react-native';\nimport MainStyle from '../../../../../../MainStyle';\nimport Button from '../../../../../components/Button';\nimport {StoreContext} from \"../../../../../components/StoreContextProvider\";\nimport {colors} from \"../../../../../assets/styles/colors\";\nimport {browser} from \"../../../../../utils\";\nimport Div from \"../../../../../lib/Div\";\nimport P from \"../../../../../lib/P\";\n\nconst Internet_connection_issues_message = 'Internet connection issues detected. Please reload the page.';\nconst Location_is_turned_offSm = `1. If you selected \"Don't Allow\", reload your website. You'll be prompted to Allow Location Access again.\nSelect \"Allow\".\n\n2. If you didn't see a pop-up, follow the instructions on this link:\n`;\n\nconst CancelModal = () => {\n  const Context = useContext(StoreContext);\n  const {cancelModalConfig, onLine} = Context;\n  const {visible, title, subtitle, secondary, leftBtnText, rightBtnText, titleColor, cancelGray} = cancelModalConfig;\n  const {leftBtnBackgroundColor, leftBtnFontSize, rightBtnFontSize, rightBtnBackgroundColor} = cancelModalConfig;\n  const {rightBtnBorderColor, rightBtnBorderWidth, rightBtnColor} = cancelModalConfig;\n  const [containerHeight, setContainerHeight] = useState(164);\n\n  const renderSecondary = () => {\n    if (subtitle === 'Permission to access the location was denied.') return 'Note: You can still access your account.';\n    else return secondary;\n  };\n\n  const renderTitle = () => {\n    if (subtitle === 'Permission to access the location was denied.') return 'TURN ON LOCATION ACCESS';\n    else return title;\n  };\n\n  const renderSubtitle = () => {\n    if (subtitle === 'Permission to access the location was denied.') return Location_is_turned_offSm;\n    else return subtitle;\n  };\n\n  if (Platform.OS === 'web' && visible && !onLine && subtitle !== Internet_connection_issues_message) {\n    Context.setCancelModalConfig({\n      visible: true, title: 'ERROR', leftBtnText: 'OK', subtitle: Internet_connection_issues_message,\n      onExit: () => {\n        Context.setCancelModalConfig({\n          ...cancelModalConfig, subtitle: Internet_connection_issues_message, visible: false\n        });\n      }\n    });\n  }\n\n  const enablingLocationGuide = () => {\n    if (Platform.OS === 'web' && subtitle === 'Permission to access the location was denied.') {\n      return `https://www.google.com/search?q=how+do+I+turn+on+location+for+a+website+in+${browser()}`;\n    }\n  };\n\n  const onLayout = (event: LayoutChangeEvent) => {\n    const {height} = event.nativeEvent.layout;\n    setContainerHeight(height);\n  };\n\n  return (\n    <Modal animationType=\"fade\" transparent visible={!!visible} statusBarTranslucent={false}\n           hardwareAccelerated={false} onRequestClose={cancelModalConfig.onResume}>\n      <Div h=\"100%\" w=\"100%\" bg={colors.modalBg} style={MainStyle.fix_gradient_and_modal_error_in_landscape}>\n        <ScrollView contentContainerStyle={[MainStyle.full_h, MainStyle.full_w, MainStyle.a_i_c, MainStyle.j_c_c]}>\n          <Div mx={16} maxW={328} bg={colors.bottomTabBg} minH={164} borderWidth={1} borderColor={colors.popupBorder}\n               rounded={4} py={23} px={16} position=\"relative\" w=\"100%\" onLayout={onLayout}>\n            <P color={colors.newDangerText} fw=\"700\" fs={20} lh={27} ta=\"center\" mb={22} style={titleColor}>\n              {renderTitle()}\n            </P>\n\n            <P lh={19} ta=\"center\">{renderSubtitle()}</P>\n\n            {enablingLocationGuide() && (\n              <P lh={19} ta=\"center\" my={10} color={colors.newLightBlue}\n                 onPress={() => window.open(enablingLocationGuide(), '_blank')}>\n                How To Enable Location\n              </P>\n            )}\n\n            {!!renderSecondary() && <P lh={19} ta=\"center\">{renderSecondary()}</P>}\n\n            {(leftBtnText || rightBtnText) ? (\n              <Div position=\"absolute\" left=\"0\" right=\"0\" alignItems=\"center\" top={containerHeight + 60}>\n                <View>\n                  {(!!cancelModalConfig.onExit && leftBtnText) && (\n                    <Button\n                      h={63} w={244} text={leftBtnText} onPress={cancelModalConfig.onExit} mb={16}\n                      bg={leftBtnBackgroundColor} fontSize={leftBtnFontSize}\n                    />\n                  )}\n\n                  <Div mb={27} h={40}>\n                    {(!!cancelModalConfig.onResume && rightBtnText) && (\n                      <Button\n                        text={rightBtnText} onPress={cancelModalConfig.onResume} w={244} h={63}\n                        fontSize={rightBtnFontSize} bg={rightBtnBackgroundColor} borderColor={rightBtnBorderColor}\n                        borderWidth={rightBtnBorderWidth} color={rightBtnColor}\n                      />\n                    )}\n                  </Div>\n                </View>\n\n                <Div h={22}>\n                  {(!!cancelModalConfig.onResume && rightBtnText && !!cancelModalConfig.onClose) && (\n                    <Button\n                      text=\"CANCEL\" onPress={cancelModalConfig.onClose} w={244} h={63} bg=\"transparent\"\n                      borderColor={cancelGray ? 'gray' : colors.popupDangerPrimary} borderWidth={1}\n                      textStyle={[cancelGray ? MainStyle.c_gray : MainStyle.c_warn]}\n                    />\n                  )}\n                </Div>\n              </Div>\n            ) : (\n              <Div position=\"absolute\" left=\"0\" right=\"0\" alignItems=\"center\" top={containerHeight + 110}>\n                <Div alignItems=\"center\" row w={244}>\n                  {!!cancelModalConfig.onExit && (\n                    <Button text=\"Yes\" onPress={cancelModalConfig.onExit} style={MainStyle.flex1}/>\n                  )}\n\n                  <Div w={8}/>\n\n                  {!!cancelModalConfig.onResume && (\n                    <Button text=\"No\" onPress={cancelModalConfig.onResume} style={MainStyle.flex1}/>\n                  )}\n                </Div>\n              </Div>\n            )}\n          </Div>\n        </ScrollView>\n      </Div>\n    </Modal>\n  );\n};\n\nexport default React.memo(CancelModal);\n","import React from \"react\";\nimport Spinner from \"react-native-loading-spinner-overlay\";\n\ntype Props = { visible?: boolean };\n\nconst Loader = (props: Props) => {\n  const {visible} = props;\n\n  return (\n    <Spinner visible={visible} overlayColor=\"rgba(0, 0, 0, 0.6)\"/>\n  );\n};\n\nexport default React.memo(Loader);\n","import React, {useContext} from \"react\";\nimport {Text, View, Image} from \"react-native\";\nimport MainStyle from \"../../MainStyle\";\nimport location from \"../assets/img/icons/map-pin-range-line 1.svg\";\nimport {Challenge, Golf2Challenge} from \"../../generated/smg_service_pb\";\nimport {setContestFrameImage, setPointConfig} from \"../utils\";\nimport liveChallengeIndicationGraphics from \"../assets/img/live-challange-indication-grapics.png\";\nimport {Entypo} from '@expo/vector-icons';\nimport {StoreContext} from \"./StoreContextProvider\";\nimport Div from \"../lib/Div\";\nimport {colors} from \"../assets/styles/colors\";\n\ntype Props = {\n  betType: string, type: 'open' | 'accepted', onArrowForwardPress: () => void, challengeId: number,\n  golf2challengesList: Golf2Challenge.AsObject[], largestDistanceChallenge?: Challenge.AsObject\n};\n\nconst ContestFrame = (props: Props) => {\n  const {betType, type, golf2challengesList, challengeId, largestDistanceChallenge} = props;\n  const source = setContestFrameImage(betType, type, golf2challengesList.find(el => el.outcome === 'unresolved'));\n  const Context = useContext(StoreContext);\n  const {extendedUserData} = Context;\n\n  const renderPoint = () => {\n    if (golf2challengesList.length) {\n      const find = golf2challengesList.find(el => type === 'open' ? el.challengeId === challengeId : el.outcome === 'unresolved');\n\n      if (find) {\n        const config = setPointConfig(find, type);\n        const {lvl, text, top, left, icon, iconTop, iconLeft, Styles} = config;\n        const iconStyle = [\n          MainStyle.absolute, {height: Styles.iconH, width: Styles.iconW, top: iconTop, left: iconLeft}\n        ];\n\n        return (\n          <>\n            <Image source={icon} style={iconStyle}/>\n\n            <Div position=\"absolute\" w={100} top={top} left={left}>\n              <Text style={Styles.distance}>{find.gamedetails?.hole?.distance} yds</Text>\n              <Text style={Styles.text}>{lvl}</Text>\n              <Text style={Styles.text}>{text}</Text>\n            </Div>\n          </>\n        );\n\n      } else return null;\n\n    } else if (betType === 'paytable') {\n      const distance = largestDistanceChallenge ? largestDistanceChallenge.value1 / 36 : 0;\n\n      return (\n        <Div position=\"absolute\" w={85} top={11} left={168}>\n          <Text style={[...styles.distance, styles.shadow]}>{distance} yds</Text>\n          <Entypo name=\"triangle-down\" size={14} color=\"white\" style={[MainStyle.m_x_auto, styles.shadow]}/>\n        </Div>\n      );\n\n    } else return null;\n  };\n\n  return (\n    <Div h={187} rounded={20} position=\"relative\" overflow=\"hidden\" mb={10} bg={colors.placeholder}>\n      <Image\n        source={type === 'open' ? source : liveChallengeIndicationGraphics}\n        style={[MainStyle.h_240, MainStyle.rm_cover]}\n      />\n\n      <Div position=\"absolute\" top={8} left={7} row w={160} alignItems=\"center\">\n        <Div w={48} h={48} rounded={50} bg={colors.settings_bg} justifyContent=\"center\">\n          <Image source={location as any} style={[MainStyle.w_24, MainStyle.h_24, MainStyle.m_x_auto]}/>\n        </Div>\n        <Text style={[...styles.title, styles.shadow]}>\n          {betType === 'golf2' ? 'Multi-Pin Range' : 'Closest to the Pin'}\n        </Text>\n      </Div>\n\n      {type === 'open' && renderPoint()}\n\n      {(extendedUserData.isnewplayer || extendedUserData.freeshotnumber !== extendedUserData.freeshotcount) && (\n        <View style={[MainStyle.absolute, MainStyle.b_0, MainStyle.full_w]}>\n          <Text style={styles.freeShots}>\n            {type === 'open' ? `${extendedUserData.freeshotcount} Free Shots` : `Free Shot ${extendedUserData.freeshotnumber} of ${extendedUserData.freeshotcount}`}\n          </Text>\n          <Text style={styles.banner}>See How Much Money You Can Win*!</Text>\n        </View>\n      )}\n\n      {/*<Div position=\"relative\" flex={1}>*/}\n      {/*  <Div position=\"absolute\" style={MainStyle.t_50_percent} right=\"0\" mr={-24}>*/}\n      {/*    <Button w={48} h={48} bg={colors.unselect} borderWidth={1} shadow=\"lg\" rounded={56}*/}\n      {/*            borderColor=\"rgba(0, 0, 0, 0.5)\" onPress={props.onArrowForwardPress}>*/}\n      {/*      <Ionicons name=\"ios-chevron-forward\" size={40} color=\"white\"/>*/}\n      {/*    </Button>*/}\n      {/*  </Div>*/}\n      {/*</Div>*/}\n    </Div>\n  );\n};\n\nconst styles = {\n  title: [MainStyle.c_white, MainStyle.Barlow500, MainStyle.f_s_22, MainStyle.m_l_10],\n  distance: [MainStyle.c_white, MainStyle.t_a_c, MainStyle.Barlow500, MainStyle.f_s_22],\n  shadow: {textShadowColor: 'rgba(0, 0, 0, 0.50)', textShadowOffset: {width: 0, height: 2}, textShadowRadius: 2},\n  banner: [\n    MainStyle.l_h_24, MainStyle.bg_newGreen, MainStyle.c_black, MainStyle.t_a_c, MainStyle.Barlow700,\n    MainStyle.f_s_16, MainStyle.t_t_u\n  ],\n  freeShots: [\n    MainStyle.c_white, MainStyle.t_a_c, MainStyle.textShadow, MainStyle.Barlow500, MainStyle.f_s_36\n  ]\n};\n\nexport default React.memo(ContestFrame);\n","import React from \"react\";\nimport {Image, Text, View} from \"react-native\";\nimport MainStyle from \"../../MainStyle\";\nimport {Challenge, Payline} from \"../../generated/smg_service_pb\";\nimport {payoutFormat} from \"../constants\";\nimport icon from \"../assets/img/d3df7f9a40bd13add704acfca782219b.png\";\nimport {colors} from \"../assets/styles/colors\";\n\ntype Props = {\n  challengesList?: Challenge.AsObject[], payLinesList?: Payline.AsObject[], amount?: number, holeInOneAmount?: number\n};\n\nconst PayTable = (props: Props) => {\n  const {challengesList, payLinesList, amount, holeInOneAmount} = props;\n  const list = challengesList?.reduce((acc: any[], challenge, i) => {\n    if (payLinesList && payLinesList[i]?.multiplier) {\n      acc.push({\n        ft: Math.floor(challenge.value2 / 12),\n        amount: payoutFormat(payLinesList[i]?.multiplier / 100 * (amount || 0) / 100)\n      });\n    }\n    return acc;\n  }, []) || [];\n\n  const formattedAmount = (value:number) => {\n    return new Intl.NumberFormat('en-US', {style: 'currency', currency: 'USD',maximumFractionDigits:0}).format(value);\n  }\n  return (\n    <View style={styles.wrap}>\n      <View style={[MainStyle.row, MainStyle.m_t_13]}>\n        <Text style={styles.title}>Win Circle</Text>\n        <Text style={styles.title}>Win</Text>\n      </View>\n\n      {!!holeInOneAmount && (\n        <View style={[MainStyle.row, MainStyle.a_i_c]}>\n          <View style={[MainStyle.flex1, MainStyle.a_i_c]}>\n            <Image source={icon} style={[MainStyle.w_44, MainStyle.h_28, styles.shadow]}/>\n          </View>\n          <Text style={styles.value}>{formattedAmount(holeInOneAmount / 100)}</Text>\n        </View>\n      )}\n\n      {list.map(el => (\n        <View key={el.ft} style={MainStyle.row}>\n          <Text style={[...styles.value, MainStyle.c_white]}>{el.ft} ft</Text>\n          <Text style={styles.value}>${el.amount}</Text>\n        </View>\n      ))}\n    </View>\n  );\n};\n\nconst styles = {\n  wrap: [\n    MainStyle.w_160, MainStyle.b_r_20, MainStyle.b_w_1, MainStyle.b_c_settings_border, MainStyle.bg_settings,\n    MainStyle.column, MainStyle.p_b_10\n  ],\n  column: [MainStyle.flex1, MainStyle.p_t_13, MainStyle.a_i_c],\n  title: [MainStyle.c_white, MainStyle.Barlow500, MainStyle.f_s_12, MainStyle.flex1, MainStyle.t_a_c],\n  shadow: {\n    shadowColor: 'rgba(0, 0, 0, 0.75)', shadowOffset: {width: 0, height: 2}, shadowOpacity: 1, shadowRadius: 2,\n    backgroundColor: colors.settings_bg, elevation: 5\n  },\n  value: [MainStyle.Barlow500, MainStyle.f_s_18, MainStyle.c_new_green_text, MainStyle.flex1, MainStyle.t_a_c]\n};\n\nexport default React.memo(PayTable);\n","import React, {ReactElement} from \"react\";\nimport MainStyle from \"../../MainStyle\";\nimport {LinearGradient} from \"expo-linear-gradient\";\nimport {colors} from \"../assets/styles/colors\";\nimport {GestureResponderEvent, Pressable, View} from 'react-native';\n\ntype Props = {\n  children: ReactElement, position: 'left' | 'middle' | 'right', active: boolean,\n  onPress?: ((event: GestureResponderEvent) => void)\n};\n\nconst SelectChallengeGradient = (props: Props) => {\n  const {children, position, active} = props;\n\n  return (\n    <Pressable onPress={props.onPress}>\n      {active ? (\n        <LinearGradient colors={[colors.darkYellow, colors.lightYellow]} style={styles[`${position}_gradient_style`]}>\n          {children}\n        </LinearGradient>\n      ) : (\n        <View style={[...styles[`${position}_gradient_style`], MainStyle.b_c_transparent]}>\n          {children}\n        </View>\n      )}\n    </Pressable>\n  );\n};\n\nconst styles = {\n  middle_gradient_style: [MainStyle.b_t_w_3, MainStyle.b_b_w_3, MainStyle.b_c_yellow],\n  left_gradient_style: [\n    MainStyle.b_w_3, MainStyle.b_r_w_0, MainStyle.b_c_yellow, MainStyle.b_t_l_r_14, MainStyle.b_b_l_r_14\n  ],\n  right_gradient_style: [\n    MainStyle.b_w_3, MainStyle.b_l_w_0, MainStyle.b_c_yellow, MainStyle.b_t_r_r_14, MainStyle.b_b_r_r_14\n  ]\n}\n\nexport default React.memo(SelectChallengeGradient);\n","import React from \"react\";\nimport {Golf2Challenge} from \"../../generated/smg_service_pb\";\nimport {Text} from \"react-native\";\nimport MainStyle from \"../../MainStyle\";\nimport SelectChallengeGradient from \"./SelectChallengeGradient\";\nimport Div from \"../lib/Div\";\n\nconst Golf2ChallengeLevel = Golf2Challenge.Golf2ChallengeLevel;\n\ntype Props = {\n  challenges: Golf2Challenge.AsObject[], challengeId: number, onChange: (val: number) => void, amount: number\n};\n\nconst NewGameChallenges = (props: Props) => {\n  const {challenges, challengeId, amount} = props;\n  const isLg = false;\n\n  const setWhiteColor = (active: boolean) => {\n    return !active ? MainStyle.c_white : null;\n  };\n\n  return (\n    <Div flex={1} flexDir=\"row\" justifyContent={isLg ? 'flex-end' : 'center'} my={isLg ? 86 : 9}>\n      <Div>\n        <Text style={[...styles[isLg ? 'label_l' : 'label_s'], MainStyle.t_a_l, MainStyle.p_l_10]}>Level</Text>\n\n        {challenges.map(el => (\n          <SelectChallengeGradient active={challengeId === el?.challengeId} position=\"left\" key={el.challengeId}\n                                   onPress={() => props.onChange(el?.challengeId)}>\n            <Text style={[...styles[isLg ? 'lvl_l' : 'lvl_s'], setWhiteColor(challengeId === el?.challengeId)]}>\n              {el.level === Golf2ChallengeLevel.EASY && 'Easy'}\n              {el.level === Golf2ChallengeLevel.MEDIUM && 'Medium'}\n              {el.level === Golf2ChallengeLevel.HARD && 'Hard'}\n            </Text>\n          </SelectChallengeGradient>\n        ))}\n      </Div>\n\n      <Div>\n        <Text style={styles[isLg ? 'label_l' : 'label_s']}>Distance</Text>\n        {challenges.map(el => (\n          <SelectChallengeGradient active={challengeId === el.challengeId} position=\"middle\" key={el.challengeId}\n                                   onPress={() => props.onChange(el.challengeId)}>\n            <Text style={[...styles[isLg ? 'text_l' : 'text_s'], setWhiteColor(challengeId === el.challengeId)]}>\n              {el?.gamedetails?.hole?.distance} YDS\n            </Text>\n          </SelectChallengeGradient>\n        ))}\n      </Div>\n\n      <Div>\n        <Text style={styles[isLg ? 'label_l' : 'label_s']}>Win Circle</Text>\n        {challenges.map(el => (\n          <SelectChallengeGradient active={challengeId === el.challengeId} position=\"middle\" key={el.challengeId}\n                                   onPress={() => props.onChange(el.challengeId)}>\n            <Text style={[...styles[isLg ? 'text_l' : 'text_s'], setWhiteColor(challengeId === el.challengeId)]}>\n              {(el.gamedetails && el.gamedetails.circle) ? el.gamedetails.circle.winCircleDistance / 12 : 0} FT\n            </Text>\n          </SelectChallengeGradient>\n        ))}\n      </Div>\n\n      <Div>\n        <Text style={styles[isLg ? 'label_l' : 'label_s']}>Payout</Text>\n        {challenges.map(el => (\n          <SelectChallengeGradient active={challengeId === el.challengeId} position=\"right\" key={el.challengeId}\n                                   onPress={() => props.onChange(el.challengeId)}>\n            <Text style={[...styles[isLg ? 'amount_l' : 'amount_s'], challengeId !== el.challengeId ? MainStyle.c_light_blue : null]}>\n              ${amount / 100 * el.multiplier}\n            </Text>\n          </SelectChallengeGradient>\n        ))}\n      </Div>\n    </Div>\n  );\n};\n\nconst styles = {\n  label_s: [\n    MainStyle.f_w_600, MainStyle.f_s_12, MainStyle.l_h_24, MainStyle.c_light_blue, MainStyle.t_a_c\n  ],\n  label_l: [\n    MainStyle.f_w_600, MainStyle.f_s_20, MainStyle.l_h_23, MainStyle.c_light_blue, MainStyle.m_b_19, MainStyle.t_a_c\n  ],\n  lvl_s: [MainStyle.f_w_600, MainStyle.f_s_16, MainStyle.l_h_30, MainStyle.m_l_10, MainStyle.m_r_10],\n  lvl_l: [MainStyle.f_w_600, MainStyle.f_s_32, MainStyle.l_h_50, MainStyle.m_l_10, MainStyle.m_r_15],\n\n  text_s: [MainStyle.f_w_600, MainStyle.f_s_16, MainStyle.l_h_30, MainStyle.m_x_10],\n  text_l: [MainStyle.f_w_600, MainStyle.f_s_32, MainStyle.l_h_50, MainStyle.m_x_15],\n\n  amount_s: [MainStyle.f_w_900, MainStyle.f_s_18, MainStyle.m_r_10, MainStyle.l_h_30, MainStyle.m_l_10],\n  amount_l: [MainStyle.f_w_900, MainStyle.f_s_36, MainStyle.m_r_10, MainStyle.l_h_50, MainStyle.m_l_15]\n};\n\nexport default React.memo(NewGameChallenges);\n","import React from \"react\";\nimport {Text, useWindowDimensions, View} from \"react-native\";\nimport {preventSelect, tabletBreakpoint} from \"../constants\";\nimport MainStyle from \"../../MainStyle\";\nimport Div from \"../lib/Div\";\n\ntype Props = {\n  label?: string, value?: string, dense?: boolean, minW?: string | number, w?: string | number, mb?: string | number,\n  textAlign?: 'left' | 'center' | 'right'\n};\n\nconst DistanceChallengeItem = (props: Props) => {\n  const {label, value, dense, minW, w, mb, textAlign = 'left'} = props;\n  const {width} = useWindowDimensions();\n  const isMd = width >= tabletBreakpoint;\n\n  return (\n    <Div row minW={minW} alignItems={dense ? undefined : 'center'} w={w} mb={mb}>\n      <Div pt={dense ? 8 : 0}><View style={styles[isMd ? 'dot_m' : 'dot_s']}/></Div>\n\n      <Div flexDir={dense ? 'column' : 'row'} ml={isMd ? 12 : 9} flex={1} alignItems={dense ? undefined : 'center'}\n           minW=\"100%\">\n        <Text style={[...styles[isMd ? 'contest_label_m' : 'contest_label_s'], preventSelect, {textAlign}]}>\n          {label}\n        </Text>\n\n        <Text style={[...(isMd ? [...styles.contest_value_m, dense ? {textAlign} : MainStyle.t_a_c] : [...styles.contest_value_s, dense ? {textAlign} : MainStyle.t_a_c]), preventSelect]}>\n          {value}\n        </Text>\n      </Div>\n    </Div>\n  );\n};\n\nconst styles = {\n  dot_s: [MainStyle.w_6, MainStyle.h_6, MainStyle.b_r_2, MainStyle.bc_green],\n  dot_m: [MainStyle.w_8, MainStyle.h_9, MainStyle.b_r_2, MainStyle.bc_green, MainStyle.m_t_6],\n  dot_l: [MainStyle.w_12, MainStyle.h_12, MainStyle.b_r_4, MainStyle.bc_green],\n  contest_label_s: [MainStyle.f_w_700, MainStyle.f_s_16, MainStyle.c_white, MainStyle.l_h_20, MainStyle.flex1],\n  contest_label_m: [MainStyle.f_w_700, MainStyle.f_s_22, MainStyle.c_white, MainStyle.l_h_40, MainStyle.flex1],\n  contest_label_l: [\n    MainStyle.f_w_700, MainStyle.f_s_32, MainStyle.l_h_32, MainStyle.c_white, MainStyle.t_t_u, MainStyle.flex1\n  ],\n  contest_value_s: [MainStyle.f_w_700, MainStyle.f_s_18, MainStyle.c_white, MainStyle.l_h_22, MainStyle.flex1],\n  contest_value_m: [MainStyle.f_w_700, MainStyle.f_s_28, MainStyle.c_white, MainStyle.l_h_22, MainStyle.flex1],\n  contest_value_l: [\n    MainStyle.f_w_700, MainStyle.f_s_40, MainStyle.l_h_47, MainStyle.c_white, MainStyle.flex1, MainStyle.t_a_c\n  ]\n};\n\nexport default React.memo(DistanceChallengeItem);\n","import React from \"react\";\nimport DistanceChallengeItem from \"./DistanceChallengeItem\";\nimport {Golf2Challenge} from \"../../generated/smg_service_pb\";\nimport Div from \"../lib/Div\";\n\ntype Props = { isLg: boolean, challenge?: Golf2Challenge.AsObject, amount: number };\n\nconst Golf2AcceptedBetDetails = (props: Props) => {\n  const {isLg, challenge, amount} = props;\n  const {EASY, MEDIUM} = Golf2Challenge.Golf2ChallengeLevel;\n\n  return (\n    <Div flex={1} mt={isLg ? 70 : 23} pl={isLg ? 90 : 55} mb={isLg ? 99 : 27} pr={!isLg ? 20 : 0}\n             w={isLg ? 606 : 'auto'} maxW={isLg ? 'auto' : 400}>\n      <DistanceChallengeItem\n        label=\"LEVEL:\"\n        value={challenge?.level === EASY ? 'EASY' : challenge?.level === MEDIUM ? 'MEDIUM' : 'HARD'}\n        minW={isLg ? 0 : 125}\n        w={isLg ? '100%' : 'auto'}\n        mb={!isLg ? 8 : 0}\n      />\n\n      <DistanceChallengeItem\n        label=\"DISTANCE:\"\n        value={`${challenge?.gamedetails?.hole?.distance} YARDS`}\n        minW={isLg ? 0 : 125}\n        w={isLg ? '100%' : 'auto'}\n        mb={!isLg ? 8 : 0}\n      />\n\n      <DistanceChallengeItem\n        label=\"WIN CIRCLE:\"\n        value={`${(challenge && challenge.gamedetails && challenge.gamedetails.circle) ? challenge.gamedetails.circle.winCircleDistance / 12 : 0} FT`}\n        minW={isLg ? 0 : 125}\n        w={isLg ? '100%' : 'auto'}\n        mb={!isLg ? 8 : 0}\n      />\n\n      <DistanceChallengeItem\n        label=\"CHALLENGE FEE:\"\n        value={`$${amount / 100}`}\n        minW={isLg ? 0 : 125}\n        w={isLg ? '100%' : 'auto'}\n        mb={!isLg ? 8 : 0}\n      />\n\n      <DistanceChallengeItem\n        label=\"TOTAL PAYOUT:\"\n        value={`$${amount / 100 * (challenge?.multiplier || 0)}`}\n        minW={isLg ? 0 : 125}\n        w={isLg ? '100%' : 'auto'}\n      />\n    </Div>\n  );\n};\n\nexport default React.memo(Golf2AcceptedBetDetails);\n","import React, {useContext} from \"react\";\nimport {Image, Pressable} from \"react-native\";\nimport MainStyle from \"../../MainStyle\";\nimport WhiteIconLogo from \"../assets/img/small_logo.svg\";\nimport {useNavigation} from \"@react-navigation/native\";\nimport {MaterialIcons} from '@expo/vector-icons';\nimport {colors} from \"../assets/styles/colors\";\nimport {StoreContext} from \"./StoreContextProvider\";\nimport HelpLinkModalTrigger from \"../modals/HelpLinksModal\";\nimport {formatCurrency} from \"../utils\";\nimport Div from \"../lib/Div\";\nimport P from \"../lib/P\";\n\ntype Props = { pt?: string | number, pb?: string | number };\n\nconst NewHeader = (props: Props) => {\n  const {pt, pb} = props;\n  const navigation: any = useNavigation();\n  const Context = useContext(StoreContext);\n  const {balance} = Context;\n\n  return (\n    <Div row pt={pt} pb={pb} alignItems=\"center\">\n      <Pressable style={MainStyle.m_l_21} onPress={() => navigation.navigate('challenges')}>\n        <Image source={WhiteIconLogo as any} style={[MainStyle.w_42, MainStyle.h_48]}/>\n      </Pressable>\n\n      <Div flex={1}/>\n\n      <HelpLinkModalTrigger\n        page=\"header\" bw={1} borderColor={colors.settings_border} bg={colors.help_icon} w={48} h={48} br={40}\n        alignItems=\"center\" justifyContent=\"center\"\n      />\n\n      <Pressable style={styles.deposit} onPress={() => navigation.navigate({name: 'account', params: {step: 1}})}>\n        <MaterialIcons name=\"add-circle-outline\" size={24} color={colors.newGreenText}/>\n        <P color={colors.newGreenText} fw=\"500\" fs={20} ml={13}>{balance ? formatCurrency(balance / 100) : '$0'}</P>\n      </Pressable>\n    </Div>\n  );\n};\n\nconst styles = {\n  deposit: [\n    MainStyle.bg_deposit, MainStyle.h_48, MainStyle.p_l_16, MainStyle.p_r_34, MainStyle.row, MainStyle.a_i_c,\n    MainStyle.b_t_l_r_28, MainStyle.b_b_l_r_28, MainStyle.m_l_12\n  ]\n};\n\nexport default React.memo(NewHeader);\n","import React from \"react\";\nimport {Image, ImageSourcePropType, Pressable} from \"react-native\";\nimport MainStyle from \"../../MainStyle\";\nimport {colors} from \"../assets/styles/colors\";\nimport {MaterialCommunityIcons} from '@expo/vector-icons';\nimport Div from \"../lib/Div\";\nimport P from \"../lib/P\";\n\ntype Props = {\n  title?: string, value?: string, icon?: ImageSourcePropType, mb?: number, leftText?: string, formik?: any,\n  changeFee?: () => void, autoPlayAmount?: number, maxShotAmount?: number, autoPlayEnabled?: boolean\n};\n\nconst ChallengeInfoCard = (props: Props) => {\n  const {title, value, icon, leftText, mb, formik, autoPlayAmount, maxShotAmount, autoPlayEnabled} = props;\n\n  return (\n    <Div mb={mb} w={160} h={60} rounded={20} borderWidth={1} borderColor={colors.settings_border}\n         bg={colors.settings_bg} row alignItems=\"center\" px={11}>\n      {icon && (\n        <Div w={36} h={36} rounded={40} borderWidth={1} borderColor={colors.settings_border} justifyContent=\"center\"\n             bg={colors.loading_login}>\n          <Image source={icon} style={[MainStyle.w_20, MainStyle.h_20, MainStyle.m_x_auto]}/>\n        </Div>\n      )}\n\n      {leftText && <P fw=\"500\" fs={12} w={52}>{leftText}</P>}\n\n      <Div flex={1} alignItems={title ? 'center' : undefined}>\n        {title && <P fw=\"500\" fs={12} ta=\"center\" flex={1}>{title}</P>}\n        {value && <P color={colors.newGreenText} fw=\"500\" fs={18} ta=\"center\" flex={1}>{value}</P>}\n\n        {formik && (\n          <Div alignItems=\"center\">\n            <Pressable style={styles.input_wrap} onPress={props.changeFee}>\n              <P fw=\"500\" fs={20} color={colors.newGreenText} ta=\"center\" flex={1} minW={36}>\n                {(formik.values.contestAmount === '-2' || (autoPlayEnabled && autoPlayAmount === -2)) ? `$${(maxShotAmount || 0) / 100} (Max)` : `$${formik.values.contestAmount}`}\n              </P>\n              <MaterialCommunityIcons\n                name=\"pencil-outline\" size={22} color={colors.newGreenText}\n                style={[MainStyle.absolute, MainStyle.r__22]}\n              />\n            </Pressable>\n          </Div>\n        )}\n      </Div>\n    </Div>\n  );\n};\n\nconst styles = {\n  input_wrap: [MainStyle.row, MainStyle.relative, MainStyle.b_b_w_1, MainStyle.b_c_newGreen, MainStyle.a_i_c]\n};\n\nexport default ChallengeInfoCard;\n","import React, {useEffect, useRef} from \"react\";\nimport {Modal, Pressable, ScrollView, View, Image} from \"react-native\";\nimport MainStyle from \"../../MainStyle\";\nimport icon from '../assets/img/circle-close-icon.png';\nimport {CountryData, FlagEmoji} from \"react-international-phone\";\nimport {outline_0} from \"../constants\";\nimport Div from \"../lib/Div\";\nimport {colors} from \"../assets/styles/colors\";\nimport P from \"../lib/P\";\n\ntype ItemType = { value: string, label: string };\n\ntype Props = {\n  visible: boolean, onResume: (val?: string) => void, value: string, items?: ItemType[], countries?: CountryData[],\n  secondItems?: ItemType[], disabledItemsBottom?: boolean, popupTitle?: string\n};\n\nconst SelectModal = (props: Props) => {\n  const {visible, value, items, countries, secondItems, disabledItemsBottom, popupTitle} = props;\n  const scrollView = useRef<ScrollView>(null);\n\n  useEffect(() => {\n    if (visible) {\n      let index = 0;\n      if (items) index = items.findIndex(el => el.value === value);\n      else if (countries) index = countries.findIndex(el => el[1] === value);\n\n      if (index > 6) {\n        scrollView.current?.scrollTo({x: 0, y: 36 * index - 190, animated: true});\n\n      } else if (index === -1 && items) {\n        const zeroIndex = items.findIndex(el => el.value === '0');\n        scrollView.current?.scrollTo({x: 0, y: 36 * zeroIndex - 190, animated: true});\n      }\n    }\n  }, [visible]);\n\n  return (\n    <Modal animationType=\"fade\" transparent visible={visible} statusBarTranslucent={false} hardwareAccelerated={false}\n           onRequestClose={() => props.onResume()}>\n      <View style={styles.wrap}>\n        <Div w={300} maxH={385} rounded={4} borderWidth={1} borderColor={colors.popupBorder} bg={colors.new_input_color}\n             position=\"relative\">\n          <Pressable style={styles.icon_s} onPress={() => props.onResume()}>\n            <Image source={icon} style={styles.img_s}/>\n          </Pressable>\n\n          <ScrollView ref={scrollView}>\n            <P lh={36} ta=\"center\">{popupTitle || 'Play more to activate higher challenges!'}</P>\n\n            {!!secondItems?.length && (\n              <>\n                {!disabledItemsBottom && secondItems?.map(el => (\n                  <P key={el.value} ta=\"center\" fw=\"700\" lh={36} opacity={0.3}>{el.label}</P>\n                ))}\n              </>\n            )}\n\n            {items?.map(el => (\n              <Pressable key={el.value} onPress={() => props.onResume(el.value)}>\n                <P ta=\"center\" fw=\"700\" lh={36} bg={el.value === value ? colors.popupDropBg : ''}\n                   color={el.value === value ? colors.lightBlue : ''}>\n                  {el.label}\n                </P>\n              </Pressable>\n            ))}\n\n            {(!!secondItems?.length && disabledItemsBottom) && (\n              <>\n                {secondItems?.map(el => (\n                  <P key={el.value} ta=\"center\" fw=\"700\" lh={36} opacity={0.3}>{el.label}</P>\n                ))}\n              </>\n            )}\n\n            {countries?.map(el => {\n              const [name, iso2, dialCode] = el;\n              return (\n                <Pressable style={[MainStyle.row, MainStyle.a_i_c, iso2 === value ? MainStyle.bc_popupDropBg : {}]}\n                           key={iso2} onPress={() => props.onResume(iso2)}>\n                  <FlagEmoji iso2={iso2} style={{width: 20, height: 20, margin: 8}}/>\n                  <P fw=\"700\" lh={36} color={iso2 === value ? colors.lightBlue : ''}>{name} (+{dialCode})</P>\n                </Pressable>\n              )\n            })}\n          </ScrollView>\n        </Div>\n      </View>\n    </Modal>\n  );\n};\n\nconst styles = {\n  wrap: [\n    MainStyle.full_h, MainStyle.full_w, MainStyle.bc_modalBg, MainStyle.fix_gradient_and_modal_error_in_landscape,\n    MainStyle.flex, MainStyle.a_i_c, MainStyle.j_c_c, MainStyle.p_y_70\n  ],\n  icon_s: [MainStyle.absolute, MainStyle.t__28, MainStyle.r__28, outline_0],\n  img_s: [MainStyle.w_28, MainStyle.h_28]\n};\n\nexport default React.memo(SelectModal);\n","import React, {useState} from 'react';\nimport {Text, Pressable, Image, StyleProp, ViewStyle, TextStyle} from 'react-native';\nimport MainStyle from \"../../MainStyle\";\nimport arrowDown from '../assets/img/arrow-down.png';\nimport SelectModal from \"../modals/SelectModal\";\nimport {outline_0} from \"../constants\";\nimport P from \"../lib/P\";\nimport {colors} from \"../assets/styles/colors\";\nimport {toCapitalize} from \"../utils\";\n\ntype ItemType = { value: string, label: string, customLabel?: string };\n\nlet items: ItemType[] = [];\n\nfor (let i = 10; i > 0; i--) {\n  items.push({value: `+${i}`, label: `+${i}`});\n}\n\nitems.push({value: 'N/A', label: 'N/A'});\nitems.push({value: '0', label: '0'});\n\nfor (let i = 1; i <= 30; i++) {\n  items.push({value: `${i}`, label: `${i}`});\n}\n\ntype Props = {\n  placeholder?: string, label?: string, value: string, onChangeText: (val: string) => void, mt?: string | number,\n  customItems?: ItemType[], mb?: string | number, secondItems?: ItemType[], w?: string | number, borderRadius?: number,\n  h?: string | number, pl?: string | number, pr?: string | number, bg?: string, borderColor?: string, color?: string,\n  textAlign?: \"center\" | \"auto\" | \"left\" | \"right\" | \"justify\", fontFamily?: string, icon?: any,\n  iconSize?: string | number, disabledItemsBottom?: boolean, popupTitle?: string, disabled?: boolean, fontSize?: number,\n  errorText?: string\n};\n\nconst Select = (props: Props) => {\n  const {placeholder, label, value, mt, customItems, mb, secondItems, w, borderRadius, h, pl, pr, textAlign} = props;\n  const {bg, borderColor, color, fontFamily, icon, iconSize, disabledItemsBottom, popupTitle, disabled} = props;\n  const {fontSize, errorText} = props;\n  // const isMd = width >= tabletBreakpoint;\n  const [visible, setVisible] = useState(false);\n  if (customItems) items = customItems;\n  const dynamicStyles: StyleProp<ViewStyle> = {\n    marginBottom: mb, width: w, borderRadius, height: h, paddingLeft: disabled ? undefined : pl,\n    paddingRight: disabled ? undefined : pr, backgroundColor: bg, borderColor\n  };\n  const selectedItem = items.find(el => el.value === value);\n  const textStyle: StyleProp<TextStyle> = {\n    textAlign: disabled ? 'center' : textAlign, color: disabled ? 'white' : color, fontFamily, fontSize\n  };\n\n  const onResume = (val?: string) => {\n    setVisible(false);\n    if (val) props.onChangeText(val);\n  };\n\n  return (\n    <>\n      {label && <Text style={[...styles.label_s, {marginTop: mt}]}>{label}</Text>}\n\n      <Pressable style={[...styles.select_s, dynamicStyles, outline_0]} onPress={() => setVisible(true)}\n                 disabled={disabled}>\n        <Text style={[styles.select_value, MainStyle.f_s_22, textStyle]}>\n          {selectedItem?.customLabel || selectedItem?.label || placeholder}\n        </Text>\n\n        {!disabled && (\n          <Image source={icon || arrowDown} style={[...styles.down_s, {width: iconSize, height: iconSize}]}/>\n        )}\n      </Pressable>\n\n      {errorText && (\n        <P flex={1} ta=\"center\" fw=\"500\" fs={12} color={colors.newDangerText}>{toCapitalize(errorText)}</P>\n      )}\n\n      <SelectModal\n        visible={visible} onResume={onResume} value={value} items={items} secondItems={secondItems}\n        disabledItemsBottom={disabledItemsBottom} popupTitle={popupTitle}\n      />\n    </>\n  );\n};\n\nconst styles = {\n  label_s: [MainStyle.c_white, MainStyle.t_a_c, MainStyle.f_s_12, MainStyle.Barlow400, MainStyle.o_05],\n  select_s: [\n    MainStyle.b_r_4, MainStyle.b_c_blue, MainStyle.bc_popupDropBg, MainStyle.b_w_1, MainStyle.p_x_9, MainStyle.h_60,\n    MainStyle.row, MainStyle.a_i_c\n  ],\n  select_value: [MainStyle.c_lightblue, MainStyle.Barlow500, MainStyle.t_a_c, MainStyle.flex1],\n  down_s: [MainStyle.w_10, MainStyle.h_12, MainStyle.rm_center, MainStyle.absolute, {right: 16}]\n};\n\nexport default React.memo(Select);\n","import React, {useContext, useEffect, useState} from \"react\";\nimport {Modal, ScrollView, View} from \"react-native\";\nimport MainStyle from \"../../MainStyle\";\nimport {colors} from \"../assets/styles/colors\";\nimport {StoreContext} from \"../components/StoreContextProvider\";\nimport Select from \"../components/Select\";\nimport icon from \"../assets/img/icons/pencil-line 1.svg\";\nimport {useNavigation} from \"@react-navigation/native\";\nimport Button from \"../components/Button\";\nimport Div from \"../lib/Div\";\nimport P from \"../lib/P\";\n\ntype Props = {\n  isOpen: boolean, onClose: () => void, joinTournament: (val: string) => void, totalShots?: number, entryFee: number,\n  type: 'RegistrationConfirmationModal' | 'LowBalanceModal' | 'ChallengeFeeConfirmationModal' | 'StartAutoPlay' | 'StopAutoPlay' | 'ChallengeEntry' | 'CancelCashChallenge' | 'ChallengeAmountModal' | 'LeaveTournament' | '',\n  helperText?: string, entryChallengeFee?: string, autoPlayHandler?: () => void, min_h?: number\n};\n\nconst TournamentRegistrationConfirmationModal = (props: Props) => {\n  const {isOpen, type, totalShots, entryFee, helperText, entryChallengeFee, min_h} = props;\n  const [value, setValue] = useState(entryChallengeFee || '0');\n  const Context = useContext(StoreContext);\n  const {balance, extendedUserData} = Context;\n  const [items, setItems] = useState([{value: '-2', customLabel: '', label: 'Max'}]);\n  const navigation: any = useNavigation();\n  const showDropDown = type === 'RegistrationConfirmationModal' || type === 'ChallengeFeeConfirmationModal' || type === 'StartAutoPlay' || type === 'CancelCashChallenge' || type === 'ChallengeAmountModal';\n  const [disableItems, setDisableItems] = useState([]);\n\n  const handlePress = () => {\n    if (type === 'LowBalanceModal') {\n      props.onClose();\n      navigation.navigate({name: 'account', params: {step: 1}});\n\n    } else if (type === 'StopAutoPlay' && props.autoPlayHandler) {\n      props.autoPlayHandler();\n\n    } else {\n      props.joinTournament(value);\n    }\n  };\n\n  useEffect(() => {\n    let val = totalShots ? [{value: '0', customLabel: '', label: '0'}] : [{value: '-2', customLabel: '', label: 'Max'}];\n    const disableList: any = [];\n    const availableBalance = balance - entryFee;\n    const shotOptions = [3, 5, 10, 20];\n\n    if (!totalShots && type === 'ChallengeFeeConfirmationModal' && (extendedUserData.isnewplayer || extendedUserData.freeshotnumber !== extendedUserData.freeshotcount)) {\n      val = [{value: '3', customLabel: '', label: '$3'}];\n      setValue('3');\n\n    } else if (type === 'StartAutoPlay' || type === 'ChallengeAmountModal') {\n      setValue('-2');\n\n      shotOptions.reverse().forEach(shotOption => {\n        if (shotOption * 100 <= extendedUserData.maxshotamount) {\n          val.push({value: `${shotOption}`, customLabel: '', label: `$${shotOption}`});\n\n        } else {\n          disableList.push({value: `${shotOption}`, label: `$${shotOption}`});\n        }\n      });\n\n    } else {\n      shotOptions.forEach(shotOption => {\n        const totalCost = (shotOption * 100) * (totalShots || 1);\n        if (totalCost <= availableBalance && shotOption * 100 <= extendedUserData.maxshotamount) {\n          val.push({\n            value: `${shotOption}`,\n            customLabel: `$${shotOption}`,\n            label: `$${shotOption} (Total: $${totalCost / 100})`\n          });\n        }\n      });\n\n      if (type === 'CancelCashChallenge') setValue('0');\n      else if (type === 'RegistrationConfirmationModal') setValue(val[val.length - 1].value);\n    }\n\n    setDisableItems(disableList);\n    setItems(val);\n  }, [balance, entryFee, totalShots, extendedUserData.maxshotamount, type]);\n\n  return (\n    <Modal animationType=\"fade\" transparent visible={isOpen} statusBarTranslucent={false} hardwareAccelerated={false}\n           onRequestClose={props.onClose}>\n      <View style={[MainStyle.fix_gradient_and_modal_error_in_landscape, MainStyle.flex1, MainStyle.bg_filter_modal]}>\n        <ScrollView contentContainerStyle={MainStyle.flex1}>\n          <Div minH=\"100%\" alignItems=\"center\" justifyContent=\"center\">\n            <Div minH={min_h} bg={colors.settings_bg} maxW={332} w=\"100%\" rounded={20}\n                 borderColor={colors.settings_border} borderWidth={1} pt={30} pb={41}>\n              <P fw=\"500\" fs={26} ta=\"center\">\n                {type === 'LowBalanceModal' && 'Insufficient balance to enter Tournament with existing amount.'}\n                {type === 'RegistrationConfirmationModal' && `Confirm Tournament\\nEntry (${entryFee ? `$${entryFee / 100}` : 'Free'})`}\n                {(type === 'ChallengeEntry' || type === 'ChallengeAmountModal') && 'Confirm Challenge Entry'}\n                {type === 'ChallengeFeeConfirmationModal' && `Choose Your\\nChallenge Fee`}\n                {type === 'StartAutoPlay' && `Please Confirm\\nStart Auto-Play`}\n                {type === 'StopAutoPlay' && `Please Confirm\\nCanceling Auto-Play`}\n                {type === 'CancelCashChallenge' && `Please Confirm\\nCancelling Cash\\nChallenges`}\n                {type === 'LeaveTournament' && 'Leave Tournament'}\n              </P>\n\n              <View style={showDropDown ? [MainStyle.flex1, MainStyle.min_h_32] : MainStyle.h_51}/>\n\n              <Div mx={35}>\n                {showDropDown && (\n                  <Div row alignItems=\"center\" mb={30}>\n                    <P ta=\"center\" fw=\"500\" w={136} tt=\"uppercase\">\n                      {type === 'CancelCashChallenge' ? `Challenge Fee\\nper Shot:` : `Additional\\nSolo Challenge per Shot:`}\n                    </P>\n\n                    <Div flex={1}/>\n\n                    <Select\n                      value={value} onChangeText={(val) => setValue(val)} customItems={items}\n                      pl={17} pr={21} w={111} borderRadius={20} h={63} textAlign=\"left\" icon={icon} fontSize={22}\n                      borderColor={colors.settings_border} bg={colors.loading_login} color={colors.newGreenText}\n                      fontFamily=\"Barlow-Medium\" iconSize={24} secondItems={disableItems}\n                      disabledItemsBottom={!(type === 'StartAutoPlay' || type === 'ChallengeAmountModal')}\n                      disabled={type === 'CancelCashChallenge'}\n                      popupTitle={type !== 'StartAutoPlay' ? 'Win Money with Every Shot!' : ''}\n                    />\n                  </Div>\n                )}\n\n                <Button\n                  onPress={handlePress} mb={20} bg={type === 'LeaveTournament' ? colors.stop_auto_play : ''}\n                  text={type === 'LowBalanceModal' ? 'Take me to deposit' : type === 'RegistrationConfirmationModal' ? 'Enter Tournament' : type === 'LeaveTournament' ? 'Leave Tournament' : 'Confirm'}\n                  color={type === 'LeaveTournament' ? colors.newGreenText : ''}\n                />\n\n                <Button\n                  onPress={props.onClose} bg={colors.loading_login} borderWidth={1} borderColor=\"white\" color=\"white\"\n                  text={type === 'LowBalanceModal' ? 'Back to the Tournament Registration' : (type === 'StartAutoPlay' || type === 'StopAutoPlay') ? 'Back' : 'Cancel'}\n                />\n              </Div>\n\n              {!!helperText && (\n                <Div maxW={389} w=\"100%\" mt={34}>\n                  <P ta=\"center\" fw=\"500\" fs={14}>{helperText}</P>\n                </Div>\n              )}\n\n              {type === 'LeaveTournament' && (\n                <Div maxW={389} w=\"100%\" mt={34}>\n                  <P ta=\"center\" fw=\"500\" fs={14}>\n                    If you leave the tournament, you will not receive a refund for your entry fee.\n                  </P>\n                </Div>\n              )}\n            </Div>\n          </Div>\n        </ScrollView>\n      </View>\n    </Modal>\n  );\n};\n\nexport default React.memo(TournamentRegistrationConfirmationModal);\n","import React, {useContext, useEffect, useState} from \"react\";\nimport {Text, ScrollView, useWindowDimensions, View, Image} from \"react-native\";\nimport MainStyle from \"../../MainStyle\";\nimport Button from \"./Button\";\nimport {Bet, Challenge, Payline} from \"../../generated/smg_service_pb\";\nimport {StoreContext} from \"./StoreContextProvider\";\nimport ContestFrame from \"./ContestFrame\";\nimport PayTable from \"./PayTable\";\nimport {tabletBreakpoint} from \"../constants\";\nimport NewGameChallenges from \"./NewGameChallenges\";\nimport Golf2AcceptedBetDetails from \"./Golf2AcceptedBetDetails\";\nimport {useNavigation} from \"@react-navigation/native\";\nimport {colors} from \"../assets/styles/colors\";\nimport NewHeader from \"./NewHeader\";\nimport ChallengeInfoCard from \"./ChallengeInfoCard\";\nimport WinCircleIcon from \"../assets/img/icons/Frame.svg\";\nimport DistanceIcon from \"../assets/img/icons/pin-distance-line 1.svg\";\nimport CoinIcon from \"../assets/img/icons/coin.svg\";\nimport TournamentRegistrationConfirmationModal from \"../modals/TournamentRegistrationConfirmationModal\";\nimport StartAutoPlayIcon from \"../assets/img/icons/auto_play.svg\";\nimport StopAutoPlayIcon from \"../assets/img/icons/StopAutoPlayIcon.svg\";\nimport ServiceClient from \"../utils/ServiceClient\";\nimport Div from \"../lib/Div\";\nimport P from \"../lib/P\";\n\ntype Props = {\n  bet: Bet.AsObject, formik: any, title: string, type: 'open' | 'accepted', changeGameType?: () => void,\n  moreGames?: boolean, showAutoPlayModal: (val?: 'StartAutoPlay') => void\n};\n\nconst OpenBets = (props: Props) => {\n  const {formik, title, type, bet} = props;\n  const Context = useContext(StoreContext);\n  const {cancelModalConfig, user, extendedUserData} = Context;\n  const {width} = useWindowDimensions();\n  const isMd = width >= tabletBreakpoint;\n  const [challengeId, setChallengeId] = useState(0);\n  const navigation: any = useNavigation();\n  const [confirmModalType, setConfirmModalType] = useState<'ChallengeFeeConfirmationModal' | 'ChallengeEntry' | 'ChallengeAmountModal' | ''>('');\n  const AutoPlayIcon = (\n    <Image\n      source={(user?.autoPlayEnabled ? StopAutoPlayIcon : StartAutoPlayIcon) as any}\n      style={[MainStyle.w_24, MainStyle.h_24]}\n    />\n  );\n\n  let payLinesList: Payline.AsObject[] | undefined;\n  let challengesList: Challenge.AsObject[] | undefined;\n  let largestDistanceChallenge: Challenge.AsObject | undefined;\n\n  if (bet) {\n    challengesList = bet.challengesList;\n    payLinesList = bet.paylinesList;\n    largestDistanceChallenge = challengesList[0];\n\n    challengesList.forEach(challenge => {\n      if (largestDistanceChallenge && (largestDistanceChallenge.value2 < challenge.value2)) {\n        largestDistanceChallenge = challenge;\n      }\n    });\n  }\n\n  const challengeFeeChange = (fee: string) => {\n    setConfirmModalType('');\n    formik.setFieldValue('contestAmount', fee);\n    if (confirmModalType === 'ChallengeEntry') AcceptBet(fee);\n  };\n\n  const onArrowForwardPress = () => {\n    const val = bet.golf2challengesList;\n    const find = val.find(el => el.challengeId === challengeId);\n\n    if (!find) return;\n    const index = val.indexOf(find);\n\n    if (index === 2) setChallengeId(val[0].challengeId);\n    else setChallengeId(val[index + 1].challengeId);\n  };\n\n  const AcceptBet = (contestAmount: string, challengeId?: number) => {\n    Context.setLoadingOverlay(true);\n    const {betId} = bet;\n\n    ServiceClient.acceptBet(betId, contestAmount === '-2' ? extendedUserData.maxshotamount : +contestAmount * 100, challengeId).then(() => {\n      Context.getUser().then();\n\n    }).catch(err => {\n      console.log('acceptBet err', err);\n      Context.setLoadingOverlay(false);\n\n      if (err.message) {\n        Context.setCancelModalConfig({\n          visible: true, title: 'ERROR', subtitle: err.message, rightBtnText: 'OK',\n          onResume: () => {\n            Context.setCancelModalConfig({...cancelModalConfig, visible: false});\n          },\n          onClose: () => {\n            Context.setCancelModalConfig({...cancelModalConfig, visible: false});\n          }\n        });\n      }\n    });\n  };\n\n  const CancelBet = (betId: number) => {\n    Context.setLoadingOverlay(true);\n\n    ServiceClient.refundBet(betId).then(resolved => {\n      if (resolved) {\n        setTimeout(() => {\n          Context.getUser().then();\n        }, 1500);\n      }\n\n    }).catch(err => {\n      console.log('cancelBet err', err);\n      Context.setLoadingOverlay(false);\n\n      if (err.message) {\n        Context.setCancelModalConfig({\n          visible: true, title: 'Error', leftBtnText: 'OK',\n          subtitle: err.code === 20020043 ? 'Challenge in progress. Unable to cancel challenge.' : err.message,\n          onExit: () => {\n            Context.setCancelModalConfig({...cancelModalConfig, visible: false});\n          }\n        });\n      }\n    });\n  };\n\n  const onEnterContestModalOpen = () => {\n    if (type === 'open') {\n      if (bet.challengesList.length) {\n        setConfirmModalType('ChallengeEntry');\n\n      } else if (bet.golf2challengesList.length) {\n        const find = bet.golf2challengesList.find(el => el.challengeId === challengeId);\n        if (find && find.gamedetails && find.gamedetails.circle) {\n          find.gamedetails.circle.winCircleDistance = find.gamedetails.circle.winCircleDistance / 12;\n        }\n\n        Context.setContestEntryModalConfig({\n          visible: true, contestAmount: formik.values.contestAmount, challengeId,\n          golf2challenge: find,\n          onCancel: () => Context.setContestEntryModalConfig({visible: false}),\n          onOk: (curChallengeId) => {\n            Context.setContestEntryModalConfig({visible: false});\n            AcceptBet(formik.values.contestAmount, curChallengeId);\n          }\n        });\n      }\n\n    } else if (type === 'accepted') {\n      CancelBet(bet.betId);\n    }\n  };\n\n  useEffect(() => {\n    if (bet.betType === 'golf2') setChallengeId(bet.golf2challengesList[0].challengeId);\n    else if (bet.challengesList.length) setChallengeId(bet.challengesList[0].challengeId);\n  }, [bet.betType, bet.betState]);\n\n  return (\n    <ScrollView contentContainerStyle={MainStyle.flex1} scrollEventThrottle={16}>\n      <NewHeader/>\n\n      <Div w={333} mx=\"auto\">\n        <P fw=\"500\" fs={30} lh={24} mb={12}>{title}</P>\n\n        <ContestFrame\n          betType={bet.betType} type={type} onArrowForwardPress={onArrowForwardPress}\n          golf2challengesList={bet.golf2challengesList} challengeId={challengeId}\n          largestDistanceChallenge={largestDistanceChallenge}\n        />\n\n        <Div row justifyContent=\"space-between\" mb={10} alignItems=\"flex-start\">\n          <View>\n            {type === 'accepted' && bet.betType === 'golf2' ? (\n              <Golf2AcceptedBetDetails\n                isLg={isMd} amount={bet.amount}\n                challenge={bet.golf2challengesList.find(el => el.outcome === 'unresolved')}\n              />\n            ) : bet.betType === 'golf2' ? (\n              <NewGameChallenges\n                challenges={bet.golf2challengesList} challengeId={challengeId} onChange={setChallengeId}\n                amount={bet.amount}\n              />\n            ) : (\n              <>\n                <ChallengeInfoCard\n                  title=\"Distance\"\n                  value={`${largestDistanceChallenge ? largestDistanceChallenge.value1 / 36 : 0} Yards`}\n                  icon={DistanceIcon as any} mb={8}\n                />\n\n                <ChallengeInfoCard\n                  title=\"Win Circle\"\n                  value={`${largestDistanceChallenge ? largestDistanceChallenge.value2 / 12 : 0} Feet`}\n                  icon={WinCircleIcon as any} mb={8}\n                />\n\n                {type === 'accepted' ? (\n                  <ChallengeInfoCard\n                    leftText=\"Challenge Amount\" changeFee={() => props.showAutoPlayModal('StartAutoPlay')}\n                    formik={formik} maxShotAmount={extendedUserData.maxshotamount}\n                    autoPlayAmount={user?.autoPlayAmount} autoPlayEnabled={user?.autoPlayEnabled}\n                  />\n                  // <ChallengeInfoCard\n                  //   title=\"Per Shot Entry\"\n                  //   icon={CoinIcon as any}\n                  //   value={(formik.values.contestAmount === '-2' || (user?.autoPlayEnabled && user?.autoPlayAmount === -2)) ? `$${extendedUserData.maxshotamount / 100} (Max)` : `$${formik.values.contestAmount}`}\n                  // />\n                ) : (\n                  <ChallengeInfoCard\n                    leftText=\"Challenge Amount\" changeFee={() => setConfirmModalType('ChallengeAmountModal')}\n                    formik={formik} maxShotAmount={extendedUserData.maxshotamount}\n                    autoPlayAmount={user?.autoPlayAmount} autoPlayEnabled={user?.autoPlayEnabled}\n                  />\n                )}\n              </>\n            )}\n          </View>\n\n          <PayTable\n            payLinesList={payLinesList} challengesList={challengesList}\n            amount={type === 'open' ? (formik.values.contestAmount === '-2' ? extendedUserData.maxshotamount : +formik.values.contestAmount * 100) : bet.amount}\n            holeInOneAmount={bet.holeInOneBonusAmount}\n          />\n        </Div>\n\n        <Div row mb={10}>\n          {user?.userId && (\n            <Div flex={1}>\n              <Button\n                text={user.autoPlayEnabled ? `Stop\\nAutoPlay` : `Start\\nAutoPlay`}\n                onPress={() => props.showAutoPlayModal()}\n                bg={user.autoPlayEnabled ? colors.stop_auto_play : colors.newGreenText} autoPlayIcon={AutoPlayIcon}\n                color={user.autoPlayEnabled ? colors.newGreenText : 'black'} w=\"100%\" fontSize={20}\n                fontFamily=\"Barlow-SemiBold\"\n                disabled={extendedUserData.isnewplayer || extendedUserData.freeshotnumber !== extendedUserData.freeshotcount}\n              />\n            </Div>\n          )}\n\n          <Div w={9}/>\n\n          <Div flex={1}>\n            <Button\n              text={type === 'open' ? `Enter\\nChallenge` : `Cancel\\nChallenge`} onPress={onEnterContestModalOpen}\n              bg=\"transparent\" borderWidth={1} borderColor={colors.white} color=\"white\" w=\"100%\" fontSize={20}\n              disabled={extendedUserData.isnewplayer || extendedUserData.freeshotnumber !== extendedUserData.freeshotcount}\n              fontFamily=\"Barlow-SemiBold\"\n            />\n          </Div>\n        </Div>\n\n        {extendedUserData.isnewplayer || extendedUserData.freeshotnumber !== extendedUserData.freeshotcount ? (\n          <Text style={styles.terms}>\n            * See <Text style={MainStyle.c_new_green_text}\n                        onPress={() => navigation.navigate('TermsAndConditions')}>Terms & Conditions</Text>\n          </Text>\n        ) : (\n          <P color={colors.gray} ta=\"center\" fw=\"500\">Malfunction voids all pays and plays</P>\n        )}\n      </Div>\n\n      {!!formik.values.contestAmount && (\n        <TournamentRegistrationConfirmationModal\n          isOpen={!!confirmModalType} onClose={() => setConfirmModalType('')} joinTournament={challengeFeeChange}\n          type={confirmModalType} entryFee={0} entryChallengeFee={formik.values.contestAmount}\n          min_h={confirmModalType === 'ChallengeEntry' ? 372 : undefined}\n        />\n      )}\n    </ScrollView>\n  );\n};\n\nconst styles = {\n  terms: [MainStyle.c_white, MainStyle.t_a_c, MainStyle.Barlow500, MainStyle.f_s_16]\n};\n\nexport default React.memo(OpenBets);\n","import React from \"react\";\nimport {ActivityIndicator, Image, ScrollView, Text, View} from \"react-native\";\nimport MainStyle from \"../../MainStyle\";\nimport Logo_SMG from \"../assets/img/evenplay-logo-long.svg\";\nimport Logo from \"../assets/img/Group 48096152.png\";\nimport {BrandName} from \"../constants\";\n\ntype Props = { isLg: boolean, text: string };\n\nconst ProtectionAndDisclaimer = (props: Props) => {\n  const {isLg, text} = props;\n\n  return (\n    <ScrollView contentContainerStyle={MainStyle.full_h} scrollEventThrottle={16}>\n      <View style={[MainStyle.min_h_full, MainStyle.a_i_c, MainStyle.j_c_c, MainStyle.p_x_30, MainStyle.p_y_23]}>\n        <View style={isLg ? styles.content_l : styles.content_s}>\n          <Text style={isLg ? styles.title_l : styles.title_s}>{text}</Text>\n\n          <ActivityIndicator color=\"white\" size={isLg ? 60 : 30} style={isLg ? MainStyle.m_b_42 : MainStyle.m_b_26}/>\n\n          <View style={isLg ? styles.media_l : styles.media_s}>\n            <View style={[MainStyle.max_w_340, MainStyle.full_w, MainStyle.a_i_c, MainStyle.p_x_20, MainStyle.m_b_21]}>\n              <View style={MainStyle.relative}>\n                <Image source={Logo_SMG as any} style={isLg ? styles.logo_l : styles.logo_s}/>\n                <Text style={[MainStyle.absolute, MainStyle.f_s_20, MainStyle.r__12, MainStyle.c_white]}>®</Text>\n              </View>\n\n              <Text style={[...styles[isLg ? 'text_l' : 'text_s'], MainStyle.Barlow700]}>DISCLAIMER:</Text>\n\n              <Text style={isLg ? styles.text_l : styles.text_s}>\n                {BrandName} is not responsible for errors caused by technical issues with the Full Swing golf\n                simulator system.\n              </Text>\n\n              <Text style={isLg ? styles.text_l : styles.text_s}>\n                If you have any issues with gameplay, please contact support.\n              </Text>\n            </View>\n\n            <View style={[MainStyle.max_w_260, MainStyle.full_w, MainStyle.a_i_c, MainStyle.p_x_26, MainStyle.m_b_21]}>\n              <Image source={Logo} style={[...styles[isLg ? 'logo_l' : 'logo_s'], MainStyle.o_0]}/>\n\n              <Text style={[...styles[isLg ? 'text_l' : 'text_s'], MainStyle.Barlow700]}>US Patent Numbers:</Text>\n\n              <Text style={isLg ? styles.text_l : styles.text_s}>\n                10,262,503; 10,720,026 11,250,673; 11,430,303 11,620,877\n              </Text>\n\n              <Text style={isLg ? styles.text_l : styles.text_s}>\n                © {BrandName}, Inc. All Rights Reserved\n              </Text>\n            </View>\n          </View>\n        </View>\n      </View>\n    </ScrollView>\n  );\n};\n\nconst styles = {\n  content_l: [\n    MainStyle.b_c_popupBorder, MainStyle.b_r_4, MainStyle.b_w_1, MainStyle.max_w_690, MainStyle.full_w, MainStyle.p_t_25,\n    MainStyle.a_i_c, MainStyle.p_b_15\n  ],\n  content_s: [\n    MainStyle.b_c_popupBorder, MainStyle.b_r_4, MainStyle.b_w_1, MainStyle.max_w_690, MainStyle.full_w, MainStyle.p_t_23,\n    MainStyle.a_i_c, MainStyle.p_b_15\n  ],\n\n  title_l: [MainStyle.c_white, MainStyle.Barlow500, MainStyle.f_s_32, MainStyle.l_h_40, MainStyle.m_b_22],\n  title_s: [MainStyle.c_white, MainStyle.Barlow500, MainStyle.f_s_16, MainStyle.l_h_20, MainStyle.m_b_22],\n\n  logo_l: [MainStyle.w_194, MainStyle.h_90, MainStyle.rm_center, MainStyle.m_b_20],\n  logo_s: [MainStyle.w_129, MainStyle.h_60, MainStyle.rm_center, MainStyle.m_b_17],\n\n  media_l: [MainStyle.row, MainStyle.full_w, MainStyle.p_x_36, MainStyle.j_c_s_between],\n  media_s: [MainStyle.flex, MainStyle.full_w, MainStyle.p_x_36, MainStyle.a_i_c],\n\n  text_l: [\n    MainStyle.c_white, MainStyle.Barlow400, MainStyle.f_s_16, MainStyle.l_h_24, MainStyle.t_a_c, MainStyle.m_b_6\n  ],\n  text_s: [\n    MainStyle.c_white, MainStyle.Barlow400, MainStyle.f_s_12, MainStyle.l_h_18, MainStyle.t_a_c, MainStyle.m_b_4\n  ]\n};\n\nexport default React.memo(ProtectionAndDisclaimer);\n","import React, {useContext} from \"react\";\nimport {Modal, Pressable, ScrollView, Text, View} from \"react-native\";\nimport MainStyle from \"../../MainStyle\";\nimport {useNavigation} from \"@react-navigation/native\";\nimport ServiceClient from \"../utils/ServiceClient\";\nimport {StoreContext} from \"../components/StoreContextProvider\";\n\ntype Props = { isOpen: boolean, onClose: () => void, onReload: () => void };\n\nconst ContinueAutoPlayModal = (props: Props) => {\n  const {isOpen} = props;\n  const navigation: any = useNavigation();\n  const Context = useContext(StoreContext);\n  const {cancelModalConfig} = Context;\n\n  const enableAutoPlay = (fee: number) => {\n    Context.setLoadingOverlay(true);\n\n    ServiceClient.enableAutoPlay(true, fee).then(() => {\n      Context.setLoadingOverlay(false);\n      props.onReload();\n\n    }).catch(err => {\n      console.log('enableAutoPlay err', err);\n      Context.setLoadingOverlay(false);\n\n      Context.setCancelModalConfig({\n        visible: true, title: 'Error', subtitle: err.message, rightBtnText: 'OK',\n        onResume: () => Context.setCancelModalConfig({...cancelModalConfig, visible: false})\n      });\n    });\n  };\n\n  const setZeroAutoPlay = () => {\n    props.onClose();\n    enableAutoPlay(0);\n  };\n\n  const onDeposit = () => {\n    props.onClose();\n    navigation.navigate({name: 'account', params: {step: 1}});\n  };\n\n  const onContinue = () => {\n    props.onClose();\n    enableAutoPlay(-1);\n  };\n\n  return (\n    <Modal animationType=\"fade\" transparent visible={isOpen} statusBarTranslucent={false} hardwareAccelerated={false}\n           onRequestClose={onContinue}>\n      <View style={[MainStyle.fix_gradient_and_modal_error_in_landscape, MainStyle.flex1, MainStyle.bg_filter_modal]}>\n        <ScrollView contentContainerStyle={MainStyle.flex1}>\n          <View style={[MainStyle.min_h_full, MainStyle.a_i_c, MainStyle.j_c_c]}>\n            <View style={styles.contentWrapper}>\n              <Text style={styles.title}>Insufficient balance to continue Auto-play with existing amount</Text>\n\n              <View style={MainStyle.flex1}/>\n\n              <View style={MainStyle.m_x_40}>\n                <Pressable style={[...styles.btn_wrap, MainStyle.m_b_20]} onPress={setZeroAutoPlay}>\n                  <Text style={[...styles.btn, MainStyle.c_white, MainStyle.m_x_23]}>\n                    Set Auto Play $0 and continue\n                  </Text>\n                </Pressable>\n\n                <Pressable style={styles.deposit} onPress={onDeposit}>\n                  <Text style={styles.btn}>Deposit</Text>\n                </Pressable>\n\n                <Pressable style={styles.btn_wrap} onPress={onContinue}>\n                  <Text style={[...styles.btn, MainStyle.c_white]}>Continue</Text>\n                </Pressable>\n              </View>\n            </View>\n          </View>\n        </ScrollView>\n      </View>\n    </Modal>\n  );\n};\n\nconst styles = {\n  contentWrapper: [\n    MainStyle.bg_settings, MainStyle.w_389, MainStyle.b_r_20, MainStyle.b_c_settings_border, MainStyle.b_w_1,\n    MainStyle.p_t_46, MainStyle.min_h_452, MainStyle.p_b_67\n  ],\n  title: [\n    MainStyle.c_white, MainStyle.Barlow500, MainStyle.f_s_23, MainStyle.m_l_37, MainStyle.w_255\n  ],\n  btn: [\n    MainStyle.c_mainBackground, MainStyle.t_a_c, MainStyle.Barlow600, MainStyle.f_s_18\n  ],\n  btn_wrap: [MainStyle.b_r_70, MainStyle.bg_main, MainStyle.b_w_1, MainStyle.b_c_white, MainStyle.h_63, MainStyle.j_c_c],\n  deposit: [MainStyle.b_r_70, MainStyle.bg_newGreen, MainStyle.m_b_20, MainStyle.h_63, MainStyle.j_c_c]\n};\n\nexport default React.memo(ContinueAutoPlayModal);\n","import React, {useContext} from \"react\";\nimport {Pressable, View, Image, Text} from \"react-native\";\nimport MainStyle from \"../../MainStyle\";\nimport ticket_icon from '../assets/img/icons/ticket_icon.svg';\nimport cross_icon from '../assets/img/icons/crosshair-line 1.svg';\nimport trophy_icon from '../assets/img/icons/trophy-line 2.svg';\nimport friends from '../assets/img/icons/friends.svg';\nimport {MaterialCommunityIcons} from '@expo/vector-icons';\nimport {useNavigation} from \"@react-navigation/native\";\nimport {StoreContext} from \"./StoreContextProvider\";\n\ntype Props = { page: 'challenges' | 'account' | 'promos' | 'tournaments' |'FriendsScreen' };\n\nconst BottomNavigation = (props: Props) => {\n  const {page} = props;\n  const navigation: any = useNavigation();\n  const Context = useContext(StoreContext);\n  const {extendedUserData} = Context;\n\n  return (\n    <View style={[MainStyle.row, MainStyle.j_c_s_between, MainStyle.m_x_auto]}>\n      <Pressable onPress={() => navigation.navigate('challenges')} style={styles.item}>\n        <View style={[...styles.btn, page === 'challenges' && styles.active]}>\n          <Image source={cross_icon as any} style={[MainStyle.w_24, MainStyle.h_24]}/>\n        </View>\n        <Text style={styles.text}>GAMES</Text>\n      </Pressable>\n\n      <Pressable onPress={() => navigation.navigate('tournaments')} style={styles.item}>\n        <View style={[...styles.btn, page === 'tournaments' && styles.active]}>\n          <Image source={trophy_icon as any} style={[MainStyle.w_24, MainStyle.h_24]}/>\n        </View>\n        <Text style={styles.text}>Tourney</Text>\n      </Pressable>\n\n      <Pressable onPress={() => navigation.navigate('FriendsScreen')} style={styles.item}>\n        <View style={[...styles.btn, page === 'FriendsScreen' && styles.active]}>\n          <Image source={friends as any} style={{width:22,height:19}}/>\n        </View>\n        <Text style={styles.text}>friends</Text>\n      </Pressable>\n\n      <Pressable onPress={() => navigation.navigate('account')} style={styles.item}>\n        <View style={[...styles.btn, page === 'account' && styles.active]}>\n          <MaterialCommunityIcons name=\"account-circle-outline\" size={24} color=\"white\"/>\n        </View>\n        <Text style={styles.text}>PROFILE</Text>\n      </Pressable>\n\n      <Pressable onPress={() => navigation.navigate('promos')} style={styles.item}>\n        <View style={[...styles.btn, page === 'promos' && styles.active]}>\n          <Image source={ticket_icon as any} style={[MainStyle.w_24, MainStyle.h_24]}/>\n          {extendedUserData.hasnewbonus && <View style={styles.notification}/>}\n        </View>\n        <Text style={styles.text}>PROMOS</Text>\n      </Pressable>\n    </View>\n  );\n};\n\nconst styles = {\n  btn: [\n    MainStyle.w_48, MainStyle.h_48, MainStyle.b_r_40, MainStyle.bg_settings, MainStyle.a_i_c, MainStyle.j_c_c,\n    MainStyle.b_c_settings_border, MainStyle.b_w_1, MainStyle.relative\n  ],\n  active: [MainStyle.bg_filter_chip, MainStyle.b_c_filter_chip_bg],\n  text: [MainStyle.c_white, MainStyle.Barlow500, MainStyle.f_s_12, MainStyle.t_t_u],\n  item: [MainStyle.a_i_c, MainStyle.j_c_c, MainStyle.m_x_6],\n  notification: [\n    MainStyle.absolute, MainStyle.t_0, MainStyle.r__1, MainStyle.bg_warningText, MainStyle.b_r_16, MainStyle.w_12,\n    MainStyle.h_12\n  ]\n};\n\nexport default React.memo(BottomNavigation);\n","import React from \"react\";\nimport {Modal, ScrollView, Text, View} from \"react-native\";\nimport MainStyle from \"../../MainStyle\";\nimport Lottie from \"lottie-react\";\nimport build_your_bank from '../assets/lottie/build-your-bank_10FS_2024-Jul-10.json';\nimport Button from \"../components/Button\";\n\ntype Props = {\n  isOpen: boolean, onClose: () => void, onContinue: () => void, title: string, message: string, firstButtonText: string,\n  hideSecondButton: boolean\n};\n\nconst AlertModal = (props: Props) => {\n  const {isOpen, message, title, firstButtonText, hideSecondButton} = props;\n\n  return (\n    <Modal animationType=\"fade\" transparent visible={isOpen} statusBarTranslucent={false} hardwareAccelerated={false}\n           onRequestClose={props.onClose}>\n      <View style={[MainStyle.fix_gradient_and_modal_error_in_landscape, MainStyle.flex1, MainStyle.bg_filter_modal]}>\n        <ScrollView contentContainerStyle={MainStyle.flex1}>\n          <View style={[MainStyle.min_h_full, MainStyle.a_i_c, MainStyle.j_c_c]}>\n            <View style={styles.contentWrapper}>\n              <Text style={styles.title}>{title}</Text>\n\n              <Lottie animationData={build_your_bank} style={{width: 220, height: 173}} loop={false}/>\n\n              <Text style={styles.label}>{message}</Text>\n\n              <Button text={firstButtonText || 'Confirm'} onPress={props.onContinue} w={264} mb={15}/>\n\n              {!hideSecondButton && (\n                <Button\n                  text=\"Cancel\" onPress={props.onContinue} w={264} bg=\"transparent\" borderWidth={1} mb={15}\n                  borderColor=\"white\" color=\"white\"\n                />\n              )}\n            </View>\n          </View>\n        </ScrollView>\n      </View>\n    </Modal>\n  );\n};\n\nconst styles = {\n  contentWrapper: [\n    MainStyle.bg_settings, MainStyle.max_w_332, MainStyle.full_w, MainStyle.b_r_20, MainStyle.b_c_settings_border,\n    MainStyle.b_w_1, MainStyle.p_t_30, MainStyle.p_b_41, MainStyle.a_i_c\n  ],\n  title: [MainStyle.c_white, MainStyle.Barlow500, MainStyle.f_s_26, MainStyle.t_a_c, MainStyle.l_h_26],\n  label: [\n    MainStyle.c_white, MainStyle.t_a_c, MainStyle.Barlow500, MainStyle.f_s_20, MainStyle.l_h_20,\n    MainStyle.m_b_19\n  ]\n};\n\nexport default React.memo(AlertModal);\n","import React, {useContext, useEffect, useLayoutEffect, useRef, useState} from 'react';\nimport {useWindowDimensions, Platform, Linking} from 'react-native';\nimport {Bet, Golf2Challenge, Session, User} from '../../../../generated/smg_service_pb';\nimport MainStyle from '../../../../MainStyle';\nimport AsyncStorage from \"@react-native-async-storage/async-storage\";\nimport {StoreContext} from \"../../../components/StoreContextProvider\";\nimport OpenBets from \"../../../components/OpenBets\";\nimport {useFormik} from \"formik\";\nimport * as Yup from \"yup\";\nimport {\n  LANDING_PAGE_URL, SESSION_EXPIRE_TIME, Landing, smgEnvironment, tabletBreakpoint, BrandName, dateFormat\n} from \"../../../constants\";\nimport moment from 'moment';\nimport {useIsFocused, useRoute} from '@react-navigation/native';\nimport {useSafeAreaInsets} from \"react-native-safe-area-context\";\nimport ProtectionAndDisclaimer from \"../../../components/ProtectionAndDisclaimer\";\nimport {colors} from \"../../../assets/styles/colors\";\nimport ServiceClient from \"../../../utils/ServiceClient\";\nimport {CancelModalProps} from \"../../../types\";\nimport ContinueAutoPlayModal from \"../../../modals/ContinueAutoPlay\";\nimport NewHeader from \"../../../components/NewHeader\";\nimport BottomNavigation from \"../../../components/BottomNavigation\";\nimport TournamentRegistrationConfirmationModal from \"../../../modals/TournamentRegistrationConfirmationModal\";\nimport AlertModal from \"../../../modals/AlertModal\";\nimport Div from \"../../../lib/Div\";\n\nconst Golf2ChallengeLevel = Golf2Challenge.Golf2ChallengeLevel;\n\ntype Props = { navigation: any };\n\nconst BetSlip = ({navigation}: Props) => {\n  const Context = useContext(StoreContext);\n  const {cancelModalConfig, user, extendedUserData} = Context;\n  const formik = useFormik({\n    initialValues: {contestAmount: ''},\n    validationSchema: Yup.object({contestAmount: Yup.string().required().matches(/^[0-9]*(\\.[0-9]{0,2})?$/, 'invalid')}),\n    onSubmit: () => console.log('onSubmit')\n  });\n  const {width} = useWindowDimensions();\n  const [BetTypes, setBetTypes] = useState<string[]>([]);\n  const [currBetType, setCurrBetType] = useState('paytable');\n  const [betsList, setBetsList] = useState<Bet.AsObject[]>([]);\n  const [activeBet, setActiveBet] = useState<Bet.AsObject>();\n  const isMd = width >= tabletBreakpoint;\n  const isFocused = useIsFocused();\n  const insets = useSafeAreaInsets();\n  const init = useRef(false);\n  const route = useRoute();\n  const [continueAutoPlay, setContinueAutoPlay] = useState(false);\n  const [confirmModalType, setConfirmModalType] = useState<'StartAutoPlay' | 'StopAutoPlay' | ''>('');\n  const [alertModalConfig, setAlertModalConfig] = useState({\n    isOpen: false, title: '', message: '', firstButtonText: '', hideSecondButton: false\n  });\n\n  const enableAutoPlay = (enabled: boolean, fee: number) => {\n    Context.setLoadingOverlay(true);\n\n    ServiceClient.enableAutoPlay(enabled, fee).then(() => {\n      getUser();\n\n    }).catch(err => {\n      console.log('enableAutoPlay err', err);\n      Context.setLoadingOverlay(false);\n\n      Context.setCancelModalConfig({\n        visible: true, title: 'Error', subtitle: err.message, rightBtnText: 'OK',\n        onResume: () => Context.setCancelModalConfig({...cancelModalConfig, visible: false})\n      });\n    });\n  };\n\n  const autoPlayHandler = () => {\n    setConfirmModalType('');\n    if (user) enableAutoPlay(false, user.autoPlayAmount);\n  };\n\n  const challengeFeeChange = (fee: string) => {\n    setConfirmModalType('');\n    formik.setFieldValue('contestAmount', fee);\n    enableAutoPlay(true, fee === '-2' ? -2 : +fee * 100);\n  };\n\n  const changeGameType = () => {\n    setCurrBetType(currBetType === 'golf2' ? 'paytable' : 'golf2');\n  };\n\n  const checkUserAccess = () => {\n    if (!user?.tncAccepted) {\n      Context.setCancelModalConfig({\n        visible: true, title: 'Notice', titleColor: MainStyle.c_yellow, leftBtnText: 'OK',\n        subtitle: 'Please accept Terms & Conditions and complete Know Your Customer to create your account and play.',\n        onExit: () => {\n          Context.setCancelModalConfig({...cancelModalConfig, visible: false});\n          navigation.reset({index: 0, routes: [{name: 'Register', params: {step: 2}}]});\n        }\n      });\n      return false;\n\n    } else if (user && user.kycStatus === 5) {\n      Context.setCancelModalConfig({\n        visible: true, title: 'ERROR', leftBtnText: 'OK',\n        subtitle: 'Your KYC details appear to be identical to an existing registration record in our database. We have sent a message to the email originally provided with your KYC credentials suggesting to reset the PIN if you forgot it. If this does not help, You can request Support  to assist with your registration.',\n        onExit: () => {\n          Context.logout().then(() => {\n            setTimeout(() => {\n              if (Platform.OS === 'web') window.location.reload();\n            }, 150);\n            Context.setCancelModalConfig({...cancelModalConfig, visible: false});\n            navigation.reset({index: 0, routes: [{name: 'Splash'}]});\n          });\n        }\n      });\n      return false;\n\n    } else if (user && user.kycStatus === 6) {\n      Context.setCancelModalConfig({\n        visible: true, title: 'ERROR', leftBtnText: 'Cancel', rightBtnText: 'Contact Support',\n        subtitle: `Your Know Your Customer information and registration information do not match. Your account with ${BrandName} has been locked. Please contact support to resolve this issue.`,\n        onResume: () => {\n          if (Platform.OS === 'web') {\n            window.open('https://smgames.atlassian.net/servicedesk/customer/portal/3', '_self');\n          }\n        },\n        onClose: () => {\n          Context.setCancelModalConfig({...cancelModalConfig, visible: false});\n          navigation.navigate({name: 'account', params: {step: 0}});\n        }\n      });\n      return false;\n\n    } else if (!user?.photoAccepted) {\n      navigation.reset({index: 0, routes: [{name: 'Register', params: {step: 3}}]});\n      return false;\n\n    } else if (user && user.dateOfBirth && moment().diff(moment(user.dateOfBirth, dateFormat), 'years') < 18) {\n      Context.setCancelModalConfig({\n        visible: true, title: 'Warning', titleColor: MainStyle.c_yellow, leftBtnText: 'OK',\n        subtitle: 'You have successfully completed registration. However, you must be 18 or older to play.',\n        onExit: () => {\n          Context.logout().then(() => {\n            setTimeout(() => {\n              if (Platform.OS === 'web') window.location.reload();\n            }, 150);\n            Context.setCancelModalConfig({...cancelModalConfig, visible: false});\n            navigation.reset({index: 0, routes: [{name: 'Splash'}]});\n          });\n        }\n      });\n      return false;\n\n    } else if (user && user.selfLimitationConfirmed) {\n      Context.setCancelModalConfig({\n        visible: true, title: 'Notice', titleColor: MainStyle.c_yellow, leftBtnText: 'OK',\n        subtitle: `You will not be able to play or deposit money while the Self-Limitation is in effect. End of Self-Limitation on ${moment.unix(user.selfLimitationExpiration).format('ll')}`,\n        onExit: () => {\n          Context.setCancelModalConfig({...cancelModalConfig, visible: false});\n          navigation.navigate({name: 'account', params: {step: 1}});\n        }\n      });\n      return false;\n    }\n\n    return true;\n  };\n\n  const setBets = (res: Bet.AsObject[]) => {\n    const val: string[] = [];\n\n    res.forEach(el => {\n      if (!val.includes(el.betType)) val.push(el.betType);\n\n      // sort golf2challengesList\n      if (el.golf2challengesList.length) {\n        const EASY = el.golf2challengesList.find(challenge => challenge.level === Golf2ChallengeLevel.EASY);\n        const MEDIUM = el.golf2challengesList.find(challenge => challenge.level === Golf2ChallengeLevel.MEDIUM);\n        const HARD = el.golf2challengesList.find(challenge => challenge.level === Golf2ChallengeLevel.HARD);\n        if (EASY && MEDIUM && HARD) el.golf2challengesList = [EASY, MEDIUM, HARD];\n      }\n    });\n\n    if (val.length && (!currBetType || !val.includes(currBetType))) setCurrBetType(val[0]);\n\n    setBetTypes(val);\n    setBetsList(res);\n\n    setTimeout(() => {\n      Context.setLoadingOverlay(false);\n    }, 150);\n  };\n\n  const GetBets = (state: 'open' | 'accepted', session?: Session.AsObject) => {\n    ServiceClient.getBets(state, session).then(res => {\n      // show only old game on external\n      if (smgEnvironment !== 'dev') res = res.filter(el => el.betType === 'paytable');\n\n      if (state === 'open') {\n        if (smgEnvironment === 'dev' ? res.length === 2 : res.length === 1) {\n          setBets(res);\n          if (extendedUserData.hasactivetournament && !user?.autoPlayEnabled) setContinueAutoPlay(true);\n\n        } else {\n          setTimeout(() => {\n            GetBets('accepted', session);\n          }, 300);\n        }\n\n      } else if (state === 'accepted') {\n        if (res.length) {\n          setBets(res);\n          if (extendedUserData.hasactivetournament && !user?.autoPlayEnabled) setContinueAutoPlay(true);\n\n        } else {\n          setTimeout(() => {\n            GetBets('open', session);\n          }, 150);\n        }\n      }\n\n    }).catch(err => {\n      console.log('getBets err', err);\n      const params: any = route.params;\n      Context.setLoadingOverlay(false);\n\n      let conf: CancelModalProps = {\n        visible: true, title: 'ERROR', leftBtnText: 'OK', subtitle: err.message,\n        onExit: () => {\n          Context.setCancelModalConfig({...cancelModalConfig, visible: false});\n          navigation.navigate({name: 'account', params: {step: 1}});\n        }\n      };\n\n      if (err.code === 20020054) {\n        conf.leftBtnText = 'Locations';\n        conf.titleColor = MainStyle.c_lightblue;\n        conf.rightBtnText = 'OK';\n        conf.rightBtnBackgroundColor = colors.gray;\n\n        conf.onResume = () => {\n          Context.setCancelModalConfig({...cancelModalConfig, visible: false});\n          navigation.navigate({name: 'account', params: {step: 0}});\n        };\n\n        conf.onExit = () => {\n          const url = `${Landing}/locations/`;\n          if (Platform.OS === 'web') window.open(url, '_self');\n          else Linking.openURL(url).then();\n        };\n\n        if (params && params.fromRegistrationPage) {\n          conf.title = 'Congrats! You are all set.';\n          conf.subtitle = `Go to your nearest ${BrandName} venue to play.`;\n\n        } else {\n          conf.title = 'Offsite Mode';\n          conf.subtitle = 'While away from SMG locations, you can see your profile and account information.';\n          conf.secondary = 'To enter challenges, go to your nearest location.';\n        }\n      }\n\n      Context.setCancelModalConfig(conf);\n    });\n  };\n\n  const getUser = () => {\n    Context.getUser().catch(err => {\n      console.log('getUser err', err);\n      setTimeout(() => {\n        getUser();\n      }, 5000);\n    });\n  };\n\n  useEffect(() => {\n    if (activeBet) {\n      formik.setFieldValue('contestAmount', `${extendedUserData.isnewplayer || extendedUserData.freeshotnumber !== extendedUserData.freeshotcount ? 3 : activeBet.amount === -2 ? -2 : activeBet.amount / 100}`);\n\n      if (extendedUserData.isnewplayer) {\n        (async () => {\n          let newPlayers = await AsyncStorage.getItem('newPlayers');\n\n          if (!newPlayers || !newPlayers?.includes(`${user?.userId}`)) {\n            setAlertModalConfig({\n              isOpen: true, title: 'Build Your Bank!', message: 'You have 10 Free Shots to win as much as possible.',\n              firstButtonText: 'Start Now', hideSecondButton: true\n            });\n\n            await AsyncStorage.setItem('newPlayers', newPlayers ? newPlayers + `${user?.userId}, ` : `${user?.userId}, `);\n          }\n        })();\n\n      } else if ((extendedUserData.freeshotnumber === extendedUserData.freeshotcount) && !user?.autoPlayEnabled && !init.current) {\n        setConfirmModalType('StartAutoPlay');\n        init.current = true;\n      }\n    }\n  }, [activeBet?.betId]);\n\n  useEffect(() => {\n    if (betsList.length && currBetType) setActiveBet(betsList.find(el => el.betType === currBetType));\n  }, [betsList, currBetType]);\n\n  useEffect(() => {\n    if (!user || !isFocused) return;\n    let time: any;\n\n    if (checkUserAccess()) {\n      GetBets('accepted');\n\n      time = setTimeout(() => {\n        getUser();\n      }, 1000 * 10);\n\n    } else {\n      Context.setLoadingOverlay(false);\n    }\n\n    return () => {\n      clearTimeout(time);\n    };\n  }, [user, isFocused]);\n\n  useEffect(() => {\n    if (!isFocused) return;\n    const time = setInterval(() => {\n      (async () => {\n        const lastActiveTime = await AsyncStorage.getItem('lastActiveTime');\n\n        if (lastActiveTime && moment().diff(moment(lastActiveTime), 'minutes') > SESSION_EXPIRE_TIME) {\n          Context.logout().then(() => {\n            if (Platform.OS === 'web') window.open(LANDING_PAGE_URL, '_self');\n            Context.setLoadingOverlay(false);\n          });\n        }\n      })();\n    }, 1000 * 60);\n\n    return () => {\n      clearInterval(time);\n    };\n  }, [isFocused]);\n\n  useLayoutEffect(() => {\n    if (activeBet) Context.setLoadingOverlay(true);\n\n    (async () => {\n      const time = await AsyncStorage.getItem('lastActiveTime');\n\n      if (time && moment().diff(moment(time), 'minutes') > SESSION_EXPIRE_TIME) {\n        Context.logout().then(() => {\n          if (Platform.OS === 'web') window.open(LANDING_PAGE_URL, '_self');\n          Context.setLoadingOverlay(false);\n        });\n\n      } else {\n        const val = await AsyncStorage.getItem('session');\n        let curUser: User.AsObject | undefined;\n\n        if (val) {\n          const Session = JSON.parse(val);\n          Context.setSession(Session);\n\n          try {\n            curUser = await Context.getUser(Session);\n\n          } catch (e: any) {\n            console.log('get curUser err', e);\n            Context.setCancelModalConfig({\n              visible: true, title: 'Error', subtitle: e?.message || 'Error', rightBtnText: 'OK',\n              onResume: () => {\n                Context.setCancelModalConfig({...cancelModalConfig, visible: false});\n                Context.logout().then(() => {\n                  if (Platform.OS === 'web') window.open(LANDING_PAGE_URL, '_self');\n                  Context.setLoadingOverlay(false);\n                });\n              }\n            });\n          }\n        }\n\n        if (!val || !curUser || !curUser.userId) {\n          Context.logout().then(() => {\n            if (Platform.OS === 'web') window.open(LANDING_PAGE_URL, '_self');\n            Context.setLoadingOverlay(false);\n          });\n\n        } else console.log('user', curUser);\n      }\n    })();\n  }, []);\n\n  return (\n    <>\n      <Div flex={1} pt={insets.top}>\n        <Div flex={1}>\n          {(!!activeBet && activeBet.betState === 'open') ? (\n            <OpenBets\n              bet={activeBet} formik={formik} title=\"New Challenge\" type=\"open\" changeGameType={changeGameType}\n              moreGames={BetTypes.length > 1}\n              showAutoPlayModal={val => setConfirmModalType(val ? val : user?.autoPlayEnabled ? 'StopAutoPlay' : 'StartAutoPlay')}\n            />\n          ) : (!!activeBet && activeBet.betState === 'accepted') ? (\n            <OpenBets\n              bet={activeBet} title=\"Live Challenge\" type=\"accepted\"\n              showAutoPlayModal={val => setConfirmModalType(val ? val : user?.autoPlayEnabled ? 'StopAutoPlay' : 'StartAutoPlay')}\n              formik={formik}\n            />\n          ) : (\n            <>\n              <NewHeader/>\n              <ProtectionAndDisclaimer isLg={isMd} text=\"Loading\"/>\n            </>\n          )}\n        </Div>\n\n        {/*<Button*/}\n        {/*  text=\"MORE GAMES\" style={[styles.more_btn_m, styles.stickyBtn_md]} bg={colors.unselect}*/}\n        {/*  textStyle={[MainStyle.t_a_c, MainStyle.f_s_18]} onPress={changeGameType} w={150}*/}\n        {/*/>*/}\n\n        <BottomNavigation page=\"challenges\"/>\n      </Div>\n\n      {!!formik.values.contestAmount && (\n        <TournamentRegistrationConfirmationModal\n          isOpen={!!confirmModalType} onClose={() => setConfirmModalType('')} joinTournament={challengeFeeChange}\n          type={confirmModalType} entryFee={0} entryChallengeFee={`${+formik.values.contestAmount * 100}`}\n          autoPlayHandler={autoPlayHandler} min_h={confirmModalType === 'StopAutoPlay' ? 372 : undefined}\n        />\n      )}\n\n      <ContinueAutoPlayModal\n        isOpen={continueAutoPlay} onClose={() => setContinueAutoPlay(false)}\n        onReload={getUser}\n      />\n\n      <AlertModal\n        isOpen={alertModalConfig.isOpen}\n        onClose={() => setAlertModalConfig(prevState => ({...prevState, isOpen: false}))}\n        message={alertModalConfig.message} title={alertModalConfig.title}\n        onContinue={() => setAlertModalConfig(prevState => ({...prevState, isOpen: false}))}\n        firstButtonText={alertModalConfig.firstButtonText} hideSecondButton={alertModalConfig.hideSecondButton}\n      />\n    </>\n  );\n};\n\nexport default BetSlip;\n","import React, {useLayoutEffect, useRef, useState} from \"react\";\nimport {TextInput, View, Pressable, Platform} from \"react-native\";\nimport {defaultCountries, FlagEmoji, parseCountry, usePhoneInput} from 'react-international-phone';\nimport MainStyle from \"../../MainStyle\";\nimport {formatWithMask, useMaskedInputProps} from \"react-native-mask-input\";\nimport {outline_0} from \"../constants\";\nimport SelectModal from \"../modals/SelectModal\";\nimport Div from \"../lib/Div\";\nimport P from \"../lib/P\";\n\nconst Countries = defaultCountries.map(el => el);\n\nconst us = Countries.splice(Countries.findIndex(el => {\n  const [, iso2] = el;\n  return iso2 === 'us';\n}), 1)[0];\n\nconst ca = Countries.splice(Countries.findIndex(el => {\n  const [, iso2] = el;\n  return iso2 === 'ca';\n}), 1)[0];\n\n// Add the United States and Canada to the top.\nCountries.unshift(us, ca);\n\ntype Props = {\n  value: string, onChangeText: (val: string) => void, label: string, w?: string | number, placeholder: string,\n  onBlur?: (e: any) => void, error?: string | boolean, mb?: number, withoutMask?: boolean\n};\n\nconst PhoneInput = (props: Props) => {\n  const {value, label, w, placeholder, error, mb, withoutMask} = props;\n  const [country, setCountry] = useState(parseCountry(Countries[0]));\n  const mask = country.format ? ['+', ...country.dialCode.split(''), ' ', ...country.format.split('').map(str => str === '.' ? /\\d/ : str)] : ['+', ...country.dialCode.split(''), ' ', /\\d/, /\\d/, /\\d/, /\\d/, /\\d/, /\\d/, /\\d/, /\\d/, /\\d/, /\\d/];\n  const numberMask = country.format ? ['+', ...country.dialCode.split(''), ' ', ...country.format.replaceAll(' ', '').replaceAll('(', '').replaceAll(')', '').split('').map(str => str === '.' ? /\\d/ : str)] : ['+', ...country.dialCode.split(''), ' ', /\\d/, /\\d/, /\\d/, /\\d/, /\\d/, /\\d/, /\\d/, /\\d/, /\\d/, /\\d/];\n  const phoneMaskedInputProps = useMaskedInputProps({\n    value, onChangeText: props.onChangeText, mask: withoutMask ? numberMask : mask\n  });\n  const [visible, setVisible] = useState(false);\n  const ref = useRef<any>();\n  const CountryGuess = usePhoneInput({defaultCountry: 'us', value});\n\n  const onChangeText = (text: string) => {\n    const {unmasked: phone} = formatWithMask({text: text, mask});\n    props.onChangeText(`+${country.dialCode}${phone}`);\n  };\n\n  const onFocus = () => {\n    if (Platform.OS === 'web') {\n      const {maxTouchPoints, platform} = window.navigator;\n\n      if (maxTouchPoints && platform === 'Win32') {\n        ref.current?.scrollIntoView({behavior: 'instant', block: 'center', inline: 'center'});\n      }\n    }\n  };\n\n  const onResume = (val?: string) => {\n    setVisible(false);\n    if (!val) return;\n\n    const find = Countries.find(el => {\n      const [, iso2] = el;\n      return iso2 === val;\n    });\n\n    if (find) {\n      setCountry(parseCountry(find));\n      props.onChangeText('');\n    }\n  };\n\n  useLayoutEffect(() => {\n    if (value) {\n      const findCountry = Countries.find(el => {\n        const [, iso2] = el;\n        return iso2 === CountryGuess.country;\n      });\n\n      if (findCountry) setCountry(parseCountry(findCountry));\n    }\n  }, []);\n\n  return (\n    <Div w={w} mb={mb}>\n      <P ta=\"center\" fs={14} fw=\"500\" tt=\"uppercase\" mb={1} opacity={0.5}>{label}</P>\n\n      <View style={[...styles.inputWrapper, error ? MainStyle.b_c_warn : {}]} ref={ref}>\n        <Pressable style={styles.icon} onPress={() => setVisible(true)}>\n          <FlagEmoji iso2={country.iso2} style={{width: 33, height: 33}}/>\n        </Pressable>\n\n        <TextInput\n          style={styles.input} keyboardType=\"phone-pad\" onBlur={props.onBlur} value={phoneMaskedInputProps.value}\n          onChangeText={onChangeText} placeholder={`+${country.dialCode} ${placeholder}`} onFocus={onFocus}\n        />\n      </View>\n\n      <SelectModal visible={visible} onResume={onResume} value={country.iso2} countries={Countries}/>\n    </Div>\n  );\n};\n\nconst styles = {\n  inputWrapper: [\n    MainStyle.row, MainStyle.h_66, MainStyle.b_r_200, MainStyle.b_w_1, MainStyle.b_c_settings_border,\n    MainStyle.bg_loading_login, MainStyle.relative, MainStyle.a_i_c\n  ],\n  icon: [\n    MainStyle.m_l_32, MainStyle.w_24, MainStyle.h_24, MainStyle.b_r_20, MainStyle.o_hidden, MainStyle.a_i_c,\n    MainStyle.j_c_c\n  ],\n  input: [\n    MainStyle.m_l_8, MainStyle.c_white, MainStyle.Barlow500, MainStyle.f_s_24, outline_0,\n    MainStyle.flex1\n  ]\n};\n\nexport default React.memo(PhoneInput);\n","import React from \"react\";\nimport {TouchableOpacity} from \"react-native\";\nimport MainStyle from \"../../MainStyle\";\nimport {toCapitalize} from \"../utils\";\nimport {colors} from \"../assets/styles/colors\";\nimport {MaterialIcons} from \"@expo/vector-icons\";\nimport Div from \"../lib/Div\";\nimport P from \"../lib/P\";\n\ntype Props = {\n  value: string, mt?: string | number, w?: string | number, error?: boolean | string, mb?: string | number,\n  onChange: (val: 'left' | 'right') => void, mx?: string | number\n};\n\nconst Handedness = (props: Props) => {\n  const {value, mt, w, error, mx, mb} = props;\n\n  return (\n    <Div mt={mt} w={w} mx={mx} mb={mb}>\n      <P ta=\"center\" fs={12} opacity={0.5}>HANDEDNESS</P>\n\n      <Div row borderWidth={1} rounded={200} h={66} justifyContent=\"center\"\n           borderColor={error ? colors.newDangerText : colors.settings_border}>\n        <TouchableOpacity style={[MainStyle.row, MainStyle.a_i_c]} onPress={() => props.onChange('left')}>\n          <MaterialIcons name={`radio-button-${value === 'left' ? 'on' : 'off'}`} size={18} color=\"white\"/>\n          <P fw=\"500\" fs={18} ml={15}>Left</P>\n        </TouchableOpacity>\n\n        <Div w={83}/>\n\n        <TouchableOpacity style={[MainStyle.row, MainStyle.a_i_c]} onPress={() => props.onChange('right')}>\n          <MaterialIcons name={`radio-button-${value === 'right' ? 'on' : 'off'}`} size={18} color=\"white\"/>\n          <P fw=\"500\" fs={18} ml={15}>Right</P>\n        </TouchableOpacity>\n      </Div>\n\n      <P flex={1} ta=\"center\" fw=\"500\" fs={8} lh={9} color={colors.newDangerText}>{toCapitalize(error as string)}</P>\n    </Div>\n  );\n};\n\nexport default React.memo(Handedness);\n","import React, {useContext, useLayoutEffect, useState} from 'react';\nimport {Platform, Text, View} from 'react-native';\nimport {StoreContext} from \"../../../../../components/StoreContextProvider\";\nimport * as Yup from \"yup\";\nimport {useFormik} from \"formik\";\nimport Input from \"../../../../../components/Input\";\nimport MainStyle from \"../../../../../../MainStyle\";\nimport {dateFormat, phoneUtil} from '../../../../../constants';\nimport {colors} from \"../../../../../assets/styles/colors\";\nimport Button from \"../../../../../components/Button\";\nimport {profanity} from '@2toad/profanity';\nimport PhoneInput from \"../../../../../components/PhoneInput\";\nimport Handedness from \"../../../../../components/Handedness\";\nimport {useNavigation} from \"@react-navigation/native\";\nimport ServiceClient from \"../../../../../utils/ServiceClient\";\nimport {updateUserPayloadType} from \"../../../../../types\";\nimport OtpModal from \"../../../../../modals/OtpModal\";\nimport {ChangeType} from \"../../../../../../generated/smg_service_pb\";\nimport moment from \"moment\";\n\nconst Profile = () => {\n  const Context = useContext(StoreContext);\n  const {cancelModalConfig, user} = Context;\n  const formik = useFormik({\n    initialValues: {email: '', phone: '', username: '', handedness: ''},\n    validationSchema: Yup.object({\n      email: Yup.string().email().required(), phone: Yup.string(), username: Yup.string().required(),\n      handedness: Yup.string()\n    }),\n    onSubmit: (values) => {\n      let isValid = false;\n\n      try {\n        isValid = phoneUtil.isValidNumber(phoneUtil.parseAndKeepRawInput(values.phone));\n\n      } catch (error) {\n        console.log('isValidNumber error', error);\n      }\n\n      if (!isValid) {\n        formik.setFieldError('phone', 'Invalid format');\n        return;\n\n      } else if (profanity.exists(values.username)) {\n        formik.setFieldError('username', 'The selected user name is not allowed. Please choose another username');\n        return;\n      }\n\n      onSave();\n    }\n  });\n  const [init, setInit] = useState(false);\n  const navigation: any = useNavigation();\n  const [phoneVerificationDialog, setPhoneVerificationDialog] = useState(false);\n\n  const requestChange = (type: ChangeType) => () => {\n    Context.setLoadingOverlay(true);\n\n    ServiceClient.requestChange(type).then(() => {\n      Context.setLoadingOverlay(false);\n\n      Context.setCancelModalConfig({\n        visible: true, title: 'Success', titleColor: MainStyle.c_green, leftBtnText: 'OK',\n        subtitle: `You have successfully sent a request to change your ${type === ChangeType.ADDRESS ? 'address' : 'photo'} to the support team.`,\n        onExit: () => Context.setCancelModalConfig({...cancelModalConfig, visible: false})\n      });\n\n    }).catch(err => {\n      Context.setLoadingOverlay(false);\n      console.log('requestChange err', err);\n\n      Context.setCancelModalConfig({\n        visible: true, subtitle: err.message || 'requestChange Error', title: 'Error', leftBtnText: 'OK',\n        onExit: () => Context.setCancelModalConfig({...cancelModalConfig, visible: false})\n      });\n    });\n  };\n\n  const updatePhoneNumber = (code?: string) => {\n    setPhoneVerificationDialog(false);\n    Context.setLoadingOverlay(true);\n\n    ServiceClient.updatePhoneNumber(formik.values.phone, code).then(() => {\n      Context.setLoadingOverlay(false);\n\n    }).catch(err => {\n      Context.setLoadingOverlay(false);\n      console.log('updatePhoneNumber err', err);\n\n      Context.setCancelModalConfig({\n        visible: true, subtitle: err.message || 'UpdatePhoneNumber Error', title: 'Error', leftBtnText: 'OK',\n        onExit: () => Context.setCancelModalConfig({...cancelModalConfig, visible: false})\n      });\n    });\n  };\n\n  const requestOtpCode = () => {\n    Context.setLoadingOverlay(true);\n\n    ServiceClient.requestOtpCode({phone: formik.values.phone}).then(() => {\n      Context.setLoadingOverlay(false);\n      setPhoneVerificationDialog(true);\n\n    }).catch(err => {\n      Context.setLoadingOverlay(false);\n      console.log('requestOtpCode err', err);\n\n      Context.setCancelModalConfig({\n        visible: true, subtitle: err.message || 'requestOtpCode Error', title: 'Error', leftBtnText: 'OK',\n        onExit: () => Context.setCancelModalConfig({...cancelModalConfig, visible: false})\n      });\n    });\n  };\n\n  const deactivateAccountHandler = () => {\n    Context.setCancelModalConfig({\n      visible: true, title: 'Do you want to De-Activate your account?', leftBtnText: 'NO', rightBtnText: 'YES',\n      subtitle: 'This will disable your ability to log in.', rightBtnBorderColor: colors.popupDangerPrimary,\n      onResume: () => onAccountDeactivate(),\n      onExit: () => Context.setCancelModalConfig({...cancelModalConfig, visible: false}),\n      leftBtnBackgroundColor: colors.unselect, rightBtnBackgroundColor: colors.btn_bg_color,\n      rightBtnBorderWidth: 1, rightBtnColor: colors.popupDangerPrimary\n    });\n  };\n\n  const onAccountDeactivate = () => {\n    Context.setCancelModalConfig({...cancelModalConfig, visible: false});\n    Context.setLoadingOverlay(true);\n\n    ServiceClient.deactivateAccount().then(() => {\n      Context.logout().then(() => {\n        setTimeout(() => {\n          if (Platform.OS === 'web') window.location.reload();\n        }, 150);\n        navigation.reset({index: 0, routes: [{name: 'Splash'}]});\n        Context.setLoadingOverlay(false);\n      });\n\n    }).catch(err => {\n      console.log('DeactivateAccount err', err);\n      Context.setLoadingOverlay(false);\n\n      Context.setCancelModalConfig({\n        visible: true, subtitle: err.message || 'DeactivateAccount Error', title: 'Error', leftBtnText: 'OK',\n        onExit: () => Context.setCancelModalConfig({...cancelModalConfig, visible: false})\n      });\n    });\n  };\n\n  const getFieldError = (key: string): boolean | string | undefined => {\n    return formik.touched[key as keyof typeof formik.touched] && formik.errors[key as keyof typeof formik.errors];\n  };\n\n  const requestEmailChange = () => {\n    Context.setLoadingOverlay(true);\n\n    ServiceClient.requestEmailChange(formik.values.email).then(() => {\n      Context.setIsSuccessMessageShow('Email Confirmation Sent\\n\\nIf you do not see email, check your \"junk\" or \"spam\" folder');\n      Context.setLoadingOverlay(false);\n\n      setTimeout(() => {\n        Context.setIsSuccessMessageShow('');\n      }, 3000);\n\n    }).catch(err => {\n      console.log('RequestEmailChange error', err);\n      Context.setLoadingOverlay(false);\n\n      Context.setCancelModalConfig({\n        visible: true, subtitle: err.message || 'RequestEmailChange Error', title: 'Error', leftBtnText: 'OK',\n        onExit: () => Context.setCancelModalConfig({...cancelModalConfig, visible: false})\n      });\n    });\n  };\n\n  const updateUser = () => {\n    if (!user) return;\n    Context.setLoadingOverlay(true);\n\n    const {username, handedness} = formik.values;\n    const {\n      allowTextNotifications, allowEmailNotifications, allowPartnerPromos, handicap, firstname, lastname, dateOfBirth\n    } = user;\n\n    const payload: updateUserPayloadType = {\n      username, handedness, allowTextNotifications, allowEmailNotifications, allowPartnerPromos, handicap, firstname,\n      lastname, dateOfBirth: moment(dateOfBirth, dateFormat).format()\n    };\n\n    ServiceClient.updateUser(payload).then(() => {\n      Context.setLoadingOverlay(false);\n      Context.getUser().then();\n\n    }).catch(err => {\n      console.log('UpdateUser error', err);\n      Context.setLoadingOverlay(false);\n\n      Context.setCancelModalConfig({\n        visible: true, subtitle: err.message || 'UpdateUser Error', title: 'Error', leftBtnText: 'OK',\n        onExit: () => Context.setCancelModalConfig({...cancelModalConfig, visible: false})\n      });\n    });\n  };\n\n  const onSave = () => {\n    if (!user) return;\n\n    const {emailAddress, phoneNumber} = user;\n    const {email, username, phone, handedness} = formik.values;\n\n    if (emailAddress !== email) requestEmailChange();\n    if (phoneNumber !== phone) requestOtpCode();\n    if (user.username !== username || user.handedness !== handedness) updateUser();\n  };\n\n  useLayoutEffect(() => {\n    formik.resetForm({\n      values: {\n        email: user?.emailAddress || '', phone: user?.phoneNumber || '', username: user?.username || '',\n        handedness: user?.handedness || ''\n      }\n    });\n\n    // fixing issues with incorrect phone country\n    setInit(true);\n  }, []);\n\n  return (\n    <View style={[MainStyle.p_t_30, MainStyle.p_x_15, MainStyle.max_w_690, MainStyle.m_x_auto]}>\n      <Button\n        w={244} h={24} bg={colors.unselect} mb={19} fontSize={16} text=\"CHANGE ADDRESS\"\n        onPress={requestChange(ChangeType.ADDRESS)} mx=\"auto\"\n      />\n\n      <Button\n        w={244} h={24} bg={colors.unselect} fontSize={16} text=\"CHANGE PHOTO\"\n        onPress={requestChange(ChangeType.PHOTO)} mx=\"auto\" mb={20}\n      />\n\n      <Input\n        type=\"email-address\" placeholder=\"Enter Text Here\" label=\"EMAIL ADDRESS\"\n        value={formik.values.email} error={getFieldError('email')} mb={9}\n        onChangeText={formik.handleChange('email')} onBlur={formik.handleBlur('email')}\n      />\n\n      {init && (\n        <PhoneInput\n          placeholder=\"Phone Number\" label=\"PHONE NUMBER - MOBILE *\" mb={14}\n          value={formik.values.phone} onChangeText={formik.handleChange('phone')}\n          onBlur={formik.handleBlur('phone')} error={getFieldError('phone')}\n        />\n      )}\n\n      <Input\n        placeholder=\"Enter Text Here\" label=\"Player Name (for screen)\"\n        value={formik.values.username} error={getFieldError('username')} mb={12}\n        onChangeText={formik.handleChange('username')} onBlur={formik.handleBlur('username')}\n      />\n\n      <Handedness\n        error={formik.touched.handedness && formik.errors.handedness} value={formik.values.handedness}\n        onChange={val => formik.setFieldValue('handedness', val)} mb={30}\n      />\n\n      <Button text=\"UPDATE PROFILE\" onPress={formik.submitForm} mb={20}/>\n\n      <Button bg=\"transparent\" borderWidth={1} text=\"DEACTIVATE ACCOUNT\" borderColor={colors.popupDangerPrimary} color={colors.popupDangerPrimary} onPress={deactivateAccountHandler} mb={25}/>\n\n      <Text style={styles.subtitle_s}>\n        Any changes to your profile information must be reviewed and approved. You will receive an email after\n        this process is complete.\n      </Text>\n\n      <OtpModal\n        visible={phoneVerificationDialog} setVisible={updatePhoneNumber}\n        phone={formik.values.phone} email={formik.values.email} goBackBtn\n        onSuccess={() => navigation.reset({index: 0, routes: [{name: 'challenges'}]})}\n      />\n    </View>\n  );\n};\n\nconst styles = {\n  subtitle_s: [\n    MainStyle.Barlow400, MainStyle.f_s_12, MainStyle.c_white, MainStyle.t_a_c, MainStyle.w_267, MainStyle.m_x_auto,\n    MainStyle.m_b_20\n  ]\n};\n\nexport default React.memo(Profile);\n","import React from 'react';\nimport {Pressable} from \"react-native\";\nimport MainStyle from \"../../MainStyle\";\nimport {Ionicons} from '@expo/vector-icons';\nimport {colors} from \"../assets/styles/colors\";\n\ntype Props = { value: boolean, onValueChange?: () => void, size: number };\n\nconst Checkbox = (props: Props) => {\n  const {value, size} = props;\n\n  return (\n    <Pressable style={MainStyle.relative} onPress={props.onValueChange}>\n      <Ionicons name=\"square-outline\" size={size} color=\"white\"/>\n      {value && (\n        <Ionicons\n          name=\"checkmark\" style={[MainStyle.absolute, MainStyle.b_1]} size={size + 3}\n          color={colors.newGreenText}\n        />\n      )}\n    </Pressable>\n  );\n};\n\nexport default React.memo(Checkbox);\n","import React, {useContext, useEffect, useState} from \"react\";\nimport {Text, Pressable, View} from \"react-native\";\nimport Input from \"./Input\";\nimport MainStyle from \"../../MainStyle\";\nimport Button from \"./Button\";\nimport * as Yup from \"yup\";\nimport {useFormik} from \"formik\";\nimport {formatWithMask, useMaskedInputProps} from \"react-native-mask-input\";\nimport {AxiosError} from \"axios\";\nimport {smgEProtectUrl, smgPayPageId, smgReportGroup} from \"../constants\";\nimport {StoreContext} from \"./StoreContextProvider\";\nimport {colors} from \"../assets/styles/colors\";\nimport Valid from \"card-validator\";\nimport Checkbox from \"./Checkbox\";\nimport {useNavigation} from \"@react-navigation/native\";\nimport ServiceClient from \"../utils/ServiceClient\";\nimport {DepositPayloadType, EProtectResponse} from \"../types\";\nimport {formatCurrency, getLocation} from \"../utils\";\n\nconst initialValues = {number: '', expiry: '', cvc: '', name: ''};\nconst validationSchema = Yup.object({\n  number: Yup.string().required(), expiry: Yup.string().required('Required Field').min(5), cvc: Yup.string().required(),\n  name: Yup.string()\n});\n\nconst numberMask = [/\\d/, /\\d/, /\\d/, /\\d/, ' ', /\\d/, /\\d/, /\\d/, /\\d/, ' ', /\\d/, /\\d/, /\\d/, /\\d/, ' ', /\\d/, /\\d/, /\\d/, /\\d/];\nconst expiryMask = [/\\d/, /\\d/, '/', /\\d/, /\\d/];\nconst cvcMask = [/\\d/, /\\d/, /\\d/];\n\ntype Props = { isSm: boolean, amount: string, goBack: () => void };\n\nconst OnlinePayment = (props: Props) => {\n  const {isSm, amount} = props;\n  const Context = useContext(StoreContext);\n  const {cancelModalConfig, user} = Context;\n  const formik = useFormik({\n    initialValues, validationSchema,\n    onSubmit: () => {\n      if (user && user.selfLimitationConfirmed) {\n        Context.setCancelModalConfig({\n          visible: true, title: 'Notice', titleColor: MainStyle.c_yellow, leftBtnText: 'OK',\n          subtitle: 'You will not be able to play or deposit money while the Self-Limitation is in effect.',\n          onExit: () => {\n            Context.setCancelModalConfig({...cancelModalConfig, visible: false});\n            navigation.navigate('SelfExclusion');\n          }\n        });\n\n      } else getToken();\n    }\n  });\n  const numberValidation = Valid.number(formik.values.number);\n  let cardNumberMask = numberMask;\n  let codeSizeMask = cvcMask;\n  const [isChecked, setIsChecked] = useState(false);\n  const navigation: any = useNavigation();\n\n  if (numberValidation.card) {\n    const {gaps, lengths, code} = numberValidation.card;\n    cardNumberMask = [];\n    codeSizeMask = [];\n\n    for (let i = 0; i < lengths[lengths.length - 1]; i++) {\n      if (gaps.includes(i)) cardNumberMask.push(' ');\n      cardNumberMask.push(/\\d/);\n    }\n\n    for (let i = 0; i < code.size; i++) {\n      codeSizeMask.push(/\\d/);\n    }\n  }\n\n  const numberMaskedInputProps = useMaskedInputProps({\n    value: formik.values.number, onChangeText: formik.handleChange('number'), mask: cardNumberMask\n  });\n\n  const expiryMaskedInputProps = useMaskedInputProps({\n    value: formik.values.expiry, onChangeText: formik.handleChange('expiry'), mask: expiryMask\n  });\n\n  const codeMaskedInputProps = useMaskedInputProps({\n    value: formik.values.cvc, onChangeText: formik.handleChange('cvc'), mask: codeSizeMask\n  });\n\n  const getToken = () => {\n    Context.setLoadingOverlay(true);\n\n    ServiceClient.getPayGateToken().then(() => {\n      callEProtect();\n\n    }).catch(err => {\n      Context.setLoadingOverlay(false);\n      console.log('getToken err', err);\n      const subtitle = (err.response && err.response.data) ? err.response.data.message : err.message;\n\n      Context.setCancelModalConfig({\n        visible: true, title: 'Error', subtitle, rightBtnText: 'OK',\n        onResume: () => {\n          Context.setCancelModalConfig({...cancelModalConfig, visible: false});\n        }\n      });\n    });\n  };\n\n  const timeoutOnEProtect = () => {\n    console.log('timeoutOnEProtect');\n    const subtitle = 'We are experiencing technical difficulties. Please try again later or call 555-555-1212 (timeout)';\n\n    Context.setLoadingOverlay(false);\n    Context.setCancelModalConfig({\n      visible: true, title: 'Error', subtitle, rightBtnText: 'OK',\n      onResume: () => {\n        Context.setCancelModalConfig({...cancelModalConfig, visible: false});\n      }\n    });\n  };\n\n  const onErrorAfterEProtect = (res: any) => {\n    const {response} = res;\n    console.log('onErrorAfterEProtect', res);\n    let subtitle = '';\n\n    if (response === '871') subtitle = 'Invalid card number. Check and retry. (Not Mod10)';\n    else if (response === '872') subtitle = 'Invalid card number. Check and retry. (Too short)';\n    else if (response === '873') subtitle = 'Invalid card number. Check and retry. (Too long)';\n    else if (response === '874') subtitle = 'Invalid card number. Check and retry. (Not a number)';\n    else if (response === '875') subtitle = 'We are experiencing technical difficulties. Please try again later or call 555-555-1212';\n    else if (response === '876') subtitle = 'Invalid card number. Check and retry. (Failure from Server)';\n    else if (response === '881') subtitle = 'Invalid card validation code. Check and retry. (Not a number)';\n    else if (response === '882') subtitle = 'Invalid card validation code. Check and retry. (Too short)';\n    else if (response === '883') subtitle = 'Invalid card validation code. Check and retry. (Too long)';\n    else if (response === '889') subtitle = 'We are experiencing technical difficulties. Please try again later or call 555-555-1212';\n\n    Context.setLoadingOverlay(false);\n    Context.setCancelModalConfig({\n      visible: true, title: 'Error', subtitle, rightBtnText: 'OK',\n      onResume: () => {\n        Context.setCancelModalConfig({...cancelModalConfig, visible: false});\n      }\n    });\n\n    return false;\n  };\n\n  const submitAfterEProtect = (response: EProtectResponse) => {\n    deposit(response);\n    // document.forms['fCheckout'].submit();\n  };\n\n  const callEProtect = () => {\n    const accountNum = document.getElementById('ccNum') as HTMLInputElement;\n    const cvv = document.getElementById('cvvNum') as HTMLInputElement;\n\n    const {unmasked: number} = formatWithMask({text: formik.values.number, mask: cardNumberMask});\n    const {unmasked: code} = formatWithMask({text: formik.values.cvc, mask: codeSizeMask});\n\n    accountNum.value = number;\n    cvv.value = code;\n\n    const formFields = {accountNum, cvv};\n    const win: any = window;\n\n    const eProtectRequest = {\n      paypageId: smgPayPageId, reportGroup: smgReportGroup,\n      orderId: win.crypto.randomUUID().replaceAll('-', '').slice(0, 24),\n      id: win.crypto.randomUUID().replaceAll('-', '').slice(0, 24), url: smgEProtectUrl\n    };\n\n    new win.eProtect().sendToEprotect(eProtectRequest, formFields, submitAfterEProtect, onErrorAfterEProtect, timeoutOnEProtect, 15000);\n  };\n\n  const deposit = async (response: EProtectResponse) => {\n    const {unmasked: number} = formatWithMask({text: formik.values.number, mask: cardNumberMask});\n    const {unmasked: code} = formatWithMask({text: formik.values.cvc, mask: codeSizeMask});\n    const {unmasked: expiry} = formatWithMask({text: formik.values.expiry, mask: expiryMask});\n    const {type, orderId, id, reportGroup, vantivTxnId, paypageRegistrationId} = response;\n\n    const curLocation = await getLocation();\n\n    if (!curLocation) {\n      Context.setLoadingOverlay(false);\n      Context.setCancelModalConfig({\n        visible: true, title: 'Error', subtitle: 'Permission to access the location was denied.', rightBtnText: 'OK',\n        onResume: () => Context.setCancelModalConfig({...cancelModalConfig, visible: false})\n      });\n\n      return;\n    }\n\n    const data: DepositPayloadType = {\n      amount: +amount * 100, saveNewCard: isChecked, cardType: type, orderId, merchantTxId: id, reportGroup,\n      vendorTxId: vantivTxnId, payPageRegistrationId: paypageRegistrationId, cardNumber: number, expirationDate: expiry,\n      cvc: code, location: {latitude: `${curLocation.coords.latitude}`, longitude: `${curLocation.coords.longitude}`}\n    };\n\n    ServiceClient.deposit(data).then(() => {\n      Context.setLoadingOverlay(false);\n      Context.getUser().then();\n\n      Context.setCancelModalConfig({\n        visible: true, title: 'Success', titleColor: MainStyle.c_green, leftBtnText: 'OK',\n        subtitle: 'You have successfully replenished your balance.',\n        onExit: () => {\n          Context.setCancelModalConfig({...cancelModalConfig, visible: false});\n          navigation.navigate('challenges');\n        }\n      });\n\n    }).catch((err: AxiosError<{ success: boolean, message: string }>) => {\n      console.log('deposit error', err);\n      Context.setLoadingOverlay(false);\n      const subtitle = (err.response && err.response.data) ? err.response.data.message : err.message;\n\n      Context.setCancelModalConfig({\n        visible: true, title: 'Error', subtitle, rightBtnText: 'OK',\n        onResume: () => {\n          Context.setCancelModalConfig({...cancelModalConfig, visible: false});\n        }\n      });\n    });\n  };\n\n  const getFieldError = (key: string) => {\n    return formik.touched[key as keyof typeof formik.touched] && formik.errors[key as keyof typeof formik.errors];\n  };\n\n  useEffect(() => {\n    if (!user) return;\n    formik.setFieldValue('name', `${user.realName} ${user.lastname}`);\n  }, [user]);\n\n  return (\n    <>\n      <View style={MainStyle.h_72}/>\n\n      <Input\n        value={formik.values.name} onChangeText={formik.handleChange('name')} onBlur={formik.handleBlur('name')}\n        placeholder=\"Cardholder’s Name\" editable={false}\n      />\n\n      <View style={[MainStyle.column, MainStyle.j_c_s_between]}>\n        <View style={[MainStyle.full_w, MainStyle.p_t_19]}>\n          <Input\n            label=\"CARD NUMBER\" type=\"numeric\" onBlur={formik.handleBlur('number')}\n            error={formik.touched.number && !numberValidation.isValid && 'Invalid Card Number'}\n            style={MainStyle.m_b_21} {...numberMaskedInputProps} placeholder=\"1234 5678 1234 5678\"\n          />\n\n          <View style={[MainStyle.row, MainStyle.j_c_s_between, MainStyle.m_b_15]}>\n            <Input\n              type=\"numeric\" w={175} onBlur={formik.handleBlur('expiry')} error={getFieldError('expiry')}\n              {...expiryMaskedInputProps} label=\"EXPIRY\" placeholder=\"MM/YY\"\n            />\n\n            <Input\n              type=\"numeric\" w={175} onBlur={formik.handleBlur('cvc')} {...codeMaskedInputProps}\n              error={formik.touched.cvc && numberValidation.card && formik.values.cvc.length !== numberValidation.card.code.size && 'Invalid CVC'}\n              placeholder=\"CVC\" label=\"CVC\"\n            />\n\n            {/*<Input label=\"ZIP CODE\" placeholder=\"Zip Code\" w={120} type=\"numeric\"/>*/}\n          </View>\n\n          {/* {isSm && (\n            <Pressable style={[MainStyle.row, MainStyle.a_i_c]} onPress={() => setIsChecked(!isChecked)}>\n              <Checkbox value={isChecked} onValueChange={setIsChecked}/>\n              <Text style={styles.label_s}>Save Card</Text>\n            </Pressable>\n          )} */}\n        </View>\n\n        <View style={[MainStyle.w_164, MainStyle.a_i_c, MainStyle.p_t_60, MainStyle.m_x_auto]}>\n          <Text style={styles[isSm ? 'amount_s' : 'amount_m']}>{amount ? formatCurrency(+amount) : '$0'}</Text>\n\n          <Button\n            text=\"DEPOSIT\" onPress={() => formik.handleSubmit()} w={isSm ? 164 : 240} h={isSm ? 40 : 56}\n            fontSize={isSm ? 16 : 24} mb={16} style={styles.btn_shadow}\n          />\n\n          <Button\n            text=\"BACK\" onPress={props.goBack} w={isSm ? 164 : 240} h={isSm ? 40 : 56} fontSize={isSm ? 16 : 24}\n            bg={colors.unselect} style={styles.btn_shadow}\n          />\n\n          <Pressable onPress={() => setIsChecked(!isChecked)}\n                     style={[MainStyle.row, MainStyle.a_i_c, isSm ? MainStyle.m_t_34 : MainStyle.m_t_50, MainStyle.m_b_45]}>\n            <Checkbox value={isChecked} onValueChange={() => setIsChecked(!isChecked)} size={18}/>\n            <Text style={[isSm ? styles.label_s : styles.label_m]}>Save Card</Text>\n          </Pressable>\n        </View>\n      </View>\n\n      <table style={{position: 'absolute', zIndex: -1, opacity: 0}}>\n        <tbody>\n        <tr>\n          <td>Credit Card</td>\n          <td><input type=\"text\" id=\"ccNum\" name=\"ccNum\" size={20}/></td>\n        </tr>\n        <tr>\n          <td>CVV</td>\n          <td><input type=\"text\" id=\"cvvNum\" name=\"cvvNum\" size={5}/></td>\n        </tr>\n        </tbody>\n      </table>\n    </>\n  );\n};\n\nconst styles = {\n  amount_l: [\n    MainStyle.max_w_323, MainStyle.m_b_6, MainStyle.f_w_600, MainStyle.c_lightblue, MainStyle.l_h_78, MainStyle.f_s_60\n  ],\n  amount_s: [MainStyle.m_b_38, MainStyle.f_w_600, MainStyle.f_s_28, MainStyle.c_lightblue, MainStyle.l_h_27],\n  amount_m: [MainStyle.m_b_45, MainStyle.f_w_600, MainStyle.f_s_48, MainStyle.c_lightblue, MainStyle.l_h_27],\n  label_s: [MainStyle.f_w_600, MainStyle.f_s_14, MainStyle.c_white, MainStyle.m_l_8],\n  label_m: [MainStyle.f_w_600, MainStyle.f_s_16, MainStyle.c_white, MainStyle.m_l_8],\n  label_l: [MainStyle.f_w_600, MainStyle.f_s_22, MainStyle.c_white, MainStyle.m_l_22],\n  btn_shadow: {\n    \"shadowOffset\": {\n      \"width\": 0,\n      \"height\": 4\n    },\n    \"shadowRadius\": 4,\n    \"shadowColor\": \"rgba(0, 0, 0, 0.25)\",\n    \"shadowOpacity\": 1\n  },\n};\n\nexport default React.memo(OnlinePayment);\n","import React from \"react\";\nimport {Modal, ScrollView, ActivityIndicator, Text} from \"react-native\";\nimport {colors} from \"../assets/styles/colors\";\nimport MainStyle from \"../../MainStyle\";\nimport Div from \"../lib/Div\";\n\ntype Props = { visible: boolean };\n\nconst PosTerminalLoading = (props: Props) => {\n  const {visible} = props;\n\n  return (\n    <Modal animationType=\"fade\" transparent visible={visible} statusBarTranslucent={false} hardwareAccelerated={false}>\n      <Div h=\"100%\" w=\"100%\" bg={colors.darkOverlay} style={MainStyle.fix_gradient_and_modal_error_in_landscape}>\n        <ScrollView contentContainerStyle={[MainStyle.full_h, MainStyle.full_w]}>\n          <Div minH=\"100%\" justifyContent=\"center\" alignItems=\"center\" px={20} py={20}>\n            <Div position=\"relative\" maxW={500} w=\"100%\">\n              <Div w=\"100%\" bg={colors.bottomTabBg} borderWidth={1} borderColor={colors.popupBorder} rounded={4}\n                       overflow=\"hidden\" pt={28} px={23} pb={41} alignItems=\"center\">\n                <Text style={[MainStyle.f_s_25, MainStyle.c_white, MainStyle.t_a_c]}>\n                  Follow the instructions\n                </Text>\n\n                <Text style={[MainStyle.f_s_25, MainStyle.c_white, MainStyle.t_a_c, MainStyle.m_b_20]}>\n                  shown on the terminal\n                </Text>\n\n                <ActivityIndicator color=\"white\" size=\"large\"/>\n\n                <Div h={20}/>\n\n                <Text style={[MainStyle.f_s_25, MainStyle.c_white, MainStyle.t_a_c]}>\n                  Status: WAITING\n                </Text>\n              </Div>\n            </Div>\n          </Div>\n        </ScrollView>\n      </Div>\n    </Modal>\n  );\n};\n\nexport default React.memo(PosTerminalLoading);\n","import React, {useContext, useEffect, useRef, useState} from \"react\";\nimport {Text} from \"react-native\";\nimport {colors} from \"../assets/styles/colors\";\nimport Button from \"./Button\";\nimport {smgTransactorWorldpayWebsocket} from \"../constants\";\nimport {AxiosError} from \"axios\";\nimport {StoreContext} from \"./StoreContextProvider\";\nimport PosTerminalLoading from \"../modals/PosTerminalLoading\";\nimport {formatCurrency, getLocation} from \"../utils\";\nimport MainStyle from \"../../MainStyle\";\nimport {useIsFocused, useNavigation} from \"@react-navigation/native\";\nimport ServiceClient from \"../utils/ServiceClient\";\nimport Div from \"../lib/Div\";\n\ntype Props = { isSm: boolean, amount: string, goBack: () => void };\n\nconst PosTerminal = (props: Props) => {\n  const {isSm, amount} = props;\n  const socket = useRef<WebSocket>();\n  const Context = useContext(StoreContext);\n  const {cancelModalConfig} = Context;\n  const [loadingOverlay, setLoadingOverlay] = useState(false);\n  const isFocused = useIsFocused();\n  const navigation: any = useNavigation();\n\n  const sale = async () => {\n    const curLocation = await getLocation();\n\n    if (!curLocation) {\n      setLoadingOverlay(false);\n      Context.setCancelModalConfig({\n        visible: true, title: 'Error', subtitle: 'Permission to access the location was denied.', rightBtnText: 'OK',\n        onResume: () => {\n          Context.setCancelModalConfig({...cancelModalConfig, visible: false});\n        }\n      });\n\n      return;\n    }\n\n    const data = {\n      amount: +amount * 100,\n      location: {latitude: `${curLocation.coords.latitude}`, longitude: `${curLocation.coords.longitude}`}\n    };\n\n    ServiceClient.sale(data).then(transactionId => {\n      openWebsocketConnection(transactionId);\n\n    }).catch((err: AxiosError<{ success: boolean, message: string }>) => {\n      console.log('sale error', err);\n      setLoadingOverlay(false);\n      const subtitle = (err.response && err.response.data) ? err.response.data.message : err.message;\n\n      Context.setCancelModalConfig({\n        visible: true, title: 'Error', subtitle, rightBtnText: 'OK',\n        onResume: () => {\n          Context.setCancelModalConfig({...cancelModalConfig, visible: false});\n        }\n      });\n    });\n  };\n\n  const openWebsocketConnection = (transactionId: any) => {\n    console.log('openWebsocketConnection');\n    socket.current = new WebSocket(`${smgTransactorWorldpayWebsocket}/v1/transactions/sale/result/${transactionId}`);\n\n    socket.current.onopen = function () {\n      console.log('[open] Connection established');\n    };\n\n    socket.current.onmessage = function (event) {\n      console.log('[message] Data received from server:', event.data);\n      setLoadingOverlay(false);\n      socket.current?.close(1000, JSON.stringify({message: 'Work complete'}));\n    };\n\n    socket.current.onclose = function (event) {\n      setLoadingOverlay(false);\n\n      if (event.wasClean) {\n        const reason = JSON.parse(event.reason);\n        console.log('reason', reason);\n\n        if (reason && reason.success) {\n          Context.setCancelModalConfig({\n            visible: true,\n            title: 'CONGRATULATIONS!',\n            titleColor: MainStyle.c_lightblue,\n            leftBtnText: 'ENTER CHALLENGES',\n            subtitle: reason.result,\n            onExit: () => {\n              Context.setCancelModalConfig({...cancelModalConfig, visible: false});\n              navigation.navigate('challenges');\n            }\n          });\n\n        } else if (reason && !reason.success) {\n          Context.setCancelModalConfig({\n            visible: true, title: 'Error', subtitle: reason.message, rightBtnText: 'OK',\n            onResume: () => Context.setCancelModalConfig({...cancelModalConfig, visible: false})\n          });\n\n        } else {\n          console.log(`[close] Connection closed cleanly, reason=${event.reason}`);\n        }\n\n        console.log(`[close] Connection closed cleanly, reason=${event.reason}`);\n\n      } else {\n        // e.g. server process killed or network down\n        // event.code is usually 1006 in this case\n        console.log('[close] Connection died');\n      }\n    };\n  };\n\n  const getToken = () => {\n    setLoadingOverlay(true);\n\n    ServiceClient.getPayGateToken().then(() => {\n      sale().then();\n\n    }).catch(err => {\n      console.log('getPayGateToken err', err);\n      setLoadingOverlay(false);\n      const subtitle = (err.response && err.response.data) ? err.response.data.message : err.message;\n\n      Context.setCancelModalConfig({\n        visible: true, title: 'Error', subtitle, rightBtnText: 'OK',\n        onResume: () => {\n          Context.setCancelModalConfig({...cancelModalConfig, visible: false});\n        }\n      });\n    });\n  };\n\n  const handleSubmit = () => {\n    getToken();\n  };\n\n  useEffect(() => {\n    if (!isFocused) return;\n\n    return () => {\n      if (socket.current) socket.current.close(1000, JSON.stringify({message: 'Work complete'}));\n    };\n  }, [isFocused]);\n\n  return (\n    <Div flexDir={isSm ? 'column' : 'row'} alignItems=\"center\" flex={1}>\n      <Div minW={isSm ? 228 : 569} flex={1} justifyContent=\"center\">\n        <Text style={[MainStyle.c_white, MainStyle.t_a_c, {fontSize: isSm ? 16 : 36}]}>\n          Select the DEPOSIT button\n        </Text>\n\n        <Text style={[MainStyle.c_white, MainStyle.t_a_c, {fontSize: isSm ? 16 : 36}]}>\n          then swipe your card\n        </Text>\n\n        <Text style={[MainStyle.c_white, MainStyle.t_a_c, {fontSize: isSm ? 16 : 36}]}>\n          on the credit card terminal\n        </Text>\n      </Div>\n\n      <Div w={isSm ? 164 : 'auto'} alignItems=\"center\" mb={isSm ? 58 : 0} mx={isSm ? 'auto' : 0}\n               flex={isSm ? undefined : 1}>\n        <Text style={[MainStyle.c_lightblue, {marginBottom: isSm ? 36 : 6, fontSize: isSm ? 28 : 60, lineHeight: isSm ? 27 : 78}]}>\n          {amount ? formatCurrency(+amount) : '$0'}\n        </Text>\n\n        <Button\n          text=\"DEPOSIT\"\n          onPress={handleSubmit}\n          w={isSm ? 164 : 323}\n          h={isSm ? 40 : 80}\n          textStyle={[{fontSize: isSm ? 16 : 32}]}\n          mb={isSm ? 16 : 25}\n        />\n\n        <Button\n          text=\"BACK\"\n          onPress={props.goBack}\n          w={isSm ? 164 : 323}\n          h={isSm ? 40 : 80}\n          textStyle={[{fontSize: isSm ? 16 : 32}]}\n          bg={colors.unselect}\n        />\n      </Div>\n\n      <PosTerminalLoading visible={loadingOverlay}/>\n    </Div>\n  );\n};\n\nexport default React.memo(PosTerminal);\n","import React, {useContext, useEffect, useState} from \"react\";\nimport {Modal, ScrollView, Text, View} from \"react-native\";\nimport MainStyle from \"../../MainStyle\";\nimport Input from \"../components/Input\";\nimport Button from \"../components/Button\";\nimport {colors} from \"../assets/styles/colors\";\nimport {useFormik} from \"formik\";\nimport * as Yup from \"yup\";\nimport {formatWithMask, useMaskedInputProps} from \"react-native-mask-input\";\nimport ServiceClient from \"../utils/ServiceClient\";\nimport {AxiosError} from \"axios\";\nimport {StoreContext} from \"../components/StoreContextProvider\";\nimport {useNavigation} from \"@react-navigation/native\";\nimport {getLocation} from \"../utils\";\n\ntype Props = { cardUid: string, onClose: () => void, amount: string };\n\nconst expiryMask = [/\\d/, /\\d/, '/', /\\d/, /\\d/];\n\nconst SavedCardsModal = (props: Props) => {\n  const {cardUid, amount} = props;\n  const [isLoading, setIsLoading] = useState(false);\n  const formik = useFormik({\n    initialValues: {expiry: ''}, validationSchema: Yup.object({expiry: Yup.string().required().min(5)}),\n    onSubmit: () => {\n      deposit();\n    }\n  });\n  const Context = useContext(StoreContext);\n  const {cancelModalConfig} = Context;\n  const navigation: any = useNavigation();\n\n  const expiryMaskedInputProps = useMaskedInputProps({\n    value: formik.values.expiry, onChangeText: formik.handleChange('expiry'), mask: expiryMask\n  });\n\n  const deposit = async () => {\n    setIsLoading(true);\n    const {unmasked: expiry} = formatWithMask({text: formik.values.expiry, mask: expiryMask});\n    const curLocation = await getLocation();\n\n    if (!curLocation) {\n      setIsLoading(false);\n      Context.setCancelModalConfig({\n        visible: true, title: 'Error', subtitle: 'Permission to access the location was denied.', rightBtnText: 'OK',\n        onResume: () => Context.setCancelModalConfig({...cancelModalConfig, visible: false})\n      });\n\n      return;\n    }\n\n    const data = {\n      amount: +amount * 100, savedCardUid: cardUid, expirationDate: expiry,\n      location: {latitude: `${curLocation.coords.latitude}`, longitude: `${curLocation.coords.longitude}`}\n    };\n\n    ServiceClient.deposit(data).then(() => {\n      Context.getUser().then();\n      setIsLoading(false);\n      props.onClose();\n\n      Context.setCancelModalConfig({\n        visible: true, title: 'Success', titleColor: MainStyle.c_green, leftBtnText: 'OK',\n        subtitle: 'You have successfully replenished your balance.',\n        onExit: () => {\n          Context.setCancelModalConfig({...cancelModalConfig, visible: false});\n          navigation.navigate('challenges');\n        }\n      });\n\n    }).catch((err: AxiosError<{ success: boolean, message: string }>) => {\n      console.log('deposit error', err);\n      setIsLoading(false);\n      const subtitle = (err.response && err.response.data) ? err.response.data.message : err.message;\n      props.onClose();\n\n      Context.setCancelModalConfig({\n        visible: true, title: 'Error', subtitle, rightBtnText: 'OK',\n        onResume: () => {\n          Context.setCancelModalConfig({...cancelModalConfig, visible: false});\n        }\n      });\n    });\n  };\n\n  const getFieldError = (key: string) => {\n    return formik.touched[key as keyof typeof formik.touched] && formik.errors[key as keyof typeof formik.errors];\n  };\n\n  useEffect(() => {\n    if (!cardUid) formik.resetForm();\n  }, [cardUid]);\n\n  return (\n    <Modal animationType=\"fade\" transparent visible={!!cardUid} statusBarTranslucent={false}\n           hardwareAccelerated={false} onRequestClose={props.onClose}>\n      <View style={styles.wrap}>\n        <ScrollView contentContainerStyle={[MainStyle.full_h, MainStyle.full_w, MainStyle.a_i_c, MainStyle.j_c_c]}>\n          <View style={styles.container_s}>\n            <Text style={styles.title_s}>Saved Card</Text>\n\n            <View style={[MainStyle.w_240, MainStyle.m_x_auto]}>\n              <Input\n                label=\"EXPIRY\"\n                type=\"numeric\"\n                onBlur={formik.handleBlur('expiry')}\n                error={getFieldError('expiry')}\n                {...expiryMaskedInputProps}\n                placeholder=\"MM/YY\"\n                style={MainStyle.m_b_20}\n              />\n            </View>\n          </View>\n\n          <View style={MainStyle.flex}>\n            <Button\n              text=\"DEPOSIT\"\n              h={40}\n              fontSize={16}\n              w={240}\n              mb={15}\n              onPress={() => formik.handleSubmit()}\n              isLoading={isLoading}\n            />\n\n            <Button\n              text=\"CANCEL\"\n              h={40}\n              fontSize={16}\n              bg=\"transparent\"\n              w={240}\n              borderColor={colors.popupDangerPrimary}\n              borderWidth={1}\n              color={colors.popupDangerPrimary}\n              onPress={isLoading ? undefined : props.onClose}\n            />\n          </View>\n        </ScrollView>\n      </View>\n    </Modal>\n  );\n};\n\nconst styles = {\n  wrap: [MainStyle.full_h, MainStyle.full_w, MainStyle.bc_modalBg, MainStyle.fix_gradient_and_modal_error_in_landscape],\n  container_s: [\n    MainStyle.w_330, MainStyle.bc_darkblue, MainStyle.b_w_1, MainStyle.b_c_popupBorder, MainStyle.b_r_4, MainStyle.p_t_20,\n    MainStyle.p_x_20, MainStyle.m_b_80\n  ],\n  title_s: [MainStyle.c_lightblue, MainStyle.Barlow600, MainStyle.f_s_20, MainStyle.t_a_c, MainStyle.m_b_20],\n  subtitle_s: [\n    MainStyle.f_w_400, MainStyle.f_s_16, MainStyle.l_h_19, MainStyle.c_white, MainStyle.t_a_c, MainStyle.m_b_20\n  ]\n};\n\nexport default React.memo(SavedCardsModal);\n","import React, {useContext, useEffect, useState} from \"react\";\nimport {Text, View} from \"react-native\";\nimport {colors} from \"../assets/styles/colors\";\nimport MainStyle from \"../../MainStyle\";\nimport Button from \"./Button\";\nimport Valid from \"card-validator\";\nimport ServiceClient from \"../utils/ServiceClient\";\nimport {AxiosError} from \"axios\";\nimport {SavedCardType} from \"../types\";\nimport {StoreContext} from \"./StoreContextProvider\";\nimport {useNavigation} from \"@react-navigation/native\";\nimport SavedCardsModal from \"../modals/SavedCardsModal\";\nimport Div from \"../lib/Div\";\n\ntype Props = { amount: string };\n\nconst SavedCards = (props: Props) => {\n  const {amount} = props;\n  const [savedCards, setSavedCards] = useState<SavedCardType[]>([]);\n  const Context = useContext(StoreContext);\n  const {cancelModalConfig, user} = Context;\n  const navigation: any = useNavigation();\n  const [cardUid, setCardUid] = useState('');\n\n  const deleteCard = (Uid: string) => {\n    Context.setCancelModalConfig({...cancelModalConfig, visible: false});\n    Context.setLoadingOverlay(true);\n\n    ServiceClient.deleteCard(Uid).then(() => {\n      getSavedCards();\n\n    }).catch(err => {\n      console.log('deleteCard err', err);\n      Context.setLoadingOverlay(false);\n      const subtitle = (err.response && err.response.data) ? err.response.data.message : err.message;\n\n      Context.setCancelModalConfig({\n        visible: true, title: 'Error', subtitle, rightBtnText: 'OK',\n        onResume: () => Context.setCancelModalConfig({...cancelModalConfig, visible: false})\n      });\n    });\n  };\n\n  const deleteSavedCard = (Uid: string) => () => {\n    Context.setCancelModalConfig({\n      visible: true, title: 'Notice', titleColor: MainStyle.c_yellow, leftBtnText: 'NO', rightBtnText: 'YES',\n      subtitle: 'Do you want to delete a saved card?', rightBtnBorderColor: colors.popupDangerPrimary,\n      onResume: () => deleteCard(Uid),\n      onExit: () => Context.setCancelModalConfig({...cancelModalConfig, visible: false}),\n      leftBtnBackgroundColor: colors.unselect, rightBtnBackgroundColor: colors.btn_bg_color,\n      rightBtnBorderWidth: 1, rightBtnColor: colors.popupDangerPrimary\n    });\n  };\n\n  const savedCardHandler = (Uid: string) => () => {\n    if (user && user.selfLimitationConfirmed) {\n      Context.setCancelModalConfig({\n        visible: true, title: 'Notice', titleColor: MainStyle.c_yellow, leftBtnText: 'OK',\n        subtitle: 'You will not be able to play or deposit money while the Self-Limitation is in effect.',\n        onExit: () => {\n          Context.setCancelModalConfig({...cancelModalConfig, visible: false});\n          navigation.navigate('SelfExclusion');\n        }\n      });\n\n    } else {\n      setCardUid(Uid);\n    }\n  };\n\n  const getToken = () => {\n    ServiceClient.getPayGateToken().then(() => {\n      getSavedCards();\n\n    }).catch(err => {\n      console.log('getPayGateToken err', err);\n      Context.setLoadingOverlay(false);\n      const subtitle = (err.response && err.response.data) ? err.response.data.message : err.message;\n\n      Context.setCancelModalConfig({\n        visible: true, title: 'Error', subtitle, rightBtnText: 'OK',\n        onResume: () => {\n          Context.setCancelModalConfig({...cancelModalConfig, visible: false});\n        }\n      });\n    });\n  };\n\n  const getSavedCards = () => {\n    ServiceClient.getSavedCards().then(res => {\n      setSavedCards(res);\n      Context.setLoadingOverlay(false);\n\n    }).catch((err: AxiosError<{ success: boolean, message: string }>) => {\n      console.log('getSavedCards error', err);\n    });\n  };\n\n  useEffect(() => {\n    getToken();\n  }, []);\n\n  return (\n    <>\n      {!!savedCards.length && (\n        <Div w={240} alignItems=\"center\" mb={51} bg={colors.amount} rounded={8} pt={18} mt={15} px={10}>\n          <Text style={[MainStyle.f_s_20, MainStyle.c_white, MainStyle.m_b_15]}>Saved Cards</Text>\n\n          {savedCards.map(el => (\n            <View style={[MainStyle.row, MainStyle.full_w, MainStyle.m_b_15]} key={el.cardUid}>\n              <Button\n                text={el.cardMaskedNumber} h={40} fontSize={14} bg=\"transparent\" borderWidth={1} borderColor=\"black\"\n                cardType={Valid.number(el.cardMaskedNumber.slice(0, 6)).card?.type} color=\"white\"\n                onPress={savedCardHandler(el.cardUid)}\n                style={[MainStyle.flex1, MainStyle.b_t_r_r_0, MainStyle.b_b_r_r_0]}\n              />\n\n              <Button\n                text=\"✕\" h={40} w={45} fontSize={14} bg=\"transparent\" borderWidth={1} borderColor=\"black\"\n                onPress={deleteSavedCard(el.cardUid)} style={[MainStyle.b_t_l_r_0, MainStyle.b_b_l_r_0]} color=\"white\"\n              />\n            </View>\n          ))}\n        </Div>\n      )}\n\n      <SavedCardsModal cardUid={cardUid} amount={amount} onClose={() => setCardUid('')}/>\n    </>\n  );\n};\n\nexport default React.memo(SavedCards);\n","import React, {useContext, useEffect, useRef, useState} from \"react\";\nimport {LayoutChangeEvent, View} from \"react-native\";\nimport ServiceClient from \"../utils/ServiceClient\";\nimport MainStyle from \"../../MainStyle\";\nimport Button from \"./Button\";\nimport {StoreContext} from \"./StoreContextProvider\";\nimport {AxiosError} from \"axios\";\nimport {useNavigation} from \"@react-navigation/native\";\nimport {getCardTypeForApplePay, getLocation} from \"../utils\";\nimport {BrandName} from \"../constants\";\n\ntype Props = { isSm: boolean, amount: string };\n\nconst ApplePayButton = (props: Props) => {\n  const {isSm, amount} = props;\n  const wrap = useRef<any>();\n  const [currBtnHeight, setCurrBtnHeight] = useState(0);\n  const Context = useContext(StoreContext);\n  const {cancelModalConfig} = Context;\n  const navigation: any = useNavigation();\n\n  const getToken = () => {\n    ServiceClient.getPayGateToken().catch(err => {\n      console.log('getToken err', err);\n    });\n  };\n\n  // const onApplePayButtonClicked = async () => {\n  //   // Consider falling back to Apple Pay JS if Payment Request is not available.\n  //   if (!PaymentRequest) return;\n  //\n  //   try {\n  //     // Define PaymentMethodData\n  //     const paymentMethodData = [{\n  //       supportedMethods: 'https://apple.com/apple-pay',\n  //       data: {\n  //         version: 3,\n  //         merchantIdentifier: 'merchant.com.supermoneygames.prelive',\n  //         merchantCapabilities: ['supports3DS'],\n  //         supportedNetworks: ['masterCard', 'visa'],\n  //         countryCode: 'US'\n  //       }\n  //     }];\n  //\n  //     // Define PaymentDetails\n  //     const paymentDetails = {total: {label: BrandName, amount: {value: amount, currency: 'USD'}}};\n  //\n  //     // Define PaymentOptions\n  //     const paymentOptions = {\n  //       requestPayerName: false,\n  //       requestBillingAddress: false,\n  //       requestPayerEmail: false,\n  //       requestPayerPhone: false,\n  //       requestShipping: false,\n  //       shippingType: 'shipping'\n  //     };\n  //\n  //     // Create PaymentRequest\n  //     // @ts-ignore\n  //     const request: any = new PaymentRequest(paymentMethodData, paymentDetails, paymentOptions);\n  //\n  //     request.onmerchantvalidation = (event: any) => {\n  //       // Call your own server to request a new merchant session.\n  //       try {\n  //         event.complete(ServiceClient.validateMerchant(event.validationURL));\n  //\n  //       } catch (e) {\n  //         console.log('onmerchantvalidation err', e);\n  //       }\n  //     };\n  //\n  //     const response = await request.show();\n  //     await response.complete('success');\n  //\n  //   } catch (e) {\n  //     console.log('Handle errors', e);\n  //   }\n  // };\n\n  const pay = () => {\n    // const wrap = document.getElementsByClassName('css-175oi2r')[0]\n    // const button = document.createElement('button');\n    // button.innerHTML = 'Apple pay';\n    // wrap.appendChild(button);\n    //\n    // // wrap.innerHTML = `<button id=\"lol\">Apple Pay</button>`;\n    // button.addEventListener('click', () => {\n    //   const request = {\n    //     countryCode: 'US',\n    //     currencyCode: 'USD',\n    //     merchantCapabilities: ['supports3DS'],\n    //     supportedNetworks: ['visa', 'masterCard'],\n    //     total: {label: BrandName, type: 'final', amount: '0.10'}\n    //   };\n    //\n    //   const session = new ApplePaySession(3, request);\n    //\n    //   // Define payment processing functions\n    //   session.onvalidatemerchant = async (event) => {\n    //     // Call your own server to request a new merchant session.\n    //     const merchantSession = await ServiceClient.validateMerchant(event.validationURL);\n    //     console.log('merchantSession string', JSON.stringify(merchantSession, null, 2));\n    //     console.log('merchantSession obj', merchantSession);\n    //     session.completeMerchantValidation(merchantSession);\n    //   };\n    //\n    //   session.onpaymentauthorized = function (event) {\n    //     console.log('onpaymentauthorized', event);\n    //     // Handle payment authorization\n    //     const payment = event.payment;\n    //     console.log('payment', payment);\n    //\n    //     // // Send payment details to your server for processing\n    //     // // After processing, call session.completePayment() or session.completePaymentMethod()\n    //     // session.completePayment(win.ApplePaySession.STATUS_SUCCESS);\n    //\n    //     // Define ApplePayPaymentAuthorizationResult\n    //     const result = {status: ApplePaySession.STATUS_SUCCESS};\n    //     session.completePayment(result);\n    //   };\n    //\n    //   session.begin();\n    // });\n\n    (async () => {\n      const curLocation = await getLocation();\n\n      if (!curLocation) {\n        Context.setLoadingOverlay(false);\n        Context.setCancelModalConfig({\n          visible: true, title: 'Error', subtitle: 'Permission to access the location was denied.', rightBtnText: 'OK',\n          onResume: () => Context.setCancelModalConfig({...cancelModalConfig, visible: false})\n        });\n\n      } else {\n        const win: any = window;\n\n        const request = {\n          countryCode: 'US',\n          currencyCode: 'USD',\n          merchantCapabilities: ['supports3DS'],\n          supportedNetworks: ['visa', 'masterCard'],\n          total: {label: BrandName, type: 'final', amount}\n        };\n\n        // Create ApplePaySession\n        const session = new win.ApplePaySession(3, request);\n\n        // Define payment processing functions\n        session.onvalidatemerchant = async (event: any) => {\n          // Call your own server to request a new merchant session.\n          const merchantSession = await ServiceClient.validateMerchant(event.validationURL);\n          session.completeMerchantValidation(merchantSession);\n        };\n\n        session.onpaymentauthorized = function (event: any) {\n          const payment = event.payment;\n          const paymentToken = payment.token.paymentData;\n          const paymentMethod = payment.token.paymentMethod;\n          const cardType = getCardTypeForApplePay(paymentMethod.network);\n          const depositPayload = {\n            amount: +amount * 100, applePayPkPaymentToken: paymentToken, cardType,\n            location: {latitude: `${curLocation.coords.latitude}`, longitude: `${curLocation.coords.longitude}`}\n          };\n\n          ServiceClient.deposit(depositPayload).then(() => {\n            const result = {status: win.ApplePaySession.STATUS_SUCCESS};\n            session.completePayment(result);\n\n            Context.getUser().then(() => {\n              Context.setCancelModalConfig({\n                visible: true, title: 'Success', titleColor: MainStyle.c_green, leftBtnText: 'OK',\n                subtitle: 'You have successfully replenished your balance.',\n                onExit: () => {\n                  Context.setCancelModalConfig({...cancelModalConfig, visible: false});\n                  navigation.navigate('challenges');\n                }\n              });\n\n            }).catch(err => {\n              console.log('getUser err', err);\n            });\n\n          }).catch((err: AxiosError<{ success: boolean, message: string }>) => {\n            console.log('deposit error', err);\n            session.completePayment(win.ApplePaySession.STATUS_FAILURE);\n\n            Context.setLoadingOverlay(false);\n            const subtitle = (err.response && err.response.data) ? err.response.data.message : err.message;\n\n            Context.setCancelModalConfig({\n              visible: true, title: 'Error', subtitle, rightBtnText: 'OK',\n              onResume: () => Context.setCancelModalConfig({...cancelModalConfig, visible: false})\n            });\n          });\n        };\n\n        session.begin();\n      }\n    })();\n  };\n\n  useEffect(() => {\n    wrap.current.innerHTML = `<apple-pay-button buttonstyle=\"black\" type=\"plain\" locale=\"en-US\"></apple-pay-button>`;\n    getToken();\n  }, []);\n\n  const onLayout = (event: LayoutChangeEvent) => {\n    const {height} = event.nativeEvent.layout;\n    setCurrBtnHeight(height);\n  };\n\n  return (\n    <>\n      <View style={[MainStyle.absolute, {top: -1000, left: -1000}]} ref={ref => wrap.current = ref}\n            onLayout={onLayout}/>\n      {!!currBtnHeight && (\n        <Button\n          text=\"Apple Pay\" onPress={pay} w={isSm ? 240 : 348} h={isSm ? 40 : 56}\n          fontSize={isSm ? 16 : 24} bg=\"black\" color=\"white\"\n        />\n      )}\n    </>\n  );\n};\n\nexport default ApplePayButton;\n","import React, {useState} from \"react\";\nimport {Platform, View} from \"react-native\";\nimport Button from \"../Button\";\nimport {FormikProps} from \"formik\";\nimport {registerUserPayloadType} from \"../../types\";\nimport {DesktopDatePicker} from '@mui/x-date-pickers/DesktopDatePicker';\nimport {ThemeProvider, createTheme} from '@mui/material/styles';\nimport {colors} from \"../../assets/styles/colors\";\nimport P from \"../../lib/P\";\n// import DateTimePickerModal from \"react-native-modal-datetime-picker\";\n// import './DatePickerDarkTheme.css';\n\nconst darkTheme = createTheme({\n  palette: {mode: 'dark'}, zIndex: {\n    ...createTheme().zIndex,\n    modal: 99999\n  }\n});\n\ntype Props = {\n  formik: FormikProps<registerUserPayloadType>, mb?: string, label?: string, h?: string, w?: string, bg?: string\n};\n\nconst DateTimePicker = (props: Props) => {\n  const {formik, mb, label, h, w, bg} = props;\n  const [isDatePickerVisible, setDatePickerVisibility] = useState(false);\n\n  return (\n    <>\n      {Platform.OS === 'web' ? (\n        <>\n          <P fw=\"500\" fs={12} ta=\"center\" opacity={0.5} mb={3} tt=\"uppercase\">{label}</P>\n\n          <ThemeProvider theme={darkTheme}>\n            <DesktopDatePicker\n              value={formik.values.dateOfBirth} onChange={(date) => formik.setFieldValue('dateOfBirth', date)}\n              slotProps={{layout: {sx: {backgroundColor: colors.new_input_color}}}}\n              views={['year', 'month', 'day']}\n              sx={{\n                height: h || 66, backgroundColor: 'transparent', marginBottom: mb, width: w || '100%',\n                '.MuiInputBase-root': {\n                  borderRadius: '200px', height: h || 'auto', width: w || '100%',\n                  backgroundColor: bg || colors.loading_login\n                },\n                '.MuiInputBase-input': {\n                  textAlign: 'center', fontFamily: 'Barlow-Medium', fontSize: 24, height: h || 'auto',\n                  width: w || '100%'\n                },\n                '.MuiOutlinedInput-notchedOutline': {\n                  borderColor: `${colors[formik.touched.dateOfBirth && formik.errors.dateOfBirth ? 'newDangerText' : 'settings_border']} !important`,\n                  borderWidth: '1px !important'\n                },\n                '.MuiInputAdornment-root': {position: 'absolute', right: 30}\n              }}\n            />\n          </ThemeProvider>\n        </>\n      ) : (\n        <View>\n          <Button\n            text={formik.values.dateOfBirth ? formik.values.dateOfBirth.format('MM/DD/YYYY') : ''}\n            onPress={() => setDatePickerVisibility(true)}\n          />\n          {/*<DateTimePickerModal*/}\n          {/*  isVisible={isDatePickerVisible}*/}\n          {/*  mode=\"date\"*/}\n          {/*  onConfirm={handleConfirm}*/}\n          {/*  onCancel={() => setDatePickerVisibility(false)}*/}\n          {/*/>*/}\n        </View>\n      )}\n    </>\n  );\n};\n\nexport default React.memo(DateTimePicker);\n","import React, {useContext, useEffect, useLayoutEffect, useState} from 'react';\nimport {Modal, Platform, ScrollView, View} from 'react-native';\nimport Button from '../../../../../components/Button';\nimport DateTimePicker from '../../../../../components/DateTimePicker/DateTimePicker';\nimport Div from '../../../../../lib/Div';\nimport {useFormik} from 'formik';\nimport Input from '../../../../../components/Input';\nimport MainStyle from '../../../../../../MainStyle';\nimport {colors} from '../../../../../assets/styles/colors';\nimport * as Yup from \"yup\";\nimport {StoreContext} from \"../../../../../components/StoreContextProvider\";\nimport {updateUserPayloadType} from \"../../../../../types\";\nimport ServiceClient from \"../../../../../utils/ServiceClient\";\nimport P from \"../../../../../lib/P\";\nimport AsyncStorage from \"@react-native-async-storage/async-storage\";\nimport {dateFormat, LANDING_PAGE_URL} from \"../../../../../constants\";\nimport moment, {Moment} from \"moment\";\nimport Loader from \"../../../../../components/Loader\";\n\nconst initialValues: {firstname: string, lastname: string, dateOfBirth: Moment | null} = {\n  firstname: '', lastname: '', dateOfBirth: null\n};\n\ntype Props = { isOpen: boolean, onClose: () => void, onSubmit: () => void };\n\nconst VerifyInformationModal = (props: Props) => {\n  const {isOpen} = props;\n  const Context = useContext(StoreContext);\n  const {cancelModalConfig, user} = Context;\n  const formik = useFormik({\n    initialValues,\n    validationSchema: Yup.object({\n      firstname: Yup.string().required(), lastname: Yup.string().required(),\n      dateOfBirth: Yup.mixed<Moment>().nullable().required()\n    }),\n    onSubmit: () => {\n      updateUser();\n    }\n  });\n  const [loading, setLoading] = useState(false);\n\n  const updateUser = () => {\n    if (!user) return;\n    setLoading(true);\n\n    const {firstname, lastname, dateOfBirth} = formik.values;\n    const {allowTextNotifications, allowEmailNotifications, allowPartnerPromos, handicap, username, handedness} = user;\n\n    const payload: updateUserPayloadType = {\n      username, handedness, allowTextNotifications, allowEmailNotifications, allowPartnerPromos, handicap, firstname,\n      lastname\n    };\n\n    if (dateOfBirth) payload.dateOfBirth = dateOfBirth.format();\n\n    ServiceClient.updateUser(payload).then(() => {\n      setLoading(false);\n      Context.getUser().then();\n      props.onClose();\n      props.onSubmit();\n\n    }).catch(err => {\n      console.log('UpdateUser error', err);\n      setLoading(false);\n\n      Context.setCancelModalConfig({\n        visible: true, subtitle: err.message || 'UpdateUser Error', title: 'Error', leftBtnText: 'OK',\n        onExit: () => Context.setCancelModalConfig({...cancelModalConfig, visible: false})\n      });\n    });\n  };\n\n  const getFieldError = (key: string, formik: any): boolean | string => {\n    return formik.touched[key] && formik.errors[key];\n  };\n\n  useEffect(() => {\n    if (isOpen) {\n      formik.resetForm({\n        values: {firstname: user?.firstname || '', lastname: user?.lastname || '', dateOfBirth: user?.dateOfBirth ? moment(user.dateOfBirth, dateFormat) : null}\n      });\n    }\n  }, [isOpen]);\n\n  useLayoutEffect(() => {\n    if (!!user?.userId) return;\n\n    (async () => {\n      const val = await AsyncStorage.getItem('session');\n\n      if (val) {\n        const Session = JSON.parse(val);\n        Context.setSession(Session);\n\n        try {\n          await Context.getUser(Session);\n\n        } catch (e: any) {\n          console.log('get curUser err', e);\n          Context.setCancelModalConfig({\n            visible: true, title: 'Error', subtitle: e?.message || 'Error', rightBtnText: 'OK',\n            onResume: () => {\n              Context.setCancelModalConfig({...cancelModalConfig, visible: false});\n              Context.logout().then(() => {\n                if (Platform.OS === 'web') window.open(LANDING_PAGE_URL, '_self');\n                Context.setLoadingOverlay(false);\n              });\n            }\n          });\n        }\n      }\n    })();\n  }, [user?.userId]);\n\n  return (\n    <Modal animationType=\"fade\" transparent visible={isOpen} statusBarTranslucent={false} hardwareAccelerated={false}\n           onRequestClose={props.onClose}>\n      <View style={[MainStyle.fix_gradient_and_modal_error_in_landscape, MainStyle.flex1, MainStyle.bg_filter_modal]}>\n        <ScrollView contentContainerStyle={[MainStyle.flex1, MainStyle.p_x_20]}>\n          <Div minH=\"100%\" alignItems=\"center\" justifyContent=\"center\">\n            <Div maxW={390} w=\"100%\" rounded={20} borderWidth={1} borderColor={colors.settings_border}\n                 bg={colors.settings_bg} pt={30} alignItems=\"center\">\n              <P ta=\"center\" fs={26} lh={26} mb={24} fw=\"500\">Verify Information</P>\n\n              <P fs={18} ta=\"center\" fw=\"500\" mb={16}>\n                {`Please verify this information matches\\nyour identification card or passport\\nbefore proceeding.`}\n              </P>\n\n              <Input\n                placeholder=\"Enter Text Here\" label=\"FIRST NAME\" value={formik.values.firstname} bg=\"transparent\"\n                onChangeText={formik.handleChange('firstname')} onBlur={formik.handleBlur('firstname')}\n                error={getFieldError('firstname', formik)} onFocusScroll mb={9} w={240} h={48} textAlign=\"center\"\n              />\n\n              <Input\n                placeholder=\"Enter Text Here\" label=\"LAST NAME\" value={formik.values.lastname} bg=\"transparent\"\n                onChangeText={formik.handleChange('lastname')} onBlur={formik.handleBlur('lastname')}\n                error={getFieldError('lastname', formik)} onFocusScroll mb={9} w={240} h={48} textAlign=\"center\"\n              />\n\n              <DateTimePicker\n                formik={formik as any} mb=\"21px\" label=\"DATE OF BIRTH\" h=\"48px\" w=\"240px\" bg=\"transparent\"\n              />\n\n              <Button onPress={formik.submitForm} text=\"Submit\" w={309} fontFamily=\"Barlow-SemiBold\" mb={10}/>\n\n              <Button\n                text=\"Cancel\" w={309} bg={colors.loading_login} borderWidth={1} borderColor=\"white\"\n                onPress={props.onClose} color=\"white\" mb={33}\n              />\n            </Div>\n          </Div>\n        </ScrollView>\n      </View>\n\n      <Loader visible={loading}/>\n    </Modal>\n  );\n};\n\nexport default React.memo(VerifyInformationModal);\n","import React, {useContext, useLayoutEffect, useState} from 'react';\nimport {Pressable, Platform} from 'react-native';\nimport MainStyle from '../../../../../../MainStyle';\nimport Button from '../../../../../components/Button';\nimport {StoreContext} from \"../../../../../components/StoreContextProvider\";\nimport AsyncStorage from \"@react-native-async-storage/async-storage\";\nimport {useNavigation} from \"@react-navigation/native\";\nimport ServiceClient from \"../../../../../utils/ServiceClient\";\nimport Div from \"../../../../../lib/Div\";\nimport VerifyInformationModal from \"../ContactInfo/VerifyInformationModal\";\nimport P from \"../../../../../lib/P\";\nimport {colors} from \"../../../../../assets/styles/colors\";\n\n// @ts-ignore\nimport VeriffSdk from '@veriff/react-native-sdk';\n\nlet createFrame: any, messages: any;\n\nif (Platform.OS === 'web') {\n  const {createVeriffFrame, MESSAGES} = require('@veriff/incontext-sdk');\n  createFrame = createVeriffFrame;\n  messages = MESSAGES;\n}\n\ntype Props = { goBack?: () => void, redirectUser: () => void }\n\nconst KycTerm = (props: Props) => {\n  const Context = useContext(StoreContext);\n  const {cancelModalConfig, session} = Context;\n  const navigation: any = useNavigation();\n  const [isOpenVerificationModal, setIsOpenVerificationModal] = useState(false);\n\n  const launchVeriff = (veriffurl: string) => {\n    (async () => {\n      if (Platform.OS === 'web') {\n        createFrame({\n          url: veriffurl,\n          onEvent: function (msg: any) {\n            switch (msg) {\n              case messages.CANCELED:\n                console.log('user canceled the flow before completing');\n                break;\n\n              case messages.FINISHED:\n                console.log('MESSAGES.FINISHED');\n                props.redirectUser();\n                break;\n\n              case messages.STARTED:\n                console.log('MESSAGES.STARTED');\n                break;\n            }\n          },\n          onReload: () => {\n            // Logic to re-open Veriff SDK after page reload\n            // e.g. sessionStorage.setItem('@veriff-session-url', url);\n            window.location.reload();\n          }\n        });\n\n      } else {\n        const result = await VeriffSdk.launchVeriff({sessionUrl: veriffurl});\n\n        switch (result.status) {\n          case VeriffSdk.statusDone:\n            props.redirectUser();\n            break;\n\n          case VeriffSdk.statusCanceled:\n            console.log('user canceled the flow before completing');\n            break;\n\n          case VeriffSdk.statusError:\n            Context.setCancelModalConfig({\n              title: 'ERROR', subtitle: `Veriff failed with error=${result.error}`, visible: true, leftBtnText: 'OK',\n              onExit: () => Context.setCancelModalConfig({...cancelModalConfig, visible: false}),\n              onClose: () => Context.setCancelModalConfig({...cancelModalConfig, visible: false})\n            });\n            break;\n        }\n      }\n    })();\n  };\n\n  const StartVeriffKycVerification = () => {\n    Context.setLoadingOverlay(true);\n\n    ServiceClient.startVeriffKycVerification().then(res => {\n      Context.setLoadingOverlay(false);\n      if (res) launchVeriff(res);\n\n    }).catch(err => {\n      console.log('startVeriffKycVerification err', err);\n      Context.setLoadingOverlay(false);\n\n      if (err.message) {\n        Context.setCancelModalConfig({\n          title: 'ERROR', subtitle: err.message, leftBtnText: 'OK', visible: true,\n          onExit: () => Context.setCancelModalConfig({...cancelModalConfig, visible: false}),\n          onClose: () => Context.setCancelModalConfig({...cancelModalConfig, visible: false})\n        });\n      }\n    });\n  };\n\n  useLayoutEffect(() => {\n    (async () => {\n      if (!session) {\n        const val = await AsyncStorage.getItem('session');\n\n        if (val) {\n          const session = JSON.parse(val);\n          Context.setSession(session);\n\n        } else {\n          navigation.reset({index: 0, routes: [{name: 'Splash'}]});\n        }\n      }\n    })();\n  }, []);\n\n  return (\n    <Div flex={1} justifyContent=\"center\">\n      <P color={colors.lightBlue} fw=\"600\" fs={20} ta=\"center\" mb={62}>Know Your Customer (KYC)</P>\n\n      <Div alignItems=\"center\" px={24}>\n        <P maxW={312} ta=\"center\" h={90} mb={28}>\n          By selecting the “Proceed” button below, you agree to completing the KYC procedures.\n        </P>\n      </Div>\n\n      <Div alignItems=\"center\" mb={64}>\n        <Button text=\"Proceed with KYC\" onPress={() => setIsOpenVerificationModal(true)} w={220} mb={16}/>\n\n        {!!props.goBack && (\n          <Pressable onPress={props.goBack} style={[MainStyle.w_144, MainStyle.h_22]}>\n            <P ta=\"center\" color={colors.newDangerText} fw=\"700\" lh={22}>CANCEL</P>\n          </Pressable>\n        )}\n      </Div>\n\n      <VerifyInformationModal\n        isOpen={isOpenVerificationModal} onClose={() => setIsOpenVerificationModal(false)}\n        onSubmit={StartVeriffKycVerification}\n      />\n    </Div>\n  );\n};\n\nexport default React.memo(KycTerm);\n","import React, {useEffect, useState} from \"react\";\nimport P from \"../lib/P\";\nimport {ActivityIndicator} from \"react-native\";\nimport MainStyle from \"../../MainStyle\";\nimport Button from \"./Button\";\nimport Div from \"../lib/Div\";\n\ntype Props = { kycStatus: number, restartKyc: () => void };\n\nconst LoadingKYC = (props: Props) => {\n  const {kycStatus} = props;\n  const [timer, setTimer] = useState(0);\n  const disableRestartKyc = timer < 60;\n\n  useEffect(() => {\n    if (kycStatus === 3) {\n      if (disableRestartKyc) {\n        setTimeout(() => {\n          setTimer(timer + 1);\n        }, 1000);\n      }\n\n    } else if (timer) {\n      setTimer(0);\n    }\n  }, [kycStatus, timer]);\n\n  return (\n    <Div flex={1} justifyContent=\"center\" alignItems=\"center\">\n      <P fw=\"500\" mb={22}>\n        {kycStatus === 3 ? 'KYC verification started' : kycStatus === 4 ? `Waiting for KYC confirmation\\nThis may take several minutes` : ''}\n      </P>\n\n      <ActivityIndicator color=\"white\" size={30} style={MainStyle.m_b_20}/>\n\n      {kycStatus === 3 && (\n        <Button\n          w={244} h={24} mb={19} fontSize={16}\n          text={`Restart KYC Verification ${disableRestartKyc ? `(${60 - timer})` : ''}`}\n          onPress={props.restartKyc} mx=\"auto\" disabled={disableRestartKyc}\n        />\n      )}\n    </Div>\n  );\n};\n\nexport default React.memo(LoadingKYC);\n","import React, {useContext, useEffect, useState} from 'react';\nimport {useWindowDimensions, View, Image} from 'react-native';\nimport {useFormik} from 'formik';\nimport * as Yup from 'yup';\nimport MainStyle from '../../../../../../MainStyle';\nimport {tabletBreakpoint} from \"../../../../../constants\";\nimport Input from \"../../../../../components/Input\";\nimport Button from \"../../../../../components/Button\";\nimport OnlinePayment from \"../../../../../components/OnlinePayment\";\nimport PosTerminal from \"../../../../../components/PosTerminal\";\nimport visa from \"../../../../../assets/img/icons/visa.png\";\nimport SavedCards from \"../../../../../components/SavedCards\";\nimport ApplePayButton from \"../../../../../components/ApplePayButton\";\nimport KycTerm from \"../../../../Auth/SignUp/steps/KycTerm\";\nimport {StoreContext} from \"../../../../../components/StoreContextProvider\";\nimport {colors} from \"../../../../../assets/styles/colors\";\nimport Div from \"../../../../../lib/Div\";\nimport P from \"../../../../../lib/P\";\nimport LoadingKYC from \"../../../../../components/LoadingKYC\";\n\nconst Wallet = () => {\n  const Context = useContext(StoreContext);\n  const {user, cancelModalConfig} = Context;\n  const {width} = useWindowDimensions();\n  const isSm = width < tabletBreakpoint;\n  const formik = useFormik({\n    initialValues: {amount: '50'},\n    validationSchema: Yup.object({amount: Yup.string().required().matches(/^[0-9]*(\\.[0-9]{0,2})?$/, 'Invalid Value')}),\n    onSubmit: () => {\n      console.log('onSubmit');\n    }\n  });\n  const [type, setType] = useState('');\n  const [showOnce, setShowOnce] = useState(false);\n\n  const restartKyc = () => {\n    if (!user) return;\n    Context.setUser({...user, kycStatus: 0});\n  };\n\n  const getUser = () => {\n    setTimeout(() => {\n      Context.getUser().catch(err => {\n        console.log('err', err);\n      });\n    }, 300);\n  };\n\n  const getFieldError = (key: string) => {\n    return formik.touched[key as keyof typeof formik.touched] && formik.errors[key as keyof typeof formik.errors];\n  };\n\n  useEffect(() => {\n    if ((user?.kycStatus === 0 || user?.kycStatus === 2) && !showOnce) {\n      setShowOnce(true);\n      Context.setCancelModalConfig({\n        visible: true, title: 'Complete KYC', titleColor: MainStyle.c_yellow, rightBtnText: 'COMPLETE KYC',\n        subtitle: 'We will need to verify your identity to withdraw or deposit.',\n        onClose: () => Context.setCancelModalConfig({...cancelModalConfig, visible: false}),\n        onResume: () => Context.setCancelModalConfig({...cancelModalConfig, visible: false})\n      });\n    }\n  }, [user?.kycStatus, showOnce]);\n\n  return (\n    <Div w={367} mx=\"auto\" flex={1}>\n      {user?.kycStatus === 0 || user?.kycStatus === 2 ? (\n        <KycTerm redirectUser={getUser}/>\n        // <OnlinePayment isSm={isSm} amount={formik.values.amount} goBack={() => setType('')}/>\n      ) : user?.kycStatus === 3 || user?.kycStatus === 4 ? (\n        <LoadingKYC kycStatus={user.kycStatus} restartKyc={restartKyc}/>\n      ) : type === 'online' ? (\n        <OnlinePayment isSm={isSm} amount={formik.values.amount} goBack={() => setType('')}/>\n      ) : type === 'pos' ? (\n        <PosTerminal isSm={isSm} amount={formik.values.amount} goBack={() => setType('')}/>\n      ) : (\n        <Div column justifyContent=\"center\" alignItems=\"center\" flex={1} pt={15}>\n          <Div w={330} mb={45} pt={23} rounded={20} bg={colors.new_input_color} borderWidth={1}\n               borderColor={colors.settings_border}>\n            <P ta=\"center\" fs={18} fw=\"500\" mb={5}>AMOUNT IN $</P>\n\n            <Input\n              type=\"numeric\" placeholder=\"AMOUNT\" dollarMask useGrouping w={240} h={60} mx=\"auto\" rounded={20}\n              borderColor={colors.settings_border} value={formik.values.amount} fs={32}\n              onChangeText={formik.handleChange('amount')} textAlign=\"center\" onBlur={formik.handleBlur('amount')}\n              error={getFieldError('amount')} color={colors.newGreenText} mb={34}\n            />\n\n            <Button\n              text=\"ENTER CARD INFO\" w={240} mb={37} mx=\"auto\"\n              onPress={() => {\n                if (!formik.errors.amount && formik.values.amount) setType('online');\n              }}\n            />\n          </Div>\n\n          <View>\n            <ApplePayButton isSm={isSm} amount={formik.values.amount}/>\n\n            <SavedCards amount={formik.values.amount}/>\n\n            <Div h={15}/>\n\n            {/*{isSm ? (*/}\n            {/*  <>*/}\n            {/*    <Button*/}\n            {/*      text=\"ENTER CARD INFO\"*/}\n            {/*      onPress={() => {*/}\n            {/*        if (!formik.errors.amount && formik.values.amount) setType('online');*/}\n            {/*      }}*/}\n            {/*      w={isSm ? 240 : 500}*/}\n            {/*      h={isSm ? 40 : 80}*/}\n            {/*      textStyle={[{fontSize: isSm ? 16 : 32}]}*/}\n            {/*    />*/}\n\n            {/*    <SavedCards amount={formik.values.amount}/>*/}\n\n            {/*    <Div mb={isSm ? 51 : 62}/>*/}\n            {/*  </>*/}\n            {/*) : (*/}\n            {/*  <Button*/}\n            {/*    text=\"SWIPE CARD ON TERMINAL\"*/}\n            {/*    onPress={() => {*/}\n            {/*      if (!formik.errors.amount && formik.values.amount) setType('pos');*/}\n            {/*    }}*/}\n            {/*    w={isSm ? 240 : 500}*/}\n            {/*    h={isSm ? 40 : 80}*/}\n            {/*    textStyle={[{fontSize: isSm ? 16 : 32}]}*/}\n            {/*    mb={isSm ? 51 : 79}*/}\n            {/*  />*/}\n            {/*)}*/}\n\n            <Image\n              source={visa}\n              style={[MainStyle.w_170, MainStyle.h_51, MainStyle.rm_contain, MainStyle.m_x_auto, MainStyle.m_b_20]}\n            />\n          </View>\n        </Div>\n      )}\n    </Div>\n  );\n};\n\nexport default React.memo(Wallet);","import React from 'react';\nimport {Linking, Modal, Platform, ScrollView, TouchableOpacity, View} from 'react-native';\nimport MainStyle from '../../MainStyle';\nimport {colors} from '../assets/styles/colors';\nimport Div from '../lib/Div';\nimport Button from './Button';\nimport {WebApp} from \"../constants\";\nimport P from \"../lib/P\";\n\ntype Props = { isOpen: boolean, onClose: () => void };\n\nconst PromoFeedbackModal = (props: Props) => {\n  const {isOpen, onClose} = props;\n  const openLink = (url: string) => {\n    if (Platform.OS === 'web') window.open(url, '_blank');\n    else Linking.openURL(url).then();\n  };\n\n  return (\n    <Modal animationType=\"fade\" transparent visible={isOpen} statusBarTranslucent={false} hardwareAccelerated={false}\n           onRequestClose={onClose}>\n      <View style={[MainStyle.fix_gradient_and_modal_error_in_landscape, MainStyle.flex1, MainStyle.bg_filter_modal]}>\n        <ScrollView contentContainerStyle={MainStyle.flex1}>\n          <Div minH=\"100%\" alignItems=\"center\" justifyContent=\"center\">\n            <Div bg={colors.settings_bg} w={389} h={452} rounded={20} borderColor={colors.settings_border}\n                 borderWidth={1} pt={46} minH={400} pb={41}>\n              <P ta=\"center\" fs={26} mb={42} lh={26} fw=\"500\">BONUS CASH</P>\n\n              <Div w={287} mx=\"auto\">\n                <Div mb={15}>\n                  <P ta=\"center\" fs={18} fw=\"500\">\n                    Bonus Cash reflects Free Play and other bonuses issued to the user.\n                  </P>\n                </Div>\n\n                <Div mb={15}>\n                  <P ta=\"center\" fs={18} fw=\"500\">These may be subject to gameplay requirements, including turnover.</P>\n                </Div>\n\n                <Div>\n                  <P ta=\"center\" fs={18} fw=\"500\">For more information, see:</P>\n\n                  <TouchableOpacity onPress={() => openLink(`${WebApp}/promotions`)}>\n                    <P ta=\"center\" fs={18} fw=\"500\" color={colors.newGreenText}>”Promos Terms & Conditions”</P>\n                  </TouchableOpacity>\n                </Div>\n\n                <Div w={240} mt={33} mx=\"auto\">\n                  <Button\n                    color={colors.mainBackground} fontSize={22} fontFamily=\"Barlow-SemiBold\" text=\"OK\"\n                    onPress={onClose}\n                  />\n                </Div>\n              </Div>\n            </Div>\n          </Div>\n        </ScrollView>\n      </View>\n    </Modal>\n  );\n};\n\nexport default PromoFeedbackModal;\n","import React, {useContext, useEffect, useState} from \"react\";\nimport {Image, TouchableOpacity} from \"react-native\";\nimport MainStyle from \"../../MainStyle\";\nimport Input from \"./Input\";\nimport Button from \"./Button\";\nimport * as Yup from \"yup\";\nimport {useFormik} from \"formik\";\nimport {StoreContext} from \"./StoreContextProvider\";\nimport {AxiosError} from \"axios\";\nimport {payoutFormat} from \"../constants\";\nimport {colors} from \"../assets/styles/colors\";\nimport ServiceClient from \"../utils/ServiceClient\";\nimport KycTerm from \"../screens/Auth/SignUp/steps/KycTerm\";\nimport Div from \"../lib/Div\";\nimport questionsIcn from '../assets/img/questions-icn.png'\nimport BonusCashInfoModal from \"./BonusCashInfoModal\";\nimport {formatCurrency} from \"../utils\";\nimport P from \"../lib/P\";\nimport LoadingKYC from \"./LoadingKYC\";\n\ntype Props = { changeTab: (val: number) => void };\n\nconst Withdraw = (props: Props) => {\n  const formik = useFormik({\n    validationSchema: Yup.object({amount: Yup.string().required().matches(/^[0-9]*(\\.[0-9]{0,2})?$/, 'Invalid Value')}),\n    initialValues: {amount: '50'},\n    onSubmit: () => {\n      getToken();\n    }\n  });\n  const Context = useContext(StoreContext);\n  const {cancelModalConfig, balance, user, totalBonuses} = Context;\n  const [showOnce, setShowOnce] = useState(false);\n  const [isOpenBonusInfoModal, setIsOpenBonusInfoModal] = useState(false)\n\n  const restartKyc = () => {\n    if (!user) return;\n    Context.setUser({...user, kycStatus: 0});\n  };\n\n  const withdraw = () => {\n    if (user && !user.emailConfirmed) {\n      Context.setCancelModalConfig({\n        visible: true, title: 'VERIFY YOUR EMAIL', subtitle: 'To withdraw funds, you must verify your email.',\n        leftBtnText: 'RESEND VERIFICATION EMAIL', leftBtnBackgroundColor: colors.unselect, leftBtnFontSize: 20,\n        rightBtnText: 'OK', rightBtnFontSize: 20,\n        onExit: () => {\n          Context.setCancelModalConfig({...cancelModalConfig, visible: false});\n\n          ServiceClient.resendEmailConfirmation().then(() => {\n            console.log('resendEmailConfirmation');\n            Context.setIsSuccessMessageShow('Email Confirmation Sent\\n\\nIf you do not see email, check your “junk” or “spam” folder');\n\n            setTimeout(() => {\n              Context.setIsSuccessMessageShow('');\n            }, 3000);\n\n          }).catch(err => {\n            console.log('resendEmailConfirmation err', err);\n\n            Context.setCancelModalConfig({\n              visible: true, title: 'ERROR', leftBtnText: 'OK', subtitle: err.message,\n              onExit: () => {\n                Context.setCancelModalConfig({...cancelModalConfig, visible: false});\n              }\n            });\n          });\n        },\n        onResume: () => {\n          Context.setCancelModalConfig({...cancelModalConfig, visible: false});\n          props.changeTab(0);\n        }\n      });\n\n    } else {\n      Context.setCancelModalConfig({\n        visible: true, title: 'Confirm', rightBtnText: 'Confirm', titleColor: {color: colors.lightBlue},\n        subtitle: `Please confirm you would like to withdraw $${payoutFormat(+formik.values.amount)}`,\n        cancelGray: true,\n        onResume: () => {\n          Context.setCancelModalConfig({...cancelModalConfig, visible: false});\n          formik.handleSubmit();\n        },\n        onClose: () => {\n          Context.setCancelModalConfig({...cancelModalConfig, visible: false});\n        }\n      });\n    }\n  };\n\n  const getFieldError = (key: string) => {\n    return formik.touched[key as keyof typeof formik.touched] && formik.errors[key as keyof typeof formik.errors];\n  };\n\n  const payoff = () => {\n    ServiceClient.payoff(+formik.values.amount * 100).then(() => {\n      Context.setLoadingOverlay(false);\n      Context.getUser().then();\n      Context.setIsSuccessMessageShow('We sent withdrawal details to your email');\n\n      setTimeout(() => {\n        Context.setIsSuccessMessageShow('');\n      }, 3000);\n\n    }).catch((err: AxiosError<{ success: boolean, message: string }>) => {\n      console.log('payoff error', err);\n      Context.setLoadingOverlay(false);\n      const subtitle = (err.response && err.response.data) ? err.response.data.message : err.message;\n\n      Context.setCancelModalConfig({\n        visible: true, title: 'Error', subtitle, rightBtnText: 'OK',\n        onResume: () => {\n          Context.setCancelModalConfig({...cancelModalConfig, visible: false});\n        }\n      });\n    });\n  };\n\n  const getToken = () => {\n    Context.setLoadingOverlay(true);\n\n    ServiceClient.getPayGateToken().then(() => {\n      payoff();\n\n    }).catch(err => {\n      Context.setLoadingOverlay(false);\n      console.log('getPayGateToken err', err);\n      const subtitle = (err.response && err.response.data) ? err.response.data.message : err.message;\n\n      Context.setCancelModalConfig({\n        visible: true, title: 'Error', subtitle, rightBtnText: 'OK',\n        onResume: () => {\n          Context.setCancelModalConfig({...cancelModalConfig, visible: false});\n        }\n      });\n    });\n  };\n\n  useEffect(() => {\n    if ((user?.kycStatus === 0 || user?.kycStatus === 2) && !showOnce) {\n      setShowOnce(true);\n      Context.setCancelModalConfig({\n        visible: true, title: 'Complete KYC', titleColor: MainStyle.c_yellow, rightBtnText: 'COMPLETE KYC',\n        subtitle: 'We will need to verify your identity to withdraw or deposit.',\n        onClose: () => Context.setCancelModalConfig({...cancelModalConfig, visible: false}),\n        onResume: () => Context.setCancelModalConfig({...cancelModalConfig, visible: false})\n      });\n    }\n  }, [user?.kycStatus, showOnce]);\n\n  useEffect(() => {\n    const val = balance - totalBonuses;\n    if (val && val < 5000) formik.setFieldValue('amount', (val / 100).toString());\n    else formik.setFieldValue('amount', '50');\n  }, [balance, totalBonuses]);\n\n  const bonusAmount = (balance: number, availableToWithdraw: number) => {\n    return balance - availableToWithdraw ? formatCurrency((balance - availableToWithdraw) / 100) : '$0';\n  };\n\n  return (\n    <>\n      {user?.kycStatus === 0 || user?.kycStatus === 2 ? (\n        <KycTerm redirectUser={Context.getUser}/>\n      ) : user?.kycStatus === 3 || user?.kycStatus === 4 ? (\n        <LoadingKYC kycStatus={user.kycStatus} restartKyc={restartKyc}/>\n      ) : (\n        <Div mt={30}>\n          <P ta=\"center\" fs={18} fw=\"500\" mb={5}>BALANCE</P>\n\n          <Div w={240} rounded={20} borderWidth={1} borderColor={colors.settings_border} mx=\"auto\" mb={15}>\n            <P ta=\"center\" fs={32} fw=\"500\" lh={60} color={colors.balance}>\n              {balance ? formatCurrency(balance / 100) : '$0'}\n            </P>\n          </Div>\n\n          <Div mb={15} w={240} mx=\"auto\" position=\"relative\">\n            <Div position=\"absolute\" left={9} top={-2}>\n              <TouchableOpacity onPress={() => setIsOpenBonusInfoModal(true)}>\n                <Image source={questionsIcn} style={{width: 24, height: 24, alignSelf: 'center'}}/>\n              </TouchableOpacity>\n            </Div>\n\n            <P ta=\"center\" fs={18} fw=\"500\" mb={5}>BONUS CASH</P>\n\n            <Div rounded={20} borderWidth={1} borderColor={colors.settings_border}>\n              <P ta=\"center\" fs={32} fw=\"500\" lh={60} color={colors.yellow}>\n                {bonusAmount(balance, balance - totalBonuses)}\n              </P>\n            </Div>\n          </Div>\n\n          <P ta=\"center\" fs={18} fw=\"500\" mb={5}>AVAILABLE TO WITHDRAW</P>\n          <Div w={240} rounded={20} borderWidth={1} borderColor={colors.settings_border} mx=\"auto\" mb={29}>\n            <P ta=\"center\" fs={32} fw=\"500\" lh={60}>\n              {(balance - totalBonuses) ? formatCurrency((balance - totalBonuses) / 100) : '$0'}\n            </P>\n          </Div>\n\n          <Div w={330} mx=\"auto\" pt={24} alignItems=\"center\" bg={colors.new_input_color} rounded={20} borderWidth={1}\n               borderColor={colors.settings_border} mb={10}>\n            <P ta=\"center\" fs={18} fw=\"500\" mb={5}>AMOUNT IN $</P>\n\n            <Input\n              type=\"numeric\" placeholder=\"AMOUNT\" dollarMask useGrouping w={240} h={60} rounded={20}\n              borderColor={colors.settings_border} value={formik.values.amount} fs={32}\n              onChangeText={formik.handleChange('amount')} textAlign=\"center\" onBlur={formik.handleBlur('amount')}\n              error={getFieldError('amount')} color={colors.newGreenText} mb={30}\n            />\n\n            <Button text=\"WITHDRAW\" w={240} mb={36} mx=\"auto\" onPress={withdraw}/>\n          </Div>\n        </Div>\n      )}\n\n      <BonusCashInfoModal\n        isOpen={isOpenBonusInfoModal}\n        onClose={() => setIsOpenBonusInfoModal(false)}\n      />\n    </>\n  );\n};\n\nexport default React.memo(Withdraw);\n","import React, {useContext} from \"react\";\nimport {Platform} from \"react-native\";\nimport Button from \"./Button\";\nimport {StoreContext} from \"./StoreContextProvider\";\nimport {useNavigation} from \"@react-navigation/native\";\nimport {colors} from \"../assets/styles/colors\";\nimport Div from \"../lib/Div\";\n\ntype Props = { tabIndex: number, onChange: (val: number) => void };\n\nconst AccountNavBar = (props: Props) => {\n  const {tabIndex} = props;\n  const Context = useContext(StoreContext);\n  const navigation: any = useNavigation();\n  const {cancelModalConfig} = Context;\n\n  const Logout = () => {\n    Context.setCancelModalConfig({\n      visible: true, title: 'Logout', subtitle: 'Are you sure you want to logout?',\n      onExit: () => {\n        Context.logout().then(() => {\n          Context.setCancelModalConfig({...cancelModalConfig, visible: false});\n          setTimeout(() => {\n            if (Platform.OS === 'web') window.location.reload();\n          }, 150);\n          navigation.reset({index: 0, routes: [{name: 'Splash'}]});\n        });\n      },\n      onResume: () => {\n        Context.setCancelModalConfig({...cancelModalConfig, visible: false});\n      }\n    });\n  };\n\n  return (\n    <Div row w={387} rounded={70} borderWidth={1} borderColor={colors.settings_border} bg={colors.help_icon}>\n      <Button\n        text=\"PROFILE\" onPress={() => props.onChange(0)} bg={tabIndex === 0 ? colors.navSelected : 'transparent'}\n        fontWeight={tabIndex === 0 ? '700' : '500'}\n        borderColor={tabIndex === 0 ? colors.settings_border : 'transparent'}\n        w={90} h={42} radius={70} color=\"white\" fontSize={14} borderWidth={1}\n      />\n\n      <Button\n        text=\"DEPOSIT\" onPress={() => props.onChange(1)} bg={tabIndex === 1 ? colors.navSelected : 'transparent'}\n        fontWeight={tabIndex === 1 ? '700' : '500'}\n        borderColor={tabIndex === 1 ? colors.settings_border : 'transparent'}\n        w={90} h={42} radius={70} color=\"white\" fontSize={14} borderWidth={1}\n      />\n\n      <Button\n        text=\"WITHDRAWAL\" onPress={() => props.onChange(2)} bg={tabIndex === 2 ? colors.navSelected : 'transparent'}\n        fontWeight={tabIndex === 2 ? '700' : '500'}\n        borderColor={tabIndex === 2 ? colors.settings_border : 'transparent'}\n        w={120} h={42} radius={70} color=\"white\" fontSize={14} borderWidth={1}\n      />\n\n      <Button\n        text=\"SIGN OUT\" onPress={Logout} bg=\"transparent\" fontWeight=\"500\"\n        w={87} h={42} color=\"white\" fontSize={14}\n      />\n    </Div>\n  );\n};\n\nexport default React.memo(AccountNavBar);\n","import React, {useContext, useEffect, useLayoutEffect, useState} from 'react';\nimport {Platform, ScrollView} from 'react-native';\nimport {LANDING_PAGE_URL, SESSION_EXPIRE_TIME} from '../../../constants';\nimport ProfileContent from './Tabs/Profile';\nimport AsyncStorage from \"@react-native-async-storage/async-storage\";\nimport {StoreContext} from \"../../../components/StoreContextProvider\";\nimport MainStyle from \"../../../../MainStyle\";\nimport {User} from \"../../../../generated/smg_service_pb\";\nimport {useIsFocused, useNavigation, useRoute} from \"@react-navigation/native\";\nimport Wallet from \"./Tabs/Wallet\";\nimport Withdraw from \"../../../components/Withdraw\";\nimport AccountNavBar from \"../../../components/AccountNavBar\";\nimport moment from 'moment';\nimport {useSafeAreaInsets} from \"react-native-safe-area-context\";\nimport BottomNavigation from '../../../components/BottomNavigation';\nimport NewHeader from \"../../../components/NewHeader\";\nimport Div from \"../../../lib/Div\";\nimport P from \"../../../lib/P\";\n\nconst Account = () => {\n  const [currentTab, setCurrentTab] = useState(0);\n  const Context = useContext(StoreContext);\n  const {session, user, cancelModalConfig} = Context;\n  const navigation: any = useNavigation();\n  const route = useRoute();\n  const insets = useSafeAreaInsets();\n  // const confirmEmailDialogWasShown = useRef(false);\n  const isFocused = useIsFocused();\n  const titles: Record<number, string> = {0: 'Profile', 1: 'Deposit', 2: 'Withdrawal'};\n\n  useEffect(() => {\n    if (!user || !isFocused) return;\n    let time: any;\n\n    time = setTimeout(() => {\n      Context.getUser().then();\n    }, 1000 * 15);\n\n    return () => {\n      clearTimeout(time);\n    };\n  }, [user, isFocused]);\n\n  useEffect(() => {\n    const time = setInterval(() => {\n      (async () => {\n        const lastActiveTime = await AsyncStorage.getItem('lastActiveTime');\n\n        if (lastActiveTime && moment().diff(moment(lastActiveTime), 'minutes') > SESSION_EXPIRE_TIME) {\n          Context.logout().then(() => {\n            if (Platform.OS === 'web') {\n              window.open(LANDING_PAGE_URL, '_self');\n            }\n            Context.setLoadingOverlay(false);\n          });\n        }\n      })();\n    }, 1000 * 60);\n\n    return () => {\n      clearInterval(time);\n    };\n  }, []);\n\n  useLayoutEffect(() => {\n    if (!session || !user) {\n      Context.setLoadingOverlay(true);\n\n      (async () => {\n        const time = await AsyncStorage.getItem('lastActiveTime');\n\n        if (time && moment().diff(moment(time), 'minutes') > SESSION_EXPIRE_TIME) {\n          Context.logout().then(() => {\n            if (Platform.OS === 'web') {\n              window.open(LANDING_PAGE_URL, '_self');\n            }\n            Context.setLoadingOverlay(false);\n          });\n\n        } else {\n          const val = await AsyncStorage.getItem('session');\n          let curUser: User.AsObject | undefined;\n\n          if (val) {\n            const Session = JSON.parse(val);\n            Context.setSession(Session);\n\n            try {\n              curUser = await Context.getUser(Session);\n              console.log('user', curUser);\n\n            } catch (e: any) {\n              Context.setCancelModalConfig({\n                visible: true, title: 'Error', subtitle: e?.message || 'Error', rightBtnText: 'OK',\n                onResume: () => Context.setCancelModalConfig({...cancelModalConfig, visible: false})\n              });\n            }\n          }\n\n          Context.setLoadingOverlay(false);\n          if (!val || !curUser || !curUser.userId) {\n            Context.logout().then(() => {\n              if (Platform.OS === 'web') window.open(LANDING_PAGE_URL, '_self');\n            });\n          }\n        }\n      })();\n\n    } else {\n      console.log('user', user);\n    }\n  }, []);\n\n  useLayoutEffect(() => {\n    const params: any = route.params;\n    if (params) setCurrentTab(+params.step);\n  }, [route.params]);\n\n  return (\n    <Div flex={1} pt={insets.top} position=\"relative\">\n      <ScrollView contentContainerStyle={MainStyle.min_h_full}>\n        <NewHeader pb={11}/>\n\n        <Div px={21} mb={26}>\n          <P fs={30} fw=\"500\" lh={24}>{titles[currentTab]}</P>\n        </Div>\n\n        <Div alignItems=\"center\">\n          <AccountNavBar\n            tabIndex={currentTab}\n            onChange={(step) => navigation.navigate({name: 'account', params: {step}})}\n          />\n        </Div>\n\n        {currentTab === 0 && user && <ProfileContent/>}\n\n        {currentTab === 1 && user && <Wallet/>}\n\n        {currentTab === 2 && user && (\n          <Withdraw changeTab={(step) => navigation.navigate({name: 'account', params: {step}})}/>\n        )}\n      </ScrollView>\n\n      <Div alignItems=\"center\" maxW={1125} mx=\"auto\" w=\"100%\">\n        <BottomNavigation page=\"account\"/>\n      </Div>\n    </Div>\n  );\n};\n\nexport default Account;\n","import React, {useContext} from 'react';\nimport {Modal} from 'react-native';\nimport {StoreContext} from \"../components/StoreContextProvider\";\nimport Div from \"../lib/Div\";\nimport {colors} from \"../assets/styles/colors\";\nimport P from \"../lib/P\";\n\nconst SuccessModal = () => {\n  const {isSuccessMessageShow, setIsSuccessMessageShow} = useContext(StoreContext);\n\n  return (\n    <Modal animationType=\"fade\" transparent={true} visible={!!isSuccessMessageShow} statusBarTranslucent={false}\n           hardwareAccelerated={false} onRequestClose={() => setIsSuccessMessageShow('')}>\n      <Div flex={1} alignItems=\"center\" justifyContent=\"center\" px={9}>\n        <Div bg={colors.layoutBg} rounded={5} p={20}>\n          <P fs={25} ta=\"center\" color={colors.lightText}>{isSuccessMessageShow}</P>\n        </Div>\n      </Div>\n    </Modal>\n  );\n};\n\nexport default React.memo(SuccessModal);\n","import React, {useContext, useEffect, useState} from 'react';\nimport {Modal, StyleSheet, Text, TouchableOpacity, useWindowDimensions, ScrollView, View, Image} from 'react-native';\nimport {colors} from '../assets/styles/colors';\nimport {StoreContext} from '../components/StoreContextProvider';\nimport {focus_plus_icon} from '../constants/assest-manager';\nimport PayTable from \"../components/PayTable\";\nimport {tabletBreakpoint} from \"../constants\";\nimport DistanceChallengeItem from \"../components/DistanceChallengeItem\";\nimport MainStyle from \"../../MainStyle\";\nimport img0 from \"../assets/img/image 23.png\";\nimport img1 from \"../assets/img/image 24.png\";\nimport img2 from \"../assets/img/image 25.png\";\nimport location from \"../assets/img/location_icon.png\";\nimport Button from \"../components/Button\";\nimport Div from \"../lib/Div\";\n\nconst ContestEntryModal = () => {\n  const {contestEntryModalConfig} = useContext(StoreContext);\n  const {visible, amount, contestAmount, largestDistanceChallenge, challengesList} = contestEntryModalConfig;\n  const {golf2challengesList, payLinesList, golf2challenge, holeInOneAmount} = contestEntryModalConfig;\n  const {width} = useWindowDimensions();\n  const isMd = width >= tabletBreakpoint;\n  const [challengeId, setChallengeId] = useState<number>();\n\n  const renderGolfChallenge = (i: number, title: string, img: any) => {\n    if (!golf2challengesList?.length) return;\n\n    return (\n      <Div alignItems=\"center\" flexDir=\"row\" mb={15}>\n        {isMd && <Text style={Styles.label}>{title}</Text>}\n\n        <Image style={[MainStyle.w_80, MainStyle.h_80]} source={img}/>\n\n        <Div alignItems=\"center\" ml={20}>\n          {!isMd && <Text style={Styles.label_s}>{title}</Text>}\n\n          <Div row mb={3}>\n            <Text style={Styles.text_s}>{golf2challengesList[i].gamedetails?.hole?.distance} YDS</Text>\n\n            <Text style={[...Styles.text_s, MainStyle.m_x_10]}>\n              {golf2challengesList[i].gamedetails?.circle?.winCircleDistance} FT\n            </Text>\n\n            <Text style={Styles.amount_s}>\n              ${(contestAmount ? +contestAmount : 0) * golf2challengesList[i].multiplier}\n            </Text>\n          </Div>\n\n          <Div>\n            <Button w={118} h={40} radius={28} fontSize={16} text=\"SELECT\"\n                    bg={challengeId === golf2challengesList[i].challengeId ? colors.blueText : colors.unselect}\n                    onPress={() => setChallengeId(golf2challengesList[i].challengeId)}/>\n          </Div>\n        </Div>\n      </Div>\n    );\n  };\n\n  useEffect(() => {\n    if (contestEntryModalConfig.challengeId) {\n      setChallengeId(contestEntryModalConfig.challengeId)\n    }\n  }, [visible]);\n\n  return (\n    <Modal animationType=\"fade\" transparent visible={visible} statusBarTranslucent={false} hardwareAccelerated={false}\n           onRequestClose={contestEntryModalConfig?.onCancel}>\n      <View style={[MainStyle.fix_gradient_and_modal_error_in_landscape, MainStyle.flex1, MainStyle.bg_darkOverlay]}>\n        <ScrollView contentContainerStyle={[MainStyle.full_h, MainStyle.full_w]}>\n          <Div minH=\"100%\" justifyContent=\"center\" alignItems=\"center\" px={40} py={104}>\n            <Div position=\"relative\" maxW={isMd ? 500 : 280} w=\"100%\">\n              <Div w=\"100%\" bg={colors.deepBlue} borderWidth={1} borderColor={colors.lightBlue} rounded={4}\n                   overflow=\"hidden\">\n                <Div h={32} bg={colors.blueText} row justifyContent=\"center\" alignItems=\"center\" position=\"relative\">\n                  <Div h=\"100%\" row justifyContent=\"center\" alignItems=\"center\" position=\"absolute\" left=\"0\" p={10}\n                       top=\"0\">\n                    <Image\n                      resizeMode=\"contain\" style={[MainStyle.w_24, MainStyle.h_24]}\n                      source={challengesList?.length ? focus_plus_icon : location}\n                    />\n                  </Div>\n\n                  <Text style={[styles.title, {fontSize: 14}]}>\n                    {challengesList?.length ? 'CLOSEST TO THE PIN' : golf2challenge ? 'MULTI-PIN RANGE' : 'CHOOSE CHALLENGE'}\n                  </Text>\n                </Div>\n\n                {challengesList?.length ? (\n                  <Div pt={49} px={15} pb={47} flexDir=\"column\" alignItems=\"center\">\n                    <Div w=\"100%\" mb={34}>\n                      <DistanceChallengeItem\n                        label=\"DISTANCE:\"\n                        value={`${largestDistanceChallenge ? largestDistanceChallenge.value1 / 36 : 0} YARDS`}\n                        dense={false}\n                        w=\"100%\"\n                        mb={4}\n                      />\n\n                      <DistanceChallengeItem\n                        label=\"WIN CIRCLE:\"\n                        value={`${largestDistanceChallenge ? largestDistanceChallenge.value2 / 12 : 0} FEET`}\n                        dense={false}\n                        w=\"100%\"\n                        mb={4}\n                      />\n\n                      <DistanceChallengeItem\n                        label=\"CHALLENGE FEE:\"\n                        value={`$${contestAmount}`}\n                        dense={false}\n                        w=\"100%\"\n                      />\n                    </Div>\n                    <Div w=\"100%\">\n                      <PayTable\n                        payLinesList={payLinesList}\n                        challengesList={challengesList}\n                        amount={amount}\n                        holeInOneAmount={holeInOneAmount}\n                      />\n                    </Div>\n                  </Div>\n                ) : golf2challengesList?.length ? (\n                  <Div pt={17} flexDir=\"column\" justifyContent=\"space-around\" px={20}>\n                    {renderGolfChallenge(0, 'Easy', img0)}\n\n                    {renderGolfChallenge(1, 'Medium', img1)}\n\n                    {renderGolfChallenge(2, 'Hard', img2)}\n                  </Div>\n                ) : golf2challenge ? (\n                  <Div pt={49} px={15} pb={47} flexDir=\"column\" alignItems=\"center\">\n                    <Div w=\"100%\" mb={34}>\n                      <DistanceChallengeItem\n                        label=\"DISTANCE:\"\n                        value={`${golf2challenge.gamedetails?.hole?.distance} YARDS`}\n                        dense={false}\n                        w=\"100%\"\n                        mb={4}\n                      />\n\n                      <DistanceChallengeItem\n                        label=\"WIN CIRCLE:\"\n                        value={`${golf2challenge.gamedetails?.circle?.winCircleDistance} FT`}\n                        dense={false}\n                        w=\"100%\"\n                        mb={4}\n                      />\n\n                      <DistanceChallengeItem\n                        label=\"CHALLENGE FEE:\"\n                        value={`$${contestAmount}`}\n                        dense={false}\n                        w=\"100%\"\n                      />\n                    </Div>\n\n                    <Div alignItems=\"center\" w=\"100%\">\n                      <DistanceChallengeItem\n                        label=\"TOTAL PAYOUT:\"\n                        value={`$${+(contestAmount || 0) * golf2challenge.multiplier}`}\n                        dense\n                        w={145}\n                        textAlign=\"center\"\n                      />\n                    </Div>\n                  </Div>\n                ) : null}\n              </Div>\n\n              <Div flexDir=\"column-reverse\" bottom={-104} left={16} right={16} justifyContent=\"space-between\"\n                   position=\"absolute\">\n                <TouchableOpacity style={styles.outline_btn_s} onPress={contestEntryModalConfig.onCancel}>\n                  <Text style={[styles.outlineBtnText, {fontSize: 16}]}>CANCEL CHALLENGE</Text>\n                </TouchableOpacity>\n                <TouchableOpacity style={styles.fill_btn_s}\n                                  onPress={() => contestEntryModalConfig.onOk ? contestEntryModalConfig.onOk(challengeId) : null}>\n                  <Text style={[styles.fillBtnText, {fontSize: 16}]}>CONFIRM CHALLENGE ENTRY</Text>\n                </TouchableOpacity>\n              </Div>\n            </Div>\n          </Div>\n        </ScrollView>\n      </View>\n    </Modal>\n  );\n};\n\nconst Styles = {\n  label: [MainStyle.f_w_600, MainStyle.f_s_28, MainStyle.l_h_35, MainStyle.c_white, MainStyle.m_b_17],\n  label_s: [MainStyle.f_w_600, MainStyle.f_s_14, MainStyle.l_h_20, MainStyle.c_white],\n  text_s: [MainStyle.f_w_600, MainStyle.f_s_14, MainStyle.l_h_20, MainStyle.c_white],\n  amount_s: [MainStyle.f_w_900, MainStyle.f_s_16, MainStyle.l_h_20, MainStyle.c_light_blue]\n};\n\nconst styles = StyleSheet.create({\n  title: {fontWeight: '700', color: '#F5F5F5'},\n  fill_btn_s: {\n    backgroundColor: '#209D01', borderWidth: 1, borderColor: 'rgba(0, 0, 0, 0.5)', borderStyle: 'solid', height: 40,\n    borderRadius: 28, marginBottom: 9, justifyContent: 'center'\n  },\n  fillBtnText: {fontWeight: '700', textAlign: 'center', color: '#F5F5F5'},\n  outline_btn_s: {\n    height: 40, backgroundColor: '#07111C', borderWidth: 1, borderColor: '#FF6262', borderStyle: 'solid',\n    borderRadius: 28, justifyContent: 'center'\n  },\n  outlineBtnText: {fontWeight: '700', textAlign: 'center', color: '#FF6262'}\n});\n\nexport default ContestEntryModal;\n","import React from \"react\";\nimport {Image, View, TouchableOpacity} from \"react-native\";\nimport kiosk_logo_RGB_1row from \"../assets/img/evenplay-logo-long.svg\";\nimport MainStyle from \"../../MainStyle\";\nimport button_exit from \"../assets/img/icons/button_exit.png\";\nimport {useSafeAreaInsets} from \"react-native-safe-area-context\";\nimport HelpLinkModalTrigger from \"../modals/HelpLinksModal\";\nimport Div from \"../lib/Div\";\nimport {colors} from \"../assets/styles/colors\";\nimport P from \"../lib/P\";\n\ntype Props = { title: string, onExit: () => void };\n\nconst SupportGuideHeader = (props: Props) => {\n  const {title} = props;\n  const insets = useSafeAreaInsets();\n\n  return (\n    <>\n      <Div row mb={34} mt={12} alignItems=\"center\" justifyContent=\"center\" pt={insets.top}>\n        <Div w={28} h={28} mx={19}/>\n\n        <Div flex={1}>\n          <Image\n            source={kiosk_logo_RGB_1row as any}\n            style={[MainStyle.h_37, MainStyle.w_225, MainStyle.rm_stretch, MainStyle.m_x_auto]}\n          />\n        </Div>\n\n        <View>\n          <TouchableOpacity onPress={props.onExit}>\n            <Image source={button_exit} style={[MainStyle.w_28, MainStyle.h_28, MainStyle.m_x_19, MainStyle.m_b_4]}/>\n          </TouchableOpacity>\n\n          <HelpLinkModalTrigger size={28} mx={19} page=\"support_guide\"/>\n        </View>\n      </Div>\n\n      <P lh={28} ta=\"center\" tt=\"uppercase\" mb={2}>Support Guide and FAQ</P>\n\n      <Div row mb={18} alignItems=\"center\" justifyContent=\"center\">\n        <P fw=\"700\" fs={20} lh={32} ta=\"center\" tt=\"uppercase\" color={colors.lightBlue} flex={1}>{title}</P>\n      </Div>\n\n      <Div h={2} bg={colors.blueText}/>\n    </>\n  );\n};\n\nexport default React.memo(SupportGuideHeader);\n","import React, {useCallback} from 'react';\nimport {Linking, Platform, Text, ScrollView} from 'react-native';\nimport {BrandName} from '../../../constants';\nimport {useNavigation} from '@react-navigation/native';\nimport SupportGuideHeader from \"../../../components/ SupportGuideHeader\";\nimport {colors} from \"../../../assets/styles/colors\";\nimport MainStyle from \"../../../../MainStyle\";\nimport Div from \"../../../lib/Div\";\n\nconst ResponsibleGaming = () => {\n  const navigation: any = useNavigation();\n\n  const onExit = useCallback(() => {\n    navigation.navigate('challenges');\n  }, []);\n\n  const openLink = (url: string) => {\n    if (Platform.OS === 'web') window.open(url, '_blank');\n    else Linking.openURL(url).then();\n  };\n\n  return (\n    <>\n      <SupportGuideHeader title=\"Responsible Gaming\" onExit={onExit}/>\n\n      <ScrollView\n        contentContainerStyle={[MainStyle.min_h_full, {backgroundColor: colors.bg_contest, paddingBottom: 27}]}\n        keyboardShouldPersistTaps=\"handled\">\n        <Div maxW={1120} w=\"100%\" alignSelf=\"center\" pt={17} px={40}>\n          <Text style={styles.title_s}>General</Text>\n\n          <Text style={styles.text_s}>\n            {BrandName} strive to offer the most exciting complement to the sports viewing experience for you and\n            your friends. Importantly, we want to provide you with that experience in a safe, reliable and responsible\n            manner.\n          </Text>\n\n          <Text style={styles.text_s}>\n            Please know that we are here to help you at any time.\n          </Text>\n\n          <Text style={styles.title_s}>Additional Information</Text>\n\n          <Text style={styles.text_s}>\n            Like many other addictions, compulsive play includes uncontrollable urges, which, if left unchecked, could\n            result in financial hardship. Anyone could be susceptible to compulsive play regardless of age, gender,\n            race, or financial status. Once detected, compulsive play can be successfully treated. The key is early\n            detection in order to avoid adverse and dire consequences. If you feel you have a compulsive-play problem,\n            we urge you to seek assistance.\n          </Text>\n\n          <Text style={styles.text_s}>Compulsive-play warning signs include:</Text>\n\n          <Div row>\n            <Text style={styles.dot_s}>&#8226;</Text>\n            <Text style={[...styles.text_s, MainStyle.m_b_0]}>\n              Playing more in order to recoup or chase previous losses.\n            </Text>\n          </Div>\n\n          <Div row>\n            <Text style={styles.dot_s}>&#8226;</Text>\n            <Text style={[...styles.text_s, MainStyle.m_b_0]}>\n              Sacrificing time from family or work in order to participate in tournaments.\n            </Text>\n          </Div>\n\n          <Div row>\n            <Text style={styles.dot_s}>&#8226;</Text>\n            <Text style={[...styles.text_s, MainStyle.m_b_0]}>\n              Repeated inability to stop or control participating.\n            </Text>\n          </Div>\n\n          <Div row>\n            <Text style={styles.dot_s}>&#8226;</Text>\n            <Text style={[...styles.text_s, MainStyle.m_b_0]}>\n              Borrowing money to participate or to pay off previous losses.\n            </Text>\n          </Div>\n\n          <Div row>\n            <Text style={styles.dot_s}>&#8226;</Text>\n            <Text style={[...styles.text_s, MainStyle.m_b_0]}>\n              Neglecting one's family or oneself due to excessive play.\n            </Text>\n          </Div>\n\n          <Div row>\n            <Text style={styles.dot_s}>&#8226;</Text>\n            <Text style={[...styles.text_s, MainStyle.m_b_0]}>\n              Lying or not being truthful about time or money lost to playing.\n            </Text>\n          </Div>\n\n          <Div row>\n            <Text style={styles.dot_s}>&#8226;</Text>\n            <Text style={[...styles.text_s, MainStyle.m_b_0]}>\n              Selling or pawning personal property to play.\n            </Text>\n          </Div>\n\n          <Div row mb={15}>\n            <Text style={styles.dot_s}>&#8226;</Text>\n            <Text style={[...styles.text_s, MainStyle.m_b_0]}>Feelings of hopelessness, depression, or suicide.</Text>\n          </Div>\n\n          <Text style={styles.text_s}>\n            If you or someone you know is or may be experiencing a compulsive-play problem, it is important to remember\n            that assistance, intervention, and treatment are available.\n          </Text>\n\n          <Text style={styles.text_s}>\n            Resources that are committed to providing professional and compassionate service to all interested persons\n            include:\n          </Text>\n\n          <Text style={styles.text_s}>\n            Call: 1.800-426-2537 or access {''}\n            <Text style={styles.link_s} onPress={() => openLink('http://www.800gambler.org/')}>\n              Gambling Problem Hotline in NJ | Gambling Addiction Treatment | 800-Gambler\n            </Text>\n          </Text>\n\n          <Text style={styles.text_s}>\n            Call: 1.800-522-4700 National Council on Problem Gambling or access {''}\n            <Text style={styles.link_s} onPress={() => openLink('https://www.ncpgambling.org')}>\n              Home - National Council on Problem Gambling\n            </Text>\n          </Text>\n\n          <Text style={styles.text_s}>\n            If you are in Arizona, call the toll-free Arizona statewide helpline at 1-800-NEXTSTEP or text NEXT-STEP to\n            53342. You may also visit {''}\n            <Text style={styles.link_s}\n                  onPress={() => openLink('https://problemgambling.az.gov')}>\n              Problem Gambling | Arizona Department of Gaming\n            </Text>\n          </Text>\n\n          <Text style={styles.secondary_s}>\n            If you are concerned that a family member is exhibiting warning signs of compulsive play behavior, please\n            contact Customer Support for assistance. Eligible third parties may request that a consumer be excluded\n            from{BrandName}. Proof of eligibility status will be requested in documentary form evidencing sole or joint\n            financial responsibility for the source of any funds deposited with {BrandName} for gameplay including: (i)\n            proof that the requestor is jointly obligated on the credit or debit card associated with the Consumer’s\n            account; (ii) proof of legal dependency of the consumer on the requestor under state or federal law; (iii)\n            proof of the existence of a court order that makes the requestor wholly or partially obligated for the debts\n            of the person for whom exclusion is requested; or (iv) proof of the existence of a court order requiring the\n            consumer to pay unmet child support obligations. {BrandName}, in its sole discretion, may request additional\n            documentary verification information to establish third-party eligibility.\n          </Text>\n        </Div>\n      </ScrollView>\n    </>\n  );\n};\n\nconst styles = {\n  text_s: [MainStyle.c_white, MainStyle.Barlow400, MainStyle.f_s_12, MainStyle.m_b_15, MainStyle.l_h_16],\n  link_s: [MainStyle.c_lightblue, MainStyle.Barlow700, MainStyle.f_s_12, MainStyle.t_d_l_u, MainStyle.l_h_16],\n  secondary_s: [MainStyle.c_white, MainStyle.Barlow400, MainStyle.f_s_10, MainStyle.m_b_15, MainStyle.l_h_16],\n  title_s: [MainStyle.c_lightblue, MainStyle.Barlow700, MainStyle.f_s_16, MainStyle.m_b_15, MainStyle.t_t_u],\n  dot_s: [MainStyle.c_white, MainStyle.Barlow400, MainStyle.f_s_12, MainStyle.l_h_16, MainStyle.m_x_8]\n};\n\nexport default ResponsibleGaming;\n","import React from \"react\";\nimport {View, Text} from \"react-native\";\nimport {TransactionHistory} from \"../../generated/smg_service_pb\";\nimport MainStyle from \"../../MainStyle\";\nimport moment from 'moment';\nimport {formatCurrency} from \"../utils\";\n\ntype Props = { item: TransactionHistory.AsObject, isLg: boolean };\n\nconst TransactionHistoryItem = (props: Props) => {\n  const {item, isLg} = props;\n  // @ts-ignore\n  const num = item.i;\n\n  const showStatus = (val: string) => {\n    if (val === 'RETURNED') return 'CANCELLED';\n    else if (val === 'WON') return `WON ${item.winAmount ? formatCurrency(item.winAmount / 100) : '$0'}`;\n    else return val;\n  };\n\n  const color = (val: string) => {\n    if (val === 'COMPLETED') return MainStyle.c_green_text;\n    else if (val === 'PENDING') return MainStyle.c_lightblue;\n    else if (val === 'DECLINED' || val === 'LOST' || val === 'RETURNED') return MainStyle.c_popupDangerPrimary;\n    else if (val === 'WON') return MainStyle.c_yellow;\n    else return {color: 'white'};\n  };\n\n  return (\n    <View style={MainStyle.p_x_30}>\n      <View style={[...styles.row, isLg ? styles.wrap_l : styles.wrap_s]}>\n        <View style={isLg ? MainStyle.row : [MainStyle.column, MainStyle.flex1]}>\n          <Text style={isLg ? styles.index_l : styles.index_s}>{num}</Text>\n          <Text style={isLg ? styles.time_date_l : styles.index_s}>{moment.unix(item.time).format('ll')}</Text>\n          <Text style={isLg ? styles.time_l : styles.index_s}>{moment.unix(item.time).format('LT')} PT</Text>\n        </View>\n\n        <Text style={isLg ? styles.type_l : styles.type_s}>{item.type}</Text>\n\n        <Text style={isLg ? styles.amount_l : styles.amount_s}>${Math.abs(item.amount / 100)}</Text>\n\n        <View style={isLg ? MainStyle.row : [MainStyle.column, MainStyle.flex1]}>\n          <Text style={[...(isLg ? styles.status_l : styles.status_s), color(item.status)]}>\n            {showStatus(item.status)}\n          </Text>\n\n          <Text style={isLg ? [...styles.status_l, MainStyle.w_116] : styles.status_s}>\n            {moment.unix(item.lastUpdateTime).format('ll')}\n          </Text>\n\n          <Text style={isLg ? styles.time_l : styles.index_s}>\n            {moment.unix(item.lastUpdateTime).format('LT')} PT\n          </Text>\n        </View>\n      </View>\n    </View>\n  );\n};\n\nconst styles = {\n  row: [\n    MainStyle.row, MainStyle.full_w, MainStyle.max_w_1040, MainStyle.bc_darkblue, MainStyle.b_w_1, MainStyle.m_x_auto,\n    MainStyle.b_c_blueText\n  ],\n  wrap_l: [MainStyle.m_b_8, MainStyle.h_48, MainStyle.b_r_8],\n  wrap_s: [MainStyle.m_b_4, MainStyle.h_55, MainStyle.b_r_4, MainStyle.a_i_c],\n  index_l: [\n    MainStyle.w_45, MainStyle.m_l_9, MainStyle.f_w_700, MainStyle.f_s_18, MainStyle.l_h_48, MainStyle.t_a_c,\n    MainStyle.c_white\n  ],\n  index_s: [MainStyle.f_w_700, MainStyle.f_s_10, MainStyle.l_h_14, MainStyle.t_a_c, MainStyle.c_white],\n  time_date_l: [\n    MainStyle.w_116, MainStyle.f_w_400, MainStyle.f_s_18, MainStyle.l_h_48, MainStyle.t_a_c, MainStyle.c_white\n  ],\n  time_l: [\n    MainStyle.w_116, MainStyle.f_w_400, MainStyle.f_s_18, MainStyle.l_h_48, MainStyle.t_a_c, MainStyle.c_white\n  ],\n  type_l: [MainStyle.w_224, MainStyle.f_w_700, MainStyle.f_s_18, MainStyle.l_h_48, MainStyle.t_a_c, MainStyle.c_white],\n  type_s: [MainStyle.f_w_700, MainStyle.f_s_10, MainStyle.l_h_14, MainStyle.t_a_c, MainStyle.c_white, MainStyle.flex1],\n  amount_l: [MainStyle.w_160, MainStyle.f_w_700, MainStyle.f_s_18, MainStyle.l_h_48, MainStyle.t_a_c, MainStyle.c_white],\n  amount_s: [MainStyle.flex1, MainStyle.f_w_700, MainStyle.f_s_10, MainStyle.l_h_55, MainStyle.t_a_c, MainStyle.c_white],\n  status_l: [MainStyle.w_130, MainStyle.f_w_700, MainStyle.f_s_18, MainStyle.l_h_48, MainStyle.t_a_c, MainStyle.c_white],\n  status_s: [MainStyle.f_w_700, MainStyle.f_s_10, MainStyle.l_h_14, MainStyle.t_a_c, MainStyle.c_white],\n};\n\nexport default React.memo(TransactionHistoryItem);\n","import React from \"react\";\nimport {Text, useWindowDimensions, View} from \"react-native\";\nimport MainStyle from \"../../MainStyle\";\nimport {breakpoint} from \"../constants\";\n\nconst TransactionHistoryHeader = () => {\n  const {width} = useWindowDimensions();\n  const isLg = width >= breakpoint;\n\n  return (\n    <>\n      <Text style={isLg ? styles.title_l : styles.title_s}>TRANSACTIONS</Text>\n\n      <View style={[...styles.row, isLg ? MainStyle.m_b_11 : MainStyle.m_b_2]}>\n        <Text style={[...styles.text, ...(isLg ? [MainStyle.f_s_24, MainStyle.w_286] : [MainStyle.f_s_12, MainStyle.flex1])]}>\n          TIME\n        </Text>\n\n        <Text style={[...styles.text, ...(isLg ? [MainStyle.f_s_24, MainStyle.w_224] : [MainStyle.f_s_12, MainStyle.flex1])]}>\n          TYPE\n        </Text>\n\n        <Text style={[...styles.text, ...(isLg ? [MainStyle.f_s_24, MainStyle.w_160] : [MainStyle.f_s_12, MainStyle.flex1])]}>\n          AMOUNT\n        </Text>\n\n        <Text style={[...styles.text, ...(isLg ? [MainStyle.f_s_24, MainStyle.w_370] : [MainStyle.f_s_12, MainStyle.flex1])]}>\n          STATUS\n        </Text>\n      </View>\n    </>\n  );\n};\n\nconst styles = {\n  title_l: [\n    MainStyle.f_w_700, MainStyle.f_s_32, MainStyle.l_h_33, MainStyle.t_a_c, MainStyle.c_lightblue, MainStyle.m_t_28,\n    MainStyle.m_b_26\n  ],\n  title_s: [\n    MainStyle.f_w_700, MainStyle.f_s_16, MainStyle.l_h_16, MainStyle.t_a_c, MainStyle.c_lightblue, MainStyle.m_t_17,\n    MainStyle.m_b_8\n  ],\n  row: [\n    MainStyle.row, MainStyle.full_w, MainStyle.max_w_1100, MainStyle.p_x_30, MainStyle.m_x_auto, MainStyle.j_c_s_around\n  ],\n  text: [MainStyle.f_w_700, MainStyle.l_h_33, MainStyle.c_white, MainStyle.t_a_c]\n};\n\nexport default React.memo(TransactionHistoryHeader);\n","import React from \"react\";\nimport {TouchableOpacity, View, Image} from \"react-native\";\nimport button_exit from \"../assets/img/icons/button_exit.png\";\nimport HelpLinkModalTrigger from \"../modals/HelpLinksModal\";\nimport MainStyle from \"../../MainStyle\";\nimport mainStyle from \"../../MainStyle\";\n\ntype Props = { onExit: () => void };\n\nconst SupportGuideButtonMenu = (props: Props) => (\n  <View style={[MainStyle.absolute, MainStyle.r_56, MainStyle.b_47]}>\n    <View style={MainStyle.m_b_34}><HelpLinkModalTrigger page=\"support_guide\" size={48}/></View>\n\n    <TouchableOpacity onPress={props.onExit}>\n      <Image source={button_exit} style={[MainStyle.w_48, mainStyle.h_48]} resizeMode=\"contain\"/>\n    </TouchableOpacity>\n  </View>\n);\n\nexport default React.memo(SupportGuideButtonMenu);\n","import React, {useCallback, useContext, useEffect, useLayoutEffect, useState} from \"react\";\nimport {FlatList, Platform, useWindowDimensions} from \"react-native\";\nimport SupportGuideHeader from \"../components/ SupportGuideHeader\";\nimport {useIsFocused, useNavigation} from \"@react-navigation/native\";\nimport {StoreContext} from \"../components/StoreContextProvider\";\nimport {TransactionHistory, User} from \"../../generated/smg_service_pb\";\nimport AsyncStorage from \"@react-native-async-storage/async-storage\";\nimport moment from \"moment\";\nimport TransactionHistoryItem from \"../components/TransactionHistoryItem\";\nimport MainStyle from \"../../MainStyle\";\nimport TransactionHistoryHeader from \"../components/TransactionHistoryHeader\";\nimport {LANDING_PAGE_URL, SESSION_EXPIRE_TIME, breakpoint} from \"../constants\";\nimport SupportGuideButtonMenu from \"../components/SupportGuideButtonMenu\";\nimport ServiceClient from \"../utils/ServiceClient\";\n\nconst TransactionHistoryScreen = () => {\n  const navigation: any = useNavigation();\n  const Context = useContext(StoreContext);\n  const {cancelModalConfig, user, session} = Context;\n  const [historyList, setHistoryList] = useState<TransactionHistory.AsObject[]>([]);\n  const {width} = useWindowDimensions();\n  const isLg = width >= breakpoint;\n  const isFocused = useIsFocused();\n\n  const getTransactionHistory = () => {\n    if (!user?.userId) return;\n    Context.setLoadingOverlay(true);\n\n    ServiceClient.getTransactionHistory(user.userId).then(res => {\n      Context.setLoadingOverlay(false);\n\n      res = res.reverse().map((el: any, i: any) => {\n        el.i = i + 1;\n        return el;\n      });\n\n      res.reverse();\n      setHistoryList(res);\n\n    }).catch(err => {\n      console.log('getTransactionHistory err', err);\n      Context.setLoadingOverlay(false);\n\n      Context.setCancelModalConfig({\n        visible: true, title: 'ERROR', leftBtnText: 'OK', subtitle: err.message,\n        onExit: () => {\n          Context.setCancelModalConfig({...cancelModalConfig, visible: false});\n        }\n      });\n    });\n  };\n\n  const onExit = useCallback(() => {\n    navigation.navigate('challenges');\n  }, []);\n\n  useEffect(() => {\n    if (!isFocused) return;\n\n    const time = setInterval(() => {\n      (async () => {\n        const lastActiveTime = await AsyncStorage.getItem('lastActiveTime');\n\n        if (lastActiveTime && moment().diff(moment(lastActiveTime), 'minutes') > SESSION_EXPIRE_TIME) {\n          Context.logout().then(() => {\n            if (Platform.OS === 'web') {\n              window.open(LANDING_PAGE_URL, '_self');\n            }\n            Context.setLoadingOverlay(false);\n          });\n        }\n      })();\n    }, 1000 * 60);\n\n    return () => {\n      clearInterval(time);\n    };\n  }, [isFocused]);\n\n  useEffect(() => {\n    if (user) getTransactionHistory();\n  }, [user]);\n\n  useLayoutEffect(() => {\n    Context.setLoadingOverlay(true);\n\n    if (!session || !user) {\n      (async () => {\n        const time = await AsyncStorage.getItem('lastActiveTime');\n\n        if (time && moment().diff(moment(time), 'minutes') > SESSION_EXPIRE_TIME) {\n          Context.logout().then(() => {\n            if (Platform.OS === 'web') window.open(LANDING_PAGE_URL, '_self');\n            Context.setLoadingOverlay(false);\n          });\n\n        } else {\n          const val = await AsyncStorage.getItem('session');\n          let curUser: User.AsObject | undefined;\n\n          if (val) {\n            const Session = JSON.parse(val);\n            Context.setSession(Session);\n\n            try {\n              curUser = await Context.getUser(Session);\n\n            } catch (e: any) {\n              Context.setCancelModalConfig({\n                visible: true, title: 'Error', subtitle: e?.message || 'Error', rightBtnText: 'OK',\n                onResume: () => Context.setCancelModalConfig({...cancelModalConfig, visible: false})\n              });\n            }\n          }\n\n          if (!val || !curUser || !curUser.userId) {\n            Context.logout().then(() => {\n              if (Platform.OS === 'web') window.open(LANDING_PAGE_URL, '_self');\n              Context.setLoadingOverlay(false);\n            });\n          }\n        }\n      })();\n    }\n  }, []);\n\n  return (\n    <>\n      <SupportGuideHeader title=\"Transaction History\" onExit={onExit}/>\n\n      <FlatList\n        style={MainStyle.bg_contest} data={historyList}\n        renderItem={({item}) => <TransactionHistoryItem item={item} isLg={isLg}/>}\n        keyExtractor={item => item.amount + item.lastUpdateTime + item.time + item.winAmount + item.status}\n        ListHeaderComponent={<TransactionHistoryHeader/>}\n      />\n\n      {isLg && <SupportGuideButtonMenu onExit={onExit}/>}\n    </>\n  );\n};\n\nexport default React.memo(TransactionHistoryScreen);\n","import React, {useContext, useLayoutEffect} from 'react';\nimport {Image, ScrollView, Text, View, StyleSheet, Platform} from 'react-native';\nimport MainStyle from '../../../../MainStyle';\nimport kiosk_logo_RGB_1row from '../../../assets/img/evenplay-logo-long.svg';\nimport Button from '../../../components/Button';\nimport HelpLinkModalTrigger from '../../../modals/HelpLinksModal';\nimport {StoreContext} from \"../../../components/StoreContextProvider\";\nimport {colors} from \"../../../assets/styles/colors\";\nimport ServiceClient from \"../../../utils/ServiceClient\";\nimport AsyncStorage from \"@react-native-async-storage/async-storage\";\n\ntype LoginWithPinProps = { navigation: any, route: any };\n\nconst EmailVerification = ({navigation, route}: LoginWithPinProps) => {\n  const Context = useContext(StoreContext);\n  const {loadingOverlay, cancelModalConfig} = Context;\n\n  const confirmEmailChange = (token: string) => {\n    ServiceClient.confirmEmailChange(token).then(() => {\n      Context.setLoadingOverlay(false);\n\n    }).catch(err => {\n      console.log('confirmEmailChange err', err);\n      Context.setLoadingOverlay(false);\n\n      Context.setCancelModalConfig({\n        visible: true, title: 'ERROR', subtitle: err.message, leftBtnText: 'CONTACT SUPPORT',\n        leftBtnBackgroundColor: colors.unselect, rightBtnText: 'OK',\n        onExit: () => {\n          Context.setCancelModalConfig({...cancelModalConfig, visible: false});\n          if (Platform.OS === 'web') window.open('https://smgames.atlassian.net/servicedesk/customer/portal/3', '_blank');\n        },\n        onResume: () => {\n          Context.setCancelModalConfig({...cancelModalConfig, visible: false});\n          navigation.reset({index: 0, routes: [{name: 'challenges'}]});\n        }\n      });\n    });\n  };\n\n  const navigateToChallengePage = () => {\n    Context.setLoadingOverlay(true);\n\n    Context.getUser().then(() => {\n      Context.setLoadingOverlay(false);\n      navigation.reset({index: 0, routes: [{name: 'challenges'}]});\n\n    }).catch(() => {\n      Context.setLoadingOverlay(false);\n      navigation.reset({index: 0, routes: [{name: 'challenges'}]});\n    });\n  };\n\n  const confirmEmail = (token: string) => {\n    ServiceClient.confirmEmail(token).then(res => {\n      Context.setLoadingOverlay(false);\n\n      if (res) {\n        Context.setSession(res);\n        AsyncStorage.setItem('session', JSON.stringify(res)).then();\n      }\n\n    }).catch(err => {\n      console.log('confirmEmail', err);\n      Context.setLoadingOverlay(false);\n\n      Context.setCancelModalConfig({\n        visible: true, title: 'ERROR', subtitle: err.message, leftBtnText: 'CONTACT SUPPORT',\n        leftBtnBackgroundColor: colors.unselect, rightBtnText: 'OK',\n        onExit: () => {\n          Context.setCancelModalConfig({...cancelModalConfig, visible: false});\n          if (Platform.OS === 'web') window.open('https://smgames.atlassian.net/servicedesk/customer/portal/3', '_blank');\n        },\n        onResume: () => {\n          Context.setCancelModalConfig({...cancelModalConfig, visible: false});\n          navigation.reset({index: 0, routes: [{name: 'challenges'}]});\n        }\n      });\n    });\n  };\n\n  useLayoutEffect(() => {\n    Context.setLoadingOverlay(true);\n    if (!route.params) return;\n    const {token, type} = route.params;\n    Context.setLoadingOverlay(true);\n\n    if (type === 'emailChange') confirmEmailChange(token);\n    else confirmEmail(token);\n  }, []);\n\n  return (\n    <>\n      <HelpLinkModalTrigger position=\"absolute\" top={5} right={5}/>\n\n      <ScrollView contentContainerStyle={[MainStyle.full_h, MainStyle.full_w]}>\n        <View style={[MainStyle.a_i_c, MainStyle.p_x_16, MainStyle.flex1]}>\n          <Image\n            source={kiosk_logo_RGB_1row as any}\n            style={[MainStyle.rm_stretch, MainStyle.h_41, MainStyle.w_255, MainStyle.m_t_10]}\n          />\n\n          <View>\n            <View style={MainStyle.m_t_114}>\n              <Text style={styles.titleSmall}>VERIFICATION</Text>\n            </View>\n\n            <View style={[MainStyle.m_t_114, {opacity: loadingOverlay ? 0 : 1}]}>\n              <Text style={styles.msgTextSmall}>EMAIL VERIFIED</Text>\n            </View>\n\n            <View style={[MainStyle.m_t_20, MainStyle.m_b_158, {opacity: loadingOverlay ? 0 : 1}]}>\n              <Text style={styles.descSmall}>Your email has been verified!</Text>\n            </View>\n\n            <Button text=\"OK\" h={40} w={244} mb={100} onPress={navigateToChallengePage}/>\n          </View>\n        </View>\n      </ScrollView>\n    </>\n  );\n};\n\nconst styles = StyleSheet.create({\n  titleSmall: {fontWeight: '600', fontSize: 20, lineHeight: 27, textAlign: 'center', color: '#85BED1'},\n  msgTextSmall: {fontWeight: '700', fontSize: 20, lineHeight: 27, textAlign: 'center', color: '#43D120'},\n  descSmall: {fontWeight: '400', fontSize: 16, lineHeight: 19, textAlign: 'center', color: '#F5F5F5'}\n});\n\nexport default EmailVerification;\n","import React, {useContext} from \"react\";\nimport {Linking, Platform, Text, ScrollView} from \"react-native\";\nimport {useNavigation} from \"@react-navigation/native\";\nimport MainStyle from \"../../MainStyle\";\nimport {StoreContext} from \"./StoreContextProvider\";\nimport {BrandName, Landing, LandingText, SupportMail, WebApp} from \"../constants\";\nimport Div from \"../lib/Div\";\n\ntype Props = { bg?: string, height?: number, px?: number };\n\nconst TermsAndConditionsContent = ({bg, height, px}: Props) => {\n  const navigation: any = useNavigation();\n  const Context = useContext(StoreContext);\n  const {user} = Context;\n\n  const renderResponsibleGamingLink = () => {\n    if (user?.userId) return `${Landing}/responsiblegaming`;\n    else {\n      return (\n        <Text style={styles.small_link} onPress={() => navigation.navigate('ResponsibleGaming')}>\n          {Landing}/responsiblegaming\n        </Text>\n      );\n    }\n  };\n\n  const openLink = (url: string) => {\n    if (Platform.OS === 'web') window.open(url, '_blank');\n    else Linking.openURL(url).then();\n  };\n\n  return (\n    <ScrollView contentContainerStyle={[MainStyle.min_h_full, {backgroundColor: bg, height, paddingHorizontal: px}]}\n                keyboardShouldPersistTaps=\"handled\">\n      <Div maxW={1120} mx=\"auto\">\n        <Text style={styles.title_s}>\n          TERMS AND CONDITIONS FOR THE USE OF THE {BrandName.toUpperCase()} WEBSITE, {LandingText.toUpperCase()} AND\n          RELATED GOODS AND SERVICES\n        </Text>\n\n        <Text style={styles.text_s}>\n          1. THIS DOCUMENT CONTAINS VERY IMPORTANT INFORMATION REGARDING YOUR RIGHTS AND OBLIGATIONS, AS WELL AS\n          CONDITIONS, LIMITATIONS, AND EXCLUSIONS THAT MIGHT APPLY TO YOU. PLEASE READ IT CAREFULLY.\n        </Text>\n\n        <Text style={styles.text_s}>\n          THESE TERMS REQUIRE THE USE OF ARBITRATION ON AN INDIVIDUAL BASIS TO RESOLVE DISPUTES, RATHER THAN JURY TRIALS\n          OR CLASS ACTIONS.\n        </Text>\n\n        <Text style={styles.text_s}>\n          BY USING THE {BrandName.toUpperCase()} WEBSITE, ONLINE, IN PERSON KIOSKS OR OTHERWISE, YOU AFFIRM THAT YOU ARE\n          OF LEGAL AGE TO ENTER INTO THIS AGREEMENT, AND YOU ACCEPT AND ARE BOUND BY THESE TERMS AND CONDITIONS. YOUR\n          USE OF {BrandName.toUpperCase()} WEBSITE INDICATES YOUR AFFIRMATION THAT YOU HAVE REVIEWED THESE TERMS AND\n          CONDITIONS.\n        </Text>\n\n        <Text style={styles.text_s}>\n          YOU MAY NOT USE {BrandName.toUpperCase()} WEBSITE, APP OR KIOSKS IF YOU (A) DO NOT AGREE TO THESE TERMS, (B)\n          ARE NOT THE OLDER OF (i) AT LEAST 18 YEARS OF AGE OR (ii) LEGAL AGE TO FORM A BINDING CONTRACT\n          WITH {BrandName.toUpperCase()}, OR (C) ARE PROHIBITED FROM ACCESSING OR USING THIS WEBSITE/SERVICE OR ANY OF\n          THIS WEBSITE'S AND/OR SERVICE’S CONTENTS, GOODS OR SERVICES BY APPLICABLE LAW.\n        </Text>\n\n        <Text style={styles.secondary_s}>\n          These terms and conditions (these \"<Text style={MainStyle.Barlow700}>Terms</Text>\") apply to the purchase and\n          sale of services through {BrandName.toUpperCase()} (<Text style={styles.small_link}\n                                                                    onPress={() => openLink(Landing)}>{LandingText.toUpperCase()}</Text>),\n          APPs associated with services provides by {BrandName.toUpperCase()} and/or KIOSKS associated\n          with {BrandName.toUpperCase()}and its dba, {LandingText} (the \"<Text\n          style={MainStyle.Barlow700}>Services</Text>\"). These Terms are subject to change\n          by {BrandName.toUpperCase()} (referred to as \"<Text style={MainStyle.Barlow700}>us</Text>\", \"<Text\n          style={MainStyle.Barlow700}>we</Text>\", or \"<Text style={MainStyle.Barlow700}>our</Text>\" as the context may\n          require) without prior written notice at any time, in our sole discretion. Any changes to the Terms will be in\n          effect as of the \"Last Updated Date\" referenced on the Site. You should review these Terms prior to purchasing\n          any product or services that are available through this Site. Your continued use of this Site after the \"Last\n          Updated Date\" will constitute your acceptance of and agreement to such changes.\n        </Text>\n\n        <Text style={styles.secondary_s}>\n          These Terms are an integral part of the Website Terms of Use that apply generally to the use of our Site. You\n          should also carefully review our Privacy Policy before using the services provided\n          by {BrandName.toUpperCase()}, placing an order for products or services (see Section 8). The Terms herein are\n          valid only for so long as you are accessing the Services. Once you sign up and create an account you will be\n          directed to a particular Bank. Your account and rights will be governed by the Bank’s terms and conditions and\n          you should consult the Bank for a description of your rights.\n        </Text>\n\n        <Text style={styles.secondary_s}>\n          If any deposit is charged back any winnings generated from {BrandName.toUpperCase()} challenges shall be\n          invalidated, forfeited and deducted from your Account balance. In addition, the amount of the initial deposit\n          will be invalidated, forfeited and deducted from the Account balance. {BrandName.toUpperCase()} reserves the\n          right to close your account - without notice - shall a deposit be charged back.\n        </Text>\n\n        <Text style={styles.secondary_s}>\n          {BrandName.toUpperCase()} employees (\"Employees\") and Immediate Family Members (an \"Immediate Family Member\"\n          means any domestic partner and relative of the employee who resident at an employee's residence, including but\n          not limited to parents, grandparents, in-laws, children, siblings, and spouses) are not permitted to play in\n          any public challenges for cash hosted on the Website; provided, however, Employees and Immediate Family\n          Members are permitted to play in the following challenges on the Website: {BrandName.toUpperCase()}-sponsored\n          Private Challenge, Private Challenges for cash, or Private Challenges for prizes other than cash. A \"Private\n          Challenge\" is one that is not listed in the website public domain, and is hosted by another Employee,\n          relative, or friend of the Employee or Immediate Family Member participating. Employees and relatives living\n          in the same household as such employees located in Colorado, are prevented from competing in any fantasy\n          challenges offered by any fantasy challenge operator in which the operator offers a cash prize.\n        </Text>\n\n        <Text style={styles.secondary_s}>\n          Professional or amateur athletes, sports agents, coaches, team owners, team employees, referees or league\n          officials, and their immediate family members, are not eligible to participate in, and are strictly prohibited\n          from entering, any {BrandName.toUpperCase()} challenges in the sport in which they are associated.\n        </Text>\n\n        <Text style={styles.secondary_s}>\n          You may establish only one account per person to participate in the Services offered on the Website. In the\n          event {BrandName.toUpperCase()} discovers that you have opened more than one account per person, in addition\n          to any other rights that {BrandName.toUpperCase()} may have, {BrandName.toUpperCase()} reserves the right to\n          suspend or terminate any or all of your accounts and terminate, withhold or revoke the awarding of any prizes.\n          You are responsible for maintaining the confidentiality of your login names and passwords and you accept\n          responsibility for all activities, charges, and damages that occur under your account. It shall be a violation\n          of these Terms of Use to allow any other person to use your account to participate in any challenge. You are\n          responsible for ensuring you use strong and secure passwords, and you may be required to change your passwords\n          from time to time. If you have reason to believe that someone is using your account without your permission,\n          you should contact us immediately. We will not be responsible for any loss or damage resulting from your\n          failure to notify us of unauthorized use. If we request registration information from you, you must provide us\n          with accurate and complete information and must update the information when it changes.\n        </Text>\n\n        <Text style={styles.title_s}>2. Order Acceptance and Cancellation.</Text>\n\n        <Text style={styles.secondary_s}>\n          You agree that your order is an offer to buy, under these Terms, all products and services listed in your\n          order. All orders must be accepted by us or we will not be obligated to sell the products or services to you.\n          We may choose not to accept orders at our sole discretion, even after we send you a confirmation email with\n          your order number and details of the items you have ordered.\n        </Text>\n\n        <Text style={styles.title_s}>3. CHALLENGE ENTRY.</Text>\n\n        <Text style={styles.secondary_s}>\n          Users will be able to visit the Website, app or Kiosk and view the games available for entry (the\n          \"Challenges\"). The entry fee for each Challenge is displayed in the Lobby of the Website and on the respective\n          Challenge page, and each individual Challenge that is not free to enter has an entry fee listed in US dollars.\n          The minimum entry fee for Challenges that are not free to play is one cent ($0.01), and there is no maximum\n          entry fee for Challenges. When you select to participate in a Challenge and complete the entry process, the\n          listed amount of US dollars will be debited from your {BrandName.toUpperCase()} account. The maximum number\n          entries an Authorized Account Holder may submit for a particular Challenge is listed in the \"Challenge\n          Details\" tab of each Challenge.\n        </Text>\n\n        <Text style={styles.secondary_s}>\n          Information about responsible gaming, including self-exclusion and self-limitation options, is available\n          at: {renderResponsibleGamingLink()}. If you self-exclude, you will be removed from any upcoming challenges as\n          set forth in the self-exclusion procedures available at: <Text style={styles.small_link}\n                                                                         onPress={() => navigation.navigate('SelfExclusion')}>{LandingText}/self-exclusion</Text>,\n          and any entry fees for such upcoming challenges you are removed from will be refunded to you.\n        </Text>\n\n        <Text style={styles.title_s}>4. REFUND POLICY.</Text>\n\n        <Text style={styles.secondary_s}>\n          {BrandName.toUpperCase()} accepts all major debit cards, and, depending on the jurisdiction you are\n          in, {BrandName.toUpperCase()} may also accept major credit cards (including Visa, MasterCard, Discover, and\n          American Express), Pay Pal, and gift cards (including {BrandName.toUpperCase()} specific cards, Visa,\n          MasterCard, and American Express). While physically located in the State of Georgia, customers may only link\n          one credit or debit card to their account. Deposits made on our site will appear on your statement\n          as {BrandName.toUpperCase()}. All payments are final. No refunds will be issued. In the event of a dispute\n          regarding the identity of the person submitting an entry, the entry will be deemed submitted by the person in\n          whose name the account was registered.\n        </Text>\n\n        <Text style={styles.secondary_s}>\n          Customers depositing funds using a credit card in some states may see a charge on their credit card statement\n          labeled \"international transaction fee\" or similar description. The company processing credit card payments\n          for {BrandName.toUpperCase()} in certain states may operate outside the United States and may impose fees for\n          international transactions.\n        </Text>\n\n        <Text style={styles.secondary_s}>\n          If you are charged this international transaction fee to deposit funds into\n          your {BrandName.toUpperCase()} account, you may contact {BrandName.toUpperCase()} at <Text\n          style={styles.small_link} onPress={() => openLink(`mailto:${SupportMail}`)}>{SupportMail}</Text> and request a\n          full reimbursement of the international transaction fee. To process your reimbursement\n          request,{BrandName.toUpperCase()} will need the following information: (i) original transaction date and\n          amount deposited; (ii) the amount(s) of the fee(s) assessed on such deposited amount; (iii) date(s) such\n          fee(s) was/were assessed; and (iv) a copy of your credit card statement showing such fee(s).\n        </Text>\n\n        <Text style={styles.secondary_s}>\n          {BrandName.toUpperCase()} reserves the right to request additional information to process your\n          request. {BrandName.toUpperCase()} will review your submission and if {BrandName.toUpperCase()} determines\n          that you have been charged the international transaction fee as a result of depositing funds into\n          your {BrandName.toUpperCase()} account, {BrandName.toUpperCase()} will credit such amount back to your\n          Account.\n        </Text>\n\n        <Text style={styles.secondary_s}>\n          Accounts may be deemed dormant or inactive, and any remaining funds held in a dormant or inactive account will\n          be treated, in each case, in accordance with applicable state laws and regulations.\n        </Text>\n\n        <Text style={styles.secondary_s}>\n          Players can obtain a copy of their Account statements by emailing customer service at <Text\n          style={styles.small_link} onPress={() => openLink(`mailto:${SupportMail}`)}>{SupportMail}</Text>.\n        </Text>\n\n        <Text style={styles.title_s}>5. CONDITIONS OF PARTICIPATION.</Text>\n\n        <Text style={styles.secondary_s}>\n          By entering a Challenge, entrants agree to be bound by these Rules and the decisions\n          of {BrandName.toUpperCase()}, which shall be final and binding in all respects. The Company, at its sole\n          discretion, may disqualify any entrant from a Challenge, refuse to award benefits or prizes and require the\n          return of any prizes, if the entrant engages in conduct or otherwise utilizes any information the Company\n          deems to be improper, unfair or otherwise adverse to the operation of the Challenge or is in any way\n          detrimental to other entrants. These Terms prohibit entering a Challenge if the entrant is:\n        </Text>\n\n        <Div row>\n          <Text style={styles.dot_s}>&#8226;</Text>\n          <Text style={[...styles.text_s, MainStyle.m_b_0]}>\n            Except as otherwise stated in the Eligibility section above, an Employee of the Company or an immediate\n            family member of such employee;\n          </Text>\n        </Div>\n\n        <Div row>\n          <Text style={styles.dot_s}>&#8226;</Text>\n          <Text style={[...styles.text_s, MainStyle.m_b_0]}>\n            An employee or operator of any daily fantasy site including any that charges entrance fees or offers prizes,\n            and any Immediate Family Member of any such person;\n          </Text>\n        </Div>\n\n        <Div row>\n          <Text style={styles.dot_s}>&#8226;</Text>\n          <Text style={[...styles.text_s, MainStyle.m_b_0]}>\n            Accessing or has had access to any pre-release, confidential information or other information that is not\n            available to all other entrants of a Challenge and that provides the entrant an advantage in such a\n            Challenge, including any information from any daily fantasy sport site or information from a sports\n            governing body (e.g., pre-release injury information) (\"Pre-Release Data\");\n          </Text>\n        </Div>\n\n        <Div row>\n          <Text style={styles.dot_s}>&#8226;</Text>\n          <Text style={[...styles.text_s, MainStyle.m_b_0]}>\n            An employee of a sponsor, consultant, or supplier of the Company or any other daily fantasy sports challenge\n            provider that has access to Pre-Release Data or otherwise receives an advantage in the entrant's\n            participation in a Challenge;\n          </Text>\n        </Div>\n\n        <Div row>\n          <Text style={styles.dot_s}>&#8226;</Text>\n          <Text style={[...styles.text_s, MainStyle.m_b_0]}>\n            An employee, operator or consultant to a sports governing body where such employee, operator or consultant\n            is prohibited from participating in applicable Challenges by such governing body;\n          </Text>\n        </Div>\n\n        <Div row>\n          <Text style={styles.dot_s}>&#8226;</Text>\n          <Text style={[...styles.text_s, MainStyle.m_b_0]}>\n            Breaches any rules or policies of the entrant's employer, of any sports governing body, or any other\n            professional body of which the entrant is a member, including any rule or policy regarding participation in\n            Challenges or accepting prize money;\n          </Text>\n        </Div>\n\n        <Div row>\n          <Text style={styles.dot_s}>&#8226;</Text>\n          <Text style={[...styles.text_s, MainStyle.m_b_0]}>\n            Any person prohibited from participating pursuant to court order;\n          </Text>\n        </Div>\n\n        <Div row mb={15}>\n          <Text style={styles.dot_s}>&#8226;</Text>\n          <Text style={[...styles.text_s, MainStyle.m_b_0]}>\n            Any entrant who has knowingly received Pre-Release Data or any other non-public information that provides an\n            advantage in a Challenge from any person who is prohibited from entering a Challenge as provided in these\n            Terms.\n          </Text>\n        </Div>\n\n        <Text style={styles.secondary_s}>\n          In addition, conduct that would be deemed improper also includes, but is not limited to:\n        </Text>\n\n        <Div row>\n          <Text style={styles.dot_s}>&#8226;</Text>\n          <Text style={[...styles.secondary_s, MainStyle.m_b_0]}>\n            Falsifying personal information required to enter a Challenge or claim a prize;\n          </Text>\n        </Div>\n\n        <Div row>\n          <Text style={styles.dot_s}>&#8226;</Text>\n          <Text style={[...styles.secondary_s, MainStyle.m_b_0]}>\n            Engaging in any type of financial fraud including unauthorized use of credit instruments to enter a\n            Challenge or claim a prize;\n          </Text>\n        </Div>\n\n        <Div row>\n          <Text style={styles.dot_s}>&#8226;</Text>\n          <Text style={[...styles.secondary_s, MainStyle.m_b_0]}>\n            Colluding with any other individual(s) or engaging in any type of syndicate play;\n          </Text>\n        </Div>\n\n        <Div row>\n          <Text style={styles.dot_s}>&#8226;</Text>\n          <Text style={[...styles.secondary_s, MainStyle.m_b_0]}>\n            Any violation of Challenge rules or the Terms of Use;\n          </Text>\n        </Div>\n\n        <Div row>\n          <Text style={styles.dot_s}>&#8226;</Text>\n          <Text style={[...styles.secondary_s, MainStyle.m_b_0]}>\n            Using a single Account to participate in a Challenge on behalf of multiple entrants or otherwise\n            collaborating with others to participate in any Challenge;\n          </Text>\n        </Div>\n\n        <Div row>\n          <Text style={styles.dot_s}>&#8226;</Text>\n          <Text style={[...styles.secondary_s, MainStyle.m_b_0]}>\n            Using automated means (including but not limited to scripts and third-party tools) to interact with the\n            Website in any way (this includes, but is not limited to: creating a challenge, entering a challenge,\n            withdrawing from a challenge, creating a lineup, and editing a lineup);\n          </Text>\n        </Div>\n\n        <Div row>\n          <Text style={styles.dot_s}>&#8226;</Text>\n          <Text style={[...styles.secondary_s, MainStyle.m_b_0]}>\n            Using automated means (including but not limited to harvesting bots, robots, parser, spiders or screen\n            scrapers) to obtain, collect or access any information on the Website or of any User for any purpose.\n          </Text>\n        </Div>\n\n        <Div row>\n          <Text style={styles.dot_s}>&#8226;</Text>\n          <Text style={[...styles.secondary_s, MainStyle.m_b_0]}>\n            Any type of bonus abuse, abuse of the refer-a-friend program, or abuse of any other offers or promotions;\n          </Text>\n        </Div>\n\n        <Div row>\n          <Text style={styles.dot_s}>&#8226;</Text>\n          <Text style={[...styles.secondary_s, MainStyle.m_b_0]}>\n            Tampering with the administration of a Challenge or trying to in any way tamper with the computer programs\n            or any security measure associated with a Challenge;\n          </Text>\n        </Div>\n\n        <Div row>\n          <Text style={styles.dot_s}>&#8226;</Text>\n          <Text style={[...styles.secondary_s, MainStyle.m_b_0]}>\n            Obtaining other entrants information and spamming other entrants; or\n          </Text>\n        </Div>\n\n        <Div row>\n          <Text style={styles.dot_s}>&#8226;</Text>\n          <Text style={[...styles.secondary_s, MainStyle.m_b_0]}>\n            Abusing the Website, APP, Kiosk or other interface in any way.\n          </Text>\n        </Div>\n\n        <Div row>\n          <Text style={styles.dot_s}>&#8226;</Text>\n          <Text style={[...styles.secondary_s, MainStyle.m_b_0]}>\n            Users further acknowledge that the forfeiture and/or return of any prize shall in no way\n            prevent {BrandName.toUpperCase()} from pursuing criminal or civil proceedings in connection with such\n            conduct.\n          </Text>\n        </Div>\n\n        <Div row>\n          <Text style={styles.dot_s}>&#8226;</Text>\n          <Text style={[...styles.secondary_s, MainStyle.m_b_0]}>\n            By entering into a Challenge or accepting any prize, entrants, including but not limited to the winner(s),\n            agree to indemnify, release and to hold harmless {BrandName.toUpperCase()}, its parents, subsidiaries,\n            affiliates and agents, as well as the officers, directors, employees, shareholders and representatives of\n            any of the foregoing entities (collectively, the \"Released Parties\"), from any and all liability, claims or\n            actions of any kind whatsoever, including but not limited to injuries, damages, or losses to persons and\n            property which may be sustained in connection with participation in the Challenge, the receipt, ownership,\n            use or misuse of any prize or while preparing for, participating in and/or travelling to or from any prize\n            related activity, as well as any claims based on publicity rights, defamation, or invasion of\n            privacy. {BrandName.toUpperCase()} may, in its sole and absolute discretion, require an Authorized Account\n            Holder to execute a separate release of claims similar to the one listed above in this Paragraph as a\n            condition of being awarded any prize or receiving any payout.\n          </Text>\n        </Div>\n\n        <Div row mb={15}>\n          <Text style={styles.dot_s}>&#8226;</Text>\n          <Text style={[...styles.secondary_s, MainStyle.m_b_0]}>\n            {BrandName.toUpperCase()} is not responsible for: any incorrect, invalid or inaccurate entry information;\n            human errors; postal delays/postage due mail; technical malfunctions; failures, including public utility or\n            telephone outages; omissions, interruptions, deletions or defects of any telephone system or network,\n            computer online systems, data, computer equipment, servers, providers, or software (including, but not\n            limited to software and operating systems that do not permit an entrant to participate in a Challenge),\n            including without limitation any injury or damage to any entrant's or any other person's computer or video\n            equipment relating to or resulting from participation in a Challenge; inability to access the Website, or\n            any web pages that are part of or related to the Website; theft, tampering, destruction, or unauthorized\n            access to, or alteration of, entries and/or images of any kind; data that is processed late or incorrectly\n            or is incomplete or lost due to telephone, postal issues, computer or electronic malfunction or traffic\n            congestion on telephone lines or transmission systems, or the Internet, or any service provider's\n            facilities, or any phone site or website or for any other reason whatsoever; typographical, printing or\n            other errors, or any combination thereof.\n          </Text>\n        </Div>\n\n        <Text style={styles.secondary_s}>\n          <Text style={MainStyle.t_d_l_u}>CHALLENGE PRIZES AND PROMOTIONS.</Text> Challenges offered are challenges of\n          skill. Winners are determined by the objective criteria described in the Challenge deadline, roster, Rules,\n          scoring, and any other applicable documentation associated with the Challenge. From all entries received for\n          each Challenge, winners are determined by the individuals who use their skill and knowledge of relevant sports\n          information and fantasy sports rules to accumulate the most points according to the corresponding scoring\n          rules. The Website and Challenges may not be used for any form of illicit gambling.\n        </Text>\n\n        <Text style={styles.secondary_s}>\n          Guaranteed prizes are offered in connection with some of the Challenges offered. Each Challenge or promotion\n          is governed by its own set of official rules. We encourage you to read such Challenge and promotions Rules\n          before participating.\n        </Text>\n\n        <Text style={styles.secondary_s}>\n          <Text style={MainStyle.t_d_l_u}>TOURNAMENTS.</Text> {BrandName} offers Tournaments wherein players have the\n          opportunity to win all or part of a Prize Pool. The details for the Tournaments are in the Tournament\n          Overview, and include Timing, Entry Fee (or sponsored) and Payouts. Tournaments Entries can be entered with\n          Withdrawable Funds (not Free Play) or the Prize Pool can be funded by a Third Party.\n        </Text>\n\n        <Text style={styles.secondary_s}>\n          <Text style={MainStyle.t_d_l_u}>New Player Promotion.</Text> New players receive “10 Free Shots” which are the\n          equivalent of 10 Challenges with a $3 Challenge Fee, without deposit required. The results of each challenge\n          during the “10 Free Shots” will be accumulated into Free Play with a 1x Turnover requirement. In the case that\n          a New Player does not earn at least $10, the New Player will receive $10 in Free Play after the completion of\n          their 10th Challenge\n        </Text>\n\n        <Text style={styles.title_s}>6. Manufacturer's Warranty and Disclaimers.</Text>\n\n        <Text style={styles.text_s}>\n          ALL PRODUCTS AND SERVICES OFFERED ON THIS SITE ARE PROVIDED “AS IS” WITHOUT ANY WARRANTY WHATSOEVER,\n          INCLUDING, WITHOUT LIMITATION, ANY (A) WARRANTY OF MERCHANTABILITY; (B) WARRANTY OF FITNESS FOR A PARTICULAR\n          PURPOSE; OR (C) WARRANTY AGAINST INFRINGEMENT OF INTELLECTUAL PROPERTY RIGHTS OF A THIRD PARTY; WHETHER\n          EXPRESS OR IMPLIED BY LAW, COURSE OF DEALING, COURSE OF PERFORMANCE, USAGE OF TRADE, OR OTHERWISE.\n        </Text>\n\n        <Text style={styles.text_s}>\n          SOME JURISDICTIONS LIMIT OR DO NOT ALLOW THE DISCLAIMER OF IMPLIED OR OTHER WARRANTIES SO THE ABOVE DISCLAIMER\n          MAY NOT APPLY TO YOU.\n        </Text>\n\n        <Text style={styles.text_s}>\n          YOU AFFIRM THAT WE SHALL NOT BE LIABLE, UNDER ANY CIRCUMSTANCES, FOR ANY BREACH OF WARRANTY CLAIMS OR FOR ANY\n          DAMAGES ARISING OUT OF THE MANUFACTURER'S FAILURE TO HONOR ITS WARRANTY OBLIGATIONS TO YOU.\n        </Text>\n\n        <Text style={[...styles.text_s, MainStyle.t_t_u]}>\n          By accessing and using the Company’s Services, regardless of through which Platform, you acknowledge and agree\n          that the owner and/or operator of any venue or facility containing or operating physical facilities or\n          equipment used by you in connection with your use of the Services and/or Platform (each a “Facility Owner\n          Operator”) is not liable for any funds in your Account, any payment due to you by the Company and/or any other\n          loss incurred by you in connection with your access to, and use of the Services through any Platform; and in\n          furtherance of the foregoing, you agree and acknowledge that each such Facility Owner Operator and its\n          respective affiliates are for all purposes hereby included in the definition of Released Parties (as defined\n          in Section 4 below and as used in these Terms.)\n        </Text>\n\n        <Text style={styles.title_s}>7. Limitation of Liability.</Text>\n\n        <Text style={styles.text_s}>\n          IN NO EVENT SHALL WE BE LIABLE TO YOU OR ANY THIRD PARTY FOR CONSEQUENTIAL, INDIRECT, INCIDENTAL, SPECIAL,\n          EXEMPLARY, PUNITIVE OR ENHANCED DAMAGES, LOST PROFITS OR REVENUES OR DIMINUTION IN VALUE, ARISING OUT OF, OR\n          RELATING TO, AND/OR IN CONNECTION WITH ANY BREACH OF THESE TERMS, REGARDLESS OF (A) WHETHER SUCH DAMAGES WERE\n          FORESEEABLE, (B) WHETHER OR NOT WE WERE ADVISED OF THE POSSIBILITY OF SUCH DAMAGES AND (C) THE LEGAL OR\n          EQUITABLE THEORY (CONTRACT, TORT OR OTHERWISE) UPON WHICH THE CLAIM IS BASED.\n        </Text>\n\n        <Text style={styles.text_s}>\n          OUR SOLE AND ENTIRE MAXIMUM LIABILITY, FOR ANY REASON, AND YOUR SOLE AND EXCLUSIVE REMEDY FOR ANY CAUSE\n          WHATSOEVER, SHALL BE LIMITED TO THE ACTUAL AMOUNT PAID BY YOU FOR THE PRODUCTS AND SERVICES YOU HAVE ORDERED\n          THROUGH OUR SITE.\n        </Text>\n\n        <Text style={styles.secondary_s}>\n          The limitation of liability set forth above shall: (i) only apply to the extent permitted by law and (ii)/ not\n          apply to (A) liability resulting from our willful misconduct and (B) death or bodily injury resulting from our\n          acts or omissions.\n        </Text>\n\n        <Text style={styles.title_s}>8. INTELLECTUAL PROPERTY RIGHTS.</Text>\n\n        <Text style={styles.secondary_s}>\n          The content on the Website, APP, Kiosks other any other location, including without limitation, the text,\n          software, scripts, graphics, photos, sounds, music, videos, interactive features and the like and the\n          trademarks, service marks and logos contained therein (the \"Intellectual Property\"), are owned by or licensed\n          to {BrandName.toUpperCase()}, subject to copyright and other intellectual property rights under United States\n          and foreign laws and international conventions. Content on the Website is provided to you AS IS for your\n          information and personal use only and may not be used, copied, reproduced, distributed, transmitted,\n          broadcast, displayed, sold, licensed, or otherwise exploited for any other purposes whatsoever without the\n          prior written consent of the respective owners. {BrandName.toUpperCase()} reserves all rights not expressly\n          granted in and to the Website and the Intellectual Property. You agree to not engage in the use, copying, or\n          distribution of any of the Intellectual Property other than expressly permitted herein. If you download or\n          print a copy of the Intellectual Property for personal use, you must retain all copyright and other\n          proprietary notices contained therein. You agree not to circumvent, disable or otherwise interfere with\n          security related features of the Website or features that prevent or restrict use or copying of any\n          Intellectual Property or enforce limitations on use of the Website or the Intellectual Property therein.\n        </Text>\n\n        <Text style={styles.secondary_s}>\n          Some of the Services may allow you to submit or transmit audio, video, text, or other materials (collectively,\n          \"User Submissions\") to or through the Services. When you provide User Submissions, you grant\n          to {BrandName.toUpperCase()}, its parents, subsidiaries, affiliates, and partners a non-exclusive, worldwide,\n          royalty-free, fully sublicenseable license to use, distribute, edit, display, archive, publish, sublicense,\n          perform, reproduce, make available, transmit, broadcast, sell, translate, and create derivative works of those\n          User Submissions, in any form, media, software, or technology of any kind now known or developed in the\n          future, including, without limitation, for developing, manufacturing, and marketing products. You hereby waive\n          any moral rights you may have in your User Submissions.\n        </Text>\n\n        <Text style={styles.secondary_s}>\n          In addition, you agree that any User Submissions you submit shall not contain any material that is, in the\n          sole and absolute discretion of {BrandName.toUpperCase()}, inappropriate, obscene, vulgar, unlawful, or\n          otherwise objectionable (hereinafter, \"Prohibited Content\"). Posting of any Prohibited Content, in addition to\n          any and all other rights and remedies available to {BrandName.toUpperCase()}, may result in account suspension\n          or termination.\n        </Text>\n\n        <Text style={styles.secondary_s}>\n          We respect your ownership of User Submissions. If you owned a User Submission before providing it to us, you\n          will continue owning it after providing it to us, subject to any rights granted in the Terms of Use and any\n          access granted to others. If you delete a User Submission from the Services, our general license to that User\n          Submission will end after a reasonable period of time required for the deletion to take full effect. However,\n          the User Submission may still exist in our backup copies, which are not publicly available. If your User\n          Submission is shared with third parties, those third parties may have retained copies of your User\n          Submissions. In addition, if we made use of your User Submission before you deleted it, we will continue to\n          have the right to make, duplicate, redistribute, and sublicense those pre-existing uses, even after you delete\n          the User Submission. Terminating your account on a Service will not automatically delete your User\n          Submissions.\n        </Text>\n\n        <Text style={styles.secondary_s}>\n          We may refuse or remove a User Submission without notice to you. However, we have no obligation to monitor\n          User Submissions, and you agree that neither we nor our parents, subsidiaries, affiliates, employees, or\n          agents will be liable for User Submissions or any loss or damage resulting from User Submissions.\n        </Text>\n\n        <Text style={styles.secondary_s}>\n          Except as provided in the Privacy Policy, we do not guarantee that User Submissions will be private, even if\n          the User Submission is in a password-protected area. Accordingly, you should not provide User Submissions that\n          you want protected from others.\n        </Text>\n\n        <Text style={styles.secondary_s}>\n          You represent and warrant that you have all rights necessary to grant to {BrandName.toUpperCase()} the license\n          above and that none of your User Submissions are defamatory, violate any rights of third parties (including\n          intellectual property rights or rights of publicity or privacy), or violate applicable law.\n        </Text>\n\n        <Text style={styles.title_s}>9. Goods Not for Resale or Export.</Text>\n\n        <Text style={styles.secondary_s}>\n          You represent and warrant that you are buying products or services from the Site for your own personal or\n          household use only, and not for resale or export. You further represent and warrant that all purchases are\n          intended for final delivery to locations within the US.\n        </Text>\n\n        <Text style={styles.title_s}>10. Privacy.</Text>\n\n        <Text style={styles.secondary_s}>\n          We respect your privacy and are committed to protecting it.] Our <Text style={MainStyle.Barlow400}>Privacy\n          Policy</Text>, <Text style={styles.small_link}\n                               onPress={() => navigation.navigate('PrivacyPolicy')}>{WebApp}/privacy</Text>, governs the\n          processing of all personal data collected from you in connection with your purchase of products or services\n          through the Site.\n        </Text>\n\n        <Text style={styles.title_s}>11. Force Majeure.</Text>\n\n        <Text style={styles.secondary_s}>\n          We will not be liable or responsible to you, nor be deemed to have defaulted or breached these Terms, for any\n          failure or delay in our performance under these Terms when and to the extent such failure or delay is caused\n          by or results from acts or circumstances beyond our reasonable control, including, without limitation, acts of\n          God, flood, fire, earthquake, explosion, governmental actions, war, invasion or hostilities (whether war is\n          declared or not), terrorist threats or acts, riot or other civil unrest, national emergency, revolution,\n          insurrection, epidemic, lockouts, strikes or other labor disputes (whether or not relating to our workforce),\n          or restraints or delays affecting carriers or inability or delay in obtaining supplies of adequate or suitable\n          materials, materials or telecommunication breakdown or power outage.\n        </Text>\n\n        <Text style={styles.title_s}>12. Governing Law and Jurisdiction.</Text>\n\n        <Text style={styles.secondary_s}>\n          This Site is operated from the US. All matters arising out of or relating to these Terms are governed by and\n          construed in accordance with the internal laws of the State of Nevada without giving effect to any choice or\n          conflict of law provision or rule (whether of the State of Nevada or any other jurisdiction) that would cause\n          the application of the laws of any jurisdiction other than those of the State of Nevada.\n        </Text>\n\n        <Text style={styles.title_s}>13. Dispute Resolution and Binding Arbitration.</Text>\n\n        <Div row>\n          <Text style={styles.dot_s}>(a)</Text>\n          <Div flex={1}>\n            <Text style={styles.text_s}>\n              YOU AND {BrandName.toUpperCase()} ARE AGREEING TO GIVE UP ANY RIGHTS TO LITIGATE CLAIMS IN A COURT OR\n              BEFORE A JURY, OR TO PARTICIPATE IN A CLASS ACTION OR REPRESENTATIVE ACTION WITH RESPECT TO A CLAIM. OTHER\n              RIGHTS THAT YOU WOULD HAVE IF YOU WENT TO COURT MAY ALSO BE UNAVAILABLE OR MAY BE LIMITED IN ARBITRATION.\n            </Text>\n            <Text style={[...styles.text_s, MainStyle.m_b_0]}>\n              ANY CLAIM, DISPUTE OR CONTROVERSY (WHETHER IN CONTRACT, TORT OR OTHERWISE, WHETHER PRE-EXISTING, PRESENT\n              OR FUTURE, AND INCLUDING STATUTORY, CONSUMER PROTECTION, COMMON LAW, INTENTIONAL TORT, INJUNCTIVE AND\n              EQUITABLE CLAIMS) BETWEEN YOU AND US ARISING FROM OR RELATING IN ANY WAY TO YOUR PURCHASE OF PRODUCTS OR\n              SERVICES THROUGH THE SITE, WILL BE RESOLVED EXCLUSIVELY AND FINALLY BY BINDING ARBITRATION.\n            </Text>\n          </Div>\n        </Div>\n\n        <Div row>\n          <Text style={styles.dot_s}>(b)</Text>\n          <Div flex={1}>\n            <Text style={styles.secondary_s}>\n              The arbitration will be administered by the American Arbitration Association (\"<Text\n              style={MainStyle.Barlow700}>AAA</Text>\") in accordance with the Consumer Arbitration Rules (the \"<Text\n              style={MainStyle.Barlow700}>AAA Rules</Text>\") hen in effect, except as modified by this Section 12. (The\n              AAA Rules are available at www.adr.org/arb_med or by calling the AAA at 1-800-778-7879.) The Federal\n              Arbitration Act will govern the interpretation and enforcement of this section.\n            </Text>\n            <Text style={[...styles.secondary_s, MainStyle.m_b_0]}>\n              The arbitrator will have exclusive authority to resolve any dispute relating to arbitrability and/or\n              enforceability of this arbitration provision, including any unconscionability challenge or any other\n              challenge that the arbitration provision or the agreement is void, voidable, or otherwise invalid. The\n              arbitrator will be empowered to grant whatever relief would be available in court under law or in equity.\n              Any award of the arbitrator(s) will be final and binding on each of the parties and may be entered as a\n              judgment in any court of competent jurisdiction.\n            </Text>\n          </Div>\n        </Div>\n\n        <Div row mb={15}>\n          <Text style={styles.dot_s}>(c)</Text>\n          <Text style={[...styles.secondary_s, MainStyle.m_b_0]}>\n            You agree to an arbitration on an individual basis. In any dispute, <Text\n            style={[...styles.text_s, MainStyle.m_b_0]}>NEITHER YOU NOR {BrandName.toUpperCase()} WILL BE ENTITLED TO\n            JOIN OR CONSOLIDATE CLAIMS BY OR AGAINST OTHER CUSTOMERS IN COURT OR IN ARBITRATION OR OTHERWISE PARTICIPATE\n            IN ANY CLAIM AS A CLASS REPRESENTATIVE, CLASS MEMBER OR IN A PRIVATE ATTORNEY GENERAL CAPACITY.</Text> The\n            arbitral tribunal may not consolidate more than one person's claims, and may not otherwise preside over any\n            form of a representative or class proceeding. The arbitral tribunal has no power to consider the\n            enforceability of 10 this class arbitration waiver and any challenge to the class arbitration waiver may\n            only be raised in a court of competent jurisdiction.\n          </Text>\n        </Div>\n\n        <Text style={styles.secondary_s}>\n          If any provision of this arbitration agreement is found unenforceable, the unenforceable provision will be\n          severed and the remaining arbitration terms will be enforced.\n        </Text>\n\n        <Text style={styles.title_s}>14. Assignment.</Text>\n\n        <Text style={styles.secondary_s}>\n          You will not assign any of your rights or delegate any of your obligations under these Terms without our prior\n          written consent. Any purported assignment or delegation in violation of this Section 131 is null and void. No\n          assignment or delegation relieves you of any of your obligations under these Terms.\n        </Text>\n\n        <Text style={styles.title_s}>15. No Waivers.</Text>\n\n        <Text style={styles.secondary_s}>\n          The failure by us to enforce any right or provision of these Terms will not constitute a waiver of future\n          enforcement of that right or provision. The waiver of any right or provision will be effective only if in\n          writing and signed by a duly authorized representative of {BrandName.toUpperCase()}.\n        </Text>\n\n        <Text style={styles.title_s}>16. No Third-Party Beneficiaries.</Text>\n\n        <Text style={styles.secondary_s}>\n          These Terms do not and are not intended to confer any rights or remedies upon any person other than you.\n        </Text>\n\n        <Text style={styles.title_s}>17. Notices.</Text>\n\n        <Div row>\n          <Text style={styles.dot_s}>(a)</Text>\n          <Text style={[...styles.secondary_s, MainStyle.m_b_0]}>\n            <Text style={MainStyle.t_d_l_u}>To You</Text>. We may provide any notice to you under these Terms by: (i)\n            sending a message to the email address you provide or (ii) by posting to the Site. Notices sent by email\n            will be effective when we send the email and notices we provide by posting will be effective upon posting.\n            It is your responsibility to keep your email address current.\n          </Text>\n        </Div>\n\n        <Div row mb={15}>\n          <Text style={styles.dot_s}>(b)</Text>\n          <Text style={[...styles.secondary_s, MainStyle.m_b_0]}>\n            <Text style={MainStyle.t_d_l_u}>To Us</Text>. To give us notice under these Terms, you must contact us as\n            follows: (i) by personal delivery, overnight courier, or registered or certified mail to [{BrandName}, 2575\n            S Highland Dr, Las Vegas, 89109]. We may update the facsimile number or address for notices to us by posting\n            a notice on the Site. Notices provided by personal delivery will be effective immediately. Notices provided\n            by overnight courier will be effective one business day after they are sent. Notices provided by registered\n            or certified mail will be effective three business days after they are sent.\n          </Text>\n        </Div>\n\n        <Text style={styles.title_s}>18. Severability.</Text>\n\n        <Text style={styles.secondary_s}>\n          If any provision of these Terms is invalid, illegal, void or unenforceable, then that provision will be deemed\n          severed from these Terms and will not affect the validity or enforceability of the remaining provisions of\n          these Terms.\n        </Text>\n\n        <Text style={styles.title_s}>19. Entire Agreement.</Text>\n\n        <Text style={styles.secondary_s}>\n          These Terms, our Website Terms of Use and our Privacy Policy will be deemed the final and integrated agreement\n          between you and us on the matters contained in these Terms.\n        </Text>\n\n        <Text style={styles.title_s}>20. SMS.</Text>\n\n        <Div row>\n          <Text style={styles.dot_s}>&#8226;</Text>\n          <Text style={[...styles.secondary_s, MainStyle.m_b_0]}>\n            When you opt in to the service, we will send you a one-time passcode on every attempt to log in.\n          </Text>\n        </Div>\n\n        <Div row>\n          <Text style={styles.dot_s}>&#8226;</Text>\n          <Text style={[...styles.secondary_s, MainStyle.m_b_0]}>\n            You can cancel the SMS or MMS service at any time by texting “STOP” to 1-855-619-2302. When you send the SMS\n            message “STOP” to us, we reply with an SMS message that confirms that you have been unsubscribed. After\n            this, you won’t receive SMS any additional messages from us. If you want to join again, sign up as you did\n            the first time and we will start sending SMS and MMS messages to you again.\n          </Text>\n        </Div>\n\n        <Div row>\n          <Text style={styles.dot_s}>&#8226;</Text>\n          <Text style={[...styles.secondary_s, MainStyle.m_b_0]}>\n            You can get more information at any time by texting “HELP” to 1-855-619-2302. When you send the SMS message\n            “HELP” to us, we respond with instructions on how to use our service and how to unsubscribe.\n          </Text>\n        </Div>\n\n        <Div row>\n          <Text style={styles.dot_s}>&#8226;</Text>\n          <Text style={[...styles.secondary_s, MainStyle.m_b_0]}>\n            We are able to deliver messages to the following mobile phone carriers: Major carriers: AT&T, Verizon\n            Wireless, Sprint, T-Mobile, MetroPCS, US Cellular, Alltel, Boost Mobile, Nextel, and Virgin Mobile. Minor\n            carriers: Alaska Communications Systems (ACS), Appalachian Wireless (EKN), Bluegrass Cellular, Cellular One\n            of East Central IL (ECIT), Cellular One of Northeast Pennsylvania, Cincinnati Bell Wireless, Cricket, Coral\n            Wireless (Mobi PCS), COX, Cross, Element Mobile (Flat Wireless), Epic Touch (Elkhart Telephone), GCI, Golden\n            State, Hawkeye (Chat Mobility), Hawkeye (NW Missouri), Illinois Valley Cellular, Inland Cellular, iWireless\n            (Iowa Wireless), Keystone Wireless (Immix Wireless/PC Man), Mosaic (Consolidated or CTC Telecom), Nex-Tech\n            Wireless, NTelos, Panhandle Communications, Pioneer, Plateau (Texas RSA 3 Ltd), Revol, RINA, Simmetry (TMP\n            Corporation), Thumb Cellular, Union Wireless, United Wireless, Viaero Wireless, and West Central (WCC or 5\n            Star Wireless). Carriers are not liable for delayed or undelivered messages.\n          </Text>\n        </Div>\n\n        <Div row>\n          <Text style={styles.dot_s}>&#8226;</Text>\n          <Text style={styles.secondary_s}>\n            Message and data rates may apply for any messages that we send to you or you send to us. You will receive\n            one message per login attempt. Contact your wireless provider for more information about your text plan or\n            data plan. If you have questions about the services provided by this short code, email us at <Text\n            style={styles.small_link} onPress={() => openLink(`mailto:${SupportMail}`)}>{SupportMail}</Text>.\n          </Text>\n        </Div>\n\n        <Text style={styles.title_s}>21. Promotions and Promotion Periods.</Text>\n\n        <Text style={[...styles.secondary_s, MainStyle.m_b_0]}>\n          <Text style={MainStyle.t_d_l_u}>New Player Promotion.</Text> New players receive “10 Free Shots” which are the\n          equivalent of 10 Challenges with a $3 Challenge Fee, without deposit required. The results of each challenge\n          during the “10 Free Shots” will be accumulated into Free Play with a 1x Turnover requirement. In the case that\n          a New Player does not earn at least $10, the New Player will receive $10 in Free Play after the completion of\n          their 10th Challenge\n        </Text>\n      </Div>\n    </ScrollView>\n  );\n};\n\nconst styles = {\n  text_s: [MainStyle.c_white, MainStyle.Barlow500, MainStyle.f_s_14, MainStyle.m_b_15, MainStyle.l_h_18],\n  small_link: [MainStyle.c_lightblue, MainStyle.Barlow700, MainStyle.t_d_l_u],\n  secondary_s: [MainStyle.c_white, MainStyle.Barlow500, MainStyle.f_s_10, MainStyle.m_b_15, MainStyle.l_h_16],\n  title_s: [\n    MainStyle.c_white, MainStyle.Barlow700, MainStyle.f_s_14, MainStyle.l_h_18, MainStyle.m_b_21, MainStyle.t_t_u\n  ],\n  dot_s: [MainStyle.c_white, MainStyle.Barlow500, MainStyle.f_s_12, MainStyle.l_h_16, MainStyle.m_x_8]\n};\n\nexport default React.memo(TermsAndConditionsContent);\n","import React, {useCallback} from \"react\";\nimport SupportGuideHeader from \"../components/ SupportGuideHeader\";\nimport {useNavigation} from \"@react-navigation/native\";\nimport {useWindowDimensions} from \"react-native\";\nimport {breakpoint} from \"../constants\";\nimport {colors} from \"../assets/styles/colors\";\nimport SupportGuideButtonMenu from \"../components/SupportGuideButtonMenu\";\nimport TermsAndConditionsContent from \"../components/TermsAndConditionsContent\";\n\nconst TermsAndConditionsScreen = () => {\n  const navigation: any = useNavigation();\n  const {width} = useWindowDimensions();\n  const isSm = width < breakpoint;\n\n  const onExit = useCallback(() => {\n    navigation.navigate('challenges');\n  }, []);\n\n  return (\n    <>\n      <SupportGuideHeader title=\"Terms and Conditions\" onExit={onExit}/>\n\n      <TermsAndConditionsContent bg={colors.bg_contest} px={10}/>\n\n      {!isSm && <SupportGuideButtonMenu onExit={onExit}/>}\n    </>\n  );\n};\n\nexport default TermsAndConditionsScreen;\n","import React, {useCallback} from \"react\";\nimport {Linking, Platform, Text, useWindowDimensions, View, ScrollView} from \"react-native\";\nimport {useNavigation} from \"@react-navigation/native\";\nimport {BrandName, breakpoint, Landing, LandingText, smgEnvironment, SupportMail} from \"../constants\";\nimport SupportGuideHeader from \"../components/ SupportGuideHeader\";\nimport MainStyle from \"../../MainStyle\";\nimport {colors} from \"../assets/styles/colors\";\nimport SupportGuideButtonMenu from \"../components/SupportGuideButtonMenu\";\n\nconst PrivacyPolicyScreen = () => {\n  const navigation: any = useNavigation();\n  const {width} = useWindowDimensions();\n  const isSm = width < breakpoint;\n\n  const scrollIntoView = (id: string) => () => {\n    if (Platform.OS === 'web') {\n      document.getElementById(id)?.scrollIntoView({behavior: 'smooth', block: 'center', inline: 'center'});\n    }\n  };\n\n  const openLink = (url: string) => {\n    if (Platform.OS === 'web') window.open(url, '_blank');\n    else Linking.openURL(url).then();\n  };\n\n  const onExit = useCallback(() => {\n    navigation.navigate('challenges');\n  }, []);\n\n  return (\n    <>\n      <SupportGuideHeader title=\"Privacy Policy\" onExit={onExit}/>\n\n      <ScrollView contentContainerStyle={[MainStyle.min_h_full, {backgroundColor: colors.bg_contest, paddingBottom: isSm ? 27 : 92}]} keyboardShouldPersistTaps=\"handled\">\n        <View style={[MainStyle.max_w_1120, MainStyle.full_w, {alignSelf: 'center', paddingTop: isSm ? 17 : 27, paddingHorizontal: isSm ? 40 : 0}]}>\n          <Text style={[...styles[isSm ? 'text_s' : 'text_l'], MainStyle.t_d_l_u, MainStyle.Barlow700]}>\n            Introduction\n          </Text>\n\n          <Text style={isSm ? styles.text_s : styles.text_l}>\n            {BrandName} dba {BrandName}, (\"<Text style={MainStyle.Barlow700}>Company</Text>\" or \"<Text\n            style={MainStyle.Barlow700}>We</Text>\" or “<Text style={MainStyle.Barlow700}>Us</Text>”) respects\n            your privacy and is committed to protecting it through our compliance with this policy.\n          </Text>\n\n          <Text style={isSm ? styles.text_s : styles.text_l}>\n            This policy describes the types of information we may collect from you or that you may provide when you\n            visit the website <Text style={styles.small_link}\n                                    onPress={() => openLink(`${Landing}/?env=${smgEnvironment}`)}>{LandingText}</Text>,\n            (our \"<Text style={MainStyle.Barlow700}>Website</Text>\"), our mobile applications (“<Text\n            style={MainStyle.Barlow700}>Applications</Text>”), physical locations, including but not limited to\n            physical kiosks (“<Text style={MainStyle.Barlow700}>Kiosks</Text>”) including social networking\n            features (collectively “<Text style={MainStyle.Barlow700}>Services and/or Challenges</Text>”) and our\n            practices for collecting, using, maintaining, protecting, and disclosing that information.\n          </Text>\n\n          <Text style={isSm ? styles.text_s : styles.text_l}>This policy applies to information we collect:</Text>\n\n          <View style={MainStyle.row}>\n            <Text style={isSm ? styles.dot_s : styles.dot_l}>&#8226;</Text>\n            <Text style={[...styles[isSm ? 'text_s' : 'text_l'], MainStyle.m_b_0]}>On our Website.</Text>\n          </View>\n\n          <View style={MainStyle.row}>\n            <Text style={isSm ? styles.dot_s : styles.dot_l}>&#8226;</Text>\n            <Text style={[...styles[isSm ? 'text_s' : 'text_l'], MainStyle.m_b_0]}>\n              In email, text, and other electronic messages between you and Us, whether direct email or text\n              communications or through our Website, Applications or Kiosks.\n            </Text>\n          </View>\n\n          <View style={MainStyle.row}>\n            <Text style={isSm ? styles.dot_s : styles.dot_l}>&#8226;</Text>\n            <Text style={[...styles[isSm ? 'text_s' : 'text_l'], MainStyle.m_b_0]}>\n              In person at our Kiosks, in order to perform Know Your Customer (“KYC”) obligations and verification that\n              it is you.\n            </Text>\n          </View>\n\n          <View style={[MainStyle.row, isSm ? MainStyle.m_b_15 : MainStyle.m_b_30]}>\n            <Text style={isSm ? styles.dot_s : styles.dot_l}>&#8226;</Text>\n            <Text style={[...styles[isSm ? 'text_s' : 'text_l'], MainStyle.m_b_0]}>\n              Through mobile and desktop applications you download from our Website, which provide dedicated\n              non-browser-based interaction between you and us.\n            </Text>\n          </View>\n\n          <Text style={isSm ? styles.text_s : styles.text_l}>It does not apply to information collected by:</Text>\n\n          <View style={MainStyle.row}>\n            <Text style={isSm ? styles.dot_s : styles.dot_l}>&#8226;</Text>\n            <Text style={[...styles[isSm ? 'text_s' : 'text_l'], MainStyle.m_b_0]}>\n              Us offline (except as noted above) or through any other means, including on any other website operated by\n              Company or any third party; or\n            </Text>\n          </View>\n\n          <View style={[MainStyle.row, isSm ? MainStyle.m_b_15 : MainStyle.m_b_30]}>\n            <Text style={isSm ? styles.dot_s : styles.dot_l}>&#8226;</Text>\n            <Text style={[...styles[isSm ? 'text_s' : 'text_l'], MainStyle.m_b_0]}>\n              Any third party, including through any application or content (including advertising) that may link to or\n              be accessible from or on our Website, App or Kiosk.\n            </Text>\n          </View>\n\n          <Text style={isSm ? styles.text_s : styles.text_l}>\n            Please read this policy carefully to understand our policies and practices regarding your information and\n            how we will treat it. <Text style={MainStyle.Barlow700}>If you do not agree with our policies and\n            practices, your choice is not to use our Services. By accessing or using our Services, you agree to this\n            privacy policy. This policy may change from time to time (see <Text style={MainStyle.t_d_l_u}\n                                                                                onPress={scrollIntoView('ChangesToOurPrivacyPolicy')}>Changes\n              to Our Privacy Policy</Text>). Your continued use of our Services after we make changes is deemed to be\n            acceptance of those changes, so please check the policy periodically for updates.</Text>\n          </Text>\n\n          <Text style={[...styles[isSm ? 'text_s' : 'text_l'], MainStyle.t_d_l_u, MainStyle.Barlow700]}>\n            Person Under the Age of 18\n          </Text>\n\n          <Text style={isSm ? styles.text_s : styles.text_l}>\n            Our Services are not intended for persons under 18 years of age. No one under age 18 may provide any\n            information to us in connection with our Services. We do not knowingly collect personal information from\n            persons under 18. If you are under 18, do not use or provide any information to us in connection with\n            Services offered. If we learn we have collected or received personal information from a person under 18 we\n            will delete that information. If we determine that a customer is under the age of 18, we will immediately\n            terminate the associated account and delete any information provided. If you believe we might have any\n            information from or about a person under 18, please contact us at:\n          </Text>\n\n          <Text style={[...styles[isSm ? 'text_s' : 'text_l'], MainStyle.m_b_0]}>\n            {BrandName}, 2575 S Highland Dr, Las Vegas, 89109\n          </Text>\n\n          <Text style={isSm ? styles.text_s : styles.text_l}>\n            <Text style={styles.small_link} onPress={() => openLink(`mailto:${SupportMail}`)}>\n              {SupportMail}\n            </Text>\n          </Text>\n\n          <Text style={isSm ? styles.text_s : styles.text_l}>\n            California residents under 16 years of age may have additional rights regarding the collection and sale of\n            their personal information. Please see Your California Privacy Rights for more information. {BrandName}\n            does not knowingly collect any information from person under the age of 18.\n          </Text>\n\n          <Text style={[...styles[isSm ? 'text_s' : 'text_l'], MainStyle.t_d_l_u, MainStyle.Barlow700]}>\n            Information We Collect About You and How We Collect It\n          </Text>\n\n          <Text style={isSm ? styles.text_s : styles.text_l}>\n            We collect several types of information from and about users of our Services, including information:\n          </Text>\n\n          <View style={MainStyle.row}>\n            <Text style={isSm ? styles.dot_s : styles.dot_l}>&#8226;</Text>\n            <Text style={[...styles[isSm ? 'text_s' : 'text_l'], MainStyle.m_b_0]}>\n              By which you may be personally identified, such as first and last name, postal address, e-mail address,\n              telephone number, IP address, browser type, account information, such as usernames and passwords, usage\n              data, device identifying information, or any other identifier by which you may be contacted online or\n              offline (\"<Text style={MainStyle.Barlow700}>personal information</Text>\");\n            </Text>\n          </View>\n\n          <View style={MainStyle.row}>\n            <Text style={isSm ? styles.dot_s : styles.dot_l}>&#8226;</Text>\n            <Text style={[...styles[isSm ? 'text_s' : 'text_l'], MainStyle.m_b_0]}>\n              Face scans for know your customer (“KYC”) purposes and then to match when you log in and to confirm you\n              are playing (“<Text style={MainStyle.Barlow700}>biometric information</Text>”);\n            </Text>\n          </View>\n\n          <View style={MainStyle.row}>\n            <Text style={isSm ? styles.dot_s : styles.dot_l}>&#8226;</Text>\n            <Text style={[...styles[isSm ? 'text_s' : 'text_l'], MainStyle.m_b_0]}>\n              You may decide to share your first and last name, date of birth, location, email address, phone number,\n              username and password, and the state in which you reside when you create an account to log in to our\n              network (\"Account\"). We need this information to set up your Account, verify your identity, and provide\n              you with our Services or Challenges;\n            </Text>\n          </View>\n\n          <View style={MainStyle.row}>\n            <Text style={isSm ? styles.dot_s : styles.dot_l}>&#8226;</Text>\n            <Text style={[...styles[isSm ? 'text_s' : 'text_l'], MainStyle.m_b_0]}>\n              When you use our Website, Application(s), Kiosks or Services or Challenges, or deposit or withdraw funds\n              from your Account, we may collect all information necessary to complete the transaction and provide you\n              with the Services, including your name, address, email address, phone number, credit or debit card\n              information and other billing information, social security number, tax documents, and records of the\n              products and Services or Challengeses you purchased, obtained, or considered;\n            </Text>\n          </View>\n\n          <View style={MainStyle.row}>\n            <Text style={isSm ? styles.dot_s : styles.dot_l}>&#8226;</Text>\n            <Text style={[...styles[isSm ? 'text_s' : 'text_l'], MainStyle.m_b_0]}>\n              If you provide us feedback or contact us via email, we will collect your name and email address, as well\n              as any other content provided in the email, in order to send you a reply, provide customer and technical\n              support, improve and optimize our Services, satisfy our legal obligations, enforce our contracts, and\n              address any existing or anticipated disputes;\n            </Text>\n          </View>\n\n          <View style={MainStyle.row}>\n            <Text style={isSm ? styles.dot_s : styles.dot_l}>&#8226;</Text>\n            <Text style={[...styles[isSm ? 'text_s' : 'text_l'], MainStyle.m_b_0]}>\n              We will collect certain biometric information which you may upload, including, but not limited to a\n              profile photo, with data derived from the photo you upload and username you choose for your public profile\n              page including in connection with our Services. When you utilize our Services or Challenges, other users may\n              be able to see the information you selected for your Profile.\n            </Text>\n          </View>\n\n          <View style={MainStyle.row}>\n            <Text style={isSm ? styles.dot_s : styles.dot_l}>&#8226;</Text>\n            <Text style={[...styles[isSm ? 'text_s' : 'text_l'], MainStyle.m_b_0]}>\n              If you tell us where you are (e.g., by allowing your mobile device to send us your location or by\n              otherwise permitting us to geolocate you), we may store and use that information to verify your\n              eligibility to use our Services, to comply with relevant laws, and for fraud prevention purposes.\n            </Text>\n          </View>\n\n          <View style={MainStyle.row}>\n            <Text style={isSm ? styles.dot_s : styles.dot_l}>&#8226;</Text>\n            <Text style={[...styles[isSm ? 'text_s' : 'text_l'], MainStyle.m_b_0]}>\n              That is about you but individually does not identify you; and/or\n            </Text>\n          </View>\n\n          <View style={MainStyle.row}>\n            <Text style={isSm ? styles.dot_s : styles.dot_l}>&#8226;</Text>\n            <Text style={[...styles[isSm ? 'text_s' : 'text_l'], MainStyle.m_b_0]}>\n              About your internet connection, the equipment you use to access our Services, and usage details.\n            </Text>\n          </View>\n\n          <View style={[MainStyle.row, isSm ? MainStyle.m_b_15 : MainStyle.m_b_30]}>\n            <Text style={isSm ? styles.dot_s : styles.dot_l}>&#8226;</Text>\n            <Text style={[...styles[isSm ? 'text_s' : 'text_l'], MainStyle.m_b_0]}>\n              Biometric information (see Biometric Privacy Policy for additional information), if you have affirmatively\n              consented to our collection of such information.\n            </Text>\n          </View>\n\n          <Text style={isSm ? styles.text_s : styles.text_l}>We collect this information:</Text>\n\n          <View style={MainStyle.row}>\n            <Text style={isSm ? styles.dot_s : styles.dot_l}>&#8226;</Text>\n            <Text style={[...styles[isSm ? 'text_s' : 'text_l'], MainStyle.m_b_0]}>\n              Directly from you when you provide it to us.\n            </Text>\n          </View>\n\n          <View style={[MainStyle.row, isSm ? MainStyle.m_b_15 : MainStyle.m_b_30]}>\n            <Text style={isSm ? styles.dot_s : styles.dot_l}>&#8226;</Text>\n            <Text style={[...styles[isSm ? 'text_s' : 'text_l'], MainStyle.m_b_0]}>\n              Automatically as you navigate through the site, app, kiosk or other platform associated with our Services.\n              Information collected automatically may include usage details, IP addresses, and information collected\n              through cookies and web beacons.\n            </Text>\n          </View>\n\n          <Text style={[...styles[isSm ? 'text_s' : 'text_l'], MainStyle.t_d_l_u, MainStyle.Barlow700]}>\n            Information You Provide to Us.\n          </Text>\n\n          <Text style={isSm ? styles.text_s : styles.text_l}>\n            The information we collect on or through our Website, App or Kiosks may include:\n          </Text>\n\n          <View style={MainStyle.row}>\n            <Text style={isSm ? styles.dot_s : styles.dot_l}>&#8226;</Text>\n            <Text style={[...styles[isSm ? 'text_s' : 'text_l'], MainStyle.m_b_0]}>\n              Information that you provide by filling in forms. This includes information provided at the time of\n              registering to use our Services or Challenges, subscribing to our service, or requesting further services.\n              We may also ask you for information when you report a problem with our Website, App, Kiosk or other\n              platform.\n            </Text>\n          </View>\n\n          <View style={MainStyle.row}>\n            <Text style={isSm ? styles.dot_s : styles.dot_l}>&#8226;</Text>\n            <Text style={[...styles[isSm ? 'text_s' : 'text_l'], MainStyle.m_b_0]}>\n              Information that you provide within {BrandName} or to establish an account.\n            </Text>\n          </View>\n\n          <View style={MainStyle.row}>\n            <Text style={isSm ? styles.dot_s : styles.dot_l}>&#8226;</Text>\n            <Text style={[...styles[isSm ? 'text_s' : 'text_l'], MainStyle.m_b_0]}>\n              Records and copies of your correspondence (including email addresses), if you contact us or provide us\n              with feedback.\n            </Text>\n          </View>\n\n          <View style={[MainStyle.row, isSm ? MainStyle.m_b_15 : MainStyle.m_b_30]}>\n            <Text style={isSm ? styles.dot_s : styles.dot_l}>&#8226;</Text>\n            <Text style={[...styles[isSm ? 'text_s' : 'text_l'], MainStyle.m_b_0]}>\n              Details of transactions you carry out through our Services and of the fulfillment of your participation in\n              any Services.\n            </Text>\n          </View>\n\n          <Text style={isSm ? styles.text_s : styles.text_l}>\n            You also may provide information to be published or displayed (hereinafter, \"<Text\n            style={MainStyle.Barlow700}>posted</Text>\") on public areas of the Website, App, Kiosk, or other\n            platform, or transmitted to other users of the Website or third parties (collectively, \"<Text\n            style={MainStyle.Barlow700}>User Contributions</Text>\"). Your User Contributions are posted on and\n            transmitted to others at your own risk. Please be aware that no security measures are perfect or\n            impenetrable. Additionally, we cannot control the actions of other users of the Website, App, Kiosk or other\n            platform with whom you may choose to share your User Contributions. Therefore, we cannot and do not\n            guarantee that your User Contributions will not be viewed by unauthorized persons.\n          </Text>\n\n          <Text style={[...styles[isSm ? 'text_s' : 'text_l'], MainStyle.t_d_l_u, MainStyle.Barlow700]}>\n            Information We Collect Through Automatic Data Collection Technologies.\n          </Text>\n\n          <Text style={isSm ? styles.text_s : styles.text_l}>\n            As you navigate through and interact with our Website, App, Kiosk or other platform, we may use automatic\n            data collection technologies to collect certain information about your equipment, browsing actions, and\n            patterns, including:\n          </Text>\n\n          <View style={MainStyle.row}>\n            <Text style={isSm ? styles.dot_s : styles.dot_l}>&#8226;</Text>\n            <Text style={[...styles[isSm ? 'text_s' : 'text_l'], MainStyle.m_b_0]}>\n              Details of your visits to our Website, App, Kiosk or other platform, including traffic data, location\n              data, logs, and other communication data and the resources that you access and use on the Website.\n            </Text>\n          </View>\n\n          <View style={MainStyle.row}>\n            <Text style={isSm ? styles.dot_s : styles.dot_l}>&#8226;</Text>\n            <Text style={[...styles[isSm ? 'text_s' : 'text_l'], MainStyle.m_b_0]}>\n              Information about your computer, device and internet connection, including the hardware models, operating\n              systems and versions, software, file names and versions, preferred languages, unique device identifiers,\n              advertising identifiers, serial numbers, device motion information, and mobile network information. If you\n              have downloaded our mobile Application(s), we may also collect certain information from your mobile\n              device, including information about how you use the Application(s). This information is generally used to\n              help us deliver relevant information to you. In the event our Application crashes on your mobile device,\n              we will also receive information about your mobile device model software version and device carrier, which\n              allows us to identify and fix bugs, provide other technical support, and improve and optimize the\n              performance of our Application(s).\n            </Text>\n          </View>\n\n          <View style={[MainStyle.row, isSm ? MainStyle.m_b_15 : MainStyle.m_b_30]}>\n            <Text style={isSm ? styles.dot_s : styles.dot_l}>&#8226;</Text>\n            <Text style={[...styles[isSm ? 'text_s' : 'text_l'], MainStyle.m_b_0]}>\n              In order to improve, personalize, and optimize our Services and meet our legal obligations, we may\n              automatically track certain information about your visits to and usage of our Website, Applications, and\n              Services, including your browser type, operating system, Internet Protocol (IP) address (a number that is\n              automatically assigned to your computer when you use the Internet, which may vary from session to\n              session), device identifier, domain name, clickstream data, referring/exist pages, geolocation, and a\n              date/time stamp for your visit. We also use this information to analyze trends, administer the Website,\n              gather demographic information about our user base, deliver advertising, perform research, provide\n              technical and customer support, inform our product development efforts, protect our legal rights, address\n              disputes, and prevent our Services from being used to commit harmful or unlawful activities, including\n              fraud. Some of this information may also be collected so that when you use the Website, Applications, or\n              Services again, we will be able to recognize you and optimize your experience accordingly.\n            </Text>\n          </View>\n\n          <Text style={isSm ? styles.text_s : styles.text_l}>\n            The information we collect automatically may include personal information, or we may maintain it or\n            associate it with personal information we collect in other ways or receive from third parties. It helps us\n            to improve our Services and to deliver a better and more personalized service, including by enabling us to:\n          </Text>\n\n          <View style={MainStyle.row}>\n            <Text style={isSm ? styles.dot_s : styles.dot_l}>&#8226;</Text>\n            <Text style={[...styles[isSm ? 'text_s' : 'text_l'], MainStyle.m_b_0]}>\n              Estimate our audience size and usage patterns.\n            </Text>\n          </View>\n\n          <View style={MainStyle.row}>\n            <Text style={isSm ? styles.dot_s : styles.dot_l}>&#8226;</Text>\n            <Text style={[...styles[isSm ? 'text_s' : 'text_l'], MainStyle.m_b_0]}>\n              Store information about your preferences, allowing us to customize our Services according to your\n              individual interests.\n            </Text>\n          </View>\n\n          <View style={MainStyle.row}>\n            <Text style={isSm ? styles.dot_s : styles.dot_l}>&#8226;</Text>\n            <Text style={[...styles[isSm ? 'text_s' : 'text_l'], MainStyle.m_b_0]}>Speed up your searches.</Text>\n          </View>\n\n          <View style={[MainStyle.row, isSm ? MainStyle.m_b_15 : MainStyle.m_b_30]}>\n            <Text style={isSm ? styles.dot_s : styles.dot_l}>&#8226;</Text>\n            <Text style={[...styles[isSm ? 'text_s' : 'text_l'], MainStyle.m_b_0]}>\n              Recognize you when you return to one of our platforms.\n            </Text>\n          </View>\n\n          <Text style={isSm ? styles.text_s : styles.text_l}>\n            The technologies we use for this automatic data collection may include:\n          </Text>\n\n          <View style={MainStyle.row}>\n            <Text style={isSm ? styles.dot_s : styles.dot_l}>&#8226;</Text>\n            <Text style={[...styles[isSm ? 'text_s' : 'text_l'], MainStyle.m_b_0]}>\n              <Text style={MainStyle.Barlow700}>Cookies (or browser cookies)</Text>. A cookie is a small file\n              placed on the hard drive of your computer. You may refuse to accept browser cookies by activating the\n              appropriate setting on your browser. However, if you select this setting, you may be unable to access\n              certain parts of our Website. Unless you have adjusted your browser setting so that it will refuse\n              cookies, our system will issue cookies when you direct your browser to our Website.\n            </Text>\n          </View>\n\n          <View style={MainStyle.row}>\n            <Text style={isSm ? styles.dot_s : styles.dot_l}>&#8226;</Text>\n            <Text style={[...styles[isSm ? 'text_s' : 'text_l'], MainStyle.m_b_0]}>\n              <Text style={MainStyle.Barlow700}>Flash Cookies</Text>. Certain features of our Website may use local\n              stored objects (or Flash cookies) to collect and store information about your preferences and navigation\n              to, from, and on our Website. Flash cookies are not managed by the same browser settings as are used for\n              browser cookies. For information about managing your privacy and security settings for Flash cookies,\n              see <Text style={MainStyle.t_d_l_u} onPress={scrollIntoView('disclose')}>Choices About How We Use and\n              Disclose Your Information</Text>.\n            </Text>\n          </View>\n\n          <View style={[MainStyle.row, isSm ? MainStyle.m_b_15 : MainStyle.m_b_30]}>\n            <Text style={isSm ? styles.dot_s : styles.dot_l}>&#8226;</Text>\n            <Text style={[...styles[isSm ? 'text_s' : 'text_l'], MainStyle.m_b_0]}>\n              <Text style={MainStyle.Barlow700}>Web Beacons</Text>. Pages of our Website may contain small\n              electronic files known as web beacons (also referred to as clear gifs, pixel tags, and single-pixel gifs)\n              that permit the Company, for example, to count users who have visited those pages and for other related\n              website statistics (for example, recording the popularity of certain website content and verifying system\n              and server integrity).\n            </Text>\n          </View>\n\n          <Text style={[...styles[isSm ? 'text_s' : 'text_l'], MainStyle.t_d_l_u]}>\n            What to do if you don’t want cookies to be set or want them to be removed?\n          </Text>\n\n          <Text style={isSm ? styles.text_s : styles.text_l}>\n            If you do not want to receive cookies, you can change your browser settings on your computer or other device\n            you’re using to access our services. If you use our Website without changing your browser settings, or if\n            you click the “Accept” button on our website page regarding cookies, we’ll assume that you’re happy to\n            receive all cookies on the Website and that you have provided consent by such actions or conduct. Most\n            browsers also provide functionality that lets you review and erase cookies, including our Website cookies.\n            Please note that the Website may not work properly without cookies.\n          </Text>\n\n          <Text style={[...styles[isSm ? 'text_s' : 'text_l'], MainStyle.t_d_l_u, MainStyle.Barlow700]}>\n            Third-Party Use of Cookies\n          </Text>\n\n          <Text style={isSm ? styles.text_s : styles.text_l}>\n            Some content or applications, including advertisements, on the Website are served by third parties,\n            including advertisers, ad networks and servers, content providers, and application providers. These third\n            parties may use cookies to collect information about you when you use our website. The information they\n            collect may be associated with your personal information or they may collect information, including personal\n            information, about your online activities over time and across different websites and other online services.\n            They may use this information to provide you with interest-based (behavioral) advertising or other targeted\n            content.\n          </Text>\n\n          <Text style={isSm ? styles.text_s : styles.text_l}>\n            We do not control these third parties' tracking technologies or how they may be used. If you have any\n            questions about an advertisement or other targeted content, you should contact the responsible provider\n            directly. For information about how you can opt out of receiving targeted advertising from many providers,\n            see <Text style={MainStyle.t_d_l_u} onPress={scrollIntoView('disclose')}>Choices About How We Use and\n            Disclose Your Information</Text>.\n          </Text>\n\n          <Text style={[...styles[isSm ? 'text_s' : 'text_l'], MainStyle.t_d_l_u, MainStyle.Barlow700]}>\n            How We Use Your Information\n          </Text>\n\n          <Text style={isSm ? styles.text_s : styles.text_l}>\n            We use information that we collect about you or that you provide to us, including any personal information:\n          </Text>\n\n          <View style={MainStyle.row}>\n            <Text style={isSm ? styles.dot_s : styles.dot_l}>&#8226;</Text>\n            <Text style={[...styles[isSm ? 'text_s' : 'text_l'], MainStyle.m_b_0]}>\n              To present our Website and our Services or Challenges to you.\n            </Text>\n          </View>\n\n          <View style={MainStyle.row}>\n            <Text style={isSm ? styles.dot_s : styles.dot_l}>&#8226;</Text>\n            <Text style={[...styles[isSm ? 'text_s' : 'text_l'], MainStyle.m_b_0]}>\n              To provide you with {BrandName}.\n            </Text>\n          </View>\n\n          <View style={MainStyle.row}>\n            <Text style={isSm ? styles.dot_s : styles.dot_l}>&#8226;</Text>\n            <Text style={[...styles[isSm ? 'text_s' : 'text_l'], MainStyle.m_b_0]}>\n              To improve our Website and/or {BrandName}.\n            </Text>\n          </View>\n\n          <View style={MainStyle.row}>\n            <Text style={isSm ? styles.dot_s : styles.dot_l}>&#8226;</Text>\n            <Text style={[...styles[isSm ? 'text_s' : 'text_l'], MainStyle.m_b_0]}>\n              To provide you with other {BrandName} products and/or services.\n            </Text>\n          </View>\n\n          <View style={MainStyle.row}>\n            <Text style={isSm ? styles.dot_s : styles.dot_l}>&#8226;</Text>\n            <Text style={[...styles[isSm ? 'text_s' : 'text_l'], MainStyle.m_b_0]}>\n              To provide you with information, products or services that you request from us.\n            </Text>\n          </View>\n\n          <View style={MainStyle.row}>\n            <Text style={isSm ? styles.dot_s : styles.dot_l}>&#8226;</Text>\n            <Text style={[...styles[isSm ? 'text_s' : 'text_l'], MainStyle.m_b_0]}>\n              To notify you about changes to our website and/or {BrandName}.\n            </Text>\n          </View>\n\n          <View style={MainStyle.row}>\n            <Text style={isSm ? styles.dot_s : styles.dot_l}>&#8226;</Text>\n            <Text style={[...styles[isSm ? 'text_s' : 'text_l'], MainStyle.m_b_0]}>\n              To allow you to participate in interactive features on our website and/or {BrandName}.\n            </Text>\n          </View>\n\n          <View style={MainStyle.row}>\n            <Text style={isSm ? styles.dot_s : styles.dot_l}>&#8226;</Text>\n            <Text style={[...styles[isSm ? 'text_s' : 'text_l'], MainStyle.m_b_0]}>To provide customer support.</Text>\n          </View>\n\n          <View style={MainStyle.row}>\n            <Text style={isSm ? styles.dot_s : styles.dot_l}>&#8226;</Text>\n            <Text style={[...styles[isSm ? 'text_s' : 'text_l'], MainStyle.m_b_0]}>For Internal recordkeeping.</Text>\n          </View>\n\n          <View style={MainStyle.row}>\n            <Text style={isSm ? styles.dot_s : styles.dot_l}>&#8226;</Text>\n            <Text style={[...styles[isSm ? 'text_s' : 'text_l'], MainStyle.m_b_0]}>For Market research.</Text>\n          </View>\n\n          <View style={MainStyle.row}>\n            <Text style={isSm ? styles.dot_s : styles.dot_l}>&#8226;</Text>\n            <Text style={[...styles[isSm ? 'text_s' : 'text_l'], MainStyle.m_b_0]}>\n              To investigate, deter, and protect against fraudulent, unauthorized or illegal activity.\n            </Text>\n          </View>\n\n          <View style={MainStyle.row}>\n            <Text style={isSm ? styles.dot_s : styles.dot_l}>&#8226;</Text>\n            <Text style={[...styles[isSm ? 'text_s' : 'text_l'], MainStyle.m_b_0]}>\n              To inform you about promotions, events, and news related to our Website and {BrandName}.\n            </Text>\n          </View>\n\n          <View style={MainStyle.row}>\n            <Text style={isSm ? styles.dot_s : styles.dot_l}>&#8226;</Text>\n            <Text style={[...styles[isSm ? 'text_s' : 'text_l'], MainStyle.m_b_0]}>\n              To contact you with respect to our website and {BrandName}.\n            </Text>\n          </View>\n\n          <View style={MainStyle.row}>\n            <Text style={isSm ? styles.dot_s : styles.dot_l}>&#8226;</Text>\n            <Text style={[...styles[isSm ? 'text_s' : 'text_l'], MainStyle.m_b_0]}>\n              In any other way we may describe when you provide the information.\n            </Text>\n          </View>\n\n          <View style={MainStyle.row}>\n            <Text style={isSm ? styles.dot_s : styles.dot_l}>&#8226;</Text>\n            <Text style={[...styles[isSm ? 'text_s' : 'text_l'], MainStyle.m_b_0]}>\n              To fulfill any other purpose for which you provide it.\n            </Text>\n          </View>\n\n          <View style={MainStyle.row}>\n            <Text style={isSm ? styles.dot_s : styles.dot_l}>&#8226;</Text>\n            <Text style={[...styles[isSm ? 'text_s' : 'text_l'], MainStyle.m_b_0]}>\n              For any other purpose with your consent.\n            </Text>\n          </View>\n\n          <View style={[MainStyle.row, isSm ? MainStyle.m_b_15 : MainStyle.m_b_30]}>\n            <Text style={isSm ? styles.dot_s : styles.dot_l}>&#8226;</Text>\n            <Text style={[...styles[isSm ? 'text_s' : 'text_l'], MainStyle.m_b_0]}>\n              We may also use your information to contact you about goods and services that may be of interest to you.\n              For more information, see <Text style={MainStyle.t_d_l_u} onPress={scrollIntoView('disclose')}>Choices\n              About How We Use and Disclose Your Information</Text>.\n            </Text>\n          </View>\n\n          <Text style={[...styles[isSm ? 'text_s' : 'text_l'], MainStyle.t_d_l_u, MainStyle.Barlow700]}>\n            Disclosure of Your Information\n          </Text>\n\n          <Text style={isSm ? styles.text_s : styles.text_l}>\n            We may disclose aggregated information about our users, and information that does not identify any\n            individual, without restriction.\n          </Text>\n\n          <Text style={isSm ? styles.text_s : styles.text_l}>\n            We may disclose personal information that we collect or you provide as described in this privacy policy:\n          </Text>\n\n          <View style={MainStyle.row}>\n            <Text style={isSm ? styles.dot_s : styles.dot_l}>&#8226;</Text>\n            <Text style={[...styles[isSm ? 'text_s' : 'text_l'], MainStyle.m_b_0]}>\n              To our subsidiaries and affiliates.\n            </Text>\n          </View>\n\n          <View style={MainStyle.row}>\n            <Text style={isSm ? styles.dot_s : styles.dot_l}>&#8226;</Text>\n            <Text style={[...styles[isSm ? 'text_s' : 'text_l'], MainStyle.m_b_0]}>\n              To our employees on a need-to-know basis.\n            </Text>\n          </View>\n\n          <View style={MainStyle.row}>\n            <Text style={isSm ? styles.dot_s : styles.dot_l}>&#8226;</Text>\n            <Text style={[...styles[isSm ? 'text_s' : 'text_l'], MainStyle.m_b_0]}>\n              To contractors, service providers, and other third parties we use to support our business and who are\n              bound by contractual obligations to keep personal information confidential and use it only for the\n              purposes for which we disclose it to them.\n            </Text>\n          </View>\n\n          <View style={MainStyle.row}>\n            <Text style={isSm ? styles.dot_s : styles.dot_l}>&#8226;</Text>\n            <Text style={[...styles[isSm ? 'text_s' : 'text_l'], MainStyle.m_b_0]}>\n              To a buyer or other successor in the event of a merger, divestiture, restructuring, reorganization,\n              dissolution, or other sale or transfer of some or all of {BrandName}’ assets, whether as a going\n              concern or as part of bankruptcy, liquidation, or similar proceeding, in which personal information held\n              by {BrandName} about our Service users is among the assets transferred.\n            </Text>\n          </View>\n\n          <View style={MainStyle.row}>\n            <Text style={isSm ? styles.dot_s : styles.dot_l}>&#8226;</Text>\n            <Text style={[...styles[isSm ? 'text_s' : 'text_l'], MainStyle.m_b_0]}>\n              To fulfill the purpose for which you provide it.\n            </Text>\n          </View>\n\n          <View style={MainStyle.row}>\n            <Text style={isSm ? styles.dot_s : styles.dot_l}>&#8226;</Text>\n            <Text style={[...styles[isSm ? 'text_s' : 'text_l'], MainStyle.m_b_0]}>\n              If your earnings from Challenges exceed a certain threshold, in accordance with our interpretation of\n              applicable law, we will disclose the amount of your earnings and related information to the United States\n              Internal Revenue Service and other appropriate taxing authorities.\n            </Text>\n          </View>\n\n          <View style={MainStyle.row}>\n            <Text style={isSm ? styles.dot_s : styles.dot_l}>&#8226;</Text>\n            <Text style={[...styles[isSm ? 'text_s' : 'text_l'], MainStyle.m_b_0]}>\n              From time to time, we may also need to share your information with professional advisers, including\n              lawyers, auditors, bankers, insurers and consultants, in order to obtain advice or other professional\n              services from them. Such advisers are bound by legal and/or contractual duties of confidentiality and\n              other prohibitions against disclosure of personal information.\n            </Text>\n          </View>\n\n          <View style={MainStyle.row}>\n            <Text style={isSm ? styles.dot_s : styles.dot_l}>&#8226;</Text>\n            <Text style={[...styles[isSm ? 'text_s' : 'text_l'], MainStyle.m_b_0]}>\n              Co-Branded Partners are companies with whom we may jointly offer a service or feature. You can tell when\n              you are accessing a service or feature offered by a CoBranded Partner because the Co-Branded Partner's\n              name will be featured prominently. You may be asked to provide information about yourself to register for\n              a service offered by a CoBranded Partner. In doing so, you may be providing your information to both us\n              and the CoBranded Partner, or we may share your information with the Co-Branded Partner. Please note that\n              the Co-Branded Partner's privacy policy may also apply to its use of your information. We are not\n              responsible for the practices used by Co-Branded Partners. In addition, by using our Website,\n              Application(s), and Services, you acknowledge and agree that we are not responsible for and do not have\n              control over any Co-Branded Partners.\n            </Text>\n          </View>\n\n          <View style={MainStyle.row}>\n            <Text style={isSm ? styles.dot_s : styles.dot_l}>&#8226;</Text>\n            <Text style={[...styles[isSm ? 'text_s' : 'text_l'], MainStyle.m_b_0]}>\n              For any other purpose disclosed by us when you provide the information.\n            </Text>\n          </View>\n\n          <View style={[MainStyle.row, isSm ? MainStyle.m_b_15 : MainStyle.m_b_30]}>\n            <Text style={isSm ? styles.dot_s : styles.dot_l}>&#8226;</Text>\n            <Text style={[...styles[isSm ? 'text_s' : 'text_l'], MainStyle.m_b_0]}>With your consent.</Text>\n          </View>\n\n          <Text style={isSm ? styles.text_s : styles.text_l}>We may also disclose your personal information:</Text>\n\n          <View style={MainStyle.row}>\n            <Text style={isSm ? styles.dot_s : styles.dot_l}>&#8226;</Text>\n            <Text style={[...styles[isSm ? 'text_s' : 'text_l'], MainStyle.m_b_0]}>\n              To comply with any court order, law, or legal process, including to respond to any government or\n              regulatory request.\n            </Text>\n          </View>\n\n          <View style={MainStyle.row}>\n            <Text style={isSm ? styles.dot_s : styles.dot_l}>&#8226;</Text>\n            <Text style={[...styles[isSm ? 'text_s' : 'text_l'], MainStyle.m_b_0]}>\n              and other agreements, including for billing and collection purposes.\n            </Text>\n          </View>\n\n          <View style={[MainStyle.row, isSm ? MainStyle.m_b_15 : MainStyle.m_b_30]}>\n            <Text style={isSm ? styles.dot_s : styles.dot_l}>&#8226;</Text>\n            <Text style={[...styles[isSm ? 'text_s' : 'text_l'], MainStyle.m_b_0]}>\n              If we believe disclosure is necessary or appropriate to protect the rights, property, or safety of {BrandName}, our customers, or others.\n            </Text>\n          </View>\n\n          <Text style={[...styles[isSm ? 'text_s' : 'text_l'], MainStyle.t_d_l_u, MainStyle.Barlow700]}\n                nativeID=\"disclose\">\n            Choices About How We Use and Disclose Your Information\n          </Text>\n\n          <Text style={isSm ? styles.text_s : styles.text_l}>\n            We strive to provide you with choices regarding the personal information you provide to us. We have created\n            mechanisms to provide you with the following control over your information:\n          </Text>\n\n          <View style={MainStyle.row}>\n            <Text style={isSm ? styles.dot_s : styles.dot_l}>&#8226;</Text>\n            <Text style={[...styles[isSm ? 'text_s' : 'text_l'], MainStyle.m_b_0]}>\n              <Text style={MainStyle.Barlow700}>Tracking Technologies and Advertising</Text>. You can set your\n              browser to refuse all or some browser cookies, or to alert you when cookies are being sent. If you disable\n              or refuse cookies, please note that some parts of this site may then be inaccessible or not function\n              properly.\n            </Text>\n          </View>\n\n          <View style={MainStyle.row}>\n            <Text style={isSm ? styles.dot_s : styles.dot_l}>&#8226;</Text>\n            <Text style={[...styles[isSm ? 'text_s' : 'text_l'], MainStyle.m_b_0]}>\n              <Text style={MainStyle.Barlow700}>Disclosure of Your Information for Third-Party Advertising</Text>.\n              If you do not want us to share your personal information with unaffiliated or non-agent third parties for\n              promotional purposes, you can opt out by checking the relevant box located on the form on which we collect\n              your data (the order/registration form) or Contact by email or phone. You can also always opt out by\n              logging into the Website and adjusting your user preferences in your account profile, by checking or\n              unchecking the relevant boxes or by sending us an email stating your request to <Text\n              style={styles.small_link}\n              onPress={() => openLink(`mailto:${SupportMail}`)}>{SupportMail}</Text>.\n            </Text>\n          </View>\n\n          <View style={[MainStyle.row, isSm ? MainStyle.m_b_15 : MainStyle.m_b_30]}>\n            <Text style={isSm ? styles.dot_s : styles.dot_l}>&#8226;</Text>\n            <Text style={[...styles[isSm ? 'text_s' : 'text_l'], MainStyle.m_b_0]}>\n              <Text style={MainStyle.Barlow700}>Promotional Offers from the Company</Text>. If you do not wish to\n              have your contact information used by the Company to promote our own or third parties' products or\n              services, you can opt out by sending us an email stating your request to <Text style={styles.small_link}\n                                                                                             onPress={() => openLink(`mailto:${SupportMail}`)}>{SupportMail}</Text>.\n              If we have sent you a promotional email, you may send us a return email asking to be omitted from future\n              email distributions.\n            </Text>\n          </View>\n\n          <Text style={isSm ? styles.text_s : styles.text_l}>\n            We do not control third parties' collection or use of your information to serve interest- based advertising.\n            However, these third parties may provide you with ways to choose not to have your information collected or\n            used in this way. You can opt out of receiving targeted ads from members of the Network Advertising\n            Initiative (\"<Text style={MainStyle.Barlow700}>NAI</Text>\") on the NAI's <Text\n            style={styles.small_link}\n            onPress={() => openLink('http://www.networkadvertising.org/managing/opt_out.asp')}>website</Text>.\n          </Text>\n\n          <Text style={[...styles[isSm ? 'text_s' : 'text_l'], MainStyle.t_d_l_u, MainStyle.Barlow700]}>\n            Third Party Links On Our Site\n          </Text>\n\n          <Text style={[...styles[isSm ? 'text_s' : 'text_l'], MainStyle.t_d_l_u]}>\n            {BrandName} and/or our Website may contain links to other third party Websites for your convenience. We\n            are not responsible for the privacy policies and practices of other third parties and any information you\n            submit to a third party is subject to their privacy policy. Once you leave our {BrandName} or our\n            Website, or are otherwise redirected to a third-party Website, application, or other online service, we\n            encourage you to read the privacy policy applicable to that third party.\n          </Text>\n\n          <Text style={[...styles[isSm ? 'text_s' : 'text_l'], MainStyle.t_d_l_u, MainStyle.Barlow700]}>\n            Opt-Out Of Communications With {BrandName}\n          </Text>\n\n          <Text style={[...styles[isSm ? 'text_s' : 'text_l'], MainStyle.t_d_l_u]}>\n            You may opt-out of receiving promotional e-mail communication from us by sending us an e-mail at <Text\n            style={styles.small_link}\n            onPress={() => openLink(`mailto:${SupportMail}`)}>{SupportMail}</Text>, or by clicking the\n            “unsubscribe” button at the bottom of our emails that we send to you. Please note that you will not be able\n            to opt-out of transactional e-mail communication, such as communication related to your account activities.\n          </Text>\n\n          <Text style={[...styles[isSm ? 'text_s' : 'text_l'], MainStyle.t_d_l_u, MainStyle.Barlow700]}>\n            Data Security\n          </Text>\n\n          <Text style={isSm ? styles.text_s : styles.text_l}>\n            We have implemented measures designed to secure your personal information from accidental loss and from\n            unauthorized access, use, alteration, and disclosure. All information you provide to us is stored on our\n            secure servers behind firewalls.\n          </Text>\n\n          <Text style={isSm ? styles.text_s : styles.text_l}>\n            The safety and security of your information also depends on you. Where we have given you (or where you have\n            chosen) a password for access to certain parts of our Service, you are responsible for keeping this password\n            confidential. We ask you not to share your password with anyone.\n          </Text>\n\n          <Text style={isSm ? styles.text_s : styles.text_l}>\n            Unfortunately, the transmission of information via the internet or other electronic method is not completely\n            secure. Although we do our best to protect your personal information, we cannot guarantee the security of\n            your personal information transmitted to us. Any transmission of personal information is at your own risk.\n            We are not responsible for circumvention of any privacy settings or security measures contained on the\n            Website.\n          </Text>\n\n          <Text style={[...styles[isSm ? 'text_s' : 'text_l'], MainStyle.t_d_l_u, MainStyle.Barlow700]}\n                nativeID=\"ChangesToOurPrivacyPolicy\">\n            Changes to Our Privacy Policy\n          </Text>\n\n          <Text style={isSm ? styles.text_s : styles.text_l}>\n            It is our policy to post any changes we make to our privacy policy on this page with a notice that the\n            privacy policy has been updated on the Website home page. If we make material changes to how we treat our\n            users' personal information, we will notify you. The date the privacy policy was last revised is identified\n            at the top of the page. You are responsible for ensuring we have an up-to-date active and deliverable email\n            address for you, and for periodically visiting our Website and this privacy policy to check for any changes.\n          </Text>\n\n          <Text style={isSm ? styles.text_s : styles.text_l}>\n            Nevada provides its residents with a limited right to opt-out of certain personal information sales.\n            Residents who wish to exercise this sale opt-out rights may submit a request to this designated\n            address: <Text style={styles.small_link}\n                           onPress={() => navigation.navigate('Notifications')}>{LandingText}/notifications</Text>.\n            However, please know we do not currently sell data triggering that statute's opt-out requirements.\n          </Text>\n\n          <Text style={[...styles[isSm ? 'text_s' : 'text_l'], MainStyle.t_d_l_u, MainStyle.Barlow700]}>\n            Contact Information\n          </Text>\n\n          <Text style={isSm ? styles.text_s : styles.text_l}>\n            To ask questions or comment about this privacy policy and our privacy practices, contact us at: <Text\n            style={styles.small_link}\n            onPress={() => openLink(`mailto:${SupportMail}`)}>{SupportMail}</Text>\n          </Text>\n\n          <Text style={isSm ? styles.title_s : styles.title_l}>BIOMETRIC PRIVACY POLICY</Text>\n\n          <Text style={isSm ? styles.text_s : styles.text_l}>\n            The Company has instituted the following biometric information privacy policy:\n          </Text>\n\n          <Text style={[...styles[isSm ? 'text_s' : 'text_l'], MainStyle.Barlow700]}>\n            Biometric Data Defined\n          </Text>\n\n          <Text style={isSm ? styles.text_s : styles.text_l}>\n            As used in this policy, biometric data includes “biometric identifiers” and “biometric information” as\n            defined in the Illinois Biometric Information Privacy Act, 740 ILCS § 14/1, et seq. “Biometric identifier”\n            means a retina or iris scan, fingerprint, voiceprint, or scan of hand or face geometry. Likewise, this\n            policy applies to the Texas Capture and Use of Biometric Identifier Act (“CUBI”) and the biometric\n            protection laws of the State of Washington. Biometric identifiers do not include writing samples, written\n            signatures, photographs, human biological samples used for valid scientific testing or screening,\n            demographic data, tattoo descriptions, or physical descriptions such as height, weight, hair color, or eye\n            color. Biometric identifiers do not include information captured from a patient in a health care setting or\n            information collected, used, or stored for health care treatment, payment, or operations under the federal\n            Health Insurance Portability and Accountability Act of 1996. “Biometric information” means any information,\n            regardless of how it is captured, converted, stored, or shared, based on an individual’s biometric\n            identifier used to identify an individual. Biometric information does not include information derived from\n            items or procedures excluded under the definition of biometric identifiers.\n          </Text>\n\n          <Text style={[...styles[isSm ? 'text_s' : 'text_l'], MainStyle.Barlow700]}>\n            Purpose for Collection of Biometric Data\n          </Text>\n\n          <Text style={isSm ? styles.text_s : styles.text_l}>\n            The Company and/or its vendors, may collect biometric data for purposes of the Services to be provided,\n            including, but not limited to, identification of users and confirming identity of any party using the\n            Services provided.\n          </Text>\n\n          <Text style={[...styles[isSm ? 'text_s' : 'text_l'], MainStyle.Barlow700]}>\n            Disclosure and Authorization\n          </Text>\n\n          <Text style={isSm ? styles.text_s : styles.text_l}>\n            To the extent that the Company or its vendors, capture, or otherwise obtain biometric data relating to a\n            user, the Company must first:\n          </Text>\n\n          <View style={MainStyle.row}>\n            <Text style={isSm ? styles.dot_s : styles.dot_l}>(a)</Text>\n            <Text style={[...styles[isSm ? 'text_s' : 'text_l'], MainStyle.m_b_0]}>\n              Inform the user in writing that the Company and its vendors, are collecting, capturing, or otherwise\n              obtaining the user’s biometric data, and that the Company is providing such biometric data to its vendors;\n            </Text>\n          </View>\n\n          <View style={MainStyle.row}>\n            <Text style={isSm ? styles.dot_s : styles.dot_l}>(b)</Text>\n            <Text style={[...styles[isSm ? 'text_s' : 'text_l'], MainStyle.m_b_0]}>\n              Inform the users in writing of the specific purpose and length of time for which the user’s biometric data\n              is being collected, stored, and used; and\n            </Text>\n          </View>\n\n          <View style={[MainStyle.row, isSm ? MainStyle.m_b_15 : MainStyle.m_b_30]}>\n            <Text style={isSm ? styles.dot_s : styles.dot_l}>(c)</Text>\n            <Text style={[...styles[isSm ? 'text_s' : 'text_l'], MainStyle.m_b_0]}>\n              Receive a written release acknowledged and executed by the user (or his or her legally authorized\n              representative) authorizing the Company and its vendors to collect, store, and use the user’s biometric\n              data for the specific purposes disclosed by the Company, and for the Company to provide such biometric\n              data to its vendors.\n            </Text>\n          </View>\n\n          <Text style={isSm ? styles.text_s : styles.text_l}>\n            The Company and its vendors will not sell, lease, trade, or otherwise profit from users’ biometric data.\n          </Text>\n\n          <Text style={[...styles[isSm ? 'text_s' : 'text_l'], MainStyle.Barlow700]}>\n            Disclosure\n          </Text>\n\n          <Text style={isSm ? styles.text_s : styles.text_l}>\n            The Company will not disclose or disseminate any biometric data to anyone other than its vendors providing\n            products and services using biometric data without/unless:\n          </Text>\n\n          <View style={MainStyle.row}>\n            <Text style={isSm ? styles.dot_s : styles.dot_l}>(a)</Text>\n            <Text style={[...styles[isSm ? 'text_s' : 'text_l'], MainStyle.m_b_0]}>\n              First obtaining written user consent to such disclosure or dissemination;\n            </Text>\n          </View>\n\n          <View style={MainStyle.row}>\n            <Text style={isSm ? styles.dot_s : styles.dot_l}>(b)</Text>\n            <Text style={[...styles[isSm ? 'text_s' : 'text_l'], MainStyle.m_b_0]}>\n              The disclosed data completes a financial transaction requested or authorized by the user;\n            </Text>\n          </View>\n\n          <View style={MainStyle.row}>\n            <Text style={isSm ? styles.dot_s : styles.dot_l}>(c)</Text>\n            <Text style={[...styles[isSm ? 'text_s' : 'text_l'], MainStyle.m_b_0]}>\n              Disclosure is required by state or federal law or municipal ordinance; or\n            </Text>\n          </View>\n\n          <View style={[MainStyle.row, isSm ? MainStyle.m_b_15 : MainStyle.m_b_30]}>\n            <Text style={isSm ? styles.dot_s : styles.dot_l}>(d)</Text>\n            <Text style={[...styles[isSm ? 'text_s' : 'text_l'], MainStyle.m_b_0]}>\n              Disclosure is required pursuant to a valid warrant or subpoena issued by a court of competent\n              jurisdiction.\n            </Text>\n          </View>\n\n          <Text style={[...styles[isSm ? 'text_s' : 'text_l'], MainStyle.Barlow700]}>\n            Retention Schedule\n          </Text>\n\n          <Text style={isSm ? styles.text_s : styles.text_l}>\n            The Company shall retain user’s biometric data only until, and shall request that its vendors permanently\n            destroy such data when, the first of the following occurs:\n          </Text>\n\n          <View style={MainStyle.row}>\n            <Text style={isSm ? styles.dot_s : styles.dot_l}>&#8226;</Text>\n            <Text style={[...styles[isSm ? 'text_s' : 'text_l'], MainStyle.m_b_0]}>\n              The initial purpose for collecting or obtaining such biometric data has been satisfied, such as the\n              termination of the business relationship with User; or\n            </Text>\n          </View>\n\n          <View style={[MainStyle.row, isSm ? MainStyle.m_b_15 : MainStyle.m_b_30]}>\n            <Text style={isSm ? styles.dot_s : styles.dot_l}>&#8226;</Text>\n            <Text style={[...styles[isSm ? 'text_s' : 'text_l'], MainStyle.m_b_0]}>\n              Within 3 years of the User's last interaction with the Company, unless a shorter period is required by\n              law.\n            </Text>\n          </View>\n\n          <Text style={[...styles[isSm ? 'text_s' : 'text_l'], MainStyle.Barlow700]}>\n            Data Storage\n          </Text>\n\n          <Text style={isSm ? styles.text_s : styles.text_l}>\n            The Company shall use a reasonable standard of care to store, transmit and protect from disclosure any paper\n            or electronic biometric data collected. Such storage, transmission, and protection from disclosure shall be\n            performed in a manner that is the same as or more protective than the manner in which the Company stores,\n            transmits and protects from disclosure other confidential and sensitive information, including personal\n            information that can be used to uniquely identify an individual or an individual’s account or property, such\n            as genetic markers, genetic testing information, account numbers, PINs, driver’s license numbers and social\n            security numbers.\n          </Text>\n\n          <Text style={[...styles[isSm ? 'text_s' : 'text_l'], MainStyle.Barlow700]}>\n            Your California Privacy Rights\n          </Text>\n\n          <Text style={isSm ? styles.text_s : styles.text_l}>\n            We do not sell, trade, or otherwise transfer your Personal Information to third parties, except as expressly\n            stated in this Policy. California Civil Code Section § 1798.83 permits California residents to request\n            certain information regarding our use and disclosure of Personal Information to third parties. To make such\n            a request, please send an e-mail to <Text style={styles.small_link}\n                                                      onPress={() => openLink(`mailto:${SupportMail}`)}>{SupportMail}</Text>.{`\\n`}Further,\n            the California Consumer Privacy Act of 2018, as amended (Cal. Civ. Code §§ 1798.100 to 1798.199) (“CCPA”),\n            does not apply to us. If you have any questions or concerns about the CCPA or its non-applicability to us,\n            please e-mail us at <Text style={styles.small_link}\n                                      onPress={() => openLink(`mailto:${SupportMail}`)}>{SupportMail}</Text>.\n            California “Shine the Light” Law\n          </Text>\n\n          <Text style={isSm ? styles.text_s : styles.text_l}>\n            Separate from CCPA, California residents may, pursuant to California Civil Code Section 1798.83 (the\n            California “Shine the Light” law), request certain information regarding our disclosure (if any) of personal\n            data to third parties for their direct marketing purposes. To make such a request, please contact us,\n            identify yourself as a California resident and provide sufficient information so we can take appropriate\n            action, such as your name, email address or any additional information required.\n          </Text>\n\n          <Text style={[...styles[isSm ? 'title_s' : 'title_l'], MainStyle.m_b_0]}>\n            CALIFORNIA-SPECIFIC PRIVACY RIGHTS (for California residents only)\n          </Text>\n\n          <Text style={isSm ? styles.text_s : styles.text_l}>California Consumer Privacy Act (CCPA)</Text>\n\n          <Text style={isSm ? styles.text_s : styles.text_l}>\n            This California Privacy Notice supplements the Privacy Policy (“Policy”) and contains the disclosures\n            required under the California Consumer Privacy Act (CCPA). For individuals who are California residents, the\n            CCPA requires certain disclosures about the categories of personal information we collect and how we use it,\n            the categories of sources from whom we collect personal information, and the third parties with whom we\n            share it. You have also the right to exercise certain rights regarding your personal information.\n          </Text>\n\n          <Text style={isSm ? styles.text_s : styles.text_l}>\n            Please note that for California residents, the term personal information means information that identifies,\n            relates to, describes, is reasonably capable of being associated with or could reasonably be linked,\n            directly or indirectly, with a particular consumer or household as defined in the CCPA. All other\n            capitalized terms have the same meanings as given them in the Policy.\n          </Text>\n\n          <Text style={[...styles[isSm ? 'text_s' : 'text_l'], MainStyle.Barlow700]}>\n            Data Subject Requests\n          </Text>\n\n          <Text style={isSm ? styles.text_s : styles.text_l}>\n            If you are a California resident who has provided personal information to us, or a California resident that\n            reasonably believes that we have collected or stored their personal information, you have the right to\n            request Company to:\n          </Text>\n\n          <View style={MainStyle.row}>\n            <Text style={isSm ? styles.dot_s : styles.dot_l}>&#8226;</Text>\n            <Text style={[...styles[isSm ? 'text_s' : 'text_l'], MainStyle.m_b_0]}>\n              Disclose the categories of personal information we collected about you in the preceding twelve months;\n              categories of sources from which the personal information was collected; the business or commercial\n              purpose for which we collected or sold the personal information; the categories of third parties with\n              which we have shared your personal information; categories of personal information that we sold in the\n              preceding twelve months, and for each category identified, categories of third parties to which we sold\n              that particular category of personal information; and the categories of personal information that we\n              disclosed for a business purpose in the preceding twelve months, and for each category identified, the\n              categories of third parties to whom we disclosed that particular category of personal information\n              (“Request to Know”);\n            </Text>\n          </View>\n\n          <View style={MainStyle.row}>\n            <Text style={isSm ? styles.dot_s : styles.dot_l}>&#8226;</Text>\n            <Text style={[...styles[isSm ? 'text_s' : 'text_l'], MainStyle.m_b_0]}>\n              Disclose the specific pieces of personal information that we have collected on you (“Request to Know”);\n            </Text>\n          </View>\n\n          <View style={MainStyle.row}>\n            <Text style={isSm ? styles.dot_s : styles.dot_l}>&#8226;</Text>\n            <Text style={[...styles[isSm ? 'text_s' : 'text_l'], MainStyle.m_b_0]}>\n              Delete personal information we have collected on you (“Request to Delete”); and\n            </Text>\n          </View>\n\n          <View style={[MainStyle.row, isSm ? MainStyle.m_b_15 : MainStyle.m_b_30]}>\n            <Text style={isSm ? styles.dot_s : styles.dot_l}>&#8226;</Text>\n            <Text style={[...styles[isSm ? 'text_s' : 'text_l'], MainStyle.m_b_0]}>\n              Opt out of the sale of the personal information we have collected on you (“Right to Opt Out”).\n            </Text>\n          </View>\n\n          <Text style={isSm ? styles.text_s : styles.text_l}>\n            You can only make two Requests to Know in a twelve-month period, and the information provided need only\n            cover the twelve-month period prior to receipt of your request.\n          </Text>\n\n          <Text style={[...styles[isSm ? 'text_s' : 'text_l'], MainStyle.Barlow700]}>\n            Methods for Submitting Request\n          </Text>\n\n          <Text style={isSm ? styles.text_s : styles.text_l}>\n            You may submit Requests to Know and Requests to Deletein one of the following methods: (a) writing to us\n            at <Text style={MainStyle.Barlow700}>2575 S Highland Dr, Las Vegas, NV 89101</Text> or (b) by sending\n            an email to <Text style={styles.small_link}\n                              onPress={() => openLink(`mailto:${SupportMail}`)}>{SupportMail}</Text>.\n          </Text>\n\n          <Text style={[...styles[isSm ? 'text_s' : 'text_l'], MainStyle.Barlow700]}>\n            Verification of Requests\n          </Text>\n\n          <Text style={isSm ? styles.text_s : styles.text_l}>\n            We will need to verify your identity to respond to Requests to Delete and Requests to Know. If you have an\n            account with us that is password-protected, we may verify your identity through our existing authentication\n            practices for your account.\n          </Text>\n\n          <Text style={isSm ? styles.text_s : styles.text_l}>\n            If you do not have an account with us, and your request concerns “categories” of personal information\n            collected, we can request from you two data points of personal information to verify your identity. If you\n            do not have an account with us, and your request concerns specific pieces of personal information, we can\n            request from you at least three data points of personal information as well as a signed declaration made\n            under penalty of perjury to verify your identity.\n          </Text>\n\n          <Text style={isSm ? styles.text_s : styles.text_l}>\n            If a request concerns household information, and the household does not have a password- protected account\n            with us, we will not comply with a Request to Know specific pieces of personal information about the\n            household or a Request to Delete household personal information unless all of the following conditions are\n            satisfied: (1) all consumers of the household jointly request access to specific pieces of information for\n            the household or the deletion of household personal information; (2) we have individually verified all the\n            members of the household under the CCPA; and (3) we have verified that each member making the request is\n            currently a member of the household.\n          </Text>\n\n          <Text style={[...styles[isSm ? 'text_s' : 'text_l'], MainStyle.Barlow700]}>\n            Time for Response\n          </Text>\n\n          <Text style={isSm ? styles.text_s : styles.text_l}>\n            Please note that once you have submitted a Request to Know or Request to Delete, we will send you a receipt,\n            acknowledging your request, within ten business days. If, for some reason, you do not receive such a receipt\n            within ten days of your submitted request, please send us an email to <Text style={styles.small_link}\n                                                                                        onPress={() => openLink(`mailto:${SupportMail}`)}>{SupportMail}</Text> as\n            an error may have occurred.\n          </Text>\n\n          <Text style={isSm ? styles.text_s : styles.text_l}>\n            We will respond to Requests to Know and Requests to Delete within forty-five calendar days after they are\n            received. If we cannot verify you within the forty-five-day time period, we may deny the request. If\n            necessary, we may take up to an additional forty-five calendar days to respond to the consumer’s request,\n            for a maximum total of ninety calendar days from the day the request is received, provided that we provide\n            you with notice and an explanation of the reason that we will take more than forty-five days to respond to\n            the request.\n          </Text>\n\n          <Text style={isSm ? styles.text_s : styles.text_l}>\n            In the case of a Request to Delete, we may use a two-step process for online requests to delete where you\n            must first, submit the Request to Delete and then second, separately confirm that you want your personal\n            information deleted.\n          </Text>\n\n          <Text style={[...styles[isSm ? 'text_s' : 'text_l'], MainStyle.Barlow700]}>\n            Notice of Opt Out\n          </Text>\n\n          <Text style={isSm ? styles.text_s : styles.text_l}>\n            You have the right to opt out of the sale of your personal information by us. To exercise this right, you\n            can use this form or send an email to <Text style={styles.small_link}\n                                                        onPress={() => openLink('mailto:dataprotection@evenplay.com')}>dataprotection@evenplay.com</Text>.\n            We will comply with a Request to Opt Out as soon as feasibly possible, but no later than fifteen business\n            days from the date we received the request.\n          </Text>\n\n          <Text style={[...styles[isSm ? 'text_s' : 'text_l'], MainStyle.Barlow700]}>\n            Authorized Agent\n          </Text>\n\n          <Text style={isSm ? styles.text_s : styles.text_l}>\n            As a California resident, you have the right to designate an agent to exercise these rights on your behalf.\n            We may require proof that you have designated the authorized agent to act on your behalf and to verify your\n            identity directly with us. Please contact us at <Text style={styles.small_link}\n                                                                  onPress={() => openLink(`mailto:${SupportMail}`)}>{SupportMail}</Text> for\n            more information if you wish to submit a request through an authorized agent.\n          </Text>\n\n          <Text style={[...styles[isSm ? 'text_s' : 'text_l'], MainStyle.Barlow700]}>\n            Right to Non-Discrimination for the Exercise of CCPA Rights\n          </Text>\n\n          <Text style={isSm ? styles.text_s : styles.text_l}>\n            We will not discriminate against you for exercising any of your CCPA rights. Unless permitted by the CCPA,\n            we will not:\n          </Text>\n\n          <View style={MainStyle.row}>\n            <Text style={isSm ? styles.dot_s : styles.dot_l}>&#8226;</Text>\n            <Text style={[...styles[isSm ? 'text_s' : 'text_l'], MainStyle.m_b_0]}>Deny you goods or services.</Text>\n          </View>\n\n          <View style={MainStyle.row}>\n            <Text style={isSm ? styles.dot_s : styles.dot_l}>&#8226;</Text>\n            <Text style={[...styles[isSm ? 'text_s' : 'text_l'], MainStyle.m_b_0]}>\n              Charge you different prices or rates for goods or services, including through granting discounts or other\n              benefits, or imposing penalties.\n            </Text>\n          </View>\n\n          <View style={MainStyle.row}>\n            <Text style={isSm ? styles.dot_s : styles.dot_l}>&#8226;</Text>\n            <Text style={[...styles[isSm ? 'text_s' : 'text_l'], MainStyle.m_b_0]}>\n              Provide you a different level or quality of goods or services.\n            </Text>\n          </View>\n\n          <View style={[MainStyle.row, isSm ? MainStyle.m_b_15 : MainStyle.m_b_30]}>\n            <Text style={isSm ? styles.dot_s : styles.dot_l}>&#8226;</Text>\n            <Text style={[...styles[isSm ? 'text_s' : 'text_l'], MainStyle.m_b_0]}>\n              Suggest that you may receive a different price or rate for goods or services or a different level or\n              quality of goods or services.\n            </Text>\n          </View>\n\n          <Text style={isSm ? styles.text_s : styles.text_l}>\n            However, we may offer you certain financial incentives permitted by the CCPA that <Text\n            style={MainStyle.Barlow700}>can result</Text> in different prices, rates, or quality levels. Any\n            CCPA-permitted financial incentive we offer will reasonably relate to your personal information's value and\n            contain written terms that describe the program's material aspects. Participation in a financial incentive\n            program requires your prior opt-in consent, which you may revoke at any time.\n          </Text>\n\n          <Text style={[...styles[isSm ? 'text_s' : 'text_l'], MainStyle.Barlow700]}>\n            Contact Us\n          </Text>\n\n          <Text style={isSm ? styles.text_s : styles.text_l}>\n            If you have questions about our privacy policies or practices or this notice, please contact us at <Text\n            style={styles.small_link}\n            onPress={() => openLink(`mailto:${SupportMail}`)}>{SupportMail}</Text>.\n          </Text>\n\n          <Text style={[...styles[isSm ? 'text_s' : 'text_l'], MainStyle.Barlow700]}>\n            Notice at Collection\n          </Text>\n\n          <Text style={isSm ? styles.text_s : styles.text_l}>\n            Pursuant to California Civil Section 1798.100(b), this serves as notice of the categories of personal\n            information that we collect through the Site and Services, the business or commercial purposes for which\n            such personal information was collected, the categories of sources of such personal information, and the\n            categories of third parties to whom such information was disclosed in the past twelve months.\n          </Text>\n\n          <View style={[MainStyle.row, MainStyle.b_b_w_1, MainStyle.b_c_white]}>\n            <Text style={[...styles[isSm ? 'text_s' : 'text_l'], MainStyle.m_b_0, MainStyle.t_a_c, {width: '20%'}]}>\n              Category\n            </Text>\n            <Text style={[...styles[isSm ? 'text_s' : 'text_l'], MainStyle.m_b_0, MainStyle.t_a_c, {width: '60%'}]}>\n              Examples\n            </Text>\n            <Text style={[...styles[isSm ? 'text_s' : 'text_l'], MainStyle.m_b_0, MainStyle.t_a_c, {width: '20%'}]}>\n              Collected\n            </Text>\n          </View>\n\n          <View style={[MainStyle.row, MainStyle.b_b_w_1, MainStyle.b_c_white]}>\n            <Text style={[...styles[isSm ? 'secondary_s' : 'secondary_l'], MainStyle.m_b_0, {width: '20%'}]}>\n              A. Identifiers.\n            </Text>\n            <Text style={[...styles[isSm ? 'secondary_s' : 'secondary_l'], MainStyle.m_b_0, {width: '60%'}]}>\n              A real name, alias, postal address, unique personal identifier, online identifier, Internet Protocol\n              address, email address, account name, Social Security number, driver's license number, passport number, or\n              other similar identifiers.\n            </Text>\n            <Text style={[...styles[isSm ? 'secondary_s' : 'secondary_l'], MainStyle.m_b_0, {width: '20%'}]}/>\n          </View>\n\n          <View style={[MainStyle.row, MainStyle.b_b_w_1, MainStyle.b_c_white]}>\n            <Text style={[...styles[isSm ? 'secondary_s' : 'secondary_l'], MainStyle.m_b_0, {width: '20%'}]}>\n              B. Personal information categories listed in the California Customer Records statute (Cal. Civ. Code §\n              1798.80(e)).\n            </Text>\n            <Text style={[...styles[isSm ? 'secondary_s' : 'secondary_l'], MainStyle.m_b_0, {width: '60%'}]}>\n              A name, signature, Social Security number, physical characteristics or description, address, telephone\n              number, passport number, driver's license or state identification card number, insurance policy number,\n              education, employment, employment history, bank account number, credit card number, debit card number, or\n              any other financial information, medical information, or health insurance information.{`\\n`}Some personal\n              information included in this category may overlap with other categories.\n            </Text>\n            <Text style={[...styles[isSm ? 'secondary_s' : 'secondary_l'], MainStyle.m_b_0, {width: '20%'}]}/>\n          </View>\n\n          <View style={[MainStyle.row, MainStyle.b_b_w_1, MainStyle.b_c_white]}>\n            <Text style={[...styles[isSm ? 'secondary_s' : 'secondary_l'], MainStyle.m_b_0, {width: '20%'}]}>\n              C. Protected classification characteristics under California or federal law.\n            </Text>\n            <Text style={[...styles[isSm ? 'secondary_s' : 'secondary_l'], MainStyle.m_b_0, {width: '60%'}]}>\n              Age (40 years or older), race, color, ancestry, national origin, citizenship, religion or creed, marital\n              status, medical condition, physical or mental disability, sex (including gender, gender identity, gender\n              expression, pregnancy or childbirth and related medical conditions), sexual orientation, veteran or\n              military status, genetic information (including familial genetic information).\n            </Text>\n            <Text style={[...styles[isSm ? 'secondary_s' : 'secondary_l'], MainStyle.m_b_0, {width: '20%'}]}/>\n          </View>\n\n          <View style={[MainStyle.row, MainStyle.b_b_w_1, MainStyle.b_c_white]}>\n            <Text style={[...styles[isSm ? 'secondary_s' : 'secondary_l'], MainStyle.m_b_0, {width: '20%'}]}>\n              D. Commercial information.\n            </Text>\n            <Text style={[...styles[isSm ? 'secondary_s' : 'secondary_l'], MainStyle.m_b_0, {width: '60%'}]}>\n              Records of personal property, products or services purchased, obtained, or considered, or other purchasing\n              or consuming histories or tendencies.\n            </Text>\n            <Text style={[...styles[isSm ? 'secondary_s' : 'secondary_l'], MainStyle.m_b_0, {width: '20%'}]}/>\n          </View>\n\n          <View style={[MainStyle.row, MainStyle.b_b_w_1, MainStyle.b_c_white]}>\n            <Text style={[...styles[isSm ? 'secondary_s' : 'secondary_l'], MainStyle.m_b_0, {width: '20%'}]}>\n              E. Biometric information.\n            </Text>\n            <Text style={[...styles[isSm ? 'secondary_s' : 'secondary_l'], MainStyle.m_b_0, {width: '60%'}]}>\n              Genetic, physiological, behavioral, and biological characteristics, or activity patterns used to extract a\n              template or other identifier or identifying information, such as, fingerprints, faceprints, and\n              voiceprints, iris or retina scans, keystroke, gait, or other physical patterns, and sleep, health, or\n              exercise data.\n            </Text>\n            <Text style={[...styles[isSm ? 'secondary_s' : 'secondary_l'], MainStyle.m_b_0, {width: '20%'}]}/>\n          </View>\n\n          <View style={[MainStyle.row, MainStyle.b_b_w_1, MainStyle.b_c_white]}>\n            <Text style={[...styles[isSm ? 'secondary_s' : 'secondary_l'], MainStyle.m_b_0, {width: '20%'}]}>\n              F. Internet or other similar network activity.\n            </Text>\n            <Text style={[...styles[isSm ? 'secondary_s' : 'secondary_l'], MainStyle.m_b_0, {width: '60%'}]}>\n              Browsing history, search history, information on a consumer's interaction with a website, application, or\n              advertisement.\n            </Text>\n            <Text style={[...styles[isSm ? 'secondary_s' : 'secondary_l'], MainStyle.m_b_0, {width: '20%'}]}/>\n          </View>\n\n          <View style={[MainStyle.row, MainStyle.b_b_w_1, MainStyle.b_c_white]}>\n            <Text style={[...styles[isSm ? 'secondary_s' : 'secondary_l'], MainStyle.m_b_0, {width: '20%'}]}>\n              G. Geolocation data.\n            </Text>\n            <Text style={[...styles[isSm ? 'secondary_s' : 'secondary_l'], MainStyle.m_b_0, {width: '60%'}]}>\n              Physical location or movements.\n            </Text>\n            <Text style={[...styles[isSm ? 'secondary_s' : 'secondary_l'], MainStyle.m_b_0, {width: '20%'}]}/>\n          </View>\n\n          <View style={[MainStyle.row, MainStyle.b_b_w_1, MainStyle.b_c_white]}>\n            <Text style={[...styles[isSm ? 'secondary_s' : 'secondary_l'], MainStyle.m_b_0, {width: '20%'}]}>\n              H. Sensory data.\n            </Text>\n            <Text style={[...styles[isSm ? 'secondary_s' : 'secondary_l'], MainStyle.m_b_0, {width: '60%'}]}>\n              Audio, electronic, visual, thermal, olfactory, or similar information.\n            </Text>\n            <Text style={[...styles[isSm ? 'secondary_s' : 'secondary_l'], MainStyle.m_b_0, {width: '20%'}]}/>\n          </View>\n\n          <View style={[MainStyle.row, MainStyle.b_b_w_1, MainStyle.b_c_white]}>\n            <Text style={[...styles[isSm ? 'secondary_s' : 'secondary_l'], MainStyle.m_b_0, {width: '20%'}]}>\n              I. Professional or employment- related information.\n            </Text>\n            <Text style={[...styles[isSm ? 'secondary_s' : 'secondary_l'], MainStyle.m_b_0, {width: '60%'}]}>\n              Current or past job history or performance evaluations.\n            </Text>\n            <Text style={[...styles[isSm ? 'secondary_s' : 'secondary_l'], MainStyle.m_b_0, {width: '20%'}]}/>\n          </View>\n\n          <View style={[MainStyle.row, MainStyle.b_b_w_1, MainStyle.b_c_white]}>\n            <Text style={[...styles[isSm ? 'secondary_s' : 'secondary_l'], MainStyle.m_b_0, {width: '20%'}]}>\n              J. Non-public education information (per the Family Educational Rights and Privacy Act (20 U.S.C. Section\n              1232g, 34 C.F.R. Part 99)).\n            </Text>\n            <Text style={[...styles[isSm ? 'secondary_s' : 'secondary_l'], MainStyle.m_b_0, {width: '60%'}]}>\n              Education records directly related to a student maintained by an educational institution or party acting\n              on its behalf, such as grades, transcripts, class lists, student schedules, student identification codes,\n              student financial information, or student disciplinary records.\n            </Text>\n            <Text style={[...styles[isSm ? 'secondary_s' : 'secondary_l'], MainStyle.m_b_0, {width: '20%'}]}/>\n          </View>\n\n          <View style={[MainStyle.row, isSm ? MainStyle.m_b_15 : MainStyle.m_b_30]}>\n            <Text style={[...styles[isSm ? 'secondary_s' : 'secondary_l'], MainStyle.m_b_0, {width: '20%'}]}>\n              K. Inferences drawn from other personal information.\n            </Text>\n            <Text style={[...styles[isSm ? 'secondary_s' : 'secondary_l'], MainStyle.m_b_0, {width: '60%'}]}>\n              Profile reflecting a person's preferences, characteristics, psychological trends, predispositions,\n              behavior, attitudes, intelligence, abilities, and aptitudes.\n            </Text>\n            <Text style={[...styles[isSm ? 'secondary_s' : 'secondary_l'], MainStyle.m_b_0, {width: '20%'}]}/>\n          </View>\n\n          <Text style={[...styles[isSm ? 'text_s' : 'text_l'], MainStyle.Barlow700, MainStyle.t_d_l_u]}>\n            Changes to Our Privacy Policy\n          </Text>\n\n          <Text style={isSm ? styles.text_s : styles.text_l}>\n            We reserve the right to amend this privacy policy at our discretion and at any time. When we make changes to\n            this privacy policy, we will post the updated notice on the Website and update the notice's effective\n            date. <Text style={MainStyle.Barlow700}>Your continued use of our Services following the posting of\n            changes constitutes your acceptance of such changes</Text>.\n          </Text>\n        </View>\n      </ScrollView>\n\n      {!isSm && <SupportGuideButtonMenu onExit={onExit}/>}\n    </>\n  );\n};\n\nconst styles = {\n  text_l: [MainStyle.c_white, MainStyle.Barlow400, MainStyle.f_s_24, MainStyle.m_b_30, MainStyle.l_h_36],\n  text_s: [MainStyle.c_white, MainStyle.Barlow400, MainStyle.f_s_12, MainStyle.m_b_15, MainStyle.l_h_16],\n\n  link_l: [MainStyle.c_lightblue, MainStyle.Barlow700, MainStyle.f_s_24, MainStyle.t_d_l_u, MainStyle.l_h_36],\n  link_s: [MainStyle.c_lightblue, MainStyle.Barlow700, MainStyle.f_s_12, MainStyle.t_d_l_u, MainStyle.l_h_16],\n\n  small_link: [MainStyle.c_lightblue, MainStyle.Barlow700, MainStyle.t_d_l_u],\n\n  secondary_l: [MainStyle.c_white, MainStyle.Barlow400, MainStyle.f_s_18, MainStyle.m_b_30, MainStyle.l_h_36],\n  secondary_s: [MainStyle.c_white, MainStyle.Barlow400, MainStyle.f_s_10, MainStyle.m_b_15, MainStyle.l_h_16],\n\n  title_l: [MainStyle.c_lightblue, MainStyle.Barlow700, MainStyle.f_s_32, MainStyle.m_b_30, MainStyle.t_t_u],\n  title_s: [MainStyle.c_lightblue, MainStyle.Barlow700, MainStyle.f_s_16, MainStyle.m_b_15, MainStyle.t_t_u],\n\n  dot_l: [MainStyle.c_white, MainStyle.Barlow400, MainStyle.f_s_24, MainStyle.l_h_36, MainStyle.m_x_16],\n  dot_s: [MainStyle.c_white, MainStyle.Barlow400, MainStyle.f_s_12, MainStyle.l_h_16, MainStyle.m_x_8]\n};\n\nexport default PrivacyPolicyScreen;\n","import React, {useCallback, useEffect, useRef} from \"react\";\nimport {Linking, Platform, Text, useWindowDimensions, View, ScrollView} from \"react-native\";\nimport MainStyle from \"../../MainStyle\";\nimport SupportGuideHeader from \"../components/ SupportGuideHeader\";\nimport {colors} from \"../assets/styles/colors\";\nimport {useNavigation, useRoute} from \"@react-navigation/native\";\nimport {BrandName, breakpoint, LandingText, SupportMail} from \"../constants\";\nimport SupportGuideButtonMenu from \"../components/SupportGuideButtonMenu\";\n\nconst PromotionsScreen = () => {\n  const navigation: any = useNavigation();\n  const route: any = useRoute();\n  const {width} = useWindowDimensions();\n  const isSm = width < breakpoint;\n  let eligibilitySectionRef: any = useRef(null);\n  let promotionsAndPromotionPeriodRef: any = useRef(null);\n\n  const openLink = (url: string) => {\n    if (Platform.OS === 'web') window.open(url, '_blank');\n    else Linking.openURL(url).then();\n  };\n\n  const onExit = useCallback(() => {\n    navigation.navigate('challenges');\n  }, []);\n\n  useEffect(() => {\n    if (route.params?.scrollTo === 'ELIGIBILITY_SECTION') {\n      eligibilitySectionRef?.current?.scrollIntoView({behavior: 'smooth', block: 'start', inline: 'nearest'});\n    }\n\n    if (route.params?.scrollTo === 'PROMOTIONS_AND_PROMOTION_PERIOD') {\n      promotionsAndPromotionPeriodRef?.current?.scrollIntoView({behavior: 'smooth', block: 'start', inline: 'nearest'});\n    }\n  }, [route.params?.scrollTo]);\n\n  return (\n    <>\n      <SupportGuideHeader title=\"PROMOTIONS TERMS AND CONDITIONS\" onExit={onExit}/>\n\n      <ScrollView keyboardShouldPersistTaps=\"handled\" contentContainerStyle={[MainStyle.min_h_full, {\n        backgroundColor: colors.bg_contest,\n        paddingBottom: isSm ? 27 : 92\n      }]}>\n        <View style={[MainStyle.max_w_1120, MainStyle.full_w, {\n          alignSelf: 'center',\n          paddingTop: isSm ? 17 : 27,\n          paddingHorizontal: isSm ? 40 : 0\n        }]}>\n          <Text style={isSm ? styles.title_s : styles.title_l}>Introduction</Text>\n\n          <View style={MainStyle.row}>\n            <Text style={isSm ? styles.dot_s : styles.dot_l}>(a)</Text>\n            <Text style={[...styles[isSm ? 'text_s' : 'text_l'], MainStyle.m_b_0]}>\n              New {BrandName} (“<Text style={MainStyle.Barlow700}>Us</Text>” or \"<Text\n              style={MainStyle.Barlow700}>Our</Text>” or “<Text style={MainStyle.Barlow700}>We</Text>”) users (“<Text\n              style={MainStyle.Barlow700}>User</Text>” or “<Text style={MainStyle.Barlow700}>You</Text>” or “<Text\n              style={MainStyle.Barlow700}>Your</Text>”) may qualify for certain promotions (“<Text\n              style={MainStyle.Barlow700}>Promotions</Text>”) offered by {BrandName} from time to time. Promotions\n              offered through any of {BrandName}’s Platforms are subject to {BrandName}’ General Terms and\n              Conditions <Text style={styles.small_link}\n                               onPress={() => navigation.navigate('TermsAndConditions')}>{LandingText}/termsandconditions</Text> (“General\n              Terms”), these Promotions Terms and Conditions (“Promotion Terms”), together with any applicable Key Terms\n              (which may also be referred to as “Key Terms”), set out on the individual web landing page for the\n              relevant Promotion(s), and {BrandName}’ Privacy Policy (“Privacy Policy”) <Text style={styles.small_link}\n                                                                                              onPress={() => navigation.navigate('PrivacyPolicy')}>{LandingText}/privacy</Text> (collectively,\n              the “Rules”).\n            </Text>\n          </View>\n\n          <View style={[MainStyle.row, isSm ? MainStyle.m_b_15 : MainStyle.m_b_30]}>\n            <Text style={isSm ? styles.dot_s : styles.dot_l}>(b)</Text>\n            <Text style={[...styles[isSm ? 'text_s' : 'text_l'], MainStyle.m_b_0]}>\n              The Rules form a legal agreement between You and Us and can only be amended with Our consent. By\n              participating in any Promotion, You are indicating You accept and agree to be bound by the Rules.\n              Capitalized terms used but not defined in these Promotion Terms have the meanings ascribed to them in the\n              General Terms. In the event of any conflict or inconsistency between these Promotion Terms, any applicable\n              Key Terms, and the General Terms, the Key Terms shall prevail, followed by these Promotion Terms, but only\n              to the extent necessary to resolve such conflict or inconsistency. Your use of each Platform itself and of\n              any services available through that Platform are subject to the Rules.\n            </Text>\n          </View>\n\n          <Text style={isSm ? styles.title_s : styles.title_l} ref={promotionsAndPromotionPeriodRef}>\n            Promotions and Promotion Periods\n          </Text>\n\n          <View style={MainStyle.row}>\n            <Text style={isSm ? styles.dot_s : styles.dot_l}>(a)</Text>\n            <Text style={[...styles[isSm ? 'text_s' : 'text_l'], MainStyle.m_b_0]}>\n              We may, from time-to-time, run Promotions and these may take the form of bonus offers (whether Bonus, Free\n              Play, Risk Free, and/or Deposit Match), or other form of Promotion, or a combination of any of these. The\n              particular form of Promotion will be described, and full details set out, in the communications (such as\n              emails, computer pop-ups and letters) We issue to tell You about each Promotion (each a “<Text\n              style={MainStyle.Barlow700}>Promotion Communication</Text>”) and/or on the individual web landing\n              page for the relevant Promotion.\n            </Text>\n          </View>\n\n          <View style={MainStyle.row}>\n            <Text style={isSm ? styles.dot_s : styles.dot_l}>(b)</Text>\n            <Text style={[...styles[isSm ? 'text_s' : 'text_l'], MainStyle.m_b_0]}>\n              For the purposes of all Promotions, the promoter is the entity You have contracted with under the General\n              Terms.\n            </Text>\n          </View>\n\n          <View style={[MainStyle.row, isSm ? MainStyle.m_b_15 : MainStyle.m_b_30]}>\n            <Text style={isSm ? styles.dot_s : styles.dot_l}>(c)</Text>\n            <Text style={[...styles[isSm ? 'text_s' : 'text_l'], MainStyle.m_b_0]}>\n              The period of time during which each Promotion will run (“<Text style={MainStyle.Barlow700}>Promotion\n              Period</Text>”) will be specified in the applicable Key Terms. Each Promotion will automatically close at\n              the end of the relevant Promotion Period, at which point no further participation in that Promotion will\n              be possible. Where no Promotion Period is specified the relevant Promotion will end when it is\n              discontinued on the Platform.\n            </Text>\n          </View>\n\n          <Text style={isSm ? styles.title_s : styles.title_l}>Promotion Communications</Text>\n\n          <View style={MainStyle.row}>\n            <Text style={isSm ? styles.dot_s : styles.dot_l}>(a)</Text>\n            <Text style={[...styles[isSm ? 'text_s' : 'text_l'], MainStyle.m_b_0]}>\n              Unless otherwise indicated in the applicable Promotion Communication, participation in each Promotion is\n              open to players from any the Platforms but is limited to one per person, family, household, address or\n              organization to whom We send the Promotion Communication. We reserve the right to restrict participation\n              in certain Promotions to players who fulfill specific selection criteria. Where a Promotion Communication\n              permits multiple participants, We reserve the right, in Our sole discretion, to limit the number of\n              participants.\n            </Text>\n          </View>\n\n          <View style={[MainStyle.row, isSm ? MainStyle.m_b_15 : MainStyle.m_b_30]}>\n            <Text style={isSm ? styles.dot_s : styles.dot_l}>(b)</Text>\n            <Text style={[...styles[isSm ? 'text_s' : 'text_l'], MainStyle.m_b_0]}>\n              Unless otherwise indicated in the Promotion Communication, it is intended for the addressed recipient or\n              category of recipient only and cannot be transferred. If You are not the intended recipient or within the\n              intended category of recipient, then the offer is null and void.\n            </Text>\n          </View>\n\n          <Text style={[isSm ? styles.title_s : styles.title_l,]} ref={eligibilitySectionRef}>Eligibility</Text>\n\n          <View style={MainStyle.row}>\n            <Text style={isSm ? styles.dot_s : styles.dot_l}>(a)</Text>\n            <Text style={[...styles[isSm ? 'text_s' : 'text_l'], MainStyle.m_b_0]}>\n              To be eligible to participate in any Promotion, You must (1) be eighteen (18) years of age or older; (2)\n              be legally entitled to use Our services in accordance with Our General Terms; (3) if the Promotion is\n              specifically intended for players who are residents of and/or located in a particular State as stated in\n              the applicable Key Terms, be a resident of and/or located in said State; (4) unless the applicable Key\n              Terms indicate that a “no purchase necessary” route is available and subject to section 5(b) below, have\n              successfully completed registration on the Platform for the relevant Service and opened an Account in\n              accordance with Our General Terms; (5) satisfy any other eligibility criteria set out in the relevant\n              sections of these Promotion Terms in respect of certain general categories of Promotions and in the\n              applicable Key Terms; and (v) not be an Unauthorized Person (as defined in section 6, below) (a “<Text\n              style={MainStyle.Barlow700}>Qualifying Player</Text>”).\n            </Text>\n          </View>\n\n          <View style={MainStyle.row}>\n            <Text style={isSm ? styles.dot_s : styles.dot_l}>(b)</Text>\n            <Text style={[...styles[isSm ? 'text_s' : 'text_l'], MainStyle.m_b_0]}>\n              To be eligible to participate in any Promotion which is stated to be intended for new players or which is\n              described as a “new player” or “sign up” offer (or similar), You must not previously have opened and made\n              a deposit into an Account on any of Our Services. Such Promotions may not be used in conjunction with any\n              other Promotion unless otherwise specified in a particular Promotion’s Key Terms.\n            </Text>\n          </View>\n\n          <View style={[MainStyle.row, isSm ? MainStyle.m_b_15 : MainStyle.m_b_30]}>\n            <Text style={isSm ? styles.dot_s : styles.dot_l}>(c)</Text>\n            <Text style={[...styles[isSm ? 'text_s' : 'text_l'], MainStyle.m_b_0]}>\n              The identity of each participant in a Promotion will be determined from all or any combination of the\n              following: name, address, email address, credit/charge/debit card number, biometric data (including facial\n              recognition), IP address and other forms of identification which may be required. We reserve the right to\n              request further information from You if You wish to participate in certain Promotions.\n            </Text>\n          </View>\n\n          <Text style={isSm ? styles.title_s : styles.title_l}>Participation in Promotions</Text>\n\n          <View style={MainStyle.row}>\n            <Text style={isSm ? styles.dot_s : styles.dot_l}>(a)</Text>\n            <Text style={[...styles[isSm ? 'text_s' : 'text_l'], MainStyle.m_b_0]}>\n              Participation in any Promotion may be automatic or voluntary.\n            </Text>\n          </View>\n\n          <View style={MainStyle.row}>\n            <Text style={isSm ? styles.dot_s : styles.dot_l}>(b)</Text>\n            <Text style={[...styles[isSm ? 'text_s' : 'text_l'], MainStyle.m_b_0]}>\n              Where participation in a Promotion is not automatic, You should follow the instructions set out in the\n              relevant Promotion Communication, on the individual web landing page for that Promotion and, where\n              appropriate, the applicable Key Terms.\n            </Text>\n          </View>\n\n          <View style={[MainStyle.row, isSm ? MainStyle.m_b_15 : MainStyle.m_b_30]}>\n            <Text style={isSm ? styles.dot_s : styles.dot_l}>(c)</Text>\n            <Text style={[...styles[isSm ? 'text_s' : 'text_l'], MainStyle.m_b_0]}>\n              Unless otherwise indicated in the applicable Key Terms, entry into each Promotion may be used only once.\n            </Text>\n          </View>\n\n          <Text style={isSm ? styles.title_s : styles.title_l}>Excluded and Disqualified Players</Text>\n\n          <View style={MainStyle.row}>\n            <Text style={isSm ? styles.dot_s : styles.dot_l}>(a)</Text>\n            <Text style={[...styles[isSm ? 'text_s' : 'text_l'], MainStyle.m_b_0]}>\n              The following persons shall be excluded/disqualified from participating in any Promotions: (1) any person\n              prohibited from gaming within the State where {BrandName} is permitted to offer Services, (2) an employee\n              of a supplier or vendor of {BrandName} (unless otherwise expressly agreed to in writing\n              by {BrandName} after notice from such supplier or vendor); (3) any individual prohibited from\n              participating or using the Services under any Rules (including, without limitation, the General Terms);\n              and (4) any employee of any company or entity who has administrative or privileged access to {BrandName}’s\n              online gaming data or systems (collectively, “<Text style={MainStyle.Barlow700}>Unauthorized\n              Persons</Text>”).\n            </Text>\n          </View>\n\n          <View style={[MainStyle.row, isSm ? MainStyle.m_b_15 : MainStyle.m_b_30]}>\n            <Text style={isSm ? styles.dot_s : styles.dot_l}>(b)</Text>\n            <Text style={[...styles[isSm ? 'text_s' : 'text_l'], MainStyle.m_b_0]}>\n              If You have received communication from Us that you are not eligible for participating in any of Our\n              Promotions, then You would be ineligible to participate in any such Promotions or bonus privileges.\n            </Text>\n          </View>\n\n          <Text style={isSm ? styles.title_s : styles.title_l}>Qualifying Deposits</Text>\n\n          <View style={[MainStyle.row, isSm ? MainStyle.m_b_15 : MainStyle.m_b_30]}>\n            <Text style={isSm ? styles.dot_s : styles.dot_l}>(a)</Text>\n            <Text style={[...styles[isSm ? 'text_s' : 'text_l'], MainStyle.m_b_0]}>\n              Unless the applicable Key Terms indicate that a “no purchase necessary” route is available (or such other\n              dispensation is available), participation in any Promotion is subject to You having made the required\n              minimum deposit as may be required from time-to-time into Your Account, once opened, (“<Text\n              style={MainStyle.Barlow700}>Qualifying Deposit</Text>”) unless the Key Terms specify that a different\n              Qualifying Deposit amount is required.\n            </Text>\n          </View>\n\n          <Text style={isSm ? styles.title_s : styles.title_l}>Payment of Bonuses</Text>\n\n          <View style={MainStyle.row}>\n            <Text style={isSm ? styles.dot_s : styles.dot_l}>(a)</Text>\n            <Text style={[...styles[isSm ? 'text_s' : 'text_l'], MainStyle.m_b_0]}>\n              Subject to clause 7(a) above, unless otherwise indicated in the applicable Key Terms, all real money\n              bonuses will be paid into the Accounts of Qualifying Players any time within seven (7) days of entry into\n              the relevant Promotion.\n            </Text>\n          </View>\n\n          <View style={MainStyle.row}>\n            <Text style={isSm ? styles.dot_s : styles.dot_l}>(b)</Text>\n            <Text style={[...styles[isSm ? 'text_s' : 'text_l'], MainStyle.m_b_0]}>\n              Your use of any real money bonuses is subject to Our review for irregular playing patterns. In the event\n              that We deem that an irregular playing pattern has taken place, We reserve the right to prevent you from\n              cashing out Account funds and/or withhold any of Your winnings derived from Your use of the bonus.\n            </Text>\n          </View>\n\n          <View style={[MainStyle.row, isSm ? MainStyle.m_b_15 : MainStyle.m_b_30]}>\n            <Text style={isSm ? styles.dot_s : styles.dot_l}>(c)</Text>\n            <Text style={[...styles[isSm ? 'text_s' : 'text_l'], MainStyle.m_b_0]}>\n              In the event that more than one real money bonus or any excess payment is accidentally paid to a\n              Qualifying Player, We reserve the right, without prejudice to any other rights under the Rules, to seek\n              the return of the amount of any additional real money bonus or payment from that player's Account.\n            </Text>\n          </View>\n\n          <Text style={isSm ? styles.title_s : styles.title_l}>Prizes</Text>\n\n          <View style={MainStyle.row}>\n            <Text style={isSm ? styles.dot_s : styles.dot_l}>(a)</Text>\n            <Text style={[...styles[isSm ? 'text_s' : 'text_l'], MainStyle.m_b_0]}>\n              Qualifying Players who win a prize as the result of any Promotion (each, respectively, a “<Text\n              style={MainStyle.Barlow700}>Winner</Text>” and a “<Text style={MainStyle.Barlow700}>Prize</Text>”)\n              must accept the relevant Prize “as is” and there is no right to a cash alternative unless We, in Our sole\n              discretion, elect to offer such a cash alternative (which may be less than the full value of the Prize).\n              We reserve the right, at any time, to substitute any Prize with one or more prizes (other than a cash\n              alternative) of substantially equivalent value.\n            </Text>\n          </View>\n\n          <View style={MainStyle.row}>\n            <Text style={isSm ? styles.dot_s : styles.dot_l}>(b)</Text>\n            <Text style={[...styles[isSm ? 'text_s' : 'text_l'], MainStyle.m_b_0]}>\n              All Prizes will be drawn by the time or within the timeframe specified in the applicable Key Terms and,\n              unless otherwise indicated there, a cash Prize will be paid into the Account of the Winner. In the case of\n              a non-cash Prize, We will make all reasonable attempts to contact the Winner using his/her Account contact\n              details, but if We have not been able to make contact with the Winner within 30 days of the Prize being\n              won, We reserve the right to draw another Winner in place of the original Winner or to forfeit the Prize\n              altogether without liability to the Winner.\n            </Text>\n          </View>\n\n          <View style={MainStyle.row}>\n            <Text style={isSm ? styles.dot_s : styles.dot_l}>(c)</Text>\n            <Text style={[...styles[isSm ? 'text_s' : 'text_l'], MainStyle.m_b_0]}>\n              Any transactions (e.g., chargeback fees, non-sufficient funds) that cause Your account credit balance\n              (unrestricted funds in Your Account) to be negative must be paid to Us before any individual cash Prize is\n              issued to You. We reserve the right to withhold any cash Prize that You win to cover Your negative account\n              credit balance. We also reserve the right to withhold any non-cash Prize that You win until Your account\n              credit balance is zero or greater. Your account credit balance must be zero or greater within 30 calendar\n              days of You being notified of Your non-cash Prize win or such Prize may be forfeited. We reserve the right\n              not to award a Prize or to seek the return of any Prize awarded in the event that the Winner is not\n              entitled to receive such Prize in accordance with applicable law (provided always that the Winner is\n              solely responsible for ensuring that s/he is entitled to receive any Prize) or if We have cause to\n              disqualify the Winner in accordance with section 6 of these Promotion Terms or any other provision of the\n              Rules.\n            </Text>\n          </View>\n\n          <View style={MainStyle.row}>\n            <Text style={isSm ? styles.dot_s : styles.dot_l}>(d)</Text>\n            <Text style={[...styles[isSm ? 'text_s' : 'text_l'], MainStyle.m_b_0]}>\n              If You are competing in a challenge, league or tournament and are unable, for any reason whatsoever, or\n              choose not to progress to the next round after qualifying to do so, You will forfeit Your place and will\n              not be eligible to receive any Prize to be awarded for the next or any subsequent round or the final\n              Prize.\n            </Text>\n          </View>\n\n          <View style={MainStyle.row}>\n            <Text style={isSm ? styles.dot_s : styles.dot_l}>(e)</Text>\n            <Text style={[...styles[isSm ? 'text_s' : 'text_l'], MainStyle.m_b_0]}>\n              Any entitlement to receive a Prize is non-transferable.\n            </Text>\n          </View>\n\n          <View style={MainStyle.row}>\n            <Text style={isSm ? styles.dot_s : styles.dot_l}>(f)</Text>\n            <Text style={[...styles[isSm ? 'text_s' : 'text_l'], MainStyle.m_b_0]}>\n              The Winner is solely responsible for the payment of any applicable tax in relation to the relevant Prize\n              and for any costs associated with the Prize or its use, including without limitation the cost of complying\n              with any requirements of applicable local law.\n            </Text>\n          </View>\n\n          <View style={MainStyle.row}>\n            <Text style={isSm ? styles.dot_s : styles.dot_l}>(g)</Text>\n            <Text style={[...styles[isSm ? 'text_s' : 'text_l'], MainStyle.m_b_0]}>\n              Where a Prize consists of an event, activity, holiday or the performance of a service, the Winner is\n              solely responsible for complying with any booking or other conditions or instructions of the relevant\n              third party provider or organizer and must be able to comply with any restrictions as to dates and times\n              in relation to the Prize (which may not be re-scheduled) and any other eligibility restrictions imposed by\n              the relevant third party provider or organizer. The contract in relation to any such event, activity,\n              holiday or service will be directly between the Winner and the relevant third party provider or organizer\n              and We will not be a party to that contract or have any liability in relation to its performance or\n              non-performance, which shall be the sole responsibility of the relevant third party provider or organizer.\n              We will not provide any form of insurance, including without limitation any public liability or\n              cancellation insurance, in respect of any Prize consisting of an event, activity, holiday or service.\n            </Text>\n          </View>\n\n          <View style={MainStyle.row}>\n            <Text style={isSm ? styles.dot_s : styles.dot_l}>(h)</Text>\n            <Text style={[...styles[isSm ? 'text_s' : 'text_l'], MainStyle.m_b_0]}>\n              Where, in relation to any Prize, We make use of any third party name or trademark, these are proprietary\n              to the relevant third party. No license, affiliation, sponsorship or endorsement is claimed or should be\n              inferred from the use of these names or trademarks or the use of any photograph of a Prize. Any photograph\n              used to promote a Prize is for illustrative purposes only and the actual Prize may differ from the item\n              shown in the photograph, including without limitation as to make, model, specification, color, finish,\n              packaging and other features.\n            </Text>\n          </View>\n\n          <View style={MainStyle.row}>\n            <Text style={isSm ? styles.dot_s : styles.dot_l}>(i)</Text>\n            <Text style={[...styles[isSm ? 'text_s' : 'text_l'], MainStyle.m_b_0]}>\n              Our offering of a particular Prize implies no affiliation on Our part with or sponsorship or endorsement\n              of the relevant third party manufacturer, supplier, provider or organizer.\n            </Text>\n          </View>\n\n          <View style={[MainStyle.row, isSm ? MainStyle.m_b_15 : MainStyle.m_b_30]}>\n            <Text style={isSm ? styles.dot_s : styles.dot_l}>(j)</Text>\n            <Text style={[...styles[isSm ? 'text_s' : 'text_l'], MainStyle.m_b_0]}>\n              The Winner is solely responsible for all use made of the Prize. Except as expressly provided in these\n              Promotion Terms, no representations, warranties, conditions or other terms are made, given or accepted by\n              Us and no other terms shall apply, as between Us and any person, in relation to any Prize, including\n              without limitation any terms as to suitability, reliability, satisfactory quality or fitness for purpose,\n              or any other implied terms, all of which We exclude to the maximum extent permitted by law.\n            </Text>\n          </View>\n\n          <Text style={isSm ? styles.title_s : styles.title_l}>Prize Draws</Text>\n\n          <View style={[MainStyle.row, isSm ? MainStyle.m_b_15 : MainStyle.m_b_30]}>\n            <Text style={isSm ? styles.dot_s : styles.dot_l}>(a)</Text>\n            <Text style={[...styles[isSm ? 'text_s' : 'text_l'], MainStyle.m_b_0]}>\n              In respect of any prize draw, if and where applicable, Winners will be drawn at random from all entries\n              correctly submitted and, provided all players are Qualifying Players, no favoritism will be shown in terms\n              of gender, age, geographic location, length of time as a Qualifying Player, which of Our gaming channels\n              or Platforms a Qualifying Player has used, or any other factor.\n            </Text>\n          </View>\n\n          <Text style={isSm ? styles.title_s : styles.title_l}>Publicity and Intellectual Property</Text>\n\n          <View style={MainStyle.row}>\n            <Text style={isSm ? styles.dot_s : styles.dot_l}>(a)</Text>\n            <Text style={[...styles[isSm ? 'text_s' : 'text_l'], MainStyle.m_b_0]}>\n              By participating in any Promotion, We may ask you to co-operate in advertising, marketing and/or publicity\n              material and activities, at Our expense. You may also be asked (1) to wear any branded clothing or attire\n              We may provide; and (2) to sign, if requested, an irrevocable release form allowing Us, without any\n              compensation being payable to you, to use Your name, photograph, likeness, any comments made by or\n              attributed to You, and to incorporate any such information and any audio/visual recording or broadcast for\n              such promotional purposes, in any media, throughout the world.\n            </Text>\n          </View>\n\n          <View style={[MainStyle.row, isSm ? MainStyle.m_b_15 : MainStyle.m_b_30]}>\n            <Text style={isSm ? styles.dot_s : styles.dot_l}>(b)</Text>\n            <Text style={[...styles[isSm ? 'text_s' : 'text_l'], MainStyle.m_b_0]}>\n              Where You participate in any event which We host or arrange in connection with a Promotion, You agree not\n              to make use of any third party branding or advertising for any organization which We consider to be Our\n              competitor, including without limitation any branding or advertising for any other gaming company, and You\n              agree not to conduct yourself in a manner that might, in Our reasonable opinion, bring us, any of Our\n              affiliates or any of Our or their respective brands into disrepute. In the event of any breach of this\n              requirement, We reserve the right not to award a Prize or to seek the return of any Prize awarded.\n            </Text>\n          </View>\n\n          <Text style={isSm ? styles.title_s : styles.title_l}>Promotional Play Restrictions</Text>\n\n          <View style={[MainStyle.row, isSm ? MainStyle.m_b_15 : MainStyle.m_b_30]}>\n            <Text style={isSm ? styles.dot_s : styles.dot_l}>(a)</Text>\n            <View style={MainStyle.flex1}>\n              <Text style={isSm ? styles.text_s : styles.text_l}>\n                We offer bonuses and promotions to enhance your enjoyment of our games. We therefore expect that you\n                will participate in all bonuses and promotions fairly, so that our other customers too may enjoy our\n                services. We have set out below certain types of play which we consider to be unfair and therefore to be\n                in breach of these Promotion Terms:\n              </Text>\n\n              <View style={MainStyle.row}>\n                <Text style={isSm ? styles.dot_s : styles.dot_l}>(1)</Text>\n                <Text style={[...styles[isSm ? 'text_s' : 'text_l'], MainStyle.m_b_0]}>\n                  using minimal risk gaming patterns (e.g. low risk gaming, zero risk gaming or equal gaming patterns);\n                </Text>\n              </View>\n\n              <View style={MainStyle.row}>\n                <Text style={isSm ? styles.dot_s : styles.dot_l}>(2)</Text>\n                <Text style={[...styles[isSm ? 'text_s' : 'text_l'], MainStyle.m_b_0]}>\n                  using multiple accounts to obtain more than the number of bonuses or free play permitted for each\n                  customer;\n                </Text>\n              </View>\n\n              <View style={MainStyle.row}>\n                <Text style={isSm ? styles.dot_s : styles.dot_l}>(3)</Text>\n                <Text style={[...styles[isSm ? 'text_s' : 'text_l'], MainStyle.m_b_0]}>\n                  sharing personalized promotional offers or bonuses (i.e. promotions or bonuses which are available to\n                  specific customers only) received by you e.g. via email, inbox message, links, URLs etc. with others\n                  who were not the intended recipient. This includes accessing promotions or bonuses forwarded to you by\n                  others when you were not the intended recipient;\n                </Text>\n              </View>\n\n              <View style={MainStyle.row}>\n                <Text style={isSm ? styles.dot_s : styles.dot_l}>(4)</Text>\n                <Text style={[...styles[isSm ? 'text_s' : 'text_l'], MainStyle.m_b_0]}>\n                  concealing your country of residence in order to access a promotion or bonus that is not available in\n                  your country of residence;\n                </Text>\n              </View>\n\n              <View style={MainStyle.row}>\n                <Text style={isSm ? styles.dot_s : styles.dot_l}>(5)</Text>\n                <Text style={[...styles[isSm ? 'text_s' : 'text_l'], MainStyle.m_b_0]}>\n                  colluding with other customers in order to take advantages of promotions or bonuses; or\n                </Text>\n              </View>\n            </View>\n          </View>\n\n          <View style={[MainStyle.row, isSm ? MainStyle.m_b_15 : MainStyle.m_b_30]}>\n            <Text style={isSm ? styles.dot_s : styles.dot_l}>(b)</Text>\n            <Text style={[...styles[isSm ? 'text_s' : 'text_l'], MainStyle.m_b_0]}>\n              Where you are in breach of any of the provisions of this Section 12, we may be entitled to cancel any\n              bonuses or promotions applied to your account, reclaim any bonus element of such offers and either settle\n              challenges at the correct odds, void any challenge funded by a bonus, or remove any subsequent winnings.\n              We may also be entitled to levy an administration charge up to the value of the bonus, free play or\n              additional payment to cover our reasonable administrative costs in respect of any such action that we\n              take.\n            </Text>\n          </View>\n\n          <Text style={isSm ? styles.title_s : styles.title_l}>Currency</Text>\n\n          <View style={[MainStyle.row, isSm ? MainStyle.m_b_15 : MainStyle.m_b_30]}>\n            <Text style={isSm ? styles.dot_s : styles.dot_l}>(a)</Text>\n            <Text style={[...styles[isSm ? 'text_s' : 'text_l'], MainStyle.m_b_0]}>\n              All references to sums of money will be in U.S. currency.\n            </Text>\n          </View>\n\n          <Text style={isSm ? styles.title_s : styles.title_l}>Our Liability</Text>\n\n          <View style={MainStyle.row}>\n            <Text style={isSm ? styles.dot_s : styles.dot_l}>(a)</Text>\n            <Text style={[...styles[isSm ? 'text_s' : 'text_l'], MainStyle.m_b_0]}>\n              Except where prohibited by law, We accept no liability in relation to Your participation (or inability to\n              participate) in any Promotion, including without limitation any use made by You of (or inability to use)\n              any Prize, to the maximum extent permitted by law.\n            </Text>\n          </View>\n\n          <View style={[MainStyle.row, isSm ? MainStyle.m_b_15 : MainStyle.m_b_30]}>\n            <Text style={isSm ? styles.dot_s : styles.dot_l}>(b)</Text>\n            <Text style={[...styles[isSm ? 'text_s' : 'text_l'], MainStyle.m_b_0]}>\n              If any Promotion cannot be executed as planned, including due to any technical problems or circumstances\n              beyond Our control, We shall incur no liability and no bonus, payment or prize of any kind will be\n              awarded.\n            </Text>\n          </View>\n\n          <Text style={isSm ? styles.title_s : styles.title_l}>\n            Alteration and Termination of Promotions; Modification of the Rules\n          </Text>\n\n          <View style={MainStyle.row}>\n            <Text style={isSm ? styles.dot_s : styles.dot_l}>(a)</Text>\n            <Text style={[...styles[isSm ? 'text_s' : 'text_l'], MainStyle.m_b_0]}>\n              We reserve the right to alter, discontinue or terminate any Promotion, or any aspect of it, at any time,\n              with or without notice, for any reason whatsoever, including without limitation if there has been any\n              printing, production, distribution or other error in any Promotion Communication or on the Platform, or\n              where there has been any error in the preparation for or conduct of any Promotion affecting the result of\n              the Promotion or the number of participants or the value of claims.\n            </Text>\n          </View>\n\n          <View style={[MainStyle.row, isSm ? MainStyle.m_b_15 : MainStyle.m_b_30]}>\n            <Text style={isSm ? styles.dot_s : styles.dot_l}>(b)</Text>\n            <Text style={[...styles[isSm ? 'text_s' : 'text_l'], MainStyle.m_b_0]}>\n              The Rules may be modified by Us at any time by posting the modified terms on the relevant page(s) of the\n              Platform. We recommend You revisit these Promotion Terms regularly. By Your continued participation in the\n              Promotion, You accept any such modified terms.\n            </Text>\n          </View>\n\n          <Text style={isSm ? styles.title_s : styles.title_l}>General</Text>\n\n          <View style={MainStyle.row}>\n            <Text style={isSm ? styles.dot_s : styles.dot_l}>(a)</Text>\n            <Text style={[...styles[isSm ? 'text_s' : 'text_l'], MainStyle.m_b_0]}>\n              You may not assign or transfer any or all of Your rights or obligations under the Rules.\n            </Text>\n          </View>\n\n          <View style={MainStyle.row}>\n            <Text style={isSm ? styles.dot_s : styles.dot_l}>(b)</Text>\n            <Text style={[...styles[isSm ? 'text_s' : 'text_l'], MainStyle.m_b_0]}>\n              No third party shall have a right to enforce the Rules against Us.\n            </Text>\n          </View>\n\n          <View style={MainStyle.row}>\n            <Text style={isSm ? styles.dot_s : styles.dot_l}>(c)</Text>\n            <Text style={[...styles[isSm ? 'text_s' : 'text_l'], MainStyle.m_b_0]}>\n              Failure by Us to enforce a right under the Rules does not result in waiver of such right.\n            </Text>\n          </View>\n\n          <View style={MainStyle.row}>\n            <Text style={isSm ? styles.dot_s : styles.dot_l}>(d)</Text>\n            <Text style={[...styles[isSm ? 'text_s' : 'text_l'], MainStyle.m_b_0]}>\n              If any part of the Rules is found to be unenforceable as a matter of law, all other parts of the Rules\n              shall be unaffected and shall remain in force.\n            </Text>\n          </View>\n\n          <View style={MainStyle.row}>\n            <Text style={isSm ? styles.dot_s : styles.dot_l}>(e)</Text>\n            <Text style={[...styles[isSm ? 'text_s' : 'text_l'], MainStyle.m_b_0]}>\n              Our determination and decision on all matters will be final and no correspondence will be entered into.\n              Any dispute or situation not covered by the Rules will be resolved by Our management in a manner it deems\n              to be the fairest to all concerned and, subject to the following section, that decision shall be final and\n              binding on all players.\n            </Text>\n          </View>\n\n          <View style={MainStyle.row}>\n            <Text style={isSm ? styles.dot_s : styles.dot_l}>(f)</Text>\n            <Text style={[...styles[isSm ? 'text_s' : 'text_l'], MainStyle.m_b_0]}>\n              You and We agree that the laws of the state where {BrandName} is permitted and licensed to offer sports\n              wagering apply to the Rules and that any dispute between You and Us arising out of or in connection with\n              the Rules or any Promotion will only be dealt with by the courts of that state.\n            </Text>\n          </View>\n\n          <View style={MainStyle.row}>\n            <Text style={isSm ? styles.dot_s : styles.dot_l}>(g)</Text>\n            <Text style={[...styles[isSm ? 'text_s' : 'text_l'], MainStyle.m_b_0]}>\n              If these Promotion Terms or any applicable Key Terms are translated into a language other than English,\n              then the English version shall prevail where there is any inconsistency.\n            </Text>\n          </View>\n\n          <View style={[MainStyle.row, isSm ? MainStyle.m_b_15 : MainStyle.m_b_30]}>\n            <Text style={isSm ? styles.dot_s : styles.dot_l}>(h)</Text>\n            <Text style={[...styles[isSm ? 'text_s' : 'text_l'], MainStyle.m_b_0]}>\n              If You have any questions, please contact <Text style={styles.small_link}\n                                                              onPress={() => openLink(`mailto:${SupportMail}`)}>{SupportMail}</Text>.\n            </Text>\n          </View>\n\n          <Text style={isSm ? styles.title_s : styles.title_l}>HOLE-IN-ONE</Text>\n\n          <View style={MainStyle.row}>\n            <Text style={isSm ? styles.dot_s : styles.dot_l}>(a)</Text>\n            <Text style={[...styles[isSm ? 'text_s' : 'text_l'], MainStyle.m_b_0]}>\n              The $10,000 Hole-in-One Payout may be adjusted or eliminated at any time. Please check your app and on\n              screen to see the qualifying payout for Hole-in-One when playing.\n            </Text>\n          </View>\n\n          <View style={MainStyle.row}>\n            <Text style={isSm ? styles.dot_s : styles.dot_l}>(b)</Text>\n            <Text style={[...styles[isSm ? 'text_s' : 'text_l'], MainStyle.m_b_0]}>\n              The Hole-in-One Payout is subject to video reviewal by {BrandName} representatives.\n            </Text>\n          </View>\n\n          <View style={MainStyle.row}>\n            <Text style={isSm ? styles.dot_s : styles.dot_l}>(c)</Text>\n            <Text style={[...styles[isSm ? 'text_s' : 'text_l'], MainStyle.m_b_0]}>\n              The Hole-in-One Payout will NOT be credited to the player’s wallet. Instead after verification, the player\n              will receive their Hole-in-One Payout at an event as detailed in section (d) below.\n            </Text>\n          </View>\n\n          <View style={MainStyle.row}>\n            <Text style={isSm ? styles.dot_s : styles.dot_l}>(d)</Text>\n            <Text style={[...styles[isSm ? 'text_s' : 'text_l'], MainStyle.m_b_0, MainStyle.Barlow700]}>\n              In order to receive the Hole-in-One payout, player agrees to attend an event wherein {BrandName} and venue\n              representatives will hand over payment (cash, check or other legal tender). This event may include\n              photography and video. Player is required to give testimonials during the event.\n            </Text>\n          </View>\n        </View>\n      </ScrollView>\n\n      {!isSm && <SupportGuideButtonMenu onExit={onExit}/>}\n    </>\n  );\n};\n\nconst styles = {\n  text_l: [MainStyle.c_white, MainStyle.Barlow400, MainStyle.f_s_24, MainStyle.m_b_30, MainStyle.l_h_36],\n  text_s: [MainStyle.c_white, MainStyle.Barlow400, MainStyle.f_s_12, MainStyle.m_b_15, MainStyle.l_h_16],\n\n  link_l: [MainStyle.c_lightblue, MainStyle.Barlow700, MainStyle.f_s_24, MainStyle.t_d_l_u, MainStyle.l_h_36],\n  link_s: [MainStyle.c_lightblue, MainStyle.Barlow700, MainStyle.f_s_12, MainStyle.t_d_l_u, MainStyle.l_h_16],\n\n  small_link: [MainStyle.c_lightblue, MainStyle.Barlow700, MainStyle.t_d_l_u],\n\n  secondary_l: [MainStyle.c_white, MainStyle.Barlow400, MainStyle.f_s_18, MainStyle.m_b_30, MainStyle.l_h_36],\n  secondary_s: [MainStyle.c_white, MainStyle.Barlow400, MainStyle.f_s_10, MainStyle.m_b_15, MainStyle.l_h_16],\n\n  title_l: [MainStyle.c_lightblue, MainStyle.Barlow700, MainStyle.f_s_32, MainStyle.m_b_30, MainStyle.t_t_u],\n  title_s: [MainStyle.c_lightblue, MainStyle.Barlow700, MainStyle.f_s_16, MainStyle.m_b_15, MainStyle.t_t_u],\n\n  dot_l: [MainStyle.c_white, MainStyle.Barlow400, MainStyle.f_s_24, MainStyle.l_h_36, MainStyle.m_x_16],\n  dot_s: [MainStyle.c_white, MainStyle.Barlow400, MainStyle.f_s_12, MainStyle.l_h_16, MainStyle.m_x_8]\n};\n\nexport default PromotionsScreen;\n","import React, {useContext, useState} from \"react\";\nimport {Modal, Platform, ScrollView, View} from \"react-native\";\nimport MainStyle from \"../../MainStyle\";\nimport Button from \"../components/Button\";\nimport {colors} from \"../assets/styles/colors\";\nimport Select from \"../components/Select\";\nimport {StoreContext} from \"../components/StoreContextProvider\";\nimport ServiceClient from \"../utils/ServiceClient\";\nimport {useNavigation} from \"@react-navigation/native\";\nimport Div from \"../lib/Div\";\nimport P from \"../lib/P\";\n\nconst items = [\n  {value: '0', label: '6 months'}, {value: '1', label: '1 year'}, {value: '2', label: '2 years'},\n  {value: '3', label: 'Forever'}\n];\n\ntype Props = { visible: boolean, onClose: () => void };\n\nconst SelfLimitationModal = (props: Props) => {\n  const {visible} = props;\n  const [value, setValue] = useState('0');\n  const Context = useContext(StoreContext);\n  const {cancelModalConfig} = Context;\n  const navigation: any = useNavigation();\n  const [isLoading, setIsLoading] = useState(false);\n\n  const confirmSelfLimitation = () => {\n    setIsLoading(true);\n\n    ServiceClient.enableSelfLimitation(+value).then(() => {\n      setIsLoading(false);\n      props.onClose();\n\n      Context.setCancelModalConfig({\n        visible: true, title: 'Success', titleColor: MainStyle.c_green, leftBtnText: 'OK',\n        subtitle: 'You have successfully confirmed your Self-Limitation.',\n        onExit: () => {\n          Context.setCancelModalConfig({...cancelModalConfig, visible: false});\n          Context.setLoadingOverlay(true);\n\n          Context.getUser().then(() => {\n            Context.setLoadingOverlay(false);\n            navigation.navigate('challenges');\n\n          }).catch(err => {\n            console.log('getUser err', err);\n            Context.logout().then(() => {\n              setTimeout(() => {\n                if (Platform.OS === 'web') window.location.reload();\n              }, 150);\n              navigation.reset({index: 0, routes: [{name: 'Splash'}]});\n              Context.setLoadingOverlay(false);\n            });\n          });\n        }\n      });\n\n    }).catch(err => {\n      console.log('enableSelfLimitation err', err);\n      setIsLoading(false);\n\n      Context.setCancelModalConfig({\n        visible: true, title: 'Error', subtitle: err.message, rightBtnText: 'OK',\n        onResume: () => {\n          Context.setCancelModalConfig({...cancelModalConfig, visible: false});\n        }\n      });\n    })\n  };\n\n  return (\n    <Modal animationType=\"fade\" transparent visible={visible} statusBarTranslucent={false}\n           hardwareAccelerated={false} onRequestClose={props.onClose}>\n      <View style={styles.wrap}>\n        <ScrollView contentContainerStyle={[MainStyle.full_h, MainStyle.full_w, MainStyle.a_i_c, MainStyle.j_c_c]}>\n          <Div w={300} bg={colors.bottomTabBg} borderWidth={1} borderColor={colors.popupBorder} rounded={4} pt={25}\n               px={30} mb={101}>\n            <P color={colors.lightBlue} fw=\"600\" fs={20} ta=\"center\" mb={20}>SELF LIMITATION</P>\n\n            <Select\n              value={value} onChangeText={(val) => setValue(val)} label=\"TIMEFRAME\"\n              customItems={items} mb={38}\n            />\n          </Div>\n\n          <Button\n            text=\"CONFIRM SELF LIMITATION\" h={40} fontSize={16} bg={colors.unselect} w={240} mb={15}\n            onPress={confirmSelfLimitation} isLoading={isLoading}\n          />\n\n          <Button\n            text=\"CANCEL\" h={40} fontSize={16} bg=\"transparent\" w={240} borderColor={colors.popupDangerPrimary}\n            borderWidth={1} color={colors.popupDangerPrimary} onPress={isLoading ? undefined : props.onClose}\n          />\n        </ScrollView>\n      </View>\n    </Modal>\n  );\n};\n\nconst styles = {\n  wrap: [MainStyle.full_h, MainStyle.full_w, MainStyle.bc_modalBg, MainStyle.fix_gradient_and_modal_error_in_landscape]\n};\n\nexport default React.memo(SelfLimitationModal);\n","import React, {useCallback, useContext, useLayoutEffect, useState} from 'react';\nimport {useNavigation} from '@react-navigation/native';\nimport {Linking, Platform, Text, View, ScrollView} from 'react-native';\nimport MainStyle from '../../MainStyle';\nimport {colors} from '../assets/styles/colors';\nimport SupportGuideHeader from '../components/ SupportGuideHeader';\nimport Button from '../components/Button';\nimport {StoreContext} from '../components/StoreContextProvider';\nimport {LANDING_PAGE_URL, SESSION_EXPIRE_TIME, SupportMail, BrandName} from '../constants';\nimport SelfLimitationModal from \"../modals/SelfLimitationModal\";\nimport AsyncStorage from \"@react-native-async-storage/async-storage\";\nimport moment from \"moment\";\nimport {User} from \"../../generated/smg_service_pb\";\nimport Div from \"../lib/Div\";\n\nconst SelfExclusionScreen = () => {\n  const Context = useContext(StoreContext);\n  const {user, session, cancelModalConfig} = Context;\n  const navigation: any = useNavigation();\n  const [showModal, setShowModal] = useState(false);\n\n  const onExit = useCallback(() => {\n    navigation.navigate('challenges');\n  }, []);\n\n  const openLink = (url: string) => {\n    if (Platform.OS === 'web') window.open(url, '_blank');\n    else Linking.openURL(url).then();\n  };\n\n  useLayoutEffect(() => {\n    if (!session || !user) {\n      Context.setLoadingOverlay(true);\n\n      (async () => {\n        const time = await AsyncStorage.getItem('lastActiveTime');\n\n        if (time && moment().diff(moment(time), 'minutes') > SESSION_EXPIRE_TIME) {\n          Context.logout().then(() => {\n            if (Platform.OS === 'web') {\n              window.open(LANDING_PAGE_URL, '_self');\n            }\n            Context.setLoadingOverlay(false);\n          });\n\n        } else {\n          const val = await AsyncStorage.getItem('session');\n          let curUser: User.AsObject | undefined;\n\n          if (val) {\n            const Session = JSON.parse(val);\n            Context.setSession(Session);\n\n            try {\n              curUser = await Context.getUser(Session);\n\n            } catch (e: any) {\n              Context.setCancelModalConfig({\n                visible: true, title: 'Error', subtitle: e?.message || 'Error', rightBtnText: 'OK',\n                onResume: () => Context.setCancelModalConfig({...cancelModalConfig, visible: false})\n              });\n            }\n          }\n\n          Context.setLoadingOverlay(false);\n          if (!val || !curUser || !curUser.userId) {\n            Context.logout().then(() => {\n              if (Platform.OS === 'web') {\n                window.open(LANDING_PAGE_URL, '_self');\n              }\n            });\n          }\n        }\n      })();\n    }\n  }, []);\n\n  return (\n    <>\n      <SupportGuideHeader title='SELF LIMITATION' onExit={onExit}/>\n\n      <ScrollView\n        contentContainerStyle={[MainStyle.min_h_full, {backgroundColor: colors.bg_contest, paddingBottom: 27}]}\n        keyboardShouldPersistTaps=\"handled\">\n        <Div maxW={1040} w=\"100%\" alignSelf=\"center\" px={36}>\n          <Div row justifyContent=\"center\" alignItems=\"center\" w=\"100%\" mt={40} mb={37}>\n            <Button\n              w={240} h={40} bg={colors.unselect} borderWidth={1} borderColor={colors.popupDropBg} radius={40}\n              fontSize={16} text=\"START SELF LIMITATION\" onPress={() => setShowModal(true)}\n            />\n          </Div>\n\n          <View>\n            <Text style={styles.title_s}>\n              {`SELF-EXCLUSION INFORMATION\\n${BrandName.toUpperCase()}, INC.`}\n            </Text>\n\n            <Text style={styles.title_s}>GENERAL</Text>\n\n            <Text style={styles.text_s}>\n              We want all of our user to enjoy our games responsibly. We are committed to maintaining a safe and\n              accountable experience for our users. All of our users should:\n            </Text>\n\n            <Div row>\n              <Text style={styles.dot_s}>&#8226;</Text>\n              <Text style={[...styles.text_s, MainStyle.m_b_0]}>\n                Consider different ways that they can limit their play;\n              </Text>\n            </Div>\n\n            <Div row>\n              <Text style={styles.dot_s}>&#8226;</Text>\n              <Text style={[...styles.text_s, MainStyle.m_b_0]}>\n                Not participate in challenges if it interferes with your daily life and/or responsibilities;\n              </Text>\n            </Div>\n\n            <Div row>\n              <Text style={styles.dot_s}>&#8226;</Text>\n              <Text style={[...styles.text_s, MainStyle.m_b_0]}>\n                Not enter challenges if you are recovering from a dependency and/or under the influence of alcohol,\n                drugs, or other substances; and\n              </Text>\n            </Div>\n\n            <Div row mb={34}>\n              <Text style={styles.dot_s}>&#8226;</Text>\n              <Text style={[...styles.text_s, MainStyle.m_b_0]}>\n                Not enter challenges if your primary goal is to recover losses.\n              </Text>\n            </Div>\n\n            <Text style={styles.title_s}>SELF-LIMITATION PROCESS</Text>\n\n            <Text style={styles.text_s}>\n              All users have the option of self-excluding by selecting the “Self-Limitation” option in the application\n              menu. Once you have selected the Self-Limitation option from the application menu, you will have the\n              option to select to the duration of the limitation. The minimum self-limitation time is six (6) months.\n            </Text>\n\n            <Text style={styles.text_s}>\n              Once you have selected the Self-Limitation option from the menu and the duration of the limitation, and\n              have confirmed once prompted to do so, the limitation becomes irrevocable until the expiration of the\n              limitation term. During the limitation period (i) you will not be able to access the application; (ii) you\n              will not receive any promotional materials from {BrandName}; (iii) you will be prohibited from making\n              deposits and entering challenges; (iv) any new accounts you create or attempt to create in circumvention\n              of your self-limitation that are detected by us will be closed. If you have questions about how reward\n              points, scheduled payments, and remaining balances are handled, please contact us at <Text\n              style={MainStyle.t_d_l_u} onPress={() => openLink(`mailto:${SupportMail}`)}>{SupportMail}</Text>.\n            </Text>\n\n            <Text style={styles.title_s}>REINSTATEMENT</Text>\n\n            <Text style={styles.text_s}>\n              {BrandName} will not notify you once your self-limitation period expires. If you would like to have your\n              account reinstated after expiration of your self-limitation period, you may contact us at <Text\n              style={MainStyle.t_d_l_u} onPress={() => openLink(`mailto:${SupportMail}`)}>{SupportMail}</Text>.\n            </Text>\n\n            <Text style={styles.title_s}>NOTICE</Text>\n\n            <Text style={styles.text_s}>\n              All users of {BrandName}’s games and challenge and promotions entrants must agree and are subject\n              to {BrandName}’ General Terms and Conditions, Promotions <Text style={styles.small_link}\n                                                                             onPress={() => navigation.navigate('TermsAndConditions')}>Terms\n              and Conditions</Text> (if applicable, and any applicable Key Terms for such promotions or specific games),\n              and {BrandName}’ <Text style={styles.small_link} onPress={() => navigation.navigate('PrivacyPolicy')}>Privacy\n              Policy</Text> (collectively, the “Rules”). It is your responsibility to read and understand the Rules\n              before beginning play.\n            </Text>\n          </View>\n        </Div>\n      </ScrollView>\n\n      <SelfLimitationModal visible={showModal} onClose={() => setShowModal(false)}/>\n    </>\n  );\n};\n\nconst styles = {\n  title_s: [MainStyle.c_lightblue, MainStyle.Barlow700, MainStyle.f_s_16, MainStyle.m_b_15, MainStyle.t_t_u],\n  text_s: [MainStyle.c_white, MainStyle.Barlow400, MainStyle.f_s_12, MainStyle.m_b_15, MainStyle.l_h_16],\n  dot_s: [MainStyle.c_white, MainStyle.Barlow400, MainStyle.f_s_12, MainStyle.l_h_16, MainStyle.m_x_8],\n  small_link: [MainStyle.Barlow700, MainStyle.t_d_l_u]\n};\n\nexport default SelfExclusionScreen;\n","import React, {useEffect, useRef} from \"react\";\nimport {Animated, Pressable, ViewStyle} from \"react-native\";\n\ninterface Style extends ViewStyle {\n  activeBackgroundColor?: string;\n  inActiveBackgroundColor?: string;\n  activeBorderColor?: string;\n  inActiveBorderColor?: string;\n}\n\ntype Props = { value?: boolean, onPress: () => void, trackStyle?: Style, thumbStyle: Style, isSm?: boolean };\n\nconst Switch = (props: Props) => {\n  const {value, trackStyle, thumbStyle, isSm} = props;\n  const leftAnim = useRef(new Animated.Value(isSm ? 1 : 3)).current;\n  const wrapStyle = {\n    borderWidth: trackStyle?.borderWidth, width: trackStyle?.width, height: trackStyle?.height,\n    borderRadius: trackStyle?.borderRadius,\n    backgroundColor: value ? trackStyle?.activeBackgroundColor : trackStyle?.inActiveBackgroundColor,\n    borderColor: value ? trackStyle?.activeBorderColor : trackStyle?.inActiveBorderColor\n  };\n  const thumb = {\n    borderWidth: thumbStyle.borderWidth, width: thumbStyle.width, height: thumbStyle.height,\n    borderRadius: thumbStyle.borderRadius,\n    borderColor: value ? thumbStyle.activeBorderColor : thumbStyle.inActiveBorderColor,\n    backgroundColor: value ? thumbStyle.activeBackgroundColor : thumbStyle.inActiveBackgroundColor,\n    shadowColor: thumbStyle.shadowColor, shadowOffset: thumbStyle.shadowOffset, shadowOpacity: thumbStyle.shadowOpacity,\n    shadowRadius: thumbStyle.shadowRadius, elevation: thumbStyle.elevation\n  };\n\n  useEffect(() => {\n    if (wrapStyle.width && thumb.width) {\n      const toValue = value ? +wrapStyle.width - +thumb.width - (isSm ? 3 : 5) : isSm ? 1 : 3;\n      Animated.timing(leftAnim, {toValue, duration: 300, useNativeDriver: true}).start();\n    }\n  }, [value]);\n\n  return (\n    <Pressable style={{...wrapStyle, justifyContent: 'center', position: 'relative'}} onPress={props.onPress}>\n      <Animated.View style={{...thumb, position: 'absolute', left: leftAnim}}/>\n    </Pressable>\n  );\n};\n\nexport default React.memo(Switch);\n","import React from \"react\";\nimport {StyleSheet, Text} from \"react-native\";\nimport {colors} from \"../assets/styles/colors\";\nimport MainStyle from \"../../MainStyle\";\nimport Switch from \"./Switch\";\nimport Div from \"../lib/Div\";\n\ntype Props = { isSm: boolean, value?: boolean, onPress: () => void, label: string };\n\nconst NotificationSwitch = (props: Props) => {\n  const {isSm, value, label} = props;\n  const trackStyle = {\n    activeBackgroundColor: colors.newGreen, inActiveBackgroundColor: colors.popupDropBg, borderRadius: 100,\n    activeBorderColor: colors.blueText, inActiveBorderColor: colors.blue, borderWidth: 1, width: isSm ? 44 : 102,\n    height: isSm ? 24 : 54\n  };\n  const thumbStyle = {\n    borderWidth: 1, borderRadius: 28, inActiveBorderColor: colors.unselectDark, shadowColor: colors.mainBg,\n    shadowOffset: {width: 0, height: 4}, shadowOpacity: 0.25, shadowRadius: 4, elevation: 2, height: isSm ? 20 : 48,\n    width: isSm ? 20 : 48, activeBackgroundColor: colors.newGreenText, inActiveBackgroundColor: colors.unselect,\n    activeBorderColor: colors.darkNewGreen\n  };\n\n  return (\n    <Div row={isSm} justifyContent=\"space-between\" alignItems=\"center\" py={isSm ? 0 : 36} rounded={8}\n             borderColor={colors.blueText} bg={colors.bottomTabBg} w={isSm ? 300 : 330} h={isSm ? 60 : 200}\n             borderWidth={1} pr={isSm ? 10 : 0}>\n      <Text style={[isSm ? rnStyles.bxTitleSm : rnStyles.bxTitle, MainStyle.t_a_c, MainStyle.flex1]}>{label}</Text>\n\n      <Div row alignItems=\"center\">\n        <Text style={[isSm ? rnStyles.indicatorTxtSm : rnStyles.indicatorTxt, {opacity: value ? 0.25 : 1}]}>OFF</Text>\n\n        <Switch value={value} onPress={props.onPress} trackStyle={trackStyle} thumbStyle={thumbStyle} isSm={isSm}/>\n\n        <Text style={[isSm ? rnStyles.indicatorTxtSm : rnStyles.indicatorTxt, {opacity: !value ? 0.25 : 1}]}>ON</Text>\n      </Div>\n    </Div>\n  );\n};\n\nconst rnStyles = StyleSheet.create({\n  bxTitle: {color: colors.whiteText, fontSize: 28, fontFamily: 'Barlow-Bold'},\n  bxTitleSm: {color: colors.whiteText, fontSize: 14, fontFamily: 'Barlow-Bold'},\n  indicatorTxt: {width: 80, color: colors.whiteText, textAlign: 'center', fontSize: 24, fontFamily: 'Barlow-Bold'},\n  indicatorTxtSm: {width: 40, color: colors.whiteText, textAlign: 'center', fontSize: 12, fontFamily: 'Barlow-Bold'}\n});\n\nexport default React.memo(NotificationSwitch);\n","import React, {useCallback, useContext, useLayoutEffect} from 'react';\nimport {Platform, StyleSheet, Text, ScrollView, View} from 'react-native';\nimport {useNavigation} from '@react-navigation/native';\nimport {colors} from '../assets/styles/colors';\nimport SupportGuideHeader from '../components/ SupportGuideHeader';\nimport {StoreContext} from '../components/StoreContextProvider';\nimport {dateFormat, LANDING_PAGE_URL, SESSION_EXPIRE_TIME} from '../constants';\nimport NotificationSwitch from \"../components/NotificationSwitch\";\nimport AsyncStorage from \"@react-native-async-storage/async-storage\";\nimport moment from \"moment\";\nimport {User} from \"../../generated/smg_service_pb\";\nimport ServiceClient from \"../utils/ServiceClient\";\nimport MainStyle from \"../../MainStyle\";\n\nconst NotificationsScreen = () => {\n  const navigation: any = useNavigation();\n  const Context = useContext(StoreContext);\n  const {user, session, cancelModalConfig} = Context;\n\n  const onExit = useCallback(() => {\n    navigation.navigate('challenges');\n  }, []);\n\n  const getUser = () => {\n    Context.getUser().then(() => {\n      Context.setLoadingOverlay(false);\n\n    }).catch(err => {\n      console.log('getUser err', err);\n      Context.setLoadingOverlay(false);\n\n      Context.setCancelModalConfig({\n        visible: true, title: 'ERROR', leftBtnText: 'OK', subtitle: err.message,\n        onExit: () => {\n          Context.setCancelModalConfig({...cancelModalConfig, visible: false});\n        }\n      });\n    });\n  };\n\n  const onChange = (field: 'text' | 'email' | 'partner') => () => {\n    if (!user) return;\n    Context.setLoadingOverlay(true);\n\n    const {emailAddress, username, phoneNumber, allowTextNotifications, allowEmailNotifications} = user;\n    const {allowPartnerPromos, handicap, handedness, firstname, lastname, dateOfBirth} = user;\n\n    const payload = {\n      email: emailAddress, username, phone: phoneNumber, allowTextNotifications, allowEmailNotifications,\n      allowPartnerPromos, handicap, handedness, firstname, lastname,\n      dateOfBirth: moment(dateOfBirth, dateFormat).format()\n    };\n\n    if (field === 'text') payload.allowTextNotifications = !payload.allowTextNotifications;\n    else if (field === 'email') payload.allowEmailNotifications = !payload.allowEmailNotifications;\n    else if (field === 'partner') payload.allowPartnerPromos = !payload.allowPartnerPromos;\n\n    ServiceClient.updateUser(payload).then(() => {\n      getUser();\n\n    }).catch(err => {\n      console.log('updateUser err', err);\n      Context.setLoadingOverlay(false);\n\n      Context.setCancelModalConfig({\n        visible: true, title: 'ERROR', leftBtnText: 'OK', subtitle: err.message,\n        onExit: () => {\n          Context.setCancelModalConfig({...cancelModalConfig, visible: false});\n        }\n      });\n    });\n  };\n\n  useLayoutEffect(() => {\n    if (!session || !user) {\n      Context.setLoadingOverlay(true);\n      (async () => {\n        const time = await AsyncStorage.getItem('lastActiveTime');\n\n        if (time && moment().diff(moment(time), 'minutes') > SESSION_EXPIRE_TIME) {\n          Context.logout().then(() => {\n            if(Platform.OS === 'web'){\n              window.open(LANDING_PAGE_URL, '_self');\n            }\n            Context.setLoadingOverlay(false);\n          });\n\n        } else {\n          const val = await AsyncStorage.getItem('session');\n          let curUser: User.AsObject | undefined;\n\n          if (val) {\n            const Session = JSON.parse(val);\n            Context.setSession(Session);\n\n            try {\n              curUser = await Context.getUser(Session);\n\n            } catch (e: any) {\n              Context.setCancelModalConfig({\n                visible: true, title: 'Error', subtitle: e?.message || 'Error', rightBtnText: 'OK',\n                onResume: () => Context.setCancelModalConfig({...cancelModalConfig, visible: false})\n              });\n            }\n          }\n\n          Context.setLoadingOverlay(false);\n          if (!val || !curUser || !curUser.userId) {\n            Context.logout().then(() => {\n              if(Platform.OS === 'web'){\n                window.open(LANDING_PAGE_URL, '_self');\n              }\n            });\n          }\n        }\n      })();\n    }\n  }, []);\n\n  return (\n    <>\n      <SupportGuideHeader title=\"Notifications\" onExit={onExit}/>\n\n      <ScrollView keyboardShouldPersistTaps=\"handled\" contentContainerStyle={[MainStyle.min_h_full, MainStyle.bg_contest]}>\n        <View style={[MainStyle.a_i_c, MainStyle.p_t_17]}>\n          <Text style={rnStyles.contentTitleSm}>NOTIFICATION SETTINGS</Text>\n\n          <View style={[MainStyle.m_t_50, MainStyle.j_c_s_between, MainStyle.h_240]}>\n            <NotificationSwitch isSm label=\"TEXT\" value={user?.allowTextNotifications} onPress={onChange('text')}/>\n\n            <NotificationSwitch isSm label=\"EMAIL\" value={user?.allowEmailNotifications} onPress={onChange('email')}/>\n\n            <NotificationSwitch isSm label=\"PARTNER PROMOS\" value={user?.allowPartnerPromos} onPress={onChange('partner')}/>\n          </View>\n        </View>\n      </ScrollView>\n    </>\n  );\n};\n\nconst rnStyles = StyleSheet.create({\n  contentTitleSm: {color: colors.lightBlue, fontSize: 16, fontFamily: 'Barlow-Bold'}\n});\n\nexport default NotificationsScreen;\n","import React from 'react';\nimport {TouchableOpacity} from 'react-native';\nimport Div from '../../../../lib/Div';\nimport {Promo} from '../../../../../generated/smg_service_pb';\nimport {colors} from '../../../../assets/styles/colors';\nimport {convertCentsToDollars} from '../../../../utils';\nimport moment from 'moment';\nimport {useNavigation} from '@react-navigation/native';\nimport P from \"../../../../lib/P\";\nimport MainStyle from \"../../../../../MainStyle\";\n\ntype PromoItemProps = { data: Promo.AsObject };\n\nconst PromoCard = (props: PromoItemProps) => {\n  const {data} = props;\n  const navigation: any = useNavigation();\n\n  const calculateBonusMultiplier = (amount: number, turnoverAmount: number) => {\n    const multiplier = Math.floor(turnoverAmount / amount);\n    return `${multiplier}X`;\n  };\n\n  const getStatusColor = (status: string) => {\n    switch (status.toUpperCase()) {\n      case 'LIVE':\n        return `#1CE783`;\n      case 'UNUSED':\n        return '#007BC1';\n      case 'USED':\n        return `#FABF41`;\n      case 'EXPIRED':\n        return `#FF6262`;\n      default:\n        return colors.white;\n    }\n  };\n\n  const getBorderColor = (status: string) => {\n    switch (status.toUpperCase()) {\n      case 'LIVE':\n        return colors.newGreenText;\n      case 'UNUSED':\n        return '#007BC1';\n      default:\n        return colors.darkText;\n    }\n  };\n\n  const onSelectItem = () => {\n    if (data.name.toLowerCase() === 'registration bonus') {\n      return navigation.navigate('Promotions', {scrollTo: 'ELIGIBILITY_SECTION'});\n    }\n\n    navigation.navigate('Promotions', {scrollTo: 'PROMOTIONS_AND_PROMOTION_PERIOD'});\n  };\n  return (\n    <TouchableOpacity onPress={onSelectItem} style={[MainStyle.full_w, MainStyle.max_w_387, MainStyle.m_b_10]}>\n      <Div rounded={20} borderWidth={1} bg={colors.loading_login} pt={13} pb={18} borderColor={getBorderColor(data.status || '')}>\n        <P ta=\"center\" fw=\"500\" fs={22} mb={14}>{data?.name || ''}</P>\n\n        <Div w={348} row mx=\"auto\">\n          <P fw=\"500\" fs={14} flex={1} ta=\"center\">AMOUNT</P>\n          <P fw=\"500\" fs={14} flex={1} ta=\"center\">TURNOVER</P>\n          <P fw=\"500\" fs={14} flex={1} ta=\"center\">STATUS</P>\n        </Div>\n\n        <Div w={348} h={60} rounded={20} borderWidth={1} borderColor={colors.settings_border} bg={colors.settings_bg}\n             row alignItems=\"center\" mb={10} mx=\"auto\">\n          <P flex={1} ta=\"center\" fw=\"500\" fs={24}>${convertCentsToDollars(data.amount) || ''}</P>\n\n          <P w={100} borderHorizontalWidth={1} borderColor={colors.settings_border} ta=\"center\" fw=\"500\" fs={24}>\n            {calculateBonusMultiplier(data.amount, data.turnoverAmount)}\n          </P>\n\n          <P flex={1} ta=\"center\" fw=\"700\" fs={16} color={getStatusColor(data.status || '')}>{data.status || ''}</P>\n        </Div>\n\n        <Div px={20} row>\n          <Div row alignItems=\"center\" flex={1} justifyContent=\"center\">\n            <P fw=\"500\" fs={14} mr={12}>TYPE</P>\n            <P fw=\"700\" tt=\"uppercase\" numberOfLines={1}>{data.type || ''}</P>\n          </Div>\n\n          <Div row alignItems=\"center\" flex={1} justifyContent=\"center\">\n            <P fw=\"500\" fs={14} mr={12}>EXP</P>\n            <P fw=\"700\" tt=\"uppercase\">{moment.unix(data.expirationDate).format('ll')}</P>\n          </Div>\n        </Div>\n      </Div>\n    </TouchableOpacity>\n  );\n};\n\nexport default React.memo(PromoCard);\n","import React from 'react';\nimport {Modal, ScrollView, StyleSheet, Text, View} from 'react-native';\nimport Button from '../../../../components/Button';\nimport Div from '../../../../lib/Div';\nimport MainStyle from '../../../../../MainStyle';\nimport {colors} from '../../../../assets/styles/colors';\nimport {Promo} from \"../../../../../generated/smg_service_pb\";\nimport moment from \"moment\";\n\ntype Props = { promo?: Promo.AsObject, onClose: () => void };\n\nconst PromoFeedbackModal = (props: Props) => {\n  const {promo, onClose} = props;\n\n  const calculateBonusMultiplier = (amount?: number, turnoverAmount?: number) => {\n    const multiplier = Math.floor((turnoverAmount || 0) / (amount || 0));\n    return `${multiplier}X`;\n  };\n\n  const getStatusColor = (status?: string) => {\n    switch (status?.toUpperCase()) {\n      case 'LIVE':\n        return `#1CE783`;\n      case 'UNUSED':\n        return '#007BC1';\n      case 'USED':\n        return `#FABF41`;\n      case 'EXPIRED':\n        return `#FF6262`;\n      default:\n        return colors.white;\n    }\n  };\n\n  return (\n    <Modal animationType=\"fade\" transparent visible={!!promo} statusBarTranslucent={false} hardwareAccelerated={false} onRequestClose={onClose}>\n      <View style={[MainStyle.fix_gradient_and_modal_error_in_landscape, MainStyle.flex1, MainStyle.bg_filter_modal]}>\n        <ScrollView contentContainerStyle={MainStyle.flex1}>\n          <View style={[MainStyle.min_h_full, MainStyle.a_i_c, MainStyle.j_c_c]}>\n            <View style={styles.contentWrapper}>\n              <Text style={styles.title}>Promo Activated</Text>\n\n              <Text style={styles.subTitle}>{promo?.name}</Text>\n\n              <Div row alignItems='center' mt={27} mb={22} px={52}>\n                <Div flex={33.33} h={49} borderRightColor='rgba(255, 255, 255, 0.10)' borderRightWidth={1}>\n                  <Text style={styles.bxTitle}>AMOUNT</Text>\n                  <Text style={styles.bxSubTitle}>${(promo?.amount || 0) / 100}</Text>\n                </Div>\n\n                <Div flex={33.33} h={49} borderRightColor='rgba(255, 255, 255, 0.10)' borderRightWidth={1}>\n                  <Text style={styles.bxTitle}>TURNOVER</Text>\n                  <Text style={styles.bxSubTitle}>{calculateBonusMultiplier(promo?.amount, promo?.turnoverAmount)}</Text>\n                </Div>\n\n                <Div flex={33.33} h={49}>\n                  <Text style={[styles.bxTitle, {marginBottom: 8}]}>status</Text>\n                  <Text style={[styles.bxStatus, {color: getStatusColor(promo?.status)}]}>{promo?.status}</Text>\n                </Div>\n              </Div>\n\n              <Div alignItems='center' w={'100%'}>\n                <Div row alignItems='center' w={184} mx=\"auto\">\n                  <Div w={66}><Text style={styles.ftrTitle}>TYPE</Text></Div>\n                  <Div><Text style={styles.ftrTxt}>{promo?.type.toUpperCase()}</Text></Div>\n                </Div>\n\n                <Div row alignItems='center' w={184} mx={'auto'} mt={7}>\n                  <Div w={66}><Text style={styles.ftrTitle}>EXP</Text></Div>\n                  {promo?.expirationDate && (\n                    <Div>\n                      <Text style={styles.ftrTxt}>\n                        {moment.unix(promo?.expirationDate).format('ll').toUpperCase()}\n                      </Text>\n                    </Div>\n                  )}\n                </Div>\n              </Div>\n\n              <Div px={40} mt={36}>\n                <Button text=\"OK\" onPress={onClose} textStyle={styles.submitBtnTxt}/>\n              </Div>\n            </View>\n          </View>\n        </ScrollView>\n      </View>\n    </Modal>\n  );\n};\n\nconst styles = StyleSheet.create({\n  contentWrapper: {\n    backgroundColor: colors.settings_bg,\n    width: 389,\n    height: 452,\n    borderRadius: 20,\n    borderColor: colors.settings_border,\n    borderWidth: 1,\n    paddingTop: 46,\n    minHeight: 400,\n    paddingBottom: 41,\n  },\n  title: {\n    color: '#FFF',\n    textAlign: 'center',\n    fontFeatureSettings: \"'case' on\",\n    fontSize: 26,\n    marginBottom: 42,\n    fontStyle: 'normal',\n    lineHeight: 26,\n    letterSpacing: -0.408,\n    ...MainStyle.Barlow500,\n  },\n  clmnTitle: {\n    color: '#FFF',\n    textAlign: 'center',\n    fontSize: 14,\n    fontStyle: 'normal',\n    textTransform: 'uppercase',\n    ...MainStyle.Barlow500,\n  },\n  submitBtnTxt: {\n    color: '#0B1321',\n    textAlign: 'center',\n    fontSize: 22,\n    fontStyle: 'normal',\n    letterSpacing: -0.408,\n    ...MainStyle.Barlow600,\n  },\n  cancelBtnTxt: {\n    color: '#FFF',\n    textAlign: 'center',\n    fontSize: 22,\n    fontStyle: 'normal',\n    fontWeight: '600',\n    letterSpacing: -0.408,\n    ...MainStyle.Barlow600,\n  },\n  subTitle: {\n    color: '#FFF',\n    textAlign: 'center',\n    fontFeatureSettings: \"'case' on\",\n    fontSize: 22,\n    fontStyle: 'normal',\n    letterSpacing: -0.408,\n    ...MainStyle.Barlow500,\n  },\n  bxTitle: {\n    color: '#FFF',\n    textAlign: 'center',\n    fontSize: 14,\n    fontStyle: 'normal',\n    textTransform: 'uppercase',\n    marginBottom: 6,\n    ...MainStyle.Barlow500,\n  },\n  bxSubTitle: {\n    color: '#FFF',\n    textAlign: 'center',\n    fontFeatureSettings: \"'liga' off, 'clig' off\",\n    fontSize: 24,\n    fontStyle: 'normal',\n    ...MainStyle.Barlow500,\n  },\n  bxStatus: {\n    color: '#007BC1',\n    textAlign: 'center',\n    fontSize: 16,\n    fontStyle: 'normal',\n    ...MainStyle.Barlow700,\n  },\n  ftrTitle: {\n    color: '#FFF',\n    fontSize: 14,\n    fontStyle: 'normal',\n    textTransform: 'uppercase',\n    ...MainStyle.Barlow500,\n  },\n  ftrTxt: {\n    color: '#FFF',\n    fontSize: 16,\n    fontStyle: 'normal',\n    ...MainStyle.Barlow700,\n  },\n});\n\nexport default PromoFeedbackModal;\n","import React, {useContext, useState} from 'react';\nimport {Modal, ScrollView, StyleSheet, Text, View} from 'react-native';\nimport * as Yup from 'yup';\nimport Button from '../../../../components/Button';\nimport Div from '../../../../lib/Div';\nimport Input from '../../../../components/Input';\nimport MainStyle from '../../../../../MainStyle';\nimport PromoFeedbackModal from './PromoFeedbackModal';\nimport {colors} from '../../../../assets/styles/colors';\nimport {useFormik} from 'formik';\nimport ServiceClient from \"../../../../utils/ServiceClient\";\nimport {StoreContext} from \"../../../../components/StoreContextProvider\";\nimport {useNavigation} from \"@react-navigation/native\";\nimport {Promo} from \"../../../../../generated/smg_service_pb\";\n\ntype Props = { isOpen: boolean, onClose: () => void };\n\nconst AddNewPromoCode = (props: Props) => {\n  const {isOpen} = props;\n  const formik = useFormik({\n    initialValues: {code: ''}, validationSchema: Yup.object({code: Yup.string().required('Required')}),\n    onSubmit: () => {\n      activatePromo();\n    }\n  });\n  const [promo, setPromo] = useState<Promo.AsObject>();\n  const Context = useContext(StoreContext);\n  const navigation: any = useNavigation();\n\n  const activatePromo = () => {\n    ServiceClient.activatePromo(formik.values.code).then(res => {\n      onClose();\n      setPromo(res);\n\n    }).catch(err => {\n      console.log('activatePromo err', err);\n      formik.setFieldError('code', err.code === 20020066 ? 'Promo has expired' : err.code === 20020067 ? 'Promo Code not found' : err.code === 20020065 ? 'Promo already used.' : 'Error');\n    });\n  };\n\n  const onClose = () => {\n    props.onClose();\n    formik.resetForm();\n    setPromo(undefined);\n  };\n\n  const getFieldError = (key: string): boolean | string | undefined => {\n    return formik.touched[key as keyof typeof formik.touched] && formik.errors[key as keyof typeof formik.errors];\n  };\n\n  return (\n    <>\n      <Modal animationType=\"fade\" transparent visible={isOpen} statusBarTranslucent={false} hardwareAccelerated={false}\n             onRequestClose={onClose}>\n        <View style={[MainStyle.fix_gradient_and_modal_error_in_landscape, MainStyle.flex1, MainStyle.bg_filter_modal]}>\n          <ScrollView contentContainerStyle={MainStyle.flex1}>\n            <View style={[MainStyle.min_h_full, MainStyle.a_i_c, MainStyle.j_c_c]}>\n              <View style={styles.contentWrapper}>\n                <Text style={styles.title}>Add New Promo Code</Text>\n\n                <Div row justifyContent=\"center\" pt={44} pb={57} w={308} mx=\"auto\">\n                  <Input\n                    placeholderTextColor={colors.white} inputStyles={styles.input}\n                    placeholder=\"PROMO CODE\" onBlur={formik.handleBlur('code')} error={getFieldError('code')}\n                    value={formik.values.code} onChangeText={formik.handleChange('code')}\n                  />\n                </Div>\n\n                <Div px={40}>\n                  <Button onPress={() => formik.handleSubmit()} text=\"Submit\" textStyle={styles.submitBtnTxt}/>\n\n                  <Button\n                    onPress={onClose} mt={20} text='Cancel' bg={colors.mainBackground} borderWidth={1}\n                    borderColor={colors.white} textStyle={styles.cancelBtnTxt}\n                  />\n                </Div>\n              </View>\n            </View>\n          </ScrollView>\n        </View>\n      </Modal>\n\n      <PromoFeedbackModal\n        promo={promo}\n        onClose={() => {\n          setPromo(undefined);\n          Context.getUser().then()\n          navigation.reset({index: 0, routes: [{name: 'challenges'}]});\n        }}\n      />\n    </>\n  );\n};\n\nconst styles = StyleSheet.create({\n  contentWrapper: {\n    backgroundColor: colors.settings_bg,\n    width: 389,\n    height: 452,\n    borderRadius: 20,\n    borderColor: colors.settings_border,\n    borderWidth: 1,\n    paddingTop: 46,\n    minHeight: 400,\n    paddingBottom: 41\n  },\n  title: {color: colors.white, textAlign: 'center', fontSize: 26, lineHeight: 26, ...MainStyle.Barlow500},\n  input: {\n    borderRadius: 20,\n    borderWidth: 1,\n    borderColor: colors.settings_border,\n    backgroundColor: colors.mainBg,\n    height: 66,\n    textAlign: 'center'\n  },\n  submitBtnTxt: {color: colors.mainBackground, textAlign: 'center', fontSize: 22, ...MainStyle.Barlow600},\n  cancelBtnTxt: {color: colors.white, textAlign: 'center', fontSize: 22, ...MainStyle.Barlow600}\n});\n\nexport default React.memo(AddNewPromoCode);\n","import React, {useContext, useLayoutEffect, useState} from 'react';\nimport {ScrollView, Platform} from 'react-native';\nimport {Promo, User} from '../../../../generated/smg_service_pb';\nimport MainStyle from '../../../../MainStyle';\nimport {StoreContext} from '../../../components/StoreContextProvider';\nimport {LANDING_PAGE_URL, SESSION_EXPIRE_TIME} from '../../../constants';\nimport ServiceClient from '../../../utils/ServiceClient';\nimport AsyncStorage from '@react-native-async-storage/async-storage';\nimport moment from 'moment';\nimport {useNavigation} from \"@react-navigation/native\";\nimport BottomNavigation from '../../../components/BottomNavigation';\nimport NewHeader from \"../../../components/NewHeader\";\nimport Button from '../../../components/Button';\nimport Div from '../../../lib/Div';\nimport PromoCard from './components/PromoCard';\nimport AddNewPromoCode from './components/AddNewPromoCode';\nimport P from \"../../../lib/P\";\n\nconst PromosScreen = () => {\n  const Context = useContext(StoreContext);\n  const {user, cancelModalConfig} = Context;\n  const [promos, setPromos] = useState<Promo.AsObject[]>([]);\n  const navigation: any = useNavigation();\n  const [isOpenAddNewPromo, setIsOpenAddNewPromo] = useState(false)\n\n  const getPromos = (userId: number) => {\n    Context.setLoadingOverlay(true);\n\n    ServiceClient.getPromos(userId).then(res => {\n      Context.setLoadingOverlay(false);\n      setPromos(res);\n\n    }).catch(err => {\n      Context.setLoadingOverlay(false);\n      Context.setCancelModalConfig({\n        visible: true, subtitle: err.message || 'Request Promos Error', title: 'Error', leftBtnText: 'OK',\n        onExit: () => {\n          Context.setCancelModalConfig({...cancelModalConfig, visible: false});\n          navigation.navigate({name: 'account', params: {step: 1}});\n        }\n      });\n    });\n  };\n\n  useLayoutEffect(() => {\n    if (!user) {\n      (async () => {\n        const time = await AsyncStorage.getItem('lastActiveTime');\n\n        if (time && moment().diff(moment(time), 'minutes') > SESSION_EXPIRE_TIME) {\n          Context.logout().then(() => {\n            if (Platform.OS === 'web') window.open(LANDING_PAGE_URL, '_self');\n            Context.setLoadingOverlay(false);\n          });\n\n        } else {\n          const val = await AsyncStorage.getItem('session');\n          let curUser: User.AsObject | undefined;\n\n          if (val) {\n            const Session = JSON.parse(val);\n            Context.setSession(Session);\n\n            try {\n              curUser = await Context.getUser(Session);\n\n            } catch (e: any) {\n              Context.setCancelModalConfig({\n                visible: true, title: 'Error', subtitle: e?.message || 'Error', rightBtnText: 'OK',\n                onResume: () => Context.setCancelModalConfig({...cancelModalConfig, visible: false})\n              });\n            }\n          }\n\n          if (!val || !curUser || !curUser.userId) {\n            Context.logout().then(() => {\n              if (Platform.OS === 'web') window.open(LANDING_PAGE_URL, '_self');\n              Context.setLoadingOverlay(false);\n            });\n\n          } else getPromos(curUser.userId);\n        }\n      })();\n\n    } else getPromos(user.userId);\n  }, []);\n\n  return (\n    <>\n      <ScrollView contentContainerStyle={MainStyle.min_h_full}>\n        <NewHeader pb={11}/>\n\n        <Div px={21}>\n          <P fw=\"500\" fs={30} lh={24} mb={16}>Promos</P>\n\n          <Button\n            text=\"Add Promo Code\" mb={17} w={350} mx=\"auto\" onPress={() => setIsOpenAddNewPromo(true)}\n            textStyle={MainStyle.Barlow600}\n          />\n\n          <P ta=\"center\" fw=\"500\" fs={18} mb={16}>{'SELECT A PROMO TO SEE ITS\\nTERM AND CONDITIONS'}</P>\n        </Div>\n\n        <Div px={5} alignItems=\"center\">\n          {!!promos.length && promos.map((promo, i) => (\n            <PromoCard key={promo.id.toString() + i} data={promo}/>\n          ))}\n        </Div>\n      </ScrollView>\n\n      <Div alignItems=\"center\" maxW={1125} mx=\"auto\" w=\"100%\">\n        <BottomNavigation page=\"promos\"/>\n      </Div>\n\n      <AddNewPromoCode isOpen={isOpenAddNewPromo} onClose={() => setIsOpenAddNewPromo(false)}/>\n    </>\n  );\n};\n\nexport default PromosScreen;\n","import React from \"react\";\nimport MainStyle from \"../../MainStyle\";\nimport {Fontisto} from '@expo/vector-icons';\nimport {colors} from \"../assets/styles/colors\";\nimport Div from \"../lib/Div\";\nimport P from \"../lib/P\";\n\ntype Props = {\n  children: React.ReactNode, disable?: boolean, mb?: string | number, mt?: string | number, onClose?: () => void,\n  my?: string | number\n};\n\nconst FilterChip = (props: Props) => {\n  const {children, disable, mb, mt, my} = props;\n\n  return (\n    <Div h={20} rounded={16} pl={9} alignItems=\"center\" pr={4} row mr={4} bg={colors.darkPurple}\n         opacity={disable ? 0.5 : 1} mb={mb} mt={mt} my={my}>\n      <P fw=\"700\" fs={14} mr={14} tt=\"uppercase\">{children}</P>\n      {(props.onClose && !disable) && (\n        <Fontisto name=\"close-a\" size={10} color={colors.white} onPress={props.onClose} style={MainStyle.m_r_2}/>\n      )}\n    </Div>\n  );\n};\n\nexport default React.memo(FilterChip);\n","import React from 'react';\nimport {Pressable, Image} from 'react-native';\nimport checked_icon from '../assets/img/icons/checked.svg';\nimport unchecked from '../assets/img/icons/unchecked.svg';\nimport MainStyle from \"../../MainStyle\";\n\ntype IFProps = { checked: boolean, onChange?: () => void };\n\nconst CheckMarkCheckbox: React.FC<IFProps> = (props: IFProps) => {\n  const {checked} = props;\n\n  return (\n    <Pressable onPress={props.onChange} style={[MainStyle.w_19, MainStyle.h_18, MainStyle.row, MainStyle.a_i_e]}>\n      <Image\n        source={(checked ? checked_icon : unchecked) as any}\n        style={checked ? [MainStyle.w_21, MainStyle.h_21] : [MainStyle.w_19, MainStyle.h_18]}\n      />\n    </Pressable>\n  );\n};\n\nexport default React.memo(CheckMarkCheckbox);\n","import React from 'react';\nimport {Modal, Pressable, ScrollView, Text, View} from 'react-native';\nimport CheckMarkCheckbox from '../../../components/CheckMarkCheckbox';\nimport {colors} from \"../../../assets/styles/colors\";\nimport MainStyle from \"../../../../MainStyle\";\nimport {Fontisto, MaterialIcons} from \"@expo/vector-icons\";\nimport {ListTournamentRequest, TournamentState} from \"../../../../generated/smg_service_pb\";\nimport Sort = ListTournamentRequest.Sort;\nimport P from \"../../../lib/P\";\n\ntype IFProps = {\n  isOpen: boolean, onClose: () => void, filters: TournamentState[], onChangeFilter: (val: TournamentState) => void,\n  sortBy: Sort, sortChange: (val: Sort) => void, mineOnly: boolean, mineOnlyChange: (val: boolean) => void,\n  clearAll: () => void\n};\n\nconst TournamentsFilterModal: React.FC<IFProps> = (props: IFProps) => {\n  const {isOpen, filters, sortBy, mineOnly} = props;\n\n  return (\n    <Modal animationType=\"fade\" transparent visible={isOpen} statusBarTranslucent={false} hardwareAccelerated={false}>\n      <View style={[MainStyle.fix_gradient_and_modal_error_in_landscape, MainStyle.flex1, MainStyle.bg_filter_modal]}>\n        <ScrollView contentContainerStyle={[MainStyle.a_i_c, MainStyle.flex1]}>\n          <View style={styles.contentWrapper}>\n            <View style={[MainStyle.a_i_e, MainStyle.m_b_10]}>\n              <Fontisto name=\"close-a\" size={20} color={colors.white} onPress={props.onClose}/>\n            </View>\n\n            <Text style={styles.title}>Refine Tournaments List</Text>\n\n            <View style={[MainStyle.row, MainStyle.m_l_52, MainStyle.a_i_c, MainStyle.m_b_8]}>\n              <Text style={[MainStyle.c_white, MainStyle.Barlow500, MainStyle.f_s_21]}>Filter</Text>\n              <Text style={[MainStyle.c_white, MainStyle.Barlow500, MainStyle.f_s_14, MainStyle.m_l_6]}>\n                (Select Any / All)\n              </Text>\n            </View>\n\n            <Pressable style={[...styles.filterItem, MainStyle.m_b_9]}\n                       onPress={() => props.onChangeFilter(TournamentState.PENDING)}>\n              <CheckMarkCheckbox\n                checked={filters.includes(TournamentState.PENDING)}\n                onChange={() => props.onChangeFilter(TournamentState.PENDING)}\n              />\n              <Text style={[MainStyle.c_white, MainStyle.Barlow500, MainStyle.f_s_17, MainStyle.m_l_15]}>Upcoming</Text>\n            </Pressable>\n\n            <Pressable style={[...styles.filterItem, MainStyle.m_b_9]}\n                       onPress={() => props.onChangeFilter(TournamentState.PLAYING)}>\n              <CheckMarkCheckbox\n                checked={filters.includes(TournamentState.PLAYING)}\n                onChange={() => props.onChangeFilter(TournamentState.PLAYING)}\n              />\n              <Text style={[MainStyle.c_white, MainStyle.Barlow500, MainStyle.f_s_17, MainStyle.m_l_15]}>Live Now</Text>\n            </Pressable>\n\n            <Pressable style={[...styles.filterItem, MainStyle.m_b_31]} onPress={() => props.mineOnlyChange(!mineOnly)}>\n              <CheckMarkCheckbox checked={mineOnly} onChange={() => props.mineOnlyChange(!mineOnly)}/>\n              <Text style={[MainStyle.c_white, MainStyle.Barlow500, MainStyle.f_s_17, MainStyle.m_l_15]}>\n                My Entries\n              </Text>\n            </Pressable>\n\n            <View style={[MainStyle.row, MainStyle.m_l_52, MainStyle.a_i_c, MainStyle.m_b_8]}>\n              <Text style={[MainStyle.c_white, MainStyle.Barlow500, MainStyle.f_s_21]}>Sort</Text>\n              <Text style={[MainStyle.c_white, MainStyle.Barlow500, MainStyle.f_s_14, MainStyle.m_l_6]}>\n                (Select One)\n              </Text>\n            </View>\n\n            <Pressable style={[...styles.filterItem, MainStyle.m_b_8]}\n                       onPress={() => props.sortChange(Sort.ENTRY_BEGIN_DATE_SOONEST)}>\n              <MaterialIcons\n                name={`radio-button-${sortBy === Sort.ENTRY_BEGIN_DATE_SOONEST ? 'on' : 'off'}`}\n                size={19} color=\"white\"\n              />\n              <P fw=\"500\" fs={17} ml={15}>\n                Start Date/Time - Soonest\n              </P>\n            </Pressable>\n\n            <Pressable style={[...styles.filterItem, MainStyle.m_b_8]}\n                       onPress={() => props.sortChange(Sort.ENTRY_BEGIN_DATE_LATEST)}>\n              <MaterialIcons\n                name={`radio-button-${sortBy === Sort.ENTRY_BEGIN_DATE_LATEST ? 'on' : 'off'}`}\n                size={19} color=\"white\"\n              />\n              <P fw=\"500\" fs={17} ml={15}>Start Date/Time - Latest</P>\n            </Pressable>\n\n            <Pressable style={[...styles.filterItem, MainStyle.m_b_8]}\n                       onPress={() => props.sortChange(Sort.ENTRY_END_DATE_SOONEST)}>\n              <MaterialIcons\n                name={`radio-button-${sortBy === Sort.ENTRY_END_DATE_SOONEST ? 'on' : 'off'}`}\n                size={19} color=\"white\"\n              />\n              <P fw=\"500\" fs={17} ml={15}>End Date/Time - Soonest</P>\n            </Pressable>\n\n            <Pressable style={[...styles.filterItem, MainStyle.m_b_29]}\n                       onPress={() => props.sortChange(Sort.ENTRY_END_DATE_LATEST)}>\n              <MaterialIcons\n                name={`radio-button-${sortBy === Sort.ENTRY_END_DATE_LATEST ? 'on' : 'off'}`}\n                size={19} color=\"white\"\n              />\n              <P fw=\"500\" fs={17} ml={15}>End Date/Time - Latest</P>\n            </Pressable>\n\n            <Pressable onPress={props.clearAll} style={[MainStyle.m_b_30, MainStyle.m_x_auto]}>\n              <P color={colors.newGreenText} fs={14} fw=\"700\" tt=\"uppercase\">Clear all filters</P>\n            </Pressable>\n          </View>\n        </ScrollView>\n      </View>\n    </Modal>\n  );\n};\n\nconst styles = {\n  contentWrapper: [\n    MainStyle.bg_black, MainStyle.w_370, MainStyle.b_r_20, MainStyle.b_c_darkText, MainStyle.b_w_1, MainStyle.p_t_18,\n    MainStyle.p_r_18, MainStyle.m_t_114\n  ],\n  title: [MainStyle.c_white, MainStyle.Barlow500, MainStyle.f_s_24, MainStyle.m_b_24, MainStyle.m_l_24],\n  filterItem: [MainStyle.m_l_77, MainStyle.h_26, MainStyle.row, MainStyle.a_i_c]\n};\n\nexport default React.memo(TournamentsFilterModal);\n","import React, {useState} from \"react\";\nimport {Image, Pressable} from \"react-native\";\nimport MainStyle from \"../../MainStyle\";\nimport FilterChip from \"./FilterChip\";\nimport Group3220 from \"../assets/img/icons/Group 3220.svg\";\nimport Subtract from \"../assets/img/icons/Subtract.svg\";\nimport TournamentsFilterModal from \"../screens/Tournaments/componenets/TournamentsFilterModal\";\nimport {ListTournamentRequest, TournamentState} from \"../../generated/smg_service_pb\";\nimport Div from \"../lib/Div\";\n\n\nconst Sort = ListTournamentRequest.Sort;\nconst sortList = new Map([\n  [Sort.ENTRY_BEGIN_DATE_SOONEST, 'Start Date/Time - Soonest'],\n  [Sort.ENTRY_BEGIN_DATE_LATEST, 'Start Date/Time - Latest'],\n  [Sort.ENTRY_END_DATE_SOONEST, 'End Date/Time - Soonest'],\n  [Sort.ENTRY_END_DATE_LATEST, 'End Date/Time - Latest']\n]);\nconst stateList = new Map([\n  [TournamentState.PENDING, 'Upcoming'],\n  [TournamentState.PLAYING, 'Live Now']\n])\n\ntype Props = {\n  filters: TournamentState[], filtersChange: (val: TournamentState[]) => void, sortBy: ListTournamentRequest.Sort,\n  sortChange: (val: ListTournamentRequest.Sort) => void, mb?: string | number, mineOnly: boolean,\n  mineOnlyChange: (val: boolean) => void\n};\n\nconst TournamentsFilter = (props: Props) => {\n  const {filters, sortBy, mb, mineOnly} = props;\n  const [isOpenFilterModal, setIsOpenFilterModal] = useState(false);\n\n  const onChangeFilter = (item: TournamentState) => {\n    if (filters.includes(item)) props.filtersChange(filters.filter((filter) => filter !== item));\n    else props.filtersChange([...filters, item]);\n  };\n\n  return (\n    <>\n      <Div mx={32} row mb={mb}>\n        <Div row flex={1} flexWrap=\"wrap\">\n          {sortBy !== Sort.DEFAULT && (\n            <FilterChip my={2.5} disable>Sort by: {sortList.get(sortBy)}</FilterChip>\n          )}\n\n          {filters.map(item => (\n            <FilterChip key={item} my={2.5} onClose={() => onChangeFilter(item)}>\n              {stateList.get(item)}\n            </FilterChip>\n          ))}\n\n          {mineOnly && (\n            <FilterChip my={2.5} onClose={() => props.mineOnlyChange(!mineOnly)}>\n              My Entries\n            </FilterChip>\n          )}\n        </Div>\n\n        <Pressable style={styles.icon_btn} onPress={() => setIsOpenFilterModal(true)}>\n          <Image source={Group3220 as any} style={[MainStyle.w_12, MainStyle.h_21]}/>\n          <Image source={Subtract as any} style={[MainStyle.w_13, MainStyle.h_21, MainStyle.m_l_2]}/>\n        </Pressable>\n      </Div>\n\n      <TournamentsFilterModal\n        isOpen={isOpenFilterModal} onClose={() => setIsOpenFilterModal(false)}\n        filters={filters} onChangeFilter={onChangeFilter} sortBy={sortBy} sortChange={props.sortChange}\n        mineOnly={mineOnly} mineOnlyChange={props.mineOnlyChange}\n        clearAll={() => {\n          setIsOpenFilterModal(false);\n          props.filtersChange([]);\n          props.mineOnlyChange(false);\n          props.sortChange(Sort.DEFAULT);\n        }}\n      />\n    </>\n  );\n};\n\nconst styles = {\n  icon_btn: [\n    MainStyle.b_w_1, MainStyle.b_c_settings_border, MainStyle.bg_settings, MainStyle.w_48, MainStyle.h_48,\n    MainStyle.b_r_40, MainStyle.a_i_c, MainStyle.j_c_c, MainStyle.row\n  ]\n};\n\nexport default React.memo(TournamentsFilter);\n","import React, {useContext, useEffect, useState} from \"react\";\nimport {Image, Pressable} from \"react-native\";\nimport MainStyle from \"../../MainStyle\";\nimport lock_icon from '../assets/img/icons/icon-lock-small.svg';\nimport {outline_0} from \"../constants\";\nimport {colors} from \"../assets/styles/colors\";\nimport {Tournament, TournamentPlayerDetails, TournamentState} from \"../../generated/smg_service_pb\";\nimport {Ionicons} from '@expo/vector-icons';\nimport TournamentRegistrationConfirmationModal from \"../modals/TournamentRegistrationConfirmationModal\";\nimport ServiceClient from \"../utils/ServiceClient\";\nimport {StoreContext} from \"./StoreContextProvider\";\nimport {useNavigation} from \"@react-navigation/native\";\nimport {formatCurrency} from \"../utils\";\nimport Div from \"../lib/Div\";\nimport P from \"../lib/P\";\n\ntype Props = {\n  item: Tournament.AsObject, mb?: string | number, onReload: () => void, isPrivateTournament?: boolean,\n  showPopup?: boolean\n};\n\nconst TournamentHeader = (props: Props) => {\n  const {item, mb, isPrivateTournament, showPopup} = props;\n  const [isOpen, setIsOpen] = useState(false);\n  const Context = useContext(StoreContext);\n  const {cancelModalConfig} = Context;\n  const navigation: any = useNavigation();\n\n  const enableAutoPlay = (fee: string) => {\n    Context.setLoadingOverlay(true);\n    setIsOpen(false);\n    navigation.navigate('TournamentDetails', {id: item.id, isPrivateTournament});\n\n    ServiceClient.enableAutoPlay(true, +fee * 100).then(() => {\n      Context.setLoadingOverlay(false);\n      props.onReload();\n\n    }).catch(err => {\n      console.log('enableAutoPlay err', err);\n      Context.setLoadingOverlay(false);\n\n      Context.setCancelModalConfig({\n        visible: true, title: 'Error', subtitle: err.message, rightBtnText: 'OK',\n        onResume: () => Context.setCancelModalConfig({...cancelModalConfig, visible: false})\n      });\n    });\n  };\n\n  useEffect(() => {\n    if (isPrivateTournament && item.id && item.state !== TournamentState.FINISHED && showPopup) {\n      setIsOpen(true);\n    }\n  }, [isPrivateTournament, item.id, showPopup]);\n\n  return (\n    <Div mx=\"auto\" w={367}>\n      <Div row>\n        <P fw=\"500\" fs={14} flex={1} ta=\"center\" tt=\"uppercase\" lh={18}>Players</P>\n        <P fw=\"500\" fs={14} flex={1} ta=\"center\" tt=\"uppercase\" lh={18}>Registered</P>\n        <P fw=\"500\" fs={14} flex={1} ta=\"center\" tt=\"uppercase\" lh={18}>Availability</P>\n      </Div>\n\n      <Div row mb={8}>\n        <P fw=\"700\" lh={18} flex={1} ta=\"center\">1 - {item.maxparticipants}</P>\n        <P fw=\"700\" lh={18} flex={1} ta=\"center\">{item.playerdetailsList.length}</P>\n        <Div flex={1} alignItems=\"center\">\n          <Div px={5} bg={colors.availability} row alignItems=\"center\">\n            <P fw=\"700\" fs={14} lh={18} tt=\"capitalize\">{item.isprivate ? 'PRIVATE' : 'PUBLIC'}</P>\n            <Image source={lock_icon as any} style={[MainStyle.w_8, MainStyle.h_12, MainStyle.m_l_4]}/>\n          </Div>\n        </Div>\n      </Div>\n\n      <Div row>\n        <P fw=\"500\" fs={14} flex={1} ta=\"center\" tt=\"uppercase\" lh={18}>total Shots</P>\n        <P fw=\"500\" fs={14} flex={1} ta=\"center\" tt=\"uppercase\" lh={18}>Entry Fee</P>\n        <P fw=\"500\" fs={14} flex={1} ta=\"center\" tt=\"uppercase\" lh={18}>Challenge Fee</P>\n      </Div>\n\n      <Div row mb={mb}>\n        <P fw=\"700\" lh={18} flex={1} ta=\"center\">{item.totalshots}</P>\n        <P fw=\"700\" lh={18} flex={1} ta=\"center\">{formatCurrency(item.entryfee / 100)}</P>\n\n        <Div flex={1} alignItems=\"center\">\n          {!!item.currentplayerdetails && item.currentplayerdetails.state !== TournamentPlayerDetails.State.FINISHED ? (\n            <Pressable style={styles.input_wrap} onPress={() => setIsOpen(true)}>\n              <P fw=\"500\" fs={15} color={colors.newGreenText}>\n                {item.currentplayerdetails.betentreefee ? formatCurrency(item.currentplayerdetails.betentreefee / 100) : '$0'}\n              </P>\n\n              <Ionicons\n                name=\"pencil\" size={11} color={colors.newGreenText}\n                style={[MainStyle.absolute, MainStyle.r__17]}\n              />\n            </Pressable>\n          ) : (\n            <P fw=\"700\" lh={18} flex={1} ta=\"center\">\n              {item.currentplayerdetails?.betentreefee ? formatCurrency(item.currentplayerdetails.betentreefee / 100) : '$0'}\n            </P>\n          )}\n        </Div>\n      </Div>\n\n      <TournamentRegistrationConfirmationModal\n        isOpen={isOpen}\n        onClose={() => {\n          setIsOpen(false);\n          navigation.navigate('TournamentDetails', {id: item.id, isPrivateTournament});\n        }}\n        joinTournament={enableAutoPlay} type=\"ChallengeFeeConfirmationModal\"\n        totalShots={item.totalshots} entryFee={item.entryfee}\n        entryChallengeFee={`${item.currentplayerdetails?.betentreefee ? item.currentplayerdetails.betentreefee / 100 : 0}`}\n      />\n    </Div>\n  );\n};\n\nconst styles = {\n  input_s: [MainStyle.absolute, MainStyle.t_0, MainStyle.r_0, MainStyle.b_0, MainStyle.l_18, outline_0],\n  input_wrap: [\n    MainStyle.row, MainStyle.relative, MainStyle.b_b_w_1, MainStyle.b_c_newGreen, MainStyle.p_x_8, MainStyle.a_i_c\n  ]\n};\n\nexport default React.memo(TournamentHeader);\n","import React from \"react\";\nimport {ScrollView} from \"react-native\";\nimport {TournamentPlayerDetails, TournamentState} from \"../../generated/smg_service_pb\";\nimport Div from \"../lib/Div\";\nimport {colors} from \"../assets/styles/colors\";\nimport P from \"../lib/P\";\nimport MainStyle from \"../../MainStyle\";\nimport {formatCurrency} from \"../utils\";\n\ntype Props = {\n  mx?: string | number, maxH?: number | string, prizePoolList?: number[], w?: string | number, b_b_r?: number,\n  state?: number, playerDetailsList: TournamentPlayerDetails.AsObject[], mb?: string | number,\n  guaranteedPricePool: number\n};\n\nconst PrizePool = (props: Props) => {\n  const {mx, maxH, prizePoolList, w, b_b_r, state, playerDetailsList, mb, guaranteedPricePool} = props;\n\n  const comparePlayerDetails = (a: TournamentPlayerDetails.AsObject, b: TournamentPlayerDetails.AsObject) => {\n    return b.prize - a.prize;\n  };\n\n  const compareNumbers = (a: number, b: number) => {\n    return b - a;\n  };\n\n  return (\n    <Div rounded={20} borderWidth={1} borderColor={colors.settings_border} bg={colors.settings_bg} py={19} mx={mx}\n         maxH={maxH} w={w} roundedBottomLeft={b_b_r} roundedBottomRight={b_b_r} mb={mb} style={MainStyle.min_h_90}>\n      <Div row>\n        <P flex={1} fw=\"500\" ta=\"center\">Place</P>\n        <P flex={1} fw=\"500\" ta=\"center\">{state === TournamentState.FINISHED ? 'Payout' : 'Payout (proj)'}</P>\n      </Div>\n\n      <Div flex={1} position=\"relative\">\n        <ScrollView>\n          {(prizePoolList && prizePoolList.length) ? prizePoolList.sort(compareNumbers).map((prize, i) => (\n            <Div key={i} row>\n              <P ta=\"center\" fw=\"500\" fs={20} flex={1} lh={24}>{i + 1}</P>\n              <Div mx=\"auto\" w={1} h={24} bg={colors.settings_border}/>\n              <P color={colors.newGreenText} ta=\"center\" fw=\"500\" fs={20} flex={1} lh={24}>\n                {prize ? formatCurrency(prize / 100) : '$0'}\n              </P>\n            </Div>\n          )) : (playerDetailsList && playerDetailsList.length) ? playerDetailsList.sort(comparePlayerDetails).map((el, i) => (\n            <Div key={el.playerId} row>\n              <P ta=\"center\" fw=\"500\" fs={20} flex={1} lh={24}>{i + 1}</P>\n              <Div mx=\"auto\" w={1} h={24} bg={colors.settings_border}/>\n              <P color={colors.newGreenText} ta=\"center\" fw=\"500\" fs={20} flex={1} lh={24}>\n                {el.prize ? formatCurrency(el.prize / 100) : '$0'}\n              </P>\n            </Div>\n          )) : null}\n        </ScrollView>\n\n        {!!guaranteedPricePool && (\n          <Div position=\"absolute\" top=\"0\" left=\"0\" w=\"100%\" h=\"100%\" alignItems=\"center\" justifyContent=\"center\">\n            <P fw=\"500\" fs={12} tt=\"uppercase\">guaranteed</P>\n            <P fw=\"500\" fs={12} tt=\"uppercase\">prize pool</P>\n            <P color={colors.newGreenText} fw=\"500\" fs={24}>${guaranteedPricePool / 100}</P>\n          </Div>\n        )}\n      </Div>\n    </Div>\n  );\n};\n\nexport default React.memo(PrizePool);\n","import React from \"react\";\nimport {Pressable, Image} from \"react-native\";\nimport MainStyle from \"../../MainStyle\";\nimport TournamentHeader from \"./TournamentHeader\";\nimport PrizePool from \"./PrizePool\";\nimport {Tournament, TournamentPlayerDetails} from \"../../generated/smg_service_pb\";\nimport {useNavigation} from \"@react-navigation/native\";\nimport {colors} from \"../assets/styles/colors\";\nimport {ExtendedUserDataType} from \"../types\";\nimport moment from \"moment\";\nimport {tournamentStatusStyle} from \"../utils\";\nimport Div from \"../lib/Div\";\nimport P from \"../lib/P\";\nimport {localFormatter} from \"../constants\";\n\ntype Props = {\n  item: Tournament.AsObject, w?: string | number, mx?: string | number, mb?: string | number, getUser: () => void,\n  extendedUserData: ExtendedUserDataType\n};\n\nconst TournamentItem = (props: Props) => {\n  const {item, w, mx, mb, extendedUserData} = props;\n  const navigation: any = useNavigation();\n  const restrictEntry = 5 - extendedUserData.freeshotnumber + 1;\n  const registered = !!item.currentplayerdetails && item.currentplayerdetails.state !== TournamentPlayerDetails.State.FINISHED;\n  const activeColor = restrictEntry > 0 ? colors.gray : registered ? colors.newGreenText : 'black';\n  const statusStyle = tournamentStatusStyle(item.state);\n\n  return (\n    <Div mx={mx} w={w} mb={mb} borderColor={activeColor} rounded={20} bg={colors.mainBg} borderWidth={1} overflow=\"hidden\">\n      <Div h={18} mb={18} bg={activeColor}>\n        <P ta=\"center\" fw=\"700\" fs={14} lh={18}>\n          {restrictEntry > 0 ? `Tournament Starts After ${restrictEntry} Shot${restrictEntry !== 1 ? 's' : ''}` : registered ? 'REGISTERED' : ''}\n        </P>\n      </Div>\n\n      <P ta=\"center\" fw=\"500\" fs={24} numberOfLines={1}>{item.name}</P>\n\n      <P color={colors.id_text} ta=\"center\" fw=\"500\" fs={20} mb={5}>#{item.id}</P>\n\n      {!!item.sponsorLandscapeLogo ? (\n        <Div h={72} w={120} mb={8} bg=\"white\" rounded={6} mx=\"auto\" overflow=\"hidden\">\n          <Image\n            source={{uri: item.sponsorLandscapeLogo}} resizeMode=\"contain\"\n            style={[MainStyle.absolute, MainStyle.h_271, MainStyle.t__99, MainStyle.w_271, MainStyle.l__75]}\n          />\n        </Div>\n      ) : !!item.sponsorlogo ? (\n        <Div h={72} w={72} mb={8} bg=\"white\" rounded={6} mx=\"auto\" overflow=\"hidden\">\n          <Image\n            source={{uri: item.sponsorlogo}} resizeMode=\"contain\"\n            style={[MainStyle.absolute, MainStyle.h_234, MainStyle.t__81, MainStyle.w_184, MainStyle.l__56]}\n          />\n        </Div>\n      ) : null}\n\n      <Div mx=\"auto\" w={367}>\n        <Div row mx={12} alignItems=\"center\" mb={12}>\n          <Div column flex={1}>\n            <Div row mb={3} justifyContent=\"space-between\">\n              <P fw=\"500\" fs={14} lh={17} tt=\"uppercase\">Start</P>\n              <P fw=\"700\" lh={17}>\n                {localFormatter.format(moment.unix(item.entrybegindate).toDate())}\n              </P>\n            </Div>\n\n            <Div row justifyContent=\"space-between\">\n              <P fw=\"500\" fs={14} lh={17} tt=\"uppercase\">End</P>\n              <P fw=\"700\" lh={17}>\n                {localFormatter.format(moment.unix(item.entryenddate).toDate())}\n              </P>\n            </Div>\n          </Div>\n\n          <P w={82} lh={36} ta=\"center\" bw={1} ml={13} fw=\"700\" fs={14} tt=\"uppercase\" borderColor={statusStyle.color}>\n            {statusStyle.text}\n          </P>\n        </Div>\n      </Div>\n\n      <TournamentHeader mb={16} item={item} onReload={props.getUser}/>\n\n      <PrizePool\n        mx={10} maxH={206} state={item?.state} prizePoolList={item.prizepoolList}\n        playerDetailsList={item.playerdetailsList} guaranteedPricePool={item.minimumguaranteedpricepool}\n      />\n\n      <Pressable style={MainStyle.m_x_auto} onPress={() => navigation.navigate('TournamentDetails', {id: item.id})}>\n        <P lh={33} color={colors.newGreenText} fw=\"700\" fs={14} tt=\"uppercase\">View Details</P>\n      </Pressable>\n    </Div>\n  );\n};\n\nexport default React.memo(TournamentItem);\n","import React from \"react\";\nimport {Modal, Pressable, ScrollView} from \"react-native\";\nimport MainStyle from \"../../MainStyle\";\nimport Button from \"../components/Button\";\nimport {colors} from \"../assets/styles/colors\";\nimport Div from \"../lib/Div\";\nimport P from \"../lib/P\";\nimport {TournamentSurveyQuestion, TournamentSurveyQuestionType} from \"../../generated/smg_service_pb\";\nimport Input from \"../components/Input\";\nimport {FormikProps} from \"formik\";\nimport {toCapitalize} from \"../utils\";\nimport icon from \"../assets/img/icons/pencil-line 1.svg\";\nimport Select from \"../components/Select\";\nimport Checkbox from \"../components/Checkbox\";\n\ntype Props = {\n  visible: boolean, onClose: () => void, questionsList: TournamentSurveyQuestion.AsObject[],\n  formik: FormikProps<Record<string, string[]>>\n};\n\nconst AdditionalSurveyQuestions = (props: Props) => {\n  const {visible, questionsList, formik} = props;\n\n  return (\n    <Modal animationType=\"fade\" transparent visible={visible} statusBarTranslucent={false} hardwareAccelerated={false}\n           onRequestClose={props.onClose}>\n      <Div h=\"100%\" w=\"100%\" bg={colors.modalBg} style={MainStyle.fix_gradient_and_modal_error_in_landscape}>\n        <ScrollView contentContainerStyle={styles.wrapScroll}>\n          <Div w=\"100%\" maxW={390} maxH={710} rounded={20} borderWidth={1} borderColor={colors.settings_border}\n               bg={colors.settings_bg} pt={35}>\n            <P ta=\"center\" fw=\"500\" fs={26} mb={33}>{`Additional\\nSurvey Questions`}</P>\n\n            <ScrollView>\n              {questionsList.map(question => {\n                const currentValues: string[] = formik.values[question.id] || [];\n\n                return (\n                  <Div mb={30} alignItems=\"center\" key={question.id}>\n                    <P ta=\"center\" fw=\"500\" mb={7}>{question.text}</P>\n\n                    {question.type === TournamentSurveyQuestionType.TEXT_ENTRY ? (\n                      <Input\n                        placeholder=\"Your answer\" value={currentValues[0] || ''}\n                        onChangeText={val => formik.setFieldValue(`${question.id}`, [val])}\n                        onBlur={formik.handleBlur(`${question.id}`)} error={formik.errors[question.id] as string || ''}\n                        w={330} h={48} onFocusScroll mb={12} rounded={20} borderColor={colors.settings_border}\n                        bg=\"black\" fs={18} placeholderTextColor=\"white\" px={20}\n                      />\n                    ) : question.type === TournamentSurveyQuestionType.DROPDOWN ? (\n                      <Select\n                        value={currentValues[0] || ''}\n                        onChangeText={val => formik.setFieldValue(`${question.id}`, [val])}\n                        customItems={question.optionsList.map(el => ({value: el, label: el}))} w={330}\n                        borderRadius={20} h={48} placeholder=\"Select your response\" textAlign=\"left\" icon={icon}\n                        fontSize={18} pl={20} pr={21} bg=\"black\" color=\"white\" fontFamily=\"Barlow-Medium\" iconSize={24}\n                        borderColor={formik.errors[question.id] ? colors.newDangerText : colors.settings_border}\n                        popupTitle=\"Select your response\" errorText={formik.errors[question.id] as string}\n                      />\n                    ) : (\n                      <>\n                        {formik.errors[question.id] && (\n                          <P flex={1} ta=\"center\" fw=\"500\" fs={12} color={colors.newDangerText}>\n                            {toCapitalize(formik.errors[question.id] as string)}\n                          </P>\n                        )}\n\n                        {question.optionsList.map(option => {\n                          const isChecked = currentValues.includes(option);\n                          const updatedValues = isChecked ? currentValues.filter((val) => val !== option) : [...currentValues, option];\n\n                          return (\n                            <Pressable key={option}\n                                       style={[MainStyle.row, MainStyle.a_i_c, MainStyle.w_312, MainStyle.m_y_6]}\n                                       onPress={() => formik.setFieldValue(`${question.id}`, updatedValues)}>\n                              <Checkbox\n                                value={isChecked} size={18}\n                                onValueChange={() => formik.setFieldValue(`${question.id}`, updatedValues)}\n                              />\n                              <P fs={18} fw=\"500\" ml={15}>{option}</P>\n                            </Pressable>\n                          );\n                        })}\n                      </>\n                    )}\n                  </Div>\n                );\n              })}\n            </ScrollView>\n\n            <Div mx={10} h={1} bg={colors.divider_bg} mb={26}/>\n\n            <Div w={310} row justifyContent=\"space-between\" mx=\"auto\" mb={36}>\n              <Button\n                onPress={props.onClose} w={150} bg={colors.mainBackground} borderWidth={1} borderColor=\"white\"\n                color=\"white\" text=\"Cancel\"\n              />\n              <Button onPress={formik.submitForm} w={150} text=\"Submit\"/>\n            </Div>\n          </Div>\n        </ScrollView>\n      </Div>\n    </Modal>\n  );\n};\n\nconst styles = {\n  wrapScroll: [MainStyle.full_h, MainStyle.full_w, MainStyle.p_x_20, MainStyle.a_i_c, MainStyle.j_c_c]\n};\n\nexport default React.memo(AdditionalSurveyQuestions);\n","import React, {useContext, useState} from \"react\";\nimport {Pressable} from \"react-native\";\nimport MainStyle from \"../../MainStyle\";\nimport TournamentRegistrationConfirmationModal from \"../modals/TournamentRegistrationConfirmationModal\";\nimport ServiceClient from \"../utils/ServiceClient\";\nimport {StoreContext} from \"./StoreContextProvider\";\nimport AdditionalSurveyQuestions from \"../modals/AdditionalSurveyQuestions\";\nimport {\n  Tournament, TournamentPlayerBet, TournamentPlayerDetails, TournamentState, TournamentSurveyQuestionType\n} from \"../../generated/smg_service_pb\";\nimport Div from \"../lib/Div\";\nimport P from \"../lib/P\";\nimport {colors} from \"../assets/styles/colors\";\nimport * as Yup from \"yup\";\nimport {useFormik} from \"formik\";\n\ntype Props = {\n  onReload: () => void, leave: () => void, hideLeaveButton?: boolean, tournament: Tournament.AsObject\n};\n\nconst JoinTournamentButton = (props: Props) => {\n  const {tournament, hideLeaveButton} = props;\n  const {entryfee, id, totalshots, currentplayerdetails, state, playerdetailsList, questionsList} = tournament;\n  const registered = !!currentplayerdetails && currentplayerdetails?.state !== TournamentPlayerDetails.State.FINISHED;\n  const joinDisabled = state === TournamentState.CANCELLED || state === TournamentState.FINISHED || currentplayerdetails?.state === TournamentPlayerDetails.State.FINISHED;\n  const leaveDisabled = playerdetailsList.find(el => el.playerId === currentplayerdetails?.playerId)?.betsList.filter(bet => bet.state === TournamentPlayerBet.State.FINISHED).length === totalshots;\n  const autoPlayAmount = currentplayerdetails?.betentreefee;\n  const Context = useContext(StoreContext);\n  const {cancelModalConfig} = Context;\n  const [tournamentRegistrationModalType, setTournamentRegistrationModalType] = useState<'RegistrationConfirmationModal' | 'LowBalanceModal' | 'CancelCashChallenge' | 'LeaveTournament' | ''>('');\n  const [showAdditionalSurveyQuestions, setShowAdditionalSurveyQuestions] = useState(false);\n  const initialValues: Record<string, string[]> = questionsList.reduce((values, question) => {\n    values[question.id] = [];\n    return values;\n  }, {} as Record<string, string[]>);\n  const validationSchema = Yup.object(\n    questionsList.reduce((schema, question) => {\n      if (question.type === TournamentSurveyQuestionType.MULTI_CHOICE) {\n        schema[question.id] = Yup.array().min(1, 'Please select at least one option').required('This field is required');\n\n      } else {\n        schema[question.id] = Yup.array().of(Yup.string()).test('is-single-value', 'This field is required', (value) => Array.isArray(value) && value.length === 1 && !!value[0]).required('This field is required');\n      }\n      return schema;\n    }, {} as Record<string, any>)\n  );\n  const formik = useFormik<Record<string, string[]>>({\n    initialValues, validationSchema,\n    onSubmit: () => {\n      setShowAdditionalSurveyQuestions(false);\n      setTournamentRegistrationModalType('RegistrationConfirmationModal');\n    }\n  });\n\n  const handleJoinButtonClick = () => {\n    if (questionsList.length) setShowAdditionalSurveyQuestions(true);\n    else setTournamentRegistrationModalType('RegistrationConfirmationModal');\n  };\n\n  const LeaveTournament = () => {\n    if (!leaveDisabled) setTournamentRegistrationModalType('LeaveTournament');\n  };\n\n  const enableAutoPlay = (fee: number) => {\n    Context.setLoadingOverlay(true);\n    setTournamentRegistrationModalType('');\n\n    ServiceClient.enableAutoPlay(true, fee).then(() => {\n      Context.setLoadingOverlay(false);\n      props.onReload();\n\n    }).catch(err => {\n      console.log('enableAutoPlay err', err);\n      Context.setLoadingOverlay(false);\n\n      Context.setCancelModalConfig({\n        visible: true, title: 'Error', subtitle: err.message, rightBtnText: 'OK',\n        onResume: () => Context.setCancelModalConfig({...cancelModalConfig, visible: false})\n      });\n    });\n  };\n\n  const joinTournament = (val: string) => {\n    if (!id) return;\n    Context.setLoadingOverlay(true);\n    setTournamentRegistrationModalType('');\n\n    ServiceClient.joinTournament(id, +val * 100, formik.values).then(() => {\n      setTimeout(() => {\n        Context.setLoadingOverlay(false);\n        props.onReload();\n      }, 500);\n\n    }).catch(err => {\n      console.log('joinTournament err', err);\n      Context.setLoadingOverlay(false);\n\n      if (err.message === 'insufficient balance') {\n        setTournamentRegistrationModalType('LowBalanceModal');\n\n      } else {\n        Context.setCancelModalConfig({\n          visible: true, title: 'Error', subtitle: err.message, rightBtnText: 'OK',\n          onResume: () => Context.setCancelModalConfig({...cancelModalConfig, visible: false})\n        });\n      }\n    });\n  };\n\n  return (\n    <>\n      {registered ? (\n        <Div row w={350} mx=\"auto\" justifyContent=\"space-between\">\n          {!hideLeaveButton && (\n            <Pressable onPress={LeaveTournament}\n                       style={[...styles.btn_wrap, ...styles.leave_btn, leaveDisabled && MainStyle.o_06, autoPlayAmount ? MainStyle.w_170 : {}]}>\n              <P fw=\"700\" ta=\"center\" fs={18}>Leave Tournament</P>\n            </Pressable>\n          )}\n\n          {autoPlayAmount && (\n            <Pressable style={[...styles.btn_wrap, ...styles.leave_btn, MainStyle.w_170]}\n                       onPress={() => setTournamentRegistrationModalType('CancelCashChallenge')}>\n              <P fw=\"700\" ta=\"center\" fs={18}>Cancel Cash Challenge</P>\n            </Pressable>\n          )}\n        </Div>\n      ) : (\n        <Pressable style={[...styles.btn_wrap, joinDisabled && MainStyle.o_06]} disabled={joinDisabled}\n                   onPress={handleJoinButtonClick}>\n          <P color={colors.mainBackground} fw=\"600\" fs={22}>Join This Tournament</P>\n\n          <P color={colors.mainBackground} fw=\"500\" fs={18}>\n            ${entryfee ? entryfee / 100 : 0} Entry Fee\n          </P>\n        </Pressable>\n      )}\n\n      <TournamentRegistrationConfirmationModal\n        isOpen={!!tournamentRegistrationModalType}\n        onClose={() => setTournamentRegistrationModalType('')}\n        joinTournament={val => {\n          if (tournamentRegistrationModalType === 'CancelCashChallenge') {\n            enableAutoPlay(0);\n\n          } else if (tournamentRegistrationModalType === 'LeaveTournament') {\n            setTournamentRegistrationModalType('');\n            props.leave();\n\n          } else {\n            joinTournament(val);\n          }\n        }}\n        type={tournamentRegistrationModalType}\n        totalShots={totalshots}\n        entryFee={entryfee || 0}\n        helperText={tournamentRegistrationModalType !== 'CancelCashChallenge' && tournamentRegistrationModalType !== 'LeaveTournament' ? 'Note: Your Auto-Play will be stopped during a Tournament until you have completed your Tournament Shots or the Tournament Time has ended.' : ''}\n        entryChallengeFee={`${(autoPlayAmount || 0) / 100}`}\n      />\n\n      <AdditionalSurveyQuestions\n        visible={showAdditionalSurveyQuestions} onClose={() => setShowAdditionalSurveyQuestions(false)}\n        questionsList={questionsList} formik={formik}\n      />\n    </>\n  );\n};\n\nconst styles = {\n  btn_wrap: [\n    MainStyle.m_x_auto, MainStyle.w_350, MainStyle.h_63, MainStyle.a_i_c, MainStyle.b_r_70, MainStyle.bg_newGreen,\n    MainStyle.j_c_c, MainStyle.m_b_14\n  ],\n  leave_btn: [MainStyle.bg_transparent, MainStyle.b_w_1, MainStyle.b_c_white]\n};\n\nexport default React.memo(JoinTournamentButton);\n","import React, {useCallback, useContext, useEffect, useLayoutEffect, useRef, useState} from 'react';\nimport {\n  ActivityIndicator, FlatList, NativeScrollEvent, NativeSyntheticEvent, Platform, ScrollView, View\n} from 'react-native';\nimport MainStyle from \"../../../MainStyle\";\nimport NewHeader from \"../../components/NewHeader\";\nimport AsyncStorage from \"@react-native-async-storage/async-storage\";\nimport moment from \"moment\";\nimport {BrandName, LANDING_PAGE_URL, SESSION_EXPIRE_TIME} from \"../../constants\";\nimport {ListTournamentRequest, Tournament, TournamentState, User} from \"../../../generated/smg_service_pb\";\nimport {StoreContext} from \"../../components/StoreContextProvider\";\nimport TournamentsFilter from \"../../components/TournamentsFilter\";\nimport TournamentItem from \"../../components/TournamentItem\";\nimport {AntDesign} from '@expo/vector-icons';\nimport {colors} from \"../../assets/styles/colors\";\nimport BottomNavigation from \"../../components/BottomNavigation\";\nimport ServiceClient from \"../../utils/ServiceClient\";\nimport {CancelModalProps} from \"../../types\";\nimport {useIsFocused, useNavigation} from \"@react-navigation/native\";\nimport JoinTournamentButton from \"../../components/JoinTournamentButton\";\nimport ContinueAutoPlayModal from \"../../modals/ContinueAutoPlay\";\nimport P from \"../../lib/P\";\nimport Div from \"../../lib/Div\";\n\n\nconst TournamentAccess = ListTournamentRequest.TournamentAccess;\nconst Sort = ListTournamentRequest.Sort;\nconst ITEM_WEIGHT = 368;\nconst ITEM_MARGIN_HORIZONTAL = 5;\nconst TOTAL_ITEM_WEIGHT = ITEM_WEIGHT + ITEM_MARGIN_HORIZONTAL * 2;\n\nconst TournamentsListingScreen = () => {\n  const Context = useContext(StoreContext);\n  const {cancelModalConfig, user, session, extendedUserData} = Context;\n  const [filters, setFilters] = useState<TournamentState[]>([]);\n  const [sortBy, setSortBy] = useState(Sort.DEFAULT);\n  const [tournaments, setTournaments] = useState<Tournament.AsObject[]>([]);\n  const [activeIndex, setActiveIndex] = useState<number>(1);\n  const flatListRef = useRef<FlatList<Tournament.AsObject>>(null);\n  const navigation: any = useNavigation();\n  const isFocused = useIsFocused();\n  const [isLoading, setIsLoading] = useState(false);\n  const [continueAutoPlay, setContinueAutoPlay] = useState(false);\n  const [mineOnly, setMineOnly] = useState(false);\n\n  const leaveTournament = () => {\n    Context.setLoadingOverlay(true);\n\n    ServiceClient.leaveTournament(tournaments[activeIndex - 1].id).then(() => {\n      listTournaments();\n\n    }).catch(err => {\n      console.log('leaveTournament err', err);\n      Context.setLoadingOverlay(false);\n\n      Context.setCancelModalConfig({\n        visible: true, title: 'Error', subtitle: err.message, rightBtnText: 'OK',\n        onResume: () => Context.setCancelModalConfig({...cancelModalConfig, visible: false})\n      });\n    });\n  };\n\n  const scrollToItem = (index: number) => {\n    flatListRef.current?.scrollToIndex({animated: true, index: index});\n  };\n\n  const getItemLayout = (data: any, index: number) => (\n    {length: TOTAL_ITEM_WEIGHT, offset: TOTAL_ITEM_WEIGHT * index, index}\n  );\n\n  const onScroll = useCallback((event: NativeSyntheticEvent<NativeScrollEvent>) => {\n    const slideSize = event.nativeEvent.layoutMeasurement.width;\n    setActiveIndex(Math.ceil((event.nativeEvent.contentOffset.x + slideSize / 2) / 378));\n  }, []);\n\n  const listTournaments = () => {\n    ServiceClient.listTournaments(filters, sortBy, TournamentAccess.PUBLIC, mineOnly).then(res => {\n      Context.setLoadingOverlay(false);\n      setIsLoading(false);\n      setTournaments(res);\n      if (extendedUserData.hasactivetournament && !user?.autoPlayEnabled) setContinueAutoPlay(true);\n\n    }).catch(err => {\n      console.log('listTournaments err', err);\n      Context.setLoadingOverlay(false);\n      setIsLoading(false);\n\n      let conf: CancelModalProps = {\n        visible: true, title: 'ERROR', leftBtnText: 'OK', subtitle: err.message,\n        onExit: () => {\n          Context.setCancelModalConfig({...cancelModalConfig, visible: false});\n          if (err.code !== 20020042) navigation.navigate({name: 'account', params: {step: 0}});\n        }\n      };\n\n      Context.setCancelModalConfig(conf);\n    });\n  };\n\n  const getUser = () => {\n    Context.getUser().catch(err => {\n      console.log('getUser err', err);\n      setTimeout(() => {\n        getUser();\n      }, 5000);\n    });\n  };\n\n  useEffect(() => {\n    if (user?.kycStatus === 6) {\n      Context.setCancelModalConfig({\n        visible: true, title: 'ERROR', leftBtnText: 'Cancel', rightBtnText: 'Contact Support',\n        subtitle: `Your Know Your Customer information and registration information do not match. Your account with ${BrandName} has been locked. Please contact support to resolve this issue.`,\n        onResume: () => {\n          if (Platform.OS === 'web') {\n            window.open('https://smgames.atlassian.net/servicedesk/customer/portal/3', '_self');\n          }\n        },\n        onClose: () => {\n          Context.setCancelModalConfig({...cancelModalConfig, visible: false});\n          navigation.navigate({name: 'account', params: {step: 0}});\n        }\n      });\n    }\n  }, [user?.kycStatus]);\n\n  useEffect(() => {\n    if (!user || !isFocused) return;\n\n    listTournaments();\n\n    const time = setTimeout(() => {\n      getUser();\n    }, 1000 * 10);\n\n    return () => {\n      clearTimeout(time);\n    };\n  }, [user, isFocused, filters, sortBy, mineOnly]);\n\n  useEffect(() => {\n    if (!isFocused) return;\n\n    const time = setInterval(() => {\n      (async () => {\n        const lastActiveTime = await AsyncStorage.getItem('lastActiveTime');\n\n        if (lastActiveTime && moment().diff(moment(lastActiveTime), 'minutes') > SESSION_EXPIRE_TIME) {\n          Context.logout().then(() => {\n            if (Platform.OS === 'web') window.open(LANDING_PAGE_URL, '_self');\n            setIsLoading(false);\n          });\n        }\n      })();\n    }, 1000 * 60);\n\n    return () => {\n      clearInterval(time);\n    };\n  }, [isFocused]);\n\n  useLayoutEffect(() => {\n    setIsLoading(true);\n\n    if (!session || !user) {\n      (async () => {\n        const time = await AsyncStorage.getItem('lastActiveTime');\n\n        if (time && moment().diff(moment(time), 'minutes') > SESSION_EXPIRE_TIME) {\n          Context.logout().then(() => {\n            if (Platform.OS === 'web') window.open(LANDING_PAGE_URL, '_self');\n          });\n\n        } else {\n          const val = await AsyncStorage.getItem('session');\n          let curUser: User.AsObject | undefined;\n\n          if (val) {\n            const Session = JSON.parse(val);\n            Context.setSession(Session);\n\n            try {\n              curUser = await Context.getUser(Session);\n\n            } catch (e: any) {\n              Context.setCancelModalConfig({\n                visible: true, title: 'Error', subtitle: e?.message || 'Error', rightBtnText: 'OK',\n                onResume: () => Context.setCancelModalConfig({...cancelModalConfig, visible: false})\n              });\n            }\n          }\n\n          if (!val || !curUser || !curUser.userId) {\n            Context.logout().then(() => {\n              if (Platform.OS === 'web') window.open(LANDING_PAGE_URL, '_self');\n            });\n\n          } else console.log('user', curUser);\n        }\n      })();\n    }\n  }, []);\n\n  return (\n    <>\n      <NewHeader pb={11}/>\n\n      <ScrollView contentContainerStyle={MainStyle.flex1}>\n        <Div row justifyContent=\"space-between\" alignItems=\"flex-end\" mb={16}>\n          <P fw=\"500\" fs={30} ml={21} lh={24}>Tournaments</P>\n          <P color={colors.newGreenText} tt=\"uppercase\" fs={14} fw=\"700\" mr={20}\n             onPress={() => navigation.reset({index: 0, routes: [{name: 'AllTournaments'}]})}>\n            See All Tournaments\n          </P>\n        </Div>\n\n        <TournamentsFilter\n          filters={filters} filtersChange={val => setFilters(val)} mb={17}\n          sortBy={sortBy} sortChange={val => setSortBy(val)}\n          mineOnly={mineOnly} mineOnlyChange={val => setMineOnly(val)}\n        />\n\n        {isLoading ? (\n          <Div flex={1} justifyContent=\"center\" alignItems=\"center\">\n            <ActivityIndicator color={colors.white} size=\"large\"/>\n          </Div>\n        ) : !!tournaments.length ? (\n          <>\n            {tournaments.length > 1 ? (\n              <View>\n                <FlatList\n                  ref={flatListRef} data={tournaments} keyExtractor={(item) => item.id.toString()}\n                  renderItem={({item}) => (\n                    <TournamentItem\n                      w={ITEM_WEIGHT} mx={ITEM_MARGIN_HORIZONTAL} item={item} getUser={getUser}\n                      extendedUserData={extendedUserData}\n                    />\n                  )}\n                  horizontal pagingEnabled showsHorizontalScrollIndicator={false} snapToAlignment=\"center\"\n                  nativeID=\"tournament_list\" onScroll={onScroll} getItemLayout={getItemLayout}\n                  style={[MainStyle.m_x_auto, MainStyle.full_w, MainStyle.max_w_430, MainStyle.m_b_14]}\n                />\n              </View>\n            ) : (\n              <TournamentItem\n                w={ITEM_WEIGHT} mx=\"auto\" item={tournaments[0]} mb={14} getUser={getUser}\n                extendedUserData={extendedUserData}\n              />\n            )}\n\n            <Div row alignItems=\"center\" justifyContent=\"center\" pb={33}>\n              {activeIndex !== 1 ? (\n                <AntDesign name=\"left\" size={20} color={colors.caret} onPress={() => scrollToItem(activeIndex - 2)}/>\n              ) : <Div w={20}/>}\n\n              <P fw=\"700\" fs={18} ml={36}>{activeIndex}</P>\n\n              <P fs={14} mr={32}>&nbsp;/ {tournaments.length}</P>\n\n              {activeIndex !== tournaments.length ? (\n                <AntDesign name=\"right\" size={20} color={colors.caret} onPress={() => scrollToItem(activeIndex)}/>\n              ) : <Div w={20}/>}\n            </Div>\n          </>\n        ) : (\n          <Div flex={1} justifyContent=\"center\" alignItems=\"center\">\n            <P fw=\"500\" fs={32} mb={14} ml={21}>Nothing found</P>\n          </Div>\n        )}\n      </ScrollView>\n\n      {(!isLoading && !!tournaments.length) && (\n        <>\n          <JoinTournamentButton\n            onReload={listTournaments} leave={leaveTournament} tournament={tournaments[activeIndex - 1]}\n          />\n\n          <P color={colors.gray} ta=\"center\" fs={17}>Malfunction voids all pays and plays</P>\n          <Div h={19}/>\n        </>\n      )}\n\n      <BottomNavigation page=\"tournaments\"/>\n\n      <ContinueAutoPlayModal isOpen={continueAutoPlay} onClose={() => setContinueAutoPlay(false)} onReload={getUser}/>\n    </>\n  );\n};\n\nexport default TournamentsListingScreen;\n","import React from \"react\";\nimport {Text, View, Pressable, StyleProp, ViewStyle} from \"react-native\";\nimport MainStyle from \"../../MainStyle\";\nimport {AntDesign} from \"@expo/vector-icons\";\nimport {colors} from \"../assets/styles/colors\";\n\ntype Props = {\n  children?: React.ReactNode, w?: string | number, onPress?: () => void, active?: boolean, dir?: string,\n  style?: StyleProp<ViewStyle>\n};\n\nconst Cell = (props: Props) => {\n  const {children, w, active, dir, style} = props;\n\n  return (\n    <Pressable onPress={props.onPress} style={[MainStyle.row, MainStyle.j_c_c, MainStyle.a_i_e, style, {width: w}]}>\n      <Text style={[...styles.row_header, active && MainStyle.c_new_green_text]}>{children}</Text>\n      <View style={[MainStyle.m_l_2, MainStyle.m_b_1]}>\n        <AntDesign\n          name=\"caretup\"\n          size={4}\n          color={active && dir === 'ascending' ? colors.newGreenText : 'white'}\n          style={MainStyle.l_h_3_5}\n        />\n        <AntDesign\n          name=\"caretdown\"\n          size={4}\n          color={active && dir !== 'ascending' ? colors.newGreenText : 'white'}\n          style={MainStyle.l_h_3_5}\n        />\n      </View>\n    </Pressable>\n  );\n};\n\nconst styles = {\n  row_header: [MainStyle.c_white, MainStyle.Barlow500, MainStyle.f_s_12, MainStyle.l_h_12]\n};\n\nexport default React.memo(Cell);\n","import React, {useState} from \"react\";\nimport {ScrollView} from \"react-native\";\nimport {TournamentPlayerBet, TournamentPlayerDetails} from \"../../generated/smg_service_pb\";\nimport MainStyle from \"../../MainStyle\";\nimport Cell from \"./RegisteredPlayersStatusHeaderCell\";\nimport {formatCurrency} from \"../utils\";\nimport Div from \"../lib/Div\";\nimport {colors} from \"../assets/styles/colors\";\nimport P from \"../lib/P\";\n\ntype Props = {\n  mx?: string | number, maxH?: string | number, item: TournamentPlayerDetails.AsObject[], w?: string | number,\n  b_b_r?: number, playerId?: number\n};\n\nconst RegisteredPlayersStatus = (props: Props) => {\n  const {mx, maxH, item, w, b_b_r, playerId} = props;\n  const [sortConfig, setSortConfig] = useState({key: 'rank', direction: 'ascending'});\n\n  const requestSort = (key: string) => () => {\n    let direction = 'ascending';\n    if (sortConfig.key === key && sortConfig.direction === 'ascending') direction = 'descending';\n    setSortConfig({key, direction});\n  };\n\n  const getStatusText = (state: TournamentPlayerDetails.State) => {\n    const DetailsState = TournamentPlayerDetails.State;\n\n    if (state === DetailsState.PENDING) return 'PENDING';\n    else if (state === DetailsState.PLAYING) return 'Playing';\n    else if (state === DetailsState.FINISHED) return 'Complete';\n    else return '-';\n  };\n\n  const compareNumbers = (a: TournamentPlayerDetails.AsObject, b: TournamentPlayerDetails.AsObject) => {\n    if (sortConfig.key === 'rank' || sortConfig.key === 'points') {\n      if (a.score > b.score) return sortConfig.direction === 'ascending' ? -1 : 1;\n      if (a.score < b.score) return sortConfig.direction === 'ascending' ? 1 : -1;\n\n    } else if (sortConfig.key === 'name') {\n      if (a.playerName > b.playerName) return sortConfig.direction === 'ascending' ? -1 : 1;\n      if (a.playerName < b.playerName) return sortConfig.direction === 'ascending' ? 1 : -1;\n\n    } else if (sortConfig.key === 'status') {\n      if (a.state > b.state) return sortConfig.direction === 'ascending' ? -1 : 1;\n      if (a.state < b.state) return sortConfig.direction === 'ascending' ? 1 : -1;\n\n    } else if (sortConfig.key === 'shots') {\n      const BetState = TournamentPlayerBet.State;\n\n      const a_shots = a.betsList.filter(bet => bet.state === BetState.FINISHED).length;\n      const b_shots = b.betsList.filter(bet => bet.state === BetState.FINISHED).length;\n\n      if (a_shots > b_shots) return sortConfig.direction === 'ascending' ? -1 : 1;\n      if (a_shots < b_shots) return sortConfig.direction === 'ascending' ? 1 : -1;\n\n    } else if (sortConfig.key === 'payout') {\n      if (a.prize > b.prize) return sortConfig.direction === 'ascending' ? -1 : 1;\n      if (a.prize < b.prize) return sortConfig.direction === 'ascending' ? 1 : -1;\n    }\n\n    return 0;\n  };\n\n  return (\n    <Div rounded={20} borderWidth={1} borderColor={colors.settings_border} bg={colors.settings_bg} pt={17} pb={20}\n         px={12} mx={mx} maxH={maxH} w={w} roundedBottomLeft={b_b_r} roundedBottomRight={b_b_r}>\n      <Div row mb={9}>\n        <Cell w={32} onPress={requestSort('rank')} active={sortConfig.key === 'rank'} dir={sortConfig.direction}>\n          Rank\n        </Cell>\n\n        <Cell style={MainStyle.flex1} onPress={requestSort('name')} active={sortConfig.key === 'name'}\n              dir={sortConfig.direction}>\n          Name\n        </Cell>\n\n        <Cell w={80} onPress={requestSort('status')} active={sortConfig.key === 'status'} dir={sortConfig.direction}>\n          Status\n        </Cell>\n\n        <Cell w={46} onPress={requestSort('points')} active={sortConfig.key === 'points'} dir={sortConfig.direction}>\n          Points\n        </Cell>\n\n        <Cell w={46} onPress={requestSort('shots')} active={sortConfig.key === 'shots'} dir={sortConfig.direction}>\n          Shots\n        </Cell>\n\n        <Cell w={56} onPress={requestSort('payout')} active={sortConfig.key === 'payout'} dir={sortConfig.direction}>\n          Payout\n        </Cell>\n      </Div>\n\n      <ScrollView>\n        {item.sort(compareNumbers).map(el => {\n          const isYou = el.playerId === playerId;\n\n          return (\n            <Div row rounded={2} bg={isYou ? colors.selectPurple : ''} key={el.playerId}>\n              <P ta=\"center\" fw=\"500\" lh={22} tt=\"uppercase\" color={isYou ? colors.newGreenText : ''} w={32}>\n                {el.rank}\n              </P>\n\n              <P ta=\"center\" fw=\"500\" lh={22} tt=\"uppercase\" color={isYou ? colors.newGreenText : ''} flex={1}\n                 numberOfLines={1}>\n                {el.playerName || '-'}\n              </P>\n\n              <P ta=\"center\" fw=\"500\" lh={22} tt=\"uppercase\" color={isYou ? colors.newGreenText : ''} fs={15} w={80}>\n                {getStatusText(el.state)}\n              </P>\n\n              <P ta=\"center\" fw=\"500\" lh={22} tt=\"uppercase\" color={isYou ? colors.newGreenText : ''} w={46}>\n                {el.score}\n              </P>\n\n              <P ta=\"center\" fw=\"500\" lh={22} tt=\"uppercase\" color={isYou ? colors.newGreenText : ''} w={46}>\n                {el.betsList.filter(bet => bet.state === TournamentPlayerBet.State.FINISHED && bet.resolved).length}\n              </P>\n\n              <P ta=\"center\" fw=\"500\" lh={22} tt=\"uppercase\" color={isYou ? colors.newGreenText : ''} w={56}>\n                {el.prize ? formatCurrency(el.prize / 100) : '$0'}\n              </P>\n            </Div>\n          );\n        })}\n      </ScrollView>\n    </Div>\n  );\n};\n\nexport default React.memo(RegisteredPlayersStatus);\n","import React, {useState} from 'react';\nimport {Modal, Platform, ScrollView, Share, Text, View} from 'react-native';\nimport Button from '../../../../components/Button';\nimport Div from '../../../../lib/Div';\nimport MainStyle from '../../../../../MainStyle';\nimport {colors} from '../../../../assets/styles/colors';\nimport * as Clipboard from \"expo-clipboard\";\n\ntype Props = { code: string, onClose: () => void };\n\nconst YourFriendChallengeCodeForm = (props: Props) => {\n  const {code} = props;\n  const [active, setActive] = useState(false);\n\n  const handleShare = async () => {\n    try {\n      const message = \"I’m inviting you to a golf challenge!\\n\\n\";\n      const link = Platform.OS === 'web' ? `${window.location.origin}/play-with-friends?code=${code}` : 'https://short.link/to/tournament';\n      const fullMessage = `${message}Click on this link to join: ${link}`;\n\n      setActive(true);\n      await Clipboard.setStringAsync(fullMessage);\n      await Share.share({message: fullMessage});\n\n    } catch (error) {\n      console.error(\"Error sharing:\", error);\n    }\n  };\n\n  return (\n    <Modal animationType=\"fade\" transparent visible={!!code} statusBarTranslucent={false} hardwareAccelerated={false}\n           onRequestClose={props.onClose}>\n      <View style={[MainStyle.fix_gradient_and_modal_error_in_landscape, MainStyle.flex1, MainStyle.bg_filter_modal]}>\n        <ScrollView contentContainerStyle={MainStyle.flex1}>\n          <View style={[MainStyle.min_h_full, MainStyle.a_i_c, MainStyle.j_c_c]}>\n            <Div w={390} rounded={20} borderWidth={1} borderColor={colors.settings_border} bg={colors.settings_bg}\n                 py={43} alignItems=\"center\">\n              <Text style={styles.title}>Challenge Code</Text>\n\n              <Text style={[MainStyle.c_white, MainStyle.Barlow500, MainStyle.f_s_22, MainStyle.m_b_14]}>\n                Your Friend Challenge Code is:\n              </Text>\n\n              <Text style={styles.subtitle}>{code}</Text>\n\n              <Button text=\"Let’s Go!\" w={309} fontFamily=\"Barlow-SemiBold\" mb={13} onPress={props.onClose}/>\n\n              <Button\n                text=\"Share\" w={309} fontFamily=\"Barlow-SemiBold\" mb={13} onPress={handleShare}\n                bg={active ? 'transparent' : ''} borderWidth={active ? 1 : 0} borderColor={active ? 'white' : ''}\n                color={active ? 'white' : ''}\n              />\n\n              <Button\n                onPress={props.onClose} w={309} fontFamily=\"Barlow-SemiBold\" text=\"Cancel\" bg=\"transparent\"\n                borderWidth={1} borderColor=\"white\" color=\"white\"\n              />\n            </Div>\n          </View>\n        </ScrollView>\n      </View>\n    </Modal>\n  );\n};\n\nconst styles = {\n  title: [MainStyle.c_white, MainStyle.Barlow500, MainStyle.f_s_26, MainStyle.l_h_26, MainStyle.m_b_38],\n  subtitle: [\n    MainStyle.w_240, MainStyle.l_h_80, MainStyle.b_r_20, MainStyle.b_c_settings_border, MainStyle.b_w_1,\n    MainStyle.c_white, MainStyle.Barlow500, MainStyle.f_s_32, MainStyle.m_b_14, MainStyle.t_a_c, MainStyle.m_b_40\n  ]\n};\n\nexport default React.memo(YourFriendChallengeCodeForm);\n","import React, {useCallback, useContext, useEffect, useLayoutEffect, useRef, useState} from \"react\";\nimport NewHeader from \"../components/NewHeader\";\nimport MainStyle from \"../../MainStyle\";\nimport {\n  FlatList, Image, NativeScrollEvent, NativeSyntheticEvent, Platform, Pressable, ScrollView, View\n} from \"react-native\";\nimport AsyncStorage from \"@react-native-async-storage/async-storage\";\nimport moment from \"moment\";\nimport {BrandName, LANDING_PAGE_URL, localFormatter, SESSION_EXPIRE_TIME} from \"../constants\";\nimport {\n  ListTournamentRequest, Tournament, TournamentPlayerBet, TournamentPlayerDetails, TournamentState, User\n} from \"../../generated/smg_service_pb\";\nimport {StoreContext} from \"../components/StoreContextProvider\";\nimport {useIsFocused, useNavigation, useRoute} from \"@react-navigation/native\";\nimport ServiceClient from \"../utils/ServiceClient\";\nimport {CancelModalProps} from \"../types\";\nimport TournamentHeader from \"../components/TournamentHeader\";\nimport PrizePool from \"../components/PrizePool\";\nimport BottomNavigation from \"../components/BottomNavigation\";\nimport RegisteredPlayersStatus from \"../components/RegisteredPlayersStatus\";\nimport JoinTournamentButton from \"../components/JoinTournamentButton\";\nimport ContinueAutoPlayModal from \"../modals/ContinueAutoPlay\";\nimport {tournamentStatusStyle} from \"../utils\";\nimport Div from \"../lib/Div\";\nimport YourFriendChallengeCodeForm from \"./User/friends/components/YourFriendChallengeCodeForm\";\nimport TournamentAccess = ListTournamentRequest.TournamentAccess;\nimport Sort = ListTournamentRequest.Sort;\nimport P from \"../lib/P\";\nimport {colors} from \"../assets/styles/colors\";\n\nconst ITEM_WEIGHT = 387;\n\nconst TournamentDetails = () => {\n  const Context = useContext(StoreContext);\n  const {cancelModalConfig, user, session, extendedUserData} = Context;\n  const isFocused = useIsFocused();\n  const [tournament, setTournament] = useState<Tournament.AsObject>();\n  const route = useRoute();\n  const params: any = route?.params;\n  const id = params?.id;\n  const isPrivateTournament = typeof params?.isPrivateTournament === 'string' ? params?.isPrivateTournament === 'true' : !!params?.isPrivateTournament;\n  const showPopup = typeof params?.showPopup === 'string' ? params?.showPopup === 'true' : !!params?.showPopup;\n  const navigation: any = useNavigation();\n  const [activeTab, setActiveTab] = useState(1);\n  const flatListRef = useRef<FlatList<number>>(null);\n  const [continueAutoPlay, setContinueAutoPlay] = useState(false);\n  const registered = !!tournament?.currentplayerdetails && tournament.currentplayerdetails.state !== TournamentPlayerDetails.State.FINISHED;\n  const statusStyle = tournamentStatusStyle(tournament?.state);\n  const currentNumberOfShots = tournament?.currentplayerdetails?.betsList.filter(bet => bet.state === TournamentPlayerBet.State.FINISHED && bet.resolved).length || 0;\n  const [showInviteCode, setShowInviteCode] = useState('');\n  const [completedPrivateTournaments, setCompletedPrivateTournaments] = useState(10);\n\n  const getCompletedPrivateTournaments = () => {\n    const states = [TournamentState.FINISHED, TournamentState.CANCELLED];\n\n    ServiceClient.listTournaments(states, Sort.FINISH_TIME, TournamentAccess.PRIVATE, true).then(res => {\n      setCompletedPrivateTournaments(res.length);\n\n    }).catch(err => {\n      console.log('listTournaments err', err);\n    });\n  };\n\n  const leaveTournament = () => {\n    if (!tournament) return;\n    Context.setLoadingOverlay(true);\n\n    ServiceClient.leaveTournament(tournament.id).then(() => {\n      getTournament();\n\n    }).catch(err => {\n      console.log('leaveTournament err', err);\n      Context.setLoadingOverlay(false);\n\n      Context.setCancelModalConfig({\n        visible: true, title: 'Error', subtitle: err.message, rightBtnText: 'OK',\n        onResume: () => Context.setCancelModalConfig({...cancelModalConfig, visible: false})\n      });\n    });\n  };\n\n  const scrollToItem = (index: number) => {\n    flatListRef.current?.scrollToIndex({animated: true, index: index});\n  };\n\n  const onScroll = useCallback((event: NativeSyntheticEvent<NativeScrollEvent>) => {\n    const slideSize = event.nativeEvent.layoutMeasurement.width;\n    setActiveTab(Math.ceil((event.nativeEvent.contentOffset.x + slideSize / 2) / 378));\n  }, []);\n\n  const getItemLayout = (data: any, index: number) => (\n    {length: ITEM_WEIGHT, offset: ITEM_WEIGHT * index, index}\n  );\n\n  const renderItem = ({item}: any) => {\n    if (!tournament) return <></>;\n    else {\n      return (\n        <View>\n          <View style={MainStyle.row}>\n            <View style={item === 1 ? [MainStyle.h_4, MainStyle.flex1, MainStyle.bg_filter_chip] : MainStyle.flex1}/>\n            <View style={item === 2 ? [MainStyle.h_4, MainStyle.flex1, MainStyle.bg_filter_chip] : MainStyle.flex1}/>\n          </View>\n\n          <View style={[MainStyle.h_1, MainStyle.m_b_14, MainStyle.bg_darkText]}/>\n\n          {item === 1 ? (\n            <PrizePool\n              w={ITEM_WEIGHT} maxH={248} b_b_r={0} state={tournament.state} prizePoolList={tournament.prizepoolList}\n              playerDetailsList={tournament.playerdetailsList}\n              guaranteedPricePool={tournament.minimumguaranteedpricepool}\n            />\n          ) : (\n            <RegisteredPlayersStatus\n              w={ITEM_WEIGHT} maxH={248} b_b_r={0} item={tournament?.playerdetailsList}\n              playerId={tournament.currentplayerdetails?.playerId}\n            />\n          )}\n        </View>\n      );\n    }\n  };\n\n  const getTournament = () => {\n    ServiceClient.getTournament(id).then(res => {\n      Context.setLoadingOverlay(false);\n      setTournament(res);\n      if (extendedUserData.hasactivetournament && extendedUserData.tournamentAutoPlayAmount === -3) setContinueAutoPlay(true);\n\n    }).catch(err => {\n      console.log('getTournament err', err);\n      Context.setLoadingOverlay(false);\n\n      let conf: CancelModalProps = {\n        visible: true, title: 'ERROR', leftBtnText: 'OK', subtitle: err.message,\n        onExit: () => {\n          Context.setCancelModalConfig({...cancelModalConfig, visible: false});\n          navigation.navigate({name: 'account', params: {step: 1}});\n        }\n      };\n\n      Context.setCancelModalConfig(conf);\n    });\n  };\n\n  const getUser = () => {\n    Context.getUser().catch(err => {\n      console.log('getUser err', err);\n      setTimeout(() => {\n        getUser();\n      }, 5000);\n    });\n  };\n\n  useEffect(() => {\n    if (isFocused) getCompletedPrivateTournaments();\n  }, [isFocused, user?.userId]);\n\n  useEffect(() => {\n    if (user?.kycStatus === 6) {\n      Context.setCancelModalConfig({\n        visible: true, title: 'ERROR', leftBtnText: 'Cancel', rightBtnText: 'Contact Support',\n        subtitle: `Your Know Your Customer information and registration information do not match. Your account with ${BrandName} has been locked. Please contact support to resolve this issue.`,\n        onResume: () => {\n          if (Platform.OS === 'web') {\n            window.open('https://smgames.atlassian.net/servicedesk/customer/portal/3', '_self');\n          }\n        },\n        onClose: () => {\n          Context.setCancelModalConfig({...cancelModalConfig, visible: false});\n          navigation.navigate({name: 'account', params: {step: 0}});\n        }\n      });\n    }\n  }, [user?.kycStatus]);\n\n  useEffect(() => {\n    if (!user || !isFocused) return;\n\n    getTournament();\n\n    const time = setTimeout(() => {\n      getUser();\n    }, 1000 * 10);\n\n    return () => {\n      clearTimeout(time);\n    };\n  }, [user, isFocused]);\n\n  useEffect(() => {\n    if (!isFocused) return;\n\n    const time = setInterval(() => {\n      (async () => {\n        const lastActiveTime = await AsyncStorage.getItem('lastActiveTime');\n\n        if (lastActiveTime && moment().diff(moment(lastActiveTime), 'minutes') > SESSION_EXPIRE_TIME) {\n          Context.logout().then(() => {\n            if (Platform.OS === 'web') window.open(LANDING_PAGE_URL, '_self');\n            Context.setLoadingOverlay(false);\n          });\n        }\n      })();\n    }, 1000 * 60);\n\n    return () => {\n      clearInterval(time);\n    };\n  }, [isFocused]);\n\n  useLayoutEffect(() => {\n    Context.setLoadingOverlay(true);\n\n    if (!session || !user) {\n      (async () => {\n        const time = await AsyncStorage.getItem('lastActiveTime');\n\n        if (time && moment().diff(moment(time), 'minutes') > SESSION_EXPIRE_TIME) {\n          Context.logout().then(() => {\n            if (Platform.OS === 'web') window.open(LANDING_PAGE_URL, '_self');\n            Context.setLoadingOverlay(false);\n          });\n\n        } else {\n          const val = await AsyncStorage.getItem('session');\n          let curUser: User.AsObject | undefined;\n\n          if (val) {\n            const Session = JSON.parse(val);\n            Context.setSession(Session);\n\n            try {\n              curUser = await Context.getUser(Session);\n\n            } catch (e: any) {\n              Context.setCancelModalConfig({\n                visible: true, title: 'Error', subtitle: e?.message || 'Error', rightBtnText: 'OK',\n                onResume: () => Context.setCancelModalConfig({...cancelModalConfig, visible: false})\n              });\n            }\n          }\n\n          if (!val || !curUser || !curUser.userId) {\n            Context.logout().then(() => {\n              if (Platform.OS === 'web') window.open(LANDING_PAGE_URL, '_self');\n              Context.setLoadingOverlay(false);\n            });\n\n          } else console.log('user', curUser);\n        }\n      })();\n    }\n  }, []);\n\n  return (\n    <>\n      <NewHeader/>\n\n      <ScrollView>\n        <P fw=\"500\" fs={32} ml={21}>{isPrivateTournament ? 'Play With Friends' : 'Tournaments'}</P>\n\n        <Div row justifyContent=\"space-between\" mb={10} alignItems=\"center\">\n          <P fw=\"500\" fs={22} ml={21}>\n            / {isPrivateTournament ? 'Friend Challenge' : 'Tournament'} Details\n          </P>\n\n          {!isPrivateTournament ? (\n            <Pressable onPress={() => navigation.navigate(isPrivateTournament ? 'FriendsScreen' : 'tournaments')}\n                       style={styles.link}>\n              <P color={colors.newGreenText} fw=\"700\" fs={14} tt=\"uppercase\" ta=\"center\">\n                {isPrivateTournament ? 'Back' : '< Back to List'}\n              </P>\n            </Pressable>\n          ) : tournament?.tournamentCode ? (\n            <Pressable onPress={() => setShowInviteCode(tournament.tournamentCode)} style={styles.link}>\n              <P color={colors.newGreenText} fw=\"700\" fs={14} tt=\"uppercase\" ta=\"center\">Invite Code</P>\n            </Pressable>\n          ) : null}\n        </Div>\n\n        <Div h={1} bg={colors.divider_bg} mx={23} mb={18}/>\n\n        {tournament && (\n          <>\n            <P ta=\"center\" fw=\"500\" fs={24} mb={7} numberOfLines={1}>{tournament.name}</P>\n            <P color={colors.id_text} ta=\"center\" fw=\"500\" fs={20} lh={20} mb={5}>#{tournament.id}</P>\n\n            {!!tournament.sponsorLandscapeLogo ? (\n              <Div h={72} w={120} mb={8} bg=\"white\" rounded={6} mx=\"auto\" overflow=\"hidden\">\n                <Image\n                  source={{uri: tournament.sponsorLandscapeLogo}} resizeMode=\"contain\"\n                  style={[MainStyle.absolute, MainStyle.h_271, MainStyle.t__99, MainStyle.w_271, MainStyle.l__75]}\n                />\n              </Div>\n            ) : !!tournament.sponsorlogo ? (\n              <Div h={72} w={72} mb={8} bg=\"white\" rounded={6} mx=\"auto\" overflow=\"hidden\">\n                <Image\n                  source={{uri: tournament.sponsorlogo}} resizeMode=\"contain\"\n                  style={[MainStyle.absolute, MainStyle.h_234, MainStyle.t__81, MainStyle.w_184, MainStyle.l__56]}\n                />\n              </Div>\n            ) : null}\n\n            <Div mx=\"auto\" w={367}>\n              <Div row mx={12} alignItems=\"center\" mb={12}>\n                <Div column flex={1}>\n                  <Div row mb={3} justifyContent=\"space-between\">\n                    <P fw=\"500\" fs={14} lh={17} tt=\"uppercase\">Start</P>\n                    <P fw=\"700\" lh={17}>\n                      {localFormatter.format(moment.unix(tournament.entrybegindate).toDate())}\n                    </P>\n                  </Div>\n\n                  <Div row justifyContent=\"space-between\">\n                    <P fw=\"500\" fs={14} lh={17} tt=\"uppercase\">End</P>\n                    <P fw=\"700\" lh={17}>\n                      {localFormatter.format(moment.unix(tournament.entryenddate).toDate())}\n                    </P>\n                  </Div>\n                </Div>\n\n                <P w={82} lh={36} ta=\"center\" bw={1} ml={13} fw=\"700\" fs={14} tt=\"uppercase\"\n                   borderColor={statusStyle.color}>\n                  {statusStyle.text}\n                </P>\n              </Div>\n            </Div>\n\n            {!registered && (\n              <TournamentHeader\n                mb={24} item={tournament} onReload={getUser} isPrivateTournament={isPrivateTournament}\n                showPopup={showPopup}\n              />\n            )}\n\n            <Div w={ITEM_WEIGHT} mx=\"auto\">\n              <Div row mb={1}>\n                <P color={activeTab === 1 ? 'white' : colors.state_completed} flex={1} ta=\"center\" fw=\"500\"\n                   onPress={() => scrollToItem(0)}>\n                  {`Prize\\nPool`}\n                </P>\n                <P color={activeTab === 2 ? 'white' : colors.state_completed} flex={1} ta=\"center\" fw=\"500\"\n                   onPress={() => scrollToItem(1)}>\n                  {`Registered\\nPlayers + Status`}\n                </P>\n              </Div>\n\n              <FlatList\n                ref={flatListRef} data={[1, 2]} initialScrollIndex={1} renderItem={renderItem} horizontal\n                keyExtractor={(item) => item.toString()} pagingEnabled onScroll={onScroll}\n                showsHorizontalScrollIndicator={false} style={MainStyle.m_b_12} getItemLayout={getItemLayout}\n              />\n\n              {registered && (\n                <TournamentHeader\n                  mb={24} item={tournament} onReload={getUser} isPrivateTournament={isPrivateTournament}\n                  showPopup={showPopup}\n                />\n              )}\n\n              <Div h={1} bg={colors.divider_bg} mb={10}/>\n            </Div>\n\n            {(!isPrivateTournament || (isPrivateTournament && currentNumberOfShots === tournament.totalshots)) && (\n              <Pressable onPress={() => navigation.navigate(isPrivateTournament ? 'FriendsScreen' : 'tournaments')}\n                         style={MainStyle.m_b_13}>\n                <P color={colors.newGreenText} fw=\"700\" fs={14} tt=\"uppercase\" ta=\"center\" lh={26}>\n                  {isPrivateTournament ? 'Back' : '< Back to List'}\n                </P>\n              </Pressable>\n            )}\n\n            <JoinTournamentButton\n              tournament={tournament} onReload={getTournament} leave={leaveTournament}\n              hideLeaveButton={isPrivateTournament}\n            />\n\n            <P color={colors.gray} ta=\"center\" fs={17} mb={10}>Malfunction voids all pays and plays</P>\n\n            {/*{(isPrivateTournament && completedPrivateTournaments <= 3) && (*/}\n            {/*  <P color={colors.gray} ta=\"center\" fs={17} mb={10} px={15}>*/}\n            {/*    *10% admin fee to be taken from total entries, waived for the first 3x Friend Challenges you start*/}\n            {/*  </P>*/}\n            {/*)}*/}\n          </>\n        )}\n      </ScrollView>\n\n      <ContinueAutoPlayModal isOpen={continueAutoPlay} onClose={() => setContinueAutoPlay(false)} onReload={getUser}/>\n\n      <YourFriendChallengeCodeForm code={showInviteCode} onClose={() => setShowInviteCode('')}/>\n\n      <BottomNavigation page={isPrivateTournament ? 'FriendsScreen' : 'tournaments'}/>\n    </>\n  );\n};\n\nconst styles = {\n  link: [MainStyle.m_r_24, MainStyle.j_c_c]\n};\n\nexport default React.memo(TournamentDetails);\n","import React from 'react';\nimport Input from '../../../../../../components/Input';\nimport PhoneInput from \"../../../../../../components/PhoneInput\";\nimport Handedness from \"../../../../../../components/Handedness\";\nimport {FormikProps} from \"formik\";\nimport {registerUserPayloadType} from \"../../../../../../types\";\nimport DateTimePicker from \"../../../../../../components/DateTimePicker/DateTimePicker\";\nimport {getFieldError} from \"../../../../../../utils\";\n\ntype EmailProps = { formik: FormikProps<registerUserPayloadType> };\nexport const Email = (props: EmailProps) => {\n  const {formik} = props;\n\n  return (\n    <Input\n      placeholder=\"Enter Text Here\" type=\"email-address\" label=\"EMAIL ADDRESS *\" value={formik.values.email}\n      onChangeText={formik.handleChange('email')} onBlur={formik.handleBlur('email')}\n      error={getFieldError('email', formik)} onFocusScroll\n    />\n  );\n};\n\ntype PhoneProps = { formik: FormikProps<registerUserPayloadType> };\nexport const Phone = (props: PhoneProps) => {\n  const {formik} = props;\n\n  return (\n    <PhoneInput\n      w=\"100%\" placeholder=\"Phone Number\" label=\"PHONE NUMBER - MOBILE *\"\n      value={formik.values.phone} onChangeText={formik.handleChange('phone')}\n      onBlur={formik.handleBlur('phone')} error={getFieldError('phone', formik)}\n    />\n  );\n};\n\ntype NameProps = { formik: FormikProps<registerUserPayloadType> };\nexport const Name = (props: NameProps) => {\n  const {formik} = props;\n\n  return (\n    <>\n      <Input\n        placeholder=\"Enter Text Here\" label=\"PLAYER NAME (FOR SCREEN)\"\n        value={formik.values.username} onChangeText={formik.handleChange('username')}\n        onBlur={formik.handleBlur('username')} error={getFieldError('username', formik)}\n        onFocusScroll mb={12} textAlign=\"center\"\n      />\n\n      <Input\n        placeholder=\"Enter Text Here\" label=\"FIRST NAME\"\n        value={formik.values.firstname} onChangeText={formik.handleChange('firstname')}\n        onBlur={formik.handleBlur('firstname')} error={getFieldError('firstname', formik)}\n        onFocusScroll mb={12} textAlign=\"center\"\n      />\n\n      <Input\n        placeholder=\"Enter Text Here\" label=\"LAST NAME\"\n        value={formik.values.lastname} onChangeText={formik.handleChange('lastname')}\n        onBlur={formik.handleBlur('lastname')} error={getFieldError('lastname', formik)}\n        onFocusScroll mb={12} textAlign=\"center\"\n      />\n\n      <DateTimePicker formik={formik} mb=\"12px\" label=\"DATE OF BIRTH\"/>\n\n      <Handedness\n        error={getFieldError('handedness', formik)} value={formik.values.handedness}\n        onChange={val => formik.setFieldValue('handedness', val)} mb={12}\n      />\n    </>\n  );\n};\n","import React, {useContext, useEffect, useState} from 'react';\nimport {Pressable} from 'react-native';\nimport {Email, Name, Phone} from './SubSteps';\nimport {useFormik} from 'formik';\nimport * as Yup from 'yup';\nimport MainStyle from \"../../../../../../MainStyle\";\nimport Button from \"../../../../../components/Button\";\nimport {StoreContext} from \"../../../../../components/StoreContextProvider\";\nimport {phoneUtil, smgEnvironment} from \"../../../../../constants\";\nimport {profanity} from '@2toad/profanity';\nimport ServiceClient from \"../../../../../utils/ServiceClient\";\nimport OtpModal from \"../../../../../modals/OtpModal\";\nimport {useNavigation, useRoute} from \"@react-navigation/native\";\nimport {registerUserPayloadType} from \"../../../../../types\";\nimport {MaterialIcons} from \"@expo/vector-icons\";\nimport P from \"../../../../../lib/P\";\nimport Div from \"../../../../../lib/Div\";\nimport {colors} from \"../../../../../assets/styles/colors\";\nimport {Moment} from \"moment\";\n\nconst initialValues: registerUserPayloadType = {\n  email: '', smsCode: '', phone: '', username: '', handedness: '', handicap: 'N/A', dateOfBirth: null, firstname: '',\n  lastname: '', preferredOtpMethod: 1\n};\n\ntype Props = { goNext: () => void, onCancel: () => void };\n\nexport const ContactInfo = (props: Props) => {\n  const isTestEnv = smgEnvironment === 'test';\n  const [contactInfoStep, setContactInfoStep] = useState(1);\n  const formik = useFormik({\n    initialValues,\n    validationSchema: Yup.object({\n      email: Yup.string().email().required(), smsCode: Yup.string(), phone: Yup.string(), handicap: Yup.string(),\n      username: Yup.string().required('Player Name is a required field'),\n      dateOfBirth: Yup.mixed<Moment>().nullable().required(),\n      handedness: Yup.string().required('Handedness is a required field'), firstname: Yup.string().required(),\n      lastname: Yup.string().required(), preferredOtpMethod: Yup.number()\n    }),\n    onSubmit: (values) => {\n      if (contactInfoStep === 4) {\n        if (profanity.exists(values.username)) {\n          formik.setFieldError('username', 'The selected user name is not allowed. Please choose another username');\n\n        } else {\n          RegisterUser();\n        }\n      }\n    },\n    validate(values) {\n      if (isTestEnv && !values.handedness.length) {\n        return {handedness: 'Handedness is required'};\n      }\n    }\n  });\n  const Context = useContext(StoreContext);\n  const {cancelModalConfig} = Context;\n  const [phoneVerificationDialog, setPhoneVerificationDialog] = useState(false);\n  const route = useRoute();\n  const navigation: any = useNavigation();\n\n  const phoneVerificationHandler = (code?: string) => {\n    setPhoneVerificationDialog(false);\n\n    if (code) {\n      formik.setFieldValue('smsCode', code);\n      setContactInfoStep(4);\n      untouchedForm();\n    }\n  };\n\n  const RegisterUser = () => {\n    Context.setLoadingOverlay(true);\n\n    Context.registerUser(formik.values).then(() => {\n      Context.setLoadingOverlay(false);\n      props.goNext();\n\n    }).catch(err => {\n      Context.setLoadingOverlay(false);\n      console.log('registerUser error', err);\n\n      if (err && err.message) {\n        Context.setCancelModalConfig({\n          visible: true, subtitle: err.message, onExit: onResume, title: 'Error', leftBtnText: 'OK'\n        });\n      }\n    });\n  };\n\n  const untouchedForm = () => {\n    formik.setTouched({phone: false, username: false, firstname: false, lastname: false});\n  };\n\n  const requestOtpCode = () => {\n    Context.setLoadingOverlay(true);\n    const val = formik.values.preferredOtpMethod === 1 ? {phone: formik.values.phone} : {email: formik.values.email};\n\n    ServiceClient.requestOtpCode(val).then(() => {\n      Context.setLoadingOverlay(false);\n      setPhoneVerificationDialog(true);\n\n    }).catch(err => {\n      Context.setLoadingOverlay(false);\n      console.log('requestOtpCode err', err);\n\n      if (err && err.message) {\n        Context.setCancelModalConfig({\n          visible: true, subtitle: err.message, onExit: onResume, title: 'Error', leftBtnText: 'OK'\n        });\n      }\n    });\n  };\n\n  const next = () => {\n    formik.submitForm().then(async () => {\n      const {errors, values} = formik;\n\n      if (contactInfoStep === 1 && !errors.email) {\n        setContactInfoStep(2);\n        untouchedForm();\n\n      } else if (contactInfoStep === 2) {\n        if (formik.values.preferredOtpMethod === 1) setContactInfoStep(3);\n        else requestOtpCode();\n        untouchedForm();\n\n      } else if (contactInfoStep === 3 && !errors.phone) {\n        let isValid = false;\n\n        try {\n          isValid = phoneUtil.isValidNumber(phoneUtil.parseAndKeepRawInput(values.phone));\n\n        } catch (error) {\n          console.log('isValidNumber error', error);\n        }\n\n        if (isValid) {\n          if (formik.values.smsCode) {\n            setContactInfoStep(4);\n            untouchedForm();\n\n          } else {\n            requestOtpCode();\n          }\n\n        } else {\n          formik.setFieldError('phone', 'Invalid format');\n        }\n      }\n    });\n  };\n\n  const onResume = () => {\n    Context.setCancelModalConfig({...cancelModalConfig, visible: false});\n  };\n\n  const onCancel = () => {\n    if (contactInfoStep === 1) props.onCancel();\n    else setContactInfoStep(contactInfoStep - 1);\n  };\n\n  useEffect(() => {\n    formik.setFieldValue('smsCode', '');\n  }, [formik.values.phone]);\n\n  useEffect(() => {\n    (async () => {\n      const params: any = route.params;\n\n      if (params?.email) {\n        await formik.setFieldValue('email', params.email);\n\n      } else {\n        // set form to dirty\n        // we need this for showing an error message\n        // if the player tries to go to the next page without changing any field\n        await formik.setFieldValue('password', '1');\n        await formik.setFieldValue('password', '');\n      }\n    })();\n  }, []);\n\n  return (\n    <>\n      <P fw=\"500\" fs={30} lh={24} ta=\"center\" mb={59}>Sign Up</P>\n\n      <Div flex={1}>\n        {contactInfoStep === 1 ? (\n          <Email formik={formik}/>\n        ) : contactInfoStep === 2 ? (\n          <>\n            <P ta=\"center\" fs={18} fw=\"500\" mb={16}>{`When signing in, we will send\\nyou a one-time password.`}</P>\n            <P ta=\"center\" fs={18} fw=\"700\" mb={30}>{`Select which method you would\\nlike to receive the password.`}</P>\n\n            <Div mb={64} mx=\"auto\" w={155}>\n              <Pressable style={[MainStyle.row, MainStyle.a_i_c, MainStyle.m_b_13]}\n                         onPress={() => formik.setFieldValue('preferredOtpMethod', 1)}>\n                <MaterialIcons\n                  name={`radio-button-${formik.values.preferredOtpMethod === 1 ? 'on' : 'off'}`}\n                  size={18} color=\"white\"\n                />\n                <P ml={15} fw=\"500\" fs={18}>Text Message</P>\n              </Pressable>\n\n              <Pressable style={[MainStyle.row, MainStyle.a_i_c]}\n                         onPress={() => formik.setFieldValue('preferredOtpMethod', 0)}>\n                <MaterialIcons\n                  name={`radio-button-${formik.values.preferredOtpMethod === 0 ? 'on' : 'off'}`}\n                  size={18} color=\"white\"\n                />\n                <P ml={15} fw=\"500\" fs={18}>Email</P>\n              </Pressable>\n            </Div>\n\n            <P opacity={0.5} ta=\"center\" fw=\"500\">\n              {`Message and data rates may apply.\\nWhen you opt in to the service, we will send you\\na one-time passcode text message per login attempt.`}\n            </P>\n          </>\n        ) : contactInfoStep === 3 ? (\n          <Phone formik={formik}/>\n        ) : contactInfoStep === 4 ? (\n          <Name formik={formik}/>\n        ) : null}\n      </Div>\n\n      <P fw=\"500\" ta=\"center\" my={46}>\n        <P fw=\"500\" color={colors.newGreenText} onPress={() => navigation.navigate('TermsAndConditions')}>\n          Terms and Conditions\n        </P>\n        {` and `}\n        <P fw=\"500\" color={colors.newGreenText} onPress={() => navigation.navigate('PrivacyPolicy')}>Privacy Policy</P>\n      </P>\n\n      <Div mb={86} row>\n        <Button\n          text=\"Back\" bg=\"transparent\" borderWidth={1} borderColor=\"white\"\n          onPress={onCancel} color=\"white\" flex={1}\n        />\n        <Div w={10}/>\n        <Button text=\"Next\" flex={1} onPress={next}/>\n      </Div>\n\n      <OtpModal\n        visible={phoneVerificationDialog} setVisible={phoneVerificationHandler}\n        phone={formik.values.phone} email={formik.values.email} goBackBtn\n        onSuccess={() => navigation.reset({index: 0, routes: [{name: 'challenges'}]})}\n      />\n    </>\n  );\n};\n\nexport default React.memo(ContactInfo);\n","import React, {useContext, useLayoutEffect, useState} from 'react';\nimport {View, Pressable, LayoutChangeEvent} from 'react-native';\nimport AsyncStorage from \"@react-native-async-storage/async-storage\";\nimport MainStyle from \"../../../../../../MainStyle\";\nimport Button from \"../../../../../components/Button\";\nimport {StoreContext} from \"../../../../../components/StoreContextProvider\";\nimport Checkbox from \"../../../../../components/Checkbox\";\nimport {useNavigation} from \"@react-navigation/native\";\nimport ServiceClient from \"../../../../../utils/ServiceClient\";\nimport TermsAndConditionsContent from '../../../../../components/TermsAndConditionsContent';\nimport {colors} from \"../../../../../assets/styles/colors\";\nimport {BrandName, WebAppText} from \"../../../../../constants\";\nimport Div from \"../../../../../lib/Div\";\nimport P from \"../../../../../lib/P\";\n\ntype Props = { goNext: () => void, goBack: () => void };\n\nconst TermsConditions = (props: Props) => {\n  const [isChecked, setIsChecked] = useState(false);\n  const Context = useContext(StoreContext);\n  const {cancelModalConfig, session} = Context;\n  const navigation: any = useNavigation();\n  const [height, setHeight] = useState(0);\n  const [step, setStep] = useState(1);\n\n  const onLayout = (event: LayoutChangeEvent) => {\n    setHeight(event.nativeEvent.layout.height);\n  };\n\n  const onResume = () => {\n    Context.setCancelModalConfig({...cancelModalConfig, visible: false});\n  };\n\n  const AcceptTnc = () => {\n    if (step === 1 && isChecked) {\n      setIsChecked(false);\n      setStep(2);\n\n    } else if (step === 2 && isChecked) {\n      Context.setLoadingOverlay(true);\n\n      ServiceClient.acceptTnc().then(() => {\n        Context.setLoadingOverlay(false);\n        props.goNext();\n\n      }).catch(err => {\n        console.log('acceptTnc err', err);\n        Context.setLoadingOverlay(false);\n\n        if (err && err.message) {\n          Context.setCancelModalConfig({\n            visible: true, subtitle: err.message, onExit: onResume, title: 'Error', leftBtnText: 'OK'\n          });\n        }\n      });\n\n    } else {\n      Context.setCancelModalConfig({\n        visible: true, subtitle: 'You need to accept TERMS & CONDITIONS', onExit: onResume, title: 'Error',\n        leftBtnText: 'OK'\n      });\n    }\n  };\n\n  useLayoutEffect(() => {\n    (async () => {\n      if (!session) {\n        const val = await AsyncStorage.getItem('session');\n\n        if (val) {\n          const session = JSON.parse(val);\n          Context.setSession(session);\n\n        } else {\n          navigation.reset({index: 0, routes: [{name: 'Splash'}]});\n        }\n      }\n    })();\n  }, []);\n\n  return (\n    <Div flex={1}>\n      <P fw=\"500\" fs={30} lh={24} ta=\"center\" mb={59}>\n        {step === 1 ? 'Terms & Conditions' : 'Health Information and Biometric Consent'}\n      </P>\n\n      <View style={[MainStyle.min_h_164, MainStyle.m_b_37, MainStyle.flex1]} onLayout={onLayout}>\n        {!!height && (\n          <>\n            {step === 1 ? <TermsAndConditionsContent height={height} px={20}/> : (\n              <Div maxW={1120} mx=\"auto\" px={20}>\n                <P fw=\"700\" fs={14} mb={21} tt=\"uppercase\">\n                  As part of participating in {BrandName}, we ({BrandName} Inc. dba {BrandName}) and our service\n                  providers collect certain health information, namely, facial recognition biometrics. We use this\n                  information to provide you with our services, including to verify your identity and for fraud\n                  prevention purposes. We will retain your biometric identifier locally for 30 days and on our servers\n                  for 7 years. For more information on our data processing practices and any rights you may have, please\n                  see our Privacy Policy at <P fw=\"700\" fs={14} tt=\"uppercase\" color={colors.lightBlue}\n                                               onPress={() => navigation.navigate('PrivacyPolicy')}>{WebAppText}/privacy</P>.\n                  Please note that Topgolf International, Inc. does not control or receive your biometric information.\n                </P>\n              </Div>\n            )}\n          </>\n        )}\n      </View>\n\n      <Pressable style={[MainStyle.row, MainStyle.m_b_40, MainStyle.m_l_20, MainStyle.a_i_c]}\n                 onPress={() => setIsChecked(!isChecked)}>\n        <Checkbox value={isChecked} size={18} onValueChange={() => setIsChecked(!isChecked)}/>\n        <P fw=\"500\" ml={17}>\n          {step === 1 ? 'I have read and agree to all Terms and Conditions' : `Collection and Use. By checking this box and clicking “Next”, I consent to ${BrandName} collecting and using my biometric information to participate in ${BrandName} services and to the ${BrandName} Terms of Service at ${WebAppText}/termsandconditions.`}\n        </P>\n      </Pressable>\n\n      <Div row mb={86}>\n        <Button\n          text=\"Cancel\" w={190} h={63} bg=\"transparent\" borderWidth={1} borderColor=\"white\" onPress={props.goBack}\n          fontSize={20} color=\"white\" flex={1}\n        />\n\n        <Div w={10}/>\n\n        <Button\n          text={step === 1 ? 'Proceed' : 'Next'} w={190} h={63} onPress={AcceptTnc} bg={colors.newGreenText}\n          color={colors.mainBackground} fontSize={20} flex={1}\n        />\n      </Div>\n    </Div>\n  );\n};\n\nexport default React.memo(TermsConditions);\n","import React, {MutableRefObject, useEffect, useRef, useState} from \"react\";\nimport {Modal, Pressable, Platform, useWindowDimensions, ActivityIndicator} from 'react-native';\nimport MainStyle from \"../../MainStyle\";\nimport * as faceapi from 'face-api.js';\nimport {Camera, CameraType} from 'expo-camera';\nimport {Ionicons} from '@expo/vector-icons';\nimport {colors} from \"../assets/styles/colors\";\nimport {detectHeadTurn} from \"../utils\";\nimport Div from \"../lib/Div\";\nimport P from \"../lib/P\";\n\ntype Props = {\n  cameraModalVisible: boolean, onRequestClose: (() => void), takePicture: () => void,\n  videoRef: MutableRefObject<Camera | null>, type: 'photo' | 'video'\n};\n\nconst CameraModal = (props: Props) => {\n  const {cameraModalVisible, videoRef, type} = props;\n  const [face, setFace] = useState<faceapi.FaceDetection | undefined>();\n  const intervalRef = useRef<NodeJS.Timeout | null>(null);\n  const video = useRef<HTMLVideoElement | null>(null);\n  const {width, height} = useWindowDimensions();\n  const [isCameraReady, setIsCameraReady] = useState(false);\n\n  const getAspectRatio = () => {\n    return width > height ? 16 / 9 : 4 / 3;\n  };\n\n  const startVideo = () => {\n    if (Platform.OS === 'web') {\n      video.current = document.getElementsByTagName('video')[0];\n\n      if (video.current) {\n        if (type === 'video') {\n          intervalRef.current = setInterval(async () => {\n            detectHeadTurn(video.current).then(direction => {\n              if (direction === 'left') console.log('left');\n              else if (direction === 'right') console.log('right');\n              else console.log('straight');\n            });\n          }, 100);\n\n        } else {\n          intervalRef.current = setInterval(async () => {\n            const options = new faceapi.TinyFaceDetectorOptions({inputSize: 320, scoreThreshold: 0.7});\n            const detection = await faceapi.detectSingleFace(video.current!, options);\n            setFace(detection);\n          }, 100);\n        }\n      }\n    }\n  };\n\n  const stopVideo = () => {\n    if (video.current && intervalRef.current) {\n      clearInterval(intervalRef.current);\n      intervalRef.current = null;\n    }\n  };\n\n  useEffect(() => {\n    if (isCameraReady) startVideo();\n  }, [isCameraReady]);\n\n  useEffect(() => {\n    if (!cameraModalVisible && isCameraReady) {\n      stopVideo();\n      setIsCameraReady(false);\n    }\n  }, [cameraModalVisible, isCameraReady]);\n\n  return (\n    <Modal animationType=\"slide\" visible={cameraModalVisible} onRequestClose={props.onRequestClose}>\n      <Div bg=\"black\" flex={1} p={10}>\n        <Div column rounded={40} overflow=\"hidden\" position=\"relative\" flex={1} mb={10}>\n          <Ionicons\n            name=\"close-circle\" size={40} color=\"white\" style={[MainStyle.m_t_20, MainStyle.m_l_21]}\n            onPress={props.onRequestClose}\n          />\n\n          <Camera\n            type={CameraType.front} ref={videoRef} style={[...styles.camera, {aspectRatio: getAspectRatio()}]}\n            ratio=\"4:3\" onCameraReady={() => setIsCameraReady(true)}\n          />\n\n          <Div flex={1} alignItems=\"center\" justifyContent=\"center\" position=\"relative\">\n            {isCameraReady ? (\n              <Div w={250} h={350} rounded={125} borderWidth={5} borderColor={!!face ? 'white' : 'gray'}/>\n            ) : (\n              <ActivityIndicator color=\"white\" size=\"large\"/>\n            )}\n          </Div>\n\n          <Div position=\"relative\" alignItems=\"center\">\n            {!!face ? (\n              <Ionicons\n                name=\"checkmark-circle\" size={24} color={colors.activeText}\n                style={[MainStyle.absolute, MainStyle.z_i_2, MainStyle.t__28]}\n              />\n            ) : (\n              <Ionicons\n                name=\"close-circle\" size={24} color={colors.warningText}\n                style={[MainStyle.absolute, MainStyle.z_i_2, MainStyle.t__28]}\n              />\n            )}\n\n            <Pressable style={[...styles.btn, {backgroundColor: !!face ? 'white' : 'gray'}]} onPress={props.takePicture}\n                       disabled={!face}>\n              <Div borderWidth={2} flex={1} m={5} rounded={40}/>\n            </Pressable>\n          </Div>\n        </Div>\n\n        <P ta=\"center\" fs={18}>Try shifting angles or moving to a space with better lighting.</P>\n      </Div>\n    </Modal>\n  );\n};\n\nconst styles = {\n  btn: [MainStyle.w_60, MainStyle.h_60, MainStyle.b_r_40, MainStyle.m_b_10],\n  camera: [MainStyle.absolute, MainStyle.t_0, MainStyle.l_0, MainStyle.full_h, MainStyle.full_w, MainStyle.z_i__1]\n};\n\nexport default React.memo(CameraModal);\n","import React, {useContext, useLayoutEffect, useRef, useState} from 'react';\nimport {Image, Platform} from 'react-native';\nimport {Camera} from 'expo-camera';\nimport MainStyle from '../../../../../../MainStyle';\nimport Button from '../../../../../components/Button';\nimport {StoreContext} from \"../../../../../components/StoreContextProvider\";\nimport AsyncStorage from \"@react-native-async-storage/async-storage\";\nimport {transformImg} from \"../../../../../constants\";\nimport {colors} from \"../../../../../assets/styles/colors\";\nimport CameraModal from \"../../../../../modals/CameraModal\";\nimport ServiceClient from \"../../../../../utils/ServiceClient\";\nimport * as ImageManipulator from 'expo-image-manipulator';\nimport Div from \"../../../../../lib/Div\";\nimport P from \"../../../../../lib/P\";\n\ntype Props = { goNextStep: () => void, goCsr: () => void, onCancel: () => void, title: string, subtitle: string };\n\nconst IdVerification = (props: Props) => {\n  const {title, subtitle} = props;\n  const videoRef = useRef<Camera | null>(null);\n  const [imageUri, setImageUri] = useState('');\n  const Context = useContext(StoreContext);\n  const {cancelModalConfig, session} = Context;\n  const [cameraModalVisible, setCameraModalVisible] = useState(false);\n  const [hasPermission, setHasPermission] = useState<boolean | null>(null);\n\n  const errorModalClose = () => {\n    Context.setCancelModalConfig({...cancelModalConfig, visible: false});\n  };\n\n  const SubmitPhoto = () => {\n    Context.setLoadingOverlay(true);\n\n    ServiceClient.submitPhoto(imageUri).then(isRecognized => {\n      if (isRecognized) {\n        setTimeout(() => {\n          Context.setLoadingOverlay(false);\n          props.goNextStep();\n        }, 1000);\n\n      } else {\n        Context.setLoadingOverlay(false);\n        Context.setCancelModalConfig({\n          visible: true, title: 'SELFIE ISSUE', leftBtnText: 'RETAKE PHOTO',\n          subtitle: 'Something’s up with your selfie… please retake it, looking directly into the camera. If this continues to happen, please contact support.',\n          rightBtnText: 'CONTACT SUPPORT', onClose: errorModalClose, onExit: errorModalClose,\n          onResume: () => {\n            errorModalClose();\n            props.goCsr();\n          }\n        });\n      }\n\n    }).catch(err => {\n      Context.setLoadingOverlay(false);\n      console.log('submitPhoto', err);\n\n      Context.setCancelModalConfig({\n        visible: true, title: 'ERROR', subtitle: (err && err.message) ? err.message : 'Failed to submit photo',\n        secondary: 'Please contact support', leftBtnText: 'RETAKE PHOTO', rightBtnText: 'CONTACT SUPPORT',\n        onClose: errorModalClose, onExit: errorModalClose, onResume: () => {\n          errorModalClose();\n          props.goCsr();\n        }\n      });\n    });\n  };\n\n  const takePicture = () => {\n    if (!hasPermission) {\n      Context.setLoadingOverlay(true);\n\n      (async () => {\n        const {status} = await Camera.requestCameraPermissionsAsync();\n        const isGranted = status === 'granted';\n\n        setHasPermission(isGranted);\n\n        if (isGranted) setCameraModalVisible(true);\n        Context.setLoadingOverlay(false);\n      })();\n\n    } else if (hasPermission && !cameraModalVisible) {\n      setCameraModalVisible(true);\n\n    } else if (videoRef.current) {\n      const options = {quality: 1, base64: false, exif: false, skipProcessing: true};\n\n      videoRef.current.takePictureAsync(options).then(photo => {\n        ImageManipulator.manipulateAsync(photo.uri, [{ flip: ImageManipulator.FlipType.Horizontal }], { compress: 1, base64: true, format: ImageManipulator.SaveFormat.JPEG }).then(res => {\n          if (Platform.OS === 'web') {\n            if (res.base64) setImageUri(transformImg(res.base64));\n            setCameraModalVisible(false);\n\n            // fixAspectRatio(res.uri).then(base64 => {\n            //   if (base64) setImageUri(transformImg(base64));\n            //   setCameraModalVisible(false);\n            // });\n\n          } else {\n            if (res.base64) setImageUri(transformImg(res.base64));\n            setCameraModalVisible(false);\n          }\n        });\n      });\n\n      // const imageSrc = videoRef.current.getScreenshot();\n      // if (imageSrc) setImageUri(transformImg(imageSrc));\n      // setCameraModalVisible(false);\n\n      // const canvas = document.createElement('canvas');\n      // const context = canvas.getContext('2d');\n      // if (context) {\n      //   canvas.width = videoRef.current.videoWidth;\n      //   canvas.height = videoRef.current.videoHeight;\n      //   context.translate(canvas.width, 0);\n      //   context.scale(-1, 1);\n      //\n      //   context.drawImage(videoRef.current, 0, 0, canvas.width, canvas.height);\n      //   setImageUri(transformImg(canvas.toDataURL('image/png')));\n      //   setCameraModalVisible(false);\n      // }\n    }\n  };\n\n  const next = () => {\n    if (imageUri) SubmitPhoto();\n  };\n\n  useLayoutEffect(() => {\n    if (!session) {\n      (async () => {\n        const val = await AsyncStorage.getItem('session');\n\n        if (val) {\n          const Session = JSON.parse(val);\n          Context.setSession(Session);\n        }\n      })();\n    }\n  }, []);\n\n  return (\n    <Div flex={1}>\n      <P ta=\"center\" fs={30} fw=\"500\" lh={24}>{title}</P>\n\n      <Div flex={1} justifyContent=\"center\" minH={351}>\n        <Div w={218} h={218} bg={colors.gray} mx=\"auto\" overflow=\"hidden\" rounded={200}>\n          {!!imageUri && <Image style={MainStyle.flex1} source={{uri: `data:image/jpg;base64,${imageUri}`}}/>}\n        </Div>\n      </Div>\n\n      <P ta=\"center\" fs={18} fw=\"500\" mb={43}>{subtitle}</P>\n\n      <Button\n        text={`${imageUri ? 'Retake' : 'Take'} Photo`} w={264} h={63} onPress={takePicture} fontSize={22}\n        bg={imageUri ? colors.unselect : colors.newGreenText} color={imageUri ? 'white' : colors.mainBackground}\n        fontFamily=\"Barlow-SemiBold\" mb={60} mx=\"auto\"\n      />\n\n      <Div row mb={60}>\n        <Button\n          text=\"Back\" flex={1} h={63} bg=\"transparent\" borderWidth={1} borderColor=\"white\" onPress={props.onCancel}\n          fontFamily=\"Barlow-SemiBold\" fontSize={22} color=\"white\"\n        />\n\n        <Div w={10}/>\n\n        <Button\n          text=\"Next\" flex={1} h={63} onPress={next} bg={imageUri ? colors.newGreenText : colors.unselect}\n          color={imageUri ? colors.mainBackground : 'white'} fontFamily=\"Barlow-SemiBold\" fontSize={22}\n        />\n      </Div>\n\n      <CameraModal\n        type=\"photo\" videoRef={videoRef} cameraModalVisible={cameraModalVisible}\n        takePicture={takePicture} onRequestClose={() => setCameraModalVisible(false)}\n      />\n    </Div>\n  );\n};\n\nexport default React.memo(IdVerification);\n","import React, {useContext, useEffect, useRef, useState} from 'react';\nimport {Image, BackHandler, ScrollView, useWindowDimensions, Platform, ImageBackground} from 'react-native';\nimport Step1 from './steps/ContactInfo';\nimport Step2 from './steps/TermsConditions';\nimport MainStyle from '../../../../MainStyle';\nimport IdVerification from \"./steps/IdVerification\";\nimport kiosk_logo_RGB_1row from \"../../../assets/img/evenplay-logo-long.svg\";\nimport {StoreContext} from \"../../../components/StoreContextProvider\";\nimport {LANDING_PAGE_URL, breakpoint} from \"../../../constants\";\nimport bg from \"../../../assets/img/Loading login page-001d.jpg\";\nimport {Ionicons} from '@expo/vector-icons';\nimport {useNavigation} from \"@react-navigation/native\";\nimport HelpLinkModalTrigger from \"../../../modals/HelpLinksModal\";\nimport Div from \"../../../lib/Div\";\nimport P from \"../../../lib/P\";\nimport {colors} from \"../../../assets/styles/colors\";\n\ntype Props = { route: any };\n\nconst SignUpScreen = ({route}: Props) => {\n  const [step, setStep] = useState(1);\n  const backhandlerRef = useRef<any>();\n  const Context = useContext(StoreContext);\n  const {cancelModalConfig} = Context;\n  const {width} = useWindowDimensions();\n  const isLg = width >= breakpoint;\n  const navigation: any = useNavigation();\n\n  const goToCSR = () => {\n    if (Platform.OS === 'web') window.open('https://smgames.atlassian.net/servicedesk/customer/portal/3', isLg ? '_self' : '_blank');\n  };\n\n  const modalClose = () => {\n    Context.setCancelModalConfig({...cancelModalConfig, visible: false});\n  };\n\n  const onCancel = () => {\n    Context.setCancelModalConfig({\n      visible: true, title: 'CANCEL SIGN UP', subtitle: 'Are you sure you want to exit?',\n      secondary: `All information entered earlier will be ${step === 1 ? 'deleted' : 'saved'}`,\n      onExit: onExit, onResume: modalClose\n    });\n    return true;\n  };\n\n  const onExit = async () => {\n    Context.setCancelModalConfig({...cancelModalConfig, visible: false});\n    setStep(1);\n\n    if (backhandlerRef?.current?.remove) backhandlerRef.current.remove();\n\n    Context.logout().then(() => {\n      if (Platform.OS === 'web') {\n        window.open(LANDING_PAGE_URL, '_self');\n      }\n    });\n  };\n\n  const GetUser = () => {\n    Context.getUser().then(() => {\n      if (backhandlerRef?.current?.remove) backhandlerRef.current.remove();\n      window.open('/challenges?fromRegistrationPage=true', '_self');\n    });\n  };\n\n  useEffect(() => {\n    if (route.params?.step) setStep(+route.params?.step);\n\n    const backHandler = BackHandler.addEventListener('hardwareBackPress', onCancel);\n    backhandlerRef.current = backHandler;\n\n    return () => {\n      backHandler.remove();\n    };\n    // eslint-disable-next-line react-hooks/exhaustive-deps\n  }, [route.params?.step]);\n\n  return (\n    <Div bg={colors.loading_login} flex={1}>\n      <ImageBackground source={bg} style={MainStyle.flex1} imageStyle={{opacity: 0.8}}>\n        <HelpLinkModalTrigger position=\"absolute\" top={5} right={5}/>\n\n        <ScrollView contentContainerStyle={MainStyle.min_h_full} keyboardShouldPersistTaps=\"handled\">\n          <Div w=\"100%\" maxW={430} mx=\"auto\" h=\"100%\" px={20}>\n            <Div mt={7} row justifyContent=\"space-between\" alignItems=\"center\" mb={20}>\n              <Ionicons name=\"chevron-back\" size={24} color=\"white\" onPress={onCancel}/>\n              <Image source={kiosk_logo_RGB_1row as any} style={[MainStyle.h_46, MainStyle.w_176]}/>\n              <Div w={24} h={24}/>\n            </Div>\n\n            <Div row justifyContent=\"space-between\" mb={12} alignItems=\"center\">\n              <P>{step === 1 ? 'Contact Information' : step === 2 ? 'Terms & Conditions' : 'Photo'}</P>\n              <P fw=\"500\" fs={24}>{step}/<P fw=\"500\" fs={24} color={colors.darkText}>3</P></P>\n            </Div>\n\n            <Div h={4} bg={colors.popupDropBg} mb={60} rounded={200}>\n              <Div bg={colors.filter_chip_bg} rounded={200} h=\"100%\" w={`${step * 33.3}%`}/>\n            </Div>\n\n            {step === 1 && (\n              <Step1 goNext={() => navigation.navigate({name: 'Register', params: {step: 2}})} onCancel={onCancel}/>\n            )}\n\n            {/*{step === 1 && (*/}\n            {/*  <IdVerification*/}\n            {/*    goNextStep={GetUser} goCsr={goToCSR} onCancel={onCancel} title=\"Selfie\"*/}\n            {/*    subtitle=\"Please take a clear photo of yourself\"*/}\n            {/*  />*/}\n            {/*)}*/}\n\n            {step === 2 && (\n              <Step2 goNext={() => navigation.navigate({name: 'Register', params: {step: 3}})} goBack={onCancel}/>\n            )}\n\n            {step === 3 && (\n              <IdVerification\n                goNextStep={GetUser} goCsr={goToCSR} onCancel={onCancel} title=\"Selfie\"\n                subtitle=\"Please take a clear photo of yourself\"\n              />\n            )}\n          </Div>\n        </ScrollView>\n      </ImageBackground>\n    </Div>\n  );\n};\n\nexport default SignUpScreen;\n","import React from 'react';\nimport {Modal, ScrollView, Text, View} from 'react-native';\nimport Button from '../../../../components/Button';\nimport Div from '../../../../lib/Div';\nimport MainStyle from '../../../../../MainStyle';\nimport {colors} from '../../../../assets/styles/colors';\n\ntype Props = { isOpen: boolean, onClose: () => void, startNewChallenge: () => void };\n\nconst ChallengeFull = (props: Props) => {\n  const {isOpen} = props;\n\n  return (\n    <Modal animationType=\"fade\" transparent visible={isOpen} statusBarTranslucent={false} hardwareAccelerated={false}\n           onRequestClose={props.onClose}>\n      <View style={[MainStyle.fix_gradient_and_modal_error_in_landscape, MainStyle.flex1, MainStyle.bg_filter_modal]}>\n        <ScrollView contentContainerStyle={MainStyle.flex1}>\n          <View style={[MainStyle.min_h_full, MainStyle.a_i_c, MainStyle.j_c_c]}>\n            <Div w={390} h={452} rounded={20} borderWidth={1} borderColor={colors.settings_border}\n                     bg={colors.settings_bg} py={43} alignItems=\"center\">\n              <Text style={styles.title}>Challenge Full</Text>\n\n              <Text style={styles.message}>Sorry but this Friend Challenge is full of players.</Text>\n\n              <Button\n                onPress={props.onClose} text=\"Enter Another Challenge\" w={309}\n                fontFamily=\"Barlow-SemiBold\" mb={13}\n              />\n\n              <Button\n                text=\"Start New Friend Challenge\" bg={colors.mainBackground} borderWidth={1} borderColor=\"white\"\n                color=\"white\" w={309} fontFamily=\"Barlow-SemiBold\" mb={13}\n                onPress={() => {\n                  props.onClose();\n                  props.startNewChallenge();\n                }}\n              />\n\n              <Button\n                onPress={props.onClose} text=\"Cancel\" bg={colors.mainBackground} borderWidth={1} borderColor=\"white\"\n                color=\"white\" w={309} fontFamily=\"Barlow-SemiBold\"\n              />\n            </Div>\n          </View>\n        </ScrollView>\n      </View>\n    </Modal>\n  );\n};\n\nconst styles = {\n  title: [MainStyle.c_white, MainStyle.Barlow500, MainStyle.f_s_26, MainStyle.l_h_26, MainStyle.m_b_38],\n  message: [\n    MainStyle.c_white, MainStyle.Barlow500, MainStyle.f_s_22, MainStyle.m_b_32, MainStyle.t_a_c, MainStyle.w_300\n  ]\n}\n\nexport default React.memo(ChallengeFull);\n","import React from 'react';\nimport {Modal, ScrollView, Text, View} from 'react-native';\nimport Button from '../../../../components/Button';\nimport Div from '../../../../lib/Div';\nimport MainStyle from '../../../../../MainStyle';\nimport {colors} from '../../../../assets/styles/colors';\nimport {Tournament} from \"../../../../../generated/smg_service_pb\";\n\ntype Props = { tournament?: Tournament.AsObject, onClose: () => void, onConfirm: () => void };\n\nconst FriendChallengeDetails = (props: Props) => {\n  const {tournament} = props;\n\n  return (\n    <Modal animationType=\"fade\" transparent visible={!!tournament} statusBarTranslucent={false}\n           hardwareAccelerated={false} onRequestClose={props.onClose}>\n      <View style={[MainStyle.fix_gradient_and_modal_error_in_landscape, MainStyle.flex1, MainStyle.bg_filter_modal]}>\n        <ScrollView contentContainerStyle={MainStyle.flex1}>\n          <View style={[MainStyle.min_h_full, MainStyle.a_i_c, MainStyle.j_c_c]}>\n            <Div w={390} h={452} rounded={20} borderWidth={1} borderColor={colors.settings_border}\n                     bg={colors.settings_bg} py={43} alignItems=\"center\">\n              <Text style={styles.title}>Friend Challenge Details</Text>\n\n              <Text style={styles.label}>TOURNAMENT NAME</Text>\n              <Text style={[...styles.value, MainStyle.m_b_25]}>\n                {tournament?.name}\n              </Text>\n\n              <Div row w={331} mb={32}>\n                <Div pt={3} borderRightWidth={1} borderRightColor={colors.settings_border} flex={1}>\n                  <Text style={styles.label}>TOTAL SHOTS</Text>\n                  <Text style={styles.value}>{tournament?.totalshots}</Text>\n                </Div>\n\n                <Div pt={3} borderRightWidth={1} borderRightColor={colors.settings_border} flex={1}>\n                  <Text style={styles.label}>PLAYERS</Text>\n                  <Text style={styles.value}>1 - {tournament?.maxparticipants}</Text>\n                </Div>\n\n                <Div pt={3} flex={1}>\n                  <Text style={styles.label}>ENTRY FEE</Text>\n                  <Text style={[...styles.value, MainStyle.c_new_green_text]}>\n                    ${(tournament?.entryfee || 0) / 100}\n                  </Text>\n                </Div>\n              </Div>\n\n              <Button\n                onPress={props.onConfirm} text={`Confirm $${(tournament?.entryfee || 0) / 100} Entry Fee`} w={309}\n                fontFamily=\"Barlow-SemiBold\" mb={13}\n              />\n\n              <Button\n                text=\"Cancel\" w={309} fontFamily=\"Barlow-SemiBold\" borderWidth={1}\n                borderColor=\"white\" onPress={props.onClose} bg={colors.mainBackground} color=\"white\"\n              />\n            </Div>\n          </View>\n        </ScrollView>\n      </View>\n    </Modal>\n  );\n};\n\nconst styles = {\n  title: [MainStyle.c_white, MainStyle.Barlow500, MainStyle.f_s_26, MainStyle.l_h_26, MainStyle.m_b_38],\n  label: [MainStyle.c_white, MainStyle.Barlow500, MainStyle.f_s_14, MainStyle.m_b_3, MainStyle.t_a_c],\n  value: [MainStyle.c_white, MainStyle.Barlow500, MainStyle.f_s_24, MainStyle.t_a_c]\n};\n\nexport default React.memo(FriendChallengeDetails);\n","import React, {useContext, useEffect, useState} from 'react';\nimport {Modal, ScrollView, View} from 'react-native';\nimport MainStyle from '../../../../../MainStyle';\nimport {colors} from '../../../../assets/styles/colors';\nimport Button from '../../../../components/Button';\nimport Div from '../../../../lib/Div';\nimport P from '../../../../lib/P';\nimport {ListTournamentRequest, TournamentState} from '../../../../../generated/smg_service_pb';\nimport ServiceClient from '../../../../utils/ServiceClient';\nimport {StoreContext} from '../../../../components/StoreContextProvider';\nimport Input from \"../../../../components/Input\";\nimport {formatPayout} from \"../../../../utils\";\n\ntype Props = {\n  isOpen: boolean, onClose: () => void, onConfirm: () => void, totalShots: number, maxParticipants: number,\n  entryFee: number\n};\n\nconst FriendsChallengeConfirmation = (props: Props) => {\n  const {isOpen, totalShots, maxParticipants, entryFee} = props;\n  const Context = useContext(StoreContext);\n  const [completedPrivateTournaments, setCompletedPrivateTournaments] = useState(0);\n\n  const getCompletedPrivateTournaments = () => {\n    Context.setLoadingOverlay(true);\n    const states = [TournamentState.FINISHED, TournamentState.CANCELLED];\n\n    ServiceClient.listTournaments(states, ListTournamentRequest.Sort.FINISH_TIME, ListTournamentRequest.TournamentAccess.PRIVATE, true).then(res => {\n      setCompletedPrivateTournaments(res.length);\n\n    }).catch(err => {\n      console.log('listTournaments err', err);\n\n    }).finally(() => {\n      Context.setLoadingOverlay(false);\n    });\n  };\n\n  useEffect(() => {\n    if (isOpen) getCompletedPrivateTournaments();\n  }, [isOpen]);\n\n  return (\n    <Modal animationType=\"fade\" transparent visible={isOpen} statusBarTranslucent={false} hardwareAccelerated={false}\n           onRequestClose={props.onClose}>\n      <View style={[MainStyle.fix_gradient_and_modal_error_in_landscape, MainStyle.flex1, MainStyle.bg_filter_modal]}>\n        <ScrollView contentContainerStyle={[MainStyle.flex1, MainStyle.p_x_20]}>\n          <Div minH=\"100%\" alignItems=\"center\" justifyContent=\"center\">\n            <Div maxW={390} w=\"100%\" rounded={20} borderWidth={1} borderColor={colors.settings_border}\n                 bg={colors.settings_bg} pt={30} alignItems=\"center\">\n              <P ta=\"center\" fs={26} lh={26} mb={24} fw=\"500\">Friends Challenge Confirmation</P>\n\n              <Input\n                label=\"NUMBER OF PLAYERS\" value={`${maxParticipants}`} bg=\"transparent\" mb={9} w={240} h={48}\n                textAlign=\"center\" editable={false}\n              />\n\n              <Input\n                label=\"SHOTS\" value={`${totalShots}`} bg=\"transparent\" mb={9} w={240} h={48} textAlign=\"center\"\n                editable={false}\n              />\n\n              <Input\n                label=\"PRIZE POOL\" bg=\"transparent\" mb={9} w={240} h={48} textAlign=\"center\" editable={false}\n                value={formatPayout(maxParticipants * entryFee * (completedPrivateTournaments < 3 ? 1 : 0.9))}\n              />\n\n              <Input\n                label=\"ENTRY FEE\" value={formatPayout(entryFee)} bg=\"transparent\" mb={21} w={240} h={48}\n                textAlign=\"center\" editable={false}\n              />\n\n              <Button onPress={props.onConfirm} text=\"CONFIRM AND START\" w={309} fontFamily=\"Barlow-SemiBold\" mb={10}/>\n\n              <Button\n                text=\"Back\" w={309} bg={colors.loading_login} borderWidth={1} borderColor=\"white\"\n                onPress={props.onClose} color=\"white\"\n              />\n\n              <P color={colors.gray} ta=\"center\" fs={17} mt={20} px={15} mb={33}>\n                Challenge is voided if the total number of players who enter the tournament is not met.\n              </P>\n            </Div>\n          </Div>\n        </ScrollView>\n      </View>\n    </Modal>\n  );\n};\n\nexport default React.memo(FriendsChallengeConfirmation);\n","import React, {useContext, useState} from 'react';\nimport {Modal, ScrollView, Text, View} from 'react-native';\nimport Button from '../../../../components/Button';\nimport Div from '../../../../lib/Div';\nimport MainStyle from '../../../../../MainStyle';\nimport Select from '../../../../components/Select';\nimport {colors} from '../../../../assets/styles/colors';\nimport icon from '../../../../assets/img/icons/pencil-line 1.svg';\nimport ServiceClient from \"../../../../utils/ServiceClient\";\nimport {CancelModalProps} from \"../../../../types\";\nimport {StoreContext} from \"../../../../components/StoreContextProvider\";\nimport YourFriendChallengeCodeForm from \"./YourFriendChallengeCodeForm\";\nimport FriendsChallengeConfirmation from './FriendsChallengeConfirmation';\n\nconst numberOfShots = [\n  {value: '2', customLabel: '', label: '2'}, {value: '3', customLabel: '', label: '3'},\n  {value: '4', customLabel: '', label: '4'}, {value: '5', customLabel: '', label: '5'},\n  {value: '6', customLabel: '', label: '6'}, {value: '7', customLabel: '', label: '7'},\n  {value: '8', customLabel: '', label: '8'}, {value: '9', customLabel: '', label: '9'},\n  {value: '10', customLabel: '', label: '10'}\n];\n\nconst maxParticipants = [\n  {value: '2', customLabel: '', label: '2'}, {value: '3', customLabel: '', label: '3'},\n  {value: '4', customLabel: '', label: '4'}, {value: '5', customLabel: '', label: '5'},\n  {value: '6', customLabel: '', label: '6'}, {value: '7', customLabel: '', label: '7'},\n  {value: '8', customLabel: '', label: '8'}, {value: '9', customLabel: '', label: '9'},\n  {value: '10', customLabel: '', label: '10'}\n];\n\nconst entryFree = [\n  {value: '3', customLabel: '', label: '$3'}, {value: '5', customLabel: '', label: '$5'},\n  {value: '10', customLabel: '', label: '$10'}, {value: '20', customLabel: '', label: '$20'}\n];\n\ntype Props = { isOpen: boolean, onClose: () => void, onReload: () => void };\n\nconst FriendChallengeDetailsFrom = (props: Props) => {\n  const {isOpen} = props;\n  const [selectedNumOfShort, setSelectedNumOfShort] = useState('10');\n  const [selectedMaxParticipants, setSelectedMaxParticipants] = useState('10');\n  const [selectedEntryFree, setSelectedEntryFree] = useState('20');\n  const Context = useContext(StoreContext);\n  const {cancelModalConfig} = Context;\n  const [code, setCode] = useState('');\n  const [isOpenFriendsChallengeConfirmation, setIsOpenFriendsChallengeConfirmation] = useState(false);\n\n  const onConfirmAndStart = () => {\n    Context.setLoadingOverlay(true);\n    props.onClose();\n    setIsOpenFriendsChallengeConfirmation(false);\n\n    ServiceClient.createPrivateTournament(+selectedNumOfShort, +selectedMaxParticipants, +selectedEntryFree).then(newTournamentCode => {\n      Context.setLoadingOverlay(false);\n      setCode(newTournamentCode);\n\n    }).catch(err => {\n      console.log('createPrivateTournament err', err);\n      Context.setLoadingOverlay(false);\n\n      let conf: CancelModalProps = {\n        visible: true, title: 'ERROR', leftBtnText: 'OK', subtitle: err.message,\n        onExit: () => {\n          Context.setCancelModalConfig({...cancelModalConfig, visible: false});\n        }\n      };\n\n      Context.setCancelModalConfig(conf);\n    });\n  };\n\n  return (\n    <>\n      <Modal animationType=\"fade\" transparent visible={isOpen} statusBarTranslucent={false} hardwareAccelerated={false}\n             onRequestClose={props.onClose}>\n        <View style={[MainStyle.fix_gradient_and_modal_error_in_landscape, MainStyle.flex1, MainStyle.bg_filter_modal]}>\n          <ScrollView contentContainerStyle={MainStyle.flex1}>\n            <View style={[MainStyle.min_h_full, MainStyle.a_i_c, MainStyle.j_c_c]}>\n              <Div w={390} h={502} rounded={20} borderWidth={1} borderColor={colors.settings_border}\n                   bg={colors.settings_bg} py={43} alignItems=\"center\">\n                <Text style={styles.title}>Friend Challenge Details</Text>\n\n                <Div pl={40} pr={52} mb={8} row alignItems=\"center\" justifyContent=\"space-between\">\n                  <Text style={styles.label}>Number of Shots:</Text>\n\n                  <Select\n                    value={selectedNumOfShort} onChangeText={(val) => setSelectedNumOfShort(val)}\n                    customItems={numberOfShots} pl={35} pr={23} w={130} borderRadius={20} h={60} textAlign=\"left\"\n                    icon={icon} fontSize={22} borderColor={colors.settings_border} bg={colors.mainBackground}\n                    color={colors.newGreenText} fontFamily=\"Barlow-Medium\" iconSize={24} popupTitle=\"Number of Shots\"\n                  />\n                </Div>\n\n                <Div pl={40} pr={52} mb={8} row alignItems=\"center\" justifyContent=\"space-between\">\n                  <Text style={styles.label}>Max Participants:</Text>\n\n                  <Select\n                    value={selectedMaxParticipants} onChangeText={val => setSelectedMaxParticipants(val)}\n                    customItems={maxParticipants} pl={35} pr={23} w={130} borderRadius={20} h={60} textAlign=\"left\"\n                    icon={icon} fontSize={22} borderColor={colors.settings_border} bg={colors.mainBackground}\n                    color={colors.newGreenText} fontFamily=\"Barlow-Medium\" iconSize={24} popupTitle=\"Max Participants\"\n                  />\n                </Div>\n\n                <Div pl={40} pr={52} mb={31} row alignItems=\"center\" justifyContent=\"space-between\">\n                  <Text style={styles.label}>Entry Fee:</Text>\n\n                  <Select\n                    value={selectedEntryFree} onChangeText={val => setSelectedEntryFree(val)}\n                    customItems={entryFree} pl={27} pr={23} w={130} borderRadius={20} h={60} textAlign=\"left\"\n                    icon={icon} fontSize={22} borderColor={colors.settings_border} bg={colors.mainBackground}\n                    color={colors.newGreenText} fontFamily=\"Barlow-Medium\" iconSize={24} popupTitle=\"Entry Fee\"\n                  />\n                </Div>\n\n                <Button\n                  text=\"Start New Friend Challenge\" onPress={() => setIsOpenFriendsChallengeConfirmation(true)}\n                  w={309} fontFamily=\"Barlow-SemiBold\" mb={13}\n                />\n\n                <Button\n                  text=\"Cancel\" onPress={props.onClose} w={309} fontFamily=\"Barlow-SemiBold\" borderWidth={1}\n                  borderColor=\"white\" bg={colors.mainBackground} color=\"white\"\n                />\n              </Div>\n            </View>\n          </ScrollView>\n        </View>\n      </Modal>\n\n      <YourFriendChallengeCodeForm\n        code={code}\n        onClose={() => {\n          setCode('');\n          props.onReload();\n        }}\n      />\n\n      <FriendsChallengeConfirmation\n        maxParticipants={+selectedMaxParticipants}\n        totalShots={+selectedNumOfShort}\n        entryFee={+selectedEntryFree}\n        isOpen={isOpenFriendsChallengeConfirmation}\n        onConfirm={onConfirmAndStart}\n        onClose={() => setIsOpenFriendsChallengeConfirmation(false)}\n      />\n    </>\n  );\n};\n\nconst styles = {\n  title: [MainStyle.c_white, MainStyle.Barlow500, MainStyle.f_s_26, MainStyle.l_h_26, MainStyle.m_b_21],\n  label: [MainStyle.w_160, MainStyle.c_white, MainStyle.t_a_c, MainStyle.Barlow500, MainStyle.f_s_16, MainStyle.t_t_u]\n};\n\nexport default React.memo(FriendChallengeDetailsFrom);\n","import React from 'react';\nimport {Modal, ScrollView, Text, View} from 'react-native';\nimport Button from '../../../../components/Button';\nimport Div from '../../../../lib/Div';\nimport MainStyle from '../../../../../MainStyle';\nimport {colors} from '../../../../assets/styles/colors';\n\ntype Props = { message: string, onClose: () => void };\n\nconst InvalidCodeModal = (props: Props) => {\n  const {message} = props;\n\n  return (\n    <Modal animationType=\"fade\" transparent visible={!!message} statusBarTranslucent={false} hardwareAccelerated={false}\n           onRequestClose={props.onClose}>\n      <View style={[MainStyle.fix_gradient_and_modal_error_in_landscape, MainStyle.flex1, MainStyle.bg_filter_modal]}>\n        <ScrollView contentContainerStyle={MainStyle.flex1}>\n          <View style={[MainStyle.min_h_full, MainStyle.a_i_c, MainStyle.j_c_c]}>\n            <Div w={390} h={342} rounded={20} borderWidth={1} borderColor={colors.settings_border}\n                     bg={colors.settings_bg} py={44} alignItems=\"center\">\n              <Text style={styles.title}>Invalid Code</Text>\n\n              <Text style={styles.message}>{message}</Text>\n\n              <Button onPress={props.onClose} text=\"OK\" w={240} fontFamily=\"Barlow-SemiBold\"/>\n            </Div>\n          </View>\n        </ScrollView>\n      </View>\n    </Modal>\n  );\n};\n\nconst styles = {\n  title: [MainStyle.c_white, MainStyle.Barlow500, MainStyle.f_s_26, MainStyle.l_h_26, MainStyle.m_b_38],\n  message: [MainStyle.c_white, MainStyle.Barlow500, MainStyle.f_s_22, MainStyle.m_b_47, MainStyle.t_a_c]\n};\n\nexport default React.memo(InvalidCodeModal);\n","import {useState, useEffect} from 'react';\n\ntype UseMaskedInputProps = { value: string, onChangeText: (text: string) => void, mask: Array<RegExp | string> };\n\nconst useMaskedInput = ({value, onChangeText, mask}: UseMaskedInputProps) => {\n  const [maskedValue, setMaskedValue] = useState<string>(value);\n  const [selection, setSelection] = useState({start: 0, end: 0});\n\n  useEffect(() => {\n    applyMask(value);\n  }, [value]);\n\n  const applyMask = (input: string) => {\n    if (input.length === 0) {\n      setMaskedValue('');\n      return;\n    }\n\n    let masked = '';\n    let inputIndex = 0;\n    let maskIndex = 0;\n\n    while (inputIndex < input.length && maskIndex < mask.length) {\n      if (mask[maskIndex] instanceof RegExp) {\n        const regExp = mask[maskIndex] as RegExp;\n\n        if (regExp.test(input[inputIndex])) {\n          masked += input[inputIndex];\n          inputIndex++;\n        }\n\n        maskIndex++;\n\n      } else {\n        masked += mask[maskIndex];\n        maskIndex++;\n      }\n    }\n\n    while (maskIndex < mask.length) {\n      if (mask[maskIndex] instanceof RegExp) masked += '_';\n      else masked += mask[maskIndex];\n\n      maskIndex++;\n    }\n\n    setMaskedValue(masked);\n    setSelection({start: input.length, end: input.length});\n  };\n\n  const handleChangeText = (text: string) => {\n    const cleanText = text.replace(/\\D/g, '');\n    if (cleanText.length > mask.length) return;\n\n    applyMask(cleanText);\n    onChangeText(cleanText);\n  };\n\n  return {value: maskedValue, onChangeText: handleChangeText, selection};\n};\n\nexport default useMaskedInput;\n","import React from \"react\";\nimport {Modal, Pressable, ScrollView, Text, View} from \"react-native\";\nimport MainStyle from \"../../MainStyle\";\nimport {useNavigation} from \"@react-navigation/native\";\n\ntype Props = { isOpen: boolean, onClose: () => void };\n\nconst InsufficientFundsPopup = (props: Props) => {\n  const {isOpen} = props;\n  const navigation: any = useNavigation();\n\n  const playSolo = () => {\n    navigation.reset({index: 0, routes: [{name: 'challenges'}]});\n  };\n\n  const onDeposit = () => {\n    navigation.reset({index: 0, routes: [{name: 'account', params: {step: 1}}]});\n  };\n\n  return (\n    <Modal animationType=\"fade\" transparent visible={isOpen} statusBarTranslucent={false} hardwareAccelerated={false}\n           onRequestClose={props.onClose}>\n      <View style={[MainStyle.fix_gradient_and_modal_error_in_landscape, MainStyle.flex1, MainStyle.bg_filter_modal]}>\n        <ScrollView contentContainerStyle={MainStyle.flex1}>\n          <View style={[MainStyle.min_h_full, MainStyle.a_i_c, MainStyle.j_c_c]}>\n            <View style={styles.contentWrapper}>\n              <Text style={styles.title}>\n                {'You don’t have enough money in your wallet right now.\\nFriend Challenges require Withdrawable Funds to enter.'}\n              </Text>\n\n              <View style={MainStyle.flex1}/>\n\n              <View style={MainStyle.m_x_40}>\n                <Pressable style={styles.deposit} onPress={onDeposit}>\n                  <Text style={styles.btn}> DEPOSIT TO PLAY</Text>\n                </Pressable>\n\n                <Pressable style={[...styles.btn_wrap, MainStyle.m_b_20]} onPress={playSolo}>\n                  <Text style={[...styles.btn, MainStyle.c_white, MainStyle.m_x_23]}>\n                    Play Solo\n                  </Text>\n                </Pressable>\n\n                <Pressable style={styles.btn_wrap} onPress={props.onClose}>\n                  <Text style={[...styles.btn, MainStyle.c_white]}>Cancel</Text>\n                </Pressable>\n              </View>\n            </View>\n          </View>\n        </ScrollView>\n      </View>\n    </Modal>\n  );\n};\n\nconst styles = {\n  contentWrapper: [\n    MainStyle.bg_settings, MainStyle.w_389, MainStyle.b_r_20, MainStyle.b_c_settings_border, MainStyle.b_w_1,\n    MainStyle.p_t_30, MainStyle.min_h_510, MainStyle.p_b_67\n  ],\n  title: [MainStyle.c_white, MainStyle.Barlow500, MainStyle.f_s_23, MainStyle.m_l_37, MainStyle.w_255],\n  btn: [MainStyle.c_mainBackground, MainStyle.t_a_c, MainStyle.Barlow600, MainStyle.f_s_18],\n  btn_wrap: [\n    MainStyle.b_r_70, MainStyle.bg_main, MainStyle.b_w_1, MainStyle.b_c_white, MainStyle.h_63, MainStyle.j_c_c\n  ],\n  deposit: [MainStyle.b_r_70, MainStyle.bg_newGreen, MainStyle.m_b_20, MainStyle.h_63, MainStyle.j_c_c]\n};\n\nexport default React.memo(InsufficientFundsPopup);\n","import React, {useContext, useEffect, useLayoutEffect, useState} from 'react';\nimport {Platform, ScrollView, Text} from 'react-native';\nimport * as Yup from 'yup';\nimport BottomNavigation from '../../../components/BottomNavigation';\nimport Button from '../../../components/Button';\nimport ChallengeFull from './components/ChallengeFull';\nimport Div from '../../../lib/Div';\nimport FriendChallengeDetails from './components/FriendChallengeDetails';\nimport FriendChallengeDetailsForm from './components/FriendChallengeDetailsForm';\nimport Input from '../../../components/Input';\nimport InvalidCodeModal from './components/InvalidCodeModal';\nimport MainStyle from '../../../../MainStyle';\nimport NewHeader from '../../../components/NewHeader';\nimport {colors} from '../../../assets/styles/colors';\nimport {useFormik} from 'formik';\nimport AsyncStorage from \"@react-native-async-storage/async-storage\";\nimport moment from \"moment\";\nimport {BrandName, SESSION_EXPIRE_TIME} from \"../../../constants\";\nimport {\n  ListTournamentRequest, Tournament, TournamentPlayerBet, TournamentState, TournamentSurveyQuestionType, User\n} from \"../../../../generated/smg_service_pb\";\nimport {StoreContext} from \"../../../components/StoreContextProvider\";\nimport useMaskedInput from \"../../../utils/useMaskedInput\";\nimport {useIsFocused, useNavigation, useRoute} from \"@react-navigation/native\";\nimport ServiceClient from \"../../../utils/ServiceClient\";\nimport {CancelModalProps} from \"../../../types\";\nimport P from \"../../../lib/P\";\nimport InsufficientFundsPopup from \"../../../modals/InsufficientFundsPopup\";\nimport LoginWithPin from \"../../LoginWithPin\";\nimport Sort = ListTournamentRequest.Sort;\nimport TournamentAccess = ListTournamentRequest.TournamentAccess;\nimport AdditionalSurveyQuestions from \"../../../modals/AdditionalSurveyQuestions\";\n\nconst mask = [/\\d/, /\\d/, /\\d/, /\\d/];\n\nconst FriendsScreen = () => {\n  const [challengeFull, setChallengeFull] = useState(false);\n  const [invalidCodeModal, setInvalidCodeModal] = useState('');\n  const [friendChallengeDetailsForm, setFriendChallengeDetailsForm] = useState(false);\n  const formik = useFormik({\n    initialValues: {code: ''}, validationSchema: Yup.object({code: Yup.string().matches(/^\\d+$/).length(4).required()}),\n    onSubmit: () => {\n      console.log('submit');\n    }\n  });\n  const Context = useContext(StoreContext);\n  const {cancelModalConfig, user, session} = Context;\n  const numberMaskedInputProps = useMaskedInput({\n    value: formik.values.code, onChangeText: formik.handleChange('code'), mask\n  });\n  const isFocused = useIsFocused();\n  const navigation: any = useNavigation();\n  const [tournament, setTournament] = useState<Tournament.AsObject>();\n  const route = useRoute();\n  const params: any = route?.params;\n  const code = params?.code;\n  const [showInsufficientFundsPopup, setShowInsufficientFundsPopup] = useState(false);\n  const [isLogout, setIsLogout] = useState(false);\n  const [showAdditionalSurveyQuestions, setShowAdditionalSurveyQuestions] = useState(false);\n  const initialValues: Record<string, string[]> = tournament?.questionsList.reduce((values, question) => {\n    values[question.id] = [];\n    return values;\n  }, {} as Record<string, string[]>) || {} as Record<string, string[]>;\n  const validationSchema = Yup.object(\n    tournament?.questionsList.reduce((schema, question) => {\n      if (question.type === TournamentSurveyQuestionType.MULTI_CHOICE) {\n        schema[question.id] = Yup.array().min(1, 'Please select at least one option').required('This field is required');\n\n      } else {\n        schema[question.id] = Yup.array().of(Yup.string()).test('is-single-value', 'This field is required', (value) => Array.isArray(value) && value.length === 1 && !!value[0]).required('This field is required');\n      }\n      return schema;\n    }, {} as Record<string, any>)\n  );\n  const questionFormik = useFormik<Record<string, string[]>>({\n    initialValues, validationSchema,\n    onSubmit: () => {\n      setShowAdditionalSurveyQuestions(false);\n      joinPrivateTournament();\n    }\n  });\n\n  const joinPrivateTournament = () => {\n    setTournament(undefined);\n    Context.setLoadingOverlay(true);\n\n    ServiceClient.joinPrivateTournament(code || formik.values.code, questionFormik.values).then(res => {\n      navigation.navigate('TournamentDetails', {id: res?.id, isPrivateTournament: true, showPopup: true});\n\n    }).catch(err => {\n      console.log('joinPrivateTournament err', err);\n      Context.setLoadingOverlay(false);\n\n      if (err.message.includes('balance')) {\n        setShowInsufficientFundsPopup(true);\n\n      } else {\n        Context.setCancelModalConfig({\n          visible: true, title: 'Error', subtitle: err.message, rightBtnText: 'OK',\n          onResume: () => {\n            Context.setCancelModalConfig({...cancelModalConfig, visible: false});\n            navigation.reset({index: 0, routes: [{name: 'FriendsScreen'}]});\n          }\n        });\n      }\n    });\n  };\n\n  const verifyPrivateTournamentCode = (code: string) => {\n    Context.setLoadingOverlay(true);\n\n    ServiceClient.verifyPrivateTournamentCode(code).then(res => {\n      Context.setLoadingOverlay(false);\n      setTournament(res);\n\n    }).catch(err => {\n      console.log('verifyPrivateTournamentCode err', err);\n      Context.setLoadingOverlay(false);\n\n      if (err.code === 20020068) {\n        setInvalidCodeModal(`Sorry but this\\nFriend Challenge\\ncode is invalid.`);\n\n      } else if (err.code === 20020071) {\n        setChallengeFull(true);\n\n      } else {\n        setInvalidCodeModal(`Sorry but this Friend Challenge\\nhas expired or the Challenge\\nhas been completed.`);\n      }\n    });\n  };\n\n  const getFieldError = (key: string): boolean | string | undefined => {\n    return formik.touched[key as keyof typeof formik.touched] && formik.errors[key as keyof typeof formik.errors];\n  };\n\n  const getActivePrivateTournament = (showPopup: boolean = false) => {\n    ServiceClient.listTournaments([TournamentState.PLAYING], Sort.ENTRY_BEGIN_DATE_LATEST, TournamentAccess.PRIVATE, true).then(res => {\n      Context.setLoadingOverlay(false);\n\n      const tournament = res.find(el => {\n        const currentNumberOfShots = el?.currentplayerdetails?.betsList.filter(bet => bet.state === TournamentPlayerBet.State.FINISHED && bet.resolved).length || 0;\n        return currentNumberOfShots !== el.totalshots;\n      });\n\n      if (code) {\n        verifyPrivateTournamentCode(code);\n\n      } else if (!!tournament) {\n        navigation.navigate('TournamentDetails', {id: tournament.id, isPrivateTournament: true, showPopup});\n      }\n\n    }).catch(err => {\n      console.log('listTournaments err', err);\n      Context.setLoadingOverlay(false);\n\n      let conf: CancelModalProps = {\n        visible: true, title: 'ERROR', leftBtnText: 'OK', subtitle: err.message,\n        onExit: () => {\n          Context.setCancelModalConfig({...cancelModalConfig, visible: false});\n          // if (err.code !== 20020042) navigation.navigate({name: 'account', params: {step: 1}});\n        }\n      };\n\n      Context.setCancelModalConfig(conf);\n    });\n  };\n\n  const getUser = () => {\n    Context.getUser().catch(err => {\n      console.log('getUser err', err);\n      setTimeout(() => {\n        getUser();\n      }, 5000);\n    });\n  };\n\n  useEffect(() => {\n    if (user?.kycStatus === 6) {\n      Context.setLoadingOverlay(false);\n\n      Context.setCancelModalConfig({\n        visible: true, title: 'ERROR', leftBtnText: 'Cancel', rightBtnText: 'Contact Support',\n        subtitle: `Your Know Your Customer information and registration information do not match. Your account with ${BrandName} has been locked. Please contact support to resolve this issue.`,\n        onResume: () => {\n          if (Platform.OS === 'web') {\n            window.open('https://smgames.atlassian.net/servicedesk/customer/portal/3', '_self');\n          }\n        },\n        onClose: () => {\n          Context.setCancelModalConfig({...cancelModalConfig, visible: false});\n          navigation.navigate({name: 'account', params: {step: 0}});\n        }\n      });\n    }\n  }, [user?.kycStatus]);\n\n  useEffect(() => {\n    if (!user || !isFocused || isLogout) return;\n\n    getActivePrivateTournament();\n    setIsLogout(false);\n\n    const time = setTimeout(() => {\n      getUser();\n    }, 1000 * 30);\n\n    return () => {\n      clearTimeout(time);\n    };\n  }, [user, isFocused, isLogout]);\n\n  useEffect(() => {\n    if (!isFocused) return;\n\n    const time = setInterval(() => {\n      (async () => {\n        const lastActiveTime = await AsyncStorage.getItem('lastActiveTime');\n\n        if (lastActiveTime && moment().diff(moment(lastActiveTime), 'minutes') > SESSION_EXPIRE_TIME) {\n          Context.logout().then(() => {\n            Context.setLoadingOverlay(false);\n            setIsLogout(true);\n          });\n        }\n      })();\n    }, 1000 * 60);\n\n    return () => {\n      clearInterval(time);\n    };\n  }, [isFocused]);\n\n  useLayoutEffect(() => {\n    Context.setLoadingOverlay(true);\n\n    if (!session || !user) {\n      (async () => {\n        const time = await AsyncStorage.getItem('lastActiveTime');\n\n        if (time && moment().diff(moment(time), 'minutes') > SESSION_EXPIRE_TIME) {\n          Context.logout().then(() => {\n            Context.setLoadingOverlay(false);\n            setIsLogout(true);\n          });\n\n        } else {\n          const val = await AsyncStorage.getItem('session');\n          let curUser: User.AsObject | undefined;\n\n          if (val) {\n            const Session = JSON.parse(val);\n            Context.setSession(Session);\n\n            try {\n              curUser = await Context.getUser(Session);\n\n            } catch (e: any) {\n              Context.setCancelModalConfig({\n                visible: true, title: 'Error', subtitle: e?.message || 'Error', rightBtnText: 'OK',\n                onResume: () => Context.setCancelModalConfig({...cancelModalConfig, visible: false})\n              });\n            }\n          }\n\n          if (!val || !curUser || !curUser.userId) {\n            Context.logout().then(() => {\n              Context.setLoadingOverlay(false);\n              setIsLogout(true);\n            });\n\n          } else console.log('user', curUser);\n        }\n      })();\n    }\n  }, []);\n\n  return (\n    <>\n      {isLogout ? <LoginWithPin onSuccessLogin={() => setIsLogout(false)}/> : (\n        <>\n          <NewHeader pb={11}/>\n\n          <ScrollView contentContainerStyle={MainStyle.flex1}>\n            <Text style={styles.title}>Play With Friends</Text>\n\n            <Div flex={1} alignItems=\"center\" justifyContent=\"center\">\n              <Div w={368} h={300} rounded={20} borderColor={colors.settings_border} bg={colors.settings_bg}\n                   mb={30}>\n                <Text style={styles.subtitle}>{`Enter Friend\\nChallenge Code:`}</Text>\n\n                <Div w={240} h={60} rounded={20} borderColor={colors.settings_border} borderWidth={1} mx=\"auto\"\n                     bg=\"black\" mb={30}>\n                  <Input\n                    type=\"numeric\" placeholder=\"____\" {...numberMaskedInputProps} w={185} mx=\"auto\" h={58}\n                    inputStyles={styles.input} placeholderTextColor=\"white\" onBlur={formik.handleBlur('code')}\n                    error={getFieldError('code')}\n                  />\n                </Div>\n\n                <Button\n                  text=\"Enter Existing Challenge\" w={280} mx=\"auto\" fontFamily=\"Barlow-SemiBold\"\n                  disabled={formik.errors.code !== undefined || formik.values.code.length < 4}\n                  onPress={() => verifyPrivateTournamentCode(formik.values.code)}\n                />\n              </Div>\n\n              <Button\n                text=\"Start New Friend Challenge\" w={350} mx=\"auto\" fontFamily=\"Barlow-SemiBold\" borderWidth={1}\n                borderColor=\"white\" onPress={() => setFriendChallengeDetailsForm(true)} bg={colors.mainBackground}\n                color=\"white\" mb={20}\n              />\n\n              <Button\n                text=\"See Completed Challenges\" w={350} mx=\"auto\" fontFamily=\"Barlow-SemiBold\" borderWidth={1}\n                borderColor=\"white\" bg={colors.mainBackground} color=\"white\" mb={10}\n                onPress={() => navigation.reset({index: 0, routes: [{name: 'CompletedFriendChallenges'}]})}\n              />\n            </Div>\n\n            <P ta=\"center\" fw={500} mb={20} color={colors.gray}>Malfunction voids all pays and plays</P>\n          </ScrollView>\n\n          <BottomNavigation page=\"FriendsScreen\"/>\n\n          <FriendChallengeDetails\n            tournament={tournament}\n            onConfirm={() => {\n              if (tournament?.questionsList.length) setShowAdditionalSurveyQuestions(true);\n              else joinPrivateTournament();\n            }}\n            onClose={() => {\n              setTournament(undefined);\n              navigation.reset({index: 0, routes: [{name: 'FriendsScreen'}]});\n            }}\n          />\n\n          <ChallengeFull\n            isOpen={challengeFull} onClose={() => setChallengeFull(false)}\n            startNewChallenge={() => setFriendChallengeDetailsForm(true)}\n          />\n\n          <InvalidCodeModal\n            message={invalidCodeModal}\n            onClose={() => {\n              setInvalidCodeModal('');\n              navigation.reset({index: 0, routes: [{name: 'FriendsScreen'}]});\n            }}\n          />\n\n          <FriendChallengeDetailsForm\n            isOpen={friendChallengeDetailsForm} onClose={() => setFriendChallengeDetailsForm(false)}\n            onReload={() => getActivePrivateTournament(true)}\n          />\n\n          <InsufficientFundsPopup\n            isOpen={showInsufficientFundsPopup}\n            onClose={() => {\n              setShowInsufficientFundsPopup(false);\n              navigation.reset({index: 0, routes: [{name: 'FriendsScreen'}]});\n            }}\n          />\n\n          {!!tournament?.questionsList.length && (\n            <AdditionalSurveyQuestions\n              visible={showAdditionalSurveyQuestions} onClose={() => setShowAdditionalSurveyQuestions(false)}\n              questionsList={tournament.questionsList} formik={questionFormik}\n            />\n          )}\n        </>\n      )}\n    </>\n  );\n};\n\nconst styles = {\n  title: [\n    MainStyle.c_white, MainStyle.Barlow500, MainStyle.f_s_30, MainStyle.l_h_24, MainStyle.m_x_20, MainStyle.m_b_10\n  ],\n  subtitle: [\n    MainStyle.c_white, MainStyle.t_a_c, MainStyle.Barlow500, MainStyle.f_s_22, MainStyle.m_t_28, MainStyle.m_b_23\n  ],\n  input: [\n    MainStyle.Barlow500, MainStyle.f_s_32, MainStyle.l_s_5, MainStyle.bg_transparent, MainStyle.b_w_0, MainStyle.t_a_c\n  ]\n};\n\nexport default FriendsScreen;\n","import React, {useContext, useEffect, useLayoutEffect, useState} from \"react\";\nimport {Platform, Pressable, ScrollView} from \"react-native\";\nimport ServiceClient from \"../utils/ServiceClient\";\nimport {CancelModalProps} from \"../types\";\nimport {StoreContext} from \"../components/StoreContextProvider\";\nimport {\n  ListTournamentRequest, Tournament, TournamentPlayerBet, TournamentState, User\n} from \"../../generated/smg_service_pb\";\nimport {useIsFocused, useNavigation} from \"@react-navigation/native\";\nimport NewHeader from \"../components/NewHeader\";\nimport MainStyle from \"../../MainStyle\";\nimport Div from \"../lib/Div\";\nimport {colors} from \"../assets/styles/colors\";\nimport BottomNavigation from \"../components/BottomNavigation\";\nimport AsyncStorage from \"@react-native-async-storage/async-storage\";\nimport moment from \"moment\";\nimport {LANDING_PAGE_URL, SESSION_EXPIRE_TIME} from \"../constants\";\nimport P from \"../lib/P\";\nimport Button from \"../components/Button\";\nimport {formatPayout} from \"../utils\";\n\nconst Sort = ListTournamentRequest.Sort;\nconst TournamentAccess = ListTournamentRequest.TournamentAccess;\n\nconst CompletedFriendChallenges = () => {\n  const Context = useContext(StoreContext);\n  const {cancelModalConfig, user, session} = Context;\n  const [tournamentsList, setTournamentsList] = useState<Tournament.AsObject[]>([]);\n  const navigation: any = useNavigation();\n  const isFocused = useIsFocused();\n\n  const getPlayerDetails = (data: Tournament.AsObject) => {\n    const {playerdetailsList, currentplayerdetails} = data;\n    const currPlayer = playerdetailsList.find(el => el.playerId === currentplayerdetails?.playerId);\n    let winnerNames = '';\n    if (!currPlayer) return {payout: 0};\n\n    playerdetailsList.forEach(player => {\n      if (player.won) {\n        if (!winnerNames) winnerNames = player.playerName;\n        else winnerNames += `, ${player.playerName}`;\n      }\n    });\n\n    return {\n      players: playerdetailsList.length, position: currPlayer.rank, winnerNames, payout: currPlayer.prize,\n      didIWin: currPlayer.won\n    };\n  };\n\n  const getCompletedPrivateTournaments = () => {\n    const states = [TournamentState.FINISHED, TournamentState.CANCELLED, TournamentState.PLAYING];\n\n    ServiceClient.listTournaments(states, Sort.FINISH_TIME, TournamentAccess.PRIVATE, true).then(res => {\n      Context.setLoadingOverlay(false);\n\n      const tournaments = res.filter(el => {\n        const currentNumberOfShots = el?.currentplayerdetails?.betsList.filter(bet => bet.state === TournamentPlayerBet.State.FINISHED && bet.resolved).length || 0;\n        return el.state === TournamentState.PLAYING ? currentNumberOfShots === el.totalshots : true;\n\n      }).sort((a, b) => {\n        if (a.entryenddate > b.entryenddate) return -1;\n        if (a.entryenddate < b.entryenddate) return 1;\n        return 0;\n      });\n\n      setTournamentsList(tournaments);\n\n    }).catch(err => {\n      console.log('listTournaments err', err);\n      Context.setLoadingOverlay(false);\n\n      let conf: CancelModalProps = {\n        visible: true, title: 'ERROR', leftBtnText: 'OK', subtitle: err.message,\n        onExit: () => {\n          Context.setCancelModalConfig({...cancelModalConfig, visible: false});\n          if (err.code !== 20020042) navigation.navigate({name: 'account', params: {step: 1}});\n        }\n      };\n\n      Context.setCancelModalConfig(conf);\n    });\n  };\n\n  const getUser = () => {\n    Context.getUser().catch(err => {\n      console.log('getUser err', err);\n      setTimeout(() => {\n        getUser();\n      }, 5000);\n    });\n  };\n\n  useEffect(() => {\n    if (!user || !isFocused) return;\n\n    getCompletedPrivateTournaments();\n\n    const time = setTimeout(() => {\n      getUser();\n    }, 1000 * 10);\n\n    return () => {\n      clearTimeout(time);\n    };\n  }, [user, isFocused]);\n\n  useEffect(() => {\n    if (!isFocused) return;\n\n    const time = setInterval(() => {\n      (async () => {\n        const lastActiveTime = await AsyncStorage.getItem('lastActiveTime');\n\n        if (lastActiveTime && moment().diff(moment(lastActiveTime), 'minutes') > SESSION_EXPIRE_TIME) {\n          Context.logout().then(() => {\n            if (Platform.OS === 'web') window.open(LANDING_PAGE_URL, '_self');\n            Context.setLoadingOverlay(false);\n          });\n        }\n      })();\n    }, 1000 * 60);\n\n    return () => {\n      clearInterval(time);\n    };\n  }, [isFocused]);\n\n  useLayoutEffect(() => {\n    Context.setLoadingOverlay(true);\n\n    if (!session || !user) {\n      (async () => {\n        const time = await AsyncStorage.getItem('lastActiveTime');\n\n        if (time && moment().diff(moment(time), 'minutes') > SESSION_EXPIRE_TIME) {\n          Context.logout().then(() => {\n            if (Platform.OS === 'web') window.open(LANDING_PAGE_URL, '_self');\n            Context.setLoadingOverlay(false);\n          });\n\n        } else {\n          const val = await AsyncStorage.getItem('session');\n          let curUser: User.AsObject | undefined;\n\n          if (val) {\n            const Session = JSON.parse(val);\n            Context.setSession(Session);\n\n            try {\n              curUser = await Context.getUser(Session);\n\n            } catch (e: any) {\n              Context.setCancelModalConfig({\n                visible: true, title: 'Error', subtitle: e?.message || 'Error', rightBtnText: 'OK',\n                onResume: () => Context.setCancelModalConfig({...cancelModalConfig, visible: false})\n              });\n            }\n          }\n\n          if (!val || !curUser || !curUser.userId) {\n            Context.logout().then(() => {\n              if (Platform.OS === 'web') window.open(LANDING_PAGE_URL, '_self');\n              Context.setLoadingOverlay(false);\n            });\n\n          } else console.log('user', curUser);\n        }\n      })();\n    }\n  }, []);\n\n  return (\n    <>\n      <NewHeader/>\n\n      <ScrollView contentContainerStyle={MainStyle.flex1} scrollEventThrottle={16}>\n        <P fw={500} fs={32} ml={21}>Play With Friends</P>\n\n        <Div row justifyContent=\"space-between\" mb={10} alignItems=\"stretch\">\n          <P fw={500} fs={22} ml={21}>/ Friend Challenge Details</P>\n        </Div>\n\n        <Div h={1} bg={colors.divider_bg} mx={23} mb={18}/>\n\n        {tournamentsList.map(el => {\n          const {players, position, winnerNames, payout, didIWin} = getPlayerDetails(el);\n\n          return (\n            <Pressable onPress={() => navigation.navigate('TournamentDetails', {id: el.id, isPrivateTournament: true})}\n                       style={[...styles.wrap, {borderColor: didIWin ? colors.newGreenText : colors.settings_border}]}\n                       key={el.id}>\n              <P color={colors.id_text} ta=\"center\" fw={500} fs={20} mb={16}>\n                {el.finishdate ? moment.unix(el.finishdate).format('LL') : 'Ongoing'}\n              </P>\n\n              <Div row>\n                <P flex={1} ta=\"center\" fw={500} fs={14}>PLAYERS</P>\n                <P flex={1} ta=\"center\" fw={500} fs={14}>ENTRY FEE</P>\n                <P flex={1} ta=\"center\" fw={500} fs={14}>SHOTS</P>\n                <P flex={1} ta=\"center\" fw={500} fs={14}>SCORE</P>\n              </Div>\n\n              <Div row mb={13}>\n                <P flex={1} ta=\"center\" fw={700}>{players}</P>\n                <P flex={1} ta=\"center\" fw={700}>{formatPayout(el.entryfee / 100)}</P>\n                <P flex={1} ta=\"center\" fw={700}>\n                  {el.currentplayerdetails?.betsList.filter(bet => bet.state === TournamentPlayerBet.State.FINISHED && bet.resolved).length}\n                </P>\n                <P flex={1} ta=\"center\" fw={700}>{el.currentplayerdetails?.score}</P>\n              </Div>\n\n              <Div row justifyContent=\"space-around\">\n                <Div>\n                  <P ta=\"center\" fw={500} fs={14}>POSITION</P>\n                  <P ta=\"center\" fw={700} color={colors.newGreenText}>{position}</P>\n                </Div>\n\n                <Div maxW=\"50%\">\n                  <P ta=\"center\" fw={500} fs={14}>WINNER</P>\n                  <P ta=\"center\" fw={700} numberOfLines={1} color={didIWin ? colors.newGreenText : ''}>\n                    {winnerNames || '-'}\n                  </P>\n                </Div>\n\n                <Div>\n                  <P ta=\"center\" fw={500} fs={14}>PAYOUT</P>\n                  <P ta=\"center\" fw={700} color={colors.newGreenText}>{formatPayout(payout / 100)}</P>\n                </Div>\n              </Div>\n            </Pressable>\n          );\n        })}\n      </ScrollView>\n\n      <Div h={1} bg={colors.divider_bg} mx={23} mb={18}/>\n\n      <Button\n        text=\"OK\" w={350} mx=\"auto\" fontFamily=\"Barlow-SemiBold\" mb={13}\n        onPress={() => navigation.reset({index: 0, routes: [{name: 'FriendsScreen'}]})}\n      />\n\n      <P ta=\"center\" fw={500} mb={20} color={colors.gray}>Malfunction voids all pays and plays</P>\n\n      <BottomNavigation page=\"FriendsScreen\"/>\n    </>\n  );\n};\n\nconst styles = {\n  wrap: [\n    MainStyle.w_360, MainStyle.h_160, MainStyle.b_r_20, MainStyle.b_w_1, MainStyle.bg_settings, MainStyle.m_b_10,\n    MainStyle.m_x_auto, MainStyle.p_10\n  ]\n};\n\nexport default CompletedFriendChallenges;\n","import React, {useContext, useEffect, useLayoutEffect, useState} from \"react\";\nimport {Platform, ScrollView} from \"react-native\";\nimport NewHeader from \"../components/NewHeader\";\nimport MainStyle from \"../../MainStyle\";\nimport P from \"../lib/P\";\nimport {colors} from \"../assets/styles/colors\";\nimport moment from \"moment\";\nimport Div from \"../lib/Div\";\nimport {\n  ListTournamentRequest, Tournament, TournamentPlayerBet, TournamentState, User\n} from \"../../generated/smg_service_pb\";\nimport {useIsFocused, useNavigation} from \"@react-navigation/native\";\nimport Button from \"../components/Button\";\nimport BottomNavigation from \"../components/BottomNavigation\";\nimport ServiceClient from \"../utils/ServiceClient\";\nimport {CancelModalProps} from \"../types\";\nimport AsyncStorage from \"@react-native-async-storage/async-storage\";\nimport {LANDING_PAGE_URL, localFormatter, SESSION_EXPIRE_TIME} from \"../constants\";\nimport {StoreContext} from \"../components/StoreContextProvider\";\nimport {formatCurrency, tournamentStatusStyle} from \"../utils\";\n\nconst Sort = ListTournamentRequest.Sort;\nconst TournamentAccess = ListTournamentRequest.TournamentAccess;\n\nconst AllTournaments = () => {\n  const [tournamentsList, setTournamentsList] = useState<Tournament.AsObject[]>([]);\n  const navigation: any = useNavigation();\n  const Context = useContext(StoreContext);\n  const {cancelModalConfig, user, session} = Context;\n  const isFocused = useIsFocused();\n\n  const listTournaments = () => {\n    ServiceClient.listTournaments([], Sort.DEFAULT, TournamentAccess.PUBLIC, true, false).then(res => {\n      Context.setLoadingOverlay(false);\n\n      const tournaments = res.filter(el => {\n        const currentNumberOfShots = el?.currentplayerdetails?.betsList.filter(bet => bet.state === TournamentPlayerBet.State.FINISHED && bet.resolved).length || 0;\n        return el.state === TournamentState.PLAYING ? currentNumberOfShots === el.totalshots : true;\n\n      }).sort((a, b) => {\n        if (a.entryenddate > b.entryenddate) return -1;\n        if (a.entryenddate < b.entryenddate) return 1;\n        return 0;\n      });\n\n      setTournamentsList(tournaments);\n\n    }).catch(err => {\n      console.log('listTournaments err', err);\n      Context.setLoadingOverlay(false);\n\n      let conf: CancelModalProps = {\n        visible: true, title: 'ERROR', leftBtnText: 'OK', subtitle: err.message,\n        onExit: () => {\n          Context.setCancelModalConfig({...cancelModalConfig, visible: false});\n          if (err.code !== 20020042) navigation.navigate({name: 'account', params: {step: 1}});\n        }\n      };\n\n      Context.setCancelModalConfig(conf);\n    });\n  };\n\n  const getUser = () => {\n    Context.getUser().catch(err => {\n      console.log('getUser err', err);\n      setTimeout(() => {\n        getUser();\n      }, 5000);\n    });\n  };\n\n  useEffect(() => {\n    if (!user || !isFocused) return;\n\n    listTournaments();\n\n    const time = setTimeout(() => {\n      getUser();\n    }, 1000 * 10);\n\n    return () => {\n      clearTimeout(time);\n    };\n  }, [user, isFocused]);\n\n  useEffect(() => {\n    if (!isFocused) return;\n\n    const time = setInterval(() => {\n      (async () => {\n        const lastActiveTime = await AsyncStorage.getItem('lastActiveTime');\n\n        if (lastActiveTime && moment().diff(moment(lastActiveTime), 'minutes') > SESSION_EXPIRE_TIME) {\n          Context.logout().then(() => {\n            if (Platform.OS === 'web') window.open(LANDING_PAGE_URL, '_self');\n            Context.setLoadingOverlay(false);\n          });\n        }\n      })();\n    }, 1000 * 60);\n\n    return () => {\n      clearInterval(time);\n    };\n  }, [isFocused]);\n\n  useLayoutEffect(() => {\n    Context.setLoadingOverlay(true);\n\n    if (!session || !user) {\n      (async () => {\n        const time = await AsyncStorage.getItem('lastActiveTime');\n\n        if (time && moment().diff(moment(time), 'minutes') > SESSION_EXPIRE_TIME) {\n          Context.logout().then(() => {\n            if (Platform.OS === 'web') window.open(LANDING_PAGE_URL, '_self');\n            Context.setLoadingOverlay(false);\n          });\n\n        } else {\n          const val = await AsyncStorage.getItem('session');\n          let curUser: User.AsObject | undefined;\n\n          if (val) {\n            const Session = JSON.parse(val);\n            Context.setSession(Session);\n\n            try {\n              curUser = await Context.getUser(Session);\n\n            } catch (e: any) {\n              Context.setCancelModalConfig({\n                visible: true, title: 'Error', subtitle: e?.message || 'Error', rightBtnText: 'OK',\n                onResume: () => Context.setCancelModalConfig({...cancelModalConfig, visible: false})\n              });\n            }\n          }\n\n          if (!val || !curUser || !curUser.userId) {\n            Context.logout().then(() => {\n              if (Platform.OS === 'web') window.open(LANDING_PAGE_URL, '_self');\n              Context.setLoadingOverlay(false);\n            });\n\n          } else console.log('user', curUser);\n        }\n      })();\n    }\n  }, []);\n\n  return (\n    <>\n      <NewHeader/>\n\n      <ScrollView contentContainerStyle={MainStyle.flex1} scrollEventThrottle={16}>\n        <P fw={500} fs={30} ml={21} mb={1}>Tournaments</P>\n\n        <Div row justifyContent=\"space-between\" mb={11} alignItems=\"stretch\">\n          <P fw={500} fs={22} ml={21}>/ All Tournaments</P>\n        </Div>\n\n        <Div h={1} bg={colors.divider_bg} mx={22} mb={10}/>\n\n        {tournamentsList.map(el => {\n          const statusStyle = tournamentStatusStyle(el.state);\n\n          return (\n            <Div key={el.id} w={360} h={160} rounded={20} borderWidth={1} borderColor={colors.settings_border}\n                 bg={colors.newDarkBlue} pt={10} px={10} mx=\"auto\" mb={10}>\n              <P color={colors.id_text} ta=\"center\" fw={500} fs={20} mb={16}>\n                {el.name}\n              </P>\n\n              <Div row>\n                <P flex={1} ta=\"center\" fw={500} fs={14} tt=\"uppercase\">Players</P>\n                <P flex={1} ta=\"center\" fw={500} fs={14} tt=\"uppercase\">Registered</P>\n                <P flex={1} ta=\"center\" fw={500} fs={14} tt=\"uppercase\">Entry Fee</P>\n                <P flex={1} ta=\"center\" fw={500} fs={14} tt=\"uppercase\">SHOTS</P>\n              </Div>\n\n              <Div row mb={13}>\n                <P flex={1} ta=\"center\" fw={700}>1 - {el.maxparticipants}</P>\n                <P flex={1} ta=\"center\" fw={700}>{el.playerdetailsList.length}</P>\n                <P flex={1} ta=\"center\" fw={700}>{formatCurrency(el.entryfee / 100)}</P>\n                <P flex={1} ta=\"center\" fw={700}>{el.totalshots}</P>\n              </Div>\n\n              <Div row justifyContent=\"space-between\">\n                <Div ml={12}>\n                  <P tt=\"uppercase\" fw={500} fs={14} mb={3}>Start</P>\n                  <P tt=\"uppercase\" fw={500} fs={14}>End</P>\n                </Div>\n\n                <Div>\n                  <P fs={14} fw=\"700\" mb={3}>\n                    {localFormatter.format(moment.unix(el.entrybegindate).toDate())}\n                  </P>\n                  <P fs={14} fw=\"700\">\n                    {localFormatter.format(moment.unix(el.entryenddate).toDate())}\n                  </P>\n                </Div>\n\n                <P w={96} lh={38} ta=\"center\" bw={1} fw=\"700\" fs={14} tt=\"uppercase\" borderColor={statusStyle.color}>\n                  {statusStyle.text}\n                </P>\n              </Div>\n            </Div>\n          );\n        })}\n      </ScrollView>\n\n      <Div h={1} bg={colors.divider_bg} mx={23} mb={18}/>\n\n      <Button\n        text=\"OK\" w={350} mx=\"auto\" fontFamily=\"Barlow-SemiBold\" mb={13}\n        onPress={() => navigation.reset({index: 0, routes: [{name: 'tournaments'}]})}\n      />\n\n      <P ta=\"center\" fw={500} mb={20} color={colors.gray}>Malfunction voids all pays and plays</P>\n\n      <BottomNavigation page=\"tournaments\"/>\n    </>\n  );\n};\n\nexport default AllTournaments;\n","import React, {useContext, useLayoutEffect} from 'react';\nimport {Platform, StatusBar, useWindowDimensions} from 'react-native';\nimport {NavigationContainer, Theme} from '@react-navigation/native';\nimport {createNativeStackNavigator} from '@react-navigation/native-stack';\nimport {SplashScreen} from '../screens/Common/Splash';\nimport LoginWithPin from \"../screens/LoginWithPin\";\nimport CancelModal from \"../screens/Auth/SignUp/steps/CancelModal\";\nimport {StoreContext} from \"./StoreContextProvider\";\nimport Loader from \"./Loader\";\nimport BetSlip from \"../screens/User/BetSlip\";\nimport Account from \"../screens/User/Account\";\nimport * as NavigationBar from 'expo-navigation-bar';\nimport * as ScreenOrientation from 'expo-screen-orientation';\nimport SuccessModal from \"../modals/SuccessModal\";\nimport AsyncStorage from \"@react-native-async-storage/async-storage\";\nimport ContestEntryModal from '../modals/ContestEntryModal';\nimport moment from 'moment';\nimport ResponsibleGaming from '../screens/Common/Responsible-Gaming';\nimport TransactionHistoryScreen from \"../screens/TransactionHistoryScreen\";\nimport EmailVerification from '../screens/Common/EmailVerification/Index';\nimport TermsAndConditionsScreen from \"../screens/TermsAndConditionsScreen\";\nimport PrivacyPolicyScreen from \"../screens/PrivacyPolicyScreen\";\nimport PromotionsScreen from \"../screens/PromotionsScreen\";\nimport SelfExclusionScreen from \"../screens/SelfExclusionScreen\";\nimport NotificationsScreen from \"../screens/NotificationsScreen\";\nimport PromosScreen from '../screens/User/promos';\nimport TournamentsListingScreen from '../screens/Tournaments/TournamentsListingScreen';\nimport TournamentDetails from \"../screens/TournamentDetails\";\nimport SignUpScreen from \"../screens/Auth/SignUp\";\nimport FriendsScreen from '../screens/User/friends/FriendsScreen';\nimport CompletedFriendChallenges from \"../screens/CompletedFriendChallenges\";\nimport AllTournaments from \"../screens/AllTournaments\";\nimport {BrandName} from \"../constants\";\n\nconst Stack = createNativeStackNavigator();\n\nconst DarkTheme: Theme = {\n  dark: true,\n  colors: {\n    primary: 'rgb(10, 132, 255)',\n    background: 'transparent',\n    card: 'rgb(18, 18, 18)',\n    text: 'rgb(229, 229, 231)',\n    border: 'rgb(39, 39, 41)',\n    notification: 'rgb(255, 69, 58)'\n  }\n};\n\nconst config = {\n  screens: {\n    challenges: 'challenges', account: 'account', promos: 'promos', Splash: 'splash', Register: 'register',\n    LoginWithPin: 'login-with-pin', ResponsibleGaming: 'responsiblegaming', TransactionHistory: 'transaction-history',\n    EmailVerification: 'confirm-email', TermsAndConditions: 'termsandconditions', PrivacyPolicy: 'privacy',\n    Promotions: 'promotions', SelfExclusion: 'self-exclusion', Notifications: 'notifications', tournaments: 'tournaments', TournamentDetails: 'tournament',\n    FriendsScreen: 'play-with-friends', CompletedFriendChallenges: 'completed-friend-challenges',\n    AllTournaments: 'all-tournaments'\n  }\n};\n\nconst linking = {prefixes: [], config};\n\nexport const Main = () => {\n  const Context = useContext(StoreContext);\n  const {loadingOverlay} = Context;\n  const {width} = useWindowDimensions();\n\n  useLayoutEffect(() => {\n    if (Platform.OS === 'web') {\n      document.addEventListener('click', () => {\n        AsyncStorage.setItem('lastActiveTime', moment().format()).then();\n      }, true);\n\n      window.addEventListener('online', () => Context.setOnLine(true));\n      window.addEventListener('offline', () => Context.setOnLine(false));\n\n    } else {\n      NavigationBar.setButtonStyleAsync('light').then();\n      NavigationBar.setBackgroundColorAsync('black').then();\n      if (width < 768) ScreenOrientation.lockAsync(ScreenOrientation.OrientationLock.PORTRAIT).then();\n    }\n  }, []);\n\n  return (\n    <>\n      <StatusBar backgroundColor=\"black\"/>\n\n      <NavigationContainer theme={DarkTheme} linking={linking}>\n        <Stack.Navigator screenOptions={{headerShown: false, title: BrandName}}>\n          <Stack.Screen name=\"challenges\" component={BetSlip}/>\n          <Stack.Screen name=\"account\" component={Account}/>\n          <Stack.Screen name=\"promos\" component={PromosScreen}/>\n          <Stack.Screen name=\"Splash\" component={SplashScreen}/>\n          <Stack.Screen name=\"Register\" component={SignUpScreen}/>\n          <Stack.Screen name=\"LoginWithPin\" component={LoginWithPin}/>\n          <Stack.Screen name=\"ResponsibleGaming\" component={ResponsibleGaming}/>\n          <Stack.Screen name=\"TransactionHistory\" component={TransactionHistoryScreen}/>\n          <Stack.Screen name=\"EmailVerification\" component={EmailVerification}/>\n          <Stack.Screen name=\"TermsAndConditions\" component={TermsAndConditionsScreen}/>\n          <Stack.Screen name=\"PrivacyPolicy\" component={PrivacyPolicyScreen}/>\n          <Stack.Screen name=\"Promotions\" component={PromotionsScreen}/>\n          <Stack.Screen name=\"SelfExclusion\" component={SelfExclusionScreen}/>\n          <Stack.Screen name=\"Notifications\" component={NotificationsScreen}/>\n          <Stack.Screen name=\"tournaments\" component={TournamentsListingScreen}/>\n          <Stack.Screen name=\"TournamentDetails\" component={TournamentDetails}/>\n          <Stack.Screen name=\"FriendsScreen\" component={FriendsScreen}/>\n          <Stack.Screen name=\"CompletedFriendChallenges\" component={CompletedFriendChallenges}/>\n          <Stack.Screen name=\"AllTournaments\" component={AllTournaments}/>\n        </Stack.Navigator>\n      </NavigationContainer>\n\n      <SuccessModal/>\n      <CancelModal/>\n      <ContestEntryModal/>\n      <Loader visible={loadingOverlay}/>\n    </>\n  );\n};\n","import React, {useEffect, useLayoutEffect} from 'react';\nimport 'react-native-gesture-handler';\nimport {Text, Platform, SafeAreaView, Linking, View} from 'react-native';\nimport * as serviceWorkerRegistration from \"./src/serviceWorkerRegistration\";\nimport {Main} from './src/components/Main';\nimport {StoreContextProvider} from './src/components/StoreContextProvider';\nimport MainStyle from \"./MainStyle\";\nimport {useFonts} from 'expo-font';\nimport {FixForTournamentFlatListAlignment, smgEProtectUrl} from \"./src/constants\";\nimport * as faceapi from \"face-api.js\";\nimport {LocalizationProvider} from '@mui/x-date-pickers';\nimport {AdapterMoment} from '@mui/x-date-pickers/AdapterMoment'\n\n// @ts-ignore\nText.defaultProps = Text.defaultProps || {};\n// @ts-ignore\nText.defaultProps.allowFontScaling = false;\n\nconst App = () => {\n  let [fontsLoaded] = useFonts({\n    'Barlow-Regular': require('./src/assets/fonts/Barlow-Regular.ttf'),\n    'Barlow-Medium': require('./src/assets/fonts/Barlow-Medium.ttf'),\n    'Barlow-SemiBold': require('./src/assets/fonts/Barlow-SemiBold.ttf'),\n    'Barlow-Bold': require('./src/assets/fonts/Barlow-Bold.ttf')\n  });\n\n  useEffect(() => {\n    (async () => {\n      await faceapi.nets.tinyFaceDetector.loadFromUri('/models');\n      await faceapi.nets.faceLandmark68Net.loadFromUri('/models');\n\n      if (Platform.OS === 'web') {\n        const url = await Linking.getInitialURL();\n\n        if (url && url.startsWith('http://') && !url.includes('localhost')) {\n          const httpsURL = url.replace('http://', 'https://');\n          window.open(httpsURL, '_self');\n        }\n\n        // adding eProtect lib\n        const tag = document.createElement(\"script\");\n        tag.src = `${smgEProtectUrl}/eProtect/eProtect-api3.js`;\n        document.getElementsByTagName(\"head\")[0].appendChild(tag);\n\n        // adding ApplePay SDK\n        const scriptTag = document.createElement(\"script\");\n        scriptTag.src = 'https://applepay.cdn-apple.com/jsapi/v1.1.0/apple-pay-sdk.js';\n        document.getElementsByTagName(\"head\")[0].appendChild(scriptTag);\n      }\n    })();\n  }, []);\n\n  useLayoutEffect(() => {\n    // if (Platform.OS === 'web') document.body.insertAdjacentHTML('beforeend', CustomScrollbarStyle);\n    if (Platform.OS === 'web') document.body.insertAdjacentHTML('beforeend', FixForTournamentFlatListAlignment);\n  }, []);\n\n  return (\n    <LocalizationProvider dateAdapter={AdapterMoment}>\n      <View style={[MainStyle.flex1, MainStyle.fix_gradient_and_modal_error_in_landscape, MainStyle.bg_new_bg]}>\n        <SafeAreaView style={MainStyle.flex1}>\n          <StoreContextProvider>\n            <Main/>\n          </StoreContextProvider>\n        </SafeAreaView>\n      </View>\n    </LocalizationProvider>\n  );\n};\n\nif (Platform.OS === 'web') serviceWorkerRegistration.register();\n\nexport default App;\n","import {registerRootComponent} from 'expo';\n\nimport App from './App';\n\n// registerRootComponent calls AppRegistry.registerComponent('main', () => App);\n// It also ensures that whether you load the app in Expo Go or in a native build,\n// the environment is set up appropriately\nregisterRootComponent(App);\n","var map = {\n\t\"./af\": 94506,\n\t\"./af.js\": 94506,\n\t\"./ar\": 59687,\n\t\"./ar-dz\": 62887,\n\t\"./ar-dz.js\": 62887,\n\t\"./ar-kw\": 66307,\n\t\"./ar-kw.js\": 66307,\n\t\"./ar-ly\": 51664,\n\t\"./ar-ly.js\": 51664,\n\t\"./ar-ma\": 89926,\n\t\"./ar-ma.js\": 89926,\n\t\"./ar-sa\": 85207,\n\t\"./ar-sa.js\": 85207,\n\t\"./ar-tn\": 52912,\n\t\"./ar-tn.js\": 52912,\n\t\"./ar.js\": 59687,\n\t\"./az\": 5011,\n\t\"./az.js\": 5011,\n\t\"./be\": 25997,\n\t\"./be.js\": 25997,\n\t\"./bg\": 4427,\n\t\"./bg.js\": 4427,\n\t\"./bm\": 85385,\n\t\"./bm.js\": 85385,\n\t\"./bn\": 67703,\n\t\"./bn-bd\": 57002,\n\t\"./bn-bd.js\": 57002,\n\t\"./bn.js\": 67703,\n\t\"./bo\": 39841,\n\t\"./bo.js\": 39841,\n\t\"./br\": 45642,\n\t\"./br.js\": 45642,\n\t\"./bs\": 69038,\n\t\"./bs.js\": 69038,\n\t\"./ca\": 53512,\n\t\"./ca.js\": 53512,\n\t\"./cs\": 39497,\n\t\"./cs.js\": 39497,\n\t\"./cv\": 6479,\n\t\"./cv.js\": 6479,\n\t\"./cy\": 89318,\n\t\"./cy.js\": 89318,\n\t\"./da\": 97229,\n\t\"./da.js\": 97229,\n\t\"./de\": 63460,\n\t\"./de-at\": 51044,\n\t\"./de-at.js\": 51044,\n\t\"./de-ch\": 26445,\n\t\"./de-ch.js\": 26445,\n\t\"./de.js\": 63460,\n\t\"./dv\": 32096,\n\t\"./dv.js\": 32096,\n\t\"./el\": 16048,\n\t\"./el.js\": 16048,\n\t\"./en-au\": 74301,\n\t\"./en-au.js\": 74301,\n\t\"./en-ca\": 66855,\n\t\"./en-ca.js\": 66855,\n\t\"./en-gb\": 761,\n\t\"./en-gb.js\": 761,\n\t\"./en-ie\": 46127,\n\t\"./en-ie.js\": 46127,\n\t\"./en-il\": 49157,\n\t\"./en-il.js\": 49157,\n\t\"./en-in\": 37199,\n\t\"./en-in.js\": 37199,\n\t\"./en-nz\": 31511,\n\t\"./en-nz.js\": 31511,\n\t\"./en-sg\": 47309,\n\t\"./en-sg.js\": 47309,\n\t\"./eo\": 92160,\n\t\"./eo.js\": 92160,\n\t\"./es\": 68582,\n\t\"./es-do\": 71885,\n\t\"./es-do.js\": 71885,\n\t\"./es-mx\": 2553,\n\t\"./es-mx.js\": 2553,\n\t\"./es-us\": 16962,\n\t\"./es-us.js\": 16962,\n\t\"./es.js\": 68582,\n\t\"./et\": 98890,\n\t\"./et.js\": 98890,\n\t\"./eu\": 37704,\n\t\"./eu.js\": 37704,\n\t\"./fa\": 22562,\n\t\"./fa.js\": 22562,\n\t\"./fi\": 70877,\n\t\"./fi.js\": 70877,\n\t\"./fil\": 34246,\n\t\"./fil.js\": 34246,\n\t\"./fo\": 78341,\n\t\"./fo.js\": 78341,\n\t\"./fr\": 19867,\n\t\"./fr-ca\": 82347,\n\t\"./fr-ca.js\": 82347,\n\t\"./fr-ch\": 17683,\n\t\"./fr-ch.js\": 17683,\n\t\"./fr.js\": 19867,\n\t\"./fy\": 21982,\n\t\"./fy.js\": 21982,\n\t\"./ga\": 13905,\n\t\"./ga.js\": 13905,\n\t\"./gd\": 13443,\n\t\"./gd.js\": 13443,\n\t\"./gl\": 66905,\n\t\"./gl.js\": 66905,\n\t\"./gom-deva\": 91324,\n\t\"./gom-deva.js\": 91324,\n\t\"./gom-latn\": 41890,\n\t\"./gom-latn.js\": 41890,\n\t\"./gu\": 37134,\n\t\"./gu.js\": 37134,\n\t\"./he\": 96835,\n\t\"./he.js\": 96835,\n\t\"./hi\": 81394,\n\t\"./hi.js\": 81394,\n\t\"./hr\": 13564,\n\t\"./hr.js\": 13564,\n\t\"./hu\": 46269,\n\t\"./hu.js\": 46269,\n\t\"./hy-am\": 57269,\n\t\"./hy-am.js\": 57269,\n\t\"./id\": 44254,\n\t\"./id.js\": 44254,\n\t\"./is\": 8699,\n\t\"./is.js\": 8699,\n\t\"./it\": 28301,\n\t\"./it-ch\": 92887,\n\t\"./it-ch.js\": 92887,\n\t\"./it.js\": 28301,\n\t\"./ja\": 64642,\n\t\"./ja.js\": 64642,\n\t\"./jv\": 62168,\n\t\"./jv.js\": 62168,\n\t\"./ka\": 94501,\n\t\"./ka.js\": 94501,\n\t\"./kk\": 49537,\n\t\"./kk.js\": 49537,\n\t\"./km\": 45808,\n\t\"./km.js\": 45808,\n\t\"./kn\": 34881,\n\t\"./kn.js\": 34881,\n\t\"./ko\": 62951,\n\t\"./ko.js\": 62951,\n\t\"./ku\": 92452,\n\t\"./ku.js\": 92452,\n\t\"./ky\": 1853,\n\t\"./ky.js\": 1853,\n\t\"./lb\": 77639,\n\t\"./lb.js\": 77639,\n\t\"./lo\": 34502,\n\t\"./lo.js\": 34502,\n\t\"./lt\": 60874,\n\t\"./lt.js\": 60874,\n\t\"./lv\": 18237,\n\t\"./lv.js\": 18237,\n\t\"./me\": 87878,\n\t\"./me.js\": 87878,\n\t\"./mi\": 64234,\n\t\"./mi.js\": 64234,\n\t\"./mk\": 17535,\n\t\"./mk.js\": 17535,\n\t\"./ml\": 43896,\n\t\"./ml.js\": 43896,\n\t\"./mn\": 63046,\n\t\"./mn.js\": 63046,\n\t\"./mr\": 80927,\n\t\"./mr.js\": 80927,\n\t\"./ms\": 37224,\n\t\"./ms-my\": 66332,\n\t\"./ms-my.js\": 66332,\n\t\"./ms.js\": 37224,\n\t\"./mt\": 24866,\n\t\"./mt.js\": 24866,\n\t\"./my\": 24206,\n\t\"./my.js\": 24206,\n\t\"./nb\": 66723,\n\t\"./nb.js\": 66723,\n\t\"./ne\": 45097,\n\t\"./ne.js\": 45097,\n\t\"./nl\": 37529,\n\t\"./nl-be\": 1355,\n\t\"./nl-be.js\": 1355,\n\t\"./nl.js\": 37529,\n\t\"./nn\": 30296,\n\t\"./nn.js\": 30296,\n\t\"./oc-lnc\": 4802,\n\t\"./oc-lnc.js\": 4802,\n\t\"./pa-in\": 77057,\n\t\"./pa-in.js\": 77057,\n\t\"./pl\": 69850,\n\t\"./pl.js\": 69850,\n\t\"./pt\": 15552,\n\t\"./pt-br\": 83726,\n\t\"./pt-br.js\": 83726,\n\t\"./pt.js\": 15552,\n\t\"./ro\": 1717,\n\t\"./ro.js\": 1717,\n\t\"./ru\": 79117,\n\t\"./ru.js\": 79117,\n\t\"./sd\": 61742,\n\t\"./sd.js\": 61742,\n\t\"./se\": 92049,\n\t\"./se.js\": 92049,\n\t\"./si\": 83329,\n\t\"./si.js\": 83329,\n\t\"./sk\": 27619,\n\t\"./sk.js\": 27619,\n\t\"./sl\": 76707,\n\t\"./sl.js\": 76707,\n\t\"./sq\": 84281,\n\t\"./sq.js\": 84281,\n\t\"./sr\": 60436,\n\t\"./sr-cyrl\": 13408,\n\t\"./sr-cyrl.js\": 13408,\n\t\"./sr.js\": 60436,\n\t\"./ss\": 27500,\n\t\"./ss.js\": 27500,\n\t\"./sv\": 6950,\n\t\"./sv.js\": 6950,\n\t\"./sw\": 54222,\n\t\"./sw.js\": 54222,\n\t\"./ta\": 73746,\n\t\"./ta.js\": 73746,\n\t\"./te\": 1130,\n\t\"./te.js\": 1130,\n\t\"./tet\": 34740,\n\t\"./tet.js\": 34740,\n\t\"./tg\": 13378,\n\t\"./tg.js\": 13378,\n\t\"./th\": 20628,\n\t\"./th.js\": 20628,\n\t\"./tk\": 92622,\n\t\"./tk.js\": 92622,\n\t\"./tl-ph\": 30100,\n\t\"./tl-ph.js\": 30100,\n\t\"./tlh\": 22871,\n\t\"./tlh.js\": 22871,\n\t\"./tr\": 33600,\n\t\"./tr.js\": 33600,\n\t\"./tzl\": 18985,\n\t\"./tzl.js\": 18985,\n\t\"./tzm\": 3627,\n\t\"./tzm-latn\": 51145,\n\t\"./tzm-latn.js\": 51145,\n\t\"./tzm.js\": 3627,\n\t\"./ug-cn\": 4790,\n\t\"./ug-cn.js\": 4790,\n\t\"./uk\": 97712,\n\t\"./uk.js\": 97712,\n\t\"./ur\": 99529,\n\t\"./ur.js\": 99529,\n\t\"./uz\": 99141,\n\t\"./uz-latn\": 61737,\n\t\"./uz-latn.js\": 61737,\n\t\"./uz.js\": 99141,\n\t\"./vi\": 98205,\n\t\"./vi.js\": 98205,\n\t\"./x-pseudo\": 20697,\n\t\"./x-pseudo.js\": 20697,\n\t\"./yo\": 37826,\n\t\"./yo.js\": 37826,\n\t\"./zh-cn\": 83994,\n\t\"./zh-cn.js\": 83994,\n\t\"./zh-hk\": 36892,\n\t\"./zh-hk.js\": 36892,\n\t\"./zh-mo\": 43884,\n\t\"./zh-mo.js\": 43884,\n\t\"./zh-tw\": 85136,\n\t\"./zh-tw.js\": 85136\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = 46700;","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\tid: moduleId,\n\t\tloaded: false,\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n\t// Flag the module as loaded\n\tmodule.loaded = true;\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n// expose the modules object (__webpack_modules__)\n__webpack_require__.m = __webpack_modules__;\n\n","__webpack_require__.amdO = {};","var deferred = [];\n__webpack_require__.O = (result, chunkIds, fn, priority) => {\n\tif(chunkIds) {\n\t\tpriority = priority || 0;\n\t\tfor(var i = deferred.length; i > 0 && deferred[i - 1][2] > priority; i--) deferred[i] = deferred[i - 1];\n\t\tdeferred[i] = [chunkIds, fn, priority];\n\t\treturn;\n\t}\n\tvar notFulfilled = Infinity;\n\tfor (var i = 0; i < deferred.length; i++) {\n\t\tvar [chunkIds, fn, priority] = deferred[i];\n\t\tvar fulfilled = true;\n\t\tfor (var j = 0; j < chunkIds.length; j++) {\n\t\t\tif ((priority & 1 === 0 || notFulfilled >= priority) && Object.keys(__webpack_require__.O).every((key) => (__webpack_require__.O[key](chunkIds[j])))) {\n\t\t\t\tchunkIds.splice(j--, 1);\n\t\t\t} else {\n\t\t\t\tfulfilled = false;\n\t\t\t\tif(priority < notFulfilled) notFulfilled = priority;\n\t\t\t}\n\t\t}\n\t\tif(fulfilled) {\n\t\t\tdeferred.splice(i--, 1)\n\t\t\tvar r = fn();\n\t\t\tif (r !== undefined) result = r;\n\t\t}\n\t}\n\treturn result;\n};","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","var getProto = Object.getPrototypeOf ? (obj) => (Object.getPrototypeOf(obj)) : (obj) => (obj.__proto__);\nvar leafPrototypes;\n// create a fake namespace object\n// mode & 1: value is a module id, require it\n// mode & 2: merge all properties of value into the ns\n// mode & 4: return value when already ns object\n// mode & 16: return value when it's Promise-like\n// mode & 8|1: behave like require\n__webpack_require__.t = function(value, mode) {\n\tif(mode & 1) value = this(value);\n\tif(mode & 8) return value;\n\tif(typeof value === 'object' && value) {\n\t\tif((mode & 4) && value.__esModule) return value;\n\t\tif((mode & 16) && typeof value.then === 'function') return value;\n\t}\n\tvar ns = Object.create(null);\n\t__webpack_require__.r(ns);\n\tvar def = {};\n\tleafPrototypes = leafPrototypes || [null, getProto({}), getProto([]), getProto(getProto)];\n\tfor(var current = mode & 2 && value; typeof current == 'object' && !~leafPrototypes.indexOf(current); current = getProto(current)) {\n\t\tObject.getOwnPropertyNames(current).forEach((key) => (def[key] = () => (value[key])));\n\t}\n\tdef['default'] = () => (value);\n\t__webpack_require__.d(ns, def);\n\treturn ns;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.g = (function() {\n\tif (typeof globalThis === 'object') return globalThis;\n\ttry {\n\t\treturn this || new Function('return this')();\n\t} catch (e) {\n\t\tif (typeof window === 'object') return window;\n\t}\n})();","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","__webpack_require__.nmd = (module) => {\n\tmodule.paths = [];\n\tif (!module.children) module.children = [];\n\treturn module;\n};","__webpack_require__.p = \"/\";","// no baseURI\n\n// object to store loaded and loading chunks\n// undefined = chunk not loaded, null = chunk preloaded/prefetched\n// [resolve, reject, Promise] = chunk loading, 0 = chunk loaded\nvar installedChunks = {\n\t179: 0\n};\n\n// no chunk on demand loading\n\n// no prefetching\n\n// no preloaded\n\n// no HMR\n\n// no HMR manifest\n\n__webpack_require__.O.j = (chunkId) => (installedChunks[chunkId] === 0);\n\n// install a JSONP callback for chunk loading\nvar webpackJsonpCallback = (parentChunkLoadingFunction, data) => {\n\tvar [chunkIds, moreModules, runtime] = data;\n\t// add \"moreModules\" to the modules object,\n\t// then flag all \"chunkIds\" as loaded and fire callback\n\tvar moduleId, chunkId, i = 0;\n\tif(chunkIds.some((id) => (installedChunks[id] !== 0))) {\n\t\tfor(moduleId in moreModules) {\n\t\t\tif(__webpack_require__.o(moreModules, moduleId)) {\n\t\t\t\t__webpack_require__.m[moduleId] = moreModules[moduleId];\n\t\t\t}\n\t\t}\n\t\tif(runtime) var result = runtime(__webpack_require__);\n\t}\n\tif(parentChunkLoadingFunction) parentChunkLoadingFunction(data);\n\tfor(;i < chunkIds.length; i++) {\n\t\tchunkId = chunkIds[i];\n\t\tif(__webpack_require__.o(installedChunks, chunkId) && installedChunks[chunkId]) {\n\t\t\tinstalledChunks[chunkId][0]();\n\t\t}\n\t\tinstalledChunks[chunkId] = 0;\n\t}\n\treturn __webpack_require__.O(result);\n}\n\nvar chunkLoadingGlobal = self[\"webpackChunkweb\"] = self[\"webpackChunkweb\"] || [];\nchunkLoadingGlobal.forEach(webpackJsonpCallback.bind(null, 0));\nchunkLoadingGlobal.push = webpackJsonpCallback.bind(null, chunkLoadingGlobal.push.bind(chunkLoadingGlobal));","// startup\n// Load entry module and return exports\n// This entry module depends on other loaded chunks and execution need to be delayed\nvar __webpack_exports__ = __webpack_require__.O(undefined, [682], () => (__webpack_require__(22498)))\n__webpack_exports__ = __webpack_require__.O(__webpack_exports__);\n"],"names":["jspb","require","goog","global","this","window","self","Function","call","google_protobuf_timestamp_pb","object","extend","proto","exportSymbol","qb","smg","TournamentPlayerBet","opt_data","Message","initialize","inherits","DEBUG","COMPILED","displayName","TournamentPlayerDetails","repeatedFields_","TournamentOwner","Tournament","ListTournamentRequest","ListTournamentReply","GetTournamentRequest","GetTournamentReply","CreatePrivateTournamentRequest","CreatePrivateTournamentReply","JoinPrivateTournamentRequest","JoinPrivateTournamentReply","VerifyPrivateTournamentCodeRequest","VerifyPrivateTournamentCodeReply","TournamentSurveyQuestion","TournamentSurveyAnswer","JoinTournamentRequest","JoinTournamentReply","LeaveTournamentRequest","LeaveTournamentReply","GetTournamentLeaderBoardRequest","TournamentLeaderBoardEntry","GetTournamentLeaderBoardReply","GetTournamentPlayersRequest","GetTournamentPlayerEntry","GetTournamentPlayersReply","GenerateS3SimulatorVideoUploadUrlRequest","GenerateS3SimulatorVideoUploadUrlResponse","RequestChangeRequest","RequestChangeResponse","UpdatePhoneNumberRequest","UpdatePhoneNumberResponse","RequestEmailChangeRequest","RequestEmailChangeResponse","ConfirmEmailChangeRequest","ConfirmEmailChangeResponse","DeactivateAccountRequest","DeactivateAccountResponse","DisableUsersRequest","DisableUsersResponse","SetFaceRequest","SetFaceResponse","RecognizeFaceRequest","RecognizeFaceResponse","CompareImagesRequest","CompareImagesResponse","ListFacesRequest","ListFacesResponse","InitialCommandConnectorRequest","InitialCommandConnectorResponse","CommandExecutorFRSPayload","oneofGroups_","CommandExecutorSMGPayload","GenerateS3ArchiveVideoUploadUrlRequest","GenerateS3ArchiveVideoUploadUrlResponse","StationWebcamUpdate","WebcamState","PushStationWebcamUpdatesResponse","UploadImageRequest","UploadImageReply","RequestResetPinRequest","RequestResetPinReply","ResendEmailConfirmationRequest","ResendEmailConfirmationReply","ConfirmEmailRequest","ConfirmEmailReply","DoResetPinRequest","DoResetPinReply","RegisterUserRequest","RegisterUserReply","LocateVenueRequest","LocateVenueReply","CheckUserEmailExistsRequest","CheckUserEmailExistsReply","ReplacePhotoRequest","RequestChangePhotoRequest","RequestChangePhotoReply","GetChangePhotoRequestsRequest","GetChangePhotoRequestsReply","ApproveChangePhotoRequestRequest","ApproveChangePhotoRequestReply","GetTncRequest","GetTncReply","AcceptTncRequest","AcceptTncReply","OcrResult","DriverLicenseFrontExtractedData","DriverLicenseBackExtractedData","StartVeriffKycVerificationRequest","StartVeriffKycVerificationResponse","SubmitPhotoRequest","SubmitPhotoReply","ContactCsrRequest","ContactCsrReply","UpdateUserRequest","UpdateUserReply","EmailLoginRequest","EmailLoginReply","ImageLoginRequest","ImageLoginReply","RequestOtpCodeRequest","RequestOtpCodeReply","RetrieveCodeForAdminRequest","RetrieveCodeForAdminReply","EnableSelfLimitationRequest","EnableSelfLimitationReply","OtpLoginRequest","OtpLoginReply","VerifyOtpCodeRequest","VerifyOtpCodeReply","LoginWithIdTokenRequest","LoginWithIdTokenReply","GetUserRequest","GetUserReply","GetBalanceRequest","GetBalanceReply","WalletBonus","BetResolutionRequest","BetResolutionReply","GetBetsRequest","GetBetsReply","GetUpcomingBetsForSimulatorRequest","GetUpcomingBetsForSimulatorReply","GetPayoutRequest","GetPayoutReply","StreamBetsRequest","StreamBetsReply","GetBetRequest","GetBetReply","GetBetNoTokenRequest","GetBetNoTokenReply","AcceptBetRequest","AcceptBetReply","AdjustBetRequest","AdjustBetReply","Hit","StartHitRequest","StartHitReply","HitRequest","HitReply","HitStreamReply","AddFaceRequest","AddFaceReply","GetGameStateRequest","HoleInOneConfig","GetGameStateReply","StreamStationStateRequest","FrsHeartbeatRequest","StationState","HeartbeatRequest","HeartbeatResponse","ConnectStationSimpleRequest","ConnectStationSimpleReply","StationMessage","DisplayMessage","SettingsUpdateStreamRequest","SettingsUpdate","DeleteUserImageRequest","DeleteUserImageResponse","DeleteUserImagesBeforeDateRequest","DeleteUserImagesBeforeDateResponse","DeleteLastActiveBeforeDateRequest","DeleteLastActiveBeforeDateResponse","IgnoreFrsRequest","IgnoreFrsResponse","ResetIgnoreFrsRequest","ResetIgnoreFrsResponse","ResetShotCountRequest","ResetShotCountResponse","GetTransactionHistoryRequest","GetTransactionHistoryReply","EnableAutoPlayRequest","EnableAutoPlayResponse","Challenge","Golf2Challenge","Golf2GameGreen","Golf2GameHole","Golf2GameCircle","Golf2GameDetails","Bet","Payout","Payline","Session","User","Location","VenueConfig","Error","Skills","TransactionHistory","SetWelcomeBonusRequest","SetWelcomeBonusResponse","EnableShawWalletRequest","EnableShawWalletResponse","ResetKycRequest","ResetKycReply","GetPromosRequest","GetPromosResponse","Promo","ActivatePromoRequest","ActivatePromoResponse","GENERATE_TO_OBJECT","prototype","toObject","opt_includeInstance","includeInstance","msg","obj","betId","getFieldWithDefault","state","resolved","getBooleanFieldWithDefault","$jspbMessageInstance","deserializeBinary","bytes","reader","BinaryReader","deserializeBinaryFromReader","nextField","isEndGroup","getFieldNumber","value","readInt32","setBetId","readEnum","setState","readBool","setResolved","skipField","serializeBinary","writer","BinaryWriter","serializeBinaryToWriter","getResultBuffer","message","f","undefined","getBetId","writeInt32","getState","writeEnum","getResolved","writeBool","State","PENDING","PLAYING","FINISHED","setProto3IntField","setProto3EnumField","setProto3BooleanField","playerId","playerName","betsList","toObjectList","getBetsList","won","score","prize","betentreefee","rank","setPlayerId","readString","setPlayerName","readMessage","addBets","setWon","setScore","setPrize","setBetentreefee","setRank","getPlayerId","getPlayerName","length","writeString","writeRepeatedMessage","getWon","getScore","getPrize","getBetentreefee","getRank","setProto3StringField","getRepeatedWrapperField","setBetsList","setRepeatedWrapperField","opt_value","opt_index","addToRepeatedWrapperField","clearBetsList","id","username","firstname","lastname","setId","setUsername","setFirstname","setLastname","getId","getUsername","getFirstname","getLastname","name","isprivate","criteriastates","criteriacities","criteriavenues","entrybegindate","entryenddate","startdate","finishdate","minimumguaranteedpricepool","entryfee","rake","prizepoolList","getRepeatedField","currentplayerdetails","getCurrentplayerdetails","playerdetailsList","getPlayerdetailsList","maxparticipants","totalshots","owner","getOwner","expirationdate","sponsorlogo","tournamentCode","questionsList","getQuestionsList","physicalPrizing","venueId","sponsorLandscapeLogo","setName","setIsprivate","setCriteriastates","setCriteriacities","setCriteriavenues","readInt64","setEntrybegindate","setEntryenddate","setStartdate","setFinishdate","setMinimumguaranteedpricepool","setEntryfee","setRake","values","isDelimited","readPackedInt32","i","addPrizepool","setCurrentplayerdetails","addPlayerdetails","setMaxparticipants","setTotalshots","setOwner","setExpirationdate","setSponsorlogo","setTournamentCode","addQuestions","setPhysicalPrizing","setVenueId","setSponsorLandscapeLogo","getName","getIsprivate","getCriteriastates","getCriteriacities","getCriteriavenues","getEntrybegindate","writeInt64","getEntryenddate","getStartdate","getFinishdate","getMinimumguaranteedpricepool","getEntryfee","getRake","getPrizepoolList","writePackedInt32","writeMessage","getMaxparticipants","getTotalshots","getExpirationdate","getSponsorlogo","getTournamentCode","getPhysicalPrizing","getVenueId","getSponsorLandscapeLogo","setPrizepoolList","setField","addToRepeatedField","clearPrizepoolList","getWrapperField","setWrapperField","clearCurrentplayerdetails","hasCurrentplayerdetails","getField","setPlayerdetailsList","clearPlayerdetailsList","clearOwner","hasOwner","setQuestionsList","clearQuestionsList","token","mineonly","showlasttwodaysforpasttournaments","tournamentaccess","statesList","sort","setToken","setMineonly","setShowlasttwodaysforpasttournaments","setTournamentaccess","readPackedEnum","addStates","setSort","getToken","getMineonly","getShowlasttwodaysforpasttournaments","getTournamentaccess","getStatesList","writePackedEnum","getSort","TournamentAccess","BOTH","PUBLIC","PRIVATE","Sort","DEFAULT","ENTRY_BEGIN_DATE_SOONEST","ENTRY_BEGIN_DATE_LATEST","ENTRY_END_DATE_SOONEST","ENTRY_END_DATE_LATEST","FINISH_TIME","START_TIME","setStatesList","clearStatesList","success","error","getError","tournamentsList","getTournamentsList","activeTournamentsList","getActiveTournamentsList","availableTournamentsList","getAvailableTournamentsList","pastTournamentsList","getPastTournamentsList","setSuccess","setError","addTournaments","addActiveTournaments","addAvailableTournaments","addPastTournaments","getSuccess","clearError","hasError","setTournamentsList","clearTournamentsList","setActiveTournamentsList","clearActiveTournamentsList","setAvailableTournamentsList","clearAvailableTournamentsList","setPastTournamentsList","clearPastTournamentsList","tournamentid","setTournamentid","getTournamentid","tournament","getTournament","setTournament","clearTournament","hasTournament","numberOfShots","maxParticipants","entreeFee","setNumberOfShots","setMaxParticipants","setEntreeFee","getNumberOfShots","getMaxParticipants","getEntreeFee","newTournamentCode","setNewTournamentCode","getNewTournamentCode","code","surveyanswersList","getSurveyanswersList","location","getLocation","venueid","setCode","addSurveyanswers","setLocation","setVenueid","getCode","getVenueid","setSurveyanswersList","clearSurveyanswersList","clearLocation","hasLocation","text","type","optionsList","setText","setType","addOptions","getText","getType","getOptionsList","writeRepeatedString","setOptionsList","clearOptionsList","questionid","responseList","setQuestionid","addResponse","getQuestionid","getResponseList","setResponseList","clearResponseList","playerid","topn","setPlayerid","setTopn","getPlayerid","getTopn","playerusername","playerfirstname","playerlastname","shotscompleted","iscurrentuser","playerusernameid","setPlayerusername","setPlayerfirstname","setPlayerlastname","setShotscompleted","setIscurrentuser","setPlayerusernameid","getPlayerusername","getPlayerfirstname","getPlayerlastname","getShotscompleted","getIscurrentuser","getPlayerusernameid","hasactivetournament","hastournamentcompletedforuser","entriesList","getEntriesList","setHasactivetournament","setHastournamentcompletedforuser","addEntries","getHasactivetournament","getHastournamentcompletedforuser","setEntriesList","clearEntriesList","stationid","betid","setStationid","setBetid","getStationid","getBetid","uploadurl","setUploadurl","getUploadurl","changeType","setChangeType","getChangeType","phoneNumber","otpCode","setPhoneNumber","setOtpCode","getPhoneNumber","getOtpCode","newEmail","setNewEmail","getNewEmail","userIdsList","emailsList","kycnamesList","wipeKey","reason","addUserIds","addEmails","addKycnames","setWipeKey","setReason","getUserIdsList","getEmailsList","getKycnamesList","getWipeKey","getReason","setUserIdsList","clearUserIdsList","setEmailsList","clearEmailsList","setKycnamesList","clearKycnamesList","imageUrl","userId","setImageUrl","setUserId","getImageUrl","getUserId","isSuccess","err","setIsSuccess","setErr","getIsSuccess","getErr","firstImageUrl","secondImageUrl","setFirstImageUrl","setSecondImageUrl","getFirstImageUrl","getSecondImageUrl","isMatch","matchProbability","getFloatingPointFieldWithDefault","similiarity","setIsMatch","readFloat","setMatchProbability","setSimiliarity","getIsMatch","getMatchProbability","writeFloat","getSimiliarity","setProto3FloatField","useNewService","setUseNewService","getUseNewService","PayloadCase","PAYLOAD_NOT_SET","INITIALCOMMANDCONNECTORREQUEST","SETFACERESPONSE","COMPAREIMAGESRESPONSE","LISTFACESRESPONSE","DELETEUSERIMAGERESPONSE","HEARTBEATRESPONSE","DELETELASTACTIVEBEFOREDATERESPONSE","RECOGNIZEFACERESPONSE","getPayloadCase","computeOneofCase","initialcommandconnectorrequest","getInitialcommandconnectorrequest","setfaceresponse","getSetfaceresponse","compareimagesresponse","getCompareimagesresponse","listfacesresponse","getListfacesresponse","deleteuserimageresponse","getDeleteuserimageresponse","heartbeatresponse","getHeartbeatresponse","deletelastactivebeforedateresponse","getDeletelastactivebeforedateresponse","recognizefaceresponse","getRecognizefaceresponse","setInitialcommandconnectorrequest","setSetfaceresponse","setCompareimagesresponse","setListfacesresponse","setDeleteuserimageresponse","setHeartbeatresponse","setDeletelastactivebeforedateresponse","setRecognizefaceresponse","setOneofWrapperField","clearInitialcommandconnectorrequest","hasInitialcommandconnectorrequest","clearSetfaceresponse","hasSetfaceresponse","clearCompareimagesresponse","hasCompareimagesresponse","clearListfacesresponse","hasListfacesresponse","clearDeleteuserimageresponse","hasDeleteuserimageresponse","clearHeartbeatresponse","hasHeartbeatresponse","clearDeletelastactivebeforedateresponse","hasDeletelastactivebeforedateresponse","clearRecognizefaceresponse","hasRecognizefaceresponse","SETFACEREQUEST","COMPAREIMAGESREQUEST","LISTFACESREQUEST","DELETEUSERIMAGEREQUEST","HEARTBEATREQUEST","DELETELASTACTIVEBEFOREDATEREQUEST","RECOGNIZEFACEREQUEST","setfacerequest","getSetfacerequest","compareimagesrequest","getCompareimagesrequest","listfacesrequest","getListfacesrequest","deleteuserimagerequest","getDeleteuserimagerequest","heartbeatrequest","getHeartbeatrequest","deletelastactivebeforedaterequest","getDeletelastactivebeforedaterequest","recognizefacerequest","getRecognizefacerequest","setSetfacerequest","setCompareimagesrequest","setListfacesrequest","setDeleteuserimagerequest","setHeartbeatrequest","setDeletelastactivebeforedaterequest","setRecognizefacerequest","clearSetfacerequest","hasSetfacerequest","clearCompareimagesrequest","hasCompareimagesrequest","clearListfacesrequest","hasListfacesrequest","clearDeleteuserimagerequest","hasDeleteuserimagerequest","clearHeartbeatrequest","hasHeartbeatrequest","clearDeletelastactivebeforedaterequest","hasDeletelastactivebeforedaterequest","clearRecognizefacerequest","hasRecognizefacerequest","cameraid","capturetime","getCapturetime","Timestamp","setCameraid","setCapturetime","getCameraid","clearCapturetime","hasCapturetime","sendtime","getSendtime","webcamstateList","getWebcamstateList","additionalParametersMap","getAdditionalParametersMap","setSendtime","addWebcamstate","Map","getLength","webcamid","faceDetected","userid","probability","multipleHumanDetected","numberOfHumanDetected","side","numberOfHumanInDetectableArea","useridInDetectableArea","faceDetectedInDetectableArea","setWebcamid","setFaceDetected","setUserid","setProbability","setMultipleHumanDetected","setNumberOfHumanDetected","setSide","setNumberOfHumanInDetectableArea","setUseridInDetectableArea","setFaceDetectedInDetectableArea","getWebcamid","getFaceDetected","getUserid","getProbability","getMultipleHumanDetected","getNumberOfHumanDetected","getSide","getNumberOfHumanInDetectableArea","getUseridInDetectableArea","getFaceDetectedInDetectableArea","Side","LEFT","RIGHT","clearSendtime","hasSendtime","setWebcamstateList","clearWebcamstateList","opt_noLazyCreate","getMapField","clearAdditionalParametersMap","clear","image","getImage_asB64","readBytes","setImage","getImage_asU8","writeBytes","getImage","bytesAsB64","bytesAsU8","setProto3BytesField","fileId","setFileId","getFileId","emailAddress","setEmailAddress","getEmailAddress","confirmationtoken","setConfirmationtoken","getConfirmationtoken","session","getSession","user","getUser","setSession","setUser","clearSession","hasSession","clearUser","hasUser","newPin","setNewPin","getNewPin","otpcode","handedness","phonenumber","middlename","address","country","city","zipcode","handicap","dateOfBirth","preferredotpmethod","setOtpcode","setHandedness","setPhonenumber","setMiddlename","setAddress","setCountry","setCity","setZipcode","setHandicap","setDateOfBirth","setPreferredotpmethod","getOtpcode","getHandedness","getPhonenumber","getMiddlename","getAddress","getCountry","getCity","getZipcode","getHandicap","getDateOfBirth","getPreferredotpmethod","venueconfig","getVenueconfig","setVenueconfig","clearVenueconfig","hasVenueconfig","exists","setExists","getExists","requestId","dateOfRequest","photo","getPhoto_asB64","reasonForRequest","status","csrComment","csrId","dateOfTheDecision","setRequestId","setDateOfRequest","setPhoto","setReasonForRequest","setStatus","setCsrComment","setCsrId","setDateOfTheDecision","getRequestId","getDateOfRequest","getPhoto_asU8","getReasonForRequest","getStatus","getCsrComment","getCsrId","getDateOfTheDecision","getPhoto","replacephotorequest","getReplacephotorequest","setReplacephotorequest","clearReplacephotorequest","hasReplacephotorequest","dateStart","dateEnd","setDateStart","setDateEnd","getDateStart","getDateEnd","replacePhotoRequestsList","getReplacePhotoRequestsList","addReplacePhotoRequests","setReplacePhotoRequestsList","clearReplacePhotoRequestsList","commentFromCsr","approved","setCommentFromCsr","setApproved","getCommentFromCsr","getApproved","version","setVersion","getVersion","content","setContent","getContent","firstName","lastName","street","setFirstName","setLastName","setStreet","getFirstName","getLastName","getStreet","veriffurl","setVeriffurl","getVeriffurl","isRecognized","submissionAllowed","setIsRecognized","setSubmissionAllowed","getIsRecognized","getSubmissionAllowed","request","setRequest","getRequest","allowTextNotifications","allowEmailNotifications","allowPartnerPromos","setAllowTextNotifications","setAllowEmailNotifications","setAllowPartnerPromos","getAllowTextNotifications","getAllowEmailNotifications","getAllowPartnerPromos","clearDateOfBirth","hasDateOfBirth","password","setPassword","getPassword","timeFrame","setTimeFrame","getTimeFrame","TimeFrame","SIX_MONTH","ONE_YEAR","TWO_YEAR","FOREVER","codeiscorrect","setCodeiscorrect","getCodeiscorrect","idToken","setIdToken","getIdToken","maxshotamount","isnewplayer","freeshotcount","freeshotnumber","hasnewbonus","tournamentAutoPlayAmount","setMaxshotamount","setIsnewplayer","setFreeshotcount","setFreeshotnumber","setHasnewbonus","setTournamentAutoPlayAmount","getMaxshotamount","getIsnewplayer","getFreeshotcount","getFreeshotnumber","getHasnewbonus","getTournamentAutoPlayAmount","balance","totalBonusesBalance","walletBonusesList","getWalletBonusesList","setBalance","setTotalBonusesBalance","addWalletBonuses","getBalance","getTotalBonusesBalance","setWalletBonusesList","clearWalletBonusesList","bonusId","bonusAmount","turnoverAmount","turnoverCurrent","readUint64","setBonusId","setBonusAmount","setTurnoverAmount","setTurnoverCurrent","getBonusId","writeUint64","getBonusAmount","getTurnoverAmount","getTurnoverCurrent","betState","setBetState","getBetState","payoutsList","getPayoutsList","addPayouts","setPayoutsList","clearPayoutsList","closeAfterSend","lastSeenHash","setCloseAfterSend","setLastSeenHash","getCloseAfterSend","getLastSeenHash","hash","setHash","getHash","bet","getBet","setBet","clearBet","hasBet","istournamententrycomplete","playertournamentscore","istournamentbet","totalwonfreeplayamount","onlyplayedtournamentbets","isadditionalfreeplayamountadded","setIstournamententrycomplete","setPlayertournamentscore","setIstournamentbet","setTotalwonfreeplayamount","setOnlyplayedtournamentbets","setIsadditionalfreeplayamountadded","getIstournamententrycomplete","getPlayertournamentscore","getIstournamentbet","getTotalwonfreeplayamount","getOnlyplayedtournamentbets","getIsadditionalfreeplayamountadded","betamount","challengeId","setBetamount","setChallengeId","getBetamount","getChallengeId","carryDistance","totalDistance","headSpeedMph","ballSpeedMph","pathAngle","faceOpenClosedAngle","smashFactor","launchAngle","backSpin","sideSpin","distanceToTarget","apex","unixTimeStamp","stationId","readDouble","setCarryDistance","setTotalDistance","setHeadSpeedMph","setBallSpeedMph","setPathAngle","setFaceOpenClosedAngle","setSmashFactor","setLaunchAngle","setBackSpin","setSideSpin","setDistanceToTarget","setApex","setUnixTimeStamp","setStationId","getCarryDistance","writeDouble","getTotalDistance","getHeadSpeedMph","getBallSpeedMph","getPathAngle","getFaceOpenClosedAngle","getSmashFactor","getLaunchAngle","getBackSpin","getSideSpin","getDistanceToTarget","getApex","getUnixTimeStamp","getStationId","acceptedBetId","setAcceptedBetId","getAcceptedBetId","hitId","setHitId","getHitId","hit","getHit","holeInOne","setHit","setHoleInOne","getHoleInOne","clearHit","hasHit","something","setSomething","getSomething","faceId","isDetected","setFaceId","setIsDetected","getFaceId","getIsDetected","bonusamount","setBonusamount","getBonusamount","userDetected","multiFaceDetected","userInWrongCameraSide","userBalance","activeBet","getActiveBet","closedBet","getClosedBet","availableBetsList","getAvailableBetsList","userSkills","getUserSkills","playerhandedness","showMultiPlayerError","showPlayerNotInGamePlayAreaError","shotSequence","autoAcceptBets","showWallet","holeInOneBonusAmount","istournamentbetactivated","playedtournamentshotcount","totaltournamentshotcount","totaltournamentscore","istournamentpublic","tournamentsponsorshiplogo","currenttournamentid","setUserDetected","setMultiFaceDetected","setUserInWrongCameraSide","setUserBalance","setActiveBet","setClosedBet","addAvailableBets","setUserSkills","setPlayerhandedness","setShowMultiPlayerError","setShowPlayerNotInGamePlayAreaError","setShotSequence","setAutoAcceptBets","setShowWallet","setHoleInOneBonusAmount","setIstournamentbetactivated","setPlayedtournamentshotcount","setTotaltournamentshotcount","setTotaltournamentscore","setIstournamentpublic","setTournamentsponsorshiplogo","setCurrenttournamentid","getUserDetected","getMultiFaceDetected","getUserInWrongCameraSide","getUserBalance","getPlayerhandedness","getShowMultiPlayerError","getShowPlayerNotInGamePlayAreaError","getShotSequence","getAutoAcceptBets","getShowWallet","getHoleInOneBonusAmount","getIstournamentbetactivated","getPlayedtournamentshotcount","getTotaltournamentshotcount","getTotaltournamentscore","getIstournamentpublic","getTournamentsponsorshiplogo","getCurrenttournamentid","clearActiveBet","hasActiveBet","clearClosedBet","hasClosedBet","setAvailableBetsList","clearAvailableBetsList","clearUserSkills","hasUserSkills","activeuserid","activebetid","currentstate","showMultiplayerError","holeInOneDetected","setActiveuserid","setActivebetid","setCurrentstate","setShowMultiplayerError","setHoleInOneDetected","getActiveuserid","getActivebetid","getCurrentstate","getShowMultiplayerError","getHoleInOneDetected","connected","setConnected","getConnected","messageId","settingsUpdate","getSettingsUpdate","displayMessage","getDisplayMessage","setMessageId","setSettingsUpdate","setDisplayMessage","getMessageId","clearSettingsUpdate","hasSettingsUpdate","clearDisplayMessage","hasDisplayMessage","line1","line2","line3","displayTime","setLine1","setLine2","setLine3","setDisplayTime","getLine1","getLine2","getLine3","getDisplayTime","lastchangetimestamp","distance","targettype","setLastchangetimestamp","setDistance","setTargettype","getLastchangetimestamp","getDistance","getTargettype","date","getDate","setDate","clearDate","hasDate","enable","forcedUserId","setEnable","setForcedUserId","getEnable","getForcedUserId","availableusersList","getAvailableusersList","addAvailableusers","setAvailableusersList","clearAvailableusersList","historyList","getHistoryList","addHistory","setHistoryList","clearHistoryList","enabled","setEnabled","getEnabled","sequence","challengeType","challengeSubType","challengeState","outcome","value1","value2","value3","totalAttempts","attemptsRemaining","createdOn","resolvedOn","odds","validtill","description","acceptedOn","setSequence","setChallengeType","setChallengeSubType","setChallengeState","setOutcome","setValue1","setValue2","setValue3","setTotalAttempts","setAttemptsRemaining","setCreatedOn","setResolvedOn","setOdds","setValidtill","setDescription","setAcceptedOn","getSequence","getChallengeType","getChallengeSubType","getChallengeState","getOutcome","getValue1","getValue2","getValue3","getTotalAttempts","getAttemptsRemaining","getCreatedOn","getResolvedOn","getOdds","getValidtill","getDescription","getAcceptedOn","gamedetails","getGamedetails","multiplier","level","setGamedetails","setMultiplier","setLevel","getMultiplier","getLevel","Golf2ChallengeLevel","EASY","MEDIUM","HARD","clearGamedetails","hasGamedetails","greenId","range","rangeExplanation","shape","setGreenId","setRange","setRangeExplanation","setShape","getGreenId","getRange","getRangeExplanation","getShape","holeId","difficulty","difficultyExplanation","setHoleId","setDifficulty","setDifficultyExplanation","getHoleId","getDifficulty","getDifficultyExplanation","circleId","winCircleDistance","setCircleId","setWinCircleDistance","getCircleId","getWinCircleDistance","green","getGreen","hole","getHole","circle","getCircle","targetLevel","setGreen","setHole","setCircle","setTargetLevel","getTargetLevel","clearGreen","hasGreen","clearHole","hasHole","clearCircle","hasCircle","betType","amount","challengesList","getChallengesList","paylinesList","getPaylinesList","golf2challengesList","getGolf2challengesList","setBetType","setAmount","addChallenges","addPaylines","addGolf2challenges","getBetType","getAmount","setChallengesList","clearChallengesList","setPaylinesList","clearPaylinesList","setGolf2challengesList","clearGolf2challengesList","payoutId","setPayoutId","getPayoutId","paylineId","priority","setPaylineId","setPriority","getPaylineId","getPriority","sessionStart","sessionEnd","analyticsId","setSessionStart","setSessionEnd","setAnalyticsId","getSessionStart","getSessionEnd","getAnalyticsId","middleName","tncAccepted","tncAcceptDate","tncAcceptedVersion","photoAccepted","kycStatus","realName","emailConfirmed","selfLimitationConfirmed","selfLimitationExpiration","autoPlayEnabled","autoPlayAmount","setMiddleName","setTncAccepted","setTncAcceptDate","setTncAcceptedVersion","setPhotoAccepted","setKycStatus","setRealName","setEmailConfirmed","setSelfLimitationConfirmed","setSelfLimitationExpiration","setAutoPlayEnabled","setAutoPlayAmount","getMiddleName","getTncAccepted","getTncAcceptDate","getTncAcceptedVersion","getPhotoAccepted","getKycStatus","getRealName","getEmailConfirmed","getSelfLimitationConfirmed","getSelfLimitationExpiration","getAutoPlayEnabled","getAutoPlayAmount","latitude","longitude","setLatitude","setLongitude","getLatitude","getLongitude","facialRecognitionServerAddress","setFacialRecognitionServerAddress","getFacialRecognitionServerAddress","setMessage","getMessage","skillLevel1","skillLevel2","skillLevel3","skillLevel4","golf2GameSkill","setSkillLevel1","setSkillLevel2","setSkillLevel3","setSkillLevel4","setGolf2GameSkill","getSkillLevel1","getSkillLevel2","getSkillLevel3","getSkillLevel4","getGolf2GameSkill","time","winAmount","lastUpdateTime","setTime","setWinAmount","setLastUpdateTime","getTime","getWinAmount","getLastUpdateTime","daysBeforeExpire","setDaysBeforeExpire","getDaysBeforeExpire","promosList","getPromosList","addPromos","setPromosList","clearPromosList","expirationDate","setExpirationDate","getExpirationDate","promocode","setPromocode","getPromocode","activatedpromo","getActivatedpromo","setActivatedpromo","clearActivatedpromo","hasActivatedpromo","TournamentState","PUBLISHED","CANCELLED","TournamentSurveyQuestionType","TEXT_ENTRY","DROPDOWN","MULTI_CHOICE","ChangeType","ADDRESS","PHOTO","OtpMethod","EMAIL","SMS","ReplacePhotoStatus","OPEN","APPROVED","DECLINED","StationPlayerState","NO_PLAYER","GUEST","PLAYER","PLAYER_DELAY","MULTI_PLAYER","PLAYER_NOT_IN_GAMEPLAY_AREA","exports","isLocalhost","Boolean","hostname","match","registerValidSW","swUrl","config","navigator","serviceWorker","register","then","registration","onupdatefound","installingWorker","installing","onstatechange","controller","console","log","onUpdate","onSuccess","catch","checkValidServiceWorker","fetch","headers","response","contentType","get","indexOf","ready","unregister","reload","colors","mainBg","layoutBg","modalBg","bottomTabBg","whiteText","lightText","darkText","registered","settings_border","settings_bg","deposit_bg","activeDarkText","activeText","warningText","blueText","greenText","newGreenText","inActiveBtnBg","inActiveBtnText","inputBorder","popupDangerPrimary","popupDropBg","popupBorder","popupPrimaryButtonBg","blue","primary","darkOverlay","deepBlue","lightBlue","bg_contest","darkYellow","lightYellow","unselect","unselectDark","gray","newGreen","newDangerText","iconColor","darkNewGreen","balanceColor","btn_bg_color","white","mainBackground","filter_chip_bg","filter_chip_bg2","disable_chip_text","disable_chip","filter_modal_bg","id_text","status_border","availability","caret","state_color","state_completed","state_cancelled","divider_bg","pay_table_border","stop_auto_play","placeholder","newLightBlue","loading_login","new_input_color","new_bg","help_icon","darkPurple","newDarkBlue","selectPurple","navSelected","yellow","StyleSheet","border","borderStyle","borderColor","borderWidth","bc_gray","backgroundColor","bc_darkblue","bc_popupDropBg","bc_green","bc_modalBg","bg_main","bg_new_bg","bg_warningText","bg_settings","bg_new_input_color","bg_deposit","bg_filter_chip","bg_filter_modal","bg_black","bg_loading_login","bg_newGreen","bg_darkText","bg_darkOverlay","bg_transparent","max_w_59","maxWidth","max_w_260","max_w_312","max_w_323","max_w_332","max_w_340","max_w_387","max_w_430","max_w_570","max_w_690","max_w_1040","max_w_1100","max_w_1120","max_w_1205","full_w","width","full_h","height","p_b_10","paddingBottom","p_b_15","p_b_29","p_b_41","p_b_67","b_r_2","borderRadius","b_r_4","b_r_8","b_r_14","b_r_16","b_r_20","b_r_40","b_r_70","b_r_200","c_light_blue","color","c_white","c_mainBackground","c_yellow","c_black","c_gray","c_warn","c_lightblue","c_title_blue","c_popupDangerPrimary","c_green","c_green_text","c_new_green_text","m_b_0","marginBottom","m_b_1","m_b_2","m_b_3","m_b_4","m_b_6","m_b_8","m_b_9","m_b_10","m_b_11","m_b_12","m_b_13","m_b_14","m_b_15","m_b_16","m_b_17","m_b_19","m_b_20","m_b_21","m_b_22","m_b_23","m_b_24","m_b_25","m_b_26","m_b_28","m_b_29","m_b_30","m_b_31","m_b_32","m_b_34","m_b_37","m_b_38","m_b_40","m_b_42","m_b_45","m_b_47","m_b_60","m_b_62","m_b_64","m_b_80","m_b_101","m_b_112","m_b_125","m_b_158","flex","display","row","flexDirection","column","a_i_c","alignItems","a_i_e","o_0","opacity","o_05","o_06","w_8","w_10","w_12","w_13","w_19","w_20","w_21","w_24","w_28","w_32","w_40","w_42","w_44","w_45","w_48","w_53","w_60","w_64","w_80","w_116","w_129","w_130","w_144","w_160","w_164","w_170","w_176","w_184","w_190","w_194","w_220","w_224","w_225","w_233","w_240","w_255","w_267","w_271","w_286","w_300","w_312","w_330","w_350","w_360","w_370","w_389","w_480","w_640","h_1","h_4","h_6","h_9","h_12","h_18","h_20","h_21","h_22","h_24","h_26","h_28","h_32","h_37","h_40","h_41","h_46","h_48","h_51","h_55","h_59","h_60","h_63","h_64","h_66","h_72","h_80","h_90","h_150","h_159","h_160","h_176","h_234","h_240","h_253","h_271","h_300","h_368","h_493","m_y_6","marginVertical","m_y_20","t_a_c","textAlign","t_a_l","f_s_10","fontSize","f_s_12","f_s_14","f_s_15","f_s_16","f_s_17","f_s_18","f_s_20","f_s_21","f_s_22","f_s_23","f_s_24","f_s_25","f_s_26","f_s_28","f_s_30","f_s_32","f_s_36","f_s_40","f_s_48","f_s_52","f_s_56","f_s_60","m_t__32","marginTop","m_t_6","m_t_7","m_t_10","m_t_13","m_t_17","m_t_20","m_t_28","m_t_34","m_t_50","m_t_114","j_c_c","justifyContent","j_c_s_between","j_c_s_around","flex1","p_10","padding","o_hidden","overflow","m_l__32","marginLeft","m_l_2","m_l_4","m_l_6","m_l_8","m_l_9","m_l_10","m_l_12","m_l_15","m_l_20","m_l_21","m_l_22","m_l_24","m_l_32","m_l_37","m_l_52","m_l_77","b_b_w_1","borderBottomWidth","b_b_w_3","b_c_transparent","b_c_black","b_c_blue","b_c_white","b_c_warn","b_c_yellow","b_c_blueText","b_c_popupBorder","b_c_settings_border","b_c_darkText","b_c_newGreen","b_c_filter_chip_bg","p_x_8","paddingHorizontal","p_x_9","p_x_15","p_x_16","p_x_20","p_x_24","p_x_26","p_x_27","p_x_30","p_x_32","p_x_36","p_x_80","m_r_2","marginRight","m_r_7","m_r_10","m_r_15","m_r_24","relative","position","p_l_10","paddingLeft","p_l_16","p_r_18","paddingRight","p_r_34","f_w_400","fontWeight","f_w_600","f_w_700","f_w_800","f_w_900","m_x_auto","marginHorizontal","m_x_3","m_x_6","m_x_8","m_x_10","m_x_15","m_x_16","m_x_19","m_x_20","m_x_23","m_x_40","min_h_32","minHeight","min_h_90","min_h_164","min_h_452","min_h_510","min_h_full","p_y_19","paddingVertical","p_y_23","p_y_70","r__28","right","r__22","r__17","r__12","r__1","r_0","r_56","l_50_percent","left","l__75","l__56","l__1","l_0","l_5","l_15","l_18","absolute","b_0","bottom","b_1","b_47","l_h_3_5","lineHeight","l_h_12","l_h_14","l_h_16","l_h_18","l_h_19","l_h_20","l_h_22","l_h_23","l_h_24","l_h_26","l_h_27","l_h_30","l_h_32","l_h_33","l_h_35","l_h_36","l_h_40","l_h_47","l_h_48","l_h_50","l_h_55","l_h_78","l_h_80","b_w_0","b_w_1","b_w_3","p_t_13","paddingTop","p_t_17","p_t_18","p_t_19","p_t_20","p_t_22","p_t_23","p_t_25","p_t_30","p_t_46","p_t_60","rm_center","resizeMode","rm_contain","rm_stretch","rm_cover","italic","fontStyle","t_50_percent","top","t__99","t__81","t__70","t__28","t_0","t_9","t_35","b_t_l_r_0","borderTopLeftRadius","b_t_l_r_14","b_t_l_r_28","b_t_r_r_0","borderTopRightRadius","b_t_r_r_14","b_b_l_r_0","borderBottomLeftRadius","b_b_l_r_14","b_b_l_r_28","b_b_r_r_0","borderBottomRightRadius","b_b_r_r_14","b_t_w_3","borderTopWidth","b_l_w_0","borderLeftWidth","z_i__1","zIndex","z_i_2","t_t_u","textTransform","fix_gradient_and_modal_error_in_landscape","b_r_w_0","borderRightWidth","Barlow400","fontFamily","Barlow500","Barlow600","Barlow700","t_d_l_u","textDecorationLine","textShadow","textShadowOffset","textShadowRadius","textShadowColor","l_s_5","letterSpacing","React","props","children","borderTopColor","borderRightColor","borderBottomColor","borderLeftColor","borderStartWidth","borderEndWidth","m","mt","mr","mb","ml","mx","my","ms","p","pt","pr","pb","pl","px","py","ps","rounded","roundedTopLeft","roundedTopRight","roundedBottomLeft","roundedBottomRight","roundedTop","roundedLeft","roundedRight","roundedBottom","shadowColor","minH","minW","maxH","maxW","h","w","flexDir","flexWrap","alignSelf","bg","borderHorizontalWidth","rest","_objectWithoutProperties","_excluded","style","_objectSpread","margin","marginStart","paddingStart","minWidth","maxHeight","combinedStyle","_jsx","View","fs","fw","ls","lh","ta","tt","fShrink","bw","Style","push","flexShrink","Array","isArray","_toConsumableArray","Text","textStyle","radius","cardType","isLoading","shadow","autoPlayIcon","disabled","btnStyle","MainStyle","_useState","useState","_useState2","_slicedToArray","currBtnHeight","setCurrBtnHeight","concat","shadowOffset","shadowRadius","shadowOpacity","_jsxs","TouchableOpacity","onPress","onLayout","event","nativeEvent","layout","Div","Fontisto","size","ActivityIndicator","P","SmgServiceClient","credentials","options","_classCallCheck","methodDescriptorRegisterUser","grpcWeb","smg_service_pb","methodDescriptorRequestResetPin","methodDescriptorResendEmailConfirmation","methodDescriptorConfirmEmail","methodDescriptorDoResetPin","methodDescriptorLocateVenue","methodDescriptorCheckUserEmailExists","methodDescriptorRequestChangePhoto","methodDescriptorGetChangePhotoRequests","methodDescriptorApproveChangePhotoRequest","methodDescriptorGetTnc","methodDescriptorAcceptTnc","methodDescriptorStartVeriffKycVerification","methodDescriptorSubmitPhoto","methodDescriptorContactCsr","methodDescriptorUpdateUser","methodDescriptorEmailLogin","methodDescriptorImageLogin","methodDescriptorRequestOtpCode","methodDescriptorRetrieveOtpCodeForAdmin","methodDescriptorEnableSelfLimitation","methodDescriptorOtpLogin","methodDescriptorVerifyOtpCode","methodDescriptorLoginWithIdToken","methodDescriptorGetUser","methodDescriptorGetBalance","methodDescriptorRefundBet","methodDescriptorCancelBet","methodDescriptorRefundBetByAdmin","methodDescriptorCancelBetByAdmin","methodDescriptorGetPayouts","methodDescriptorGetBets","methodDescriptorGetUpcomingBetsForSimulator","methodDescriptorStreamBets","methodDescriptorGetBet","methodDescriptorGetBetNoToken","methodDescriptorAcceptBet","methodDescriptorAdjustBet","methodDescriptorStartHit","methodDescriptorHitSingle","methodDescriptorSettingsUpdateStream","methodDescriptorConnectStationSimple","methodDescriptorHeartbeat","methodDescriptorGetGameState","methodDescriptorStreamStationState","methodDescriptorDeleteUserImage","methodDescriptorDeleteUserImagesBeforeDate","methodDescriptorDisableUsers","methodDescriptorIgnoreFrs","methodDescriptorResetIgnoreFrs","methodDescriptorResetShotCount","methodDescriptorGenerateS3ArchiveVideoUploadUrl","methodDescriptorGetTransactionHistory","methodDescriptorEnableAutoPlay","methodDescriptorSetWelcomeBonus","methodDescriptorEnableShawWallet","methodDescriptorDeactivateAccount","methodDescriptorRequestEmailChange","methodDescriptorConfirmEmailChange","methodDescriptorUpdatePhoneNumber","methodDescriptorRequestChange","methodDescriptorGenerateS3SimulatorVideoUploadUrl","methodDescriptorResetKyc","methodDescriptorListTournaments","methodDescriptorJoinTournament","methodDescriptorLeaveTournament","methodDescriptorGetTournament","methodDescriptorGetTournamentLeaderBoard","methodDescriptorGetTournamentPlayers","methodDescriptorCreatePrivateTournament","methodDescriptorJoinPrivateTournament","methodDescriptorVerifyPrivateTournamentCode","methodDescriptorGetPromos","methodDescriptorActivatePromo","client_","hostname_","replace","credentials_","options_","_createClass","key","metadata","callback","rpcCall","unaryCall","serverStreaming","smgServerUrl","Config","smgEnvironment","smgAuthWorldpay","smgTransactorWorldpay","smgTransactorWorldpayWebsocket","smgPayPageId","smgReportGroup","smgEProtectUrl","SMG_Client","Test_Client","dateFormat","localFormatter","Intl","DateTimeFormat","year","month","day","hour","minute","timeZoneName","transformImg","base64","val","breakpoint","tabletBreakpoint","preventSelect","Platform","web","userSelect","outline_0","outline","phoneUtil","PhoneNumberUtil","payoutFormat","Number","isInteger","toFixed","WebApp","WebAppText","Landing","LandingText","LANDING_PAGE_URL","SESSION_EXPIRE_TIME","SupportMail","BrandName","lastLocationUpdate","formatPayout","NumberFormat","currency","minimumFractionDigits","maximumFractionDigits","format","formatCurrency","getFieldError","formik","touched","errors","getAveragePoint","_ref","_asyncToGenerator","uri","img","Image","src","Promise","resolve","onload","canvas","document","createElement","ctx","getContext","drawImage","toDataURL","points","sum","reduce","acc","point","x","y","detectHeadTurn","_ref2","video","detections","faceapi","withFaceLandmarks","landmarks","leftEye","getLeftEye","rightEye","getRightEye","nose","getNose","eyeDistance","centerPosition","noseOffset","threshold","_x2","apply","arguments","tournamentStatusStyle","browser","test","regexp","userAgent","toCapitalize","str","charAt","toUpperCase","slice","_ref3","moment","diff","timestamp","newLocation","reject","geolocation","getCurrentPosition","PERMISSION_DENIED","enableHighAccuracy","timeout","maximumAge","currDistance","lat1","lon1","lat2","lon2","unit","radlat1","Math","PI","radlat2","theta","radtheta","dist","sin","cos","acos","coords","e","setVenueIdOrLocation","_ref4","curLocation","_x3","styles","open_distance_l","open_distance_s","open_text_l","open_text_s","distance_l","distance_s","text_l","text_s","ServiceClient","client","payGateToken","checkUserEmailExists","_checkUserEmailExists","email","res","_res$toObject","_x","requestOtpCode","_requestOtpCode","phone","_res$toObject2","verifyOtpCode","_verifyOtpCode","_res$toObject3","_x4","_x5","deposit","_deposit","data","Authorization","axios","_response$data","result","_x6","validateMerchant","_validateMerchant","verificationURL","_response$data2","_x7","getPayGateToken","_getPayGateToken","_this$session","_this","sessionToken","_response$data3","accessToken","getSavedCards","_getSavedCards","_response$data4","deleteCard","_deleteCard","cardUid","_res$data","_x8","payoff","_payoff","_res$data2","_x9","sale","_sale","_response$data5","transactionId","_x10","enableSelfLimitation","_enableSelfLimitation","_res$toObject4","_x11","deactivateAccount","_deactivateAccount","_res$toObject5","acceptTnc","_acceptTnc","_res$toObject6","getBets","_getBets","localSession","_res$toObject7","_x12","_x13","enableAutoPlay","_enableAutoPlay","betAmount","_res$toObject8","_x14","_x15","updateUser","_updateUser","isoDateString","unixSeconds","utc","unix","setSeconds","setNanos","convertToUnixTimestamp","_res$toObject9","_x16","requestEmailChange","_requestEmailChange","_res$toObject10","_x17","confirmEmail","_confirmEmail","_res$toObject11","_x18","confirmEmailChange","_confirmEmailChange","_res$toObject12","_x19","updatePhoneNumber","_updatePhoneNumber","_res$toObject13","_x20","_x21","requestChange","_requestChange","_res$toObject14","_x22","getPromos","_getPromos","player_id","_res$toObject15","_x23","listTournaments","_listTournaments","access","mineOnly","showLastTwoDaysForPastTournaments","_res$toObject16","filter","el","_x24","_x25","_x26","_x27","_getTournament","_res$toObject17","_x28","joinTournament","_joinTournament","betEntreeFee","answers","Object","keys","answersList","forEach","_res$toObject18","_x29","_x30","_x31","leaveTournament","_leaveTournament","_res$toObject19","_x32","acceptBet","_acceptBet","_res$toObject20","_x33","_x34","_x35","resendEmailConfirmation","_resendEmailConfirmation","_res$toObject21","doResetPin","_doResetPin","_res$toObject22","_x36","_x37","requestResetPin","_requestResetPin","_res$toObject23","_x38","refundBet","_refundBet","_res$toObject24","_x39","contactCsr","_contactCsr","_res$toObject25","_x40","submitPhoto","_submitPhoto","byteArray","Buffer","_res$toObject26","_x41","startVeriffKycVerification","_startVeriffKycVerification","_res$toObject27","activatePromo","_activatePromo","_res$toObject28","_x42","createPrivateTournament","_createPrivateTournament","_res$toObject29","_x43","_x44","_x45","verifyPrivateTournamentCode","_verifyPrivateTournamentCode","_res$toObject30","_x46","joinPrivateTournament","_joinPrivateTournament","_res$toObject31","_x47","_x48","getTransactionHistory","_getTransactionHistory","_res$toObject32","_x49","defaultCancelModalConfig","visible","title","subtitle","defaultValue","logout","registerUser","emailLogin","imageLogin","cancelModalConfig","setCancelModalConfig","loadingOverlay","setLoadingOverlay","isSuccessMessageShow","setIsSuccessMessageShow","contestEntryModalConfig","setContestEntryModalConfig","isTest","setIsTest","onLine","setOnLine","totalBonuses","otpLogin","extendedUserData","StoreContext","createContext","StoreContextProvider","_useState3","_useState4","_useState5","_useState6","_useState7","_useState8","_useState9","_useState10","_useState11","_useState12","_useState13","_useState14","_useState15","_useState16","_useState17","_useState18","_useState19","_useState20","setTotalBonuses","_useState21","_useState22","setExtendedUserData","AsyncStorage","JSON","stringify","_ref5","_ref6","_ref7","smsCode","preferredOtpMethod","_ref8","setTimeout","titleColor","leftBtnText","onExit","useEffect","providerValue","Provider","duration","showDuration","fadeAnim","useRef","Animated","current","toValue","useNativeDriver","start","header","tutorial_1_1_2_3","other","enterContest","tutorial_2_1","tutorial_2_2","takeShot","tutorial_3_1","tutorial_3_2","tutorial_3_3","getPaid","tutorial_4_1","tutorial_4_2","tutorial_4_3","wrap","icon_s","img_s","logo_s","logged","animationIndex","setAnimationIndex","animations","showPreview","setShowPreview","Modal","animationType","transparent","statusBarTranslucent","hardwareAccelerated","onRequestClose","onResume","Pressable","source","icon","FadeView","Logo_SMG","_Fragment","Lottie","animationData","onLoopComplete","prevState","loop","support_url","page","br","navigation","useNavigation","Context","useContext","showTutorial","setShowTutorial","isHelpModalVisible","setIsHelpModalVisible","UN_AUTHENTICATIONS_LINKS","open","Linking","navigate","AUTHENTICATIONS_LINKS","Ionicons","button_menu","circleClose","map","item","TutorialModal","SplashScreen","installEvent","setInstallEvent","insets","useSafeAreaInsets","isPlayingFullScreen","player","getMobileOperatingSystem","vendor","iframe","querySelector","_player$current2","Vimeo","on","_player$current3","setCurrentTime","_player$current4","off","listener","ev","preventDefault","addEventListener","removeEventListener","HelpLinkModalTrigger","header_s","title_s","kiosk_logo_RGB_1row","reset","index","routes","about_company","btn_text","Button","btn_shadow","matchMedia","matches","prompt","secondary","add_to_home","Switch","trackColor","false","true","thumbColor","ios_backgroundColor","onValueChange","play_btn","label","secureTextEntry","helperText","autoFocus","editable","labelStyle","inputStyles","dollarMask","decimalPlaces","useGrouping","onFocusScroll","_props$showErrorMessa","showErrorMessage","placeholderTextColor","selection","wrapStyle","secureText","setSecureText","inputStyle","wrapRef","secureTextStyle","WebkitTextSecurity","_window$navigator2","maxTouchPoints","platform","setAttribute","ref","onTouchStart","_wrapRef$current","_window$navigator","scrollIntoView","behavior","block","inline","NumericInput","onChangeText","onBlur","TextInput","keyboardType","bgColor","setBgColor","onClose","params","inputs","lastIndex","onChange","input","handleKeydown","_inputs$current3","_inputs$current4","_inputs$current2","focus","handleBackspace","onFocus","selectTextOnFocus","onKeyPress","_inputs$current","goBackBtn","isLoginPage","errorMessage","setErrorMessage","isCodeWasResend","setIsCodeWasResend","setVisible","CodeVerificationInput","codeIsCorrect","payload","showEmailNotExistDialog","setShowEmailNotExistDialog","phoneVerificationDialog","setPhoneVerificationDialog","useFormik","initialValues","validationSchema","Yup","required","onSubmit","errorModalClose","isExists","rightBtnText","ImageBackground","imageStyle","ScrollView","contentContainerStyle","Input","handleChange","handleBlur","handleSubmit","EmailNotExistModal","OtpModal","onSuccessLogin","Internet_connection_issues_message","cancelGray","leftBtnBackgroundColor","leftBtnFontSize","rightBtnFontSize","rightBtnBackgroundColor","rightBtnBorderColor","rightBtnBorderWidth","rightBtnColor","containerHeight","setContainerHeight","renderSecondary","enablingLocationGuide","Spinner","overlayColor","banner","freeShots","largestDistanceChallenge","golf2challenge","Frame2","Frame3","Frame4","frame1","image9","image8","setContestFrameImage","find","liveChallengeIndicationGraphics","_find$gamedetails","_find$gamedetails$hol","challenge","lvl","dollar1","iconTop","iconLeft","Styles","iconH","iconW","dollar2","dollar3","setPointConfig","iconStyle","Entypo","renderPoint","elevation","payLinesList","holeInOneAmount","list","_payLinesList$i","_payLinesList$i2","ft","floor","middle_gradient_style","left_gradient_style","right_gradient_style","active","LinearGradient","label_s","label_l","lvl_s","lvl_l","amount_s","amount_l","challenges","setWhiteColor","SelectChallengeGradient","_el$gamedetails","_el$gamedetails$hole","dot_s","dot_m","dot_l","contest_label_s","contest_label_m","contest_label_l","contest_value_s","contest_value_m","contest_value_l","dense","_props$textAlign","isMd","useWindowDimensions","_challenge$gamedetail","_challenge$gamedetail2","isLg","_Golf2Challenge$Golf","DistanceChallengeItem","step","MaterialIcons","input_wrap","leftText","maxShotAmount","changeFee","contestAmount","MaterialCommunityIcons","items","countries","secondItems","disabledItemsBottom","popupTitle","scrollView","_scrollView$current","findIndex","scrollTo","animated","_scrollView$current2","zeroIndex","_el","iso2","dialCode","FlagEmoji","select_s","select_value","down_s","customItems","iconSize","errorText","dynamicStyles","selectedItem","customLabel","SelectModal","isOpen","totalShots","entryFee","entryChallengeFee","min_h","setValue","setItems","showDropDown","disableItems","setDisableItems","disableList","availableBalance","shotOptions","reverse","shotOption","totalCost","Select","autoPlayHandler","terms","confirmModalType","setConfirmModalType","AutoPlayIcon","AcceptBet","scrollEventThrottle","NewHeader","ContestFrame","onArrowForwardPress","Golf2AcceptedBetDetails","NewGameChallenges","ChallengeInfoCard","DistanceIcon","showAutoPlayModal","PayTable","onCancel","onOk","curChallengeId","TournamentRegistrationConfirmationModal","fee","setFieldValue","content_l","content_s","title_l","logo_l","media_l","media_s","Logo","contentWrapper","btn","btn_wrap","onReload","onContinue","notification","friends","firstButtonText","hideSecondButton","build_your_bank","BetTypes","setBetTypes","currBetType","setCurrBetType","isFocused","useIsFocused","init","route","useRoute","continueAutoPlay","setContinueAutoPlay","alertModalConfig","setAlertModalConfig","setBets","includes","GetBets","conf","url","fromRegistrationPage","newPlayers","clearTimeout","setInterval","lastActiveTime","clearInterval","useLayoutEffect","curUser","parse","OpenBets","changeGameType","moreGames","ProtectionAndDisclaimer","BottomNavigation","ContinueAutoPlayModal","AlertModal","Countries","defaultCountries","us","splice","ca","unshift","inputWrapper","withoutMask","parseCountry","mask","split","numberMask","replaceAll","phoneMaskedInputProps","useMaskedInputProps","CountryGuess","usePhoneInput","defaultCountry","findCountry","formatWithMask","unmasked","_ref$current","subtitle_s","isValid","isValidNumber","parseAndKeepRawInput","profanity","setFieldError","onSave","setInit","onAccountDeactivate","_formik$values2","_formik$values","resetForm","PhoneInput","Handedness","submitForm","number","expiry","cvc","min","expiryMask","cvcMask","amount_m","label_m","isSm","numberValidation","Valid","cardNumberMask","codeSizeMask","isChecked","setIsChecked","card","_numberValidation$car","gaps","lengths","numberMaskedInputProps","expiryMaskedInputProps","codeMaskedInputProps","callEProtect","timeoutOnEProtect","onErrorAfterEProtect","submitAfterEProtect","accountNum","getElementById","cvv","formFields","win","eProtectRequest","paypageId","reportGroup","orderId","crypto","randomUUID","eProtect","sendToEprotect","vantivTxnId","paypageRegistrationId","saveNewCard","merchantTxId","vendorTxId","payPageRegistrationId","cardNumber","goBack","Checkbox","socket","openWebsocketConnection","WebSocket","onopen","onmessage","_socket$current","close","onclose","wasClean","PosTerminalLoading","container_s","setIsLoading","savedCardUid","savedCards","setSavedCards","setCardUid","deleteSavedCard","Uid","_Valid$number$card","cardMaskedNumber","SavedCardsModal","innerHTML","countryCode","currencyCode","merchantCapabilities","supportedNetworks","total","ApplePaySession","onvalidatemerchant","merchantSession","validationURL","completeMerchantValidation","onpaymentauthorized","payment","paymentToken","paymentData","getCardTypeForApplePay","paymentMethod","network","depositPayload","applePayPkPaymentToken","STATUS_SUCCESS","completePayment","STATUS_FAILURE","begin","darkTheme","createTheme","palette","mode","modal","setDatePickerVisibility","ThemeProvider","theme","DesktopDatePicker","slotProps","sx","views","nullable","loading","setLoading","DateTimePicker","Loader","createFrame","messages","_require","createVeriffFrame","MESSAGES","isOpenVerificationModal","setIsOpenVerificationModal","VerifyInformationModal","onEvent","CANCELED","redirectUser","STARTED","VeriffSdk","sessionUrl","timer","setTimer","disableRestartKyc","restartKyc","showOnce","setShowOnce","KycTerm","LoadingKYC","OnlinePayment","PosTerminal","ApplePayButton","SavedCards","visa","isOpenBonusInfoModal","setIsOpenBonusInfoModal","toString","availableToWithdraw","changeTab","BonusCashInfoModal","tabIndex","currentTab","setCurrentTab","AccountNavBar","ProfileContent","Wallet","Withdraw","_useContext","fill_btn_s","fillBtnText","outline_btn_s","outlineBtnText","_golf2challenge$gamed","_golf2challenge$gamed2","_golf2challenge$gamed3","_golf2challenge$gamed4","renderGolfChallenge","_golf2challengesList$","_golf2challengesList$2","_golf2challengesList$3","_golf2challengesList$4","focus_plus_icon","img0","img1","img2","button_exit","link_s","secondary_s","useCallback","openLink","SupportGuideHeader","keyboardShouldPersistTaps","wrap_l","wrap_s","index_l","index_s","time_date_l","time_l","type_l","type_s","status_l","status_s","num","abs","showStatus","mainStyle","FlatList","renderItem","TransactionHistoryItem","keyExtractor","ListHeaderComponent","TransactionHistoryHeader","SupportGuideButtonMenu","titleSmall","msgTextSmall","descSmall","_route$params","small_link","TermsAndConditionsContent","link_l","secondary_l","_document$getElementB","nativeID","_route$params3","eligibilitySectionRef","promotionsAndPromotionPeriodRef","_route$params2","_eligibilitySectionRe","_promotionsAndPromoti","showModal","setShowModal","SelfLimitationModal","trackStyle","thumbStyle","leftAnim","activeBackgroundColor","inActiveBackgroundColor","activeBorderColor","inActiveBorderColor","thumb","rnStyles","bxTitle","bxTitleSm","indicatorTxt","indicatorTxtSm","contentTitleSm","field","NotificationSwitch","cents","toLowerCase","getBorderColor","getStatusColor","numberOfLines","fontFeatureSettings","clmnTitle","submitBtnTxt","cancelBtnTxt","subTitle","bxSubTitle","bxStatus","ftrTitle","ftrTxt","promo","setPromo","PromoFeedbackModal","promos","setPromos","isOpenAddNewPromo","setIsOpenAddNewPromo","PromoCard","AddNewPromoCode","disable","checked","filterItem","filters","sortBy","onChangeFilter","CheckMarkCheckbox","mineOnlyChange","sortChange","clearAll","sortList","stateList","icon_btn","isOpenFilterModal","setIsOpenFilterModal","filtersChange","FilterChip","TournamentsFilterModal","input_s","_item$currentplayerde","_item$currentplayerde2","isPrivateTournament","showPopup","setIsOpen","lock_icon","prizePoolList","b_b_r","playerDetailsList","guaranteedPricePool","a","b","restrictEntry","activeColor","statusStyle","toDate","TournamentHeader","PrizePool","wrapScroll","question","currentValues","option","updatedValues","leave_btn","_playerdetailsList$fi","hideLeaveButton","joinDisabled","leaveDisabled","tournamentRegistrationModalType","setTournamentRegistrationModalType","showAdditionalSurveyQuestions","setShowAdditionalSurveyQuestions","schema","of","leave","AdditionalSurveyQuestions","setFilters","setSortBy","tournaments","setTournaments","activeIndex","setActiveIndex","flatListRef","setMineOnly","scrollToItem","_flatListRef$current","scrollToIndex","onScroll","slideSize","layoutMeasurement","ceil","contentOffset","TournamentsFilter","TournamentItem","horizontal","pagingEnabled","showsHorizontalScrollIndicator","snapToAlignment","getItemLayout","ITEM_WEIGHT","offset","AntDesign","JoinTournamentButton","row_header","dir","direction","sortConfig","setSortConfig","requestSort","getStatusText","DetailsState","Cell","BetState","a_shots","b_shots","isYou","setActive","handleShare","fullMessage","origin","Clipboard","setStringAsync","Share","link","_tournament$currentpl","activeTab","setActiveTab","currentNumberOfShots","showInviteCode","setShowInviteCode","setCompletedPrivateTournaments","states","getCompletedPrivateTournaments","initialScrollIndex","_tournament$currentpl2","RegisteredPlayersStatus","YourFriendChallengeCodeForm","Email","Phone","Name","isTestEnv","contactInfoStep","setContactInfoStep","RegisterUser","validate","goNext","untouchedForm","setTouched","setHeight","setStep","camera","cameraModalVisible","videoRef","face","setFace","intervalRef","_useWindowDimensions","isCameraReady","setIsCameraReady","getElementsByTagName","inputSize","scoreThreshold","detection","Camera","CameraType","aspectRatio","ratio","onCameraReady","takePicture","imageUri","setImageUri","setCameraModalVisible","hasPermission","setHasPermission","takePictureAsync","quality","exif","skipProcessing","ImageManipulator","manipulateAsync","flip","compress","isGranted","goNextStep","goCsr","CameraModal","backhandlerRef","modalClose","_backhandlerRef$curre","remove","backHandler","BackHandler","Step1","Step2","IdVerification","_backhandlerRef$curre2","startNewChallenge","onConfirm","completedPrivateTournaments","finally","entryFree","selectedNumOfShort","setSelectedNumOfShort","selectedMaxParticipants","setSelectedMaxParticipants","selectedEntryFree","setSelectedEntryFree","isOpenFriendsChallengeConfirmation","setIsOpenFriendsChallengeConfirmation","FriendsChallengeConfirmation","maskedValue","setMaskedValue","end","setSelection","applyMask","masked","inputIndex","maskIndex","RegExp","cleanText","challengeFull","setChallengeFull","invalidCodeModal","setInvalidCodeModal","friendChallengeDetailsForm","setFriendChallengeDetailsForm","useMaskedInput","showInsufficientFundsPopup","setShowInsufficientFundsPopup","isLogout","setIsLogout","questionFormik","getActivePrivateTournament","_el$currentplayerdeta","LoginWithPin","FriendChallengeDetails","ChallengeFull","InvalidCodeModal","FriendChallengeDetailsForm","InsufficientFundsPopup","_el$currentplayerdeta2","_el$currentplayerdeta3","_getPlayerDetails","currPlayer","winnerNames","players","payout","didIWin","getPlayerDetails","Stack","createNativeStackNavigator","DarkTheme","dark","background","linking","prefixes","screens","account","Splash","Register","ResponsibleGaming","EmailVerification","TermsAndConditions","PrivacyPolicy","Promotions","SelfExclusion","Notifications","TournamentDetails","FriendsScreen","CompletedFriendChallenges","AllTournaments","Main","NavigationBar","setButtonStyleAsync","setBackgroundColorAsync","ScreenOrientation","lockAsync","StatusBar","NavigationContainer","Navigator","screenOptions","headerShown","Screen","component","BetSlip","Account","PromosScreen","SignUpScreen","TransactionHistoryScreen","TermsAndConditionsScreen","PrivacyPolicyScreen","PromotionsScreen","SelfExclusionScreen","NotificationsScreen","TournamentsListingScreen","SuccessModal","CancelModal","ContestEntryModal","URL","href","serviceWorkerRegistration","_useFonts","useFonts","startsWith","httpsURL","tag","appendChild","scriptTag","body","insertAdjacentHTML","LocalizationProvider","dateAdapter","AdapterMoment","SafeAreaView","registerRootComponent","App","webpackContext","req","webpackContextResolve","__webpack_require__","o","module","__webpack_module_cache__","moduleId","cachedModule","loaded","__webpack_modules__","amdO","deferred","O","chunkIds","fn","notFulfilled","Infinity","fulfilled","j","every","r","n","getter","__esModule","d","leafPrototypes","getProto","getPrototypeOf","t","ns","create","def","getOwnPropertyNames","definition","defineProperty","enumerable","g","globalThis","prop","hasOwnProperty","Symbol","toStringTag","nmd","paths","installedChunks","chunkId","webpackJsonpCallback","parentChunkLoadingFunction","moreModules","runtime","some","chunkLoadingGlobal","bind","__webpack_exports__"],"sourceRoot":""}