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

#ifndef GOOGLE_PROTOBUF_INCLUDED_keyapis_2fad_2fv1_2fkeyapis_5fad_5fsalepoint_5fv1_2eproto_2epb_2eh
#define GOOGLE_PROTOBUF_INCLUDED_keyapis_2fad_2fv1_2fkeyapis_5fad_5fsalepoint_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/descriptor.pb.h"
#include "google/protobuf/wrappers.pb.h"
#include "google/protobuf/timestamp.pb.h"
// @@protoc_insertion_point(includes)

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

#define PROTOBUF_INTERNAL_EXPORT_keyapis_2fad_2fv1_2fkeyapis_5fad_5fsalepoint_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_2fad_2fv1_2fkeyapis_5fad_5fsalepoint_5fv1_2eproto {
  static const ::uint32_t offsets[];
};
namespace keyapis {
namespace ad {
namespace v1 {
class GetSalepointCountRequest;
struct GetSalepointCountRequestDefaultTypeInternal;
extern GetSalepointCountRequestDefaultTypeInternal _GetSalepointCountRequest_default_instance_;
class GetSalepointCountResponse;
struct GetSalepointCountResponseDefaultTypeInternal;
extern GetSalepointCountResponseDefaultTypeInternal _GetSalepointCountResponse_default_instance_;
class GetSalepointListRequest;
struct GetSalepointListRequestDefaultTypeInternal;
extern GetSalepointListRequestDefaultTypeInternal _GetSalepointListRequest_default_instance_;
class GetSalepointListResponse;
struct GetSalepointListResponseDefaultTypeInternal;
extern GetSalepointListResponseDefaultTypeInternal _GetSalepointListResponse_default_instance_;
class GetSalepointRequest;
struct GetSalepointRequestDefaultTypeInternal;
extern GetSalepointRequestDefaultTypeInternal _GetSalepointRequest_default_instance_;
class GetSalepointResponse;
struct GetSalepointResponseDefaultTypeInternal;
extern GetSalepointResponseDefaultTypeInternal _GetSalepointResponse_default_instance_;
class PostSalepointRequest;
struct PostSalepointRequestDefaultTypeInternal;
extern PostSalepointRequestDefaultTypeInternal _PostSalepointRequest_default_instance_;
class PostSalepointResponse;
struct PostSalepointResponseDefaultTypeInternal;
extern PostSalepointResponseDefaultTypeInternal _PostSalepointResponse_default_instance_;
class Salepoint;
struct SalepointDefaultTypeInternal;
extern SalepointDefaultTypeInternal _Salepoint_default_instance_;
class SalepointFilter;
struct SalepointFilterDefaultTypeInternal;
extern SalepointFilterDefaultTypeInternal _SalepointFilter_default_instance_;
class SalepointFilter_Location;
struct SalepointFilter_LocationDefaultTypeInternal;
extern SalepointFilter_LocationDefaultTypeInternal _SalepointFilter_Location_default_instance_;
class SalepointPaging;
struct SalepointPagingDefaultTypeInternal;
extern SalepointPagingDefaultTypeInternal _SalepointPaging_default_instance_;
class Salepoint_Location;
struct Salepoint_LocationDefaultTypeInternal;
extern Salepoint_LocationDefaultTypeInternal _Salepoint_Location_default_instance_;
class Salepoint_Worktime;
struct Salepoint_WorktimeDefaultTypeInternal;
extern Salepoint_WorktimeDefaultTypeInternal _Salepoint_Worktime_default_instance_;
}  // namespace v1
}  // namespace ad
}  // namespace keyapis
PROTOBUF_NAMESPACE_OPEN
template <>
::keyapis::ad::v1::GetSalepointCountRequest* Arena::CreateMaybeMessage<::keyapis::ad::v1::GetSalepointCountRequest>(Arena*);
template <>
::keyapis::ad::v1::GetSalepointCountResponse* Arena::CreateMaybeMessage<::keyapis::ad::v1::GetSalepointCountResponse>(Arena*);
template <>
::keyapis::ad::v1::GetSalepointListRequest* Arena::CreateMaybeMessage<::keyapis::ad::v1::GetSalepointListRequest>(Arena*);
template <>
::keyapis::ad::v1::GetSalepointListResponse* Arena::CreateMaybeMessage<::keyapis::ad::v1::GetSalepointListResponse>(Arena*);
template <>
::keyapis::ad::v1::GetSalepointRequest* Arena::CreateMaybeMessage<::keyapis::ad::v1::GetSalepointRequest>(Arena*);
template <>
::keyapis::ad::v1::GetSalepointResponse* Arena::CreateMaybeMessage<::keyapis::ad::v1::GetSalepointResponse>(Arena*);
template <>
::keyapis::ad::v1::PostSalepointRequest* Arena::CreateMaybeMessage<::keyapis::ad::v1::PostSalepointRequest>(Arena*);
template <>
::keyapis::ad::v1::PostSalepointResponse* Arena::CreateMaybeMessage<::keyapis::ad::v1::PostSalepointResponse>(Arena*);
template <>
::keyapis::ad::v1::Salepoint* Arena::CreateMaybeMessage<::keyapis::ad::v1::Salepoint>(Arena*);
template <>
::keyapis::ad::v1::SalepointFilter* Arena::CreateMaybeMessage<::keyapis::ad::v1::SalepointFilter>(Arena*);
template <>
::keyapis::ad::v1::SalepointFilter_Location* Arena::CreateMaybeMessage<::keyapis::ad::v1::SalepointFilter_Location>(Arena*);
template <>
::keyapis::ad::v1::SalepointPaging* Arena::CreateMaybeMessage<::keyapis::ad::v1::SalepointPaging>(Arena*);
template <>
::keyapis::ad::v1::Salepoint_Location* Arena::CreateMaybeMessage<::keyapis::ad::v1::Salepoint_Location>(Arena*);
template <>
::keyapis::ad::v1::Salepoint_Worktime* Arena::CreateMaybeMessage<::keyapis::ad::v1::Salepoint_Worktime>(Arena*);
PROTOBUF_NAMESPACE_CLOSE

namespace keyapis {
namespace ad {
namespace v1 {
enum Salepoint_Worktime_DayType : int {
  Salepoint_Worktime_DayType_DAY_TYPE_UNKNOWN = 0,
  Salepoint_Worktime_DayType_MONDAY = 1,
  Salepoint_Worktime_DayType_TUESDAY = 2,
  Salepoint_Worktime_DayType_WEDNESDAY = 3,
  Salepoint_Worktime_DayType_THURSDAY = 4,
  Salepoint_Worktime_DayType_FRIDAY = 5,
  Salepoint_Worktime_DayType_SATURDAY = 6,
  Salepoint_Worktime_DayType_SUNDAY = 7,
  Salepoint_Worktime_DayType_Salepoint_Worktime_DayType_INT_MIN_SENTINEL_DO_NOT_USE_ =
      std::numeric_limits<::int32_t>::min(),
  Salepoint_Worktime_DayType_Salepoint_Worktime_DayType_INT_MAX_SENTINEL_DO_NOT_USE_ =
      std::numeric_limits<::int32_t>::max(),
};

bool Salepoint_Worktime_DayType_IsValid(int value);
constexpr Salepoint_Worktime_DayType Salepoint_Worktime_DayType_DayType_MIN = static_cast<Salepoint_Worktime_DayType>(0);
constexpr Salepoint_Worktime_DayType Salepoint_Worktime_DayType_DayType_MAX = static_cast<Salepoint_Worktime_DayType>(7);
constexpr int Salepoint_Worktime_DayType_DayType_ARRAYSIZE = 7 + 1;
const std::string& Salepoint_Worktime_DayType_Name(Salepoint_Worktime_DayType value);
template <typename T>
const std::string& Salepoint_Worktime_DayType_Name(T value) {
  static_assert(std::is_same<T, Salepoint_Worktime_DayType>::value ||
                    std::is_integral<T>::value,
                "Incorrect type passed to DayType_Name().");
  return Salepoint_Worktime_DayType_Name(static_cast<Salepoint_Worktime_DayType>(value));
}
const std::string& Salepoint_Worktime_DayType_Name(Salepoint_Worktime_DayType value);
bool Salepoint_Worktime_DayType_Parse(absl::string_view name, Salepoint_Worktime_DayType* value);
enum Salepoint_Type : int {
  Salepoint_Type_TYPE_UNKNOWN = 0,
  Salepoint_Type_TELE2 = 1,
  Salepoint_Type_POCHTA_ROSSII = 2,
  Salepoint_Type_PEREKRESTOK = 3,
  Salepoint_Type_PYATEROCHKA = 4,
  Salepoint_Type_ANOTHER = 5,
  Salepoint_Type_MEGAFON = 6,
  Salepoint_Type_Salepoint_Type_INT_MIN_SENTINEL_DO_NOT_USE_ =
      std::numeric_limits<::int32_t>::min(),
  Salepoint_Type_Salepoint_Type_INT_MAX_SENTINEL_DO_NOT_USE_ =
      std::numeric_limits<::int32_t>::max(),
};

bool Salepoint_Type_IsValid(int value);
constexpr Salepoint_Type Salepoint_Type_Type_MIN = static_cast<Salepoint_Type>(0);
constexpr Salepoint_Type Salepoint_Type_Type_MAX = static_cast<Salepoint_Type>(6);
constexpr int Salepoint_Type_Type_ARRAYSIZE = 6 + 1;
const std::string& Salepoint_Type_Name(Salepoint_Type value);
template <typename T>
const std::string& Salepoint_Type_Name(T value) {
  static_assert(std::is_same<T, Salepoint_Type>::value ||
                    std::is_integral<T>::value,
                "Incorrect type passed to Type_Name().");
  return Salepoint_Type_Name(static_cast<Salepoint_Type>(value));
}
const std::string& Salepoint_Type_Name(Salepoint_Type value);
bool Salepoint_Type_Parse(absl::string_view name, Salepoint_Type* value);
enum SalepointPaging_OrderByType : int {
  SalepointPaging_OrderByType_ORDER_BY_TYPE_UNKNOWN = 0,
  SalepointPaging_OrderByType_ID = 1,
  SalepointPaging_OrderByType_DISTANCE = 2,
  SalepointPaging_OrderByType_RANK_CD = 3,
  SalepointPaging_OrderByType_SalepointPaging_OrderByType_INT_MIN_SENTINEL_DO_NOT_USE_ =
      std::numeric_limits<::int32_t>::min(),
  SalepointPaging_OrderByType_SalepointPaging_OrderByType_INT_MAX_SENTINEL_DO_NOT_USE_ =
      std::numeric_limits<::int32_t>::max(),
};

bool SalepointPaging_OrderByType_IsValid(int value);
constexpr SalepointPaging_OrderByType SalepointPaging_OrderByType_OrderByType_MIN = static_cast<SalepointPaging_OrderByType>(0);
constexpr SalepointPaging_OrderByType SalepointPaging_OrderByType_OrderByType_MAX = static_cast<SalepointPaging_OrderByType>(3);
constexpr int SalepointPaging_OrderByType_OrderByType_ARRAYSIZE = 3 + 1;
const std::string& SalepointPaging_OrderByType_Name(SalepointPaging_OrderByType value);
template <typename T>
const std::string& SalepointPaging_OrderByType_Name(T value) {
  static_assert(std::is_same<T, SalepointPaging_OrderByType>::value ||
                    std::is_integral<T>::value,
                "Incorrect type passed to OrderByType_Name().");
  return SalepointPaging_OrderByType_Name(static_cast<SalepointPaging_OrderByType>(value));
}
const std::string& SalepointPaging_OrderByType_Name(SalepointPaging_OrderByType value);
bool SalepointPaging_OrderByType_Parse(absl::string_view name, SalepointPaging_OrderByType* value);
enum SalepointPaging_DirectionType : int {
  SalepointPaging_DirectionType_DIRECTION_TYPE_UNKNOWN = 0,
  SalepointPaging_DirectionType_DESC = 1,
  SalepointPaging_DirectionType_ASC = 2,
  SalepointPaging_DirectionType_SalepointPaging_DirectionType_INT_MIN_SENTINEL_DO_NOT_USE_ =
      std::numeric_limits<::int32_t>::min(),
  SalepointPaging_DirectionType_SalepointPaging_DirectionType_INT_MAX_SENTINEL_DO_NOT_USE_ =
      std::numeric_limits<::int32_t>::max(),
};

bool SalepointPaging_DirectionType_IsValid(int value);
constexpr SalepointPaging_DirectionType SalepointPaging_DirectionType_DirectionType_MIN = static_cast<SalepointPaging_DirectionType>(0);
constexpr SalepointPaging_DirectionType SalepointPaging_DirectionType_DirectionType_MAX = static_cast<SalepointPaging_DirectionType>(2);
constexpr int SalepointPaging_DirectionType_DirectionType_ARRAYSIZE = 2 + 1;
const std::string& SalepointPaging_DirectionType_Name(SalepointPaging_DirectionType value);
template <typename T>
const std::string& SalepointPaging_DirectionType_Name(T value) {
  static_assert(std::is_same<T, SalepointPaging_DirectionType>::value ||
                    std::is_integral<T>::value,
                "Incorrect type passed to DirectionType_Name().");
  return SalepointPaging_DirectionType_Name(static_cast<SalepointPaging_DirectionType>(value));
}
const std::string& SalepointPaging_DirectionType_Name(SalepointPaging_DirectionType value);
bool SalepointPaging_DirectionType_Parse(absl::string_view name, SalepointPaging_DirectionType* value);

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


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

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

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

  inline Salepoint_Location& operator=(const Salepoint_Location& from) {
    CopyFrom(from);
    return *this;
  }
  inline Salepoint_Location& operator=(Salepoint_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 Salepoint_Location& default_instance() {
    return *internal_default_instance();
  }
  static inline const Salepoint_Location* internal_default_instance() {
    return reinterpret_cast<const Salepoint_Location*>(
               &_Salepoint_Location_default_instance_);
  }
  static constexpr int kIndexInFileMessages =
    0;

  friend void swap(Salepoint_Location& a, Salepoint_Location& b) {
    a.Swap(&b);
  }
  inline void Swap(Salepoint_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(Salepoint_Location* other) {
    if (other == this) return;
    ABSL_DCHECK(GetOwningArena() == other->GetOwningArena());
    InternalSwap(other);
  }

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

  Salepoint_Location* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final {
    return CreateMaybeMessage<Salepoint_Location>(arena);
  }
  void CheckTypeAndMergeFrom(const ::PROTOBUF_NAMESPACE_ID::MessageLite& from)  final;
  void CopyFrom(const Salepoint_Location& from);
  void MergeFrom(const Salepoint_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(Salepoint_Location* other);

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

  std::string GetTypeName() const final;

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

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

  enum : int {
    kLatitudeFieldNumber = 1,
    kLongitudeFieldNumber = 2,
  };
  // float latitude = 1 [(.google.api.field_behavior) = REQUIRED];
  void clear_latitude() ;
  float latitude() const;
  void set_latitude(float value);

  private:
  float _internal_latitude() const;
  void _internal_set_latitude(float value);

  public:
  // float longitude = 2 [(.google.api.field_behavior) = REQUIRED];
  void clear_longitude() ;
  float longitude() const;
  void set_longitude(float value);

  private:
  float _internal_longitude() const;
  void _internal_set_longitude(float value);

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

  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
  typedef void InternalArenaConstructable_;
  typedef void DestructorSkippable_;
  struct Impl_ {
    float latitude_;
    float longitude_;
    mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_keyapis_2fad_2fv1_2fkeyapis_5fad_5fsalepoint_5fv1_2eproto;
};// -------------------------------------------------------------------

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

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

  inline Salepoint_Worktime& operator=(const Salepoint_Worktime& from) {
    CopyFrom(from);
    return *this;
  }
  inline Salepoint_Worktime& operator=(Salepoint_Worktime&& 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 Salepoint_Worktime& default_instance() {
    return *internal_default_instance();
  }
  static inline const Salepoint_Worktime* internal_default_instance() {
    return reinterpret_cast<const Salepoint_Worktime*>(
               &_Salepoint_Worktime_default_instance_);
  }
  static constexpr int kIndexInFileMessages =
    1;

  friend void swap(Salepoint_Worktime& a, Salepoint_Worktime& b) {
    a.Swap(&b);
  }
  inline void Swap(Salepoint_Worktime* 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(Salepoint_Worktime* other) {
    if (other == this) return;
    ABSL_DCHECK(GetOwningArena() == other->GetOwningArena());
    InternalSwap(other);
  }

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

  Salepoint_Worktime* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final {
    return CreateMaybeMessage<Salepoint_Worktime>(arena);
  }
  void CheckTypeAndMergeFrom(const ::PROTOBUF_NAMESPACE_ID::MessageLite& from)  final;
  void CopyFrom(const Salepoint_Worktime& from);
  void MergeFrom(const Salepoint_Worktime& 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(Salepoint_Worktime* other);

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

  std::string GetTypeName() const final;

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

  using DayType = Salepoint_Worktime_DayType;
  static constexpr DayType DAY_TYPE_UNKNOWN = Salepoint_Worktime_DayType_DAY_TYPE_UNKNOWN;
  static constexpr DayType MONDAY = Salepoint_Worktime_DayType_MONDAY;
  static constexpr DayType TUESDAY = Salepoint_Worktime_DayType_TUESDAY;
  static constexpr DayType WEDNESDAY = Salepoint_Worktime_DayType_WEDNESDAY;
  static constexpr DayType THURSDAY = Salepoint_Worktime_DayType_THURSDAY;
  static constexpr DayType FRIDAY = Salepoint_Worktime_DayType_FRIDAY;
  static constexpr DayType SATURDAY = Salepoint_Worktime_DayType_SATURDAY;
  static constexpr DayType SUNDAY = Salepoint_Worktime_DayType_SUNDAY;
  static inline bool DayType_IsValid(int value) {
    return Salepoint_Worktime_DayType_IsValid(value);
  }
  static constexpr DayType DayType_MIN = Salepoint_Worktime_DayType_DayType_MIN;
  static constexpr DayType DayType_MAX = Salepoint_Worktime_DayType_DayType_MAX;
  static constexpr int DayType_ARRAYSIZE = Salepoint_Worktime_DayType_DayType_ARRAYSIZE;
  template <typename T>
  static inline const std::string& DayType_Name(T value) {
    return Salepoint_Worktime_DayType_Name(value);
  }
  static inline bool DayType_Parse(absl::string_view name, DayType* value) {
    return Salepoint_Worktime_DayType_Parse(name, value);
  }

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

  enum : int {
    kOpenedAtFieldNumber = 2,
    kClosedAtFieldNumber = 3,
    kDayTypeFieldNumber = 1,
  };
  // string opened_at = 2 [(.google.api.field_behavior) = REQUIRED];
  void clear_opened_at() ;
  const std::string& opened_at() const;




  template <typename Arg_ = const std::string&, typename... Args_>
  void set_opened_at(Arg_&& arg, Args_... args);
  std::string* mutable_opened_at();
  PROTOBUF_NODISCARD std::string* release_opened_at();
  void set_allocated_opened_at(std::string* ptr);

  private:
  const std::string& _internal_opened_at() const;
  inline PROTOBUF_ALWAYS_INLINE void _internal_set_opened_at(
      const std::string& value);
  std::string* _internal_mutable_opened_at();

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




  template <typename Arg_ = const std::string&, typename... Args_>
  void set_closed_at(Arg_&& arg, Args_... args);
  std::string* mutable_closed_at();
  PROTOBUF_NODISCARD std::string* release_closed_at();
  void set_allocated_closed_at(std::string* ptr);

  private:
  const std::string& _internal_closed_at() const;
  inline PROTOBUF_ALWAYS_INLINE void _internal_set_closed_at(
      const std::string& value);
  std::string* _internal_mutable_closed_at();

  public:
  // .keyapis.ad.v1.Salepoint.Worktime.DayType day_type = 1 [(.google.api.field_behavior) = REQUIRED];
  void clear_day_type() ;
  ::keyapis::ad::v1::Salepoint_Worktime_DayType day_type() const;
  void set_day_type(::keyapis::ad::v1::Salepoint_Worktime_DayType value);

  private:
  ::keyapis::ad::v1::Salepoint_Worktime_DayType _internal_day_type() const;
  void _internal_set_day_type(::keyapis::ad::v1::Salepoint_Worktime_DayType value);

  public:
  // @@protoc_insertion_point(class_scope:keyapis.ad.v1.Salepoint.Worktime)
 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 opened_at_;
    ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr closed_at_;
    int day_type_;
    mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_keyapis_2fad_2fv1_2fkeyapis_5fad_5fsalepoint_5fv1_2eproto;
};// -------------------------------------------------------------------

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

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

  inline Salepoint& operator=(const Salepoint& from) {
    CopyFrom(from);
    return *this;
  }
  inline Salepoint& operator=(Salepoint&& 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 Salepoint& default_instance() {
    return *internal_default_instance();
  }
  static inline const Salepoint* internal_default_instance() {
    return reinterpret_cast<const Salepoint*>(
               &_Salepoint_default_instance_);
  }
  static constexpr int kIndexInFileMessages =
    2;

  friend void swap(Salepoint& a, Salepoint& b) {
    a.Swap(&b);
  }
  inline void Swap(Salepoint* 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(Salepoint* other) {
    if (other == this) return;
    ABSL_DCHECK(GetOwningArena() == other->GetOwningArena());
    InternalSwap(other);
  }

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

  Salepoint* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final {
    return CreateMaybeMessage<Salepoint>(arena);
  }
  void CheckTypeAndMergeFrom(const ::PROTOBUF_NAMESPACE_ID::MessageLite& from)  final;
  void CopyFrom(const Salepoint& from);
  void MergeFrom(const Salepoint& 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(Salepoint* other);

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

  std::string GetTypeName() const final;

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

  typedef Salepoint_Location Location;
  typedef Salepoint_Worktime Worktime;

  using Type = Salepoint_Type;
  static constexpr Type TYPE_UNKNOWN = Salepoint_Type_TYPE_UNKNOWN;
  static constexpr Type TELE2 = Salepoint_Type_TELE2;
  static constexpr Type POCHTA_ROSSII = Salepoint_Type_POCHTA_ROSSII;
  static constexpr Type PEREKRESTOK = Salepoint_Type_PEREKRESTOK;
  static constexpr Type PYATEROCHKA = Salepoint_Type_PYATEROCHKA;
  static constexpr Type ANOTHER = Salepoint_Type_ANOTHER;
  static constexpr Type MEGAFON = Salepoint_Type_MEGAFON;
  static inline bool Type_IsValid(int value) {
    return Salepoint_Type_IsValid(value);
  }
  static constexpr Type Type_MIN = Salepoint_Type_Type_MIN;
  static constexpr Type Type_MAX = Salepoint_Type_Type_MAX;
  static constexpr int Type_ARRAYSIZE = Salepoint_Type_Type_ARRAYSIZE;
  template <typename T>
  static inline const std::string& Type_Name(T value) {
    return Salepoint_Type_Name(value);
  }
  static inline bool Type_Parse(absl::string_view name, Type* value) {
    return Salepoint_Type_Parse(name, value);
  }

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

  enum : int {
    kWorktimesFieldNumber = 7,
    kTitleFieldNumber = 2,
    kAddressFieldNumber = 5,
    kSiteUrlFieldNumber = 9,
    kDescriptionFieldNumber = 4,
    kLocationFieldNumber = 6,
    kPhoneNumberFieldNumber = 8,
    kCreatedAtFieldNumber = 10,
    kChangedAtFieldNumber = 11,
    kArchievedAtFieldNumber = 12,
    kIdFieldNumber = 1,
    kTypeFieldNumber = 3,
  };
  // repeated .keyapis.ad.v1.Salepoint.Worktime worktimes = 7 [(.google.api.field_behavior) = REQUIRED];
  int worktimes_size() const;
  private:
  int _internal_worktimes_size() const;

  public:
  void clear_worktimes() ;
  ::keyapis::ad::v1::Salepoint_Worktime* mutable_worktimes(int index);
  ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::keyapis::ad::v1::Salepoint_Worktime >*
      mutable_worktimes();
  private:
  const ::keyapis::ad::v1::Salepoint_Worktime& _internal_worktimes(int index) const;
  ::keyapis::ad::v1::Salepoint_Worktime* _internal_add_worktimes();
  const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField<::keyapis::ad::v1::Salepoint_Worktime>& _internal_worktimes() const;
  ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField<::keyapis::ad::v1::Salepoint_Worktime>* _internal_mutable_worktimes();
  public:
  const ::keyapis::ad::v1::Salepoint_Worktime& worktimes(int index) const;
  ::keyapis::ad::v1::Salepoint_Worktime* add_worktimes();
  const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::keyapis::ad::v1::Salepoint_Worktime >&
      worktimes() const;
  // string title = 2 [(.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 address = 5 [(.google.api.field_behavior) = REQUIRED];
  void clear_address() ;
  const std::string& address() const;




  template <typename Arg_ = const std::string&, typename... Args_>
  void set_address(Arg_&& arg, Args_... args);
  std::string* mutable_address();
  PROTOBUF_NODISCARD std::string* release_address();
  void set_allocated_address(std::string* ptr);

  private:
  const std::string& _internal_address() const;
  inline PROTOBUF_ALWAYS_INLINE void _internal_set_address(
      const std::string& value);
  std::string* _internal_mutable_address();

  public:
  // string site_url = 9 [(.google.api.field_behavior) = REQUIRED];
  void clear_site_url() ;
  const std::string& site_url() const;




  template <typename Arg_ = const std::string&, typename... Args_>
  void set_site_url(Arg_&& arg, Args_... args);
  std::string* mutable_site_url();
  PROTOBUF_NODISCARD std::string* release_site_url();
  void set_allocated_site_url(std::string* ptr);

  private:
  const std::string& _internal_site_url() const;
  inline PROTOBUF_ALWAYS_INLINE void _internal_set_site_url(
      const std::string& value);
  std::string* _internal_mutable_site_url();

  public:
  // .google.protobuf.StringValue description = 4;
  bool has_description() const;
  void clear_description() ;
  const ::PROTOBUF_NAMESPACE_ID::StringValue& description() const;
  PROTOBUF_NODISCARD ::PROTOBUF_NAMESPACE_ID::StringValue* release_description();
  ::PROTOBUF_NAMESPACE_ID::StringValue* mutable_description();
  void set_allocated_description(::PROTOBUF_NAMESPACE_ID::StringValue* description);
  private:
  const ::PROTOBUF_NAMESPACE_ID::StringValue& _internal_description() const;
  ::PROTOBUF_NAMESPACE_ID::StringValue* _internal_mutable_description();
  public:
  void unsafe_arena_set_allocated_description(
      ::PROTOBUF_NAMESPACE_ID::StringValue* description);
  ::PROTOBUF_NAMESPACE_ID::StringValue* unsafe_arena_release_description();
  // .keyapis.ad.v1.Salepoint.Location location = 6 [(.google.api.field_behavior) = REQUIRED];
  bool has_location() const;
  void clear_location() ;
  const ::keyapis::ad::v1::Salepoint_Location& location() const;
  PROTOBUF_NODISCARD ::keyapis::ad::v1::Salepoint_Location* release_location();
  ::keyapis::ad::v1::Salepoint_Location* mutable_location();
  void set_allocated_location(::keyapis::ad::v1::Salepoint_Location* location);
  private:
  const ::keyapis::ad::v1::Salepoint_Location& _internal_location() const;
  ::keyapis::ad::v1::Salepoint_Location* _internal_mutable_location();
  public:
  void unsafe_arena_set_allocated_location(
      ::keyapis::ad::v1::Salepoint_Location* location);
  ::keyapis::ad::v1::Salepoint_Location* unsafe_arena_release_location();
  // .google.protobuf.StringValue phone_number = 8;
  bool has_phone_number() const;
  void clear_phone_number() ;
  const ::PROTOBUF_NAMESPACE_ID::StringValue& phone_number() const;
  PROTOBUF_NODISCARD ::PROTOBUF_NAMESPACE_ID::StringValue* release_phone_number();
  ::PROTOBUF_NAMESPACE_ID::StringValue* mutable_phone_number();
  void set_allocated_phone_number(::PROTOBUF_NAMESPACE_ID::StringValue* phone_number);
  private:
  const ::PROTOBUF_NAMESPACE_ID::StringValue& _internal_phone_number() const;
  ::PROTOBUF_NAMESPACE_ID::StringValue* _internal_mutable_phone_number();
  public:
  void unsafe_arena_set_allocated_phone_number(
      ::PROTOBUF_NAMESPACE_ID::StringValue* phone_number);
  ::PROTOBUF_NAMESPACE_ID::StringValue* unsafe_arena_release_phone_number();
  // .google.protobuf.Timestamp created_at = 10 [(.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 changed_at = 11 [(.google.api.field_behavior) = OUTPUT_ONLY];
  bool has_changed_at() const;
  void clear_changed_at() ;
  const ::PROTOBUF_NAMESPACE_ID::Timestamp& changed_at() const;
  PROTOBUF_NODISCARD ::PROTOBUF_NAMESPACE_ID::Timestamp* release_changed_at();
  ::PROTOBUF_NAMESPACE_ID::Timestamp* mutable_changed_at();
  void set_allocated_changed_at(::PROTOBUF_NAMESPACE_ID::Timestamp* changed_at);
  private:
  const ::PROTOBUF_NAMESPACE_ID::Timestamp& _internal_changed_at() const;
  ::PROTOBUF_NAMESPACE_ID::Timestamp* _internal_mutable_changed_at();
  public:
  void unsafe_arena_set_allocated_changed_at(
      ::PROTOBUF_NAMESPACE_ID::Timestamp* changed_at);
  ::PROTOBUF_NAMESPACE_ID::Timestamp* unsafe_arena_release_changed_at();
  // .google.protobuf.Timestamp archieved_at = 12;
  bool has_archieved_at() const;
  void clear_archieved_at() ;
  const ::PROTOBUF_NAMESPACE_ID::Timestamp& archieved_at() const;
  PROTOBUF_NODISCARD ::PROTOBUF_NAMESPACE_ID::Timestamp* release_archieved_at();
  ::PROTOBUF_NAMESPACE_ID::Timestamp* mutable_archieved_at();
  void set_allocated_archieved_at(::PROTOBUF_NAMESPACE_ID::Timestamp* archieved_at);
  private:
  const ::PROTOBUF_NAMESPACE_ID::Timestamp& _internal_archieved_at() const;
  ::PROTOBUF_NAMESPACE_ID::Timestamp* _internal_mutable_archieved_at();
  public:
  void unsafe_arena_set_allocated_archieved_at(
      ::PROTOBUF_NAMESPACE_ID::Timestamp* archieved_at);
  ::PROTOBUF_NAMESPACE_ID::Timestamp* unsafe_arena_release_archieved_at();
  // int32 id = 1;
  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:
  // .keyapis.ad.v1.Salepoint.Type type = 3 [(.google.api.field_behavior) = REQUIRED];
  void clear_type() ;
  ::keyapis::ad::v1::Salepoint_Type type() const;
  void set_type(::keyapis::ad::v1::Salepoint_Type value);

  private:
  ::keyapis::ad::v1::Salepoint_Type _internal_type() const;
  void _internal_set_type(::keyapis::ad::v1::Salepoint_Type value);

  public:
  // @@protoc_insertion_point(class_scope:keyapis.ad.v1.Salepoint)
 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::ad::v1::Salepoint_Worktime > worktimes_;
    ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr title_;
    ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr address_;
    ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr site_url_;
    ::PROTOBUF_NAMESPACE_ID::StringValue* description_;
    ::keyapis::ad::v1::Salepoint_Location* location_;
    ::PROTOBUF_NAMESPACE_ID::StringValue* phone_number_;
    ::PROTOBUF_NAMESPACE_ID::Timestamp* created_at_;
    ::PROTOBUF_NAMESPACE_ID::Timestamp* changed_at_;
    ::PROTOBUF_NAMESPACE_ID::Timestamp* archieved_at_;
    ::int32_t id_;
    int type_;
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_keyapis_2fad_2fv1_2fkeyapis_5fad_5fsalepoint_5fv1_2eproto;
};// -------------------------------------------------------------------

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

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

  inline SalepointFilter_Location& operator=(const SalepointFilter_Location& from) {
    CopyFrom(from);
    return *this;
  }
  inline SalepointFilter_Location& operator=(SalepointFilter_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 SalepointFilter_Location& default_instance() {
    return *internal_default_instance();
  }
  static inline const SalepointFilter_Location* internal_default_instance() {
    return reinterpret_cast<const SalepointFilter_Location*>(
               &_SalepointFilter_Location_default_instance_);
  }
  static constexpr int kIndexInFileMessages =
    3;

  friend void swap(SalepointFilter_Location& a, SalepointFilter_Location& b) {
    a.Swap(&b);
  }
  inline void Swap(SalepointFilter_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(SalepointFilter_Location* other) {
    if (other == this) return;
    ABSL_DCHECK(GetOwningArena() == other->GetOwningArena());
    InternalSwap(other);
  }

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

  SalepointFilter_Location* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final {
    return CreateMaybeMessage<SalepointFilter_Location>(arena);
  }
  void CheckTypeAndMergeFrom(const ::PROTOBUF_NAMESPACE_ID::MessageLite& from)  final;
  void CopyFrom(const SalepointFilter_Location& from);
  void MergeFrom(const SalepointFilter_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(SalepointFilter_Location* other);

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

  std::string GetTypeName() const final;

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

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

  enum : int {
    kLatitudeFieldNumber = 1,
    kLongitudeFieldNumber = 2,
  };
  // float latitude = 1;
  void clear_latitude() ;
  float latitude() const;
  void set_latitude(float value);

  private:
  float _internal_latitude() const;
  void _internal_set_latitude(float value);

  public:
  // float longitude = 2;
  void clear_longitude() ;
  float longitude() const;
  void set_longitude(float value);

  private:
  float _internal_longitude() const;
  void _internal_set_longitude(float value);

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

  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
  typedef void InternalArenaConstructable_;
  typedef void DestructorSkippable_;
  struct Impl_ {
    float latitude_;
    float longitude_;
    mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_keyapis_2fad_2fv1_2fkeyapis_5fad_5fsalepoint_5fv1_2eproto;
};// -------------------------------------------------------------------

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

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

  inline SalepointFilter& operator=(const SalepointFilter& from) {
    CopyFrom(from);
    return *this;
  }
  inline SalepointFilter& operator=(SalepointFilter&& 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 SalepointFilter& default_instance() {
    return *internal_default_instance();
  }
  static inline const SalepointFilter* internal_default_instance() {
    return reinterpret_cast<const SalepointFilter*>(
               &_SalepointFilter_default_instance_);
  }
  static constexpr int kIndexInFileMessages =
    4;

  friend void swap(SalepointFilter& a, SalepointFilter& b) {
    a.Swap(&b);
  }
  inline void Swap(SalepointFilter* 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(SalepointFilter* other) {
    if (other == this) return;
    ABSL_DCHECK(GetOwningArena() == other->GetOwningArena());
    InternalSwap(other);
  }

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

  SalepointFilter* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final {
    return CreateMaybeMessage<SalepointFilter>(arena);
  }
  void CheckTypeAndMergeFrom(const ::PROTOBUF_NAMESPACE_ID::MessageLite& from)  final;
  void CopyFrom(const SalepointFilter& from);
  void MergeFrom(const SalepointFilter& 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(SalepointFilter* other);

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

  std::string GetTypeName() const final;

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

  typedef SalepointFilter_Location Location;

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

  enum : int {
    kTextFieldNumber = 1,
    kLocationFieldNumber = 2,
    kDistanceFieldNumber = 3,
    kIsArchievedFieldNumber = 4,
  };
  // .google.protobuf.StringValue text = 1;
  bool has_text() const;
  void clear_text() ;
  const ::PROTOBUF_NAMESPACE_ID::StringValue& text() const;
  PROTOBUF_NODISCARD ::PROTOBUF_NAMESPACE_ID::StringValue* release_text();
  ::PROTOBUF_NAMESPACE_ID::StringValue* mutable_text();
  void set_allocated_text(::PROTOBUF_NAMESPACE_ID::StringValue* text);
  private:
  const ::PROTOBUF_NAMESPACE_ID::StringValue& _internal_text() const;
  ::PROTOBUF_NAMESPACE_ID::StringValue* _internal_mutable_text();
  public:
  void unsafe_arena_set_allocated_text(
      ::PROTOBUF_NAMESPACE_ID::StringValue* text);
  ::PROTOBUF_NAMESPACE_ID::StringValue* unsafe_arena_release_text();
  // .keyapis.ad.v1.SalepointFilter.Location location = 2;
  bool has_location() const;
  void clear_location() ;
  const ::keyapis::ad::v1::SalepointFilter_Location& location() const;
  PROTOBUF_NODISCARD ::keyapis::ad::v1::SalepointFilter_Location* release_location();
  ::keyapis::ad::v1::SalepointFilter_Location* mutable_location();
  void set_allocated_location(::keyapis::ad::v1::SalepointFilter_Location* location);
  private:
  const ::keyapis::ad::v1::SalepointFilter_Location& _internal_location() const;
  ::keyapis::ad::v1::SalepointFilter_Location* _internal_mutable_location();
  public:
  void unsafe_arena_set_allocated_location(
      ::keyapis::ad::v1::SalepointFilter_Location* location);
  ::keyapis::ad::v1::SalepointFilter_Location* unsafe_arena_release_location();
  // .google.protobuf.FloatValue distance = 3;
  bool has_distance() const;
  void clear_distance() ;
  const ::PROTOBUF_NAMESPACE_ID::FloatValue& distance() const;
  PROTOBUF_NODISCARD ::PROTOBUF_NAMESPACE_ID::FloatValue* release_distance();
  ::PROTOBUF_NAMESPACE_ID::FloatValue* mutable_distance();
  void set_allocated_distance(::PROTOBUF_NAMESPACE_ID::FloatValue* distance);
  private:
  const ::PROTOBUF_NAMESPACE_ID::FloatValue& _internal_distance() const;
  ::PROTOBUF_NAMESPACE_ID::FloatValue* _internal_mutable_distance();
  public:
  void unsafe_arena_set_allocated_distance(
      ::PROTOBUF_NAMESPACE_ID::FloatValue* distance);
  ::PROTOBUF_NAMESPACE_ID::FloatValue* unsafe_arena_release_distance();
  // .google.protobuf.BoolValue is_archieved = 4;
  bool has_is_archieved() const;
  void clear_is_archieved() ;
  const ::PROTOBUF_NAMESPACE_ID::BoolValue& is_archieved() const;
  PROTOBUF_NODISCARD ::PROTOBUF_NAMESPACE_ID::BoolValue* release_is_archieved();
  ::PROTOBUF_NAMESPACE_ID::BoolValue* mutable_is_archieved();
  void set_allocated_is_archieved(::PROTOBUF_NAMESPACE_ID::BoolValue* is_archieved);
  private:
  const ::PROTOBUF_NAMESPACE_ID::BoolValue& _internal_is_archieved() const;
  ::PROTOBUF_NAMESPACE_ID::BoolValue* _internal_mutable_is_archieved();
  public:
  void unsafe_arena_set_allocated_is_archieved(
      ::PROTOBUF_NAMESPACE_ID::BoolValue* is_archieved);
  ::PROTOBUF_NAMESPACE_ID::BoolValue* unsafe_arena_release_is_archieved();
  // @@protoc_insertion_point(class_scope:keyapis.ad.v1.SalepointFilter)
 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::StringValue* text_;
    ::keyapis::ad::v1::SalepointFilter_Location* location_;
    ::PROTOBUF_NAMESPACE_ID::FloatValue* distance_;
    ::PROTOBUF_NAMESPACE_ID::BoolValue* is_archieved_;
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_keyapis_2fad_2fv1_2fkeyapis_5fad_5fsalepoint_5fv1_2eproto;
};// -------------------------------------------------------------------

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

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

  inline SalepointPaging& operator=(const SalepointPaging& from) {
    CopyFrom(from);
    return *this;
  }
  inline SalepointPaging& operator=(SalepointPaging&& 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 SalepointPaging& default_instance() {
    return *internal_default_instance();
  }
  static inline const SalepointPaging* internal_default_instance() {
    return reinterpret_cast<const SalepointPaging*>(
               &_SalepointPaging_default_instance_);
  }
  static constexpr int kIndexInFileMessages =
    5;

  friend void swap(SalepointPaging& a, SalepointPaging& b) {
    a.Swap(&b);
  }
  inline void Swap(SalepointPaging* 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(SalepointPaging* other) {
    if (other == this) return;
    ABSL_DCHECK(GetOwningArena() == other->GetOwningArena());
    InternalSwap(other);
  }

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

  SalepointPaging* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final {
    return CreateMaybeMessage<SalepointPaging>(arena);
  }
  void CheckTypeAndMergeFrom(const ::PROTOBUF_NAMESPACE_ID::MessageLite& from)  final;
  void CopyFrom(const SalepointPaging& from);
  void MergeFrom(const SalepointPaging& 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(SalepointPaging* other);

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

  std::string GetTypeName() const final;

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

  using OrderByType = SalepointPaging_OrderByType;
  static constexpr OrderByType ORDER_BY_TYPE_UNKNOWN = SalepointPaging_OrderByType_ORDER_BY_TYPE_UNKNOWN;
  static constexpr OrderByType ID = SalepointPaging_OrderByType_ID;
  static constexpr OrderByType DISTANCE = SalepointPaging_OrderByType_DISTANCE;
  static constexpr OrderByType RANK_CD = SalepointPaging_OrderByType_RANK_CD;
  static inline bool OrderByType_IsValid(int value) {
    return SalepointPaging_OrderByType_IsValid(value);
  }
  static constexpr OrderByType OrderByType_MIN = SalepointPaging_OrderByType_OrderByType_MIN;
  static constexpr OrderByType OrderByType_MAX = SalepointPaging_OrderByType_OrderByType_MAX;
  static constexpr int OrderByType_ARRAYSIZE = SalepointPaging_OrderByType_OrderByType_ARRAYSIZE;
  template <typename T>
  static inline const std::string& OrderByType_Name(T value) {
    return SalepointPaging_OrderByType_Name(value);
  }
  static inline bool OrderByType_Parse(absl::string_view name, OrderByType* value) {
    return SalepointPaging_OrderByType_Parse(name, value);
  }

  using DirectionType = SalepointPaging_DirectionType;
  static constexpr DirectionType DIRECTION_TYPE_UNKNOWN = SalepointPaging_DirectionType_DIRECTION_TYPE_UNKNOWN;
  static constexpr DirectionType DESC = SalepointPaging_DirectionType_DESC;
  static constexpr DirectionType ASC = SalepointPaging_DirectionType_ASC;
  static inline bool DirectionType_IsValid(int value) {
    return SalepointPaging_DirectionType_IsValid(value);
  }
  static constexpr DirectionType DirectionType_MIN = SalepointPaging_DirectionType_DirectionType_MIN;
  static constexpr DirectionType DirectionType_MAX = SalepointPaging_DirectionType_DirectionType_MAX;
  static constexpr int DirectionType_ARRAYSIZE = SalepointPaging_DirectionType_DirectionType_ARRAYSIZE;
  template <typename T>
  static inline const std::string& DirectionType_Name(T value) {
    return SalepointPaging_DirectionType_Name(value);
  }
  static inline bool DirectionType_Parse(absl::string_view name, DirectionType* value) {
    return SalepointPaging_DirectionType_Parse(name, value);
  }

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

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

  private:
  ::keyapis::ad::v1::SalepointPaging_OrderByType _internal_order_by_type() const;
  void _internal_set_order_by_type(::keyapis::ad::v1::SalepointPaging_OrderByType value);

  public:
  // .keyapis.ad.v1.SalepointPaging.DirectionType direction_type = 2;
  void clear_direction_type() ;
  ::keyapis::ad::v1::SalepointPaging_DirectionType direction_type() const;
  void set_direction_type(::keyapis::ad::v1::SalepointPaging_DirectionType value);

  private:
  ::keyapis::ad::v1::SalepointPaging_DirectionType _internal_direction_type() const;
  void _internal_set_direction_type(::keyapis::ad::v1::SalepointPaging_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.ad.v1.SalepointPaging)
 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_2fad_2fv1_2fkeyapis_5fad_5fsalepoint_5fv1_2eproto;
};// -------------------------------------------------------------------

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

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

  inline PostSalepointRequest& operator=(const PostSalepointRequest& from) {
    CopyFrom(from);
    return *this;
  }
  inline PostSalepointRequest& operator=(PostSalepointRequest&& 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 PostSalepointRequest& default_instance() {
    return *internal_default_instance();
  }
  static inline const PostSalepointRequest* internal_default_instance() {
    return reinterpret_cast<const PostSalepointRequest*>(
               &_PostSalepointRequest_default_instance_);
  }
  static constexpr int kIndexInFileMessages =
    6;

  friend void swap(PostSalepointRequest& a, PostSalepointRequest& b) {
    a.Swap(&b);
  }
  inline void Swap(PostSalepointRequest* 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(PostSalepointRequest* other) {
    if (other == this) return;
    ABSL_DCHECK(GetOwningArena() == other->GetOwningArena());
    InternalSwap(other);
  }

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

  PostSalepointRequest* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final {
    return CreateMaybeMessage<PostSalepointRequest>(arena);
  }
  void CheckTypeAndMergeFrom(const ::PROTOBUF_NAMESPACE_ID::MessageLite& from)  final;
  void CopyFrom(const PostSalepointRequest& from);
  void MergeFrom(const PostSalepointRequest& 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(PostSalepointRequest* other);

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

  std::string GetTypeName() const final;

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

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

  enum : int {
    kDataFieldNumber = 1,
  };
  // .keyapis.ad.v1.Salepoint data = 1 [(.google.api.field_behavior) = REQUIRED];
  bool has_data() const;
  void clear_data() ;
  const ::keyapis::ad::v1::Salepoint& data() const;
  PROTOBUF_NODISCARD ::keyapis::ad::v1::Salepoint* release_data();
  ::keyapis::ad::v1::Salepoint* mutable_data();
  void set_allocated_data(::keyapis::ad::v1::Salepoint* data);
  private:
  const ::keyapis::ad::v1::Salepoint& _internal_data() const;
  ::keyapis::ad::v1::Salepoint* _internal_mutable_data();
  public:
  void unsafe_arena_set_allocated_data(
      ::keyapis::ad::v1::Salepoint* data);
  ::keyapis::ad::v1::Salepoint* unsafe_arena_release_data();
  // @@protoc_insertion_point(class_scope:keyapis.ad.v1.PostSalepointRequest)
 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::ad::v1::Salepoint* data_;
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_keyapis_2fad_2fv1_2fkeyapis_5fad_5fsalepoint_5fv1_2eproto;
};// -------------------------------------------------------------------

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

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

  inline PostSalepointResponse& operator=(const PostSalepointResponse& from) {
    CopyFrom(from);
    return *this;
  }
  inline PostSalepointResponse& operator=(PostSalepointResponse&& 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 PostSalepointResponse& default_instance() {
    return *internal_default_instance();
  }
  enum TypeCase {
    kData = 1,
    TYPE_NOT_SET = 0,
  };

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

  friend void swap(PostSalepointResponse& a, PostSalepointResponse& b) {
    a.Swap(&b);
  }
  inline void Swap(PostSalepointResponse* 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(PostSalepointResponse* other) {
    if (other == this) return;
    ABSL_DCHECK(GetOwningArena() == other->GetOwningArena());
    InternalSwap(other);
  }

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

  PostSalepointResponse* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final {
    return CreateMaybeMessage<PostSalepointResponse>(arena);
  }
  void CheckTypeAndMergeFrom(const ::PROTOBUF_NAMESPACE_ID::MessageLite& from)  final;
  void CopyFrom(const PostSalepointResponse& from);
  void MergeFrom(const PostSalepointResponse& 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(PostSalepointResponse* other);

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

  std::string GetTypeName() const final;

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

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

  enum : int {
    kDataFieldNumber = 1,
  };
  // .keyapis.ad.v1.Salepoint data = 1;
  bool has_data() const;
  private:
  bool _internal_has_data() const;

  public:
  void clear_data() ;
  const ::keyapis::ad::v1::Salepoint& data() const;
  PROTOBUF_NODISCARD ::keyapis::ad::v1::Salepoint* release_data();
  ::keyapis::ad::v1::Salepoint* mutable_data();
  void set_allocated_data(::keyapis::ad::v1::Salepoint* data);
  private:
  const ::keyapis::ad::v1::Salepoint& _internal_data() const;
  ::keyapis::ad::v1::Salepoint* _internal_mutable_data();
  public:
  void unsafe_arena_set_allocated_data(
      ::keyapis::ad::v1::Salepoint* data);
  ::keyapis::ad::v1::Salepoint* unsafe_arena_release_data();
  void clear_type();
  TypeCase type_case() const;
  // @@protoc_insertion_point(class_scope:keyapis.ad.v1.PostSalepointResponse)
 private:
  class _Internal;
  void set_has_data();

  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_;
      ::keyapis::ad::v1::Salepoint* data_;
    } type_;
    mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
    ::uint32_t _oneof_case_[1];

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

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

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

  inline GetSalepointRequest& operator=(const GetSalepointRequest& from) {
    CopyFrom(from);
    return *this;
  }
  inline GetSalepointRequest& operator=(GetSalepointRequest&& 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 GetSalepointRequest& default_instance() {
    return *internal_default_instance();
  }
  static inline const GetSalepointRequest* internal_default_instance() {
    return reinterpret_cast<const GetSalepointRequest*>(
               &_GetSalepointRequest_default_instance_);
  }
  static constexpr int kIndexInFileMessages =
    8;

  friend void swap(GetSalepointRequest& a, GetSalepointRequest& b) {
    a.Swap(&b);
  }
  inline void Swap(GetSalepointRequest* 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(GetSalepointRequest* other) {
    if (other == this) return;
    ABSL_DCHECK(GetOwningArena() == other->GetOwningArena());
    InternalSwap(other);
  }

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

  GetSalepointRequest* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final {
    return CreateMaybeMessage<GetSalepointRequest>(arena);
  }
  void CheckTypeAndMergeFrom(const ::PROTOBUF_NAMESPACE_ID::MessageLite& from)  final;
  void CopyFrom(const GetSalepointRequest& from);
  void MergeFrom(const GetSalepointRequest& 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(GetSalepointRequest* other);

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

  std::string GetTypeName() const final;

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

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

  enum : int {
    kIdFieldNumber = 1,
  };
  // 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.ad.v1.GetSalepointRequest)
 private:
  class _Internal;

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

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

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

  inline GetSalepointResponse& operator=(const GetSalepointResponse& from) {
    CopyFrom(from);
    return *this;
  }
  inline GetSalepointResponse& operator=(GetSalepointResponse&& 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 GetSalepointResponse& default_instance() {
    return *internal_default_instance();
  }
  enum TypeCase {
    kData = 1,
    TYPE_NOT_SET = 0,
  };

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

  friend void swap(GetSalepointResponse& a, GetSalepointResponse& b) {
    a.Swap(&b);
  }
  inline void Swap(GetSalepointResponse* 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(GetSalepointResponse* other) {
    if (other == this) return;
    ABSL_DCHECK(GetOwningArena() == other->GetOwningArena());
    InternalSwap(other);
  }

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

  GetSalepointResponse* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final {
    return CreateMaybeMessage<GetSalepointResponse>(arena);
  }
  void CheckTypeAndMergeFrom(const ::PROTOBUF_NAMESPACE_ID::MessageLite& from)  final;
  void CopyFrom(const GetSalepointResponse& from);
  void MergeFrom(const GetSalepointResponse& 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(GetSalepointResponse* other);

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

  std::string GetTypeName() const final;

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

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

  enum : int {
    kDataFieldNumber = 1,
  };
  // .keyapis.ad.v1.Salepoint data = 1;
  bool has_data() const;
  private:
  bool _internal_has_data() const;

  public:
  void clear_data() ;
  const ::keyapis::ad::v1::Salepoint& data() const;
  PROTOBUF_NODISCARD ::keyapis::ad::v1::Salepoint* release_data();
  ::keyapis::ad::v1::Salepoint* mutable_data();
  void set_allocated_data(::keyapis::ad::v1::Salepoint* data);
  private:
  const ::keyapis::ad::v1::Salepoint& _internal_data() const;
  ::keyapis::ad::v1::Salepoint* _internal_mutable_data();
  public:
  void unsafe_arena_set_allocated_data(
      ::keyapis::ad::v1::Salepoint* data);
  ::keyapis::ad::v1::Salepoint* unsafe_arena_release_data();
  void clear_type();
  TypeCase type_case() const;
  // @@protoc_insertion_point(class_scope:keyapis.ad.v1.GetSalepointResponse)
 private:
  class _Internal;
  void set_has_data();

  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_;
      ::keyapis::ad::v1::Salepoint* data_;
    } type_;
    mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
    ::uint32_t _oneof_case_[1];

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

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

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

  inline GetSalepointListRequest& operator=(const GetSalepointListRequest& from) {
    CopyFrom(from);
    return *this;
  }
  inline GetSalepointListRequest& operator=(GetSalepointListRequest&& 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 GetSalepointListRequest& default_instance() {
    return *internal_default_instance();
  }
  enum PaginationCase {
    kPaging = 2,
    PAGINATION_NOT_SET = 0,
  };

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

  friend void swap(GetSalepointListRequest& a, GetSalepointListRequest& b) {
    a.Swap(&b);
  }
  inline void Swap(GetSalepointListRequest* 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(GetSalepointListRequest* other) {
    if (other == this) return;
    ABSL_DCHECK(GetOwningArena() == other->GetOwningArena());
    InternalSwap(other);
  }

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

  GetSalepointListRequest* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final {
    return CreateMaybeMessage<GetSalepointListRequest>(arena);
  }
  void CheckTypeAndMergeFrom(const ::PROTOBUF_NAMESPACE_ID::MessageLite& from)  final;
  void CopyFrom(const GetSalepointListRequest& from);
  void MergeFrom(const GetSalepointListRequest& 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(GetSalepointListRequest* other);

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

  std::string GetTypeName() const final;

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

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

  enum : int {
    kFilterFieldNumber = 1,
    kPagingFieldNumber = 2,
  };
  // .keyapis.ad.v1.SalepointFilter filter = 1;
  bool has_filter() const;
  void clear_filter() ;
  const ::keyapis::ad::v1::SalepointFilter& filter() const;
  PROTOBUF_NODISCARD ::keyapis::ad::v1::SalepointFilter* release_filter();
  ::keyapis::ad::v1::SalepointFilter* mutable_filter();
  void set_allocated_filter(::keyapis::ad::v1::SalepointFilter* filter);
  private:
  const ::keyapis::ad::v1::SalepointFilter& _internal_filter() const;
  ::keyapis::ad::v1::SalepointFilter* _internal_mutable_filter();
  public:
  void unsafe_arena_set_allocated_filter(
      ::keyapis::ad::v1::SalepointFilter* filter);
  ::keyapis::ad::v1::SalepointFilter* unsafe_arena_release_filter();
  // .keyapis.ad.v1.SalepointPaging paging = 2;
  bool has_paging() const;
  private:
  bool _internal_has_paging() const;

  public:
  void clear_paging() ;
  const ::keyapis::ad::v1::SalepointPaging& paging() const;
  PROTOBUF_NODISCARD ::keyapis::ad::v1::SalepointPaging* release_paging();
  ::keyapis::ad::v1::SalepointPaging* mutable_paging();
  void set_allocated_paging(::keyapis::ad::v1::SalepointPaging* paging);
  private:
  const ::keyapis::ad::v1::SalepointPaging& _internal_paging() const;
  ::keyapis::ad::v1::SalepointPaging* _internal_mutable_paging();
  public:
  void unsafe_arena_set_allocated_paging(
      ::keyapis::ad::v1::SalepointPaging* paging);
  ::keyapis::ad::v1::SalepointPaging* unsafe_arena_release_paging();
  void clear_pagination();
  PaginationCase pagination_case() const;
  // @@protoc_insertion_point(class_scope:keyapis.ad.v1.GetSalepointListRequest)
 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::ad::v1::SalepointFilter* filter_;
    union PaginationUnion {
      constexpr PaginationUnion() : _constinit_{} {}
        ::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized _constinit_;
      ::keyapis::ad::v1::SalepointPaging* paging_;
    } pagination_;
    ::uint32_t _oneof_case_[1];

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

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

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

  inline GetSalepointListResponse& operator=(const GetSalepointListResponse& from) {
    CopyFrom(from);
    return *this;
  }
  inline GetSalepointListResponse& operator=(GetSalepointListResponse&& 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 GetSalepointListResponse& default_instance() {
    return *internal_default_instance();
  }
  enum TypeCase {
    kData = 1,
    TYPE_NOT_SET = 0,
  };

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

  friend void swap(GetSalepointListResponse& a, GetSalepointListResponse& b) {
    a.Swap(&b);
  }
  inline void Swap(GetSalepointListResponse* 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(GetSalepointListResponse* other) {
    if (other == this) return;
    ABSL_DCHECK(GetOwningArena() == other->GetOwningArena());
    InternalSwap(other);
  }

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

  GetSalepointListResponse* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final {
    return CreateMaybeMessage<GetSalepointListResponse>(arena);
  }
  void CheckTypeAndMergeFrom(const ::PROTOBUF_NAMESPACE_ID::MessageLite& from)  final;
  void CopyFrom(const GetSalepointListResponse& from);
  void MergeFrom(const GetSalepointListResponse& 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(GetSalepointListResponse* other);

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

  std::string GetTypeName() const final;

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

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

  enum : int {
    kDataFieldNumber = 1,
  };
  // .keyapis.ad.v1.Salepoint data = 1;
  bool has_data() const;
  private:
  bool _internal_has_data() const;

  public:
  void clear_data() ;
  const ::keyapis::ad::v1::Salepoint& data() const;
  PROTOBUF_NODISCARD ::keyapis::ad::v1::Salepoint* release_data();
  ::keyapis::ad::v1::Salepoint* mutable_data();
  void set_allocated_data(::keyapis::ad::v1::Salepoint* data);
  private:
  const ::keyapis::ad::v1::Salepoint& _internal_data() const;
  ::keyapis::ad::v1::Salepoint* _internal_mutable_data();
  public:
  void unsafe_arena_set_allocated_data(
      ::keyapis::ad::v1::Salepoint* data);
  ::keyapis::ad::v1::Salepoint* unsafe_arena_release_data();
  void clear_type();
  TypeCase type_case() const;
  // @@protoc_insertion_point(class_scope:keyapis.ad.v1.GetSalepointListResponse)
 private:
  class _Internal;
  void set_has_data();

  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_;
      ::keyapis::ad::v1::Salepoint* data_;
    } type_;
    mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
    ::uint32_t _oneof_case_[1];

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

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

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

  inline GetSalepointCountRequest& operator=(const GetSalepointCountRequest& from) {
    CopyFrom(from);
    return *this;
  }
  inline GetSalepointCountRequest& operator=(GetSalepointCountRequest&& 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 GetSalepointCountRequest& default_instance() {
    return *internal_default_instance();
  }
  static inline const GetSalepointCountRequest* internal_default_instance() {
    return reinterpret_cast<const GetSalepointCountRequest*>(
               &_GetSalepointCountRequest_default_instance_);
  }
  static constexpr int kIndexInFileMessages =
    12;

  friend void swap(GetSalepointCountRequest& a, GetSalepointCountRequest& b) {
    a.Swap(&b);
  }
  inline void Swap(GetSalepointCountRequest* 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(GetSalepointCountRequest* other) {
    if (other == this) return;
    ABSL_DCHECK(GetOwningArena() == other->GetOwningArena());
    InternalSwap(other);
  }

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

  GetSalepointCountRequest* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final {
    return CreateMaybeMessage<GetSalepointCountRequest>(arena);
  }
  void CheckTypeAndMergeFrom(const ::PROTOBUF_NAMESPACE_ID::MessageLite& from)  final;
  void CopyFrom(const GetSalepointCountRequest& from);
  void MergeFrom(const GetSalepointCountRequest& 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(GetSalepointCountRequest* other);

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

  std::string GetTypeName() const final;

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

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

  enum : int {
    kFilterFieldNumber = 1,
  };
  // .keyapis.ad.v1.SalepointFilter filter = 1;
  bool has_filter() const;
  void clear_filter() ;
  const ::keyapis::ad::v1::SalepointFilter& filter() const;
  PROTOBUF_NODISCARD ::keyapis::ad::v1::SalepointFilter* release_filter();
  ::keyapis::ad::v1::SalepointFilter* mutable_filter();
  void set_allocated_filter(::keyapis::ad::v1::SalepointFilter* filter);
  private:
  const ::keyapis::ad::v1::SalepointFilter& _internal_filter() const;
  ::keyapis::ad::v1::SalepointFilter* _internal_mutable_filter();
  public:
  void unsafe_arena_set_allocated_filter(
      ::keyapis::ad::v1::SalepointFilter* filter);
  ::keyapis::ad::v1::SalepointFilter* unsafe_arena_release_filter();
  // @@protoc_insertion_point(class_scope:keyapis.ad.v1.GetSalepointCountRequest)
 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::ad::v1::SalepointFilter* filter_;
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_keyapis_2fad_2fv1_2fkeyapis_5fad_5fsalepoint_5fv1_2eproto;
};// -------------------------------------------------------------------

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

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

  inline GetSalepointCountResponse& operator=(const GetSalepointCountResponse& from) {
    CopyFrom(from);
    return *this;
  }
  inline GetSalepointCountResponse& operator=(GetSalepointCountResponse&& 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 GetSalepointCountResponse& default_instance() {
    return *internal_default_instance();
  }
  enum TypeCase {
    kData = 1,
    TYPE_NOT_SET = 0,
  };

  static inline const GetSalepointCountResponse* internal_default_instance() {
    return reinterpret_cast<const GetSalepointCountResponse*>(
               &_GetSalepointCountResponse_default_instance_);
  }
  static constexpr int kIndexInFileMessages =
    13;

  friend void swap(GetSalepointCountResponse& a, GetSalepointCountResponse& b) {
    a.Swap(&b);
  }
  inline void Swap(GetSalepointCountResponse* 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(GetSalepointCountResponse* other) {
    if (other == this) return;
    ABSL_DCHECK(GetOwningArena() == other->GetOwningArena());
    InternalSwap(other);
  }

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

  GetSalepointCountResponse* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final {
    return CreateMaybeMessage<GetSalepointCountResponse>(arena);
  }
  void CheckTypeAndMergeFrom(const ::PROTOBUF_NAMESPACE_ID::MessageLite& from)  final;
  void CopyFrom(const GetSalepointCountResponse& from);
  void MergeFrom(const GetSalepointCountResponse& 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(GetSalepointCountResponse* other);

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

  std::string GetTypeName() const final;

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

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

  enum : int {
    kDataFieldNumber = 1,
  };
  // 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:
  void clear_type();
  TypeCase type_case() const;
  // @@protoc_insertion_point(class_scope:keyapis.ad.v1.GetSalepointCountResponse)
 private:
  class _Internal;
  void set_has_data();

  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_;
    } type_;
    mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
    ::uint32_t _oneof_case_[1];

  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_keyapis_2fad_2fv1_2fkeyapis_5fad_5fsalepoint_5fv1_2eproto;
};

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




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


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

// Salepoint_Location

// float latitude = 1 [(.google.api.field_behavior) = REQUIRED];
inline void Salepoint_Location::clear_latitude() {
  _impl_.latitude_ = 0;
}
inline float Salepoint_Location::latitude() const {
  // @@protoc_insertion_point(field_get:keyapis.ad.v1.Salepoint.Location.latitude)
  return _internal_latitude();
}
inline void Salepoint_Location::set_latitude(float value) {
  _internal_set_latitude(value);
  // @@protoc_insertion_point(field_set:keyapis.ad.v1.Salepoint.Location.latitude)
}
inline float Salepoint_Location::_internal_latitude() const {
  return _impl_.latitude_;
}
inline void Salepoint_Location::_internal_set_latitude(float value) {
  ;
  _impl_.latitude_ = value;
}

// float longitude = 2 [(.google.api.field_behavior) = REQUIRED];
inline void Salepoint_Location::clear_longitude() {
  _impl_.longitude_ = 0;
}
inline float Salepoint_Location::longitude() const {
  // @@protoc_insertion_point(field_get:keyapis.ad.v1.Salepoint.Location.longitude)
  return _internal_longitude();
}
inline void Salepoint_Location::set_longitude(float value) {
  _internal_set_longitude(value);
  // @@protoc_insertion_point(field_set:keyapis.ad.v1.Salepoint.Location.longitude)
}
inline float Salepoint_Location::_internal_longitude() const {
  return _impl_.longitude_;
}
inline void Salepoint_Location::_internal_set_longitude(float value) {
  ;
  _impl_.longitude_ = value;
}

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

// Salepoint_Worktime

// .keyapis.ad.v1.Salepoint.Worktime.DayType day_type = 1 [(.google.api.field_behavior) = REQUIRED];
inline void Salepoint_Worktime::clear_day_type() {
  _impl_.day_type_ = 0;
}
inline ::keyapis::ad::v1::Salepoint_Worktime_DayType Salepoint_Worktime::day_type() const {
  // @@protoc_insertion_point(field_get:keyapis.ad.v1.Salepoint.Worktime.day_type)
  return _internal_day_type();
}
inline void Salepoint_Worktime::set_day_type(::keyapis::ad::v1::Salepoint_Worktime_DayType value) {
   _internal_set_day_type(value);
  // @@protoc_insertion_point(field_set:keyapis.ad.v1.Salepoint.Worktime.day_type)
}
inline ::keyapis::ad::v1::Salepoint_Worktime_DayType Salepoint_Worktime::_internal_day_type() const {
  return static_cast<::keyapis::ad::v1::Salepoint_Worktime_DayType>(_impl_.day_type_);
}
inline void Salepoint_Worktime::_internal_set_day_type(::keyapis::ad::v1::Salepoint_Worktime_DayType value) {
  ;
  _impl_.day_type_ = value;
}

// string opened_at = 2 [(.google.api.field_behavior) = REQUIRED];
inline void Salepoint_Worktime::clear_opened_at() {
  _impl_.opened_at_.ClearToEmpty();
}
inline const std::string& Salepoint_Worktime::opened_at() const {
  // @@protoc_insertion_point(field_get:keyapis.ad.v1.Salepoint.Worktime.opened_at)
  return _internal_opened_at();
}
template <typename Arg_, typename... Args_>
inline PROTOBUF_ALWAYS_INLINE void Salepoint_Worktime::set_opened_at(Arg_&& arg,
                                                     Args_... args) {
  ;
  _impl_.opened_at_.Set(static_cast<Arg_&&>(arg), args..., GetArenaForAllocation());
  // @@protoc_insertion_point(field_set:keyapis.ad.v1.Salepoint.Worktime.opened_at)
}
inline std::string* Salepoint_Worktime::mutable_opened_at() {
  std::string* _s = _internal_mutable_opened_at();
  // @@protoc_insertion_point(field_mutable:keyapis.ad.v1.Salepoint.Worktime.opened_at)
  return _s;
}
inline const std::string& Salepoint_Worktime::_internal_opened_at() const {
  return _impl_.opened_at_.Get();
}
inline void Salepoint_Worktime::_internal_set_opened_at(const std::string& value) {
  ;


  _impl_.opened_at_.Set(value, GetArenaForAllocation());
}
inline std::string* Salepoint_Worktime::_internal_mutable_opened_at() {
  ;
  return _impl_.opened_at_.Mutable( GetArenaForAllocation());
}
inline std::string* Salepoint_Worktime::release_opened_at() {
  // @@protoc_insertion_point(field_release:keyapis.ad.v1.Salepoint.Worktime.opened_at)
  return _impl_.opened_at_.Release();
}
inline void Salepoint_Worktime::set_allocated_opened_at(std::string* value) {
  _impl_.opened_at_.SetAllocated(value, GetArenaForAllocation());
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
        if (_impl_.opened_at_.IsDefault()) {
          _impl_.opened_at_.Set("", GetArenaForAllocation());
        }
  #endif  // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  // @@protoc_insertion_point(field_set_allocated:keyapis.ad.v1.Salepoint.Worktime.opened_at)
}

// string closed_at = 3 [(.google.api.field_behavior) = REQUIRED];
inline void Salepoint_Worktime::clear_closed_at() {
  _impl_.closed_at_.ClearToEmpty();
}
inline const std::string& Salepoint_Worktime::closed_at() const {
  // @@protoc_insertion_point(field_get:keyapis.ad.v1.Salepoint.Worktime.closed_at)
  return _internal_closed_at();
}
template <typename Arg_, typename... Args_>
inline PROTOBUF_ALWAYS_INLINE void Salepoint_Worktime::set_closed_at(Arg_&& arg,
                                                     Args_... args) {
  ;
  _impl_.closed_at_.Set(static_cast<Arg_&&>(arg), args..., GetArenaForAllocation());
  // @@protoc_insertion_point(field_set:keyapis.ad.v1.Salepoint.Worktime.closed_at)
}
inline std::string* Salepoint_Worktime::mutable_closed_at() {
  std::string* _s = _internal_mutable_closed_at();
  // @@protoc_insertion_point(field_mutable:keyapis.ad.v1.Salepoint.Worktime.closed_at)
  return _s;
}
inline const std::string& Salepoint_Worktime::_internal_closed_at() const {
  return _impl_.closed_at_.Get();
}
inline void Salepoint_Worktime::_internal_set_closed_at(const std::string& value) {
  ;


  _impl_.closed_at_.Set(value, GetArenaForAllocation());
}
inline std::string* Salepoint_Worktime::_internal_mutable_closed_at() {
  ;
  return _impl_.closed_at_.Mutable( GetArenaForAllocation());
}
inline std::string* Salepoint_Worktime::release_closed_at() {
  // @@protoc_insertion_point(field_release:keyapis.ad.v1.Salepoint.Worktime.closed_at)
  return _impl_.closed_at_.Release();
}
inline void Salepoint_Worktime::set_allocated_closed_at(std::string* value) {
  _impl_.closed_at_.SetAllocated(value, GetArenaForAllocation());
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
        if (_impl_.closed_at_.IsDefault()) {
          _impl_.closed_at_.Set("", GetArenaForAllocation());
        }
  #endif  // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  // @@protoc_insertion_point(field_set_allocated:keyapis.ad.v1.Salepoint.Worktime.closed_at)
}

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

// Salepoint

// int32 id = 1;
inline void Salepoint::clear_id() {
  _impl_.id_ = 0;
}
inline ::int32_t Salepoint::id() const {
  // @@protoc_insertion_point(field_get:keyapis.ad.v1.Salepoint.id)
  return _internal_id();
}
inline void Salepoint::set_id(::int32_t value) {
  _internal_set_id(value);
  // @@protoc_insertion_point(field_set:keyapis.ad.v1.Salepoint.id)
}
inline ::int32_t Salepoint::_internal_id() const {
  return _impl_.id_;
}
inline void Salepoint::_internal_set_id(::int32_t value) {
  ;
  _impl_.id_ = value;
}

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


  _impl_.title_.Set(value, GetArenaForAllocation());
}
inline std::string* Salepoint::_internal_mutable_title() {
  ;
  return _impl_.title_.Mutable( GetArenaForAllocation());
}
inline std::string* Salepoint::release_title() {
  // @@protoc_insertion_point(field_release:keyapis.ad.v1.Salepoint.title)
  return _impl_.title_.Release();
}
inline void Salepoint::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.ad.v1.Salepoint.title)
}

// .keyapis.ad.v1.Salepoint.Type type = 3 [(.google.api.field_behavior) = REQUIRED];
inline void Salepoint::clear_type() {
  _impl_.type_ = 0;
}
inline ::keyapis::ad::v1::Salepoint_Type Salepoint::type() const {
  // @@protoc_insertion_point(field_get:keyapis.ad.v1.Salepoint.type)
  return _internal_type();
}
inline void Salepoint::set_type(::keyapis::ad::v1::Salepoint_Type value) {
   _internal_set_type(value);
  // @@protoc_insertion_point(field_set:keyapis.ad.v1.Salepoint.type)
}
inline ::keyapis::ad::v1::Salepoint_Type Salepoint::_internal_type() const {
  return static_cast<::keyapis::ad::v1::Salepoint_Type>(_impl_.type_);
}
inline void Salepoint::_internal_set_type(::keyapis::ad::v1::Salepoint_Type value) {
  ;
  _impl_.type_ = value;
}

// .google.protobuf.StringValue description = 4;
inline bool Salepoint::has_description() const {
  bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0;
  PROTOBUF_ASSUME(!value || _impl_.description_ != nullptr);
  return value;
}
inline const ::PROTOBUF_NAMESPACE_ID::StringValue& Salepoint::_internal_description() const {
  const ::PROTOBUF_NAMESPACE_ID::StringValue* p = _impl_.description_;
  return p != nullptr ? *p : reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::StringValue&>(
      ::PROTOBUF_NAMESPACE_ID::_StringValue_default_instance_);
}
inline const ::PROTOBUF_NAMESPACE_ID::StringValue& Salepoint::description() const {
  // @@protoc_insertion_point(field_get:keyapis.ad.v1.Salepoint.description)
  return _internal_description();
}
inline void Salepoint::unsafe_arena_set_allocated_description(
    ::PROTOBUF_NAMESPACE_ID::StringValue* description) {
  if (GetArenaForAllocation() == nullptr) {
    delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.description_);
  }
  _impl_.description_ = description;
  if (description) {
    _impl_._has_bits_[0] |= 0x00000001u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000001u;
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:keyapis.ad.v1.Salepoint.description)
}
inline ::PROTOBUF_NAMESPACE_ID::StringValue* Salepoint::release_description() {
  _impl_._has_bits_[0] &= ~0x00000001u;
  ::PROTOBUF_NAMESPACE_ID::StringValue* temp = _impl_.description_;
  _impl_.description_ = 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::StringValue* Salepoint::unsafe_arena_release_description() {
  // @@protoc_insertion_point(field_release:keyapis.ad.v1.Salepoint.description)
  _impl_._has_bits_[0] &= ~0x00000001u;
  ::PROTOBUF_NAMESPACE_ID::StringValue* temp = _impl_.description_;
  _impl_.description_ = nullptr;
  return temp;
}
inline ::PROTOBUF_NAMESPACE_ID::StringValue* Salepoint::_internal_mutable_description() {
  _impl_._has_bits_[0] |= 0x00000001u;
  if (_impl_.description_ == nullptr) {
    auto* p = CreateMaybeMessage<::PROTOBUF_NAMESPACE_ID::StringValue>(GetArenaForAllocation());
    _impl_.description_ = p;
  }
  return _impl_.description_;
}
inline ::PROTOBUF_NAMESPACE_ID::StringValue* Salepoint::mutable_description() {
  ::PROTOBUF_NAMESPACE_ID::StringValue* _msg = _internal_mutable_description();
  // @@protoc_insertion_point(field_mutable:keyapis.ad.v1.Salepoint.description)
  return _msg;
}
inline void Salepoint::set_allocated_description(::PROTOBUF_NAMESPACE_ID::StringValue* description) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation();
  if (message_arena == nullptr) {
    delete reinterpret_cast< ::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.description_);
  }
  if (description) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
        ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(
                reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(description));
    if (message_arena != submessage_arena) {
      description = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, description, submessage_arena);
    }
    _impl_._has_bits_[0] |= 0x00000001u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000001u;
  }
  _impl_.description_ = description;
  // @@protoc_insertion_point(field_set_allocated:keyapis.ad.v1.Salepoint.description)
}

// string address = 5 [(.google.api.field_behavior) = REQUIRED];
inline void Salepoint::clear_address() {
  _impl_.address_.ClearToEmpty();
}
inline const std::string& Salepoint::address() const {
  // @@protoc_insertion_point(field_get:keyapis.ad.v1.Salepoint.address)
  return _internal_address();
}
template <typename Arg_, typename... Args_>
inline PROTOBUF_ALWAYS_INLINE void Salepoint::set_address(Arg_&& arg,
                                                     Args_... args) {
  ;
  _impl_.address_.Set(static_cast<Arg_&&>(arg), args..., GetArenaForAllocation());
  // @@protoc_insertion_point(field_set:keyapis.ad.v1.Salepoint.address)
}
inline std::string* Salepoint::mutable_address() {
  std::string* _s = _internal_mutable_address();
  // @@protoc_insertion_point(field_mutable:keyapis.ad.v1.Salepoint.address)
  return _s;
}
inline const std::string& Salepoint::_internal_address() const {
  return _impl_.address_.Get();
}
inline void Salepoint::_internal_set_address(const std::string& value) {
  ;


  _impl_.address_.Set(value, GetArenaForAllocation());
}
inline std::string* Salepoint::_internal_mutable_address() {
  ;
  return _impl_.address_.Mutable( GetArenaForAllocation());
}
inline std::string* Salepoint::release_address() {
  // @@protoc_insertion_point(field_release:keyapis.ad.v1.Salepoint.address)
  return _impl_.address_.Release();
}
inline void Salepoint::set_allocated_address(std::string* value) {
  _impl_.address_.SetAllocated(value, GetArenaForAllocation());
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
        if (_impl_.address_.IsDefault()) {
          _impl_.address_.Set("", GetArenaForAllocation());
        }
  #endif  // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  // @@protoc_insertion_point(field_set_allocated:keyapis.ad.v1.Salepoint.address)
}

// .keyapis.ad.v1.Salepoint.Location location = 6 [(.google.api.field_behavior) = REQUIRED];
inline bool Salepoint::has_location() const {
  bool value = (_impl_._has_bits_[0] & 0x00000002u) != 0;
  PROTOBUF_ASSUME(!value || _impl_.location_ != nullptr);
  return value;
}
inline void Salepoint::clear_location() {
  if (_impl_.location_ != nullptr) _impl_.location_->Clear();
  _impl_._has_bits_[0] &= ~0x00000002u;
}
inline const ::keyapis::ad::v1::Salepoint_Location& Salepoint::_internal_location() const {
  const ::keyapis::ad::v1::Salepoint_Location* p = _impl_.location_;
  return p != nullptr ? *p : reinterpret_cast<const ::keyapis::ad::v1::Salepoint_Location&>(
      ::keyapis::ad::v1::_Salepoint_Location_default_instance_);
}
inline const ::keyapis::ad::v1::Salepoint_Location& Salepoint::location() const {
  // @@protoc_insertion_point(field_get:keyapis.ad.v1.Salepoint.location)
  return _internal_location();
}
inline void Salepoint::unsafe_arena_set_allocated_location(
    ::keyapis::ad::v1::Salepoint_Location* location) {
  if (GetArenaForAllocation() == nullptr) {
    delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.location_);
  }
  _impl_.location_ = location;
  if (location) {
    _impl_._has_bits_[0] |= 0x00000002u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000002u;
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:keyapis.ad.v1.Salepoint.location)
}
inline ::keyapis::ad::v1::Salepoint_Location* Salepoint::release_location() {
  _impl_._has_bits_[0] &= ~0x00000002u;
  ::keyapis::ad::v1::Salepoint_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::ad::v1::Salepoint_Location* Salepoint::unsafe_arena_release_location() {
  // @@protoc_insertion_point(field_release:keyapis.ad.v1.Salepoint.location)
  _impl_._has_bits_[0] &= ~0x00000002u;
  ::keyapis::ad::v1::Salepoint_Location* temp = _impl_.location_;
  _impl_.location_ = nullptr;
  return temp;
}
inline ::keyapis::ad::v1::Salepoint_Location* Salepoint::_internal_mutable_location() {
  _impl_._has_bits_[0] |= 0x00000002u;
  if (_impl_.location_ == nullptr) {
    auto* p = CreateMaybeMessage<::keyapis::ad::v1::Salepoint_Location>(GetArenaForAllocation());
    _impl_.location_ = p;
  }
  return _impl_.location_;
}
inline ::keyapis::ad::v1::Salepoint_Location* Salepoint::mutable_location() {
  ::keyapis::ad::v1::Salepoint_Location* _msg = _internal_mutable_location();
  // @@protoc_insertion_point(field_mutable:keyapis.ad.v1.Salepoint.location)
  return _msg;
}
inline void Salepoint::set_allocated_location(::keyapis::ad::v1::Salepoint_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] |= 0x00000002u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000002u;
  }
  _impl_.location_ = location;
  // @@protoc_insertion_point(field_set_allocated:keyapis.ad.v1.Salepoint.location)
}

// repeated .keyapis.ad.v1.Salepoint.Worktime worktimes = 7 [(.google.api.field_behavior) = REQUIRED];
inline int Salepoint::_internal_worktimes_size() const {
  return _impl_.worktimes_.size();
}
inline int Salepoint::worktimes_size() const {
  return _internal_worktimes_size();
}
inline void Salepoint::clear_worktimes() {
  _internal_mutable_worktimes()->Clear();
}
inline ::keyapis::ad::v1::Salepoint_Worktime* Salepoint::mutable_worktimes(int index) {
  // @@protoc_insertion_point(field_mutable:keyapis.ad.v1.Salepoint.worktimes)
  return _internal_mutable_worktimes()->Mutable(index);
}
inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::keyapis::ad::v1::Salepoint_Worktime >*
Salepoint::mutable_worktimes() {
  // @@protoc_insertion_point(field_mutable_list:keyapis.ad.v1.Salepoint.worktimes)
  return _internal_mutable_worktimes();
}
inline const ::keyapis::ad::v1::Salepoint_Worktime& Salepoint::_internal_worktimes(int index) const {
  return _internal_worktimes().Get(index);
}
inline const ::keyapis::ad::v1::Salepoint_Worktime& Salepoint::worktimes(int index) const {
  // @@protoc_insertion_point(field_get:keyapis.ad.v1.Salepoint.worktimes)
  return _internal_worktimes(index);
}
inline ::keyapis::ad::v1::Salepoint_Worktime* Salepoint::_internal_add_worktimes() {
  return _internal_mutable_worktimes()->Add();
}
inline ::keyapis::ad::v1::Salepoint_Worktime* Salepoint::add_worktimes() {
  ::keyapis::ad::v1::Salepoint_Worktime* _add = _internal_add_worktimes();
  // @@protoc_insertion_point(field_add:keyapis.ad.v1.Salepoint.worktimes)
  return _add;
}
inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::keyapis::ad::v1::Salepoint_Worktime >&
Salepoint::worktimes() const {
  // @@protoc_insertion_point(field_list:keyapis.ad.v1.Salepoint.worktimes)
  return _internal_worktimes();
}
inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField<::keyapis::ad::v1::Salepoint_Worktime>&
Salepoint::_internal_worktimes() const {
  return _impl_.worktimes_;
}
inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField<::keyapis::ad::v1::Salepoint_Worktime>*
Salepoint::_internal_mutable_worktimes() {
  return &_impl_.worktimes_;
}

// .google.protobuf.StringValue phone_number = 8;
inline bool Salepoint::has_phone_number() const {
  bool value = (_impl_._has_bits_[0] & 0x00000004u) != 0;
  PROTOBUF_ASSUME(!value || _impl_.phone_number_ != nullptr);
  return value;
}
inline const ::PROTOBUF_NAMESPACE_ID::StringValue& Salepoint::_internal_phone_number() const {
  const ::PROTOBUF_NAMESPACE_ID::StringValue* p = _impl_.phone_number_;
  return p != nullptr ? *p : reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::StringValue&>(
      ::PROTOBUF_NAMESPACE_ID::_StringValue_default_instance_);
}
inline const ::PROTOBUF_NAMESPACE_ID::StringValue& Salepoint::phone_number() const {
  // @@protoc_insertion_point(field_get:keyapis.ad.v1.Salepoint.phone_number)
  return _internal_phone_number();
}
inline void Salepoint::unsafe_arena_set_allocated_phone_number(
    ::PROTOBUF_NAMESPACE_ID::StringValue* phone_number) {
  if (GetArenaForAllocation() == nullptr) {
    delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.phone_number_);
  }
  _impl_.phone_number_ = phone_number;
  if (phone_number) {
    _impl_._has_bits_[0] |= 0x00000004u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000004u;
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:keyapis.ad.v1.Salepoint.phone_number)
}
inline ::PROTOBUF_NAMESPACE_ID::StringValue* Salepoint::release_phone_number() {
  _impl_._has_bits_[0] &= ~0x00000004u;
  ::PROTOBUF_NAMESPACE_ID::StringValue* temp = _impl_.phone_number_;
  _impl_.phone_number_ = 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::StringValue* Salepoint::unsafe_arena_release_phone_number() {
  // @@protoc_insertion_point(field_release:keyapis.ad.v1.Salepoint.phone_number)
  _impl_._has_bits_[0] &= ~0x00000004u;
  ::PROTOBUF_NAMESPACE_ID::StringValue* temp = _impl_.phone_number_;
  _impl_.phone_number_ = nullptr;
  return temp;
}
inline ::PROTOBUF_NAMESPACE_ID::StringValue* Salepoint::_internal_mutable_phone_number() {
  _impl_._has_bits_[0] |= 0x00000004u;
  if (_impl_.phone_number_ == nullptr) {
    auto* p = CreateMaybeMessage<::PROTOBUF_NAMESPACE_ID::StringValue>(GetArenaForAllocation());
    _impl_.phone_number_ = p;
  }
  return _impl_.phone_number_;
}
inline ::PROTOBUF_NAMESPACE_ID::StringValue* Salepoint::mutable_phone_number() {
  ::PROTOBUF_NAMESPACE_ID::StringValue* _msg = _internal_mutable_phone_number();
  // @@protoc_insertion_point(field_mutable:keyapis.ad.v1.Salepoint.phone_number)
  return _msg;
}
inline void Salepoint::set_allocated_phone_number(::PROTOBUF_NAMESPACE_ID::StringValue* phone_number) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation();
  if (message_arena == nullptr) {
    delete reinterpret_cast< ::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.phone_number_);
  }
  if (phone_number) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
        ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(
                reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(phone_number));
    if (message_arena != submessage_arena) {
      phone_number = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, phone_number, submessage_arena);
    }
    _impl_._has_bits_[0] |= 0x00000004u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000004u;
  }
  _impl_.phone_number_ = phone_number;
  // @@protoc_insertion_point(field_set_allocated:keyapis.ad.v1.Salepoint.phone_number)
}

// string site_url = 9 [(.google.api.field_behavior) = REQUIRED];
inline void Salepoint::clear_site_url() {
  _impl_.site_url_.ClearToEmpty();
}
inline const std::string& Salepoint::site_url() const {
  // @@protoc_insertion_point(field_get:keyapis.ad.v1.Salepoint.site_url)
  return _internal_site_url();
}
template <typename Arg_, typename... Args_>
inline PROTOBUF_ALWAYS_INLINE void Salepoint::set_site_url(Arg_&& arg,
                                                     Args_... args) {
  ;
  _impl_.site_url_.Set(static_cast<Arg_&&>(arg), args..., GetArenaForAllocation());
  // @@protoc_insertion_point(field_set:keyapis.ad.v1.Salepoint.site_url)
}
inline std::string* Salepoint::mutable_site_url() {
  std::string* _s = _internal_mutable_site_url();
  // @@protoc_insertion_point(field_mutable:keyapis.ad.v1.Salepoint.site_url)
  return _s;
}
inline const std::string& Salepoint::_internal_site_url() const {
  return _impl_.site_url_.Get();
}
inline void Salepoint::_internal_set_site_url(const std::string& value) {
  ;


  _impl_.site_url_.Set(value, GetArenaForAllocation());
}
inline std::string* Salepoint::_internal_mutable_site_url() {
  ;
  return _impl_.site_url_.Mutable( GetArenaForAllocation());
}
inline std::string* Salepoint::release_site_url() {
  // @@protoc_insertion_point(field_release:keyapis.ad.v1.Salepoint.site_url)
  return _impl_.site_url_.Release();
}
inline void Salepoint::set_allocated_site_url(std::string* value) {
  _impl_.site_url_.SetAllocated(value, GetArenaForAllocation());
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
        if (_impl_.site_url_.IsDefault()) {
          _impl_.site_url_.Set("", GetArenaForAllocation());
        }
  #endif  // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  // @@protoc_insertion_point(field_set_allocated:keyapis.ad.v1.Salepoint.site_url)
}

// .google.protobuf.Timestamp created_at = 10 [(.google.api.field_behavior) = OUTPUT_ONLY];
inline bool Salepoint::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& Salepoint::_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& Salepoint::created_at() const {
  // @@protoc_insertion_point(field_get:keyapis.ad.v1.Salepoint.created_at)
  return _internal_created_at();
}
inline void Salepoint::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.ad.v1.Salepoint.created_at)
}
inline ::PROTOBUF_NAMESPACE_ID::Timestamp* Salepoint::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* Salepoint::unsafe_arena_release_created_at() {
  // @@protoc_insertion_point(field_release:keyapis.ad.v1.Salepoint.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* Salepoint::_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* Salepoint::mutable_created_at() {
  ::PROTOBUF_NAMESPACE_ID::Timestamp* _msg = _internal_mutable_created_at();
  // @@protoc_insertion_point(field_mutable:keyapis.ad.v1.Salepoint.created_at)
  return _msg;
}
inline void Salepoint::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.ad.v1.Salepoint.created_at)
}

// .google.protobuf.Timestamp changed_at = 11 [(.google.api.field_behavior) = OUTPUT_ONLY];
inline bool Salepoint::has_changed_at() const {
  bool value = (_impl_._has_bits_[0] & 0x00000010u) != 0;
  PROTOBUF_ASSUME(!value || _impl_.changed_at_ != nullptr);
  return value;
}
inline const ::PROTOBUF_NAMESPACE_ID::Timestamp& Salepoint::_internal_changed_at() const {
  const ::PROTOBUF_NAMESPACE_ID::Timestamp* p = _impl_.changed_at_;
  return p != nullptr ? *p : reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Timestamp&>(
      ::PROTOBUF_NAMESPACE_ID::_Timestamp_default_instance_);
}
inline const ::PROTOBUF_NAMESPACE_ID::Timestamp& Salepoint::changed_at() const {
  // @@protoc_insertion_point(field_get:keyapis.ad.v1.Salepoint.changed_at)
  return _internal_changed_at();
}
inline void Salepoint::unsafe_arena_set_allocated_changed_at(
    ::PROTOBUF_NAMESPACE_ID::Timestamp* changed_at) {
  if (GetArenaForAllocation() == nullptr) {
    delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.changed_at_);
  }
  _impl_.changed_at_ = changed_at;
  if (changed_at) {
    _impl_._has_bits_[0] |= 0x00000010u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000010u;
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:keyapis.ad.v1.Salepoint.changed_at)
}
inline ::PROTOBUF_NAMESPACE_ID::Timestamp* Salepoint::release_changed_at() {
  _impl_._has_bits_[0] &= ~0x00000010u;
  ::PROTOBUF_NAMESPACE_ID::Timestamp* temp = _impl_.changed_at_;
  _impl_.changed_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* Salepoint::unsafe_arena_release_changed_at() {
  // @@protoc_insertion_point(field_release:keyapis.ad.v1.Salepoint.changed_at)
  _impl_._has_bits_[0] &= ~0x00000010u;
  ::PROTOBUF_NAMESPACE_ID::Timestamp* temp = _impl_.changed_at_;
  _impl_.changed_at_ = nullptr;
  return temp;
}
inline ::PROTOBUF_NAMESPACE_ID::Timestamp* Salepoint::_internal_mutable_changed_at() {
  _impl_._has_bits_[0] |= 0x00000010u;
  if (_impl_.changed_at_ == nullptr) {
    auto* p = CreateMaybeMessage<::PROTOBUF_NAMESPACE_ID::Timestamp>(GetArenaForAllocation());
    _impl_.changed_at_ = p;
  }
  return _impl_.changed_at_;
}
inline ::PROTOBUF_NAMESPACE_ID::Timestamp* Salepoint::mutable_changed_at() {
  ::PROTOBUF_NAMESPACE_ID::Timestamp* _msg = _internal_mutable_changed_at();
  // @@protoc_insertion_point(field_mutable:keyapis.ad.v1.Salepoint.changed_at)
  return _msg;
}
inline void Salepoint::set_allocated_changed_at(::PROTOBUF_NAMESPACE_ID::Timestamp* changed_at) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation();
  if (message_arena == nullptr) {
    delete reinterpret_cast< ::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.changed_at_);
  }
  if (changed_at) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
        ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(
                reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(changed_at));
    if (message_arena != submessage_arena) {
      changed_at = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, changed_at, submessage_arena);
    }
    _impl_._has_bits_[0] |= 0x00000010u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000010u;
  }
  _impl_.changed_at_ = changed_at;
  // @@protoc_insertion_point(field_set_allocated:keyapis.ad.v1.Salepoint.changed_at)
}

// .google.protobuf.Timestamp archieved_at = 12;
inline bool Salepoint::has_archieved_at() const {
  bool value = (_impl_._has_bits_[0] & 0x00000020u) != 0;
  PROTOBUF_ASSUME(!value || _impl_.archieved_at_ != nullptr);
  return value;
}
inline const ::PROTOBUF_NAMESPACE_ID::Timestamp& Salepoint::_internal_archieved_at() const {
  const ::PROTOBUF_NAMESPACE_ID::Timestamp* p = _impl_.archieved_at_;
  return p != nullptr ? *p : reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Timestamp&>(
      ::PROTOBUF_NAMESPACE_ID::_Timestamp_default_instance_);
}
inline const ::PROTOBUF_NAMESPACE_ID::Timestamp& Salepoint::archieved_at() const {
  // @@protoc_insertion_point(field_get:keyapis.ad.v1.Salepoint.archieved_at)
  return _internal_archieved_at();
}
inline void Salepoint::unsafe_arena_set_allocated_archieved_at(
    ::PROTOBUF_NAMESPACE_ID::Timestamp* archieved_at) {
  if (GetArenaForAllocation() == nullptr) {
    delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.archieved_at_);
  }
  _impl_.archieved_at_ = archieved_at;
  if (archieved_at) {
    _impl_._has_bits_[0] |= 0x00000020u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000020u;
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:keyapis.ad.v1.Salepoint.archieved_at)
}
inline ::PROTOBUF_NAMESPACE_ID::Timestamp* Salepoint::release_archieved_at() {
  _impl_._has_bits_[0] &= ~0x00000020u;
  ::PROTOBUF_NAMESPACE_ID::Timestamp* temp = _impl_.archieved_at_;
  _impl_.archieved_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* Salepoint::unsafe_arena_release_archieved_at() {
  // @@protoc_insertion_point(field_release:keyapis.ad.v1.Salepoint.archieved_at)
  _impl_._has_bits_[0] &= ~0x00000020u;
  ::PROTOBUF_NAMESPACE_ID::Timestamp* temp = _impl_.archieved_at_;
  _impl_.archieved_at_ = nullptr;
  return temp;
}
inline ::PROTOBUF_NAMESPACE_ID::Timestamp* Salepoint::_internal_mutable_archieved_at() {
  _impl_._has_bits_[0] |= 0x00000020u;
  if (_impl_.archieved_at_ == nullptr) {
    auto* p = CreateMaybeMessage<::PROTOBUF_NAMESPACE_ID::Timestamp>(GetArenaForAllocation());
    _impl_.archieved_at_ = p;
  }
  return _impl_.archieved_at_;
}
inline ::PROTOBUF_NAMESPACE_ID::Timestamp* Salepoint::mutable_archieved_at() {
  ::PROTOBUF_NAMESPACE_ID::Timestamp* _msg = _internal_mutable_archieved_at();
  // @@protoc_insertion_point(field_mutable:keyapis.ad.v1.Salepoint.archieved_at)
  return _msg;
}
inline void Salepoint::set_allocated_archieved_at(::PROTOBUF_NAMESPACE_ID::Timestamp* archieved_at) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation();
  if (message_arena == nullptr) {
    delete reinterpret_cast< ::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.archieved_at_);
  }
  if (archieved_at) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
        ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(
                reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(archieved_at));
    if (message_arena != submessage_arena) {
      archieved_at = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, archieved_at, submessage_arena);
    }
    _impl_._has_bits_[0] |= 0x00000020u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000020u;
  }
  _impl_.archieved_at_ = archieved_at;
  // @@protoc_insertion_point(field_set_allocated:keyapis.ad.v1.Salepoint.archieved_at)
}

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

// SalepointFilter_Location

// float latitude = 1;
inline void SalepointFilter_Location::clear_latitude() {
  _impl_.latitude_ = 0;
}
inline float SalepointFilter_Location::latitude() const {
  // @@protoc_insertion_point(field_get:keyapis.ad.v1.SalepointFilter.Location.latitude)
  return _internal_latitude();
}
inline void SalepointFilter_Location::set_latitude(float value) {
  _internal_set_latitude(value);
  // @@protoc_insertion_point(field_set:keyapis.ad.v1.SalepointFilter.Location.latitude)
}
inline float SalepointFilter_Location::_internal_latitude() const {
  return _impl_.latitude_;
}
inline void SalepointFilter_Location::_internal_set_latitude(float value) {
  ;
  _impl_.latitude_ = value;
}

// float longitude = 2;
inline void SalepointFilter_Location::clear_longitude() {
  _impl_.longitude_ = 0;
}
inline float SalepointFilter_Location::longitude() const {
  // @@protoc_insertion_point(field_get:keyapis.ad.v1.SalepointFilter.Location.longitude)
  return _internal_longitude();
}
inline void SalepointFilter_Location::set_longitude(float value) {
  _internal_set_longitude(value);
  // @@protoc_insertion_point(field_set:keyapis.ad.v1.SalepointFilter.Location.longitude)
}
inline float SalepointFilter_Location::_internal_longitude() const {
  return _impl_.longitude_;
}
inline void SalepointFilter_Location::_internal_set_longitude(float value) {
  ;
  _impl_.longitude_ = value;
}

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

// SalepointFilter

// .google.protobuf.StringValue text = 1;
inline bool SalepointFilter::has_text() const {
  bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0;
  PROTOBUF_ASSUME(!value || _impl_.text_ != nullptr);
  return value;
}
inline const ::PROTOBUF_NAMESPACE_ID::StringValue& SalepointFilter::_internal_text() const {
  const ::PROTOBUF_NAMESPACE_ID::StringValue* p = _impl_.text_;
  return p != nullptr ? *p : reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::StringValue&>(
      ::PROTOBUF_NAMESPACE_ID::_StringValue_default_instance_);
}
inline const ::PROTOBUF_NAMESPACE_ID::StringValue& SalepointFilter::text() const {
  // @@protoc_insertion_point(field_get:keyapis.ad.v1.SalepointFilter.text)
  return _internal_text();
}
inline void SalepointFilter::unsafe_arena_set_allocated_text(
    ::PROTOBUF_NAMESPACE_ID::StringValue* text) {
  if (GetArenaForAllocation() == nullptr) {
    delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.text_);
  }
  _impl_.text_ = text;
  if (text) {
    _impl_._has_bits_[0] |= 0x00000001u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000001u;
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:keyapis.ad.v1.SalepointFilter.text)
}
inline ::PROTOBUF_NAMESPACE_ID::StringValue* SalepointFilter::release_text() {
  _impl_._has_bits_[0] &= ~0x00000001u;
  ::PROTOBUF_NAMESPACE_ID::StringValue* temp = _impl_.text_;
  _impl_.text_ = 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::StringValue* SalepointFilter::unsafe_arena_release_text() {
  // @@protoc_insertion_point(field_release:keyapis.ad.v1.SalepointFilter.text)
  _impl_._has_bits_[0] &= ~0x00000001u;
  ::PROTOBUF_NAMESPACE_ID::StringValue* temp = _impl_.text_;
  _impl_.text_ = nullptr;
  return temp;
}
inline ::PROTOBUF_NAMESPACE_ID::StringValue* SalepointFilter::_internal_mutable_text() {
  _impl_._has_bits_[0] |= 0x00000001u;
  if (_impl_.text_ == nullptr) {
    auto* p = CreateMaybeMessage<::PROTOBUF_NAMESPACE_ID::StringValue>(GetArenaForAllocation());
    _impl_.text_ = p;
  }
  return _impl_.text_;
}
inline ::PROTOBUF_NAMESPACE_ID::StringValue* SalepointFilter::mutable_text() {
  ::PROTOBUF_NAMESPACE_ID::StringValue* _msg = _internal_mutable_text();
  // @@protoc_insertion_point(field_mutable:keyapis.ad.v1.SalepointFilter.text)
  return _msg;
}
inline void SalepointFilter::set_allocated_text(::PROTOBUF_NAMESPACE_ID::StringValue* text) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation();
  if (message_arena == nullptr) {
    delete reinterpret_cast< ::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.text_);
  }
  if (text) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
        ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(
                reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(text));
    if (message_arena != submessage_arena) {
      text = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, text, submessage_arena);
    }
    _impl_._has_bits_[0] |= 0x00000001u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000001u;
  }
  _impl_.text_ = text;
  // @@protoc_insertion_point(field_set_allocated:keyapis.ad.v1.SalepointFilter.text)
}

// .keyapis.ad.v1.SalepointFilter.Location location = 2;
inline bool SalepointFilter::has_location() const {
  bool value = (_impl_._has_bits_[0] & 0x00000002u) != 0;
  PROTOBUF_ASSUME(!value || _impl_.location_ != nullptr);
  return value;
}
inline void SalepointFilter::clear_location() {
  if (_impl_.location_ != nullptr) _impl_.location_->Clear();
  _impl_._has_bits_[0] &= ~0x00000002u;
}
inline const ::keyapis::ad::v1::SalepointFilter_Location& SalepointFilter::_internal_location() const {
  const ::keyapis::ad::v1::SalepointFilter_Location* p = _impl_.location_;
  return p != nullptr ? *p : reinterpret_cast<const ::keyapis::ad::v1::SalepointFilter_Location&>(
      ::keyapis::ad::v1::_SalepointFilter_Location_default_instance_);
}
inline const ::keyapis::ad::v1::SalepointFilter_Location& SalepointFilter::location() const {
  // @@protoc_insertion_point(field_get:keyapis.ad.v1.SalepointFilter.location)
  return _internal_location();
}
inline void SalepointFilter::unsafe_arena_set_allocated_location(
    ::keyapis::ad::v1::SalepointFilter_Location* location) {
  if (GetArenaForAllocation() == nullptr) {
    delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.location_);
  }
  _impl_.location_ = location;
  if (location) {
    _impl_._has_bits_[0] |= 0x00000002u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000002u;
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:keyapis.ad.v1.SalepointFilter.location)
}
inline ::keyapis::ad::v1::SalepointFilter_Location* SalepointFilter::release_location() {
  _impl_._has_bits_[0] &= ~0x00000002u;
  ::keyapis::ad::v1::SalepointFilter_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::ad::v1::SalepointFilter_Location* SalepointFilter::unsafe_arena_release_location() {
  // @@protoc_insertion_point(field_release:keyapis.ad.v1.SalepointFilter.location)
  _impl_._has_bits_[0] &= ~0x00000002u;
  ::keyapis::ad::v1::SalepointFilter_Location* temp = _impl_.location_;
  _impl_.location_ = nullptr;
  return temp;
}
inline ::keyapis::ad::v1::SalepointFilter_Location* SalepointFilter::_internal_mutable_location() {
  _impl_._has_bits_[0] |= 0x00000002u;
  if (_impl_.location_ == nullptr) {
    auto* p = CreateMaybeMessage<::keyapis::ad::v1::SalepointFilter_Location>(GetArenaForAllocation());
    _impl_.location_ = p;
  }
  return _impl_.location_;
}
inline ::keyapis::ad::v1::SalepointFilter_Location* SalepointFilter::mutable_location() {
  ::keyapis::ad::v1::SalepointFilter_Location* _msg = _internal_mutable_location();
  // @@protoc_insertion_point(field_mutable:keyapis.ad.v1.SalepointFilter.location)
  return _msg;
}
inline void SalepointFilter::set_allocated_location(::keyapis::ad::v1::SalepointFilter_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] |= 0x00000002u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000002u;
  }
  _impl_.location_ = location;
  // @@protoc_insertion_point(field_set_allocated:keyapis.ad.v1.SalepointFilter.location)
}

// .google.protobuf.FloatValue distance = 3;
inline bool SalepointFilter::has_distance() const {
  bool value = (_impl_._has_bits_[0] & 0x00000004u) != 0;
  PROTOBUF_ASSUME(!value || _impl_.distance_ != nullptr);
  return value;
}
inline const ::PROTOBUF_NAMESPACE_ID::FloatValue& SalepointFilter::_internal_distance() const {
  const ::PROTOBUF_NAMESPACE_ID::FloatValue* p = _impl_.distance_;
  return p != nullptr ? *p : reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::FloatValue&>(
      ::PROTOBUF_NAMESPACE_ID::_FloatValue_default_instance_);
}
inline const ::PROTOBUF_NAMESPACE_ID::FloatValue& SalepointFilter::distance() const {
  // @@protoc_insertion_point(field_get:keyapis.ad.v1.SalepointFilter.distance)
  return _internal_distance();
}
inline void SalepointFilter::unsafe_arena_set_allocated_distance(
    ::PROTOBUF_NAMESPACE_ID::FloatValue* distance) {
  if (GetArenaForAllocation() == nullptr) {
    delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.distance_);
  }
  _impl_.distance_ = distance;
  if (distance) {
    _impl_._has_bits_[0] |= 0x00000004u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000004u;
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:keyapis.ad.v1.SalepointFilter.distance)
}
inline ::PROTOBUF_NAMESPACE_ID::FloatValue* SalepointFilter::release_distance() {
  _impl_._has_bits_[0] &= ~0x00000004u;
  ::PROTOBUF_NAMESPACE_ID::FloatValue* temp = _impl_.distance_;
  _impl_.distance_ = 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::FloatValue* SalepointFilter::unsafe_arena_release_distance() {
  // @@protoc_insertion_point(field_release:keyapis.ad.v1.SalepointFilter.distance)
  _impl_._has_bits_[0] &= ~0x00000004u;
  ::PROTOBUF_NAMESPACE_ID::FloatValue* temp = _impl_.distance_;
  _impl_.distance_ = nullptr;
  return temp;
}
inline ::PROTOBUF_NAMESPACE_ID::FloatValue* SalepointFilter::_internal_mutable_distance() {
  _impl_._has_bits_[0] |= 0x00000004u;
  if (_impl_.distance_ == nullptr) {
    auto* p = CreateMaybeMessage<::PROTOBUF_NAMESPACE_ID::FloatValue>(GetArenaForAllocation());
    _impl_.distance_ = p;
  }
  return _impl_.distance_;
}
inline ::PROTOBUF_NAMESPACE_ID::FloatValue* SalepointFilter::mutable_distance() {
  ::PROTOBUF_NAMESPACE_ID::FloatValue* _msg = _internal_mutable_distance();
  // @@protoc_insertion_point(field_mutable:keyapis.ad.v1.SalepointFilter.distance)
  return _msg;
}
inline void SalepointFilter::set_allocated_distance(::PROTOBUF_NAMESPACE_ID::FloatValue* distance) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation();
  if (message_arena == nullptr) {
    delete reinterpret_cast< ::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.distance_);
  }
  if (distance) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
        ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(
                reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(distance));
    if (message_arena != submessage_arena) {
      distance = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, distance, submessage_arena);
    }
    _impl_._has_bits_[0] |= 0x00000004u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000004u;
  }
  _impl_.distance_ = distance;
  // @@protoc_insertion_point(field_set_allocated:keyapis.ad.v1.SalepointFilter.distance)
}

// .google.protobuf.BoolValue is_archieved = 4;
inline bool SalepointFilter::has_is_archieved() const {
  bool value = (_impl_._has_bits_[0] & 0x00000008u) != 0;
  PROTOBUF_ASSUME(!value || _impl_.is_archieved_ != nullptr);
  return value;
}
inline const ::PROTOBUF_NAMESPACE_ID::BoolValue& SalepointFilter::_internal_is_archieved() const {
  const ::PROTOBUF_NAMESPACE_ID::BoolValue* p = _impl_.is_archieved_;
  return p != nullptr ? *p : reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::BoolValue&>(
      ::PROTOBUF_NAMESPACE_ID::_BoolValue_default_instance_);
}
inline const ::PROTOBUF_NAMESPACE_ID::BoolValue& SalepointFilter::is_archieved() const {
  // @@protoc_insertion_point(field_get:keyapis.ad.v1.SalepointFilter.is_archieved)
  return _internal_is_archieved();
}
inline void SalepointFilter::unsafe_arena_set_allocated_is_archieved(
    ::PROTOBUF_NAMESPACE_ID::BoolValue* is_archieved) {
  if (GetArenaForAllocation() == nullptr) {
    delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.is_archieved_);
  }
  _impl_.is_archieved_ = is_archieved;
  if (is_archieved) {
    _impl_._has_bits_[0] |= 0x00000008u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000008u;
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:keyapis.ad.v1.SalepointFilter.is_archieved)
}
inline ::PROTOBUF_NAMESPACE_ID::BoolValue* SalepointFilter::release_is_archieved() {
  _impl_._has_bits_[0] &= ~0x00000008u;
  ::PROTOBUF_NAMESPACE_ID::BoolValue* temp = _impl_.is_archieved_;
  _impl_.is_archieved_ = 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::BoolValue* SalepointFilter::unsafe_arena_release_is_archieved() {
  // @@protoc_insertion_point(field_release:keyapis.ad.v1.SalepointFilter.is_archieved)
  _impl_._has_bits_[0] &= ~0x00000008u;
  ::PROTOBUF_NAMESPACE_ID::BoolValue* temp = _impl_.is_archieved_;
  _impl_.is_archieved_ = nullptr;
  return temp;
}
inline ::PROTOBUF_NAMESPACE_ID::BoolValue* SalepointFilter::_internal_mutable_is_archieved() {
  _impl_._has_bits_[0] |= 0x00000008u;
  if (_impl_.is_archieved_ == nullptr) {
    auto* p = CreateMaybeMessage<::PROTOBUF_NAMESPACE_ID::BoolValue>(GetArenaForAllocation());
    _impl_.is_archieved_ = p;
  }
  return _impl_.is_archieved_;
}
inline ::PROTOBUF_NAMESPACE_ID::BoolValue* SalepointFilter::mutable_is_archieved() {
  ::PROTOBUF_NAMESPACE_ID::BoolValue* _msg = _internal_mutable_is_archieved();
  // @@protoc_insertion_point(field_mutable:keyapis.ad.v1.SalepointFilter.is_archieved)
  return _msg;
}
inline void SalepointFilter::set_allocated_is_archieved(::PROTOBUF_NAMESPACE_ID::BoolValue* is_archieved) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation();
  if (message_arena == nullptr) {
    delete reinterpret_cast< ::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.is_archieved_);
  }
  if (is_archieved) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
        ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(
                reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(is_archieved));
    if (message_arena != submessage_arena) {
      is_archieved = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, is_archieved, submessage_arena);
    }
    _impl_._has_bits_[0] |= 0x00000008u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000008u;
  }
  _impl_.is_archieved_ = is_archieved;
  // @@protoc_insertion_point(field_set_allocated:keyapis.ad.v1.SalepointFilter.is_archieved)
}

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

// SalepointPaging

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

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

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

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

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

// PostSalepointRequest

// .keyapis.ad.v1.Salepoint data = 1 [(.google.api.field_behavior) = REQUIRED];
inline bool PostSalepointRequest::has_data() const {
  bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0;
  PROTOBUF_ASSUME(!value || _impl_.data_ != nullptr);
  return value;
}
inline void PostSalepointRequest::clear_data() {
  if (_impl_.data_ != nullptr) _impl_.data_->Clear();
  _impl_._has_bits_[0] &= ~0x00000001u;
}
inline const ::keyapis::ad::v1::Salepoint& PostSalepointRequest::_internal_data() const {
  const ::keyapis::ad::v1::Salepoint* p = _impl_.data_;
  return p != nullptr ? *p : reinterpret_cast<const ::keyapis::ad::v1::Salepoint&>(
      ::keyapis::ad::v1::_Salepoint_default_instance_);
}
inline const ::keyapis::ad::v1::Salepoint& PostSalepointRequest::data() const {
  // @@protoc_insertion_point(field_get:keyapis.ad.v1.PostSalepointRequest.data)
  return _internal_data();
}
inline void PostSalepointRequest::unsafe_arena_set_allocated_data(
    ::keyapis::ad::v1::Salepoint* data) {
  if (GetArenaForAllocation() == nullptr) {
    delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.data_);
  }
  _impl_.data_ = data;
  if (data) {
    _impl_._has_bits_[0] |= 0x00000001u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000001u;
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:keyapis.ad.v1.PostSalepointRequest.data)
}
inline ::keyapis::ad::v1::Salepoint* PostSalepointRequest::release_data() {
  _impl_._has_bits_[0] &= ~0x00000001u;
  ::keyapis::ad::v1::Salepoint* temp = _impl_.data_;
  _impl_.data_ = 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::ad::v1::Salepoint* PostSalepointRequest::unsafe_arena_release_data() {
  // @@protoc_insertion_point(field_release:keyapis.ad.v1.PostSalepointRequest.data)
  _impl_._has_bits_[0] &= ~0x00000001u;
  ::keyapis::ad::v1::Salepoint* temp = _impl_.data_;
  _impl_.data_ = nullptr;
  return temp;
}
inline ::keyapis::ad::v1::Salepoint* PostSalepointRequest::_internal_mutable_data() {
  _impl_._has_bits_[0] |= 0x00000001u;
  if (_impl_.data_ == nullptr) {
    auto* p = CreateMaybeMessage<::keyapis::ad::v1::Salepoint>(GetArenaForAllocation());
    _impl_.data_ = p;
  }
  return _impl_.data_;
}
inline ::keyapis::ad::v1::Salepoint* PostSalepointRequest::mutable_data() {
  ::keyapis::ad::v1::Salepoint* _msg = _internal_mutable_data();
  // @@protoc_insertion_point(field_mutable:keyapis.ad.v1.PostSalepointRequest.data)
  return _msg;
}
inline void PostSalepointRequest::set_allocated_data(::keyapis::ad::v1::Salepoint* data) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation();
  if (message_arena == nullptr) {
    delete _impl_.data_;
  }
  if (data) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
        ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(data);
    if (message_arena != submessage_arena) {
      data = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, data, submessage_arena);
    }
    _impl_._has_bits_[0] |= 0x00000001u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000001u;
  }
  _impl_.data_ = data;
  // @@protoc_insertion_point(field_set_allocated:keyapis.ad.v1.PostSalepointRequest.data)
}

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

// PostSalepointResponse

// .keyapis.ad.v1.Salepoint data = 1;
inline bool PostSalepointResponse::has_data() const {
  return type_case() == kData;
}
inline bool PostSalepointResponse::_internal_has_data() const {
  return type_case() == kData;
}
inline void PostSalepointResponse::set_has_data() {
  _impl_._oneof_case_[0] = kData;
}
inline void PostSalepointResponse::clear_data() {
  if (type_case() == kData) {
    if (GetArenaForAllocation() == nullptr) {
      delete _impl_.type_.data_;
    }
    clear_has_type();
  }
}
inline ::keyapis::ad::v1::Salepoint* PostSalepointResponse::release_data() {
  // @@protoc_insertion_point(field_release:keyapis.ad.v1.PostSalepointResponse.data)
  if (type_case() == kData) {
    clear_has_type();
    ::keyapis::ad::v1::Salepoint* temp = _impl_.type_.data_;
    if (GetArenaForAllocation() != nullptr) {
      temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
    }
    _impl_.type_.data_ = nullptr;
    return temp;
  } else {
    return nullptr;
  }
}
inline const ::keyapis::ad::v1::Salepoint& PostSalepointResponse::_internal_data() const {
  return type_case() == kData
      ? *_impl_.type_.data_
      : reinterpret_cast<::keyapis::ad::v1::Salepoint&>(::keyapis::ad::v1::_Salepoint_default_instance_);
}
inline const ::keyapis::ad::v1::Salepoint& PostSalepointResponse::data() const {
  // @@protoc_insertion_point(field_get:keyapis.ad.v1.PostSalepointResponse.data)
  return _internal_data();
}
inline ::keyapis::ad::v1::Salepoint* PostSalepointResponse::unsafe_arena_release_data() {
  // @@protoc_insertion_point(field_unsafe_arena_release:keyapis.ad.v1.PostSalepointResponse.data)
  if (type_case() == kData) {
    clear_has_type();
    ::keyapis::ad::v1::Salepoint* temp = _impl_.type_.data_;
    _impl_.type_.data_ = nullptr;
    return temp;
  } else {
    return nullptr;
  }
}
inline void PostSalepointResponse::unsafe_arena_set_allocated_data(::keyapis::ad::v1::Salepoint* data) {
  clear_type();
  if (data) {
    set_has_data();
    _impl_.type_.data_ = data;
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:keyapis.ad.v1.PostSalepointResponse.data)
}
inline ::keyapis::ad::v1::Salepoint* PostSalepointResponse::_internal_mutable_data() {
  if (type_case() != kData) {
    clear_type();
    set_has_data();
    _impl_.type_.data_ = CreateMaybeMessage< ::keyapis::ad::v1::Salepoint >(GetArenaForAllocation());
  }
  return _impl_.type_.data_;
}
inline ::keyapis::ad::v1::Salepoint* PostSalepointResponse::mutable_data() {
  ::keyapis::ad::v1::Salepoint* _msg = _internal_mutable_data();
  // @@protoc_insertion_point(field_mutable:keyapis.ad.v1.PostSalepointResponse.data)
  return _msg;
}

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

// GetSalepointRequest

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

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

// GetSalepointResponse

// .keyapis.ad.v1.Salepoint data = 1;
inline bool GetSalepointResponse::has_data() const {
  return type_case() == kData;
}
inline bool GetSalepointResponse::_internal_has_data() const {
  return type_case() == kData;
}
inline void GetSalepointResponse::set_has_data() {
  _impl_._oneof_case_[0] = kData;
}
inline void GetSalepointResponse::clear_data() {
  if (type_case() == kData) {
    if (GetArenaForAllocation() == nullptr) {
      delete _impl_.type_.data_;
    }
    clear_has_type();
  }
}
inline ::keyapis::ad::v1::Salepoint* GetSalepointResponse::release_data() {
  // @@protoc_insertion_point(field_release:keyapis.ad.v1.GetSalepointResponse.data)
  if (type_case() == kData) {
    clear_has_type();
    ::keyapis::ad::v1::Salepoint* temp = _impl_.type_.data_;
    if (GetArenaForAllocation() != nullptr) {
      temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
    }
    _impl_.type_.data_ = nullptr;
    return temp;
  } else {
    return nullptr;
  }
}
inline const ::keyapis::ad::v1::Salepoint& GetSalepointResponse::_internal_data() const {
  return type_case() == kData
      ? *_impl_.type_.data_
      : reinterpret_cast<::keyapis::ad::v1::Salepoint&>(::keyapis::ad::v1::_Salepoint_default_instance_);
}
inline const ::keyapis::ad::v1::Salepoint& GetSalepointResponse::data() const {
  // @@protoc_insertion_point(field_get:keyapis.ad.v1.GetSalepointResponse.data)
  return _internal_data();
}
inline ::keyapis::ad::v1::Salepoint* GetSalepointResponse::unsafe_arena_release_data() {
  // @@protoc_insertion_point(field_unsafe_arena_release:keyapis.ad.v1.GetSalepointResponse.data)
  if (type_case() == kData) {
    clear_has_type();
    ::keyapis::ad::v1::Salepoint* temp = _impl_.type_.data_;
    _impl_.type_.data_ = nullptr;
    return temp;
  } else {
    return nullptr;
  }
}
inline void GetSalepointResponse::unsafe_arena_set_allocated_data(::keyapis::ad::v1::Salepoint* data) {
  clear_type();
  if (data) {
    set_has_data();
    _impl_.type_.data_ = data;
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:keyapis.ad.v1.GetSalepointResponse.data)
}
inline ::keyapis::ad::v1::Salepoint* GetSalepointResponse::_internal_mutable_data() {
  if (type_case() != kData) {
    clear_type();
    set_has_data();
    _impl_.type_.data_ = CreateMaybeMessage< ::keyapis::ad::v1::Salepoint >(GetArenaForAllocation());
  }
  return _impl_.type_.data_;
}
inline ::keyapis::ad::v1::Salepoint* GetSalepointResponse::mutable_data() {
  ::keyapis::ad::v1::Salepoint* _msg = _internal_mutable_data();
  // @@protoc_insertion_point(field_mutable:keyapis.ad.v1.GetSalepointResponse.data)
  return _msg;
}

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

// GetSalepointListRequest

// .keyapis.ad.v1.SalepointFilter filter = 1;
inline bool GetSalepointListRequest::has_filter() const {
  bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0;
  PROTOBUF_ASSUME(!value || _impl_.filter_ != nullptr);
  return value;
}
inline void GetSalepointListRequest::clear_filter() {
  if (_impl_.filter_ != nullptr) _impl_.filter_->Clear();
  _impl_._has_bits_[0] &= ~0x00000001u;
}
inline const ::keyapis::ad::v1::SalepointFilter& GetSalepointListRequest::_internal_filter() const {
  const ::keyapis::ad::v1::SalepointFilter* p = _impl_.filter_;
  return p != nullptr ? *p : reinterpret_cast<const ::keyapis::ad::v1::SalepointFilter&>(
      ::keyapis::ad::v1::_SalepointFilter_default_instance_);
}
inline const ::keyapis::ad::v1::SalepointFilter& GetSalepointListRequest::filter() const {
  // @@protoc_insertion_point(field_get:keyapis.ad.v1.GetSalepointListRequest.filter)
  return _internal_filter();
}
inline void GetSalepointListRequest::unsafe_arena_set_allocated_filter(
    ::keyapis::ad::v1::SalepointFilter* filter) {
  if (GetArenaForAllocation() == nullptr) {
    delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.filter_);
  }
  _impl_.filter_ = filter;
  if (filter) {
    _impl_._has_bits_[0] |= 0x00000001u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000001u;
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:keyapis.ad.v1.GetSalepointListRequest.filter)
}
inline ::keyapis::ad::v1::SalepointFilter* GetSalepointListRequest::release_filter() {
  _impl_._has_bits_[0] &= ~0x00000001u;
  ::keyapis::ad::v1::SalepointFilter* 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::ad::v1::SalepointFilter* GetSalepointListRequest::unsafe_arena_release_filter() {
  // @@protoc_insertion_point(field_release:keyapis.ad.v1.GetSalepointListRequest.filter)
  _impl_._has_bits_[0] &= ~0x00000001u;
  ::keyapis::ad::v1::SalepointFilter* temp = _impl_.filter_;
  _impl_.filter_ = nullptr;
  return temp;
}
inline ::keyapis::ad::v1::SalepointFilter* GetSalepointListRequest::_internal_mutable_filter() {
  _impl_._has_bits_[0] |= 0x00000001u;
  if (_impl_.filter_ == nullptr) {
    auto* p = CreateMaybeMessage<::keyapis::ad::v1::SalepointFilter>(GetArenaForAllocation());
    _impl_.filter_ = p;
  }
  return _impl_.filter_;
}
inline ::keyapis::ad::v1::SalepointFilter* GetSalepointListRequest::mutable_filter() {
  ::keyapis::ad::v1::SalepointFilter* _msg = _internal_mutable_filter();
  // @@protoc_insertion_point(field_mutable:keyapis.ad.v1.GetSalepointListRequest.filter)
  return _msg;
}
inline void GetSalepointListRequest::set_allocated_filter(::keyapis::ad::v1::SalepointFilter* 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] |= 0x00000001u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000001u;
  }
  _impl_.filter_ = filter;
  // @@protoc_insertion_point(field_set_allocated:keyapis.ad.v1.GetSalepointListRequest.filter)
}

// .keyapis.ad.v1.SalepointPaging paging = 2;
inline bool GetSalepointListRequest::has_paging() const {
  return pagination_case() == kPaging;
}
inline bool GetSalepointListRequest::_internal_has_paging() const {
  return pagination_case() == kPaging;
}
inline void GetSalepointListRequest::set_has_paging() {
  _impl_._oneof_case_[0] = kPaging;
}
inline void GetSalepointListRequest::clear_paging() {
  if (pagination_case() == kPaging) {
    if (GetArenaForAllocation() == nullptr) {
      delete _impl_.pagination_.paging_;
    }
    clear_has_pagination();
  }
}
inline ::keyapis::ad::v1::SalepointPaging* GetSalepointListRequest::release_paging() {
  // @@protoc_insertion_point(field_release:keyapis.ad.v1.GetSalepointListRequest.paging)
  if (pagination_case() == kPaging) {
    clear_has_pagination();
    ::keyapis::ad::v1::SalepointPaging* 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::ad::v1::SalepointPaging& GetSalepointListRequest::_internal_paging() const {
  return pagination_case() == kPaging
      ? *_impl_.pagination_.paging_
      : reinterpret_cast<::keyapis::ad::v1::SalepointPaging&>(::keyapis::ad::v1::_SalepointPaging_default_instance_);
}
inline const ::keyapis::ad::v1::SalepointPaging& GetSalepointListRequest::paging() const {
  // @@protoc_insertion_point(field_get:keyapis.ad.v1.GetSalepointListRequest.paging)
  return _internal_paging();
}
inline ::keyapis::ad::v1::SalepointPaging* GetSalepointListRequest::unsafe_arena_release_paging() {
  // @@protoc_insertion_point(field_unsafe_arena_release:keyapis.ad.v1.GetSalepointListRequest.paging)
  if (pagination_case() == kPaging) {
    clear_has_pagination();
    ::keyapis::ad::v1::SalepointPaging* temp = _impl_.pagination_.paging_;
    _impl_.pagination_.paging_ = nullptr;
    return temp;
  } else {
    return nullptr;
  }
}
inline void GetSalepointListRequest::unsafe_arena_set_allocated_paging(::keyapis::ad::v1::SalepointPaging* paging) {
  clear_pagination();
  if (paging) {
    set_has_paging();
    _impl_.pagination_.paging_ = paging;
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:keyapis.ad.v1.GetSalepointListRequest.paging)
}
inline ::keyapis::ad::v1::SalepointPaging* GetSalepointListRequest::_internal_mutable_paging() {
  if (pagination_case() != kPaging) {
    clear_pagination();
    set_has_paging();
    _impl_.pagination_.paging_ = CreateMaybeMessage< ::keyapis::ad::v1::SalepointPaging >(GetArenaForAllocation());
  }
  return _impl_.pagination_.paging_;
}
inline ::keyapis::ad::v1::SalepointPaging* GetSalepointListRequest::mutable_paging() {
  ::keyapis::ad::v1::SalepointPaging* _msg = _internal_mutable_paging();
  // @@protoc_insertion_point(field_mutable:keyapis.ad.v1.GetSalepointListRequest.paging)
  return _msg;
}

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

// GetSalepointListResponse

// .keyapis.ad.v1.Salepoint data = 1;
inline bool GetSalepointListResponse::has_data() const {
  return type_case() == kData;
}
inline bool GetSalepointListResponse::_internal_has_data() const {
  return type_case() == kData;
}
inline void GetSalepointListResponse::set_has_data() {
  _impl_._oneof_case_[0] = kData;
}
inline void GetSalepointListResponse::clear_data() {
  if (type_case() == kData) {
    if (GetArenaForAllocation() == nullptr) {
      delete _impl_.type_.data_;
    }
    clear_has_type();
  }
}
inline ::keyapis::ad::v1::Salepoint* GetSalepointListResponse::release_data() {
  // @@protoc_insertion_point(field_release:keyapis.ad.v1.GetSalepointListResponse.data)
  if (type_case() == kData) {
    clear_has_type();
    ::keyapis::ad::v1::Salepoint* temp = _impl_.type_.data_;
    if (GetArenaForAllocation() != nullptr) {
      temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
    }
    _impl_.type_.data_ = nullptr;
    return temp;
  } else {
    return nullptr;
  }
}
inline const ::keyapis::ad::v1::Salepoint& GetSalepointListResponse::_internal_data() const {
  return type_case() == kData
      ? *_impl_.type_.data_
      : reinterpret_cast<::keyapis::ad::v1::Salepoint&>(::keyapis::ad::v1::_Salepoint_default_instance_);
}
inline const ::keyapis::ad::v1::Salepoint& GetSalepointListResponse::data() const {
  // @@protoc_insertion_point(field_get:keyapis.ad.v1.GetSalepointListResponse.data)
  return _internal_data();
}
inline ::keyapis::ad::v1::Salepoint* GetSalepointListResponse::unsafe_arena_release_data() {
  // @@protoc_insertion_point(field_unsafe_arena_release:keyapis.ad.v1.GetSalepointListResponse.data)
  if (type_case() == kData) {
    clear_has_type();
    ::keyapis::ad::v1::Salepoint* temp = _impl_.type_.data_;
    _impl_.type_.data_ = nullptr;
    return temp;
  } else {
    return nullptr;
  }
}
inline void GetSalepointListResponse::unsafe_arena_set_allocated_data(::keyapis::ad::v1::Salepoint* data) {
  clear_type();
  if (data) {
    set_has_data();
    _impl_.type_.data_ = data;
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:keyapis.ad.v1.GetSalepointListResponse.data)
}
inline ::keyapis::ad::v1::Salepoint* GetSalepointListResponse::_internal_mutable_data() {
  if (type_case() != kData) {
    clear_type();
    set_has_data();
    _impl_.type_.data_ = CreateMaybeMessage< ::keyapis::ad::v1::Salepoint >(GetArenaForAllocation());
  }
  return _impl_.type_.data_;
}
inline ::keyapis::ad::v1::Salepoint* GetSalepointListResponse::mutable_data() {
  ::keyapis::ad::v1::Salepoint* _msg = _internal_mutable_data();
  // @@protoc_insertion_point(field_mutable:keyapis.ad.v1.GetSalepointListResponse.data)
  return _msg;
}

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

// GetSalepointCountRequest

// .keyapis.ad.v1.SalepointFilter filter = 1;
inline bool GetSalepointCountRequest::has_filter() const {
  bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0;
  PROTOBUF_ASSUME(!value || _impl_.filter_ != nullptr);
  return value;
}
inline void GetSalepointCountRequest::clear_filter() {
  if (_impl_.filter_ != nullptr) _impl_.filter_->Clear();
  _impl_._has_bits_[0] &= ~0x00000001u;
}
inline const ::keyapis::ad::v1::SalepointFilter& GetSalepointCountRequest::_internal_filter() const {
  const ::keyapis::ad::v1::SalepointFilter* p = _impl_.filter_;
  return p != nullptr ? *p : reinterpret_cast<const ::keyapis::ad::v1::SalepointFilter&>(
      ::keyapis::ad::v1::_SalepointFilter_default_instance_);
}
inline const ::keyapis::ad::v1::SalepointFilter& GetSalepointCountRequest::filter() const {
  // @@protoc_insertion_point(field_get:keyapis.ad.v1.GetSalepointCountRequest.filter)
  return _internal_filter();
}
inline void GetSalepointCountRequest::unsafe_arena_set_allocated_filter(
    ::keyapis::ad::v1::SalepointFilter* filter) {
  if (GetArenaForAllocation() == nullptr) {
    delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.filter_);
  }
  _impl_.filter_ = filter;
  if (filter) {
    _impl_._has_bits_[0] |= 0x00000001u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000001u;
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:keyapis.ad.v1.GetSalepointCountRequest.filter)
}
inline ::keyapis::ad::v1::SalepointFilter* GetSalepointCountRequest::release_filter() {
  _impl_._has_bits_[0] &= ~0x00000001u;
  ::keyapis::ad::v1::SalepointFilter* 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::ad::v1::SalepointFilter* GetSalepointCountRequest::unsafe_arena_release_filter() {
  // @@protoc_insertion_point(field_release:keyapis.ad.v1.GetSalepointCountRequest.filter)
  _impl_._has_bits_[0] &= ~0x00000001u;
  ::keyapis::ad::v1::SalepointFilter* temp = _impl_.filter_;
  _impl_.filter_ = nullptr;
  return temp;
}
inline ::keyapis::ad::v1::SalepointFilter* GetSalepointCountRequest::_internal_mutable_filter() {
  _impl_._has_bits_[0] |= 0x00000001u;
  if (_impl_.filter_ == nullptr) {
    auto* p = CreateMaybeMessage<::keyapis::ad::v1::SalepointFilter>(GetArenaForAllocation());
    _impl_.filter_ = p;
  }
  return _impl_.filter_;
}
inline ::keyapis::ad::v1::SalepointFilter* GetSalepointCountRequest::mutable_filter() {
  ::keyapis::ad::v1::SalepointFilter* _msg = _internal_mutable_filter();
  // @@protoc_insertion_point(field_mutable:keyapis.ad.v1.GetSalepointCountRequest.filter)
  return _msg;
}
inline void GetSalepointCountRequest::set_allocated_filter(::keyapis::ad::v1::SalepointFilter* 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] |= 0x00000001u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000001u;
  }
  _impl_.filter_ = filter;
  // @@protoc_insertion_point(field_set_allocated:keyapis.ad.v1.GetSalepointCountRequest.filter)
}

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

// GetSalepointCountResponse

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

inline bool GetSalepointCountResponse::has_type() const {
  return type_case() != TYPE_NOT_SET;
}
inline void GetSalepointCountResponse::clear_has_type() {
  _impl_._oneof_case_[0] = TYPE_NOT_SET;
}
inline GetSalepointCountResponse::TypeCase GetSalepointCountResponse::type_case() const {
  return GetSalepointCountResponse::TypeCase(_impl_._oneof_case_[0]);
}
#ifdef __GNUC__
#pragma GCC diagnostic pop
#endif  // __GNUC__

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


PROTOBUF_NAMESPACE_OPEN

template <>
struct is_proto_enum<::keyapis::ad::v1::Salepoint_Worktime_DayType> : std::true_type {};
template <>
struct is_proto_enum<::keyapis::ad::v1::Salepoint_Type> : std::true_type {};
template <>
struct is_proto_enum<::keyapis::ad::v1::SalepointPaging_OrderByType> : std::true_type {};
template <>
struct is_proto_enum<::keyapis::ad::v1::SalepointPaging_DirectionType> : std::true_type {};

PROTOBUF_NAMESPACE_CLOSE

// @@protoc_insertion_point(global_scope)

#include "google/protobuf/port_undef.inc"

#endif  // GOOGLE_PROTOBUF_INCLUDED_keyapis_2fad_2fv1_2fkeyapis_5fad_5fsalepoint_5fv1_2eproto_2epb_2eh
