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

#define INTERNAL_SUPPRESS_PROTOBUF_FIELD_DEPRECATION
#include "bindopmobileforreg.pb.h"

#include <algorithm>

#include <google/protobuf/stubs/common.h>
#include <google/protobuf/stubs/port.h>
#include <google/protobuf/stubs/once.h>
#include <google/protobuf/io/coded_stream.h>
#include <google/protobuf/wire_format_lite_inl.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)

namespace com {
namespace tencent {
namespace mars {
namespace microchat {
namespace proto {
class BindRequest_DeviceInfoDefaultTypeInternal : public ::google::protobuf::internal::ExplicitlyConstructed<BindRequest_DeviceInfo> {
} _BindRequest_DeviceInfo_default_instance_;
class BindRequest_AesKeyDefaultTypeInternal : public ::google::protobuf::internal::ExplicitlyConstructed<BindRequest_AesKey> {
} _BindRequest_AesKey_default_instance_;
class BindRequestDefaultTypeInternal : public ::google::protobuf::internal::ExplicitlyConstructed<BindRequest> {
} _BindRequest_default_instance_;
class BindResponse__Result__ResultDefaultTypeInternal : public ::google::protobuf::internal::ExplicitlyConstructed<BindResponse__Result__Result> {
} _BindResponse__Result__Result_default_instance_;
class BindResponse__ResultDefaultTypeInternal : public ::google::protobuf::internal::ExplicitlyConstructed<BindResponse__Result> {
} _BindResponse__Result_default_instance_;
class BindResponseDefaultTypeInternal : public ::google::protobuf::internal::ExplicitlyConstructed<BindResponse> {
} _BindResponse_default_instance_;

namespace protobuf_bindopmobileforreg_2eproto {


namespace {

::google::protobuf::Metadata file_level_metadata[6];

}  // namespace

PROTOBUF_CONSTEXPR_VAR ::google::protobuf::internal::ParseTableField
    const TableStruct::entries[] = {
  {0, 0, 0, ::google::protobuf::internal::kInvalidMask, 0, 0},
};

PROTOBUF_CONSTEXPR_VAR ::google::protobuf::internal::AuxillaryParseTableField
    const TableStruct::aux[] = {
  ::google::protobuf::internal::AuxillaryParseTableField(),
};
PROTOBUF_CONSTEXPR_VAR ::google::protobuf::internal::ParseTable const
    TableStruct::schema[] = {
  { NULL, NULL, 0, -1, -1, false },
  { NULL, NULL, 0, -1, -1, false },
  { NULL, NULL, 0, -1, -1, false },
  { NULL, NULL, 0, -1, -1, false },
  { NULL, NULL, 0, -1, -1, false },
  { NULL, NULL, 0, -1, -1, false },
};

const ::google::protobuf::uint32 TableStruct::offsets[] = {
  GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(BindRequest_DeviceInfo, _has_bits_),
  GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(BindRequest_DeviceInfo, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(BindRequest_DeviceInfo, unknown1_),
  GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(BindRequest_DeviceInfo, unknown2_),
  GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(BindRequest_DeviceInfo, guid_),
  GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(BindRequest_DeviceInfo, clientver_),
  GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(BindRequest_DeviceInfo, androidver_),
  GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(BindRequest_DeviceInfo, unknown3_),
  0,
  3,
  1,
  4,
  2,
  5,
  GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(BindRequest_AesKey, _has_bits_),
  GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(BindRequest_AesKey, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(BindRequest_AesKey, len_),
  GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(BindRequest_AesKey, key_),
  1,
  0,
  GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(BindRequest, _has_bits_),
  GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(BindRequest, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(BindRequest, info_),
  GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(BindRequest, mobilenum_),
  GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(BindRequest, option_),
  GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(BindRequest, verifycode_),
  GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(BindRequest, tag6_),
  GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(BindRequest, tag7_),
  GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(BindRequest, authticket_),
  GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(BindRequest, tag9_),
  GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(BindRequest, devicetype_),
  GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(BindRequest, devicename_),
  GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(BindRequest, aes_),
  GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(BindRequest, launguage_),
  GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(BindRequest, tag14_),
  GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(BindRequest, tag15_),
  GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(BindRequest, clientseqid_),
  8,
  0,
  10,
  1,
  11,
  2,
  3,
  12,
  4,
  5,
  9,
  6,
  13,
  14,
  7,
  GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(BindResponse__Result__Result, _has_bits_),
  GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(BindResponse__Result__Result, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(BindResponse__Result__Result, strresult_),
  0,
  GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(BindResponse__Result, _has_bits_),
  GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(BindResponse__Result, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(BindResponse__Result, code_),
  GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(BindResponse__Result, result_),
  1,
  0,
  GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(BindResponse, _has_bits_),
  GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(BindResponse, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(BindResponse, tag1_),
  GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(BindResponse, wxid_),
  1,
  0,
};

static const ::google::protobuf::internal::MigrationSchema schemas[] = {
  { 0, 11, sizeof(BindRequest_DeviceInfo)},
  { 17, 24, sizeof(BindRequest_AesKey)},
  { 26, 46, sizeof(BindRequest)},
  { 61, 67, sizeof(BindResponse__Result__Result)},
  { 68, 75, sizeof(BindResponse__Result)},
  { 77, 84, sizeof(BindResponse)},
};

static ::google::protobuf::Message const * const file_default_instances[] = {
  reinterpret_cast<const ::google::protobuf::Message*>(&_BindRequest_DeviceInfo_default_instance_),
  reinterpret_cast<const ::google::protobuf::Message*>(&_BindRequest_AesKey_default_instance_),
  reinterpret_cast<const ::google::protobuf::Message*>(&_BindRequest_default_instance_),
  reinterpret_cast<const ::google::protobuf::Message*>(&_BindResponse__Result__Result_default_instance_),
  reinterpret_cast<const ::google::protobuf::Message*>(&_BindResponse__Result_default_instance_),
  reinterpret_cast<const ::google::protobuf::Message*>(&_BindResponse_default_instance_),
};

namespace {

void protobuf_AssignDescriptors() {
  AddDescriptors();
  ::google::protobuf::MessageFactory* factory = NULL;
  AssignDescriptors(
      "bindopmobileforreg.proto", schemas, file_default_instances, TableStruct::offsets, factory,
      file_level_metadata, NULL, NULL);
}

void protobuf_AssignDescriptorsOnce() {
  static GOOGLE_PROTOBUF_DECLARE_ONCE(once);
  ::google::protobuf::GoogleOnceInit(&once, &protobuf_AssignDescriptors);
}

void protobuf_RegisterTypes(const ::std::string&) GOOGLE_ATTRIBUTE_COLD;
void protobuf_RegisterTypes(const ::std::string&) {
  protobuf_AssignDescriptorsOnce();
  ::google::protobuf::internal::RegisterAllTypes(file_level_metadata, 6);
}

}  // namespace

void TableStruct::Shutdown() {
  _BindRequest_DeviceInfo_default_instance_.Shutdown();
  delete file_level_metadata[0].reflection;
  _BindRequest_AesKey_default_instance_.Shutdown();
  delete file_level_metadata[1].reflection;
  _BindRequest_default_instance_.Shutdown();
  delete file_level_metadata[2].reflection;
  _BindResponse__Result__Result_default_instance_.Shutdown();
  delete file_level_metadata[3].reflection;
  _BindResponse__Result_default_instance_.Shutdown();
  delete file_level_metadata[4].reflection;
  _BindResponse_default_instance_.Shutdown();
  delete file_level_metadata[5].reflection;
}

void TableStruct::InitDefaultsImpl() {
  GOOGLE_PROTOBUF_VERIFY_VERSION;

  ::google::protobuf::internal::InitProtobufDefaults();
  _BindRequest_DeviceInfo_default_instance_.DefaultConstruct();
  _BindRequest_AesKey_default_instance_.DefaultConstruct();
  _BindRequest_default_instance_.DefaultConstruct();
  _BindResponse__Result__Result_default_instance_.DefaultConstruct();
  _BindResponse__Result_default_instance_.DefaultConstruct();
  _BindResponse_default_instance_.DefaultConstruct();
  _BindRequest_default_instance_.get_mutable()->info_ = const_cast< ::com::tencent::mars::microchat::proto::BindRequest_DeviceInfo*>(
      ::com::tencent::mars::microchat::proto::BindRequest_DeviceInfo::internal_default_instance());
  _BindRequest_default_instance_.get_mutable()->aes_ = const_cast< ::com::tencent::mars::microchat::proto::BindRequest_AesKey*>(
      ::com::tencent::mars::microchat::proto::BindRequest_AesKey::internal_default_instance());
  _BindResponse__Result_default_instance_.get_mutable()->result_ = const_cast< ::com::tencent::mars::microchat::proto::BindResponse__Result__Result*>(
      ::com::tencent::mars::microchat::proto::BindResponse__Result__Result::internal_default_instance());
  _BindResponse_default_instance_.get_mutable()->tag1_ = const_cast< ::com::tencent::mars::microchat::proto::BindResponse__Result*>(
      ::com::tencent::mars::microchat::proto::BindResponse__Result::internal_default_instance());
}

void InitDefaults() {
  static GOOGLE_PROTOBUF_DECLARE_ONCE(once);
  ::google::protobuf::GoogleOnceInit(&once, &TableStruct::InitDefaultsImpl);
}
void AddDescriptorsImpl() {
  InitDefaults();
  static const char descriptor[] = {
      "\n\030bindopmobileforreg.proto\022 com.tencent."
      "mars.microchat.proto\"\230\004\n\013BindRequest\022F\n\004"
      "info\030\001 \002(\01328.com.tencent.mars.microchat."
      "proto.BindRequest.DeviceInfo\022\021\n\tmobileNu"
      "m\030\003 \001(\t\022\016\n\006option\030\004 \001(\005\022\022\n\nverifycode\030\005 "
      "\001(\t\022\014\n\004tag6\030\006 \001(\005\022\014\n\004tag7\030\007 \001(\t\022\022\n\nauthT"
      "icket\030\010 \001(\t\022\014\n\004tag9\030\t \001(\005\022\022\n\ndeviceType\030"
      "\n \001(\t\022\022\n\ndeviceName\030\013 \001(\t\022A\n\003aes\030\014 \002(\01324"
      ".com.tencent.mars.microchat.proto.BindRe"
      "quest.AesKey\022\021\n\tlaunguage\030\r \001(\t\022\r\n\005tag14"
      "\030\016 \001(\005\022\r\n\005tag15\030\017 \001(\005\022\023\n\013clientSeqId\030\020 \001"
      "(\t\032w\n\nDeviceInfo\022\020\n\010unknown1\030\001 \002(\t\022\020\n\010un"
      "known2\030\002 \002(\005\022\014\n\004guid\030\003 \002(\t\022\021\n\tclientVer\030"
      "\004 \002(\005\022\022\n\nandroidVer\030\005 \002(\t\022\020\n\010unknown3\030\006 "
      "\002(\005\032\"\n\006AesKey\022\013\n\003len\030\001 \002(\005\022\013\n\003key\030\002 \002(\t\""
      "\352\001\n\014BindResponse\022D\n\004tag1\030\001 \001(\01326.com.ten"
      "cent.mars.microchat.proto.BindResponse._"
      "Result\022\014\n\004wxid\030\006 \001(\t\032\205\001\n\007_Result\022\014\n\004code"
      "\030\001 \001(\005\022N\n\006result\030\002 \001(\0132>.com.tencent.mar"
      "s.microchat.proto.BindResponse._Result._"
      "Result\032\034\n\007_Result\022\021\n\tstrResult\030\001 \001(\t"
  };
  ::google::protobuf::DescriptorPool::InternalAddGeneratedFile(
      descriptor, 836);
  ::google::protobuf::MessageFactory::InternalRegisterGeneratedFile(
    "bindopmobileforreg.proto", &protobuf_RegisterTypes);
  ::google::protobuf::internal::OnShutdown(&TableStruct::Shutdown);
}

void AddDescriptors() {
  static GOOGLE_PROTOBUF_DECLARE_ONCE(once);
  ::google::protobuf::GoogleOnceInit(&once, &AddDescriptorsImpl);
}
// Force AddDescriptors() to be called at static initialization time.
struct StaticDescriptorInitializer {
  StaticDescriptorInitializer() {
    AddDescriptors();
  }
} static_descriptor_initializer;

}  // namespace protobuf_bindopmobileforreg_2eproto


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

#if !defined(_MSC_VER) || _MSC_VER >= 1900
const int BindRequest_DeviceInfo::kUnknown1FieldNumber;
const int BindRequest_DeviceInfo::kUnknown2FieldNumber;
const int BindRequest_DeviceInfo::kGuidFieldNumber;
const int BindRequest_DeviceInfo::kClientVerFieldNumber;
const int BindRequest_DeviceInfo::kAndroidVerFieldNumber;
const int BindRequest_DeviceInfo::kUnknown3FieldNumber;
#endif  // !defined(_MSC_VER) || _MSC_VER >= 1900

BindRequest_DeviceInfo::BindRequest_DeviceInfo()
  : ::google::protobuf::Message(), _internal_metadata_(NULL) {
  if (GOOGLE_PREDICT_TRUE(this != internal_default_instance())) {
    protobuf_bindopmobileforreg_2eproto::InitDefaults();
  }
  SharedCtor();
  // @@protoc_insertion_point(constructor:com.tencent.mars.microchat.proto.BindRequest.DeviceInfo)
}
BindRequest_DeviceInfo::BindRequest_DeviceInfo(const BindRequest_DeviceInfo& from)
  : ::google::protobuf::Message(),
      _internal_metadata_(NULL),
      _has_bits_(from._has_bits_),
      _cached_size_(0) {
  _internal_metadata_.MergeFrom(from._internal_metadata_);
  unknown1_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  if (from.has_unknown1()) {
    unknown1_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.unknown1_);
  }
  guid_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  if (from.has_guid()) {
    guid_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.guid_);
  }
  androidver_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  if (from.has_androidver()) {
    androidver_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.androidver_);
  }
  ::memcpy(&unknown2_, &from.unknown2_,
    reinterpret_cast<char*>(&unknown3_) -
    reinterpret_cast<char*>(&unknown2_) + sizeof(unknown3_));
  // @@protoc_insertion_point(copy_constructor:com.tencent.mars.microchat.proto.BindRequest.DeviceInfo)
}

void BindRequest_DeviceInfo::SharedCtor() {
  _cached_size_ = 0;
  unknown1_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  guid_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  androidver_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  ::memset(&unknown2_, 0, reinterpret_cast<char*>(&unknown3_) -
    reinterpret_cast<char*>(&unknown2_) + sizeof(unknown3_));
}

BindRequest_DeviceInfo::~BindRequest_DeviceInfo() {
  // @@protoc_insertion_point(destructor:com.tencent.mars.microchat.proto.BindRequest.DeviceInfo)
  SharedDtor();
}

void BindRequest_DeviceInfo::SharedDtor() {
  unknown1_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  guid_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  androidver_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}

void BindRequest_DeviceInfo::SetCachedSize(int size) const {
  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
  _cached_size_ = size;
  GOOGLE_SAFE_CONCURRENT_WRITES_END();
}
const ::google::protobuf::Descriptor* BindRequest_DeviceInfo::descriptor() {
  protobuf_bindopmobileforreg_2eproto::protobuf_AssignDescriptorsOnce();
  return protobuf_bindopmobileforreg_2eproto::file_level_metadata[kIndexInFileMessages].descriptor;
}

const BindRequest_DeviceInfo& BindRequest_DeviceInfo::default_instance() {
  protobuf_bindopmobileforreg_2eproto::InitDefaults();
  return *internal_default_instance();
}

BindRequest_DeviceInfo* BindRequest_DeviceInfo::New(::google::protobuf::Arena* arena) const {
  BindRequest_DeviceInfo* n = new BindRequest_DeviceInfo;
  if (arena != NULL) {
    arena->Own(n);
  }
  return n;
}

void BindRequest_DeviceInfo::Clear() {
// @@protoc_insertion_point(message_clear_start:com.tencent.mars.microchat.proto.BindRequest.DeviceInfo)
  if (_has_bits_[0 / 32] & 7u) {
    if (has_unknown1()) {
      GOOGLE_DCHECK(!unknown1_.IsDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited()));
      (*unknown1_.UnsafeRawStringPointer())->clear();
    }
    if (has_guid()) {
      GOOGLE_DCHECK(!guid_.IsDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited()));
      (*guid_.UnsafeRawStringPointer())->clear();
    }
    if (has_androidver()) {
      GOOGLE_DCHECK(!androidver_.IsDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited()));
      (*androidver_.UnsafeRawStringPointer())->clear();
    }
  }
  if (_has_bits_[0 / 32] & 56u) {
    ::memset(&unknown2_, 0, reinterpret_cast<char*>(&unknown3_) -
      reinterpret_cast<char*>(&unknown2_) + sizeof(unknown3_));
  }
  _has_bits_.Clear();
  _internal_metadata_.Clear();
}

bool BindRequest_DeviceInfo::MergePartialFromCodedStream(
    ::google::protobuf::io::CodedInputStream* input) {
#define DO_(EXPRESSION) if (!GOOGLE_PREDICT_TRUE(EXPRESSION)) goto failure
  ::google::protobuf::uint32 tag;
  // @@protoc_insertion_point(parse_start:com.tencent.mars.microchat.proto.BindRequest.DeviceInfo)
  for (;;) {
    ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoffNoLastTag(127u);
    tag = p.first;
    if (!p.second) goto handle_unusual;
    switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
      // required string unknown1 = 1;
      case 1: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(10u)) {
          DO_(::google::protobuf::internal::WireFormatLite::ReadString(
                input, this->mutable_unknown1()));
          ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
            this->unknown1().data(), this->unknown1().length(),
            ::google::protobuf::internal::WireFormat::PARSE,
            "com.tencent.mars.microchat.proto.BindRequest.DeviceInfo.unknown1");
        } else {
          goto handle_unusual;
        }
        break;
      }

      // required int32 unknown2 = 2;
      case 2: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(16u)) {
          set_has_unknown2();
          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
                   ::google::protobuf::int32, ::google::protobuf::internal::WireFormatLite::TYPE_INT32>(
                 input, &unknown2_)));
        } else {
          goto handle_unusual;
        }
        break;
      }

      // required string guid = 3;
      case 3: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(26u)) {
          DO_(::google::protobuf::internal::WireFormatLite::ReadString(
                input, this->mutable_guid()));
          ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
            this->guid().data(), this->guid().length(),
            ::google::protobuf::internal::WireFormat::PARSE,
            "com.tencent.mars.microchat.proto.BindRequest.DeviceInfo.guid");
        } else {
          goto handle_unusual;
        }
        break;
      }

      // required int32 clientVer = 4;
      case 4: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(32u)) {
          set_has_clientver();
          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
                   ::google::protobuf::int32, ::google::protobuf::internal::WireFormatLite::TYPE_INT32>(
                 input, &clientver_)));
        } else {
          goto handle_unusual;
        }
        break;
      }

      // required string androidVer = 5;
      case 5: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(42u)) {
          DO_(::google::protobuf::internal::WireFormatLite::ReadString(
                input, this->mutable_androidver()));
          ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
            this->androidver().data(), this->androidver().length(),
            ::google::protobuf::internal::WireFormat::PARSE,
            "com.tencent.mars.microchat.proto.BindRequest.DeviceInfo.androidVer");
        } else {
          goto handle_unusual;
        }
        break;
      }

      // required int32 unknown3 = 6;
      case 6: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(48u)) {
          set_has_unknown3();
          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
                   ::google::protobuf::int32, ::google::protobuf::internal::WireFormatLite::TYPE_INT32>(
                 input, &unknown3_)));
        } else {
          goto handle_unusual;
        }
        break;
      }

      default: {
      handle_unusual:
        if (tag == 0 ||
            ::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
            ::google::protobuf::internal::WireFormatLite::WIRETYPE_END_GROUP) {
          goto success;
        }
        DO_(::google::protobuf::internal::WireFormat::SkipField(
              input, tag, mutable_unknown_fields()));
        break;
      }
    }
  }
success:
  // @@protoc_insertion_point(parse_success:com.tencent.mars.microchat.proto.BindRequest.DeviceInfo)
  return true;
failure:
  // @@protoc_insertion_point(parse_failure:com.tencent.mars.microchat.proto.BindRequest.DeviceInfo)
  return false;
#undef DO_
}

void BindRequest_DeviceInfo::SerializeWithCachedSizes(
    ::google::protobuf::io::CodedOutputStream* output) const {
  // @@protoc_insertion_point(serialize_start:com.tencent.mars.microchat.proto.BindRequest.DeviceInfo)
  ::google::protobuf::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  cached_has_bits = _has_bits_[0];
  // required string unknown1 = 1;
  if (cached_has_bits & 0x00000001u) {
    ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
      this->unknown1().data(), this->unknown1().length(),
      ::google::protobuf::internal::WireFormat::SERIALIZE,
      "com.tencent.mars.microchat.proto.BindRequest.DeviceInfo.unknown1");
    ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased(
      1, this->unknown1(), output);
  }

  // required int32 unknown2 = 2;
  if (cached_has_bits & 0x00000008u) {
    ::google::protobuf::internal::WireFormatLite::WriteInt32(2, this->unknown2(), output);
  }

  // required string guid = 3;
  if (cached_has_bits & 0x00000002u) {
    ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
      this->guid().data(), this->guid().length(),
      ::google::protobuf::internal::WireFormat::SERIALIZE,
      "com.tencent.mars.microchat.proto.BindRequest.DeviceInfo.guid");
    ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased(
      3, this->guid(), output);
  }

  // required int32 clientVer = 4;
  if (cached_has_bits & 0x00000010u) {
    ::google::protobuf::internal::WireFormatLite::WriteInt32(4, this->clientver(), output);
  }

  // required string androidVer = 5;
  if (cached_has_bits & 0x00000004u) {
    ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
      this->androidver().data(), this->androidver().length(),
      ::google::protobuf::internal::WireFormat::SERIALIZE,
      "com.tencent.mars.microchat.proto.BindRequest.DeviceInfo.androidVer");
    ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased(
      5, this->androidver(), output);
  }

  // required int32 unknown3 = 6;
  if (cached_has_bits & 0x00000020u) {
    ::google::protobuf::internal::WireFormatLite::WriteInt32(6, this->unknown3(), output);
  }

  if (_internal_metadata_.have_unknown_fields()) {
    ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
        unknown_fields(), output);
  }
  // @@protoc_insertion_point(serialize_end:com.tencent.mars.microchat.proto.BindRequest.DeviceInfo)
}

::google::protobuf::uint8* BindRequest_DeviceInfo::InternalSerializeWithCachedSizesToArray(
    bool deterministic, ::google::protobuf::uint8* target) const {
  // @@protoc_insertion_point(serialize_to_array_start:com.tencent.mars.microchat.proto.BindRequest.DeviceInfo)
  ::google::protobuf::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  cached_has_bits = _has_bits_[0];
  // required string unknown1 = 1;
  if (cached_has_bits & 0x00000001u) {
    ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
      this->unknown1().data(), this->unknown1().length(),
      ::google::protobuf::internal::WireFormat::SERIALIZE,
      "com.tencent.mars.microchat.proto.BindRequest.DeviceInfo.unknown1");
    target =
      ::google::protobuf::internal::WireFormatLite::WriteStringToArray(
        1, this->unknown1(), target);
  }

  // required int32 unknown2 = 2;
  if (cached_has_bits & 0x00000008u) {
    target = ::google::protobuf::internal::WireFormatLite::WriteInt32ToArray(2, this->unknown2(), target);
  }

  // required string guid = 3;
  if (cached_has_bits & 0x00000002u) {
    ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
      this->guid().data(), this->guid().length(),
      ::google::protobuf::internal::WireFormat::SERIALIZE,
      "com.tencent.mars.microchat.proto.BindRequest.DeviceInfo.guid");
    target =
      ::google::protobuf::internal::WireFormatLite::WriteStringToArray(
        3, this->guid(), target);
  }

  // required int32 clientVer = 4;
  if (cached_has_bits & 0x00000010u) {
    target = ::google::protobuf::internal::WireFormatLite::WriteInt32ToArray(4, this->clientver(), target);
  }

  // required string androidVer = 5;
  if (cached_has_bits & 0x00000004u) {
    ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
      this->androidver().data(), this->androidver().length(),
      ::google::protobuf::internal::WireFormat::SERIALIZE,
      "com.tencent.mars.microchat.proto.BindRequest.DeviceInfo.androidVer");
    target =
      ::google::protobuf::internal::WireFormatLite::WriteStringToArray(
        5, this->androidver(), target);
  }

  // required int32 unknown3 = 6;
  if (cached_has_bits & 0x00000020u) {
    target = ::google::protobuf::internal::WireFormatLite::WriteInt32ToArray(6, this->unknown3(), target);
  }

  if (_internal_metadata_.have_unknown_fields()) {
    target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
        unknown_fields(), target);
  }
  // @@protoc_insertion_point(serialize_to_array_end:com.tencent.mars.microchat.proto.BindRequest.DeviceInfo)
  return target;
}

size_t BindRequest_DeviceInfo::RequiredFieldsByteSizeFallback() const {
// @@protoc_insertion_point(required_fields_byte_size_fallback_start:com.tencent.mars.microchat.proto.BindRequest.DeviceInfo)
  size_t total_size = 0;

  if (has_unknown1()) {
    // required string unknown1 = 1;
    total_size += 1 +
      ::google::protobuf::internal::WireFormatLite::StringSize(
        this->unknown1());
  }

  if (has_guid()) {
    // required string guid = 3;
    total_size += 1 +
      ::google::protobuf::internal::WireFormatLite::StringSize(
        this->guid());
  }

  if (has_androidver()) {
    // required string androidVer = 5;
    total_size += 1 +
      ::google::protobuf::internal::WireFormatLite::StringSize(
        this->androidver());
  }

  if (has_unknown2()) {
    // required int32 unknown2 = 2;
    total_size += 1 +
      ::google::protobuf::internal::WireFormatLite::Int32Size(
        this->unknown2());
  }

  if (has_clientver()) {
    // required int32 clientVer = 4;
    total_size += 1 +
      ::google::protobuf::internal::WireFormatLite::Int32Size(
        this->clientver());
  }

  if (has_unknown3()) {
    // required int32 unknown3 = 6;
    total_size += 1 +
      ::google::protobuf::internal::WireFormatLite::Int32Size(
        this->unknown3());
  }

  return total_size;
}
size_t BindRequest_DeviceInfo::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:com.tencent.mars.microchat.proto.BindRequest.DeviceInfo)
  size_t total_size = 0;

  if (_internal_metadata_.have_unknown_fields()) {
    total_size +=
      ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize(
        unknown_fields());
  }
  if (((_has_bits_[0] & 0x0000003f) ^ 0x0000003f) == 0) {  // All required fields are present.
    // required string unknown1 = 1;
    total_size += 1 +
      ::google::protobuf::internal::WireFormatLite::StringSize(
        this->unknown1());

    // required string guid = 3;
    total_size += 1 +
      ::google::protobuf::internal::WireFormatLite::StringSize(
        this->guid());

    // required string androidVer = 5;
    total_size += 1 +
      ::google::protobuf::internal::WireFormatLite::StringSize(
        this->androidver());

    // required int32 unknown2 = 2;
    total_size += 1 +
      ::google::protobuf::internal::WireFormatLite::Int32Size(
        this->unknown2());

    // required int32 clientVer = 4;
    total_size += 1 +
      ::google::protobuf::internal::WireFormatLite::Int32Size(
        this->clientver());

    // required int32 unknown3 = 6;
    total_size += 1 +
      ::google::protobuf::internal::WireFormatLite::Int32Size(
        this->unknown3());

  } else {
    total_size += RequiredFieldsByteSizeFallback();
  }
  int cached_size = ::google::protobuf::internal::ToCachedSize(total_size);
  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
  _cached_size_ = cached_size;
  GOOGLE_SAFE_CONCURRENT_WRITES_END();
  return total_size;
}

void BindRequest_DeviceInfo::MergeFrom(const ::google::protobuf::Message& from) {
// @@protoc_insertion_point(generalized_merge_from_start:com.tencent.mars.microchat.proto.BindRequest.DeviceInfo)
  GOOGLE_DCHECK_NE(&from, this);
  const BindRequest_DeviceInfo* source =
      ::google::protobuf::internal::DynamicCastToGenerated<const BindRequest_DeviceInfo>(
          &from);
  if (source == NULL) {
  // @@protoc_insertion_point(generalized_merge_from_cast_fail:com.tencent.mars.microchat.proto.BindRequest.DeviceInfo)
    ::google::protobuf::internal::ReflectionOps::Merge(from, this);
  } else {
  // @@protoc_insertion_point(generalized_merge_from_cast_success:com.tencent.mars.microchat.proto.BindRequest.DeviceInfo)
    MergeFrom(*source);
  }
}

void BindRequest_DeviceInfo::MergeFrom(const BindRequest_DeviceInfo& from) {
// @@protoc_insertion_point(class_specific_merge_from_start:com.tencent.mars.microchat.proto.BindRequest.DeviceInfo)
  GOOGLE_DCHECK_NE(&from, this);
  _internal_metadata_.MergeFrom(from._internal_metadata_);
  ::google::protobuf::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  cached_has_bits = from._has_bits_[0];
  if (cached_has_bits & 63u) {
    if (cached_has_bits & 0x00000001u) {
      set_has_unknown1();
      unknown1_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.unknown1_);
    }
    if (cached_has_bits & 0x00000002u) {
      set_has_guid();
      guid_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.guid_);
    }
    if (cached_has_bits & 0x00000004u) {
      set_has_androidver();
      androidver_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.androidver_);
    }
    if (cached_has_bits & 0x00000008u) {
      unknown2_ = from.unknown2_;
    }
    if (cached_has_bits & 0x00000010u) {
      clientver_ = from.clientver_;
    }
    if (cached_has_bits & 0x00000020u) {
      unknown3_ = from.unknown3_;
    }
    _has_bits_[0] |= cached_has_bits;
  }
}

void BindRequest_DeviceInfo::CopyFrom(const ::google::protobuf::Message& from) {
// @@protoc_insertion_point(generalized_copy_from_start:com.tencent.mars.microchat.proto.BindRequest.DeviceInfo)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

void BindRequest_DeviceInfo::CopyFrom(const BindRequest_DeviceInfo& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:com.tencent.mars.microchat.proto.BindRequest.DeviceInfo)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

bool BindRequest_DeviceInfo::IsInitialized() const {
  if ((_has_bits_[0] & 0x0000003f) != 0x0000003f) return false;
  return true;
}

void BindRequest_DeviceInfo::Swap(BindRequest_DeviceInfo* other) {
  if (other == this) return;
  InternalSwap(other);
}
void BindRequest_DeviceInfo::InternalSwap(BindRequest_DeviceInfo* other) {
  unknown1_.Swap(&other->unknown1_);
  guid_.Swap(&other->guid_);
  androidver_.Swap(&other->androidver_);
  std::swap(unknown2_, other->unknown2_);
  std::swap(clientver_, other->clientver_);
  std::swap(unknown3_, other->unknown3_);
  std::swap(_has_bits_[0], other->_has_bits_[0]);
  _internal_metadata_.Swap(&other->_internal_metadata_);
  std::swap(_cached_size_, other->_cached_size_);
}

::google::protobuf::Metadata BindRequest_DeviceInfo::GetMetadata() const {
  protobuf_bindopmobileforreg_2eproto::protobuf_AssignDescriptorsOnce();
  return protobuf_bindopmobileforreg_2eproto::file_level_metadata[kIndexInFileMessages];
}

#if PROTOBUF_INLINE_NOT_IN_HEADERS
// BindRequest_DeviceInfo

// required string unknown1 = 1;
bool BindRequest_DeviceInfo::has_unknown1() const {
  return (_has_bits_[0] & 0x00000001u) != 0;
}
void BindRequest_DeviceInfo::set_has_unknown1() {
  _has_bits_[0] |= 0x00000001u;
}
void BindRequest_DeviceInfo::clear_has_unknown1() {
  _has_bits_[0] &= ~0x00000001u;
}
void BindRequest_DeviceInfo::clear_unknown1() {
  unknown1_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  clear_has_unknown1();
}
const ::std::string& BindRequest_DeviceInfo::unknown1() const {
  // @@protoc_insertion_point(field_get:com.tencent.mars.microchat.proto.BindRequest.DeviceInfo.unknown1)
  return unknown1_.GetNoArena();
}
void BindRequest_DeviceInfo::set_unknown1(const ::std::string& value) {
  set_has_unknown1();
  unknown1_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
  // @@protoc_insertion_point(field_set:com.tencent.mars.microchat.proto.BindRequest.DeviceInfo.unknown1)
}
#if LANG_CXX11
void BindRequest_DeviceInfo::set_unknown1(::std::string&& value) {
  set_has_unknown1();
  unknown1_.SetNoArena(
    &::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::move(value));
  // @@protoc_insertion_point(field_set_rvalue:com.tencent.mars.microchat.proto.BindRequest.DeviceInfo.unknown1)
}
#endif
void BindRequest_DeviceInfo::set_unknown1(const char* value) {
  GOOGLE_DCHECK(value != NULL);
  set_has_unknown1();
  unknown1_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
  // @@protoc_insertion_point(field_set_char:com.tencent.mars.microchat.proto.BindRequest.DeviceInfo.unknown1)
}
void BindRequest_DeviceInfo::set_unknown1(const char* value, size_t size) {
  set_has_unknown1();
  unknown1_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
      ::std::string(reinterpret_cast<const char*>(value), size));
  // @@protoc_insertion_point(field_set_pointer:com.tencent.mars.microchat.proto.BindRequest.DeviceInfo.unknown1)
}
::std::string* BindRequest_DeviceInfo::mutable_unknown1() {
  set_has_unknown1();
  // @@protoc_insertion_point(field_mutable:com.tencent.mars.microchat.proto.BindRequest.DeviceInfo.unknown1)
  return unknown1_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
::std::string* BindRequest_DeviceInfo::release_unknown1() {
  // @@protoc_insertion_point(field_release:com.tencent.mars.microchat.proto.BindRequest.DeviceInfo.unknown1)
  clear_has_unknown1();
  return unknown1_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
void BindRequest_DeviceInfo::set_allocated_unknown1(::std::string* unknown1) {
  if (unknown1 != NULL) {
    set_has_unknown1();
  } else {
    clear_has_unknown1();
  }
  unknown1_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), unknown1);
  // @@protoc_insertion_point(field_set_allocated:com.tencent.mars.microchat.proto.BindRequest.DeviceInfo.unknown1)
}

// required int32 unknown2 = 2;
bool BindRequest_DeviceInfo::has_unknown2() const {
  return (_has_bits_[0] & 0x00000008u) != 0;
}
void BindRequest_DeviceInfo::set_has_unknown2() {
  _has_bits_[0] |= 0x00000008u;
}
void BindRequest_DeviceInfo::clear_has_unknown2() {
  _has_bits_[0] &= ~0x00000008u;
}
void BindRequest_DeviceInfo::clear_unknown2() {
  unknown2_ = 0;
  clear_has_unknown2();
}
::google::protobuf::int32 BindRequest_DeviceInfo::unknown2() const {
  // @@protoc_insertion_point(field_get:com.tencent.mars.microchat.proto.BindRequest.DeviceInfo.unknown2)
  return unknown2_;
}
void BindRequest_DeviceInfo::set_unknown2(::google::protobuf::int32 value) {
  set_has_unknown2();
  unknown2_ = value;
  // @@protoc_insertion_point(field_set:com.tencent.mars.microchat.proto.BindRequest.DeviceInfo.unknown2)
}

// required string guid = 3;
bool BindRequest_DeviceInfo::has_guid() const {
  return (_has_bits_[0] & 0x00000002u) != 0;
}
void BindRequest_DeviceInfo::set_has_guid() {
  _has_bits_[0] |= 0x00000002u;
}
void BindRequest_DeviceInfo::clear_has_guid() {
  _has_bits_[0] &= ~0x00000002u;
}
void BindRequest_DeviceInfo::clear_guid() {
  guid_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  clear_has_guid();
}
const ::std::string& BindRequest_DeviceInfo::guid() const {
  // @@protoc_insertion_point(field_get:com.tencent.mars.microchat.proto.BindRequest.DeviceInfo.guid)
  return guid_.GetNoArena();
}
void BindRequest_DeviceInfo::set_guid(const ::std::string& value) {
  set_has_guid();
  guid_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
  // @@protoc_insertion_point(field_set:com.tencent.mars.microchat.proto.BindRequest.DeviceInfo.guid)
}
#if LANG_CXX11
void BindRequest_DeviceInfo::set_guid(::std::string&& value) {
  set_has_guid();
  guid_.SetNoArena(
    &::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::move(value));
  // @@protoc_insertion_point(field_set_rvalue:com.tencent.mars.microchat.proto.BindRequest.DeviceInfo.guid)
}
#endif
void BindRequest_DeviceInfo::set_guid(const char* value) {
  GOOGLE_DCHECK(value != NULL);
  set_has_guid();
  guid_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
  // @@protoc_insertion_point(field_set_char:com.tencent.mars.microchat.proto.BindRequest.DeviceInfo.guid)
}
void BindRequest_DeviceInfo::set_guid(const char* value, size_t size) {
  set_has_guid();
  guid_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
      ::std::string(reinterpret_cast<const char*>(value), size));
  // @@protoc_insertion_point(field_set_pointer:com.tencent.mars.microchat.proto.BindRequest.DeviceInfo.guid)
}
::std::string* BindRequest_DeviceInfo::mutable_guid() {
  set_has_guid();
  // @@protoc_insertion_point(field_mutable:com.tencent.mars.microchat.proto.BindRequest.DeviceInfo.guid)
  return guid_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
::std::string* BindRequest_DeviceInfo::release_guid() {
  // @@protoc_insertion_point(field_release:com.tencent.mars.microchat.proto.BindRequest.DeviceInfo.guid)
  clear_has_guid();
  return guid_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
void BindRequest_DeviceInfo::set_allocated_guid(::std::string* guid) {
  if (guid != NULL) {
    set_has_guid();
  } else {
    clear_has_guid();
  }
  guid_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), guid);
  // @@protoc_insertion_point(field_set_allocated:com.tencent.mars.microchat.proto.BindRequest.DeviceInfo.guid)
}

// required int32 clientVer = 4;
bool BindRequest_DeviceInfo::has_clientver() const {
  return (_has_bits_[0] & 0x00000010u) != 0;
}
void BindRequest_DeviceInfo::set_has_clientver() {
  _has_bits_[0] |= 0x00000010u;
}
void BindRequest_DeviceInfo::clear_has_clientver() {
  _has_bits_[0] &= ~0x00000010u;
}
void BindRequest_DeviceInfo::clear_clientver() {
  clientver_ = 0;
  clear_has_clientver();
}
::google::protobuf::int32 BindRequest_DeviceInfo::clientver() const {
  // @@protoc_insertion_point(field_get:com.tencent.mars.microchat.proto.BindRequest.DeviceInfo.clientVer)
  return clientver_;
}
void BindRequest_DeviceInfo::set_clientver(::google::protobuf::int32 value) {
  set_has_clientver();
  clientver_ = value;
  // @@protoc_insertion_point(field_set:com.tencent.mars.microchat.proto.BindRequest.DeviceInfo.clientVer)
}

// required string androidVer = 5;
bool BindRequest_DeviceInfo::has_androidver() const {
  return (_has_bits_[0] & 0x00000004u) != 0;
}
void BindRequest_DeviceInfo::set_has_androidver() {
  _has_bits_[0] |= 0x00000004u;
}
void BindRequest_DeviceInfo::clear_has_androidver() {
  _has_bits_[0] &= ~0x00000004u;
}
void BindRequest_DeviceInfo::clear_androidver() {
  androidver_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  clear_has_androidver();
}
const ::std::string& BindRequest_DeviceInfo::androidver() const {
  // @@protoc_insertion_point(field_get:com.tencent.mars.microchat.proto.BindRequest.DeviceInfo.androidVer)
  return androidver_.GetNoArena();
}
void BindRequest_DeviceInfo::set_androidver(const ::std::string& value) {
  set_has_androidver();
  androidver_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
  // @@protoc_insertion_point(field_set:com.tencent.mars.microchat.proto.BindRequest.DeviceInfo.androidVer)
}
#if LANG_CXX11
void BindRequest_DeviceInfo::set_androidver(::std::string&& value) {
  set_has_androidver();
  androidver_.SetNoArena(
    &::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::move(value));
  // @@protoc_insertion_point(field_set_rvalue:com.tencent.mars.microchat.proto.BindRequest.DeviceInfo.androidVer)
}
#endif
void BindRequest_DeviceInfo::set_androidver(const char* value) {
  GOOGLE_DCHECK(value != NULL);
  set_has_androidver();
  androidver_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
  // @@protoc_insertion_point(field_set_char:com.tencent.mars.microchat.proto.BindRequest.DeviceInfo.androidVer)
}
void BindRequest_DeviceInfo::set_androidver(const char* value, size_t size) {
  set_has_androidver();
  androidver_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
      ::std::string(reinterpret_cast<const char*>(value), size));
  // @@protoc_insertion_point(field_set_pointer:com.tencent.mars.microchat.proto.BindRequest.DeviceInfo.androidVer)
}
::std::string* BindRequest_DeviceInfo::mutable_androidver() {
  set_has_androidver();
  // @@protoc_insertion_point(field_mutable:com.tencent.mars.microchat.proto.BindRequest.DeviceInfo.androidVer)
  return androidver_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
::std::string* BindRequest_DeviceInfo::release_androidver() {
  // @@protoc_insertion_point(field_release:com.tencent.mars.microchat.proto.BindRequest.DeviceInfo.androidVer)
  clear_has_androidver();
  return androidver_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
void BindRequest_DeviceInfo::set_allocated_androidver(::std::string* androidver) {
  if (androidver != NULL) {
    set_has_androidver();
  } else {
    clear_has_androidver();
  }
  androidver_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), androidver);
  // @@protoc_insertion_point(field_set_allocated:com.tencent.mars.microchat.proto.BindRequest.DeviceInfo.androidVer)
}

// required int32 unknown3 = 6;
bool BindRequest_DeviceInfo::has_unknown3() const {
  return (_has_bits_[0] & 0x00000020u) != 0;
}
void BindRequest_DeviceInfo::set_has_unknown3() {
  _has_bits_[0] |= 0x00000020u;
}
void BindRequest_DeviceInfo::clear_has_unknown3() {
  _has_bits_[0] &= ~0x00000020u;
}
void BindRequest_DeviceInfo::clear_unknown3() {
  unknown3_ = 0;
  clear_has_unknown3();
}
::google::protobuf::int32 BindRequest_DeviceInfo::unknown3() const {
  // @@protoc_insertion_point(field_get:com.tencent.mars.microchat.proto.BindRequest.DeviceInfo.unknown3)
  return unknown3_;
}
void BindRequest_DeviceInfo::set_unknown3(::google::protobuf::int32 value) {
  set_has_unknown3();
  unknown3_ = value;
  // @@protoc_insertion_point(field_set:com.tencent.mars.microchat.proto.BindRequest.DeviceInfo.unknown3)
}

#endif  // PROTOBUF_INLINE_NOT_IN_HEADERS

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

#if !defined(_MSC_VER) || _MSC_VER >= 1900
const int BindRequest_AesKey::kLenFieldNumber;
const int BindRequest_AesKey::kKeyFieldNumber;
#endif  // !defined(_MSC_VER) || _MSC_VER >= 1900

BindRequest_AesKey::BindRequest_AesKey()
  : ::google::protobuf::Message(), _internal_metadata_(NULL) {
  if (GOOGLE_PREDICT_TRUE(this != internal_default_instance())) {
    protobuf_bindopmobileforreg_2eproto::InitDefaults();
  }
  SharedCtor();
  // @@protoc_insertion_point(constructor:com.tencent.mars.microchat.proto.BindRequest.AesKey)
}
BindRequest_AesKey::BindRequest_AesKey(const BindRequest_AesKey& from)
  : ::google::protobuf::Message(),
      _internal_metadata_(NULL),
      _has_bits_(from._has_bits_),
      _cached_size_(0) {
  _internal_metadata_.MergeFrom(from._internal_metadata_);
  key_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  if (from.has_key()) {
    key_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.key_);
  }
  len_ = from.len_;
  // @@protoc_insertion_point(copy_constructor:com.tencent.mars.microchat.proto.BindRequest.AesKey)
}

void BindRequest_AesKey::SharedCtor() {
  _cached_size_ = 0;
  key_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  len_ = 0;
}

BindRequest_AesKey::~BindRequest_AesKey() {
  // @@protoc_insertion_point(destructor:com.tencent.mars.microchat.proto.BindRequest.AesKey)
  SharedDtor();
}

void BindRequest_AesKey::SharedDtor() {
  key_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}

void BindRequest_AesKey::SetCachedSize(int size) const {
  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
  _cached_size_ = size;
  GOOGLE_SAFE_CONCURRENT_WRITES_END();
}
const ::google::protobuf::Descriptor* BindRequest_AesKey::descriptor() {
  protobuf_bindopmobileforreg_2eproto::protobuf_AssignDescriptorsOnce();
  return protobuf_bindopmobileforreg_2eproto::file_level_metadata[kIndexInFileMessages].descriptor;
}

const BindRequest_AesKey& BindRequest_AesKey::default_instance() {
  protobuf_bindopmobileforreg_2eproto::InitDefaults();
  return *internal_default_instance();
}

BindRequest_AesKey* BindRequest_AesKey::New(::google::protobuf::Arena* arena) const {
  BindRequest_AesKey* n = new BindRequest_AesKey;
  if (arena != NULL) {
    arena->Own(n);
  }
  return n;
}

void BindRequest_AesKey::Clear() {
// @@protoc_insertion_point(message_clear_start:com.tencent.mars.microchat.proto.BindRequest.AesKey)
  if (has_key()) {
    GOOGLE_DCHECK(!key_.IsDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited()));
    (*key_.UnsafeRawStringPointer())->clear();
  }
  len_ = 0;
  _has_bits_.Clear();
  _internal_metadata_.Clear();
}

bool BindRequest_AesKey::MergePartialFromCodedStream(
    ::google::protobuf::io::CodedInputStream* input) {
#define DO_(EXPRESSION) if (!GOOGLE_PREDICT_TRUE(EXPRESSION)) goto failure
  ::google::protobuf::uint32 tag;
  // @@protoc_insertion_point(parse_start:com.tencent.mars.microchat.proto.BindRequest.AesKey)
  for (;;) {
    ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoffNoLastTag(127u);
    tag = p.first;
    if (!p.second) goto handle_unusual;
    switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
      // required int32 len = 1;
      case 1: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(8u)) {
          set_has_len();
          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
                   ::google::protobuf::int32, ::google::protobuf::internal::WireFormatLite::TYPE_INT32>(
                 input, &len_)));
        } else {
          goto handle_unusual;
        }
        break;
      }

      // required string key = 2;
      case 2: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(18u)) {
          DO_(::google::protobuf::internal::WireFormatLite::ReadString(
                input, this->mutable_key()));
          ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
            this->key().data(), this->key().length(),
            ::google::protobuf::internal::WireFormat::PARSE,
            "com.tencent.mars.microchat.proto.BindRequest.AesKey.key");
        } else {
          goto handle_unusual;
        }
        break;
      }

      default: {
      handle_unusual:
        if (tag == 0 ||
            ::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
            ::google::protobuf::internal::WireFormatLite::WIRETYPE_END_GROUP) {
          goto success;
        }
        DO_(::google::protobuf::internal::WireFormat::SkipField(
              input, tag, mutable_unknown_fields()));
        break;
      }
    }
  }
success:
  // @@protoc_insertion_point(parse_success:com.tencent.mars.microchat.proto.BindRequest.AesKey)
  return true;
failure:
  // @@protoc_insertion_point(parse_failure:com.tencent.mars.microchat.proto.BindRequest.AesKey)
  return false;
#undef DO_
}

void BindRequest_AesKey::SerializeWithCachedSizes(
    ::google::protobuf::io::CodedOutputStream* output) const {
  // @@protoc_insertion_point(serialize_start:com.tencent.mars.microchat.proto.BindRequest.AesKey)
  ::google::protobuf::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  cached_has_bits = _has_bits_[0];
  // required int32 len = 1;
  if (cached_has_bits & 0x00000002u) {
    ::google::protobuf::internal::WireFormatLite::WriteInt32(1, this->len(), output);
  }

  // required string key = 2;
  if (cached_has_bits & 0x00000001u) {
    ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
      this->key().data(), this->key().length(),
      ::google::protobuf::internal::WireFormat::SERIALIZE,
      "com.tencent.mars.microchat.proto.BindRequest.AesKey.key");
    ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased(
      2, this->key(), output);
  }

  if (_internal_metadata_.have_unknown_fields()) {
    ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
        unknown_fields(), output);
  }
  // @@protoc_insertion_point(serialize_end:com.tencent.mars.microchat.proto.BindRequest.AesKey)
}

::google::protobuf::uint8* BindRequest_AesKey::InternalSerializeWithCachedSizesToArray(
    bool deterministic, ::google::protobuf::uint8* target) const {
  // @@protoc_insertion_point(serialize_to_array_start:com.tencent.mars.microchat.proto.BindRequest.AesKey)
  ::google::protobuf::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  cached_has_bits = _has_bits_[0];
  // required int32 len = 1;
  if (cached_has_bits & 0x00000002u) {
    target = ::google::protobuf::internal::WireFormatLite::WriteInt32ToArray(1, this->len(), target);
  }

  // required string key = 2;
  if (cached_has_bits & 0x00000001u) {
    ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
      this->key().data(), this->key().length(),
      ::google::protobuf::internal::WireFormat::SERIALIZE,
      "com.tencent.mars.microchat.proto.BindRequest.AesKey.key");
    target =
      ::google::protobuf::internal::WireFormatLite::WriteStringToArray(
        2, this->key(), target);
  }

  if (_internal_metadata_.have_unknown_fields()) {
    target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
        unknown_fields(), target);
  }
  // @@protoc_insertion_point(serialize_to_array_end:com.tencent.mars.microchat.proto.BindRequest.AesKey)
  return target;
}

size_t BindRequest_AesKey::RequiredFieldsByteSizeFallback() const {
// @@protoc_insertion_point(required_fields_byte_size_fallback_start:com.tencent.mars.microchat.proto.BindRequest.AesKey)
  size_t total_size = 0;

  if (has_key()) {
    // required string key = 2;
    total_size += 1 +
      ::google::protobuf::internal::WireFormatLite::StringSize(
        this->key());
  }

  if (has_len()) {
    // required int32 len = 1;
    total_size += 1 +
      ::google::protobuf::internal::WireFormatLite::Int32Size(
        this->len());
  }

  return total_size;
}
size_t BindRequest_AesKey::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:com.tencent.mars.microchat.proto.BindRequest.AesKey)
  size_t total_size = 0;

  if (_internal_metadata_.have_unknown_fields()) {
    total_size +=
      ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize(
        unknown_fields());
  }
  if (((_has_bits_[0] & 0x00000003) ^ 0x00000003) == 0) {  // All required fields are present.
    // required string key = 2;
    total_size += 1 +
      ::google::protobuf::internal::WireFormatLite::StringSize(
        this->key());

    // required int32 len = 1;
    total_size += 1 +
      ::google::protobuf::internal::WireFormatLite::Int32Size(
        this->len());

  } else {
    total_size += RequiredFieldsByteSizeFallback();
  }
  int cached_size = ::google::protobuf::internal::ToCachedSize(total_size);
  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
  _cached_size_ = cached_size;
  GOOGLE_SAFE_CONCURRENT_WRITES_END();
  return total_size;
}

void BindRequest_AesKey::MergeFrom(const ::google::protobuf::Message& from) {
// @@protoc_insertion_point(generalized_merge_from_start:com.tencent.mars.microchat.proto.BindRequest.AesKey)
  GOOGLE_DCHECK_NE(&from, this);
  const BindRequest_AesKey* source =
      ::google::protobuf::internal::DynamicCastToGenerated<const BindRequest_AesKey>(
          &from);
  if (source == NULL) {
  // @@protoc_insertion_point(generalized_merge_from_cast_fail:com.tencent.mars.microchat.proto.BindRequest.AesKey)
    ::google::protobuf::internal::ReflectionOps::Merge(from, this);
  } else {
  // @@protoc_insertion_point(generalized_merge_from_cast_success:com.tencent.mars.microchat.proto.BindRequest.AesKey)
    MergeFrom(*source);
  }
}

void BindRequest_AesKey::MergeFrom(const BindRequest_AesKey& from) {
// @@protoc_insertion_point(class_specific_merge_from_start:com.tencent.mars.microchat.proto.BindRequest.AesKey)
  GOOGLE_DCHECK_NE(&from, this);
  _internal_metadata_.MergeFrom(from._internal_metadata_);
  ::google::protobuf::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  cached_has_bits = from._has_bits_[0];
  if (cached_has_bits & 3u) {
    if (cached_has_bits & 0x00000001u) {
      set_has_key();
      key_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.key_);
    }
    if (cached_has_bits & 0x00000002u) {
      len_ = from.len_;
    }
    _has_bits_[0] |= cached_has_bits;
  }
}

void BindRequest_AesKey::CopyFrom(const ::google::protobuf::Message& from) {
// @@protoc_insertion_point(generalized_copy_from_start:com.tencent.mars.microchat.proto.BindRequest.AesKey)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

void BindRequest_AesKey::CopyFrom(const BindRequest_AesKey& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:com.tencent.mars.microchat.proto.BindRequest.AesKey)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

bool BindRequest_AesKey::IsInitialized() const {
  if ((_has_bits_[0] & 0x00000003) != 0x00000003) return false;
  return true;
}

void BindRequest_AesKey::Swap(BindRequest_AesKey* other) {
  if (other == this) return;
  InternalSwap(other);
}
void BindRequest_AesKey::InternalSwap(BindRequest_AesKey* other) {
  key_.Swap(&other->key_);
  std::swap(len_, other->len_);
  std::swap(_has_bits_[0], other->_has_bits_[0]);
  _internal_metadata_.Swap(&other->_internal_metadata_);
  std::swap(_cached_size_, other->_cached_size_);
}

::google::protobuf::Metadata BindRequest_AesKey::GetMetadata() const {
  protobuf_bindopmobileforreg_2eproto::protobuf_AssignDescriptorsOnce();
  return protobuf_bindopmobileforreg_2eproto::file_level_metadata[kIndexInFileMessages];
}

#if PROTOBUF_INLINE_NOT_IN_HEADERS
// BindRequest_AesKey

// required int32 len = 1;
bool BindRequest_AesKey::has_len() const {
  return (_has_bits_[0] & 0x00000002u) != 0;
}
void BindRequest_AesKey::set_has_len() {
  _has_bits_[0] |= 0x00000002u;
}
void BindRequest_AesKey::clear_has_len() {
  _has_bits_[0] &= ~0x00000002u;
}
void BindRequest_AesKey::clear_len() {
  len_ = 0;
  clear_has_len();
}
::google::protobuf::int32 BindRequest_AesKey::len() const {
  // @@protoc_insertion_point(field_get:com.tencent.mars.microchat.proto.BindRequest.AesKey.len)
  return len_;
}
void BindRequest_AesKey::set_len(::google::protobuf::int32 value) {
  set_has_len();
  len_ = value;
  // @@protoc_insertion_point(field_set:com.tencent.mars.microchat.proto.BindRequest.AesKey.len)
}

// required string key = 2;
bool BindRequest_AesKey::has_key() const {
  return (_has_bits_[0] & 0x00000001u) != 0;
}
void BindRequest_AesKey::set_has_key() {
  _has_bits_[0] |= 0x00000001u;
}
void BindRequest_AesKey::clear_has_key() {
  _has_bits_[0] &= ~0x00000001u;
}
void BindRequest_AesKey::clear_key() {
  key_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  clear_has_key();
}
const ::std::string& BindRequest_AesKey::key() const {
  // @@protoc_insertion_point(field_get:com.tencent.mars.microchat.proto.BindRequest.AesKey.key)
  return key_.GetNoArena();
}
void BindRequest_AesKey::set_key(const ::std::string& value) {
  set_has_key();
  key_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
  // @@protoc_insertion_point(field_set:com.tencent.mars.microchat.proto.BindRequest.AesKey.key)
}
#if LANG_CXX11
void BindRequest_AesKey::set_key(::std::string&& value) {
  set_has_key();
  key_.SetNoArena(
    &::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::move(value));
  // @@protoc_insertion_point(field_set_rvalue:com.tencent.mars.microchat.proto.BindRequest.AesKey.key)
}
#endif
void BindRequest_AesKey::set_key(const char* value) {
  GOOGLE_DCHECK(value != NULL);
  set_has_key();
  key_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
  // @@protoc_insertion_point(field_set_char:com.tencent.mars.microchat.proto.BindRequest.AesKey.key)
}
void BindRequest_AesKey::set_key(const char* value, size_t size) {
  set_has_key();
  key_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
      ::std::string(reinterpret_cast<const char*>(value), size));
  // @@protoc_insertion_point(field_set_pointer:com.tencent.mars.microchat.proto.BindRequest.AesKey.key)
}
::std::string* BindRequest_AesKey::mutable_key() {
  set_has_key();
  // @@protoc_insertion_point(field_mutable:com.tencent.mars.microchat.proto.BindRequest.AesKey.key)
  return key_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
::std::string* BindRequest_AesKey::release_key() {
  // @@protoc_insertion_point(field_release:com.tencent.mars.microchat.proto.BindRequest.AesKey.key)
  clear_has_key();
  return key_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
void BindRequest_AesKey::set_allocated_key(::std::string* key) {
  if (key != NULL) {
    set_has_key();
  } else {
    clear_has_key();
  }
  key_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), key);
  // @@protoc_insertion_point(field_set_allocated:com.tencent.mars.microchat.proto.BindRequest.AesKey.key)
}

#endif  // PROTOBUF_INLINE_NOT_IN_HEADERS

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

#if !defined(_MSC_VER) || _MSC_VER >= 1900
const int BindRequest::kInfoFieldNumber;
const int BindRequest::kMobileNumFieldNumber;
const int BindRequest::kOptionFieldNumber;
const int BindRequest::kVerifycodeFieldNumber;
const int BindRequest::kTag6FieldNumber;
const int BindRequest::kTag7FieldNumber;
const int BindRequest::kAuthTicketFieldNumber;
const int BindRequest::kTag9FieldNumber;
const int BindRequest::kDeviceTypeFieldNumber;
const int BindRequest::kDeviceNameFieldNumber;
const int BindRequest::kAesFieldNumber;
const int BindRequest::kLaunguageFieldNumber;
const int BindRequest::kTag14FieldNumber;
const int BindRequest::kTag15FieldNumber;
const int BindRequest::kClientSeqIdFieldNumber;
#endif  // !defined(_MSC_VER) || _MSC_VER >= 1900

BindRequest::BindRequest()
  : ::google::protobuf::Message(), _internal_metadata_(NULL) {
  if (GOOGLE_PREDICT_TRUE(this != internal_default_instance())) {
    protobuf_bindopmobileforreg_2eproto::InitDefaults();
  }
  SharedCtor();
  // @@protoc_insertion_point(constructor:com.tencent.mars.microchat.proto.BindRequest)
}
BindRequest::BindRequest(const BindRequest& from)
  : ::google::protobuf::Message(),
      _internal_metadata_(NULL),
      _has_bits_(from._has_bits_),
      _cached_size_(0) {
  _internal_metadata_.MergeFrom(from._internal_metadata_);
  mobilenum_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  if (from.has_mobilenum()) {
    mobilenum_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.mobilenum_);
  }
  verifycode_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  if (from.has_verifycode()) {
    verifycode_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.verifycode_);
  }
  tag7_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  if (from.has_tag7()) {
    tag7_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.tag7_);
  }
  authticket_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  if (from.has_authticket()) {
    authticket_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.authticket_);
  }
  devicetype_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  if (from.has_devicetype()) {
    devicetype_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.devicetype_);
  }
  devicename_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  if (from.has_devicename()) {
    devicename_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.devicename_);
  }
  launguage_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  if (from.has_launguage()) {
    launguage_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.launguage_);
  }
  clientseqid_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  if (from.has_clientseqid()) {
    clientseqid_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.clientseqid_);
  }
  if (from.has_info()) {
    info_ = new ::com::tencent::mars::microchat::proto::BindRequest_DeviceInfo(*from.info_);
  } else {
    info_ = NULL;
  }
  if (from.has_aes()) {
    aes_ = new ::com::tencent::mars::microchat::proto::BindRequest_AesKey(*from.aes_);
  } else {
    aes_ = NULL;
  }
  ::memcpy(&option_, &from.option_,
    reinterpret_cast<char*>(&tag15_) -
    reinterpret_cast<char*>(&option_) + sizeof(tag15_));
  // @@protoc_insertion_point(copy_constructor:com.tencent.mars.microchat.proto.BindRequest)
}

void BindRequest::SharedCtor() {
  _cached_size_ = 0;
  mobilenum_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  verifycode_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  tag7_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  authticket_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  devicetype_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  devicename_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  launguage_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  clientseqid_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  ::memset(&info_, 0, reinterpret_cast<char*>(&tag15_) -
    reinterpret_cast<char*>(&info_) + sizeof(tag15_));
}

BindRequest::~BindRequest() {
  // @@protoc_insertion_point(destructor:com.tencent.mars.microchat.proto.BindRequest)
  SharedDtor();
}

void BindRequest::SharedDtor() {
  mobilenum_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  verifycode_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  tag7_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  authticket_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  devicetype_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  devicename_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  launguage_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  clientseqid_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  if (this != internal_default_instance()) {
    delete info_;
  }
  if (this != internal_default_instance()) {
    delete aes_;
  }
}

void BindRequest::SetCachedSize(int size) const {
  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
  _cached_size_ = size;
  GOOGLE_SAFE_CONCURRENT_WRITES_END();
}
const ::google::protobuf::Descriptor* BindRequest::descriptor() {
  protobuf_bindopmobileforreg_2eproto::protobuf_AssignDescriptorsOnce();
  return protobuf_bindopmobileforreg_2eproto::file_level_metadata[kIndexInFileMessages].descriptor;
}

const BindRequest& BindRequest::default_instance() {
  protobuf_bindopmobileforreg_2eproto::InitDefaults();
  return *internal_default_instance();
}

BindRequest* BindRequest::New(::google::protobuf::Arena* arena) const {
  BindRequest* n = new BindRequest;
  if (arena != NULL) {
    arena->Own(n);
  }
  return n;
}

void BindRequest::Clear() {
// @@protoc_insertion_point(message_clear_start:com.tencent.mars.microchat.proto.BindRequest)
  if (_has_bits_[0 / 32] & 255u) {
    if (has_mobilenum()) {
      GOOGLE_DCHECK(!mobilenum_.IsDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited()));
      (*mobilenum_.UnsafeRawStringPointer())->clear();
    }
    if (has_verifycode()) {
      GOOGLE_DCHECK(!verifycode_.IsDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited()));
      (*verifycode_.UnsafeRawStringPointer())->clear();
    }
    if (has_tag7()) {
      GOOGLE_DCHECK(!tag7_.IsDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited()));
      (*tag7_.UnsafeRawStringPointer())->clear();
    }
    if (has_authticket()) {
      GOOGLE_DCHECK(!authticket_.IsDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited()));
      (*authticket_.UnsafeRawStringPointer())->clear();
    }
    if (has_devicetype()) {
      GOOGLE_DCHECK(!devicetype_.IsDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited()));
      (*devicetype_.UnsafeRawStringPointer())->clear();
    }
    if (has_devicename()) {
      GOOGLE_DCHECK(!devicename_.IsDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited()));
      (*devicename_.UnsafeRawStringPointer())->clear();
    }
    if (has_launguage()) {
      GOOGLE_DCHECK(!launguage_.IsDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited()));
      (*launguage_.UnsafeRawStringPointer())->clear();
    }
    if (has_clientseqid()) {
      GOOGLE_DCHECK(!clientseqid_.IsDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited()));
      (*clientseqid_.UnsafeRawStringPointer())->clear();
    }
  }
  if (_has_bits_[8 / 32] & 768u) {
    if (has_info()) {
      GOOGLE_DCHECK(info_ != NULL);
      info_->::com::tencent::mars::microchat::proto::BindRequest_DeviceInfo::Clear();
    }
    if (has_aes()) {
      GOOGLE_DCHECK(aes_ != NULL);
      aes_->::com::tencent::mars::microchat::proto::BindRequest_AesKey::Clear();
    }
  }
  if (_has_bits_[8 / 32] & 31744u) {
    ::memset(&option_, 0, reinterpret_cast<char*>(&tag15_) -
      reinterpret_cast<char*>(&option_) + sizeof(tag15_));
  }
  _has_bits_.Clear();
  _internal_metadata_.Clear();
}

bool BindRequest::MergePartialFromCodedStream(
    ::google::protobuf::io::CodedInputStream* input) {
#define DO_(EXPRESSION) if (!GOOGLE_PREDICT_TRUE(EXPRESSION)) goto failure
  ::google::protobuf::uint32 tag;
  // @@protoc_insertion_point(parse_start:com.tencent.mars.microchat.proto.BindRequest)
  for (;;) {
    ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoffNoLastTag(16383u);
    tag = p.first;
    if (!p.second) goto handle_unusual;
    switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
      // required .com.tencent.mars.microchat.proto.BindRequest.DeviceInfo info = 1;
      case 1: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(10u)) {
          DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
               input, mutable_info()));
        } else {
          goto handle_unusual;
        }
        break;
      }

      // optional string mobileNum = 3;
      case 3: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(26u)) {
          DO_(::google::protobuf::internal::WireFormatLite::ReadString(
                input, this->mutable_mobilenum()));
          ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
            this->mobilenum().data(), this->mobilenum().length(),
            ::google::protobuf::internal::WireFormat::PARSE,
            "com.tencent.mars.microchat.proto.BindRequest.mobileNum");
        } else {
          goto handle_unusual;
        }
        break;
      }

      // optional int32 option = 4;
      case 4: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(32u)) {
          set_has_option();
          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
                   ::google::protobuf::int32, ::google::protobuf::internal::WireFormatLite::TYPE_INT32>(
                 input, &option_)));
        } else {
          goto handle_unusual;
        }
        break;
      }

      // optional string verifycode = 5;
      case 5: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(42u)) {
          DO_(::google::protobuf::internal::WireFormatLite::ReadString(
                input, this->mutable_verifycode()));
          ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
            this->verifycode().data(), this->verifycode().length(),
            ::google::protobuf::internal::WireFormat::PARSE,
            "com.tencent.mars.microchat.proto.BindRequest.verifycode");
        } else {
          goto handle_unusual;
        }
        break;
      }

      // optional int32 tag6 = 6;
      case 6: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(48u)) {
          set_has_tag6();
          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
                   ::google::protobuf::int32, ::google::protobuf::internal::WireFormatLite::TYPE_INT32>(
                 input, &tag6_)));
        } else {
          goto handle_unusual;
        }
        break;
      }

      // optional string tag7 = 7;
      case 7: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(58u)) {
          DO_(::google::protobuf::internal::WireFormatLite::ReadString(
                input, this->mutable_tag7()));
          ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
            this->tag7().data(), this->tag7().length(),
            ::google::protobuf::internal::WireFormat::PARSE,
            "com.tencent.mars.microchat.proto.BindRequest.tag7");
        } else {
          goto handle_unusual;
        }
        break;
      }

      // optional string authTicket = 8;
      case 8: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(66u)) {
          DO_(::google::protobuf::internal::WireFormatLite::ReadString(
                input, this->mutable_authticket()));
          ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
            this->authticket().data(), this->authticket().length(),
            ::google::protobuf::internal::WireFormat::PARSE,
            "com.tencent.mars.microchat.proto.BindRequest.authTicket");
        } else {
          goto handle_unusual;
        }
        break;
      }

      // optional int32 tag9 = 9;
      case 9: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(72u)) {
          set_has_tag9();
          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
                   ::google::protobuf::int32, ::google::protobuf::internal::WireFormatLite::TYPE_INT32>(
                 input, &tag9_)));
        } else {
          goto handle_unusual;
        }
        break;
      }

      // optional string deviceType = 10;
      case 10: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(82u)) {
          DO_(::google::protobuf::internal::WireFormatLite::ReadString(
                input, this->mutable_devicetype()));
          ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
            this->devicetype().data(), this->devicetype().length(),
            ::google::protobuf::internal::WireFormat::PARSE,
            "com.tencent.mars.microchat.proto.BindRequest.deviceType");
        } else {
          goto handle_unusual;
        }
        break;
      }

      // optional string deviceName = 11;
      case 11: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(90u)) {
          DO_(::google::protobuf::internal::WireFormatLite::ReadString(
                input, this->mutable_devicename()));
          ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
            this->devicename().data(), this->devicename().length(),
            ::google::protobuf::internal::WireFormat::PARSE,
            "com.tencent.mars.microchat.proto.BindRequest.deviceName");
        } else {
          goto handle_unusual;
        }
        break;
      }

      // required .com.tencent.mars.microchat.proto.BindRequest.AesKey aes = 12;
      case 12: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(98u)) {
          DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
               input, mutable_aes()));
        } else {
          goto handle_unusual;
        }
        break;
      }

      // optional string launguage = 13;
      case 13: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(106u)) {
          DO_(::google::protobuf::internal::WireFormatLite::ReadString(
                input, this->mutable_launguage()));
          ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
            this->launguage().data(), this->launguage().length(),
            ::google::protobuf::internal::WireFormat::PARSE,
            "com.tencent.mars.microchat.proto.BindRequest.launguage");
        } else {
          goto handle_unusual;
        }
        break;
      }

      // optional int32 tag14 = 14;
      case 14: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(112u)) {
          set_has_tag14();
          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
                   ::google::protobuf::int32, ::google::protobuf::internal::WireFormatLite::TYPE_INT32>(
                 input, &tag14_)));
        } else {
          goto handle_unusual;
        }
        break;
      }

      // optional int32 tag15 = 15;
      case 15: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(120u)) {
          set_has_tag15();
          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
                   ::google::protobuf::int32, ::google::protobuf::internal::WireFormatLite::TYPE_INT32>(
                 input, &tag15_)));
        } else {
          goto handle_unusual;
        }
        break;
      }

      // optional string clientSeqId = 16;
      case 16: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(130u)) {
          DO_(::google::protobuf::internal::WireFormatLite::ReadString(
                input, this->mutable_clientseqid()));
          ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
            this->clientseqid().data(), this->clientseqid().length(),
            ::google::protobuf::internal::WireFormat::PARSE,
            "com.tencent.mars.microchat.proto.BindRequest.clientSeqId");
        } else {
          goto handle_unusual;
        }
        break;
      }

      default: {
      handle_unusual:
        if (tag == 0 ||
            ::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
            ::google::protobuf::internal::WireFormatLite::WIRETYPE_END_GROUP) {
          goto success;
        }
        DO_(::google::protobuf::internal::WireFormat::SkipField(
              input, tag, mutable_unknown_fields()));
        break;
      }
    }
  }
success:
  // @@protoc_insertion_point(parse_success:com.tencent.mars.microchat.proto.BindRequest)
  return true;
failure:
  // @@protoc_insertion_point(parse_failure:com.tencent.mars.microchat.proto.BindRequest)
  return false;
#undef DO_
}

void BindRequest::SerializeWithCachedSizes(
    ::google::protobuf::io::CodedOutputStream* output) const {
  // @@protoc_insertion_point(serialize_start:com.tencent.mars.microchat.proto.BindRequest)
  ::google::protobuf::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  cached_has_bits = _has_bits_[0];
  // required .com.tencent.mars.microchat.proto.BindRequest.DeviceInfo info = 1;
  if (cached_has_bits & 0x00000100u) {
    ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
      1, *this->info_, output);
  }

  // optional string mobileNum = 3;
  if (cached_has_bits & 0x00000001u) {
    ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
      this->mobilenum().data(), this->mobilenum().length(),
      ::google::protobuf::internal::WireFormat::SERIALIZE,
      "com.tencent.mars.microchat.proto.BindRequest.mobileNum");
    ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased(
      3, this->mobilenum(), output);
  }

  // optional int32 option = 4;
  if (cached_has_bits & 0x00000400u) {
    ::google::protobuf::internal::WireFormatLite::WriteInt32(4, this->option(), output);
  }

  // optional string verifycode = 5;
  if (cached_has_bits & 0x00000002u) {
    ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
      this->verifycode().data(), this->verifycode().length(),
      ::google::protobuf::internal::WireFormat::SERIALIZE,
      "com.tencent.mars.microchat.proto.BindRequest.verifycode");
    ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased(
      5, this->verifycode(), output);
  }

  // optional int32 tag6 = 6;
  if (cached_has_bits & 0x00000800u) {
    ::google::protobuf::internal::WireFormatLite::WriteInt32(6, this->tag6(), output);
  }

  // optional string tag7 = 7;
  if (cached_has_bits & 0x00000004u) {
    ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
      this->tag7().data(), this->tag7().length(),
      ::google::protobuf::internal::WireFormat::SERIALIZE,
      "com.tencent.mars.microchat.proto.BindRequest.tag7");
    ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased(
      7, this->tag7(), output);
  }

  // optional string authTicket = 8;
  if (cached_has_bits & 0x00000008u) {
    ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
      this->authticket().data(), this->authticket().length(),
      ::google::protobuf::internal::WireFormat::SERIALIZE,
      "com.tencent.mars.microchat.proto.BindRequest.authTicket");
    ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased(
      8, this->authticket(), output);
  }

  // optional int32 tag9 = 9;
  if (cached_has_bits & 0x00001000u) {
    ::google::protobuf::internal::WireFormatLite::WriteInt32(9, this->tag9(), output);
  }

  // optional string deviceType = 10;
  if (cached_has_bits & 0x00000010u) {
    ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
      this->devicetype().data(), this->devicetype().length(),
      ::google::protobuf::internal::WireFormat::SERIALIZE,
      "com.tencent.mars.microchat.proto.BindRequest.deviceType");
    ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased(
      10, this->devicetype(), output);
  }

  // optional string deviceName = 11;
  if (cached_has_bits & 0x00000020u) {
    ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
      this->devicename().data(), this->devicename().length(),
      ::google::protobuf::internal::WireFormat::SERIALIZE,
      "com.tencent.mars.microchat.proto.BindRequest.deviceName");
    ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased(
      11, this->devicename(), output);
  }

  // required .com.tencent.mars.microchat.proto.BindRequest.AesKey aes = 12;
  if (cached_has_bits & 0x00000200u) {
    ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
      12, *this->aes_, output);
  }

  // optional string launguage = 13;
  if (cached_has_bits & 0x00000040u) {
    ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
      this->launguage().data(), this->launguage().length(),
      ::google::protobuf::internal::WireFormat::SERIALIZE,
      "com.tencent.mars.microchat.proto.BindRequest.launguage");
    ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased(
      13, this->launguage(), output);
  }

  // optional int32 tag14 = 14;
  if (cached_has_bits & 0x00002000u) {
    ::google::protobuf::internal::WireFormatLite::WriteInt32(14, this->tag14(), output);
  }

  // optional int32 tag15 = 15;
  if (cached_has_bits & 0x00004000u) {
    ::google::protobuf::internal::WireFormatLite::WriteInt32(15, this->tag15(), output);
  }

  // optional string clientSeqId = 16;
  if (cached_has_bits & 0x00000080u) {
    ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
      this->clientseqid().data(), this->clientseqid().length(),
      ::google::protobuf::internal::WireFormat::SERIALIZE,
      "com.tencent.mars.microchat.proto.BindRequest.clientSeqId");
    ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased(
      16, this->clientseqid(), output);
  }

  if (_internal_metadata_.have_unknown_fields()) {
    ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
        unknown_fields(), output);
  }
  // @@protoc_insertion_point(serialize_end:com.tencent.mars.microchat.proto.BindRequest)
}

::google::protobuf::uint8* BindRequest::InternalSerializeWithCachedSizesToArray(
    bool deterministic, ::google::protobuf::uint8* target) const {
  // @@protoc_insertion_point(serialize_to_array_start:com.tencent.mars.microchat.proto.BindRequest)
  ::google::protobuf::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  cached_has_bits = _has_bits_[0];
  // required .com.tencent.mars.microchat.proto.BindRequest.DeviceInfo info = 1;
  if (cached_has_bits & 0x00000100u) {
    target = ::google::protobuf::internal::WireFormatLite::
      InternalWriteMessageNoVirtualToArray(
        1, *this->info_, deterministic, target);
  }

  // optional string mobileNum = 3;
  if (cached_has_bits & 0x00000001u) {
    ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
      this->mobilenum().data(), this->mobilenum().length(),
      ::google::protobuf::internal::WireFormat::SERIALIZE,
      "com.tencent.mars.microchat.proto.BindRequest.mobileNum");
    target =
      ::google::protobuf::internal::WireFormatLite::WriteStringToArray(
        3, this->mobilenum(), target);
  }

  // optional int32 option = 4;
  if (cached_has_bits & 0x00000400u) {
    target = ::google::protobuf::internal::WireFormatLite::WriteInt32ToArray(4, this->option(), target);
  }

  // optional string verifycode = 5;
  if (cached_has_bits & 0x00000002u) {
    ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
      this->verifycode().data(), this->verifycode().length(),
      ::google::protobuf::internal::WireFormat::SERIALIZE,
      "com.tencent.mars.microchat.proto.BindRequest.verifycode");
    target =
      ::google::protobuf::internal::WireFormatLite::WriteStringToArray(
        5, this->verifycode(), target);
  }

  // optional int32 tag6 = 6;
  if (cached_has_bits & 0x00000800u) {
    target = ::google::protobuf::internal::WireFormatLite::WriteInt32ToArray(6, this->tag6(), target);
  }

  // optional string tag7 = 7;
  if (cached_has_bits & 0x00000004u) {
    ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
      this->tag7().data(), this->tag7().length(),
      ::google::protobuf::internal::WireFormat::SERIALIZE,
      "com.tencent.mars.microchat.proto.BindRequest.tag7");
    target =
      ::google::protobuf::internal::WireFormatLite::WriteStringToArray(
        7, this->tag7(), target);
  }

  // optional string authTicket = 8;
  if (cached_has_bits & 0x00000008u) {
    ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
      this->authticket().data(), this->authticket().length(),
      ::google::protobuf::internal::WireFormat::SERIALIZE,
      "com.tencent.mars.microchat.proto.BindRequest.authTicket");
    target =
      ::google::protobuf::internal::WireFormatLite::WriteStringToArray(
        8, this->authticket(), target);
  }

  // optional int32 tag9 = 9;
  if (cached_has_bits & 0x00001000u) {
    target = ::google::protobuf::internal::WireFormatLite::WriteInt32ToArray(9, this->tag9(), target);
  }

  // optional string deviceType = 10;
  if (cached_has_bits & 0x00000010u) {
    ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
      this->devicetype().data(), this->devicetype().length(),
      ::google::protobuf::internal::WireFormat::SERIALIZE,
      "com.tencent.mars.microchat.proto.BindRequest.deviceType");
    target =
      ::google::protobuf::internal::WireFormatLite::WriteStringToArray(
        10, this->devicetype(), target);
  }

  // optional string deviceName = 11;
  if (cached_has_bits & 0x00000020u) {
    ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
      this->devicename().data(), this->devicename().length(),
      ::google::protobuf::internal::WireFormat::SERIALIZE,
      "com.tencent.mars.microchat.proto.BindRequest.deviceName");
    target =
      ::google::protobuf::internal::WireFormatLite::WriteStringToArray(
        11, this->devicename(), target);
  }

  // required .com.tencent.mars.microchat.proto.BindRequest.AesKey aes = 12;
  if (cached_has_bits & 0x00000200u) {
    target = ::google::protobuf::internal::WireFormatLite::
      InternalWriteMessageNoVirtualToArray(
        12, *this->aes_, deterministic, target);
  }

  // optional string launguage = 13;
  if (cached_has_bits & 0x00000040u) {
    ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
      this->launguage().data(), this->launguage().length(),
      ::google::protobuf::internal::WireFormat::SERIALIZE,
      "com.tencent.mars.microchat.proto.BindRequest.launguage");
    target =
      ::google::protobuf::internal::WireFormatLite::WriteStringToArray(
        13, this->launguage(), target);
  }

  // optional int32 tag14 = 14;
  if (cached_has_bits & 0x00002000u) {
    target = ::google::protobuf::internal::WireFormatLite::WriteInt32ToArray(14, this->tag14(), target);
  }

  // optional int32 tag15 = 15;
  if (cached_has_bits & 0x00004000u) {
    target = ::google::protobuf::internal::WireFormatLite::WriteInt32ToArray(15, this->tag15(), target);
  }

  // optional string clientSeqId = 16;
  if (cached_has_bits & 0x00000080u) {
    ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
      this->clientseqid().data(), this->clientseqid().length(),
      ::google::protobuf::internal::WireFormat::SERIALIZE,
      "com.tencent.mars.microchat.proto.BindRequest.clientSeqId");
    target =
      ::google::protobuf::internal::WireFormatLite::WriteStringToArray(
        16, this->clientseqid(), target);
  }

  if (_internal_metadata_.have_unknown_fields()) {
    target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
        unknown_fields(), target);
  }
  // @@protoc_insertion_point(serialize_to_array_end:com.tencent.mars.microchat.proto.BindRequest)
  return target;
}

size_t BindRequest::RequiredFieldsByteSizeFallback() const {
// @@protoc_insertion_point(required_fields_byte_size_fallback_start:com.tencent.mars.microchat.proto.BindRequest)
  size_t total_size = 0;

  if (has_info()) {
    // required .com.tencent.mars.microchat.proto.BindRequest.DeviceInfo info = 1;
    total_size += 1 +
      ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
        *this->info_);
  }

  if (has_aes()) {
    // required .com.tencent.mars.microchat.proto.BindRequest.AesKey aes = 12;
    total_size += 1 +
      ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
        *this->aes_);
  }

  return total_size;
}
size_t BindRequest::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:com.tencent.mars.microchat.proto.BindRequest)
  size_t total_size = 0;

  if (_internal_metadata_.have_unknown_fields()) {
    total_size +=
      ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize(
        unknown_fields());
  }
  if (((_has_bits_[0] & 0x00000300) ^ 0x00000300) == 0) {  // All required fields are present.
    // required .com.tencent.mars.microchat.proto.BindRequest.DeviceInfo info = 1;
    total_size += 1 +
      ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
        *this->info_);

    // required .com.tencent.mars.microchat.proto.BindRequest.AesKey aes = 12;
    total_size += 1 +
      ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
        *this->aes_);

  } else {
    total_size += RequiredFieldsByteSizeFallback();
  }
  if (_has_bits_[0 / 32] & 255u) {
    // optional string mobileNum = 3;
    if (has_mobilenum()) {
      total_size += 1 +
        ::google::protobuf::internal::WireFormatLite::StringSize(
          this->mobilenum());
    }

    // optional string verifycode = 5;
    if (has_verifycode()) {
      total_size += 1 +
        ::google::protobuf::internal::WireFormatLite::StringSize(
          this->verifycode());
    }

    // optional string tag7 = 7;
    if (has_tag7()) {
      total_size += 1 +
        ::google::protobuf::internal::WireFormatLite::StringSize(
          this->tag7());
    }

    // optional string authTicket = 8;
    if (has_authticket()) {
      total_size += 1 +
        ::google::protobuf::internal::WireFormatLite::StringSize(
          this->authticket());
    }

    // optional string deviceType = 10;
    if (has_devicetype()) {
      total_size += 1 +
        ::google::protobuf::internal::WireFormatLite::StringSize(
          this->devicetype());
    }

    // optional string deviceName = 11;
    if (has_devicename()) {
      total_size += 1 +
        ::google::protobuf::internal::WireFormatLite::StringSize(
          this->devicename());
    }

    // optional string launguage = 13;
    if (has_launguage()) {
      total_size += 1 +
        ::google::protobuf::internal::WireFormatLite::StringSize(
          this->launguage());
    }

    // optional string clientSeqId = 16;
    if (has_clientseqid()) {
      total_size += 2 +
        ::google::protobuf::internal::WireFormatLite::StringSize(
          this->clientseqid());
    }

  }
  if (_has_bits_[8 / 32] & 31744u) {
    // optional int32 option = 4;
    if (has_option()) {
      total_size += 1 +
        ::google::protobuf::internal::WireFormatLite::Int32Size(
          this->option());
    }

    // optional int32 tag6 = 6;
    if (has_tag6()) {
      total_size += 1 +
        ::google::protobuf::internal::WireFormatLite::Int32Size(
          this->tag6());
    }

    // optional int32 tag9 = 9;
    if (has_tag9()) {
      total_size += 1 +
        ::google::protobuf::internal::WireFormatLite::Int32Size(
          this->tag9());
    }

    // optional int32 tag14 = 14;
    if (has_tag14()) {
      total_size += 1 +
        ::google::protobuf::internal::WireFormatLite::Int32Size(
          this->tag14());
    }

    // optional int32 tag15 = 15;
    if (has_tag15()) {
      total_size += 1 +
        ::google::protobuf::internal::WireFormatLite::Int32Size(
          this->tag15());
    }

  }
  int cached_size = ::google::protobuf::internal::ToCachedSize(total_size);
  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
  _cached_size_ = cached_size;
  GOOGLE_SAFE_CONCURRENT_WRITES_END();
  return total_size;
}

void BindRequest::MergeFrom(const ::google::protobuf::Message& from) {
// @@protoc_insertion_point(generalized_merge_from_start:com.tencent.mars.microchat.proto.BindRequest)
  GOOGLE_DCHECK_NE(&from, this);
  const BindRequest* source =
      ::google::protobuf::internal::DynamicCastToGenerated<const BindRequest>(
          &from);
  if (source == NULL) {
  // @@protoc_insertion_point(generalized_merge_from_cast_fail:com.tencent.mars.microchat.proto.BindRequest)
    ::google::protobuf::internal::ReflectionOps::Merge(from, this);
  } else {
  // @@protoc_insertion_point(generalized_merge_from_cast_success:com.tencent.mars.microchat.proto.BindRequest)
    MergeFrom(*source);
  }
}

void BindRequest::MergeFrom(const BindRequest& from) {
// @@protoc_insertion_point(class_specific_merge_from_start:com.tencent.mars.microchat.proto.BindRequest)
  GOOGLE_DCHECK_NE(&from, this);
  _internal_metadata_.MergeFrom(from._internal_metadata_);
  ::google::protobuf::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  cached_has_bits = from._has_bits_[0];
  if (cached_has_bits & 255u) {
    if (cached_has_bits & 0x00000001u) {
      set_has_mobilenum();
      mobilenum_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.mobilenum_);
    }
    if (cached_has_bits & 0x00000002u) {
      set_has_verifycode();
      verifycode_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.verifycode_);
    }
    if (cached_has_bits & 0x00000004u) {
      set_has_tag7();
      tag7_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.tag7_);
    }
    if (cached_has_bits & 0x00000008u) {
      set_has_authticket();
      authticket_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.authticket_);
    }
    if (cached_has_bits & 0x00000010u) {
      set_has_devicetype();
      devicetype_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.devicetype_);
    }
    if (cached_has_bits & 0x00000020u) {
      set_has_devicename();
      devicename_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.devicename_);
    }
    if (cached_has_bits & 0x00000040u) {
      set_has_launguage();
      launguage_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.launguage_);
    }
    if (cached_has_bits & 0x00000080u) {
      set_has_clientseqid();
      clientseqid_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.clientseqid_);
    }
  }
  if (cached_has_bits & 32512u) {
    if (cached_has_bits & 0x00000100u) {
      mutable_info()->::com::tencent::mars::microchat::proto::BindRequest_DeviceInfo::MergeFrom(from.info());
    }
    if (cached_has_bits & 0x00000200u) {
      mutable_aes()->::com::tencent::mars::microchat::proto::BindRequest_AesKey::MergeFrom(from.aes());
    }
    if (cached_has_bits & 0x00000400u) {
      option_ = from.option_;
    }
    if (cached_has_bits & 0x00000800u) {
      tag6_ = from.tag6_;
    }
    if (cached_has_bits & 0x00001000u) {
      tag9_ = from.tag9_;
    }
    if (cached_has_bits & 0x00002000u) {
      tag14_ = from.tag14_;
    }
    if (cached_has_bits & 0x00004000u) {
      tag15_ = from.tag15_;
    }
    _has_bits_[0] |= cached_has_bits;
  }
}

void BindRequest::CopyFrom(const ::google::protobuf::Message& from) {
// @@protoc_insertion_point(generalized_copy_from_start:com.tencent.mars.microchat.proto.BindRequest)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

void BindRequest::CopyFrom(const BindRequest& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:com.tencent.mars.microchat.proto.BindRequest)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

bool BindRequest::IsInitialized() const {
  if ((_has_bits_[0] & 0x00000300) != 0x00000300) return false;
  if (has_info()) {
    if (!this->info_->IsInitialized()) return false;
  }
  if (has_aes()) {
    if (!this->aes_->IsInitialized()) return false;
  }
  return true;
}

void BindRequest::Swap(BindRequest* other) {
  if (other == this) return;
  InternalSwap(other);
}
void BindRequest::InternalSwap(BindRequest* other) {
  mobilenum_.Swap(&other->mobilenum_);
  verifycode_.Swap(&other->verifycode_);
  tag7_.Swap(&other->tag7_);
  authticket_.Swap(&other->authticket_);
  devicetype_.Swap(&other->devicetype_);
  devicename_.Swap(&other->devicename_);
  launguage_.Swap(&other->launguage_);
  clientseqid_.Swap(&other->clientseqid_);
  std::swap(info_, other->info_);
  std::swap(aes_, other->aes_);
  std::swap(option_, other->option_);
  std::swap(tag6_, other->tag6_);
  std::swap(tag9_, other->tag9_);
  std::swap(tag14_, other->tag14_);
  std::swap(tag15_, other->tag15_);
  std::swap(_has_bits_[0], other->_has_bits_[0]);
  _internal_metadata_.Swap(&other->_internal_metadata_);
  std::swap(_cached_size_, other->_cached_size_);
}

::google::protobuf::Metadata BindRequest::GetMetadata() const {
  protobuf_bindopmobileforreg_2eproto::protobuf_AssignDescriptorsOnce();
  return protobuf_bindopmobileforreg_2eproto::file_level_metadata[kIndexInFileMessages];
}

#if PROTOBUF_INLINE_NOT_IN_HEADERS
// BindRequest

// required .com.tencent.mars.microchat.proto.BindRequest.DeviceInfo info = 1;
bool BindRequest::has_info() const {
  return (_has_bits_[0] & 0x00000100u) != 0;
}
void BindRequest::set_has_info() {
  _has_bits_[0] |= 0x00000100u;
}
void BindRequest::clear_has_info() {
  _has_bits_[0] &= ~0x00000100u;
}
void BindRequest::clear_info() {
  if (info_ != NULL) info_->::com::tencent::mars::microchat::proto::BindRequest_DeviceInfo::Clear();
  clear_has_info();
}
const ::com::tencent::mars::microchat::proto::BindRequest_DeviceInfo& BindRequest::info() const {
  // @@protoc_insertion_point(field_get:com.tencent.mars.microchat.proto.BindRequest.info)
  return info_ != NULL ? *info_
                         : *::com::tencent::mars::microchat::proto::BindRequest_DeviceInfo::internal_default_instance();
}
::com::tencent::mars::microchat::proto::BindRequest_DeviceInfo* BindRequest::mutable_info() {
  set_has_info();
  if (info_ == NULL) {
    info_ = new ::com::tencent::mars::microchat::proto::BindRequest_DeviceInfo;
  }
  // @@protoc_insertion_point(field_mutable:com.tencent.mars.microchat.proto.BindRequest.info)
  return info_;
}
::com::tencent::mars::microchat::proto::BindRequest_DeviceInfo* BindRequest::release_info() {
  // @@protoc_insertion_point(field_release:com.tencent.mars.microchat.proto.BindRequest.info)
  clear_has_info();
  ::com::tencent::mars::microchat::proto::BindRequest_DeviceInfo* temp = info_;
  info_ = NULL;
  return temp;
}
void BindRequest::set_allocated_info(::com::tencent::mars::microchat::proto::BindRequest_DeviceInfo* info) {
  delete info_;
  info_ = info;
  if (info) {
    set_has_info();
  } else {
    clear_has_info();
  }
  // @@protoc_insertion_point(field_set_allocated:com.tencent.mars.microchat.proto.BindRequest.info)
}

// optional string mobileNum = 3;
bool BindRequest::has_mobilenum() const {
  return (_has_bits_[0] & 0x00000001u) != 0;
}
void BindRequest::set_has_mobilenum() {
  _has_bits_[0] |= 0x00000001u;
}
void BindRequest::clear_has_mobilenum() {
  _has_bits_[0] &= ~0x00000001u;
}
void BindRequest::clear_mobilenum() {
  mobilenum_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  clear_has_mobilenum();
}
const ::std::string& BindRequest::mobilenum() const {
  // @@protoc_insertion_point(field_get:com.tencent.mars.microchat.proto.BindRequest.mobileNum)
  return mobilenum_.GetNoArena();
}
void BindRequest::set_mobilenum(const ::std::string& value) {
  set_has_mobilenum();
  mobilenum_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
  // @@protoc_insertion_point(field_set:com.tencent.mars.microchat.proto.BindRequest.mobileNum)
}
#if LANG_CXX11
void BindRequest::set_mobilenum(::std::string&& value) {
  set_has_mobilenum();
  mobilenum_.SetNoArena(
    &::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::move(value));
  // @@protoc_insertion_point(field_set_rvalue:com.tencent.mars.microchat.proto.BindRequest.mobileNum)
}
#endif
void BindRequest::set_mobilenum(const char* value) {
  GOOGLE_DCHECK(value != NULL);
  set_has_mobilenum();
  mobilenum_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
  // @@protoc_insertion_point(field_set_char:com.tencent.mars.microchat.proto.BindRequest.mobileNum)
}
void BindRequest::set_mobilenum(const char* value, size_t size) {
  set_has_mobilenum();
  mobilenum_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
      ::std::string(reinterpret_cast<const char*>(value), size));
  // @@protoc_insertion_point(field_set_pointer:com.tencent.mars.microchat.proto.BindRequest.mobileNum)
}
::std::string* BindRequest::mutable_mobilenum() {
  set_has_mobilenum();
  // @@protoc_insertion_point(field_mutable:com.tencent.mars.microchat.proto.BindRequest.mobileNum)
  return mobilenum_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
::std::string* BindRequest::release_mobilenum() {
  // @@protoc_insertion_point(field_release:com.tencent.mars.microchat.proto.BindRequest.mobileNum)
  clear_has_mobilenum();
  return mobilenum_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
void BindRequest::set_allocated_mobilenum(::std::string* mobilenum) {
  if (mobilenum != NULL) {
    set_has_mobilenum();
  } else {
    clear_has_mobilenum();
  }
  mobilenum_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), mobilenum);
  // @@protoc_insertion_point(field_set_allocated:com.tencent.mars.microchat.proto.BindRequest.mobileNum)
}

// optional int32 option = 4;
bool BindRequest::has_option() const {
  return (_has_bits_[0] & 0x00000400u) != 0;
}
void BindRequest::set_has_option() {
  _has_bits_[0] |= 0x00000400u;
}
void BindRequest::clear_has_option() {
  _has_bits_[0] &= ~0x00000400u;
}
void BindRequest::clear_option() {
  option_ = 0;
  clear_has_option();
}
::google::protobuf::int32 BindRequest::option() const {
  // @@protoc_insertion_point(field_get:com.tencent.mars.microchat.proto.BindRequest.option)
  return option_;
}
void BindRequest::set_option(::google::protobuf::int32 value) {
  set_has_option();
  option_ = value;
  // @@protoc_insertion_point(field_set:com.tencent.mars.microchat.proto.BindRequest.option)
}

// optional string verifycode = 5;
bool BindRequest::has_verifycode() const {
  return (_has_bits_[0] & 0x00000002u) != 0;
}
void BindRequest::set_has_verifycode() {
  _has_bits_[0] |= 0x00000002u;
}
void BindRequest::clear_has_verifycode() {
  _has_bits_[0] &= ~0x00000002u;
}
void BindRequest::clear_verifycode() {
  verifycode_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  clear_has_verifycode();
}
const ::std::string& BindRequest::verifycode() const {
  // @@protoc_insertion_point(field_get:com.tencent.mars.microchat.proto.BindRequest.verifycode)
  return verifycode_.GetNoArena();
}
void BindRequest::set_verifycode(const ::std::string& value) {
  set_has_verifycode();
  verifycode_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
  // @@protoc_insertion_point(field_set:com.tencent.mars.microchat.proto.BindRequest.verifycode)
}
#if LANG_CXX11
void BindRequest::set_verifycode(::std::string&& value) {
  set_has_verifycode();
  verifycode_.SetNoArena(
    &::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::move(value));
  // @@protoc_insertion_point(field_set_rvalue:com.tencent.mars.microchat.proto.BindRequest.verifycode)
}
#endif
void BindRequest::set_verifycode(const char* value) {
  GOOGLE_DCHECK(value != NULL);
  set_has_verifycode();
  verifycode_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
  // @@protoc_insertion_point(field_set_char:com.tencent.mars.microchat.proto.BindRequest.verifycode)
}
void BindRequest::set_verifycode(const char* value, size_t size) {
  set_has_verifycode();
  verifycode_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
      ::std::string(reinterpret_cast<const char*>(value), size));
  // @@protoc_insertion_point(field_set_pointer:com.tencent.mars.microchat.proto.BindRequest.verifycode)
}
::std::string* BindRequest::mutable_verifycode() {
  set_has_verifycode();
  // @@protoc_insertion_point(field_mutable:com.tencent.mars.microchat.proto.BindRequest.verifycode)
  return verifycode_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
::std::string* BindRequest::release_verifycode() {
  // @@protoc_insertion_point(field_release:com.tencent.mars.microchat.proto.BindRequest.verifycode)
  clear_has_verifycode();
  return verifycode_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
void BindRequest::set_allocated_verifycode(::std::string* verifycode) {
  if (verifycode != NULL) {
    set_has_verifycode();
  } else {
    clear_has_verifycode();
  }
  verifycode_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), verifycode);
  // @@protoc_insertion_point(field_set_allocated:com.tencent.mars.microchat.proto.BindRequest.verifycode)
}

// optional int32 tag6 = 6;
bool BindRequest::has_tag6() const {
  return (_has_bits_[0] & 0x00000800u) != 0;
}
void BindRequest::set_has_tag6() {
  _has_bits_[0] |= 0x00000800u;
}
void BindRequest::clear_has_tag6() {
  _has_bits_[0] &= ~0x00000800u;
}
void BindRequest::clear_tag6() {
  tag6_ = 0;
  clear_has_tag6();
}
::google::protobuf::int32 BindRequest::tag6() const {
  // @@protoc_insertion_point(field_get:com.tencent.mars.microchat.proto.BindRequest.tag6)
  return tag6_;
}
void BindRequest::set_tag6(::google::protobuf::int32 value) {
  set_has_tag6();
  tag6_ = value;
  // @@protoc_insertion_point(field_set:com.tencent.mars.microchat.proto.BindRequest.tag6)
}

// optional string tag7 = 7;
bool BindRequest::has_tag7() const {
  return (_has_bits_[0] & 0x00000004u) != 0;
}
void BindRequest::set_has_tag7() {
  _has_bits_[0] |= 0x00000004u;
}
void BindRequest::clear_has_tag7() {
  _has_bits_[0] &= ~0x00000004u;
}
void BindRequest::clear_tag7() {
  tag7_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  clear_has_tag7();
}
const ::std::string& BindRequest::tag7() const {
  // @@protoc_insertion_point(field_get:com.tencent.mars.microchat.proto.BindRequest.tag7)
  return tag7_.GetNoArena();
}
void BindRequest::set_tag7(const ::std::string& value) {
  set_has_tag7();
  tag7_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
  // @@protoc_insertion_point(field_set:com.tencent.mars.microchat.proto.BindRequest.tag7)
}
#if LANG_CXX11
void BindRequest::set_tag7(::std::string&& value) {
  set_has_tag7();
  tag7_.SetNoArena(
    &::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::move(value));
  // @@protoc_insertion_point(field_set_rvalue:com.tencent.mars.microchat.proto.BindRequest.tag7)
}
#endif
void BindRequest::set_tag7(const char* value) {
  GOOGLE_DCHECK(value != NULL);
  set_has_tag7();
  tag7_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
  // @@protoc_insertion_point(field_set_char:com.tencent.mars.microchat.proto.BindRequest.tag7)
}
void BindRequest::set_tag7(const char* value, size_t size) {
  set_has_tag7();
  tag7_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
      ::std::string(reinterpret_cast<const char*>(value), size));
  // @@protoc_insertion_point(field_set_pointer:com.tencent.mars.microchat.proto.BindRequest.tag7)
}
::std::string* BindRequest::mutable_tag7() {
  set_has_tag7();
  // @@protoc_insertion_point(field_mutable:com.tencent.mars.microchat.proto.BindRequest.tag7)
  return tag7_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
::std::string* BindRequest::release_tag7() {
  // @@protoc_insertion_point(field_release:com.tencent.mars.microchat.proto.BindRequest.tag7)
  clear_has_tag7();
  return tag7_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
void BindRequest::set_allocated_tag7(::std::string* tag7) {
  if (tag7 != NULL) {
    set_has_tag7();
  } else {
    clear_has_tag7();
  }
  tag7_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), tag7);
  // @@protoc_insertion_point(field_set_allocated:com.tencent.mars.microchat.proto.BindRequest.tag7)
}

// optional string authTicket = 8;
bool BindRequest::has_authticket() const {
  return (_has_bits_[0] & 0x00000008u) != 0;
}
void BindRequest::set_has_authticket() {
  _has_bits_[0] |= 0x00000008u;
}
void BindRequest::clear_has_authticket() {
  _has_bits_[0] &= ~0x00000008u;
}
void BindRequest::clear_authticket() {
  authticket_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  clear_has_authticket();
}
const ::std::string& BindRequest::authticket() const {
  // @@protoc_insertion_point(field_get:com.tencent.mars.microchat.proto.BindRequest.authTicket)
  return authticket_.GetNoArena();
}
void BindRequest::set_authticket(const ::std::string& value) {
  set_has_authticket();
  authticket_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
  // @@protoc_insertion_point(field_set:com.tencent.mars.microchat.proto.BindRequest.authTicket)
}
#if LANG_CXX11
void BindRequest::set_authticket(::std::string&& value) {
  set_has_authticket();
  authticket_.SetNoArena(
    &::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::move(value));
  // @@protoc_insertion_point(field_set_rvalue:com.tencent.mars.microchat.proto.BindRequest.authTicket)
}
#endif
void BindRequest::set_authticket(const char* value) {
  GOOGLE_DCHECK(value != NULL);
  set_has_authticket();
  authticket_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
  // @@protoc_insertion_point(field_set_char:com.tencent.mars.microchat.proto.BindRequest.authTicket)
}
void BindRequest::set_authticket(const char* value, size_t size) {
  set_has_authticket();
  authticket_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
      ::std::string(reinterpret_cast<const char*>(value), size));
  // @@protoc_insertion_point(field_set_pointer:com.tencent.mars.microchat.proto.BindRequest.authTicket)
}
::std::string* BindRequest::mutable_authticket() {
  set_has_authticket();
  // @@protoc_insertion_point(field_mutable:com.tencent.mars.microchat.proto.BindRequest.authTicket)
  return authticket_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
::std::string* BindRequest::release_authticket() {
  // @@protoc_insertion_point(field_release:com.tencent.mars.microchat.proto.BindRequest.authTicket)
  clear_has_authticket();
  return authticket_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
void BindRequest::set_allocated_authticket(::std::string* authticket) {
  if (authticket != NULL) {
    set_has_authticket();
  } else {
    clear_has_authticket();
  }
  authticket_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), authticket);
  // @@protoc_insertion_point(field_set_allocated:com.tencent.mars.microchat.proto.BindRequest.authTicket)
}

// optional int32 tag9 = 9;
bool BindRequest::has_tag9() const {
  return (_has_bits_[0] & 0x00001000u) != 0;
}
void BindRequest::set_has_tag9() {
  _has_bits_[0] |= 0x00001000u;
}
void BindRequest::clear_has_tag9() {
  _has_bits_[0] &= ~0x00001000u;
}
void BindRequest::clear_tag9() {
  tag9_ = 0;
  clear_has_tag9();
}
::google::protobuf::int32 BindRequest::tag9() const {
  // @@protoc_insertion_point(field_get:com.tencent.mars.microchat.proto.BindRequest.tag9)
  return tag9_;
}
void BindRequest::set_tag9(::google::protobuf::int32 value) {
  set_has_tag9();
  tag9_ = value;
  // @@protoc_insertion_point(field_set:com.tencent.mars.microchat.proto.BindRequest.tag9)
}

// optional string deviceType = 10;
bool BindRequest::has_devicetype() const {
  return (_has_bits_[0] & 0x00000010u) != 0;
}
void BindRequest::set_has_devicetype() {
  _has_bits_[0] |= 0x00000010u;
}
void BindRequest::clear_has_devicetype() {
  _has_bits_[0] &= ~0x00000010u;
}
void BindRequest::clear_devicetype() {
  devicetype_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  clear_has_devicetype();
}
const ::std::string& BindRequest::devicetype() const {
  // @@protoc_insertion_point(field_get:com.tencent.mars.microchat.proto.BindRequest.deviceType)
  return devicetype_.GetNoArena();
}
void BindRequest::set_devicetype(const ::std::string& value) {
  set_has_devicetype();
  devicetype_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
  // @@protoc_insertion_point(field_set:com.tencent.mars.microchat.proto.BindRequest.deviceType)
}
#if LANG_CXX11
void BindRequest::set_devicetype(::std::string&& value) {
  set_has_devicetype();
  devicetype_.SetNoArena(
    &::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::move(value));
  // @@protoc_insertion_point(field_set_rvalue:com.tencent.mars.microchat.proto.BindRequest.deviceType)
}
#endif
void BindRequest::set_devicetype(const char* value) {
  GOOGLE_DCHECK(value != NULL);
  set_has_devicetype();
  devicetype_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
  // @@protoc_insertion_point(field_set_char:com.tencent.mars.microchat.proto.BindRequest.deviceType)
}
void BindRequest::set_devicetype(const char* value, size_t size) {
  set_has_devicetype();
  devicetype_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
      ::std::string(reinterpret_cast<const char*>(value), size));
  // @@protoc_insertion_point(field_set_pointer:com.tencent.mars.microchat.proto.BindRequest.deviceType)
}
::std::string* BindRequest::mutable_devicetype() {
  set_has_devicetype();
  // @@protoc_insertion_point(field_mutable:com.tencent.mars.microchat.proto.BindRequest.deviceType)
  return devicetype_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
::std::string* BindRequest::release_devicetype() {
  // @@protoc_insertion_point(field_release:com.tencent.mars.microchat.proto.BindRequest.deviceType)
  clear_has_devicetype();
  return devicetype_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
void BindRequest::set_allocated_devicetype(::std::string* devicetype) {
  if (devicetype != NULL) {
    set_has_devicetype();
  } else {
    clear_has_devicetype();
  }
  devicetype_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), devicetype);
  // @@protoc_insertion_point(field_set_allocated:com.tencent.mars.microchat.proto.BindRequest.deviceType)
}

// optional string deviceName = 11;
bool BindRequest::has_devicename() const {
  return (_has_bits_[0] & 0x00000020u) != 0;
}
void BindRequest::set_has_devicename() {
  _has_bits_[0] |= 0x00000020u;
}
void BindRequest::clear_has_devicename() {
  _has_bits_[0] &= ~0x00000020u;
}
void BindRequest::clear_devicename() {
  devicename_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  clear_has_devicename();
}
const ::std::string& BindRequest::devicename() const {
  // @@protoc_insertion_point(field_get:com.tencent.mars.microchat.proto.BindRequest.deviceName)
  return devicename_.GetNoArena();
}
void BindRequest::set_devicename(const ::std::string& value) {
  set_has_devicename();
  devicename_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
  // @@protoc_insertion_point(field_set:com.tencent.mars.microchat.proto.BindRequest.deviceName)
}
#if LANG_CXX11
void BindRequest::set_devicename(::std::string&& value) {
  set_has_devicename();
  devicename_.SetNoArena(
    &::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::move(value));
  // @@protoc_insertion_point(field_set_rvalue:com.tencent.mars.microchat.proto.BindRequest.deviceName)
}
#endif
void BindRequest::set_devicename(const char* value) {
  GOOGLE_DCHECK(value != NULL);
  set_has_devicename();
  devicename_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
  // @@protoc_insertion_point(field_set_char:com.tencent.mars.microchat.proto.BindRequest.deviceName)
}
void BindRequest::set_devicename(const char* value, size_t size) {
  set_has_devicename();
  devicename_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
      ::std::string(reinterpret_cast<const char*>(value), size));
  // @@protoc_insertion_point(field_set_pointer:com.tencent.mars.microchat.proto.BindRequest.deviceName)
}
::std::string* BindRequest::mutable_devicename() {
  set_has_devicename();
  // @@protoc_insertion_point(field_mutable:com.tencent.mars.microchat.proto.BindRequest.deviceName)
  return devicename_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
::std::string* BindRequest::release_devicename() {
  // @@protoc_insertion_point(field_release:com.tencent.mars.microchat.proto.BindRequest.deviceName)
  clear_has_devicename();
  return devicename_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
void BindRequest::set_allocated_devicename(::std::string* devicename) {
  if (devicename != NULL) {
    set_has_devicename();
  } else {
    clear_has_devicename();
  }
  devicename_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), devicename);
  // @@protoc_insertion_point(field_set_allocated:com.tencent.mars.microchat.proto.BindRequest.deviceName)
}

// required .com.tencent.mars.microchat.proto.BindRequest.AesKey aes = 12;
bool BindRequest::has_aes() const {
  return (_has_bits_[0] & 0x00000200u) != 0;
}
void BindRequest::set_has_aes() {
  _has_bits_[0] |= 0x00000200u;
}
void BindRequest::clear_has_aes() {
  _has_bits_[0] &= ~0x00000200u;
}
void BindRequest::clear_aes() {
  if (aes_ != NULL) aes_->::com::tencent::mars::microchat::proto::BindRequest_AesKey::Clear();
  clear_has_aes();
}
const ::com::tencent::mars::microchat::proto::BindRequest_AesKey& BindRequest::aes() const {
  // @@protoc_insertion_point(field_get:com.tencent.mars.microchat.proto.BindRequest.aes)
  return aes_ != NULL ? *aes_
                         : *::com::tencent::mars::microchat::proto::BindRequest_AesKey::internal_default_instance();
}
::com::tencent::mars::microchat::proto::BindRequest_AesKey* BindRequest::mutable_aes() {
  set_has_aes();
  if (aes_ == NULL) {
    aes_ = new ::com::tencent::mars::microchat::proto::BindRequest_AesKey;
  }
  // @@protoc_insertion_point(field_mutable:com.tencent.mars.microchat.proto.BindRequest.aes)
  return aes_;
}
::com::tencent::mars::microchat::proto::BindRequest_AesKey* BindRequest::release_aes() {
  // @@protoc_insertion_point(field_release:com.tencent.mars.microchat.proto.BindRequest.aes)
  clear_has_aes();
  ::com::tencent::mars::microchat::proto::BindRequest_AesKey* temp = aes_;
  aes_ = NULL;
  return temp;
}
void BindRequest::set_allocated_aes(::com::tencent::mars::microchat::proto::BindRequest_AesKey* aes) {
  delete aes_;
  aes_ = aes;
  if (aes) {
    set_has_aes();
  } else {
    clear_has_aes();
  }
  // @@protoc_insertion_point(field_set_allocated:com.tencent.mars.microchat.proto.BindRequest.aes)
}

// optional string launguage = 13;
bool BindRequest::has_launguage() const {
  return (_has_bits_[0] & 0x00000040u) != 0;
}
void BindRequest::set_has_launguage() {
  _has_bits_[0] |= 0x00000040u;
}
void BindRequest::clear_has_launguage() {
  _has_bits_[0] &= ~0x00000040u;
}
void BindRequest::clear_launguage() {
  launguage_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  clear_has_launguage();
}
const ::std::string& BindRequest::launguage() const {
  // @@protoc_insertion_point(field_get:com.tencent.mars.microchat.proto.BindRequest.launguage)
  return launguage_.GetNoArena();
}
void BindRequest::set_launguage(const ::std::string& value) {
  set_has_launguage();
  launguage_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
  // @@protoc_insertion_point(field_set:com.tencent.mars.microchat.proto.BindRequest.launguage)
}
#if LANG_CXX11
void BindRequest::set_launguage(::std::string&& value) {
  set_has_launguage();
  launguage_.SetNoArena(
    &::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::move(value));
  // @@protoc_insertion_point(field_set_rvalue:com.tencent.mars.microchat.proto.BindRequest.launguage)
}
#endif
void BindRequest::set_launguage(const char* value) {
  GOOGLE_DCHECK(value != NULL);
  set_has_launguage();
  launguage_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
  // @@protoc_insertion_point(field_set_char:com.tencent.mars.microchat.proto.BindRequest.launguage)
}
void BindRequest::set_launguage(const char* value, size_t size) {
  set_has_launguage();
  launguage_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
      ::std::string(reinterpret_cast<const char*>(value), size));
  // @@protoc_insertion_point(field_set_pointer:com.tencent.mars.microchat.proto.BindRequest.launguage)
}
::std::string* BindRequest::mutable_launguage() {
  set_has_launguage();
  // @@protoc_insertion_point(field_mutable:com.tencent.mars.microchat.proto.BindRequest.launguage)
  return launguage_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
::std::string* BindRequest::release_launguage() {
  // @@protoc_insertion_point(field_release:com.tencent.mars.microchat.proto.BindRequest.launguage)
  clear_has_launguage();
  return launguage_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
void BindRequest::set_allocated_launguage(::std::string* launguage) {
  if (launguage != NULL) {
    set_has_launguage();
  } else {
    clear_has_launguage();
  }
  launguage_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), launguage);
  // @@protoc_insertion_point(field_set_allocated:com.tencent.mars.microchat.proto.BindRequest.launguage)
}

// optional int32 tag14 = 14;
bool BindRequest::has_tag14() const {
  return (_has_bits_[0] & 0x00002000u) != 0;
}
void BindRequest::set_has_tag14() {
  _has_bits_[0] |= 0x00002000u;
}
void BindRequest::clear_has_tag14() {
  _has_bits_[0] &= ~0x00002000u;
}
void BindRequest::clear_tag14() {
  tag14_ = 0;
  clear_has_tag14();
}
::google::protobuf::int32 BindRequest::tag14() const {
  // @@protoc_insertion_point(field_get:com.tencent.mars.microchat.proto.BindRequest.tag14)
  return tag14_;
}
void BindRequest::set_tag14(::google::protobuf::int32 value) {
  set_has_tag14();
  tag14_ = value;
  // @@protoc_insertion_point(field_set:com.tencent.mars.microchat.proto.BindRequest.tag14)
}

// optional int32 tag15 = 15;
bool BindRequest::has_tag15() const {
  return (_has_bits_[0] & 0x00004000u) != 0;
}
void BindRequest::set_has_tag15() {
  _has_bits_[0] |= 0x00004000u;
}
void BindRequest::clear_has_tag15() {
  _has_bits_[0] &= ~0x00004000u;
}
void BindRequest::clear_tag15() {
  tag15_ = 0;
  clear_has_tag15();
}
::google::protobuf::int32 BindRequest::tag15() const {
  // @@protoc_insertion_point(field_get:com.tencent.mars.microchat.proto.BindRequest.tag15)
  return tag15_;
}
void BindRequest::set_tag15(::google::protobuf::int32 value) {
  set_has_tag15();
  tag15_ = value;
  // @@protoc_insertion_point(field_set:com.tencent.mars.microchat.proto.BindRequest.tag15)
}

// optional string clientSeqId = 16;
bool BindRequest::has_clientseqid() const {
  return (_has_bits_[0] & 0x00000080u) != 0;
}
void BindRequest::set_has_clientseqid() {
  _has_bits_[0] |= 0x00000080u;
}
void BindRequest::clear_has_clientseqid() {
  _has_bits_[0] &= ~0x00000080u;
}
void BindRequest::clear_clientseqid() {
  clientseqid_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  clear_has_clientseqid();
}
const ::std::string& BindRequest::clientseqid() const {
  // @@protoc_insertion_point(field_get:com.tencent.mars.microchat.proto.BindRequest.clientSeqId)
  return clientseqid_.GetNoArena();
}
void BindRequest::set_clientseqid(const ::std::string& value) {
  set_has_clientseqid();
  clientseqid_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
  // @@protoc_insertion_point(field_set:com.tencent.mars.microchat.proto.BindRequest.clientSeqId)
}
#if LANG_CXX11
void BindRequest::set_clientseqid(::std::string&& value) {
  set_has_clientseqid();
  clientseqid_.SetNoArena(
    &::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::move(value));
  // @@protoc_insertion_point(field_set_rvalue:com.tencent.mars.microchat.proto.BindRequest.clientSeqId)
}
#endif
void BindRequest::set_clientseqid(const char* value) {
  GOOGLE_DCHECK(value != NULL);
  set_has_clientseqid();
  clientseqid_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
  // @@protoc_insertion_point(field_set_char:com.tencent.mars.microchat.proto.BindRequest.clientSeqId)
}
void BindRequest::set_clientseqid(const char* value, size_t size) {
  set_has_clientseqid();
  clientseqid_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
      ::std::string(reinterpret_cast<const char*>(value), size));
  // @@protoc_insertion_point(field_set_pointer:com.tencent.mars.microchat.proto.BindRequest.clientSeqId)
}
::std::string* BindRequest::mutable_clientseqid() {
  set_has_clientseqid();
  // @@protoc_insertion_point(field_mutable:com.tencent.mars.microchat.proto.BindRequest.clientSeqId)
  return clientseqid_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
::std::string* BindRequest::release_clientseqid() {
  // @@protoc_insertion_point(field_release:com.tencent.mars.microchat.proto.BindRequest.clientSeqId)
  clear_has_clientseqid();
  return clientseqid_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
void BindRequest::set_allocated_clientseqid(::std::string* clientseqid) {
  if (clientseqid != NULL) {
    set_has_clientseqid();
  } else {
    clear_has_clientseqid();
  }
  clientseqid_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), clientseqid);
  // @@protoc_insertion_point(field_set_allocated:com.tencent.mars.microchat.proto.BindRequest.clientSeqId)
}

#endif  // PROTOBUF_INLINE_NOT_IN_HEADERS

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

#if !defined(_MSC_VER) || _MSC_VER >= 1900
const int BindResponse__Result__Result::kStrResultFieldNumber;
#endif  // !defined(_MSC_VER) || _MSC_VER >= 1900

BindResponse__Result__Result::BindResponse__Result__Result()
  : ::google::protobuf::Message(), _internal_metadata_(NULL) {
  if (GOOGLE_PREDICT_TRUE(this != internal_default_instance())) {
    protobuf_bindopmobileforreg_2eproto::InitDefaults();
  }
  SharedCtor();
  // @@protoc_insertion_point(constructor:com.tencent.mars.microchat.proto.BindResponse._Result._Result)
}
BindResponse__Result__Result::BindResponse__Result__Result(const BindResponse__Result__Result& from)
  : ::google::protobuf::Message(),
      _internal_metadata_(NULL),
      _has_bits_(from._has_bits_),
      _cached_size_(0) {
  _internal_metadata_.MergeFrom(from._internal_metadata_);
  strresult_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  if (from.has_strresult()) {
    strresult_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.strresult_);
  }
  // @@protoc_insertion_point(copy_constructor:com.tencent.mars.microchat.proto.BindResponse._Result._Result)
}

void BindResponse__Result__Result::SharedCtor() {
  _cached_size_ = 0;
  strresult_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}

BindResponse__Result__Result::~BindResponse__Result__Result() {
  // @@protoc_insertion_point(destructor:com.tencent.mars.microchat.proto.BindResponse._Result._Result)
  SharedDtor();
}

void BindResponse__Result__Result::SharedDtor() {
  strresult_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}

void BindResponse__Result__Result::SetCachedSize(int size) const {
  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
  _cached_size_ = size;
  GOOGLE_SAFE_CONCURRENT_WRITES_END();
}
const ::google::protobuf::Descriptor* BindResponse__Result__Result::descriptor() {
  protobuf_bindopmobileforreg_2eproto::protobuf_AssignDescriptorsOnce();
  return protobuf_bindopmobileforreg_2eproto::file_level_metadata[kIndexInFileMessages].descriptor;
}

const BindResponse__Result__Result& BindResponse__Result__Result::default_instance() {
  protobuf_bindopmobileforreg_2eproto::InitDefaults();
  return *internal_default_instance();
}

BindResponse__Result__Result* BindResponse__Result__Result::New(::google::protobuf::Arena* arena) const {
  BindResponse__Result__Result* n = new BindResponse__Result__Result;
  if (arena != NULL) {
    arena->Own(n);
  }
  return n;
}

void BindResponse__Result__Result::Clear() {
// @@protoc_insertion_point(message_clear_start:com.tencent.mars.microchat.proto.BindResponse._Result._Result)
  if (has_strresult()) {
    GOOGLE_DCHECK(!strresult_.IsDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited()));
    (*strresult_.UnsafeRawStringPointer())->clear();
  }
  _has_bits_.Clear();
  _internal_metadata_.Clear();
}

bool BindResponse__Result__Result::MergePartialFromCodedStream(
    ::google::protobuf::io::CodedInputStream* input) {
#define DO_(EXPRESSION) if (!GOOGLE_PREDICT_TRUE(EXPRESSION)) goto failure
  ::google::protobuf::uint32 tag;
  // @@protoc_insertion_point(parse_start:com.tencent.mars.microchat.proto.BindResponse._Result._Result)
  for (;;) {
    ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoffNoLastTag(127u);
    tag = p.first;
    if (!p.second) goto handle_unusual;
    switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
      // optional string strResult = 1;
      case 1: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(10u)) {
          DO_(::google::protobuf::internal::WireFormatLite::ReadString(
                input, this->mutable_strresult()));
          ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
            this->strresult().data(), this->strresult().length(),
            ::google::protobuf::internal::WireFormat::PARSE,
            "com.tencent.mars.microchat.proto.BindResponse._Result._Result.strResult");
        } else {
          goto handle_unusual;
        }
        break;
      }

      default: {
      handle_unusual:
        if (tag == 0 ||
            ::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
            ::google::protobuf::internal::WireFormatLite::WIRETYPE_END_GROUP) {
          goto success;
        }
        DO_(::google::protobuf::internal::WireFormat::SkipField(
              input, tag, mutable_unknown_fields()));
        break;
      }
    }
  }
success:
  // @@protoc_insertion_point(parse_success:com.tencent.mars.microchat.proto.BindResponse._Result._Result)
  return true;
failure:
  // @@protoc_insertion_point(parse_failure:com.tencent.mars.microchat.proto.BindResponse._Result._Result)
  return false;
#undef DO_
}

void BindResponse__Result__Result::SerializeWithCachedSizes(
    ::google::protobuf::io::CodedOutputStream* output) const {
  // @@protoc_insertion_point(serialize_start:com.tencent.mars.microchat.proto.BindResponse._Result._Result)
  ::google::protobuf::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  cached_has_bits = _has_bits_[0];
  // optional string strResult = 1;
  if (cached_has_bits & 0x00000001u) {
    ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
      this->strresult().data(), this->strresult().length(),
      ::google::protobuf::internal::WireFormat::SERIALIZE,
      "com.tencent.mars.microchat.proto.BindResponse._Result._Result.strResult");
    ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased(
      1, this->strresult(), output);
  }

  if (_internal_metadata_.have_unknown_fields()) {
    ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
        unknown_fields(), output);
  }
  // @@protoc_insertion_point(serialize_end:com.tencent.mars.microchat.proto.BindResponse._Result._Result)
}

::google::protobuf::uint8* BindResponse__Result__Result::InternalSerializeWithCachedSizesToArray(
    bool deterministic, ::google::protobuf::uint8* target) const {
  // @@protoc_insertion_point(serialize_to_array_start:com.tencent.mars.microchat.proto.BindResponse._Result._Result)
  ::google::protobuf::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  cached_has_bits = _has_bits_[0];
  // optional string strResult = 1;
  if (cached_has_bits & 0x00000001u) {
    ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
      this->strresult().data(), this->strresult().length(),
      ::google::protobuf::internal::WireFormat::SERIALIZE,
      "com.tencent.mars.microchat.proto.BindResponse._Result._Result.strResult");
    target =
      ::google::protobuf::internal::WireFormatLite::WriteStringToArray(
        1, this->strresult(), target);
  }

  if (_internal_metadata_.have_unknown_fields()) {
    target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
        unknown_fields(), target);
  }
  // @@protoc_insertion_point(serialize_to_array_end:com.tencent.mars.microchat.proto.BindResponse._Result._Result)
  return target;
}

size_t BindResponse__Result__Result::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:com.tencent.mars.microchat.proto.BindResponse._Result._Result)
  size_t total_size = 0;

  if (_internal_metadata_.have_unknown_fields()) {
    total_size +=
      ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize(
        unknown_fields());
  }
  // optional string strResult = 1;
  if (has_strresult()) {
    total_size += 1 +
      ::google::protobuf::internal::WireFormatLite::StringSize(
        this->strresult());
  }

  int cached_size = ::google::protobuf::internal::ToCachedSize(total_size);
  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
  _cached_size_ = cached_size;
  GOOGLE_SAFE_CONCURRENT_WRITES_END();
  return total_size;
}

void BindResponse__Result__Result::MergeFrom(const ::google::protobuf::Message& from) {
// @@protoc_insertion_point(generalized_merge_from_start:com.tencent.mars.microchat.proto.BindResponse._Result._Result)
  GOOGLE_DCHECK_NE(&from, this);
  const BindResponse__Result__Result* source =
      ::google::protobuf::internal::DynamicCastToGenerated<const BindResponse__Result__Result>(
          &from);
  if (source == NULL) {
  // @@protoc_insertion_point(generalized_merge_from_cast_fail:com.tencent.mars.microchat.proto.BindResponse._Result._Result)
    ::google::protobuf::internal::ReflectionOps::Merge(from, this);
  } else {
  // @@protoc_insertion_point(generalized_merge_from_cast_success:com.tencent.mars.microchat.proto.BindResponse._Result._Result)
    MergeFrom(*source);
  }
}

void BindResponse__Result__Result::MergeFrom(const BindResponse__Result__Result& from) {
// @@protoc_insertion_point(class_specific_merge_from_start:com.tencent.mars.microchat.proto.BindResponse._Result._Result)
  GOOGLE_DCHECK_NE(&from, this);
  _internal_metadata_.MergeFrom(from._internal_metadata_);
  ::google::protobuf::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  if (from.has_strresult()) {
    set_has_strresult();
    strresult_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.strresult_);
  }
}

void BindResponse__Result__Result::CopyFrom(const ::google::protobuf::Message& from) {
// @@protoc_insertion_point(generalized_copy_from_start:com.tencent.mars.microchat.proto.BindResponse._Result._Result)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

void BindResponse__Result__Result::CopyFrom(const BindResponse__Result__Result& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:com.tencent.mars.microchat.proto.BindResponse._Result._Result)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

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

void BindResponse__Result__Result::Swap(BindResponse__Result__Result* other) {
  if (other == this) return;
  InternalSwap(other);
}
void BindResponse__Result__Result::InternalSwap(BindResponse__Result__Result* other) {
  strresult_.Swap(&other->strresult_);
  std::swap(_has_bits_[0], other->_has_bits_[0]);
  _internal_metadata_.Swap(&other->_internal_metadata_);
  std::swap(_cached_size_, other->_cached_size_);
}

::google::protobuf::Metadata BindResponse__Result__Result::GetMetadata() const {
  protobuf_bindopmobileforreg_2eproto::protobuf_AssignDescriptorsOnce();
  return protobuf_bindopmobileforreg_2eproto::file_level_metadata[kIndexInFileMessages];
}

#if PROTOBUF_INLINE_NOT_IN_HEADERS
// BindResponse__Result__Result

// optional string strResult = 1;
bool BindResponse__Result__Result::has_strresult() const {
  return (_has_bits_[0] & 0x00000001u) != 0;
}
void BindResponse__Result__Result::set_has_strresult() {
  _has_bits_[0] |= 0x00000001u;
}
void BindResponse__Result__Result::clear_has_strresult() {
  _has_bits_[0] &= ~0x00000001u;
}
void BindResponse__Result__Result::clear_strresult() {
  strresult_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  clear_has_strresult();
}
const ::std::string& BindResponse__Result__Result::strresult() const {
  // @@protoc_insertion_point(field_get:com.tencent.mars.microchat.proto.BindResponse._Result._Result.strResult)
  return strresult_.GetNoArena();
}
void BindResponse__Result__Result::set_strresult(const ::std::string& value) {
  set_has_strresult();
  strresult_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
  // @@protoc_insertion_point(field_set:com.tencent.mars.microchat.proto.BindResponse._Result._Result.strResult)
}
#if LANG_CXX11
void BindResponse__Result__Result::set_strresult(::std::string&& value) {
  set_has_strresult();
  strresult_.SetNoArena(
    &::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::move(value));
  // @@protoc_insertion_point(field_set_rvalue:com.tencent.mars.microchat.proto.BindResponse._Result._Result.strResult)
}
#endif
void BindResponse__Result__Result::set_strresult(const char* value) {
  GOOGLE_DCHECK(value != NULL);
  set_has_strresult();
  strresult_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
  // @@protoc_insertion_point(field_set_char:com.tencent.mars.microchat.proto.BindResponse._Result._Result.strResult)
}
void BindResponse__Result__Result::set_strresult(const char* value, size_t size) {
  set_has_strresult();
  strresult_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
      ::std::string(reinterpret_cast<const char*>(value), size));
  // @@protoc_insertion_point(field_set_pointer:com.tencent.mars.microchat.proto.BindResponse._Result._Result.strResult)
}
::std::string* BindResponse__Result__Result::mutable_strresult() {
  set_has_strresult();
  // @@protoc_insertion_point(field_mutable:com.tencent.mars.microchat.proto.BindResponse._Result._Result.strResult)
  return strresult_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
::std::string* BindResponse__Result__Result::release_strresult() {
  // @@protoc_insertion_point(field_release:com.tencent.mars.microchat.proto.BindResponse._Result._Result.strResult)
  clear_has_strresult();
  return strresult_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
void BindResponse__Result__Result::set_allocated_strresult(::std::string* strresult) {
  if (strresult != NULL) {
    set_has_strresult();
  } else {
    clear_has_strresult();
  }
  strresult_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), strresult);
  // @@protoc_insertion_point(field_set_allocated:com.tencent.mars.microchat.proto.BindResponse._Result._Result.strResult)
}

#endif  // PROTOBUF_INLINE_NOT_IN_HEADERS

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

#if !defined(_MSC_VER) || _MSC_VER >= 1900
const int BindResponse__Result::kCodeFieldNumber;
const int BindResponse__Result::kResultFieldNumber;
#endif  // !defined(_MSC_VER) || _MSC_VER >= 1900

BindResponse__Result::BindResponse__Result()
  : ::google::protobuf::Message(), _internal_metadata_(NULL) {
  if (GOOGLE_PREDICT_TRUE(this != internal_default_instance())) {
    protobuf_bindopmobileforreg_2eproto::InitDefaults();
  }
  SharedCtor();
  // @@protoc_insertion_point(constructor:com.tencent.mars.microchat.proto.BindResponse._Result)
}
BindResponse__Result::BindResponse__Result(const BindResponse__Result& from)
  : ::google::protobuf::Message(),
      _internal_metadata_(NULL),
      _has_bits_(from._has_bits_),
      _cached_size_(0) {
  _internal_metadata_.MergeFrom(from._internal_metadata_);
  if (from.has_result()) {
    result_ = new ::com::tencent::mars::microchat::proto::BindResponse__Result__Result(*from.result_);
  } else {
    result_ = NULL;
  }
  code_ = from.code_;
  // @@protoc_insertion_point(copy_constructor:com.tencent.mars.microchat.proto.BindResponse._Result)
}

void BindResponse__Result::SharedCtor() {
  _cached_size_ = 0;
  ::memset(&result_, 0, reinterpret_cast<char*>(&code_) -
    reinterpret_cast<char*>(&result_) + sizeof(code_));
}

BindResponse__Result::~BindResponse__Result() {
  // @@protoc_insertion_point(destructor:com.tencent.mars.microchat.proto.BindResponse._Result)
  SharedDtor();
}

void BindResponse__Result::SharedDtor() {
  if (this != internal_default_instance()) {
    delete result_;
  }
}

void BindResponse__Result::SetCachedSize(int size) const {
  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
  _cached_size_ = size;
  GOOGLE_SAFE_CONCURRENT_WRITES_END();
}
const ::google::protobuf::Descriptor* BindResponse__Result::descriptor() {
  protobuf_bindopmobileforreg_2eproto::protobuf_AssignDescriptorsOnce();
  return protobuf_bindopmobileforreg_2eproto::file_level_metadata[kIndexInFileMessages].descriptor;
}

const BindResponse__Result& BindResponse__Result::default_instance() {
  protobuf_bindopmobileforreg_2eproto::InitDefaults();
  return *internal_default_instance();
}

BindResponse__Result* BindResponse__Result::New(::google::protobuf::Arena* arena) const {
  BindResponse__Result* n = new BindResponse__Result;
  if (arena != NULL) {
    arena->Own(n);
  }
  return n;
}

void BindResponse__Result::Clear() {
// @@protoc_insertion_point(message_clear_start:com.tencent.mars.microchat.proto.BindResponse._Result)
  if (has_result()) {
    GOOGLE_DCHECK(result_ != NULL);
    result_->::com::tencent::mars::microchat::proto::BindResponse__Result__Result::Clear();
  }
  code_ = 0;
  _has_bits_.Clear();
  _internal_metadata_.Clear();
}

bool BindResponse__Result::MergePartialFromCodedStream(
    ::google::protobuf::io::CodedInputStream* input) {
#define DO_(EXPRESSION) if (!GOOGLE_PREDICT_TRUE(EXPRESSION)) goto failure
  ::google::protobuf::uint32 tag;
  // @@protoc_insertion_point(parse_start:com.tencent.mars.microchat.proto.BindResponse._Result)
  for (;;) {
    ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoffNoLastTag(127u);
    tag = p.first;
    if (!p.second) goto handle_unusual;
    switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
      // optional int32 code = 1;
      case 1: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(8u)) {
          set_has_code();
          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
                   ::google::protobuf::int32, ::google::protobuf::internal::WireFormatLite::TYPE_INT32>(
                 input, &code_)));
        } else {
          goto handle_unusual;
        }
        break;
      }

      // optional .com.tencent.mars.microchat.proto.BindResponse._Result._Result result = 2;
      case 2: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(18u)) {
          DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
               input, mutable_result()));
        } else {
          goto handle_unusual;
        }
        break;
      }

      default: {
      handle_unusual:
        if (tag == 0 ||
            ::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
            ::google::protobuf::internal::WireFormatLite::WIRETYPE_END_GROUP) {
          goto success;
        }
        DO_(::google::protobuf::internal::WireFormat::SkipField(
              input, tag, mutable_unknown_fields()));
        break;
      }
    }
  }
success:
  // @@protoc_insertion_point(parse_success:com.tencent.mars.microchat.proto.BindResponse._Result)
  return true;
failure:
  // @@protoc_insertion_point(parse_failure:com.tencent.mars.microchat.proto.BindResponse._Result)
  return false;
#undef DO_
}

void BindResponse__Result::SerializeWithCachedSizes(
    ::google::protobuf::io::CodedOutputStream* output) const {
  // @@protoc_insertion_point(serialize_start:com.tencent.mars.microchat.proto.BindResponse._Result)
  ::google::protobuf::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  cached_has_bits = _has_bits_[0];
  // optional int32 code = 1;
  if (cached_has_bits & 0x00000002u) {
    ::google::protobuf::internal::WireFormatLite::WriteInt32(1, this->code(), output);
  }

  // optional .com.tencent.mars.microchat.proto.BindResponse._Result._Result result = 2;
  if (cached_has_bits & 0x00000001u) {
    ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
      2, *this->result_, output);
  }

  if (_internal_metadata_.have_unknown_fields()) {
    ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
        unknown_fields(), output);
  }
  // @@protoc_insertion_point(serialize_end:com.tencent.mars.microchat.proto.BindResponse._Result)
}

::google::protobuf::uint8* BindResponse__Result::InternalSerializeWithCachedSizesToArray(
    bool deterministic, ::google::protobuf::uint8* target) const {
  // @@protoc_insertion_point(serialize_to_array_start:com.tencent.mars.microchat.proto.BindResponse._Result)
  ::google::protobuf::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  cached_has_bits = _has_bits_[0];
  // optional int32 code = 1;
  if (cached_has_bits & 0x00000002u) {
    target = ::google::protobuf::internal::WireFormatLite::WriteInt32ToArray(1, this->code(), target);
  }

  // optional .com.tencent.mars.microchat.proto.BindResponse._Result._Result result = 2;
  if (cached_has_bits & 0x00000001u) {
    target = ::google::protobuf::internal::WireFormatLite::
      InternalWriteMessageNoVirtualToArray(
        2, *this->result_, deterministic, target);
  }

  if (_internal_metadata_.have_unknown_fields()) {
    target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
        unknown_fields(), target);
  }
  // @@protoc_insertion_point(serialize_to_array_end:com.tencent.mars.microchat.proto.BindResponse._Result)
  return target;
}

size_t BindResponse__Result::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:com.tencent.mars.microchat.proto.BindResponse._Result)
  size_t total_size = 0;

  if (_internal_metadata_.have_unknown_fields()) {
    total_size +=
      ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize(
        unknown_fields());
  }
  if (_has_bits_[0 / 32] & 3u) {
    // optional .com.tencent.mars.microchat.proto.BindResponse._Result._Result result = 2;
    if (has_result()) {
      total_size += 1 +
        ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
          *this->result_);
    }

    // optional int32 code = 1;
    if (has_code()) {
      total_size += 1 +
        ::google::protobuf::internal::WireFormatLite::Int32Size(
          this->code());
    }

  }
  int cached_size = ::google::protobuf::internal::ToCachedSize(total_size);
  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
  _cached_size_ = cached_size;
  GOOGLE_SAFE_CONCURRENT_WRITES_END();
  return total_size;
}

void BindResponse__Result::MergeFrom(const ::google::protobuf::Message& from) {
// @@protoc_insertion_point(generalized_merge_from_start:com.tencent.mars.microchat.proto.BindResponse._Result)
  GOOGLE_DCHECK_NE(&from, this);
  const BindResponse__Result* source =
      ::google::protobuf::internal::DynamicCastToGenerated<const BindResponse__Result>(
          &from);
  if (source == NULL) {
  // @@protoc_insertion_point(generalized_merge_from_cast_fail:com.tencent.mars.microchat.proto.BindResponse._Result)
    ::google::protobuf::internal::ReflectionOps::Merge(from, this);
  } else {
  // @@protoc_insertion_point(generalized_merge_from_cast_success:com.tencent.mars.microchat.proto.BindResponse._Result)
    MergeFrom(*source);
  }
}

void BindResponse__Result::MergeFrom(const BindResponse__Result& from) {
// @@protoc_insertion_point(class_specific_merge_from_start:com.tencent.mars.microchat.proto.BindResponse._Result)
  GOOGLE_DCHECK_NE(&from, this);
  _internal_metadata_.MergeFrom(from._internal_metadata_);
  ::google::protobuf::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  cached_has_bits = from._has_bits_[0];
  if (cached_has_bits & 3u) {
    if (cached_has_bits & 0x00000001u) {
      mutable_result()->::com::tencent::mars::microchat::proto::BindResponse__Result__Result::MergeFrom(from.result());
    }
    if (cached_has_bits & 0x00000002u) {
      code_ = from.code_;
    }
    _has_bits_[0] |= cached_has_bits;
  }
}

void BindResponse__Result::CopyFrom(const ::google::protobuf::Message& from) {
// @@protoc_insertion_point(generalized_copy_from_start:com.tencent.mars.microchat.proto.BindResponse._Result)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

void BindResponse__Result::CopyFrom(const BindResponse__Result& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:com.tencent.mars.microchat.proto.BindResponse._Result)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

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

void BindResponse__Result::Swap(BindResponse__Result* other) {
  if (other == this) return;
  InternalSwap(other);
}
void BindResponse__Result::InternalSwap(BindResponse__Result* other) {
  std::swap(result_, other->result_);
  std::swap(code_, other->code_);
  std::swap(_has_bits_[0], other->_has_bits_[0]);
  _internal_metadata_.Swap(&other->_internal_metadata_);
  std::swap(_cached_size_, other->_cached_size_);
}

::google::protobuf::Metadata BindResponse__Result::GetMetadata() const {
  protobuf_bindopmobileforreg_2eproto::protobuf_AssignDescriptorsOnce();
  return protobuf_bindopmobileforreg_2eproto::file_level_metadata[kIndexInFileMessages];
}

#if PROTOBUF_INLINE_NOT_IN_HEADERS
// BindResponse__Result

// optional int32 code = 1;
bool BindResponse__Result::has_code() const {
  return (_has_bits_[0] & 0x00000002u) != 0;
}
void BindResponse__Result::set_has_code() {
  _has_bits_[0] |= 0x00000002u;
}
void BindResponse__Result::clear_has_code() {
  _has_bits_[0] &= ~0x00000002u;
}
void BindResponse__Result::clear_code() {
  code_ = 0;
  clear_has_code();
}
::google::protobuf::int32 BindResponse__Result::code() const {
  // @@protoc_insertion_point(field_get:com.tencent.mars.microchat.proto.BindResponse._Result.code)
  return code_;
}
void BindResponse__Result::set_code(::google::protobuf::int32 value) {
  set_has_code();
  code_ = value;
  // @@protoc_insertion_point(field_set:com.tencent.mars.microchat.proto.BindResponse._Result.code)
}

// optional .com.tencent.mars.microchat.proto.BindResponse._Result._Result result = 2;
bool BindResponse__Result::has_result() const {
  return (_has_bits_[0] & 0x00000001u) != 0;
}
void BindResponse__Result::set_has_result() {
  _has_bits_[0] |= 0x00000001u;
}
void BindResponse__Result::clear_has_result() {
  _has_bits_[0] &= ~0x00000001u;
}
void BindResponse__Result::clear_result() {
  if (result_ != NULL) result_->::com::tencent::mars::microchat::proto::BindResponse__Result__Result::Clear();
  clear_has_result();
}
const ::com::tencent::mars::microchat::proto::BindResponse__Result__Result& BindResponse__Result::result() const {
  // @@protoc_insertion_point(field_get:com.tencent.mars.microchat.proto.BindResponse._Result.result)
  return result_ != NULL ? *result_
                         : *::com::tencent::mars::microchat::proto::BindResponse__Result__Result::internal_default_instance();
}
::com::tencent::mars::microchat::proto::BindResponse__Result__Result* BindResponse__Result::mutable_result() {
  set_has_result();
  if (result_ == NULL) {
    result_ = new ::com::tencent::mars::microchat::proto::BindResponse__Result__Result;
  }
  // @@protoc_insertion_point(field_mutable:com.tencent.mars.microchat.proto.BindResponse._Result.result)
  return result_;
}
::com::tencent::mars::microchat::proto::BindResponse__Result__Result* BindResponse__Result::release_result() {
  // @@protoc_insertion_point(field_release:com.tencent.mars.microchat.proto.BindResponse._Result.result)
  clear_has_result();
  ::com::tencent::mars::microchat::proto::BindResponse__Result__Result* temp = result_;
  result_ = NULL;
  return temp;
}
void BindResponse__Result::set_allocated_result(::com::tencent::mars::microchat::proto::BindResponse__Result__Result* result) {
  delete result_;
  result_ = result;
  if (result) {
    set_has_result();
  } else {
    clear_has_result();
  }
  // @@protoc_insertion_point(field_set_allocated:com.tencent.mars.microchat.proto.BindResponse._Result.result)
}

#endif  // PROTOBUF_INLINE_NOT_IN_HEADERS

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

#if !defined(_MSC_VER) || _MSC_VER >= 1900
const int BindResponse::kTag1FieldNumber;
const int BindResponse::kWxidFieldNumber;
#endif  // !defined(_MSC_VER) || _MSC_VER >= 1900

BindResponse::BindResponse()
  : ::google::protobuf::Message(), _internal_metadata_(NULL) {
  if (GOOGLE_PREDICT_TRUE(this != internal_default_instance())) {
    protobuf_bindopmobileforreg_2eproto::InitDefaults();
  }
  SharedCtor();
  // @@protoc_insertion_point(constructor:com.tencent.mars.microchat.proto.BindResponse)
}
BindResponse::BindResponse(const BindResponse& from)
  : ::google::protobuf::Message(),
      _internal_metadata_(NULL),
      _has_bits_(from._has_bits_),
      _cached_size_(0) {
  _internal_metadata_.MergeFrom(from._internal_metadata_);
  wxid_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  if (from.has_wxid()) {
    wxid_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.wxid_);
  }
  if (from.has_tag1()) {
    tag1_ = new ::com::tencent::mars::microchat::proto::BindResponse__Result(*from.tag1_);
  } else {
    tag1_ = NULL;
  }
  // @@protoc_insertion_point(copy_constructor:com.tencent.mars.microchat.proto.BindResponse)
}

void BindResponse::SharedCtor() {
  _cached_size_ = 0;
  wxid_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  tag1_ = NULL;
}

BindResponse::~BindResponse() {
  // @@protoc_insertion_point(destructor:com.tencent.mars.microchat.proto.BindResponse)
  SharedDtor();
}

void BindResponse::SharedDtor() {
  wxid_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  if (this != internal_default_instance()) {
    delete tag1_;
  }
}

void BindResponse::SetCachedSize(int size) const {
  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
  _cached_size_ = size;
  GOOGLE_SAFE_CONCURRENT_WRITES_END();
}
const ::google::protobuf::Descriptor* BindResponse::descriptor() {
  protobuf_bindopmobileforreg_2eproto::protobuf_AssignDescriptorsOnce();
  return protobuf_bindopmobileforreg_2eproto::file_level_metadata[kIndexInFileMessages].descriptor;
}

const BindResponse& BindResponse::default_instance() {
  protobuf_bindopmobileforreg_2eproto::InitDefaults();
  return *internal_default_instance();
}

BindResponse* BindResponse::New(::google::protobuf::Arena* arena) const {
  BindResponse* n = new BindResponse;
  if (arena != NULL) {
    arena->Own(n);
  }
  return n;
}

void BindResponse::Clear() {
// @@protoc_insertion_point(message_clear_start:com.tencent.mars.microchat.proto.BindResponse)
  if (_has_bits_[0 / 32] & 3u) {
    if (has_wxid()) {
      GOOGLE_DCHECK(!wxid_.IsDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited()));
      (*wxid_.UnsafeRawStringPointer())->clear();
    }
    if (has_tag1()) {
      GOOGLE_DCHECK(tag1_ != NULL);
      tag1_->::com::tencent::mars::microchat::proto::BindResponse__Result::Clear();
    }
  }
  _has_bits_.Clear();
  _internal_metadata_.Clear();
}

bool BindResponse::MergePartialFromCodedStream(
    ::google::protobuf::io::CodedInputStream* input) {
#define DO_(EXPRESSION) if (!GOOGLE_PREDICT_TRUE(EXPRESSION)) goto failure
  ::google::protobuf::uint32 tag;
  // @@protoc_insertion_point(parse_start:com.tencent.mars.microchat.proto.BindResponse)
  for (;;) {
    ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoffNoLastTag(127u);
    tag = p.first;
    if (!p.second) goto handle_unusual;
    switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
      // optional .com.tencent.mars.microchat.proto.BindResponse._Result tag1 = 1;
      case 1: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(10u)) {
          DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
               input, mutable_tag1()));
        } else {
          goto handle_unusual;
        }
        break;
      }

      // optional string wxid = 6;
      case 6: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(50u)) {
          DO_(::google::protobuf::internal::WireFormatLite::ReadString(
                input, this->mutable_wxid()));
          ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
            this->wxid().data(), this->wxid().length(),
            ::google::protobuf::internal::WireFormat::PARSE,
            "com.tencent.mars.microchat.proto.BindResponse.wxid");
        } else {
          goto handle_unusual;
        }
        break;
      }

      default: {
      handle_unusual:
        if (tag == 0 ||
            ::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
            ::google::protobuf::internal::WireFormatLite::WIRETYPE_END_GROUP) {
          goto success;
        }
        DO_(::google::protobuf::internal::WireFormat::SkipField(
              input, tag, mutable_unknown_fields()));
        break;
      }
    }
  }
success:
  // @@protoc_insertion_point(parse_success:com.tencent.mars.microchat.proto.BindResponse)
  return true;
failure:
  // @@protoc_insertion_point(parse_failure:com.tencent.mars.microchat.proto.BindResponse)
  return false;
#undef DO_
}

void BindResponse::SerializeWithCachedSizes(
    ::google::protobuf::io::CodedOutputStream* output) const {
  // @@protoc_insertion_point(serialize_start:com.tencent.mars.microchat.proto.BindResponse)
  ::google::protobuf::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  cached_has_bits = _has_bits_[0];
  // optional .com.tencent.mars.microchat.proto.BindResponse._Result tag1 = 1;
  if (cached_has_bits & 0x00000002u) {
    ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
      1, *this->tag1_, output);
  }

  // optional string wxid = 6;
  if (cached_has_bits & 0x00000001u) {
    ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
      this->wxid().data(), this->wxid().length(),
      ::google::protobuf::internal::WireFormat::SERIALIZE,
      "com.tencent.mars.microchat.proto.BindResponse.wxid");
    ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased(
      6, this->wxid(), output);
  }

  if (_internal_metadata_.have_unknown_fields()) {
    ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
        unknown_fields(), output);
  }
  // @@protoc_insertion_point(serialize_end:com.tencent.mars.microchat.proto.BindResponse)
}

::google::protobuf::uint8* BindResponse::InternalSerializeWithCachedSizesToArray(
    bool deterministic, ::google::protobuf::uint8* target) const {
  // @@protoc_insertion_point(serialize_to_array_start:com.tencent.mars.microchat.proto.BindResponse)
  ::google::protobuf::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  cached_has_bits = _has_bits_[0];
  // optional .com.tencent.mars.microchat.proto.BindResponse._Result tag1 = 1;
  if (cached_has_bits & 0x00000002u) {
    target = ::google::protobuf::internal::WireFormatLite::
      InternalWriteMessageNoVirtualToArray(
        1, *this->tag1_, deterministic, target);
  }

  // optional string wxid = 6;
  if (cached_has_bits & 0x00000001u) {
    ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
      this->wxid().data(), this->wxid().length(),
      ::google::protobuf::internal::WireFormat::SERIALIZE,
      "com.tencent.mars.microchat.proto.BindResponse.wxid");
    target =
      ::google::protobuf::internal::WireFormatLite::WriteStringToArray(
        6, this->wxid(), target);
  }

  if (_internal_metadata_.have_unknown_fields()) {
    target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
        unknown_fields(), target);
  }
  // @@protoc_insertion_point(serialize_to_array_end:com.tencent.mars.microchat.proto.BindResponse)
  return target;
}

size_t BindResponse::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:com.tencent.mars.microchat.proto.BindResponse)
  size_t total_size = 0;

  if (_internal_metadata_.have_unknown_fields()) {
    total_size +=
      ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize(
        unknown_fields());
  }
  if (_has_bits_[0 / 32] & 3u) {
    // optional string wxid = 6;
    if (has_wxid()) {
      total_size += 1 +
        ::google::protobuf::internal::WireFormatLite::StringSize(
          this->wxid());
    }

    // optional .com.tencent.mars.microchat.proto.BindResponse._Result tag1 = 1;
    if (has_tag1()) {
      total_size += 1 +
        ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
          *this->tag1_);
    }

  }
  int cached_size = ::google::protobuf::internal::ToCachedSize(total_size);
  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
  _cached_size_ = cached_size;
  GOOGLE_SAFE_CONCURRENT_WRITES_END();
  return total_size;
}

void BindResponse::MergeFrom(const ::google::protobuf::Message& from) {
// @@protoc_insertion_point(generalized_merge_from_start:com.tencent.mars.microchat.proto.BindResponse)
  GOOGLE_DCHECK_NE(&from, this);
  const BindResponse* source =
      ::google::protobuf::internal::DynamicCastToGenerated<const BindResponse>(
          &from);
  if (source == NULL) {
  // @@protoc_insertion_point(generalized_merge_from_cast_fail:com.tencent.mars.microchat.proto.BindResponse)
    ::google::protobuf::internal::ReflectionOps::Merge(from, this);
  } else {
  // @@protoc_insertion_point(generalized_merge_from_cast_success:com.tencent.mars.microchat.proto.BindResponse)
    MergeFrom(*source);
  }
}

void BindResponse::MergeFrom(const BindResponse& from) {
// @@protoc_insertion_point(class_specific_merge_from_start:com.tencent.mars.microchat.proto.BindResponse)
  GOOGLE_DCHECK_NE(&from, this);
  _internal_metadata_.MergeFrom(from._internal_metadata_);
  ::google::protobuf::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  cached_has_bits = from._has_bits_[0];
  if (cached_has_bits & 3u) {
    if (cached_has_bits & 0x00000001u) {
      set_has_wxid();
      wxid_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.wxid_);
    }
    if (cached_has_bits & 0x00000002u) {
      mutable_tag1()->::com::tencent::mars::microchat::proto::BindResponse__Result::MergeFrom(from.tag1());
    }
  }
}

void BindResponse::CopyFrom(const ::google::protobuf::Message& from) {
// @@protoc_insertion_point(generalized_copy_from_start:com.tencent.mars.microchat.proto.BindResponse)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

void BindResponse::CopyFrom(const BindResponse& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:com.tencent.mars.microchat.proto.BindResponse)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

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

void BindResponse::Swap(BindResponse* other) {
  if (other == this) return;
  InternalSwap(other);
}
void BindResponse::InternalSwap(BindResponse* other) {
  wxid_.Swap(&other->wxid_);
  std::swap(tag1_, other->tag1_);
  std::swap(_has_bits_[0], other->_has_bits_[0]);
  _internal_metadata_.Swap(&other->_internal_metadata_);
  std::swap(_cached_size_, other->_cached_size_);
}

::google::protobuf::Metadata BindResponse::GetMetadata() const {
  protobuf_bindopmobileforreg_2eproto::protobuf_AssignDescriptorsOnce();
  return protobuf_bindopmobileforreg_2eproto::file_level_metadata[kIndexInFileMessages];
}

#if PROTOBUF_INLINE_NOT_IN_HEADERS
// BindResponse

// optional .com.tencent.mars.microchat.proto.BindResponse._Result tag1 = 1;
bool BindResponse::has_tag1() const {
  return (_has_bits_[0] & 0x00000002u) != 0;
}
void BindResponse::set_has_tag1() {
  _has_bits_[0] |= 0x00000002u;
}
void BindResponse::clear_has_tag1() {
  _has_bits_[0] &= ~0x00000002u;
}
void BindResponse::clear_tag1() {
  if (tag1_ != NULL) tag1_->::com::tencent::mars::microchat::proto::BindResponse__Result::Clear();
  clear_has_tag1();
}
const ::com::tencent::mars::microchat::proto::BindResponse__Result& BindResponse::tag1() const {
  // @@protoc_insertion_point(field_get:com.tencent.mars.microchat.proto.BindResponse.tag1)
  return tag1_ != NULL ? *tag1_
                         : *::com::tencent::mars::microchat::proto::BindResponse__Result::internal_default_instance();
}
::com::tencent::mars::microchat::proto::BindResponse__Result* BindResponse::mutable_tag1() {
  set_has_tag1();
  if (tag1_ == NULL) {
    tag1_ = new ::com::tencent::mars::microchat::proto::BindResponse__Result;
  }
  // @@protoc_insertion_point(field_mutable:com.tencent.mars.microchat.proto.BindResponse.tag1)
  return tag1_;
}
::com::tencent::mars::microchat::proto::BindResponse__Result* BindResponse::release_tag1() {
  // @@protoc_insertion_point(field_release:com.tencent.mars.microchat.proto.BindResponse.tag1)
  clear_has_tag1();
  ::com::tencent::mars::microchat::proto::BindResponse__Result* temp = tag1_;
  tag1_ = NULL;
  return temp;
}
void BindResponse::set_allocated_tag1(::com::tencent::mars::microchat::proto::BindResponse__Result* tag1) {
  delete tag1_;
  tag1_ = tag1;
  if (tag1) {
    set_has_tag1();
  } else {
    clear_has_tag1();
  }
  // @@protoc_insertion_point(field_set_allocated:com.tencent.mars.microchat.proto.BindResponse.tag1)
}

// optional string wxid = 6;
bool BindResponse::has_wxid() const {
  return (_has_bits_[0] & 0x00000001u) != 0;
}
void BindResponse::set_has_wxid() {
  _has_bits_[0] |= 0x00000001u;
}
void BindResponse::clear_has_wxid() {
  _has_bits_[0] &= ~0x00000001u;
}
void BindResponse::clear_wxid() {
  wxid_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  clear_has_wxid();
}
const ::std::string& BindResponse::wxid() const {
  // @@protoc_insertion_point(field_get:com.tencent.mars.microchat.proto.BindResponse.wxid)
  return wxid_.GetNoArena();
}
void BindResponse::set_wxid(const ::std::string& value) {
  set_has_wxid();
  wxid_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
  // @@protoc_insertion_point(field_set:com.tencent.mars.microchat.proto.BindResponse.wxid)
}
#if LANG_CXX11
void BindResponse::set_wxid(::std::string&& value) {
  set_has_wxid();
  wxid_.SetNoArena(
    &::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::move(value));
  // @@protoc_insertion_point(field_set_rvalue:com.tencent.mars.microchat.proto.BindResponse.wxid)
}
#endif
void BindResponse::set_wxid(const char* value) {
  GOOGLE_DCHECK(value != NULL);
  set_has_wxid();
  wxid_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
  // @@protoc_insertion_point(field_set_char:com.tencent.mars.microchat.proto.BindResponse.wxid)
}
void BindResponse::set_wxid(const char* value, size_t size) {
  set_has_wxid();
  wxid_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
      ::std::string(reinterpret_cast<const char*>(value), size));
  // @@protoc_insertion_point(field_set_pointer:com.tencent.mars.microchat.proto.BindResponse.wxid)
}
::std::string* BindResponse::mutable_wxid() {
  set_has_wxid();
  // @@protoc_insertion_point(field_mutable:com.tencent.mars.microchat.proto.BindResponse.wxid)
  return wxid_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
::std::string* BindResponse::release_wxid() {
  // @@protoc_insertion_point(field_release:com.tencent.mars.microchat.proto.BindResponse.wxid)
  clear_has_wxid();
  return wxid_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
void BindResponse::set_allocated_wxid(::std::string* wxid) {
  if (wxid != NULL) {
    set_has_wxid();
  } else {
    clear_has_wxid();
  }
  wxid_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), wxid);
  // @@protoc_insertion_point(field_set_allocated:com.tencent.mars.microchat.proto.BindResponse.wxid)
}

#endif  // PROTOBUF_INLINE_NOT_IN_HEADERS

// @@protoc_insertion_point(namespace_scope)

}  // namespace proto
}  // namespace microchat
}  // namespace mars
}  // namespace tencent
}  // namespace com

// @@protoc_insertion_point(global_scope)
