option optimize_for = SPEED;
option cc_generic_services = false;

enum EGCSystemMsg {
	k_EGCMsgInvalid = 0;
	k_EGCMsgMulti = 1;
	k_EGCMsgGenericReply = 10;
	k_EGCMsgSystemBase = 50;
	k_EGCMsgAchievementAwarded = 51;
	k_EGCMsgConCommand = 52;
	k_EGCMsgStartPlaying = 53;
	k_EGCMsgStopPlaying = 54;
	k_EGCMsgStartGameserver = 55;
	k_EGCMsgStopGameserver = 56;
	k_EGCMsgWGRequest = 57;
	k_EGCMsgWGResponse = 58;
	k_EGCMsgGetUserGameStatsSchema = 59;
	k_EGCMsgGetUserGameStatsSchemaResponse = 60;
	k_EGCMsgGetUserStatsDEPRECATED = 61;
	k_EGCMsgGetUserStatsResponse = 62;
	k_EGCMsgAppInfoUpdated = 63;
	k_EGCMsgValidateSession = 64;
	k_EGCMsgValidateSessionResponse = 65;
	k_EGCMsgLookupAccountFromInput = 66;
	k_EGCMsgSendHTTPRequest = 67;
	k_EGCMsgSendHTTPRequestResponse = 68;
	k_EGCMsgPreTestSetup = 69;
	k_EGCMsgRecordSupportAction = 70;
	k_EGCMsgGetAccountDetails_DEPRECATED = 71;
	k_EGCMsgReceiveInterAppMessage = 73;
	k_EGCMsgFindAccounts = 74;
	k_EGCMsgPostAlert = 75;
	k_EGCMsgGetLicenses = 76;
	k_EGCMsgGetUserStats = 77;
	k_EGCMsgGetCommands = 78;
	k_EGCMsgGetCommandsResponse = 79;
	k_EGCMsgAddFreeLicense = 80;
	k_EGCMsgAddFreeLicenseResponse = 81;
	k_EGCMsgGetIPLocation = 82;
	k_EGCMsgGetIPLocationResponse = 83;
	k_EGCMsgSystemStatsSchema = 84;
	k_EGCMsgGetSystemStats = 85;
	k_EGCMsgGetSystemStatsResponse = 86;
	k_EGCMsgSendEmail = 87;
	k_EGCMsgSendEmailResponse = 88;
	k_EGCMsgGetEmailTemplate = 89;
	k_EGCMsgGetEmailTemplateResponse = 90;
	k_EGCMsgGrantGuestPass = 91;
	k_EGCMsgGrantGuestPassResponse = 92;
	k_EGCMsgGetAccountDetails = 93;
	k_EGCMsgGetAccountDetailsResponse = 94;
	k_EGCMsgGetPersonaNames = 95;
	k_EGCMsgGetPersonaNamesResponse = 96;
	k_EGCMsgMultiplexMsg = 97;
	k_EGCMsgMultiplexMsgResponse = 98;
	k_EGCMsgWebAPIRegisterInterfaces = 101;
	k_EGCMsgWebAPIJobRequest = 102;
	k_EGCMsgWebAPIJobRequestHttpResponse = 104;
	k_EGCMsgWebAPIJobRequestForwardResponse = 105;
	k_EGCMsgMemCachedGet = 200;
	k_EGCMsgMemCachedGetResponse = 201;
	k_EGCMsgMemCachedSet = 202;
	k_EGCMsgMemCachedDelete = 203;
	k_EGCMsgMemCachedStats = 204;
	k_EGCMsgMemCachedStatsResponse = 205;
	k_EGCMsgMasterSetDirectory = 220;
	k_EGCMsgMasterSetDirectoryResponse = 221;
	k_EGCMsgMasterSetWebAPIRouting = 222;
	k_EGCMsgMasterSetWebAPIRoutingResponse = 223;
	k_EGCMsgMasterSetClientMsgRouting = 224;
	k_EGCMsgMasterSetClientMsgRoutingResponse = 225;
	k_EGCMsgSetOptions = 226;
	k_EGCMsgSetOptionsResponse = 227;
	k_EGCMsgSystemBase2 = 500;
	k_EGCMsgGetPurchaseTrustStatus = 501;
	k_EGCMsgGetPurchaseTrustStatusResponse = 502;
	k_EGCMsgUpdateSession = 503;
	k_EGCMsgGCAccountVacStatusChange = 504;
	k_EGCMsgCheckFriendship = 505;
	k_EGCMsgCheckFriendshipResponse = 506;
	k_EGCMsgGetPartnerAccountLink = 507;
	k_EGCMsgGetPartnerAccountLinkResponse = 508;
	k_EGCMsgDPPartnerMicroTxns = 512;
	k_EGCMsgDPPartnerMicroTxnsResponse = 513;
	k_EGCMsgVacVerificationChange = 518;
	k_EGCMsgAccountPhoneNumberChange = 519;
	k_EGCMsgInviteUserToLobby = 523;
	k_EGCMsgGetGamePersonalDataCategoriesRequest = 524;
	k_EGCMsgGetGamePersonalDataCategoriesResponse = 525;
	k_EGCMsgGetGamePersonalDataEntriesRequest = 526;
	k_EGCMsgGetGamePersonalDataEntriesResponse = 527;
	k_EGCMsgTerminateGamePersonalDataEntriesRequest = 528;
	k_EGCMsgTerminateGamePersonalDataEntriesResponse = 529;
}

enum ESOMsg {
	k_ESOMsg_Create = 21;
	k_ESOMsg_Update = 22;
	k_ESOMsg_Destroy = 23;
	k_ESOMsg_CacheSubscribed = 24;
	k_ESOMsg_CacheUnsubscribed = 25;
	k_ESOMsg_UpdateMultiple = 26;
	k_ESOMsg_CacheSubscriptionCheck = 27;
	k_ESOMsg_CacheSubscriptionRefresh = 28;
}

enum EGCBaseClientMsg {
	k_EMsgGCClientWelcome = 4004;
	k_EMsgGCServerWelcome = 4005;
	k_EMsgGCClientHello = 4006;
	k_EMsgGCServerHello = 4007;
	k_EMsgGCClientConnectionStatus = 4009;
	k_EMsgGCServerConnectionStatus = 4010;
	k_EMsgGCClientHelloPartner = 4011;
	k_EMsgGCClientHelloPW = 4012;
	k_EMsgGCClientHelloR2 = 4013;
	k_EMsgGCClientHelloR3 = 4014;
	k_EMsgGCClientHelloR4 = 4015;
}

enum EGCToGCMsg {
	k_EGCToGCMsgMasterAck = 150;
	k_EGCToGCMsgMasterAckResponse = 151;
	k_EGCToGCMsgRouted = 152;
	k_EGCToGCMsgRoutedReply = 153;
	k_EMsgUpdateSessionIP = 154;
	k_EMsgRequestSessionIP = 155;
	k_EMsgRequestSessionIPResponse = 156;
	k_EGCToGCMsgMasterStartupComplete = 157;
}

enum ECommunityItemClass {
	k_ECommunityItemClass_Invalid = 0;
	k_ECommunityItemClass_Badge = 1;
	k_ECommunityItemClass_GameCard = 2;
	k_ECommunityItemClass_ProfileBackground = 3;
	k_ECommunityItemClass_Emoticon = 4;
	k_ECommunityItemClass_BoosterPack = 5;
	k_ECommunityItemClass_Consumable = 6;
	k_ECommunityItemClass_GameGoo = 7;
	k_ECommunityItemClass_ProfileModifier = 8;
	k_ECommunityItemClass_Scene = 9;
	k_ECommunityItemClass_SalienItem = 10;
}

enum ECommunityItemAttribute {
	k_ECommunityItemAttribute_Invalid = 0;
	k_ECommunityItemAttribute_CardBorder = 1;
	k_ECommunityItemAttribute_Level = 2;
	k_ECommunityItemAttribute_IssueNumber = 3;
	k_ECommunityItemAttribute_TradableTime = 4;
	k_ECommunityItemAttribute_StorePackageID = 5;
	k_ECommunityItemAttribute_CommunityItemAppID = 6;
	k_ECommunityItemAttribute_CommunityItemType = 7;
	k_ECommunityItemAttribute_ProfileModiferEnabled = 8;
	k_ECommunityItemAttribute_ExpiryTime = 9;
}

message CMsgGCHVacVerificationChange {
	optional fixed64 steamid = 1;
	optional uint32 appid = 2;
	optional bool is_verified = 3;
}

message CMsgGCHAccountPhoneNumberChange {
	optional fixed64 steamid = 1;
	optional uint32 appid = 2;
	optional uint64 phone_id = 3;
	optional bool is_verified = 4;
	optional bool is_identifying = 5;
}

message CMsgGCHInviteUserToLobby {
	optional fixed64 steamid = 1;
	optional uint32 appid = 2;
	optional fixed64 steamid_invited = 3;
	optional fixed64 steamid_lobby = 4;
}

message CQuest_PublisherAddCommunityItemsToPlayer_Request {
	message Attribute {
		optional uint32 attribute = 1;
		optional uint64 value = 2;
	}

	optional uint64 steamid = 1;
	optional uint32 appid = 2;
	optional uint32 match_item_type = 3;
	optional uint32 match_item_class = 4;
	optional string prefix_item_name = 5;
	repeated .CQuest_PublisherAddCommunityItemsToPlayer_Request.Attribute attributes = 6;
	optional string note = 7;
}

message CQuest_PublisherAddCommunityItemsToPlayer_Response {
	optional uint32 items_matched = 1;
	optional uint32 items_granted = 2;
}

message CCommunity_GamePersonalDataCategoryInfo {
	optional string type = 1;
	optional string localization_token = 2;
	optional string template_file = 3;
}

message CCommunity_GetGamePersonalDataCategories_Request {
	optional uint32 appid = 1;
}

message CCommunity_GetGamePersonalDataCategories_Response {
	repeated .CCommunity_GamePersonalDataCategoryInfo categories = 1;
	optional string app_assets_basename = 2;
}

message CCommunity_GetGamePersonalDataEntries_Request {
	optional uint32 appid = 1;
	optional uint64 steamid = 2;
	optional string type = 3;
	optional string continue_token = 4;
}

message CCommunity_GetGamePersonalDataEntries_Response {
	optional uint32 gceresult = 1;
	repeated string entries = 2;
	optional string continue_token = 3;
}

message CCommunity_TerminateGamePersonalDataEntries_Request {
	optional uint32 appid = 1;
	optional uint64 steamid = 2;
}

message CCommunity_TerminateGamePersonalDataEntries_Response {
	optional uint32 gceresult = 1;
}

