// Generated by the protocol buffer compiler.  DO NOT EDIT!
// source: keyapis/device/v1/keyapis_device_trunk_config.proto

#include "keyapis/device/v1/keyapis_device_trunk_config.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/io/zero_copy_stream_impl_lite.h"
// @@protoc_insertion_point(includes)

// Must be included last.
#include "google/protobuf/port_def.inc"
PROTOBUF_PRAGMA_INIT_SEG
namespace _pb = ::PROTOBUF_NAMESPACE_ID;
namespace _pbi = ::PROTOBUF_NAMESPACE_ID::internal;
namespace keyapis {
namespace device {
namespace v1 {
template <typename>
PROTOBUF_CONSTEXPR TrunkConfig_SavingError_Conflict::TrunkConfig_SavingError_Conflict(
    ::_pbi::ConstantInitialized): _impl_{
    /*decltype(_impl_._cached_size_)*/{}} {}
struct TrunkConfig_SavingError_ConflictDefaultTypeInternal {
  PROTOBUF_CONSTEXPR TrunkConfig_SavingError_ConflictDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~TrunkConfig_SavingError_ConflictDefaultTypeInternal() {}
  union {
    TrunkConfig_SavingError_Conflict _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 TrunkConfig_SavingError_ConflictDefaultTypeInternal _TrunkConfig_SavingError_Conflict_default_instance_;
template <typename>
PROTOBUF_CONSTEXPR TrunkConfig_SavingError::TrunkConfig_SavingError(
    ::_pbi::ConstantInitialized): _impl_{
    /*decltype(_impl_.reason_)*/{}
  , /*decltype(_impl_._cached_size_)*/{}
  , /*decltype(_impl_._oneof_case_)*/{}} {}
struct TrunkConfig_SavingErrorDefaultTypeInternal {
  PROTOBUF_CONSTEXPR TrunkConfig_SavingErrorDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~TrunkConfig_SavingErrorDefaultTypeInternal() {}
  union {
    TrunkConfig_SavingError _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 TrunkConfig_SavingErrorDefaultTypeInternal _TrunkConfig_SavingError_default_instance_;
template <typename>
PROTOBUF_CONSTEXPR TrunkConfig::TrunkConfig(
    ::_pbi::ConstantInitialized): _impl_{
    /*decltype(_impl_._has_bits_)*/{}
  , /*decltype(_impl_._cached_size_)*/{}
  , /*decltype(_impl_.id_)*/ {
    &::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized {}
  }

  , /*decltype(_impl_.ip_address_)*/ {
    &::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized {}
  }

  , /*decltype(_impl_.created_at_)*/nullptr
  , /*decltype(_impl_.changed_at_)*/nullptr
  , /*decltype(_impl_.deleted_at_)*/nullptr
  , /*decltype(_impl_.city_orpon_id_)*/ ::int64_t{0}

  , /*decltype(_impl_.device_sip_trunk_sip_type_)*/ 0

  , /*decltype(_impl_.port_)*/ 0
} {}
struct TrunkConfigDefaultTypeInternal {
  PROTOBUF_CONSTEXPR TrunkConfigDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~TrunkConfigDefaultTypeInternal() {}
  union {
    TrunkConfig _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 TrunkConfigDefaultTypeInternal _TrunkConfig_default_instance_;
template <typename>
PROTOBUF_CONSTEXPR TrunkConfigFilter::TrunkConfigFilter(
    ::_pbi::ConstantInitialized): _impl_{
    /*decltype(_impl_._has_bits_)*/{}
  , /*decltype(_impl_._cached_size_)*/{}
  , /*decltype(_impl_.city_orpon_ids_)*/ {}
  ,/* _impl_._city_orpon_ids_cached_byte_size_ = */ { 0 }

  , /*decltype(_impl_.ip_addresses_)*/{}
  , /*decltype(_impl_.show_deleted_)*/nullptr} {}
struct TrunkConfigFilterDefaultTypeInternal {
  PROTOBUF_CONSTEXPR TrunkConfigFilterDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~TrunkConfigFilterDefaultTypeInternal() {}
  union {
    TrunkConfigFilter _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 TrunkConfigFilterDefaultTypeInternal _TrunkConfigFilter_default_instance_;
template <typename>
PROTOBUF_CONSTEXPR TrunkConfigPaging::TrunkConfigPaging(
    ::_pbi::ConstantInitialized): _impl_{
    /*decltype(_impl_.order_by_type_)*/ 0

  , /*decltype(_impl_.direction_type_)*/ 0

  , /*decltype(_impl_.limit_)*/ 0

  , /*decltype(_impl_.offset_)*/ 0

  , /*decltype(_impl_._cached_size_)*/{}} {}
struct TrunkConfigPagingDefaultTypeInternal {
  PROTOBUF_CONSTEXPR TrunkConfigPagingDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~TrunkConfigPagingDefaultTypeInternal() {}
  union {
    TrunkConfigPaging _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 TrunkConfigPagingDefaultTypeInternal _TrunkConfigPaging_default_instance_;
template <typename>
PROTOBUF_CONSTEXPR PostTrunkConfigRequest::PostTrunkConfigRequest(
    ::_pbi::ConstantInitialized): _impl_{
    /*decltype(_impl_._has_bits_)*/{}
  , /*decltype(_impl_._cached_size_)*/{}
  , /*decltype(_impl_.data_)*/nullptr} {}
struct PostTrunkConfigRequestDefaultTypeInternal {
  PROTOBUF_CONSTEXPR PostTrunkConfigRequestDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~PostTrunkConfigRequestDefaultTypeInternal() {}
  union {
    PostTrunkConfigRequest _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 PostTrunkConfigRequestDefaultTypeInternal _PostTrunkConfigRequest_default_instance_;
template <typename>
PROTOBUF_CONSTEXPR PostTrunkConfigResponse_Error::PostTrunkConfigResponse_Error(
    ::_pbi::ConstantInitialized): _impl_{
    /*decltype(_impl_.reason_)*/{}
  , /*decltype(_impl_._cached_size_)*/{}
  , /*decltype(_impl_._oneof_case_)*/{}} {}
struct PostTrunkConfigResponse_ErrorDefaultTypeInternal {
  PROTOBUF_CONSTEXPR PostTrunkConfigResponse_ErrorDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~PostTrunkConfigResponse_ErrorDefaultTypeInternal() {}
  union {
    PostTrunkConfigResponse_Error _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 PostTrunkConfigResponse_ErrorDefaultTypeInternal _PostTrunkConfigResponse_Error_default_instance_;
template <typename>
PROTOBUF_CONSTEXPR PostTrunkConfigResponse::PostTrunkConfigResponse(
    ::_pbi::ConstantInitialized): _impl_{
    /*decltype(_impl_.type_)*/{}
  , /*decltype(_impl_._cached_size_)*/{}
  , /*decltype(_impl_._oneof_case_)*/{}} {}
struct PostTrunkConfigResponseDefaultTypeInternal {
  PROTOBUF_CONSTEXPR PostTrunkConfigResponseDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~PostTrunkConfigResponseDefaultTypeInternal() {}
  union {
    PostTrunkConfigResponse _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 PostTrunkConfigResponseDefaultTypeInternal _PostTrunkConfigResponse_default_instance_;
template <typename>
PROTOBUF_CONSTEXPR GetTrunkConfigRequest::GetTrunkConfigRequest(
    ::_pbi::ConstantInitialized): _impl_{
    /*decltype(_impl_.id_)*/ {
    &::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized {}
  }

  , /*decltype(_impl_._cached_size_)*/{}} {}
struct GetTrunkConfigRequestDefaultTypeInternal {
  PROTOBUF_CONSTEXPR GetTrunkConfigRequestDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~GetTrunkConfigRequestDefaultTypeInternal() {}
  union {
    GetTrunkConfigRequest _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 GetTrunkConfigRequestDefaultTypeInternal _GetTrunkConfigRequest_default_instance_;
template <typename>
PROTOBUF_CONSTEXPR GetTrunkConfigResponse_Error::GetTrunkConfigResponse_Error(
    ::_pbi::ConstantInitialized): _impl_{
    /*decltype(_impl_.reason_)*/{}
  , /*decltype(_impl_._cached_size_)*/{}
  , /*decltype(_impl_._oneof_case_)*/{}} {}
struct GetTrunkConfigResponse_ErrorDefaultTypeInternal {
  PROTOBUF_CONSTEXPR GetTrunkConfigResponse_ErrorDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~GetTrunkConfigResponse_ErrorDefaultTypeInternal() {}
  union {
    GetTrunkConfigResponse_Error _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 GetTrunkConfigResponse_ErrorDefaultTypeInternal _GetTrunkConfigResponse_Error_default_instance_;
template <typename>
PROTOBUF_CONSTEXPR GetTrunkConfigResponse::GetTrunkConfigResponse(
    ::_pbi::ConstantInitialized): _impl_{
    /*decltype(_impl_.type_)*/{}
  , /*decltype(_impl_._cached_size_)*/{}
  , /*decltype(_impl_._oneof_case_)*/{}} {}
struct GetTrunkConfigResponseDefaultTypeInternal {
  PROTOBUF_CONSTEXPR GetTrunkConfigResponseDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~GetTrunkConfigResponseDefaultTypeInternal() {}
  union {
    GetTrunkConfigResponse _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 GetTrunkConfigResponseDefaultTypeInternal _GetTrunkConfigResponse_default_instance_;
template <typename>
PROTOBUF_CONSTEXPR GetTrunkConfigListRequest::GetTrunkConfigListRequest(
    ::_pbi::ConstantInitialized): _impl_{
    /*decltype(_impl_._has_bits_)*/{}
  , /*decltype(_impl_._cached_size_)*/{}
  , /*decltype(_impl_.filter_)*/nullptr
  , /*decltype(_impl_.pagination_)*/{}
  , /*decltype(_impl_._oneof_case_)*/{}} {}
struct GetTrunkConfigListRequestDefaultTypeInternal {
  PROTOBUF_CONSTEXPR GetTrunkConfigListRequestDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~GetTrunkConfigListRequestDefaultTypeInternal() {}
  union {
    GetTrunkConfigListRequest _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 GetTrunkConfigListRequestDefaultTypeInternal _GetTrunkConfigListRequest_default_instance_;
template <typename>
PROTOBUF_CONSTEXPR GetTrunkConfigListResponse_Error::GetTrunkConfigListResponse_Error(
    ::_pbi::ConstantInitialized): _impl_{
    /*decltype(_impl_._has_bits_)*/{}
  , /*decltype(_impl_._cached_size_)*/{}
  , /*decltype(_impl_.validation_error_)*/nullptr} {}
struct GetTrunkConfigListResponse_ErrorDefaultTypeInternal {
  PROTOBUF_CONSTEXPR GetTrunkConfigListResponse_ErrorDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~GetTrunkConfigListResponse_ErrorDefaultTypeInternal() {}
  union {
    GetTrunkConfigListResponse_Error _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 GetTrunkConfigListResponse_ErrorDefaultTypeInternal _GetTrunkConfigListResponse_Error_default_instance_;
template <typename>
PROTOBUF_CONSTEXPR GetTrunkConfigListResponse::GetTrunkConfigListResponse(
    ::_pbi::ConstantInitialized): _impl_{
    /*decltype(_impl_.type_)*/{}
  , /*decltype(_impl_._cached_size_)*/{}
  , /*decltype(_impl_._oneof_case_)*/{}} {}
struct GetTrunkConfigListResponseDefaultTypeInternal {
  PROTOBUF_CONSTEXPR GetTrunkConfigListResponseDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~GetTrunkConfigListResponseDefaultTypeInternal() {}
  union {
    GetTrunkConfigListResponse _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 GetTrunkConfigListResponseDefaultTypeInternal _GetTrunkConfigListResponse_default_instance_;
template <typename>
PROTOBUF_CONSTEXPR GetTrunkConfigCountRequest::GetTrunkConfigCountRequest(
    ::_pbi::ConstantInitialized): _impl_{
    /*decltype(_impl_._has_bits_)*/{}
  , /*decltype(_impl_._cached_size_)*/{}
  , /*decltype(_impl_.filter_)*/nullptr} {}
struct GetTrunkConfigCountRequestDefaultTypeInternal {
  PROTOBUF_CONSTEXPR GetTrunkConfigCountRequestDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~GetTrunkConfigCountRequestDefaultTypeInternal() {}
  union {
    GetTrunkConfigCountRequest _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 GetTrunkConfigCountRequestDefaultTypeInternal _GetTrunkConfigCountRequest_default_instance_;
template <typename>
PROTOBUF_CONSTEXPR GetTrunkConfigCountResponse_Error::GetTrunkConfigCountResponse_Error(
    ::_pbi::ConstantInitialized): _impl_{
    /*decltype(_impl_._has_bits_)*/{}
  , /*decltype(_impl_._cached_size_)*/{}
  , /*decltype(_impl_.validation_error_)*/nullptr} {}
struct GetTrunkConfigCountResponse_ErrorDefaultTypeInternal {
  PROTOBUF_CONSTEXPR GetTrunkConfigCountResponse_ErrorDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~GetTrunkConfigCountResponse_ErrorDefaultTypeInternal() {}
  union {
    GetTrunkConfigCountResponse_Error _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 GetTrunkConfigCountResponse_ErrorDefaultTypeInternal _GetTrunkConfigCountResponse_Error_default_instance_;
template <typename>
PROTOBUF_CONSTEXPR GetTrunkConfigCountResponse::GetTrunkConfigCountResponse(
    ::_pbi::ConstantInitialized): _impl_{
    /*decltype(_impl_.type_)*/{}
  , /*decltype(_impl_._cached_size_)*/{}
  , /*decltype(_impl_._oneof_case_)*/{}} {}
struct GetTrunkConfigCountResponseDefaultTypeInternal {
  PROTOBUF_CONSTEXPR GetTrunkConfigCountResponseDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~GetTrunkConfigCountResponseDefaultTypeInternal() {}
  union {
    GetTrunkConfigCountResponse _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 GetTrunkConfigCountResponseDefaultTypeInternal _GetTrunkConfigCountResponse_default_instance_;
template <typename>
PROTOBUF_CONSTEXPR DeleteTrunkConfigRequest::DeleteTrunkConfigRequest(
    ::_pbi::ConstantInitialized): _impl_{
    /*decltype(_impl_.id_)*/ {
    &::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized {}
  }

  , /*decltype(_impl_._cached_size_)*/{}} {}
struct DeleteTrunkConfigRequestDefaultTypeInternal {
  PROTOBUF_CONSTEXPR DeleteTrunkConfigRequestDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~DeleteTrunkConfigRequestDefaultTypeInternal() {}
  union {
    DeleteTrunkConfigRequest _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 DeleteTrunkConfigRequestDefaultTypeInternal _DeleteTrunkConfigRequest_default_instance_;
template <typename>
PROTOBUF_CONSTEXPR DeleteTrunkConfigResponse_Error::DeleteTrunkConfigResponse_Error(
    ::_pbi::ConstantInitialized): _impl_{
    /*decltype(_impl_.reason_)*/{}
  , /*decltype(_impl_._cached_size_)*/{}
  , /*decltype(_impl_._oneof_case_)*/{}} {}
struct DeleteTrunkConfigResponse_ErrorDefaultTypeInternal {
  PROTOBUF_CONSTEXPR DeleteTrunkConfigResponse_ErrorDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~DeleteTrunkConfigResponse_ErrorDefaultTypeInternal() {}
  union {
    DeleteTrunkConfigResponse_Error _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 DeleteTrunkConfigResponse_ErrorDefaultTypeInternal _DeleteTrunkConfigResponse_Error_default_instance_;
template <typename>
PROTOBUF_CONSTEXPR DeleteTrunkConfigResponse::DeleteTrunkConfigResponse(
    ::_pbi::ConstantInitialized): _impl_{
    /*decltype(_impl_.type_)*/{}
  , /*decltype(_impl_._cached_size_)*/{}
  , /*decltype(_impl_._oneof_case_)*/{}} {}
struct DeleteTrunkConfigResponseDefaultTypeInternal {
  PROTOBUF_CONSTEXPR DeleteTrunkConfigResponseDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~DeleteTrunkConfigResponseDefaultTypeInternal() {}
  union {
    DeleteTrunkConfigResponse _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 DeleteTrunkConfigResponseDefaultTypeInternal _DeleteTrunkConfigResponse_default_instance_;
template <typename>
PROTOBUF_CONSTEXPR PostTrunkConfigRestoreRequest::PostTrunkConfigRestoreRequest(
    ::_pbi::ConstantInitialized): _impl_{
    /*decltype(_impl_.id_)*/ {
    &::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized {}
  }

  , /*decltype(_impl_._cached_size_)*/{}} {}
struct PostTrunkConfigRestoreRequestDefaultTypeInternal {
  PROTOBUF_CONSTEXPR PostTrunkConfigRestoreRequestDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~PostTrunkConfigRestoreRequestDefaultTypeInternal() {}
  union {
    PostTrunkConfigRestoreRequest _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 PostTrunkConfigRestoreRequestDefaultTypeInternal _PostTrunkConfigRestoreRequest_default_instance_;
template <typename>
PROTOBUF_CONSTEXPR PostTrunkConfigRestoreResponse_Error::PostTrunkConfigRestoreResponse_Error(
    ::_pbi::ConstantInitialized): _impl_{
    /*decltype(_impl_.reason_)*/{}
  , /*decltype(_impl_._cached_size_)*/{}
  , /*decltype(_impl_._oneof_case_)*/{}} {}
struct PostTrunkConfigRestoreResponse_ErrorDefaultTypeInternal {
  PROTOBUF_CONSTEXPR PostTrunkConfigRestoreResponse_ErrorDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~PostTrunkConfigRestoreResponse_ErrorDefaultTypeInternal() {}
  union {
    PostTrunkConfigRestoreResponse_Error _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 PostTrunkConfigRestoreResponse_ErrorDefaultTypeInternal _PostTrunkConfigRestoreResponse_Error_default_instance_;
template <typename>
PROTOBUF_CONSTEXPR PostTrunkConfigRestoreResponse::PostTrunkConfigRestoreResponse(
    ::_pbi::ConstantInitialized): _impl_{
    /*decltype(_impl_.type_)*/{}
  , /*decltype(_impl_._cached_size_)*/{}
  , /*decltype(_impl_._oneof_case_)*/{}} {}
struct PostTrunkConfigRestoreResponseDefaultTypeInternal {
  PROTOBUF_CONSTEXPR PostTrunkConfigRestoreResponseDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~PostTrunkConfigRestoreResponseDefaultTypeInternal() {}
  union {
    PostTrunkConfigRestoreResponse _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 PostTrunkConfigRestoreResponseDefaultTypeInternal _PostTrunkConfigRestoreResponse_default_instance_;
}  // namespace v1
}  // namespace device
}  // namespace keyapis
namespace keyapis {
namespace device {
namespace v1 {
bool TrunkConfigPaging_OrderByType_IsValid(int value) {
  switch (value) {
    case 0:
    case 1:
    case 2:
    case 3:
      return true;
    default:
      return false;
  }
}
static ::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed<std::string>
    TrunkConfigPaging_OrderByType_strings[4] = {};

static const char TrunkConfigPaging_OrderByType_names[] = {
    "CHANGED_AT"
    "CREATED_AT"
    "ID"
    "ORDER_BY_TYPE_UNKNOWN"
};

static const ::PROTOBUF_NAMESPACE_ID::internal::EnumEntry TrunkConfigPaging_OrderByType_entries[] =
    {
        {{&TrunkConfigPaging_OrderByType_names[0], 10}, 2},
        {{&TrunkConfigPaging_OrderByType_names[10], 10}, 3},
        {{&TrunkConfigPaging_OrderByType_names[20], 2}, 1},
        {{&TrunkConfigPaging_OrderByType_names[22], 21}, 0},
};

static const int TrunkConfigPaging_OrderByType_entries_by_number[] = {
    3,  // 0 -> ORDER_BY_TYPE_UNKNOWN
    2,  // 1 -> ID
    0,  // 2 -> CHANGED_AT
    1,  // 3 -> CREATED_AT
};

const std::string& TrunkConfigPaging_OrderByType_Name(TrunkConfigPaging_OrderByType value) {
  static const bool kDummy =
      ::PROTOBUF_NAMESPACE_ID::internal::InitializeEnumStrings(
          TrunkConfigPaging_OrderByType_entries, TrunkConfigPaging_OrderByType_entries_by_number,
          4, TrunkConfigPaging_OrderByType_strings);
  (void)kDummy;

  int idx = ::PROTOBUF_NAMESPACE_ID::internal::LookUpEnumName(
      TrunkConfigPaging_OrderByType_entries, TrunkConfigPaging_OrderByType_entries_by_number, 4,
      value);
  return idx == -1 ? ::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString()
                   : TrunkConfigPaging_OrderByType_strings[idx].get();
}

bool TrunkConfigPaging_OrderByType_Parse(absl::string_view name, TrunkConfigPaging_OrderByType* value) {
  int int_value;
  bool success = ::PROTOBUF_NAMESPACE_ID::internal::LookUpEnumValue(
      TrunkConfigPaging_OrderByType_entries, 4, name, &int_value);
  if (success) {
    *value = static_cast<TrunkConfigPaging_OrderByType>(int_value);
  }
  return success;
}
#if (__cplusplus < 201703) && \
  (!defined(_MSC_VER) || (_MSC_VER >= 1900 && _MSC_VER < 1912))

constexpr TrunkConfigPaging_OrderByType TrunkConfigPaging::ORDER_BY_TYPE_UNKNOWN;
constexpr TrunkConfigPaging_OrderByType TrunkConfigPaging::ID;
constexpr TrunkConfigPaging_OrderByType TrunkConfigPaging::CHANGED_AT;
constexpr TrunkConfigPaging_OrderByType TrunkConfigPaging::CREATED_AT;
constexpr TrunkConfigPaging_OrderByType TrunkConfigPaging::OrderByType_MIN;
constexpr TrunkConfigPaging_OrderByType TrunkConfigPaging::OrderByType_MAX;
constexpr int TrunkConfigPaging::OrderByType_ARRAYSIZE;

#endif  // (__cplusplus < 201703) &&
        // (!defined(_MSC_VER) || (_MSC_VER >= 1900 && _MSC_VER < 1912))
bool TrunkConfigPaging_DirectionType_IsValid(int value) {
  switch (value) {
    case 0:
    case 1:
    case 2:
      return true;
    default:
      return false;
  }
}
static ::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed<std::string>
    TrunkConfigPaging_DirectionType_strings[3] = {};

static const char TrunkConfigPaging_DirectionType_names[] = {
    "ASC"
    "DESC"
    "DIRECTION_TYPE_UNKNOWN"
};

static const ::PROTOBUF_NAMESPACE_ID::internal::EnumEntry TrunkConfigPaging_DirectionType_entries[] =
    {
        {{&TrunkConfigPaging_DirectionType_names[0], 3}, 2},
        {{&TrunkConfigPaging_DirectionType_names[3], 4}, 1},
        {{&TrunkConfigPaging_DirectionType_names[7], 22}, 0},
};

static const int TrunkConfigPaging_DirectionType_entries_by_number[] = {
    2,  // 0 -> DIRECTION_TYPE_UNKNOWN
    1,  // 1 -> DESC
    0,  // 2 -> ASC
};

const std::string& TrunkConfigPaging_DirectionType_Name(TrunkConfigPaging_DirectionType value) {
  static const bool kDummy =
      ::PROTOBUF_NAMESPACE_ID::internal::InitializeEnumStrings(
          TrunkConfigPaging_DirectionType_entries, TrunkConfigPaging_DirectionType_entries_by_number,
          3, TrunkConfigPaging_DirectionType_strings);
  (void)kDummy;

  int idx = ::PROTOBUF_NAMESPACE_ID::internal::LookUpEnumName(
      TrunkConfigPaging_DirectionType_entries, TrunkConfigPaging_DirectionType_entries_by_number, 3,
      value);
  return idx == -1 ? ::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString()
                   : TrunkConfigPaging_DirectionType_strings[idx].get();
}

bool TrunkConfigPaging_DirectionType_Parse(absl::string_view name, TrunkConfigPaging_DirectionType* value) {
  int int_value;
  bool success = ::PROTOBUF_NAMESPACE_ID::internal::LookUpEnumValue(
      TrunkConfigPaging_DirectionType_entries, 3, name, &int_value);
  if (success) {
    *value = static_cast<TrunkConfigPaging_DirectionType>(int_value);
  }
  return success;
}
#if (__cplusplus < 201703) && \
  (!defined(_MSC_VER) || (_MSC_VER >= 1900 && _MSC_VER < 1912))

constexpr TrunkConfigPaging_DirectionType TrunkConfigPaging::DIRECTION_TYPE_UNKNOWN;
constexpr TrunkConfigPaging_DirectionType TrunkConfigPaging::DESC;
constexpr TrunkConfigPaging_DirectionType TrunkConfigPaging::ASC;
constexpr TrunkConfigPaging_DirectionType TrunkConfigPaging::DirectionType_MIN;
constexpr TrunkConfigPaging_DirectionType TrunkConfigPaging::DirectionType_MAX;
constexpr int TrunkConfigPaging::DirectionType_ARRAYSIZE;

#endif  // (__cplusplus < 201703) &&
        // (!defined(_MSC_VER) || (_MSC_VER >= 1900 && _MSC_VER < 1912))
// ===================================================================

class TrunkConfig_SavingError_Conflict::_Internal {
 public:
};

TrunkConfig_SavingError_Conflict::TrunkConfig_SavingError_Conflict(::PROTOBUF_NAMESPACE_ID::Arena* arena)
  : ::PROTOBUF_NAMESPACE_ID::MessageLite(arena) {
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:keyapis.device.v1.TrunkConfig.SavingError.Conflict)
}
TrunkConfig_SavingError_Conflict::TrunkConfig_SavingError_Conflict(const TrunkConfig_SavingError_Conflict& from)
  : ::PROTOBUF_NAMESPACE_ID::MessageLite(), _impl_(from._impl_) {
  _internal_metadata_.MergeFrom<std::string>(
      from._internal_metadata_);
  // @@protoc_insertion_point(copy_constructor:keyapis.device.v1.TrunkConfig.SavingError.Conflict)
}

inline void TrunkConfig_SavingError_Conflict::SharedCtor(::_pb::Arena* arena) {
  (void)arena;
  new (&_impl_) Impl_{
      /*decltype(_impl_._cached_size_)*/{}
  };
}

TrunkConfig_SavingError_Conflict::~TrunkConfig_SavingError_Conflict() {
  // @@protoc_insertion_point(destructor:keyapis.device.v1.TrunkConfig.SavingError.Conflict)
  if (auto *arena = _internal_metadata_.DeleteReturnArena<std::string>()) {
  (void)arena;
    return;
  }
  SharedDtor();
}

inline void TrunkConfig_SavingError_Conflict::SharedDtor() {
  ABSL_DCHECK(GetArenaForAllocation() == nullptr);
}

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

void TrunkConfig_SavingError_Conflict::Clear() {
// @@protoc_insertion_point(message_clear_start:keyapis.device.v1.TrunkConfig.SavingError.Conflict)
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _internal_metadata_.Clear<std::string>();
}

const char* TrunkConfig_SavingError_Conflict::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  while (!ctx->Done(&ptr)) {
    ::uint32_t tag;
    ptr = ::_pbi::ReadTag(ptr, &tag);
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<std::string>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

::uint8_t* TrunkConfig_SavingError_Conflict::_InternalSerialize(
    ::uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:keyapis.device.v1.TrunkConfig.SavingError.Conflict)
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = stream->WriteRaw(_internal_metadata_.unknown_fields<std::string>(::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString).data(),
        static_cast<int>(_internal_metadata_.unknown_fields<std::string>(::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString).size()), target);
  }
  // @@protoc_insertion_point(serialize_to_array_end:keyapis.device.v1.TrunkConfig.SavingError.Conflict)
  return target;
}

::size_t TrunkConfig_SavingError_Conflict::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:keyapis.device.v1.TrunkConfig.SavingError.Conflict)
  ::size_t total_size = 0;

  ::uint32_t 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())) {
    total_size += _internal_metadata_.unknown_fields<std::string>(::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString).size();
  }
  int cached_size = ::_pbi::ToCachedSize(total_size);
  SetCachedSize(cached_size);
  return total_size;
}

void TrunkConfig_SavingError_Conflict::CheckTypeAndMergeFrom(
    const ::PROTOBUF_NAMESPACE_ID::MessageLite& from) {
  MergeFrom(*::_pbi::DownCast<const TrunkConfig_SavingError_Conflict*>(
      &from));
}

void TrunkConfig_SavingError_Conflict::MergeFrom(const TrunkConfig_SavingError_Conflict& from) {
  TrunkConfig_SavingError_Conflict* const _this = this;
  // @@protoc_insertion_point(class_specific_merge_from_start:keyapis.device.v1.TrunkConfig.SavingError.Conflict)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  _this->_internal_metadata_.MergeFrom<std::string>(from._internal_metadata_);
}

void TrunkConfig_SavingError_Conflict::CopyFrom(const TrunkConfig_SavingError_Conflict& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:keyapis.device.v1.TrunkConfig.SavingError.Conflict)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

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

void TrunkConfig_SavingError_Conflict::InternalSwap(TrunkConfig_SavingError_Conflict* other) {
  using std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
}

std::string TrunkConfig_SavingError_Conflict::GetTypeName() const {
  return "keyapis.device.v1.TrunkConfig.SavingError.Conflict";
}

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

class TrunkConfig_SavingError::_Internal {
 public:
  static constexpr ::int32_t kOneofCaseOffset =
    PROTOBUF_FIELD_OFFSET(::keyapis::device::v1::TrunkConfig_SavingError, _impl_._oneof_case_);
  static const ::keyapis::device::v1::TrunkConfig_SavingError_Conflict& conflict(const TrunkConfig_SavingError* msg);
};

const ::keyapis::device::v1::TrunkConfig_SavingError_Conflict&
TrunkConfig_SavingError::_Internal::conflict(const TrunkConfig_SavingError* msg) {
  return *msg->_impl_.reason_.conflict_;
}
void TrunkConfig_SavingError::set_allocated_conflict(::keyapis::device::v1::TrunkConfig_SavingError_Conflict* conflict) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation();
  clear_reason();
  if (conflict) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(conflict);
    if (message_arena != submessage_arena) {
      conflict = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, conflict, submessage_arena);
    }
    set_has_conflict();
    _impl_.reason_.conflict_ = conflict;
  }
  // @@protoc_insertion_point(field_set_allocated:keyapis.device.v1.TrunkConfig.SavingError.conflict)
}
TrunkConfig_SavingError::TrunkConfig_SavingError(::PROTOBUF_NAMESPACE_ID::Arena* arena)
  : ::PROTOBUF_NAMESPACE_ID::MessageLite(arena) {
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:keyapis.device.v1.TrunkConfig.SavingError)
}
TrunkConfig_SavingError::TrunkConfig_SavingError(const TrunkConfig_SavingError& from)
  : ::PROTOBUF_NAMESPACE_ID::MessageLite() {
  TrunkConfig_SavingError* const _this = this; (void)_this;
  new (&_impl_) Impl_{
      decltype(_impl_.reason_){}
    , /*decltype(_impl_._cached_size_)*/{}
    , /*decltype(_impl_._oneof_case_)*/{}};

  _internal_metadata_.MergeFrom<std::string>(from._internal_metadata_);
  clear_has_reason();
  switch (from.reason_case()) {
    case kConflict: {
      _this->_internal_mutable_conflict()->::keyapis::device::v1::TrunkConfig_SavingError_Conflict::MergeFrom(
          from._internal_conflict());
      break;
    }
    case REASON_NOT_SET: {
      break;
    }
  }
  // @@protoc_insertion_point(copy_constructor:keyapis.device.v1.TrunkConfig.SavingError)
}

inline void TrunkConfig_SavingError::SharedCtor(::_pb::Arena* arena) {
  (void)arena;
  new (&_impl_) Impl_{
      decltype(_impl_.reason_){}
    , /*decltype(_impl_._cached_size_)*/{}
    , /*decltype(_impl_._oneof_case_)*/{}
  };
  clear_has_reason();
}

TrunkConfig_SavingError::~TrunkConfig_SavingError() {
  // @@protoc_insertion_point(destructor:keyapis.device.v1.TrunkConfig.SavingError)
  if (auto *arena = _internal_metadata_.DeleteReturnArena<std::string>()) {
  (void)arena;
    return;
  }
  SharedDtor();
}

inline void TrunkConfig_SavingError::SharedDtor() {
  ABSL_DCHECK(GetArenaForAllocation() == nullptr);
  if (has_reason()) {
    clear_reason();
  }
}

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

void TrunkConfig_SavingError::clear_reason() {
// @@protoc_insertion_point(one_of_clear_start:keyapis.device.v1.TrunkConfig.SavingError)
  switch (reason_case()) {
    case kConflict: {
      if (GetArenaForAllocation() == nullptr) {
        delete _impl_.reason_.conflict_;
      }
      break;
    }
    case REASON_NOT_SET: {
      break;
    }
  }
  _impl_._oneof_case_[0] = REASON_NOT_SET;
}


void TrunkConfig_SavingError::Clear() {
// @@protoc_insertion_point(message_clear_start:keyapis.device.v1.TrunkConfig.SavingError)
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  clear_reason();
  _internal_metadata_.Clear<std::string>();
}

const char* TrunkConfig_SavingError::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  while (!ctx->Done(&ptr)) {
    ::uint32_t tag;
    ptr = ::_pbi::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // .keyapis.device.v1.TrunkConfig.SavingError.Conflict conflict = 1;
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::uint8_t>(tag) == 10)) {
          ptr = ctx->ParseMessage(_internal_mutable_conflict(), ptr);
          CHK_(ptr);
        } else {
          goto handle_unusual;
        }
        continue;
      default:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<std::string>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

::uint8_t* TrunkConfig_SavingError::_InternalSerialize(
    ::uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:keyapis.device.v1.TrunkConfig.SavingError)
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  // .keyapis.device.v1.TrunkConfig.SavingError.Conflict conflict = 1;
  if (reason_case() == kConflict) {
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(1, _Internal::conflict(this),
        _Internal::conflict(this).GetCachedSize(), target, stream);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = stream->WriteRaw(_internal_metadata_.unknown_fields<std::string>(::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString).data(),
        static_cast<int>(_internal_metadata_.unknown_fields<std::string>(::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString).size()), target);
  }
  // @@protoc_insertion_point(serialize_to_array_end:keyapis.device.v1.TrunkConfig.SavingError)
  return target;
}

::size_t TrunkConfig_SavingError::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:keyapis.device.v1.TrunkConfig.SavingError)
  ::size_t total_size = 0;

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

  switch (reason_case()) {
    // .keyapis.device.v1.TrunkConfig.SavingError.Conflict conflict = 1;
    case kConflict: {
      total_size += 1 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
          *_impl_.reason_.conflict_);
      break;
    }
    case REASON_NOT_SET: {
      break;
    }
  }
  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    total_size += _internal_metadata_.unknown_fields<std::string>(::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString).size();
  }
  int cached_size = ::_pbi::ToCachedSize(total_size);
  SetCachedSize(cached_size);
  return total_size;
}

void TrunkConfig_SavingError::CheckTypeAndMergeFrom(
    const ::PROTOBUF_NAMESPACE_ID::MessageLite& from) {
  MergeFrom(*::_pbi::DownCast<const TrunkConfig_SavingError*>(
      &from));
}

void TrunkConfig_SavingError::MergeFrom(const TrunkConfig_SavingError& from) {
  TrunkConfig_SavingError* const _this = this;
  // @@protoc_insertion_point(class_specific_merge_from_start:keyapis.device.v1.TrunkConfig.SavingError)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  switch (from.reason_case()) {
    case kConflict: {
      _this->_internal_mutable_conflict()->::keyapis::device::v1::TrunkConfig_SavingError_Conflict::MergeFrom(
          from._internal_conflict());
      break;
    }
    case REASON_NOT_SET: {
      break;
    }
  }
  _this->_internal_metadata_.MergeFrom<std::string>(from._internal_metadata_);
}

void TrunkConfig_SavingError::CopyFrom(const TrunkConfig_SavingError& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:keyapis.device.v1.TrunkConfig.SavingError)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

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

void TrunkConfig_SavingError::InternalSwap(TrunkConfig_SavingError* other) {
  using std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_.reason_, other->_impl_.reason_);
  swap(_impl_._oneof_case_[0], other->_impl_._oneof_case_[0]);
}

std::string TrunkConfig_SavingError::GetTypeName() const {
  return "keyapis.device.v1.TrunkConfig.SavingError";
}

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

class TrunkConfig::_Internal {
 public:
  using HasBits = decltype(std::declval<TrunkConfig>()._impl_._has_bits_);
  static constexpr ::int32_t kHasBitsOffset =
    8 * PROTOBUF_FIELD_OFFSET(TrunkConfig, _impl_._has_bits_);
  static const ::PROTOBUF_NAMESPACE_ID::Timestamp& created_at(const TrunkConfig* msg);
  static void set_has_created_at(HasBits* has_bits) {
    (*has_bits)[0] |= 1u;
  }
  static const ::PROTOBUF_NAMESPACE_ID::Timestamp& changed_at(const TrunkConfig* msg);
  static void set_has_changed_at(HasBits* has_bits) {
    (*has_bits)[0] |= 2u;
  }
  static const ::PROTOBUF_NAMESPACE_ID::Timestamp& deleted_at(const TrunkConfig* msg);
  static void set_has_deleted_at(HasBits* has_bits) {
    (*has_bits)[0] |= 4u;
  }
};

const ::PROTOBUF_NAMESPACE_ID::Timestamp&
TrunkConfig::_Internal::created_at(const TrunkConfig* msg) {
  return *msg->_impl_.created_at_;
}
const ::PROTOBUF_NAMESPACE_ID::Timestamp&
TrunkConfig::_Internal::changed_at(const TrunkConfig* msg) {
  return *msg->_impl_.changed_at_;
}
const ::PROTOBUF_NAMESPACE_ID::Timestamp&
TrunkConfig::_Internal::deleted_at(const TrunkConfig* msg) {
  return *msg->_impl_.deleted_at_;
}
void TrunkConfig::clear_created_at() {
  if (_impl_.created_at_ != nullptr) _impl_.created_at_->Clear();
  _impl_._has_bits_[0] &= ~0x00000001u;
}
void TrunkConfig::clear_changed_at() {
  if (_impl_.changed_at_ != nullptr) _impl_.changed_at_->Clear();
  _impl_._has_bits_[0] &= ~0x00000002u;
}
void TrunkConfig::clear_deleted_at() {
  if (_impl_.deleted_at_ != nullptr) _impl_.deleted_at_->Clear();
  _impl_._has_bits_[0] &= ~0x00000004u;
}
TrunkConfig::TrunkConfig(::PROTOBUF_NAMESPACE_ID::Arena* arena)
  : ::PROTOBUF_NAMESPACE_ID::MessageLite(arena) {
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:keyapis.device.v1.TrunkConfig)
}
TrunkConfig::TrunkConfig(const TrunkConfig& from)
  : ::PROTOBUF_NAMESPACE_ID::MessageLite() {
  TrunkConfig* const _this = this; (void)_this;
  new (&_impl_) Impl_{
      decltype(_impl_._has_bits_){from._impl_._has_bits_}
    , /*decltype(_impl_._cached_size_)*/{}
    , decltype(_impl_.id_) {}

    , decltype(_impl_.ip_address_) {}

    , decltype(_impl_.created_at_){nullptr}
    , decltype(_impl_.changed_at_){nullptr}
    , decltype(_impl_.deleted_at_){nullptr}
    , decltype(_impl_.city_orpon_id_) {}

    , decltype(_impl_.device_sip_trunk_sip_type_) {}

    , decltype(_impl_.port_) {}
  };

  _internal_metadata_.MergeFrom<std::string>(from._internal_metadata_);
  _impl_.id_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
        _impl_.id_.Set("", GetArenaForAllocation());
  #endif  // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (!from._internal_id().empty()) {
    _this->_impl_.id_.Set(from._internal_id(), _this->GetArenaForAllocation());
  }
  _impl_.ip_address_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
        _impl_.ip_address_.Set("", GetArenaForAllocation());
  #endif  // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (!from._internal_ip_address().empty()) {
    _this->_impl_.ip_address_.Set(from._internal_ip_address(), _this->GetArenaForAllocation());
  }
  if ((from._impl_._has_bits_[0] & 0x00000001u) != 0) {
    _this->_impl_.created_at_ = new ::PROTOBUF_NAMESPACE_ID::Timestamp(*from._impl_.created_at_);
  }
  if ((from._impl_._has_bits_[0] & 0x00000002u) != 0) {
    _this->_impl_.changed_at_ = new ::PROTOBUF_NAMESPACE_ID::Timestamp(*from._impl_.changed_at_);
  }
  if ((from._impl_._has_bits_[0] & 0x00000004u) != 0) {
    _this->_impl_.deleted_at_ = new ::PROTOBUF_NAMESPACE_ID::Timestamp(*from._impl_.deleted_at_);
  }
  ::memcpy(&_impl_.city_orpon_id_, &from._impl_.city_orpon_id_,
    static_cast<::size_t>(reinterpret_cast<char*>(&_impl_.port_) -
    reinterpret_cast<char*>(&_impl_.city_orpon_id_)) + sizeof(_impl_.port_));
  // @@protoc_insertion_point(copy_constructor:keyapis.device.v1.TrunkConfig)
}

inline void TrunkConfig::SharedCtor(::_pb::Arena* arena) {
  (void)arena;
  new (&_impl_) Impl_{
      decltype(_impl_._has_bits_){}
    , /*decltype(_impl_._cached_size_)*/{}
    , decltype(_impl_.id_) {}

    , decltype(_impl_.ip_address_) {}

    , decltype(_impl_.created_at_){nullptr}
    , decltype(_impl_.changed_at_){nullptr}
    , decltype(_impl_.deleted_at_){nullptr}
    , decltype(_impl_.city_orpon_id_) { ::int64_t{0} }

    , decltype(_impl_.device_sip_trunk_sip_type_) { 0 }

    , decltype(_impl_.port_) { 0 }

  };
  _impl_.id_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
        _impl_.id_.Set("", GetArenaForAllocation());
  #endif  // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  _impl_.ip_address_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
        _impl_.ip_address_.Set("", GetArenaForAllocation());
  #endif  // PROTOBUF_FORCE_COPY_DEFAULT_STRING
}

TrunkConfig::~TrunkConfig() {
  // @@protoc_insertion_point(destructor:keyapis.device.v1.TrunkConfig)
  if (auto *arena = _internal_metadata_.DeleteReturnArena<std::string>()) {
  (void)arena;
    return;
  }
  SharedDtor();
}

inline void TrunkConfig::SharedDtor() {
  ABSL_DCHECK(GetArenaForAllocation() == nullptr);
  _impl_.id_.Destroy();
  _impl_.ip_address_.Destroy();
  if (this != internal_default_instance()) delete _impl_.created_at_;
  if (this != internal_default_instance()) delete _impl_.changed_at_;
  if (this != internal_default_instance()) delete _impl_.deleted_at_;
}

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

void TrunkConfig::Clear() {
// @@protoc_insertion_point(message_clear_start:keyapis.device.v1.TrunkConfig)
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _impl_.id_.ClearToEmpty();
  _impl_.ip_address_.ClearToEmpty();
  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000007u) {
    if (cached_has_bits & 0x00000001u) {
      ABSL_DCHECK(_impl_.created_at_ != nullptr);
      _impl_.created_at_->Clear();
    }
    if (cached_has_bits & 0x00000002u) {
      ABSL_DCHECK(_impl_.changed_at_ != nullptr);
      _impl_.changed_at_->Clear();
    }
    if (cached_has_bits & 0x00000004u) {
      ABSL_DCHECK(_impl_.deleted_at_ != nullptr);
      _impl_.deleted_at_->Clear();
    }
  }
  ::memset(&_impl_.city_orpon_id_, 0, static_cast<::size_t>(
      reinterpret_cast<char*>(&_impl_.port_) -
      reinterpret_cast<char*>(&_impl_.city_orpon_id_)) + sizeof(_impl_.port_));
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<std::string>();
}

const char* TrunkConfig::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  _Internal::HasBits has_bits{};
  while (!ctx->Done(&ptr)) {
    ::uint32_t tag;
    ptr = ::_pbi::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // string id = 1;
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::uint8_t>(tag) == 10)) {
          auto str = _internal_mutable_id();
          ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(ptr);
          CHK_(::_pbi::VerifyUTF8(str, nullptr));
        } else {
          goto handle_unusual;
        }
        continue;
      // int64 city_orpon_id = 2 [(.google.api.field_behavior) = REQUIRED];
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::uint8_t>(tag) == 16)) {
          _impl_.city_orpon_id_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else {
          goto handle_unusual;
        }
        continue;
      // .keyapis.device.v1.Device.SipTrunk.SipType device_sip_trunk_sip_type = 3 [(.google.api.field_behavior) = REQUIRED];
      case 3:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::uint8_t>(tag) == 24)) {
          ::int32_t val = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
          _internal_set_device_sip_trunk_sip_type(static_cast<::keyapis::device::v1::Device_SipTrunk_SipType>(val));
        } else {
          goto handle_unusual;
        }
        continue;
      // string ip_address = 4 [(.google.api.field_behavior) = REQUIRED];
      case 4:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::uint8_t>(tag) == 34)) {
          auto str = _internal_mutable_ip_address();
          ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(ptr);
          CHK_(::_pbi::VerifyUTF8(str, nullptr));
        } else {
          goto handle_unusual;
        }
        continue;
      // int32 port = 5 [(.google.api.field_behavior) = REQUIRED];
      case 5:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::uint8_t>(tag) == 40)) {
          _impl_.port_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
        } else {
          goto handle_unusual;
        }
        continue;
      // .google.protobuf.Timestamp created_at = 6 [(.google.api.field_behavior) = OUTPUT_ONLY];
      case 6:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::uint8_t>(tag) == 50)) {
          ptr = ctx->ParseMessage(_internal_mutable_created_at(), ptr);
          CHK_(ptr);
        } else {
          goto handle_unusual;
        }
        continue;
      // .google.protobuf.Timestamp changed_at = 7;
      case 7:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::uint8_t>(tag) == 58)) {
          ptr = ctx->ParseMessage(_internal_mutable_changed_at(), ptr);
          CHK_(ptr);
        } else {
          goto handle_unusual;
        }
        continue;
      // .google.protobuf.Timestamp deleted_at = 8 [(.google.api.field_behavior) = OUTPUT_ONLY];
      case 8:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::uint8_t>(tag) == 66)) {
          ptr = ctx->ParseMessage(_internal_mutable_deleted_at(), ptr);
          CHK_(ptr);
        } else {
          goto handle_unusual;
        }
        continue;
      default:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<std::string>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  _impl_._has_bits_.Or(has_bits);
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

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

  // string id = 1;
  if (!this->_internal_id().empty()) {
    const std::string& _s = this->_internal_id();
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(
        _s.data(), static_cast<int>(_s.length()), ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE, "keyapis.device.v1.TrunkConfig.id");
    target = stream->WriteStringMaybeAliased(1, _s, target);
  }

  // int64 city_orpon_id = 2 [(.google.api.field_behavior) = REQUIRED];
  if (this->_internal_city_orpon_id() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteInt64ToArray(
        2, this->_internal_city_orpon_id(), target);
  }

  // .keyapis.device.v1.Device.SipTrunk.SipType device_sip_trunk_sip_type = 3 [(.google.api.field_behavior) = REQUIRED];
  if (this->_internal_device_sip_trunk_sip_type() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteEnumToArray(
        3, this->_internal_device_sip_trunk_sip_type(), target);
  }

  // string ip_address = 4 [(.google.api.field_behavior) = REQUIRED];
  if (!this->_internal_ip_address().empty()) {
    const std::string& _s = this->_internal_ip_address();
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(
        _s.data(), static_cast<int>(_s.length()), ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE, "keyapis.device.v1.TrunkConfig.ip_address");
    target = stream->WriteStringMaybeAliased(4, _s, target);
  }

  // int32 port = 5 [(.google.api.field_behavior) = REQUIRED];
  if (this->_internal_port() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteInt32ToArray(
        5, this->_internal_port(), target);
  }

  cached_has_bits = _impl_._has_bits_[0];
  // .google.protobuf.Timestamp created_at = 6 [(.google.api.field_behavior) = OUTPUT_ONLY];
  if (cached_has_bits & 0x00000001u) {
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(6, _Internal::created_at(this),
        _Internal::created_at(this).GetCachedSize(), target, stream);
  }

  // .google.protobuf.Timestamp changed_at = 7;
  if (cached_has_bits & 0x00000002u) {
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(7, _Internal::changed_at(this),
        _Internal::changed_at(this).GetCachedSize(), target, stream);
  }

  // .google.protobuf.Timestamp deleted_at = 8 [(.google.api.field_behavior) = OUTPUT_ONLY];
  if (cached_has_bits & 0x00000004u) {
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(8, _Internal::deleted_at(this),
        _Internal::deleted_at(this).GetCachedSize(), target, stream);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = stream->WriteRaw(_internal_metadata_.unknown_fields<std::string>(::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString).data(),
        static_cast<int>(_internal_metadata_.unknown_fields<std::string>(::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString).size()), target);
  }
  // @@protoc_insertion_point(serialize_to_array_end:keyapis.device.v1.TrunkConfig)
  return target;
}

::size_t TrunkConfig::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:keyapis.device.v1.TrunkConfig)
  ::size_t total_size = 0;

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

  // string id = 1;
  if (!this->_internal_id().empty()) {
    total_size += 1 + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
                                    this->_internal_id());
  }

  // string ip_address = 4 [(.google.api.field_behavior) = REQUIRED];
  if (!this->_internal_ip_address().empty()) {
    total_size += 1 + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
                                    this->_internal_ip_address());
  }

  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000007u) {
    // .google.protobuf.Timestamp created_at = 6 [(.google.api.field_behavior) = OUTPUT_ONLY];
    if (cached_has_bits & 0x00000001u) {
      total_size += 1 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
          *_impl_.created_at_);
    }

    // .google.protobuf.Timestamp changed_at = 7;
    if (cached_has_bits & 0x00000002u) {
      total_size += 1 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
          *_impl_.changed_at_);
    }

    // .google.protobuf.Timestamp deleted_at = 8 [(.google.api.field_behavior) = OUTPUT_ONLY];
    if (cached_has_bits & 0x00000004u) {
      total_size += 1 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
          *_impl_.deleted_at_);
    }

  }
  // int64 city_orpon_id = 2 [(.google.api.field_behavior) = REQUIRED];
  if (this->_internal_city_orpon_id() != 0) {
    total_size += ::_pbi::WireFormatLite::Int64SizePlusOne(
        this->_internal_city_orpon_id());
  }

  // .keyapis.device.v1.Device.SipTrunk.SipType device_sip_trunk_sip_type = 3 [(.google.api.field_behavior) = REQUIRED];
  if (this->_internal_device_sip_trunk_sip_type() != 0) {
    total_size += 1 +
                  ::_pbi::WireFormatLite::EnumSize(this->_internal_device_sip_trunk_sip_type());
  }

  // int32 port = 5 [(.google.api.field_behavior) = REQUIRED];
  if (this->_internal_port() != 0) {
    total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(
        this->_internal_port());
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    total_size += _internal_metadata_.unknown_fields<std::string>(::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString).size();
  }
  int cached_size = ::_pbi::ToCachedSize(total_size);
  SetCachedSize(cached_size);
  return total_size;
}

void TrunkConfig::CheckTypeAndMergeFrom(
    const ::PROTOBUF_NAMESPACE_ID::MessageLite& from) {
  MergeFrom(*::_pbi::DownCast<const TrunkConfig*>(
      &from));
}

void TrunkConfig::MergeFrom(const TrunkConfig& from) {
  TrunkConfig* const _this = this;
  // @@protoc_insertion_point(class_specific_merge_from_start:keyapis.device.v1.TrunkConfig)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  if (!from._internal_id().empty()) {
    _this->_internal_set_id(from._internal_id());
  }
  if (!from._internal_ip_address().empty()) {
    _this->_internal_set_ip_address(from._internal_ip_address());
  }
  cached_has_bits = from._impl_._has_bits_[0];
  if (cached_has_bits & 0x00000007u) {
    if (cached_has_bits & 0x00000001u) {
      _this->_internal_mutable_created_at()->::PROTOBUF_NAMESPACE_ID::Timestamp::MergeFrom(
          from._internal_created_at());
    }
    if (cached_has_bits & 0x00000002u) {
      _this->_internal_mutable_changed_at()->::PROTOBUF_NAMESPACE_ID::Timestamp::MergeFrom(
          from._internal_changed_at());
    }
    if (cached_has_bits & 0x00000004u) {
      _this->_internal_mutable_deleted_at()->::PROTOBUF_NAMESPACE_ID::Timestamp::MergeFrom(
          from._internal_deleted_at());
    }
  }
  if (from._internal_city_orpon_id() != 0) {
    _this->_internal_set_city_orpon_id(from._internal_city_orpon_id());
  }
  if (from._internal_device_sip_trunk_sip_type() != 0) {
    _this->_internal_set_device_sip_trunk_sip_type(from._internal_device_sip_trunk_sip_type());
  }
  if (from._internal_port() != 0) {
    _this->_internal_set_port(from._internal_port());
  }
  _this->_internal_metadata_.MergeFrom<std::string>(from._internal_metadata_);
}

void TrunkConfig::CopyFrom(const TrunkConfig& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:keyapis.device.v1.TrunkConfig)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

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

void TrunkConfig::InternalSwap(TrunkConfig* other) {
  using std::swap;
  auto* lhs_arena = GetArenaForAllocation();
  auto* rhs_arena = other->GetArenaForAllocation();
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.id_, lhs_arena,
                                       &other->_impl_.id_, rhs_arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.ip_address_, lhs_arena,
                                       &other->_impl_.ip_address_, rhs_arena);
  ::PROTOBUF_NAMESPACE_ID::internal::memswap<
      PROTOBUF_FIELD_OFFSET(TrunkConfig, _impl_.port_)
      + sizeof(TrunkConfig::_impl_.port_)
      - PROTOBUF_FIELD_OFFSET(TrunkConfig, _impl_.created_at_)>(
          reinterpret_cast<char*>(&_impl_.created_at_),
          reinterpret_cast<char*>(&other->_impl_.created_at_));
}

std::string TrunkConfig::GetTypeName() const {
  return "keyapis.device.v1.TrunkConfig";
}

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

class TrunkConfigFilter::_Internal {
 public:
  using HasBits = decltype(std::declval<TrunkConfigFilter>()._impl_._has_bits_);
  static constexpr ::int32_t kHasBitsOffset =
    8 * PROTOBUF_FIELD_OFFSET(TrunkConfigFilter, _impl_._has_bits_);
  static const ::PROTOBUF_NAMESPACE_ID::BoolValue& show_deleted(const TrunkConfigFilter* msg);
  static void set_has_show_deleted(HasBits* has_bits) {
    (*has_bits)[0] |= 1u;
  }
};

const ::PROTOBUF_NAMESPACE_ID::BoolValue&
TrunkConfigFilter::_Internal::show_deleted(const TrunkConfigFilter* msg) {
  return *msg->_impl_.show_deleted_;
}
void TrunkConfigFilter::clear_show_deleted() {
  if (_impl_.show_deleted_ != nullptr) _impl_.show_deleted_->Clear();
  _impl_._has_bits_[0] &= ~0x00000001u;
}
TrunkConfigFilter::TrunkConfigFilter(::PROTOBUF_NAMESPACE_ID::Arena* arena)
  : ::PROTOBUF_NAMESPACE_ID::MessageLite(arena) {
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:keyapis.device.v1.TrunkConfigFilter)
}
TrunkConfigFilter::TrunkConfigFilter(const TrunkConfigFilter& from)
  : ::PROTOBUF_NAMESPACE_ID::MessageLite() {
  TrunkConfigFilter* const _this = this; (void)_this;
  new (&_impl_) Impl_{
      decltype(_impl_._has_bits_){from._impl_._has_bits_}
    , /*decltype(_impl_._cached_size_)*/{}
    , decltype(_impl_.city_orpon_ids_) { from._impl_.city_orpon_ids_ }
    ,/* _impl_._city_orpon_ids_cached_byte_size_ = */ { 0 }

    , decltype(_impl_.ip_addresses_){from._impl_.ip_addresses_}
    , decltype(_impl_.show_deleted_){nullptr}};

  _internal_metadata_.MergeFrom<std::string>(from._internal_metadata_);
  if ((from._impl_._has_bits_[0] & 0x00000001u) != 0) {
    _this->_impl_.show_deleted_ = new ::PROTOBUF_NAMESPACE_ID::BoolValue(*from._impl_.show_deleted_);
  }
  // @@protoc_insertion_point(copy_constructor:keyapis.device.v1.TrunkConfigFilter)
}

inline void TrunkConfigFilter::SharedCtor(::_pb::Arena* arena) {
  (void)arena;
  new (&_impl_) Impl_{
      decltype(_impl_._has_bits_){}
    , /*decltype(_impl_._cached_size_)*/{}
    , decltype(_impl_.city_orpon_ids_) { arena }
    ,/* _impl_._city_orpon_ids_cached_byte_size_ = */ { 0 }

    , decltype(_impl_.ip_addresses_){arena}
    , decltype(_impl_.show_deleted_){nullptr}
  };
}

TrunkConfigFilter::~TrunkConfigFilter() {
  // @@protoc_insertion_point(destructor:keyapis.device.v1.TrunkConfigFilter)
  if (auto *arena = _internal_metadata_.DeleteReturnArena<std::string>()) {
  (void)arena;
    return;
  }
  SharedDtor();
}

inline void TrunkConfigFilter::SharedDtor() {
  ABSL_DCHECK(GetArenaForAllocation() == nullptr);
  _impl_.city_orpon_ids_.~RepeatedField();
  _internal_mutable_ip_addresses()->~RepeatedPtrField();
  if (this != internal_default_instance()) delete _impl_.show_deleted_;
}

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

void TrunkConfigFilter::Clear() {
// @@protoc_insertion_point(message_clear_start:keyapis.device.v1.TrunkConfigFilter)
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _internal_mutable_city_orpon_ids()->Clear();
  _internal_mutable_ip_addresses()->Clear();
  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000001u) {
    ABSL_DCHECK(_impl_.show_deleted_ != nullptr);
    _impl_.show_deleted_->Clear();
  }
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<std::string>();
}

const char* TrunkConfigFilter::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  _Internal::HasBits has_bits{};
  while (!ctx->Done(&ptr)) {
    ::uint32_t tag;
    ptr = ::_pbi::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // repeated int64 city_orpon_ids = 1;
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::uint8_t>(tag) == 10)) {
          ptr = ::PROTOBUF_NAMESPACE_ID::internal::PackedInt64Parser(_internal_mutable_city_orpon_ids(), ptr, ctx);
          CHK_(ptr);
        } else if (static_cast<::uint8_t>(tag) == 8) {
          _internal_add_city_orpon_ids(::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr));
          CHK_(ptr);
        } else {
          goto handle_unusual;
        }
        continue;
      // repeated string ip_addresses = 2;
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::uint8_t>(tag) == 18)) {
          ptr -= 1;
          do {
            ptr += 1;
            auto str = _internal_add_ip_addresses();
            ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx);
            CHK_(ptr);
            CHK_(::_pbi::VerifyUTF8(str, nullptr));
            if (!ctx->DataAvailable(ptr)) break;
          } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<18>(ptr));
        } else {
          goto handle_unusual;
        }
        continue;
      // .google.protobuf.BoolValue show_deleted = 3;
      case 3:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::uint8_t>(tag) == 26)) {
          ptr = ctx->ParseMessage(_internal_mutable_show_deleted(), ptr);
          CHK_(ptr);
        } else {
          goto handle_unusual;
        }
        continue;
      default:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<std::string>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  _impl_._has_bits_.Or(has_bits);
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

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

  // repeated int64 city_orpon_ids = 1;
  {
    int byte_size = _impl_._city_orpon_ids_cached_byte_size_.Get();
    if (byte_size > 0) {
      target = stream->WriteInt64Packed(1, _internal_city_orpon_ids(),
                                                 byte_size, target);
    }
  }

  // repeated string ip_addresses = 2;
  for (int i = 0, n = this->_internal_ip_addresses_size(); i < n; ++i) {
    const auto& s = this->_internal_ip_addresses(i);
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(
        s.data(), static_cast<int>(s.length()), ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE, "keyapis.device.v1.TrunkConfigFilter.ip_addresses");
    target = stream->WriteString(2, s, target);
  }

  cached_has_bits = _impl_._has_bits_[0];
  // .google.protobuf.BoolValue show_deleted = 3;
  if (cached_has_bits & 0x00000001u) {
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(3, _Internal::show_deleted(this),
        _Internal::show_deleted(this).GetCachedSize(), target, stream);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = stream->WriteRaw(_internal_metadata_.unknown_fields<std::string>(::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString).data(),
        static_cast<int>(_internal_metadata_.unknown_fields<std::string>(::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString).size()), target);
  }
  // @@protoc_insertion_point(serialize_to_array_end:keyapis.device.v1.TrunkConfigFilter)
  return target;
}

::size_t TrunkConfigFilter::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:keyapis.device.v1.TrunkConfigFilter)
  ::size_t total_size = 0;

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

  // repeated int64 city_orpon_ids = 1;
  {
    std::size_t data_size = ::_pbi::WireFormatLite::Int64Size(
        this->_internal_city_orpon_ids())
    ;
    _impl_._city_orpon_ids_cached_byte_size_.Set(::_pbi::ToCachedSize(data_size));
    std::size_t tag_size = data_size == 0
        ? 0
        : 1 + ::_pbi::WireFormatLite::Int32Size(
                            static_cast<int32_t>(data_size))
    ;
    total_size += tag_size + data_size;
  }

  // repeated string ip_addresses = 2;
  total_size += 1 * ::PROTOBUF_NAMESPACE_ID::internal::FromIntSize(_internal_ip_addresses().size());
  for (int i = 0, n = _internal_ip_addresses().size(); i < n; ++i) {
    total_size += ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
        _internal_ip_addresses().Get(i));
  }

  // .google.protobuf.BoolValue show_deleted = 3;
  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000001u) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *_impl_.show_deleted_);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    total_size += _internal_metadata_.unknown_fields<std::string>(::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString).size();
  }
  int cached_size = ::_pbi::ToCachedSize(total_size);
  SetCachedSize(cached_size);
  return total_size;
}

void TrunkConfigFilter::CheckTypeAndMergeFrom(
    const ::PROTOBUF_NAMESPACE_ID::MessageLite& from) {
  MergeFrom(*::_pbi::DownCast<const TrunkConfigFilter*>(
      &from));
}

void TrunkConfigFilter::MergeFrom(const TrunkConfigFilter& from) {
  TrunkConfigFilter* const _this = this;
  // @@protoc_insertion_point(class_specific_merge_from_start:keyapis.device.v1.TrunkConfigFilter)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  _this->_impl_.city_orpon_ids_.MergeFrom(from._impl_.city_orpon_ids_);
  _this->_internal_mutable_ip_addresses()->MergeFrom(from._internal_ip_addresses());
  if ((from._impl_._has_bits_[0] & 0x00000001u) != 0) {
    _this->_internal_mutable_show_deleted()->::PROTOBUF_NAMESPACE_ID::BoolValue::MergeFrom(
        from._internal_show_deleted());
  }
  _this->_internal_metadata_.MergeFrom<std::string>(from._internal_metadata_);
}

void TrunkConfigFilter::CopyFrom(const TrunkConfigFilter& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:keyapis.device.v1.TrunkConfigFilter)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

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

void TrunkConfigFilter::InternalSwap(TrunkConfigFilter* other) {
  using std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  _impl_.city_orpon_ids_.InternalSwap(&other->_impl_.city_orpon_ids_);
  _internal_mutable_ip_addresses()->InternalSwap(
      other->_internal_mutable_ip_addresses());
  swap(_impl_.show_deleted_, other->_impl_.show_deleted_);
}

std::string TrunkConfigFilter::GetTypeName() const {
  return "keyapis.device.v1.TrunkConfigFilter";
}

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

class TrunkConfigPaging::_Internal {
 public:
};

TrunkConfigPaging::TrunkConfigPaging(::PROTOBUF_NAMESPACE_ID::Arena* arena)
  : ::PROTOBUF_NAMESPACE_ID::MessageLite(arena) {
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:keyapis.device.v1.TrunkConfigPaging)
}
TrunkConfigPaging::TrunkConfigPaging(const TrunkConfigPaging& from)
  : ::PROTOBUF_NAMESPACE_ID::MessageLite(), _impl_(from._impl_) {
  _internal_metadata_.MergeFrom<std::string>(
      from._internal_metadata_);
  // @@protoc_insertion_point(copy_constructor:keyapis.device.v1.TrunkConfigPaging)
}

inline void TrunkConfigPaging::SharedCtor(::_pb::Arena* arena) {
  (void)arena;
  new (&_impl_) Impl_{
      decltype(_impl_.order_by_type_) { 0 }

    , decltype(_impl_.direction_type_) { 0 }

    , decltype(_impl_.limit_) { 0 }

    , decltype(_impl_.offset_) { 0 }

    , /*decltype(_impl_._cached_size_)*/{}
  };
}

TrunkConfigPaging::~TrunkConfigPaging() {
  // @@protoc_insertion_point(destructor:keyapis.device.v1.TrunkConfigPaging)
  if (auto *arena = _internal_metadata_.DeleteReturnArena<std::string>()) {
  (void)arena;
    return;
  }
  SharedDtor();
}

inline void TrunkConfigPaging::SharedDtor() {
  ABSL_DCHECK(GetArenaForAllocation() == nullptr);
}

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

void TrunkConfigPaging::Clear() {
// @@protoc_insertion_point(message_clear_start:keyapis.device.v1.TrunkConfigPaging)
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  ::memset(&_impl_.order_by_type_, 0, static_cast<::size_t>(
      reinterpret_cast<char*>(&_impl_.offset_) -
      reinterpret_cast<char*>(&_impl_.order_by_type_)) + sizeof(_impl_.offset_));
  _internal_metadata_.Clear<std::string>();
}

const char* TrunkConfigPaging::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  while (!ctx->Done(&ptr)) {
    ::uint32_t tag;
    ptr = ::_pbi::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // .keyapis.device.v1.TrunkConfigPaging.OrderByType order_by_type = 1;
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::uint8_t>(tag) == 8)) {
          ::int32_t val = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
          _internal_set_order_by_type(static_cast<::keyapis::device::v1::TrunkConfigPaging_OrderByType>(val));
        } else {
          goto handle_unusual;
        }
        continue;
      // .keyapis.device.v1.TrunkConfigPaging.DirectionType direction_type = 2;
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::uint8_t>(tag) == 16)) {
          ::int32_t val = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
          _internal_set_direction_type(static_cast<::keyapis::device::v1::TrunkConfigPaging_DirectionType>(val));
        } else {
          goto handle_unusual;
        }
        continue;
      // int32 limit = 3;
      case 3:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::uint8_t>(tag) == 24)) {
          _impl_.limit_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
        } else {
          goto handle_unusual;
        }
        continue;
      // int32 offset = 4;
      case 4:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::uint8_t>(tag) == 32)) {
          _impl_.offset_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
        } else {
          goto handle_unusual;
        }
        continue;
      default:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<std::string>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

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

  // .keyapis.device.v1.TrunkConfigPaging.OrderByType order_by_type = 1;
  if (this->_internal_order_by_type() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteEnumToArray(
        1, this->_internal_order_by_type(), target);
  }

  // .keyapis.device.v1.TrunkConfigPaging.DirectionType direction_type = 2;
  if (this->_internal_direction_type() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteEnumToArray(
        2, this->_internal_direction_type(), target);
  }

  // int32 limit = 3;
  if (this->_internal_limit() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteInt32ToArray(
        3, this->_internal_limit(), target);
  }

  // int32 offset = 4;
  if (this->_internal_offset() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteInt32ToArray(
        4, this->_internal_offset(), target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = stream->WriteRaw(_internal_metadata_.unknown_fields<std::string>(::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString).data(),
        static_cast<int>(_internal_metadata_.unknown_fields<std::string>(::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString).size()), target);
  }
  // @@protoc_insertion_point(serialize_to_array_end:keyapis.device.v1.TrunkConfigPaging)
  return target;
}

::size_t TrunkConfigPaging::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:keyapis.device.v1.TrunkConfigPaging)
  ::size_t total_size = 0;

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

  // .keyapis.device.v1.TrunkConfigPaging.OrderByType order_by_type = 1;
  if (this->_internal_order_by_type() != 0) {
    total_size += 1 +
                  ::_pbi::WireFormatLite::EnumSize(this->_internal_order_by_type());
  }

  // .keyapis.device.v1.TrunkConfigPaging.DirectionType direction_type = 2;
  if (this->_internal_direction_type() != 0) {
    total_size += 1 +
                  ::_pbi::WireFormatLite::EnumSize(this->_internal_direction_type());
  }

  // int32 limit = 3;
  if (this->_internal_limit() != 0) {
    total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(
        this->_internal_limit());
  }

  // int32 offset = 4;
  if (this->_internal_offset() != 0) {
    total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(
        this->_internal_offset());
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    total_size += _internal_metadata_.unknown_fields<std::string>(::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString).size();
  }
  int cached_size = ::_pbi::ToCachedSize(total_size);
  SetCachedSize(cached_size);
  return total_size;
}

void TrunkConfigPaging::CheckTypeAndMergeFrom(
    const ::PROTOBUF_NAMESPACE_ID::MessageLite& from) {
  MergeFrom(*::_pbi::DownCast<const TrunkConfigPaging*>(
      &from));
}

void TrunkConfigPaging::MergeFrom(const TrunkConfigPaging& from) {
  TrunkConfigPaging* const _this = this;
  // @@protoc_insertion_point(class_specific_merge_from_start:keyapis.device.v1.TrunkConfigPaging)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  if (from._internal_order_by_type() != 0) {
    _this->_internal_set_order_by_type(from._internal_order_by_type());
  }
  if (from._internal_direction_type() != 0) {
    _this->_internal_set_direction_type(from._internal_direction_type());
  }
  if (from._internal_limit() != 0) {
    _this->_internal_set_limit(from._internal_limit());
  }
  if (from._internal_offset() != 0) {
    _this->_internal_set_offset(from._internal_offset());
  }
  _this->_internal_metadata_.MergeFrom<std::string>(from._internal_metadata_);
}

void TrunkConfigPaging::CopyFrom(const TrunkConfigPaging& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:keyapis.device.v1.TrunkConfigPaging)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

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

void TrunkConfigPaging::InternalSwap(TrunkConfigPaging* other) {
  using std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  ::PROTOBUF_NAMESPACE_ID::internal::memswap<
      PROTOBUF_FIELD_OFFSET(TrunkConfigPaging, _impl_.offset_)
      + sizeof(TrunkConfigPaging::_impl_.offset_)
      - PROTOBUF_FIELD_OFFSET(TrunkConfigPaging, _impl_.order_by_type_)>(
          reinterpret_cast<char*>(&_impl_.order_by_type_),
          reinterpret_cast<char*>(&other->_impl_.order_by_type_));
}

std::string TrunkConfigPaging::GetTypeName() const {
  return "keyapis.device.v1.TrunkConfigPaging";
}

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

class PostTrunkConfigRequest::_Internal {
 public:
  using HasBits = decltype(std::declval<PostTrunkConfigRequest>()._impl_._has_bits_);
  static constexpr ::int32_t kHasBitsOffset =
    8 * PROTOBUF_FIELD_OFFSET(PostTrunkConfigRequest, _impl_._has_bits_);
  static const ::keyapis::device::v1::TrunkConfig& data(const PostTrunkConfigRequest* msg);
  static void set_has_data(HasBits* has_bits) {
    (*has_bits)[0] |= 1u;
  }
};

const ::keyapis::device::v1::TrunkConfig&
PostTrunkConfigRequest::_Internal::data(const PostTrunkConfigRequest* msg) {
  return *msg->_impl_.data_;
}
PostTrunkConfigRequest::PostTrunkConfigRequest(::PROTOBUF_NAMESPACE_ID::Arena* arena)
  : ::PROTOBUF_NAMESPACE_ID::MessageLite(arena) {
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:keyapis.device.v1.PostTrunkConfigRequest)
}
PostTrunkConfigRequest::PostTrunkConfigRequest(const PostTrunkConfigRequest& from)
  : ::PROTOBUF_NAMESPACE_ID::MessageLite() {
  PostTrunkConfigRequest* const _this = this; (void)_this;
  new (&_impl_) Impl_{
      decltype(_impl_._has_bits_){from._impl_._has_bits_}
    , /*decltype(_impl_._cached_size_)*/{}
    , decltype(_impl_.data_){nullptr}};

  _internal_metadata_.MergeFrom<std::string>(from._internal_metadata_);
  if ((from._impl_._has_bits_[0] & 0x00000001u) != 0) {
    _this->_impl_.data_ = new ::keyapis::device::v1::TrunkConfig(*from._impl_.data_);
  }
  // @@protoc_insertion_point(copy_constructor:keyapis.device.v1.PostTrunkConfigRequest)
}

inline void PostTrunkConfigRequest::SharedCtor(::_pb::Arena* arena) {
  (void)arena;
  new (&_impl_) Impl_{
      decltype(_impl_._has_bits_){}
    , /*decltype(_impl_._cached_size_)*/{}
    , decltype(_impl_.data_){nullptr}
  };
}

PostTrunkConfigRequest::~PostTrunkConfigRequest() {
  // @@protoc_insertion_point(destructor:keyapis.device.v1.PostTrunkConfigRequest)
  if (auto *arena = _internal_metadata_.DeleteReturnArena<std::string>()) {
  (void)arena;
    return;
  }
  SharedDtor();
}

inline void PostTrunkConfigRequest::SharedDtor() {
  ABSL_DCHECK(GetArenaForAllocation() == nullptr);
  if (this != internal_default_instance()) delete _impl_.data_;
}

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

void PostTrunkConfigRequest::Clear() {
// @@protoc_insertion_point(message_clear_start:keyapis.device.v1.PostTrunkConfigRequest)
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000001u) {
    ABSL_DCHECK(_impl_.data_ != nullptr);
    _impl_.data_->Clear();
  }
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<std::string>();
}

const char* PostTrunkConfigRequest::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  _Internal::HasBits has_bits{};
  while (!ctx->Done(&ptr)) {
    ::uint32_t tag;
    ptr = ::_pbi::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // .keyapis.device.v1.TrunkConfig data = 1 [(.google.api.field_behavior) = REQUIRED];
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::uint8_t>(tag) == 10)) {
          ptr = ctx->ParseMessage(_internal_mutable_data(), ptr);
          CHK_(ptr);
        } else {
          goto handle_unusual;
        }
        continue;
      default:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<std::string>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  _impl_._has_bits_.Or(has_bits);
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

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

  cached_has_bits = _impl_._has_bits_[0];
  // .keyapis.device.v1.TrunkConfig data = 1 [(.google.api.field_behavior) = REQUIRED];
  if (cached_has_bits & 0x00000001u) {
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(1, _Internal::data(this),
        _Internal::data(this).GetCachedSize(), target, stream);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = stream->WriteRaw(_internal_metadata_.unknown_fields<std::string>(::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString).data(),
        static_cast<int>(_internal_metadata_.unknown_fields<std::string>(::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString).size()), target);
  }
  // @@protoc_insertion_point(serialize_to_array_end:keyapis.device.v1.PostTrunkConfigRequest)
  return target;
}

::size_t PostTrunkConfigRequest::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:keyapis.device.v1.PostTrunkConfigRequest)
  ::size_t total_size = 0;

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

  // .keyapis.device.v1.TrunkConfig data = 1 [(.google.api.field_behavior) = REQUIRED];
  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000001u) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *_impl_.data_);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    total_size += _internal_metadata_.unknown_fields<std::string>(::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString).size();
  }
  int cached_size = ::_pbi::ToCachedSize(total_size);
  SetCachedSize(cached_size);
  return total_size;
}

void PostTrunkConfigRequest::CheckTypeAndMergeFrom(
    const ::PROTOBUF_NAMESPACE_ID::MessageLite& from) {
  MergeFrom(*::_pbi::DownCast<const PostTrunkConfigRequest*>(
      &from));
}

void PostTrunkConfigRequest::MergeFrom(const PostTrunkConfigRequest& from) {
  PostTrunkConfigRequest* const _this = this;
  // @@protoc_insertion_point(class_specific_merge_from_start:keyapis.device.v1.PostTrunkConfigRequest)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  if ((from._impl_._has_bits_[0] & 0x00000001u) != 0) {
    _this->_internal_mutable_data()->::keyapis::device::v1::TrunkConfig::MergeFrom(
        from._internal_data());
  }
  _this->_internal_metadata_.MergeFrom<std::string>(from._internal_metadata_);
}

void PostTrunkConfigRequest::CopyFrom(const PostTrunkConfigRequest& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:keyapis.device.v1.PostTrunkConfigRequest)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

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

void PostTrunkConfigRequest::InternalSwap(PostTrunkConfigRequest* other) {
  using std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  swap(_impl_.data_, other->_impl_.data_);
}

std::string PostTrunkConfigRequest::GetTypeName() const {
  return "keyapis.device.v1.PostTrunkConfigRequest";
}

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

class PostTrunkConfigResponse_Error::_Internal {
 public:
  static constexpr ::int32_t kOneofCaseOffset =
    PROTOBUF_FIELD_OFFSET(::keyapis::device::v1::PostTrunkConfigResponse_Error, _impl_._oneof_case_);
  static const ::keyapis::device::v1::ValidationError& validation(const PostTrunkConfigResponse_Error* msg);
  static const ::keyapis::device::v1::TrunkConfig_SavingError& saving(const PostTrunkConfigResponse_Error* msg);
};

const ::keyapis::device::v1::ValidationError&
PostTrunkConfigResponse_Error::_Internal::validation(const PostTrunkConfigResponse_Error* msg) {
  return *msg->_impl_.reason_.validation_;
}
const ::keyapis::device::v1::TrunkConfig_SavingError&
PostTrunkConfigResponse_Error::_Internal::saving(const PostTrunkConfigResponse_Error* msg) {
  return *msg->_impl_.reason_.saving_;
}
void PostTrunkConfigResponse_Error::set_allocated_validation(::keyapis::device::v1::ValidationError* validation) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation();
  clear_reason();
  if (validation) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
        ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(
                reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(validation));
    if (message_arena != submessage_arena) {
      validation = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, validation, submessage_arena);
    }
    set_has_validation();
    _impl_.reason_.validation_ = validation;
  }
  // @@protoc_insertion_point(field_set_allocated:keyapis.device.v1.PostTrunkConfigResponse.Error.validation)
}
void PostTrunkConfigResponse_Error::clear_validation() {
  if (reason_case() == kValidation) {
    if (GetArenaForAllocation() == nullptr) {
      delete _impl_.reason_.validation_;
    }
    clear_has_reason();
  }
}
void PostTrunkConfigResponse_Error::set_allocated_saving(::keyapis::device::v1::TrunkConfig_SavingError* saving) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation();
  clear_reason();
  if (saving) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(saving);
    if (message_arena != submessage_arena) {
      saving = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, saving, submessage_arena);
    }
    set_has_saving();
    _impl_.reason_.saving_ = saving;
  }
  // @@protoc_insertion_point(field_set_allocated:keyapis.device.v1.PostTrunkConfigResponse.Error.saving)
}
PostTrunkConfigResponse_Error::PostTrunkConfigResponse_Error(::PROTOBUF_NAMESPACE_ID::Arena* arena)
  : ::PROTOBUF_NAMESPACE_ID::MessageLite(arena) {
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:keyapis.device.v1.PostTrunkConfigResponse.Error)
}
PostTrunkConfigResponse_Error::PostTrunkConfigResponse_Error(const PostTrunkConfigResponse_Error& from)
  : ::PROTOBUF_NAMESPACE_ID::MessageLite() {
  PostTrunkConfigResponse_Error* const _this = this; (void)_this;
  new (&_impl_) Impl_{
      decltype(_impl_.reason_){}
    , /*decltype(_impl_._cached_size_)*/{}
    , /*decltype(_impl_._oneof_case_)*/{}};

  _internal_metadata_.MergeFrom<std::string>(from._internal_metadata_);
  clear_has_reason();
  switch (from.reason_case()) {
    case kValidation: {
      _this->_internal_mutable_validation()->::keyapis::device::v1::ValidationError::MergeFrom(
          from._internal_validation());
      break;
    }
    case kSaving: {
      _this->_internal_mutable_saving()->::keyapis::device::v1::TrunkConfig_SavingError::MergeFrom(
          from._internal_saving());
      break;
    }
    case REASON_NOT_SET: {
      break;
    }
  }
  // @@protoc_insertion_point(copy_constructor:keyapis.device.v1.PostTrunkConfigResponse.Error)
}

inline void PostTrunkConfigResponse_Error::SharedCtor(::_pb::Arena* arena) {
  (void)arena;
  new (&_impl_) Impl_{
      decltype(_impl_.reason_){}
    , /*decltype(_impl_._cached_size_)*/{}
    , /*decltype(_impl_._oneof_case_)*/{}
  };
  clear_has_reason();
}

PostTrunkConfigResponse_Error::~PostTrunkConfigResponse_Error() {
  // @@protoc_insertion_point(destructor:keyapis.device.v1.PostTrunkConfigResponse.Error)
  if (auto *arena = _internal_metadata_.DeleteReturnArena<std::string>()) {
  (void)arena;
    return;
  }
  SharedDtor();
}

inline void PostTrunkConfigResponse_Error::SharedDtor() {
  ABSL_DCHECK(GetArenaForAllocation() == nullptr);
  if (has_reason()) {
    clear_reason();
  }
}

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

void PostTrunkConfigResponse_Error::clear_reason() {
// @@protoc_insertion_point(one_of_clear_start:keyapis.device.v1.PostTrunkConfigResponse.Error)
  switch (reason_case()) {
    case kValidation: {
      if (GetArenaForAllocation() == nullptr) {
        delete _impl_.reason_.validation_;
      }
      break;
    }
    case kSaving: {
      if (GetArenaForAllocation() == nullptr) {
        delete _impl_.reason_.saving_;
      }
      break;
    }
    case REASON_NOT_SET: {
      break;
    }
  }
  _impl_._oneof_case_[0] = REASON_NOT_SET;
}


void PostTrunkConfigResponse_Error::Clear() {
// @@protoc_insertion_point(message_clear_start:keyapis.device.v1.PostTrunkConfigResponse.Error)
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  clear_reason();
  _internal_metadata_.Clear<std::string>();
}

const char* PostTrunkConfigResponse_Error::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  while (!ctx->Done(&ptr)) {
    ::uint32_t tag;
    ptr = ::_pbi::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // .keyapis.device.v1.ValidationError validation = 1;
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::uint8_t>(tag) == 10)) {
          ptr = ctx->ParseMessage(_internal_mutable_validation(), ptr);
          CHK_(ptr);
        } else {
          goto handle_unusual;
        }
        continue;
      // .keyapis.device.v1.TrunkConfig.SavingError saving = 2;
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::uint8_t>(tag) == 18)) {
          ptr = ctx->ParseMessage(_internal_mutable_saving(), ptr);
          CHK_(ptr);
        } else {
          goto handle_unusual;
        }
        continue;
      default:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<std::string>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

::uint8_t* PostTrunkConfigResponse_Error::_InternalSerialize(
    ::uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:keyapis.device.v1.PostTrunkConfigResponse.Error)
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  switch (reason_case()) {
    case kValidation: {
      target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
        InternalWriteMessage(1, _Internal::validation(this),
          _Internal::validation(this).GetCachedSize(), target, stream);
      break;
    }
    case kSaving: {
      target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
        InternalWriteMessage(2, _Internal::saving(this),
          _Internal::saving(this).GetCachedSize(), target, stream);
      break;
    }
    default: ;
  }
  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = stream->WriteRaw(_internal_metadata_.unknown_fields<std::string>(::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString).data(),
        static_cast<int>(_internal_metadata_.unknown_fields<std::string>(::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString).size()), target);
  }
  // @@protoc_insertion_point(serialize_to_array_end:keyapis.device.v1.PostTrunkConfigResponse.Error)
  return target;
}

::size_t PostTrunkConfigResponse_Error::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:keyapis.device.v1.PostTrunkConfigResponse.Error)
  ::size_t total_size = 0;

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

  switch (reason_case()) {
    // .keyapis.device.v1.ValidationError validation = 1;
    case kValidation: {
      total_size += 1 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
          *_impl_.reason_.validation_);
      break;
    }
    // .keyapis.device.v1.TrunkConfig.SavingError saving = 2;
    case kSaving: {
      total_size += 1 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
          *_impl_.reason_.saving_);
      break;
    }
    case REASON_NOT_SET: {
      break;
    }
  }
  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    total_size += _internal_metadata_.unknown_fields<std::string>(::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString).size();
  }
  int cached_size = ::_pbi::ToCachedSize(total_size);
  SetCachedSize(cached_size);
  return total_size;
}

void PostTrunkConfigResponse_Error::CheckTypeAndMergeFrom(
    const ::PROTOBUF_NAMESPACE_ID::MessageLite& from) {
  MergeFrom(*::_pbi::DownCast<const PostTrunkConfigResponse_Error*>(
      &from));
}

void PostTrunkConfigResponse_Error::MergeFrom(const PostTrunkConfigResponse_Error& from) {
  PostTrunkConfigResponse_Error* const _this = this;
  // @@protoc_insertion_point(class_specific_merge_from_start:keyapis.device.v1.PostTrunkConfigResponse.Error)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  switch (from.reason_case()) {
    case kValidation: {
      _this->_internal_mutable_validation()->::keyapis::device::v1::ValidationError::MergeFrom(
          from._internal_validation());
      break;
    }
    case kSaving: {
      _this->_internal_mutable_saving()->::keyapis::device::v1::TrunkConfig_SavingError::MergeFrom(
          from._internal_saving());
      break;
    }
    case REASON_NOT_SET: {
      break;
    }
  }
  _this->_internal_metadata_.MergeFrom<std::string>(from._internal_metadata_);
}

void PostTrunkConfigResponse_Error::CopyFrom(const PostTrunkConfigResponse_Error& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:keyapis.device.v1.PostTrunkConfigResponse.Error)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

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

void PostTrunkConfigResponse_Error::InternalSwap(PostTrunkConfigResponse_Error* other) {
  using std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_.reason_, other->_impl_.reason_);
  swap(_impl_._oneof_case_[0], other->_impl_._oneof_case_[0]);
}

std::string PostTrunkConfigResponse_Error::GetTypeName() const {
  return "keyapis.device.v1.PostTrunkConfigResponse.Error";
}

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

class PostTrunkConfigResponse::_Internal {
 public:
  static constexpr ::int32_t kOneofCaseOffset =
    PROTOBUF_FIELD_OFFSET(::keyapis::device::v1::PostTrunkConfigResponse, _impl_._oneof_case_);
  static const ::keyapis::device::v1::TrunkConfig& data(const PostTrunkConfigResponse* msg);
  static const ::keyapis::device::v1::PostTrunkConfigResponse_Error& error(const PostTrunkConfigResponse* msg);
};

const ::keyapis::device::v1::TrunkConfig&
PostTrunkConfigResponse::_Internal::data(const PostTrunkConfigResponse* msg) {
  return *msg->_impl_.type_.data_;
}
const ::keyapis::device::v1::PostTrunkConfigResponse_Error&
PostTrunkConfigResponse::_Internal::error(const PostTrunkConfigResponse* msg) {
  return *msg->_impl_.type_.error_;
}
void PostTrunkConfigResponse::set_allocated_data(::keyapis::device::v1::TrunkConfig* data) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation();
  clear_type();
  if (data) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(data);
    if (message_arena != submessage_arena) {
      data = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, data, submessage_arena);
    }
    set_has_data();
    _impl_.type_.data_ = data;
  }
  // @@protoc_insertion_point(field_set_allocated:keyapis.device.v1.PostTrunkConfigResponse.data)
}
void PostTrunkConfigResponse::set_allocated_error(::keyapis::device::v1::PostTrunkConfigResponse_Error* error) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation();
  clear_type();
  if (error) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(error);
    if (message_arena != submessage_arena) {
      error = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, error, submessage_arena);
    }
    set_has_error();
    _impl_.type_.error_ = error;
  }
  // @@protoc_insertion_point(field_set_allocated:keyapis.device.v1.PostTrunkConfigResponse.error)
}
PostTrunkConfigResponse::PostTrunkConfigResponse(::PROTOBUF_NAMESPACE_ID::Arena* arena)
  : ::PROTOBUF_NAMESPACE_ID::MessageLite(arena) {
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:keyapis.device.v1.PostTrunkConfigResponse)
}
PostTrunkConfigResponse::PostTrunkConfigResponse(const PostTrunkConfigResponse& from)
  : ::PROTOBUF_NAMESPACE_ID::MessageLite() {
  PostTrunkConfigResponse* const _this = this; (void)_this;
  new (&_impl_) Impl_{
      decltype(_impl_.type_){}
    , /*decltype(_impl_._cached_size_)*/{}
    , /*decltype(_impl_._oneof_case_)*/{}};

  _internal_metadata_.MergeFrom<std::string>(from._internal_metadata_);
  clear_has_type();
  switch (from.type_case()) {
    case kData: {
      _this->_internal_mutable_data()->::keyapis::device::v1::TrunkConfig::MergeFrom(
          from._internal_data());
      break;
    }
    case kError: {
      _this->_internal_mutable_error()->::keyapis::device::v1::PostTrunkConfigResponse_Error::MergeFrom(
          from._internal_error());
      break;
    }
    case TYPE_NOT_SET: {
      break;
    }
  }
  // @@protoc_insertion_point(copy_constructor:keyapis.device.v1.PostTrunkConfigResponse)
}

inline void PostTrunkConfigResponse::SharedCtor(::_pb::Arena* arena) {
  (void)arena;
  new (&_impl_) Impl_{
      decltype(_impl_.type_){}
    , /*decltype(_impl_._cached_size_)*/{}
    , /*decltype(_impl_._oneof_case_)*/{}
  };
  clear_has_type();
}

PostTrunkConfigResponse::~PostTrunkConfigResponse() {
  // @@protoc_insertion_point(destructor:keyapis.device.v1.PostTrunkConfigResponse)
  if (auto *arena = _internal_metadata_.DeleteReturnArena<std::string>()) {
  (void)arena;
    return;
  }
  SharedDtor();
}

inline void PostTrunkConfigResponse::SharedDtor() {
  ABSL_DCHECK(GetArenaForAllocation() == nullptr);
  if (has_type()) {
    clear_type();
  }
}

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

void PostTrunkConfigResponse::clear_type() {
// @@protoc_insertion_point(one_of_clear_start:keyapis.device.v1.PostTrunkConfigResponse)
  switch (type_case()) {
    case kData: {
      if (GetArenaForAllocation() == nullptr) {
        delete _impl_.type_.data_;
      }
      break;
    }
    case kError: {
      if (GetArenaForAllocation() == nullptr) {
        delete _impl_.type_.error_;
      }
      break;
    }
    case TYPE_NOT_SET: {
      break;
    }
  }
  _impl_._oneof_case_[0] = TYPE_NOT_SET;
}


void PostTrunkConfigResponse::Clear() {
// @@protoc_insertion_point(message_clear_start:keyapis.device.v1.PostTrunkConfigResponse)
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  clear_type();
  _internal_metadata_.Clear<std::string>();
}

const char* PostTrunkConfigResponse::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  while (!ctx->Done(&ptr)) {
    ::uint32_t tag;
    ptr = ::_pbi::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // .keyapis.device.v1.TrunkConfig data = 1;
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::uint8_t>(tag) == 10)) {
          ptr = ctx->ParseMessage(_internal_mutable_data(), ptr);
          CHK_(ptr);
        } else {
          goto handle_unusual;
        }
        continue;
      // .keyapis.device.v1.PostTrunkConfigResponse.Error error = 2;
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::uint8_t>(tag) == 18)) {
          ptr = ctx->ParseMessage(_internal_mutable_error(), ptr);
          CHK_(ptr);
        } else {
          goto handle_unusual;
        }
        continue;
      default:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<std::string>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

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

  switch (type_case()) {
    case kData: {
      target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
        InternalWriteMessage(1, _Internal::data(this),
          _Internal::data(this).GetCachedSize(), target, stream);
      break;
    }
    case kError: {
      target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
        InternalWriteMessage(2, _Internal::error(this),
          _Internal::error(this).GetCachedSize(), target, stream);
      break;
    }
    default: ;
  }
  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = stream->WriteRaw(_internal_metadata_.unknown_fields<std::string>(::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString).data(),
        static_cast<int>(_internal_metadata_.unknown_fields<std::string>(::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString).size()), target);
  }
  // @@protoc_insertion_point(serialize_to_array_end:keyapis.device.v1.PostTrunkConfigResponse)
  return target;
}

::size_t PostTrunkConfigResponse::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:keyapis.device.v1.PostTrunkConfigResponse)
  ::size_t total_size = 0;

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

  switch (type_case()) {
    // .keyapis.device.v1.TrunkConfig data = 1;
    case kData: {
      total_size += 1 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
          *_impl_.type_.data_);
      break;
    }
    // .keyapis.device.v1.PostTrunkConfigResponse.Error error = 2;
    case kError: {
      total_size += 1 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
          *_impl_.type_.error_);
      break;
    }
    case TYPE_NOT_SET: {
      break;
    }
  }
  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    total_size += _internal_metadata_.unknown_fields<std::string>(::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString).size();
  }
  int cached_size = ::_pbi::ToCachedSize(total_size);
  SetCachedSize(cached_size);
  return total_size;
}

void PostTrunkConfigResponse::CheckTypeAndMergeFrom(
    const ::PROTOBUF_NAMESPACE_ID::MessageLite& from) {
  MergeFrom(*::_pbi::DownCast<const PostTrunkConfigResponse*>(
      &from));
}

void PostTrunkConfigResponse::MergeFrom(const PostTrunkConfigResponse& from) {
  PostTrunkConfigResponse* const _this = this;
  // @@protoc_insertion_point(class_specific_merge_from_start:keyapis.device.v1.PostTrunkConfigResponse)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  switch (from.type_case()) {
    case kData: {
      _this->_internal_mutable_data()->::keyapis::device::v1::TrunkConfig::MergeFrom(
          from._internal_data());
      break;
    }
    case kError: {
      _this->_internal_mutable_error()->::keyapis::device::v1::PostTrunkConfigResponse_Error::MergeFrom(
          from._internal_error());
      break;
    }
    case TYPE_NOT_SET: {
      break;
    }
  }
  _this->_internal_metadata_.MergeFrom<std::string>(from._internal_metadata_);
}

void PostTrunkConfigResponse::CopyFrom(const PostTrunkConfigResponse& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:keyapis.device.v1.PostTrunkConfigResponse)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

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

void PostTrunkConfigResponse::InternalSwap(PostTrunkConfigResponse* other) {
  using std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_.type_, other->_impl_.type_);
  swap(_impl_._oneof_case_[0], other->_impl_._oneof_case_[0]);
}

std::string PostTrunkConfigResponse::GetTypeName() const {
  return "keyapis.device.v1.PostTrunkConfigResponse";
}

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

class GetTrunkConfigRequest::_Internal {
 public:
};

GetTrunkConfigRequest::GetTrunkConfigRequest(::PROTOBUF_NAMESPACE_ID::Arena* arena)
  : ::PROTOBUF_NAMESPACE_ID::MessageLite(arena) {
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:keyapis.device.v1.GetTrunkConfigRequest)
}
GetTrunkConfigRequest::GetTrunkConfigRequest(const GetTrunkConfigRequest& from)
  : ::PROTOBUF_NAMESPACE_ID::MessageLite() {
  GetTrunkConfigRequest* const _this = this; (void)_this;
  new (&_impl_) Impl_{
      decltype(_impl_.id_) {}

    , /*decltype(_impl_._cached_size_)*/{}};

  _internal_metadata_.MergeFrom<std::string>(from._internal_metadata_);
  _impl_.id_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
        _impl_.id_.Set("", GetArenaForAllocation());
  #endif  // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (!from._internal_id().empty()) {
    _this->_impl_.id_.Set(from._internal_id(), _this->GetArenaForAllocation());
  }
  // @@protoc_insertion_point(copy_constructor:keyapis.device.v1.GetTrunkConfigRequest)
}

inline void GetTrunkConfigRequest::SharedCtor(::_pb::Arena* arena) {
  (void)arena;
  new (&_impl_) Impl_{
      decltype(_impl_.id_) {}

    , /*decltype(_impl_._cached_size_)*/{}
  };
  _impl_.id_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
        _impl_.id_.Set("", GetArenaForAllocation());
  #endif  // PROTOBUF_FORCE_COPY_DEFAULT_STRING
}

GetTrunkConfigRequest::~GetTrunkConfigRequest() {
  // @@protoc_insertion_point(destructor:keyapis.device.v1.GetTrunkConfigRequest)
  if (auto *arena = _internal_metadata_.DeleteReturnArena<std::string>()) {
  (void)arena;
    return;
  }
  SharedDtor();
}

inline void GetTrunkConfigRequest::SharedDtor() {
  ABSL_DCHECK(GetArenaForAllocation() == nullptr);
  _impl_.id_.Destroy();
}

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

void GetTrunkConfigRequest::Clear() {
// @@protoc_insertion_point(message_clear_start:keyapis.device.v1.GetTrunkConfigRequest)
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _impl_.id_.ClearToEmpty();
  _internal_metadata_.Clear<std::string>();
}

const char* GetTrunkConfigRequest::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  while (!ctx->Done(&ptr)) {
    ::uint32_t tag;
    ptr = ::_pbi::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // string id = 1 [(.google.api.field_behavior) = REQUIRED];
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::uint8_t>(tag) == 10)) {
          auto str = _internal_mutable_id();
          ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(ptr);
          CHK_(::_pbi::VerifyUTF8(str, nullptr));
        } else {
          goto handle_unusual;
        }
        continue;
      default:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<std::string>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

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

  // string id = 1 [(.google.api.field_behavior) = REQUIRED];
  if (!this->_internal_id().empty()) {
    const std::string& _s = this->_internal_id();
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(
        _s.data(), static_cast<int>(_s.length()), ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE, "keyapis.device.v1.GetTrunkConfigRequest.id");
    target = stream->WriteStringMaybeAliased(1, _s, target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = stream->WriteRaw(_internal_metadata_.unknown_fields<std::string>(::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString).data(),
        static_cast<int>(_internal_metadata_.unknown_fields<std::string>(::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString).size()), target);
  }
  // @@protoc_insertion_point(serialize_to_array_end:keyapis.device.v1.GetTrunkConfigRequest)
  return target;
}

::size_t GetTrunkConfigRequest::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:keyapis.device.v1.GetTrunkConfigRequest)
  ::size_t total_size = 0;

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

  // string id = 1 [(.google.api.field_behavior) = REQUIRED];
  if (!this->_internal_id().empty()) {
    total_size += 1 + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
                                    this->_internal_id());
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    total_size += _internal_metadata_.unknown_fields<std::string>(::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString).size();
  }
  int cached_size = ::_pbi::ToCachedSize(total_size);
  SetCachedSize(cached_size);
  return total_size;
}

void GetTrunkConfigRequest::CheckTypeAndMergeFrom(
    const ::PROTOBUF_NAMESPACE_ID::MessageLite& from) {
  MergeFrom(*::_pbi::DownCast<const GetTrunkConfigRequest*>(
      &from));
}

void GetTrunkConfigRequest::MergeFrom(const GetTrunkConfigRequest& from) {
  GetTrunkConfigRequest* const _this = this;
  // @@protoc_insertion_point(class_specific_merge_from_start:keyapis.device.v1.GetTrunkConfigRequest)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  if (!from._internal_id().empty()) {
    _this->_internal_set_id(from._internal_id());
  }
  _this->_internal_metadata_.MergeFrom<std::string>(from._internal_metadata_);
}

void GetTrunkConfigRequest::CopyFrom(const GetTrunkConfigRequest& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:keyapis.device.v1.GetTrunkConfigRequest)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

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

void GetTrunkConfigRequest::InternalSwap(GetTrunkConfigRequest* other) {
  using std::swap;
  auto* lhs_arena = GetArenaForAllocation();
  auto* rhs_arena = other->GetArenaForAllocation();
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.id_, lhs_arena,
                                       &other->_impl_.id_, rhs_arena);
}

std::string GetTrunkConfigRequest::GetTypeName() const {
  return "keyapis.device.v1.GetTrunkConfigRequest";
}

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

class GetTrunkConfigResponse_Error::_Internal {
 public:
  static constexpr ::int32_t kOneofCaseOffset =
    PROTOBUF_FIELD_OFFSET(::keyapis::device::v1::GetTrunkConfigResponse_Error, _impl_._oneof_case_);
  static const ::keyapis::device::v1::ValidationError& validation(const GetTrunkConfigResponse_Error* msg);
};

const ::keyapis::device::v1::ValidationError&
GetTrunkConfigResponse_Error::_Internal::validation(const GetTrunkConfigResponse_Error* msg) {
  return *msg->_impl_.reason_.validation_;
}
void GetTrunkConfigResponse_Error::set_allocated_validation(::keyapis::device::v1::ValidationError* validation) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation();
  clear_reason();
  if (validation) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
        ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(
                reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(validation));
    if (message_arena != submessage_arena) {
      validation = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, validation, submessage_arena);
    }
    set_has_validation();
    _impl_.reason_.validation_ = validation;
  }
  // @@protoc_insertion_point(field_set_allocated:keyapis.device.v1.GetTrunkConfigResponse.Error.validation)
}
void GetTrunkConfigResponse_Error::clear_validation() {
  if (reason_case() == kValidation) {
    if (GetArenaForAllocation() == nullptr) {
      delete _impl_.reason_.validation_;
    }
    clear_has_reason();
  }
}
GetTrunkConfigResponse_Error::GetTrunkConfigResponse_Error(::PROTOBUF_NAMESPACE_ID::Arena* arena)
  : ::PROTOBUF_NAMESPACE_ID::MessageLite(arena) {
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:keyapis.device.v1.GetTrunkConfigResponse.Error)
}
GetTrunkConfigResponse_Error::GetTrunkConfigResponse_Error(const GetTrunkConfigResponse_Error& from)
  : ::PROTOBUF_NAMESPACE_ID::MessageLite() {
  GetTrunkConfigResponse_Error* const _this = this; (void)_this;
  new (&_impl_) Impl_{
      decltype(_impl_.reason_){}
    , /*decltype(_impl_._cached_size_)*/{}
    , /*decltype(_impl_._oneof_case_)*/{}};

  _internal_metadata_.MergeFrom<std::string>(from._internal_metadata_);
  clear_has_reason();
  switch (from.reason_case()) {
    case kValidation: {
      _this->_internal_mutable_validation()->::keyapis::device::v1::ValidationError::MergeFrom(
          from._internal_validation());
      break;
    }
    case REASON_NOT_SET: {
      break;
    }
  }
  // @@protoc_insertion_point(copy_constructor:keyapis.device.v1.GetTrunkConfigResponse.Error)
}

inline void GetTrunkConfigResponse_Error::SharedCtor(::_pb::Arena* arena) {
  (void)arena;
  new (&_impl_) Impl_{
      decltype(_impl_.reason_){}
    , /*decltype(_impl_._cached_size_)*/{}
    , /*decltype(_impl_._oneof_case_)*/{}
  };
  clear_has_reason();
}

GetTrunkConfigResponse_Error::~GetTrunkConfigResponse_Error() {
  // @@protoc_insertion_point(destructor:keyapis.device.v1.GetTrunkConfigResponse.Error)
  if (auto *arena = _internal_metadata_.DeleteReturnArena<std::string>()) {
  (void)arena;
    return;
  }
  SharedDtor();
}

inline void GetTrunkConfigResponse_Error::SharedDtor() {
  ABSL_DCHECK(GetArenaForAllocation() == nullptr);
  if (has_reason()) {
    clear_reason();
  }
}

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

void GetTrunkConfigResponse_Error::clear_reason() {
// @@protoc_insertion_point(one_of_clear_start:keyapis.device.v1.GetTrunkConfigResponse.Error)
  switch (reason_case()) {
    case kValidation: {
      if (GetArenaForAllocation() == nullptr) {
        delete _impl_.reason_.validation_;
      }
      break;
    }
    case REASON_NOT_SET: {
      break;
    }
  }
  _impl_._oneof_case_[0] = REASON_NOT_SET;
}


void GetTrunkConfigResponse_Error::Clear() {
// @@protoc_insertion_point(message_clear_start:keyapis.device.v1.GetTrunkConfigResponse.Error)
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  clear_reason();
  _internal_metadata_.Clear<std::string>();
}

const char* GetTrunkConfigResponse_Error::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  while (!ctx->Done(&ptr)) {
    ::uint32_t tag;
    ptr = ::_pbi::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // .keyapis.device.v1.ValidationError validation = 1;
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::uint8_t>(tag) == 10)) {
          ptr = ctx->ParseMessage(_internal_mutable_validation(), ptr);
          CHK_(ptr);
        } else {
          goto handle_unusual;
        }
        continue;
      default:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<std::string>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

::uint8_t* GetTrunkConfigResponse_Error::_InternalSerialize(
    ::uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:keyapis.device.v1.GetTrunkConfigResponse.Error)
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  // .keyapis.device.v1.ValidationError validation = 1;
  if (reason_case() == kValidation) {
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(1, _Internal::validation(this),
        _Internal::validation(this).GetCachedSize(), target, stream);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = stream->WriteRaw(_internal_metadata_.unknown_fields<std::string>(::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString).data(),
        static_cast<int>(_internal_metadata_.unknown_fields<std::string>(::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString).size()), target);
  }
  // @@protoc_insertion_point(serialize_to_array_end:keyapis.device.v1.GetTrunkConfigResponse.Error)
  return target;
}

::size_t GetTrunkConfigResponse_Error::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:keyapis.device.v1.GetTrunkConfigResponse.Error)
  ::size_t total_size = 0;

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

  switch (reason_case()) {
    // .keyapis.device.v1.ValidationError validation = 1;
    case kValidation: {
      total_size += 1 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
          *_impl_.reason_.validation_);
      break;
    }
    case REASON_NOT_SET: {
      break;
    }
  }
  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    total_size += _internal_metadata_.unknown_fields<std::string>(::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString).size();
  }
  int cached_size = ::_pbi::ToCachedSize(total_size);
  SetCachedSize(cached_size);
  return total_size;
}

void GetTrunkConfigResponse_Error::CheckTypeAndMergeFrom(
    const ::PROTOBUF_NAMESPACE_ID::MessageLite& from) {
  MergeFrom(*::_pbi::DownCast<const GetTrunkConfigResponse_Error*>(
      &from));
}

void GetTrunkConfigResponse_Error::MergeFrom(const GetTrunkConfigResponse_Error& from) {
  GetTrunkConfigResponse_Error* const _this = this;
  // @@protoc_insertion_point(class_specific_merge_from_start:keyapis.device.v1.GetTrunkConfigResponse.Error)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  switch (from.reason_case()) {
    case kValidation: {
      _this->_internal_mutable_validation()->::keyapis::device::v1::ValidationError::MergeFrom(
          from._internal_validation());
      break;
    }
    case REASON_NOT_SET: {
      break;
    }
  }
  _this->_internal_metadata_.MergeFrom<std::string>(from._internal_metadata_);
}

void GetTrunkConfigResponse_Error::CopyFrom(const GetTrunkConfigResponse_Error& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:keyapis.device.v1.GetTrunkConfigResponse.Error)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

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

void GetTrunkConfigResponse_Error::InternalSwap(GetTrunkConfigResponse_Error* other) {
  using std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_.reason_, other->_impl_.reason_);
  swap(_impl_._oneof_case_[0], other->_impl_._oneof_case_[0]);
}

std::string GetTrunkConfigResponse_Error::GetTypeName() const {
  return "keyapis.device.v1.GetTrunkConfigResponse.Error";
}

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

class GetTrunkConfigResponse::_Internal {
 public:
  static constexpr ::int32_t kOneofCaseOffset =
    PROTOBUF_FIELD_OFFSET(::keyapis::device::v1::GetTrunkConfigResponse, _impl_._oneof_case_);
  static const ::keyapis::device::v1::TrunkConfig& data(const GetTrunkConfigResponse* msg);
  static const ::keyapis::device::v1::GetTrunkConfigResponse_Error& error(const GetTrunkConfigResponse* msg);
};

const ::keyapis::device::v1::TrunkConfig&
GetTrunkConfigResponse::_Internal::data(const GetTrunkConfigResponse* msg) {
  return *msg->_impl_.type_.data_;
}
const ::keyapis::device::v1::GetTrunkConfigResponse_Error&
GetTrunkConfigResponse::_Internal::error(const GetTrunkConfigResponse* msg) {
  return *msg->_impl_.type_.error_;
}
void GetTrunkConfigResponse::set_allocated_data(::keyapis::device::v1::TrunkConfig* data) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation();
  clear_type();
  if (data) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(data);
    if (message_arena != submessage_arena) {
      data = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, data, submessage_arena);
    }
    set_has_data();
    _impl_.type_.data_ = data;
  }
  // @@protoc_insertion_point(field_set_allocated:keyapis.device.v1.GetTrunkConfigResponse.data)
}
void GetTrunkConfigResponse::set_allocated_error(::keyapis::device::v1::GetTrunkConfigResponse_Error* error) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation();
  clear_type();
  if (error) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(error);
    if (message_arena != submessage_arena) {
      error = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, error, submessage_arena);
    }
    set_has_error();
    _impl_.type_.error_ = error;
  }
  // @@protoc_insertion_point(field_set_allocated:keyapis.device.v1.GetTrunkConfigResponse.error)
}
GetTrunkConfigResponse::GetTrunkConfigResponse(::PROTOBUF_NAMESPACE_ID::Arena* arena)
  : ::PROTOBUF_NAMESPACE_ID::MessageLite(arena) {
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:keyapis.device.v1.GetTrunkConfigResponse)
}
GetTrunkConfigResponse::GetTrunkConfigResponse(const GetTrunkConfigResponse& from)
  : ::PROTOBUF_NAMESPACE_ID::MessageLite() {
  GetTrunkConfigResponse* const _this = this; (void)_this;
  new (&_impl_) Impl_{
      decltype(_impl_.type_){}
    , /*decltype(_impl_._cached_size_)*/{}
    , /*decltype(_impl_._oneof_case_)*/{}};

  _internal_metadata_.MergeFrom<std::string>(from._internal_metadata_);
  clear_has_type();
  switch (from.type_case()) {
    case kData: {
      _this->_internal_mutable_data()->::keyapis::device::v1::TrunkConfig::MergeFrom(
          from._internal_data());
      break;
    }
    case kError: {
      _this->_internal_mutable_error()->::keyapis::device::v1::GetTrunkConfigResponse_Error::MergeFrom(
          from._internal_error());
      break;
    }
    case TYPE_NOT_SET: {
      break;
    }
  }
  // @@protoc_insertion_point(copy_constructor:keyapis.device.v1.GetTrunkConfigResponse)
}

inline void GetTrunkConfigResponse::SharedCtor(::_pb::Arena* arena) {
  (void)arena;
  new (&_impl_) Impl_{
      decltype(_impl_.type_){}
    , /*decltype(_impl_._cached_size_)*/{}
    , /*decltype(_impl_._oneof_case_)*/{}
  };
  clear_has_type();
}

GetTrunkConfigResponse::~GetTrunkConfigResponse() {
  // @@protoc_insertion_point(destructor:keyapis.device.v1.GetTrunkConfigResponse)
  if (auto *arena = _internal_metadata_.DeleteReturnArena<std::string>()) {
  (void)arena;
    return;
  }
  SharedDtor();
}

inline void GetTrunkConfigResponse::SharedDtor() {
  ABSL_DCHECK(GetArenaForAllocation() == nullptr);
  if (has_type()) {
    clear_type();
  }
}

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

void GetTrunkConfigResponse::clear_type() {
// @@protoc_insertion_point(one_of_clear_start:keyapis.device.v1.GetTrunkConfigResponse)
  switch (type_case()) {
    case kData: {
      if (GetArenaForAllocation() == nullptr) {
        delete _impl_.type_.data_;
      }
      break;
    }
    case kError: {
      if (GetArenaForAllocation() == nullptr) {
        delete _impl_.type_.error_;
      }
      break;
    }
    case TYPE_NOT_SET: {
      break;
    }
  }
  _impl_._oneof_case_[0] = TYPE_NOT_SET;
}


void GetTrunkConfigResponse::Clear() {
// @@protoc_insertion_point(message_clear_start:keyapis.device.v1.GetTrunkConfigResponse)
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  clear_type();
  _internal_metadata_.Clear<std::string>();
}

const char* GetTrunkConfigResponse::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  while (!ctx->Done(&ptr)) {
    ::uint32_t tag;
    ptr = ::_pbi::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // .keyapis.device.v1.TrunkConfig data = 1;
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::uint8_t>(tag) == 10)) {
          ptr = ctx->ParseMessage(_internal_mutable_data(), ptr);
          CHK_(ptr);
        } else {
          goto handle_unusual;
        }
        continue;
      // .keyapis.device.v1.GetTrunkConfigResponse.Error error = 2;
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::uint8_t>(tag) == 18)) {
          ptr = ctx->ParseMessage(_internal_mutable_error(), ptr);
          CHK_(ptr);
        } else {
          goto handle_unusual;
        }
        continue;
      default:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<std::string>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

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

  switch (type_case()) {
    case kData: {
      target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
        InternalWriteMessage(1, _Internal::data(this),
          _Internal::data(this).GetCachedSize(), target, stream);
      break;
    }
    case kError: {
      target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
        InternalWriteMessage(2, _Internal::error(this),
          _Internal::error(this).GetCachedSize(), target, stream);
      break;
    }
    default: ;
  }
  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = stream->WriteRaw(_internal_metadata_.unknown_fields<std::string>(::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString).data(),
        static_cast<int>(_internal_metadata_.unknown_fields<std::string>(::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString).size()), target);
  }
  // @@protoc_insertion_point(serialize_to_array_end:keyapis.device.v1.GetTrunkConfigResponse)
  return target;
}

::size_t GetTrunkConfigResponse::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:keyapis.device.v1.GetTrunkConfigResponse)
  ::size_t total_size = 0;

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

  switch (type_case()) {
    // .keyapis.device.v1.TrunkConfig data = 1;
    case kData: {
      total_size += 1 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
          *_impl_.type_.data_);
      break;
    }
    // .keyapis.device.v1.GetTrunkConfigResponse.Error error = 2;
    case kError: {
      total_size += 1 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
          *_impl_.type_.error_);
      break;
    }
    case TYPE_NOT_SET: {
      break;
    }
  }
  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    total_size += _internal_metadata_.unknown_fields<std::string>(::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString).size();
  }
  int cached_size = ::_pbi::ToCachedSize(total_size);
  SetCachedSize(cached_size);
  return total_size;
}

void GetTrunkConfigResponse::CheckTypeAndMergeFrom(
    const ::PROTOBUF_NAMESPACE_ID::MessageLite& from) {
  MergeFrom(*::_pbi::DownCast<const GetTrunkConfigResponse*>(
      &from));
}

void GetTrunkConfigResponse::MergeFrom(const GetTrunkConfigResponse& from) {
  GetTrunkConfigResponse* const _this = this;
  // @@protoc_insertion_point(class_specific_merge_from_start:keyapis.device.v1.GetTrunkConfigResponse)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  switch (from.type_case()) {
    case kData: {
      _this->_internal_mutable_data()->::keyapis::device::v1::TrunkConfig::MergeFrom(
          from._internal_data());
      break;
    }
    case kError: {
      _this->_internal_mutable_error()->::keyapis::device::v1::GetTrunkConfigResponse_Error::MergeFrom(
          from._internal_error());
      break;
    }
    case TYPE_NOT_SET: {
      break;
    }
  }
  _this->_internal_metadata_.MergeFrom<std::string>(from._internal_metadata_);
}

void GetTrunkConfigResponse::CopyFrom(const GetTrunkConfigResponse& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:keyapis.device.v1.GetTrunkConfigResponse)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

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

void GetTrunkConfigResponse::InternalSwap(GetTrunkConfigResponse* other) {
  using std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_.type_, other->_impl_.type_);
  swap(_impl_._oneof_case_[0], other->_impl_._oneof_case_[0]);
}

std::string GetTrunkConfigResponse::GetTypeName() const {
  return "keyapis.device.v1.GetTrunkConfigResponse";
}

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

class GetTrunkConfigListRequest::_Internal {
 public:
  using HasBits = decltype(std::declval<GetTrunkConfigListRequest>()._impl_._has_bits_);
  static constexpr ::int32_t kHasBitsOffset =
    8 * PROTOBUF_FIELD_OFFSET(GetTrunkConfigListRequest, _impl_._has_bits_);
  static constexpr ::int32_t kOneofCaseOffset =
    PROTOBUF_FIELD_OFFSET(::keyapis::device::v1::GetTrunkConfigListRequest, _impl_._oneof_case_);
  static const ::keyapis::device::v1::TrunkConfigFilter& filter(const GetTrunkConfigListRequest* msg);
  static void set_has_filter(HasBits* has_bits) {
    (*has_bits)[0] |= 1u;
  }
  static const ::keyapis::device::v1::TrunkConfigPaging& paging(const GetTrunkConfigListRequest* msg);
};

const ::keyapis::device::v1::TrunkConfigFilter&
GetTrunkConfigListRequest::_Internal::filter(const GetTrunkConfigListRequest* msg) {
  return *msg->_impl_.filter_;
}
const ::keyapis::device::v1::TrunkConfigPaging&
GetTrunkConfigListRequest::_Internal::paging(const GetTrunkConfigListRequest* msg) {
  return *msg->_impl_.pagination_.paging_;
}
void GetTrunkConfigListRequest::set_allocated_paging(::keyapis::device::v1::TrunkConfigPaging* paging) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation();
  clear_pagination();
  if (paging) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(paging);
    if (message_arena != submessage_arena) {
      paging = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, paging, submessage_arena);
    }
    set_has_paging();
    _impl_.pagination_.paging_ = paging;
  }
  // @@protoc_insertion_point(field_set_allocated:keyapis.device.v1.GetTrunkConfigListRequest.paging)
}
GetTrunkConfigListRequest::GetTrunkConfigListRequest(::PROTOBUF_NAMESPACE_ID::Arena* arena)
  : ::PROTOBUF_NAMESPACE_ID::MessageLite(arena) {
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:keyapis.device.v1.GetTrunkConfigListRequest)
}
GetTrunkConfigListRequest::GetTrunkConfigListRequest(const GetTrunkConfigListRequest& from)
  : ::PROTOBUF_NAMESPACE_ID::MessageLite() {
  GetTrunkConfigListRequest* const _this = this; (void)_this;
  new (&_impl_) Impl_{
      decltype(_impl_._has_bits_){from._impl_._has_bits_}
    , /*decltype(_impl_._cached_size_)*/{}
    , decltype(_impl_.filter_){nullptr}
    , decltype(_impl_.pagination_){}
    , /*decltype(_impl_._oneof_case_)*/{}};

  _internal_metadata_.MergeFrom<std::string>(from._internal_metadata_);
  if ((from._impl_._has_bits_[0] & 0x00000001u) != 0) {
    _this->_impl_.filter_ = new ::keyapis::device::v1::TrunkConfigFilter(*from._impl_.filter_);
  }
  clear_has_pagination();
  switch (from.pagination_case()) {
    case kPaging: {
      _this->_internal_mutable_paging()->::keyapis::device::v1::TrunkConfigPaging::MergeFrom(
          from._internal_paging());
      break;
    }
    case PAGINATION_NOT_SET: {
      break;
    }
  }
  // @@protoc_insertion_point(copy_constructor:keyapis.device.v1.GetTrunkConfigListRequest)
}

inline void GetTrunkConfigListRequest::SharedCtor(::_pb::Arena* arena) {
  (void)arena;
  new (&_impl_) Impl_{
      decltype(_impl_._has_bits_){}
    , /*decltype(_impl_._cached_size_)*/{}
    , decltype(_impl_.filter_){nullptr}
    , decltype(_impl_.pagination_){}
    , /*decltype(_impl_._oneof_case_)*/{}
  };
  clear_has_pagination();
}

GetTrunkConfigListRequest::~GetTrunkConfigListRequest() {
  // @@protoc_insertion_point(destructor:keyapis.device.v1.GetTrunkConfigListRequest)
  if (auto *arena = _internal_metadata_.DeleteReturnArena<std::string>()) {
  (void)arena;
    return;
  }
  SharedDtor();
}

inline void GetTrunkConfigListRequest::SharedDtor() {
  ABSL_DCHECK(GetArenaForAllocation() == nullptr);
  if (this != internal_default_instance()) delete _impl_.filter_;
  if (has_pagination()) {
    clear_pagination();
  }
}

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

void GetTrunkConfigListRequest::clear_pagination() {
// @@protoc_insertion_point(one_of_clear_start:keyapis.device.v1.GetTrunkConfigListRequest)
  switch (pagination_case()) {
    case kPaging: {
      if (GetArenaForAllocation() == nullptr) {
        delete _impl_.pagination_.paging_;
      }
      break;
    }
    case PAGINATION_NOT_SET: {
      break;
    }
  }
  _impl_._oneof_case_[0] = PAGINATION_NOT_SET;
}


void GetTrunkConfigListRequest::Clear() {
// @@protoc_insertion_point(message_clear_start:keyapis.device.v1.GetTrunkConfigListRequest)
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000001u) {
    ABSL_DCHECK(_impl_.filter_ != nullptr);
    _impl_.filter_->Clear();
  }
  clear_pagination();
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<std::string>();
}

const char* GetTrunkConfigListRequest::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  _Internal::HasBits has_bits{};
  while (!ctx->Done(&ptr)) {
    ::uint32_t tag;
    ptr = ::_pbi::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // .keyapis.device.v1.TrunkConfigFilter filter = 1;
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::uint8_t>(tag) == 10)) {
          ptr = ctx->ParseMessage(_internal_mutable_filter(), ptr);
          CHK_(ptr);
        } else {
          goto handle_unusual;
        }
        continue;
      // .keyapis.device.v1.TrunkConfigPaging paging = 2;
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::uint8_t>(tag) == 18)) {
          ptr = ctx->ParseMessage(_internal_mutable_paging(), ptr);
          CHK_(ptr);
        } else {
          goto handle_unusual;
        }
        continue;
      default:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<std::string>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  _impl_._has_bits_.Or(has_bits);
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

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

  cached_has_bits = _impl_._has_bits_[0];
  // .keyapis.device.v1.TrunkConfigFilter filter = 1;
  if (cached_has_bits & 0x00000001u) {
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(1, _Internal::filter(this),
        _Internal::filter(this).GetCachedSize(), target, stream);
  }

  // .keyapis.device.v1.TrunkConfigPaging paging = 2;
  if (pagination_case() == kPaging) {
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(2, _Internal::paging(this),
        _Internal::paging(this).GetCachedSize(), target, stream);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = stream->WriteRaw(_internal_metadata_.unknown_fields<std::string>(::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString).data(),
        static_cast<int>(_internal_metadata_.unknown_fields<std::string>(::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString).size()), target);
  }
  // @@protoc_insertion_point(serialize_to_array_end:keyapis.device.v1.GetTrunkConfigListRequest)
  return target;
}

::size_t GetTrunkConfigListRequest::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:keyapis.device.v1.GetTrunkConfigListRequest)
  ::size_t total_size = 0;

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

  // .keyapis.device.v1.TrunkConfigFilter filter = 1;
  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000001u) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *_impl_.filter_);
  }

  switch (pagination_case()) {
    // .keyapis.device.v1.TrunkConfigPaging paging = 2;
    case kPaging: {
      total_size += 1 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
          *_impl_.pagination_.paging_);
      break;
    }
    case PAGINATION_NOT_SET: {
      break;
    }
  }
  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    total_size += _internal_metadata_.unknown_fields<std::string>(::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString).size();
  }
  int cached_size = ::_pbi::ToCachedSize(total_size);
  SetCachedSize(cached_size);
  return total_size;
}

void GetTrunkConfigListRequest::CheckTypeAndMergeFrom(
    const ::PROTOBUF_NAMESPACE_ID::MessageLite& from) {
  MergeFrom(*::_pbi::DownCast<const GetTrunkConfigListRequest*>(
      &from));
}

void GetTrunkConfigListRequest::MergeFrom(const GetTrunkConfigListRequest& from) {
  GetTrunkConfigListRequest* const _this = this;
  // @@protoc_insertion_point(class_specific_merge_from_start:keyapis.device.v1.GetTrunkConfigListRequest)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  if ((from._impl_._has_bits_[0] & 0x00000001u) != 0) {
    _this->_internal_mutable_filter()->::keyapis::device::v1::TrunkConfigFilter::MergeFrom(
        from._internal_filter());
  }
  switch (from.pagination_case()) {
    case kPaging: {
      _this->_internal_mutable_paging()->::keyapis::device::v1::TrunkConfigPaging::MergeFrom(
          from._internal_paging());
      break;
    }
    case PAGINATION_NOT_SET: {
      break;
    }
  }
  _this->_internal_metadata_.MergeFrom<std::string>(from._internal_metadata_);
}

void GetTrunkConfigListRequest::CopyFrom(const GetTrunkConfigListRequest& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:keyapis.device.v1.GetTrunkConfigListRequest)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

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

void GetTrunkConfigListRequest::InternalSwap(GetTrunkConfigListRequest* other) {
  using std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  swap(_impl_.filter_, other->_impl_.filter_);
  swap(_impl_.pagination_, other->_impl_.pagination_);
  swap(_impl_._oneof_case_[0], other->_impl_._oneof_case_[0]);
}

std::string GetTrunkConfigListRequest::GetTypeName() const {
  return "keyapis.device.v1.GetTrunkConfigListRequest";
}

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

class GetTrunkConfigListResponse_Error::_Internal {
 public:
  using HasBits = decltype(std::declval<GetTrunkConfigListResponse_Error>()._impl_._has_bits_);
  static constexpr ::int32_t kHasBitsOffset =
    8 * PROTOBUF_FIELD_OFFSET(GetTrunkConfigListResponse_Error, _impl_._has_bits_);
  static const ::keyapis::device::v1::ValidationError& validation_error(const GetTrunkConfigListResponse_Error* msg);
  static void set_has_validation_error(HasBits* has_bits) {
    (*has_bits)[0] |= 1u;
  }
};

const ::keyapis::device::v1::ValidationError&
GetTrunkConfigListResponse_Error::_Internal::validation_error(const GetTrunkConfigListResponse_Error* msg) {
  return *msg->_impl_.validation_error_;
}
void GetTrunkConfigListResponse_Error::clear_validation_error() {
  if (_impl_.validation_error_ != nullptr) _impl_.validation_error_->Clear();
  _impl_._has_bits_[0] &= ~0x00000001u;
}
GetTrunkConfigListResponse_Error::GetTrunkConfigListResponse_Error(::PROTOBUF_NAMESPACE_ID::Arena* arena)
  : ::PROTOBUF_NAMESPACE_ID::MessageLite(arena) {
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:keyapis.device.v1.GetTrunkConfigListResponse.Error)
}
GetTrunkConfigListResponse_Error::GetTrunkConfigListResponse_Error(const GetTrunkConfigListResponse_Error& from)
  : ::PROTOBUF_NAMESPACE_ID::MessageLite() {
  GetTrunkConfigListResponse_Error* const _this = this; (void)_this;
  new (&_impl_) Impl_{
      decltype(_impl_._has_bits_){from._impl_._has_bits_}
    , /*decltype(_impl_._cached_size_)*/{}
    , decltype(_impl_.validation_error_){nullptr}};

  _internal_metadata_.MergeFrom<std::string>(from._internal_metadata_);
  if ((from._impl_._has_bits_[0] & 0x00000001u) != 0) {
    _this->_impl_.validation_error_ = new ::keyapis::device::v1::ValidationError(*from._impl_.validation_error_);
  }
  // @@protoc_insertion_point(copy_constructor:keyapis.device.v1.GetTrunkConfigListResponse.Error)
}

inline void GetTrunkConfigListResponse_Error::SharedCtor(::_pb::Arena* arena) {
  (void)arena;
  new (&_impl_) Impl_{
      decltype(_impl_._has_bits_){}
    , /*decltype(_impl_._cached_size_)*/{}
    , decltype(_impl_.validation_error_){nullptr}
  };
}

GetTrunkConfigListResponse_Error::~GetTrunkConfigListResponse_Error() {
  // @@protoc_insertion_point(destructor:keyapis.device.v1.GetTrunkConfigListResponse.Error)
  if (auto *arena = _internal_metadata_.DeleteReturnArena<std::string>()) {
  (void)arena;
    return;
  }
  SharedDtor();
}

inline void GetTrunkConfigListResponse_Error::SharedDtor() {
  ABSL_DCHECK(GetArenaForAllocation() == nullptr);
  if (this != internal_default_instance()) delete _impl_.validation_error_;
}

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

void GetTrunkConfigListResponse_Error::Clear() {
// @@protoc_insertion_point(message_clear_start:keyapis.device.v1.GetTrunkConfigListResponse.Error)
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000001u) {
    ABSL_DCHECK(_impl_.validation_error_ != nullptr);
    _impl_.validation_error_->Clear();
  }
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<std::string>();
}

const char* GetTrunkConfigListResponse_Error::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  _Internal::HasBits has_bits{};
  while (!ctx->Done(&ptr)) {
    ::uint32_t tag;
    ptr = ::_pbi::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // .keyapis.device.v1.ValidationError validation_error = 1;
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::uint8_t>(tag) == 10)) {
          ptr = ctx->ParseMessage(_internal_mutable_validation_error(), ptr);
          CHK_(ptr);
        } else {
          goto handle_unusual;
        }
        continue;
      default:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<std::string>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  _impl_._has_bits_.Or(has_bits);
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

::uint8_t* GetTrunkConfigListResponse_Error::_InternalSerialize(
    ::uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:keyapis.device.v1.GetTrunkConfigListResponse.Error)
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  cached_has_bits = _impl_._has_bits_[0];
  // .keyapis.device.v1.ValidationError validation_error = 1;
  if (cached_has_bits & 0x00000001u) {
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(1, _Internal::validation_error(this),
        _Internal::validation_error(this).GetCachedSize(), target, stream);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = stream->WriteRaw(_internal_metadata_.unknown_fields<std::string>(::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString).data(),
        static_cast<int>(_internal_metadata_.unknown_fields<std::string>(::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString).size()), target);
  }
  // @@protoc_insertion_point(serialize_to_array_end:keyapis.device.v1.GetTrunkConfigListResponse.Error)
  return target;
}

::size_t GetTrunkConfigListResponse_Error::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:keyapis.device.v1.GetTrunkConfigListResponse.Error)
  ::size_t total_size = 0;

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

  // .keyapis.device.v1.ValidationError validation_error = 1;
  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000001u) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *_impl_.validation_error_);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    total_size += _internal_metadata_.unknown_fields<std::string>(::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString).size();
  }
  int cached_size = ::_pbi::ToCachedSize(total_size);
  SetCachedSize(cached_size);
  return total_size;
}

void GetTrunkConfigListResponse_Error::CheckTypeAndMergeFrom(
    const ::PROTOBUF_NAMESPACE_ID::MessageLite& from) {
  MergeFrom(*::_pbi::DownCast<const GetTrunkConfigListResponse_Error*>(
      &from));
}

void GetTrunkConfigListResponse_Error::MergeFrom(const GetTrunkConfigListResponse_Error& from) {
  GetTrunkConfigListResponse_Error* const _this = this;
  // @@protoc_insertion_point(class_specific_merge_from_start:keyapis.device.v1.GetTrunkConfigListResponse.Error)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  if ((from._impl_._has_bits_[0] & 0x00000001u) != 0) {
    _this->_internal_mutable_validation_error()->::keyapis::device::v1::ValidationError::MergeFrom(
        from._internal_validation_error());
  }
  _this->_internal_metadata_.MergeFrom<std::string>(from._internal_metadata_);
}

void GetTrunkConfigListResponse_Error::CopyFrom(const GetTrunkConfigListResponse_Error& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:keyapis.device.v1.GetTrunkConfigListResponse.Error)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

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

void GetTrunkConfigListResponse_Error::InternalSwap(GetTrunkConfigListResponse_Error* other) {
  using std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  swap(_impl_.validation_error_, other->_impl_.validation_error_);
}

std::string GetTrunkConfigListResponse_Error::GetTypeName() const {
  return "keyapis.device.v1.GetTrunkConfigListResponse.Error";
}

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

class GetTrunkConfigListResponse::_Internal {
 public:
  static constexpr ::int32_t kOneofCaseOffset =
    PROTOBUF_FIELD_OFFSET(::keyapis::device::v1::GetTrunkConfigListResponse, _impl_._oneof_case_);
  static const ::keyapis::device::v1::TrunkConfig& data(const GetTrunkConfigListResponse* msg);
  static const ::keyapis::device::v1::GetTrunkConfigListResponse_Error& error(const GetTrunkConfigListResponse* msg);
};

const ::keyapis::device::v1::TrunkConfig&
GetTrunkConfigListResponse::_Internal::data(const GetTrunkConfigListResponse* msg) {
  return *msg->_impl_.type_.data_;
}
const ::keyapis::device::v1::GetTrunkConfigListResponse_Error&
GetTrunkConfigListResponse::_Internal::error(const GetTrunkConfigListResponse* msg) {
  return *msg->_impl_.type_.error_;
}
void GetTrunkConfigListResponse::set_allocated_data(::keyapis::device::v1::TrunkConfig* data) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation();
  clear_type();
  if (data) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(data);
    if (message_arena != submessage_arena) {
      data = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, data, submessage_arena);
    }
    set_has_data();
    _impl_.type_.data_ = data;
  }
  // @@protoc_insertion_point(field_set_allocated:keyapis.device.v1.GetTrunkConfigListResponse.data)
}
void GetTrunkConfigListResponse::set_allocated_error(::keyapis::device::v1::GetTrunkConfigListResponse_Error* error) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation();
  clear_type();
  if (error) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(error);
    if (message_arena != submessage_arena) {
      error = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, error, submessage_arena);
    }
    set_has_error();
    _impl_.type_.error_ = error;
  }
  // @@protoc_insertion_point(field_set_allocated:keyapis.device.v1.GetTrunkConfigListResponse.error)
}
GetTrunkConfigListResponse::GetTrunkConfigListResponse(::PROTOBUF_NAMESPACE_ID::Arena* arena)
  : ::PROTOBUF_NAMESPACE_ID::MessageLite(arena) {
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:keyapis.device.v1.GetTrunkConfigListResponse)
}
GetTrunkConfigListResponse::GetTrunkConfigListResponse(const GetTrunkConfigListResponse& from)
  : ::PROTOBUF_NAMESPACE_ID::MessageLite() {
  GetTrunkConfigListResponse* const _this = this; (void)_this;
  new (&_impl_) Impl_{
      decltype(_impl_.type_){}
    , /*decltype(_impl_._cached_size_)*/{}
    , /*decltype(_impl_._oneof_case_)*/{}};

  _internal_metadata_.MergeFrom<std::string>(from._internal_metadata_);
  clear_has_type();
  switch (from.type_case()) {
    case kData: {
      _this->_internal_mutable_data()->::keyapis::device::v1::TrunkConfig::MergeFrom(
          from._internal_data());
      break;
    }
    case kError: {
      _this->_internal_mutable_error()->::keyapis::device::v1::GetTrunkConfigListResponse_Error::MergeFrom(
          from._internal_error());
      break;
    }
    case TYPE_NOT_SET: {
      break;
    }
  }
  // @@protoc_insertion_point(copy_constructor:keyapis.device.v1.GetTrunkConfigListResponse)
}

inline void GetTrunkConfigListResponse::SharedCtor(::_pb::Arena* arena) {
  (void)arena;
  new (&_impl_) Impl_{
      decltype(_impl_.type_){}
    , /*decltype(_impl_._cached_size_)*/{}
    , /*decltype(_impl_._oneof_case_)*/{}
  };
  clear_has_type();
}

GetTrunkConfigListResponse::~GetTrunkConfigListResponse() {
  // @@protoc_insertion_point(destructor:keyapis.device.v1.GetTrunkConfigListResponse)
  if (auto *arena = _internal_metadata_.DeleteReturnArena<std::string>()) {
  (void)arena;
    return;
  }
  SharedDtor();
}

inline void GetTrunkConfigListResponse::SharedDtor() {
  ABSL_DCHECK(GetArenaForAllocation() == nullptr);
  if (has_type()) {
    clear_type();
  }
}

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

void GetTrunkConfigListResponse::clear_type() {
// @@protoc_insertion_point(one_of_clear_start:keyapis.device.v1.GetTrunkConfigListResponse)
  switch (type_case()) {
    case kData: {
      if (GetArenaForAllocation() == nullptr) {
        delete _impl_.type_.data_;
      }
      break;
    }
    case kError: {
      if (GetArenaForAllocation() == nullptr) {
        delete _impl_.type_.error_;
      }
      break;
    }
    case TYPE_NOT_SET: {
      break;
    }
  }
  _impl_._oneof_case_[0] = TYPE_NOT_SET;
}


void GetTrunkConfigListResponse::Clear() {
// @@protoc_insertion_point(message_clear_start:keyapis.device.v1.GetTrunkConfigListResponse)
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  clear_type();
  _internal_metadata_.Clear<std::string>();
}

const char* GetTrunkConfigListResponse::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  while (!ctx->Done(&ptr)) {
    ::uint32_t tag;
    ptr = ::_pbi::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // .keyapis.device.v1.TrunkConfig data = 1;
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::uint8_t>(tag) == 10)) {
          ptr = ctx->ParseMessage(_internal_mutable_data(), ptr);
          CHK_(ptr);
        } else {
          goto handle_unusual;
        }
        continue;
      // .keyapis.device.v1.GetTrunkConfigListResponse.Error error = 2;
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::uint8_t>(tag) == 18)) {
          ptr = ctx->ParseMessage(_internal_mutable_error(), ptr);
          CHK_(ptr);
        } else {
          goto handle_unusual;
        }
        continue;
      default:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<std::string>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

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

  switch (type_case()) {
    case kData: {
      target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
        InternalWriteMessage(1, _Internal::data(this),
          _Internal::data(this).GetCachedSize(), target, stream);
      break;
    }
    case kError: {
      target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
        InternalWriteMessage(2, _Internal::error(this),
          _Internal::error(this).GetCachedSize(), target, stream);
      break;
    }
    default: ;
  }
  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = stream->WriteRaw(_internal_metadata_.unknown_fields<std::string>(::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString).data(),
        static_cast<int>(_internal_metadata_.unknown_fields<std::string>(::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString).size()), target);
  }
  // @@protoc_insertion_point(serialize_to_array_end:keyapis.device.v1.GetTrunkConfigListResponse)
  return target;
}

::size_t GetTrunkConfigListResponse::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:keyapis.device.v1.GetTrunkConfigListResponse)
  ::size_t total_size = 0;

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

  switch (type_case()) {
    // .keyapis.device.v1.TrunkConfig data = 1;
    case kData: {
      total_size += 1 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
          *_impl_.type_.data_);
      break;
    }
    // .keyapis.device.v1.GetTrunkConfigListResponse.Error error = 2;
    case kError: {
      total_size += 1 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
          *_impl_.type_.error_);
      break;
    }
    case TYPE_NOT_SET: {
      break;
    }
  }
  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    total_size += _internal_metadata_.unknown_fields<std::string>(::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString).size();
  }
  int cached_size = ::_pbi::ToCachedSize(total_size);
  SetCachedSize(cached_size);
  return total_size;
}

void GetTrunkConfigListResponse::CheckTypeAndMergeFrom(
    const ::PROTOBUF_NAMESPACE_ID::MessageLite& from) {
  MergeFrom(*::_pbi::DownCast<const GetTrunkConfigListResponse*>(
      &from));
}

void GetTrunkConfigListResponse::MergeFrom(const GetTrunkConfigListResponse& from) {
  GetTrunkConfigListResponse* const _this = this;
  // @@protoc_insertion_point(class_specific_merge_from_start:keyapis.device.v1.GetTrunkConfigListResponse)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  switch (from.type_case()) {
    case kData: {
      _this->_internal_mutable_data()->::keyapis::device::v1::TrunkConfig::MergeFrom(
          from._internal_data());
      break;
    }
    case kError: {
      _this->_internal_mutable_error()->::keyapis::device::v1::GetTrunkConfigListResponse_Error::MergeFrom(
          from._internal_error());
      break;
    }
    case TYPE_NOT_SET: {
      break;
    }
  }
  _this->_internal_metadata_.MergeFrom<std::string>(from._internal_metadata_);
}

void GetTrunkConfigListResponse::CopyFrom(const GetTrunkConfigListResponse& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:keyapis.device.v1.GetTrunkConfigListResponse)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

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

void GetTrunkConfigListResponse::InternalSwap(GetTrunkConfigListResponse* other) {
  using std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_.type_, other->_impl_.type_);
  swap(_impl_._oneof_case_[0], other->_impl_._oneof_case_[0]);
}

std::string GetTrunkConfigListResponse::GetTypeName() const {
  return "keyapis.device.v1.GetTrunkConfigListResponse";
}

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

class GetTrunkConfigCountRequest::_Internal {
 public:
  using HasBits = decltype(std::declval<GetTrunkConfigCountRequest>()._impl_._has_bits_);
  static constexpr ::int32_t kHasBitsOffset =
    8 * PROTOBUF_FIELD_OFFSET(GetTrunkConfigCountRequest, _impl_._has_bits_);
  static const ::keyapis::device::v1::TrunkConfigFilter& filter(const GetTrunkConfigCountRequest* msg);
  static void set_has_filter(HasBits* has_bits) {
    (*has_bits)[0] |= 1u;
  }
};

const ::keyapis::device::v1::TrunkConfigFilter&
GetTrunkConfigCountRequest::_Internal::filter(const GetTrunkConfigCountRequest* msg) {
  return *msg->_impl_.filter_;
}
GetTrunkConfigCountRequest::GetTrunkConfigCountRequest(::PROTOBUF_NAMESPACE_ID::Arena* arena)
  : ::PROTOBUF_NAMESPACE_ID::MessageLite(arena) {
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:keyapis.device.v1.GetTrunkConfigCountRequest)
}
GetTrunkConfigCountRequest::GetTrunkConfigCountRequest(const GetTrunkConfigCountRequest& from)
  : ::PROTOBUF_NAMESPACE_ID::MessageLite() {
  GetTrunkConfigCountRequest* const _this = this; (void)_this;
  new (&_impl_) Impl_{
      decltype(_impl_._has_bits_){from._impl_._has_bits_}
    , /*decltype(_impl_._cached_size_)*/{}
    , decltype(_impl_.filter_){nullptr}};

  _internal_metadata_.MergeFrom<std::string>(from._internal_metadata_);
  if ((from._impl_._has_bits_[0] & 0x00000001u) != 0) {
    _this->_impl_.filter_ = new ::keyapis::device::v1::TrunkConfigFilter(*from._impl_.filter_);
  }
  // @@protoc_insertion_point(copy_constructor:keyapis.device.v1.GetTrunkConfigCountRequest)
}

inline void GetTrunkConfigCountRequest::SharedCtor(::_pb::Arena* arena) {
  (void)arena;
  new (&_impl_) Impl_{
      decltype(_impl_._has_bits_){}
    , /*decltype(_impl_._cached_size_)*/{}
    , decltype(_impl_.filter_){nullptr}
  };
}

GetTrunkConfigCountRequest::~GetTrunkConfigCountRequest() {
  // @@protoc_insertion_point(destructor:keyapis.device.v1.GetTrunkConfigCountRequest)
  if (auto *arena = _internal_metadata_.DeleteReturnArena<std::string>()) {
  (void)arena;
    return;
  }
  SharedDtor();
}

inline void GetTrunkConfigCountRequest::SharedDtor() {
  ABSL_DCHECK(GetArenaForAllocation() == nullptr);
  if (this != internal_default_instance()) delete _impl_.filter_;
}

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

void GetTrunkConfigCountRequest::Clear() {
// @@protoc_insertion_point(message_clear_start:keyapis.device.v1.GetTrunkConfigCountRequest)
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000001u) {
    ABSL_DCHECK(_impl_.filter_ != nullptr);
    _impl_.filter_->Clear();
  }
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<std::string>();
}

const char* GetTrunkConfigCountRequest::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  _Internal::HasBits has_bits{};
  while (!ctx->Done(&ptr)) {
    ::uint32_t tag;
    ptr = ::_pbi::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // .keyapis.device.v1.TrunkConfigFilter filter = 1;
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::uint8_t>(tag) == 10)) {
          ptr = ctx->ParseMessage(_internal_mutable_filter(), ptr);
          CHK_(ptr);
        } else {
          goto handle_unusual;
        }
        continue;
      default:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<std::string>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  _impl_._has_bits_.Or(has_bits);
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

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

  cached_has_bits = _impl_._has_bits_[0];
  // .keyapis.device.v1.TrunkConfigFilter filter = 1;
  if (cached_has_bits & 0x00000001u) {
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(1, _Internal::filter(this),
        _Internal::filter(this).GetCachedSize(), target, stream);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = stream->WriteRaw(_internal_metadata_.unknown_fields<std::string>(::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString).data(),
        static_cast<int>(_internal_metadata_.unknown_fields<std::string>(::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString).size()), target);
  }
  // @@protoc_insertion_point(serialize_to_array_end:keyapis.device.v1.GetTrunkConfigCountRequest)
  return target;
}

::size_t GetTrunkConfigCountRequest::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:keyapis.device.v1.GetTrunkConfigCountRequest)
  ::size_t total_size = 0;

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

  // .keyapis.device.v1.TrunkConfigFilter filter = 1;
  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000001u) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *_impl_.filter_);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    total_size += _internal_metadata_.unknown_fields<std::string>(::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString).size();
  }
  int cached_size = ::_pbi::ToCachedSize(total_size);
  SetCachedSize(cached_size);
  return total_size;
}

void GetTrunkConfigCountRequest::CheckTypeAndMergeFrom(
    const ::PROTOBUF_NAMESPACE_ID::MessageLite& from) {
  MergeFrom(*::_pbi::DownCast<const GetTrunkConfigCountRequest*>(
      &from));
}

void GetTrunkConfigCountRequest::MergeFrom(const GetTrunkConfigCountRequest& from) {
  GetTrunkConfigCountRequest* const _this = this;
  // @@protoc_insertion_point(class_specific_merge_from_start:keyapis.device.v1.GetTrunkConfigCountRequest)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  if ((from._impl_._has_bits_[0] & 0x00000001u) != 0) {
    _this->_internal_mutable_filter()->::keyapis::device::v1::TrunkConfigFilter::MergeFrom(
        from._internal_filter());
  }
  _this->_internal_metadata_.MergeFrom<std::string>(from._internal_metadata_);
}

void GetTrunkConfigCountRequest::CopyFrom(const GetTrunkConfigCountRequest& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:keyapis.device.v1.GetTrunkConfigCountRequest)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

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

void GetTrunkConfigCountRequest::InternalSwap(GetTrunkConfigCountRequest* other) {
  using std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  swap(_impl_.filter_, other->_impl_.filter_);
}

std::string GetTrunkConfigCountRequest::GetTypeName() const {
  return "keyapis.device.v1.GetTrunkConfigCountRequest";
}

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

class GetTrunkConfigCountResponse_Error::_Internal {
 public:
  using HasBits = decltype(std::declval<GetTrunkConfigCountResponse_Error>()._impl_._has_bits_);
  static constexpr ::int32_t kHasBitsOffset =
    8 * PROTOBUF_FIELD_OFFSET(GetTrunkConfigCountResponse_Error, _impl_._has_bits_);
  static const ::keyapis::device::v1::ValidationError& validation_error(const GetTrunkConfigCountResponse_Error* msg);
  static void set_has_validation_error(HasBits* has_bits) {
    (*has_bits)[0] |= 1u;
  }
};

const ::keyapis::device::v1::ValidationError&
GetTrunkConfigCountResponse_Error::_Internal::validation_error(const GetTrunkConfigCountResponse_Error* msg) {
  return *msg->_impl_.validation_error_;
}
void GetTrunkConfigCountResponse_Error::clear_validation_error() {
  if (_impl_.validation_error_ != nullptr) _impl_.validation_error_->Clear();
  _impl_._has_bits_[0] &= ~0x00000001u;
}
GetTrunkConfigCountResponse_Error::GetTrunkConfigCountResponse_Error(::PROTOBUF_NAMESPACE_ID::Arena* arena)
  : ::PROTOBUF_NAMESPACE_ID::MessageLite(arena) {
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:keyapis.device.v1.GetTrunkConfigCountResponse.Error)
}
GetTrunkConfigCountResponse_Error::GetTrunkConfigCountResponse_Error(const GetTrunkConfigCountResponse_Error& from)
  : ::PROTOBUF_NAMESPACE_ID::MessageLite() {
  GetTrunkConfigCountResponse_Error* const _this = this; (void)_this;
  new (&_impl_) Impl_{
      decltype(_impl_._has_bits_){from._impl_._has_bits_}
    , /*decltype(_impl_._cached_size_)*/{}
    , decltype(_impl_.validation_error_){nullptr}};

  _internal_metadata_.MergeFrom<std::string>(from._internal_metadata_);
  if ((from._impl_._has_bits_[0] & 0x00000001u) != 0) {
    _this->_impl_.validation_error_ = new ::keyapis::device::v1::ValidationError(*from._impl_.validation_error_);
  }
  // @@protoc_insertion_point(copy_constructor:keyapis.device.v1.GetTrunkConfigCountResponse.Error)
}

inline void GetTrunkConfigCountResponse_Error::SharedCtor(::_pb::Arena* arena) {
  (void)arena;
  new (&_impl_) Impl_{
      decltype(_impl_._has_bits_){}
    , /*decltype(_impl_._cached_size_)*/{}
    , decltype(_impl_.validation_error_){nullptr}
  };
}

GetTrunkConfigCountResponse_Error::~GetTrunkConfigCountResponse_Error() {
  // @@protoc_insertion_point(destructor:keyapis.device.v1.GetTrunkConfigCountResponse.Error)
  if (auto *arena = _internal_metadata_.DeleteReturnArena<std::string>()) {
  (void)arena;
    return;
  }
  SharedDtor();
}

inline void GetTrunkConfigCountResponse_Error::SharedDtor() {
  ABSL_DCHECK(GetArenaForAllocation() == nullptr);
  if (this != internal_default_instance()) delete _impl_.validation_error_;
}

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

void GetTrunkConfigCountResponse_Error::Clear() {
// @@protoc_insertion_point(message_clear_start:keyapis.device.v1.GetTrunkConfigCountResponse.Error)
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000001u) {
    ABSL_DCHECK(_impl_.validation_error_ != nullptr);
    _impl_.validation_error_->Clear();
  }
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<std::string>();
}

const char* GetTrunkConfigCountResponse_Error::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  _Internal::HasBits has_bits{};
  while (!ctx->Done(&ptr)) {
    ::uint32_t tag;
    ptr = ::_pbi::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // .keyapis.device.v1.ValidationError validation_error = 1;
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::uint8_t>(tag) == 10)) {
          ptr = ctx->ParseMessage(_internal_mutable_validation_error(), ptr);
          CHK_(ptr);
        } else {
          goto handle_unusual;
        }
        continue;
      default:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<std::string>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  _impl_._has_bits_.Or(has_bits);
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

::uint8_t* GetTrunkConfigCountResponse_Error::_InternalSerialize(
    ::uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:keyapis.device.v1.GetTrunkConfigCountResponse.Error)
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  cached_has_bits = _impl_._has_bits_[0];
  // .keyapis.device.v1.ValidationError validation_error = 1;
  if (cached_has_bits & 0x00000001u) {
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(1, _Internal::validation_error(this),
        _Internal::validation_error(this).GetCachedSize(), target, stream);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = stream->WriteRaw(_internal_metadata_.unknown_fields<std::string>(::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString).data(),
        static_cast<int>(_internal_metadata_.unknown_fields<std::string>(::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString).size()), target);
  }
  // @@protoc_insertion_point(serialize_to_array_end:keyapis.device.v1.GetTrunkConfigCountResponse.Error)
  return target;
}

::size_t GetTrunkConfigCountResponse_Error::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:keyapis.device.v1.GetTrunkConfigCountResponse.Error)
  ::size_t total_size = 0;

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

  // .keyapis.device.v1.ValidationError validation_error = 1;
  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000001u) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *_impl_.validation_error_);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    total_size += _internal_metadata_.unknown_fields<std::string>(::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString).size();
  }
  int cached_size = ::_pbi::ToCachedSize(total_size);
  SetCachedSize(cached_size);
  return total_size;
}

void GetTrunkConfigCountResponse_Error::CheckTypeAndMergeFrom(
    const ::PROTOBUF_NAMESPACE_ID::MessageLite& from) {
  MergeFrom(*::_pbi::DownCast<const GetTrunkConfigCountResponse_Error*>(
      &from));
}

void GetTrunkConfigCountResponse_Error::MergeFrom(const GetTrunkConfigCountResponse_Error& from) {
  GetTrunkConfigCountResponse_Error* const _this = this;
  // @@protoc_insertion_point(class_specific_merge_from_start:keyapis.device.v1.GetTrunkConfigCountResponse.Error)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  if ((from._impl_._has_bits_[0] & 0x00000001u) != 0) {
    _this->_internal_mutable_validation_error()->::keyapis::device::v1::ValidationError::MergeFrom(
        from._internal_validation_error());
  }
  _this->_internal_metadata_.MergeFrom<std::string>(from._internal_metadata_);
}

void GetTrunkConfigCountResponse_Error::CopyFrom(const GetTrunkConfigCountResponse_Error& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:keyapis.device.v1.GetTrunkConfigCountResponse.Error)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

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

void GetTrunkConfigCountResponse_Error::InternalSwap(GetTrunkConfigCountResponse_Error* other) {
  using std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  swap(_impl_.validation_error_, other->_impl_.validation_error_);
}

std::string GetTrunkConfigCountResponse_Error::GetTypeName() const {
  return "keyapis.device.v1.GetTrunkConfigCountResponse.Error";
}

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

class GetTrunkConfigCountResponse::_Internal {
 public:
  static constexpr ::int32_t kOneofCaseOffset =
    PROTOBUF_FIELD_OFFSET(::keyapis::device::v1::GetTrunkConfigCountResponse, _impl_._oneof_case_);
  static const ::keyapis::device::v1::GetTrunkConfigCountResponse_Error& error(const GetTrunkConfigCountResponse* msg);
};

const ::keyapis::device::v1::GetTrunkConfigCountResponse_Error&
GetTrunkConfigCountResponse::_Internal::error(const GetTrunkConfigCountResponse* msg) {
  return *msg->_impl_.type_.error_;
}
void GetTrunkConfigCountResponse::set_allocated_error(::keyapis::device::v1::GetTrunkConfigCountResponse_Error* error) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation();
  clear_type();
  if (error) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(error);
    if (message_arena != submessage_arena) {
      error = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, error, submessage_arena);
    }
    set_has_error();
    _impl_.type_.error_ = error;
  }
  // @@protoc_insertion_point(field_set_allocated:keyapis.device.v1.GetTrunkConfigCountResponse.error)
}
GetTrunkConfigCountResponse::GetTrunkConfigCountResponse(::PROTOBUF_NAMESPACE_ID::Arena* arena)
  : ::PROTOBUF_NAMESPACE_ID::MessageLite(arena) {
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:keyapis.device.v1.GetTrunkConfigCountResponse)
}
GetTrunkConfigCountResponse::GetTrunkConfigCountResponse(const GetTrunkConfigCountResponse& from)
  : ::PROTOBUF_NAMESPACE_ID::MessageLite() {
  GetTrunkConfigCountResponse* const _this = this; (void)_this;
  new (&_impl_) Impl_{
      decltype(_impl_.type_){}
    , /*decltype(_impl_._cached_size_)*/{}
    , /*decltype(_impl_._oneof_case_)*/{}};

  _internal_metadata_.MergeFrom<std::string>(from._internal_metadata_);
  clear_has_type();
  switch (from.type_case()) {
    case kData: {
      _this->_internal_set_data(from._internal_data());
      break;
    }
    case kError: {
      _this->_internal_mutable_error()->::keyapis::device::v1::GetTrunkConfigCountResponse_Error::MergeFrom(
          from._internal_error());
      break;
    }
    case TYPE_NOT_SET: {
      break;
    }
  }
  // @@protoc_insertion_point(copy_constructor:keyapis.device.v1.GetTrunkConfigCountResponse)
}

inline void GetTrunkConfigCountResponse::SharedCtor(::_pb::Arena* arena) {
  (void)arena;
  new (&_impl_) Impl_{
      decltype(_impl_.type_){}
    , /*decltype(_impl_._cached_size_)*/{}
    , /*decltype(_impl_._oneof_case_)*/{}
  };
  clear_has_type();
}

GetTrunkConfigCountResponse::~GetTrunkConfigCountResponse() {
  // @@protoc_insertion_point(destructor:keyapis.device.v1.GetTrunkConfigCountResponse)
  if (auto *arena = _internal_metadata_.DeleteReturnArena<std::string>()) {
  (void)arena;
    return;
  }
  SharedDtor();
}

inline void GetTrunkConfigCountResponse::SharedDtor() {
  ABSL_DCHECK(GetArenaForAllocation() == nullptr);
  if (has_type()) {
    clear_type();
  }
}

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

void GetTrunkConfigCountResponse::clear_type() {
// @@protoc_insertion_point(one_of_clear_start:keyapis.device.v1.GetTrunkConfigCountResponse)
  switch (type_case()) {
    case kData: {
      // No need to clear
      break;
    }
    case kError: {
      if (GetArenaForAllocation() == nullptr) {
        delete _impl_.type_.error_;
      }
      break;
    }
    case TYPE_NOT_SET: {
      break;
    }
  }
  _impl_._oneof_case_[0] = TYPE_NOT_SET;
}


void GetTrunkConfigCountResponse::Clear() {
// @@protoc_insertion_point(message_clear_start:keyapis.device.v1.GetTrunkConfigCountResponse)
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  clear_type();
  _internal_metadata_.Clear<std::string>();
}

const char* GetTrunkConfigCountResponse::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  while (!ctx->Done(&ptr)) {
    ::uint32_t tag;
    ptr = ::_pbi::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // int32 data = 1;
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::uint8_t>(tag) == 8)) {
          _internal_set_data(::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr));
          CHK_(ptr);
        } else {
          goto handle_unusual;
        }
        continue;
      // .keyapis.device.v1.GetTrunkConfigCountResponse.Error error = 2;
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::uint8_t>(tag) == 18)) {
          ptr = ctx->ParseMessage(_internal_mutable_error(), ptr);
          CHK_(ptr);
        } else {
          goto handle_unusual;
        }
        continue;
      default:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<std::string>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

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

  switch (type_case()) {
    case kData: {
      target = stream->EnsureSpace(target);
      target = ::_pbi::WireFormatLite::WriteInt32ToArray(
          1, this->_internal_data(), target);
      break;
    }
    case kError: {
      target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
        InternalWriteMessage(2, _Internal::error(this),
          _Internal::error(this).GetCachedSize(), target, stream);
      break;
    }
    default: ;
  }
  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = stream->WriteRaw(_internal_metadata_.unknown_fields<std::string>(::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString).data(),
        static_cast<int>(_internal_metadata_.unknown_fields<std::string>(::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString).size()), target);
  }
  // @@protoc_insertion_point(serialize_to_array_end:keyapis.device.v1.GetTrunkConfigCountResponse)
  return target;
}

::size_t GetTrunkConfigCountResponse::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:keyapis.device.v1.GetTrunkConfigCountResponse)
  ::size_t total_size = 0;

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

  switch (type_case()) {
    // int32 data = 1;
    case kData: {
      total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(
          this->_internal_data());
      break;
    }
    // .keyapis.device.v1.GetTrunkConfigCountResponse.Error error = 2;
    case kError: {
      total_size += 1 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
          *_impl_.type_.error_);
      break;
    }
    case TYPE_NOT_SET: {
      break;
    }
  }
  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    total_size += _internal_metadata_.unknown_fields<std::string>(::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString).size();
  }
  int cached_size = ::_pbi::ToCachedSize(total_size);
  SetCachedSize(cached_size);
  return total_size;
}

void GetTrunkConfigCountResponse::CheckTypeAndMergeFrom(
    const ::PROTOBUF_NAMESPACE_ID::MessageLite& from) {
  MergeFrom(*::_pbi::DownCast<const GetTrunkConfigCountResponse*>(
      &from));
}

void GetTrunkConfigCountResponse::MergeFrom(const GetTrunkConfigCountResponse& from) {
  GetTrunkConfigCountResponse* const _this = this;
  // @@protoc_insertion_point(class_specific_merge_from_start:keyapis.device.v1.GetTrunkConfigCountResponse)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  switch (from.type_case()) {
    case kData: {
      _this->_internal_set_data(from._internal_data());
      break;
    }
    case kError: {
      _this->_internal_mutable_error()->::keyapis::device::v1::GetTrunkConfigCountResponse_Error::MergeFrom(
          from._internal_error());
      break;
    }
    case TYPE_NOT_SET: {
      break;
    }
  }
  _this->_internal_metadata_.MergeFrom<std::string>(from._internal_metadata_);
}

void GetTrunkConfigCountResponse::CopyFrom(const GetTrunkConfigCountResponse& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:keyapis.device.v1.GetTrunkConfigCountResponse)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

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

void GetTrunkConfigCountResponse::InternalSwap(GetTrunkConfigCountResponse* other) {
  using std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_.type_, other->_impl_.type_);
  swap(_impl_._oneof_case_[0], other->_impl_._oneof_case_[0]);
}

std::string GetTrunkConfigCountResponse::GetTypeName() const {
  return "keyapis.device.v1.GetTrunkConfigCountResponse";
}

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

class DeleteTrunkConfigRequest::_Internal {
 public:
};

DeleteTrunkConfigRequest::DeleteTrunkConfigRequest(::PROTOBUF_NAMESPACE_ID::Arena* arena)
  : ::PROTOBUF_NAMESPACE_ID::MessageLite(arena) {
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:keyapis.device.v1.DeleteTrunkConfigRequest)
}
DeleteTrunkConfigRequest::DeleteTrunkConfigRequest(const DeleteTrunkConfigRequest& from)
  : ::PROTOBUF_NAMESPACE_ID::MessageLite() {
  DeleteTrunkConfigRequest* const _this = this; (void)_this;
  new (&_impl_) Impl_{
      decltype(_impl_.id_) {}

    , /*decltype(_impl_._cached_size_)*/{}};

  _internal_metadata_.MergeFrom<std::string>(from._internal_metadata_);
  _impl_.id_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
        _impl_.id_.Set("", GetArenaForAllocation());
  #endif  // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (!from._internal_id().empty()) {
    _this->_impl_.id_.Set(from._internal_id(), _this->GetArenaForAllocation());
  }
  // @@protoc_insertion_point(copy_constructor:keyapis.device.v1.DeleteTrunkConfigRequest)
}

inline void DeleteTrunkConfigRequest::SharedCtor(::_pb::Arena* arena) {
  (void)arena;
  new (&_impl_) Impl_{
      decltype(_impl_.id_) {}

    , /*decltype(_impl_._cached_size_)*/{}
  };
  _impl_.id_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
        _impl_.id_.Set("", GetArenaForAllocation());
  #endif  // PROTOBUF_FORCE_COPY_DEFAULT_STRING
}

DeleteTrunkConfigRequest::~DeleteTrunkConfigRequest() {
  // @@protoc_insertion_point(destructor:keyapis.device.v1.DeleteTrunkConfigRequest)
  if (auto *arena = _internal_metadata_.DeleteReturnArena<std::string>()) {
  (void)arena;
    return;
  }
  SharedDtor();
}

inline void DeleteTrunkConfigRequest::SharedDtor() {
  ABSL_DCHECK(GetArenaForAllocation() == nullptr);
  _impl_.id_.Destroy();
}

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

void DeleteTrunkConfigRequest::Clear() {
// @@protoc_insertion_point(message_clear_start:keyapis.device.v1.DeleteTrunkConfigRequest)
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _impl_.id_.ClearToEmpty();
  _internal_metadata_.Clear<std::string>();
}

const char* DeleteTrunkConfigRequest::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  while (!ctx->Done(&ptr)) {
    ::uint32_t tag;
    ptr = ::_pbi::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // string id = 1 [(.google.api.field_behavior) = REQUIRED];
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::uint8_t>(tag) == 10)) {
          auto str = _internal_mutable_id();
          ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(ptr);
          CHK_(::_pbi::VerifyUTF8(str, nullptr));
        } else {
          goto handle_unusual;
        }
        continue;
      default:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<std::string>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

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

  // string id = 1 [(.google.api.field_behavior) = REQUIRED];
  if (!this->_internal_id().empty()) {
    const std::string& _s = this->_internal_id();
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(
        _s.data(), static_cast<int>(_s.length()), ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE, "keyapis.device.v1.DeleteTrunkConfigRequest.id");
    target = stream->WriteStringMaybeAliased(1, _s, target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = stream->WriteRaw(_internal_metadata_.unknown_fields<std::string>(::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString).data(),
        static_cast<int>(_internal_metadata_.unknown_fields<std::string>(::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString).size()), target);
  }
  // @@protoc_insertion_point(serialize_to_array_end:keyapis.device.v1.DeleteTrunkConfigRequest)
  return target;
}

::size_t DeleteTrunkConfigRequest::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:keyapis.device.v1.DeleteTrunkConfigRequest)
  ::size_t total_size = 0;

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

  // string id = 1 [(.google.api.field_behavior) = REQUIRED];
  if (!this->_internal_id().empty()) {
    total_size += 1 + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
                                    this->_internal_id());
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    total_size += _internal_metadata_.unknown_fields<std::string>(::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString).size();
  }
  int cached_size = ::_pbi::ToCachedSize(total_size);
  SetCachedSize(cached_size);
  return total_size;
}

void DeleteTrunkConfigRequest::CheckTypeAndMergeFrom(
    const ::PROTOBUF_NAMESPACE_ID::MessageLite& from) {
  MergeFrom(*::_pbi::DownCast<const DeleteTrunkConfigRequest*>(
      &from));
}

void DeleteTrunkConfigRequest::MergeFrom(const DeleteTrunkConfigRequest& from) {
  DeleteTrunkConfigRequest* const _this = this;
  // @@protoc_insertion_point(class_specific_merge_from_start:keyapis.device.v1.DeleteTrunkConfigRequest)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  if (!from._internal_id().empty()) {
    _this->_internal_set_id(from._internal_id());
  }
  _this->_internal_metadata_.MergeFrom<std::string>(from._internal_metadata_);
}

void DeleteTrunkConfigRequest::CopyFrom(const DeleteTrunkConfigRequest& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:keyapis.device.v1.DeleteTrunkConfigRequest)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

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

void DeleteTrunkConfigRequest::InternalSwap(DeleteTrunkConfigRequest* other) {
  using std::swap;
  auto* lhs_arena = GetArenaForAllocation();
  auto* rhs_arena = other->GetArenaForAllocation();
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.id_, lhs_arena,
                                       &other->_impl_.id_, rhs_arena);
}

std::string DeleteTrunkConfigRequest::GetTypeName() const {
  return "keyapis.device.v1.DeleteTrunkConfigRequest";
}

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

class DeleteTrunkConfigResponse_Error::_Internal {
 public:
  static constexpr ::int32_t kOneofCaseOffset =
    PROTOBUF_FIELD_OFFSET(::keyapis::device::v1::DeleteTrunkConfigResponse_Error, _impl_._oneof_case_);
  static const ::keyapis::device::v1::ValidationError& validation(const DeleteTrunkConfigResponse_Error* msg);
};

const ::keyapis::device::v1::ValidationError&
DeleteTrunkConfigResponse_Error::_Internal::validation(const DeleteTrunkConfigResponse_Error* msg) {
  return *msg->_impl_.reason_.validation_;
}
void DeleteTrunkConfigResponse_Error::set_allocated_validation(::keyapis::device::v1::ValidationError* validation) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation();
  clear_reason();
  if (validation) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
        ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(
                reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(validation));
    if (message_arena != submessage_arena) {
      validation = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, validation, submessage_arena);
    }
    set_has_validation();
    _impl_.reason_.validation_ = validation;
  }
  // @@protoc_insertion_point(field_set_allocated:keyapis.device.v1.DeleteTrunkConfigResponse.Error.validation)
}
void DeleteTrunkConfigResponse_Error::clear_validation() {
  if (reason_case() == kValidation) {
    if (GetArenaForAllocation() == nullptr) {
      delete _impl_.reason_.validation_;
    }
    clear_has_reason();
  }
}
DeleteTrunkConfigResponse_Error::DeleteTrunkConfigResponse_Error(::PROTOBUF_NAMESPACE_ID::Arena* arena)
  : ::PROTOBUF_NAMESPACE_ID::MessageLite(arena) {
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:keyapis.device.v1.DeleteTrunkConfigResponse.Error)
}
DeleteTrunkConfigResponse_Error::DeleteTrunkConfigResponse_Error(const DeleteTrunkConfigResponse_Error& from)
  : ::PROTOBUF_NAMESPACE_ID::MessageLite() {
  DeleteTrunkConfigResponse_Error* const _this = this; (void)_this;
  new (&_impl_) Impl_{
      decltype(_impl_.reason_){}
    , /*decltype(_impl_._cached_size_)*/{}
    , /*decltype(_impl_._oneof_case_)*/{}};

  _internal_metadata_.MergeFrom<std::string>(from._internal_metadata_);
  clear_has_reason();
  switch (from.reason_case()) {
    case kValidation: {
      _this->_internal_mutable_validation()->::keyapis::device::v1::ValidationError::MergeFrom(
          from._internal_validation());
      break;
    }
    case REASON_NOT_SET: {
      break;
    }
  }
  // @@protoc_insertion_point(copy_constructor:keyapis.device.v1.DeleteTrunkConfigResponse.Error)
}

inline void DeleteTrunkConfigResponse_Error::SharedCtor(::_pb::Arena* arena) {
  (void)arena;
  new (&_impl_) Impl_{
      decltype(_impl_.reason_){}
    , /*decltype(_impl_._cached_size_)*/{}
    , /*decltype(_impl_._oneof_case_)*/{}
  };
  clear_has_reason();
}

DeleteTrunkConfigResponse_Error::~DeleteTrunkConfigResponse_Error() {
  // @@protoc_insertion_point(destructor:keyapis.device.v1.DeleteTrunkConfigResponse.Error)
  if (auto *arena = _internal_metadata_.DeleteReturnArena<std::string>()) {
  (void)arena;
    return;
  }
  SharedDtor();
}

inline void DeleteTrunkConfigResponse_Error::SharedDtor() {
  ABSL_DCHECK(GetArenaForAllocation() == nullptr);
  if (has_reason()) {
    clear_reason();
  }
}

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

void DeleteTrunkConfigResponse_Error::clear_reason() {
// @@protoc_insertion_point(one_of_clear_start:keyapis.device.v1.DeleteTrunkConfigResponse.Error)
  switch (reason_case()) {
    case kValidation: {
      if (GetArenaForAllocation() == nullptr) {
        delete _impl_.reason_.validation_;
      }
      break;
    }
    case REASON_NOT_SET: {
      break;
    }
  }
  _impl_._oneof_case_[0] = REASON_NOT_SET;
}


void DeleteTrunkConfigResponse_Error::Clear() {
// @@protoc_insertion_point(message_clear_start:keyapis.device.v1.DeleteTrunkConfigResponse.Error)
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  clear_reason();
  _internal_metadata_.Clear<std::string>();
}

const char* DeleteTrunkConfigResponse_Error::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  while (!ctx->Done(&ptr)) {
    ::uint32_t tag;
    ptr = ::_pbi::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // .keyapis.device.v1.ValidationError validation = 1;
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::uint8_t>(tag) == 10)) {
          ptr = ctx->ParseMessage(_internal_mutable_validation(), ptr);
          CHK_(ptr);
        } else {
          goto handle_unusual;
        }
        continue;
      default:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<std::string>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

::uint8_t* DeleteTrunkConfigResponse_Error::_InternalSerialize(
    ::uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:keyapis.device.v1.DeleteTrunkConfigResponse.Error)
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  // .keyapis.device.v1.ValidationError validation = 1;
  if (reason_case() == kValidation) {
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(1, _Internal::validation(this),
        _Internal::validation(this).GetCachedSize(), target, stream);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = stream->WriteRaw(_internal_metadata_.unknown_fields<std::string>(::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString).data(),
        static_cast<int>(_internal_metadata_.unknown_fields<std::string>(::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString).size()), target);
  }
  // @@protoc_insertion_point(serialize_to_array_end:keyapis.device.v1.DeleteTrunkConfigResponse.Error)
  return target;
}

::size_t DeleteTrunkConfigResponse_Error::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:keyapis.device.v1.DeleteTrunkConfigResponse.Error)
  ::size_t total_size = 0;

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

  switch (reason_case()) {
    // .keyapis.device.v1.ValidationError validation = 1;
    case kValidation: {
      total_size += 1 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
          *_impl_.reason_.validation_);
      break;
    }
    case REASON_NOT_SET: {
      break;
    }
  }
  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    total_size += _internal_metadata_.unknown_fields<std::string>(::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString).size();
  }
  int cached_size = ::_pbi::ToCachedSize(total_size);
  SetCachedSize(cached_size);
  return total_size;
}

void DeleteTrunkConfigResponse_Error::CheckTypeAndMergeFrom(
    const ::PROTOBUF_NAMESPACE_ID::MessageLite& from) {
  MergeFrom(*::_pbi::DownCast<const DeleteTrunkConfigResponse_Error*>(
      &from));
}

void DeleteTrunkConfigResponse_Error::MergeFrom(const DeleteTrunkConfigResponse_Error& from) {
  DeleteTrunkConfigResponse_Error* const _this = this;
  // @@protoc_insertion_point(class_specific_merge_from_start:keyapis.device.v1.DeleteTrunkConfigResponse.Error)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  switch (from.reason_case()) {
    case kValidation: {
      _this->_internal_mutable_validation()->::keyapis::device::v1::ValidationError::MergeFrom(
          from._internal_validation());
      break;
    }
    case REASON_NOT_SET: {
      break;
    }
  }
  _this->_internal_metadata_.MergeFrom<std::string>(from._internal_metadata_);
}

void DeleteTrunkConfigResponse_Error::CopyFrom(const DeleteTrunkConfigResponse_Error& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:keyapis.device.v1.DeleteTrunkConfigResponse.Error)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

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

void DeleteTrunkConfigResponse_Error::InternalSwap(DeleteTrunkConfigResponse_Error* other) {
  using std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_.reason_, other->_impl_.reason_);
  swap(_impl_._oneof_case_[0], other->_impl_._oneof_case_[0]);
}

std::string DeleteTrunkConfigResponse_Error::GetTypeName() const {
  return "keyapis.device.v1.DeleteTrunkConfigResponse.Error";
}

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

class DeleteTrunkConfigResponse::_Internal {
 public:
  static constexpr ::int32_t kOneofCaseOffset =
    PROTOBUF_FIELD_OFFSET(::keyapis::device::v1::DeleteTrunkConfigResponse, _impl_._oneof_case_);
  static const ::keyapis::device::v1::DeleteTrunkConfigResponse_Error& error(const DeleteTrunkConfigResponse* msg);
};

const ::keyapis::device::v1::DeleteTrunkConfigResponse_Error&
DeleteTrunkConfigResponse::_Internal::error(const DeleteTrunkConfigResponse* msg) {
  return *msg->_impl_.type_.error_;
}
void DeleteTrunkConfigResponse::set_allocated_error(::keyapis::device::v1::DeleteTrunkConfigResponse_Error* error) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation();
  clear_type();
  if (error) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(error);
    if (message_arena != submessage_arena) {
      error = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, error, submessage_arena);
    }
    set_has_error();
    _impl_.type_.error_ = error;
  }
  // @@protoc_insertion_point(field_set_allocated:keyapis.device.v1.DeleteTrunkConfigResponse.error)
}
DeleteTrunkConfigResponse::DeleteTrunkConfigResponse(::PROTOBUF_NAMESPACE_ID::Arena* arena)
  : ::PROTOBUF_NAMESPACE_ID::MessageLite(arena) {
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:keyapis.device.v1.DeleteTrunkConfigResponse)
}
DeleteTrunkConfigResponse::DeleteTrunkConfigResponse(const DeleteTrunkConfigResponse& from)
  : ::PROTOBUF_NAMESPACE_ID::MessageLite() {
  DeleteTrunkConfigResponse* const _this = this; (void)_this;
  new (&_impl_) Impl_{
      decltype(_impl_.type_){}
    , /*decltype(_impl_._cached_size_)*/{}
    , /*decltype(_impl_._oneof_case_)*/{}};

  _internal_metadata_.MergeFrom<std::string>(from._internal_metadata_);
  clear_has_type();
  switch (from.type_case()) {
    case kError: {
      _this->_internal_mutable_error()->::keyapis::device::v1::DeleteTrunkConfigResponse_Error::MergeFrom(
          from._internal_error());
      break;
    }
    case TYPE_NOT_SET: {
      break;
    }
  }
  // @@protoc_insertion_point(copy_constructor:keyapis.device.v1.DeleteTrunkConfigResponse)
}

inline void DeleteTrunkConfigResponse::SharedCtor(::_pb::Arena* arena) {
  (void)arena;
  new (&_impl_) Impl_{
      decltype(_impl_.type_){}
    , /*decltype(_impl_._cached_size_)*/{}
    , /*decltype(_impl_._oneof_case_)*/{}
  };
  clear_has_type();
}

DeleteTrunkConfigResponse::~DeleteTrunkConfigResponse() {
  // @@protoc_insertion_point(destructor:keyapis.device.v1.DeleteTrunkConfigResponse)
  if (auto *arena = _internal_metadata_.DeleteReturnArena<std::string>()) {
  (void)arena;
    return;
  }
  SharedDtor();
}

inline void DeleteTrunkConfigResponse::SharedDtor() {
  ABSL_DCHECK(GetArenaForAllocation() == nullptr);
  if (has_type()) {
    clear_type();
  }
}

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

void DeleteTrunkConfigResponse::clear_type() {
// @@protoc_insertion_point(one_of_clear_start:keyapis.device.v1.DeleteTrunkConfigResponse)
  switch (type_case()) {
    case kError: {
      if (GetArenaForAllocation() == nullptr) {
        delete _impl_.type_.error_;
      }
      break;
    }
    case TYPE_NOT_SET: {
      break;
    }
  }
  _impl_._oneof_case_[0] = TYPE_NOT_SET;
}


void DeleteTrunkConfigResponse::Clear() {
// @@protoc_insertion_point(message_clear_start:keyapis.device.v1.DeleteTrunkConfigResponse)
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  clear_type();
  _internal_metadata_.Clear<std::string>();
}

const char* DeleteTrunkConfigResponse::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  while (!ctx->Done(&ptr)) {
    ::uint32_t tag;
    ptr = ::_pbi::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // .keyapis.device.v1.DeleteTrunkConfigResponse.Error error = 1;
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::uint8_t>(tag) == 10)) {
          ptr = ctx->ParseMessage(_internal_mutable_error(), ptr);
          CHK_(ptr);
        } else {
          goto handle_unusual;
        }
        continue;
      default:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<std::string>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

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

  // .keyapis.device.v1.DeleteTrunkConfigResponse.Error error = 1;
  if (type_case() == kError) {
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(1, _Internal::error(this),
        _Internal::error(this).GetCachedSize(), target, stream);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = stream->WriteRaw(_internal_metadata_.unknown_fields<std::string>(::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString).data(),
        static_cast<int>(_internal_metadata_.unknown_fields<std::string>(::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString).size()), target);
  }
  // @@protoc_insertion_point(serialize_to_array_end:keyapis.device.v1.DeleteTrunkConfigResponse)
  return target;
}

::size_t DeleteTrunkConfigResponse::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:keyapis.device.v1.DeleteTrunkConfigResponse)
  ::size_t total_size = 0;

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

  switch (type_case()) {
    // .keyapis.device.v1.DeleteTrunkConfigResponse.Error error = 1;
    case kError: {
      total_size += 1 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
          *_impl_.type_.error_);
      break;
    }
    case TYPE_NOT_SET: {
      break;
    }
  }
  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    total_size += _internal_metadata_.unknown_fields<std::string>(::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString).size();
  }
  int cached_size = ::_pbi::ToCachedSize(total_size);
  SetCachedSize(cached_size);
  return total_size;
}

void DeleteTrunkConfigResponse::CheckTypeAndMergeFrom(
    const ::PROTOBUF_NAMESPACE_ID::MessageLite& from) {
  MergeFrom(*::_pbi::DownCast<const DeleteTrunkConfigResponse*>(
      &from));
}

void DeleteTrunkConfigResponse::MergeFrom(const DeleteTrunkConfigResponse& from) {
  DeleteTrunkConfigResponse* const _this = this;
  // @@protoc_insertion_point(class_specific_merge_from_start:keyapis.device.v1.DeleteTrunkConfigResponse)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  switch (from.type_case()) {
    case kError: {
      _this->_internal_mutable_error()->::keyapis::device::v1::DeleteTrunkConfigResponse_Error::MergeFrom(
          from._internal_error());
      break;
    }
    case TYPE_NOT_SET: {
      break;
    }
  }
  _this->_internal_metadata_.MergeFrom<std::string>(from._internal_metadata_);
}

void DeleteTrunkConfigResponse::CopyFrom(const DeleteTrunkConfigResponse& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:keyapis.device.v1.DeleteTrunkConfigResponse)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

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

void DeleteTrunkConfigResponse::InternalSwap(DeleteTrunkConfigResponse* other) {
  using std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_.type_, other->_impl_.type_);
  swap(_impl_._oneof_case_[0], other->_impl_._oneof_case_[0]);
}

std::string DeleteTrunkConfigResponse::GetTypeName() const {
  return "keyapis.device.v1.DeleteTrunkConfigResponse";
}

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

class PostTrunkConfigRestoreRequest::_Internal {
 public:
};

PostTrunkConfigRestoreRequest::PostTrunkConfigRestoreRequest(::PROTOBUF_NAMESPACE_ID::Arena* arena)
  : ::PROTOBUF_NAMESPACE_ID::MessageLite(arena) {
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:keyapis.device.v1.PostTrunkConfigRestoreRequest)
}
PostTrunkConfigRestoreRequest::PostTrunkConfigRestoreRequest(const PostTrunkConfigRestoreRequest& from)
  : ::PROTOBUF_NAMESPACE_ID::MessageLite() {
  PostTrunkConfigRestoreRequest* const _this = this; (void)_this;
  new (&_impl_) Impl_{
      decltype(_impl_.id_) {}

    , /*decltype(_impl_._cached_size_)*/{}};

  _internal_metadata_.MergeFrom<std::string>(from._internal_metadata_);
  _impl_.id_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
        _impl_.id_.Set("", GetArenaForAllocation());
  #endif  // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (!from._internal_id().empty()) {
    _this->_impl_.id_.Set(from._internal_id(), _this->GetArenaForAllocation());
  }
  // @@protoc_insertion_point(copy_constructor:keyapis.device.v1.PostTrunkConfigRestoreRequest)
}

inline void PostTrunkConfigRestoreRequest::SharedCtor(::_pb::Arena* arena) {
  (void)arena;
  new (&_impl_) Impl_{
      decltype(_impl_.id_) {}

    , /*decltype(_impl_._cached_size_)*/{}
  };
  _impl_.id_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
        _impl_.id_.Set("", GetArenaForAllocation());
  #endif  // PROTOBUF_FORCE_COPY_DEFAULT_STRING
}

PostTrunkConfigRestoreRequest::~PostTrunkConfigRestoreRequest() {
  // @@protoc_insertion_point(destructor:keyapis.device.v1.PostTrunkConfigRestoreRequest)
  if (auto *arena = _internal_metadata_.DeleteReturnArena<std::string>()) {
  (void)arena;
    return;
  }
  SharedDtor();
}

inline void PostTrunkConfigRestoreRequest::SharedDtor() {
  ABSL_DCHECK(GetArenaForAllocation() == nullptr);
  _impl_.id_.Destroy();
}

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

void PostTrunkConfigRestoreRequest::Clear() {
// @@protoc_insertion_point(message_clear_start:keyapis.device.v1.PostTrunkConfigRestoreRequest)
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _impl_.id_.ClearToEmpty();
  _internal_metadata_.Clear<std::string>();
}

const char* PostTrunkConfigRestoreRequest::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  while (!ctx->Done(&ptr)) {
    ::uint32_t tag;
    ptr = ::_pbi::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // string id = 1 [(.google.api.field_behavior) = REQUIRED];
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::uint8_t>(tag) == 10)) {
          auto str = _internal_mutable_id();
          ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(ptr);
          CHK_(::_pbi::VerifyUTF8(str, nullptr));
        } else {
          goto handle_unusual;
        }
        continue;
      default:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<std::string>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

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

  // string id = 1 [(.google.api.field_behavior) = REQUIRED];
  if (!this->_internal_id().empty()) {
    const std::string& _s = this->_internal_id();
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(
        _s.data(), static_cast<int>(_s.length()), ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE, "keyapis.device.v1.PostTrunkConfigRestoreRequest.id");
    target = stream->WriteStringMaybeAliased(1, _s, target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = stream->WriteRaw(_internal_metadata_.unknown_fields<std::string>(::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString).data(),
        static_cast<int>(_internal_metadata_.unknown_fields<std::string>(::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString).size()), target);
  }
  // @@protoc_insertion_point(serialize_to_array_end:keyapis.device.v1.PostTrunkConfigRestoreRequest)
  return target;
}

::size_t PostTrunkConfigRestoreRequest::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:keyapis.device.v1.PostTrunkConfigRestoreRequest)
  ::size_t total_size = 0;

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

  // string id = 1 [(.google.api.field_behavior) = REQUIRED];
  if (!this->_internal_id().empty()) {
    total_size += 1 + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
                                    this->_internal_id());
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    total_size += _internal_metadata_.unknown_fields<std::string>(::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString).size();
  }
  int cached_size = ::_pbi::ToCachedSize(total_size);
  SetCachedSize(cached_size);
  return total_size;
}

void PostTrunkConfigRestoreRequest::CheckTypeAndMergeFrom(
    const ::PROTOBUF_NAMESPACE_ID::MessageLite& from) {
  MergeFrom(*::_pbi::DownCast<const PostTrunkConfigRestoreRequest*>(
      &from));
}

void PostTrunkConfigRestoreRequest::MergeFrom(const PostTrunkConfigRestoreRequest& from) {
  PostTrunkConfigRestoreRequest* const _this = this;
  // @@protoc_insertion_point(class_specific_merge_from_start:keyapis.device.v1.PostTrunkConfigRestoreRequest)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  if (!from._internal_id().empty()) {
    _this->_internal_set_id(from._internal_id());
  }
  _this->_internal_metadata_.MergeFrom<std::string>(from._internal_metadata_);
}

void PostTrunkConfigRestoreRequest::CopyFrom(const PostTrunkConfigRestoreRequest& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:keyapis.device.v1.PostTrunkConfigRestoreRequest)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

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

void PostTrunkConfigRestoreRequest::InternalSwap(PostTrunkConfigRestoreRequest* other) {
  using std::swap;
  auto* lhs_arena = GetArenaForAllocation();
  auto* rhs_arena = other->GetArenaForAllocation();
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.id_, lhs_arena,
                                       &other->_impl_.id_, rhs_arena);
}

std::string PostTrunkConfigRestoreRequest::GetTypeName() const {
  return "keyapis.device.v1.PostTrunkConfigRestoreRequest";
}

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

class PostTrunkConfigRestoreResponse_Error::_Internal {
 public:
  static constexpr ::int32_t kOneofCaseOffset =
    PROTOBUF_FIELD_OFFSET(::keyapis::device::v1::PostTrunkConfigRestoreResponse_Error, _impl_._oneof_case_);
  static const ::keyapis::device::v1::ValidationError& validation(const PostTrunkConfigRestoreResponse_Error* msg);
};

const ::keyapis::device::v1::ValidationError&
PostTrunkConfigRestoreResponse_Error::_Internal::validation(const PostTrunkConfigRestoreResponse_Error* msg) {
  return *msg->_impl_.reason_.validation_;
}
void PostTrunkConfigRestoreResponse_Error::set_allocated_validation(::keyapis::device::v1::ValidationError* validation) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation();
  clear_reason();
  if (validation) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
        ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(
                reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(validation));
    if (message_arena != submessage_arena) {
      validation = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, validation, submessage_arena);
    }
    set_has_validation();
    _impl_.reason_.validation_ = validation;
  }
  // @@protoc_insertion_point(field_set_allocated:keyapis.device.v1.PostTrunkConfigRestoreResponse.Error.validation)
}
void PostTrunkConfigRestoreResponse_Error::clear_validation() {
  if (reason_case() == kValidation) {
    if (GetArenaForAllocation() == nullptr) {
      delete _impl_.reason_.validation_;
    }
    clear_has_reason();
  }
}
PostTrunkConfigRestoreResponse_Error::PostTrunkConfigRestoreResponse_Error(::PROTOBUF_NAMESPACE_ID::Arena* arena)
  : ::PROTOBUF_NAMESPACE_ID::MessageLite(arena) {
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:keyapis.device.v1.PostTrunkConfigRestoreResponse.Error)
}
PostTrunkConfigRestoreResponse_Error::PostTrunkConfigRestoreResponse_Error(const PostTrunkConfigRestoreResponse_Error& from)
  : ::PROTOBUF_NAMESPACE_ID::MessageLite() {
  PostTrunkConfigRestoreResponse_Error* const _this = this; (void)_this;
  new (&_impl_) Impl_{
      decltype(_impl_.reason_){}
    , /*decltype(_impl_._cached_size_)*/{}
    , /*decltype(_impl_._oneof_case_)*/{}};

  _internal_metadata_.MergeFrom<std::string>(from._internal_metadata_);
  clear_has_reason();
  switch (from.reason_case()) {
    case kValidation: {
      _this->_internal_mutable_validation()->::keyapis::device::v1::ValidationError::MergeFrom(
          from._internal_validation());
      break;
    }
    case REASON_NOT_SET: {
      break;
    }
  }
  // @@protoc_insertion_point(copy_constructor:keyapis.device.v1.PostTrunkConfigRestoreResponse.Error)
}

inline void PostTrunkConfigRestoreResponse_Error::SharedCtor(::_pb::Arena* arena) {
  (void)arena;
  new (&_impl_) Impl_{
      decltype(_impl_.reason_){}
    , /*decltype(_impl_._cached_size_)*/{}
    , /*decltype(_impl_._oneof_case_)*/{}
  };
  clear_has_reason();
}

PostTrunkConfigRestoreResponse_Error::~PostTrunkConfigRestoreResponse_Error() {
  // @@protoc_insertion_point(destructor:keyapis.device.v1.PostTrunkConfigRestoreResponse.Error)
  if (auto *arena = _internal_metadata_.DeleteReturnArena<std::string>()) {
  (void)arena;
    return;
  }
  SharedDtor();
}

inline void PostTrunkConfigRestoreResponse_Error::SharedDtor() {
  ABSL_DCHECK(GetArenaForAllocation() == nullptr);
  if (has_reason()) {
    clear_reason();
  }
}

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

void PostTrunkConfigRestoreResponse_Error::clear_reason() {
// @@protoc_insertion_point(one_of_clear_start:keyapis.device.v1.PostTrunkConfigRestoreResponse.Error)
  switch (reason_case()) {
    case kValidation: {
      if (GetArenaForAllocation() == nullptr) {
        delete _impl_.reason_.validation_;
      }
      break;
    }
    case REASON_NOT_SET: {
      break;
    }
  }
  _impl_._oneof_case_[0] = REASON_NOT_SET;
}


void PostTrunkConfigRestoreResponse_Error::Clear() {
// @@protoc_insertion_point(message_clear_start:keyapis.device.v1.PostTrunkConfigRestoreResponse.Error)
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  clear_reason();
  _internal_metadata_.Clear<std::string>();
}

const char* PostTrunkConfigRestoreResponse_Error::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  while (!ctx->Done(&ptr)) {
    ::uint32_t tag;
    ptr = ::_pbi::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // .keyapis.device.v1.ValidationError validation = 1;
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::uint8_t>(tag) == 10)) {
          ptr = ctx->ParseMessage(_internal_mutable_validation(), ptr);
          CHK_(ptr);
        } else {
          goto handle_unusual;
        }
        continue;
      default:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<std::string>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

::uint8_t* PostTrunkConfigRestoreResponse_Error::_InternalSerialize(
    ::uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:keyapis.device.v1.PostTrunkConfigRestoreResponse.Error)
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  // .keyapis.device.v1.ValidationError validation = 1;
  if (reason_case() == kValidation) {
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(1, _Internal::validation(this),
        _Internal::validation(this).GetCachedSize(), target, stream);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = stream->WriteRaw(_internal_metadata_.unknown_fields<std::string>(::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString).data(),
        static_cast<int>(_internal_metadata_.unknown_fields<std::string>(::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString).size()), target);
  }
  // @@protoc_insertion_point(serialize_to_array_end:keyapis.device.v1.PostTrunkConfigRestoreResponse.Error)
  return target;
}

::size_t PostTrunkConfigRestoreResponse_Error::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:keyapis.device.v1.PostTrunkConfigRestoreResponse.Error)
  ::size_t total_size = 0;

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

  switch (reason_case()) {
    // .keyapis.device.v1.ValidationError validation = 1;
    case kValidation: {
      total_size += 1 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
          *_impl_.reason_.validation_);
      break;
    }
    case REASON_NOT_SET: {
      break;
    }
  }
  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    total_size += _internal_metadata_.unknown_fields<std::string>(::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString).size();
  }
  int cached_size = ::_pbi::ToCachedSize(total_size);
  SetCachedSize(cached_size);
  return total_size;
}

void PostTrunkConfigRestoreResponse_Error::CheckTypeAndMergeFrom(
    const ::PROTOBUF_NAMESPACE_ID::MessageLite& from) {
  MergeFrom(*::_pbi::DownCast<const PostTrunkConfigRestoreResponse_Error*>(
      &from));
}

void PostTrunkConfigRestoreResponse_Error::MergeFrom(const PostTrunkConfigRestoreResponse_Error& from) {
  PostTrunkConfigRestoreResponse_Error* const _this = this;
  // @@protoc_insertion_point(class_specific_merge_from_start:keyapis.device.v1.PostTrunkConfigRestoreResponse.Error)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  switch (from.reason_case()) {
    case kValidation: {
      _this->_internal_mutable_validation()->::keyapis::device::v1::ValidationError::MergeFrom(
          from._internal_validation());
      break;
    }
    case REASON_NOT_SET: {
      break;
    }
  }
  _this->_internal_metadata_.MergeFrom<std::string>(from._internal_metadata_);
}

void PostTrunkConfigRestoreResponse_Error::CopyFrom(const PostTrunkConfigRestoreResponse_Error& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:keyapis.device.v1.PostTrunkConfigRestoreResponse.Error)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

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

void PostTrunkConfigRestoreResponse_Error::InternalSwap(PostTrunkConfigRestoreResponse_Error* other) {
  using std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_.reason_, other->_impl_.reason_);
  swap(_impl_._oneof_case_[0], other->_impl_._oneof_case_[0]);
}

std::string PostTrunkConfigRestoreResponse_Error::GetTypeName() const {
  return "keyapis.device.v1.PostTrunkConfigRestoreResponse.Error";
}

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

class PostTrunkConfigRestoreResponse::_Internal {
 public:
  static constexpr ::int32_t kOneofCaseOffset =
    PROTOBUF_FIELD_OFFSET(::keyapis::device::v1::PostTrunkConfigRestoreResponse, _impl_._oneof_case_);
  static const ::keyapis::device::v1::PostTrunkConfigRestoreResponse_Error& error(const PostTrunkConfigRestoreResponse* msg);
};

const ::keyapis::device::v1::PostTrunkConfigRestoreResponse_Error&
PostTrunkConfigRestoreResponse::_Internal::error(const PostTrunkConfigRestoreResponse* msg) {
  return *msg->_impl_.type_.error_;
}
void PostTrunkConfigRestoreResponse::set_allocated_error(::keyapis::device::v1::PostTrunkConfigRestoreResponse_Error* error) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation();
  clear_type();
  if (error) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(error);
    if (message_arena != submessage_arena) {
      error = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, error, submessage_arena);
    }
    set_has_error();
    _impl_.type_.error_ = error;
  }
  // @@protoc_insertion_point(field_set_allocated:keyapis.device.v1.PostTrunkConfigRestoreResponse.error)
}
PostTrunkConfigRestoreResponse::PostTrunkConfigRestoreResponse(::PROTOBUF_NAMESPACE_ID::Arena* arena)
  : ::PROTOBUF_NAMESPACE_ID::MessageLite(arena) {
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:keyapis.device.v1.PostTrunkConfigRestoreResponse)
}
PostTrunkConfigRestoreResponse::PostTrunkConfigRestoreResponse(const PostTrunkConfigRestoreResponse& from)
  : ::PROTOBUF_NAMESPACE_ID::MessageLite() {
  PostTrunkConfigRestoreResponse* const _this = this; (void)_this;
  new (&_impl_) Impl_{
      decltype(_impl_.type_){}
    , /*decltype(_impl_._cached_size_)*/{}
    , /*decltype(_impl_._oneof_case_)*/{}};

  _internal_metadata_.MergeFrom<std::string>(from._internal_metadata_);
  clear_has_type();
  switch (from.type_case()) {
    case kError: {
      _this->_internal_mutable_error()->::keyapis::device::v1::PostTrunkConfigRestoreResponse_Error::MergeFrom(
          from._internal_error());
      break;
    }
    case TYPE_NOT_SET: {
      break;
    }
  }
  // @@protoc_insertion_point(copy_constructor:keyapis.device.v1.PostTrunkConfigRestoreResponse)
}

inline void PostTrunkConfigRestoreResponse::SharedCtor(::_pb::Arena* arena) {
  (void)arena;
  new (&_impl_) Impl_{
      decltype(_impl_.type_){}
    , /*decltype(_impl_._cached_size_)*/{}
    , /*decltype(_impl_._oneof_case_)*/{}
  };
  clear_has_type();
}

PostTrunkConfigRestoreResponse::~PostTrunkConfigRestoreResponse() {
  // @@protoc_insertion_point(destructor:keyapis.device.v1.PostTrunkConfigRestoreResponse)
  if (auto *arena = _internal_metadata_.DeleteReturnArena<std::string>()) {
  (void)arena;
    return;
  }
  SharedDtor();
}

inline void PostTrunkConfigRestoreResponse::SharedDtor() {
  ABSL_DCHECK(GetArenaForAllocation() == nullptr);
  if (has_type()) {
    clear_type();
  }
}

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

void PostTrunkConfigRestoreResponse::clear_type() {
// @@protoc_insertion_point(one_of_clear_start:keyapis.device.v1.PostTrunkConfigRestoreResponse)
  switch (type_case()) {
    case kError: {
      if (GetArenaForAllocation() == nullptr) {
        delete _impl_.type_.error_;
      }
      break;
    }
    case TYPE_NOT_SET: {
      break;
    }
  }
  _impl_._oneof_case_[0] = TYPE_NOT_SET;
}


void PostTrunkConfigRestoreResponse::Clear() {
// @@protoc_insertion_point(message_clear_start:keyapis.device.v1.PostTrunkConfigRestoreResponse)
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  clear_type();
  _internal_metadata_.Clear<std::string>();
}

const char* PostTrunkConfigRestoreResponse::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  while (!ctx->Done(&ptr)) {
    ::uint32_t tag;
    ptr = ::_pbi::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // .keyapis.device.v1.PostTrunkConfigRestoreResponse.Error error = 1;
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::uint8_t>(tag) == 10)) {
          ptr = ctx->ParseMessage(_internal_mutable_error(), ptr);
          CHK_(ptr);
        } else {
          goto handle_unusual;
        }
        continue;
      default:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<std::string>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

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

  // .keyapis.device.v1.PostTrunkConfigRestoreResponse.Error error = 1;
  if (type_case() == kError) {
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(1, _Internal::error(this),
        _Internal::error(this).GetCachedSize(), target, stream);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = stream->WriteRaw(_internal_metadata_.unknown_fields<std::string>(::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString).data(),
        static_cast<int>(_internal_metadata_.unknown_fields<std::string>(::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString).size()), target);
  }
  // @@protoc_insertion_point(serialize_to_array_end:keyapis.device.v1.PostTrunkConfigRestoreResponse)
  return target;
}

::size_t PostTrunkConfigRestoreResponse::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:keyapis.device.v1.PostTrunkConfigRestoreResponse)
  ::size_t total_size = 0;

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

  switch (type_case()) {
    // .keyapis.device.v1.PostTrunkConfigRestoreResponse.Error error = 1;
    case kError: {
      total_size += 1 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
          *_impl_.type_.error_);
      break;
    }
    case TYPE_NOT_SET: {
      break;
    }
  }
  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    total_size += _internal_metadata_.unknown_fields<std::string>(::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString).size();
  }
  int cached_size = ::_pbi::ToCachedSize(total_size);
  SetCachedSize(cached_size);
  return total_size;
}

void PostTrunkConfigRestoreResponse::CheckTypeAndMergeFrom(
    const ::PROTOBUF_NAMESPACE_ID::MessageLite& from) {
  MergeFrom(*::_pbi::DownCast<const PostTrunkConfigRestoreResponse*>(
      &from));
}

void PostTrunkConfigRestoreResponse::MergeFrom(const PostTrunkConfigRestoreResponse& from) {
  PostTrunkConfigRestoreResponse* const _this = this;
  // @@protoc_insertion_point(class_specific_merge_from_start:keyapis.device.v1.PostTrunkConfigRestoreResponse)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  switch (from.type_case()) {
    case kError: {
      _this->_internal_mutable_error()->::keyapis::device::v1::PostTrunkConfigRestoreResponse_Error::MergeFrom(
          from._internal_error());
      break;
    }
    case TYPE_NOT_SET: {
      break;
    }
  }
  _this->_internal_metadata_.MergeFrom<std::string>(from._internal_metadata_);
}

void PostTrunkConfigRestoreResponse::CopyFrom(const PostTrunkConfigRestoreResponse& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:keyapis.device.v1.PostTrunkConfigRestoreResponse)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

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

void PostTrunkConfigRestoreResponse::InternalSwap(PostTrunkConfigRestoreResponse* other) {
  using std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_.type_, other->_impl_.type_);
  swap(_impl_._oneof_case_[0], other->_impl_._oneof_case_[0]);
}

std::string PostTrunkConfigRestoreResponse::GetTypeName() const {
  return "keyapis.device.v1.PostTrunkConfigRestoreResponse";
}

// @@protoc_insertion_point(namespace_scope)
}  // namespace v1
}  // namespace device
}  // namespace keyapis
PROTOBUF_NAMESPACE_OPEN
template<> PROTOBUF_NOINLINE ::keyapis::device::v1::TrunkConfig_SavingError_Conflict*
Arena::CreateMaybeMessage< ::keyapis::device::v1::TrunkConfig_SavingError_Conflict >(Arena* arena) {
  return Arena::CreateMessageInternal< ::keyapis::device::v1::TrunkConfig_SavingError_Conflict >(arena);
}
template<> PROTOBUF_NOINLINE ::keyapis::device::v1::TrunkConfig_SavingError*
Arena::CreateMaybeMessage< ::keyapis::device::v1::TrunkConfig_SavingError >(Arena* arena) {
  return Arena::CreateMessageInternal< ::keyapis::device::v1::TrunkConfig_SavingError >(arena);
}
template<> PROTOBUF_NOINLINE ::keyapis::device::v1::TrunkConfig*
Arena::CreateMaybeMessage< ::keyapis::device::v1::TrunkConfig >(Arena* arena) {
  return Arena::CreateMessageInternal< ::keyapis::device::v1::TrunkConfig >(arena);
}
template<> PROTOBUF_NOINLINE ::keyapis::device::v1::TrunkConfigFilter*
Arena::CreateMaybeMessage< ::keyapis::device::v1::TrunkConfigFilter >(Arena* arena) {
  return Arena::CreateMessageInternal< ::keyapis::device::v1::TrunkConfigFilter >(arena);
}
template<> PROTOBUF_NOINLINE ::keyapis::device::v1::TrunkConfigPaging*
Arena::CreateMaybeMessage< ::keyapis::device::v1::TrunkConfigPaging >(Arena* arena) {
  return Arena::CreateMessageInternal< ::keyapis::device::v1::TrunkConfigPaging >(arena);
}
template<> PROTOBUF_NOINLINE ::keyapis::device::v1::PostTrunkConfigRequest*
Arena::CreateMaybeMessage< ::keyapis::device::v1::PostTrunkConfigRequest >(Arena* arena) {
  return Arena::CreateMessageInternal< ::keyapis::device::v1::PostTrunkConfigRequest >(arena);
}
template<> PROTOBUF_NOINLINE ::keyapis::device::v1::PostTrunkConfigResponse_Error*
Arena::CreateMaybeMessage< ::keyapis::device::v1::PostTrunkConfigResponse_Error >(Arena* arena) {
  return Arena::CreateMessageInternal< ::keyapis::device::v1::PostTrunkConfigResponse_Error >(arena);
}
template<> PROTOBUF_NOINLINE ::keyapis::device::v1::PostTrunkConfigResponse*
Arena::CreateMaybeMessage< ::keyapis::device::v1::PostTrunkConfigResponse >(Arena* arena) {
  return Arena::CreateMessageInternal< ::keyapis::device::v1::PostTrunkConfigResponse >(arena);
}
template<> PROTOBUF_NOINLINE ::keyapis::device::v1::GetTrunkConfigRequest*
Arena::CreateMaybeMessage< ::keyapis::device::v1::GetTrunkConfigRequest >(Arena* arena) {
  return Arena::CreateMessageInternal< ::keyapis::device::v1::GetTrunkConfigRequest >(arena);
}
template<> PROTOBUF_NOINLINE ::keyapis::device::v1::GetTrunkConfigResponse_Error*
Arena::CreateMaybeMessage< ::keyapis::device::v1::GetTrunkConfigResponse_Error >(Arena* arena) {
  return Arena::CreateMessageInternal< ::keyapis::device::v1::GetTrunkConfigResponse_Error >(arena);
}
template<> PROTOBUF_NOINLINE ::keyapis::device::v1::GetTrunkConfigResponse*
Arena::CreateMaybeMessage< ::keyapis::device::v1::GetTrunkConfigResponse >(Arena* arena) {
  return Arena::CreateMessageInternal< ::keyapis::device::v1::GetTrunkConfigResponse >(arena);
}
template<> PROTOBUF_NOINLINE ::keyapis::device::v1::GetTrunkConfigListRequest*
Arena::CreateMaybeMessage< ::keyapis::device::v1::GetTrunkConfigListRequest >(Arena* arena) {
  return Arena::CreateMessageInternal< ::keyapis::device::v1::GetTrunkConfigListRequest >(arena);
}
template<> PROTOBUF_NOINLINE ::keyapis::device::v1::GetTrunkConfigListResponse_Error*
Arena::CreateMaybeMessage< ::keyapis::device::v1::GetTrunkConfigListResponse_Error >(Arena* arena) {
  return Arena::CreateMessageInternal< ::keyapis::device::v1::GetTrunkConfigListResponse_Error >(arena);
}
template<> PROTOBUF_NOINLINE ::keyapis::device::v1::GetTrunkConfigListResponse*
Arena::CreateMaybeMessage< ::keyapis::device::v1::GetTrunkConfigListResponse >(Arena* arena) {
  return Arena::CreateMessageInternal< ::keyapis::device::v1::GetTrunkConfigListResponse >(arena);
}
template<> PROTOBUF_NOINLINE ::keyapis::device::v1::GetTrunkConfigCountRequest*
Arena::CreateMaybeMessage< ::keyapis::device::v1::GetTrunkConfigCountRequest >(Arena* arena) {
  return Arena::CreateMessageInternal< ::keyapis::device::v1::GetTrunkConfigCountRequest >(arena);
}
template<> PROTOBUF_NOINLINE ::keyapis::device::v1::GetTrunkConfigCountResponse_Error*
Arena::CreateMaybeMessage< ::keyapis::device::v1::GetTrunkConfigCountResponse_Error >(Arena* arena) {
  return Arena::CreateMessageInternal< ::keyapis::device::v1::GetTrunkConfigCountResponse_Error >(arena);
}
template<> PROTOBUF_NOINLINE ::keyapis::device::v1::GetTrunkConfigCountResponse*
Arena::CreateMaybeMessage< ::keyapis::device::v1::GetTrunkConfigCountResponse >(Arena* arena) {
  return Arena::CreateMessageInternal< ::keyapis::device::v1::GetTrunkConfigCountResponse >(arena);
}
template<> PROTOBUF_NOINLINE ::keyapis::device::v1::DeleteTrunkConfigRequest*
Arena::CreateMaybeMessage< ::keyapis::device::v1::DeleteTrunkConfigRequest >(Arena* arena) {
  return Arena::CreateMessageInternal< ::keyapis::device::v1::DeleteTrunkConfigRequest >(arena);
}
template<> PROTOBUF_NOINLINE ::keyapis::device::v1::DeleteTrunkConfigResponse_Error*
Arena::CreateMaybeMessage< ::keyapis::device::v1::DeleteTrunkConfigResponse_Error >(Arena* arena) {
  return Arena::CreateMessageInternal< ::keyapis::device::v1::DeleteTrunkConfigResponse_Error >(arena);
}
template<> PROTOBUF_NOINLINE ::keyapis::device::v1::DeleteTrunkConfigResponse*
Arena::CreateMaybeMessage< ::keyapis::device::v1::DeleteTrunkConfigResponse >(Arena* arena) {
  return Arena::CreateMessageInternal< ::keyapis::device::v1::DeleteTrunkConfigResponse >(arena);
}
template<> PROTOBUF_NOINLINE ::keyapis::device::v1::PostTrunkConfigRestoreRequest*
Arena::CreateMaybeMessage< ::keyapis::device::v1::PostTrunkConfigRestoreRequest >(Arena* arena) {
  return Arena::CreateMessageInternal< ::keyapis::device::v1::PostTrunkConfigRestoreRequest >(arena);
}
template<> PROTOBUF_NOINLINE ::keyapis::device::v1::PostTrunkConfigRestoreResponse_Error*
Arena::CreateMaybeMessage< ::keyapis::device::v1::PostTrunkConfigRestoreResponse_Error >(Arena* arena) {
  return Arena::CreateMessageInternal< ::keyapis::device::v1::PostTrunkConfigRestoreResponse_Error >(arena);
}
template<> PROTOBUF_NOINLINE ::keyapis::device::v1::PostTrunkConfigRestoreResponse*
Arena::CreateMaybeMessage< ::keyapis::device::v1::PostTrunkConfigRestoreResponse >(Arena* arena) {
  return Arena::CreateMessageInternal< ::keyapis::device::v1::PostTrunkConfigRestoreResponse >(arena);
}
PROTOBUF_NAMESPACE_CLOSE
// @@protoc_insertion_point(global_scope)
#include "google/protobuf/port_undef.inc"
