// Generated by the protocol buffer compiler.  DO NOT EDIT!
// source: steammessages.proto

#include "steammessages.pb.h"

#include <algorithm>

#include <google/protobuf/io/coded_stream.h>
#include <google/protobuf/extension_set.h>
#include <google/protobuf/wire_format_lite.h>
#include <google/protobuf/descriptor.h>
#include <google/protobuf/generated_message_reflection.h>
#include <google/protobuf/reflection_ops.h>
#include <google/protobuf/wire_format.h>
// @@protoc_insertion_point(includes)
#include <google/protobuf/port_def.inc>

PROTOBUF_PRAGMA_INIT_SEG

namespace _pb = ::PROTOBUF_NAMESPACE_ID;
namespace _pbi = _pb::internal;

PROTOBUF_CONSTEXPR CMsgProtoBufHeader::CMsgProtoBufHeader(
    ::_pbi::ConstantInitialized): _impl_{
    /*decltype(_impl_._has_bits_)*/{}
  , /*decltype(_impl_._cached_size_)*/{}
  , /*decltype(_impl_.target_job_name_)*/{&::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized{}}
  , /*decltype(_impl_.error_message_)*/{&::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized{}}
  , /*decltype(_impl_.client_steam_id_)*/uint64_t{0u}
  , /*decltype(_impl_.client_session_id_)*/0
  , /*decltype(_impl_.source_app_id_)*/0u
  , /*decltype(_impl_.ip_)*/0u
  , /*decltype(_impl_.gc_msg_src_)*/0
  , /*decltype(_impl_.gc_dir_index_source_)*/0u
  , /*decltype(_impl_.eresult_)*/2
  , /*decltype(_impl_.job_id_source_)*/uint64_t{18446744073709551615u}
  , /*decltype(_impl_.job_id_target_)*/uint64_t{18446744073709551615u}} {}
struct CMsgProtoBufHeaderDefaultTypeInternal {
  PROTOBUF_CONSTEXPR CMsgProtoBufHeaderDefaultTypeInternal()
      : _instance(::_pbi::ConstantInitialized{}) {}
  ~CMsgProtoBufHeaderDefaultTypeInternal() {}
  union {
    CMsgProtoBufHeader _instance;
  };
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 CMsgProtoBufHeaderDefaultTypeInternal _CMsgProtoBufHeader_default_instance_;
PROTOBUF_CONSTEXPR CChinaAgreementSessions_StartAgreementSessionInGame_Request::CChinaAgreementSessions_StartAgreementSessionInGame_Request(
    ::_pbi::ConstantInitialized): _impl_{
    /*decltype(_impl_._has_bits_)*/{}
  , /*decltype(_impl_._cached_size_)*/{}
  , /*decltype(_impl_.client_ipaddress_)*/{&::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized{}}
  , /*decltype(_impl_.steamid_)*/uint64_t{0u}
  , /*decltype(_impl_.appid_)*/0u} {}
struct CChinaAgreementSessions_StartAgreementSessionInGame_RequestDefaultTypeInternal {
  PROTOBUF_CONSTEXPR CChinaAgreementSessions_StartAgreementSessionInGame_RequestDefaultTypeInternal()
      : _instance(::_pbi::ConstantInitialized{}) {}
  ~CChinaAgreementSessions_StartAgreementSessionInGame_RequestDefaultTypeInternal() {}
  union {
    CChinaAgreementSessions_StartAgreementSessionInGame_Request _instance;
  };
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 CChinaAgreementSessions_StartAgreementSessionInGame_RequestDefaultTypeInternal _CChinaAgreementSessions_StartAgreementSessionInGame_Request_default_instance_;
PROTOBUF_CONSTEXPR CChinaAgreementSessions_StartAgreementSessionInGame_Response::CChinaAgreementSessions_StartAgreementSessionInGame_Response(
    ::_pbi::ConstantInitialized): _impl_{
    /*decltype(_impl_._has_bits_)*/{}
  , /*decltype(_impl_._cached_size_)*/{}
  , /*decltype(_impl_.agreement_url_)*/{&::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized{}}} {}
struct CChinaAgreementSessions_StartAgreementSessionInGame_ResponseDefaultTypeInternal {
  PROTOBUF_CONSTEXPR CChinaAgreementSessions_StartAgreementSessionInGame_ResponseDefaultTypeInternal()
      : _instance(::_pbi::ConstantInitialized{}) {}
  ~CChinaAgreementSessions_StartAgreementSessionInGame_ResponseDefaultTypeInternal() {}
  union {
    CChinaAgreementSessions_StartAgreementSessionInGame_Response _instance;
  };
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 CChinaAgreementSessions_StartAgreementSessionInGame_ResponseDefaultTypeInternal _CChinaAgreementSessions_StartAgreementSessionInGame_Response_default_instance_;
static ::_pb::Metadata file_level_metadata_steammessages_2eproto[3];
static const ::_pb::EnumDescriptor* file_level_enum_descriptors_steammessages_2eproto[1];
static constexpr ::_pb::ServiceDescriptor const** file_level_service_descriptors_steammessages_2eproto = nullptr;

const uint32_t TableStruct_steammessages_2eproto::offsets[] PROTOBUF_SECTION_VARIABLE(protodesc_cold) = {
  PROTOBUF_FIELD_OFFSET(::CMsgProtoBufHeader, _impl_._has_bits_),
  PROTOBUF_FIELD_OFFSET(::CMsgProtoBufHeader, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  ~0u,  // no _inlined_string_donated_
  PROTOBUF_FIELD_OFFSET(::CMsgProtoBufHeader, _impl_.client_steam_id_),
  PROTOBUF_FIELD_OFFSET(::CMsgProtoBufHeader, _impl_.client_session_id_),
  PROTOBUF_FIELD_OFFSET(::CMsgProtoBufHeader, _impl_.source_app_id_),
  PROTOBUF_FIELD_OFFSET(::CMsgProtoBufHeader, _impl_.job_id_source_),
  PROTOBUF_FIELD_OFFSET(::CMsgProtoBufHeader, _impl_.job_id_target_),
  PROTOBUF_FIELD_OFFSET(::CMsgProtoBufHeader, _impl_.target_job_name_),
  PROTOBUF_FIELD_OFFSET(::CMsgProtoBufHeader, _impl_.eresult_),
  PROTOBUF_FIELD_OFFSET(::CMsgProtoBufHeader, _impl_.error_message_),
  PROTOBUF_FIELD_OFFSET(::CMsgProtoBufHeader, _impl_.ip_),
  PROTOBUF_FIELD_OFFSET(::CMsgProtoBufHeader, _impl_.gc_msg_src_),
  PROTOBUF_FIELD_OFFSET(::CMsgProtoBufHeader, _impl_.gc_dir_index_source_),
  2,
  3,
  4,
  9,
  10,
  0,
  8,
  1,
  5,
  6,
  7,
  PROTOBUF_FIELD_OFFSET(::CChinaAgreementSessions_StartAgreementSessionInGame_Request, _impl_._has_bits_),
  PROTOBUF_FIELD_OFFSET(::CChinaAgreementSessions_StartAgreementSessionInGame_Request, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  ~0u,  // no _inlined_string_donated_
  PROTOBUF_FIELD_OFFSET(::CChinaAgreementSessions_StartAgreementSessionInGame_Request, _impl_.appid_),
  PROTOBUF_FIELD_OFFSET(::CChinaAgreementSessions_StartAgreementSessionInGame_Request, _impl_.steamid_),
  PROTOBUF_FIELD_OFFSET(::CChinaAgreementSessions_StartAgreementSessionInGame_Request, _impl_.client_ipaddress_),
  2,
  1,
  0,
  PROTOBUF_FIELD_OFFSET(::CChinaAgreementSessions_StartAgreementSessionInGame_Response, _impl_._has_bits_),
  PROTOBUF_FIELD_OFFSET(::CChinaAgreementSessions_StartAgreementSessionInGame_Response, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  ~0u,  // no _inlined_string_donated_
  PROTOBUF_FIELD_OFFSET(::CChinaAgreementSessions_StartAgreementSessionInGame_Response, _impl_.agreement_url_),
  0,
};
static const ::_pbi::MigrationSchema schemas[] PROTOBUF_SECTION_VARIABLE(protodesc_cold) = {
  { 0, 17, -1, sizeof(::CMsgProtoBufHeader)},
  { 28, 37, -1, sizeof(::CChinaAgreementSessions_StartAgreementSessionInGame_Request)},
  { 40, 47, -1, sizeof(::CChinaAgreementSessions_StartAgreementSessionInGame_Response)},
};

static const ::_pb::Message* const file_default_instances[] = {
  &::_CMsgProtoBufHeader_default_instance_._instance,
  &::_CChinaAgreementSessions_StartAgreementSessionInGame_Request_default_instance_._instance,
  &::_CChinaAgreementSessions_StartAgreementSessionInGame_Response_default_instance_._instance,
};

const char descriptor_table_protodef_steammessages_2eproto[] PROTOBUF_SECTION_VARIABLE(protodesc_cold) =
  "\n\023steammessages.proto\032 google/protobuf/d"
  "escriptor.proto\"\371\002\n\022CMsgProtoBufHeader\022\027"
  "\n\017client_steam_id\030\001 \001(\006\022\031\n\021client_sessio"
  "n_id\030\002 \001(\005\022\025\n\rsource_app_id\030\003 \001(\r\022+\n\rjob"
  "_id_source\030\n \001(\006:\02418446744073709551615\022+"
  "\n\rjob_id_target\030\013 \001(\006:\02418446744073709551"
  "615\022\027\n\017target_job_name\030\014 \001(\t\022\022\n\007eresult\030"
  "\r \001(\005:\0012\022\025\n\rerror_message\030\016 \001(\t\022\n\n\002ip\030\017 "
  "\001(\r\022D\n\ngc_msg_src\030\310\001 \001(\0162\021.GCProtoBufMsg"
  "Src:\034GCProtoBufMsgSrc_Unspecified\022\034\n\023gc_"
  "dir_index_source\030\311\001 \001(\r:\n\200\246\035\200\002\210\246\035\200\010\"w\n;C"
  "ChinaAgreementSessions_StartAgreementSes"
  "sionInGame_Request\022\r\n\005appid\030\001 \001(\r\022\017\n\007ste"
  "amid\030\002 \001(\006\022\030\n\020client_ipaddress\030\003 \001(\t\"U\n<"
  "CChinaAgreementSessions_StartAgreementSe"
  "ssionInGame_Response\022\025\n\ragreement_url\030\001 "
  "\001(\t*\266\001\n\020GCProtoBufMsgSrc\022 \n\034GCProtoBufMs"
  "gSrc_Unspecified\020\000\022\037\n\033GCProtoBufMsgSrc_F"
  "romSystem\020\001\022 \n\034GCProtoBufMsgSrc_FromStea"
  "mID\020\002\022\033\n\027GCProtoBufMsgSrc_FromGC\020\003\022 \n\034GC"
  "ProtoBufMsgSrc_ReplySystem\020\004:9\n\tkey_fiel"
  "d\022\035.google.protobuf.FieldOptions\030\340\324\003 \001(\010"
  ":\005false:A\n\022msgpool_soft_limit\022\037.google.p"
  "rotobuf.MessageOptions\030\340\324\003 \001(\005:\00232:B\n\022ms"
  "gpool_hard_limit\022\037.google.protobuf.Messa"
  "geOptions\030\341\324\003 \001(\005:\003384"
  ;
static const ::_pbi::DescriptorTable* const descriptor_table_steammessages_2eproto_deps[1] = {
  &::descriptor_table_google_2fprotobuf_2fdescriptor_2eproto,
};
static ::_pbi::once_flag descriptor_table_steammessages_2eproto_once;
const ::_pbi::DescriptorTable descriptor_table_steammessages_2eproto = {
    false, false, 1022, descriptor_table_protodef_steammessages_2eproto,
    "steammessages.proto",
    &descriptor_table_steammessages_2eproto_once, descriptor_table_steammessages_2eproto_deps, 1, 3,
    schemas, file_default_instances, TableStruct_steammessages_2eproto::offsets,
    file_level_metadata_steammessages_2eproto, file_level_enum_descriptors_steammessages_2eproto,
    file_level_service_descriptors_steammessages_2eproto,
};
PROTOBUF_ATTRIBUTE_WEAK const ::_pbi::DescriptorTable* descriptor_table_steammessages_2eproto_getter() {
  return &descriptor_table_steammessages_2eproto;
}

// Force running AddDescriptors() at dynamic initialization time.
PROTOBUF_ATTRIBUTE_INIT_PRIORITY2 static ::_pbi::AddDescriptorsRunner dynamic_init_dummy_steammessages_2eproto(&descriptor_table_steammessages_2eproto);
const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* GCProtoBufMsgSrc_descriptor() {
  ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&descriptor_table_steammessages_2eproto);
  return file_level_enum_descriptors_steammessages_2eproto[0];
}
bool GCProtoBufMsgSrc_IsValid(int value) {
  switch (value) {
    case 0:
    case 1:
    case 2:
    case 3:
    case 4:
      return true;
    default:
      return false;
  }
}


// ===================================================================

class CMsgProtoBufHeader::_Internal {
 public:
  using HasBits = decltype(std::declval<CMsgProtoBufHeader>()._impl_._has_bits_);
  static void set_has_client_steam_id(HasBits* has_bits) {
    (*has_bits)[0] |= 4u;
  }
  static void set_has_client_session_id(HasBits* has_bits) {
    (*has_bits)[0] |= 8u;
  }
  static void set_has_source_app_id(HasBits* has_bits) {
    (*has_bits)[0] |= 16u;
  }
  static void set_has_job_id_source(HasBits* has_bits) {
    (*has_bits)[0] |= 512u;
  }
  static void set_has_job_id_target(HasBits* has_bits) {
    (*has_bits)[0] |= 1024u;
  }
  static void set_has_target_job_name(HasBits* has_bits) {
    (*has_bits)[0] |= 1u;
  }
  static void set_has_eresult(HasBits* has_bits) {
    (*has_bits)[0] |= 256u;
  }
  static void set_has_error_message(HasBits* has_bits) {
    (*has_bits)[0] |= 2u;
  }
  static void set_has_ip(HasBits* has_bits) {
    (*has_bits)[0] |= 32u;
  }
  static void set_has_gc_msg_src(HasBits* has_bits) {
    (*has_bits)[0] |= 64u;
  }
  static void set_has_gc_dir_index_source(HasBits* has_bits) {
    (*has_bits)[0] |= 128u;
  }
};

CMsgProtoBufHeader::CMsgProtoBufHeader(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                         bool is_message_owned)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) {
  SharedCtor(arena, is_message_owned);
  // @@protoc_insertion_point(arena_constructor:CMsgProtoBufHeader)
}
CMsgProtoBufHeader::CMsgProtoBufHeader(const CMsgProtoBufHeader& from)
  : ::PROTOBUF_NAMESPACE_ID::Message() {
  CMsgProtoBufHeader* const _this = this; (void)_this;
  new (&_impl_) Impl_{
      decltype(_impl_._has_bits_){from._impl_._has_bits_}
    , /*decltype(_impl_._cached_size_)*/{}
    , decltype(_impl_.target_job_name_){}
    , decltype(_impl_.error_message_){}
    , decltype(_impl_.client_steam_id_){}
    , decltype(_impl_.client_session_id_){}
    , decltype(_impl_.source_app_id_){}
    , decltype(_impl_.ip_){}
    , decltype(_impl_.gc_msg_src_){}
    , decltype(_impl_.gc_dir_index_source_){}
    , decltype(_impl_.eresult_){}
    , decltype(_impl_.job_id_source_){}
    , decltype(_impl_.job_id_target_){}};

  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  _impl_.target_job_name_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.target_job_name_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (from._internal_has_target_job_name()) {
    _this->_impl_.target_job_name_.Set(from._internal_target_job_name(), 
      _this->GetArenaForAllocation());
  }
  _impl_.error_message_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.error_message_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (from._internal_has_error_message()) {
    _this->_impl_.error_message_.Set(from._internal_error_message(), 
      _this->GetArenaForAllocation());
  }
  ::memcpy(&_impl_.client_steam_id_, &from._impl_.client_steam_id_,
    static_cast<size_t>(reinterpret_cast<char*>(&_impl_.job_id_target_) -
    reinterpret_cast<char*>(&_impl_.client_steam_id_)) + sizeof(_impl_.job_id_target_));
  // @@protoc_insertion_point(copy_constructor:CMsgProtoBufHeader)
}

inline void CMsgProtoBufHeader::SharedCtor(
    ::_pb::Arena* arena, bool is_message_owned) {
  (void)arena;
  (void)is_message_owned;
  new (&_impl_) Impl_{
      decltype(_impl_._has_bits_){}
    , /*decltype(_impl_._cached_size_)*/{}
    , decltype(_impl_.target_job_name_){}
    , decltype(_impl_.error_message_){}
    , decltype(_impl_.client_steam_id_){uint64_t{0u}}
    , decltype(_impl_.client_session_id_){0}
    , decltype(_impl_.source_app_id_){0u}
    , decltype(_impl_.ip_){0u}
    , decltype(_impl_.gc_msg_src_){0}
    , decltype(_impl_.gc_dir_index_source_){0u}
    , decltype(_impl_.eresult_){2}
    , decltype(_impl_.job_id_source_){uint64_t{18446744073709551615u}}
    , decltype(_impl_.job_id_target_){uint64_t{18446744073709551615u}}
  };
  _impl_.target_job_name_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.target_job_name_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  _impl_.error_message_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.error_message_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
}

CMsgProtoBufHeader::~CMsgProtoBufHeader() {
  // @@protoc_insertion_point(destructor:CMsgProtoBufHeader)
  if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) {
  (void)arena;
    return;
  }
  SharedDtor();
}

inline void CMsgProtoBufHeader::SharedDtor() {
  GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
  _impl_.target_job_name_.Destroy();
  _impl_.error_message_.Destroy();
}

void CMsgProtoBufHeader::SetCachedSize(int size) const {
  _impl_._cached_size_.Set(size);
}

void CMsgProtoBufHeader::Clear() {
// @@protoc_insertion_point(message_clear_start:CMsgProtoBufHeader)
  uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000003u) {
    if (cached_has_bits & 0x00000001u) {
      _impl_.target_job_name_.ClearNonDefaultToEmpty();
    }
    if (cached_has_bits & 0x00000002u) {
      _impl_.error_message_.ClearNonDefaultToEmpty();
    }
  }
  if (cached_has_bits & 0x000000fcu) {
    ::memset(&_impl_.client_steam_id_, 0, static_cast<size_t>(
        reinterpret_cast<char*>(&_impl_.gc_dir_index_source_) -
        reinterpret_cast<char*>(&_impl_.client_steam_id_)) + sizeof(_impl_.gc_dir_index_source_));
  }
  if (cached_has_bits & 0x00000700u) {
    _impl_.eresult_ = 2;
    _impl_.job_id_source_ = uint64_t{18446744073709551615u};
    _impl_.job_id_target_ = uint64_t{18446744073709551615u};
  }
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* CMsgProtoBufHeader::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  _Internal::HasBits has_bits{};
  while (!ctx->Done(&ptr)) {
    uint32_t tag;
    ptr = ::_pbi::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // optional fixed64 client_steam_id = 1;
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 9)) {
          _Internal::set_has_client_steam_id(&has_bits);
          _impl_.client_steam_id_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<uint64_t>(ptr);
          ptr += sizeof(uint64_t);
        } else
          goto handle_unusual;
        continue;
      // optional int32 client_session_id = 2;
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 16)) {
          _Internal::set_has_client_session_id(&has_bits);
          _impl_.client_session_id_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // optional uint32 source_app_id = 3;
      case 3:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 24)) {
          _Internal::set_has_source_app_id(&has_bits);
          _impl_.source_app_id_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // optional fixed64 job_id_source = 10 [default = 18446744073709551615];
      case 10:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 81)) {
          _Internal::set_has_job_id_source(&has_bits);
          _impl_.job_id_source_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<uint64_t>(ptr);
          ptr += sizeof(uint64_t);
        } else
          goto handle_unusual;
        continue;
      // optional fixed64 job_id_target = 11 [default = 18446744073709551615];
      case 11:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 89)) {
          _Internal::set_has_job_id_target(&has_bits);
          _impl_.job_id_target_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<uint64_t>(ptr);
          ptr += sizeof(uint64_t);
        } else
          goto handle_unusual;
        continue;
      // optional string target_job_name = 12;
      case 12:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 98)) {
          auto str = _internal_mutable_target_job_name();
          ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(ptr);
          #ifndef NDEBUG
          ::_pbi::VerifyUTF8(str, "CMsgProtoBufHeader.target_job_name");
          #endif  // !NDEBUG
        } else
          goto handle_unusual;
        continue;
      // optional int32 eresult = 13 [default = 2];
      case 13:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 104)) {
          _Internal::set_has_eresult(&has_bits);
          _impl_.eresult_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // optional string error_message = 14;
      case 14:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 114)) {
          auto str = _internal_mutable_error_message();
          ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(ptr);
          #ifndef NDEBUG
          ::_pbi::VerifyUTF8(str, "CMsgProtoBufHeader.error_message");
          #endif  // !NDEBUG
        } else
          goto handle_unusual;
        continue;
      // optional uint32 ip = 15;
      case 15:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 120)) {
          _Internal::set_has_ip(&has_bits);
          _impl_.ip_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // optional .GCProtoBufMsgSrc gc_msg_src = 200 [default = GCProtoBufMsgSrc_Unspecified];
      case 200:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 64)) {
          uint64_t val = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
          if (PROTOBUF_PREDICT_TRUE(::GCProtoBufMsgSrc_IsValid(val))) {
            _internal_set_gc_msg_src(static_cast<::GCProtoBufMsgSrc>(val));
          } else {
            ::PROTOBUF_NAMESPACE_ID::internal::WriteVarint(200, val, mutable_unknown_fields());
          }
        } else
          goto handle_unusual;
        continue;
      // optional uint32 gc_dir_index_source = 201;
      case 201:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 72)) {
          _Internal::set_has_gc_dir_index_source(&has_bits);
          _impl_.gc_dir_index_source_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      default:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  _impl_._has_bits_.Or(has_bits);
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

uint8_t* CMsgProtoBufHeader::_InternalSerialize(
    uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:CMsgProtoBufHeader)
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  cached_has_bits = _impl_._has_bits_[0];
  // optional fixed64 client_steam_id = 1;
  if (cached_has_bits & 0x00000004u) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteFixed64ToArray(1, this->_internal_client_steam_id(), target);
  }

  // optional int32 client_session_id = 2;
  if (cached_has_bits & 0x00000008u) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteInt32ToArray(2, this->_internal_client_session_id(), target);
  }

  // optional uint32 source_app_id = 3;
  if (cached_has_bits & 0x00000010u) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(3, this->_internal_source_app_id(), target);
  }

  // optional fixed64 job_id_source = 10 [default = 18446744073709551615];
  if (cached_has_bits & 0x00000200u) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteFixed64ToArray(10, this->_internal_job_id_source(), target);
  }

  // optional fixed64 job_id_target = 11 [default = 18446744073709551615];
  if (cached_has_bits & 0x00000400u) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteFixed64ToArray(11, this->_internal_job_id_target(), target);
  }

  // optional string target_job_name = 12;
  if (cached_has_bits & 0x00000001u) {
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::VerifyUTF8StringNamedField(
      this->_internal_target_job_name().data(), static_cast<int>(this->_internal_target_job_name().length()),
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::SERIALIZE,
      "CMsgProtoBufHeader.target_job_name");
    target = stream->WriteStringMaybeAliased(
        12, this->_internal_target_job_name(), target);
  }

  // optional int32 eresult = 13 [default = 2];
  if (cached_has_bits & 0x00000100u) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteInt32ToArray(13, this->_internal_eresult(), target);
  }

  // optional string error_message = 14;
  if (cached_has_bits & 0x00000002u) {
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::VerifyUTF8StringNamedField(
      this->_internal_error_message().data(), static_cast<int>(this->_internal_error_message().length()),
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::SERIALIZE,
      "CMsgProtoBufHeader.error_message");
    target = stream->WriteStringMaybeAliased(
        14, this->_internal_error_message(), target);
  }

  // optional uint32 ip = 15;
  if (cached_has_bits & 0x00000020u) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(15, this->_internal_ip(), target);
  }

  // optional .GCProtoBufMsgSrc gc_msg_src = 200 [default = GCProtoBufMsgSrc_Unspecified];
  if (cached_has_bits & 0x00000040u) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteEnumToArray(
      200, this->_internal_gc_msg_src(), target);
  }

  // optional uint32 gc_dir_index_source = 201;
  if (cached_has_bits & 0x00000080u) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(201, this->_internal_gc_dir_index_source(), target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
        _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:CMsgProtoBufHeader)
  return target;
}

size_t CMsgProtoBufHeader::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:CMsgProtoBufHeader)
  size_t total_size = 0;

  uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x000000ffu) {
    // optional string target_job_name = 12;
    if (cached_has_bits & 0x00000001u) {
      total_size += 1 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
          this->_internal_target_job_name());
    }

    // optional string error_message = 14;
    if (cached_has_bits & 0x00000002u) {
      total_size += 1 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
          this->_internal_error_message());
    }

    // optional fixed64 client_steam_id = 1;
    if (cached_has_bits & 0x00000004u) {
      total_size += 1 + 8;
    }

    // optional int32 client_session_id = 2;
    if (cached_has_bits & 0x00000008u) {
      total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(this->_internal_client_session_id());
    }

    // optional uint32 source_app_id = 3;
    if (cached_has_bits & 0x00000010u) {
      total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(this->_internal_source_app_id());
    }

    // optional uint32 ip = 15;
    if (cached_has_bits & 0x00000020u) {
      total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(this->_internal_ip());
    }

    // optional .GCProtoBufMsgSrc gc_msg_src = 200 [default = GCProtoBufMsgSrc_Unspecified];
    if (cached_has_bits & 0x00000040u) {
      total_size += 2 +
        ::_pbi::WireFormatLite::EnumSize(this->_internal_gc_msg_src());
    }

    // optional uint32 gc_dir_index_source = 201;
    if (cached_has_bits & 0x00000080u) {
      total_size += 2 +
        ::_pbi::WireFormatLite::UInt32Size(
          this->_internal_gc_dir_index_source());
    }

  }
  if (cached_has_bits & 0x00000700u) {
    // optional int32 eresult = 13 [default = 2];
    if (cached_has_bits & 0x00000100u) {
      total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(this->_internal_eresult());
    }

    // optional fixed64 job_id_source = 10 [default = 18446744073709551615];
    if (cached_has_bits & 0x00000200u) {
      total_size += 1 + 8;
    }

    // optional fixed64 job_id_target = 11 [default = 18446744073709551615];
    if (cached_has_bits & 0x00000400u) {
      total_size += 1 + 8;
    }

  }
  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::PROTOBUF_NAMESPACE_ID::Message::ClassData CMsgProtoBufHeader::_class_data_ = {
    ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSourceCheck,
    CMsgProtoBufHeader::MergeImpl
};
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*CMsgProtoBufHeader::GetClassData() const { return &_class_data_; }


void CMsgProtoBufHeader::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg) {
  auto* const _this = static_cast<CMsgProtoBufHeader*>(&to_msg);
  auto& from = static_cast<const CMsgProtoBufHeader&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:CMsgProtoBufHeader)
  GOOGLE_DCHECK_NE(&from, _this);
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  cached_has_bits = from._impl_._has_bits_[0];
  if (cached_has_bits & 0x000000ffu) {
    if (cached_has_bits & 0x00000001u) {
      _this->_internal_set_target_job_name(from._internal_target_job_name());
    }
    if (cached_has_bits & 0x00000002u) {
      _this->_internal_set_error_message(from._internal_error_message());
    }
    if (cached_has_bits & 0x00000004u) {
      _this->_impl_.client_steam_id_ = from._impl_.client_steam_id_;
    }
    if (cached_has_bits & 0x00000008u) {
      _this->_impl_.client_session_id_ = from._impl_.client_session_id_;
    }
    if (cached_has_bits & 0x00000010u) {
      _this->_impl_.source_app_id_ = from._impl_.source_app_id_;
    }
    if (cached_has_bits & 0x00000020u) {
      _this->_impl_.ip_ = from._impl_.ip_;
    }
    if (cached_has_bits & 0x00000040u) {
      _this->_impl_.gc_msg_src_ = from._impl_.gc_msg_src_;
    }
    if (cached_has_bits & 0x00000080u) {
      _this->_impl_.gc_dir_index_source_ = from._impl_.gc_dir_index_source_;
    }
    _this->_impl_._has_bits_[0] |= cached_has_bits;
  }
  if (cached_has_bits & 0x00000700u) {
    if (cached_has_bits & 0x00000100u) {
      _this->_impl_.eresult_ = from._impl_.eresult_;
    }
    if (cached_has_bits & 0x00000200u) {
      _this->_impl_.job_id_source_ = from._impl_.job_id_source_;
    }
    if (cached_has_bits & 0x00000400u) {
      _this->_impl_.job_id_target_ = from._impl_.job_id_target_;
    }
    _this->_impl_._has_bits_[0] |= cached_has_bits;
  }
  _this->_internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
}

void CMsgProtoBufHeader::CopyFrom(const CMsgProtoBufHeader& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:CMsgProtoBufHeader)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

bool CMsgProtoBufHeader::IsInitialized() const {
  return true;
}

void CMsgProtoBufHeader::InternalSwap(CMsgProtoBufHeader* other) {
  using std::swap;
  auto* lhs_arena = GetArenaForAllocation();
  auto* rhs_arena = other->GetArenaForAllocation();
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap(
      &_impl_.target_job_name_, lhs_arena,
      &other->_impl_.target_job_name_, rhs_arena
  );
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap(
      &_impl_.error_message_, lhs_arena,
      &other->_impl_.error_message_, rhs_arena
  );
  ::PROTOBUF_NAMESPACE_ID::internal::memswap<
      PROTOBUF_FIELD_OFFSET(CMsgProtoBufHeader, _impl_.gc_dir_index_source_)
      + sizeof(CMsgProtoBufHeader::_impl_.gc_dir_index_source_)
      - PROTOBUF_FIELD_OFFSET(CMsgProtoBufHeader, _impl_.client_steam_id_)>(
          reinterpret_cast<char*>(&_impl_.client_steam_id_),
          reinterpret_cast<char*>(&other->_impl_.client_steam_id_));
  swap(_impl_.eresult_, other->_impl_.eresult_);
  swap(_impl_.job_id_source_, other->_impl_.job_id_source_);
  swap(_impl_.job_id_target_, other->_impl_.job_id_target_);
}

::PROTOBUF_NAMESPACE_ID::Metadata CMsgProtoBufHeader::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_steammessages_2eproto_getter, &descriptor_table_steammessages_2eproto_once,
      file_level_metadata_steammessages_2eproto[0]);
}

// ===================================================================

class CChinaAgreementSessions_StartAgreementSessionInGame_Request::_Internal {
 public:
  using HasBits = decltype(std::declval<CChinaAgreementSessions_StartAgreementSessionInGame_Request>()._impl_._has_bits_);
  static void set_has_appid(HasBits* has_bits) {
    (*has_bits)[0] |= 4u;
  }
  static void set_has_steamid(HasBits* has_bits) {
    (*has_bits)[0] |= 2u;
  }
  static void set_has_client_ipaddress(HasBits* has_bits) {
    (*has_bits)[0] |= 1u;
  }
};

CChinaAgreementSessions_StartAgreementSessionInGame_Request::CChinaAgreementSessions_StartAgreementSessionInGame_Request(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                         bool is_message_owned)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) {
  SharedCtor(arena, is_message_owned);
  // @@protoc_insertion_point(arena_constructor:CChinaAgreementSessions_StartAgreementSessionInGame_Request)
}
CChinaAgreementSessions_StartAgreementSessionInGame_Request::CChinaAgreementSessions_StartAgreementSessionInGame_Request(const CChinaAgreementSessions_StartAgreementSessionInGame_Request& from)
  : ::PROTOBUF_NAMESPACE_ID::Message() {
  CChinaAgreementSessions_StartAgreementSessionInGame_Request* const _this = this; (void)_this;
  new (&_impl_) Impl_{
      decltype(_impl_._has_bits_){from._impl_._has_bits_}
    , /*decltype(_impl_._cached_size_)*/{}
    , decltype(_impl_.client_ipaddress_){}
    , decltype(_impl_.steamid_){}
    , decltype(_impl_.appid_){}};

  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  _impl_.client_ipaddress_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.client_ipaddress_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (from._internal_has_client_ipaddress()) {
    _this->_impl_.client_ipaddress_.Set(from._internal_client_ipaddress(), 
      _this->GetArenaForAllocation());
  }
  ::memcpy(&_impl_.steamid_, &from._impl_.steamid_,
    static_cast<size_t>(reinterpret_cast<char*>(&_impl_.appid_) -
    reinterpret_cast<char*>(&_impl_.steamid_)) + sizeof(_impl_.appid_));
  // @@protoc_insertion_point(copy_constructor:CChinaAgreementSessions_StartAgreementSessionInGame_Request)
}

inline void CChinaAgreementSessions_StartAgreementSessionInGame_Request::SharedCtor(
    ::_pb::Arena* arena, bool is_message_owned) {
  (void)arena;
  (void)is_message_owned;
  new (&_impl_) Impl_{
      decltype(_impl_._has_bits_){}
    , /*decltype(_impl_._cached_size_)*/{}
    , decltype(_impl_.client_ipaddress_){}
    , decltype(_impl_.steamid_){uint64_t{0u}}
    , decltype(_impl_.appid_){0u}
  };
  _impl_.client_ipaddress_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.client_ipaddress_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
}

CChinaAgreementSessions_StartAgreementSessionInGame_Request::~CChinaAgreementSessions_StartAgreementSessionInGame_Request() {
  // @@protoc_insertion_point(destructor:CChinaAgreementSessions_StartAgreementSessionInGame_Request)
  if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) {
  (void)arena;
    return;
  }
  SharedDtor();
}

inline void CChinaAgreementSessions_StartAgreementSessionInGame_Request::SharedDtor() {
  GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
  _impl_.client_ipaddress_.Destroy();
}

void CChinaAgreementSessions_StartAgreementSessionInGame_Request::SetCachedSize(int size) const {
  _impl_._cached_size_.Set(size);
}

void CChinaAgreementSessions_StartAgreementSessionInGame_Request::Clear() {
// @@protoc_insertion_point(message_clear_start:CChinaAgreementSessions_StartAgreementSessionInGame_Request)
  uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000001u) {
    _impl_.client_ipaddress_.ClearNonDefaultToEmpty();
  }
  if (cached_has_bits & 0x00000006u) {
    ::memset(&_impl_.steamid_, 0, static_cast<size_t>(
        reinterpret_cast<char*>(&_impl_.appid_) -
        reinterpret_cast<char*>(&_impl_.steamid_)) + sizeof(_impl_.appid_));
  }
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* CChinaAgreementSessions_StartAgreementSessionInGame_Request::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  _Internal::HasBits has_bits{};
  while (!ctx->Done(&ptr)) {
    uint32_t tag;
    ptr = ::_pbi::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // optional uint32 appid = 1;
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 8)) {
          _Internal::set_has_appid(&has_bits);
          _impl_.appid_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // optional fixed64 steamid = 2;
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 17)) {
          _Internal::set_has_steamid(&has_bits);
          _impl_.steamid_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<uint64_t>(ptr);
          ptr += sizeof(uint64_t);
        } else
          goto handle_unusual;
        continue;
      // optional string client_ipaddress = 3;
      case 3:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 26)) {
          auto str = _internal_mutable_client_ipaddress();
          ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(ptr);
          #ifndef NDEBUG
          ::_pbi::VerifyUTF8(str, "CChinaAgreementSessions_StartAgreementSessionInGame_Request.client_ipaddress");
          #endif  // !NDEBUG
        } else
          goto handle_unusual;
        continue;
      default:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  _impl_._has_bits_.Or(has_bits);
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

uint8_t* CChinaAgreementSessions_StartAgreementSessionInGame_Request::_InternalSerialize(
    uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:CChinaAgreementSessions_StartAgreementSessionInGame_Request)
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  cached_has_bits = _impl_._has_bits_[0];
  // optional uint32 appid = 1;
  if (cached_has_bits & 0x00000004u) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(1, this->_internal_appid(), target);
  }

  // optional fixed64 steamid = 2;
  if (cached_has_bits & 0x00000002u) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteFixed64ToArray(2, this->_internal_steamid(), target);
  }

  // optional string client_ipaddress = 3;
  if (cached_has_bits & 0x00000001u) {
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::VerifyUTF8StringNamedField(
      this->_internal_client_ipaddress().data(), static_cast<int>(this->_internal_client_ipaddress().length()),
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::SERIALIZE,
      "CChinaAgreementSessions_StartAgreementSessionInGame_Request.client_ipaddress");
    target = stream->WriteStringMaybeAliased(
        3, this->_internal_client_ipaddress(), target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
        _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:CChinaAgreementSessions_StartAgreementSessionInGame_Request)
  return target;
}

size_t CChinaAgreementSessions_StartAgreementSessionInGame_Request::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:CChinaAgreementSessions_StartAgreementSessionInGame_Request)
  size_t total_size = 0;

  uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000007u) {
    // optional string client_ipaddress = 3;
    if (cached_has_bits & 0x00000001u) {
      total_size += 1 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
          this->_internal_client_ipaddress());
    }

    // optional fixed64 steamid = 2;
    if (cached_has_bits & 0x00000002u) {
      total_size += 1 + 8;
    }

    // optional uint32 appid = 1;
    if (cached_has_bits & 0x00000004u) {
      total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(this->_internal_appid());
    }

  }
  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::PROTOBUF_NAMESPACE_ID::Message::ClassData CChinaAgreementSessions_StartAgreementSessionInGame_Request::_class_data_ = {
    ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSourceCheck,
    CChinaAgreementSessions_StartAgreementSessionInGame_Request::MergeImpl
};
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*CChinaAgreementSessions_StartAgreementSessionInGame_Request::GetClassData() const { return &_class_data_; }


void CChinaAgreementSessions_StartAgreementSessionInGame_Request::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg) {
  auto* const _this = static_cast<CChinaAgreementSessions_StartAgreementSessionInGame_Request*>(&to_msg);
  auto& from = static_cast<const CChinaAgreementSessions_StartAgreementSessionInGame_Request&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:CChinaAgreementSessions_StartAgreementSessionInGame_Request)
  GOOGLE_DCHECK_NE(&from, _this);
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  cached_has_bits = from._impl_._has_bits_[0];
  if (cached_has_bits & 0x00000007u) {
    if (cached_has_bits & 0x00000001u) {
      _this->_internal_set_client_ipaddress(from._internal_client_ipaddress());
    }
    if (cached_has_bits & 0x00000002u) {
      _this->_impl_.steamid_ = from._impl_.steamid_;
    }
    if (cached_has_bits & 0x00000004u) {
      _this->_impl_.appid_ = from._impl_.appid_;
    }
    _this->_impl_._has_bits_[0] |= cached_has_bits;
  }
  _this->_internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
}

void CChinaAgreementSessions_StartAgreementSessionInGame_Request::CopyFrom(const CChinaAgreementSessions_StartAgreementSessionInGame_Request& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:CChinaAgreementSessions_StartAgreementSessionInGame_Request)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

bool CChinaAgreementSessions_StartAgreementSessionInGame_Request::IsInitialized() const {
  return true;
}

void CChinaAgreementSessions_StartAgreementSessionInGame_Request::InternalSwap(CChinaAgreementSessions_StartAgreementSessionInGame_Request* other) {
  using std::swap;
  auto* lhs_arena = GetArenaForAllocation();
  auto* rhs_arena = other->GetArenaForAllocation();
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap(
      &_impl_.client_ipaddress_, lhs_arena,
      &other->_impl_.client_ipaddress_, rhs_arena
  );
  ::PROTOBUF_NAMESPACE_ID::internal::memswap<
      PROTOBUF_FIELD_OFFSET(CChinaAgreementSessions_StartAgreementSessionInGame_Request, _impl_.appid_)
      + sizeof(CChinaAgreementSessions_StartAgreementSessionInGame_Request::_impl_.appid_)
      - PROTOBUF_FIELD_OFFSET(CChinaAgreementSessions_StartAgreementSessionInGame_Request, _impl_.steamid_)>(
          reinterpret_cast<char*>(&_impl_.steamid_),
          reinterpret_cast<char*>(&other->_impl_.steamid_));
}

::PROTOBUF_NAMESPACE_ID::Metadata CChinaAgreementSessions_StartAgreementSessionInGame_Request::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_steammessages_2eproto_getter, &descriptor_table_steammessages_2eproto_once,
      file_level_metadata_steammessages_2eproto[1]);
}

// ===================================================================

class CChinaAgreementSessions_StartAgreementSessionInGame_Response::_Internal {
 public:
  using HasBits = decltype(std::declval<CChinaAgreementSessions_StartAgreementSessionInGame_Response>()._impl_._has_bits_);
  static void set_has_agreement_url(HasBits* has_bits) {
    (*has_bits)[0] |= 1u;
  }
};

CChinaAgreementSessions_StartAgreementSessionInGame_Response::CChinaAgreementSessions_StartAgreementSessionInGame_Response(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                         bool is_message_owned)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) {
  SharedCtor(arena, is_message_owned);
  // @@protoc_insertion_point(arena_constructor:CChinaAgreementSessions_StartAgreementSessionInGame_Response)
}
CChinaAgreementSessions_StartAgreementSessionInGame_Response::CChinaAgreementSessions_StartAgreementSessionInGame_Response(const CChinaAgreementSessions_StartAgreementSessionInGame_Response& from)
  : ::PROTOBUF_NAMESPACE_ID::Message() {
  CChinaAgreementSessions_StartAgreementSessionInGame_Response* const _this = this; (void)_this;
  new (&_impl_) Impl_{
      decltype(_impl_._has_bits_){from._impl_._has_bits_}
    , /*decltype(_impl_._cached_size_)*/{}
    , decltype(_impl_.agreement_url_){}};

  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  _impl_.agreement_url_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.agreement_url_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (from._internal_has_agreement_url()) {
    _this->_impl_.agreement_url_.Set(from._internal_agreement_url(), 
      _this->GetArenaForAllocation());
  }
  // @@protoc_insertion_point(copy_constructor:CChinaAgreementSessions_StartAgreementSessionInGame_Response)
}

inline void CChinaAgreementSessions_StartAgreementSessionInGame_Response::SharedCtor(
    ::_pb::Arena* arena, bool is_message_owned) {
  (void)arena;
  (void)is_message_owned;
  new (&_impl_) Impl_{
      decltype(_impl_._has_bits_){}
    , /*decltype(_impl_._cached_size_)*/{}
    , decltype(_impl_.agreement_url_){}
  };
  _impl_.agreement_url_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    _impl_.agreement_url_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
}

CChinaAgreementSessions_StartAgreementSessionInGame_Response::~CChinaAgreementSessions_StartAgreementSessionInGame_Response() {
  // @@protoc_insertion_point(destructor:CChinaAgreementSessions_StartAgreementSessionInGame_Response)
  if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) {
  (void)arena;
    return;
  }
  SharedDtor();
}

inline void CChinaAgreementSessions_StartAgreementSessionInGame_Response::SharedDtor() {
  GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
  _impl_.agreement_url_.Destroy();
}

void CChinaAgreementSessions_StartAgreementSessionInGame_Response::SetCachedSize(int size) const {
  _impl_._cached_size_.Set(size);
}

void CChinaAgreementSessions_StartAgreementSessionInGame_Response::Clear() {
// @@protoc_insertion_point(message_clear_start:CChinaAgreementSessions_StartAgreementSessionInGame_Response)
  uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000001u) {
    _impl_.agreement_url_.ClearNonDefaultToEmpty();
  }
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* CChinaAgreementSessions_StartAgreementSessionInGame_Response::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  _Internal::HasBits has_bits{};
  while (!ctx->Done(&ptr)) {
    uint32_t tag;
    ptr = ::_pbi::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // optional string agreement_url = 1;
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 10)) {
          auto str = _internal_mutable_agreement_url();
          ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(ptr);
          #ifndef NDEBUG
          ::_pbi::VerifyUTF8(str, "CChinaAgreementSessions_StartAgreementSessionInGame_Response.agreement_url");
          #endif  // !NDEBUG
        } else
          goto handle_unusual;
        continue;
      default:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  _impl_._has_bits_.Or(has_bits);
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

uint8_t* CChinaAgreementSessions_StartAgreementSessionInGame_Response::_InternalSerialize(
    uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:CChinaAgreementSessions_StartAgreementSessionInGame_Response)
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  cached_has_bits = _impl_._has_bits_[0];
  // optional string agreement_url = 1;
  if (cached_has_bits & 0x00000001u) {
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::VerifyUTF8StringNamedField(
      this->_internal_agreement_url().data(), static_cast<int>(this->_internal_agreement_url().length()),
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::SERIALIZE,
      "CChinaAgreementSessions_StartAgreementSessionInGame_Response.agreement_url");
    target = stream->WriteStringMaybeAliased(
        1, this->_internal_agreement_url(), target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
        _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:CChinaAgreementSessions_StartAgreementSessionInGame_Response)
  return target;
}

size_t CChinaAgreementSessions_StartAgreementSessionInGame_Response::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:CChinaAgreementSessions_StartAgreementSessionInGame_Response)
  size_t total_size = 0;

  uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  // optional string agreement_url = 1;
  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000001u) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
        this->_internal_agreement_url());
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::PROTOBUF_NAMESPACE_ID::Message::ClassData CChinaAgreementSessions_StartAgreementSessionInGame_Response::_class_data_ = {
    ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSourceCheck,
    CChinaAgreementSessions_StartAgreementSessionInGame_Response::MergeImpl
};
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*CChinaAgreementSessions_StartAgreementSessionInGame_Response::GetClassData() const { return &_class_data_; }


void CChinaAgreementSessions_StartAgreementSessionInGame_Response::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg) {
  auto* const _this = static_cast<CChinaAgreementSessions_StartAgreementSessionInGame_Response*>(&to_msg);
  auto& from = static_cast<const CChinaAgreementSessions_StartAgreementSessionInGame_Response&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:CChinaAgreementSessions_StartAgreementSessionInGame_Response)
  GOOGLE_DCHECK_NE(&from, _this);
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  if (from._internal_has_agreement_url()) {
    _this->_internal_set_agreement_url(from._internal_agreement_url());
  }
  _this->_internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
}

void CChinaAgreementSessions_StartAgreementSessionInGame_Response::CopyFrom(const CChinaAgreementSessions_StartAgreementSessionInGame_Response& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:CChinaAgreementSessions_StartAgreementSessionInGame_Response)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

bool CChinaAgreementSessions_StartAgreementSessionInGame_Response::IsInitialized() const {
  return true;
}

void CChinaAgreementSessions_StartAgreementSessionInGame_Response::InternalSwap(CChinaAgreementSessions_StartAgreementSessionInGame_Response* other) {
  using std::swap;
  auto* lhs_arena = GetArenaForAllocation();
  auto* rhs_arena = other->GetArenaForAllocation();
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap(
      &_impl_.agreement_url_, lhs_arena,
      &other->_impl_.agreement_url_, rhs_arena
  );
}

::PROTOBUF_NAMESPACE_ID::Metadata CChinaAgreementSessions_StartAgreementSessionInGame_Response::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_steammessages_2eproto_getter, &descriptor_table_steammessages_2eproto_once,
      file_level_metadata_steammessages_2eproto[2]);
}
PROTOBUF_ATTRIBUTE_INIT_PRIORITY2 ::PROTOBUF_NAMESPACE_ID::internal::ExtensionIdentifier< ::PROTOBUF_NAMESPACE_ID::FieldOptions,
    ::PROTOBUF_NAMESPACE_ID::internal::PrimitiveTypeTraits< bool >, 8, false>
  key_field(kKeyFieldFieldNumber, false, nullptr);
PROTOBUF_ATTRIBUTE_INIT_PRIORITY2 ::PROTOBUF_NAMESPACE_ID::internal::ExtensionIdentifier< ::PROTOBUF_NAMESPACE_ID::MessageOptions,
    ::PROTOBUF_NAMESPACE_ID::internal::PrimitiveTypeTraits< int32_t >, 5, false>
  msgpool_soft_limit(kMsgpoolSoftLimitFieldNumber, 32, nullptr);
PROTOBUF_ATTRIBUTE_INIT_PRIORITY2 ::PROTOBUF_NAMESPACE_ID::internal::ExtensionIdentifier< ::PROTOBUF_NAMESPACE_ID::MessageOptions,
    ::PROTOBUF_NAMESPACE_ID::internal::PrimitiveTypeTraits< int32_t >, 5, false>
  msgpool_hard_limit(kMsgpoolHardLimitFieldNumber, 384, nullptr);

// @@protoc_insertion_point(namespace_scope)
PROTOBUF_NAMESPACE_OPEN
template<> PROTOBUF_NOINLINE ::CMsgProtoBufHeader*
Arena::CreateMaybeMessage< ::CMsgProtoBufHeader >(Arena* arena) {
  return Arena::CreateMessageInternal< ::CMsgProtoBufHeader >(arena);
}
template<> PROTOBUF_NOINLINE ::CChinaAgreementSessions_StartAgreementSessionInGame_Request*
Arena::CreateMaybeMessage< ::CChinaAgreementSessions_StartAgreementSessionInGame_Request >(Arena* arena) {
  return Arena::CreateMessageInternal< ::CChinaAgreementSessions_StartAgreementSessionInGame_Request >(arena);
}
template<> PROTOBUF_NOINLINE ::CChinaAgreementSessions_StartAgreementSessionInGame_Response*
Arena::CreateMaybeMessage< ::CChinaAgreementSessions_StartAgreementSessionInGame_Response >(Arena* arena) {
  return Arena::CreateMessageInternal< ::CChinaAgreementSessions_StartAgreementSessionInGame_Response >(arena);
}
PROTOBUF_NAMESPACE_CLOSE

// @@protoc_insertion_point(global_scope)
#include <google/protobuf/port_undef.inc>
