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

#include "message_base.pb.h"

#include <algorithm>

#include <google/protobuf/io/coded_stream.h>
#include <google/protobuf/extension_set.h>
#include <google/protobuf/wire_format_lite.h>
#include <google/protobuf/descriptor.h>
#include <google/protobuf/generated_message_reflection.h>
#include <google/protobuf/reflection_ops.h>
#include <google/protobuf/wire_format.h>
// @@protoc_insertion_point(includes)
#include <google/protobuf/port_def.inc>
extern PROTOBUF_INTERNAL_EXPORT_message_5fbase_2eproto ::PROTOBUF_NAMESPACE_ID::internal::SCCInfo<0> scc_info_Base_info_message_5fbase_2eproto;
extern PROTOBUF_INTERNAL_EXPORT_message_5fbase_2eproto ::PROTOBUF_NAMESPACE_ID::internal::SCCInfo<0> scc_info_Car_info_message_5fbase_2eproto;
namespace message {
class Base_infoDefaultTypeInternal {
 public:
  ::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed<Base_info> _instance;
} _Base_info_default_instance_;
class Base_msgDefaultTypeInternal {
 public:
  ::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed<Base_msg> _instance;
} _Base_msg_default_instance_;
class Error_managerDefaultTypeInternal {
 public:
  ::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed<Error_manager> _instance;
} _Error_manager_default_instance_;
class Locate_informationDefaultTypeInternal {
 public:
  ::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed<Locate_information> _instance;
} _Locate_information_default_instance_;
class Car_infoDefaultTypeInternal {
 public:
  ::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed<Car_info> _instance;
} _Car_info_default_instance_;
class Parkspace_infoDefaultTypeInternal {
 public:
  ::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed<Parkspace_info> _instance;
} _Parkspace_info_default_instance_;
class Id_structDefaultTypeInternal {
 public:
  ::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed<Id_struct> _instance;
} _Id_struct_default_instance_;
}  // namespace message
static void InitDefaultsscc_info_Base_info_message_5fbase_2eproto() {
  GOOGLE_PROTOBUF_VERIFY_VERSION;

  {
    void* ptr = &::message::_Base_info_default_instance_;
    new (ptr) ::message::Base_info();
    ::PROTOBUF_NAMESPACE_ID::internal::OnShutdownDestroyMessage(ptr);
  }
  ::message::Base_info::InitAsDefaultInstance();
}

::PROTOBUF_NAMESPACE_ID::internal::SCCInfo<0> scc_info_Base_info_message_5fbase_2eproto =
    {{ATOMIC_VAR_INIT(::PROTOBUF_NAMESPACE_ID::internal::SCCInfoBase::kUninitialized), 0, 0, InitDefaultsscc_info_Base_info_message_5fbase_2eproto}, {}};

static void InitDefaultsscc_info_Base_msg_message_5fbase_2eproto() {
  GOOGLE_PROTOBUF_VERIFY_VERSION;

  {
    void* ptr = &::message::_Base_msg_default_instance_;
    new (ptr) ::message::Base_msg();
    ::PROTOBUF_NAMESPACE_ID::internal::OnShutdownDestroyMessage(ptr);
  }
  ::message::Base_msg::InitAsDefaultInstance();
}

::PROTOBUF_NAMESPACE_ID::internal::SCCInfo<1> scc_info_Base_msg_message_5fbase_2eproto =
    {{ATOMIC_VAR_INIT(::PROTOBUF_NAMESPACE_ID::internal::SCCInfoBase::kUninitialized), 1, 0, InitDefaultsscc_info_Base_msg_message_5fbase_2eproto}, {
      &scc_info_Base_info_message_5fbase_2eproto.base,}};

static void InitDefaultsscc_info_Car_info_message_5fbase_2eproto() {
  GOOGLE_PROTOBUF_VERIFY_VERSION;

  {
    void* ptr = &::message::_Car_info_default_instance_;
    new (ptr) ::message::Car_info();
    ::PROTOBUF_NAMESPACE_ID::internal::OnShutdownDestroyMessage(ptr);
  }
  ::message::Car_info::InitAsDefaultInstance();
}

::PROTOBUF_NAMESPACE_ID::internal::SCCInfo<0> scc_info_Car_info_message_5fbase_2eproto =
    {{ATOMIC_VAR_INIT(::PROTOBUF_NAMESPACE_ID::internal::SCCInfoBase::kUninitialized), 0, 0, InitDefaultsscc_info_Car_info_message_5fbase_2eproto}, {}};

static void InitDefaultsscc_info_Error_manager_message_5fbase_2eproto() {
  GOOGLE_PROTOBUF_VERIFY_VERSION;

  {
    void* ptr = &::message::_Error_manager_default_instance_;
    new (ptr) ::message::Error_manager();
    ::PROTOBUF_NAMESPACE_ID::internal::OnShutdownDestroyMessage(ptr);
  }
  ::message::Error_manager::InitAsDefaultInstance();
}

::PROTOBUF_NAMESPACE_ID::internal::SCCInfo<0> scc_info_Error_manager_message_5fbase_2eproto =
    {{ATOMIC_VAR_INIT(::PROTOBUF_NAMESPACE_ID::internal::SCCInfoBase::kUninitialized), 0, 0, InitDefaultsscc_info_Error_manager_message_5fbase_2eproto}, {}};

static void InitDefaultsscc_info_Id_struct_message_5fbase_2eproto() {
  GOOGLE_PROTOBUF_VERIFY_VERSION;

  {
    void* ptr = &::message::_Id_struct_default_instance_;
    new (ptr) ::message::Id_struct();
    ::PROTOBUF_NAMESPACE_ID::internal::OnShutdownDestroyMessage(ptr);
  }
  ::message::Id_struct::InitAsDefaultInstance();
}

::PROTOBUF_NAMESPACE_ID::internal::SCCInfo<0> scc_info_Id_struct_message_5fbase_2eproto =
    {{ATOMIC_VAR_INIT(::PROTOBUF_NAMESPACE_ID::internal::SCCInfoBase::kUninitialized), 0, 0, InitDefaultsscc_info_Id_struct_message_5fbase_2eproto}, {}};

static void InitDefaultsscc_info_Locate_information_message_5fbase_2eproto() {
  GOOGLE_PROTOBUF_VERIFY_VERSION;

  {
    void* ptr = &::message::_Locate_information_default_instance_;
    new (ptr) ::message::Locate_information();
    ::PROTOBUF_NAMESPACE_ID::internal::OnShutdownDestroyMessage(ptr);
  }
  ::message::Locate_information::InitAsDefaultInstance();
}

::PROTOBUF_NAMESPACE_ID::internal::SCCInfo<0> scc_info_Locate_information_message_5fbase_2eproto =
    {{ATOMIC_VAR_INIT(::PROTOBUF_NAMESPACE_ID::internal::SCCInfoBase::kUninitialized), 0, 0, InitDefaultsscc_info_Locate_information_message_5fbase_2eproto}, {}};

static void InitDefaultsscc_info_Parkspace_info_message_5fbase_2eproto() {
  GOOGLE_PROTOBUF_VERIFY_VERSION;

  {
    void* ptr = &::message::_Parkspace_info_default_instance_;
    new (ptr) ::message::Parkspace_info();
    ::PROTOBUF_NAMESPACE_ID::internal::OnShutdownDestroyMessage(ptr);
  }
  ::message::Parkspace_info::InitAsDefaultInstance();
}

::PROTOBUF_NAMESPACE_ID::internal::SCCInfo<1> scc_info_Parkspace_info_message_5fbase_2eproto =
    {{ATOMIC_VAR_INIT(::PROTOBUF_NAMESPACE_ID::internal::SCCInfoBase::kUninitialized), 1, 0, InitDefaultsscc_info_Parkspace_info_message_5fbase_2eproto}, {
      &scc_info_Car_info_message_5fbase_2eproto.base,}};

static ::PROTOBUF_NAMESPACE_ID::Metadata file_level_metadata_message_5fbase_2eproto[7];
static const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* file_level_enum_descriptors_message_5fbase_2eproto[12];
static constexpr ::PROTOBUF_NAMESPACE_ID::ServiceDescriptor const** file_level_service_descriptors_message_5fbase_2eproto = nullptr;

const ::PROTOBUF_NAMESPACE_ID::uint32 TableStruct_message_5fbase_2eproto::offsets[] PROTOBUF_SECTION_VARIABLE(protodesc_cold) = {
  PROTOBUF_FIELD_OFFSET(::message::Base_info, _has_bits_),
  PROTOBUF_FIELD_OFFSET(::message::Base_info, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  PROTOBUF_FIELD_OFFSET(::message::Base_info, msg_type_),
  PROTOBUF_FIELD_OFFSET(::message::Base_info, timeout_ms_),
  PROTOBUF_FIELD_OFFSET(::message::Base_info, sender_),
  PROTOBUF_FIELD_OFFSET(::message::Base_info, receiver_),
  0,
  1,
  2,
  3,
  PROTOBUF_FIELD_OFFSET(::message::Base_msg, _has_bits_),
  PROTOBUF_FIELD_OFFSET(::message::Base_msg, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  PROTOBUF_FIELD_OFFSET(::message::Base_msg, base_info_),
  0,
  PROTOBUF_FIELD_OFFSET(::message::Error_manager, _has_bits_),
  PROTOBUF_FIELD_OFFSET(::message::Error_manager, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  PROTOBUF_FIELD_OFFSET(::message::Error_manager, error_code_),
  PROTOBUF_FIELD_OFFSET(::message::Error_manager, error_level_),
  PROTOBUF_FIELD_OFFSET(::message::Error_manager, error_description_),
  1,
  2,
  0,
  PROTOBUF_FIELD_OFFSET(::message::Locate_information, _has_bits_),
  PROTOBUF_FIELD_OFFSET(::message::Locate_information, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  PROTOBUF_FIELD_OFFSET(::message::Locate_information, locate_x_),
  PROTOBUF_FIELD_OFFSET(::message::Locate_information, locate_y_),
  PROTOBUF_FIELD_OFFSET(::message::Locate_information, locate_angle_),
  PROTOBUF_FIELD_OFFSET(::message::Locate_information, locate_length_),
  PROTOBUF_FIELD_OFFSET(::message::Locate_information, locate_width_),
  PROTOBUF_FIELD_OFFSET(::message::Locate_information, locate_height_),
  PROTOBUF_FIELD_OFFSET(::message::Locate_information, locate_wheel_base_),
  PROTOBUF_FIELD_OFFSET(::message::Locate_information, locate_wheel_width_),
  PROTOBUF_FIELD_OFFSET(::message::Locate_information, locate_correct_),
  PROTOBUF_FIELD_OFFSET(::message::Locate_information, locate_front_theta_),
  PROTOBUF_FIELD_OFFSET(::message::Locate_information, uniformed_car_x_),
  PROTOBUF_FIELD_OFFSET(::message::Locate_information, uniformed_car_y_),
  0,
  1,
  2,
  3,
  4,
  5,
  6,
  7,
  8,
  9,
  10,
  11,
  PROTOBUF_FIELD_OFFSET(::message::Car_info, _has_bits_),
  PROTOBUF_FIELD_OFFSET(::message::Car_info, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  PROTOBUF_FIELD_OFFSET(::message::Car_info, car_length_),
  PROTOBUF_FIELD_OFFSET(::message::Car_info, car_width_),
  PROTOBUF_FIELD_OFFSET(::message::Car_info, car_height_),
  PROTOBUF_FIELD_OFFSET(::message::Car_info, license_),
  PROTOBUF_FIELD_OFFSET(::message::Car_info, car_numberplate_),
  PROTOBUF_FIELD_OFFSET(::message::Car_info, car_wheel_base_),
  PROTOBUF_FIELD_OFFSET(::message::Car_info, car_wheel_width_),
  2,
  3,
  4,
  0,
  1,
  5,
  6,
  PROTOBUF_FIELD_OFFSET(::message::Parkspace_info, _has_bits_),
  PROTOBUF_FIELD_OFFSET(::message::Parkspace_info, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  PROTOBUF_FIELD_OFFSET(::message::Parkspace_info, parkingspace_index_id_),
  PROTOBUF_FIELD_OFFSET(::message::Parkspace_info, parkingspace_type_),
  PROTOBUF_FIELD_OFFSET(::message::Parkspace_info, parkingspace_unit_id_),
  PROTOBUF_FIELD_OFFSET(::message::Parkspace_info, parkingspace_label_id_),
  PROTOBUF_FIELD_OFFSET(::message::Parkspace_info, parkingspace_room_id_),
  PROTOBUF_FIELD_OFFSET(::message::Parkspace_info, parkingspace_direction_),
  PROTOBUF_FIELD_OFFSET(::message::Parkspace_info, parkingspace_floor_id_),
  PROTOBUF_FIELD_OFFSET(::message::Parkspace_info, parkingspace_width_),
  PROTOBUF_FIELD_OFFSET(::message::Parkspace_info, parkingspace_height_),
  PROTOBUF_FIELD_OFFSET(::message::Parkspace_info, parkingspace_status_),
  PROTOBUF_FIELD_OFFSET(::message::Parkspace_info, car_info_),
  PROTOBUF_FIELD_OFFSET(::message::Parkspace_info, entry_time_),
  PROTOBUF_FIELD_OFFSET(::message::Parkspace_info, leave_time_),
  PROTOBUF_FIELD_OFFSET(::message::Parkspace_info, parkspace_path_),
  PROTOBUF_FIELD_OFFSET(::message::Parkspace_info, path_estimate_time_),
  PROTOBUF_FIELD_OFFSET(::message::Parkspace_info, parkspace_status_target_),
  PROTOBUF_FIELD_OFFSET(::message::Parkspace_info, car_type_),
  3,
  4,
  5,
  6,
  7,
  8,
  9,
  10,
  11,
  12,
  2,
  0,
  1,
  13,
  14,
  15,
  16,
  PROTOBUF_FIELD_OFFSET(::message::Id_struct, _has_bits_),
  PROTOBUF_FIELD_OFFSET(::message::Id_struct, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  PROTOBUF_FIELD_OFFSET(::message::Id_struct, terminal_id_),
  PROTOBUF_FIELD_OFFSET(::message::Id_struct, unit_id_),
  0,
  1,
};
static const ::PROTOBUF_NAMESPACE_ID::internal::MigrationSchema schemas[] PROTOBUF_SECTION_VARIABLE(protodesc_cold) = {
  { 0, 9, sizeof(::message::Base_info)},
  { 13, 19, sizeof(::message::Base_msg)},
  { 20, 28, sizeof(::message::Error_manager)},
  { 31, 48, sizeof(::message::Locate_information)},
  { 60, 72, sizeof(::message::Car_info)},
  { 79, 101, sizeof(::message::Parkspace_info)},
  { 118, 125, sizeof(::message::Id_struct)},
};

static ::PROTOBUF_NAMESPACE_ID::Message const * const file_default_instances[] = {
  reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::message::_Base_info_default_instance_),
  reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::message::_Base_msg_default_instance_),
  reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::message::_Error_manager_default_instance_),
  reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::message::_Locate_information_default_instance_),
  reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::message::_Car_info_default_instance_),
  reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::message::_Parkspace_info_default_instance_),
  reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::message::_Id_struct_default_instance_),
};

const char descriptor_table_protodef_message_5fbase_2eproto[] PROTOBUF_SECTION_VARIABLE(protodesc_cold) =
  "\n\022message_base.proto\022\007message\"\266\001\n\tBase_i"
  "nfo\0222\n\010msg_type\030\001 \002(\0162\025.message.Message_"
  "type:\teBase_msg\022\025\n\ntimeout_ms\030\002 \001(\005:\0010\022-"
  "\n\006sender\030\003 \002(\0162\025.message.Communicator:\006e"
  "Empty\022/\n\010receiver\030\004 \002(\0162\025.message.Commun"
  "icator:\006eEmpty\"1\n\010Base_msg\022%\n\tbase_info\030"
  "\001 \002(\0132\022.message.Base_info\"v\n\rError_manag"
  "er\022\025\n\nerror_code\030\001 \002(\005:\0010\0221\n\013error_level"
  "\030\002 \001(\0162\024.message.Error_level:\006NORMAL\022\033\n\021"
  "error_description\030\003 \001(\t:\000\"\321\002\n\022Locate_inf"
  "ormation\022\023\n\010locate_x\030\001 \001(\002:\0010\022\023\n\010locate_"
  "y\030\002 \001(\002:\0010\022\027\n\014locate_angle\030\003 \001(\002:\0010\022\030\n\rl"
  "ocate_length\030\004 \001(\002:\0010\022\027\n\014locate_width\030\005 "
  "\001(\002:\0010\022\030\n\rlocate_height\030\006 \001(\002:\0010\022\034\n\021loca"
  "te_wheel_base\030\007 \001(\002:\0010\022\035\n\022locate_wheel_w"
  "idth\030\010 \001(\002:\0010\022\035\n\016locate_correct\030\t \001(\010:\005f"
  "alse\022\035\n\022locate_front_theta\030\n \001(\002:\0010\022\027\n\017u"
  "niformed_car_x\030\013 \001(\002\022\027\n\017uniformed_car_y\030"
  "\014 \001(\002\"\263\001\n\010Car_info\022\025\n\ncar_length\030\001 \001(\002:\001"
  "0\022\024\n\tcar_width\030\002 \001(\002:\0010\022\025\n\ncar_height\030\003 "
  "\001(\002:\0010\022\021\n\007license\030\004 \001(\t:\000\022\031\n\017car_numberP"
  "late\030\005 \001(\t:\000\022\031\n\016car_wheel_base\030\006 \001(\002:\0010\022"
  "\032\n\017car_wheel_width\030\007 \001(\002:\0010\"\375\004\n\016Parkspac"
  "e_info\022\035\n\025parkingspace_index_id\030\001 \001(\005\0222\n"
  "\021parkingspace_type\030\002 \001(\0162\027.message.Parks"
  "pace_type\022\034\n\024parkingspace_unit_id\030\003 \001(\005\022"
  "\035\n\025parkingspace_label_id\030\004 \001(\005\022\034\n\024parkin"
  "gspace_room_id\030\005 \001(\005\0222\n\026parkingspace_dir"
  "ection\030\006 \001(\0162\022.message.Direction\022\035\n\025park"
  "ingspace_floor_id\030\007 \001(\005\022\032\n\022parkingspace_"
  "width\030\010 \001(\002\022\033\n\023parkingspace_height\030\t \001(\002"
  "\0226\n\023parkingspace_status\030\n \001(\0162\031.message."
  "Parkspace_status\022#\n\010car_info\030\013 \001(\0132\021.mes"
  "sage.Car_info\022\022\n\nentry_time\030\014 \001(\t\022\022\n\nlea"
  "ve_time\030\r \001(\t\022/\n\016parkspace_path\030\016 \001(\0162\027."
  "message.Parkspace_path\022\032\n\022path_estimate_"
  "time\030\017 \001(\002\022:\n\027parkspace_status_target\030\020 "
  "\001(\0162\031.message.Parkspace_status\022#\n\010car_ty"
  "pe\030\021 \001(\0162\021.message.Car_type\"1\n\tId_struct"
  "\022\023\n\013terminal_id\030\001 \001(\005\022\017\n\007unit_id\030\002 \001(\005*\307"
  "\014\n\014Message_type\022\r\n\teBase_msg\020\000\022\020\n\014eComma"
  "nd_msg\020\001\022\026\n\022eLocate_status_msg\020\021\022\027\n\023eLoc"
  "ate_request_msg\020\022\022\030\n\024eLocate_response_ms"
  "g\020\023\022\034\n\030eLocate_sift_request_msg\020\024\022\035\n\031eLo"
  "cate_sift_response_msg\020\025\022\030\n\024eDispatch_st"
  "atus_msg\020!\022\031\n\025eDispatch_request_msg\020\"\022\032\n"
  "\026eDispatch_response_msg\020#\022$\n eParkspace_"
  "allocation_status_msg\0201\022%\n!eParkspace_al"
  "location_request_msg\0202\022&\n\"eParkspace_all"
  "ocation_response_msg\0203\022!\n\035eParkspace_sea"
  "rch_request_msg\0204\022\"\n\036eParkspace_search_r"
  "esponse_msg\0205\022\"\n\036eParkspace_release_requ"
  "est_msg\0206\022#\n\037eParkspace_release_response"
  "_msg\0207\022\'\n#eParkspace_force_update_reques"
  "t_msg\0208\022(\n$eParkspace_force_update_respo"
  "nse_msg\0209\022(\n$eParkspace_confirm_alloc_re"
  "quest_msg\020:\022)\n%eParkspace_confirm_alloc_"
  "response_msg\020;\022\"\n\036eParkspace_allocation_"
  "data_msg\020<\022+\n\'eParkspace_allocation_data"
  "_response_msg\020=\022(\n$eParkspace_manual_sea"
  "rch_request_msg\020>\022)\n%eParkspace_manual_s"
  "earch_response_msg\020\?\022\036\n\032eStore_command_r"
  "equest_msg\020A\022\037\n\033eStore_command_response_"
  "msg\020B\022\037\n\033ePickup_command_request_msg\020C\022 "
  "\n\034ePickup_command_response_msg\020D\022\030\n\024eTer"
  "minal_status_msg\020P\022\037\n\032eStoring_process_s"
  "tatu_msg\020\220\001\022\037\n\032ePicking_process_statu_ms"
  "g\020\221\001\022\"\n\035eCentral_controller_statu_msg\020\240\001"
  "\022#\n\036eEntrance_manual_operation_msg\020\260\001\022\"\n"
  "\035eProcess_manual_operation_msg\020\261\001\022\030\n\023eNo"
  "tify_request_msg\020\300\001\022\031\n\024eNotify_response_"
  "msg\020\301\001\022\027\n\022eNotify_status_msg\020\302\001\022#\n\036eUnNo"
  "rmalized_module_statu_msg\020\320\001\022\037\n\032eDispatc"
  "h_plan_request_msg\020\340\001\022 \n\033eDispatch_plan_"
  "response_msg\020\341\001\022\"\n\035eDispatch_control_req"
  "uest_msg\020\342\001\022#\n\036eDispatch_control_respons"
  "e_msg\020\343\001\022!\n\034eDispatch_manager_status_msg"
  "\020\352\001\022\037\n\032eDispatch_manager_data_msg\020\353\001\022\037\n\032"
  "eGround_detect_request_msg\020\360\001\022 \n\033eGround"
  "_detect_response_msg\020\361\001\022\027\n\022eGround_statu"
  "s_msg\020\362\001*\307\001\n\014Communicator\022\n\n\006eEmpty\020\000\022\t\n"
  "\005eMain\020\001\022\016\n\teTerminor\020\200\002\022\017\n\neParkspace\020\200"
  "\004\022\016\n\teMeasurer\020\200\006\022\032\n\025eMeasurer_sift_serv"
  "er\020\201\006\022\026\n\021eDispatch_manager\020\200\010\022\026\n\021eDispat"
  "ch_control\020\201\010\022\014\n\007eNotify\020\201\n\022\025\n\020eGround_m"
  "easurer\020\200\036**\n\014Process_type\022\014\n\010eStoring\020\001"
  "\022\014\n\010ePicking\020\002*e\n\013Error_level\022\n\n\006NORMAL\020"
  "\000\022\024\n\020NEGLIGIBLE_ERROR\020\001\022\017\n\013MINOR_ERROR\020\002"
  "\022\017\n\013MAJOR_ERROR\020\003\022\022\n\016CRITICAL_ERROR\020\004*\245\001"
  "\n\020Parkspace_status\022\034\n\030eParkspace_status_"
  "unknow\020\000\022\024\n\020eParkspace_empty\020\001\022\027\n\023eParks"
  "pace_occupied\020\002\022\027\n\023eParkspace_reserved\020\003"
  "\022\025\n\021eParkspace_locked\020\004\022\024\n\020eParkspace_er"
  "ror\020\005*\?\n\tDirection\022\025\n\021eDirection_unknow\020"
  "\000\022\014\n\010eForward\020\001\022\r\n\teBackward\020\002*l\n\016Parksp"
  "ace_path\022\017\n\013UNKNOW_PATH\020\000\022\020\n\014OPTIMAL_PAT"
  "H\020\001\022\r\n\tLEFT_PATH\020\002\022\016\n\nRIGHT_PATH\020\003\022\030\n\024TE"
  "MPORARY_CACHE_PATH\020\004*m\n\016Parkspace_type\022\031"
  "\n\025UNKNOW_PARKSPACE_TYPE\020\000\022\024\n\020MIN_PARKING"
  "SPACE\020\001\022\024\n\020MID_PARKINGSPACE\020\002\022\024\n\020BIG_PAR"
  "KINGSPACE\020\003*F\n\010Car_type\022\023\n\017UNKNOW_CAR_TY"
  "PE\020\000\022\013\n\007MIN_CAR\020\001\022\013\n\007MID_CAR\020\002\022\013\n\007BIG_CA"
  "R\020\003*\335\002\n\tStep_type\022\017\n\013eAlloc_step\020\000\022\021\n\reM"
  "easure_step\020\001\022\021\n\reCompare_step\020\002\022\022\n\016eDis"
  "patch_step\020\003\022\021\n\reConfirm_step\020\004\022\020\n\014eSear"
  "ch_step\020\005\022\016\n\neWait_step\020\006\022\021\n\reRelease_st"
  "ep\020\007\022\r\n\teComplete\020\010\022\025\n\021eBackConfirm_step"
  "\020\t\022\026\n\022eBack_compare_step\020\n\022\025\n\021eBackMeasu"
  "re_step\020\013\022\023\n\017eBackAlloc_step\020\014\022\022\n\016eBackW"
  "ait_step\020\r\022\026\n\022eBackDispatch_step\020\016\022\024\n\020eB"
  "ackSearch_step\020\017\022\021\n\reBackComplete\020\020*C\n\nS"
  "tep_statu\022\014\n\010eWaiting\020\000\022\014\n\010eWorking\020\001\022\n\n"
  "\006eError\020\002\022\r\n\teFinished\020\003*\370\001\n\024Dispatch_de"
  "vice_type\022\013\n\007ROBOT_1\020e\022\013\n\007ROBOT_2\020f\022\016\n\tC"
  "ARRIER_1\020\310\001\022\016\n\tCARRIER_2\020\317\001\022\016\n\tCARRIER_3"
  "\020\313\001\022\021\n\014PASSAGEWAY_0\020\254\002\022\021\n\014PASSAGEWAY_1\020\255"
  "\002\022\021\n\014PASSAGEWAY_2\020\256\002\022\021\n\014PASSAGEWAY_3\020\257\002\022"
  "\021\n\014PASSAGEWAY_4\020\260\002\022\021\n\014PASSAGEWAY_5\020\261\002\022\021\n"
  "\014PASSAGEWAY_6\020\262\002\022\021\n\014PASSAGEWAY_7\020\263\002"
  ;
static const ::PROTOBUF_NAMESPACE_ID::internal::DescriptorTable*const descriptor_table_message_5fbase_2eproto_deps[1] = {
};
static ::PROTOBUF_NAMESPACE_ID::internal::SCCInfoBase*const descriptor_table_message_5fbase_2eproto_sccs[7] = {
  &scc_info_Base_info_message_5fbase_2eproto.base,
  &scc_info_Base_msg_message_5fbase_2eproto.base,
  &scc_info_Car_info_message_5fbase_2eproto.base,
  &scc_info_Error_manager_message_5fbase_2eproto.base,
  &scc_info_Id_struct_message_5fbase_2eproto.base,
  &scc_info_Locate_information_message_5fbase_2eproto.base,
  &scc_info_Parkspace_info_message_5fbase_2eproto.base,
};
static ::PROTOBUF_NAMESPACE_ID::internal::once_flag descriptor_table_message_5fbase_2eproto_once;
const ::PROTOBUF_NAMESPACE_ID::internal::DescriptorTable descriptor_table_message_5fbase_2eproto = {
  false, false, descriptor_table_protodef_message_5fbase_2eproto, "message_base.proto", 4755,
  &descriptor_table_message_5fbase_2eproto_once, descriptor_table_message_5fbase_2eproto_sccs, descriptor_table_message_5fbase_2eproto_deps, 7, 0,
  schemas, file_default_instances, TableStruct_message_5fbase_2eproto::offsets,
  file_level_metadata_message_5fbase_2eproto, 7, file_level_enum_descriptors_message_5fbase_2eproto, file_level_service_descriptors_message_5fbase_2eproto,
};

// Force running AddDescriptors() at dynamic initialization time.
static bool dynamic_init_dummy_message_5fbase_2eproto = (static_cast<void>(::PROTOBUF_NAMESPACE_ID::internal::AddDescriptors(&descriptor_table_message_5fbase_2eproto)), true);
namespace message {
const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* Message_type_descriptor() {
  ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&descriptor_table_message_5fbase_2eproto);
  return file_level_enum_descriptors_message_5fbase_2eproto[0];
}
bool Message_type_IsValid(int value) {
  switch (value) {
    case 0:
    case 1:
    case 17:
    case 18:
    case 19:
    case 20:
    case 21:
    case 33:
    case 34:
    case 35:
    case 49:
    case 50:
    case 51:
    case 52:
    case 53:
    case 54:
    case 55:
    case 56:
    case 57:
    case 58:
    case 59:
    case 60:
    case 61:
    case 62:
    case 63:
    case 65:
    case 66:
    case 67:
    case 68:
    case 80:
    case 144:
    case 145:
    case 160:
    case 176:
    case 177:
    case 192:
    case 193:
    case 194:
    case 208:
    case 224:
    case 225:
    case 226:
    case 227:
    case 234:
    case 235:
    case 240:
    case 241:
    case 242:
      return true;
    default:
      return false;
  }
}

const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* Communicator_descriptor() {
  ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&descriptor_table_message_5fbase_2eproto);
  return file_level_enum_descriptors_message_5fbase_2eproto[1];
}
bool Communicator_IsValid(int value) {
  switch (value) {
    case 0:
    case 1:
    case 256:
    case 512:
    case 768:
    case 769:
    case 1024:
    case 1025:
    case 1281:
    case 3840:
      return true;
    default:
      return false;
  }
}

const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* Process_type_descriptor() {
  ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&descriptor_table_message_5fbase_2eproto);
  return file_level_enum_descriptors_message_5fbase_2eproto[2];
}
bool Process_type_IsValid(int value) {
  switch (value) {
    case 1:
    case 2:
      return true;
    default:
      return false;
  }
}

const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* Error_level_descriptor() {
  ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&descriptor_table_message_5fbase_2eproto);
  return file_level_enum_descriptors_message_5fbase_2eproto[3];
}
bool Error_level_IsValid(int value) {
  switch (value) {
    case 0:
    case 1:
    case 2:
    case 3:
    case 4:
      return true;
    default:
      return false;
  }
}

const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* Parkspace_status_descriptor() {
  ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&descriptor_table_message_5fbase_2eproto);
  return file_level_enum_descriptors_message_5fbase_2eproto[4];
}
bool Parkspace_status_IsValid(int value) {
  switch (value) {
    case 0:
    case 1:
    case 2:
    case 3:
    case 4:
    case 5:
      return true;
    default:
      return false;
  }
}

const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* Direction_descriptor() {
  ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&descriptor_table_message_5fbase_2eproto);
  return file_level_enum_descriptors_message_5fbase_2eproto[5];
}
bool Direction_IsValid(int value) {
  switch (value) {
    case 0:
    case 1:
    case 2:
      return true;
    default:
      return false;
  }
}

const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* Parkspace_path_descriptor() {
  ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&descriptor_table_message_5fbase_2eproto);
  return file_level_enum_descriptors_message_5fbase_2eproto[6];
}
bool Parkspace_path_IsValid(int value) {
  switch (value) {
    case 0:
    case 1:
    case 2:
    case 3:
    case 4:
      return true;
    default:
      return false;
  }
}

const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* Parkspace_type_descriptor() {
  ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&descriptor_table_message_5fbase_2eproto);
  return file_level_enum_descriptors_message_5fbase_2eproto[7];
}
bool Parkspace_type_IsValid(int value) {
  switch (value) {
    case 0:
    case 1:
    case 2:
    case 3:
      return true;
    default:
      return false;
  }
}

const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* Car_type_descriptor() {
  ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&descriptor_table_message_5fbase_2eproto);
  return file_level_enum_descriptors_message_5fbase_2eproto[8];
}
bool Car_type_IsValid(int value) {
  switch (value) {
    case 0:
    case 1:
    case 2:
    case 3:
      return true;
    default:
      return false;
  }
}

const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* Step_type_descriptor() {
  ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&descriptor_table_message_5fbase_2eproto);
  return file_level_enum_descriptors_message_5fbase_2eproto[9];
}
bool Step_type_IsValid(int value) {
  switch (value) {
    case 0:
    case 1:
    case 2:
    case 3:
    case 4:
    case 5:
    case 6:
    case 7:
    case 8:
    case 9:
    case 10:
    case 11:
    case 12:
    case 13:
    case 14:
    case 15:
    case 16:
      return true;
    default:
      return false;
  }
}

const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* Step_statu_descriptor() {
  ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&descriptor_table_message_5fbase_2eproto);
  return file_level_enum_descriptors_message_5fbase_2eproto[10];
}
bool Step_statu_IsValid(int value) {
  switch (value) {
    case 0:
    case 1:
    case 2:
    case 3:
      return true;
    default:
      return false;
  }
}

const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* Dispatch_device_type_descriptor() {
  ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&descriptor_table_message_5fbase_2eproto);
  return file_level_enum_descriptors_message_5fbase_2eproto[11];
}
bool Dispatch_device_type_IsValid(int value) {
  switch (value) {
    case 101:
    case 102:
    case 200:
    case 203:
    case 207:
    case 300:
    case 301:
    case 302:
    case 303:
    case 304:
    case 305:
    case 306:
    case 307:
      return true;
    default:
      return false;
  }
}


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

void Base_info::InitAsDefaultInstance() {
}
class Base_info::_Internal {
 public:
  using HasBits = decltype(std::declval<Base_info>()._has_bits_);
  static void set_has_msg_type(HasBits* has_bits) {
    (*has_bits)[0] |= 1u;
  }
  static void set_has_timeout_ms(HasBits* has_bits) {
    (*has_bits)[0] |= 2u;
  }
  static void set_has_sender(HasBits* has_bits) {
    (*has_bits)[0] |= 4u;
  }
  static void set_has_receiver(HasBits* has_bits) {
    (*has_bits)[0] |= 8u;
  }
  static bool MissingRequiredFields(const HasBits& has_bits) {
    return ((has_bits[0] & 0x0000000d) ^ 0x0000000d) != 0;
  }
};

Base_info::Base_info(::PROTOBUF_NAMESPACE_ID::Arena* arena)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena) {
  SharedCtor();
  RegisterArenaDtor(arena);
  // @@protoc_insertion_point(arena_constructor:message.Base_info)
}
Base_info::Base_info(const Base_info& from)
  : ::PROTOBUF_NAMESPACE_ID::Message(),
      _has_bits_(from._has_bits_) {
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  ::memcpy(&msg_type_, &from.msg_type_,
    static_cast<size_t>(reinterpret_cast<char*>(&receiver_) -
    reinterpret_cast<char*>(&msg_type_)) + sizeof(receiver_));
  // @@protoc_insertion_point(copy_constructor:message.Base_info)
}

void Base_info::SharedCtor() {
  ::memset(&msg_type_, 0, static_cast<size_t>(
      reinterpret_cast<char*>(&receiver_) -
      reinterpret_cast<char*>(&msg_type_)) + sizeof(receiver_));
}

Base_info::~Base_info() {
  // @@protoc_insertion_point(destructor:message.Base_info)
  SharedDtor();
  _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

void Base_info::SharedDtor() {
  GOOGLE_DCHECK(GetArena() == nullptr);
}

void Base_info::ArenaDtor(void* object) {
  Base_info* _this = reinterpret_cast< Base_info* >(object);
  (void)_this;
}
void Base_info::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
}
void Base_info::SetCachedSize(int size) const {
  _cached_size_.Set(size);
}
const Base_info& Base_info::default_instance() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&::scc_info_Base_info_message_5fbase_2eproto.base);
  return *internal_default_instance();
}


void Base_info::Clear() {
// @@protoc_insertion_point(message_clear_start:message.Base_info)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  cached_has_bits = _has_bits_[0];
  if (cached_has_bits & 0x0000000fu) {
    ::memset(&msg_type_, 0, static_cast<size_t>(
        reinterpret_cast<char*>(&receiver_) -
        reinterpret_cast<char*>(&msg_type_)) + sizeof(receiver_));
  }
  _has_bits_.Clear();
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* Base_info::_InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  _Internal::HasBits has_bits{};
  ::PROTOBUF_NAMESPACE_ID::Arena* arena = GetArena(); (void)arena;
  while (!ctx->Done(&ptr)) {
    ::PROTOBUF_NAMESPACE_ID::uint32 tag;
    ptr = ::PROTOBUF_NAMESPACE_ID::internal::ReadTag(ptr, &tag);
    CHK_(ptr);
    switch (tag >> 3) {
      // required .message.Message_type msg_type = 1 [default = eBase_msg];
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 8)) {
          ::PROTOBUF_NAMESPACE_ID::uint64 val = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
          if (PROTOBUF_PREDICT_TRUE(::message::Message_type_IsValid(val))) {
            _internal_set_msg_type(static_cast<::message::Message_type>(val));
          } else {
            ::PROTOBUF_NAMESPACE_ID::internal::WriteVarint(1, val, mutable_unknown_fields());
          }
        } else goto handle_unusual;
        continue;
      // optional int32 timeout_ms = 2 [default = 0];
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 16)) {
          _Internal::set_has_timeout_ms(&has_bits);
          timeout_ms_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // required .message.Communicator sender = 3 [default = eEmpty];
      case 3:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 24)) {
          ::PROTOBUF_NAMESPACE_ID::uint64 val = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
          if (PROTOBUF_PREDICT_TRUE(::message::Communicator_IsValid(val))) {
            _internal_set_sender(static_cast<::message::Communicator>(val));
          } else {
            ::PROTOBUF_NAMESPACE_ID::internal::WriteVarint(3, val, mutable_unknown_fields());
          }
        } else goto handle_unusual;
        continue;
      // required .message.Communicator receiver = 4 [default = eEmpty];
      case 4:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 32)) {
          ::PROTOBUF_NAMESPACE_ID::uint64 val = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
          if (PROTOBUF_PREDICT_TRUE(::message::Communicator_IsValid(val))) {
            _internal_set_receiver(static_cast<::message::Communicator>(val));
          } else {
            ::PROTOBUF_NAMESPACE_ID::internal::WriteVarint(4, val, mutable_unknown_fields());
          }
        } else goto handle_unusual;
        continue;
      default: {
      handle_unusual:
        if ((tag & 7) == 4 || tag == 0) {
          ctx->SetLastTag(tag);
          goto success;
        }
        ptr = UnknownFieldParse(tag,
            _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
            ptr, ctx);
        CHK_(ptr != nullptr);
        continue;
      }
    }  // switch
  }  // while
success:
  _has_bits_.Or(has_bits);
  return ptr;
failure:
  ptr = nullptr;
  goto success;
#undef CHK_
}

::PROTOBUF_NAMESPACE_ID::uint8* Base_info::_InternalSerialize(
    ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:message.Base_info)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  cached_has_bits = _has_bits_[0];
  // required .message.Message_type msg_type = 1 [default = eBase_msg];
  if (cached_has_bits & 0x00000001u) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteEnumToArray(
      1, this->_internal_msg_type(), target);
  }

  // optional int32 timeout_ms = 2 [default = 0];
  if (cached_has_bits & 0x00000002u) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(2, this->_internal_timeout_ms(), target);
  }

  // required .message.Communicator sender = 3 [default = eEmpty];
  if (cached_has_bits & 0x00000004u) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteEnumToArray(
      3, this->_internal_sender(), target);
  }

  // required .message.Communicator receiver = 4 [default = eEmpty];
  if (cached_has_bits & 0x00000008u) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteEnumToArray(
      4, this->_internal_receiver(), target);
  }

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

size_t Base_info::RequiredFieldsByteSizeFallback() const {
// @@protoc_insertion_point(required_fields_byte_size_fallback_start:message.Base_info)
  size_t total_size = 0;

  if (_internal_has_msg_type()) {
    // required .message.Message_type msg_type = 1 [default = eBase_msg];
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::EnumSize(this->_internal_msg_type());
  }

  if (_internal_has_sender()) {
    // required .message.Communicator sender = 3 [default = eEmpty];
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::EnumSize(this->_internal_sender());
  }

  if (_internal_has_receiver()) {
    // required .message.Communicator receiver = 4 [default = eEmpty];
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::EnumSize(this->_internal_receiver());
  }

  return total_size;
}
size_t Base_info::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:message.Base_info)
  size_t total_size = 0;

  if (((_has_bits_[0] & 0x0000000d) ^ 0x0000000d) == 0) {  // All required fields are present.
    // required .message.Message_type msg_type = 1 [default = eBase_msg];
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::EnumSize(this->_internal_msg_type());

    // required .message.Communicator sender = 3 [default = eEmpty];
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::EnumSize(this->_internal_sender());

    // required .message.Communicator receiver = 4 [default = eEmpty];
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::EnumSize(this->_internal_receiver());

  } else {
    total_size += RequiredFieldsByteSizeFallback();
  }
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  // optional int32 timeout_ms = 2 [default = 0];
  cached_has_bits = _has_bits_[0];
  if (cached_has_bits & 0x00000002u) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
        this->_internal_timeout_ms());
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    return ::PROTOBUF_NAMESPACE_ID::internal::ComputeUnknownFieldsSize(
        _internal_metadata_, total_size, &_cached_size_);
  }
  int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(total_size);
  SetCachedSize(cached_size);
  return total_size;
}

void Base_info::MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
// @@protoc_insertion_point(generalized_merge_from_start:message.Base_info)
  GOOGLE_DCHECK_NE(&from, this);
  const Base_info* source =
      ::PROTOBUF_NAMESPACE_ID::DynamicCastToGenerated<Base_info>(
          &from);
  if (source == nullptr) {
  // @@protoc_insertion_point(generalized_merge_from_cast_fail:message.Base_info)
    ::PROTOBUF_NAMESPACE_ID::internal::ReflectionOps::Merge(from, this);
  } else {
  // @@protoc_insertion_point(generalized_merge_from_cast_success:message.Base_info)
    MergeFrom(*source);
  }
}

void Base_info::MergeFrom(const Base_info& from) {
// @@protoc_insertion_point(class_specific_merge_from_start:message.Base_info)
  GOOGLE_DCHECK_NE(&from, this);
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  cached_has_bits = from._has_bits_[0];
  if (cached_has_bits & 0x0000000fu) {
    if (cached_has_bits & 0x00000001u) {
      msg_type_ = from.msg_type_;
    }
    if (cached_has_bits & 0x00000002u) {
      timeout_ms_ = from.timeout_ms_;
    }
    if (cached_has_bits & 0x00000004u) {
      sender_ = from.sender_;
    }
    if (cached_has_bits & 0x00000008u) {
      receiver_ = from.receiver_;
    }
    _has_bits_[0] |= cached_has_bits;
  }
}

void Base_info::CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
// @@protoc_insertion_point(generalized_copy_from_start:message.Base_info)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

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

bool Base_info::IsInitialized() const {
  if (_Internal::MissingRequiredFields(_has_bits_)) return false;
  return true;
}

void Base_info::InternalSwap(Base_info* other) {
  using std::swap;
  _internal_metadata_.Swap<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(&other->_internal_metadata_);
  swap(_has_bits_[0], other->_has_bits_[0]);
  ::PROTOBUF_NAMESPACE_ID::internal::memswap<
      PROTOBUF_FIELD_OFFSET(Base_info, receiver_)
      + sizeof(Base_info::receiver_)
      - PROTOBUF_FIELD_OFFSET(Base_info, msg_type_)>(
          reinterpret_cast<char*>(&msg_type_),
          reinterpret_cast<char*>(&other->msg_type_));
}

::PROTOBUF_NAMESPACE_ID::Metadata Base_info::GetMetadata() const {
  return GetMetadataStatic();
}


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

void Base_msg::InitAsDefaultInstance() {
  ::message::_Base_msg_default_instance_._instance.get_mutable()->base_info_ = const_cast< ::message::Base_info*>(
      ::message::Base_info::internal_default_instance());
}
class Base_msg::_Internal {
 public:
  using HasBits = decltype(std::declval<Base_msg>()._has_bits_);
  static const ::message::Base_info& base_info(const Base_msg* msg);
  static void set_has_base_info(HasBits* has_bits) {
    (*has_bits)[0] |= 1u;
  }
  static bool MissingRequiredFields(const HasBits& has_bits) {
    return ((has_bits[0] & 0x00000001) ^ 0x00000001) != 0;
  }
};

const ::message::Base_info&
Base_msg::_Internal::base_info(const Base_msg* msg) {
  return *msg->base_info_;
}
Base_msg::Base_msg(::PROTOBUF_NAMESPACE_ID::Arena* arena)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena) {
  SharedCtor();
  RegisterArenaDtor(arena);
  // @@protoc_insertion_point(arena_constructor:message.Base_msg)
}
Base_msg::Base_msg(const Base_msg& from)
  : ::PROTOBUF_NAMESPACE_ID::Message(),
      _has_bits_(from._has_bits_) {
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  if (from._internal_has_base_info()) {
    base_info_ = new ::message::Base_info(*from.base_info_);
  } else {
    base_info_ = nullptr;
  }
  // @@protoc_insertion_point(copy_constructor:message.Base_msg)
}

void Base_msg::SharedCtor() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&scc_info_Base_msg_message_5fbase_2eproto.base);
  base_info_ = nullptr;
}

Base_msg::~Base_msg() {
  // @@protoc_insertion_point(destructor:message.Base_msg)
  SharedDtor();
  _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

void Base_msg::SharedDtor() {
  GOOGLE_DCHECK(GetArena() == nullptr);
  if (this != internal_default_instance()) delete base_info_;
}

void Base_msg::ArenaDtor(void* object) {
  Base_msg* _this = reinterpret_cast< Base_msg* >(object);
  (void)_this;
}
void Base_msg::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
}
void Base_msg::SetCachedSize(int size) const {
  _cached_size_.Set(size);
}
const Base_msg& Base_msg::default_instance() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&::scc_info_Base_msg_message_5fbase_2eproto.base);
  return *internal_default_instance();
}


void Base_msg::Clear() {
// @@protoc_insertion_point(message_clear_start:message.Base_msg)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  cached_has_bits = _has_bits_[0];
  if (cached_has_bits & 0x00000001u) {
    GOOGLE_DCHECK(base_info_ != nullptr);
    base_info_->Clear();
  }
  _has_bits_.Clear();
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* Base_msg::_InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  _Internal::HasBits has_bits{};
  ::PROTOBUF_NAMESPACE_ID::Arena* arena = GetArena(); (void)arena;
  while (!ctx->Done(&ptr)) {
    ::PROTOBUF_NAMESPACE_ID::uint32 tag;
    ptr = ::PROTOBUF_NAMESPACE_ID::internal::ReadTag(ptr, &tag);
    CHK_(ptr);
    switch (tag >> 3) {
      // required .message.Base_info base_info = 1;
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 10)) {
          ptr = ctx->ParseMessage(_internal_mutable_base_info(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      default: {
      handle_unusual:
        if ((tag & 7) == 4 || tag == 0) {
          ctx->SetLastTag(tag);
          goto success;
        }
        ptr = UnknownFieldParse(tag,
            _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
            ptr, ctx);
        CHK_(ptr != nullptr);
        continue;
      }
    }  // switch
  }  // while
success:
  _has_bits_.Or(has_bits);
  return ptr;
failure:
  ptr = nullptr;
  goto success;
#undef CHK_
}

::PROTOBUF_NAMESPACE_ID::uint8* Base_msg::_InternalSerialize(
    ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:message.Base_msg)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  cached_has_bits = _has_bits_[0];
  // required .message.Base_info base_info = 1;
  if (cached_has_bits & 0x00000001u) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        1, _Internal::base_info(this), target, stream);
  }

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

size_t Base_msg::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:message.Base_msg)
  size_t total_size = 0;

  // required .message.Base_info base_info = 1;
  if (_internal_has_base_info()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *base_info_);
  }
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    return ::PROTOBUF_NAMESPACE_ID::internal::ComputeUnknownFieldsSize(
        _internal_metadata_, total_size, &_cached_size_);
  }
  int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(total_size);
  SetCachedSize(cached_size);
  return total_size;
}

void Base_msg::MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
// @@protoc_insertion_point(generalized_merge_from_start:message.Base_msg)
  GOOGLE_DCHECK_NE(&from, this);
  const Base_msg* source =
      ::PROTOBUF_NAMESPACE_ID::DynamicCastToGenerated<Base_msg>(
          &from);
  if (source == nullptr) {
  // @@protoc_insertion_point(generalized_merge_from_cast_fail:message.Base_msg)
    ::PROTOBUF_NAMESPACE_ID::internal::ReflectionOps::Merge(from, this);
  } else {
  // @@protoc_insertion_point(generalized_merge_from_cast_success:message.Base_msg)
    MergeFrom(*source);
  }
}

void Base_msg::MergeFrom(const Base_msg& from) {
// @@protoc_insertion_point(class_specific_merge_from_start:message.Base_msg)
  GOOGLE_DCHECK_NE(&from, this);
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  if (from._internal_has_base_info()) {
    _internal_mutable_base_info()->::message::Base_info::MergeFrom(from._internal_base_info());
  }
}

void Base_msg::CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
// @@protoc_insertion_point(generalized_copy_from_start:message.Base_msg)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

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

bool Base_msg::IsInitialized() const {
  if (_Internal::MissingRequiredFields(_has_bits_)) return false;
  if (_internal_has_base_info()) {
    if (!base_info_->IsInitialized()) return false;
  }
  return true;
}

void Base_msg::InternalSwap(Base_msg* other) {
  using std::swap;
  _internal_metadata_.Swap<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(&other->_internal_metadata_);
  swap(_has_bits_[0], other->_has_bits_[0]);
  swap(base_info_, other->base_info_);
}

::PROTOBUF_NAMESPACE_ID::Metadata Base_msg::GetMetadata() const {
  return GetMetadataStatic();
}


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

void Error_manager::InitAsDefaultInstance() {
}
class Error_manager::_Internal {
 public:
  using HasBits = decltype(std::declval<Error_manager>()._has_bits_);
  static void set_has_error_code(HasBits* has_bits) {
    (*has_bits)[0] |= 2u;
  }
  static void set_has_error_level(HasBits* has_bits) {
    (*has_bits)[0] |= 4u;
  }
  static void set_has_error_description(HasBits* has_bits) {
    (*has_bits)[0] |= 1u;
  }
  static bool MissingRequiredFields(const HasBits& has_bits) {
    return ((has_bits[0] & 0x00000002) ^ 0x00000002) != 0;
  }
};

Error_manager::Error_manager(::PROTOBUF_NAMESPACE_ID::Arena* arena)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena) {
  SharedCtor();
  RegisterArenaDtor(arena);
  // @@protoc_insertion_point(arena_constructor:message.Error_manager)
}
Error_manager::Error_manager(const Error_manager& from)
  : ::PROTOBUF_NAMESPACE_ID::Message(),
      _has_bits_(from._has_bits_) {
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  error_description_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  if (from._internal_has_error_description()) {
    error_description_.Set(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), from._internal_error_description(),
      GetArena());
  }
  ::memcpy(&error_code_, &from.error_code_,
    static_cast<size_t>(reinterpret_cast<char*>(&error_level_) -
    reinterpret_cast<char*>(&error_code_)) + sizeof(error_level_));
  // @@protoc_insertion_point(copy_constructor:message.Error_manager)
}

void Error_manager::SharedCtor() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&scc_info_Error_manager_message_5fbase_2eproto.base);
  error_description_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  ::memset(&error_code_, 0, static_cast<size_t>(
      reinterpret_cast<char*>(&error_level_) -
      reinterpret_cast<char*>(&error_code_)) + sizeof(error_level_));
}

Error_manager::~Error_manager() {
  // @@protoc_insertion_point(destructor:message.Error_manager)
  SharedDtor();
  _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

void Error_manager::SharedDtor() {
  GOOGLE_DCHECK(GetArena() == nullptr);
  error_description_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
}

void Error_manager::ArenaDtor(void* object) {
  Error_manager* _this = reinterpret_cast< Error_manager* >(object);
  (void)_this;
}
void Error_manager::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
}
void Error_manager::SetCachedSize(int size) const {
  _cached_size_.Set(size);
}
const Error_manager& Error_manager::default_instance() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&::scc_info_Error_manager_message_5fbase_2eproto.base);
  return *internal_default_instance();
}


void Error_manager::Clear() {
// @@protoc_insertion_point(message_clear_start:message.Error_manager)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

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

const char* Error_manager::_InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  _Internal::HasBits has_bits{};
  ::PROTOBUF_NAMESPACE_ID::Arena* arena = GetArena(); (void)arena;
  while (!ctx->Done(&ptr)) {
    ::PROTOBUF_NAMESPACE_ID::uint32 tag;
    ptr = ::PROTOBUF_NAMESPACE_ID::internal::ReadTag(ptr, &tag);
    CHK_(ptr);
    switch (tag >> 3) {
      // required int32 error_code = 1 [default = 0];
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 8)) {
          _Internal::set_has_error_code(&has_bits);
          error_code_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // optional .message.Error_level error_level = 2 [default = NORMAL];
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 16)) {
          ::PROTOBUF_NAMESPACE_ID::uint64 val = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
          if (PROTOBUF_PREDICT_TRUE(::message::Error_level_IsValid(val))) {
            _internal_set_error_level(static_cast<::message::Error_level>(val));
          } else {
            ::PROTOBUF_NAMESPACE_ID::internal::WriteVarint(2, val, mutable_unknown_fields());
          }
        } else goto handle_unusual;
        continue;
      // optional string error_description = 3 [default = ""];
      case 3:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 26)) {
          auto str = _internal_mutable_error_description();
          ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx);
          #ifndef NDEBUG
          ::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str, "message.Error_manager.error_description");
          #endif  // !NDEBUG
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      default: {
      handle_unusual:
        if ((tag & 7) == 4 || tag == 0) {
          ctx->SetLastTag(tag);
          goto success;
        }
        ptr = UnknownFieldParse(tag,
            _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
            ptr, ctx);
        CHK_(ptr != nullptr);
        continue;
      }
    }  // switch
  }  // while
success:
  _has_bits_.Or(has_bits);
  return ptr;
failure:
  ptr = nullptr;
  goto success;
#undef CHK_
}

::PROTOBUF_NAMESPACE_ID::uint8* Error_manager::_InternalSerialize(
    ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:message.Error_manager)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  cached_has_bits = _has_bits_[0];
  // required int32 error_code = 1 [default = 0];
  if (cached_has_bits & 0x00000002u) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(1, this->_internal_error_code(), target);
  }

  // optional .message.Error_level error_level = 2 [default = NORMAL];
  if (cached_has_bits & 0x00000004u) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteEnumToArray(
      2, this->_internal_error_level(), target);
  }

  // optional string error_description = 3 [default = ""];
  if (cached_has_bits & 0x00000001u) {
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::VerifyUTF8StringNamedField(
      this->_internal_error_description().data(), static_cast<int>(this->_internal_error_description().length()),
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::SERIALIZE,
      "message.Error_manager.error_description");
    target = stream->WriteStringMaybeAliased(
        3, this->_internal_error_description(), target);
  }

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

size_t Error_manager::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:message.Error_manager)
  size_t total_size = 0;

  // required int32 error_code = 1 [default = 0];
  if (_internal_has_error_code()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
        this->_internal_error_code());
  }
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  // optional string error_description = 3 [default = ""];
  cached_has_bits = _has_bits_[0];
  if (cached_has_bits & 0x00000001u) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
        this->_internal_error_description());
  }

  // optional .message.Error_level error_level = 2 [default = NORMAL];
  if (cached_has_bits & 0x00000004u) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::EnumSize(this->_internal_error_level());
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    return ::PROTOBUF_NAMESPACE_ID::internal::ComputeUnknownFieldsSize(
        _internal_metadata_, total_size, &_cached_size_);
  }
  int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(total_size);
  SetCachedSize(cached_size);
  return total_size;
}

void Error_manager::MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
// @@protoc_insertion_point(generalized_merge_from_start:message.Error_manager)
  GOOGLE_DCHECK_NE(&from, this);
  const Error_manager* source =
      ::PROTOBUF_NAMESPACE_ID::DynamicCastToGenerated<Error_manager>(
          &from);
  if (source == nullptr) {
  // @@protoc_insertion_point(generalized_merge_from_cast_fail:message.Error_manager)
    ::PROTOBUF_NAMESPACE_ID::internal::ReflectionOps::Merge(from, this);
  } else {
  // @@protoc_insertion_point(generalized_merge_from_cast_success:message.Error_manager)
    MergeFrom(*source);
  }
}

void Error_manager::MergeFrom(const Error_manager& from) {
// @@protoc_insertion_point(class_specific_merge_from_start:message.Error_manager)
  GOOGLE_DCHECK_NE(&from, this);
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  cached_has_bits = from._has_bits_[0];
  if (cached_has_bits & 0x00000007u) {
    if (cached_has_bits & 0x00000001u) {
      _internal_set_error_description(from._internal_error_description());
    }
    if (cached_has_bits & 0x00000002u) {
      error_code_ = from.error_code_;
    }
    if (cached_has_bits & 0x00000004u) {
      error_level_ = from.error_level_;
    }
    _has_bits_[0] |= cached_has_bits;
  }
}

void Error_manager::CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
// @@protoc_insertion_point(generalized_copy_from_start:message.Error_manager)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

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

bool Error_manager::IsInitialized() const {
  if (_Internal::MissingRequiredFields(_has_bits_)) return false;
  return true;
}

void Error_manager::InternalSwap(Error_manager* other) {
  using std::swap;
  _internal_metadata_.Swap<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(&other->_internal_metadata_);
  swap(_has_bits_[0], other->_has_bits_[0]);
  error_description_.Swap(&other->error_description_, &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
  ::PROTOBUF_NAMESPACE_ID::internal::memswap<
      PROTOBUF_FIELD_OFFSET(Error_manager, error_level_)
      + sizeof(Error_manager::error_level_)
      - PROTOBUF_FIELD_OFFSET(Error_manager, error_code_)>(
          reinterpret_cast<char*>(&error_code_),
          reinterpret_cast<char*>(&other->error_code_));
}

::PROTOBUF_NAMESPACE_ID::Metadata Error_manager::GetMetadata() const {
  return GetMetadataStatic();
}


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

void Locate_information::InitAsDefaultInstance() {
}
class Locate_information::_Internal {
 public:
  using HasBits = decltype(std::declval<Locate_information>()._has_bits_);
  static void set_has_locate_x(HasBits* has_bits) {
    (*has_bits)[0] |= 1u;
  }
  static void set_has_locate_y(HasBits* has_bits) {
    (*has_bits)[0] |= 2u;
  }
  static void set_has_locate_angle(HasBits* has_bits) {
    (*has_bits)[0] |= 4u;
  }
  static void set_has_locate_length(HasBits* has_bits) {
    (*has_bits)[0] |= 8u;
  }
  static void set_has_locate_width(HasBits* has_bits) {
    (*has_bits)[0] |= 16u;
  }
  static void set_has_locate_height(HasBits* has_bits) {
    (*has_bits)[0] |= 32u;
  }
  static void set_has_locate_wheel_base(HasBits* has_bits) {
    (*has_bits)[0] |= 64u;
  }
  static void set_has_locate_wheel_width(HasBits* has_bits) {
    (*has_bits)[0] |= 128u;
  }
  static void set_has_locate_correct(HasBits* has_bits) {
    (*has_bits)[0] |= 256u;
  }
  static void set_has_locate_front_theta(HasBits* has_bits) {
    (*has_bits)[0] |= 512u;
  }
  static void set_has_uniformed_car_x(HasBits* has_bits) {
    (*has_bits)[0] |= 1024u;
  }
  static void set_has_uniformed_car_y(HasBits* has_bits) {
    (*has_bits)[0] |= 2048u;
  }
};

Locate_information::Locate_information(::PROTOBUF_NAMESPACE_ID::Arena* arena)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena) {
  SharedCtor();
  RegisterArenaDtor(arena);
  // @@protoc_insertion_point(arena_constructor:message.Locate_information)
}
Locate_information::Locate_information(const Locate_information& from)
  : ::PROTOBUF_NAMESPACE_ID::Message(),
      _has_bits_(from._has_bits_) {
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  ::memcpy(&locate_x_, &from.locate_x_,
    static_cast<size_t>(reinterpret_cast<char*>(&uniformed_car_y_) -
    reinterpret_cast<char*>(&locate_x_)) + sizeof(uniformed_car_y_));
  // @@protoc_insertion_point(copy_constructor:message.Locate_information)
}

void Locate_information::SharedCtor() {
  ::memset(&locate_x_, 0, static_cast<size_t>(
      reinterpret_cast<char*>(&uniformed_car_y_) -
      reinterpret_cast<char*>(&locate_x_)) + sizeof(uniformed_car_y_));
}

Locate_information::~Locate_information() {
  // @@protoc_insertion_point(destructor:message.Locate_information)
  SharedDtor();
  _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

void Locate_information::SharedDtor() {
  GOOGLE_DCHECK(GetArena() == nullptr);
}

void Locate_information::ArenaDtor(void* object) {
  Locate_information* _this = reinterpret_cast< Locate_information* >(object);
  (void)_this;
}
void Locate_information::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
}
void Locate_information::SetCachedSize(int size) const {
  _cached_size_.Set(size);
}
const Locate_information& Locate_information::default_instance() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&::scc_info_Locate_information_message_5fbase_2eproto.base);
  return *internal_default_instance();
}


void Locate_information::Clear() {
// @@protoc_insertion_point(message_clear_start:message.Locate_information)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  cached_has_bits = _has_bits_[0];
  if (cached_has_bits & 0x000000ffu) {
    ::memset(&locate_x_, 0, static_cast<size_t>(
        reinterpret_cast<char*>(&locate_wheel_width_) -
        reinterpret_cast<char*>(&locate_x_)) + sizeof(locate_wheel_width_));
  }
  if (cached_has_bits & 0x00000f00u) {
    ::memset(&locate_correct_, 0, static_cast<size_t>(
        reinterpret_cast<char*>(&uniformed_car_y_) -
        reinterpret_cast<char*>(&locate_correct_)) + sizeof(uniformed_car_y_));
  }
  _has_bits_.Clear();
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* Locate_information::_InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  _Internal::HasBits has_bits{};
  ::PROTOBUF_NAMESPACE_ID::Arena* arena = GetArena(); (void)arena;
  while (!ctx->Done(&ptr)) {
    ::PROTOBUF_NAMESPACE_ID::uint32 tag;
    ptr = ::PROTOBUF_NAMESPACE_ID::internal::ReadTag(ptr, &tag);
    CHK_(ptr);
    switch (tag >> 3) {
      // optional float locate_x = 1 [default = 0];
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 13)) {
          _Internal::set_has_locate_x(&has_bits);
          locate_x_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<float>(ptr);
          ptr += sizeof(float);
        } else goto handle_unusual;
        continue;
      // optional float locate_y = 2 [default = 0];
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 21)) {
          _Internal::set_has_locate_y(&has_bits);
          locate_y_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<float>(ptr);
          ptr += sizeof(float);
        } else goto handle_unusual;
        continue;
      // optional float locate_angle = 3 [default = 0];
      case 3:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 29)) {
          _Internal::set_has_locate_angle(&has_bits);
          locate_angle_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<float>(ptr);
          ptr += sizeof(float);
        } else goto handle_unusual;
        continue;
      // optional float locate_length = 4 [default = 0];
      case 4:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 37)) {
          _Internal::set_has_locate_length(&has_bits);
          locate_length_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<float>(ptr);
          ptr += sizeof(float);
        } else goto handle_unusual;
        continue;
      // optional float locate_width = 5 [default = 0];
      case 5:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 45)) {
          _Internal::set_has_locate_width(&has_bits);
          locate_width_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<float>(ptr);
          ptr += sizeof(float);
        } else goto handle_unusual;
        continue;
      // optional float locate_height = 6 [default = 0];
      case 6:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 53)) {
          _Internal::set_has_locate_height(&has_bits);
          locate_height_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<float>(ptr);
          ptr += sizeof(float);
        } else goto handle_unusual;
        continue;
      // optional float locate_wheel_base = 7 [default = 0];
      case 7:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 61)) {
          _Internal::set_has_locate_wheel_base(&has_bits);
          locate_wheel_base_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<float>(ptr);
          ptr += sizeof(float);
        } else goto handle_unusual;
        continue;
      // optional float locate_wheel_width = 8 [default = 0];
      case 8:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 69)) {
          _Internal::set_has_locate_wheel_width(&has_bits);
          locate_wheel_width_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<float>(ptr);
          ptr += sizeof(float);
        } else goto handle_unusual;
        continue;
      // optional bool locate_correct = 9 [default = false];
      case 9:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 72)) {
          _Internal::set_has_locate_correct(&has_bits);
          locate_correct_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // optional float locate_front_theta = 10 [default = 0];
      case 10:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 85)) {
          _Internal::set_has_locate_front_theta(&has_bits);
          locate_front_theta_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<float>(ptr);
          ptr += sizeof(float);
        } else goto handle_unusual;
        continue;
      // optional float uniformed_car_x = 11;
      case 11:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 93)) {
          _Internal::set_has_uniformed_car_x(&has_bits);
          uniformed_car_x_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<float>(ptr);
          ptr += sizeof(float);
        } else goto handle_unusual;
        continue;
      // optional float uniformed_car_y = 12;
      case 12:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 101)) {
          _Internal::set_has_uniformed_car_y(&has_bits);
          uniformed_car_y_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<float>(ptr);
          ptr += sizeof(float);
        } else goto handle_unusual;
        continue;
      default: {
      handle_unusual:
        if ((tag & 7) == 4 || tag == 0) {
          ctx->SetLastTag(tag);
          goto success;
        }
        ptr = UnknownFieldParse(tag,
            _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
            ptr, ctx);
        CHK_(ptr != nullptr);
        continue;
      }
    }  // switch
  }  // while
success:
  _has_bits_.Or(has_bits);
  return ptr;
failure:
  ptr = nullptr;
  goto success;
#undef CHK_
}

::PROTOBUF_NAMESPACE_ID::uint8* Locate_information::_InternalSerialize(
    ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:message.Locate_information)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  cached_has_bits = _has_bits_[0];
  // optional float locate_x = 1 [default = 0];
  if (cached_has_bits & 0x00000001u) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteFloatToArray(1, this->_internal_locate_x(), target);
  }

  // optional float locate_y = 2 [default = 0];
  if (cached_has_bits & 0x00000002u) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteFloatToArray(2, this->_internal_locate_y(), target);
  }

  // optional float locate_angle = 3 [default = 0];
  if (cached_has_bits & 0x00000004u) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteFloatToArray(3, this->_internal_locate_angle(), target);
  }

  // optional float locate_length = 4 [default = 0];
  if (cached_has_bits & 0x00000008u) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteFloatToArray(4, this->_internal_locate_length(), target);
  }

  // optional float locate_width = 5 [default = 0];
  if (cached_has_bits & 0x00000010u) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteFloatToArray(5, this->_internal_locate_width(), target);
  }

  // optional float locate_height = 6 [default = 0];
  if (cached_has_bits & 0x00000020u) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteFloatToArray(6, this->_internal_locate_height(), target);
  }

  // optional float locate_wheel_base = 7 [default = 0];
  if (cached_has_bits & 0x00000040u) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteFloatToArray(7, this->_internal_locate_wheel_base(), target);
  }

  // optional float locate_wheel_width = 8 [default = 0];
  if (cached_has_bits & 0x00000080u) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteFloatToArray(8, this->_internal_locate_wheel_width(), target);
  }

  // optional bool locate_correct = 9 [default = false];
  if (cached_has_bits & 0x00000100u) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(9, this->_internal_locate_correct(), target);
  }

  // optional float locate_front_theta = 10 [default = 0];
  if (cached_has_bits & 0x00000200u) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteFloatToArray(10, this->_internal_locate_front_theta(), target);
  }

  // optional float uniformed_car_x = 11;
  if (cached_has_bits & 0x00000400u) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteFloatToArray(11, this->_internal_uniformed_car_x(), target);
  }

  // optional float uniformed_car_y = 12;
  if (cached_has_bits & 0x00000800u) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteFloatToArray(12, this->_internal_uniformed_car_y(), target);
  }

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

size_t Locate_information::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:message.Locate_information)
  size_t total_size = 0;

  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  cached_has_bits = _has_bits_[0];
  if (cached_has_bits & 0x000000ffu) {
    // optional float locate_x = 1 [default = 0];
    if (cached_has_bits & 0x00000001u) {
      total_size += 1 + 4;
    }

    // optional float locate_y = 2 [default = 0];
    if (cached_has_bits & 0x00000002u) {
      total_size += 1 + 4;
    }

    // optional float locate_angle = 3 [default = 0];
    if (cached_has_bits & 0x00000004u) {
      total_size += 1 + 4;
    }

    // optional float locate_length = 4 [default = 0];
    if (cached_has_bits & 0x00000008u) {
      total_size += 1 + 4;
    }

    // optional float locate_width = 5 [default = 0];
    if (cached_has_bits & 0x00000010u) {
      total_size += 1 + 4;
    }

    // optional float locate_height = 6 [default = 0];
    if (cached_has_bits & 0x00000020u) {
      total_size += 1 + 4;
    }

    // optional float locate_wheel_base = 7 [default = 0];
    if (cached_has_bits & 0x00000040u) {
      total_size += 1 + 4;
    }

    // optional float locate_wheel_width = 8 [default = 0];
    if (cached_has_bits & 0x00000080u) {
      total_size += 1 + 4;
    }

  }
  if (cached_has_bits & 0x00000f00u) {
    // optional bool locate_correct = 9 [default = false];
    if (cached_has_bits & 0x00000100u) {
      total_size += 1 + 1;
    }

    // optional float locate_front_theta = 10 [default = 0];
    if (cached_has_bits & 0x00000200u) {
      total_size += 1 + 4;
    }

    // optional float uniformed_car_x = 11;
    if (cached_has_bits & 0x00000400u) {
      total_size += 1 + 4;
    }

    // optional float uniformed_car_y = 12;
    if (cached_has_bits & 0x00000800u) {
      total_size += 1 + 4;
    }

  }
  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    return ::PROTOBUF_NAMESPACE_ID::internal::ComputeUnknownFieldsSize(
        _internal_metadata_, total_size, &_cached_size_);
  }
  int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(total_size);
  SetCachedSize(cached_size);
  return total_size;
}

void Locate_information::MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
// @@protoc_insertion_point(generalized_merge_from_start:message.Locate_information)
  GOOGLE_DCHECK_NE(&from, this);
  const Locate_information* source =
      ::PROTOBUF_NAMESPACE_ID::DynamicCastToGenerated<Locate_information>(
          &from);
  if (source == nullptr) {
  // @@protoc_insertion_point(generalized_merge_from_cast_fail:message.Locate_information)
    ::PROTOBUF_NAMESPACE_ID::internal::ReflectionOps::Merge(from, this);
  } else {
  // @@protoc_insertion_point(generalized_merge_from_cast_success:message.Locate_information)
    MergeFrom(*source);
  }
}

void Locate_information::MergeFrom(const Locate_information& from) {
// @@protoc_insertion_point(class_specific_merge_from_start:message.Locate_information)
  GOOGLE_DCHECK_NE(&from, this);
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  cached_has_bits = from._has_bits_[0];
  if (cached_has_bits & 0x000000ffu) {
    if (cached_has_bits & 0x00000001u) {
      locate_x_ = from.locate_x_;
    }
    if (cached_has_bits & 0x00000002u) {
      locate_y_ = from.locate_y_;
    }
    if (cached_has_bits & 0x00000004u) {
      locate_angle_ = from.locate_angle_;
    }
    if (cached_has_bits & 0x00000008u) {
      locate_length_ = from.locate_length_;
    }
    if (cached_has_bits & 0x00000010u) {
      locate_width_ = from.locate_width_;
    }
    if (cached_has_bits & 0x00000020u) {
      locate_height_ = from.locate_height_;
    }
    if (cached_has_bits & 0x00000040u) {
      locate_wheel_base_ = from.locate_wheel_base_;
    }
    if (cached_has_bits & 0x00000080u) {
      locate_wheel_width_ = from.locate_wheel_width_;
    }
    _has_bits_[0] |= cached_has_bits;
  }
  if (cached_has_bits & 0x00000f00u) {
    if (cached_has_bits & 0x00000100u) {
      locate_correct_ = from.locate_correct_;
    }
    if (cached_has_bits & 0x00000200u) {
      locate_front_theta_ = from.locate_front_theta_;
    }
    if (cached_has_bits & 0x00000400u) {
      uniformed_car_x_ = from.uniformed_car_x_;
    }
    if (cached_has_bits & 0x00000800u) {
      uniformed_car_y_ = from.uniformed_car_y_;
    }
    _has_bits_[0] |= cached_has_bits;
  }
}

void Locate_information::CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
// @@protoc_insertion_point(generalized_copy_from_start:message.Locate_information)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

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

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

void Locate_information::InternalSwap(Locate_information* other) {
  using std::swap;
  _internal_metadata_.Swap<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(&other->_internal_metadata_);
  swap(_has_bits_[0], other->_has_bits_[0]);
  ::PROTOBUF_NAMESPACE_ID::internal::memswap<
      PROTOBUF_FIELD_OFFSET(Locate_information, uniformed_car_y_)
      + sizeof(Locate_information::uniformed_car_y_)
      - PROTOBUF_FIELD_OFFSET(Locate_information, locate_x_)>(
          reinterpret_cast<char*>(&locate_x_),
          reinterpret_cast<char*>(&other->locate_x_));
}

::PROTOBUF_NAMESPACE_ID::Metadata Locate_information::GetMetadata() const {
  return GetMetadataStatic();
}


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

void Car_info::InitAsDefaultInstance() {
}
class Car_info::_Internal {
 public:
  using HasBits = decltype(std::declval<Car_info>()._has_bits_);
  static void set_has_car_length(HasBits* has_bits) {
    (*has_bits)[0] |= 4u;
  }
  static void set_has_car_width(HasBits* has_bits) {
    (*has_bits)[0] |= 8u;
  }
  static void set_has_car_height(HasBits* has_bits) {
    (*has_bits)[0] |= 16u;
  }
  static void set_has_license(HasBits* has_bits) {
    (*has_bits)[0] |= 1u;
  }
  static void set_has_car_numberplate(HasBits* has_bits) {
    (*has_bits)[0] |= 2u;
  }
  static void set_has_car_wheel_base(HasBits* has_bits) {
    (*has_bits)[0] |= 32u;
  }
  static void set_has_car_wheel_width(HasBits* has_bits) {
    (*has_bits)[0] |= 64u;
  }
};

Car_info::Car_info(::PROTOBUF_NAMESPACE_ID::Arena* arena)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena) {
  SharedCtor();
  RegisterArenaDtor(arena);
  // @@protoc_insertion_point(arena_constructor:message.Car_info)
}
Car_info::Car_info(const Car_info& from)
  : ::PROTOBUF_NAMESPACE_ID::Message(),
      _has_bits_(from._has_bits_) {
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  license_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  if (from._internal_has_license()) {
    license_.Set(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), from._internal_license(),
      GetArena());
  }
  car_numberplate_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  if (from._internal_has_car_numberplate()) {
    car_numberplate_.Set(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), from._internal_car_numberplate(),
      GetArena());
  }
  ::memcpy(&car_length_, &from.car_length_,
    static_cast<size_t>(reinterpret_cast<char*>(&car_wheel_width_) -
    reinterpret_cast<char*>(&car_length_)) + sizeof(car_wheel_width_));
  // @@protoc_insertion_point(copy_constructor:message.Car_info)
}

void Car_info::SharedCtor() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&scc_info_Car_info_message_5fbase_2eproto.base);
  license_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  car_numberplate_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  ::memset(&car_length_, 0, static_cast<size_t>(
      reinterpret_cast<char*>(&car_wheel_width_) -
      reinterpret_cast<char*>(&car_length_)) + sizeof(car_wheel_width_));
}

Car_info::~Car_info() {
  // @@protoc_insertion_point(destructor:message.Car_info)
  SharedDtor();
  _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

void Car_info::SharedDtor() {
  GOOGLE_DCHECK(GetArena() == nullptr);
  license_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  car_numberplate_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
}

void Car_info::ArenaDtor(void* object) {
  Car_info* _this = reinterpret_cast< Car_info* >(object);
  (void)_this;
}
void Car_info::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
}
void Car_info::SetCachedSize(int size) const {
  _cached_size_.Set(size);
}
const Car_info& Car_info::default_instance() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&::scc_info_Car_info_message_5fbase_2eproto.base);
  return *internal_default_instance();
}


void Car_info::Clear() {
// @@protoc_insertion_point(message_clear_start:message.Car_info)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  cached_has_bits = _has_bits_[0];
  if (cached_has_bits & 0x00000003u) {
    if (cached_has_bits & 0x00000001u) {
      license_.ClearNonDefaultToEmpty();
    }
    if (cached_has_bits & 0x00000002u) {
      car_numberplate_.ClearNonDefaultToEmpty();
    }
  }
  if (cached_has_bits & 0x0000007cu) {
    ::memset(&car_length_, 0, static_cast<size_t>(
        reinterpret_cast<char*>(&car_wheel_width_) -
        reinterpret_cast<char*>(&car_length_)) + sizeof(car_wheel_width_));
  }
  _has_bits_.Clear();
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* Car_info::_InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  _Internal::HasBits has_bits{};
  ::PROTOBUF_NAMESPACE_ID::Arena* arena = GetArena(); (void)arena;
  while (!ctx->Done(&ptr)) {
    ::PROTOBUF_NAMESPACE_ID::uint32 tag;
    ptr = ::PROTOBUF_NAMESPACE_ID::internal::ReadTag(ptr, &tag);
    CHK_(ptr);
    switch (tag >> 3) {
      // optional float car_length = 1 [default = 0];
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 13)) {
          _Internal::set_has_car_length(&has_bits);
          car_length_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<float>(ptr);
          ptr += sizeof(float);
        } else goto handle_unusual;
        continue;
      // optional float car_width = 2 [default = 0];
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 21)) {
          _Internal::set_has_car_width(&has_bits);
          car_width_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<float>(ptr);
          ptr += sizeof(float);
        } else goto handle_unusual;
        continue;
      // optional float car_height = 3 [default = 0];
      case 3:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 29)) {
          _Internal::set_has_car_height(&has_bits);
          car_height_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<float>(ptr);
          ptr += sizeof(float);
        } else goto handle_unusual;
        continue;
      // optional string license = 4 [default = ""];
      case 4:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 34)) {
          auto str = _internal_mutable_license();
          ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx);
          #ifndef NDEBUG
          ::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str, "message.Car_info.license");
          #endif  // !NDEBUG
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // optional string car_numberPlate = 5 [default = ""];
      case 5:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 42)) {
          auto str = _internal_mutable_car_numberplate();
          ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx);
          #ifndef NDEBUG
          ::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str, "message.Car_info.car_numberPlate");
          #endif  // !NDEBUG
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // optional float car_wheel_base = 6 [default = 0];
      case 6:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 53)) {
          _Internal::set_has_car_wheel_base(&has_bits);
          car_wheel_base_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<float>(ptr);
          ptr += sizeof(float);
        } else goto handle_unusual;
        continue;
      // optional float car_wheel_width = 7 [default = 0];
      case 7:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 61)) {
          _Internal::set_has_car_wheel_width(&has_bits);
          car_wheel_width_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<float>(ptr);
          ptr += sizeof(float);
        } else goto handle_unusual;
        continue;
      default: {
      handle_unusual:
        if ((tag & 7) == 4 || tag == 0) {
          ctx->SetLastTag(tag);
          goto success;
        }
        ptr = UnknownFieldParse(tag,
            _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
            ptr, ctx);
        CHK_(ptr != nullptr);
        continue;
      }
    }  // switch
  }  // while
success:
  _has_bits_.Or(has_bits);
  return ptr;
failure:
  ptr = nullptr;
  goto success;
#undef CHK_
}

::PROTOBUF_NAMESPACE_ID::uint8* Car_info::_InternalSerialize(
    ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:message.Car_info)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  cached_has_bits = _has_bits_[0];
  // optional float car_length = 1 [default = 0];
  if (cached_has_bits & 0x00000004u) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteFloatToArray(1, this->_internal_car_length(), target);
  }

  // optional float car_width = 2 [default = 0];
  if (cached_has_bits & 0x00000008u) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteFloatToArray(2, this->_internal_car_width(), target);
  }

  // optional float car_height = 3 [default = 0];
  if (cached_has_bits & 0x00000010u) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteFloatToArray(3, this->_internal_car_height(), target);
  }

  // optional string license = 4 [default = ""];
  if (cached_has_bits & 0x00000001u) {
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::VerifyUTF8StringNamedField(
      this->_internal_license().data(), static_cast<int>(this->_internal_license().length()),
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::SERIALIZE,
      "message.Car_info.license");
    target = stream->WriteStringMaybeAliased(
        4, this->_internal_license(), target);
  }

  // optional string car_numberPlate = 5 [default = ""];
  if (cached_has_bits & 0x00000002u) {
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::VerifyUTF8StringNamedField(
      this->_internal_car_numberplate().data(), static_cast<int>(this->_internal_car_numberplate().length()),
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::SERIALIZE,
      "message.Car_info.car_numberPlate");
    target = stream->WriteStringMaybeAliased(
        5, this->_internal_car_numberplate(), target);
  }

  // optional float car_wheel_base = 6 [default = 0];
  if (cached_has_bits & 0x00000020u) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteFloatToArray(6, this->_internal_car_wheel_base(), target);
  }

  // optional float car_wheel_width = 7 [default = 0];
  if (cached_has_bits & 0x00000040u) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteFloatToArray(7, this->_internal_car_wheel_width(), target);
  }

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

size_t Car_info::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:message.Car_info)
  size_t total_size = 0;

  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  cached_has_bits = _has_bits_[0];
  if (cached_has_bits & 0x0000007fu) {
    // optional string license = 4 [default = ""];
    if (cached_has_bits & 0x00000001u) {
      total_size += 1 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
          this->_internal_license());
    }

    // optional string car_numberPlate = 5 [default = ""];
    if (cached_has_bits & 0x00000002u) {
      total_size += 1 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
          this->_internal_car_numberplate());
    }

    // optional float car_length = 1 [default = 0];
    if (cached_has_bits & 0x00000004u) {
      total_size += 1 + 4;
    }

    // optional float car_width = 2 [default = 0];
    if (cached_has_bits & 0x00000008u) {
      total_size += 1 + 4;
    }

    // optional float car_height = 3 [default = 0];
    if (cached_has_bits & 0x00000010u) {
      total_size += 1 + 4;
    }

    // optional float car_wheel_base = 6 [default = 0];
    if (cached_has_bits & 0x00000020u) {
      total_size += 1 + 4;
    }

    // optional float car_wheel_width = 7 [default = 0];
    if (cached_has_bits & 0x00000040u) {
      total_size += 1 + 4;
    }

  }
  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    return ::PROTOBUF_NAMESPACE_ID::internal::ComputeUnknownFieldsSize(
        _internal_metadata_, total_size, &_cached_size_);
  }
  int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(total_size);
  SetCachedSize(cached_size);
  return total_size;
}

void Car_info::MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
// @@protoc_insertion_point(generalized_merge_from_start:message.Car_info)
  GOOGLE_DCHECK_NE(&from, this);
  const Car_info* source =
      ::PROTOBUF_NAMESPACE_ID::DynamicCastToGenerated<Car_info>(
          &from);
  if (source == nullptr) {
  // @@protoc_insertion_point(generalized_merge_from_cast_fail:message.Car_info)
    ::PROTOBUF_NAMESPACE_ID::internal::ReflectionOps::Merge(from, this);
  } else {
  // @@protoc_insertion_point(generalized_merge_from_cast_success:message.Car_info)
    MergeFrom(*source);
  }
}

void Car_info::MergeFrom(const Car_info& from) {
// @@protoc_insertion_point(class_specific_merge_from_start:message.Car_info)
  GOOGLE_DCHECK_NE(&from, this);
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  cached_has_bits = from._has_bits_[0];
  if (cached_has_bits & 0x0000007fu) {
    if (cached_has_bits & 0x00000001u) {
      _internal_set_license(from._internal_license());
    }
    if (cached_has_bits & 0x00000002u) {
      _internal_set_car_numberplate(from._internal_car_numberplate());
    }
    if (cached_has_bits & 0x00000004u) {
      car_length_ = from.car_length_;
    }
    if (cached_has_bits & 0x00000008u) {
      car_width_ = from.car_width_;
    }
    if (cached_has_bits & 0x00000010u) {
      car_height_ = from.car_height_;
    }
    if (cached_has_bits & 0x00000020u) {
      car_wheel_base_ = from.car_wheel_base_;
    }
    if (cached_has_bits & 0x00000040u) {
      car_wheel_width_ = from.car_wheel_width_;
    }
    _has_bits_[0] |= cached_has_bits;
  }
}

void Car_info::CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
// @@protoc_insertion_point(generalized_copy_from_start:message.Car_info)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

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

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

void Car_info::InternalSwap(Car_info* other) {
  using std::swap;
  _internal_metadata_.Swap<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(&other->_internal_metadata_);
  swap(_has_bits_[0], other->_has_bits_[0]);
  license_.Swap(&other->license_, &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
  car_numberplate_.Swap(&other->car_numberplate_, &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
  ::PROTOBUF_NAMESPACE_ID::internal::memswap<
      PROTOBUF_FIELD_OFFSET(Car_info, car_wheel_width_)
      + sizeof(Car_info::car_wheel_width_)
      - PROTOBUF_FIELD_OFFSET(Car_info, car_length_)>(
          reinterpret_cast<char*>(&car_length_),
          reinterpret_cast<char*>(&other->car_length_));
}

::PROTOBUF_NAMESPACE_ID::Metadata Car_info::GetMetadata() const {
  return GetMetadataStatic();
}


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

void Parkspace_info::InitAsDefaultInstance() {
  ::message::_Parkspace_info_default_instance_._instance.get_mutable()->car_info_ = const_cast< ::message::Car_info*>(
      ::message::Car_info::internal_default_instance());
}
class Parkspace_info::_Internal {
 public:
  using HasBits = decltype(std::declval<Parkspace_info>()._has_bits_);
  static void set_has_parkingspace_index_id(HasBits* has_bits) {
    (*has_bits)[0] |= 8u;
  }
  static void set_has_parkingspace_type(HasBits* has_bits) {
    (*has_bits)[0] |= 16u;
  }
  static void set_has_parkingspace_unit_id(HasBits* has_bits) {
    (*has_bits)[0] |= 32u;
  }
  static void set_has_parkingspace_label_id(HasBits* has_bits) {
    (*has_bits)[0] |= 64u;
  }
  static void set_has_parkingspace_room_id(HasBits* has_bits) {
    (*has_bits)[0] |= 128u;
  }
  static void set_has_parkingspace_direction(HasBits* has_bits) {
    (*has_bits)[0] |= 256u;
  }
  static void set_has_parkingspace_floor_id(HasBits* has_bits) {
    (*has_bits)[0] |= 512u;
  }
  static void set_has_parkingspace_width(HasBits* has_bits) {
    (*has_bits)[0] |= 1024u;
  }
  static void set_has_parkingspace_height(HasBits* has_bits) {
    (*has_bits)[0] |= 2048u;
  }
  static void set_has_parkingspace_status(HasBits* has_bits) {
    (*has_bits)[0] |= 4096u;
  }
  static const ::message::Car_info& car_info(const Parkspace_info* msg);
  static void set_has_car_info(HasBits* has_bits) {
    (*has_bits)[0] |= 4u;
  }
  static void set_has_entry_time(HasBits* has_bits) {
    (*has_bits)[0] |= 1u;
  }
  static void set_has_leave_time(HasBits* has_bits) {
    (*has_bits)[0] |= 2u;
  }
  static void set_has_parkspace_path(HasBits* has_bits) {
    (*has_bits)[0] |= 8192u;
  }
  static void set_has_path_estimate_time(HasBits* has_bits) {
    (*has_bits)[0] |= 16384u;
  }
  static void set_has_parkspace_status_target(HasBits* has_bits) {
    (*has_bits)[0] |= 32768u;
  }
  static void set_has_car_type(HasBits* has_bits) {
    (*has_bits)[0] |= 65536u;
  }
};

const ::message::Car_info&
Parkspace_info::_Internal::car_info(const Parkspace_info* msg) {
  return *msg->car_info_;
}
Parkspace_info::Parkspace_info(::PROTOBUF_NAMESPACE_ID::Arena* arena)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena) {
  SharedCtor();
  RegisterArenaDtor(arena);
  // @@protoc_insertion_point(arena_constructor:message.Parkspace_info)
}
Parkspace_info::Parkspace_info(const Parkspace_info& from)
  : ::PROTOBUF_NAMESPACE_ID::Message(),
      _has_bits_(from._has_bits_) {
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  entry_time_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  if (from._internal_has_entry_time()) {
    entry_time_.Set(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), from._internal_entry_time(),
      GetArena());
  }
  leave_time_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  if (from._internal_has_leave_time()) {
    leave_time_.Set(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), from._internal_leave_time(),
      GetArena());
  }
  if (from._internal_has_car_info()) {
    car_info_ = new ::message::Car_info(*from.car_info_);
  } else {
    car_info_ = nullptr;
  }
  ::memcpy(&parkingspace_index_id_, &from.parkingspace_index_id_,
    static_cast<size_t>(reinterpret_cast<char*>(&car_type_) -
    reinterpret_cast<char*>(&parkingspace_index_id_)) + sizeof(car_type_));
  // @@protoc_insertion_point(copy_constructor:message.Parkspace_info)
}

void Parkspace_info::SharedCtor() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&scc_info_Parkspace_info_message_5fbase_2eproto.base);
  entry_time_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  leave_time_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  ::memset(&car_info_, 0, static_cast<size_t>(
      reinterpret_cast<char*>(&car_type_) -
      reinterpret_cast<char*>(&car_info_)) + sizeof(car_type_));
}

Parkspace_info::~Parkspace_info() {
  // @@protoc_insertion_point(destructor:message.Parkspace_info)
  SharedDtor();
  _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

void Parkspace_info::SharedDtor() {
  GOOGLE_DCHECK(GetArena() == nullptr);
  entry_time_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  leave_time_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  if (this != internal_default_instance()) delete car_info_;
}

void Parkspace_info::ArenaDtor(void* object) {
  Parkspace_info* _this = reinterpret_cast< Parkspace_info* >(object);
  (void)_this;
}
void Parkspace_info::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
}
void Parkspace_info::SetCachedSize(int size) const {
  _cached_size_.Set(size);
}
const Parkspace_info& Parkspace_info::default_instance() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&::scc_info_Parkspace_info_message_5fbase_2eproto.base);
  return *internal_default_instance();
}


void Parkspace_info::Clear() {
// @@protoc_insertion_point(message_clear_start:message.Parkspace_info)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  cached_has_bits = _has_bits_[0];
  if (cached_has_bits & 0x00000007u) {
    if (cached_has_bits & 0x00000001u) {
      entry_time_.ClearNonDefaultToEmpty();
    }
    if (cached_has_bits & 0x00000002u) {
      leave_time_.ClearNonDefaultToEmpty();
    }
    if (cached_has_bits & 0x00000004u) {
      GOOGLE_DCHECK(car_info_ != nullptr);
      car_info_->Clear();
    }
  }
  if (cached_has_bits & 0x000000f8u) {
    ::memset(&parkingspace_index_id_, 0, static_cast<size_t>(
        reinterpret_cast<char*>(&parkingspace_room_id_) -
        reinterpret_cast<char*>(&parkingspace_index_id_)) + sizeof(parkingspace_room_id_));
  }
  if (cached_has_bits & 0x0000ff00u) {
    ::memset(&parkingspace_direction_, 0, static_cast<size_t>(
        reinterpret_cast<char*>(&parkspace_status_target_) -
        reinterpret_cast<char*>(&parkingspace_direction_)) + sizeof(parkspace_status_target_));
  }
  car_type_ = 0;
  _has_bits_.Clear();
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* Parkspace_info::_InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  _Internal::HasBits has_bits{};
  ::PROTOBUF_NAMESPACE_ID::Arena* arena = GetArena(); (void)arena;
  while (!ctx->Done(&ptr)) {
    ::PROTOBUF_NAMESPACE_ID::uint32 tag;
    ptr = ::PROTOBUF_NAMESPACE_ID::internal::ReadTag(ptr, &tag);
    CHK_(ptr);
    switch (tag >> 3) {
      // optional int32 parkingspace_index_id = 1;
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 8)) {
          _Internal::set_has_parkingspace_index_id(&has_bits);
          parkingspace_index_id_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // optional .message.Parkspace_type parkingspace_type = 2;
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 16)) {
          ::PROTOBUF_NAMESPACE_ID::uint64 val = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
          if (PROTOBUF_PREDICT_TRUE(::message::Parkspace_type_IsValid(val))) {
            _internal_set_parkingspace_type(static_cast<::message::Parkspace_type>(val));
          } else {
            ::PROTOBUF_NAMESPACE_ID::internal::WriteVarint(2, val, mutable_unknown_fields());
          }
        } else goto handle_unusual;
        continue;
      // optional int32 parkingspace_unit_id = 3;
      case 3:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 24)) {
          _Internal::set_has_parkingspace_unit_id(&has_bits);
          parkingspace_unit_id_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // optional int32 parkingspace_label_id = 4;
      case 4:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 32)) {
          _Internal::set_has_parkingspace_label_id(&has_bits);
          parkingspace_label_id_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // optional int32 parkingspace_room_id = 5;
      case 5:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 40)) {
          _Internal::set_has_parkingspace_room_id(&has_bits);
          parkingspace_room_id_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // optional .message.Direction parkingspace_direction = 6;
      case 6:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 48)) {
          ::PROTOBUF_NAMESPACE_ID::uint64 val = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
          if (PROTOBUF_PREDICT_TRUE(::message::Direction_IsValid(val))) {
            _internal_set_parkingspace_direction(static_cast<::message::Direction>(val));
          } else {
            ::PROTOBUF_NAMESPACE_ID::internal::WriteVarint(6, val, mutable_unknown_fields());
          }
        } else goto handle_unusual;
        continue;
      // optional int32 parkingspace_floor_id = 7;
      case 7:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 56)) {
          _Internal::set_has_parkingspace_floor_id(&has_bits);
          parkingspace_floor_id_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // optional float parkingspace_width = 8;
      case 8:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 69)) {
          _Internal::set_has_parkingspace_width(&has_bits);
          parkingspace_width_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<float>(ptr);
          ptr += sizeof(float);
        } else goto handle_unusual;
        continue;
      // optional float parkingspace_height = 9;
      case 9:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 77)) {
          _Internal::set_has_parkingspace_height(&has_bits);
          parkingspace_height_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<float>(ptr);
          ptr += sizeof(float);
        } else goto handle_unusual;
        continue;
      // optional .message.Parkspace_status parkingspace_status = 10;
      case 10:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 80)) {
          ::PROTOBUF_NAMESPACE_ID::uint64 val = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
          if (PROTOBUF_PREDICT_TRUE(::message::Parkspace_status_IsValid(val))) {
            _internal_set_parkingspace_status(static_cast<::message::Parkspace_status>(val));
          } else {
            ::PROTOBUF_NAMESPACE_ID::internal::WriteVarint(10, val, mutable_unknown_fields());
          }
        } else goto handle_unusual;
        continue;
      // optional .message.Car_info car_info = 11;
      case 11:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 90)) {
          ptr = ctx->ParseMessage(_internal_mutable_car_info(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // optional string entry_time = 12;
      case 12:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 98)) {
          auto str = _internal_mutable_entry_time();
          ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx);
          #ifndef NDEBUG
          ::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str, "message.Parkspace_info.entry_time");
          #endif  // !NDEBUG
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // optional string leave_time = 13;
      case 13:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 106)) {
          auto str = _internal_mutable_leave_time();
          ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx);
          #ifndef NDEBUG
          ::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str, "message.Parkspace_info.leave_time");
          #endif  // !NDEBUG
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // optional .message.Parkspace_path parkspace_path = 14;
      case 14:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 112)) {
          ::PROTOBUF_NAMESPACE_ID::uint64 val = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
          if (PROTOBUF_PREDICT_TRUE(::message::Parkspace_path_IsValid(val))) {
            _internal_set_parkspace_path(static_cast<::message::Parkspace_path>(val));
          } else {
            ::PROTOBUF_NAMESPACE_ID::internal::WriteVarint(14, val, mutable_unknown_fields());
          }
        } else goto handle_unusual;
        continue;
      // optional float path_estimate_time = 15;
      case 15:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 125)) {
          _Internal::set_has_path_estimate_time(&has_bits);
          path_estimate_time_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<float>(ptr);
          ptr += sizeof(float);
        } else goto handle_unusual;
        continue;
      // optional .message.Parkspace_status parkspace_status_target = 16;
      case 16:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 128)) {
          ::PROTOBUF_NAMESPACE_ID::uint64 val = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
          if (PROTOBUF_PREDICT_TRUE(::message::Parkspace_status_IsValid(val))) {
            _internal_set_parkspace_status_target(static_cast<::message::Parkspace_status>(val));
          } else {
            ::PROTOBUF_NAMESPACE_ID::internal::WriteVarint(16, val, mutable_unknown_fields());
          }
        } else goto handle_unusual;
        continue;
      // optional .message.Car_type car_type = 17;
      case 17:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 136)) {
          ::PROTOBUF_NAMESPACE_ID::uint64 val = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
          if (PROTOBUF_PREDICT_TRUE(::message::Car_type_IsValid(val))) {
            _internal_set_car_type(static_cast<::message::Car_type>(val));
          } else {
            ::PROTOBUF_NAMESPACE_ID::internal::WriteVarint(17, val, mutable_unknown_fields());
          }
        } else goto handle_unusual;
        continue;
      default: {
      handle_unusual:
        if ((tag & 7) == 4 || tag == 0) {
          ctx->SetLastTag(tag);
          goto success;
        }
        ptr = UnknownFieldParse(tag,
            _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
            ptr, ctx);
        CHK_(ptr != nullptr);
        continue;
      }
    }  // switch
  }  // while
success:
  _has_bits_.Or(has_bits);
  return ptr;
failure:
  ptr = nullptr;
  goto success;
#undef CHK_
}

::PROTOBUF_NAMESPACE_ID::uint8* Parkspace_info::_InternalSerialize(
    ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:message.Parkspace_info)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  cached_has_bits = _has_bits_[0];
  // optional int32 parkingspace_index_id = 1;
  if (cached_has_bits & 0x00000008u) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(1, this->_internal_parkingspace_index_id(), target);
  }

  // optional .message.Parkspace_type parkingspace_type = 2;
  if (cached_has_bits & 0x00000010u) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteEnumToArray(
      2, this->_internal_parkingspace_type(), target);
  }

  // optional int32 parkingspace_unit_id = 3;
  if (cached_has_bits & 0x00000020u) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(3, this->_internal_parkingspace_unit_id(), target);
  }

  // optional int32 parkingspace_label_id = 4;
  if (cached_has_bits & 0x00000040u) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(4, this->_internal_parkingspace_label_id(), target);
  }

  // optional int32 parkingspace_room_id = 5;
  if (cached_has_bits & 0x00000080u) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(5, this->_internal_parkingspace_room_id(), target);
  }

  // optional .message.Direction parkingspace_direction = 6;
  if (cached_has_bits & 0x00000100u) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteEnumToArray(
      6, this->_internal_parkingspace_direction(), target);
  }

  // optional int32 parkingspace_floor_id = 7;
  if (cached_has_bits & 0x00000200u) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(7, this->_internal_parkingspace_floor_id(), target);
  }

  // optional float parkingspace_width = 8;
  if (cached_has_bits & 0x00000400u) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteFloatToArray(8, this->_internal_parkingspace_width(), target);
  }

  // optional float parkingspace_height = 9;
  if (cached_has_bits & 0x00000800u) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteFloatToArray(9, this->_internal_parkingspace_height(), target);
  }

  // optional .message.Parkspace_status parkingspace_status = 10;
  if (cached_has_bits & 0x00001000u) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteEnumToArray(
      10, this->_internal_parkingspace_status(), target);
  }

  // optional .message.Car_info car_info = 11;
  if (cached_has_bits & 0x00000004u) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        11, _Internal::car_info(this), target, stream);
  }

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

  // optional string leave_time = 13;
  if (cached_has_bits & 0x00000002u) {
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::VerifyUTF8StringNamedField(
      this->_internal_leave_time().data(), static_cast<int>(this->_internal_leave_time().length()),
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::SERIALIZE,
      "message.Parkspace_info.leave_time");
    target = stream->WriteStringMaybeAliased(
        13, this->_internal_leave_time(), target);
  }

  // optional .message.Parkspace_path parkspace_path = 14;
  if (cached_has_bits & 0x00002000u) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteEnumToArray(
      14, this->_internal_parkspace_path(), target);
  }

  // optional float path_estimate_time = 15;
  if (cached_has_bits & 0x00004000u) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteFloatToArray(15, this->_internal_path_estimate_time(), target);
  }

  // optional .message.Parkspace_status parkspace_status_target = 16;
  if (cached_has_bits & 0x00008000u) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteEnumToArray(
      16, this->_internal_parkspace_status_target(), target);
  }

  // optional .message.Car_type car_type = 17;
  if (cached_has_bits & 0x00010000u) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteEnumToArray(
      17, this->_internal_car_type(), target);
  }

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

size_t Parkspace_info::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:message.Parkspace_info)
  size_t total_size = 0;

  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

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

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

    // optional .message.Car_info car_info = 11;
    if (cached_has_bits & 0x00000004u) {
      total_size += 1 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
          *car_info_);
    }

    // optional int32 parkingspace_index_id = 1;
    if (cached_has_bits & 0x00000008u) {
      total_size += 1 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
          this->_internal_parkingspace_index_id());
    }

    // optional .message.Parkspace_type parkingspace_type = 2;
    if (cached_has_bits & 0x00000010u) {
      total_size += 1 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::EnumSize(this->_internal_parkingspace_type());
    }

    // optional int32 parkingspace_unit_id = 3;
    if (cached_has_bits & 0x00000020u) {
      total_size += 1 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
          this->_internal_parkingspace_unit_id());
    }

    // optional int32 parkingspace_label_id = 4;
    if (cached_has_bits & 0x00000040u) {
      total_size += 1 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
          this->_internal_parkingspace_label_id());
    }

    // optional int32 parkingspace_room_id = 5;
    if (cached_has_bits & 0x00000080u) {
      total_size += 1 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
          this->_internal_parkingspace_room_id());
    }

  }
  if (cached_has_bits & 0x0000ff00u) {
    // optional .message.Direction parkingspace_direction = 6;
    if (cached_has_bits & 0x00000100u) {
      total_size += 1 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::EnumSize(this->_internal_parkingspace_direction());
    }

    // optional int32 parkingspace_floor_id = 7;
    if (cached_has_bits & 0x00000200u) {
      total_size += 1 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
          this->_internal_parkingspace_floor_id());
    }

    // optional float parkingspace_width = 8;
    if (cached_has_bits & 0x00000400u) {
      total_size += 1 + 4;
    }

    // optional float parkingspace_height = 9;
    if (cached_has_bits & 0x00000800u) {
      total_size += 1 + 4;
    }

    // optional .message.Parkspace_status parkingspace_status = 10;
    if (cached_has_bits & 0x00001000u) {
      total_size += 1 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::EnumSize(this->_internal_parkingspace_status());
    }

    // optional .message.Parkspace_path parkspace_path = 14;
    if (cached_has_bits & 0x00002000u) {
      total_size += 1 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::EnumSize(this->_internal_parkspace_path());
    }

    // optional float path_estimate_time = 15;
    if (cached_has_bits & 0x00004000u) {
      total_size += 1 + 4;
    }

    // optional .message.Parkspace_status parkspace_status_target = 16;
    if (cached_has_bits & 0x00008000u) {
      total_size += 2 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::EnumSize(this->_internal_parkspace_status_target());
    }

  }
  // optional .message.Car_type car_type = 17;
  if (cached_has_bits & 0x00010000u) {
    total_size += 2 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::EnumSize(this->_internal_car_type());
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    return ::PROTOBUF_NAMESPACE_ID::internal::ComputeUnknownFieldsSize(
        _internal_metadata_, total_size, &_cached_size_);
  }
  int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(total_size);
  SetCachedSize(cached_size);
  return total_size;
}

void Parkspace_info::MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
// @@protoc_insertion_point(generalized_merge_from_start:message.Parkspace_info)
  GOOGLE_DCHECK_NE(&from, this);
  const Parkspace_info* source =
      ::PROTOBUF_NAMESPACE_ID::DynamicCastToGenerated<Parkspace_info>(
          &from);
  if (source == nullptr) {
  // @@protoc_insertion_point(generalized_merge_from_cast_fail:message.Parkspace_info)
    ::PROTOBUF_NAMESPACE_ID::internal::ReflectionOps::Merge(from, this);
  } else {
  // @@protoc_insertion_point(generalized_merge_from_cast_success:message.Parkspace_info)
    MergeFrom(*source);
  }
}

void Parkspace_info::MergeFrom(const Parkspace_info& from) {
// @@protoc_insertion_point(class_specific_merge_from_start:message.Parkspace_info)
  GOOGLE_DCHECK_NE(&from, this);
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  cached_has_bits = from._has_bits_[0];
  if (cached_has_bits & 0x000000ffu) {
    if (cached_has_bits & 0x00000001u) {
      _internal_set_entry_time(from._internal_entry_time());
    }
    if (cached_has_bits & 0x00000002u) {
      _internal_set_leave_time(from._internal_leave_time());
    }
    if (cached_has_bits & 0x00000004u) {
      _internal_mutable_car_info()->::message::Car_info::MergeFrom(from._internal_car_info());
    }
    if (cached_has_bits & 0x00000008u) {
      parkingspace_index_id_ = from.parkingspace_index_id_;
    }
    if (cached_has_bits & 0x00000010u) {
      parkingspace_type_ = from.parkingspace_type_;
    }
    if (cached_has_bits & 0x00000020u) {
      parkingspace_unit_id_ = from.parkingspace_unit_id_;
    }
    if (cached_has_bits & 0x00000040u) {
      parkingspace_label_id_ = from.parkingspace_label_id_;
    }
    if (cached_has_bits & 0x00000080u) {
      parkingspace_room_id_ = from.parkingspace_room_id_;
    }
    _has_bits_[0] |= cached_has_bits;
  }
  if (cached_has_bits & 0x0000ff00u) {
    if (cached_has_bits & 0x00000100u) {
      parkingspace_direction_ = from.parkingspace_direction_;
    }
    if (cached_has_bits & 0x00000200u) {
      parkingspace_floor_id_ = from.parkingspace_floor_id_;
    }
    if (cached_has_bits & 0x00000400u) {
      parkingspace_width_ = from.parkingspace_width_;
    }
    if (cached_has_bits & 0x00000800u) {
      parkingspace_height_ = from.parkingspace_height_;
    }
    if (cached_has_bits & 0x00001000u) {
      parkingspace_status_ = from.parkingspace_status_;
    }
    if (cached_has_bits & 0x00002000u) {
      parkspace_path_ = from.parkspace_path_;
    }
    if (cached_has_bits & 0x00004000u) {
      path_estimate_time_ = from.path_estimate_time_;
    }
    if (cached_has_bits & 0x00008000u) {
      parkspace_status_target_ = from.parkspace_status_target_;
    }
    _has_bits_[0] |= cached_has_bits;
  }
  if (cached_has_bits & 0x00010000u) {
    _internal_set_car_type(from._internal_car_type());
  }
}

void Parkspace_info::CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
// @@protoc_insertion_point(generalized_copy_from_start:message.Parkspace_info)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

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

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

void Parkspace_info::InternalSwap(Parkspace_info* other) {
  using std::swap;
  _internal_metadata_.Swap<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(&other->_internal_metadata_);
  swap(_has_bits_[0], other->_has_bits_[0]);
  entry_time_.Swap(&other->entry_time_, &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
  leave_time_.Swap(&other->leave_time_, &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
  ::PROTOBUF_NAMESPACE_ID::internal::memswap<
      PROTOBUF_FIELD_OFFSET(Parkspace_info, car_type_)
      + sizeof(Parkspace_info::car_type_)
      - PROTOBUF_FIELD_OFFSET(Parkspace_info, car_info_)>(
          reinterpret_cast<char*>(&car_info_),
          reinterpret_cast<char*>(&other->car_info_));
}

::PROTOBUF_NAMESPACE_ID::Metadata Parkspace_info::GetMetadata() const {
  return GetMetadataStatic();
}


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

void Id_struct::InitAsDefaultInstance() {
}
class Id_struct::_Internal {
 public:
  using HasBits = decltype(std::declval<Id_struct>()._has_bits_);
  static void set_has_terminal_id(HasBits* has_bits) {
    (*has_bits)[0] |= 1u;
  }
  static void set_has_unit_id(HasBits* has_bits) {
    (*has_bits)[0] |= 2u;
  }
};

Id_struct::Id_struct(::PROTOBUF_NAMESPACE_ID::Arena* arena)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena) {
  SharedCtor();
  RegisterArenaDtor(arena);
  // @@protoc_insertion_point(arena_constructor:message.Id_struct)
}
Id_struct::Id_struct(const Id_struct& from)
  : ::PROTOBUF_NAMESPACE_ID::Message(),
      _has_bits_(from._has_bits_) {
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  ::memcpy(&terminal_id_, &from.terminal_id_,
    static_cast<size_t>(reinterpret_cast<char*>(&unit_id_) -
    reinterpret_cast<char*>(&terminal_id_)) + sizeof(unit_id_));
  // @@protoc_insertion_point(copy_constructor:message.Id_struct)
}

void Id_struct::SharedCtor() {
  ::memset(&terminal_id_, 0, static_cast<size_t>(
      reinterpret_cast<char*>(&unit_id_) -
      reinterpret_cast<char*>(&terminal_id_)) + sizeof(unit_id_));
}

Id_struct::~Id_struct() {
  // @@protoc_insertion_point(destructor:message.Id_struct)
  SharedDtor();
  _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

void Id_struct::SharedDtor() {
  GOOGLE_DCHECK(GetArena() == nullptr);
}

void Id_struct::ArenaDtor(void* object) {
  Id_struct* _this = reinterpret_cast< Id_struct* >(object);
  (void)_this;
}
void Id_struct::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
}
void Id_struct::SetCachedSize(int size) const {
  _cached_size_.Set(size);
}
const Id_struct& Id_struct::default_instance() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&::scc_info_Id_struct_message_5fbase_2eproto.base);
  return *internal_default_instance();
}


void Id_struct::Clear() {
// @@protoc_insertion_point(message_clear_start:message.Id_struct)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  cached_has_bits = _has_bits_[0];
  if (cached_has_bits & 0x00000003u) {
    ::memset(&terminal_id_, 0, static_cast<size_t>(
        reinterpret_cast<char*>(&unit_id_) -
        reinterpret_cast<char*>(&terminal_id_)) + sizeof(unit_id_));
  }
  _has_bits_.Clear();
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* Id_struct::_InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  _Internal::HasBits has_bits{};
  ::PROTOBUF_NAMESPACE_ID::Arena* arena = GetArena(); (void)arena;
  while (!ctx->Done(&ptr)) {
    ::PROTOBUF_NAMESPACE_ID::uint32 tag;
    ptr = ::PROTOBUF_NAMESPACE_ID::internal::ReadTag(ptr, &tag);
    CHK_(ptr);
    switch (tag >> 3) {
      // optional int32 terminal_id = 1;
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 8)) {
          _Internal::set_has_terminal_id(&has_bits);
          terminal_id_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // optional int32 unit_id = 2;
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 16)) {
          _Internal::set_has_unit_id(&has_bits);
          unit_id_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      default: {
      handle_unusual:
        if ((tag & 7) == 4 || tag == 0) {
          ctx->SetLastTag(tag);
          goto success;
        }
        ptr = UnknownFieldParse(tag,
            _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
            ptr, ctx);
        CHK_(ptr != nullptr);
        continue;
      }
    }  // switch
  }  // while
success:
  _has_bits_.Or(has_bits);
  return ptr;
failure:
  ptr = nullptr;
  goto success;
#undef CHK_
}

::PROTOBUF_NAMESPACE_ID::uint8* Id_struct::_InternalSerialize(
    ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:message.Id_struct)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  cached_has_bits = _has_bits_[0];
  // optional int32 terminal_id = 1;
  if (cached_has_bits & 0x00000001u) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(1, this->_internal_terminal_id(), target);
  }

  // optional int32 unit_id = 2;
  if (cached_has_bits & 0x00000002u) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(2, this->_internal_unit_id(), target);
  }

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

size_t Id_struct::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:message.Id_struct)
  size_t total_size = 0;

  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  cached_has_bits = _has_bits_[0];
  if (cached_has_bits & 0x00000003u) {
    // optional int32 terminal_id = 1;
    if (cached_has_bits & 0x00000001u) {
      total_size += 1 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
          this->_internal_terminal_id());
    }

    // optional int32 unit_id = 2;
    if (cached_has_bits & 0x00000002u) {
      total_size += 1 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
          this->_internal_unit_id());
    }

  }
  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    return ::PROTOBUF_NAMESPACE_ID::internal::ComputeUnknownFieldsSize(
        _internal_metadata_, total_size, &_cached_size_);
  }
  int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(total_size);
  SetCachedSize(cached_size);
  return total_size;
}

void Id_struct::MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
// @@protoc_insertion_point(generalized_merge_from_start:message.Id_struct)
  GOOGLE_DCHECK_NE(&from, this);
  const Id_struct* source =
      ::PROTOBUF_NAMESPACE_ID::DynamicCastToGenerated<Id_struct>(
          &from);
  if (source == nullptr) {
  // @@protoc_insertion_point(generalized_merge_from_cast_fail:message.Id_struct)
    ::PROTOBUF_NAMESPACE_ID::internal::ReflectionOps::Merge(from, this);
  } else {
  // @@protoc_insertion_point(generalized_merge_from_cast_success:message.Id_struct)
    MergeFrom(*source);
  }
}

void Id_struct::MergeFrom(const Id_struct& from) {
// @@protoc_insertion_point(class_specific_merge_from_start:message.Id_struct)
  GOOGLE_DCHECK_NE(&from, this);
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  cached_has_bits = from._has_bits_[0];
  if (cached_has_bits & 0x00000003u) {
    if (cached_has_bits & 0x00000001u) {
      terminal_id_ = from.terminal_id_;
    }
    if (cached_has_bits & 0x00000002u) {
      unit_id_ = from.unit_id_;
    }
    _has_bits_[0] |= cached_has_bits;
  }
}

void Id_struct::CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
// @@protoc_insertion_point(generalized_copy_from_start:message.Id_struct)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

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

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

void Id_struct::InternalSwap(Id_struct* other) {
  using std::swap;
  _internal_metadata_.Swap<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(&other->_internal_metadata_);
  swap(_has_bits_[0], other->_has_bits_[0]);
  ::PROTOBUF_NAMESPACE_ID::internal::memswap<
      PROTOBUF_FIELD_OFFSET(Id_struct, unit_id_)
      + sizeof(Id_struct::unit_id_)
      - PROTOBUF_FIELD_OFFSET(Id_struct, terminal_id_)>(
          reinterpret_cast<char*>(&terminal_id_),
          reinterpret_cast<char*>(&other->terminal_id_));
}

::PROTOBUF_NAMESPACE_ID::Metadata Id_struct::GetMetadata() const {
  return GetMetadataStatic();
}


// @@protoc_insertion_point(namespace_scope)
}  // namespace message
PROTOBUF_NAMESPACE_OPEN
template<> PROTOBUF_NOINLINE ::message::Base_info* Arena::CreateMaybeMessage< ::message::Base_info >(Arena* arena) {
  return Arena::CreateMessageInternal< ::message::Base_info >(arena);
}
template<> PROTOBUF_NOINLINE ::message::Base_msg* Arena::CreateMaybeMessage< ::message::Base_msg >(Arena* arena) {
  return Arena::CreateMessageInternal< ::message::Base_msg >(arena);
}
template<> PROTOBUF_NOINLINE ::message::Error_manager* Arena::CreateMaybeMessage< ::message::Error_manager >(Arena* arena) {
  return Arena::CreateMessageInternal< ::message::Error_manager >(arena);
}
template<> PROTOBUF_NOINLINE ::message::Locate_information* Arena::CreateMaybeMessage< ::message::Locate_information >(Arena* arena) {
  return Arena::CreateMessageInternal< ::message::Locate_information >(arena);
}
template<> PROTOBUF_NOINLINE ::message::Car_info* Arena::CreateMaybeMessage< ::message::Car_info >(Arena* arena) {
  return Arena::CreateMessageInternal< ::message::Car_info >(arena);
}
template<> PROTOBUF_NOINLINE ::message::Parkspace_info* Arena::CreateMaybeMessage< ::message::Parkspace_info >(Arena* arena) {
  return Arena::CreateMessageInternal< ::message::Parkspace_info >(arena);
}
template<> PROTOBUF_NOINLINE ::message::Id_struct* Arena::CreateMaybeMessage< ::message::Id_struct >(Arena* arena) {
  return Arena::CreateMessageInternal< ::message::Id_struct >(arena);
}
PROTOBUF_NAMESPACE_CLOSE

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