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

#ifndef GOOGLE_PROTOBUF_INCLUDED_keyapis_2fvc_2fv1_2fkeyapis_5fvc_5fcamera_5fvideo_5fdata_5fv1_2eproto_2epb_2eh
#define GOOGLE_PROTOBUF_INCLUDED_keyapis_2fvc_2fv1_2fkeyapis_5fvc_5fcamera_5fvideo_5fdata_5fv1_2eproto_2epb_2eh

#include <limits>
#include <string>
#include <type_traits>

#include "google/protobuf/port_def.inc"
#if PROTOBUF_VERSION < 4023000
#error "This file was generated by a newer version of protoc which is"
#error "incompatible with your Protocol Buffer headers. Please update"
#error "your headers."
#endif  // PROTOBUF_VERSION

#if 4023001 < PROTOBUF_MIN_PROTOC_VERSION
#error "This file was generated by an older version of protoc which is"
#error "incompatible with your Protocol Buffer headers. Please"
#error "regenerate this file with a newer version of protoc."
#endif  // PROTOBUF_MIN_PROTOC_VERSION
#include "google/protobuf/port_undef.inc"
#include "google/protobuf/io/coded_stream.h"
#include "google/protobuf/arena.h"
#include "google/protobuf/arenastring.h"
#include "google/protobuf/generated_message_util.h"
#include "google/protobuf/metadata_lite.h"
#include "google/protobuf/message_lite.h"
#include "google/protobuf/repeated_field.h"  // IWYU pragma: export
#include "google/protobuf/extension_set.h"  // IWYU pragma: export
#include "google/protobuf/generated_enum_util.h"
#include "google/api/annotations.pb.h"
#include "google/api/field_behavior.pb.h"
#include "google/protobuf/timestamp.pb.h"
#include "keyapis/vc/v1/keyapis_vc_camera_v1.pb.h"
// @@protoc_insertion_point(includes)

// Must be included last.
#include "google/protobuf/port_def.inc"

#define PROTOBUF_INTERNAL_EXPORT_keyapis_2fvc_2fv1_2fkeyapis_5fvc_5fcamera_5fvideo_5fdata_5fv1_2eproto

PROTOBUF_NAMESPACE_OPEN
namespace internal {
class AnyMetadata;
}  // namespace internal
PROTOBUF_NAMESPACE_CLOSE

// Internal implementation detail -- do not use these members.
struct TableStruct_keyapis_2fvc_2fv1_2fkeyapis_5fvc_5fcamera_5fvideo_5fdata_5fv1_2eproto {
  static const ::uint32_t offsets[];
};
namespace keyapis {
namespace vc {
namespace v1 {
class CameraVideoData;
struct CameraVideoDataDefaultTypeInternal;
extern CameraVideoDataDefaultTypeInternal _CameraVideoData_default_instance_;
class CameraVideoDataFilter;
struct CameraVideoDataFilterDefaultTypeInternal;
extern CameraVideoDataFilterDefaultTypeInternal _CameraVideoDataFilter_default_instance_;
class CameraVideoDataPaging;
struct CameraVideoDataPagingDefaultTypeInternal;
extern CameraVideoDataPagingDefaultTypeInternal _CameraVideoDataPaging_default_instance_;
class CameraVideoDataScope;
struct CameraVideoDataScopeDefaultTypeInternal;
extern CameraVideoDataScopeDefaultTypeInternal _CameraVideoDataScope_default_instance_;
class CameraVideoData_Category;
struct CameraVideoData_CategoryDefaultTypeInternal;
extern CameraVideoData_CategoryDefaultTypeInternal _CameraVideoData_Category_default_instance_;
class CameraVideoData_Location;
struct CameraVideoData_LocationDefaultTypeInternal;
extern CameraVideoData_LocationDefaultTypeInternal _CameraVideoData_Location_default_instance_;
class CameraVideoData_Status;
struct CameraVideoData_StatusDefaultTypeInternal;
extern CameraVideoData_StatusDefaultTypeInternal _CameraVideoData_Status_default_instance_;
class GetCameraVideoDataCountRequest;
struct GetCameraVideoDataCountRequestDefaultTypeInternal;
extern GetCameraVideoDataCountRequestDefaultTypeInternal _GetCameraVideoDataCountRequest_default_instance_;
class GetCameraVideoDataCountResponse;
struct GetCameraVideoDataCountResponseDefaultTypeInternal;
extern GetCameraVideoDataCountResponseDefaultTypeInternal _GetCameraVideoDataCountResponse_default_instance_;
class GetCameraVideoDataCountResponse_Error;
struct GetCameraVideoDataCountResponse_ErrorDefaultTypeInternal;
extern GetCameraVideoDataCountResponse_ErrorDefaultTypeInternal _GetCameraVideoDataCountResponse_Error_default_instance_;
class GetCameraVideoDataListRequest;
struct GetCameraVideoDataListRequestDefaultTypeInternal;
extern GetCameraVideoDataListRequestDefaultTypeInternal _GetCameraVideoDataListRequest_default_instance_;
class GetCameraVideoDataListResponse;
struct GetCameraVideoDataListResponseDefaultTypeInternal;
extern GetCameraVideoDataListResponseDefaultTypeInternal _GetCameraVideoDataListResponse_default_instance_;
class GetCameraVideoDataListResponse_Error;
struct GetCameraVideoDataListResponse_ErrorDefaultTypeInternal;
extern GetCameraVideoDataListResponse_ErrorDefaultTypeInternal _GetCameraVideoDataListResponse_Error_default_instance_;
}  // namespace v1
}  // namespace vc
}  // namespace keyapis
PROTOBUF_NAMESPACE_OPEN
template <>
::keyapis::vc::v1::CameraVideoData* Arena::CreateMaybeMessage<::keyapis::vc::v1::CameraVideoData>(Arena*);
template <>
::keyapis::vc::v1::CameraVideoDataFilter* Arena::CreateMaybeMessage<::keyapis::vc::v1::CameraVideoDataFilter>(Arena*);
template <>
::keyapis::vc::v1::CameraVideoDataPaging* Arena::CreateMaybeMessage<::keyapis::vc::v1::CameraVideoDataPaging>(Arena*);
template <>
::keyapis::vc::v1::CameraVideoDataScope* Arena::CreateMaybeMessage<::keyapis::vc::v1::CameraVideoDataScope>(Arena*);
template <>
::keyapis::vc::v1::CameraVideoData_Category* Arena::CreateMaybeMessage<::keyapis::vc::v1::CameraVideoData_Category>(Arena*);
template <>
::keyapis::vc::v1::CameraVideoData_Location* Arena::CreateMaybeMessage<::keyapis::vc::v1::CameraVideoData_Location>(Arena*);
template <>
::keyapis::vc::v1::CameraVideoData_Status* Arena::CreateMaybeMessage<::keyapis::vc::v1::CameraVideoData_Status>(Arena*);
template <>
::keyapis::vc::v1::GetCameraVideoDataCountRequest* Arena::CreateMaybeMessage<::keyapis::vc::v1::GetCameraVideoDataCountRequest>(Arena*);
template <>
::keyapis::vc::v1::GetCameraVideoDataCountResponse* Arena::CreateMaybeMessage<::keyapis::vc::v1::GetCameraVideoDataCountResponse>(Arena*);
template <>
::keyapis::vc::v1::GetCameraVideoDataCountResponse_Error* Arena::CreateMaybeMessage<::keyapis::vc::v1::GetCameraVideoDataCountResponse_Error>(Arena*);
template <>
::keyapis::vc::v1::GetCameraVideoDataListRequest* Arena::CreateMaybeMessage<::keyapis::vc::v1::GetCameraVideoDataListRequest>(Arena*);
template <>
::keyapis::vc::v1::GetCameraVideoDataListResponse* Arena::CreateMaybeMessage<::keyapis::vc::v1::GetCameraVideoDataListResponse>(Arena*);
template <>
::keyapis::vc::v1::GetCameraVideoDataListResponse_Error* Arena::CreateMaybeMessage<::keyapis::vc::v1::GetCameraVideoDataListResponse_Error>(Arena*);
PROTOBUF_NAMESPACE_CLOSE

namespace keyapis {
namespace vc {
namespace v1 {
enum CameraVideoDataPaging_DirectionType : int {
  CameraVideoDataPaging_DirectionType_DIRECTION_TYPE_UNKNOWN = 0,
  CameraVideoDataPaging_DirectionType_DESC = 1,
  CameraVideoDataPaging_DirectionType_ASC = 2,
  CameraVideoDataPaging_DirectionType_CameraVideoDataPaging_DirectionType_INT_MIN_SENTINEL_DO_NOT_USE_ =
      std::numeric_limits<::int32_t>::min(),
  CameraVideoDataPaging_DirectionType_CameraVideoDataPaging_DirectionType_INT_MAX_SENTINEL_DO_NOT_USE_ =
      std::numeric_limits<::int32_t>::max(),
};

bool CameraVideoDataPaging_DirectionType_IsValid(int value);
constexpr CameraVideoDataPaging_DirectionType CameraVideoDataPaging_DirectionType_DirectionType_MIN = static_cast<CameraVideoDataPaging_DirectionType>(0);
constexpr CameraVideoDataPaging_DirectionType CameraVideoDataPaging_DirectionType_DirectionType_MAX = static_cast<CameraVideoDataPaging_DirectionType>(2);
constexpr int CameraVideoDataPaging_DirectionType_DirectionType_ARRAYSIZE = 2 + 1;
const std::string& CameraVideoDataPaging_DirectionType_Name(CameraVideoDataPaging_DirectionType value);
template <typename T>
const std::string& CameraVideoDataPaging_DirectionType_Name(T value) {
  static_assert(std::is_same<T, CameraVideoDataPaging_DirectionType>::value ||
                    std::is_integral<T>::value,
                "Incorrect type passed to DirectionType_Name().");
  return CameraVideoDataPaging_DirectionType_Name(static_cast<CameraVideoDataPaging_DirectionType>(value));
}
const std::string& CameraVideoDataPaging_DirectionType_Name(CameraVideoDataPaging_DirectionType value);
bool CameraVideoDataPaging_DirectionType_Parse(absl::string_view name, CameraVideoDataPaging_DirectionType* value);
enum CameraVideoDataPaging_OrderByType : int {
  CameraVideoDataPaging_OrderByType_ORDER_BY_TYPE_UNKNOWN = 0,
  CameraVideoDataPaging_OrderByType_CREATED_AT = 1,
  CameraVideoDataPaging_OrderByType_CameraVideoDataPaging_OrderByType_INT_MIN_SENTINEL_DO_NOT_USE_ =
      std::numeric_limits<::int32_t>::min(),
  CameraVideoDataPaging_OrderByType_CameraVideoDataPaging_OrderByType_INT_MAX_SENTINEL_DO_NOT_USE_ =
      std::numeric_limits<::int32_t>::max(),
};

bool CameraVideoDataPaging_OrderByType_IsValid(int value);
constexpr CameraVideoDataPaging_OrderByType CameraVideoDataPaging_OrderByType_OrderByType_MIN = static_cast<CameraVideoDataPaging_OrderByType>(0);
constexpr CameraVideoDataPaging_OrderByType CameraVideoDataPaging_OrderByType_OrderByType_MAX = static_cast<CameraVideoDataPaging_OrderByType>(1);
constexpr int CameraVideoDataPaging_OrderByType_OrderByType_ARRAYSIZE = 1 + 1;
const std::string& CameraVideoDataPaging_OrderByType_Name(CameraVideoDataPaging_OrderByType value);
template <typename T>
const std::string& CameraVideoDataPaging_OrderByType_Name(T value) {
  static_assert(std::is_same<T, CameraVideoDataPaging_OrderByType>::value ||
                    std::is_integral<T>::value,
                "Incorrect type passed to OrderByType_Name().");
  return CameraVideoDataPaging_OrderByType_Name(static_cast<CameraVideoDataPaging_OrderByType>(value));
}
const std::string& CameraVideoDataPaging_OrderByType_Name(CameraVideoDataPaging_OrderByType value);
bool CameraVideoDataPaging_OrderByType_Parse(absl::string_view name, CameraVideoDataPaging_OrderByType* value);

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


// -------------------------------------------------------------------

class CameraVideoData_Category final :
    public ::PROTOBUF_NAMESPACE_ID::MessageLite /* @@protoc_insertion_point(class_definition:keyapis.vc.v1.CameraVideoData.Category) */ {
 public:
  inline CameraVideoData_Category() : CameraVideoData_Category(nullptr) {}
  ~CameraVideoData_Category() override;
  template<typename = void>
  explicit PROTOBUF_CONSTEXPR CameraVideoData_Category(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);

  CameraVideoData_Category(const CameraVideoData_Category& from);
  CameraVideoData_Category(CameraVideoData_Category&& from) noexcept
    : CameraVideoData_Category() {
    *this = ::std::move(from);
  }

  inline CameraVideoData_Category& operator=(const CameraVideoData_Category& from) {
    CopyFrom(from);
    return *this;
  }
  inline CameraVideoData_Category& operator=(CameraVideoData_Category&& from) noexcept {
    if (this == &from) return *this;
    if (GetOwningArena() == from.GetOwningArena()
  #ifdef PROTOBUF_FORCE_COPY_IN_MOVE
        && GetOwningArena() != nullptr
  #endif  // !PROTOBUF_FORCE_COPY_IN_MOVE
    ) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  inline const std::string& unknown_fields() const {
    return _internal_metadata_.unknown_fields<std::string>(::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString);
  }
  inline std::string* mutable_unknown_fields() {
    return _internal_metadata_.mutable_unknown_fields<std::string>();
  }

  static const CameraVideoData_Category& default_instance() {
    return *internal_default_instance();
  }
  static inline const CameraVideoData_Category* internal_default_instance() {
    return reinterpret_cast<const CameraVideoData_Category*>(
               &_CameraVideoData_Category_default_instance_);
  }
  static constexpr int kIndexInFileMessages =
    0;

  friend void swap(CameraVideoData_Category& a, CameraVideoData_Category& b) {
    a.Swap(&b);
  }
  inline void Swap(CameraVideoData_Category* other) {
    if (other == this) return;
  #ifdef PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() != nullptr &&
        GetOwningArena() == other->GetOwningArena()) {
   #else  // PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() == other->GetOwningArena()) {
  #endif  // !PROTOBUF_FORCE_COPY_IN_SWAP
      InternalSwap(other);
    } else {
      ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(CameraVideoData_Category* other) {
    if (other == this) return;
    ABSL_DCHECK(GetOwningArena() == other->GetOwningArena());
    InternalSwap(other);
  }

  // implements Message ----------------------------------------------

  CameraVideoData_Category* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final {
    return CreateMaybeMessage<CameraVideoData_Category>(arena);
  }
  void CheckTypeAndMergeFrom(const ::PROTOBUF_NAMESPACE_ID::MessageLite& from)  final;
  void CopyFrom(const CameraVideoData_Category& from);
  void MergeFrom(const CameraVideoData_Category& from);
  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
  bool IsInitialized() const final;

  ::size_t ByteSizeLong() const final;
  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
  ::uint8_t* _InternalSerialize(
      ::uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
  int GetCachedSize() const final { return _impl_._cached_size_.Get(); }

  private:
  void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
  void SharedDtor();
  void SetCachedSize(int size) const;
  void InternalSwap(CameraVideoData_Category* other);

  private:
  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
  static ::absl::string_view FullMessageName() {
    return "keyapis.vc.v1.CameraVideoData.Category";
  }
  protected:
  explicit CameraVideoData_Category(::PROTOBUF_NAMESPACE_ID::Arena* arena);
  public:

  std::string GetTypeName() const final;

  // nested types ----------------------------------------------------

  // accessors -------------------------------------------------------

  enum : int {
    kTypeFieldNumber = 2,
    kTitleFieldNumber = 3,
    kIdFieldNumber = 1,
  };
  // string type = 2 [(.google.api.field_behavior) = REQUIRED];
  void clear_type() ;
  const std::string& type() const;




  template <typename Arg_ = const std::string&, typename... Args_>
  void set_type(Arg_&& arg, Args_... args);
  std::string* mutable_type();
  PROTOBUF_NODISCARD std::string* release_type();
  void set_allocated_type(std::string* ptr);

  private:
  const std::string& _internal_type() const;
  inline PROTOBUF_ALWAYS_INLINE void _internal_set_type(
      const std::string& value);
  std::string* _internal_mutable_type();

  public:
  // string title = 3 [(.google.api.field_behavior) = REQUIRED];
  void clear_title() ;
  const std::string& title() const;




  template <typename Arg_ = const std::string&, typename... Args_>
  void set_title(Arg_&& arg, Args_... args);
  std::string* mutable_title();
  PROTOBUF_NODISCARD std::string* release_title();
  void set_allocated_title(std::string* ptr);

  private:
  const std::string& _internal_title() const;
  inline PROTOBUF_ALWAYS_INLINE void _internal_set_title(
      const std::string& value);
  std::string* _internal_mutable_title();

  public:
  // int32 id = 1 [(.google.api.field_behavior) = REQUIRED];
  void clear_id() ;
  ::int32_t id() const;
  void set_id(::int32_t value);

  private:
  ::int32_t _internal_id() const;
  void _internal_set_id(::int32_t value);

  public:
  // @@protoc_insertion_point(class_scope:keyapis.vc.v1.CameraVideoData.Category)
 private:
  class _Internal;

  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
  typedef void InternalArenaConstructable_;
  typedef void DestructorSkippable_;
  struct Impl_ {
    ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr type_;
    ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr title_;
    ::int32_t id_;
    mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_keyapis_2fvc_2fv1_2fkeyapis_5fvc_5fcamera_5fvideo_5fdata_5fv1_2eproto;
};// -------------------------------------------------------------------

class CameraVideoData_Location final :
    public ::PROTOBUF_NAMESPACE_ID::MessageLite /* @@protoc_insertion_point(class_definition:keyapis.vc.v1.CameraVideoData.Location) */ {
 public:
  inline CameraVideoData_Location() : CameraVideoData_Location(nullptr) {}
  ~CameraVideoData_Location() override;
  template<typename = void>
  explicit PROTOBUF_CONSTEXPR CameraVideoData_Location(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);

  CameraVideoData_Location(const CameraVideoData_Location& from);
  CameraVideoData_Location(CameraVideoData_Location&& from) noexcept
    : CameraVideoData_Location() {
    *this = ::std::move(from);
  }

  inline CameraVideoData_Location& operator=(const CameraVideoData_Location& from) {
    CopyFrom(from);
    return *this;
  }
  inline CameraVideoData_Location& operator=(CameraVideoData_Location&& from) noexcept {
    if (this == &from) return *this;
    if (GetOwningArena() == from.GetOwningArena()
  #ifdef PROTOBUF_FORCE_COPY_IN_MOVE
        && GetOwningArena() != nullptr
  #endif  // !PROTOBUF_FORCE_COPY_IN_MOVE
    ) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  inline const std::string& unknown_fields() const {
    return _internal_metadata_.unknown_fields<std::string>(::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString);
  }
  inline std::string* mutable_unknown_fields() {
    return _internal_metadata_.mutable_unknown_fields<std::string>();
  }

  static const CameraVideoData_Location& default_instance() {
    return *internal_default_instance();
  }
  static inline const CameraVideoData_Location* internal_default_instance() {
    return reinterpret_cast<const CameraVideoData_Location*>(
               &_CameraVideoData_Location_default_instance_);
  }
  static constexpr int kIndexInFileMessages =
    1;

  friend void swap(CameraVideoData_Location& a, CameraVideoData_Location& b) {
    a.Swap(&b);
  }
  inline void Swap(CameraVideoData_Location* other) {
    if (other == this) return;
  #ifdef PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() != nullptr &&
        GetOwningArena() == other->GetOwningArena()) {
   #else  // PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() == other->GetOwningArena()) {
  #endif  // !PROTOBUF_FORCE_COPY_IN_SWAP
      InternalSwap(other);
    } else {
      ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(CameraVideoData_Location* other) {
    if (other == this) return;
    ABSL_DCHECK(GetOwningArena() == other->GetOwningArena());
    InternalSwap(other);
  }

  // implements Message ----------------------------------------------

  CameraVideoData_Location* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final {
    return CreateMaybeMessage<CameraVideoData_Location>(arena);
  }
  void CheckTypeAndMergeFrom(const ::PROTOBUF_NAMESPACE_ID::MessageLite& from)  final;
  void CopyFrom(const CameraVideoData_Location& from);
  void MergeFrom(const CameraVideoData_Location& from);
  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
  bool IsInitialized() const final;

  ::size_t ByteSizeLong() const final;
  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
  ::uint8_t* _InternalSerialize(
      ::uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
  int GetCachedSize() const final { return _impl_._cached_size_.Get(); }

  private:
  void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
  void SharedDtor();
  void SetCachedSize(int size) const;
  void InternalSwap(CameraVideoData_Location* other);

  private:
  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
  static ::absl::string_view FullMessageName() {
    return "keyapis.vc.v1.CameraVideoData.Location";
  }
  protected:
  explicit CameraVideoData_Location(::PROTOBUF_NAMESPACE_ID::Arena* arena);
  public:

  std::string GetTypeName() const final;

  // nested types ----------------------------------------------------

  // accessors -------------------------------------------------------

  enum : int {
    kLatFieldNumber = 1,
    kLngFieldNumber = 2,
  };
  // double lat = 1 [(.google.api.field_behavior) = REQUIRED];
  void clear_lat() ;
  double lat() const;
  void set_lat(double value);

  private:
  double _internal_lat() const;
  void _internal_set_lat(double value);

  public:
  // double lng = 2 [(.google.api.field_behavior) = REQUIRED];
  void clear_lng() ;
  double lng() const;
  void set_lng(double value);

  private:
  double _internal_lng() const;
  void _internal_set_lng(double value);

  public:
  // @@protoc_insertion_point(class_scope:keyapis.vc.v1.CameraVideoData.Location)
 private:
  class _Internal;

  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
  typedef void InternalArenaConstructable_;
  typedef void DestructorSkippable_;
  struct Impl_ {
    double lat_;
    double lng_;
    mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_keyapis_2fvc_2fv1_2fkeyapis_5fvc_5fcamera_5fvideo_5fdata_5fv1_2eproto;
};// -------------------------------------------------------------------

class CameraVideoData_Status final :
    public ::PROTOBUF_NAMESPACE_ID::MessageLite /* @@protoc_insertion_point(class_definition:keyapis.vc.v1.CameraVideoData.Status) */ {
 public:
  inline CameraVideoData_Status() : CameraVideoData_Status(nullptr) {}
  ~CameraVideoData_Status() override;
  template<typename = void>
  explicit PROTOBUF_CONSTEXPR CameraVideoData_Status(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);

  CameraVideoData_Status(const CameraVideoData_Status& from);
  CameraVideoData_Status(CameraVideoData_Status&& from) noexcept
    : CameraVideoData_Status() {
    *this = ::std::move(from);
  }

  inline CameraVideoData_Status& operator=(const CameraVideoData_Status& from) {
    CopyFrom(from);
    return *this;
  }
  inline CameraVideoData_Status& operator=(CameraVideoData_Status&& from) noexcept {
    if (this == &from) return *this;
    if (GetOwningArena() == from.GetOwningArena()
  #ifdef PROTOBUF_FORCE_COPY_IN_MOVE
        && GetOwningArena() != nullptr
  #endif  // !PROTOBUF_FORCE_COPY_IN_MOVE
    ) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  inline const std::string& unknown_fields() const {
    return _internal_metadata_.unknown_fields<std::string>(::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString);
  }
  inline std::string* mutable_unknown_fields() {
    return _internal_metadata_.mutable_unknown_fields<std::string>();
  }

  static const CameraVideoData_Status& default_instance() {
    return *internal_default_instance();
  }
  static inline const CameraVideoData_Status* internal_default_instance() {
    return reinterpret_cast<const CameraVideoData_Status*>(
               &_CameraVideoData_Status_default_instance_);
  }
  static constexpr int kIndexInFileMessages =
    2;

  friend void swap(CameraVideoData_Status& a, CameraVideoData_Status& b) {
    a.Swap(&b);
  }
  inline void Swap(CameraVideoData_Status* other) {
    if (other == this) return;
  #ifdef PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() != nullptr &&
        GetOwningArena() == other->GetOwningArena()) {
   #else  // PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() == other->GetOwningArena()) {
  #endif  // !PROTOBUF_FORCE_COPY_IN_SWAP
      InternalSwap(other);
    } else {
      ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(CameraVideoData_Status* other) {
    if (other == this) return;
    ABSL_DCHECK(GetOwningArena() == other->GetOwningArena());
    InternalSwap(other);
  }

  // implements Message ----------------------------------------------

  CameraVideoData_Status* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final {
    return CreateMaybeMessage<CameraVideoData_Status>(arena);
  }
  void CheckTypeAndMergeFrom(const ::PROTOBUF_NAMESPACE_ID::MessageLite& from)  final;
  void CopyFrom(const CameraVideoData_Status& from);
  void MergeFrom(const CameraVideoData_Status& from);
  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
  bool IsInitialized() const final;

  ::size_t ByteSizeLong() const final;
  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
  ::uint8_t* _InternalSerialize(
      ::uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
  int GetCachedSize() const final { return _impl_._cached_size_.Get(); }

  private:
  void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
  void SharedDtor();
  void SetCachedSize(int size) const;
  void InternalSwap(CameraVideoData_Status* other);

  private:
  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
  static ::absl::string_view FullMessageName() {
    return "keyapis.vc.v1.CameraVideoData.Status";
  }
  protected:
  explicit CameraVideoData_Status(::PROTOBUF_NAMESPACE_ID::Arena* arena);
  public:

  std::string GetTypeName() const final;

  // nested types ----------------------------------------------------

  // accessors -------------------------------------------------------

  enum : int {
    kTypeFieldNumber = 2,
    kTitleFieldNumber = 3,
    kIdFieldNumber = 1,
  };
  // string type = 2 [(.google.api.field_behavior) = REQUIRED];
  void clear_type() ;
  const std::string& type() const;




  template <typename Arg_ = const std::string&, typename... Args_>
  void set_type(Arg_&& arg, Args_... args);
  std::string* mutable_type();
  PROTOBUF_NODISCARD std::string* release_type();
  void set_allocated_type(std::string* ptr);

  private:
  const std::string& _internal_type() const;
  inline PROTOBUF_ALWAYS_INLINE void _internal_set_type(
      const std::string& value);
  std::string* _internal_mutable_type();

  public:
  // string title = 3 [(.google.api.field_behavior) = REQUIRED];
  void clear_title() ;
  const std::string& title() const;




  template <typename Arg_ = const std::string&, typename... Args_>
  void set_title(Arg_&& arg, Args_... args);
  std::string* mutable_title();
  PROTOBUF_NODISCARD std::string* release_title();
  void set_allocated_title(std::string* ptr);

  private:
  const std::string& _internal_title() const;
  inline PROTOBUF_ALWAYS_INLINE void _internal_set_title(
      const std::string& value);
  std::string* _internal_mutable_title();

  public:
  // int32 id = 1 [(.google.api.field_behavior) = REQUIRED];
  void clear_id() ;
  ::int32_t id() const;
  void set_id(::int32_t value);

  private:
  ::int32_t _internal_id() const;
  void _internal_set_id(::int32_t value);

  public:
  // @@protoc_insertion_point(class_scope:keyapis.vc.v1.CameraVideoData.Status)
 private:
  class _Internal;

  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
  typedef void InternalArenaConstructable_;
  typedef void DestructorSkippable_;
  struct Impl_ {
    ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr type_;
    ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr title_;
    ::int32_t id_;
    mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_keyapis_2fvc_2fv1_2fkeyapis_5fvc_5fcamera_5fvideo_5fdata_5fv1_2eproto;
};// -------------------------------------------------------------------

class CameraVideoData final :
    public ::PROTOBUF_NAMESPACE_ID::MessageLite /* @@protoc_insertion_point(class_definition:keyapis.vc.v1.CameraVideoData) */ {
 public:
  inline CameraVideoData() : CameraVideoData(nullptr) {}
  ~CameraVideoData() override;
  template<typename = void>
  explicit PROTOBUF_CONSTEXPR CameraVideoData(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);

  CameraVideoData(const CameraVideoData& from);
  CameraVideoData(CameraVideoData&& from) noexcept
    : CameraVideoData() {
    *this = ::std::move(from);
  }

  inline CameraVideoData& operator=(const CameraVideoData& from) {
    CopyFrom(from);
    return *this;
  }
  inline CameraVideoData& operator=(CameraVideoData&& from) noexcept {
    if (this == &from) return *this;
    if (GetOwningArena() == from.GetOwningArena()
  #ifdef PROTOBUF_FORCE_COPY_IN_MOVE
        && GetOwningArena() != nullptr
  #endif  // !PROTOBUF_FORCE_COPY_IN_MOVE
    ) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  inline const std::string& unknown_fields() const {
    return _internal_metadata_.unknown_fields<std::string>(::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString);
  }
  inline std::string* mutable_unknown_fields() {
    return _internal_metadata_.mutable_unknown_fields<std::string>();
  }

  static const CameraVideoData& default_instance() {
    return *internal_default_instance();
  }
  static inline const CameraVideoData* internal_default_instance() {
    return reinterpret_cast<const CameraVideoData*>(
               &_CameraVideoData_default_instance_);
  }
  static constexpr int kIndexInFileMessages =
    3;

  friend void swap(CameraVideoData& a, CameraVideoData& b) {
    a.Swap(&b);
  }
  inline void Swap(CameraVideoData* other) {
    if (other == this) return;
  #ifdef PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() != nullptr &&
        GetOwningArena() == other->GetOwningArena()) {
   #else  // PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() == other->GetOwningArena()) {
  #endif  // !PROTOBUF_FORCE_COPY_IN_SWAP
      InternalSwap(other);
    } else {
      ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(CameraVideoData* other) {
    if (other == this) return;
    ABSL_DCHECK(GetOwningArena() == other->GetOwningArena());
    InternalSwap(other);
  }

  // implements Message ----------------------------------------------

  CameraVideoData* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final {
    return CreateMaybeMessage<CameraVideoData>(arena);
  }
  void CheckTypeAndMergeFrom(const ::PROTOBUF_NAMESPACE_ID::MessageLite& from)  final;
  void CopyFrom(const CameraVideoData& from);
  void MergeFrom(const CameraVideoData& from);
  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
  bool IsInitialized() const final;

  ::size_t ByteSizeLong() const final;
  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
  ::uint8_t* _InternalSerialize(
      ::uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
  int GetCachedSize() const final { return _impl_._cached_size_.Get(); }

  private:
  void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
  void SharedDtor();
  void SetCachedSize(int size) const;
  void InternalSwap(CameraVideoData* other);

  private:
  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
  static ::absl::string_view FullMessageName() {
    return "keyapis.vc.v1.CameraVideoData";
  }
  protected:
  explicit CameraVideoData(::PROTOBUF_NAMESPACE_ID::Arena* arena);
  public:

  std::string GetTypeName() const final;

  // nested types ----------------------------------------------------

  typedef CameraVideoData_Category Category;
  typedef CameraVideoData_Location Location;
  typedef CameraVideoData_Status Status;

  // accessors -------------------------------------------------------

  enum : int {
    kUidFieldNumber = 1,
    kTitleFieldNumber = 3,
    kSerialNumberFieldNumber = 4,
    kIpFieldNumber = 5,
    kStreamerUrlFieldNumber = 6,
    kMacFieldNumber = 7,
    kModelFieldNumber = 8,
    kVendorFieldNumber = 9,
    kScreenshotUrlTemplateFieldNumber = 11,
    kScreenshotPreciseUrlTemplateFieldNumber = 12,
    kUserTokenFieldNumber = 13,
    kStreamerTokenFieldNumber = 14,
    kScreenshotTokenFieldNumber = 15,
    kCategoryFieldNumber = 2,
    kStatusFieldNumber = 10,
    kLocationFieldNumber = 17,
    kCreatedAtFieldNumber = 18,
    kUpdatedAtFieldNumber = 19,
    kArchiveLengthFieldNumber = 16,
    kUtcOffsetFieldNumber = 20,
  };
  // string uid = 1 [(.google.api.field_behavior) = REQUIRED];
  void clear_uid() ;
  const std::string& uid() const;




  template <typename Arg_ = const std::string&, typename... Args_>
  void set_uid(Arg_&& arg, Args_... args);
  std::string* mutable_uid();
  PROTOBUF_NODISCARD std::string* release_uid();
  void set_allocated_uid(std::string* ptr);

  private:
  const std::string& _internal_uid() const;
  inline PROTOBUF_ALWAYS_INLINE void _internal_set_uid(
      const std::string& value);
  std::string* _internal_mutable_uid();

  public:
  // string title = 3 [(.google.api.field_behavior) = REQUIRED];
  void clear_title() ;
  const std::string& title() const;




  template <typename Arg_ = const std::string&, typename... Args_>
  void set_title(Arg_&& arg, Args_... args);
  std::string* mutable_title();
  PROTOBUF_NODISCARD std::string* release_title();
  void set_allocated_title(std::string* ptr);

  private:
  const std::string& _internal_title() const;
  inline PROTOBUF_ALWAYS_INLINE void _internal_set_title(
      const std::string& value);
  std::string* _internal_mutable_title();

  public:
  // string serial_number = 4 [(.google.api.field_behavior) = REQUIRED];
  void clear_serial_number() ;
  const std::string& serial_number() const;




  template <typename Arg_ = const std::string&, typename... Args_>
  void set_serial_number(Arg_&& arg, Args_... args);
  std::string* mutable_serial_number();
  PROTOBUF_NODISCARD std::string* release_serial_number();
  void set_allocated_serial_number(std::string* ptr);

  private:
  const std::string& _internal_serial_number() const;
  inline PROTOBUF_ALWAYS_INLINE void _internal_set_serial_number(
      const std::string& value);
  std::string* _internal_mutable_serial_number();

  public:
  // string ip = 5 [(.google.api.field_behavior) = REQUIRED];
  void clear_ip() ;
  const std::string& ip() const;




  template <typename Arg_ = const std::string&, typename... Args_>
  void set_ip(Arg_&& arg, Args_... args);
  std::string* mutable_ip();
  PROTOBUF_NODISCARD std::string* release_ip();
  void set_allocated_ip(std::string* ptr);

  private:
  const std::string& _internal_ip() const;
  inline PROTOBUF_ALWAYS_INLINE void _internal_set_ip(
      const std::string& value);
  std::string* _internal_mutable_ip();

  public:
  // string streamer_url = 6 [(.google.api.field_behavior) = REQUIRED];
  void clear_streamer_url() ;
  const std::string& streamer_url() const;




  template <typename Arg_ = const std::string&, typename... Args_>
  void set_streamer_url(Arg_&& arg, Args_... args);
  std::string* mutable_streamer_url();
  PROTOBUF_NODISCARD std::string* release_streamer_url();
  void set_allocated_streamer_url(std::string* ptr);

  private:
  const std::string& _internal_streamer_url() const;
  inline PROTOBUF_ALWAYS_INLINE void _internal_set_streamer_url(
      const std::string& value);
  std::string* _internal_mutable_streamer_url();

  public:
  // string mac = 7 [(.google.api.field_behavior) = REQUIRED];
  void clear_mac() ;
  const std::string& mac() const;




  template <typename Arg_ = const std::string&, typename... Args_>
  void set_mac(Arg_&& arg, Args_... args);
  std::string* mutable_mac();
  PROTOBUF_NODISCARD std::string* release_mac();
  void set_allocated_mac(std::string* ptr);

  private:
  const std::string& _internal_mac() const;
  inline PROTOBUF_ALWAYS_INLINE void _internal_set_mac(
      const std::string& value);
  std::string* _internal_mutable_mac();

  public:
  // string model = 8;
  void clear_model() ;
  const std::string& model() const;




  template <typename Arg_ = const std::string&, typename... Args_>
  void set_model(Arg_&& arg, Args_... args);
  std::string* mutable_model();
  PROTOBUF_NODISCARD std::string* release_model();
  void set_allocated_model(std::string* ptr);

  private:
  const std::string& _internal_model() const;
  inline PROTOBUF_ALWAYS_INLINE void _internal_set_model(
      const std::string& value);
  std::string* _internal_mutable_model();

  public:
  // string vendor = 9;
  void clear_vendor() ;
  const std::string& vendor() const;




  template <typename Arg_ = const std::string&, typename... Args_>
  void set_vendor(Arg_&& arg, Args_... args);
  std::string* mutable_vendor();
  PROTOBUF_NODISCARD std::string* release_vendor();
  void set_allocated_vendor(std::string* ptr);

  private:
  const std::string& _internal_vendor() const;
  inline PROTOBUF_ALWAYS_INLINE void _internal_set_vendor(
      const std::string& value);
  std::string* _internal_mutable_vendor();

  public:
  // string screenshot_url_template = 11 [(.google.api.field_behavior) = REQUIRED];
  void clear_screenshot_url_template() ;
  const std::string& screenshot_url_template() const;




  template <typename Arg_ = const std::string&, typename... Args_>
  void set_screenshot_url_template(Arg_&& arg, Args_... args);
  std::string* mutable_screenshot_url_template();
  PROTOBUF_NODISCARD std::string* release_screenshot_url_template();
  void set_allocated_screenshot_url_template(std::string* ptr);

  private:
  const std::string& _internal_screenshot_url_template() const;
  inline PROTOBUF_ALWAYS_INLINE void _internal_set_screenshot_url_template(
      const std::string& value);
  std::string* _internal_mutable_screenshot_url_template();

  public:
  // string screenshot_precise_url_template = 12 [(.google.api.field_behavior) = REQUIRED];
  void clear_screenshot_precise_url_template() ;
  const std::string& screenshot_precise_url_template() const;




  template <typename Arg_ = const std::string&, typename... Args_>
  void set_screenshot_precise_url_template(Arg_&& arg, Args_... args);
  std::string* mutable_screenshot_precise_url_template();
  PROTOBUF_NODISCARD std::string* release_screenshot_precise_url_template();
  void set_allocated_screenshot_precise_url_template(std::string* ptr);

  private:
  const std::string& _internal_screenshot_precise_url_template() const;
  inline PROTOBUF_ALWAYS_INLINE void _internal_set_screenshot_precise_url_template(
      const std::string& value);
  std::string* _internal_mutable_screenshot_precise_url_template();

  public:
  // string user_token = 13 [(.google.api.field_behavior) = REQUIRED];
  void clear_user_token() ;
  const std::string& user_token() const;




  template <typename Arg_ = const std::string&, typename... Args_>
  void set_user_token(Arg_&& arg, Args_... args);
  std::string* mutable_user_token();
  PROTOBUF_NODISCARD std::string* release_user_token();
  void set_allocated_user_token(std::string* ptr);

  private:
  const std::string& _internal_user_token() const;
  inline PROTOBUF_ALWAYS_INLINE void _internal_set_user_token(
      const std::string& value);
  std::string* _internal_mutable_user_token();

  public:
  // string streamer_token = 14 [(.google.api.field_behavior) = REQUIRED];
  void clear_streamer_token() ;
  const std::string& streamer_token() const;




  template <typename Arg_ = const std::string&, typename... Args_>
  void set_streamer_token(Arg_&& arg, Args_... args);
  std::string* mutable_streamer_token();
  PROTOBUF_NODISCARD std::string* release_streamer_token();
  void set_allocated_streamer_token(std::string* ptr);

  private:
  const std::string& _internal_streamer_token() const;
  inline PROTOBUF_ALWAYS_INLINE void _internal_set_streamer_token(
      const std::string& value);
  std::string* _internal_mutable_streamer_token();

  public:
  // string screenshot_token = 15 [(.google.api.field_behavior) = REQUIRED];
  void clear_screenshot_token() ;
  const std::string& screenshot_token() const;




  template <typename Arg_ = const std::string&, typename... Args_>
  void set_screenshot_token(Arg_&& arg, Args_... args);
  std::string* mutable_screenshot_token();
  PROTOBUF_NODISCARD std::string* release_screenshot_token();
  void set_allocated_screenshot_token(std::string* ptr);

  private:
  const std::string& _internal_screenshot_token() const;
  inline PROTOBUF_ALWAYS_INLINE void _internal_set_screenshot_token(
      const std::string& value);
  std::string* _internal_mutable_screenshot_token();

  public:
  // .keyapis.vc.v1.CameraVideoData.Category category = 2;
  bool has_category() const;
  void clear_category() ;
  const ::keyapis::vc::v1::CameraVideoData_Category& category() const;
  PROTOBUF_NODISCARD ::keyapis::vc::v1::CameraVideoData_Category* release_category();
  ::keyapis::vc::v1::CameraVideoData_Category* mutable_category();
  void set_allocated_category(::keyapis::vc::v1::CameraVideoData_Category* category);
  private:
  const ::keyapis::vc::v1::CameraVideoData_Category& _internal_category() const;
  ::keyapis::vc::v1::CameraVideoData_Category* _internal_mutable_category();
  public:
  void unsafe_arena_set_allocated_category(
      ::keyapis::vc::v1::CameraVideoData_Category* category);
  ::keyapis::vc::v1::CameraVideoData_Category* unsafe_arena_release_category();
  // .keyapis.vc.v1.CameraVideoData.Status status = 10 [(.google.api.field_behavior) = REQUIRED];
  bool has_status() const;
  void clear_status() ;
  const ::keyapis::vc::v1::CameraVideoData_Status& status() const;
  PROTOBUF_NODISCARD ::keyapis::vc::v1::CameraVideoData_Status* release_status();
  ::keyapis::vc::v1::CameraVideoData_Status* mutable_status();
  void set_allocated_status(::keyapis::vc::v1::CameraVideoData_Status* status);
  private:
  const ::keyapis::vc::v1::CameraVideoData_Status& _internal_status() const;
  ::keyapis::vc::v1::CameraVideoData_Status* _internal_mutable_status();
  public:
  void unsafe_arena_set_allocated_status(
      ::keyapis::vc::v1::CameraVideoData_Status* status);
  ::keyapis::vc::v1::CameraVideoData_Status* unsafe_arena_release_status();
  // .keyapis.vc.v1.CameraVideoData.Location location = 17;
  bool has_location() const;
  void clear_location() ;
  const ::keyapis::vc::v1::CameraVideoData_Location& location() const;
  PROTOBUF_NODISCARD ::keyapis::vc::v1::CameraVideoData_Location* release_location();
  ::keyapis::vc::v1::CameraVideoData_Location* mutable_location();
  void set_allocated_location(::keyapis::vc::v1::CameraVideoData_Location* location);
  private:
  const ::keyapis::vc::v1::CameraVideoData_Location& _internal_location() const;
  ::keyapis::vc::v1::CameraVideoData_Location* _internal_mutable_location();
  public:
  void unsafe_arena_set_allocated_location(
      ::keyapis::vc::v1::CameraVideoData_Location* location);
  ::keyapis::vc::v1::CameraVideoData_Location* unsafe_arena_release_location();
  // .google.protobuf.Timestamp created_at = 18 [(.google.api.field_behavior) = OUTPUT_ONLY];
  bool has_created_at() const;
  void clear_created_at() ;
  const ::PROTOBUF_NAMESPACE_ID::Timestamp& created_at() const;
  PROTOBUF_NODISCARD ::PROTOBUF_NAMESPACE_ID::Timestamp* release_created_at();
  ::PROTOBUF_NAMESPACE_ID::Timestamp* mutable_created_at();
  void set_allocated_created_at(::PROTOBUF_NAMESPACE_ID::Timestamp* created_at);
  private:
  const ::PROTOBUF_NAMESPACE_ID::Timestamp& _internal_created_at() const;
  ::PROTOBUF_NAMESPACE_ID::Timestamp* _internal_mutable_created_at();
  public:
  void unsafe_arena_set_allocated_created_at(
      ::PROTOBUF_NAMESPACE_ID::Timestamp* created_at);
  ::PROTOBUF_NAMESPACE_ID::Timestamp* unsafe_arena_release_created_at();
  // .google.protobuf.Timestamp updated_at = 19 [(.google.api.field_behavior) = OUTPUT_ONLY];
  bool has_updated_at() const;
  void clear_updated_at() ;
  const ::PROTOBUF_NAMESPACE_ID::Timestamp& updated_at() const;
  PROTOBUF_NODISCARD ::PROTOBUF_NAMESPACE_ID::Timestamp* release_updated_at();
  ::PROTOBUF_NAMESPACE_ID::Timestamp* mutable_updated_at();
  void set_allocated_updated_at(::PROTOBUF_NAMESPACE_ID::Timestamp* updated_at);
  private:
  const ::PROTOBUF_NAMESPACE_ID::Timestamp& _internal_updated_at() const;
  ::PROTOBUF_NAMESPACE_ID::Timestamp* _internal_mutable_updated_at();
  public:
  void unsafe_arena_set_allocated_updated_at(
      ::PROTOBUF_NAMESPACE_ID::Timestamp* updated_at);
  ::PROTOBUF_NAMESPACE_ID::Timestamp* unsafe_arena_release_updated_at();
  // int32 archive_length = 16;
  void clear_archive_length() ;
  ::int32_t archive_length() const;
  void set_archive_length(::int32_t value);

  private:
  ::int32_t _internal_archive_length() const;
  void _internal_set_archive_length(::int32_t value);

  public:
  // int32 utc_offset = 20;
  void clear_utc_offset() ;
  ::int32_t utc_offset() const;
  void set_utc_offset(::int32_t value);

  private:
  ::int32_t _internal_utc_offset() const;
  void _internal_set_utc_offset(::int32_t value);

  public:
  // @@protoc_insertion_point(class_scope:keyapis.vc.v1.CameraVideoData)
 private:
  class _Internal;

  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
  typedef void InternalArenaConstructable_;
  typedef void DestructorSkippable_;
  struct Impl_ {
    ::PROTOBUF_NAMESPACE_ID::internal::HasBits<1> _has_bits_;
    mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
    ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr uid_;
    ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr title_;
    ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr serial_number_;
    ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr ip_;
    ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr streamer_url_;
    ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr mac_;
    ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr model_;
    ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr vendor_;
    ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr screenshot_url_template_;
    ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr screenshot_precise_url_template_;
    ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr user_token_;
    ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr streamer_token_;
    ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr screenshot_token_;
    ::keyapis::vc::v1::CameraVideoData_Category* category_;
    ::keyapis::vc::v1::CameraVideoData_Status* status_;
    ::keyapis::vc::v1::CameraVideoData_Location* location_;
    ::PROTOBUF_NAMESPACE_ID::Timestamp* created_at_;
    ::PROTOBUF_NAMESPACE_ID::Timestamp* updated_at_;
    ::int32_t archive_length_;
    ::int32_t utc_offset_;
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_keyapis_2fvc_2fv1_2fkeyapis_5fvc_5fcamera_5fvideo_5fdata_5fv1_2eproto;
};// -------------------------------------------------------------------

class CameraVideoDataFilter final :
    public ::PROTOBUF_NAMESPACE_ID::MessageLite /* @@protoc_insertion_point(class_definition:keyapis.vc.v1.CameraVideoDataFilter) */ {
 public:
  inline CameraVideoDataFilter() : CameraVideoDataFilter(nullptr) {}
  ~CameraVideoDataFilter() override;
  template<typename = void>
  explicit PROTOBUF_CONSTEXPR CameraVideoDataFilter(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);

  CameraVideoDataFilter(const CameraVideoDataFilter& from);
  CameraVideoDataFilter(CameraVideoDataFilter&& from) noexcept
    : CameraVideoDataFilter() {
    *this = ::std::move(from);
  }

  inline CameraVideoDataFilter& operator=(const CameraVideoDataFilter& from) {
    CopyFrom(from);
    return *this;
  }
  inline CameraVideoDataFilter& operator=(CameraVideoDataFilter&& from) noexcept {
    if (this == &from) return *this;
    if (GetOwningArena() == from.GetOwningArena()
  #ifdef PROTOBUF_FORCE_COPY_IN_MOVE
        && GetOwningArena() != nullptr
  #endif  // !PROTOBUF_FORCE_COPY_IN_MOVE
    ) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  inline const std::string& unknown_fields() const {
    return _internal_metadata_.unknown_fields<std::string>(::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString);
  }
  inline std::string* mutable_unknown_fields() {
    return _internal_metadata_.mutable_unknown_fields<std::string>();
  }

  static const CameraVideoDataFilter& default_instance() {
    return *internal_default_instance();
  }
  static inline const CameraVideoDataFilter* internal_default_instance() {
    return reinterpret_cast<const CameraVideoDataFilter*>(
               &_CameraVideoDataFilter_default_instance_);
  }
  static constexpr int kIndexInFileMessages =
    4;

  friend void swap(CameraVideoDataFilter& a, CameraVideoDataFilter& b) {
    a.Swap(&b);
  }
  inline void Swap(CameraVideoDataFilter* other) {
    if (other == this) return;
  #ifdef PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() != nullptr &&
        GetOwningArena() == other->GetOwningArena()) {
   #else  // PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() == other->GetOwningArena()) {
  #endif  // !PROTOBUF_FORCE_COPY_IN_SWAP
      InternalSwap(other);
    } else {
      ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(CameraVideoDataFilter* other) {
    if (other == this) return;
    ABSL_DCHECK(GetOwningArena() == other->GetOwningArena());
    InternalSwap(other);
  }

  // implements Message ----------------------------------------------

  CameraVideoDataFilter* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final {
    return CreateMaybeMessage<CameraVideoDataFilter>(arena);
  }
  void CheckTypeAndMergeFrom(const ::PROTOBUF_NAMESPACE_ID::MessageLite& from)  final;
  void CopyFrom(const CameraVideoDataFilter& from);
  void MergeFrom(const CameraVideoDataFilter& from);
  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
  bool IsInitialized() const final;

  ::size_t ByteSizeLong() const final;
  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
  ::uint8_t* _InternalSerialize(
      ::uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
  int GetCachedSize() const final { return _impl_._cached_size_.Get(); }

  private:
  void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
  void SharedDtor();
  void SetCachedSize(int size) const;
  void InternalSwap(CameraVideoDataFilter* other);

  private:
  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
  static ::absl::string_view FullMessageName() {
    return "keyapis.vc.v1.CameraVideoDataFilter";
  }
  protected:
  explicit CameraVideoDataFilter(::PROTOBUF_NAMESPACE_ID::Arena* arena);
  public:

  std::string GetTypeName() const final;

  // nested types ----------------------------------------------------

  // accessors -------------------------------------------------------

  enum : int {
    kUidsFieldNumber = 1,
    kTitleFieldNumber = 2,
    kMacFieldNumber = 3,
    kIpFieldNumber = 4,
    kSerialNumberFieldNumber = 5,
    kCategoryFieldNumber = 6,
  };
  // repeated string uids = 1;
  int uids_size() const;
  private:
  int _internal_uids_size() const;

  public:
  void clear_uids() ;
  const std::string& uids(int index) const;
  std::string* mutable_uids(int index);
  void set_uids(int index, const std::string& value);
  void set_uids(int index, std::string&& value);
  void set_uids(int index, const char* value);
  void set_uids(int index, const char* value, std::size_t size);
  void set_uids(int index, absl::string_view value);
  std::string* add_uids();
  void add_uids(const std::string& value);
  void add_uids(std::string&& value);
  void add_uids(const char* value);
  void add_uids(const char* value, std::size_t size);
  void add_uids(absl::string_view value);
  const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField<std::string>& uids() const;
  ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField<std::string>* mutable_uids();

  private:
  const std::string& _internal_uids(int index) const;
  std::string* _internal_add_uids();
  const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField<std::string>& _internal_uids() const;
  ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField<std::string>* _internal_mutable_uids();

  public:
  // repeated string title = 2;
  int title_size() const;
  private:
  int _internal_title_size() const;

  public:
  void clear_title() ;
  const std::string& title(int index) const;
  std::string* mutable_title(int index);
  void set_title(int index, const std::string& value);
  void set_title(int index, std::string&& value);
  void set_title(int index, const char* value);
  void set_title(int index, const char* value, std::size_t size);
  void set_title(int index, absl::string_view value);
  std::string* add_title();
  void add_title(const std::string& value);
  void add_title(std::string&& value);
  void add_title(const char* value);
  void add_title(const char* value, std::size_t size);
  void add_title(absl::string_view value);
  const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField<std::string>& title() const;
  ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField<std::string>* mutable_title();

  private:
  const std::string& _internal_title(int index) const;
  std::string* _internal_add_title();
  const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField<std::string>& _internal_title() const;
  ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField<std::string>* _internal_mutable_title();

  public:
  // repeated string mac = 3;
  int mac_size() const;
  private:
  int _internal_mac_size() const;

  public:
  void clear_mac() ;
  const std::string& mac(int index) const;
  std::string* mutable_mac(int index);
  void set_mac(int index, const std::string& value);
  void set_mac(int index, std::string&& value);
  void set_mac(int index, const char* value);
  void set_mac(int index, const char* value, std::size_t size);
  void set_mac(int index, absl::string_view value);
  std::string* add_mac();
  void add_mac(const std::string& value);
  void add_mac(std::string&& value);
  void add_mac(const char* value);
  void add_mac(const char* value, std::size_t size);
  void add_mac(absl::string_view value);
  const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField<std::string>& mac() const;
  ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField<std::string>* mutable_mac();

  private:
  const std::string& _internal_mac(int index) const;
  std::string* _internal_add_mac();
  const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField<std::string>& _internal_mac() const;
  ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField<std::string>* _internal_mutable_mac();

  public:
  // repeated string ip = 4;
  int ip_size() const;
  private:
  int _internal_ip_size() const;

  public:
  void clear_ip() ;
  const std::string& ip(int index) const;
  std::string* mutable_ip(int index);
  void set_ip(int index, const std::string& value);
  void set_ip(int index, std::string&& value);
  void set_ip(int index, const char* value);
  void set_ip(int index, const char* value, std::size_t size);
  void set_ip(int index, absl::string_view value);
  std::string* add_ip();
  void add_ip(const std::string& value);
  void add_ip(std::string&& value);
  void add_ip(const char* value);
  void add_ip(const char* value, std::size_t size);
  void add_ip(absl::string_view value);
  const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField<std::string>& ip() const;
  ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField<std::string>* mutable_ip();

  private:
  const std::string& _internal_ip(int index) const;
  std::string* _internal_add_ip();
  const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField<std::string>& _internal_ip() const;
  ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField<std::string>* _internal_mutable_ip();

  public:
  // repeated string serial_number = 5;
  int serial_number_size() const;
  private:
  int _internal_serial_number_size() const;

  public:
  void clear_serial_number() ;
  const std::string& serial_number(int index) const;
  std::string* mutable_serial_number(int index);
  void set_serial_number(int index, const std::string& value);
  void set_serial_number(int index, std::string&& value);
  void set_serial_number(int index, const char* value);
  void set_serial_number(int index, const char* value, std::size_t size);
  void set_serial_number(int index, absl::string_view value);
  std::string* add_serial_number();
  void add_serial_number(const std::string& value);
  void add_serial_number(std::string&& value);
  void add_serial_number(const char* value);
  void add_serial_number(const char* value, std::size_t size);
  void add_serial_number(absl::string_view value);
  const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField<std::string>& serial_number() const;
  ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField<std::string>* mutable_serial_number();

  private:
  const std::string& _internal_serial_number(int index) const;
  std::string* _internal_add_serial_number();
  const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField<std::string>& _internal_serial_number() const;
  ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField<std::string>* _internal_mutable_serial_number();

  public:
  // repeated string category = 6;
  int category_size() const;
  private:
  int _internal_category_size() const;

  public:
  void clear_category() ;
  const std::string& category(int index) const;
  std::string* mutable_category(int index);
  void set_category(int index, const std::string& value);
  void set_category(int index, std::string&& value);
  void set_category(int index, const char* value);
  void set_category(int index, const char* value, std::size_t size);
  void set_category(int index, absl::string_view value);
  std::string* add_category();
  void add_category(const std::string& value);
  void add_category(std::string&& value);
  void add_category(const char* value);
  void add_category(const char* value, std::size_t size);
  void add_category(absl::string_view value);
  const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField<std::string>& category() const;
  ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField<std::string>* mutable_category();

  private:
  const std::string& _internal_category(int index) const;
  std::string* _internal_add_category();
  const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField<std::string>& _internal_category() const;
  ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField<std::string>* _internal_mutable_category();

  public:
  // @@protoc_insertion_point(class_scope:keyapis.vc.v1.CameraVideoDataFilter)
 private:
  class _Internal;

  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
  typedef void InternalArenaConstructable_;
  typedef void DestructorSkippable_;
  struct Impl_ {
    ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField<std::string> uids_;
    ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField<std::string> title_;
    ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField<std::string> mac_;
    ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField<std::string> ip_;
    ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField<std::string> serial_number_;
    ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField<std::string> category_;
    mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_keyapis_2fvc_2fv1_2fkeyapis_5fvc_5fcamera_5fvideo_5fdata_5fv1_2eproto;
};// -------------------------------------------------------------------

class CameraVideoDataPaging final :
    public ::PROTOBUF_NAMESPACE_ID::MessageLite /* @@protoc_insertion_point(class_definition:keyapis.vc.v1.CameraVideoDataPaging) */ {
 public:
  inline CameraVideoDataPaging() : CameraVideoDataPaging(nullptr) {}
  ~CameraVideoDataPaging() override;
  template<typename = void>
  explicit PROTOBUF_CONSTEXPR CameraVideoDataPaging(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);

  CameraVideoDataPaging(const CameraVideoDataPaging& from);
  CameraVideoDataPaging(CameraVideoDataPaging&& from) noexcept
    : CameraVideoDataPaging() {
    *this = ::std::move(from);
  }

  inline CameraVideoDataPaging& operator=(const CameraVideoDataPaging& from) {
    CopyFrom(from);
    return *this;
  }
  inline CameraVideoDataPaging& operator=(CameraVideoDataPaging&& from) noexcept {
    if (this == &from) return *this;
    if (GetOwningArena() == from.GetOwningArena()
  #ifdef PROTOBUF_FORCE_COPY_IN_MOVE
        && GetOwningArena() != nullptr
  #endif  // !PROTOBUF_FORCE_COPY_IN_MOVE
    ) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  inline const std::string& unknown_fields() const {
    return _internal_metadata_.unknown_fields<std::string>(::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString);
  }
  inline std::string* mutable_unknown_fields() {
    return _internal_metadata_.mutable_unknown_fields<std::string>();
  }

  static const CameraVideoDataPaging& default_instance() {
    return *internal_default_instance();
  }
  static inline const CameraVideoDataPaging* internal_default_instance() {
    return reinterpret_cast<const CameraVideoDataPaging*>(
               &_CameraVideoDataPaging_default_instance_);
  }
  static constexpr int kIndexInFileMessages =
    5;

  friend void swap(CameraVideoDataPaging& a, CameraVideoDataPaging& b) {
    a.Swap(&b);
  }
  inline void Swap(CameraVideoDataPaging* other) {
    if (other == this) return;
  #ifdef PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() != nullptr &&
        GetOwningArena() == other->GetOwningArena()) {
   #else  // PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() == other->GetOwningArena()) {
  #endif  // !PROTOBUF_FORCE_COPY_IN_SWAP
      InternalSwap(other);
    } else {
      ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(CameraVideoDataPaging* other) {
    if (other == this) return;
    ABSL_DCHECK(GetOwningArena() == other->GetOwningArena());
    InternalSwap(other);
  }

  // implements Message ----------------------------------------------

  CameraVideoDataPaging* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final {
    return CreateMaybeMessage<CameraVideoDataPaging>(arena);
  }
  void CheckTypeAndMergeFrom(const ::PROTOBUF_NAMESPACE_ID::MessageLite& from)  final;
  void CopyFrom(const CameraVideoDataPaging& from);
  void MergeFrom(const CameraVideoDataPaging& from);
  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
  bool IsInitialized() const final;

  ::size_t ByteSizeLong() const final;
  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
  ::uint8_t* _InternalSerialize(
      ::uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
  int GetCachedSize() const final { return _impl_._cached_size_.Get(); }

  private:
  void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
  void SharedDtor();
  void SetCachedSize(int size) const;
  void InternalSwap(CameraVideoDataPaging* other);

  private:
  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
  static ::absl::string_view FullMessageName() {
    return "keyapis.vc.v1.CameraVideoDataPaging";
  }
  protected:
  explicit CameraVideoDataPaging(::PROTOBUF_NAMESPACE_ID::Arena* arena);
  public:

  std::string GetTypeName() const final;

  // nested types ----------------------------------------------------

  using DirectionType = CameraVideoDataPaging_DirectionType;
  static constexpr DirectionType DIRECTION_TYPE_UNKNOWN = CameraVideoDataPaging_DirectionType_DIRECTION_TYPE_UNKNOWN;
  static constexpr DirectionType DESC = CameraVideoDataPaging_DirectionType_DESC;
  static constexpr DirectionType ASC = CameraVideoDataPaging_DirectionType_ASC;
  static inline bool DirectionType_IsValid(int value) {
    return CameraVideoDataPaging_DirectionType_IsValid(value);
  }
  static constexpr DirectionType DirectionType_MIN = CameraVideoDataPaging_DirectionType_DirectionType_MIN;
  static constexpr DirectionType DirectionType_MAX = CameraVideoDataPaging_DirectionType_DirectionType_MAX;
  static constexpr int DirectionType_ARRAYSIZE = CameraVideoDataPaging_DirectionType_DirectionType_ARRAYSIZE;
  template <typename T>
  static inline const std::string& DirectionType_Name(T value) {
    return CameraVideoDataPaging_DirectionType_Name(value);
  }
  static inline bool DirectionType_Parse(absl::string_view name, DirectionType* value) {
    return CameraVideoDataPaging_DirectionType_Parse(name, value);
  }

  using OrderByType = CameraVideoDataPaging_OrderByType;
  static constexpr OrderByType ORDER_BY_TYPE_UNKNOWN = CameraVideoDataPaging_OrderByType_ORDER_BY_TYPE_UNKNOWN;
  static constexpr OrderByType CREATED_AT = CameraVideoDataPaging_OrderByType_CREATED_AT;
  static inline bool OrderByType_IsValid(int value) {
    return CameraVideoDataPaging_OrderByType_IsValid(value);
  }
  static constexpr OrderByType OrderByType_MIN = CameraVideoDataPaging_OrderByType_OrderByType_MIN;
  static constexpr OrderByType OrderByType_MAX = CameraVideoDataPaging_OrderByType_OrderByType_MAX;
  static constexpr int OrderByType_ARRAYSIZE = CameraVideoDataPaging_OrderByType_OrderByType_ARRAYSIZE;
  template <typename T>
  static inline const std::string& OrderByType_Name(T value) {
    return CameraVideoDataPaging_OrderByType_Name(value);
  }
  static inline bool OrderByType_Parse(absl::string_view name, OrderByType* value) {
    return CameraVideoDataPaging_OrderByType_Parse(name, value);
  }

  // accessors -------------------------------------------------------

  enum : int {
    kOrderByTypeFieldNumber = 1,
    kDirectionTypeFieldNumber = 2,
    kLimitFieldNumber = 3,
    kOffsetFieldNumber = 4,
  };
  // .keyapis.vc.v1.CameraVideoDataPaging.OrderByType order_by_type = 1;
  void clear_order_by_type() ;
  ::keyapis::vc::v1::CameraVideoDataPaging_OrderByType order_by_type() const;
  void set_order_by_type(::keyapis::vc::v1::CameraVideoDataPaging_OrderByType value);

  private:
  ::keyapis::vc::v1::CameraVideoDataPaging_OrderByType _internal_order_by_type() const;
  void _internal_set_order_by_type(::keyapis::vc::v1::CameraVideoDataPaging_OrderByType value);

  public:
  // .keyapis.vc.v1.CameraVideoDataPaging.DirectionType direction_type = 2;
  void clear_direction_type() ;
  ::keyapis::vc::v1::CameraVideoDataPaging_DirectionType direction_type() const;
  void set_direction_type(::keyapis::vc::v1::CameraVideoDataPaging_DirectionType value);

  private:
  ::keyapis::vc::v1::CameraVideoDataPaging_DirectionType _internal_direction_type() const;
  void _internal_set_direction_type(::keyapis::vc::v1::CameraVideoDataPaging_DirectionType value);

  public:
  // int32 limit = 3;
  void clear_limit() ;
  ::int32_t limit() const;
  void set_limit(::int32_t value);

  private:
  ::int32_t _internal_limit() const;
  void _internal_set_limit(::int32_t value);

  public:
  // int32 offset = 4;
  void clear_offset() ;
  ::int32_t offset() const;
  void set_offset(::int32_t value);

  private:
  ::int32_t _internal_offset() const;
  void _internal_set_offset(::int32_t value);

  public:
  // @@protoc_insertion_point(class_scope:keyapis.vc.v1.CameraVideoDataPaging)
 private:
  class _Internal;

  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
  typedef void InternalArenaConstructable_;
  typedef void DestructorSkippable_;
  struct Impl_ {
    int order_by_type_;
    int direction_type_;
    ::int32_t limit_;
    ::int32_t offset_;
    mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_keyapis_2fvc_2fv1_2fkeyapis_5fvc_5fcamera_5fvideo_5fdata_5fv1_2eproto;
};// -------------------------------------------------------------------

class CameraVideoDataScope final :
    public ::PROTOBUF_NAMESPACE_ID::MessageLite /* @@protoc_insertion_point(class_definition:keyapis.vc.v1.CameraVideoDataScope) */ {
 public:
  inline CameraVideoDataScope() : CameraVideoDataScope(nullptr) {}
  ~CameraVideoDataScope() override;
  template<typename = void>
  explicit PROTOBUF_CONSTEXPR CameraVideoDataScope(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);

  CameraVideoDataScope(const CameraVideoDataScope& from);
  CameraVideoDataScope(CameraVideoDataScope&& from) noexcept
    : CameraVideoDataScope() {
    *this = ::std::move(from);
  }

  inline CameraVideoDataScope& operator=(const CameraVideoDataScope& from) {
    CopyFrom(from);
    return *this;
  }
  inline CameraVideoDataScope& operator=(CameraVideoDataScope&& from) noexcept {
    if (this == &from) return *this;
    if (GetOwningArena() == from.GetOwningArena()
  #ifdef PROTOBUF_FORCE_COPY_IN_MOVE
        && GetOwningArena() != nullptr
  #endif  // !PROTOBUF_FORCE_COPY_IN_MOVE
    ) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  inline const std::string& unknown_fields() const {
    return _internal_metadata_.unknown_fields<std::string>(::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString);
  }
  inline std::string* mutable_unknown_fields() {
    return _internal_metadata_.mutable_unknown_fields<std::string>();
  }

  static const CameraVideoDataScope& default_instance() {
    return *internal_default_instance();
  }
  enum ScopeCase {
    kCompanyId = 1,
    kUserId = 2,
    SCOPE_NOT_SET = 0,
  };

  static inline const CameraVideoDataScope* internal_default_instance() {
    return reinterpret_cast<const CameraVideoDataScope*>(
               &_CameraVideoDataScope_default_instance_);
  }
  static constexpr int kIndexInFileMessages =
    6;

  friend void swap(CameraVideoDataScope& a, CameraVideoDataScope& b) {
    a.Swap(&b);
  }
  inline void Swap(CameraVideoDataScope* other) {
    if (other == this) return;
  #ifdef PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() != nullptr &&
        GetOwningArena() == other->GetOwningArena()) {
   #else  // PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() == other->GetOwningArena()) {
  #endif  // !PROTOBUF_FORCE_COPY_IN_SWAP
      InternalSwap(other);
    } else {
      ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(CameraVideoDataScope* other) {
    if (other == this) return;
    ABSL_DCHECK(GetOwningArena() == other->GetOwningArena());
    InternalSwap(other);
  }

  // implements Message ----------------------------------------------

  CameraVideoDataScope* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final {
    return CreateMaybeMessage<CameraVideoDataScope>(arena);
  }
  void CheckTypeAndMergeFrom(const ::PROTOBUF_NAMESPACE_ID::MessageLite& from)  final;
  void CopyFrom(const CameraVideoDataScope& from);
  void MergeFrom(const CameraVideoDataScope& from);
  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
  bool IsInitialized() const final;

  ::size_t ByteSizeLong() const final;
  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
  ::uint8_t* _InternalSerialize(
      ::uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
  int GetCachedSize() const final { return _impl_._cached_size_.Get(); }

  private:
  void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
  void SharedDtor();
  void SetCachedSize(int size) const;
  void InternalSwap(CameraVideoDataScope* other);

  private:
  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
  static ::absl::string_view FullMessageName() {
    return "keyapis.vc.v1.CameraVideoDataScope";
  }
  protected:
  explicit CameraVideoDataScope(::PROTOBUF_NAMESPACE_ID::Arena* arena);
  public:

  std::string GetTypeName() const final;

  // nested types ----------------------------------------------------

  // accessors -------------------------------------------------------

  enum : int {
    kCompanyIdFieldNumber = 1,
    kUserIdFieldNumber = 2,
  };
  // int64 company_id = 1;
  bool has_company_id() const;
  void clear_company_id() ;
  ::int64_t company_id() const;
  void set_company_id(::int64_t value);

  private:
  ::int64_t _internal_company_id() const;
  void _internal_set_company_id(::int64_t value);

  public:
  // int32 user_id = 2;
  bool has_user_id() const;
  void clear_user_id() ;
  ::int32_t user_id() const;
  void set_user_id(::int32_t value);

  private:
  ::int32_t _internal_user_id() const;
  void _internal_set_user_id(::int32_t value);

  public:
  void clear_scope();
  ScopeCase scope_case() const;
  // @@protoc_insertion_point(class_scope:keyapis.vc.v1.CameraVideoDataScope)
 private:
  class _Internal;
  void set_has_company_id();
  void set_has_user_id();

  inline bool has_scope() const;
  inline void clear_has_scope();

  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
  typedef void InternalArenaConstructable_;
  typedef void DestructorSkippable_;
  struct Impl_ {
    union ScopeUnion {
      constexpr ScopeUnion() : _constinit_{} {}
        ::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized _constinit_;
      ::int64_t company_id_;
      ::int32_t user_id_;
    } scope_;
    mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
    ::uint32_t _oneof_case_[1];

  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_keyapis_2fvc_2fv1_2fkeyapis_5fvc_5fcamera_5fvideo_5fdata_5fv1_2eproto;
};// -------------------------------------------------------------------

class GetCameraVideoDataCountRequest final :
    public ::PROTOBUF_NAMESPACE_ID::MessageLite /* @@protoc_insertion_point(class_definition:keyapis.vc.v1.GetCameraVideoDataCountRequest) */ {
 public:
  inline GetCameraVideoDataCountRequest() : GetCameraVideoDataCountRequest(nullptr) {}
  ~GetCameraVideoDataCountRequest() override;
  template<typename = void>
  explicit PROTOBUF_CONSTEXPR GetCameraVideoDataCountRequest(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);

  GetCameraVideoDataCountRequest(const GetCameraVideoDataCountRequest& from);
  GetCameraVideoDataCountRequest(GetCameraVideoDataCountRequest&& from) noexcept
    : GetCameraVideoDataCountRequest() {
    *this = ::std::move(from);
  }

  inline GetCameraVideoDataCountRequest& operator=(const GetCameraVideoDataCountRequest& from) {
    CopyFrom(from);
    return *this;
  }
  inline GetCameraVideoDataCountRequest& operator=(GetCameraVideoDataCountRequest&& from) noexcept {
    if (this == &from) return *this;
    if (GetOwningArena() == from.GetOwningArena()
  #ifdef PROTOBUF_FORCE_COPY_IN_MOVE
        && GetOwningArena() != nullptr
  #endif  // !PROTOBUF_FORCE_COPY_IN_MOVE
    ) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  inline const std::string& unknown_fields() const {
    return _internal_metadata_.unknown_fields<std::string>(::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString);
  }
  inline std::string* mutable_unknown_fields() {
    return _internal_metadata_.mutable_unknown_fields<std::string>();
  }

  static const GetCameraVideoDataCountRequest& default_instance() {
    return *internal_default_instance();
  }
  static inline const GetCameraVideoDataCountRequest* internal_default_instance() {
    return reinterpret_cast<const GetCameraVideoDataCountRequest*>(
               &_GetCameraVideoDataCountRequest_default_instance_);
  }
  static constexpr int kIndexInFileMessages =
    7;

  friend void swap(GetCameraVideoDataCountRequest& a, GetCameraVideoDataCountRequest& b) {
    a.Swap(&b);
  }
  inline void Swap(GetCameraVideoDataCountRequest* other) {
    if (other == this) return;
  #ifdef PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() != nullptr &&
        GetOwningArena() == other->GetOwningArena()) {
   #else  // PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() == other->GetOwningArena()) {
  #endif  // !PROTOBUF_FORCE_COPY_IN_SWAP
      InternalSwap(other);
    } else {
      ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(GetCameraVideoDataCountRequest* other) {
    if (other == this) return;
    ABSL_DCHECK(GetOwningArena() == other->GetOwningArena());
    InternalSwap(other);
  }

  // implements Message ----------------------------------------------

  GetCameraVideoDataCountRequest* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final {
    return CreateMaybeMessage<GetCameraVideoDataCountRequest>(arena);
  }
  void CheckTypeAndMergeFrom(const ::PROTOBUF_NAMESPACE_ID::MessageLite& from)  final;
  void CopyFrom(const GetCameraVideoDataCountRequest& from);
  void MergeFrom(const GetCameraVideoDataCountRequest& from);
  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
  bool IsInitialized() const final;

  ::size_t ByteSizeLong() const final;
  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
  ::uint8_t* _InternalSerialize(
      ::uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
  int GetCachedSize() const final { return _impl_._cached_size_.Get(); }

  private:
  void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
  void SharedDtor();
  void SetCachedSize(int size) const;
  void InternalSwap(GetCameraVideoDataCountRequest* other);

  private:
  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
  static ::absl::string_view FullMessageName() {
    return "keyapis.vc.v1.GetCameraVideoDataCountRequest";
  }
  protected:
  explicit GetCameraVideoDataCountRequest(::PROTOBUF_NAMESPACE_ID::Arena* arena);
  public:

  std::string GetTypeName() const final;

  // nested types ----------------------------------------------------

  // accessors -------------------------------------------------------

  enum : int {
    kScopeFieldNumber = 1,
    kFilterFieldNumber = 2,
  };
  // .keyapis.vc.v1.CameraVideoDataScope scope = 1;
  bool has_scope() const;
  void clear_scope() ;
  const ::keyapis::vc::v1::CameraVideoDataScope& scope() const;
  PROTOBUF_NODISCARD ::keyapis::vc::v1::CameraVideoDataScope* release_scope();
  ::keyapis::vc::v1::CameraVideoDataScope* mutable_scope();
  void set_allocated_scope(::keyapis::vc::v1::CameraVideoDataScope* scope);
  private:
  const ::keyapis::vc::v1::CameraVideoDataScope& _internal_scope() const;
  ::keyapis::vc::v1::CameraVideoDataScope* _internal_mutable_scope();
  public:
  void unsafe_arena_set_allocated_scope(
      ::keyapis::vc::v1::CameraVideoDataScope* scope);
  ::keyapis::vc::v1::CameraVideoDataScope* unsafe_arena_release_scope();
  // .keyapis.vc.v1.CameraVideoDataFilter filter = 2;
  bool has_filter() const;
  void clear_filter() ;
  const ::keyapis::vc::v1::CameraVideoDataFilter& filter() const;
  PROTOBUF_NODISCARD ::keyapis::vc::v1::CameraVideoDataFilter* release_filter();
  ::keyapis::vc::v1::CameraVideoDataFilter* mutable_filter();
  void set_allocated_filter(::keyapis::vc::v1::CameraVideoDataFilter* filter);
  private:
  const ::keyapis::vc::v1::CameraVideoDataFilter& _internal_filter() const;
  ::keyapis::vc::v1::CameraVideoDataFilter* _internal_mutable_filter();
  public:
  void unsafe_arena_set_allocated_filter(
      ::keyapis::vc::v1::CameraVideoDataFilter* filter);
  ::keyapis::vc::v1::CameraVideoDataFilter* unsafe_arena_release_filter();
  // @@protoc_insertion_point(class_scope:keyapis.vc.v1.GetCameraVideoDataCountRequest)
 private:
  class _Internal;

  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
  typedef void InternalArenaConstructable_;
  typedef void DestructorSkippable_;
  struct Impl_ {
    ::PROTOBUF_NAMESPACE_ID::internal::HasBits<1> _has_bits_;
    mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
    ::keyapis::vc::v1::CameraVideoDataScope* scope_;
    ::keyapis::vc::v1::CameraVideoDataFilter* filter_;
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_keyapis_2fvc_2fv1_2fkeyapis_5fvc_5fcamera_5fvideo_5fdata_5fv1_2eproto;
};// -------------------------------------------------------------------

class GetCameraVideoDataCountResponse_Error final :
    public ::PROTOBUF_NAMESPACE_ID::MessageLite /* @@protoc_insertion_point(class_definition:keyapis.vc.v1.GetCameraVideoDataCountResponse.Error) */ {
 public:
  inline GetCameraVideoDataCountResponse_Error() : GetCameraVideoDataCountResponse_Error(nullptr) {}
  ~GetCameraVideoDataCountResponse_Error() override;
  template<typename = void>
  explicit PROTOBUF_CONSTEXPR GetCameraVideoDataCountResponse_Error(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);

  GetCameraVideoDataCountResponse_Error(const GetCameraVideoDataCountResponse_Error& from);
  GetCameraVideoDataCountResponse_Error(GetCameraVideoDataCountResponse_Error&& from) noexcept
    : GetCameraVideoDataCountResponse_Error() {
    *this = ::std::move(from);
  }

  inline GetCameraVideoDataCountResponse_Error& operator=(const GetCameraVideoDataCountResponse_Error& from) {
    CopyFrom(from);
    return *this;
  }
  inline GetCameraVideoDataCountResponse_Error& operator=(GetCameraVideoDataCountResponse_Error&& from) noexcept {
    if (this == &from) return *this;
    if (GetOwningArena() == from.GetOwningArena()
  #ifdef PROTOBUF_FORCE_COPY_IN_MOVE
        && GetOwningArena() != nullptr
  #endif  // !PROTOBUF_FORCE_COPY_IN_MOVE
    ) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  inline const std::string& unknown_fields() const {
    return _internal_metadata_.unknown_fields<std::string>(::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString);
  }
  inline std::string* mutable_unknown_fields() {
    return _internal_metadata_.mutable_unknown_fields<std::string>();
  }

  static const GetCameraVideoDataCountResponse_Error& default_instance() {
    return *internal_default_instance();
  }
  enum ReasonCase {
    kValidation = 1,
    REASON_NOT_SET = 0,
  };

  static inline const GetCameraVideoDataCountResponse_Error* internal_default_instance() {
    return reinterpret_cast<const GetCameraVideoDataCountResponse_Error*>(
               &_GetCameraVideoDataCountResponse_Error_default_instance_);
  }
  static constexpr int kIndexInFileMessages =
    8;

  friend void swap(GetCameraVideoDataCountResponse_Error& a, GetCameraVideoDataCountResponse_Error& b) {
    a.Swap(&b);
  }
  inline void Swap(GetCameraVideoDataCountResponse_Error* other) {
    if (other == this) return;
  #ifdef PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() != nullptr &&
        GetOwningArena() == other->GetOwningArena()) {
   #else  // PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() == other->GetOwningArena()) {
  #endif  // !PROTOBUF_FORCE_COPY_IN_SWAP
      InternalSwap(other);
    } else {
      ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(GetCameraVideoDataCountResponse_Error* other) {
    if (other == this) return;
    ABSL_DCHECK(GetOwningArena() == other->GetOwningArena());
    InternalSwap(other);
  }

  // implements Message ----------------------------------------------

  GetCameraVideoDataCountResponse_Error* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final {
    return CreateMaybeMessage<GetCameraVideoDataCountResponse_Error>(arena);
  }
  void CheckTypeAndMergeFrom(const ::PROTOBUF_NAMESPACE_ID::MessageLite& from)  final;
  void CopyFrom(const GetCameraVideoDataCountResponse_Error& from);
  void MergeFrom(const GetCameraVideoDataCountResponse_Error& from);
  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
  bool IsInitialized() const final;

  ::size_t ByteSizeLong() const final;
  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
  ::uint8_t* _InternalSerialize(
      ::uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
  int GetCachedSize() const final { return _impl_._cached_size_.Get(); }

  private:
  void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
  void SharedDtor();
  void SetCachedSize(int size) const;
  void InternalSwap(GetCameraVideoDataCountResponse_Error* other);

  private:
  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
  static ::absl::string_view FullMessageName() {
    return "keyapis.vc.v1.GetCameraVideoDataCountResponse.Error";
  }
  protected:
  explicit GetCameraVideoDataCountResponse_Error(::PROTOBUF_NAMESPACE_ID::Arena* arena);
  public:

  std::string GetTypeName() const final;

  // nested types ----------------------------------------------------

  // accessors -------------------------------------------------------

  enum : int {
    kValidationFieldNumber = 1,
  };
  // .keyapis.vc.v1.ValidationError validation = 1;
  bool has_validation() const;
  private:
  bool _internal_has_validation() const;

  public:
  void clear_validation() ;
  const ::keyapis::vc::v1::ValidationError& validation() const;
  PROTOBUF_NODISCARD ::keyapis::vc::v1::ValidationError* release_validation();
  ::keyapis::vc::v1::ValidationError* mutable_validation();
  void set_allocated_validation(::keyapis::vc::v1::ValidationError* validation);
  private:
  const ::keyapis::vc::v1::ValidationError& _internal_validation() const;
  ::keyapis::vc::v1::ValidationError* _internal_mutable_validation();
  public:
  void unsafe_arena_set_allocated_validation(
      ::keyapis::vc::v1::ValidationError* validation);
  ::keyapis::vc::v1::ValidationError* unsafe_arena_release_validation();
  void clear_reason();
  ReasonCase reason_case() const;
  // @@protoc_insertion_point(class_scope:keyapis.vc.v1.GetCameraVideoDataCountResponse.Error)
 private:
  class _Internal;
  void set_has_validation();

  inline bool has_reason() const;
  inline void clear_has_reason();

  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
  typedef void InternalArenaConstructable_;
  typedef void DestructorSkippable_;
  struct Impl_ {
    union ReasonUnion {
      constexpr ReasonUnion() : _constinit_{} {}
        ::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized _constinit_;
      ::keyapis::vc::v1::ValidationError* validation_;
    } reason_;
    mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
    ::uint32_t _oneof_case_[1];

  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_keyapis_2fvc_2fv1_2fkeyapis_5fvc_5fcamera_5fvideo_5fdata_5fv1_2eproto;
};// -------------------------------------------------------------------

class GetCameraVideoDataCountResponse final :
    public ::PROTOBUF_NAMESPACE_ID::MessageLite /* @@protoc_insertion_point(class_definition:keyapis.vc.v1.GetCameraVideoDataCountResponse) */ {
 public:
  inline GetCameraVideoDataCountResponse() : GetCameraVideoDataCountResponse(nullptr) {}
  ~GetCameraVideoDataCountResponse() override;
  template<typename = void>
  explicit PROTOBUF_CONSTEXPR GetCameraVideoDataCountResponse(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);

  GetCameraVideoDataCountResponse(const GetCameraVideoDataCountResponse& from);
  GetCameraVideoDataCountResponse(GetCameraVideoDataCountResponse&& from) noexcept
    : GetCameraVideoDataCountResponse() {
    *this = ::std::move(from);
  }

  inline GetCameraVideoDataCountResponse& operator=(const GetCameraVideoDataCountResponse& from) {
    CopyFrom(from);
    return *this;
  }
  inline GetCameraVideoDataCountResponse& operator=(GetCameraVideoDataCountResponse&& from) noexcept {
    if (this == &from) return *this;
    if (GetOwningArena() == from.GetOwningArena()
  #ifdef PROTOBUF_FORCE_COPY_IN_MOVE
        && GetOwningArena() != nullptr
  #endif  // !PROTOBUF_FORCE_COPY_IN_MOVE
    ) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  inline const std::string& unknown_fields() const {
    return _internal_metadata_.unknown_fields<std::string>(::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString);
  }
  inline std::string* mutable_unknown_fields() {
    return _internal_metadata_.mutable_unknown_fields<std::string>();
  }

  static const GetCameraVideoDataCountResponse& default_instance() {
    return *internal_default_instance();
  }
  enum TypeCase {
    kData = 1,
    kError = 2,
    TYPE_NOT_SET = 0,
  };

  static inline const GetCameraVideoDataCountResponse* internal_default_instance() {
    return reinterpret_cast<const GetCameraVideoDataCountResponse*>(
               &_GetCameraVideoDataCountResponse_default_instance_);
  }
  static constexpr int kIndexInFileMessages =
    9;

  friend void swap(GetCameraVideoDataCountResponse& a, GetCameraVideoDataCountResponse& b) {
    a.Swap(&b);
  }
  inline void Swap(GetCameraVideoDataCountResponse* other) {
    if (other == this) return;
  #ifdef PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() != nullptr &&
        GetOwningArena() == other->GetOwningArena()) {
   #else  // PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() == other->GetOwningArena()) {
  #endif  // !PROTOBUF_FORCE_COPY_IN_SWAP
      InternalSwap(other);
    } else {
      ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(GetCameraVideoDataCountResponse* other) {
    if (other == this) return;
    ABSL_DCHECK(GetOwningArena() == other->GetOwningArena());
    InternalSwap(other);
  }

  // implements Message ----------------------------------------------

  GetCameraVideoDataCountResponse* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final {
    return CreateMaybeMessage<GetCameraVideoDataCountResponse>(arena);
  }
  void CheckTypeAndMergeFrom(const ::PROTOBUF_NAMESPACE_ID::MessageLite& from)  final;
  void CopyFrom(const GetCameraVideoDataCountResponse& from);
  void MergeFrom(const GetCameraVideoDataCountResponse& from);
  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
  bool IsInitialized() const final;

  ::size_t ByteSizeLong() const final;
  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
  ::uint8_t* _InternalSerialize(
      ::uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
  int GetCachedSize() const final { return _impl_._cached_size_.Get(); }

  private:
  void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
  void SharedDtor();
  void SetCachedSize(int size) const;
  void InternalSwap(GetCameraVideoDataCountResponse* other);

  private:
  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
  static ::absl::string_view FullMessageName() {
    return "keyapis.vc.v1.GetCameraVideoDataCountResponse";
  }
  protected:
  explicit GetCameraVideoDataCountResponse(::PROTOBUF_NAMESPACE_ID::Arena* arena);
  public:

  std::string GetTypeName() const final;

  // nested types ----------------------------------------------------

  typedef GetCameraVideoDataCountResponse_Error Error;

  // accessors -------------------------------------------------------

  enum : int {
    kDataFieldNumber = 1,
    kErrorFieldNumber = 2,
  };
  // int32 data = 1;
  bool has_data() const;
  void clear_data() ;
  ::int32_t data() const;
  void set_data(::int32_t value);

  private:
  ::int32_t _internal_data() const;
  void _internal_set_data(::int32_t value);

  public:
  // .keyapis.vc.v1.GetCameraVideoDataCountResponse.Error error = 2;
  bool has_error() const;
  private:
  bool _internal_has_error() const;

  public:
  void clear_error() ;
  const ::keyapis::vc::v1::GetCameraVideoDataCountResponse_Error& error() const;
  PROTOBUF_NODISCARD ::keyapis::vc::v1::GetCameraVideoDataCountResponse_Error* release_error();
  ::keyapis::vc::v1::GetCameraVideoDataCountResponse_Error* mutable_error();
  void set_allocated_error(::keyapis::vc::v1::GetCameraVideoDataCountResponse_Error* error);
  private:
  const ::keyapis::vc::v1::GetCameraVideoDataCountResponse_Error& _internal_error() const;
  ::keyapis::vc::v1::GetCameraVideoDataCountResponse_Error* _internal_mutable_error();
  public:
  void unsafe_arena_set_allocated_error(
      ::keyapis::vc::v1::GetCameraVideoDataCountResponse_Error* error);
  ::keyapis::vc::v1::GetCameraVideoDataCountResponse_Error* unsafe_arena_release_error();
  void clear_type();
  TypeCase type_case() const;
  // @@protoc_insertion_point(class_scope:keyapis.vc.v1.GetCameraVideoDataCountResponse)
 private:
  class _Internal;
  void set_has_data();
  void set_has_error();

  inline bool has_type() const;
  inline void clear_has_type();

  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
  typedef void InternalArenaConstructable_;
  typedef void DestructorSkippable_;
  struct Impl_ {
    union TypeUnion {
      constexpr TypeUnion() : _constinit_{} {}
        ::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized _constinit_;
      ::int32_t data_;
      ::keyapis::vc::v1::GetCameraVideoDataCountResponse_Error* error_;
    } type_;
    mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
    ::uint32_t _oneof_case_[1];

  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_keyapis_2fvc_2fv1_2fkeyapis_5fvc_5fcamera_5fvideo_5fdata_5fv1_2eproto;
};// -------------------------------------------------------------------

class GetCameraVideoDataListRequest final :
    public ::PROTOBUF_NAMESPACE_ID::MessageLite /* @@protoc_insertion_point(class_definition:keyapis.vc.v1.GetCameraVideoDataListRequest) */ {
 public:
  inline GetCameraVideoDataListRequest() : GetCameraVideoDataListRequest(nullptr) {}
  ~GetCameraVideoDataListRequest() override;
  template<typename = void>
  explicit PROTOBUF_CONSTEXPR GetCameraVideoDataListRequest(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);

  GetCameraVideoDataListRequest(const GetCameraVideoDataListRequest& from);
  GetCameraVideoDataListRequest(GetCameraVideoDataListRequest&& from) noexcept
    : GetCameraVideoDataListRequest() {
    *this = ::std::move(from);
  }

  inline GetCameraVideoDataListRequest& operator=(const GetCameraVideoDataListRequest& from) {
    CopyFrom(from);
    return *this;
  }
  inline GetCameraVideoDataListRequest& operator=(GetCameraVideoDataListRequest&& from) noexcept {
    if (this == &from) return *this;
    if (GetOwningArena() == from.GetOwningArena()
  #ifdef PROTOBUF_FORCE_COPY_IN_MOVE
        && GetOwningArena() != nullptr
  #endif  // !PROTOBUF_FORCE_COPY_IN_MOVE
    ) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  inline const std::string& unknown_fields() const {
    return _internal_metadata_.unknown_fields<std::string>(::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString);
  }
  inline std::string* mutable_unknown_fields() {
    return _internal_metadata_.mutable_unknown_fields<std::string>();
  }

  static const GetCameraVideoDataListRequest& default_instance() {
    return *internal_default_instance();
  }
  enum PaginationCase {
    kPaging = 3,
    PAGINATION_NOT_SET = 0,
  };

  static inline const GetCameraVideoDataListRequest* internal_default_instance() {
    return reinterpret_cast<const GetCameraVideoDataListRequest*>(
               &_GetCameraVideoDataListRequest_default_instance_);
  }
  static constexpr int kIndexInFileMessages =
    10;

  friend void swap(GetCameraVideoDataListRequest& a, GetCameraVideoDataListRequest& b) {
    a.Swap(&b);
  }
  inline void Swap(GetCameraVideoDataListRequest* other) {
    if (other == this) return;
  #ifdef PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() != nullptr &&
        GetOwningArena() == other->GetOwningArena()) {
   #else  // PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() == other->GetOwningArena()) {
  #endif  // !PROTOBUF_FORCE_COPY_IN_SWAP
      InternalSwap(other);
    } else {
      ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(GetCameraVideoDataListRequest* other) {
    if (other == this) return;
    ABSL_DCHECK(GetOwningArena() == other->GetOwningArena());
    InternalSwap(other);
  }

  // implements Message ----------------------------------------------

  GetCameraVideoDataListRequest* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final {
    return CreateMaybeMessage<GetCameraVideoDataListRequest>(arena);
  }
  void CheckTypeAndMergeFrom(const ::PROTOBUF_NAMESPACE_ID::MessageLite& from)  final;
  void CopyFrom(const GetCameraVideoDataListRequest& from);
  void MergeFrom(const GetCameraVideoDataListRequest& from);
  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
  bool IsInitialized() const final;

  ::size_t ByteSizeLong() const final;
  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
  ::uint8_t* _InternalSerialize(
      ::uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
  int GetCachedSize() const final { return _impl_._cached_size_.Get(); }

  private:
  void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
  void SharedDtor();
  void SetCachedSize(int size) const;
  void InternalSwap(GetCameraVideoDataListRequest* other);

  private:
  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
  static ::absl::string_view FullMessageName() {
    return "keyapis.vc.v1.GetCameraVideoDataListRequest";
  }
  protected:
  explicit GetCameraVideoDataListRequest(::PROTOBUF_NAMESPACE_ID::Arena* arena);
  public:

  std::string GetTypeName() const final;

  // nested types ----------------------------------------------------

  // accessors -------------------------------------------------------

  enum : int {
    kScopeFieldNumber = 1,
    kFilterFieldNumber = 2,
    kPagingFieldNumber = 3,
  };
  // .keyapis.vc.v1.CameraVideoDataScope scope = 1;
  bool has_scope() const;
  void clear_scope() ;
  const ::keyapis::vc::v1::CameraVideoDataScope& scope() const;
  PROTOBUF_NODISCARD ::keyapis::vc::v1::CameraVideoDataScope* release_scope();
  ::keyapis::vc::v1::CameraVideoDataScope* mutable_scope();
  void set_allocated_scope(::keyapis::vc::v1::CameraVideoDataScope* scope);
  private:
  const ::keyapis::vc::v1::CameraVideoDataScope& _internal_scope() const;
  ::keyapis::vc::v1::CameraVideoDataScope* _internal_mutable_scope();
  public:
  void unsafe_arena_set_allocated_scope(
      ::keyapis::vc::v1::CameraVideoDataScope* scope);
  ::keyapis::vc::v1::CameraVideoDataScope* unsafe_arena_release_scope();
  // .keyapis.vc.v1.CameraVideoDataFilter filter = 2;
  bool has_filter() const;
  void clear_filter() ;
  const ::keyapis::vc::v1::CameraVideoDataFilter& filter() const;
  PROTOBUF_NODISCARD ::keyapis::vc::v1::CameraVideoDataFilter* release_filter();
  ::keyapis::vc::v1::CameraVideoDataFilter* mutable_filter();
  void set_allocated_filter(::keyapis::vc::v1::CameraVideoDataFilter* filter);
  private:
  const ::keyapis::vc::v1::CameraVideoDataFilter& _internal_filter() const;
  ::keyapis::vc::v1::CameraVideoDataFilter* _internal_mutable_filter();
  public:
  void unsafe_arena_set_allocated_filter(
      ::keyapis::vc::v1::CameraVideoDataFilter* filter);
  ::keyapis::vc::v1::CameraVideoDataFilter* unsafe_arena_release_filter();
  // .keyapis.vc.v1.CameraVideoDataPaging paging = 3;
  bool has_paging() const;
  private:
  bool _internal_has_paging() const;

  public:
  void clear_paging() ;
  const ::keyapis::vc::v1::CameraVideoDataPaging& paging() const;
  PROTOBUF_NODISCARD ::keyapis::vc::v1::CameraVideoDataPaging* release_paging();
  ::keyapis::vc::v1::CameraVideoDataPaging* mutable_paging();
  void set_allocated_paging(::keyapis::vc::v1::CameraVideoDataPaging* paging);
  private:
  const ::keyapis::vc::v1::CameraVideoDataPaging& _internal_paging() const;
  ::keyapis::vc::v1::CameraVideoDataPaging* _internal_mutable_paging();
  public:
  void unsafe_arena_set_allocated_paging(
      ::keyapis::vc::v1::CameraVideoDataPaging* paging);
  ::keyapis::vc::v1::CameraVideoDataPaging* unsafe_arena_release_paging();
  void clear_pagination();
  PaginationCase pagination_case() const;
  // @@protoc_insertion_point(class_scope:keyapis.vc.v1.GetCameraVideoDataListRequest)
 private:
  class _Internal;
  void set_has_paging();

  inline bool has_pagination() const;
  inline void clear_has_pagination();

  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
  typedef void InternalArenaConstructable_;
  typedef void DestructorSkippable_;
  struct Impl_ {
    ::PROTOBUF_NAMESPACE_ID::internal::HasBits<1> _has_bits_;
    mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
    ::keyapis::vc::v1::CameraVideoDataScope* scope_;
    ::keyapis::vc::v1::CameraVideoDataFilter* filter_;
    union PaginationUnion {
      constexpr PaginationUnion() : _constinit_{} {}
        ::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized _constinit_;
      ::keyapis::vc::v1::CameraVideoDataPaging* paging_;
    } pagination_;
    ::uint32_t _oneof_case_[1];

  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_keyapis_2fvc_2fv1_2fkeyapis_5fvc_5fcamera_5fvideo_5fdata_5fv1_2eproto;
};// -------------------------------------------------------------------

class GetCameraVideoDataListResponse_Error final :
    public ::PROTOBUF_NAMESPACE_ID::MessageLite /* @@protoc_insertion_point(class_definition:keyapis.vc.v1.GetCameraVideoDataListResponse.Error) */ {
 public:
  inline GetCameraVideoDataListResponse_Error() : GetCameraVideoDataListResponse_Error(nullptr) {}
  ~GetCameraVideoDataListResponse_Error() override;
  template<typename = void>
  explicit PROTOBUF_CONSTEXPR GetCameraVideoDataListResponse_Error(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);

  GetCameraVideoDataListResponse_Error(const GetCameraVideoDataListResponse_Error& from);
  GetCameraVideoDataListResponse_Error(GetCameraVideoDataListResponse_Error&& from) noexcept
    : GetCameraVideoDataListResponse_Error() {
    *this = ::std::move(from);
  }

  inline GetCameraVideoDataListResponse_Error& operator=(const GetCameraVideoDataListResponse_Error& from) {
    CopyFrom(from);
    return *this;
  }
  inline GetCameraVideoDataListResponse_Error& operator=(GetCameraVideoDataListResponse_Error&& from) noexcept {
    if (this == &from) return *this;
    if (GetOwningArena() == from.GetOwningArena()
  #ifdef PROTOBUF_FORCE_COPY_IN_MOVE
        && GetOwningArena() != nullptr
  #endif  // !PROTOBUF_FORCE_COPY_IN_MOVE
    ) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  inline const std::string& unknown_fields() const {
    return _internal_metadata_.unknown_fields<std::string>(::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString);
  }
  inline std::string* mutable_unknown_fields() {
    return _internal_metadata_.mutable_unknown_fields<std::string>();
  }

  static const GetCameraVideoDataListResponse_Error& default_instance() {
    return *internal_default_instance();
  }
  enum ReasonCase {
    kValidation = 1,
    REASON_NOT_SET = 0,
  };

  static inline const GetCameraVideoDataListResponse_Error* internal_default_instance() {
    return reinterpret_cast<const GetCameraVideoDataListResponse_Error*>(
               &_GetCameraVideoDataListResponse_Error_default_instance_);
  }
  static constexpr int kIndexInFileMessages =
    11;

  friend void swap(GetCameraVideoDataListResponse_Error& a, GetCameraVideoDataListResponse_Error& b) {
    a.Swap(&b);
  }
  inline void Swap(GetCameraVideoDataListResponse_Error* other) {
    if (other == this) return;
  #ifdef PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() != nullptr &&
        GetOwningArena() == other->GetOwningArena()) {
   #else  // PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() == other->GetOwningArena()) {
  #endif  // !PROTOBUF_FORCE_COPY_IN_SWAP
      InternalSwap(other);
    } else {
      ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(GetCameraVideoDataListResponse_Error* other) {
    if (other == this) return;
    ABSL_DCHECK(GetOwningArena() == other->GetOwningArena());
    InternalSwap(other);
  }

  // implements Message ----------------------------------------------

  GetCameraVideoDataListResponse_Error* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final {
    return CreateMaybeMessage<GetCameraVideoDataListResponse_Error>(arena);
  }
  void CheckTypeAndMergeFrom(const ::PROTOBUF_NAMESPACE_ID::MessageLite& from)  final;
  void CopyFrom(const GetCameraVideoDataListResponse_Error& from);
  void MergeFrom(const GetCameraVideoDataListResponse_Error& from);
  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
  bool IsInitialized() const final;

  ::size_t ByteSizeLong() const final;
  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
  ::uint8_t* _InternalSerialize(
      ::uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
  int GetCachedSize() const final { return _impl_._cached_size_.Get(); }

  private:
  void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
  void SharedDtor();
  void SetCachedSize(int size) const;
  void InternalSwap(GetCameraVideoDataListResponse_Error* other);

  private:
  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
  static ::absl::string_view FullMessageName() {
    return "keyapis.vc.v1.GetCameraVideoDataListResponse.Error";
  }
  protected:
  explicit GetCameraVideoDataListResponse_Error(::PROTOBUF_NAMESPACE_ID::Arena* arena);
  public:

  std::string GetTypeName() const final;

  // nested types ----------------------------------------------------

  // accessors -------------------------------------------------------

  enum : int {
    kValidationFieldNumber = 1,
  };
  // .keyapis.vc.v1.ValidationError validation = 1;
  bool has_validation() const;
  private:
  bool _internal_has_validation() const;

  public:
  void clear_validation() ;
  const ::keyapis::vc::v1::ValidationError& validation() const;
  PROTOBUF_NODISCARD ::keyapis::vc::v1::ValidationError* release_validation();
  ::keyapis::vc::v1::ValidationError* mutable_validation();
  void set_allocated_validation(::keyapis::vc::v1::ValidationError* validation);
  private:
  const ::keyapis::vc::v1::ValidationError& _internal_validation() const;
  ::keyapis::vc::v1::ValidationError* _internal_mutable_validation();
  public:
  void unsafe_arena_set_allocated_validation(
      ::keyapis::vc::v1::ValidationError* validation);
  ::keyapis::vc::v1::ValidationError* unsafe_arena_release_validation();
  void clear_reason();
  ReasonCase reason_case() const;
  // @@protoc_insertion_point(class_scope:keyapis.vc.v1.GetCameraVideoDataListResponse.Error)
 private:
  class _Internal;
  void set_has_validation();

  inline bool has_reason() const;
  inline void clear_has_reason();

  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
  typedef void InternalArenaConstructable_;
  typedef void DestructorSkippable_;
  struct Impl_ {
    union ReasonUnion {
      constexpr ReasonUnion() : _constinit_{} {}
        ::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized _constinit_;
      ::keyapis::vc::v1::ValidationError* validation_;
    } reason_;
    mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
    ::uint32_t _oneof_case_[1];

  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_keyapis_2fvc_2fv1_2fkeyapis_5fvc_5fcamera_5fvideo_5fdata_5fv1_2eproto;
};// -------------------------------------------------------------------

class GetCameraVideoDataListResponse final :
    public ::PROTOBUF_NAMESPACE_ID::MessageLite /* @@protoc_insertion_point(class_definition:keyapis.vc.v1.GetCameraVideoDataListResponse) */ {
 public:
  inline GetCameraVideoDataListResponse() : GetCameraVideoDataListResponse(nullptr) {}
  ~GetCameraVideoDataListResponse() override;
  template<typename = void>
  explicit PROTOBUF_CONSTEXPR GetCameraVideoDataListResponse(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);

  GetCameraVideoDataListResponse(const GetCameraVideoDataListResponse& from);
  GetCameraVideoDataListResponse(GetCameraVideoDataListResponse&& from) noexcept
    : GetCameraVideoDataListResponse() {
    *this = ::std::move(from);
  }

  inline GetCameraVideoDataListResponse& operator=(const GetCameraVideoDataListResponse& from) {
    CopyFrom(from);
    return *this;
  }
  inline GetCameraVideoDataListResponse& operator=(GetCameraVideoDataListResponse&& from) noexcept {
    if (this == &from) return *this;
    if (GetOwningArena() == from.GetOwningArena()
  #ifdef PROTOBUF_FORCE_COPY_IN_MOVE
        && GetOwningArena() != nullptr
  #endif  // !PROTOBUF_FORCE_COPY_IN_MOVE
    ) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  inline const std::string& unknown_fields() const {
    return _internal_metadata_.unknown_fields<std::string>(::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString);
  }
  inline std::string* mutable_unknown_fields() {
    return _internal_metadata_.mutable_unknown_fields<std::string>();
  }

  static const GetCameraVideoDataListResponse& default_instance() {
    return *internal_default_instance();
  }
  static inline const GetCameraVideoDataListResponse* internal_default_instance() {
    return reinterpret_cast<const GetCameraVideoDataListResponse*>(
               &_GetCameraVideoDataListResponse_default_instance_);
  }
  static constexpr int kIndexInFileMessages =
    12;

  friend void swap(GetCameraVideoDataListResponse& a, GetCameraVideoDataListResponse& b) {
    a.Swap(&b);
  }
  inline void Swap(GetCameraVideoDataListResponse* other) {
    if (other == this) return;
  #ifdef PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() != nullptr &&
        GetOwningArena() == other->GetOwningArena()) {
   #else  // PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() == other->GetOwningArena()) {
  #endif  // !PROTOBUF_FORCE_COPY_IN_SWAP
      InternalSwap(other);
    } else {
      ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(GetCameraVideoDataListResponse* other) {
    if (other == this) return;
    ABSL_DCHECK(GetOwningArena() == other->GetOwningArena());
    InternalSwap(other);
  }

  // implements Message ----------------------------------------------

  GetCameraVideoDataListResponse* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final {
    return CreateMaybeMessage<GetCameraVideoDataListResponse>(arena);
  }
  void CheckTypeAndMergeFrom(const ::PROTOBUF_NAMESPACE_ID::MessageLite& from)  final;
  void CopyFrom(const GetCameraVideoDataListResponse& from);
  void MergeFrom(const GetCameraVideoDataListResponse& from);
  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
  bool IsInitialized() const final;

  ::size_t ByteSizeLong() const final;
  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
  ::uint8_t* _InternalSerialize(
      ::uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
  int GetCachedSize() const final { return _impl_._cached_size_.Get(); }

  private:
  void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
  void SharedDtor();
  void SetCachedSize(int size) const;
  void InternalSwap(GetCameraVideoDataListResponse* other);

  private:
  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
  static ::absl::string_view FullMessageName() {
    return "keyapis.vc.v1.GetCameraVideoDataListResponse";
  }
  protected:
  explicit GetCameraVideoDataListResponse(::PROTOBUF_NAMESPACE_ID::Arena* arena);
  public:

  std::string GetTypeName() const final;

  // nested types ----------------------------------------------------

  typedef GetCameraVideoDataListResponse_Error Error;

  // accessors -------------------------------------------------------

  enum : int {
    kDataFieldNumber = 1,
    kErrorFieldNumber = 2,
  };
  // repeated .keyapis.vc.v1.CameraVideoData data = 1;
  int data_size() const;
  private:
  int _internal_data_size() const;

  public:
  void clear_data() ;
  ::keyapis::vc::v1::CameraVideoData* mutable_data(int index);
  ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::keyapis::vc::v1::CameraVideoData >*
      mutable_data();
  private:
  const ::keyapis::vc::v1::CameraVideoData& _internal_data(int index) const;
  ::keyapis::vc::v1::CameraVideoData* _internal_add_data();
  const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField<::keyapis::vc::v1::CameraVideoData>& _internal_data() const;
  ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField<::keyapis::vc::v1::CameraVideoData>* _internal_mutable_data();
  public:
  const ::keyapis::vc::v1::CameraVideoData& data(int index) const;
  ::keyapis::vc::v1::CameraVideoData* add_data();
  const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::keyapis::vc::v1::CameraVideoData >&
      data() const;
  // .keyapis.vc.v1.GetCameraVideoDataListResponse.Error error = 2;
  bool has_error() const;
  void clear_error() ;
  const ::keyapis::vc::v1::GetCameraVideoDataListResponse_Error& error() const;
  PROTOBUF_NODISCARD ::keyapis::vc::v1::GetCameraVideoDataListResponse_Error* release_error();
  ::keyapis::vc::v1::GetCameraVideoDataListResponse_Error* mutable_error();
  void set_allocated_error(::keyapis::vc::v1::GetCameraVideoDataListResponse_Error* error);
  private:
  const ::keyapis::vc::v1::GetCameraVideoDataListResponse_Error& _internal_error() const;
  ::keyapis::vc::v1::GetCameraVideoDataListResponse_Error* _internal_mutable_error();
  public:
  void unsafe_arena_set_allocated_error(
      ::keyapis::vc::v1::GetCameraVideoDataListResponse_Error* error);
  ::keyapis::vc::v1::GetCameraVideoDataListResponse_Error* unsafe_arena_release_error();
  // @@protoc_insertion_point(class_scope:keyapis.vc.v1.GetCameraVideoDataListResponse)
 private:
  class _Internal;

  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
  typedef void InternalArenaConstructable_;
  typedef void DestructorSkippable_;
  struct Impl_ {
    ::PROTOBUF_NAMESPACE_ID::internal::HasBits<1> _has_bits_;
    mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
    ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::keyapis::vc::v1::CameraVideoData > data_;
    ::keyapis::vc::v1::GetCameraVideoDataListResponse_Error* error_;
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_keyapis_2fvc_2fv1_2fkeyapis_5fvc_5fcamera_5fvideo_5fdata_5fv1_2eproto;
};

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




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


#ifdef __GNUC__
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wstrict-aliasing"
#endif  // __GNUC__
// -------------------------------------------------------------------

// CameraVideoData_Category

// int32 id = 1 [(.google.api.field_behavior) = REQUIRED];
inline void CameraVideoData_Category::clear_id() {
  _impl_.id_ = 0;
}
inline ::int32_t CameraVideoData_Category::id() const {
  // @@protoc_insertion_point(field_get:keyapis.vc.v1.CameraVideoData.Category.id)
  return _internal_id();
}
inline void CameraVideoData_Category::set_id(::int32_t value) {
  _internal_set_id(value);
  // @@protoc_insertion_point(field_set:keyapis.vc.v1.CameraVideoData.Category.id)
}
inline ::int32_t CameraVideoData_Category::_internal_id() const {
  return _impl_.id_;
}
inline void CameraVideoData_Category::_internal_set_id(::int32_t value) {
  ;
  _impl_.id_ = value;
}

// string type = 2 [(.google.api.field_behavior) = REQUIRED];
inline void CameraVideoData_Category::clear_type() {
  _impl_.type_.ClearToEmpty();
}
inline const std::string& CameraVideoData_Category::type() const {
  // @@protoc_insertion_point(field_get:keyapis.vc.v1.CameraVideoData.Category.type)
  return _internal_type();
}
template <typename Arg_, typename... Args_>
inline PROTOBUF_ALWAYS_INLINE void CameraVideoData_Category::set_type(Arg_&& arg,
                                                     Args_... args) {
  ;
  _impl_.type_.Set(static_cast<Arg_&&>(arg), args..., GetArenaForAllocation());
  // @@protoc_insertion_point(field_set:keyapis.vc.v1.CameraVideoData.Category.type)
}
inline std::string* CameraVideoData_Category::mutable_type() {
  std::string* _s = _internal_mutable_type();
  // @@protoc_insertion_point(field_mutable:keyapis.vc.v1.CameraVideoData.Category.type)
  return _s;
}
inline const std::string& CameraVideoData_Category::_internal_type() const {
  return _impl_.type_.Get();
}
inline void CameraVideoData_Category::_internal_set_type(const std::string& value) {
  ;


  _impl_.type_.Set(value, GetArenaForAllocation());
}
inline std::string* CameraVideoData_Category::_internal_mutable_type() {
  ;
  return _impl_.type_.Mutable( GetArenaForAllocation());
}
inline std::string* CameraVideoData_Category::release_type() {
  // @@protoc_insertion_point(field_release:keyapis.vc.v1.CameraVideoData.Category.type)
  return _impl_.type_.Release();
}
inline void CameraVideoData_Category::set_allocated_type(std::string* value) {
  _impl_.type_.SetAllocated(value, GetArenaForAllocation());
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
        if (_impl_.type_.IsDefault()) {
          _impl_.type_.Set("", GetArenaForAllocation());
        }
  #endif  // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  // @@protoc_insertion_point(field_set_allocated:keyapis.vc.v1.CameraVideoData.Category.type)
}

// string title = 3 [(.google.api.field_behavior) = REQUIRED];
inline void CameraVideoData_Category::clear_title() {
  _impl_.title_.ClearToEmpty();
}
inline const std::string& CameraVideoData_Category::title() const {
  // @@protoc_insertion_point(field_get:keyapis.vc.v1.CameraVideoData.Category.title)
  return _internal_title();
}
template <typename Arg_, typename... Args_>
inline PROTOBUF_ALWAYS_INLINE void CameraVideoData_Category::set_title(Arg_&& arg,
                                                     Args_... args) {
  ;
  _impl_.title_.Set(static_cast<Arg_&&>(arg), args..., GetArenaForAllocation());
  // @@protoc_insertion_point(field_set:keyapis.vc.v1.CameraVideoData.Category.title)
}
inline std::string* CameraVideoData_Category::mutable_title() {
  std::string* _s = _internal_mutable_title();
  // @@protoc_insertion_point(field_mutable:keyapis.vc.v1.CameraVideoData.Category.title)
  return _s;
}
inline const std::string& CameraVideoData_Category::_internal_title() const {
  return _impl_.title_.Get();
}
inline void CameraVideoData_Category::_internal_set_title(const std::string& value) {
  ;


  _impl_.title_.Set(value, GetArenaForAllocation());
}
inline std::string* CameraVideoData_Category::_internal_mutable_title() {
  ;
  return _impl_.title_.Mutable( GetArenaForAllocation());
}
inline std::string* CameraVideoData_Category::release_title() {
  // @@protoc_insertion_point(field_release:keyapis.vc.v1.CameraVideoData.Category.title)
  return _impl_.title_.Release();
}
inline void CameraVideoData_Category::set_allocated_title(std::string* value) {
  _impl_.title_.SetAllocated(value, GetArenaForAllocation());
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
        if (_impl_.title_.IsDefault()) {
          _impl_.title_.Set("", GetArenaForAllocation());
        }
  #endif  // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  // @@protoc_insertion_point(field_set_allocated:keyapis.vc.v1.CameraVideoData.Category.title)
}

// -------------------------------------------------------------------

// CameraVideoData_Location

// double lat = 1 [(.google.api.field_behavior) = REQUIRED];
inline void CameraVideoData_Location::clear_lat() {
  _impl_.lat_ = 0;
}
inline double CameraVideoData_Location::lat() const {
  // @@protoc_insertion_point(field_get:keyapis.vc.v1.CameraVideoData.Location.lat)
  return _internal_lat();
}
inline void CameraVideoData_Location::set_lat(double value) {
  _internal_set_lat(value);
  // @@protoc_insertion_point(field_set:keyapis.vc.v1.CameraVideoData.Location.lat)
}
inline double CameraVideoData_Location::_internal_lat() const {
  return _impl_.lat_;
}
inline void CameraVideoData_Location::_internal_set_lat(double value) {
  ;
  _impl_.lat_ = value;
}

// double lng = 2 [(.google.api.field_behavior) = REQUIRED];
inline void CameraVideoData_Location::clear_lng() {
  _impl_.lng_ = 0;
}
inline double CameraVideoData_Location::lng() const {
  // @@protoc_insertion_point(field_get:keyapis.vc.v1.CameraVideoData.Location.lng)
  return _internal_lng();
}
inline void CameraVideoData_Location::set_lng(double value) {
  _internal_set_lng(value);
  // @@protoc_insertion_point(field_set:keyapis.vc.v1.CameraVideoData.Location.lng)
}
inline double CameraVideoData_Location::_internal_lng() const {
  return _impl_.lng_;
}
inline void CameraVideoData_Location::_internal_set_lng(double value) {
  ;
  _impl_.lng_ = value;
}

// -------------------------------------------------------------------

// CameraVideoData_Status

// int32 id = 1 [(.google.api.field_behavior) = REQUIRED];
inline void CameraVideoData_Status::clear_id() {
  _impl_.id_ = 0;
}
inline ::int32_t CameraVideoData_Status::id() const {
  // @@protoc_insertion_point(field_get:keyapis.vc.v1.CameraVideoData.Status.id)
  return _internal_id();
}
inline void CameraVideoData_Status::set_id(::int32_t value) {
  _internal_set_id(value);
  // @@protoc_insertion_point(field_set:keyapis.vc.v1.CameraVideoData.Status.id)
}
inline ::int32_t CameraVideoData_Status::_internal_id() const {
  return _impl_.id_;
}
inline void CameraVideoData_Status::_internal_set_id(::int32_t value) {
  ;
  _impl_.id_ = value;
}

// string type = 2 [(.google.api.field_behavior) = REQUIRED];
inline void CameraVideoData_Status::clear_type() {
  _impl_.type_.ClearToEmpty();
}
inline const std::string& CameraVideoData_Status::type() const {
  // @@protoc_insertion_point(field_get:keyapis.vc.v1.CameraVideoData.Status.type)
  return _internal_type();
}
template <typename Arg_, typename... Args_>
inline PROTOBUF_ALWAYS_INLINE void CameraVideoData_Status::set_type(Arg_&& arg,
                                                     Args_... args) {
  ;
  _impl_.type_.Set(static_cast<Arg_&&>(arg), args..., GetArenaForAllocation());
  // @@protoc_insertion_point(field_set:keyapis.vc.v1.CameraVideoData.Status.type)
}
inline std::string* CameraVideoData_Status::mutable_type() {
  std::string* _s = _internal_mutable_type();
  // @@protoc_insertion_point(field_mutable:keyapis.vc.v1.CameraVideoData.Status.type)
  return _s;
}
inline const std::string& CameraVideoData_Status::_internal_type() const {
  return _impl_.type_.Get();
}
inline void CameraVideoData_Status::_internal_set_type(const std::string& value) {
  ;


  _impl_.type_.Set(value, GetArenaForAllocation());
}
inline std::string* CameraVideoData_Status::_internal_mutable_type() {
  ;
  return _impl_.type_.Mutable( GetArenaForAllocation());
}
inline std::string* CameraVideoData_Status::release_type() {
  // @@protoc_insertion_point(field_release:keyapis.vc.v1.CameraVideoData.Status.type)
  return _impl_.type_.Release();
}
inline void CameraVideoData_Status::set_allocated_type(std::string* value) {
  _impl_.type_.SetAllocated(value, GetArenaForAllocation());
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
        if (_impl_.type_.IsDefault()) {
          _impl_.type_.Set("", GetArenaForAllocation());
        }
  #endif  // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  // @@protoc_insertion_point(field_set_allocated:keyapis.vc.v1.CameraVideoData.Status.type)
}

// string title = 3 [(.google.api.field_behavior) = REQUIRED];
inline void CameraVideoData_Status::clear_title() {
  _impl_.title_.ClearToEmpty();
}
inline const std::string& CameraVideoData_Status::title() const {
  // @@protoc_insertion_point(field_get:keyapis.vc.v1.CameraVideoData.Status.title)
  return _internal_title();
}
template <typename Arg_, typename... Args_>
inline PROTOBUF_ALWAYS_INLINE void CameraVideoData_Status::set_title(Arg_&& arg,
                                                     Args_... args) {
  ;
  _impl_.title_.Set(static_cast<Arg_&&>(arg), args..., GetArenaForAllocation());
  // @@protoc_insertion_point(field_set:keyapis.vc.v1.CameraVideoData.Status.title)
}
inline std::string* CameraVideoData_Status::mutable_title() {
  std::string* _s = _internal_mutable_title();
  // @@protoc_insertion_point(field_mutable:keyapis.vc.v1.CameraVideoData.Status.title)
  return _s;
}
inline const std::string& CameraVideoData_Status::_internal_title() const {
  return _impl_.title_.Get();
}
inline void CameraVideoData_Status::_internal_set_title(const std::string& value) {
  ;


  _impl_.title_.Set(value, GetArenaForAllocation());
}
inline std::string* CameraVideoData_Status::_internal_mutable_title() {
  ;
  return _impl_.title_.Mutable( GetArenaForAllocation());
}
inline std::string* CameraVideoData_Status::release_title() {
  // @@protoc_insertion_point(field_release:keyapis.vc.v1.CameraVideoData.Status.title)
  return _impl_.title_.Release();
}
inline void CameraVideoData_Status::set_allocated_title(std::string* value) {
  _impl_.title_.SetAllocated(value, GetArenaForAllocation());
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
        if (_impl_.title_.IsDefault()) {
          _impl_.title_.Set("", GetArenaForAllocation());
        }
  #endif  // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  // @@protoc_insertion_point(field_set_allocated:keyapis.vc.v1.CameraVideoData.Status.title)
}

// -------------------------------------------------------------------

// CameraVideoData

// string uid = 1 [(.google.api.field_behavior) = REQUIRED];
inline void CameraVideoData::clear_uid() {
  _impl_.uid_.ClearToEmpty();
}
inline const std::string& CameraVideoData::uid() const {
  // @@protoc_insertion_point(field_get:keyapis.vc.v1.CameraVideoData.uid)
  return _internal_uid();
}
template <typename Arg_, typename... Args_>
inline PROTOBUF_ALWAYS_INLINE void CameraVideoData::set_uid(Arg_&& arg,
                                                     Args_... args) {
  ;
  _impl_.uid_.Set(static_cast<Arg_&&>(arg), args..., GetArenaForAllocation());
  // @@protoc_insertion_point(field_set:keyapis.vc.v1.CameraVideoData.uid)
}
inline std::string* CameraVideoData::mutable_uid() {
  std::string* _s = _internal_mutable_uid();
  // @@protoc_insertion_point(field_mutable:keyapis.vc.v1.CameraVideoData.uid)
  return _s;
}
inline const std::string& CameraVideoData::_internal_uid() const {
  return _impl_.uid_.Get();
}
inline void CameraVideoData::_internal_set_uid(const std::string& value) {
  ;


  _impl_.uid_.Set(value, GetArenaForAllocation());
}
inline std::string* CameraVideoData::_internal_mutable_uid() {
  ;
  return _impl_.uid_.Mutable( GetArenaForAllocation());
}
inline std::string* CameraVideoData::release_uid() {
  // @@protoc_insertion_point(field_release:keyapis.vc.v1.CameraVideoData.uid)
  return _impl_.uid_.Release();
}
inline void CameraVideoData::set_allocated_uid(std::string* value) {
  _impl_.uid_.SetAllocated(value, GetArenaForAllocation());
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
        if (_impl_.uid_.IsDefault()) {
          _impl_.uid_.Set("", GetArenaForAllocation());
        }
  #endif  // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  // @@protoc_insertion_point(field_set_allocated:keyapis.vc.v1.CameraVideoData.uid)
}

// .keyapis.vc.v1.CameraVideoData.Category category = 2;
inline bool CameraVideoData::has_category() const {
  bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0;
  PROTOBUF_ASSUME(!value || _impl_.category_ != nullptr);
  return value;
}
inline void CameraVideoData::clear_category() {
  if (_impl_.category_ != nullptr) _impl_.category_->Clear();
  _impl_._has_bits_[0] &= ~0x00000001u;
}
inline const ::keyapis::vc::v1::CameraVideoData_Category& CameraVideoData::_internal_category() const {
  const ::keyapis::vc::v1::CameraVideoData_Category* p = _impl_.category_;
  return p != nullptr ? *p : reinterpret_cast<const ::keyapis::vc::v1::CameraVideoData_Category&>(
      ::keyapis::vc::v1::_CameraVideoData_Category_default_instance_);
}
inline const ::keyapis::vc::v1::CameraVideoData_Category& CameraVideoData::category() const {
  // @@protoc_insertion_point(field_get:keyapis.vc.v1.CameraVideoData.category)
  return _internal_category();
}
inline void CameraVideoData::unsafe_arena_set_allocated_category(
    ::keyapis::vc::v1::CameraVideoData_Category* category) {
  if (GetArenaForAllocation() == nullptr) {
    delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.category_);
  }
  _impl_.category_ = category;
  if (category) {
    _impl_._has_bits_[0] |= 0x00000001u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000001u;
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:keyapis.vc.v1.CameraVideoData.category)
}
inline ::keyapis::vc::v1::CameraVideoData_Category* CameraVideoData::release_category() {
  _impl_._has_bits_[0] &= ~0x00000001u;
  ::keyapis::vc::v1::CameraVideoData_Category* temp = _impl_.category_;
  _impl_.category_ = nullptr;
#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE
  auto* old =  reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp);
  temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
  if (GetArenaForAllocation() == nullptr) { delete old; }
#else  // PROTOBUF_FORCE_COPY_IN_RELEASE
  if (GetArenaForAllocation() != nullptr) {
    temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
  }
#endif  // !PROTOBUF_FORCE_COPY_IN_RELEASE
  return temp;
}
inline ::keyapis::vc::v1::CameraVideoData_Category* CameraVideoData::unsafe_arena_release_category() {
  // @@protoc_insertion_point(field_release:keyapis.vc.v1.CameraVideoData.category)
  _impl_._has_bits_[0] &= ~0x00000001u;
  ::keyapis::vc::v1::CameraVideoData_Category* temp = _impl_.category_;
  _impl_.category_ = nullptr;
  return temp;
}
inline ::keyapis::vc::v1::CameraVideoData_Category* CameraVideoData::_internal_mutable_category() {
  _impl_._has_bits_[0] |= 0x00000001u;
  if (_impl_.category_ == nullptr) {
    auto* p = CreateMaybeMessage<::keyapis::vc::v1::CameraVideoData_Category>(GetArenaForAllocation());
    _impl_.category_ = p;
  }
  return _impl_.category_;
}
inline ::keyapis::vc::v1::CameraVideoData_Category* CameraVideoData::mutable_category() {
  ::keyapis::vc::v1::CameraVideoData_Category* _msg = _internal_mutable_category();
  // @@protoc_insertion_point(field_mutable:keyapis.vc.v1.CameraVideoData.category)
  return _msg;
}
inline void CameraVideoData::set_allocated_category(::keyapis::vc::v1::CameraVideoData_Category* category) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation();
  if (message_arena == nullptr) {
    delete _impl_.category_;
  }
  if (category) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
        ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(category);
    if (message_arena != submessage_arena) {
      category = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, category, submessage_arena);
    }
    _impl_._has_bits_[0] |= 0x00000001u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000001u;
  }
  _impl_.category_ = category;
  // @@protoc_insertion_point(field_set_allocated:keyapis.vc.v1.CameraVideoData.category)
}

// string title = 3 [(.google.api.field_behavior) = REQUIRED];
inline void CameraVideoData::clear_title() {
  _impl_.title_.ClearToEmpty();
}
inline const std::string& CameraVideoData::title() const {
  // @@protoc_insertion_point(field_get:keyapis.vc.v1.CameraVideoData.title)
  return _internal_title();
}
template <typename Arg_, typename... Args_>
inline PROTOBUF_ALWAYS_INLINE void CameraVideoData::set_title(Arg_&& arg,
                                                     Args_... args) {
  ;
  _impl_.title_.Set(static_cast<Arg_&&>(arg), args..., GetArenaForAllocation());
  // @@protoc_insertion_point(field_set:keyapis.vc.v1.CameraVideoData.title)
}
inline std::string* CameraVideoData::mutable_title() {
  std::string* _s = _internal_mutable_title();
  // @@protoc_insertion_point(field_mutable:keyapis.vc.v1.CameraVideoData.title)
  return _s;
}
inline const std::string& CameraVideoData::_internal_title() const {
  return _impl_.title_.Get();
}
inline void CameraVideoData::_internal_set_title(const std::string& value) {
  ;


  _impl_.title_.Set(value, GetArenaForAllocation());
}
inline std::string* CameraVideoData::_internal_mutable_title() {
  ;
  return _impl_.title_.Mutable( GetArenaForAllocation());
}
inline std::string* CameraVideoData::release_title() {
  // @@protoc_insertion_point(field_release:keyapis.vc.v1.CameraVideoData.title)
  return _impl_.title_.Release();
}
inline void CameraVideoData::set_allocated_title(std::string* value) {
  _impl_.title_.SetAllocated(value, GetArenaForAllocation());
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
        if (_impl_.title_.IsDefault()) {
          _impl_.title_.Set("", GetArenaForAllocation());
        }
  #endif  // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  // @@protoc_insertion_point(field_set_allocated:keyapis.vc.v1.CameraVideoData.title)
}

// string serial_number = 4 [(.google.api.field_behavior) = REQUIRED];
inline void CameraVideoData::clear_serial_number() {
  _impl_.serial_number_.ClearToEmpty();
}
inline const std::string& CameraVideoData::serial_number() const {
  // @@protoc_insertion_point(field_get:keyapis.vc.v1.CameraVideoData.serial_number)
  return _internal_serial_number();
}
template <typename Arg_, typename... Args_>
inline PROTOBUF_ALWAYS_INLINE void CameraVideoData::set_serial_number(Arg_&& arg,
                                                     Args_... args) {
  ;
  _impl_.serial_number_.Set(static_cast<Arg_&&>(arg), args..., GetArenaForAllocation());
  // @@protoc_insertion_point(field_set:keyapis.vc.v1.CameraVideoData.serial_number)
}
inline std::string* CameraVideoData::mutable_serial_number() {
  std::string* _s = _internal_mutable_serial_number();
  // @@protoc_insertion_point(field_mutable:keyapis.vc.v1.CameraVideoData.serial_number)
  return _s;
}
inline const std::string& CameraVideoData::_internal_serial_number() const {
  return _impl_.serial_number_.Get();
}
inline void CameraVideoData::_internal_set_serial_number(const std::string& value) {
  ;


  _impl_.serial_number_.Set(value, GetArenaForAllocation());
}
inline std::string* CameraVideoData::_internal_mutable_serial_number() {
  ;
  return _impl_.serial_number_.Mutable( GetArenaForAllocation());
}
inline std::string* CameraVideoData::release_serial_number() {
  // @@protoc_insertion_point(field_release:keyapis.vc.v1.CameraVideoData.serial_number)
  return _impl_.serial_number_.Release();
}
inline void CameraVideoData::set_allocated_serial_number(std::string* value) {
  _impl_.serial_number_.SetAllocated(value, GetArenaForAllocation());
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
        if (_impl_.serial_number_.IsDefault()) {
          _impl_.serial_number_.Set("", GetArenaForAllocation());
        }
  #endif  // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  // @@protoc_insertion_point(field_set_allocated:keyapis.vc.v1.CameraVideoData.serial_number)
}

// string ip = 5 [(.google.api.field_behavior) = REQUIRED];
inline void CameraVideoData::clear_ip() {
  _impl_.ip_.ClearToEmpty();
}
inline const std::string& CameraVideoData::ip() const {
  // @@protoc_insertion_point(field_get:keyapis.vc.v1.CameraVideoData.ip)
  return _internal_ip();
}
template <typename Arg_, typename... Args_>
inline PROTOBUF_ALWAYS_INLINE void CameraVideoData::set_ip(Arg_&& arg,
                                                     Args_... args) {
  ;
  _impl_.ip_.Set(static_cast<Arg_&&>(arg), args..., GetArenaForAllocation());
  // @@protoc_insertion_point(field_set:keyapis.vc.v1.CameraVideoData.ip)
}
inline std::string* CameraVideoData::mutable_ip() {
  std::string* _s = _internal_mutable_ip();
  // @@protoc_insertion_point(field_mutable:keyapis.vc.v1.CameraVideoData.ip)
  return _s;
}
inline const std::string& CameraVideoData::_internal_ip() const {
  return _impl_.ip_.Get();
}
inline void CameraVideoData::_internal_set_ip(const std::string& value) {
  ;


  _impl_.ip_.Set(value, GetArenaForAllocation());
}
inline std::string* CameraVideoData::_internal_mutable_ip() {
  ;
  return _impl_.ip_.Mutable( GetArenaForAllocation());
}
inline std::string* CameraVideoData::release_ip() {
  // @@protoc_insertion_point(field_release:keyapis.vc.v1.CameraVideoData.ip)
  return _impl_.ip_.Release();
}
inline void CameraVideoData::set_allocated_ip(std::string* value) {
  _impl_.ip_.SetAllocated(value, GetArenaForAllocation());
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
        if (_impl_.ip_.IsDefault()) {
          _impl_.ip_.Set("", GetArenaForAllocation());
        }
  #endif  // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  // @@protoc_insertion_point(field_set_allocated:keyapis.vc.v1.CameraVideoData.ip)
}

// string streamer_url = 6 [(.google.api.field_behavior) = REQUIRED];
inline void CameraVideoData::clear_streamer_url() {
  _impl_.streamer_url_.ClearToEmpty();
}
inline const std::string& CameraVideoData::streamer_url() const {
  // @@protoc_insertion_point(field_get:keyapis.vc.v1.CameraVideoData.streamer_url)
  return _internal_streamer_url();
}
template <typename Arg_, typename... Args_>
inline PROTOBUF_ALWAYS_INLINE void CameraVideoData::set_streamer_url(Arg_&& arg,
                                                     Args_... args) {
  ;
  _impl_.streamer_url_.Set(static_cast<Arg_&&>(arg), args..., GetArenaForAllocation());
  // @@protoc_insertion_point(field_set:keyapis.vc.v1.CameraVideoData.streamer_url)
}
inline std::string* CameraVideoData::mutable_streamer_url() {
  std::string* _s = _internal_mutable_streamer_url();
  // @@protoc_insertion_point(field_mutable:keyapis.vc.v1.CameraVideoData.streamer_url)
  return _s;
}
inline const std::string& CameraVideoData::_internal_streamer_url() const {
  return _impl_.streamer_url_.Get();
}
inline void CameraVideoData::_internal_set_streamer_url(const std::string& value) {
  ;


  _impl_.streamer_url_.Set(value, GetArenaForAllocation());
}
inline std::string* CameraVideoData::_internal_mutable_streamer_url() {
  ;
  return _impl_.streamer_url_.Mutable( GetArenaForAllocation());
}
inline std::string* CameraVideoData::release_streamer_url() {
  // @@protoc_insertion_point(field_release:keyapis.vc.v1.CameraVideoData.streamer_url)
  return _impl_.streamer_url_.Release();
}
inline void CameraVideoData::set_allocated_streamer_url(std::string* value) {
  _impl_.streamer_url_.SetAllocated(value, GetArenaForAllocation());
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
        if (_impl_.streamer_url_.IsDefault()) {
          _impl_.streamer_url_.Set("", GetArenaForAllocation());
        }
  #endif  // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  // @@protoc_insertion_point(field_set_allocated:keyapis.vc.v1.CameraVideoData.streamer_url)
}

// string mac = 7 [(.google.api.field_behavior) = REQUIRED];
inline void CameraVideoData::clear_mac() {
  _impl_.mac_.ClearToEmpty();
}
inline const std::string& CameraVideoData::mac() const {
  // @@protoc_insertion_point(field_get:keyapis.vc.v1.CameraVideoData.mac)
  return _internal_mac();
}
template <typename Arg_, typename... Args_>
inline PROTOBUF_ALWAYS_INLINE void CameraVideoData::set_mac(Arg_&& arg,
                                                     Args_... args) {
  ;
  _impl_.mac_.Set(static_cast<Arg_&&>(arg), args..., GetArenaForAllocation());
  // @@protoc_insertion_point(field_set:keyapis.vc.v1.CameraVideoData.mac)
}
inline std::string* CameraVideoData::mutable_mac() {
  std::string* _s = _internal_mutable_mac();
  // @@protoc_insertion_point(field_mutable:keyapis.vc.v1.CameraVideoData.mac)
  return _s;
}
inline const std::string& CameraVideoData::_internal_mac() const {
  return _impl_.mac_.Get();
}
inline void CameraVideoData::_internal_set_mac(const std::string& value) {
  ;


  _impl_.mac_.Set(value, GetArenaForAllocation());
}
inline std::string* CameraVideoData::_internal_mutable_mac() {
  ;
  return _impl_.mac_.Mutable( GetArenaForAllocation());
}
inline std::string* CameraVideoData::release_mac() {
  // @@protoc_insertion_point(field_release:keyapis.vc.v1.CameraVideoData.mac)
  return _impl_.mac_.Release();
}
inline void CameraVideoData::set_allocated_mac(std::string* value) {
  _impl_.mac_.SetAllocated(value, GetArenaForAllocation());
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
        if (_impl_.mac_.IsDefault()) {
          _impl_.mac_.Set("", GetArenaForAllocation());
        }
  #endif  // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  // @@protoc_insertion_point(field_set_allocated:keyapis.vc.v1.CameraVideoData.mac)
}

// string model = 8;
inline void CameraVideoData::clear_model() {
  _impl_.model_.ClearToEmpty();
}
inline const std::string& CameraVideoData::model() const {
  // @@protoc_insertion_point(field_get:keyapis.vc.v1.CameraVideoData.model)
  return _internal_model();
}
template <typename Arg_, typename... Args_>
inline PROTOBUF_ALWAYS_INLINE void CameraVideoData::set_model(Arg_&& arg,
                                                     Args_... args) {
  ;
  _impl_.model_.Set(static_cast<Arg_&&>(arg), args..., GetArenaForAllocation());
  // @@protoc_insertion_point(field_set:keyapis.vc.v1.CameraVideoData.model)
}
inline std::string* CameraVideoData::mutable_model() {
  std::string* _s = _internal_mutable_model();
  // @@protoc_insertion_point(field_mutable:keyapis.vc.v1.CameraVideoData.model)
  return _s;
}
inline const std::string& CameraVideoData::_internal_model() const {
  return _impl_.model_.Get();
}
inline void CameraVideoData::_internal_set_model(const std::string& value) {
  ;


  _impl_.model_.Set(value, GetArenaForAllocation());
}
inline std::string* CameraVideoData::_internal_mutable_model() {
  ;
  return _impl_.model_.Mutable( GetArenaForAllocation());
}
inline std::string* CameraVideoData::release_model() {
  // @@protoc_insertion_point(field_release:keyapis.vc.v1.CameraVideoData.model)
  return _impl_.model_.Release();
}
inline void CameraVideoData::set_allocated_model(std::string* value) {
  _impl_.model_.SetAllocated(value, GetArenaForAllocation());
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
        if (_impl_.model_.IsDefault()) {
          _impl_.model_.Set("", GetArenaForAllocation());
        }
  #endif  // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  // @@protoc_insertion_point(field_set_allocated:keyapis.vc.v1.CameraVideoData.model)
}

// string vendor = 9;
inline void CameraVideoData::clear_vendor() {
  _impl_.vendor_.ClearToEmpty();
}
inline const std::string& CameraVideoData::vendor() const {
  // @@protoc_insertion_point(field_get:keyapis.vc.v1.CameraVideoData.vendor)
  return _internal_vendor();
}
template <typename Arg_, typename... Args_>
inline PROTOBUF_ALWAYS_INLINE void CameraVideoData::set_vendor(Arg_&& arg,
                                                     Args_... args) {
  ;
  _impl_.vendor_.Set(static_cast<Arg_&&>(arg), args..., GetArenaForAllocation());
  // @@protoc_insertion_point(field_set:keyapis.vc.v1.CameraVideoData.vendor)
}
inline std::string* CameraVideoData::mutable_vendor() {
  std::string* _s = _internal_mutable_vendor();
  // @@protoc_insertion_point(field_mutable:keyapis.vc.v1.CameraVideoData.vendor)
  return _s;
}
inline const std::string& CameraVideoData::_internal_vendor() const {
  return _impl_.vendor_.Get();
}
inline void CameraVideoData::_internal_set_vendor(const std::string& value) {
  ;


  _impl_.vendor_.Set(value, GetArenaForAllocation());
}
inline std::string* CameraVideoData::_internal_mutable_vendor() {
  ;
  return _impl_.vendor_.Mutable( GetArenaForAllocation());
}
inline std::string* CameraVideoData::release_vendor() {
  // @@protoc_insertion_point(field_release:keyapis.vc.v1.CameraVideoData.vendor)
  return _impl_.vendor_.Release();
}
inline void CameraVideoData::set_allocated_vendor(std::string* value) {
  _impl_.vendor_.SetAllocated(value, GetArenaForAllocation());
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
        if (_impl_.vendor_.IsDefault()) {
          _impl_.vendor_.Set("", GetArenaForAllocation());
        }
  #endif  // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  // @@protoc_insertion_point(field_set_allocated:keyapis.vc.v1.CameraVideoData.vendor)
}

// .keyapis.vc.v1.CameraVideoData.Status status = 10 [(.google.api.field_behavior) = REQUIRED];
inline bool CameraVideoData::has_status() const {
  bool value = (_impl_._has_bits_[0] & 0x00000002u) != 0;
  PROTOBUF_ASSUME(!value || _impl_.status_ != nullptr);
  return value;
}
inline void CameraVideoData::clear_status() {
  if (_impl_.status_ != nullptr) _impl_.status_->Clear();
  _impl_._has_bits_[0] &= ~0x00000002u;
}
inline const ::keyapis::vc::v1::CameraVideoData_Status& CameraVideoData::_internal_status() const {
  const ::keyapis::vc::v1::CameraVideoData_Status* p = _impl_.status_;
  return p != nullptr ? *p : reinterpret_cast<const ::keyapis::vc::v1::CameraVideoData_Status&>(
      ::keyapis::vc::v1::_CameraVideoData_Status_default_instance_);
}
inline const ::keyapis::vc::v1::CameraVideoData_Status& CameraVideoData::status() const {
  // @@protoc_insertion_point(field_get:keyapis.vc.v1.CameraVideoData.status)
  return _internal_status();
}
inline void CameraVideoData::unsafe_arena_set_allocated_status(
    ::keyapis::vc::v1::CameraVideoData_Status* status) {
  if (GetArenaForAllocation() == nullptr) {
    delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.status_);
  }
  _impl_.status_ = status;
  if (status) {
    _impl_._has_bits_[0] |= 0x00000002u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000002u;
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:keyapis.vc.v1.CameraVideoData.status)
}
inline ::keyapis::vc::v1::CameraVideoData_Status* CameraVideoData::release_status() {
  _impl_._has_bits_[0] &= ~0x00000002u;
  ::keyapis::vc::v1::CameraVideoData_Status* temp = _impl_.status_;
  _impl_.status_ = nullptr;
#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE
  auto* old =  reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp);
  temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
  if (GetArenaForAllocation() == nullptr) { delete old; }
#else  // PROTOBUF_FORCE_COPY_IN_RELEASE
  if (GetArenaForAllocation() != nullptr) {
    temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
  }
#endif  // !PROTOBUF_FORCE_COPY_IN_RELEASE
  return temp;
}
inline ::keyapis::vc::v1::CameraVideoData_Status* CameraVideoData::unsafe_arena_release_status() {
  // @@protoc_insertion_point(field_release:keyapis.vc.v1.CameraVideoData.status)
  _impl_._has_bits_[0] &= ~0x00000002u;
  ::keyapis::vc::v1::CameraVideoData_Status* temp = _impl_.status_;
  _impl_.status_ = nullptr;
  return temp;
}
inline ::keyapis::vc::v1::CameraVideoData_Status* CameraVideoData::_internal_mutable_status() {
  _impl_._has_bits_[0] |= 0x00000002u;
  if (_impl_.status_ == nullptr) {
    auto* p = CreateMaybeMessage<::keyapis::vc::v1::CameraVideoData_Status>(GetArenaForAllocation());
    _impl_.status_ = p;
  }
  return _impl_.status_;
}
inline ::keyapis::vc::v1::CameraVideoData_Status* CameraVideoData::mutable_status() {
  ::keyapis::vc::v1::CameraVideoData_Status* _msg = _internal_mutable_status();
  // @@protoc_insertion_point(field_mutable:keyapis.vc.v1.CameraVideoData.status)
  return _msg;
}
inline void CameraVideoData::set_allocated_status(::keyapis::vc::v1::CameraVideoData_Status* status) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation();
  if (message_arena == nullptr) {
    delete _impl_.status_;
  }
  if (status) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
        ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(status);
    if (message_arena != submessage_arena) {
      status = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, status, submessage_arena);
    }
    _impl_._has_bits_[0] |= 0x00000002u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000002u;
  }
  _impl_.status_ = status;
  // @@protoc_insertion_point(field_set_allocated:keyapis.vc.v1.CameraVideoData.status)
}

// string screenshot_url_template = 11 [(.google.api.field_behavior) = REQUIRED];
inline void CameraVideoData::clear_screenshot_url_template() {
  _impl_.screenshot_url_template_.ClearToEmpty();
}
inline const std::string& CameraVideoData::screenshot_url_template() const {
  // @@protoc_insertion_point(field_get:keyapis.vc.v1.CameraVideoData.screenshot_url_template)
  return _internal_screenshot_url_template();
}
template <typename Arg_, typename... Args_>
inline PROTOBUF_ALWAYS_INLINE void CameraVideoData::set_screenshot_url_template(Arg_&& arg,
                                                     Args_... args) {
  ;
  _impl_.screenshot_url_template_.Set(static_cast<Arg_&&>(arg), args..., GetArenaForAllocation());
  // @@protoc_insertion_point(field_set:keyapis.vc.v1.CameraVideoData.screenshot_url_template)
}
inline std::string* CameraVideoData::mutable_screenshot_url_template() {
  std::string* _s = _internal_mutable_screenshot_url_template();
  // @@protoc_insertion_point(field_mutable:keyapis.vc.v1.CameraVideoData.screenshot_url_template)
  return _s;
}
inline const std::string& CameraVideoData::_internal_screenshot_url_template() const {
  return _impl_.screenshot_url_template_.Get();
}
inline void CameraVideoData::_internal_set_screenshot_url_template(const std::string& value) {
  ;


  _impl_.screenshot_url_template_.Set(value, GetArenaForAllocation());
}
inline std::string* CameraVideoData::_internal_mutable_screenshot_url_template() {
  ;
  return _impl_.screenshot_url_template_.Mutable( GetArenaForAllocation());
}
inline std::string* CameraVideoData::release_screenshot_url_template() {
  // @@protoc_insertion_point(field_release:keyapis.vc.v1.CameraVideoData.screenshot_url_template)
  return _impl_.screenshot_url_template_.Release();
}
inline void CameraVideoData::set_allocated_screenshot_url_template(std::string* value) {
  _impl_.screenshot_url_template_.SetAllocated(value, GetArenaForAllocation());
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
        if (_impl_.screenshot_url_template_.IsDefault()) {
          _impl_.screenshot_url_template_.Set("", GetArenaForAllocation());
        }
  #endif  // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  // @@protoc_insertion_point(field_set_allocated:keyapis.vc.v1.CameraVideoData.screenshot_url_template)
}

// string screenshot_precise_url_template = 12 [(.google.api.field_behavior) = REQUIRED];
inline void CameraVideoData::clear_screenshot_precise_url_template() {
  _impl_.screenshot_precise_url_template_.ClearToEmpty();
}
inline const std::string& CameraVideoData::screenshot_precise_url_template() const {
  // @@protoc_insertion_point(field_get:keyapis.vc.v1.CameraVideoData.screenshot_precise_url_template)
  return _internal_screenshot_precise_url_template();
}
template <typename Arg_, typename... Args_>
inline PROTOBUF_ALWAYS_INLINE void CameraVideoData::set_screenshot_precise_url_template(Arg_&& arg,
                                                     Args_... args) {
  ;
  _impl_.screenshot_precise_url_template_.Set(static_cast<Arg_&&>(arg), args..., GetArenaForAllocation());
  // @@protoc_insertion_point(field_set:keyapis.vc.v1.CameraVideoData.screenshot_precise_url_template)
}
inline std::string* CameraVideoData::mutable_screenshot_precise_url_template() {
  std::string* _s = _internal_mutable_screenshot_precise_url_template();
  // @@protoc_insertion_point(field_mutable:keyapis.vc.v1.CameraVideoData.screenshot_precise_url_template)
  return _s;
}
inline const std::string& CameraVideoData::_internal_screenshot_precise_url_template() const {
  return _impl_.screenshot_precise_url_template_.Get();
}
inline void CameraVideoData::_internal_set_screenshot_precise_url_template(const std::string& value) {
  ;


  _impl_.screenshot_precise_url_template_.Set(value, GetArenaForAllocation());
}
inline std::string* CameraVideoData::_internal_mutable_screenshot_precise_url_template() {
  ;
  return _impl_.screenshot_precise_url_template_.Mutable( GetArenaForAllocation());
}
inline std::string* CameraVideoData::release_screenshot_precise_url_template() {
  // @@protoc_insertion_point(field_release:keyapis.vc.v1.CameraVideoData.screenshot_precise_url_template)
  return _impl_.screenshot_precise_url_template_.Release();
}
inline void CameraVideoData::set_allocated_screenshot_precise_url_template(std::string* value) {
  _impl_.screenshot_precise_url_template_.SetAllocated(value, GetArenaForAllocation());
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
        if (_impl_.screenshot_precise_url_template_.IsDefault()) {
          _impl_.screenshot_precise_url_template_.Set("", GetArenaForAllocation());
        }
  #endif  // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  // @@protoc_insertion_point(field_set_allocated:keyapis.vc.v1.CameraVideoData.screenshot_precise_url_template)
}

// string user_token = 13 [(.google.api.field_behavior) = REQUIRED];
inline void CameraVideoData::clear_user_token() {
  _impl_.user_token_.ClearToEmpty();
}
inline const std::string& CameraVideoData::user_token() const {
  // @@protoc_insertion_point(field_get:keyapis.vc.v1.CameraVideoData.user_token)
  return _internal_user_token();
}
template <typename Arg_, typename... Args_>
inline PROTOBUF_ALWAYS_INLINE void CameraVideoData::set_user_token(Arg_&& arg,
                                                     Args_... args) {
  ;
  _impl_.user_token_.Set(static_cast<Arg_&&>(arg), args..., GetArenaForAllocation());
  // @@protoc_insertion_point(field_set:keyapis.vc.v1.CameraVideoData.user_token)
}
inline std::string* CameraVideoData::mutable_user_token() {
  std::string* _s = _internal_mutable_user_token();
  // @@protoc_insertion_point(field_mutable:keyapis.vc.v1.CameraVideoData.user_token)
  return _s;
}
inline const std::string& CameraVideoData::_internal_user_token() const {
  return _impl_.user_token_.Get();
}
inline void CameraVideoData::_internal_set_user_token(const std::string& value) {
  ;


  _impl_.user_token_.Set(value, GetArenaForAllocation());
}
inline std::string* CameraVideoData::_internal_mutable_user_token() {
  ;
  return _impl_.user_token_.Mutable( GetArenaForAllocation());
}
inline std::string* CameraVideoData::release_user_token() {
  // @@protoc_insertion_point(field_release:keyapis.vc.v1.CameraVideoData.user_token)
  return _impl_.user_token_.Release();
}
inline void CameraVideoData::set_allocated_user_token(std::string* value) {
  _impl_.user_token_.SetAllocated(value, GetArenaForAllocation());
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
        if (_impl_.user_token_.IsDefault()) {
          _impl_.user_token_.Set("", GetArenaForAllocation());
        }
  #endif  // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  // @@protoc_insertion_point(field_set_allocated:keyapis.vc.v1.CameraVideoData.user_token)
}

// string streamer_token = 14 [(.google.api.field_behavior) = REQUIRED];
inline void CameraVideoData::clear_streamer_token() {
  _impl_.streamer_token_.ClearToEmpty();
}
inline const std::string& CameraVideoData::streamer_token() const {
  // @@protoc_insertion_point(field_get:keyapis.vc.v1.CameraVideoData.streamer_token)
  return _internal_streamer_token();
}
template <typename Arg_, typename... Args_>
inline PROTOBUF_ALWAYS_INLINE void CameraVideoData::set_streamer_token(Arg_&& arg,
                                                     Args_... args) {
  ;
  _impl_.streamer_token_.Set(static_cast<Arg_&&>(arg), args..., GetArenaForAllocation());
  // @@protoc_insertion_point(field_set:keyapis.vc.v1.CameraVideoData.streamer_token)
}
inline std::string* CameraVideoData::mutable_streamer_token() {
  std::string* _s = _internal_mutable_streamer_token();
  // @@protoc_insertion_point(field_mutable:keyapis.vc.v1.CameraVideoData.streamer_token)
  return _s;
}
inline const std::string& CameraVideoData::_internal_streamer_token() const {
  return _impl_.streamer_token_.Get();
}
inline void CameraVideoData::_internal_set_streamer_token(const std::string& value) {
  ;


  _impl_.streamer_token_.Set(value, GetArenaForAllocation());
}
inline std::string* CameraVideoData::_internal_mutable_streamer_token() {
  ;
  return _impl_.streamer_token_.Mutable( GetArenaForAllocation());
}
inline std::string* CameraVideoData::release_streamer_token() {
  // @@protoc_insertion_point(field_release:keyapis.vc.v1.CameraVideoData.streamer_token)
  return _impl_.streamer_token_.Release();
}
inline void CameraVideoData::set_allocated_streamer_token(std::string* value) {
  _impl_.streamer_token_.SetAllocated(value, GetArenaForAllocation());
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
        if (_impl_.streamer_token_.IsDefault()) {
          _impl_.streamer_token_.Set("", GetArenaForAllocation());
        }
  #endif  // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  // @@protoc_insertion_point(field_set_allocated:keyapis.vc.v1.CameraVideoData.streamer_token)
}

// string screenshot_token = 15 [(.google.api.field_behavior) = REQUIRED];
inline void CameraVideoData::clear_screenshot_token() {
  _impl_.screenshot_token_.ClearToEmpty();
}
inline const std::string& CameraVideoData::screenshot_token() const {
  // @@protoc_insertion_point(field_get:keyapis.vc.v1.CameraVideoData.screenshot_token)
  return _internal_screenshot_token();
}
template <typename Arg_, typename... Args_>
inline PROTOBUF_ALWAYS_INLINE void CameraVideoData::set_screenshot_token(Arg_&& arg,
                                                     Args_... args) {
  ;
  _impl_.screenshot_token_.Set(static_cast<Arg_&&>(arg), args..., GetArenaForAllocation());
  // @@protoc_insertion_point(field_set:keyapis.vc.v1.CameraVideoData.screenshot_token)
}
inline std::string* CameraVideoData::mutable_screenshot_token() {
  std::string* _s = _internal_mutable_screenshot_token();
  // @@protoc_insertion_point(field_mutable:keyapis.vc.v1.CameraVideoData.screenshot_token)
  return _s;
}
inline const std::string& CameraVideoData::_internal_screenshot_token() const {
  return _impl_.screenshot_token_.Get();
}
inline void CameraVideoData::_internal_set_screenshot_token(const std::string& value) {
  ;


  _impl_.screenshot_token_.Set(value, GetArenaForAllocation());
}
inline std::string* CameraVideoData::_internal_mutable_screenshot_token() {
  ;
  return _impl_.screenshot_token_.Mutable( GetArenaForAllocation());
}
inline std::string* CameraVideoData::release_screenshot_token() {
  // @@protoc_insertion_point(field_release:keyapis.vc.v1.CameraVideoData.screenshot_token)
  return _impl_.screenshot_token_.Release();
}
inline void CameraVideoData::set_allocated_screenshot_token(std::string* value) {
  _impl_.screenshot_token_.SetAllocated(value, GetArenaForAllocation());
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
        if (_impl_.screenshot_token_.IsDefault()) {
          _impl_.screenshot_token_.Set("", GetArenaForAllocation());
        }
  #endif  // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  // @@protoc_insertion_point(field_set_allocated:keyapis.vc.v1.CameraVideoData.screenshot_token)
}

// int32 archive_length = 16;
inline void CameraVideoData::clear_archive_length() {
  _impl_.archive_length_ = 0;
}
inline ::int32_t CameraVideoData::archive_length() const {
  // @@protoc_insertion_point(field_get:keyapis.vc.v1.CameraVideoData.archive_length)
  return _internal_archive_length();
}
inline void CameraVideoData::set_archive_length(::int32_t value) {
  _internal_set_archive_length(value);
  // @@protoc_insertion_point(field_set:keyapis.vc.v1.CameraVideoData.archive_length)
}
inline ::int32_t CameraVideoData::_internal_archive_length() const {
  return _impl_.archive_length_;
}
inline void CameraVideoData::_internal_set_archive_length(::int32_t value) {
  ;
  _impl_.archive_length_ = value;
}

// .keyapis.vc.v1.CameraVideoData.Location location = 17;
inline bool CameraVideoData::has_location() const {
  bool value = (_impl_._has_bits_[0] & 0x00000004u) != 0;
  PROTOBUF_ASSUME(!value || _impl_.location_ != nullptr);
  return value;
}
inline void CameraVideoData::clear_location() {
  if (_impl_.location_ != nullptr) _impl_.location_->Clear();
  _impl_._has_bits_[0] &= ~0x00000004u;
}
inline const ::keyapis::vc::v1::CameraVideoData_Location& CameraVideoData::_internal_location() const {
  const ::keyapis::vc::v1::CameraVideoData_Location* p = _impl_.location_;
  return p != nullptr ? *p : reinterpret_cast<const ::keyapis::vc::v1::CameraVideoData_Location&>(
      ::keyapis::vc::v1::_CameraVideoData_Location_default_instance_);
}
inline const ::keyapis::vc::v1::CameraVideoData_Location& CameraVideoData::location() const {
  // @@protoc_insertion_point(field_get:keyapis.vc.v1.CameraVideoData.location)
  return _internal_location();
}
inline void CameraVideoData::unsafe_arena_set_allocated_location(
    ::keyapis::vc::v1::CameraVideoData_Location* location) {
  if (GetArenaForAllocation() == nullptr) {
    delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.location_);
  }
  _impl_.location_ = location;
  if (location) {
    _impl_._has_bits_[0] |= 0x00000004u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000004u;
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:keyapis.vc.v1.CameraVideoData.location)
}
inline ::keyapis::vc::v1::CameraVideoData_Location* CameraVideoData::release_location() {
  _impl_._has_bits_[0] &= ~0x00000004u;
  ::keyapis::vc::v1::CameraVideoData_Location* temp = _impl_.location_;
  _impl_.location_ = nullptr;
#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE
  auto* old =  reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp);
  temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
  if (GetArenaForAllocation() == nullptr) { delete old; }
#else  // PROTOBUF_FORCE_COPY_IN_RELEASE
  if (GetArenaForAllocation() != nullptr) {
    temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
  }
#endif  // !PROTOBUF_FORCE_COPY_IN_RELEASE
  return temp;
}
inline ::keyapis::vc::v1::CameraVideoData_Location* CameraVideoData::unsafe_arena_release_location() {
  // @@protoc_insertion_point(field_release:keyapis.vc.v1.CameraVideoData.location)
  _impl_._has_bits_[0] &= ~0x00000004u;
  ::keyapis::vc::v1::CameraVideoData_Location* temp = _impl_.location_;
  _impl_.location_ = nullptr;
  return temp;
}
inline ::keyapis::vc::v1::CameraVideoData_Location* CameraVideoData::_internal_mutable_location() {
  _impl_._has_bits_[0] |= 0x00000004u;
  if (_impl_.location_ == nullptr) {
    auto* p = CreateMaybeMessage<::keyapis::vc::v1::CameraVideoData_Location>(GetArenaForAllocation());
    _impl_.location_ = p;
  }
  return _impl_.location_;
}
inline ::keyapis::vc::v1::CameraVideoData_Location* CameraVideoData::mutable_location() {
  ::keyapis::vc::v1::CameraVideoData_Location* _msg = _internal_mutable_location();
  // @@protoc_insertion_point(field_mutable:keyapis.vc.v1.CameraVideoData.location)
  return _msg;
}
inline void CameraVideoData::set_allocated_location(::keyapis::vc::v1::CameraVideoData_Location* location) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation();
  if (message_arena == nullptr) {
    delete _impl_.location_;
  }
  if (location) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
        ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(location);
    if (message_arena != submessage_arena) {
      location = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, location, submessage_arena);
    }
    _impl_._has_bits_[0] |= 0x00000004u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000004u;
  }
  _impl_.location_ = location;
  // @@protoc_insertion_point(field_set_allocated:keyapis.vc.v1.CameraVideoData.location)
}

// .google.protobuf.Timestamp created_at = 18 [(.google.api.field_behavior) = OUTPUT_ONLY];
inline bool CameraVideoData::has_created_at() const {
  bool value = (_impl_._has_bits_[0] & 0x00000008u) != 0;
  PROTOBUF_ASSUME(!value || _impl_.created_at_ != nullptr);
  return value;
}
inline const ::PROTOBUF_NAMESPACE_ID::Timestamp& CameraVideoData::_internal_created_at() const {
  const ::PROTOBUF_NAMESPACE_ID::Timestamp* p = _impl_.created_at_;
  return p != nullptr ? *p : reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Timestamp&>(
      ::PROTOBUF_NAMESPACE_ID::_Timestamp_default_instance_);
}
inline const ::PROTOBUF_NAMESPACE_ID::Timestamp& CameraVideoData::created_at() const {
  // @@protoc_insertion_point(field_get:keyapis.vc.v1.CameraVideoData.created_at)
  return _internal_created_at();
}
inline void CameraVideoData::unsafe_arena_set_allocated_created_at(
    ::PROTOBUF_NAMESPACE_ID::Timestamp* created_at) {
  if (GetArenaForAllocation() == nullptr) {
    delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.created_at_);
  }
  _impl_.created_at_ = created_at;
  if (created_at) {
    _impl_._has_bits_[0] |= 0x00000008u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000008u;
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:keyapis.vc.v1.CameraVideoData.created_at)
}
inline ::PROTOBUF_NAMESPACE_ID::Timestamp* CameraVideoData::release_created_at() {
  _impl_._has_bits_[0] &= ~0x00000008u;
  ::PROTOBUF_NAMESPACE_ID::Timestamp* temp = _impl_.created_at_;
  _impl_.created_at_ = nullptr;
#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE
  auto* old =  reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp);
  temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
  if (GetArenaForAllocation() == nullptr) { delete old; }
#else  // PROTOBUF_FORCE_COPY_IN_RELEASE
  if (GetArenaForAllocation() != nullptr) {
    temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
  }
#endif  // !PROTOBUF_FORCE_COPY_IN_RELEASE
  return temp;
}
inline ::PROTOBUF_NAMESPACE_ID::Timestamp* CameraVideoData::unsafe_arena_release_created_at() {
  // @@protoc_insertion_point(field_release:keyapis.vc.v1.CameraVideoData.created_at)
  _impl_._has_bits_[0] &= ~0x00000008u;
  ::PROTOBUF_NAMESPACE_ID::Timestamp* temp = _impl_.created_at_;
  _impl_.created_at_ = nullptr;
  return temp;
}
inline ::PROTOBUF_NAMESPACE_ID::Timestamp* CameraVideoData::_internal_mutable_created_at() {
  _impl_._has_bits_[0] |= 0x00000008u;
  if (_impl_.created_at_ == nullptr) {
    auto* p = CreateMaybeMessage<::PROTOBUF_NAMESPACE_ID::Timestamp>(GetArenaForAllocation());
    _impl_.created_at_ = p;
  }
  return _impl_.created_at_;
}
inline ::PROTOBUF_NAMESPACE_ID::Timestamp* CameraVideoData::mutable_created_at() {
  ::PROTOBUF_NAMESPACE_ID::Timestamp* _msg = _internal_mutable_created_at();
  // @@protoc_insertion_point(field_mutable:keyapis.vc.v1.CameraVideoData.created_at)
  return _msg;
}
inline void CameraVideoData::set_allocated_created_at(::PROTOBUF_NAMESPACE_ID::Timestamp* created_at) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation();
  if (message_arena == nullptr) {
    delete reinterpret_cast< ::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.created_at_);
  }
  if (created_at) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
        ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(
                reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(created_at));
    if (message_arena != submessage_arena) {
      created_at = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, created_at, submessage_arena);
    }
    _impl_._has_bits_[0] |= 0x00000008u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000008u;
  }
  _impl_.created_at_ = created_at;
  // @@protoc_insertion_point(field_set_allocated:keyapis.vc.v1.CameraVideoData.created_at)
}

// .google.protobuf.Timestamp updated_at = 19 [(.google.api.field_behavior) = OUTPUT_ONLY];
inline bool CameraVideoData::has_updated_at() const {
  bool value = (_impl_._has_bits_[0] & 0x00000010u) != 0;
  PROTOBUF_ASSUME(!value || _impl_.updated_at_ != nullptr);
  return value;
}
inline const ::PROTOBUF_NAMESPACE_ID::Timestamp& CameraVideoData::_internal_updated_at() const {
  const ::PROTOBUF_NAMESPACE_ID::Timestamp* p = _impl_.updated_at_;
  return p != nullptr ? *p : reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Timestamp&>(
      ::PROTOBUF_NAMESPACE_ID::_Timestamp_default_instance_);
}
inline const ::PROTOBUF_NAMESPACE_ID::Timestamp& CameraVideoData::updated_at() const {
  // @@protoc_insertion_point(field_get:keyapis.vc.v1.CameraVideoData.updated_at)
  return _internal_updated_at();
}
inline void CameraVideoData::unsafe_arena_set_allocated_updated_at(
    ::PROTOBUF_NAMESPACE_ID::Timestamp* updated_at) {
  if (GetArenaForAllocation() == nullptr) {
    delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.updated_at_);
  }
  _impl_.updated_at_ = updated_at;
  if (updated_at) {
    _impl_._has_bits_[0] |= 0x00000010u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000010u;
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:keyapis.vc.v1.CameraVideoData.updated_at)
}
inline ::PROTOBUF_NAMESPACE_ID::Timestamp* CameraVideoData::release_updated_at() {
  _impl_._has_bits_[0] &= ~0x00000010u;
  ::PROTOBUF_NAMESPACE_ID::Timestamp* temp = _impl_.updated_at_;
  _impl_.updated_at_ = nullptr;
#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE
  auto* old =  reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp);
  temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
  if (GetArenaForAllocation() == nullptr) { delete old; }
#else  // PROTOBUF_FORCE_COPY_IN_RELEASE
  if (GetArenaForAllocation() != nullptr) {
    temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
  }
#endif  // !PROTOBUF_FORCE_COPY_IN_RELEASE
  return temp;
}
inline ::PROTOBUF_NAMESPACE_ID::Timestamp* CameraVideoData::unsafe_arena_release_updated_at() {
  // @@protoc_insertion_point(field_release:keyapis.vc.v1.CameraVideoData.updated_at)
  _impl_._has_bits_[0] &= ~0x00000010u;
  ::PROTOBUF_NAMESPACE_ID::Timestamp* temp = _impl_.updated_at_;
  _impl_.updated_at_ = nullptr;
  return temp;
}
inline ::PROTOBUF_NAMESPACE_ID::Timestamp* CameraVideoData::_internal_mutable_updated_at() {
  _impl_._has_bits_[0] |= 0x00000010u;
  if (_impl_.updated_at_ == nullptr) {
    auto* p = CreateMaybeMessage<::PROTOBUF_NAMESPACE_ID::Timestamp>(GetArenaForAllocation());
    _impl_.updated_at_ = p;
  }
  return _impl_.updated_at_;
}
inline ::PROTOBUF_NAMESPACE_ID::Timestamp* CameraVideoData::mutable_updated_at() {
  ::PROTOBUF_NAMESPACE_ID::Timestamp* _msg = _internal_mutable_updated_at();
  // @@protoc_insertion_point(field_mutable:keyapis.vc.v1.CameraVideoData.updated_at)
  return _msg;
}
inline void CameraVideoData::set_allocated_updated_at(::PROTOBUF_NAMESPACE_ID::Timestamp* updated_at) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation();
  if (message_arena == nullptr) {
    delete reinterpret_cast< ::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.updated_at_);
  }
  if (updated_at) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
        ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(
                reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(updated_at));
    if (message_arena != submessage_arena) {
      updated_at = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, updated_at, submessage_arena);
    }
    _impl_._has_bits_[0] |= 0x00000010u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000010u;
  }
  _impl_.updated_at_ = updated_at;
  // @@protoc_insertion_point(field_set_allocated:keyapis.vc.v1.CameraVideoData.updated_at)
}

// int32 utc_offset = 20;
inline void CameraVideoData::clear_utc_offset() {
  _impl_.utc_offset_ = 0;
}
inline ::int32_t CameraVideoData::utc_offset() const {
  // @@protoc_insertion_point(field_get:keyapis.vc.v1.CameraVideoData.utc_offset)
  return _internal_utc_offset();
}
inline void CameraVideoData::set_utc_offset(::int32_t value) {
  _internal_set_utc_offset(value);
  // @@protoc_insertion_point(field_set:keyapis.vc.v1.CameraVideoData.utc_offset)
}
inline ::int32_t CameraVideoData::_internal_utc_offset() const {
  return _impl_.utc_offset_;
}
inline void CameraVideoData::_internal_set_utc_offset(::int32_t value) {
  ;
  _impl_.utc_offset_ = value;
}

// -------------------------------------------------------------------

// CameraVideoDataFilter

// repeated string uids = 1;
inline int CameraVideoDataFilter::_internal_uids_size() const {
  return _impl_.uids_.size();
}
inline int CameraVideoDataFilter::uids_size() const {
  return _internal_uids_size();
}
inline void CameraVideoDataFilter::clear_uids() {
  _internal_mutable_uids()->Clear();
}
inline std::string* CameraVideoDataFilter::add_uids() {
  std::string* _s = _internal_add_uids();
  // @@protoc_insertion_point(field_add_mutable:keyapis.vc.v1.CameraVideoDataFilter.uids)
  return _s;
}
inline const std::string& CameraVideoDataFilter::uids(int index) const {
  // @@protoc_insertion_point(field_get:keyapis.vc.v1.CameraVideoDataFilter.uids)
  return _internal_uids(index);
}
inline std::string* CameraVideoDataFilter::mutable_uids(int index) {
  // @@protoc_insertion_point(field_mutable:keyapis.vc.v1.CameraVideoDataFilter.uids)
  return _internal_mutable_uids()->Mutable(index);
}
inline void CameraVideoDataFilter::set_uids(int index, const std::string& value) {
  _internal_mutable_uids()->Mutable(index)->assign(value);
  // @@protoc_insertion_point(field_set:keyapis.vc.v1.CameraVideoDataFilter.uids)
}
inline void CameraVideoDataFilter::set_uids(int index, std::string&& value) {
  _internal_mutable_uids()->Mutable(index)->assign(std::move(value));
  // @@protoc_insertion_point(field_set:keyapis.vc.v1.CameraVideoDataFilter.uids)
}
inline void CameraVideoDataFilter::set_uids(int index, const char* value) {
  ABSL_DCHECK(value != nullptr);
  _internal_mutable_uids()->Mutable(index)->assign(value);
  // @@protoc_insertion_point(field_set_char:keyapis.vc.v1.CameraVideoDataFilter.uids)
}
inline void CameraVideoDataFilter::set_uids(int index, const char* value,
                              std::size_t size) {
  _internal_mutable_uids()->Mutable(index)->assign(
      reinterpret_cast<const char*>(value), size);
  // @@protoc_insertion_point(field_set_pointer:keyapis.vc.v1.CameraVideoDataFilter.uids)
}
inline void CameraVideoDataFilter::set_uids(int index, absl::string_view value) {
  _internal_mutable_uids()->Mutable(index)->assign(value.data(),
                                                     value.size());
  // @@protoc_insertion_point(field_set_string_piece:keyapis.vc.v1.CameraVideoDataFilter.uids)
}
inline void CameraVideoDataFilter::add_uids(const std::string& value) {
  _internal_mutable_uids()->Add()->assign(value);
  // @@protoc_insertion_point(field_add:keyapis.vc.v1.CameraVideoDataFilter.uids)
}
inline void CameraVideoDataFilter::add_uids(std::string&& value) {
  _internal_mutable_uids()->Add(std::move(value));
  // @@protoc_insertion_point(field_add:keyapis.vc.v1.CameraVideoDataFilter.uids)
}
inline void CameraVideoDataFilter::add_uids(const char* value) {
  ABSL_DCHECK(value != nullptr);
  _internal_mutable_uids()->Add()->assign(value);
  // @@protoc_insertion_point(field_add_char:keyapis.vc.v1.CameraVideoDataFilter.uids)
}
inline void CameraVideoDataFilter::add_uids(const char* value, std::size_t size) {
  _internal_mutable_uids()->Add()->assign(
      reinterpret_cast<const char*>(value), size);
  // @@protoc_insertion_point(field_add_pointer:keyapis.vc.v1.CameraVideoDataFilter.uids)
}
inline void CameraVideoDataFilter::add_uids(absl::string_view value) {
  _internal_mutable_uids()->Add()->assign(value.data(), value.size());
  // @@protoc_insertion_point(field_add_string_piece:keyapis.vc.v1.CameraVideoDataFilter.uids)
}
inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField<std::string>&
CameraVideoDataFilter::uids() const {
  // @@protoc_insertion_point(field_list:keyapis.vc.v1.CameraVideoDataFilter.uids)
  return _internal_uids();
}
inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField<std::string>* CameraVideoDataFilter::mutable_uids() {
  // @@protoc_insertion_point(field_mutable_list:keyapis.vc.v1.CameraVideoDataFilter.uids)
  return _internal_mutable_uids();
}
inline const std::string& CameraVideoDataFilter::_internal_uids(int index) const {
  return _internal_uids().Get(index);
}
inline std::string* CameraVideoDataFilter::_internal_add_uids() {
  return _internal_mutable_uids()->Add();
}
inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField<std::string>&
CameraVideoDataFilter::_internal_uids() const {
  return _impl_.uids_;
}
inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField<std::string>*
CameraVideoDataFilter::_internal_mutable_uids() {
  return &_impl_.uids_;
}

// repeated string title = 2;
inline int CameraVideoDataFilter::_internal_title_size() const {
  return _impl_.title_.size();
}
inline int CameraVideoDataFilter::title_size() const {
  return _internal_title_size();
}
inline void CameraVideoDataFilter::clear_title() {
  _internal_mutable_title()->Clear();
}
inline std::string* CameraVideoDataFilter::add_title() {
  std::string* _s = _internal_add_title();
  // @@protoc_insertion_point(field_add_mutable:keyapis.vc.v1.CameraVideoDataFilter.title)
  return _s;
}
inline const std::string& CameraVideoDataFilter::title(int index) const {
  // @@protoc_insertion_point(field_get:keyapis.vc.v1.CameraVideoDataFilter.title)
  return _internal_title(index);
}
inline std::string* CameraVideoDataFilter::mutable_title(int index) {
  // @@protoc_insertion_point(field_mutable:keyapis.vc.v1.CameraVideoDataFilter.title)
  return _internal_mutable_title()->Mutable(index);
}
inline void CameraVideoDataFilter::set_title(int index, const std::string& value) {
  _internal_mutable_title()->Mutable(index)->assign(value);
  // @@protoc_insertion_point(field_set:keyapis.vc.v1.CameraVideoDataFilter.title)
}
inline void CameraVideoDataFilter::set_title(int index, std::string&& value) {
  _internal_mutable_title()->Mutable(index)->assign(std::move(value));
  // @@protoc_insertion_point(field_set:keyapis.vc.v1.CameraVideoDataFilter.title)
}
inline void CameraVideoDataFilter::set_title(int index, const char* value) {
  ABSL_DCHECK(value != nullptr);
  _internal_mutable_title()->Mutable(index)->assign(value);
  // @@protoc_insertion_point(field_set_char:keyapis.vc.v1.CameraVideoDataFilter.title)
}
inline void CameraVideoDataFilter::set_title(int index, const char* value,
                              std::size_t size) {
  _internal_mutable_title()->Mutable(index)->assign(
      reinterpret_cast<const char*>(value), size);
  // @@protoc_insertion_point(field_set_pointer:keyapis.vc.v1.CameraVideoDataFilter.title)
}
inline void CameraVideoDataFilter::set_title(int index, absl::string_view value) {
  _internal_mutable_title()->Mutable(index)->assign(value.data(),
                                                     value.size());
  // @@protoc_insertion_point(field_set_string_piece:keyapis.vc.v1.CameraVideoDataFilter.title)
}
inline void CameraVideoDataFilter::add_title(const std::string& value) {
  _internal_mutable_title()->Add()->assign(value);
  // @@protoc_insertion_point(field_add:keyapis.vc.v1.CameraVideoDataFilter.title)
}
inline void CameraVideoDataFilter::add_title(std::string&& value) {
  _internal_mutable_title()->Add(std::move(value));
  // @@protoc_insertion_point(field_add:keyapis.vc.v1.CameraVideoDataFilter.title)
}
inline void CameraVideoDataFilter::add_title(const char* value) {
  ABSL_DCHECK(value != nullptr);
  _internal_mutable_title()->Add()->assign(value);
  // @@protoc_insertion_point(field_add_char:keyapis.vc.v1.CameraVideoDataFilter.title)
}
inline void CameraVideoDataFilter::add_title(const char* value, std::size_t size) {
  _internal_mutable_title()->Add()->assign(
      reinterpret_cast<const char*>(value), size);
  // @@protoc_insertion_point(field_add_pointer:keyapis.vc.v1.CameraVideoDataFilter.title)
}
inline void CameraVideoDataFilter::add_title(absl::string_view value) {
  _internal_mutable_title()->Add()->assign(value.data(), value.size());
  // @@protoc_insertion_point(field_add_string_piece:keyapis.vc.v1.CameraVideoDataFilter.title)
}
inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField<std::string>&
CameraVideoDataFilter::title() const {
  // @@protoc_insertion_point(field_list:keyapis.vc.v1.CameraVideoDataFilter.title)
  return _internal_title();
}
inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField<std::string>* CameraVideoDataFilter::mutable_title() {
  // @@protoc_insertion_point(field_mutable_list:keyapis.vc.v1.CameraVideoDataFilter.title)
  return _internal_mutable_title();
}
inline const std::string& CameraVideoDataFilter::_internal_title(int index) const {
  return _internal_title().Get(index);
}
inline std::string* CameraVideoDataFilter::_internal_add_title() {
  return _internal_mutable_title()->Add();
}
inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField<std::string>&
CameraVideoDataFilter::_internal_title() const {
  return _impl_.title_;
}
inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField<std::string>*
CameraVideoDataFilter::_internal_mutable_title() {
  return &_impl_.title_;
}

// repeated string mac = 3;
inline int CameraVideoDataFilter::_internal_mac_size() const {
  return _impl_.mac_.size();
}
inline int CameraVideoDataFilter::mac_size() const {
  return _internal_mac_size();
}
inline void CameraVideoDataFilter::clear_mac() {
  _internal_mutable_mac()->Clear();
}
inline std::string* CameraVideoDataFilter::add_mac() {
  std::string* _s = _internal_add_mac();
  // @@protoc_insertion_point(field_add_mutable:keyapis.vc.v1.CameraVideoDataFilter.mac)
  return _s;
}
inline const std::string& CameraVideoDataFilter::mac(int index) const {
  // @@protoc_insertion_point(field_get:keyapis.vc.v1.CameraVideoDataFilter.mac)
  return _internal_mac(index);
}
inline std::string* CameraVideoDataFilter::mutable_mac(int index) {
  // @@protoc_insertion_point(field_mutable:keyapis.vc.v1.CameraVideoDataFilter.mac)
  return _internal_mutable_mac()->Mutable(index);
}
inline void CameraVideoDataFilter::set_mac(int index, const std::string& value) {
  _internal_mutable_mac()->Mutable(index)->assign(value);
  // @@protoc_insertion_point(field_set:keyapis.vc.v1.CameraVideoDataFilter.mac)
}
inline void CameraVideoDataFilter::set_mac(int index, std::string&& value) {
  _internal_mutable_mac()->Mutable(index)->assign(std::move(value));
  // @@protoc_insertion_point(field_set:keyapis.vc.v1.CameraVideoDataFilter.mac)
}
inline void CameraVideoDataFilter::set_mac(int index, const char* value) {
  ABSL_DCHECK(value != nullptr);
  _internal_mutable_mac()->Mutable(index)->assign(value);
  // @@protoc_insertion_point(field_set_char:keyapis.vc.v1.CameraVideoDataFilter.mac)
}
inline void CameraVideoDataFilter::set_mac(int index, const char* value,
                              std::size_t size) {
  _internal_mutable_mac()->Mutable(index)->assign(
      reinterpret_cast<const char*>(value), size);
  // @@protoc_insertion_point(field_set_pointer:keyapis.vc.v1.CameraVideoDataFilter.mac)
}
inline void CameraVideoDataFilter::set_mac(int index, absl::string_view value) {
  _internal_mutable_mac()->Mutable(index)->assign(value.data(),
                                                     value.size());
  // @@protoc_insertion_point(field_set_string_piece:keyapis.vc.v1.CameraVideoDataFilter.mac)
}
inline void CameraVideoDataFilter::add_mac(const std::string& value) {
  _internal_mutable_mac()->Add()->assign(value);
  // @@protoc_insertion_point(field_add:keyapis.vc.v1.CameraVideoDataFilter.mac)
}
inline void CameraVideoDataFilter::add_mac(std::string&& value) {
  _internal_mutable_mac()->Add(std::move(value));
  // @@protoc_insertion_point(field_add:keyapis.vc.v1.CameraVideoDataFilter.mac)
}
inline void CameraVideoDataFilter::add_mac(const char* value) {
  ABSL_DCHECK(value != nullptr);
  _internal_mutable_mac()->Add()->assign(value);
  // @@protoc_insertion_point(field_add_char:keyapis.vc.v1.CameraVideoDataFilter.mac)
}
inline void CameraVideoDataFilter::add_mac(const char* value, std::size_t size) {
  _internal_mutable_mac()->Add()->assign(
      reinterpret_cast<const char*>(value), size);
  // @@protoc_insertion_point(field_add_pointer:keyapis.vc.v1.CameraVideoDataFilter.mac)
}
inline void CameraVideoDataFilter::add_mac(absl::string_view value) {
  _internal_mutable_mac()->Add()->assign(value.data(), value.size());
  // @@protoc_insertion_point(field_add_string_piece:keyapis.vc.v1.CameraVideoDataFilter.mac)
}
inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField<std::string>&
CameraVideoDataFilter::mac() const {
  // @@protoc_insertion_point(field_list:keyapis.vc.v1.CameraVideoDataFilter.mac)
  return _internal_mac();
}
inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField<std::string>* CameraVideoDataFilter::mutable_mac() {
  // @@protoc_insertion_point(field_mutable_list:keyapis.vc.v1.CameraVideoDataFilter.mac)
  return _internal_mutable_mac();
}
inline const std::string& CameraVideoDataFilter::_internal_mac(int index) const {
  return _internal_mac().Get(index);
}
inline std::string* CameraVideoDataFilter::_internal_add_mac() {
  return _internal_mutable_mac()->Add();
}
inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField<std::string>&
CameraVideoDataFilter::_internal_mac() const {
  return _impl_.mac_;
}
inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField<std::string>*
CameraVideoDataFilter::_internal_mutable_mac() {
  return &_impl_.mac_;
}

// repeated string ip = 4;
inline int CameraVideoDataFilter::_internal_ip_size() const {
  return _impl_.ip_.size();
}
inline int CameraVideoDataFilter::ip_size() const {
  return _internal_ip_size();
}
inline void CameraVideoDataFilter::clear_ip() {
  _internal_mutable_ip()->Clear();
}
inline std::string* CameraVideoDataFilter::add_ip() {
  std::string* _s = _internal_add_ip();
  // @@protoc_insertion_point(field_add_mutable:keyapis.vc.v1.CameraVideoDataFilter.ip)
  return _s;
}
inline const std::string& CameraVideoDataFilter::ip(int index) const {
  // @@protoc_insertion_point(field_get:keyapis.vc.v1.CameraVideoDataFilter.ip)
  return _internal_ip(index);
}
inline std::string* CameraVideoDataFilter::mutable_ip(int index) {
  // @@protoc_insertion_point(field_mutable:keyapis.vc.v1.CameraVideoDataFilter.ip)
  return _internal_mutable_ip()->Mutable(index);
}
inline void CameraVideoDataFilter::set_ip(int index, const std::string& value) {
  _internal_mutable_ip()->Mutable(index)->assign(value);
  // @@protoc_insertion_point(field_set:keyapis.vc.v1.CameraVideoDataFilter.ip)
}
inline void CameraVideoDataFilter::set_ip(int index, std::string&& value) {
  _internal_mutable_ip()->Mutable(index)->assign(std::move(value));
  // @@protoc_insertion_point(field_set:keyapis.vc.v1.CameraVideoDataFilter.ip)
}
inline void CameraVideoDataFilter::set_ip(int index, const char* value) {
  ABSL_DCHECK(value != nullptr);
  _internal_mutable_ip()->Mutable(index)->assign(value);
  // @@protoc_insertion_point(field_set_char:keyapis.vc.v1.CameraVideoDataFilter.ip)
}
inline void CameraVideoDataFilter::set_ip(int index, const char* value,
                              std::size_t size) {
  _internal_mutable_ip()->Mutable(index)->assign(
      reinterpret_cast<const char*>(value), size);
  // @@protoc_insertion_point(field_set_pointer:keyapis.vc.v1.CameraVideoDataFilter.ip)
}
inline void CameraVideoDataFilter::set_ip(int index, absl::string_view value) {
  _internal_mutable_ip()->Mutable(index)->assign(value.data(),
                                                     value.size());
  // @@protoc_insertion_point(field_set_string_piece:keyapis.vc.v1.CameraVideoDataFilter.ip)
}
inline void CameraVideoDataFilter::add_ip(const std::string& value) {
  _internal_mutable_ip()->Add()->assign(value);
  // @@protoc_insertion_point(field_add:keyapis.vc.v1.CameraVideoDataFilter.ip)
}
inline void CameraVideoDataFilter::add_ip(std::string&& value) {
  _internal_mutable_ip()->Add(std::move(value));
  // @@protoc_insertion_point(field_add:keyapis.vc.v1.CameraVideoDataFilter.ip)
}
inline void CameraVideoDataFilter::add_ip(const char* value) {
  ABSL_DCHECK(value != nullptr);
  _internal_mutable_ip()->Add()->assign(value);
  // @@protoc_insertion_point(field_add_char:keyapis.vc.v1.CameraVideoDataFilter.ip)
}
inline void CameraVideoDataFilter::add_ip(const char* value, std::size_t size) {
  _internal_mutable_ip()->Add()->assign(
      reinterpret_cast<const char*>(value), size);
  // @@protoc_insertion_point(field_add_pointer:keyapis.vc.v1.CameraVideoDataFilter.ip)
}
inline void CameraVideoDataFilter::add_ip(absl::string_view value) {
  _internal_mutable_ip()->Add()->assign(value.data(), value.size());
  // @@protoc_insertion_point(field_add_string_piece:keyapis.vc.v1.CameraVideoDataFilter.ip)
}
inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField<std::string>&
CameraVideoDataFilter::ip() const {
  // @@protoc_insertion_point(field_list:keyapis.vc.v1.CameraVideoDataFilter.ip)
  return _internal_ip();
}
inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField<std::string>* CameraVideoDataFilter::mutable_ip() {
  // @@protoc_insertion_point(field_mutable_list:keyapis.vc.v1.CameraVideoDataFilter.ip)
  return _internal_mutable_ip();
}
inline const std::string& CameraVideoDataFilter::_internal_ip(int index) const {
  return _internal_ip().Get(index);
}
inline std::string* CameraVideoDataFilter::_internal_add_ip() {
  return _internal_mutable_ip()->Add();
}
inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField<std::string>&
CameraVideoDataFilter::_internal_ip() const {
  return _impl_.ip_;
}
inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField<std::string>*
CameraVideoDataFilter::_internal_mutable_ip() {
  return &_impl_.ip_;
}

// repeated string serial_number = 5;
inline int CameraVideoDataFilter::_internal_serial_number_size() const {
  return _impl_.serial_number_.size();
}
inline int CameraVideoDataFilter::serial_number_size() const {
  return _internal_serial_number_size();
}
inline void CameraVideoDataFilter::clear_serial_number() {
  _internal_mutable_serial_number()->Clear();
}
inline std::string* CameraVideoDataFilter::add_serial_number() {
  std::string* _s = _internal_add_serial_number();
  // @@protoc_insertion_point(field_add_mutable:keyapis.vc.v1.CameraVideoDataFilter.serial_number)
  return _s;
}
inline const std::string& CameraVideoDataFilter::serial_number(int index) const {
  // @@protoc_insertion_point(field_get:keyapis.vc.v1.CameraVideoDataFilter.serial_number)
  return _internal_serial_number(index);
}
inline std::string* CameraVideoDataFilter::mutable_serial_number(int index) {
  // @@protoc_insertion_point(field_mutable:keyapis.vc.v1.CameraVideoDataFilter.serial_number)
  return _internal_mutable_serial_number()->Mutable(index);
}
inline void CameraVideoDataFilter::set_serial_number(int index, const std::string& value) {
  _internal_mutable_serial_number()->Mutable(index)->assign(value);
  // @@protoc_insertion_point(field_set:keyapis.vc.v1.CameraVideoDataFilter.serial_number)
}
inline void CameraVideoDataFilter::set_serial_number(int index, std::string&& value) {
  _internal_mutable_serial_number()->Mutable(index)->assign(std::move(value));
  // @@protoc_insertion_point(field_set:keyapis.vc.v1.CameraVideoDataFilter.serial_number)
}
inline void CameraVideoDataFilter::set_serial_number(int index, const char* value) {
  ABSL_DCHECK(value != nullptr);
  _internal_mutable_serial_number()->Mutable(index)->assign(value);
  // @@protoc_insertion_point(field_set_char:keyapis.vc.v1.CameraVideoDataFilter.serial_number)
}
inline void CameraVideoDataFilter::set_serial_number(int index, const char* value,
                              std::size_t size) {
  _internal_mutable_serial_number()->Mutable(index)->assign(
      reinterpret_cast<const char*>(value), size);
  // @@protoc_insertion_point(field_set_pointer:keyapis.vc.v1.CameraVideoDataFilter.serial_number)
}
inline void CameraVideoDataFilter::set_serial_number(int index, absl::string_view value) {
  _internal_mutable_serial_number()->Mutable(index)->assign(value.data(),
                                                     value.size());
  // @@protoc_insertion_point(field_set_string_piece:keyapis.vc.v1.CameraVideoDataFilter.serial_number)
}
inline void CameraVideoDataFilter::add_serial_number(const std::string& value) {
  _internal_mutable_serial_number()->Add()->assign(value);
  // @@protoc_insertion_point(field_add:keyapis.vc.v1.CameraVideoDataFilter.serial_number)
}
inline void CameraVideoDataFilter::add_serial_number(std::string&& value) {
  _internal_mutable_serial_number()->Add(std::move(value));
  // @@protoc_insertion_point(field_add:keyapis.vc.v1.CameraVideoDataFilter.serial_number)
}
inline void CameraVideoDataFilter::add_serial_number(const char* value) {
  ABSL_DCHECK(value != nullptr);
  _internal_mutable_serial_number()->Add()->assign(value);
  // @@protoc_insertion_point(field_add_char:keyapis.vc.v1.CameraVideoDataFilter.serial_number)
}
inline void CameraVideoDataFilter::add_serial_number(const char* value, std::size_t size) {
  _internal_mutable_serial_number()->Add()->assign(
      reinterpret_cast<const char*>(value), size);
  // @@protoc_insertion_point(field_add_pointer:keyapis.vc.v1.CameraVideoDataFilter.serial_number)
}
inline void CameraVideoDataFilter::add_serial_number(absl::string_view value) {
  _internal_mutable_serial_number()->Add()->assign(value.data(), value.size());
  // @@protoc_insertion_point(field_add_string_piece:keyapis.vc.v1.CameraVideoDataFilter.serial_number)
}
inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField<std::string>&
CameraVideoDataFilter::serial_number() const {
  // @@protoc_insertion_point(field_list:keyapis.vc.v1.CameraVideoDataFilter.serial_number)
  return _internal_serial_number();
}
inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField<std::string>* CameraVideoDataFilter::mutable_serial_number() {
  // @@protoc_insertion_point(field_mutable_list:keyapis.vc.v1.CameraVideoDataFilter.serial_number)
  return _internal_mutable_serial_number();
}
inline const std::string& CameraVideoDataFilter::_internal_serial_number(int index) const {
  return _internal_serial_number().Get(index);
}
inline std::string* CameraVideoDataFilter::_internal_add_serial_number() {
  return _internal_mutable_serial_number()->Add();
}
inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField<std::string>&
CameraVideoDataFilter::_internal_serial_number() const {
  return _impl_.serial_number_;
}
inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField<std::string>*
CameraVideoDataFilter::_internal_mutable_serial_number() {
  return &_impl_.serial_number_;
}

// repeated string category = 6;
inline int CameraVideoDataFilter::_internal_category_size() const {
  return _impl_.category_.size();
}
inline int CameraVideoDataFilter::category_size() const {
  return _internal_category_size();
}
inline void CameraVideoDataFilter::clear_category() {
  _internal_mutable_category()->Clear();
}
inline std::string* CameraVideoDataFilter::add_category() {
  std::string* _s = _internal_add_category();
  // @@protoc_insertion_point(field_add_mutable:keyapis.vc.v1.CameraVideoDataFilter.category)
  return _s;
}
inline const std::string& CameraVideoDataFilter::category(int index) const {
  // @@protoc_insertion_point(field_get:keyapis.vc.v1.CameraVideoDataFilter.category)
  return _internal_category(index);
}
inline std::string* CameraVideoDataFilter::mutable_category(int index) {
  // @@protoc_insertion_point(field_mutable:keyapis.vc.v1.CameraVideoDataFilter.category)
  return _internal_mutable_category()->Mutable(index);
}
inline void CameraVideoDataFilter::set_category(int index, const std::string& value) {
  _internal_mutable_category()->Mutable(index)->assign(value);
  // @@protoc_insertion_point(field_set:keyapis.vc.v1.CameraVideoDataFilter.category)
}
inline void CameraVideoDataFilter::set_category(int index, std::string&& value) {
  _internal_mutable_category()->Mutable(index)->assign(std::move(value));
  // @@protoc_insertion_point(field_set:keyapis.vc.v1.CameraVideoDataFilter.category)
}
inline void CameraVideoDataFilter::set_category(int index, const char* value) {
  ABSL_DCHECK(value != nullptr);
  _internal_mutable_category()->Mutable(index)->assign(value);
  // @@protoc_insertion_point(field_set_char:keyapis.vc.v1.CameraVideoDataFilter.category)
}
inline void CameraVideoDataFilter::set_category(int index, const char* value,
                              std::size_t size) {
  _internal_mutable_category()->Mutable(index)->assign(
      reinterpret_cast<const char*>(value), size);
  // @@protoc_insertion_point(field_set_pointer:keyapis.vc.v1.CameraVideoDataFilter.category)
}
inline void CameraVideoDataFilter::set_category(int index, absl::string_view value) {
  _internal_mutable_category()->Mutable(index)->assign(value.data(),
                                                     value.size());
  // @@protoc_insertion_point(field_set_string_piece:keyapis.vc.v1.CameraVideoDataFilter.category)
}
inline void CameraVideoDataFilter::add_category(const std::string& value) {
  _internal_mutable_category()->Add()->assign(value);
  // @@protoc_insertion_point(field_add:keyapis.vc.v1.CameraVideoDataFilter.category)
}
inline void CameraVideoDataFilter::add_category(std::string&& value) {
  _internal_mutable_category()->Add(std::move(value));
  // @@protoc_insertion_point(field_add:keyapis.vc.v1.CameraVideoDataFilter.category)
}
inline void CameraVideoDataFilter::add_category(const char* value) {
  ABSL_DCHECK(value != nullptr);
  _internal_mutable_category()->Add()->assign(value);
  // @@protoc_insertion_point(field_add_char:keyapis.vc.v1.CameraVideoDataFilter.category)
}
inline void CameraVideoDataFilter::add_category(const char* value, std::size_t size) {
  _internal_mutable_category()->Add()->assign(
      reinterpret_cast<const char*>(value), size);
  // @@protoc_insertion_point(field_add_pointer:keyapis.vc.v1.CameraVideoDataFilter.category)
}
inline void CameraVideoDataFilter::add_category(absl::string_view value) {
  _internal_mutable_category()->Add()->assign(value.data(), value.size());
  // @@protoc_insertion_point(field_add_string_piece:keyapis.vc.v1.CameraVideoDataFilter.category)
}
inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField<std::string>&
CameraVideoDataFilter::category() const {
  // @@protoc_insertion_point(field_list:keyapis.vc.v1.CameraVideoDataFilter.category)
  return _internal_category();
}
inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField<std::string>* CameraVideoDataFilter::mutable_category() {
  // @@protoc_insertion_point(field_mutable_list:keyapis.vc.v1.CameraVideoDataFilter.category)
  return _internal_mutable_category();
}
inline const std::string& CameraVideoDataFilter::_internal_category(int index) const {
  return _internal_category().Get(index);
}
inline std::string* CameraVideoDataFilter::_internal_add_category() {
  return _internal_mutable_category()->Add();
}
inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField<std::string>&
CameraVideoDataFilter::_internal_category() const {
  return _impl_.category_;
}
inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField<std::string>*
CameraVideoDataFilter::_internal_mutable_category() {
  return &_impl_.category_;
}

// -------------------------------------------------------------------

// CameraVideoDataPaging

// .keyapis.vc.v1.CameraVideoDataPaging.OrderByType order_by_type = 1;
inline void CameraVideoDataPaging::clear_order_by_type() {
  _impl_.order_by_type_ = 0;
}
inline ::keyapis::vc::v1::CameraVideoDataPaging_OrderByType CameraVideoDataPaging::order_by_type() const {
  // @@protoc_insertion_point(field_get:keyapis.vc.v1.CameraVideoDataPaging.order_by_type)
  return _internal_order_by_type();
}
inline void CameraVideoDataPaging::set_order_by_type(::keyapis::vc::v1::CameraVideoDataPaging_OrderByType value) {
   _internal_set_order_by_type(value);
  // @@protoc_insertion_point(field_set:keyapis.vc.v1.CameraVideoDataPaging.order_by_type)
}
inline ::keyapis::vc::v1::CameraVideoDataPaging_OrderByType CameraVideoDataPaging::_internal_order_by_type() const {
  return static_cast<::keyapis::vc::v1::CameraVideoDataPaging_OrderByType>(_impl_.order_by_type_);
}
inline void CameraVideoDataPaging::_internal_set_order_by_type(::keyapis::vc::v1::CameraVideoDataPaging_OrderByType value) {
  ;
  _impl_.order_by_type_ = value;
}

// .keyapis.vc.v1.CameraVideoDataPaging.DirectionType direction_type = 2;
inline void CameraVideoDataPaging::clear_direction_type() {
  _impl_.direction_type_ = 0;
}
inline ::keyapis::vc::v1::CameraVideoDataPaging_DirectionType CameraVideoDataPaging::direction_type() const {
  // @@protoc_insertion_point(field_get:keyapis.vc.v1.CameraVideoDataPaging.direction_type)
  return _internal_direction_type();
}
inline void CameraVideoDataPaging::set_direction_type(::keyapis::vc::v1::CameraVideoDataPaging_DirectionType value) {
   _internal_set_direction_type(value);
  // @@protoc_insertion_point(field_set:keyapis.vc.v1.CameraVideoDataPaging.direction_type)
}
inline ::keyapis::vc::v1::CameraVideoDataPaging_DirectionType CameraVideoDataPaging::_internal_direction_type() const {
  return static_cast<::keyapis::vc::v1::CameraVideoDataPaging_DirectionType>(_impl_.direction_type_);
}
inline void CameraVideoDataPaging::_internal_set_direction_type(::keyapis::vc::v1::CameraVideoDataPaging_DirectionType value) {
  ;
  _impl_.direction_type_ = value;
}

// int32 limit = 3;
inline void CameraVideoDataPaging::clear_limit() {
  _impl_.limit_ = 0;
}
inline ::int32_t CameraVideoDataPaging::limit() const {
  // @@protoc_insertion_point(field_get:keyapis.vc.v1.CameraVideoDataPaging.limit)
  return _internal_limit();
}
inline void CameraVideoDataPaging::set_limit(::int32_t value) {
  _internal_set_limit(value);
  // @@protoc_insertion_point(field_set:keyapis.vc.v1.CameraVideoDataPaging.limit)
}
inline ::int32_t CameraVideoDataPaging::_internal_limit() const {
  return _impl_.limit_;
}
inline void CameraVideoDataPaging::_internal_set_limit(::int32_t value) {
  ;
  _impl_.limit_ = value;
}

// int32 offset = 4;
inline void CameraVideoDataPaging::clear_offset() {
  _impl_.offset_ = 0;
}
inline ::int32_t CameraVideoDataPaging::offset() const {
  // @@protoc_insertion_point(field_get:keyapis.vc.v1.CameraVideoDataPaging.offset)
  return _internal_offset();
}
inline void CameraVideoDataPaging::set_offset(::int32_t value) {
  _internal_set_offset(value);
  // @@protoc_insertion_point(field_set:keyapis.vc.v1.CameraVideoDataPaging.offset)
}
inline ::int32_t CameraVideoDataPaging::_internal_offset() const {
  return _impl_.offset_;
}
inline void CameraVideoDataPaging::_internal_set_offset(::int32_t value) {
  ;
  _impl_.offset_ = value;
}

// -------------------------------------------------------------------

// CameraVideoDataScope

// int64 company_id = 1;
inline bool CameraVideoDataScope::has_company_id() const {
  return scope_case() == kCompanyId;
}
inline void CameraVideoDataScope::set_has_company_id() {
  _impl_._oneof_case_[0] = kCompanyId;
}
inline void CameraVideoDataScope::clear_company_id() {
  if (scope_case() == kCompanyId) {
    _impl_.scope_.company_id_ = ::int64_t{0};
    clear_has_scope();
  }
}
inline ::int64_t CameraVideoDataScope::company_id() const {
  // @@protoc_insertion_point(field_get:keyapis.vc.v1.CameraVideoDataScope.company_id)
  return _internal_company_id();
}
inline void CameraVideoDataScope::set_company_id(::int64_t value) {
  _internal_set_company_id(value);
  // @@protoc_insertion_point(field_set:keyapis.vc.v1.CameraVideoDataScope.company_id)
}
inline ::int64_t CameraVideoDataScope::_internal_company_id() const {
  if (scope_case() == kCompanyId) {
    return _impl_.scope_.company_id_;
  }
  return ::int64_t{0};
}
inline void CameraVideoDataScope::_internal_set_company_id(::int64_t value) {
  if (scope_case() != kCompanyId) {
    clear_scope();
    set_has_company_id();
  }
  _impl_.scope_.company_id_ = value;
}

// int32 user_id = 2;
inline bool CameraVideoDataScope::has_user_id() const {
  return scope_case() == kUserId;
}
inline void CameraVideoDataScope::set_has_user_id() {
  _impl_._oneof_case_[0] = kUserId;
}
inline void CameraVideoDataScope::clear_user_id() {
  if (scope_case() == kUserId) {
    _impl_.scope_.user_id_ = 0;
    clear_has_scope();
  }
}
inline ::int32_t CameraVideoDataScope::user_id() const {
  // @@protoc_insertion_point(field_get:keyapis.vc.v1.CameraVideoDataScope.user_id)
  return _internal_user_id();
}
inline void CameraVideoDataScope::set_user_id(::int32_t value) {
  _internal_set_user_id(value);
  // @@protoc_insertion_point(field_set:keyapis.vc.v1.CameraVideoDataScope.user_id)
}
inline ::int32_t CameraVideoDataScope::_internal_user_id() const {
  if (scope_case() == kUserId) {
    return _impl_.scope_.user_id_;
  }
  return 0;
}
inline void CameraVideoDataScope::_internal_set_user_id(::int32_t value) {
  if (scope_case() != kUserId) {
    clear_scope();
    set_has_user_id();
  }
  _impl_.scope_.user_id_ = value;
}

inline bool CameraVideoDataScope::has_scope() const {
  return scope_case() != SCOPE_NOT_SET;
}
inline void CameraVideoDataScope::clear_has_scope() {
  _impl_._oneof_case_[0] = SCOPE_NOT_SET;
}
inline CameraVideoDataScope::ScopeCase CameraVideoDataScope::scope_case() const {
  return CameraVideoDataScope::ScopeCase(_impl_._oneof_case_[0]);
}
// -------------------------------------------------------------------

// GetCameraVideoDataCountRequest

// .keyapis.vc.v1.CameraVideoDataScope scope = 1;
inline bool GetCameraVideoDataCountRequest::has_scope() const {
  bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0;
  PROTOBUF_ASSUME(!value || _impl_.scope_ != nullptr);
  return value;
}
inline void GetCameraVideoDataCountRequest::clear_scope() {
  if (_impl_.scope_ != nullptr) _impl_.scope_->Clear();
  _impl_._has_bits_[0] &= ~0x00000001u;
}
inline const ::keyapis::vc::v1::CameraVideoDataScope& GetCameraVideoDataCountRequest::_internal_scope() const {
  const ::keyapis::vc::v1::CameraVideoDataScope* p = _impl_.scope_;
  return p != nullptr ? *p : reinterpret_cast<const ::keyapis::vc::v1::CameraVideoDataScope&>(
      ::keyapis::vc::v1::_CameraVideoDataScope_default_instance_);
}
inline const ::keyapis::vc::v1::CameraVideoDataScope& GetCameraVideoDataCountRequest::scope() const {
  // @@protoc_insertion_point(field_get:keyapis.vc.v1.GetCameraVideoDataCountRequest.scope)
  return _internal_scope();
}
inline void GetCameraVideoDataCountRequest::unsafe_arena_set_allocated_scope(
    ::keyapis::vc::v1::CameraVideoDataScope* scope) {
  if (GetArenaForAllocation() == nullptr) {
    delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.scope_);
  }
  _impl_.scope_ = scope;
  if (scope) {
    _impl_._has_bits_[0] |= 0x00000001u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000001u;
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:keyapis.vc.v1.GetCameraVideoDataCountRequest.scope)
}
inline ::keyapis::vc::v1::CameraVideoDataScope* GetCameraVideoDataCountRequest::release_scope() {
  _impl_._has_bits_[0] &= ~0x00000001u;
  ::keyapis::vc::v1::CameraVideoDataScope* temp = _impl_.scope_;
  _impl_.scope_ = nullptr;
#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE
  auto* old =  reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp);
  temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
  if (GetArenaForAllocation() == nullptr) { delete old; }
#else  // PROTOBUF_FORCE_COPY_IN_RELEASE
  if (GetArenaForAllocation() != nullptr) {
    temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
  }
#endif  // !PROTOBUF_FORCE_COPY_IN_RELEASE
  return temp;
}
inline ::keyapis::vc::v1::CameraVideoDataScope* GetCameraVideoDataCountRequest::unsafe_arena_release_scope() {
  // @@protoc_insertion_point(field_release:keyapis.vc.v1.GetCameraVideoDataCountRequest.scope)
  _impl_._has_bits_[0] &= ~0x00000001u;
  ::keyapis::vc::v1::CameraVideoDataScope* temp = _impl_.scope_;
  _impl_.scope_ = nullptr;
  return temp;
}
inline ::keyapis::vc::v1::CameraVideoDataScope* GetCameraVideoDataCountRequest::_internal_mutable_scope() {
  _impl_._has_bits_[0] |= 0x00000001u;
  if (_impl_.scope_ == nullptr) {
    auto* p = CreateMaybeMessage<::keyapis::vc::v1::CameraVideoDataScope>(GetArenaForAllocation());
    _impl_.scope_ = p;
  }
  return _impl_.scope_;
}
inline ::keyapis::vc::v1::CameraVideoDataScope* GetCameraVideoDataCountRequest::mutable_scope() {
  ::keyapis::vc::v1::CameraVideoDataScope* _msg = _internal_mutable_scope();
  // @@protoc_insertion_point(field_mutable:keyapis.vc.v1.GetCameraVideoDataCountRequest.scope)
  return _msg;
}
inline void GetCameraVideoDataCountRequest::set_allocated_scope(::keyapis::vc::v1::CameraVideoDataScope* scope) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation();
  if (message_arena == nullptr) {
    delete _impl_.scope_;
  }
  if (scope) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
        ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(scope);
    if (message_arena != submessage_arena) {
      scope = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, scope, submessage_arena);
    }
    _impl_._has_bits_[0] |= 0x00000001u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000001u;
  }
  _impl_.scope_ = scope;
  // @@protoc_insertion_point(field_set_allocated:keyapis.vc.v1.GetCameraVideoDataCountRequest.scope)
}

// .keyapis.vc.v1.CameraVideoDataFilter filter = 2;
inline bool GetCameraVideoDataCountRequest::has_filter() const {
  bool value = (_impl_._has_bits_[0] & 0x00000002u) != 0;
  PROTOBUF_ASSUME(!value || _impl_.filter_ != nullptr);
  return value;
}
inline void GetCameraVideoDataCountRequest::clear_filter() {
  if (_impl_.filter_ != nullptr) _impl_.filter_->Clear();
  _impl_._has_bits_[0] &= ~0x00000002u;
}
inline const ::keyapis::vc::v1::CameraVideoDataFilter& GetCameraVideoDataCountRequest::_internal_filter() const {
  const ::keyapis::vc::v1::CameraVideoDataFilter* p = _impl_.filter_;
  return p != nullptr ? *p : reinterpret_cast<const ::keyapis::vc::v1::CameraVideoDataFilter&>(
      ::keyapis::vc::v1::_CameraVideoDataFilter_default_instance_);
}
inline const ::keyapis::vc::v1::CameraVideoDataFilter& GetCameraVideoDataCountRequest::filter() const {
  // @@protoc_insertion_point(field_get:keyapis.vc.v1.GetCameraVideoDataCountRequest.filter)
  return _internal_filter();
}
inline void GetCameraVideoDataCountRequest::unsafe_arena_set_allocated_filter(
    ::keyapis::vc::v1::CameraVideoDataFilter* filter) {
  if (GetArenaForAllocation() == nullptr) {
    delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.filter_);
  }
  _impl_.filter_ = filter;
  if (filter) {
    _impl_._has_bits_[0] |= 0x00000002u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000002u;
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:keyapis.vc.v1.GetCameraVideoDataCountRequest.filter)
}
inline ::keyapis::vc::v1::CameraVideoDataFilter* GetCameraVideoDataCountRequest::release_filter() {
  _impl_._has_bits_[0] &= ~0x00000002u;
  ::keyapis::vc::v1::CameraVideoDataFilter* temp = _impl_.filter_;
  _impl_.filter_ = nullptr;
#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE
  auto* old =  reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp);
  temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
  if (GetArenaForAllocation() == nullptr) { delete old; }
#else  // PROTOBUF_FORCE_COPY_IN_RELEASE
  if (GetArenaForAllocation() != nullptr) {
    temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
  }
#endif  // !PROTOBUF_FORCE_COPY_IN_RELEASE
  return temp;
}
inline ::keyapis::vc::v1::CameraVideoDataFilter* GetCameraVideoDataCountRequest::unsafe_arena_release_filter() {
  // @@protoc_insertion_point(field_release:keyapis.vc.v1.GetCameraVideoDataCountRequest.filter)
  _impl_._has_bits_[0] &= ~0x00000002u;
  ::keyapis::vc::v1::CameraVideoDataFilter* temp = _impl_.filter_;
  _impl_.filter_ = nullptr;
  return temp;
}
inline ::keyapis::vc::v1::CameraVideoDataFilter* GetCameraVideoDataCountRequest::_internal_mutable_filter() {
  _impl_._has_bits_[0] |= 0x00000002u;
  if (_impl_.filter_ == nullptr) {
    auto* p = CreateMaybeMessage<::keyapis::vc::v1::CameraVideoDataFilter>(GetArenaForAllocation());
    _impl_.filter_ = p;
  }
  return _impl_.filter_;
}
inline ::keyapis::vc::v1::CameraVideoDataFilter* GetCameraVideoDataCountRequest::mutable_filter() {
  ::keyapis::vc::v1::CameraVideoDataFilter* _msg = _internal_mutable_filter();
  // @@protoc_insertion_point(field_mutable:keyapis.vc.v1.GetCameraVideoDataCountRequest.filter)
  return _msg;
}
inline void GetCameraVideoDataCountRequest::set_allocated_filter(::keyapis::vc::v1::CameraVideoDataFilter* filter) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation();
  if (message_arena == nullptr) {
    delete _impl_.filter_;
  }
  if (filter) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
        ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(filter);
    if (message_arena != submessage_arena) {
      filter = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, filter, submessage_arena);
    }
    _impl_._has_bits_[0] |= 0x00000002u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000002u;
  }
  _impl_.filter_ = filter;
  // @@protoc_insertion_point(field_set_allocated:keyapis.vc.v1.GetCameraVideoDataCountRequest.filter)
}

// -------------------------------------------------------------------

// GetCameraVideoDataCountResponse_Error

// .keyapis.vc.v1.ValidationError validation = 1;
inline bool GetCameraVideoDataCountResponse_Error::has_validation() const {
  return reason_case() == kValidation;
}
inline bool GetCameraVideoDataCountResponse_Error::_internal_has_validation() const {
  return reason_case() == kValidation;
}
inline void GetCameraVideoDataCountResponse_Error::set_has_validation() {
  _impl_._oneof_case_[0] = kValidation;
}
inline ::keyapis::vc::v1::ValidationError* GetCameraVideoDataCountResponse_Error::release_validation() {
  // @@protoc_insertion_point(field_release:keyapis.vc.v1.GetCameraVideoDataCountResponse.Error.validation)
  if (reason_case() == kValidation) {
    clear_has_reason();
    ::keyapis::vc::v1::ValidationError* temp = _impl_.reason_.validation_;
    if (GetArenaForAllocation() != nullptr) {
      temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
    }
    _impl_.reason_.validation_ = nullptr;
    return temp;
  } else {
    return nullptr;
  }
}
inline const ::keyapis::vc::v1::ValidationError& GetCameraVideoDataCountResponse_Error::_internal_validation() const {
  return reason_case() == kValidation
      ? *_impl_.reason_.validation_
      : reinterpret_cast<::keyapis::vc::v1::ValidationError&>(::keyapis::vc::v1::_ValidationError_default_instance_);
}
inline const ::keyapis::vc::v1::ValidationError& GetCameraVideoDataCountResponse_Error::validation() const {
  // @@protoc_insertion_point(field_get:keyapis.vc.v1.GetCameraVideoDataCountResponse.Error.validation)
  return _internal_validation();
}
inline ::keyapis::vc::v1::ValidationError* GetCameraVideoDataCountResponse_Error::unsafe_arena_release_validation() {
  // @@protoc_insertion_point(field_unsafe_arena_release:keyapis.vc.v1.GetCameraVideoDataCountResponse.Error.validation)
  if (reason_case() == kValidation) {
    clear_has_reason();
    ::keyapis::vc::v1::ValidationError* temp = _impl_.reason_.validation_;
    _impl_.reason_.validation_ = nullptr;
    return temp;
  } else {
    return nullptr;
  }
}
inline void GetCameraVideoDataCountResponse_Error::unsafe_arena_set_allocated_validation(::keyapis::vc::v1::ValidationError* validation) {
  clear_reason();
  if (validation) {
    set_has_validation();
    _impl_.reason_.validation_ = validation;
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:keyapis.vc.v1.GetCameraVideoDataCountResponse.Error.validation)
}
inline ::keyapis::vc::v1::ValidationError* GetCameraVideoDataCountResponse_Error::_internal_mutable_validation() {
  if (reason_case() != kValidation) {
    clear_reason();
    set_has_validation();
    _impl_.reason_.validation_ = CreateMaybeMessage< ::keyapis::vc::v1::ValidationError >(GetArenaForAllocation());
  }
  return _impl_.reason_.validation_;
}
inline ::keyapis::vc::v1::ValidationError* GetCameraVideoDataCountResponse_Error::mutable_validation() {
  ::keyapis::vc::v1::ValidationError* _msg = _internal_mutable_validation();
  // @@protoc_insertion_point(field_mutable:keyapis.vc.v1.GetCameraVideoDataCountResponse.Error.validation)
  return _msg;
}

inline bool GetCameraVideoDataCountResponse_Error::has_reason() const {
  return reason_case() != REASON_NOT_SET;
}
inline void GetCameraVideoDataCountResponse_Error::clear_has_reason() {
  _impl_._oneof_case_[0] = REASON_NOT_SET;
}
inline GetCameraVideoDataCountResponse_Error::ReasonCase GetCameraVideoDataCountResponse_Error::reason_case() const {
  return GetCameraVideoDataCountResponse_Error::ReasonCase(_impl_._oneof_case_[0]);
}
// -------------------------------------------------------------------

// GetCameraVideoDataCountResponse

// int32 data = 1;
inline bool GetCameraVideoDataCountResponse::has_data() const {
  return type_case() == kData;
}
inline void GetCameraVideoDataCountResponse::set_has_data() {
  _impl_._oneof_case_[0] = kData;
}
inline void GetCameraVideoDataCountResponse::clear_data() {
  if (type_case() == kData) {
    _impl_.type_.data_ = 0;
    clear_has_type();
  }
}
inline ::int32_t GetCameraVideoDataCountResponse::data() const {
  // @@protoc_insertion_point(field_get:keyapis.vc.v1.GetCameraVideoDataCountResponse.data)
  return _internal_data();
}
inline void GetCameraVideoDataCountResponse::set_data(::int32_t value) {
  _internal_set_data(value);
  // @@protoc_insertion_point(field_set:keyapis.vc.v1.GetCameraVideoDataCountResponse.data)
}
inline ::int32_t GetCameraVideoDataCountResponse::_internal_data() const {
  if (type_case() == kData) {
    return _impl_.type_.data_;
  }
  return 0;
}
inline void GetCameraVideoDataCountResponse::_internal_set_data(::int32_t value) {
  if (type_case() != kData) {
    clear_type();
    set_has_data();
  }
  _impl_.type_.data_ = value;
}

// .keyapis.vc.v1.GetCameraVideoDataCountResponse.Error error = 2;
inline bool GetCameraVideoDataCountResponse::has_error() const {
  return type_case() == kError;
}
inline bool GetCameraVideoDataCountResponse::_internal_has_error() const {
  return type_case() == kError;
}
inline void GetCameraVideoDataCountResponse::set_has_error() {
  _impl_._oneof_case_[0] = kError;
}
inline void GetCameraVideoDataCountResponse::clear_error() {
  if (type_case() == kError) {
    if (GetArenaForAllocation() == nullptr) {
      delete _impl_.type_.error_;
    }
    clear_has_type();
  }
}
inline ::keyapis::vc::v1::GetCameraVideoDataCountResponse_Error* GetCameraVideoDataCountResponse::release_error() {
  // @@protoc_insertion_point(field_release:keyapis.vc.v1.GetCameraVideoDataCountResponse.error)
  if (type_case() == kError) {
    clear_has_type();
    ::keyapis::vc::v1::GetCameraVideoDataCountResponse_Error* temp = _impl_.type_.error_;
    if (GetArenaForAllocation() != nullptr) {
      temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
    }
    _impl_.type_.error_ = nullptr;
    return temp;
  } else {
    return nullptr;
  }
}
inline const ::keyapis::vc::v1::GetCameraVideoDataCountResponse_Error& GetCameraVideoDataCountResponse::_internal_error() const {
  return type_case() == kError
      ? *_impl_.type_.error_
      : reinterpret_cast<::keyapis::vc::v1::GetCameraVideoDataCountResponse_Error&>(::keyapis::vc::v1::_GetCameraVideoDataCountResponse_Error_default_instance_);
}
inline const ::keyapis::vc::v1::GetCameraVideoDataCountResponse_Error& GetCameraVideoDataCountResponse::error() const {
  // @@protoc_insertion_point(field_get:keyapis.vc.v1.GetCameraVideoDataCountResponse.error)
  return _internal_error();
}
inline ::keyapis::vc::v1::GetCameraVideoDataCountResponse_Error* GetCameraVideoDataCountResponse::unsafe_arena_release_error() {
  // @@protoc_insertion_point(field_unsafe_arena_release:keyapis.vc.v1.GetCameraVideoDataCountResponse.error)
  if (type_case() == kError) {
    clear_has_type();
    ::keyapis::vc::v1::GetCameraVideoDataCountResponse_Error* temp = _impl_.type_.error_;
    _impl_.type_.error_ = nullptr;
    return temp;
  } else {
    return nullptr;
  }
}
inline void GetCameraVideoDataCountResponse::unsafe_arena_set_allocated_error(::keyapis::vc::v1::GetCameraVideoDataCountResponse_Error* error) {
  clear_type();
  if (error) {
    set_has_error();
    _impl_.type_.error_ = error;
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:keyapis.vc.v1.GetCameraVideoDataCountResponse.error)
}
inline ::keyapis::vc::v1::GetCameraVideoDataCountResponse_Error* GetCameraVideoDataCountResponse::_internal_mutable_error() {
  if (type_case() != kError) {
    clear_type();
    set_has_error();
    _impl_.type_.error_ = CreateMaybeMessage< ::keyapis::vc::v1::GetCameraVideoDataCountResponse_Error >(GetArenaForAllocation());
  }
  return _impl_.type_.error_;
}
inline ::keyapis::vc::v1::GetCameraVideoDataCountResponse_Error* GetCameraVideoDataCountResponse::mutable_error() {
  ::keyapis::vc::v1::GetCameraVideoDataCountResponse_Error* _msg = _internal_mutable_error();
  // @@protoc_insertion_point(field_mutable:keyapis.vc.v1.GetCameraVideoDataCountResponse.error)
  return _msg;
}

inline bool GetCameraVideoDataCountResponse::has_type() const {
  return type_case() != TYPE_NOT_SET;
}
inline void GetCameraVideoDataCountResponse::clear_has_type() {
  _impl_._oneof_case_[0] = TYPE_NOT_SET;
}
inline GetCameraVideoDataCountResponse::TypeCase GetCameraVideoDataCountResponse::type_case() const {
  return GetCameraVideoDataCountResponse::TypeCase(_impl_._oneof_case_[0]);
}
// -------------------------------------------------------------------

// GetCameraVideoDataListRequest

// .keyapis.vc.v1.CameraVideoDataScope scope = 1;
inline bool GetCameraVideoDataListRequest::has_scope() const {
  bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0;
  PROTOBUF_ASSUME(!value || _impl_.scope_ != nullptr);
  return value;
}
inline void GetCameraVideoDataListRequest::clear_scope() {
  if (_impl_.scope_ != nullptr) _impl_.scope_->Clear();
  _impl_._has_bits_[0] &= ~0x00000001u;
}
inline const ::keyapis::vc::v1::CameraVideoDataScope& GetCameraVideoDataListRequest::_internal_scope() const {
  const ::keyapis::vc::v1::CameraVideoDataScope* p = _impl_.scope_;
  return p != nullptr ? *p : reinterpret_cast<const ::keyapis::vc::v1::CameraVideoDataScope&>(
      ::keyapis::vc::v1::_CameraVideoDataScope_default_instance_);
}
inline const ::keyapis::vc::v1::CameraVideoDataScope& GetCameraVideoDataListRequest::scope() const {
  // @@protoc_insertion_point(field_get:keyapis.vc.v1.GetCameraVideoDataListRequest.scope)
  return _internal_scope();
}
inline void GetCameraVideoDataListRequest::unsafe_arena_set_allocated_scope(
    ::keyapis::vc::v1::CameraVideoDataScope* scope) {
  if (GetArenaForAllocation() == nullptr) {
    delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.scope_);
  }
  _impl_.scope_ = scope;
  if (scope) {
    _impl_._has_bits_[0] |= 0x00000001u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000001u;
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:keyapis.vc.v1.GetCameraVideoDataListRequest.scope)
}
inline ::keyapis::vc::v1::CameraVideoDataScope* GetCameraVideoDataListRequest::release_scope() {
  _impl_._has_bits_[0] &= ~0x00000001u;
  ::keyapis::vc::v1::CameraVideoDataScope* temp = _impl_.scope_;
  _impl_.scope_ = nullptr;
#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE
  auto* old =  reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp);
  temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
  if (GetArenaForAllocation() == nullptr) { delete old; }
#else  // PROTOBUF_FORCE_COPY_IN_RELEASE
  if (GetArenaForAllocation() != nullptr) {
    temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
  }
#endif  // !PROTOBUF_FORCE_COPY_IN_RELEASE
  return temp;
}
inline ::keyapis::vc::v1::CameraVideoDataScope* GetCameraVideoDataListRequest::unsafe_arena_release_scope() {
  // @@protoc_insertion_point(field_release:keyapis.vc.v1.GetCameraVideoDataListRequest.scope)
  _impl_._has_bits_[0] &= ~0x00000001u;
  ::keyapis::vc::v1::CameraVideoDataScope* temp = _impl_.scope_;
  _impl_.scope_ = nullptr;
  return temp;
}
inline ::keyapis::vc::v1::CameraVideoDataScope* GetCameraVideoDataListRequest::_internal_mutable_scope() {
  _impl_._has_bits_[0] |= 0x00000001u;
  if (_impl_.scope_ == nullptr) {
    auto* p = CreateMaybeMessage<::keyapis::vc::v1::CameraVideoDataScope>(GetArenaForAllocation());
    _impl_.scope_ = p;
  }
  return _impl_.scope_;
}
inline ::keyapis::vc::v1::CameraVideoDataScope* GetCameraVideoDataListRequest::mutable_scope() {
  ::keyapis::vc::v1::CameraVideoDataScope* _msg = _internal_mutable_scope();
  // @@protoc_insertion_point(field_mutable:keyapis.vc.v1.GetCameraVideoDataListRequest.scope)
  return _msg;
}
inline void GetCameraVideoDataListRequest::set_allocated_scope(::keyapis::vc::v1::CameraVideoDataScope* scope) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation();
  if (message_arena == nullptr) {
    delete _impl_.scope_;
  }
  if (scope) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
        ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(scope);
    if (message_arena != submessage_arena) {
      scope = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, scope, submessage_arena);
    }
    _impl_._has_bits_[0] |= 0x00000001u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000001u;
  }
  _impl_.scope_ = scope;
  // @@protoc_insertion_point(field_set_allocated:keyapis.vc.v1.GetCameraVideoDataListRequest.scope)
}

// .keyapis.vc.v1.CameraVideoDataFilter filter = 2;
inline bool GetCameraVideoDataListRequest::has_filter() const {
  bool value = (_impl_._has_bits_[0] & 0x00000002u) != 0;
  PROTOBUF_ASSUME(!value || _impl_.filter_ != nullptr);
  return value;
}
inline void GetCameraVideoDataListRequest::clear_filter() {
  if (_impl_.filter_ != nullptr) _impl_.filter_->Clear();
  _impl_._has_bits_[0] &= ~0x00000002u;
}
inline const ::keyapis::vc::v1::CameraVideoDataFilter& GetCameraVideoDataListRequest::_internal_filter() const {
  const ::keyapis::vc::v1::CameraVideoDataFilter* p = _impl_.filter_;
  return p != nullptr ? *p : reinterpret_cast<const ::keyapis::vc::v1::CameraVideoDataFilter&>(
      ::keyapis::vc::v1::_CameraVideoDataFilter_default_instance_);
}
inline const ::keyapis::vc::v1::CameraVideoDataFilter& GetCameraVideoDataListRequest::filter() const {
  // @@protoc_insertion_point(field_get:keyapis.vc.v1.GetCameraVideoDataListRequest.filter)
  return _internal_filter();
}
inline void GetCameraVideoDataListRequest::unsafe_arena_set_allocated_filter(
    ::keyapis::vc::v1::CameraVideoDataFilter* filter) {
  if (GetArenaForAllocation() == nullptr) {
    delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.filter_);
  }
  _impl_.filter_ = filter;
  if (filter) {
    _impl_._has_bits_[0] |= 0x00000002u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000002u;
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:keyapis.vc.v1.GetCameraVideoDataListRequest.filter)
}
inline ::keyapis::vc::v1::CameraVideoDataFilter* GetCameraVideoDataListRequest::release_filter() {
  _impl_._has_bits_[0] &= ~0x00000002u;
  ::keyapis::vc::v1::CameraVideoDataFilter* temp = _impl_.filter_;
  _impl_.filter_ = nullptr;
#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE
  auto* old =  reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp);
  temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
  if (GetArenaForAllocation() == nullptr) { delete old; }
#else  // PROTOBUF_FORCE_COPY_IN_RELEASE
  if (GetArenaForAllocation() != nullptr) {
    temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
  }
#endif  // !PROTOBUF_FORCE_COPY_IN_RELEASE
  return temp;
}
inline ::keyapis::vc::v1::CameraVideoDataFilter* GetCameraVideoDataListRequest::unsafe_arena_release_filter() {
  // @@protoc_insertion_point(field_release:keyapis.vc.v1.GetCameraVideoDataListRequest.filter)
  _impl_._has_bits_[0] &= ~0x00000002u;
  ::keyapis::vc::v1::CameraVideoDataFilter* temp = _impl_.filter_;
  _impl_.filter_ = nullptr;
  return temp;
}
inline ::keyapis::vc::v1::CameraVideoDataFilter* GetCameraVideoDataListRequest::_internal_mutable_filter() {
  _impl_._has_bits_[0] |= 0x00000002u;
  if (_impl_.filter_ == nullptr) {
    auto* p = CreateMaybeMessage<::keyapis::vc::v1::CameraVideoDataFilter>(GetArenaForAllocation());
    _impl_.filter_ = p;
  }
  return _impl_.filter_;
}
inline ::keyapis::vc::v1::CameraVideoDataFilter* GetCameraVideoDataListRequest::mutable_filter() {
  ::keyapis::vc::v1::CameraVideoDataFilter* _msg = _internal_mutable_filter();
  // @@protoc_insertion_point(field_mutable:keyapis.vc.v1.GetCameraVideoDataListRequest.filter)
  return _msg;
}
inline void GetCameraVideoDataListRequest::set_allocated_filter(::keyapis::vc::v1::CameraVideoDataFilter* filter) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation();
  if (message_arena == nullptr) {
    delete _impl_.filter_;
  }
  if (filter) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
        ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(filter);
    if (message_arena != submessage_arena) {
      filter = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, filter, submessage_arena);
    }
    _impl_._has_bits_[0] |= 0x00000002u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000002u;
  }
  _impl_.filter_ = filter;
  // @@protoc_insertion_point(field_set_allocated:keyapis.vc.v1.GetCameraVideoDataListRequest.filter)
}

// .keyapis.vc.v1.CameraVideoDataPaging paging = 3;
inline bool GetCameraVideoDataListRequest::has_paging() const {
  return pagination_case() == kPaging;
}
inline bool GetCameraVideoDataListRequest::_internal_has_paging() const {
  return pagination_case() == kPaging;
}
inline void GetCameraVideoDataListRequest::set_has_paging() {
  _impl_._oneof_case_[0] = kPaging;
}
inline void GetCameraVideoDataListRequest::clear_paging() {
  if (pagination_case() == kPaging) {
    if (GetArenaForAllocation() == nullptr) {
      delete _impl_.pagination_.paging_;
    }
    clear_has_pagination();
  }
}
inline ::keyapis::vc::v1::CameraVideoDataPaging* GetCameraVideoDataListRequest::release_paging() {
  // @@protoc_insertion_point(field_release:keyapis.vc.v1.GetCameraVideoDataListRequest.paging)
  if (pagination_case() == kPaging) {
    clear_has_pagination();
    ::keyapis::vc::v1::CameraVideoDataPaging* temp = _impl_.pagination_.paging_;
    if (GetArenaForAllocation() != nullptr) {
      temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
    }
    _impl_.pagination_.paging_ = nullptr;
    return temp;
  } else {
    return nullptr;
  }
}
inline const ::keyapis::vc::v1::CameraVideoDataPaging& GetCameraVideoDataListRequest::_internal_paging() const {
  return pagination_case() == kPaging
      ? *_impl_.pagination_.paging_
      : reinterpret_cast<::keyapis::vc::v1::CameraVideoDataPaging&>(::keyapis::vc::v1::_CameraVideoDataPaging_default_instance_);
}
inline const ::keyapis::vc::v1::CameraVideoDataPaging& GetCameraVideoDataListRequest::paging() const {
  // @@protoc_insertion_point(field_get:keyapis.vc.v1.GetCameraVideoDataListRequest.paging)
  return _internal_paging();
}
inline ::keyapis::vc::v1::CameraVideoDataPaging* GetCameraVideoDataListRequest::unsafe_arena_release_paging() {
  // @@protoc_insertion_point(field_unsafe_arena_release:keyapis.vc.v1.GetCameraVideoDataListRequest.paging)
  if (pagination_case() == kPaging) {
    clear_has_pagination();
    ::keyapis::vc::v1::CameraVideoDataPaging* temp = _impl_.pagination_.paging_;
    _impl_.pagination_.paging_ = nullptr;
    return temp;
  } else {
    return nullptr;
  }
}
inline void GetCameraVideoDataListRequest::unsafe_arena_set_allocated_paging(::keyapis::vc::v1::CameraVideoDataPaging* paging) {
  clear_pagination();
  if (paging) {
    set_has_paging();
    _impl_.pagination_.paging_ = paging;
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:keyapis.vc.v1.GetCameraVideoDataListRequest.paging)
}
inline ::keyapis::vc::v1::CameraVideoDataPaging* GetCameraVideoDataListRequest::_internal_mutable_paging() {
  if (pagination_case() != kPaging) {
    clear_pagination();
    set_has_paging();
    _impl_.pagination_.paging_ = CreateMaybeMessage< ::keyapis::vc::v1::CameraVideoDataPaging >(GetArenaForAllocation());
  }
  return _impl_.pagination_.paging_;
}
inline ::keyapis::vc::v1::CameraVideoDataPaging* GetCameraVideoDataListRequest::mutable_paging() {
  ::keyapis::vc::v1::CameraVideoDataPaging* _msg = _internal_mutable_paging();
  // @@protoc_insertion_point(field_mutable:keyapis.vc.v1.GetCameraVideoDataListRequest.paging)
  return _msg;
}

inline bool GetCameraVideoDataListRequest::has_pagination() const {
  return pagination_case() != PAGINATION_NOT_SET;
}
inline void GetCameraVideoDataListRequest::clear_has_pagination() {
  _impl_._oneof_case_[0] = PAGINATION_NOT_SET;
}
inline GetCameraVideoDataListRequest::PaginationCase GetCameraVideoDataListRequest::pagination_case() const {
  return GetCameraVideoDataListRequest::PaginationCase(_impl_._oneof_case_[0]);
}
// -------------------------------------------------------------------

// GetCameraVideoDataListResponse_Error

// .keyapis.vc.v1.ValidationError validation = 1;
inline bool GetCameraVideoDataListResponse_Error::has_validation() const {
  return reason_case() == kValidation;
}
inline bool GetCameraVideoDataListResponse_Error::_internal_has_validation() const {
  return reason_case() == kValidation;
}
inline void GetCameraVideoDataListResponse_Error::set_has_validation() {
  _impl_._oneof_case_[0] = kValidation;
}
inline ::keyapis::vc::v1::ValidationError* GetCameraVideoDataListResponse_Error::release_validation() {
  // @@protoc_insertion_point(field_release:keyapis.vc.v1.GetCameraVideoDataListResponse.Error.validation)
  if (reason_case() == kValidation) {
    clear_has_reason();
    ::keyapis::vc::v1::ValidationError* temp = _impl_.reason_.validation_;
    if (GetArenaForAllocation() != nullptr) {
      temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
    }
    _impl_.reason_.validation_ = nullptr;
    return temp;
  } else {
    return nullptr;
  }
}
inline const ::keyapis::vc::v1::ValidationError& GetCameraVideoDataListResponse_Error::_internal_validation() const {
  return reason_case() == kValidation
      ? *_impl_.reason_.validation_
      : reinterpret_cast<::keyapis::vc::v1::ValidationError&>(::keyapis::vc::v1::_ValidationError_default_instance_);
}
inline const ::keyapis::vc::v1::ValidationError& GetCameraVideoDataListResponse_Error::validation() const {
  // @@protoc_insertion_point(field_get:keyapis.vc.v1.GetCameraVideoDataListResponse.Error.validation)
  return _internal_validation();
}
inline ::keyapis::vc::v1::ValidationError* GetCameraVideoDataListResponse_Error::unsafe_arena_release_validation() {
  // @@protoc_insertion_point(field_unsafe_arena_release:keyapis.vc.v1.GetCameraVideoDataListResponse.Error.validation)
  if (reason_case() == kValidation) {
    clear_has_reason();
    ::keyapis::vc::v1::ValidationError* temp = _impl_.reason_.validation_;
    _impl_.reason_.validation_ = nullptr;
    return temp;
  } else {
    return nullptr;
  }
}
inline void GetCameraVideoDataListResponse_Error::unsafe_arena_set_allocated_validation(::keyapis::vc::v1::ValidationError* validation) {
  clear_reason();
  if (validation) {
    set_has_validation();
    _impl_.reason_.validation_ = validation;
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:keyapis.vc.v1.GetCameraVideoDataListResponse.Error.validation)
}
inline ::keyapis::vc::v1::ValidationError* GetCameraVideoDataListResponse_Error::_internal_mutable_validation() {
  if (reason_case() != kValidation) {
    clear_reason();
    set_has_validation();
    _impl_.reason_.validation_ = CreateMaybeMessage< ::keyapis::vc::v1::ValidationError >(GetArenaForAllocation());
  }
  return _impl_.reason_.validation_;
}
inline ::keyapis::vc::v1::ValidationError* GetCameraVideoDataListResponse_Error::mutable_validation() {
  ::keyapis::vc::v1::ValidationError* _msg = _internal_mutable_validation();
  // @@protoc_insertion_point(field_mutable:keyapis.vc.v1.GetCameraVideoDataListResponse.Error.validation)
  return _msg;
}

inline bool GetCameraVideoDataListResponse_Error::has_reason() const {
  return reason_case() != REASON_NOT_SET;
}
inline void GetCameraVideoDataListResponse_Error::clear_has_reason() {
  _impl_._oneof_case_[0] = REASON_NOT_SET;
}
inline GetCameraVideoDataListResponse_Error::ReasonCase GetCameraVideoDataListResponse_Error::reason_case() const {
  return GetCameraVideoDataListResponse_Error::ReasonCase(_impl_._oneof_case_[0]);
}
// -------------------------------------------------------------------

// GetCameraVideoDataListResponse

// repeated .keyapis.vc.v1.CameraVideoData data = 1;
inline int GetCameraVideoDataListResponse::_internal_data_size() const {
  return _impl_.data_.size();
}
inline int GetCameraVideoDataListResponse::data_size() const {
  return _internal_data_size();
}
inline void GetCameraVideoDataListResponse::clear_data() {
  _internal_mutable_data()->Clear();
}
inline ::keyapis::vc::v1::CameraVideoData* GetCameraVideoDataListResponse::mutable_data(int index) {
  // @@protoc_insertion_point(field_mutable:keyapis.vc.v1.GetCameraVideoDataListResponse.data)
  return _internal_mutable_data()->Mutable(index);
}
inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::keyapis::vc::v1::CameraVideoData >*
GetCameraVideoDataListResponse::mutable_data() {
  // @@protoc_insertion_point(field_mutable_list:keyapis.vc.v1.GetCameraVideoDataListResponse.data)
  return _internal_mutable_data();
}
inline const ::keyapis::vc::v1::CameraVideoData& GetCameraVideoDataListResponse::_internal_data(int index) const {
  return _internal_data().Get(index);
}
inline const ::keyapis::vc::v1::CameraVideoData& GetCameraVideoDataListResponse::data(int index) const {
  // @@protoc_insertion_point(field_get:keyapis.vc.v1.GetCameraVideoDataListResponse.data)
  return _internal_data(index);
}
inline ::keyapis::vc::v1::CameraVideoData* GetCameraVideoDataListResponse::_internal_add_data() {
  return _internal_mutable_data()->Add();
}
inline ::keyapis::vc::v1::CameraVideoData* GetCameraVideoDataListResponse::add_data() {
  ::keyapis::vc::v1::CameraVideoData* _add = _internal_add_data();
  // @@protoc_insertion_point(field_add:keyapis.vc.v1.GetCameraVideoDataListResponse.data)
  return _add;
}
inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::keyapis::vc::v1::CameraVideoData >&
GetCameraVideoDataListResponse::data() const {
  // @@protoc_insertion_point(field_list:keyapis.vc.v1.GetCameraVideoDataListResponse.data)
  return _internal_data();
}
inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField<::keyapis::vc::v1::CameraVideoData>&
GetCameraVideoDataListResponse::_internal_data() const {
  return _impl_.data_;
}
inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField<::keyapis::vc::v1::CameraVideoData>*
GetCameraVideoDataListResponse::_internal_mutable_data() {
  return &_impl_.data_;
}

// .keyapis.vc.v1.GetCameraVideoDataListResponse.Error error = 2;
inline bool GetCameraVideoDataListResponse::has_error() const {
  bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0;
  PROTOBUF_ASSUME(!value || _impl_.error_ != nullptr);
  return value;
}
inline void GetCameraVideoDataListResponse::clear_error() {
  if (_impl_.error_ != nullptr) _impl_.error_->Clear();
  _impl_._has_bits_[0] &= ~0x00000001u;
}
inline const ::keyapis::vc::v1::GetCameraVideoDataListResponse_Error& GetCameraVideoDataListResponse::_internal_error() const {
  const ::keyapis::vc::v1::GetCameraVideoDataListResponse_Error* p = _impl_.error_;
  return p != nullptr ? *p : reinterpret_cast<const ::keyapis::vc::v1::GetCameraVideoDataListResponse_Error&>(
      ::keyapis::vc::v1::_GetCameraVideoDataListResponse_Error_default_instance_);
}
inline const ::keyapis::vc::v1::GetCameraVideoDataListResponse_Error& GetCameraVideoDataListResponse::error() const {
  // @@protoc_insertion_point(field_get:keyapis.vc.v1.GetCameraVideoDataListResponse.error)
  return _internal_error();
}
inline void GetCameraVideoDataListResponse::unsafe_arena_set_allocated_error(
    ::keyapis::vc::v1::GetCameraVideoDataListResponse_Error* error) {
  if (GetArenaForAllocation() == nullptr) {
    delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.error_);
  }
  _impl_.error_ = error;
  if (error) {
    _impl_._has_bits_[0] |= 0x00000001u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000001u;
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:keyapis.vc.v1.GetCameraVideoDataListResponse.error)
}
inline ::keyapis::vc::v1::GetCameraVideoDataListResponse_Error* GetCameraVideoDataListResponse::release_error() {
  _impl_._has_bits_[0] &= ~0x00000001u;
  ::keyapis::vc::v1::GetCameraVideoDataListResponse_Error* temp = _impl_.error_;
  _impl_.error_ = nullptr;
#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE
  auto* old =  reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp);
  temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
  if (GetArenaForAllocation() == nullptr) { delete old; }
#else  // PROTOBUF_FORCE_COPY_IN_RELEASE
  if (GetArenaForAllocation() != nullptr) {
    temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
  }
#endif  // !PROTOBUF_FORCE_COPY_IN_RELEASE
  return temp;
}
inline ::keyapis::vc::v1::GetCameraVideoDataListResponse_Error* GetCameraVideoDataListResponse::unsafe_arena_release_error() {
  // @@protoc_insertion_point(field_release:keyapis.vc.v1.GetCameraVideoDataListResponse.error)
  _impl_._has_bits_[0] &= ~0x00000001u;
  ::keyapis::vc::v1::GetCameraVideoDataListResponse_Error* temp = _impl_.error_;
  _impl_.error_ = nullptr;
  return temp;
}
inline ::keyapis::vc::v1::GetCameraVideoDataListResponse_Error* GetCameraVideoDataListResponse::_internal_mutable_error() {
  _impl_._has_bits_[0] |= 0x00000001u;
  if (_impl_.error_ == nullptr) {
    auto* p = CreateMaybeMessage<::keyapis::vc::v1::GetCameraVideoDataListResponse_Error>(GetArenaForAllocation());
    _impl_.error_ = p;
  }
  return _impl_.error_;
}
inline ::keyapis::vc::v1::GetCameraVideoDataListResponse_Error* GetCameraVideoDataListResponse::mutable_error() {
  ::keyapis::vc::v1::GetCameraVideoDataListResponse_Error* _msg = _internal_mutable_error();
  // @@protoc_insertion_point(field_mutable:keyapis.vc.v1.GetCameraVideoDataListResponse.error)
  return _msg;
}
inline void GetCameraVideoDataListResponse::set_allocated_error(::keyapis::vc::v1::GetCameraVideoDataListResponse_Error* error) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation();
  if (message_arena == nullptr) {
    delete _impl_.error_;
  }
  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);
    }
    _impl_._has_bits_[0] |= 0x00000001u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000001u;
  }
  _impl_.error_ = error;
  // @@protoc_insertion_point(field_set_allocated:keyapis.vc.v1.GetCameraVideoDataListResponse.error)
}

#ifdef __GNUC__
#pragma GCC diagnostic pop
#endif  // __GNUC__

// @@protoc_insertion_point(namespace_scope)
}  // namespace v1
}  // namespace vc
}  // namespace keyapis


PROTOBUF_NAMESPACE_OPEN

template <>
struct is_proto_enum<::keyapis::vc::v1::CameraVideoDataPaging_DirectionType> : std::true_type {};
template <>
struct is_proto_enum<::keyapis::vc::v1::CameraVideoDataPaging_OrderByType> : std::true_type {};

PROTOBUF_NAMESPACE_CLOSE

// @@protoc_insertion_point(global_scope)

#include "google/protobuf/port_undef.inc"

#endif  // GOOGLE_PROTOBUF_INCLUDED_keyapis_2fvc_2fv1_2fkeyapis_5fvc_5fcamera_5fvideo_5fdata_5fv1_2eproto_2epb_2eh
