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

#include "keyapis/telemetry_alerting/v1/keyapis_telemetry_alerting_trigger_v1.pb.h"

#include <algorithm>
#include "google/protobuf/io/coded_stream.h"
#include "google/protobuf/extension_set.h"
#include "google/protobuf/wire_format_lite.h"
#include "google/protobuf/io/zero_copy_stream_impl_lite.h"
// @@protoc_insertion_point(includes)

// Must be included last.
#include "google/protobuf/port_def.inc"
PROTOBUF_PRAGMA_INIT_SEG
namespace _pb = ::PROTOBUF_NAMESPACE_ID;
namespace _pbi = ::PROTOBUF_NAMESPACE_ID::internal;
namespace keyapis {
namespace telemetry_alerting {
namespace v1 {
template <typename>
PROTOBUF_CONSTEXPR GetTriggerAlertDeviceListRequest::GetTriggerAlertDeviceListRequest(
    ::_pbi::ConstantInitialized): _impl_{
    /*decltype(_impl_._has_bits_)*/{}
  , /*decltype(_impl_._cached_size_)*/{}
  , /*decltype(_impl_.filter_)*/nullptr
  , /*decltype(_impl_.id_)*/ 0

  , /*decltype(_impl_.pagination_)*/{}
  , /*decltype(_impl_._oneof_case_)*/{}} {}
struct GetTriggerAlertDeviceListRequestDefaultTypeInternal {
  PROTOBUF_CONSTEXPR GetTriggerAlertDeviceListRequestDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~GetTriggerAlertDeviceListRequestDefaultTypeInternal() {}
  union {
    GetTriggerAlertDeviceListRequest _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 GetTriggerAlertDeviceListRequestDefaultTypeInternal _GetTriggerAlertDeviceListRequest_default_instance_;
template <typename>
PROTOBUF_CONSTEXPR TriggerAlertPaging::TriggerAlertPaging(
    ::_pbi::ConstantInitialized): _impl_{
    /*decltype(_impl_.order_by_type_)*/ 0

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

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

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

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

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 TriggerAlertPagingDefaultTypeInternal _TriggerAlertPaging_default_instance_;
template <typename>
PROTOBUF_CONSTEXPR AlertDevice::AlertDevice(
    ::_pbi::ConstantInitialized): _impl_{
    /*decltype(_impl_.alert_id_)*/ 0

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

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

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 AlertDeviceDefaultTypeInternal _AlertDevice_default_instance_;
template <typename>
PROTOBUF_CONSTEXPR GetTriggerAlertDeviceListResponse::GetTriggerAlertDeviceListResponse(
    ::_pbi::ConstantInitialized): _impl_{
    /*decltype(_impl_.type_)*/{}
  , /*decltype(_impl_._cached_size_)*/{}
  , /*decltype(_impl_._oneof_case_)*/{}} {}
struct GetTriggerAlertDeviceListResponseDefaultTypeInternal {
  PROTOBUF_CONSTEXPR GetTriggerAlertDeviceListResponseDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~GetTriggerAlertDeviceListResponseDefaultTypeInternal() {}
  union {
    GetTriggerAlertDeviceListResponse _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 GetTriggerAlertDeviceListResponseDefaultTypeInternal _GetTriggerAlertDeviceListResponse_default_instance_;
template <typename>
PROTOBUF_CONSTEXPR GetTriggerRequest::GetTriggerRequest(
    ::_pbi::ConstantInitialized): _impl_{
    /*decltype(_impl_.id_)*/ 0

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

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 GetTriggerRequestDefaultTypeInternal _GetTriggerRequest_default_instance_;
template <typename>
PROTOBUF_CONSTEXPR GetTriggerResponse::GetTriggerResponse(
    ::_pbi::ConstantInitialized): _impl_{
    /*decltype(_impl_.type_)*/{}
  , /*decltype(_impl_._cached_size_)*/{}
  , /*decltype(_impl_._oneof_case_)*/{}} {}
struct GetTriggerResponseDefaultTypeInternal {
  PROTOBUF_CONSTEXPR GetTriggerResponseDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~GetTriggerResponseDefaultTypeInternal() {}
  union {
    GetTriggerResponse _instance;
  };
};

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

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 GetTriggerAlertListRequestDefaultTypeInternal _GetTriggerAlertListRequest_default_instance_;
template <typename>
PROTOBUF_CONSTEXPR PostTriggerAlertDisableRequest::PostTriggerAlertDisableRequest(
    ::_pbi::ConstantInitialized): _impl_{
    /*decltype(_impl_._has_bits_)*/{}
  , /*decltype(_impl_._cached_size_)*/{}
  , /*decltype(_impl_.closing_reason_)*/nullptr
  , /*decltype(_impl_.id_)*/ 0
} {}
struct PostTriggerAlertDisableRequestDefaultTypeInternal {
  PROTOBUF_CONSTEXPR PostTriggerAlertDisableRequestDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~PostTriggerAlertDisableRequestDefaultTypeInternal() {}
  union {
    PostTriggerAlertDisableRequest _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 PostTriggerAlertDisableRequestDefaultTypeInternal _PostTriggerAlertDisableRequest_default_instance_;
template <typename>
PROTOBUF_CONSTEXPR PostTriggerAlertDisableResponse::PostTriggerAlertDisableResponse(
    ::_pbi::ConstantInitialized): _impl_{
    /*decltype(_impl_._cached_size_)*/{}} {}
struct PostTriggerAlertDisableResponseDefaultTypeInternal {
  PROTOBUF_CONSTEXPR PostTriggerAlertDisableResponseDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~PostTriggerAlertDisableResponseDefaultTypeInternal() {}
  union {
    PostTriggerAlertDisableResponse _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 PostTriggerAlertDisableResponseDefaultTypeInternal _PostTriggerAlertDisableResponse_default_instance_;
template <typename>
PROTOBUF_CONSTEXPR GetTriggerAlertCountRequest::GetTriggerAlertCountRequest(
    ::_pbi::ConstantInitialized): _impl_{
    /*decltype(_impl_._has_bits_)*/{}
  , /*decltype(_impl_._cached_size_)*/{}
  , /*decltype(_impl_.filter_)*/nullptr} {}
struct GetTriggerAlertCountRequestDefaultTypeInternal {
  PROTOBUF_CONSTEXPR GetTriggerAlertCountRequestDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~GetTriggerAlertCountRequestDefaultTypeInternal() {}
  union {
    GetTriggerAlertCountRequest _instance;
  };
};

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

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 GetTriggerListRequestDefaultTypeInternal _GetTriggerListRequest_default_instance_;
template <typename>
PROTOBUF_CONSTEXPR TriggerPaging::TriggerPaging(
    ::_pbi::ConstantInitialized): _impl_{
    /*decltype(_impl_.order_by_type_)*/ 0

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

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

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

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

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 TriggerPagingDefaultTypeInternal _TriggerPaging_default_instance_;
template <typename>
PROTOBUF_CONSTEXPR TriggerFilter::TriggerFilter(
    ::_pbi::ConstantInitialized): _impl_{
    /*decltype(_impl_._has_bits_)*/{}
  , /*decltype(_impl_._cached_size_)*/{}
  , /*decltype(_impl_.severity_types_)*/ {}
  , /*decltype(_impl_._severity_types_cached_byte_size_)*/ { 0 }

  , /*decltype(_impl_.tags_)*/{}
  , /*decltype(_impl_.metric_types_)*/ {}
  , /*decltype(_impl_._metric_types_cached_byte_size_)*/ { 0 }

  , /*decltype(_impl_.device_models_)*/{}
  , /*decltype(_impl_.device_types_)*/ {}
  , /*decltype(_impl_._device_types_cached_byte_size_)*/ { 0 }

  , /*decltype(_impl_.metric_grouping_types_)*/ {}
  , /*decltype(_impl_._metric_grouping_types_cached_byte_size_)*/ { 0 }

  , /*decltype(_impl_.is_disabled_)*/nullptr} {}
struct TriggerFilterDefaultTypeInternal {
  PROTOBUF_CONSTEXPR TriggerFilterDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~TriggerFilterDefaultTypeInternal() {}
  union {
    TriggerFilter _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 TriggerFilterDefaultTypeInternal _TriggerFilter_default_instance_;
template <typename>
PROTOBUF_CONSTEXPR TriggerAlertFilter::TriggerAlertFilter(
    ::_pbi::ConstantInitialized): _impl_{
    /*decltype(_impl_._has_bits_)*/{}
  , /*decltype(_impl_._cached_size_)*/{}
  , /*decltype(_impl_.trigger_severity_types_)*/ {}
  , /*decltype(_impl_._trigger_severity_types_cached_byte_size_)*/ { 0 }

  , /*decltype(_impl_.fias_ids_)*/{}
  , /*decltype(_impl_.tags_)*/{}
  , /*decltype(_impl_.metric_types_)*/ {}
  , /*decltype(_impl_._metric_types_cached_byte_size_)*/ { 0 }

  , /*decltype(_impl_.device_models_)*/{}
  , /*decltype(_impl_.device_types_)*/ {}
  , /*decltype(_impl_._device_types_cached_byte_size_)*/ { 0 }

  , /*decltype(_impl_.device_parent_ids_)*/ {}
  ,/* _impl_._device_parent_ids_cached_byte_size_ = */ { 0 }

  , /*decltype(_impl_.device_ids_)*/ {}
  ,/* _impl_._device_ids_cached_byte_size_ = */ { 0 }

  , /*decltype(_impl_.metric_grouping_types_)*/ {}
  , /*decltype(_impl_._metric_grouping_types_cached_byte_size_)*/ { 0 }

  , /*decltype(_impl_.trigger_ids_)*/ {}
  ,/* _impl_._trigger_ids_cached_byte_size_ = */ { 0 }

  , /*decltype(_impl_.is_disabled_)*/nullptr
  , /*decltype(_impl_.after_raised_at_)*/nullptr
  , /*decltype(_impl_.before_raised_at_)*/nullptr} {}
struct TriggerAlertFilterDefaultTypeInternal {
  PROTOBUF_CONSTEXPR TriggerAlertFilterDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~TriggerAlertFilterDefaultTypeInternal() {}
  union {
    TriggerAlertFilter _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 TriggerAlertFilterDefaultTypeInternal _TriggerAlertFilter_default_instance_;
template <typename>
PROTOBUF_CONSTEXPR Trigger_FixedDaysOfMonth::Trigger_FixedDaysOfMonth(
    ::_pbi::ConstantInitialized): _impl_{
    /*decltype(_impl_.start_day_)*/ 0

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

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

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 Trigger_FixedDaysOfMonthDefaultTypeInternal _Trigger_FixedDaysOfMonth_default_instance_;
template <typename>
PROTOBUF_CONSTEXPR Trigger_Alert::Trigger_Alert(
    ::_pbi::ConstantInitialized): _impl_{
    /*decltype(_impl_._has_bits_)*/{}
  , /*decltype(_impl_._cached_size_)*/{}
  , /*decltype(_impl_.trigger_metric_types_)*/ {}
  , /*decltype(_impl_._trigger_metric_types_cached_byte_size_)*/ { 0 }

  , /*decltype(_impl_.device_models_)*/{}
  , /*decltype(_impl_.trigger_device_types_)*/ {}
  , /*decltype(_impl_._trigger_device_types_cached_byte_size_)*/ { 0 }

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

  , /*decltype(_impl_.changed_at_)*/nullptr
  , /*decltype(_impl_.raised_at_)*/nullptr
  , /*decltype(_impl_.device_parent_id_)*/nullptr
  , /*decltype(_impl_.closed_at_)*/nullptr
  , /*decltype(_impl_.closing_reason_)*/nullptr
  , /*decltype(_impl_.id_)*/ 0

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

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

  , /*decltype(_impl_.is_disabled_)*/ false

  , /*decltype(_impl_.is_manually_closed_)*/ false

  , /*decltype(_impl_.trigger_metric_grouping_type_)*/ 0
} {}
struct Trigger_AlertDefaultTypeInternal {
  PROTOBUF_CONSTEXPR Trigger_AlertDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~Trigger_AlertDefaultTypeInternal() {}
  union {
    Trigger_Alert _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 Trigger_AlertDefaultTypeInternal _Trigger_Alert_default_instance_;
template <typename>
PROTOBUF_CONSTEXPR Trigger::Trigger(
    ::_pbi::ConstantInitialized): _impl_{
    /*decltype(_impl_._has_bits_)*/{}
  , /*decltype(_impl_._cached_size_)*/{}
  , /*decltype(_impl_.metric_types_)*/ {}
  , /*decltype(_impl_._metric_types_cached_byte_size_)*/ { 0 }

  , /*decltype(_impl_.device_models_)*/{}
  , /*decltype(_impl_.device_types_)*/ {}
  , /*decltype(_impl_._device_types_cached_byte_size_)*/ { 0 }

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

  , /*decltype(_impl_.changed_at_)*/nullptr
  , /*decltype(_impl_.instruction_)*/nullptr
  , /*decltype(_impl_.id_)*/ 0

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

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

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

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

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

  , /*decltype(_impl_.is_disabled_)*/ false

  , /*decltype(_impl_.is_manually_unclosable_)*/ false

  , /*decltype(_impl_.is_range_metric_expected_freq_)*/ false

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

  , /*decltype(_impl_.range_)*/{}
  , /*decltype(_impl_._oneof_case_)*/{}} {}
struct TriggerDefaultTypeInternal {
  PROTOBUF_CONSTEXPR TriggerDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~TriggerDefaultTypeInternal() {}
  union {
    Trigger _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 TriggerDefaultTypeInternal _Trigger_default_instance_;
template <typename>
PROTOBUF_CONSTEXPR GetTriggerListResponse::GetTriggerListResponse(
    ::_pbi::ConstantInitialized): _impl_{
    /*decltype(_impl_.type_)*/{}
  , /*decltype(_impl_._cached_size_)*/{}
  , /*decltype(_impl_._oneof_case_)*/{}} {}
struct GetTriggerListResponseDefaultTypeInternal {
  PROTOBUF_CONSTEXPR GetTriggerListResponseDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~GetTriggerListResponseDefaultTypeInternal() {}
  union {
    GetTriggerListResponse _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 GetTriggerListResponseDefaultTypeInternal _GetTriggerListResponse_default_instance_;
template <typename>
PROTOBUF_CONSTEXPR GetTriggerAlertListResponse::GetTriggerAlertListResponse(
    ::_pbi::ConstantInitialized): _impl_{
    /*decltype(_impl_.type_)*/{}
  , /*decltype(_impl_._cached_size_)*/{}
  , /*decltype(_impl_._oneof_case_)*/{}} {}
struct GetTriggerAlertListResponseDefaultTypeInternal {
  PROTOBUF_CONSTEXPR GetTriggerAlertListResponseDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~GetTriggerAlertListResponseDefaultTypeInternal() {}
  union {
    GetTriggerAlertListResponse _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 GetTriggerAlertListResponseDefaultTypeInternal _GetTriggerAlertListResponse_default_instance_;
template <typename>
PROTOBUF_CONSTEXPR GetTriggerCountRequest::GetTriggerCountRequest(
    ::_pbi::ConstantInitialized): _impl_{
    /*decltype(_impl_._has_bits_)*/{}
  , /*decltype(_impl_._cached_size_)*/{}
  , /*decltype(_impl_.filter_)*/nullptr} {}
struct GetTriggerCountRequestDefaultTypeInternal {
  PROTOBUF_CONSTEXPR GetTriggerCountRequestDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~GetTriggerCountRequestDefaultTypeInternal() {}
  union {
    GetTriggerCountRequest _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 GetTriggerCountRequestDefaultTypeInternal _GetTriggerCountRequest_default_instance_;
template <typename>
PROTOBUF_CONSTEXPR GetTriggerCountResponse::GetTriggerCountResponse(
    ::_pbi::ConstantInitialized): _impl_{
    /*decltype(_impl_.type_)*/{}
  , /*decltype(_impl_._cached_size_)*/{}
  , /*decltype(_impl_._oneof_case_)*/{}} {}
struct GetTriggerCountResponseDefaultTypeInternal {
  PROTOBUF_CONSTEXPR GetTriggerCountResponseDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~GetTriggerCountResponseDefaultTypeInternal() {}
  union {
    GetTriggerCountResponse _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 GetTriggerCountResponseDefaultTypeInternal _GetTriggerCountResponse_default_instance_;
template <typename>
PROTOBUF_CONSTEXPR GetTriggerAlertCountResponse::GetTriggerAlertCountResponse(
    ::_pbi::ConstantInitialized): _impl_{
    /*decltype(_impl_.type_)*/{}
  , /*decltype(_impl_._cached_size_)*/{}
  , /*decltype(_impl_._oneof_case_)*/{}} {}
struct GetTriggerAlertCountResponseDefaultTypeInternal {
  PROTOBUF_CONSTEXPR GetTriggerAlertCountResponseDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~GetTriggerAlertCountResponseDefaultTypeInternal() {}
  union {
    GetTriggerAlertCountResponse _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 GetTriggerAlertCountResponseDefaultTypeInternal _GetTriggerAlertCountResponse_default_instance_;
template <typename>
PROTOBUF_CONSTEXPR PostTriggerRequest::PostTriggerRequest(
    ::_pbi::ConstantInitialized): _impl_{
    /*decltype(_impl_._has_bits_)*/{}
  , /*decltype(_impl_._cached_size_)*/{}
  , /*decltype(_impl_.data_)*/nullptr} {}
struct PostTriggerRequestDefaultTypeInternal {
  PROTOBUF_CONSTEXPR PostTriggerRequestDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~PostTriggerRequestDefaultTypeInternal() {}
  union {
    PostTriggerRequest _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 PostTriggerRequestDefaultTypeInternal _PostTriggerRequest_default_instance_;
template <typename>
PROTOBUF_CONSTEXPR PostTriggerResponse::PostTriggerResponse(
    ::_pbi::ConstantInitialized): _impl_{
    /*decltype(_impl_.type_)*/{}
  , /*decltype(_impl_._cached_size_)*/{}
  , /*decltype(_impl_._oneof_case_)*/{}} {}
struct PostTriggerResponseDefaultTypeInternal {
  PROTOBUF_CONSTEXPR PostTriggerResponseDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~PostTriggerResponseDefaultTypeInternal() {}
  union {
    PostTriggerResponse _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 PostTriggerResponseDefaultTypeInternal _PostTriggerResponse_default_instance_;
template <typename>
PROTOBUF_CONSTEXPR DeleteTriggerRequest::DeleteTriggerRequest(
    ::_pbi::ConstantInitialized): _impl_{
    /*decltype(_impl_.id_)*/ 0

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

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 DeleteTriggerRequestDefaultTypeInternal _DeleteTriggerRequest_default_instance_;
template <typename>
PROTOBUF_CONSTEXPR DeleteTriggerResponse::DeleteTriggerResponse(
    ::_pbi::ConstantInitialized): _impl_{
    /*decltype(_impl_._cached_size_)*/{}} {}
struct DeleteTriggerResponseDefaultTypeInternal {
  PROTOBUF_CONSTEXPR DeleteTriggerResponseDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~DeleteTriggerResponseDefaultTypeInternal() {}
  union {
    DeleteTriggerResponse _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 DeleteTriggerResponseDefaultTypeInternal _DeleteTriggerResponse_default_instance_;
template <typename>
PROTOBUF_CONSTEXPR DeleteTriggerAlertRequest::DeleteTriggerAlertRequest(
    ::_pbi::ConstantInitialized): _impl_{
    /*decltype(_impl_.id_)*/ 0

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

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 DeleteTriggerAlertRequestDefaultTypeInternal _DeleteTriggerAlertRequest_default_instance_;
template <typename>
PROTOBUF_CONSTEXPR DeleteTriggerAlertResponse::DeleteTriggerAlertResponse(
    ::_pbi::ConstantInitialized): _impl_{
    /*decltype(_impl_._cached_size_)*/{}} {}
struct DeleteTriggerAlertResponseDefaultTypeInternal {
  PROTOBUF_CONSTEXPR DeleteTriggerAlertResponseDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~DeleteTriggerAlertResponseDefaultTypeInternal() {}
  union {
    DeleteTriggerAlertResponse _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 DeleteTriggerAlertResponseDefaultTypeInternal _DeleteTriggerAlertResponse_default_instance_;
}  // namespace v1
}  // namespace telemetry_alerting
}  // namespace keyapis
namespace keyapis {
namespace telemetry_alerting {
namespace v1 {
bool TriggerAlertPaging_OrderByType_IsValid(int value) {
  switch (value) {
    case 0:
    case 1:
    case 2:
    case 3:
    case 4:
    case 5:
      return true;
    default:
      return false;
  }
}
static ::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed<std::string>
    TriggerAlertPaging_OrderByType_strings[6] = {};

static const char TriggerAlertPaging_OrderByType_names[] = {
    "DISABLED"
    "ORDER_BY_TYPE_UNKNOWN"
    "RAISED_AT"
    "SEVERITY"
    "TITLE"
    "TRIGGER_ID"
};

static const ::PROTOBUF_NAMESPACE_ID::internal::EnumEntry TriggerAlertPaging_OrderByType_entries[] =
    {
        {{&TriggerAlertPaging_OrderByType_names[0], 8}, 4},
        {{&TriggerAlertPaging_OrderByType_names[8], 21}, 0},
        {{&TriggerAlertPaging_OrderByType_names[29], 9}, 1},
        {{&TriggerAlertPaging_OrderByType_names[38], 8}, 5},
        {{&TriggerAlertPaging_OrderByType_names[46], 5}, 3},
        {{&TriggerAlertPaging_OrderByType_names[51], 10}, 2},
};

static const int TriggerAlertPaging_OrderByType_entries_by_number[] = {
    1,  // 0 -> ORDER_BY_TYPE_UNKNOWN
    2,  // 1 -> RAISED_AT
    5,  // 2 -> TRIGGER_ID
    4,  // 3 -> TITLE
    0,  // 4 -> DISABLED
    3,  // 5 -> SEVERITY
};

const std::string& TriggerAlertPaging_OrderByType_Name(TriggerAlertPaging_OrderByType value) {
  static const bool kDummy =
      ::PROTOBUF_NAMESPACE_ID::internal::InitializeEnumStrings(
          TriggerAlertPaging_OrderByType_entries, TriggerAlertPaging_OrderByType_entries_by_number,
          6, TriggerAlertPaging_OrderByType_strings);
  (void)kDummy;

  int idx = ::PROTOBUF_NAMESPACE_ID::internal::LookUpEnumName(
      TriggerAlertPaging_OrderByType_entries, TriggerAlertPaging_OrderByType_entries_by_number, 6,
      value);
  return idx == -1 ? ::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString()
                   : TriggerAlertPaging_OrderByType_strings[idx].get();
}

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

constexpr TriggerAlertPaging_OrderByType TriggerAlertPaging::ORDER_BY_TYPE_UNKNOWN;
constexpr TriggerAlertPaging_OrderByType TriggerAlertPaging::RAISED_AT;
constexpr TriggerAlertPaging_OrderByType TriggerAlertPaging::TRIGGER_ID;
constexpr TriggerAlertPaging_OrderByType TriggerAlertPaging::TITLE;
constexpr TriggerAlertPaging_OrderByType TriggerAlertPaging::DISABLED;
constexpr TriggerAlertPaging_OrderByType TriggerAlertPaging::SEVERITY;
constexpr TriggerAlertPaging_OrderByType TriggerAlertPaging::OrderByType_MIN;
constexpr TriggerAlertPaging_OrderByType TriggerAlertPaging::OrderByType_MAX;
constexpr int TriggerAlertPaging::OrderByType_ARRAYSIZE;

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

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

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

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

const std::string& TriggerAlertPaging_DirectionType_Name(TriggerAlertPaging_DirectionType value) {
  static const bool kDummy =
      ::PROTOBUF_NAMESPACE_ID::internal::InitializeEnumStrings(
          TriggerAlertPaging_DirectionType_entries, TriggerAlertPaging_DirectionType_entries_by_number,
          3, TriggerAlertPaging_DirectionType_strings);
  (void)kDummy;

  int idx = ::PROTOBUF_NAMESPACE_ID::internal::LookUpEnumName(
      TriggerAlertPaging_DirectionType_entries, TriggerAlertPaging_DirectionType_entries_by_number, 3,
      value);
  return idx == -1 ? ::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString()
                   : TriggerAlertPaging_DirectionType_strings[idx].get();
}

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

constexpr TriggerAlertPaging_DirectionType TriggerAlertPaging::DIRECTION_TYPE_UNKNOWN;
constexpr TriggerAlertPaging_DirectionType TriggerAlertPaging::DESC;
constexpr TriggerAlertPaging_DirectionType TriggerAlertPaging::ASC;
constexpr TriggerAlertPaging_DirectionType TriggerAlertPaging::DirectionType_MIN;
constexpr TriggerAlertPaging_DirectionType TriggerAlertPaging::DirectionType_MAX;
constexpr int TriggerAlertPaging::DirectionType_ARRAYSIZE;

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

static const char TriggerPaging_OrderByType_names[] = {
    "DISABLED"
    "ID"
    "ORDER_BY_TYPE_UNKNOWN"
    "SEVERITY"
    "TITLE"
};

static const ::PROTOBUF_NAMESPACE_ID::internal::EnumEntry TriggerPaging_OrderByType_entries[] =
    {
        {{&TriggerPaging_OrderByType_names[0], 8}, 3},
        {{&TriggerPaging_OrderByType_names[8], 2}, 1},
        {{&TriggerPaging_OrderByType_names[10], 21}, 0},
        {{&TriggerPaging_OrderByType_names[31], 8}, 4},
        {{&TriggerPaging_OrderByType_names[39], 5}, 2},
};

static const int TriggerPaging_OrderByType_entries_by_number[] = {
    2,  // 0 -> ORDER_BY_TYPE_UNKNOWN
    1,  // 1 -> ID
    4,  // 2 -> TITLE
    0,  // 3 -> DISABLED
    3,  // 4 -> SEVERITY
};

const std::string& TriggerPaging_OrderByType_Name(TriggerPaging_OrderByType value) {
  static const bool kDummy =
      ::PROTOBUF_NAMESPACE_ID::internal::InitializeEnumStrings(
          TriggerPaging_OrderByType_entries, TriggerPaging_OrderByType_entries_by_number,
          5, TriggerPaging_OrderByType_strings);
  (void)kDummy;

  int idx = ::PROTOBUF_NAMESPACE_ID::internal::LookUpEnumName(
      TriggerPaging_OrderByType_entries, TriggerPaging_OrderByType_entries_by_number, 5,
      value);
  return idx == -1 ? ::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString()
                   : TriggerPaging_OrderByType_strings[idx].get();
}

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

constexpr TriggerPaging_OrderByType TriggerPaging::ORDER_BY_TYPE_UNKNOWN;
constexpr TriggerPaging_OrderByType TriggerPaging::ID;
constexpr TriggerPaging_OrderByType TriggerPaging::TITLE;
constexpr TriggerPaging_OrderByType TriggerPaging::DISABLED;
constexpr TriggerPaging_OrderByType TriggerPaging::SEVERITY;
constexpr TriggerPaging_OrderByType TriggerPaging::OrderByType_MIN;
constexpr TriggerPaging_OrderByType TriggerPaging::OrderByType_MAX;
constexpr int TriggerPaging::OrderByType_ARRAYSIZE;

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

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

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

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

const std::string& TriggerPaging_DirectionType_Name(TriggerPaging_DirectionType value) {
  static const bool kDummy =
      ::PROTOBUF_NAMESPACE_ID::internal::InitializeEnumStrings(
          TriggerPaging_DirectionType_entries, TriggerPaging_DirectionType_entries_by_number,
          3, TriggerPaging_DirectionType_strings);
  (void)kDummy;

  int idx = ::PROTOBUF_NAMESPACE_ID::internal::LookUpEnumName(
      TriggerPaging_DirectionType_entries, TriggerPaging_DirectionType_entries_by_number, 3,
      value);
  return idx == -1 ? ::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString()
                   : TriggerPaging_DirectionType_strings[idx].get();
}

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

constexpr TriggerPaging_DirectionType TriggerPaging::DIRECTION_TYPE_UNKNOWN;
constexpr TriggerPaging_DirectionType TriggerPaging::DESC;
constexpr TriggerPaging_DirectionType TriggerPaging::ASC;
constexpr TriggerPaging_DirectionType TriggerPaging::DirectionType_MIN;
constexpr TriggerPaging_DirectionType TriggerPaging::DirectionType_MAX;
constexpr int TriggerPaging::DirectionType_ARRAYSIZE;

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

static const char Trigger_CriteriaType_names[] = {
    "CRITERIA_TYPE_UNKNOWN"
    "DEVICE_PERCENT"
    "METRICS_COUNT"
    "METRICS_VALUE_DEVIATION"
};

static const ::PROTOBUF_NAMESPACE_ID::internal::EnumEntry Trigger_CriteriaType_entries[] =
    {
        {{&Trigger_CriteriaType_names[0], 21}, 0},
        {{&Trigger_CriteriaType_names[21], 14}, 2},
        {{&Trigger_CriteriaType_names[35], 13}, 1},
        {{&Trigger_CriteriaType_names[48], 23}, 3},
};

static const int Trigger_CriteriaType_entries_by_number[] = {
    0,  // 0 -> CRITERIA_TYPE_UNKNOWN
    2,  // 1 -> METRICS_COUNT
    1,  // 2 -> DEVICE_PERCENT
    3,  // 3 -> METRICS_VALUE_DEVIATION
};

const std::string& Trigger_CriteriaType_Name(Trigger_CriteriaType value) {
  static const bool kDummy =
      ::PROTOBUF_NAMESPACE_ID::internal::InitializeEnumStrings(
          Trigger_CriteriaType_entries, Trigger_CriteriaType_entries_by_number,
          4, Trigger_CriteriaType_strings);
  (void)kDummy;

  int idx = ::PROTOBUF_NAMESPACE_ID::internal::LookUpEnumName(
      Trigger_CriteriaType_entries, Trigger_CriteriaType_entries_by_number, 4,
      value);
  return idx == -1 ? ::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString()
                   : Trigger_CriteriaType_strings[idx].get();
}

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

constexpr Trigger_CriteriaType Trigger::CRITERIA_TYPE_UNKNOWN;
constexpr Trigger_CriteriaType Trigger::METRICS_COUNT;
constexpr Trigger_CriteriaType Trigger::DEVICE_PERCENT;
constexpr Trigger_CriteriaType Trigger::METRICS_VALUE_DEVIATION;
constexpr Trigger_CriteriaType Trigger::CriteriaType_MIN;
constexpr Trigger_CriteriaType Trigger::CriteriaType_MAX;
constexpr int Trigger::CriteriaType_ARRAYSIZE;

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

static const char Trigger_PeriodType_names[] = {
    "DAY"
    "MONTH"
    "PERIOD_TYPE_UNKNOWN"
};

static const ::PROTOBUF_NAMESPACE_ID::internal::EnumEntry Trigger_PeriodType_entries[] =
    {
        {{&Trigger_PeriodType_names[0], 3}, 1},
        {{&Trigger_PeriodType_names[3], 5}, 2},
        {{&Trigger_PeriodType_names[8], 19}, 0},
};

static const int Trigger_PeriodType_entries_by_number[] = {
    2,  // 0 -> PERIOD_TYPE_UNKNOWN
    0,  // 1 -> DAY
    1,  // 2 -> MONTH
};

const std::string& Trigger_PeriodType_Name(Trigger_PeriodType value) {
  static const bool kDummy =
      ::PROTOBUF_NAMESPACE_ID::internal::InitializeEnumStrings(
          Trigger_PeriodType_entries, Trigger_PeriodType_entries_by_number,
          3, Trigger_PeriodType_strings);
  (void)kDummy;

  int idx = ::PROTOBUF_NAMESPACE_ID::internal::LookUpEnumName(
      Trigger_PeriodType_entries, Trigger_PeriodType_entries_by_number, 3,
      value);
  return idx == -1 ? ::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString()
                   : Trigger_PeriodType_strings[idx].get();
}

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

constexpr Trigger_PeriodType Trigger::PERIOD_TYPE_UNKNOWN;
constexpr Trigger_PeriodType Trigger::DAY;
constexpr Trigger_PeriodType Trigger::MONTH;
constexpr Trigger_PeriodType Trigger::PeriodType_MIN;
constexpr Trigger_PeriodType Trigger::PeriodType_MAX;
constexpr int Trigger::PeriodType_ARRAYSIZE;

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

static const char Trigger_SeverityType_names[] = {
    "CRITICAL"
    "INFO"
    "SEVERITY_TYPE_UNKNOWN"
    "WARNING"
};

static const ::PROTOBUF_NAMESPACE_ID::internal::EnumEntry Trigger_SeverityType_entries[] =
    {
        {{&Trigger_SeverityType_names[0], 8}, 1},
        {{&Trigger_SeverityType_names[8], 4}, 3},
        {{&Trigger_SeverityType_names[12], 21}, 0},
        {{&Trigger_SeverityType_names[33], 7}, 2},
};

static const int Trigger_SeverityType_entries_by_number[] = {
    2,  // 0 -> SEVERITY_TYPE_UNKNOWN
    0,  // 1 -> CRITICAL
    3,  // 2 -> WARNING
    1,  // 3 -> INFO
};

const std::string& Trigger_SeverityType_Name(Trigger_SeverityType value) {
  static const bool kDummy =
      ::PROTOBUF_NAMESPACE_ID::internal::InitializeEnumStrings(
          Trigger_SeverityType_entries, Trigger_SeverityType_entries_by_number,
          4, Trigger_SeverityType_strings);
  (void)kDummy;

  int idx = ::PROTOBUF_NAMESPACE_ID::internal::LookUpEnumName(
      Trigger_SeverityType_entries, Trigger_SeverityType_entries_by_number, 4,
      value);
  return idx == -1 ? ::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString()
                   : Trigger_SeverityType_strings[idx].get();
}

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

constexpr Trigger_SeverityType Trigger::SEVERITY_TYPE_UNKNOWN;
constexpr Trigger_SeverityType Trigger::CRITICAL;
constexpr Trigger_SeverityType Trigger::WARNING;
constexpr Trigger_SeverityType Trigger::INFO;
constexpr Trigger_SeverityType Trigger::SeverityType_MIN;
constexpr Trigger_SeverityType Trigger::SeverityType_MAX;
constexpr int Trigger::SeverityType_ARRAYSIZE;

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

static const char Trigger_MetricType_names[] = {
    "COLD_WATER"
    "ELECTRICITY"
    "GAS"
    "HEAT"
    "HOT_WATER"
    "METRIC_TYPE_UNKNOWN"
};

static const ::PROTOBUF_NAMESPACE_ID::internal::EnumEntry Trigger_MetricType_entries[] =
    {
        {{&Trigger_MetricType_names[0], 10}, 2},
        {{&Trigger_MetricType_names[10], 11}, 5},
        {{&Trigger_MetricType_names[21], 3}, 4},
        {{&Trigger_MetricType_names[24], 4}, 3},
        {{&Trigger_MetricType_names[28], 9}, 1},
        {{&Trigger_MetricType_names[37], 19}, 0},
};

static const int Trigger_MetricType_entries_by_number[] = {
    5,  // 0 -> METRIC_TYPE_UNKNOWN
    4,  // 1 -> HOT_WATER
    0,  // 2 -> COLD_WATER
    3,  // 3 -> HEAT
    2,  // 4 -> GAS
    1,  // 5 -> ELECTRICITY
};

const std::string& Trigger_MetricType_Name(Trigger_MetricType value) {
  static const bool kDummy =
      ::PROTOBUF_NAMESPACE_ID::internal::InitializeEnumStrings(
          Trigger_MetricType_entries, Trigger_MetricType_entries_by_number,
          6, Trigger_MetricType_strings);
  (void)kDummy;

  int idx = ::PROTOBUF_NAMESPACE_ID::internal::LookUpEnumName(
      Trigger_MetricType_entries, Trigger_MetricType_entries_by_number, 6,
      value);
  return idx == -1 ? ::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString()
                   : Trigger_MetricType_strings[idx].get();
}

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

constexpr Trigger_MetricType Trigger::METRIC_TYPE_UNKNOWN;
constexpr Trigger_MetricType Trigger::HOT_WATER;
constexpr Trigger_MetricType Trigger::COLD_WATER;
constexpr Trigger_MetricType Trigger::HEAT;
constexpr Trigger_MetricType Trigger::GAS;
constexpr Trigger_MetricType Trigger::ELECTRICITY;
constexpr Trigger_MetricType Trigger::MetricType_MIN;
constexpr Trigger_MetricType Trigger::MetricType_MAX;
constexpr int Trigger::MetricType_ARRAYSIZE;

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

static const char Trigger_DeviceType_names[] = {
    "BASE_LR"
    "COMMUNICATION_MODULE_LR"
    "DEVICE_TYPE_UNKNOWN"
    "HUB"
    "INTERFACE_CONVERTER"
    "METERING_DEVICE"
    "M_BUS_HUB"
    "PULSE_COUNTER_RECORDER"
    "PULSE_COUNTER_RECORDER_LR"
};

static const ::PROTOBUF_NAMESPACE_ID::internal::EnumEntry Trigger_DeviceType_entries[] =
    {
        {{&Trigger_DeviceType_names[0], 7}, 8},
        {{&Trigger_DeviceType_names[7], 23}, 7},
        {{&Trigger_DeviceType_names[30], 19}, 0},
        {{&Trigger_DeviceType_names[49], 3}, 1},
        {{&Trigger_DeviceType_names[52], 19}, 5},
        {{&Trigger_DeviceType_names[71], 15}, 4},
        {{&Trigger_DeviceType_names[86], 9}, 6},
        {{&Trigger_DeviceType_names[95], 22}, 2},
        {{&Trigger_DeviceType_names[117], 25}, 3},
};

static const int Trigger_DeviceType_entries_by_number[] = {
    2,  // 0 -> DEVICE_TYPE_UNKNOWN
    3,  // 1 -> HUB
    7,  // 2 -> PULSE_COUNTER_RECORDER
    8,  // 3 -> PULSE_COUNTER_RECORDER_LR
    5,  // 4 -> METERING_DEVICE
    4,  // 5 -> INTERFACE_CONVERTER
    6,  // 6 -> M_BUS_HUB
    1,  // 7 -> COMMUNICATION_MODULE_LR
    0,  // 8 -> BASE_LR
};

const std::string& Trigger_DeviceType_Name(Trigger_DeviceType value) {
  static const bool kDummy =
      ::PROTOBUF_NAMESPACE_ID::internal::InitializeEnumStrings(
          Trigger_DeviceType_entries, Trigger_DeviceType_entries_by_number,
          9, Trigger_DeviceType_strings);
  (void)kDummy;

  int idx = ::PROTOBUF_NAMESPACE_ID::internal::LookUpEnumName(
      Trigger_DeviceType_entries, Trigger_DeviceType_entries_by_number, 9,
      value);
  return idx == -1 ? ::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString()
                   : Trigger_DeviceType_strings[idx].get();
}

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

constexpr Trigger_DeviceType Trigger::DEVICE_TYPE_UNKNOWN;
constexpr Trigger_DeviceType Trigger::HUB;
constexpr Trigger_DeviceType Trigger::PULSE_COUNTER_RECORDER;
constexpr Trigger_DeviceType Trigger::PULSE_COUNTER_RECORDER_LR;
constexpr Trigger_DeviceType Trigger::METERING_DEVICE;
constexpr Trigger_DeviceType Trigger::INTERFACE_CONVERTER;
constexpr Trigger_DeviceType Trigger::M_BUS_HUB;
constexpr Trigger_DeviceType Trigger::COMMUNICATION_MODULE_LR;
constexpr Trigger_DeviceType Trigger::BASE_LR;
constexpr Trigger_DeviceType Trigger::DeviceType_MIN;
constexpr Trigger_DeviceType Trigger::DeviceType_MAX;
constexpr int Trigger::DeviceType_ARRAYSIZE;

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

static const char Trigger_MetricGroupingType_names[] = {
    "DEVICE_ID"
    "METRIC_GROUPING_TYPE_UNKNOWN"
    "PARENT_ID"
};

static const ::PROTOBUF_NAMESPACE_ID::internal::EnumEntry Trigger_MetricGroupingType_entries[] =
    {
        {{&Trigger_MetricGroupingType_names[0], 9}, 2},
        {{&Trigger_MetricGroupingType_names[9], 28}, 0},
        {{&Trigger_MetricGroupingType_names[37], 9}, 1},
};

static const int Trigger_MetricGroupingType_entries_by_number[] = {
    1,  // 0 -> METRIC_GROUPING_TYPE_UNKNOWN
    2,  // 1 -> PARENT_ID
    0,  // 2 -> DEVICE_ID
};

const std::string& Trigger_MetricGroupingType_Name(Trigger_MetricGroupingType value) {
  static const bool kDummy =
      ::PROTOBUF_NAMESPACE_ID::internal::InitializeEnumStrings(
          Trigger_MetricGroupingType_entries, Trigger_MetricGroupingType_entries_by_number,
          3, Trigger_MetricGroupingType_strings);
  (void)kDummy;

  int idx = ::PROTOBUF_NAMESPACE_ID::internal::LookUpEnumName(
      Trigger_MetricGroupingType_entries, Trigger_MetricGroupingType_entries_by_number, 3,
      value);
  return idx == -1 ? ::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString()
                   : Trigger_MetricGroupingType_strings[idx].get();
}

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

constexpr Trigger_MetricGroupingType Trigger::METRIC_GROUPING_TYPE_UNKNOWN;
constexpr Trigger_MetricGroupingType Trigger::PARENT_ID;
constexpr Trigger_MetricGroupingType Trigger::DEVICE_ID;
constexpr Trigger_MetricGroupingType Trigger::MetricGroupingType_MIN;
constexpr Trigger_MetricGroupingType Trigger::MetricGroupingType_MAX;
constexpr int Trigger::MetricGroupingType_ARRAYSIZE;

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

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

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

    , decltype(_impl_.pagination_){}
    , /*decltype(_impl_._oneof_case_)*/{}};

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

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

    , decltype(_impl_.pagination_){}
    , /*decltype(_impl_._oneof_case_)*/{}
  };
  clear_has_pagination();
}

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

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

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

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


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

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

const char* GetTriggerAlertDeviceListRequest::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  _Internal::HasBits has_bits{};
  while (!ctx->Done(&ptr)) {
    ::uint32_t tag;
    ptr = ::_pbi::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // int32 id = 1 [(.google.api.field_behavior) = REQUIRED];
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::uint8_t>(tag) == 8)) {
          _impl_.id_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
        } else {
          goto handle_unusual;
        }
        continue;
      // .keyapis.telemetry_alerting.v1.TriggerAlertFilter filter = 2;
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::uint8_t>(tag) == 18)) {
          ptr = ctx->ParseMessage(_internal_mutable_filter(), ptr);
          CHK_(ptr);
        } else {
          goto handle_unusual;
        }
        continue;
      // .keyapis.telemetry_alerting.v1.TriggerAlertPaging paging = 3;
      case 3:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::uint8_t>(tag) == 26)) {
          ptr = ctx->ParseMessage(_internal_mutable_paging(), ptr);
          CHK_(ptr);
        } else {
          goto handle_unusual;
        }
        continue;
      default:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<std::string>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  _impl_._has_bits_.Or(has_bits);
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

void GetTriggerAlertDeviceListRequest::InternalSwap(GetTriggerAlertDeviceListRequest* other) {
  using std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  ::PROTOBUF_NAMESPACE_ID::internal::memswap<
      PROTOBUF_FIELD_OFFSET(GetTriggerAlertDeviceListRequest, _impl_.id_)
      + sizeof(GetTriggerAlertDeviceListRequest::_impl_.id_)
      - PROTOBUF_FIELD_OFFSET(GetTriggerAlertDeviceListRequest, _impl_.filter_)>(
          reinterpret_cast<char*>(&_impl_.filter_),
          reinterpret_cast<char*>(&other->_impl_.filter_));
  swap(_impl_.pagination_, other->_impl_.pagination_);
  swap(_impl_._oneof_case_[0], other->_impl_._oneof_case_[0]);
}

std::string GetTriggerAlertDeviceListRequest::GetTypeName() const {
  return "keyapis.telemetry_alerting.v1.GetTriggerAlertDeviceListRequest";
}

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

class TriggerAlertPaging::_Internal {
 public:
};

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

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

    , decltype(_impl_.direction_type_) { 0 }

    , decltype(_impl_.limit_) { 0 }

    , decltype(_impl_.offset_) { 0 }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

std::string TriggerAlertPaging::GetTypeName() const {
  return "keyapis.telemetry_alerting.v1.TriggerAlertPaging";
}

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

class AlertDevice::_Internal {
 public:
};

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

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

    , decltype(_impl_.device_id_) { 0 }

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

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

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

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

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

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

const char* AlertDevice::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  while (!ctx->Done(&ptr)) {
    ::uint32_t tag;
    ptr = ::_pbi::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // int32 alert_id = 1 [(.google.api.field_behavior) = REQUIRED];
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::uint8_t>(tag) == 8)) {
          _impl_.alert_id_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
        } else {
          goto handle_unusual;
        }
        continue;
      // int32 device_id = 2 [(.google.api.field_behavior) = REQUIRED];
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::uint8_t>(tag) == 16)) {
          _impl_.device_id_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
        } else {
          goto handle_unusual;
        }
        continue;
      default:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<std::string>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

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

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

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

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

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

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

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

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

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

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

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

  if (from._internal_alert_id() != 0) {
    _this->_internal_set_alert_id(from._internal_alert_id());
  }
  if (from._internal_device_id() != 0) {
    _this->_internal_set_device_id(from._internal_device_id());
  }
  _this->_internal_metadata_.MergeFrom<std::string>(from._internal_metadata_);
}

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

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

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

std::string AlertDevice::GetTypeName() const {
  return "keyapis.telemetry_alerting.v1.AlertDevice";
}

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

class GetTriggerAlertDeviceListResponse::_Internal {
 public:
  static constexpr ::int32_t kOneofCaseOffset =
    PROTOBUF_FIELD_OFFSET(::keyapis::telemetry_alerting::v1::GetTriggerAlertDeviceListResponse, _impl_._oneof_case_);
  static const ::keyapis::telemetry_alerting::v1::AlertDevice& data(const GetTriggerAlertDeviceListResponse* msg);
};

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

  _internal_metadata_.MergeFrom<std::string>(from._internal_metadata_);
  clear_has_type();
  switch (from.type_case()) {
    case kData: {
      _this->_internal_mutable_data()->::keyapis::telemetry_alerting::v1::AlertDevice::MergeFrom(
          from._internal_data());
      break;
    }
    case TYPE_NOT_SET: {
      break;
    }
  }
  // @@protoc_insertion_point(copy_constructor:keyapis.telemetry_alerting.v1.GetTriggerAlertDeviceListResponse)
}

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

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

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

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

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


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

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

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

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

  // .keyapis.telemetry_alerting.v1.AlertDevice data = 1;
  if (type_case() == kData) {
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(1, _Internal::data(this),
        _Internal::data(this).GetCachedSize(), target, stream);
  }

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

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

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

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

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

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

  switch (from.type_case()) {
    case kData: {
      _this->_internal_mutable_data()->::keyapis::telemetry_alerting::v1::AlertDevice::MergeFrom(
          from._internal_data());
      break;
    }
    case TYPE_NOT_SET: {
      break;
    }
  }
  _this->_internal_metadata_.MergeFrom<std::string>(from._internal_metadata_);
}

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

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

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

std::string GetTriggerAlertDeviceListResponse::GetTypeName() const {
  return "keyapis.telemetry_alerting.v1.GetTriggerAlertDeviceListResponse";
}

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

class GetTriggerRequest::_Internal {
 public:
};

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  swap(_impl_.id_, other->_impl_.id_);
}

std::string GetTriggerRequest::GetTypeName() const {
  return "keyapis.telemetry_alerting.v1.GetTriggerRequest";
}

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

class GetTriggerResponse::_Internal {
 public:
  static constexpr ::int32_t kOneofCaseOffset =
    PROTOBUF_FIELD_OFFSET(::keyapis::telemetry_alerting::v1::GetTriggerResponse, _impl_._oneof_case_);
  static const ::keyapis::telemetry_alerting::v1::Trigger& data(const GetTriggerResponse* msg);
};

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

  _internal_metadata_.MergeFrom<std::string>(from._internal_metadata_);
  clear_has_type();
  switch (from.type_case()) {
    case kData: {
      _this->_internal_mutable_data()->::keyapis::telemetry_alerting::v1::Trigger::MergeFrom(
          from._internal_data());
      break;
    }
    case TYPE_NOT_SET: {
      break;
    }
  }
  // @@protoc_insertion_point(copy_constructor:keyapis.telemetry_alerting.v1.GetTriggerResponse)
}

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

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

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

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

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


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

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

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

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

  // .keyapis.telemetry_alerting.v1.Trigger data = 1;
  if (type_case() == kData) {
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(1, _Internal::data(this),
        _Internal::data(this).GetCachedSize(), target, stream);
  }

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

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

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

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

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

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

  switch (from.type_case()) {
    case kData: {
      _this->_internal_mutable_data()->::keyapis::telemetry_alerting::v1::Trigger::MergeFrom(
          from._internal_data());
      break;
    }
    case TYPE_NOT_SET: {
      break;
    }
  }
  _this->_internal_metadata_.MergeFrom<std::string>(from._internal_metadata_);
}

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

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

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

std::string GetTriggerResponse::GetTypeName() const {
  return "keyapis.telemetry_alerting.v1.GetTriggerResponse";
}

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

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

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

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

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

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

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

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

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


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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

std::string GetTriggerAlertListRequest::GetTypeName() const {
  return "keyapis.telemetry_alerting.v1.GetTriggerAlertListRequest";
}

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

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

const ::PROTOBUF_NAMESPACE_ID::StringValue&
PostTriggerAlertDisableRequest::_Internal::closing_reason(const PostTriggerAlertDisableRequest* msg) {
  return *msg->_impl_.closing_reason_;
}
void PostTriggerAlertDisableRequest::clear_closing_reason() {
  if (_impl_.closing_reason_ != nullptr) _impl_.closing_reason_->Clear();
  _impl_._has_bits_[0] &= ~0x00000001u;
}
PostTriggerAlertDisableRequest::PostTriggerAlertDisableRequest(::PROTOBUF_NAMESPACE_ID::Arena* arena)
  : ::PROTOBUF_NAMESPACE_ID::MessageLite(arena) {
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:keyapis.telemetry_alerting.v1.PostTriggerAlertDisableRequest)
}
PostTriggerAlertDisableRequest::PostTriggerAlertDisableRequest(const PostTriggerAlertDisableRequest& from)
  : ::PROTOBUF_NAMESPACE_ID::MessageLite() {
  PostTriggerAlertDisableRequest* const _this = this; (void)_this;
  new (&_impl_) Impl_{
      decltype(_impl_._has_bits_){from._impl_._has_bits_}
    , /*decltype(_impl_._cached_size_)*/{}
    , decltype(_impl_.closing_reason_){nullptr}
    , decltype(_impl_.id_) {}
  };

  _internal_metadata_.MergeFrom<std::string>(from._internal_metadata_);
  if ((from._impl_._has_bits_[0] & 0x00000001u) != 0) {
    _this->_impl_.closing_reason_ = new ::PROTOBUF_NAMESPACE_ID::StringValue(*from._impl_.closing_reason_);
  }
  _this->_impl_.id_ = from._impl_.id_;
  // @@protoc_insertion_point(copy_constructor:keyapis.telemetry_alerting.v1.PostTriggerAlertDisableRequest)
}

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

  };
}

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

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

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

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

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

const char* PostTriggerAlertDisableRequest::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  _Internal::HasBits has_bits{};
  while (!ctx->Done(&ptr)) {
    ::uint32_t tag;
    ptr = ::_pbi::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // int32 id = 1 [(.google.api.field_behavior) = REQUIRED];
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::uint8_t>(tag) == 8)) {
          _impl_.id_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
        } else {
          goto handle_unusual;
        }
        continue;
      // .google.protobuf.StringValue closing_reason = 2;
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::uint8_t>(tag) == 18)) {
          ptr = ctx->ParseMessage(_internal_mutable_closing_reason(), ptr);
          CHK_(ptr);
        } else {
          goto handle_unusual;
        }
        continue;
      default:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<std::string>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  _impl_._has_bits_.Or(has_bits);
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

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

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

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

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

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

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

  // .google.protobuf.StringValue closing_reason = 2;
  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000001u) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *_impl_.closing_reason_);
  }

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

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

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

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

  if ((from._impl_._has_bits_[0] & 0x00000001u) != 0) {
    _this->_internal_mutable_closing_reason()->::PROTOBUF_NAMESPACE_ID::StringValue::MergeFrom(
        from._internal_closing_reason());
  }
  if (from._internal_id() != 0) {
    _this->_internal_set_id(from._internal_id());
  }
  _this->_internal_metadata_.MergeFrom<std::string>(from._internal_metadata_);
}

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

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

void PostTriggerAlertDisableRequest::InternalSwap(PostTriggerAlertDisableRequest* other) {
  using std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  ::PROTOBUF_NAMESPACE_ID::internal::memswap<
      PROTOBUF_FIELD_OFFSET(PostTriggerAlertDisableRequest, _impl_.id_)
      + sizeof(PostTriggerAlertDisableRequest::_impl_.id_)
      - PROTOBUF_FIELD_OFFSET(PostTriggerAlertDisableRequest, _impl_.closing_reason_)>(
          reinterpret_cast<char*>(&_impl_.closing_reason_),
          reinterpret_cast<char*>(&other->_impl_.closing_reason_));
}

std::string PostTriggerAlertDisableRequest::GetTypeName() const {
  return "keyapis.telemetry_alerting.v1.PostTriggerAlertDisableRequest";
}

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

class PostTriggerAlertDisableResponse::_Internal {
 public:
};

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

std::string PostTriggerAlertDisableResponse::GetTypeName() const {
  return "keyapis.telemetry_alerting.v1.PostTriggerAlertDisableResponse";
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

std::string GetTriggerAlertCountRequest::GetTypeName() const {
  return "keyapis.telemetry_alerting.v1.GetTriggerAlertCountRequest";
}

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

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

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

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

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

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

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

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

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


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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

std::string GetTriggerListRequest::GetTypeName() const {
  return "keyapis.telemetry_alerting.v1.GetTriggerListRequest";
}

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

class TriggerPaging::_Internal {
 public:
};

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

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

    , decltype(_impl_.direction_type_) { 0 }

    , decltype(_impl_.limit_) { 0 }

    , decltype(_impl_.offset_) { 0 }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

std::string TriggerPaging::GetTypeName() const {
  return "keyapis.telemetry_alerting.v1.TriggerPaging";
}

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

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

const ::PROTOBUF_NAMESPACE_ID::BoolValue&
TriggerFilter::_Internal::is_disabled(const TriggerFilter* msg) {
  return *msg->_impl_.is_disabled_;
}
void TriggerFilter::clear_is_disabled() {
  if (_impl_.is_disabled_ != nullptr) _impl_.is_disabled_->Clear();
  _impl_._has_bits_[0] &= ~0x00000001u;
}
TriggerFilter::TriggerFilter(::PROTOBUF_NAMESPACE_ID::Arena* arena)
  : ::PROTOBUF_NAMESPACE_ID::MessageLite(arena) {
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:keyapis.telemetry_alerting.v1.TriggerFilter)
}
TriggerFilter::TriggerFilter(const TriggerFilter& from)
  : ::PROTOBUF_NAMESPACE_ID::MessageLite() {
  TriggerFilter* const _this = this; (void)_this;
  new (&_impl_) Impl_{
      decltype(_impl_._has_bits_){from._impl_._has_bits_}
    , /*decltype(_impl_._cached_size_)*/{}
    , decltype(_impl_.severity_types_) { from._internal_severity_types() }
    , /*decltype(_impl_._severity_types_cached_byte_size_)*/ { 0 }

    , decltype(_impl_.tags_){from._impl_.tags_}
    , decltype(_impl_.metric_types_) { from._internal_metric_types() }
    , /*decltype(_impl_._metric_types_cached_byte_size_)*/ { 0 }

    , decltype(_impl_.device_models_){from._impl_.device_models_}
    , decltype(_impl_.device_types_) { from._internal_device_types() }
    , /*decltype(_impl_._device_types_cached_byte_size_)*/ { 0 }

    , decltype(_impl_.metric_grouping_types_) { from._internal_metric_grouping_types() }
    , /*decltype(_impl_._metric_grouping_types_cached_byte_size_)*/ { 0 }

    , decltype(_impl_.is_disabled_){nullptr}};

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

inline void TriggerFilter::SharedCtor(::_pb::Arena* arena) {
  (void)arena;
  new (&_impl_) Impl_{
      decltype(_impl_._has_bits_){}
    , /*decltype(_impl_._cached_size_)*/{}
    , decltype(_impl_.severity_types_) { arena }
    , /*decltype(_impl_._severity_types_cached_byte_size_)*/ { 0 }

    , decltype(_impl_.tags_){arena}
    , decltype(_impl_.metric_types_) { arena }
    , /*decltype(_impl_._metric_types_cached_byte_size_)*/ { 0 }

    , decltype(_impl_.device_models_){arena}
    , decltype(_impl_.device_types_) { arena }
    , /*decltype(_impl_._device_types_cached_byte_size_)*/ { 0 }

    , decltype(_impl_.metric_grouping_types_) { arena }
    , /*decltype(_impl_._metric_grouping_types_cached_byte_size_)*/ { 0 }

    , decltype(_impl_.is_disabled_){nullptr}
  };
}

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

inline void TriggerFilter::SharedDtor() {
  ABSL_DCHECK(GetArenaForAllocation() == nullptr);
  _internal_mutable_severity_types()->~RepeatedField();
  _internal_mutable_tags()->~RepeatedPtrField();
  _internal_mutable_metric_types()->~RepeatedField();
  _internal_mutable_device_models()->~RepeatedPtrField();
  _internal_mutable_device_types()->~RepeatedField();
  _internal_mutable_metric_grouping_types()->~RepeatedField();
  if (this != internal_default_instance()) delete _impl_.is_disabled_;
}

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

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

  _internal_mutable_severity_types()->Clear();
  _internal_mutable_tags()->Clear();
  _internal_mutable_metric_types()->Clear();
  _internal_mutable_device_models()->Clear();
  _internal_mutable_device_types()->Clear();
  _internal_mutable_metric_grouping_types()->Clear();
  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000001u) {
    ABSL_DCHECK(_impl_.is_disabled_ != nullptr);
    _impl_.is_disabled_->Clear();
  }
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<std::string>();
}

const char* TriggerFilter::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  _Internal::HasBits has_bits{};
  while (!ctx->Done(&ptr)) {
    ::uint32_t tag;
    ptr = ::_pbi::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // repeated .keyapis.telemetry_alerting.v1.Trigger.SeverityType severity_types = 1;
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::uint8_t>(tag) == 10)) {
          ptr = ::PROTOBUF_NAMESPACE_ID::internal::PackedEnumParser(_internal_mutable_severity_types(), ptr, ctx);
          CHK_(ptr);
        } else if (static_cast<::uint8_t>(tag) == 8) {
          ::int32_t val = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
          _internal_add_severity_types(static_cast<::keyapis::telemetry_alerting::v1::Trigger_SeverityType>(val));
        } else {
          goto handle_unusual;
        }
        continue;
      // repeated string tags = 2;
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::uint8_t>(tag) == 18)) {
          ptr -= 1;
          do {
            ptr += 1;
            auto str = _internal_add_tags();
            ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx);
            CHK_(ptr);
            CHK_(::_pbi::VerifyUTF8(str, nullptr));
            if (!ctx->DataAvailable(ptr)) break;
          } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<18>(ptr));
        } else {
          goto handle_unusual;
        }
        continue;
      // repeated .keyapis.telemetry_alerting.v1.Trigger.MetricType metric_types = 3;
      case 3:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::uint8_t>(tag) == 26)) {
          ptr = ::PROTOBUF_NAMESPACE_ID::internal::PackedEnumParser(_internal_mutable_metric_types(), ptr, ctx);
          CHK_(ptr);
        } else if (static_cast<::uint8_t>(tag) == 24) {
          ::int32_t val = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
          _internal_add_metric_types(static_cast<::keyapis::telemetry_alerting::v1::Trigger_MetricType>(val));
        } else {
          goto handle_unusual;
        }
        continue;
      // repeated string device_models = 4;
      case 4:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::uint8_t>(tag) == 34)) {
          ptr -= 1;
          do {
            ptr += 1;
            auto str = _internal_add_device_models();
            ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx);
            CHK_(ptr);
            CHK_(::_pbi::VerifyUTF8(str, nullptr));
            if (!ctx->DataAvailable(ptr)) break;
          } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<34>(ptr));
        } else {
          goto handle_unusual;
        }
        continue;
      // repeated .keyapis.telemetry_alerting.v1.Trigger.DeviceType device_types = 5;
      case 5:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::uint8_t>(tag) == 42)) {
          ptr = ::PROTOBUF_NAMESPACE_ID::internal::PackedEnumParser(_internal_mutable_device_types(), ptr, ctx);
          CHK_(ptr);
        } else if (static_cast<::uint8_t>(tag) == 40) {
          ::int32_t val = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
          _internal_add_device_types(static_cast<::keyapis::telemetry_alerting::v1::Trigger_DeviceType>(val));
        } else {
          goto handle_unusual;
        }
        continue;
      // repeated .keyapis.telemetry_alerting.v1.Trigger.MetricGroupingType metric_grouping_types = 6;
      case 6:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::uint8_t>(tag) == 50)) {
          ptr = ::PROTOBUF_NAMESPACE_ID::internal::PackedEnumParser(_internal_mutable_metric_grouping_types(), ptr, ctx);
          CHK_(ptr);
        } else if (static_cast<::uint8_t>(tag) == 48) {
          ::int32_t val = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
          _internal_add_metric_grouping_types(static_cast<::keyapis::telemetry_alerting::v1::Trigger_MetricGroupingType>(val));
        } else {
          goto handle_unusual;
        }
        continue;
      // .google.protobuf.BoolValue is_disabled = 7;
      case 7:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::uint8_t>(tag) == 58)) {
          ptr = ctx->ParseMessage(_internal_mutable_is_disabled(), ptr);
          CHK_(ptr);
        } else {
          goto handle_unusual;
        }
        continue;
      default:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<std::string>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  _impl_._has_bits_.Or(has_bits);
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

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

  // repeated .keyapis.telemetry_alerting.v1.Trigger.SeverityType severity_types = 1;
  {
    int byte_size = _impl_._severity_types_cached_byte_size_.Get();
    if (byte_size > 0) {
      target = stream->WriteEnumPacked(1, _internal_severity_types(),
                                       byte_size, target);
    }
  }

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

  // repeated .keyapis.telemetry_alerting.v1.Trigger.MetricType metric_types = 3;
  {
    int byte_size = _impl_._metric_types_cached_byte_size_.Get();
    if (byte_size > 0) {
      target = stream->WriteEnumPacked(3, _internal_metric_types(),
                                       byte_size, target);
    }
  }

  // repeated string device_models = 4;
  for (int i = 0, n = this->_internal_device_models_size(); i < n; ++i) {
    const auto& s = this->_internal_device_models(i);
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(
        s.data(), static_cast<int>(s.length()), ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE, "keyapis.telemetry_alerting.v1.TriggerFilter.device_models");
    target = stream->WriteString(4, s, target);
  }

  // repeated .keyapis.telemetry_alerting.v1.Trigger.DeviceType device_types = 5;
  {
    int byte_size = _impl_._device_types_cached_byte_size_.Get();
    if (byte_size > 0) {
      target = stream->WriteEnumPacked(5, _internal_device_types(),
                                       byte_size, target);
    }
  }

  // repeated .keyapis.telemetry_alerting.v1.Trigger.MetricGroupingType metric_grouping_types = 6;
  {
    int byte_size = _impl_._metric_grouping_types_cached_byte_size_.Get();
    if (byte_size > 0) {
      target = stream->WriteEnumPacked(6, _internal_metric_grouping_types(),
                                       byte_size, target);
    }
  }

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

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

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

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

  // repeated .keyapis.telemetry_alerting.v1.Trigger.SeverityType severity_types = 1;
  {
    std::size_t data_size = 0;
    auto count = static_cast<std::size_t>(this->_internal_severity_types_size());

    for (std::size_t i = 0; i < count; ++i) {
      data_size += ::_pbi::WireFormatLite::EnumSize(
          this->_internal_severity_types(static_cast<int>(i)));
    }
    total_size += data_size;
    if (data_size > 0) {
      total_size += 1;
      total_size += ::_pbi::WireFormatLite::Int32Size(
          static_cast<int32_t>(data_size));
    }
    _impl_._severity_types_cached_byte_size_.Set(::_pbi::ToCachedSize(data_size));
  }

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

  // repeated .keyapis.telemetry_alerting.v1.Trigger.MetricType metric_types = 3;
  {
    std::size_t data_size = 0;
    auto count = static_cast<std::size_t>(this->_internal_metric_types_size());

    for (std::size_t i = 0; i < count; ++i) {
      data_size += ::_pbi::WireFormatLite::EnumSize(
          this->_internal_metric_types(static_cast<int>(i)));
    }
    total_size += data_size;
    if (data_size > 0) {
      total_size += 1;
      total_size += ::_pbi::WireFormatLite::Int32Size(
          static_cast<int32_t>(data_size));
    }
    _impl_._metric_types_cached_byte_size_.Set(::_pbi::ToCachedSize(data_size));
  }

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

  // repeated .keyapis.telemetry_alerting.v1.Trigger.DeviceType device_types = 5;
  {
    std::size_t data_size = 0;
    auto count = static_cast<std::size_t>(this->_internal_device_types_size());

    for (std::size_t i = 0; i < count; ++i) {
      data_size += ::_pbi::WireFormatLite::EnumSize(
          this->_internal_device_types(static_cast<int>(i)));
    }
    total_size += data_size;
    if (data_size > 0) {
      total_size += 1;
      total_size += ::_pbi::WireFormatLite::Int32Size(
          static_cast<int32_t>(data_size));
    }
    _impl_._device_types_cached_byte_size_.Set(::_pbi::ToCachedSize(data_size));
  }

  // repeated .keyapis.telemetry_alerting.v1.Trigger.MetricGroupingType metric_grouping_types = 6;
  {
    std::size_t data_size = 0;
    auto count = static_cast<std::size_t>(this->_internal_metric_grouping_types_size());

    for (std::size_t i = 0; i < count; ++i) {
      data_size += ::_pbi::WireFormatLite::EnumSize(
          this->_internal_metric_grouping_types(static_cast<int>(i)));
    }
    total_size += data_size;
    if (data_size > 0) {
      total_size += 1;
      total_size += ::_pbi::WireFormatLite::Int32Size(
          static_cast<int32_t>(data_size));
    }
    _impl_._metric_grouping_types_cached_byte_size_.Set(::_pbi::ToCachedSize(data_size));
  }

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

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

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

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

  _this->_internal_mutable_severity_types()->MergeFrom(from._internal_severity_types());
  _this->_internal_mutable_tags()->MergeFrom(from._internal_tags());
  _this->_internal_mutable_metric_types()->MergeFrom(from._internal_metric_types());
  _this->_internal_mutable_device_models()->MergeFrom(from._internal_device_models());
  _this->_internal_mutable_device_types()->MergeFrom(from._internal_device_types());
  _this->_internal_mutable_metric_grouping_types()->MergeFrom(from._internal_metric_grouping_types());
  if ((from._impl_._has_bits_[0] & 0x00000001u) != 0) {
    _this->_internal_mutable_is_disabled()->::PROTOBUF_NAMESPACE_ID::BoolValue::MergeFrom(
        from._internal_is_disabled());
  }
  _this->_internal_metadata_.MergeFrom<std::string>(from._internal_metadata_);
}

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

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

void TriggerFilter::InternalSwap(TriggerFilter* other) {
  using std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  _internal_mutable_severity_types()->InternalSwap(
      other->_internal_mutable_severity_types());
  _internal_mutable_tags()->InternalSwap(
      other->_internal_mutable_tags());
  _internal_mutable_metric_types()->InternalSwap(
      other->_internal_mutable_metric_types());
  _internal_mutable_device_models()->InternalSwap(
      other->_internal_mutable_device_models());
  _internal_mutable_device_types()->InternalSwap(
      other->_internal_mutable_device_types());
  _internal_mutable_metric_grouping_types()->InternalSwap(
      other->_internal_mutable_metric_grouping_types());
  swap(_impl_.is_disabled_, other->_impl_.is_disabled_);
}

std::string TriggerFilter::GetTypeName() const {
  return "keyapis.telemetry_alerting.v1.TriggerFilter";
}

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

class TriggerAlertFilter::_Internal {
 public:
  using HasBits = decltype(std::declval<TriggerAlertFilter>()._impl_._has_bits_);
  static constexpr ::int32_t kHasBitsOffset =
    8 * PROTOBUF_FIELD_OFFSET(TriggerAlertFilter, _impl_._has_bits_);
  static const ::PROTOBUF_NAMESPACE_ID::BoolValue& is_disabled(const TriggerAlertFilter* msg);
  static void set_has_is_disabled(HasBits* has_bits) {
    (*has_bits)[0] |= 1u;
  }
  static const ::PROTOBUF_NAMESPACE_ID::Timestamp& after_raised_at(const TriggerAlertFilter* msg);
  static void set_has_after_raised_at(HasBits* has_bits) {
    (*has_bits)[0] |= 2u;
  }
  static const ::PROTOBUF_NAMESPACE_ID::Timestamp& before_raised_at(const TriggerAlertFilter* msg);
  static void set_has_before_raised_at(HasBits* has_bits) {
    (*has_bits)[0] |= 4u;
  }
};

const ::PROTOBUF_NAMESPACE_ID::BoolValue&
TriggerAlertFilter::_Internal::is_disabled(const TriggerAlertFilter* msg) {
  return *msg->_impl_.is_disabled_;
}
const ::PROTOBUF_NAMESPACE_ID::Timestamp&
TriggerAlertFilter::_Internal::after_raised_at(const TriggerAlertFilter* msg) {
  return *msg->_impl_.after_raised_at_;
}
const ::PROTOBUF_NAMESPACE_ID::Timestamp&
TriggerAlertFilter::_Internal::before_raised_at(const TriggerAlertFilter* msg) {
  return *msg->_impl_.before_raised_at_;
}
void TriggerAlertFilter::clear_is_disabled() {
  if (_impl_.is_disabled_ != nullptr) _impl_.is_disabled_->Clear();
  _impl_._has_bits_[0] &= ~0x00000001u;
}
void TriggerAlertFilter::clear_after_raised_at() {
  if (_impl_.after_raised_at_ != nullptr) _impl_.after_raised_at_->Clear();
  _impl_._has_bits_[0] &= ~0x00000002u;
}
void TriggerAlertFilter::clear_before_raised_at() {
  if (_impl_.before_raised_at_ != nullptr) _impl_.before_raised_at_->Clear();
  _impl_._has_bits_[0] &= ~0x00000004u;
}
TriggerAlertFilter::TriggerAlertFilter(::PROTOBUF_NAMESPACE_ID::Arena* arena)
  : ::PROTOBUF_NAMESPACE_ID::MessageLite(arena) {
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:keyapis.telemetry_alerting.v1.TriggerAlertFilter)
}
TriggerAlertFilter::TriggerAlertFilter(const TriggerAlertFilter& from)
  : ::PROTOBUF_NAMESPACE_ID::MessageLite() {
  TriggerAlertFilter* const _this = this; (void)_this;
  new (&_impl_) Impl_{
      decltype(_impl_._has_bits_){from._impl_._has_bits_}
    , /*decltype(_impl_._cached_size_)*/{}
    , decltype(_impl_.trigger_severity_types_) { from._internal_trigger_severity_types() }
    , /*decltype(_impl_._trigger_severity_types_cached_byte_size_)*/ { 0 }

    , decltype(_impl_.fias_ids_){from._impl_.fias_ids_}
    , decltype(_impl_.tags_){from._impl_.tags_}
    , decltype(_impl_.metric_types_) { from._internal_metric_types() }
    , /*decltype(_impl_._metric_types_cached_byte_size_)*/ { 0 }

    , decltype(_impl_.device_models_){from._impl_.device_models_}
    , decltype(_impl_.device_types_) { from._internal_device_types() }
    , /*decltype(_impl_._device_types_cached_byte_size_)*/ { 0 }

    , decltype(_impl_.device_parent_ids_) { from._impl_.device_parent_ids_ }
    ,/* _impl_._device_parent_ids_cached_byte_size_ = */ { 0 }

    , decltype(_impl_.device_ids_) { from._impl_.device_ids_ }
    ,/* _impl_._device_ids_cached_byte_size_ = */ { 0 }

    , decltype(_impl_.metric_grouping_types_) { from._internal_metric_grouping_types() }
    , /*decltype(_impl_._metric_grouping_types_cached_byte_size_)*/ { 0 }

    , decltype(_impl_.trigger_ids_) { from._impl_.trigger_ids_ }
    ,/* _impl_._trigger_ids_cached_byte_size_ = */ { 0 }

    , decltype(_impl_.is_disabled_){nullptr}
    , decltype(_impl_.after_raised_at_){nullptr}
    , decltype(_impl_.before_raised_at_){nullptr}};

  _internal_metadata_.MergeFrom<std::string>(from._internal_metadata_);
  if ((from._impl_._has_bits_[0] & 0x00000001u) != 0) {
    _this->_impl_.is_disabled_ = new ::PROTOBUF_NAMESPACE_ID::BoolValue(*from._impl_.is_disabled_);
  }
  if ((from._impl_._has_bits_[0] & 0x00000002u) != 0) {
    _this->_impl_.after_raised_at_ = new ::PROTOBUF_NAMESPACE_ID::Timestamp(*from._impl_.after_raised_at_);
  }
  if ((from._impl_._has_bits_[0] & 0x00000004u) != 0) {
    _this->_impl_.before_raised_at_ = new ::PROTOBUF_NAMESPACE_ID::Timestamp(*from._impl_.before_raised_at_);
  }
  // @@protoc_insertion_point(copy_constructor:keyapis.telemetry_alerting.v1.TriggerAlertFilter)
}

inline void TriggerAlertFilter::SharedCtor(::_pb::Arena* arena) {
  (void)arena;
  new (&_impl_) Impl_{
      decltype(_impl_._has_bits_){}
    , /*decltype(_impl_._cached_size_)*/{}
    , decltype(_impl_.trigger_severity_types_) { arena }
    , /*decltype(_impl_._trigger_severity_types_cached_byte_size_)*/ { 0 }

    , decltype(_impl_.fias_ids_){arena}
    , decltype(_impl_.tags_){arena}
    , decltype(_impl_.metric_types_) { arena }
    , /*decltype(_impl_._metric_types_cached_byte_size_)*/ { 0 }

    , decltype(_impl_.device_models_){arena}
    , decltype(_impl_.device_types_) { arena }
    , /*decltype(_impl_._device_types_cached_byte_size_)*/ { 0 }

    , decltype(_impl_.device_parent_ids_) { arena }
    ,/* _impl_._device_parent_ids_cached_byte_size_ = */ { 0 }

    , decltype(_impl_.device_ids_) { arena }
    ,/* _impl_._device_ids_cached_byte_size_ = */ { 0 }

    , decltype(_impl_.metric_grouping_types_) { arena }
    , /*decltype(_impl_._metric_grouping_types_cached_byte_size_)*/ { 0 }

    , decltype(_impl_.trigger_ids_) { arena }
    ,/* _impl_._trigger_ids_cached_byte_size_ = */ { 0 }

    , decltype(_impl_.is_disabled_){nullptr}
    , decltype(_impl_.after_raised_at_){nullptr}
    , decltype(_impl_.before_raised_at_){nullptr}
  };
}

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

inline void TriggerAlertFilter::SharedDtor() {
  ABSL_DCHECK(GetArenaForAllocation() == nullptr);
  _internal_mutable_trigger_severity_types()->~RepeatedField();
  _internal_mutable_fias_ids()->~RepeatedPtrField();
  _internal_mutable_tags()->~RepeatedPtrField();
  _internal_mutable_metric_types()->~RepeatedField();
  _internal_mutable_device_models()->~RepeatedPtrField();
  _internal_mutable_device_types()->~RepeatedField();
  _impl_.device_parent_ids_.~RepeatedField();
  _impl_.device_ids_.~RepeatedField();
  _internal_mutable_metric_grouping_types()->~RepeatedField();
  _impl_.trigger_ids_.~RepeatedField();
  if (this != internal_default_instance()) delete _impl_.is_disabled_;
  if (this != internal_default_instance()) delete _impl_.after_raised_at_;
  if (this != internal_default_instance()) delete _impl_.before_raised_at_;
}

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

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

  _internal_mutable_trigger_severity_types()->Clear();
  _internal_mutable_fias_ids()->Clear();
  _internal_mutable_tags()->Clear();
  _internal_mutable_metric_types()->Clear();
  _internal_mutable_device_models()->Clear();
  _internal_mutable_device_types()->Clear();
  _internal_mutable_device_parent_ids()->Clear();
  _internal_mutable_device_ids()->Clear();
  _internal_mutable_metric_grouping_types()->Clear();
  _internal_mutable_trigger_ids()->Clear();
  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000007u) {
    if (cached_has_bits & 0x00000001u) {
      ABSL_DCHECK(_impl_.is_disabled_ != nullptr);
      _impl_.is_disabled_->Clear();
    }
    if (cached_has_bits & 0x00000002u) {
      ABSL_DCHECK(_impl_.after_raised_at_ != nullptr);
      _impl_.after_raised_at_->Clear();
    }
    if (cached_has_bits & 0x00000004u) {
      ABSL_DCHECK(_impl_.before_raised_at_ != nullptr);
      _impl_.before_raised_at_->Clear();
    }
  }
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<std::string>();
}

const char* TriggerAlertFilter::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  _Internal::HasBits has_bits{};
  while (!ctx->Done(&ptr)) {
    ::uint32_t tag;
    ptr = ::_pbi::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // repeated .keyapis.telemetry_alerting.v1.Trigger.SeverityType trigger_severity_types = 1;
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::uint8_t>(tag) == 10)) {
          ptr = ::PROTOBUF_NAMESPACE_ID::internal::PackedEnumParser(_internal_mutable_trigger_severity_types(), ptr, ctx);
          CHK_(ptr);
        } else if (static_cast<::uint8_t>(tag) == 8) {
          ::int32_t val = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
          _internal_add_trigger_severity_types(static_cast<::keyapis::telemetry_alerting::v1::Trigger_SeverityType>(val));
        } else {
          goto handle_unusual;
        }
        continue;
      // repeated string fias_ids = 2;
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::uint8_t>(tag) == 18)) {
          ptr -= 1;
          do {
            ptr += 1;
            auto str = _internal_add_fias_ids();
            ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx);
            CHK_(ptr);
            CHK_(::_pbi::VerifyUTF8(str, nullptr));
            if (!ctx->DataAvailable(ptr)) break;
          } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<18>(ptr));
        } else {
          goto handle_unusual;
        }
        continue;
      // repeated string tags = 3;
      case 3:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::uint8_t>(tag) == 26)) {
          ptr -= 1;
          do {
            ptr += 1;
            auto str = _internal_add_tags();
            ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx);
            CHK_(ptr);
            CHK_(::_pbi::VerifyUTF8(str, nullptr));
            if (!ctx->DataAvailable(ptr)) break;
          } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<26>(ptr));
        } else {
          goto handle_unusual;
        }
        continue;
      // repeated .keyapis.telemetry_alerting.v1.Trigger.MetricType metric_types = 4;
      case 4:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::uint8_t>(tag) == 34)) {
          ptr = ::PROTOBUF_NAMESPACE_ID::internal::PackedEnumParser(_internal_mutable_metric_types(), ptr, ctx);
          CHK_(ptr);
        } else if (static_cast<::uint8_t>(tag) == 32) {
          ::int32_t val = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
          _internal_add_metric_types(static_cast<::keyapis::telemetry_alerting::v1::Trigger_MetricType>(val));
        } else {
          goto handle_unusual;
        }
        continue;
      // repeated string device_models = 5;
      case 5:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::uint8_t>(tag) == 42)) {
          ptr -= 1;
          do {
            ptr += 1;
            auto str = _internal_add_device_models();
            ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx);
            CHK_(ptr);
            CHK_(::_pbi::VerifyUTF8(str, nullptr));
            if (!ctx->DataAvailable(ptr)) break;
          } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<42>(ptr));
        } else {
          goto handle_unusual;
        }
        continue;
      // repeated .keyapis.telemetry_alerting.v1.Trigger.DeviceType device_types = 6;
      case 6:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::uint8_t>(tag) == 50)) {
          ptr = ::PROTOBUF_NAMESPACE_ID::internal::PackedEnumParser(_internal_mutable_device_types(), ptr, ctx);
          CHK_(ptr);
        } else if (static_cast<::uint8_t>(tag) == 48) {
          ::int32_t val = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
          _internal_add_device_types(static_cast<::keyapis::telemetry_alerting::v1::Trigger_DeviceType>(val));
        } else {
          goto handle_unusual;
        }
        continue;
      // repeated int32 device_parent_ids = 7;
      case 7:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::uint8_t>(tag) == 58)) {
          ptr = ::PROTOBUF_NAMESPACE_ID::internal::PackedInt32Parser(_internal_mutable_device_parent_ids(), ptr, ctx);
          CHK_(ptr);
        } else if (static_cast<::uint8_t>(tag) == 56) {
          _internal_add_device_parent_ids(::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr));
          CHK_(ptr);
        } else {
          goto handle_unusual;
        }
        continue;
      // repeated int32 device_ids = 8;
      case 8:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::uint8_t>(tag) == 66)) {
          ptr = ::PROTOBUF_NAMESPACE_ID::internal::PackedInt32Parser(_internal_mutable_device_ids(), ptr, ctx);
          CHK_(ptr);
        } else if (static_cast<::uint8_t>(tag) == 64) {
          _internal_add_device_ids(::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr));
          CHK_(ptr);
        } else {
          goto handle_unusual;
        }
        continue;
      // .google.protobuf.BoolValue is_disabled = 9;
      case 9:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::uint8_t>(tag) == 74)) {
          ptr = ctx->ParseMessage(_internal_mutable_is_disabled(), ptr);
          CHK_(ptr);
        } else {
          goto handle_unusual;
        }
        continue;
      // .google.protobuf.Timestamp after_raised_at = 10;
      case 10:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::uint8_t>(tag) == 82)) {
          ptr = ctx->ParseMessage(_internal_mutable_after_raised_at(), ptr);
          CHK_(ptr);
        } else {
          goto handle_unusual;
        }
        continue;
      // .google.protobuf.Timestamp before_raised_at = 11;
      case 11:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::uint8_t>(tag) == 90)) {
          ptr = ctx->ParseMessage(_internal_mutable_before_raised_at(), ptr);
          CHK_(ptr);
        } else {
          goto handle_unusual;
        }
        continue;
      // repeated .keyapis.telemetry_alerting.v1.Trigger.MetricGroupingType metric_grouping_types = 12;
      case 12:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::uint8_t>(tag) == 98)) {
          ptr = ::PROTOBUF_NAMESPACE_ID::internal::PackedEnumParser(_internal_mutable_metric_grouping_types(), ptr, ctx);
          CHK_(ptr);
        } else if (static_cast<::uint8_t>(tag) == 96) {
          ::int32_t val = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
          _internal_add_metric_grouping_types(static_cast<::keyapis::telemetry_alerting::v1::Trigger_MetricGroupingType>(val));
        } else {
          goto handle_unusual;
        }
        continue;
      // repeated int32 trigger_ids = 13;
      case 13:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::uint8_t>(tag) == 106)) {
          ptr = ::PROTOBUF_NAMESPACE_ID::internal::PackedInt32Parser(_internal_mutable_trigger_ids(), ptr, ctx);
          CHK_(ptr);
        } else if (static_cast<::uint8_t>(tag) == 104) {
          _internal_add_trigger_ids(::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr));
          CHK_(ptr);
        } else {
          goto handle_unusual;
        }
        continue;
      default:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<std::string>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  _impl_._has_bits_.Or(has_bits);
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

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

  // repeated .keyapis.telemetry_alerting.v1.Trigger.SeverityType trigger_severity_types = 1;
  {
    int byte_size = _impl_._trigger_severity_types_cached_byte_size_.Get();
    if (byte_size > 0) {
      target = stream->WriteEnumPacked(1, _internal_trigger_severity_types(),
                                       byte_size, target);
    }
  }

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

  // repeated string tags = 3;
  for (int i = 0, n = this->_internal_tags_size(); i < n; ++i) {
    const auto& s = this->_internal_tags(i);
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(
        s.data(), static_cast<int>(s.length()), ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE, "keyapis.telemetry_alerting.v1.TriggerAlertFilter.tags");
    target = stream->WriteString(3, s, target);
  }

  // repeated .keyapis.telemetry_alerting.v1.Trigger.MetricType metric_types = 4;
  {
    int byte_size = _impl_._metric_types_cached_byte_size_.Get();
    if (byte_size > 0) {
      target = stream->WriteEnumPacked(4, _internal_metric_types(),
                                       byte_size, target);
    }
  }

  // repeated string device_models = 5;
  for (int i = 0, n = this->_internal_device_models_size(); i < n; ++i) {
    const auto& s = this->_internal_device_models(i);
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(
        s.data(), static_cast<int>(s.length()), ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE, "keyapis.telemetry_alerting.v1.TriggerAlertFilter.device_models");
    target = stream->WriteString(5, s, target);
  }

  // repeated .keyapis.telemetry_alerting.v1.Trigger.DeviceType device_types = 6;
  {
    int byte_size = _impl_._device_types_cached_byte_size_.Get();
    if (byte_size > 0) {
      target = stream->WriteEnumPacked(6, _internal_device_types(),
                                       byte_size, target);
    }
  }

  // repeated int32 device_parent_ids = 7;
  {
    int byte_size = _impl_._device_parent_ids_cached_byte_size_.Get();
    if (byte_size > 0) {
      target = stream->WriteInt32Packed(7, _internal_device_parent_ids(),
                                                 byte_size, target);
    }
  }

  // repeated int32 device_ids = 8;
  {
    int byte_size = _impl_._device_ids_cached_byte_size_.Get();
    if (byte_size > 0) {
      target = stream->WriteInt32Packed(8, _internal_device_ids(),
                                                 byte_size, target);
    }
  }

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

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

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

  // repeated .keyapis.telemetry_alerting.v1.Trigger.MetricGroupingType metric_grouping_types = 12;
  {
    int byte_size = _impl_._metric_grouping_types_cached_byte_size_.Get();
    if (byte_size > 0) {
      target = stream->WriteEnumPacked(12, _internal_metric_grouping_types(),
                                       byte_size, target);
    }
  }

  // repeated int32 trigger_ids = 13;
  {
    int byte_size = _impl_._trigger_ids_cached_byte_size_.Get();
    if (byte_size > 0) {
      target = stream->WriteInt32Packed(13, _internal_trigger_ids(),
                                                 byte_size, target);
    }
  }

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

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

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

  // repeated .keyapis.telemetry_alerting.v1.Trigger.SeverityType trigger_severity_types = 1;
  {
    std::size_t data_size = 0;
    auto count = static_cast<std::size_t>(this->_internal_trigger_severity_types_size());

    for (std::size_t i = 0; i < count; ++i) {
      data_size += ::_pbi::WireFormatLite::EnumSize(
          this->_internal_trigger_severity_types(static_cast<int>(i)));
    }
    total_size += data_size;
    if (data_size > 0) {
      total_size += 1;
      total_size += ::_pbi::WireFormatLite::Int32Size(
          static_cast<int32_t>(data_size));
    }
    _impl_._trigger_severity_types_cached_byte_size_.Set(::_pbi::ToCachedSize(data_size));
  }

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

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

  // repeated .keyapis.telemetry_alerting.v1.Trigger.MetricType metric_types = 4;
  {
    std::size_t data_size = 0;
    auto count = static_cast<std::size_t>(this->_internal_metric_types_size());

    for (std::size_t i = 0; i < count; ++i) {
      data_size += ::_pbi::WireFormatLite::EnumSize(
          this->_internal_metric_types(static_cast<int>(i)));
    }
    total_size += data_size;
    if (data_size > 0) {
      total_size += 1;
      total_size += ::_pbi::WireFormatLite::Int32Size(
          static_cast<int32_t>(data_size));
    }
    _impl_._metric_types_cached_byte_size_.Set(::_pbi::ToCachedSize(data_size));
  }

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

  // repeated .keyapis.telemetry_alerting.v1.Trigger.DeviceType device_types = 6;
  {
    std::size_t data_size = 0;
    auto count = static_cast<std::size_t>(this->_internal_device_types_size());

    for (std::size_t i = 0; i < count; ++i) {
      data_size += ::_pbi::WireFormatLite::EnumSize(
          this->_internal_device_types(static_cast<int>(i)));
    }
    total_size += data_size;
    if (data_size > 0) {
      total_size += 1;
      total_size += ::_pbi::WireFormatLite::Int32Size(
          static_cast<int32_t>(data_size));
    }
    _impl_._device_types_cached_byte_size_.Set(::_pbi::ToCachedSize(data_size));
  }

  // repeated int32 device_parent_ids = 7;
  {
    std::size_t data_size = ::_pbi::WireFormatLite::Int32Size(
        this->_internal_device_parent_ids())
    ;
    _impl_._device_parent_ids_cached_byte_size_.Set(::_pbi::ToCachedSize(data_size));
    std::size_t tag_size = data_size == 0
        ? 0
        : 1 + ::_pbi::WireFormatLite::Int32Size(
                            static_cast<int32_t>(data_size))
    ;
    total_size += tag_size + data_size;
  }

  // repeated int32 device_ids = 8;
  {
    std::size_t data_size = ::_pbi::WireFormatLite::Int32Size(
        this->_internal_device_ids())
    ;
    _impl_._device_ids_cached_byte_size_.Set(::_pbi::ToCachedSize(data_size));
    std::size_t tag_size = data_size == 0
        ? 0
        : 1 + ::_pbi::WireFormatLite::Int32Size(
                            static_cast<int32_t>(data_size))
    ;
    total_size += tag_size + data_size;
  }

  // repeated .keyapis.telemetry_alerting.v1.Trigger.MetricGroupingType metric_grouping_types = 12;
  {
    std::size_t data_size = 0;
    auto count = static_cast<std::size_t>(this->_internal_metric_grouping_types_size());

    for (std::size_t i = 0; i < count; ++i) {
      data_size += ::_pbi::WireFormatLite::EnumSize(
          this->_internal_metric_grouping_types(static_cast<int>(i)));
    }
    total_size += data_size;
    if (data_size > 0) {
      total_size += 1;
      total_size += ::_pbi::WireFormatLite::Int32Size(
          static_cast<int32_t>(data_size));
    }
    _impl_._metric_grouping_types_cached_byte_size_.Set(::_pbi::ToCachedSize(data_size));
  }

  // repeated int32 trigger_ids = 13;
  {
    std::size_t data_size = ::_pbi::WireFormatLite::Int32Size(
        this->_internal_trigger_ids())
    ;
    _impl_._trigger_ids_cached_byte_size_.Set(::_pbi::ToCachedSize(data_size));
    std::size_t tag_size = data_size == 0
        ? 0
        : 1 + ::_pbi::WireFormatLite::Int32Size(
                            static_cast<int32_t>(data_size))
    ;
    total_size += tag_size + data_size;
  }

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

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

    // .google.protobuf.Timestamp before_raised_at = 11;
    if (cached_has_bits & 0x00000004u) {
      total_size += 1 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
          *_impl_.before_raised_at_);
    }

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

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

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

  _this->_internal_mutable_trigger_severity_types()->MergeFrom(from._internal_trigger_severity_types());
  _this->_internal_mutable_fias_ids()->MergeFrom(from._internal_fias_ids());
  _this->_internal_mutable_tags()->MergeFrom(from._internal_tags());
  _this->_internal_mutable_metric_types()->MergeFrom(from._internal_metric_types());
  _this->_internal_mutable_device_models()->MergeFrom(from._internal_device_models());
  _this->_internal_mutable_device_types()->MergeFrom(from._internal_device_types());
  _this->_impl_.device_parent_ids_.MergeFrom(from._impl_.device_parent_ids_);
  _this->_impl_.device_ids_.MergeFrom(from._impl_.device_ids_);
  _this->_internal_mutable_metric_grouping_types()->MergeFrom(from._internal_metric_grouping_types());
  _this->_impl_.trigger_ids_.MergeFrom(from._impl_.trigger_ids_);
  cached_has_bits = from._impl_._has_bits_[0];
  if (cached_has_bits & 0x00000007u) {
    if (cached_has_bits & 0x00000001u) {
      _this->_internal_mutable_is_disabled()->::PROTOBUF_NAMESPACE_ID::BoolValue::MergeFrom(
          from._internal_is_disabled());
    }
    if (cached_has_bits & 0x00000002u) {
      _this->_internal_mutable_after_raised_at()->::PROTOBUF_NAMESPACE_ID::Timestamp::MergeFrom(
          from._internal_after_raised_at());
    }
    if (cached_has_bits & 0x00000004u) {
      _this->_internal_mutable_before_raised_at()->::PROTOBUF_NAMESPACE_ID::Timestamp::MergeFrom(
          from._internal_before_raised_at());
    }
  }
  _this->_internal_metadata_.MergeFrom<std::string>(from._internal_metadata_);
}

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

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

void TriggerAlertFilter::InternalSwap(TriggerAlertFilter* other) {
  using std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  _internal_mutable_trigger_severity_types()->InternalSwap(
      other->_internal_mutable_trigger_severity_types());
  _internal_mutable_fias_ids()->InternalSwap(
      other->_internal_mutable_fias_ids());
  _internal_mutable_tags()->InternalSwap(
      other->_internal_mutable_tags());
  _internal_mutable_metric_types()->InternalSwap(
      other->_internal_mutable_metric_types());
  _internal_mutable_device_models()->InternalSwap(
      other->_internal_mutable_device_models());
  _internal_mutable_device_types()->InternalSwap(
      other->_internal_mutable_device_types());
  _impl_.device_parent_ids_.InternalSwap(&other->_impl_.device_parent_ids_);
  _impl_.device_ids_.InternalSwap(&other->_impl_.device_ids_);
  _internal_mutable_metric_grouping_types()->InternalSwap(
      other->_internal_mutable_metric_grouping_types());
  _impl_.trigger_ids_.InternalSwap(&other->_impl_.trigger_ids_);
  ::PROTOBUF_NAMESPACE_ID::internal::memswap<
      PROTOBUF_FIELD_OFFSET(TriggerAlertFilter, _impl_.before_raised_at_)
      + sizeof(TriggerAlertFilter::_impl_.before_raised_at_)
      - PROTOBUF_FIELD_OFFSET(TriggerAlertFilter, _impl_.is_disabled_)>(
          reinterpret_cast<char*>(&_impl_.is_disabled_),
          reinterpret_cast<char*>(&other->_impl_.is_disabled_));
}

std::string TriggerAlertFilter::GetTypeName() const {
  return "keyapis.telemetry_alerting.v1.TriggerAlertFilter";
}

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

class Trigger_FixedDaysOfMonth::_Internal {
 public:
};

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

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

    , decltype(_impl_.end_day_) { 0 }

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

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

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

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

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

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

const char* Trigger_FixedDaysOfMonth::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  while (!ctx->Done(&ptr)) {
    ::uint32_t tag;
    ptr = ::_pbi::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // int32 start_day = 1;
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::uint8_t>(tag) == 8)) {
          _impl_.start_day_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
        } else {
          goto handle_unusual;
        }
        continue;
      // int32 end_day = 2;
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::uint8_t>(tag) == 16)) {
          _impl_.end_day_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
        } else {
          goto handle_unusual;
        }
        continue;
      default:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<std::string>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

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

  // int32 start_day = 1;
  if (this->_internal_start_day() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteInt32ToArray(
        1, this->_internal_start_day(), target);
  }

  // int32 end_day = 2;
  if (this->_internal_end_day() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteInt32ToArray(
        2, this->_internal_end_day(), target);
  }

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

::size_t Trigger_FixedDaysOfMonth::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:keyapis.telemetry_alerting.v1.Trigger.FixedDaysOfMonth)
  ::size_t total_size = 0;

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

  // int32 start_day = 1;
  if (this->_internal_start_day() != 0) {
    total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(
        this->_internal_start_day());
  }

  // int32 end_day = 2;
  if (this->_internal_end_day() != 0) {
    total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(
        this->_internal_end_day());
  }

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

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

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

  if (from._internal_start_day() != 0) {
    _this->_internal_set_start_day(from._internal_start_day());
  }
  if (from._internal_end_day() != 0) {
    _this->_internal_set_end_day(from._internal_end_day());
  }
  _this->_internal_metadata_.MergeFrom<std::string>(from._internal_metadata_);
}

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

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

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

std::string Trigger_FixedDaysOfMonth::GetTypeName() const {
  return "keyapis.telemetry_alerting.v1.Trigger.FixedDaysOfMonth";
}

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

class Trigger_Alert::_Internal {
 public:
  using HasBits = decltype(std::declval<Trigger_Alert>()._impl_._has_bits_);
  static constexpr ::int32_t kHasBitsOffset =
    8 * PROTOBUF_FIELD_OFFSET(Trigger_Alert, _impl_._has_bits_);
  static const ::PROTOBUF_NAMESPACE_ID::Timestamp& changed_at(const Trigger_Alert* msg);
  static void set_has_changed_at(HasBits* has_bits) {
    (*has_bits)[0] |= 1u;
  }
  static const ::PROTOBUF_NAMESPACE_ID::Timestamp& raised_at(const Trigger_Alert* msg);
  static void set_has_raised_at(HasBits* has_bits) {
    (*has_bits)[0] |= 2u;
  }
  static const ::PROTOBUF_NAMESPACE_ID::Int32Value& device_parent_id(const Trigger_Alert* msg);
  static void set_has_device_parent_id(HasBits* has_bits) {
    (*has_bits)[0] |= 4u;
  }
  static const ::PROTOBUF_NAMESPACE_ID::Timestamp& closed_at(const Trigger_Alert* msg);
  static void set_has_closed_at(HasBits* has_bits) {
    (*has_bits)[0] |= 8u;
  }
  static const ::PROTOBUF_NAMESPACE_ID::StringValue& closing_reason(const Trigger_Alert* msg);
  static void set_has_closing_reason(HasBits* has_bits) {
    (*has_bits)[0] |= 16u;
  }
};

const ::PROTOBUF_NAMESPACE_ID::Timestamp&
Trigger_Alert::_Internal::changed_at(const Trigger_Alert* msg) {
  return *msg->_impl_.changed_at_;
}
const ::PROTOBUF_NAMESPACE_ID::Timestamp&
Trigger_Alert::_Internal::raised_at(const Trigger_Alert* msg) {
  return *msg->_impl_.raised_at_;
}
const ::PROTOBUF_NAMESPACE_ID::Int32Value&
Trigger_Alert::_Internal::device_parent_id(const Trigger_Alert* msg) {
  return *msg->_impl_.device_parent_id_;
}
const ::PROTOBUF_NAMESPACE_ID::Timestamp&
Trigger_Alert::_Internal::closed_at(const Trigger_Alert* msg) {
  return *msg->_impl_.closed_at_;
}
const ::PROTOBUF_NAMESPACE_ID::StringValue&
Trigger_Alert::_Internal::closing_reason(const Trigger_Alert* msg) {
  return *msg->_impl_.closing_reason_;
}
void Trigger_Alert::clear_changed_at() {
  if (_impl_.changed_at_ != nullptr) _impl_.changed_at_->Clear();
  _impl_._has_bits_[0] &= ~0x00000001u;
}
void Trigger_Alert::clear_raised_at() {
  if (_impl_.raised_at_ != nullptr) _impl_.raised_at_->Clear();
  _impl_._has_bits_[0] &= ~0x00000002u;
}
void Trigger_Alert::clear_device_parent_id() {
  if (_impl_.device_parent_id_ != nullptr) _impl_.device_parent_id_->Clear();
  _impl_._has_bits_[0] &= ~0x00000004u;
}
void Trigger_Alert::clear_closed_at() {
  if (_impl_.closed_at_ != nullptr) _impl_.closed_at_->Clear();
  _impl_._has_bits_[0] &= ~0x00000008u;
}
void Trigger_Alert::clear_closing_reason() {
  if (_impl_.closing_reason_ != nullptr) _impl_.closing_reason_->Clear();
  _impl_._has_bits_[0] &= ~0x00000010u;
}
Trigger_Alert::Trigger_Alert(::PROTOBUF_NAMESPACE_ID::Arena* arena)
  : ::PROTOBUF_NAMESPACE_ID::MessageLite(arena) {
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:keyapis.telemetry_alerting.v1.Trigger.Alert)
}
Trigger_Alert::Trigger_Alert(const Trigger_Alert& from)
  : ::PROTOBUF_NAMESPACE_ID::MessageLite() {
  Trigger_Alert* const _this = this; (void)_this;
  new (&_impl_) Impl_{
      decltype(_impl_._has_bits_){from._impl_._has_bits_}
    , /*decltype(_impl_._cached_size_)*/{}
    , decltype(_impl_.trigger_metric_types_) { from._internal_trigger_metric_types() }
    , /*decltype(_impl_._trigger_metric_types_cached_byte_size_)*/ { 0 }

    , decltype(_impl_.device_models_){from._impl_.device_models_}
    , decltype(_impl_.trigger_device_types_) { from._internal_trigger_device_types() }
    , /*decltype(_impl_._trigger_device_types_cached_byte_size_)*/ { 0 }

    , decltype(_impl_.fias_id_) {}

    , decltype(_impl_.changed_at_){nullptr}
    , decltype(_impl_.raised_at_){nullptr}
    , decltype(_impl_.device_parent_id_){nullptr}
    , decltype(_impl_.closed_at_){nullptr}
    , decltype(_impl_.closing_reason_){nullptr}
    , decltype(_impl_.id_) {}

    , decltype(_impl_.trigger_id_) {}

    , decltype(_impl_.no_alarm_checks_count_) {}

    , decltype(_impl_.is_disabled_) {}

    , decltype(_impl_.is_manually_closed_) {}

    , decltype(_impl_.trigger_metric_grouping_type_) {}
  };

  _internal_metadata_.MergeFrom<std::string>(from._internal_metadata_);
  _impl_.fias_id_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
        _impl_.fias_id_.Set("", GetArenaForAllocation());
  #endif  // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (!from._internal_fias_id().empty()) {
    _this->_impl_.fias_id_.Set(from._internal_fias_id(), _this->GetArenaForAllocation());
  }
  if ((from._impl_._has_bits_[0] & 0x00000001u) != 0) {
    _this->_impl_.changed_at_ = new ::PROTOBUF_NAMESPACE_ID::Timestamp(*from._impl_.changed_at_);
  }
  if ((from._impl_._has_bits_[0] & 0x00000002u) != 0) {
    _this->_impl_.raised_at_ = new ::PROTOBUF_NAMESPACE_ID::Timestamp(*from._impl_.raised_at_);
  }
  if ((from._impl_._has_bits_[0] & 0x00000004u) != 0) {
    _this->_impl_.device_parent_id_ = new ::PROTOBUF_NAMESPACE_ID::Int32Value(*from._impl_.device_parent_id_);
  }
  if ((from._impl_._has_bits_[0] & 0x00000008u) != 0) {
    _this->_impl_.closed_at_ = new ::PROTOBUF_NAMESPACE_ID::Timestamp(*from._impl_.closed_at_);
  }
  if ((from._impl_._has_bits_[0] & 0x00000010u) != 0) {
    _this->_impl_.closing_reason_ = new ::PROTOBUF_NAMESPACE_ID::StringValue(*from._impl_.closing_reason_);
  }
  ::memcpy(&_impl_.id_, &from._impl_.id_,
    static_cast<::size_t>(reinterpret_cast<char*>(&_impl_.trigger_metric_grouping_type_) -
    reinterpret_cast<char*>(&_impl_.id_)) + sizeof(_impl_.trigger_metric_grouping_type_));
  // @@protoc_insertion_point(copy_constructor:keyapis.telemetry_alerting.v1.Trigger.Alert)
}

inline void Trigger_Alert::SharedCtor(::_pb::Arena* arena) {
  (void)arena;
  new (&_impl_) Impl_{
      decltype(_impl_._has_bits_){}
    , /*decltype(_impl_._cached_size_)*/{}
    , decltype(_impl_.trigger_metric_types_) { arena }
    , /*decltype(_impl_._trigger_metric_types_cached_byte_size_)*/ { 0 }

    , decltype(_impl_.device_models_){arena}
    , decltype(_impl_.trigger_device_types_) { arena }
    , /*decltype(_impl_._trigger_device_types_cached_byte_size_)*/ { 0 }

    , decltype(_impl_.fias_id_) {}

    , decltype(_impl_.changed_at_){nullptr}
    , decltype(_impl_.raised_at_){nullptr}
    , decltype(_impl_.device_parent_id_){nullptr}
    , decltype(_impl_.closed_at_){nullptr}
    , decltype(_impl_.closing_reason_){nullptr}
    , decltype(_impl_.id_) { 0 }

    , decltype(_impl_.trigger_id_) { 0 }

    , decltype(_impl_.no_alarm_checks_count_) { 0 }

    , decltype(_impl_.is_disabled_) { false }

    , decltype(_impl_.is_manually_closed_) { false }

    , decltype(_impl_.trigger_metric_grouping_type_) { 0 }

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

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

inline void Trigger_Alert::SharedDtor() {
  ABSL_DCHECK(GetArenaForAllocation() == nullptr);
  _internal_mutable_trigger_metric_types()->~RepeatedField();
  _internal_mutable_device_models()->~RepeatedPtrField();
  _internal_mutable_trigger_device_types()->~RepeatedField();
  _impl_.fias_id_.Destroy();
  if (this != internal_default_instance()) delete _impl_.changed_at_;
  if (this != internal_default_instance()) delete _impl_.raised_at_;
  if (this != internal_default_instance()) delete _impl_.device_parent_id_;
  if (this != internal_default_instance()) delete _impl_.closed_at_;
  if (this != internal_default_instance()) delete _impl_.closing_reason_;
}

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

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

  _internal_mutable_trigger_metric_types()->Clear();
  _internal_mutable_device_models()->Clear();
  _internal_mutable_trigger_device_types()->Clear();
  _impl_.fias_id_.ClearToEmpty();
  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x0000001fu) {
    if (cached_has_bits & 0x00000001u) {
      ABSL_DCHECK(_impl_.changed_at_ != nullptr);
      _impl_.changed_at_->Clear();
    }
    if (cached_has_bits & 0x00000002u) {
      ABSL_DCHECK(_impl_.raised_at_ != nullptr);
      _impl_.raised_at_->Clear();
    }
    if (cached_has_bits & 0x00000004u) {
      ABSL_DCHECK(_impl_.device_parent_id_ != nullptr);
      _impl_.device_parent_id_->Clear();
    }
    if (cached_has_bits & 0x00000008u) {
      ABSL_DCHECK(_impl_.closed_at_ != nullptr);
      _impl_.closed_at_->Clear();
    }
    if (cached_has_bits & 0x00000010u) {
      ABSL_DCHECK(_impl_.closing_reason_ != nullptr);
      _impl_.closing_reason_->Clear();
    }
  }
  ::memset(&_impl_.id_, 0, static_cast<::size_t>(
      reinterpret_cast<char*>(&_impl_.trigger_metric_grouping_type_) -
      reinterpret_cast<char*>(&_impl_.id_)) + sizeof(_impl_.trigger_metric_grouping_type_));
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<std::string>();
}

const char* Trigger_Alert::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  _Internal::HasBits has_bits{};
  while (!ctx->Done(&ptr)) {
    ::uint32_t tag;
    ptr = ::_pbi::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // int32 id = 1 [(.google.api.field_behavior) = OUTPUT_ONLY];
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::uint8_t>(tag) == 8)) {
          _impl_.id_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
        } else {
          goto handle_unusual;
        }
        continue;
      // .google.protobuf.Timestamp changed_at = 2 [(.google.api.field_behavior) = OUTPUT_ONLY];
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::uint8_t>(tag) == 18)) {
          ptr = ctx->ParseMessage(_internal_mutable_changed_at(), ptr);
          CHK_(ptr);
        } else {
          goto handle_unusual;
        }
        continue;
      // int32 trigger_id = 3 [(.google.api.field_behavior) = REQUIRED];
      case 3:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::uint8_t>(tag) == 24)) {
          _impl_.trigger_id_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
        } else {
          goto handle_unusual;
        }
        continue;
      // string fias_id = 4 [(.google.api.field_behavior) = REQUIRED];
      case 4:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::uint8_t>(tag) == 34)) {
          auto str = _internal_mutable_fias_id();
          ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(ptr);
          CHK_(::_pbi::VerifyUTF8(str, nullptr));
        } else {
          goto handle_unusual;
        }
        continue;
      // .google.protobuf.Timestamp raised_at = 5 [(.google.api.field_behavior) = REQUIRED];
      case 5:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::uint8_t>(tag) == 42)) {
          ptr = ctx->ParseMessage(_internal_mutable_raised_at(), ptr);
          CHK_(ptr);
        } else {
          goto handle_unusual;
        }
        continue;
      // bool is_disabled = 6 [(.google.api.field_behavior) = REQUIRED];
      case 6:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::uint8_t>(tag) == 48)) {
          _impl_.is_disabled_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else {
          goto handle_unusual;
        }
        continue;
      // int32 no_alarm_checks_count = 7 [(.google.api.field_behavior) = REQUIRED];
      case 7:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::uint8_t>(tag) == 56)) {
          _impl_.no_alarm_checks_count_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
        } else {
          goto handle_unusual;
        }
        continue;
      // repeated .keyapis.telemetry_alerting.v1.Trigger.MetricType trigger_metric_types = 8;
      case 8:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::uint8_t>(tag) == 66)) {
          ptr = ::PROTOBUF_NAMESPACE_ID::internal::PackedEnumParser(_internal_mutable_trigger_metric_types(), ptr, ctx);
          CHK_(ptr);
        } else if (static_cast<::uint8_t>(tag) == 64) {
          ::int32_t val = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
          _internal_add_trigger_metric_types(static_cast<::keyapis::telemetry_alerting::v1::Trigger_MetricType>(val));
        } else {
          goto handle_unusual;
        }
        continue;
      // repeated string device_models = 9;
      case 9:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::uint8_t>(tag) == 74)) {
          ptr -= 1;
          do {
            ptr += 1;
            auto str = _internal_add_device_models();
            ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx);
            CHK_(ptr);
            CHK_(::_pbi::VerifyUTF8(str, nullptr));
            if (!ctx->DataAvailable(ptr)) break;
          } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<74>(ptr));
        } else {
          goto handle_unusual;
        }
        continue;
      // repeated .keyapis.telemetry_alerting.v1.Trigger.DeviceType trigger_device_types = 10;
      case 10:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::uint8_t>(tag) == 82)) {
          ptr = ::PROTOBUF_NAMESPACE_ID::internal::PackedEnumParser(_internal_mutable_trigger_device_types(), ptr, ctx);
          CHK_(ptr);
        } else if (static_cast<::uint8_t>(tag) == 80) {
          ::int32_t val = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
          _internal_add_trigger_device_types(static_cast<::keyapis::telemetry_alerting::v1::Trigger_DeviceType>(val));
        } else {
          goto handle_unusual;
        }
        continue;
      // .google.protobuf.Int32Value device_parent_id = 11;
      case 11:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::uint8_t>(tag) == 90)) {
          ptr = ctx->ParseMessage(_internal_mutable_device_parent_id(), ptr);
          CHK_(ptr);
        } else {
          goto handle_unusual;
        }
        continue;
      // .google.protobuf.Timestamp closed_at = 12;
      case 12:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::uint8_t>(tag) == 98)) {
          ptr = ctx->ParseMessage(_internal_mutable_closed_at(), ptr);
          CHK_(ptr);
        } else {
          goto handle_unusual;
        }
        continue;
      // bool is_manually_closed = 13;
      case 13:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::uint8_t>(tag) == 104)) {
          _impl_.is_manually_closed_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else {
          goto handle_unusual;
        }
        continue;
      // .google.protobuf.StringValue closing_reason = 14;
      case 14:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::uint8_t>(tag) == 114)) {
          ptr = ctx->ParseMessage(_internal_mutable_closing_reason(), ptr);
          CHK_(ptr);
        } else {
          goto handle_unusual;
        }
        continue;
      // .keyapis.telemetry_alerting.v1.Trigger.MetricGroupingType trigger_metric_grouping_type = 15;
      case 15:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::uint8_t>(tag) == 120)) {
          ::int32_t val = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
          _internal_set_trigger_metric_grouping_type(static_cast<::keyapis::telemetry_alerting::v1::Trigger_MetricGroupingType>(val));
        } else {
          goto handle_unusual;
        }
        continue;
      default:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<std::string>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  _impl_._has_bits_.Or(has_bits);
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

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

  // int32 id = 1 [(.google.api.field_behavior) = OUTPUT_ONLY];
  if (this->_internal_id() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteInt32ToArray(
        1, this->_internal_id(), target);
  }

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

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

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

  // .google.protobuf.Timestamp raised_at = 5 [(.google.api.field_behavior) = REQUIRED];
  if (cached_has_bits & 0x00000002u) {
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(5, _Internal::raised_at(this),
        _Internal::raised_at(this).GetCachedSize(), target, stream);
  }

  // bool is_disabled = 6 [(.google.api.field_behavior) = REQUIRED];
  if (this->_internal_is_disabled() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(
        6, this->_internal_is_disabled(), target);
  }

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

  // repeated .keyapis.telemetry_alerting.v1.Trigger.MetricType trigger_metric_types = 8;
  {
    int byte_size = _impl_._trigger_metric_types_cached_byte_size_.Get();
    if (byte_size > 0) {
      target = stream->WriteEnumPacked(8, _internal_trigger_metric_types(),
                                       byte_size, target);
    }
  }

  // repeated string device_models = 9;
  for (int i = 0, n = this->_internal_device_models_size(); i < n; ++i) {
    const auto& s = this->_internal_device_models(i);
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(
        s.data(), static_cast<int>(s.length()), ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE, "keyapis.telemetry_alerting.v1.Trigger.Alert.device_models");
    target = stream->WriteString(9, s, target);
  }

  // repeated .keyapis.telemetry_alerting.v1.Trigger.DeviceType trigger_device_types = 10;
  {
    int byte_size = _impl_._trigger_device_types_cached_byte_size_.Get();
    if (byte_size > 0) {
      target = stream->WriteEnumPacked(10, _internal_trigger_device_types(),
                                       byte_size, target);
    }
  }

  // .google.protobuf.Int32Value device_parent_id = 11;
  if (cached_has_bits & 0x00000004u) {
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(11, _Internal::device_parent_id(this),
        _Internal::device_parent_id(this).GetCachedSize(), target, stream);
  }

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

  // bool is_manually_closed = 13;
  if (this->_internal_is_manually_closed() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(
        13, this->_internal_is_manually_closed(), target);
  }

  // .google.protobuf.StringValue closing_reason = 14;
  if (cached_has_bits & 0x00000010u) {
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(14, _Internal::closing_reason(this),
        _Internal::closing_reason(this).GetCachedSize(), target, stream);
  }

  // .keyapis.telemetry_alerting.v1.Trigger.MetricGroupingType trigger_metric_grouping_type = 15;
  if (this->_internal_trigger_metric_grouping_type() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteEnumToArray(
        15, this->_internal_trigger_metric_grouping_type(), target);
  }

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

::size_t Trigger_Alert::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:keyapis.telemetry_alerting.v1.Trigger.Alert)
  ::size_t total_size = 0;

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

  // repeated .keyapis.telemetry_alerting.v1.Trigger.MetricType trigger_metric_types = 8;
  {
    std::size_t data_size = 0;
    auto count = static_cast<std::size_t>(this->_internal_trigger_metric_types_size());

    for (std::size_t i = 0; i < count; ++i) {
      data_size += ::_pbi::WireFormatLite::EnumSize(
          this->_internal_trigger_metric_types(static_cast<int>(i)));
    }
    total_size += data_size;
    if (data_size > 0) {
      total_size += 1;
      total_size += ::_pbi::WireFormatLite::Int32Size(
          static_cast<int32_t>(data_size));
    }
    _impl_._trigger_metric_types_cached_byte_size_.Set(::_pbi::ToCachedSize(data_size));
  }

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

  // repeated .keyapis.telemetry_alerting.v1.Trigger.DeviceType trigger_device_types = 10;
  {
    std::size_t data_size = 0;
    auto count = static_cast<std::size_t>(this->_internal_trigger_device_types_size());

    for (std::size_t i = 0; i < count; ++i) {
      data_size += ::_pbi::WireFormatLite::EnumSize(
          this->_internal_trigger_device_types(static_cast<int>(i)));
    }
    total_size += data_size;
    if (data_size > 0) {
      total_size += 1;
      total_size += ::_pbi::WireFormatLite::Int32Size(
          static_cast<int32_t>(data_size));
    }
    _impl_._trigger_device_types_cached_byte_size_.Set(::_pbi::ToCachedSize(data_size));
  }

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

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

    // .google.protobuf.Timestamp raised_at = 5 [(.google.api.field_behavior) = REQUIRED];
    if (cached_has_bits & 0x00000002u) {
      total_size += 1 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
          *_impl_.raised_at_);
    }

    // .google.protobuf.Int32Value device_parent_id = 11;
    if (cached_has_bits & 0x00000004u) {
      total_size += 1 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
          *_impl_.device_parent_id_);
    }

    // .google.protobuf.Timestamp closed_at = 12;
    if (cached_has_bits & 0x00000008u) {
      total_size += 1 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
          *_impl_.closed_at_);
    }

    // .google.protobuf.StringValue closing_reason = 14;
    if (cached_has_bits & 0x00000010u) {
      total_size += 1 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
          *_impl_.closing_reason_);
    }

  }
  // int32 id = 1 [(.google.api.field_behavior) = OUTPUT_ONLY];
  if (this->_internal_id() != 0) {
    total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(
        this->_internal_id());
  }

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

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

  // bool is_disabled = 6 [(.google.api.field_behavior) = REQUIRED];
  if (this->_internal_is_disabled() != 0) {
    total_size += 2;
  }

  // bool is_manually_closed = 13;
  if (this->_internal_is_manually_closed() != 0) {
    total_size += 2;
  }

  // .keyapis.telemetry_alerting.v1.Trigger.MetricGroupingType trigger_metric_grouping_type = 15;
  if (this->_internal_trigger_metric_grouping_type() != 0) {
    total_size += 1 +
                  ::_pbi::WireFormatLite::EnumSize(this->_internal_trigger_metric_grouping_type());
  }

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

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

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

  _this->_internal_mutable_trigger_metric_types()->MergeFrom(from._internal_trigger_metric_types());
  _this->_internal_mutable_device_models()->MergeFrom(from._internal_device_models());
  _this->_internal_mutable_trigger_device_types()->MergeFrom(from._internal_trigger_device_types());
  if (!from._internal_fias_id().empty()) {
    _this->_internal_set_fias_id(from._internal_fias_id());
  }
  cached_has_bits = from._impl_._has_bits_[0];
  if (cached_has_bits & 0x0000001fu) {
    if (cached_has_bits & 0x00000001u) {
      _this->_internal_mutable_changed_at()->::PROTOBUF_NAMESPACE_ID::Timestamp::MergeFrom(
          from._internal_changed_at());
    }
    if (cached_has_bits & 0x00000002u) {
      _this->_internal_mutable_raised_at()->::PROTOBUF_NAMESPACE_ID::Timestamp::MergeFrom(
          from._internal_raised_at());
    }
    if (cached_has_bits & 0x00000004u) {
      _this->_internal_mutable_device_parent_id()->::PROTOBUF_NAMESPACE_ID::Int32Value::MergeFrom(
          from._internal_device_parent_id());
    }
    if (cached_has_bits & 0x00000008u) {
      _this->_internal_mutable_closed_at()->::PROTOBUF_NAMESPACE_ID::Timestamp::MergeFrom(
          from._internal_closed_at());
    }
    if (cached_has_bits & 0x00000010u) {
      _this->_internal_mutable_closing_reason()->::PROTOBUF_NAMESPACE_ID::StringValue::MergeFrom(
          from._internal_closing_reason());
    }
  }
  if (from._internal_id() != 0) {
    _this->_internal_set_id(from._internal_id());
  }
  if (from._internal_trigger_id() != 0) {
    _this->_internal_set_trigger_id(from._internal_trigger_id());
  }
  if (from._internal_no_alarm_checks_count() != 0) {
    _this->_internal_set_no_alarm_checks_count(from._internal_no_alarm_checks_count());
  }
  if (from._internal_is_disabled() != 0) {
    _this->_internal_set_is_disabled(from._internal_is_disabled());
  }
  if (from._internal_is_manually_closed() != 0) {
    _this->_internal_set_is_manually_closed(from._internal_is_manually_closed());
  }
  if (from._internal_trigger_metric_grouping_type() != 0) {
    _this->_internal_set_trigger_metric_grouping_type(from._internal_trigger_metric_grouping_type());
  }
  _this->_internal_metadata_.MergeFrom<std::string>(from._internal_metadata_);
}

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

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

void Trigger_Alert::InternalSwap(Trigger_Alert* other) {
  using std::swap;
  auto* lhs_arena = GetArenaForAllocation();
  auto* rhs_arena = other->GetArenaForAllocation();
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  _internal_mutable_trigger_metric_types()->InternalSwap(
      other->_internal_mutable_trigger_metric_types());
  _internal_mutable_device_models()->InternalSwap(
      other->_internal_mutable_device_models());
  _internal_mutable_trigger_device_types()->InternalSwap(
      other->_internal_mutable_trigger_device_types());
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.fias_id_, lhs_arena,
                                       &other->_impl_.fias_id_, rhs_arena);
  ::PROTOBUF_NAMESPACE_ID::internal::memswap<
      PROTOBUF_FIELD_OFFSET(Trigger_Alert, _impl_.trigger_metric_grouping_type_)
      + sizeof(Trigger_Alert::_impl_.trigger_metric_grouping_type_)
      - PROTOBUF_FIELD_OFFSET(Trigger_Alert, _impl_.changed_at_)>(
          reinterpret_cast<char*>(&_impl_.changed_at_),
          reinterpret_cast<char*>(&other->_impl_.changed_at_));
}

std::string Trigger_Alert::GetTypeName() const {
  return "keyapis.telemetry_alerting.v1.Trigger.Alert";
}

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

class Trigger::_Internal {
 public:
  using HasBits = decltype(std::declval<Trigger>()._impl_._has_bits_);
  static constexpr ::int32_t kHasBitsOffset =
    8 * PROTOBUF_FIELD_OFFSET(Trigger, _impl_._has_bits_);
  static constexpr ::int32_t kOneofCaseOffset =
    PROTOBUF_FIELD_OFFSET(::keyapis::telemetry_alerting::v1::Trigger, _impl_._oneof_case_);
  static const ::PROTOBUF_NAMESPACE_ID::Timestamp& changed_at(const Trigger* msg);
  static void set_has_changed_at(HasBits* has_bits) {
    (*has_bits)[0] |= 1u;
  }
  static const ::keyapis::telemetry_alerting::v1::Trigger_FixedDaysOfMonth& fixed_days_range(const Trigger* msg);
  static const ::PROTOBUF_NAMESPACE_ID::StringValue& instruction(const Trigger* msg);
  static void set_has_instruction(HasBits* has_bits) {
    (*has_bits)[0] |= 2u;
  }
};

const ::PROTOBUF_NAMESPACE_ID::Timestamp&
Trigger::_Internal::changed_at(const Trigger* msg) {
  return *msg->_impl_.changed_at_;
}
const ::keyapis::telemetry_alerting::v1::Trigger_FixedDaysOfMonth&
Trigger::_Internal::fixed_days_range(const Trigger* msg) {
  return *msg->_impl_.range_.fixed_days_range_;
}
const ::PROTOBUF_NAMESPACE_ID::StringValue&
Trigger::_Internal::instruction(const Trigger* msg) {
  return *msg->_impl_.instruction_;
}
void Trigger::clear_changed_at() {
  if (_impl_.changed_at_ != nullptr) _impl_.changed_at_->Clear();
  _impl_._has_bits_[0] &= ~0x00000001u;
}
void Trigger::set_allocated_fixed_days_range(::keyapis::telemetry_alerting::v1::Trigger_FixedDaysOfMonth* fixed_days_range) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation();
  clear_range();
  if (fixed_days_range) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(fixed_days_range);
    if (message_arena != submessage_arena) {
      fixed_days_range = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, fixed_days_range, submessage_arena);
    }
    set_has_fixed_days_range();
    _impl_.range_.fixed_days_range_ = fixed_days_range;
  }
  // @@protoc_insertion_point(field_set_allocated:keyapis.telemetry_alerting.v1.Trigger.fixed_days_range)
}
void Trigger::clear_instruction() {
  if (_impl_.instruction_ != nullptr) _impl_.instruction_->Clear();
  _impl_._has_bits_[0] &= ~0x00000002u;
}
Trigger::Trigger(::PROTOBUF_NAMESPACE_ID::Arena* arena)
  : ::PROTOBUF_NAMESPACE_ID::MessageLite(arena) {
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:keyapis.telemetry_alerting.v1.Trigger)
}
Trigger::Trigger(const Trigger& from)
  : ::PROTOBUF_NAMESPACE_ID::MessageLite() {
  Trigger* const _this = this; (void)_this;
  new (&_impl_) Impl_{
      decltype(_impl_._has_bits_){from._impl_._has_bits_}
    , /*decltype(_impl_._cached_size_)*/{}
    , decltype(_impl_.metric_types_) { from._internal_metric_types() }
    , /*decltype(_impl_._metric_types_cached_byte_size_)*/ { 0 }

    , decltype(_impl_.device_models_){from._impl_.device_models_}
    , decltype(_impl_.device_types_) { from._internal_device_types() }
    , /*decltype(_impl_._device_types_cached_byte_size_)*/ { 0 }

    , decltype(_impl_.tags_){from._impl_.tags_}
    , decltype(_impl_.title_) {}

    , decltype(_impl_.changed_at_){nullptr}
    , decltype(_impl_.instruction_){nullptr}
    , decltype(_impl_.id_) {}

    , decltype(_impl_.criteria_type_) {}

    , decltype(_impl_.threshold_) {}

    , decltype(_impl_.period_type_) {}

    , decltype(_impl_.severity_type_) {}

    , decltype(_impl_.metric_grouping_type_) {}

    , decltype(_impl_.is_disabled_) {}

    , decltype(_impl_.is_manually_unclosable_) {}

    , decltype(_impl_.is_range_metric_expected_freq_) {}

    , decltype(_impl_.success_threshold_) {}

    , decltype(_impl_.range_){}
    , /*decltype(_impl_._oneof_case_)*/{}};

  _internal_metadata_.MergeFrom<std::string>(from._internal_metadata_);
  _impl_.title_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
        _impl_.title_.Set("", GetArenaForAllocation());
  #endif  // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (!from._internal_title().empty()) {
    _this->_impl_.title_.Set(from._internal_title(), _this->GetArenaForAllocation());
  }
  if ((from._impl_._has_bits_[0] & 0x00000001u) != 0) {
    _this->_impl_.changed_at_ = new ::PROTOBUF_NAMESPACE_ID::Timestamp(*from._impl_.changed_at_);
  }
  if ((from._impl_._has_bits_[0] & 0x00000002u) != 0) {
    _this->_impl_.instruction_ = new ::PROTOBUF_NAMESPACE_ID::StringValue(*from._impl_.instruction_);
  }
  ::memcpy(&_impl_.id_, &from._impl_.id_,
    static_cast<::size_t>(reinterpret_cast<char*>(&_impl_.success_threshold_) -
    reinterpret_cast<char*>(&_impl_.id_)) + sizeof(_impl_.success_threshold_));
  clear_has_range();
  switch (from.range_case()) {
    case kSlidingDays: {
      _this->_internal_set_sliding_days(from._internal_sliding_days());
      break;
    }
    case kFixedDaysRange: {
      _this->_internal_mutable_fixed_days_range()->::keyapis::telemetry_alerting::v1::Trigger_FixedDaysOfMonth::MergeFrom(
          from._internal_fixed_days_range());
      break;
    }
    case RANGE_NOT_SET: {
      break;
    }
  }
  // @@protoc_insertion_point(copy_constructor:keyapis.telemetry_alerting.v1.Trigger)
}

inline void Trigger::SharedCtor(::_pb::Arena* arena) {
  (void)arena;
  new (&_impl_) Impl_{
      decltype(_impl_._has_bits_){}
    , /*decltype(_impl_._cached_size_)*/{}
    , decltype(_impl_.metric_types_) { arena }
    , /*decltype(_impl_._metric_types_cached_byte_size_)*/ { 0 }

    , decltype(_impl_.device_models_){arena}
    , decltype(_impl_.device_types_) { arena }
    , /*decltype(_impl_._device_types_cached_byte_size_)*/ { 0 }

    , decltype(_impl_.tags_){arena}
    , decltype(_impl_.title_) {}

    , decltype(_impl_.changed_at_){nullptr}
    , decltype(_impl_.instruction_){nullptr}
    , decltype(_impl_.id_) { 0 }

    , decltype(_impl_.criteria_type_) { 0 }

    , decltype(_impl_.threshold_) { 0 }

    , decltype(_impl_.period_type_) { 0 }

    , decltype(_impl_.severity_type_) { 0 }

    , decltype(_impl_.metric_grouping_type_) { 0 }

    , decltype(_impl_.is_disabled_) { false }

    , decltype(_impl_.is_manually_unclosable_) { false }

    , decltype(_impl_.is_range_metric_expected_freq_) { false }

    , decltype(_impl_.success_threshold_) { 0 }

    , decltype(_impl_.range_){}
    , /*decltype(_impl_._oneof_case_)*/{}
  };
  _impl_.title_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
        _impl_.title_.Set("", GetArenaForAllocation());
  #endif  // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  clear_has_range();
}

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

inline void Trigger::SharedDtor() {
  ABSL_DCHECK(GetArenaForAllocation() == nullptr);
  _internal_mutable_metric_types()->~RepeatedField();
  _internal_mutable_device_models()->~RepeatedPtrField();
  _internal_mutable_device_types()->~RepeatedField();
  _internal_mutable_tags()->~RepeatedPtrField();
  _impl_.title_.Destroy();
  if (this != internal_default_instance()) delete _impl_.changed_at_;
  if (this != internal_default_instance()) delete _impl_.instruction_;
  if (has_range()) {
    clear_range();
  }
}

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

void Trigger::clear_range() {
// @@protoc_insertion_point(one_of_clear_start:keyapis.telemetry_alerting.v1.Trigger)
  switch (range_case()) {
    case kSlidingDays: {
      // No need to clear
      break;
    }
    case kFixedDaysRange: {
      if (GetArenaForAllocation() == nullptr) {
        delete _impl_.range_.fixed_days_range_;
      }
      break;
    }
    case RANGE_NOT_SET: {
      break;
    }
  }
  _impl_._oneof_case_[0] = RANGE_NOT_SET;
}


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

  _internal_mutable_metric_types()->Clear();
  _internal_mutable_device_models()->Clear();
  _internal_mutable_device_types()->Clear();
  _internal_mutable_tags()->Clear();
  _impl_.title_.ClearToEmpty();
  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000003u) {
    if (cached_has_bits & 0x00000001u) {
      ABSL_DCHECK(_impl_.changed_at_ != nullptr);
      _impl_.changed_at_->Clear();
    }
    if (cached_has_bits & 0x00000002u) {
      ABSL_DCHECK(_impl_.instruction_ != nullptr);
      _impl_.instruction_->Clear();
    }
  }
  ::memset(&_impl_.id_, 0, static_cast<::size_t>(
      reinterpret_cast<char*>(&_impl_.success_threshold_) -
      reinterpret_cast<char*>(&_impl_.id_)) + sizeof(_impl_.success_threshold_));
  clear_range();
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<std::string>();
}

const char* Trigger::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  _Internal::HasBits has_bits{};
  while (!ctx->Done(&ptr)) {
    ::uint32_t tag;
    ptr = ::_pbi::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // int32 id = 1;
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::uint8_t>(tag) == 8)) {
          _impl_.id_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
        } else {
          goto handle_unusual;
        }
        continue;
      // .google.protobuf.Timestamp changed_at = 2 [(.google.api.field_behavior) = OUTPUT_ONLY];
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::uint8_t>(tag) == 18)) {
          ptr = ctx->ParseMessage(_internal_mutable_changed_at(), ptr);
          CHK_(ptr);
        } else {
          goto handle_unusual;
        }
        continue;
      // string title = 3 [(.google.api.field_behavior) = REQUIRED];
      case 3:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::uint8_t>(tag) == 26)) {
          auto str = _internal_mutable_title();
          ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(ptr);
          CHK_(::_pbi::VerifyUTF8(str, nullptr));
        } else {
          goto handle_unusual;
        }
        continue;
      // .keyapis.telemetry_alerting.v1.Trigger.CriteriaType criteria_type = 4 [(.google.api.field_behavior) = REQUIRED];
      case 4:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::uint8_t>(tag) == 32)) {
          ::int32_t val = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
          _internal_set_criteria_type(static_cast<::keyapis::telemetry_alerting::v1::Trigger_CriteriaType>(val));
        } else {
          goto handle_unusual;
        }
        continue;
      // float threshold = 5 [(.google.api.field_behavior) = REQUIRED];
      case 5:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::uint8_t>(tag) == 45)) {
          _impl_.threshold_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<float>(ptr);
          ptr += sizeof(float);
        } else {
          goto handle_unusual;
        }
        continue;
      // int32 sliding_days = 6;
      case 6:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::uint8_t>(tag) == 48)) {
          _internal_set_sliding_days(::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr));
          CHK_(ptr);
        } else {
          goto handle_unusual;
        }
        continue;
      // .keyapis.telemetry_alerting.v1.Trigger.FixedDaysOfMonth fixed_days_range = 7;
      case 7:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::uint8_t>(tag) == 58)) {
          ptr = ctx->ParseMessage(_internal_mutable_fixed_days_range(), ptr);
          CHK_(ptr);
        } else {
          goto handle_unusual;
        }
        continue;
      // .keyapis.telemetry_alerting.v1.Trigger.PeriodType period_type = 8 [(.google.api.field_behavior) = REQUIRED];
      case 8:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::uint8_t>(tag) == 64)) {
          ::int32_t val = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
          _internal_set_period_type(static_cast<::keyapis::telemetry_alerting::v1::Trigger_PeriodType>(val));
        } else {
          goto handle_unusual;
        }
        continue;
      // .keyapis.telemetry_alerting.v1.Trigger.SeverityType severity_type = 9 [(.google.api.field_behavior) = REQUIRED];
      case 9:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::uint8_t>(tag) == 72)) {
          ::int32_t val = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
          _internal_set_severity_type(static_cast<::keyapis::telemetry_alerting::v1::Trigger_SeverityType>(val));
        } else {
          goto handle_unusual;
        }
        continue;
      // bool is_disabled = 10 [(.google.api.field_behavior) = REQUIRED];
      case 10:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::uint8_t>(tag) == 80)) {
          _impl_.is_disabled_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else {
          goto handle_unusual;
        }
        continue;
      // .google.protobuf.StringValue instruction = 11;
      case 11:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::uint8_t>(tag) == 90)) {
          ptr = ctx->ParseMessage(_internal_mutable_instruction(), ptr);
          CHK_(ptr);
        } else {
          goto handle_unusual;
        }
        continue;
      // repeated .keyapis.telemetry_alerting.v1.Trigger.MetricType metric_types = 12;
      case 12:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::uint8_t>(tag) == 98)) {
          ptr = ::PROTOBUF_NAMESPACE_ID::internal::PackedEnumParser(_internal_mutable_metric_types(), ptr, ctx);
          CHK_(ptr);
        } else if (static_cast<::uint8_t>(tag) == 96) {
          ::int32_t val = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
          _internal_add_metric_types(static_cast<::keyapis::telemetry_alerting::v1::Trigger_MetricType>(val));
        } else {
          goto handle_unusual;
        }
        continue;
      // repeated string device_models = 13;
      case 13:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::uint8_t>(tag) == 106)) {
          ptr -= 1;
          do {
            ptr += 1;
            auto str = _internal_add_device_models();
            ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx);
            CHK_(ptr);
            CHK_(::_pbi::VerifyUTF8(str, nullptr));
            if (!ctx->DataAvailable(ptr)) break;
          } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<106>(ptr));
        } else {
          goto handle_unusual;
        }
        continue;
      // repeated .keyapis.telemetry_alerting.v1.Trigger.DeviceType device_types = 14;
      case 14:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::uint8_t>(tag) == 114)) {
          ptr = ::PROTOBUF_NAMESPACE_ID::internal::PackedEnumParser(_internal_mutable_device_types(), ptr, ctx);
          CHK_(ptr);
        } else if (static_cast<::uint8_t>(tag) == 112) {
          ::int32_t val = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
          _internal_add_device_types(static_cast<::keyapis::telemetry_alerting::v1::Trigger_DeviceType>(val));
        } else {
          goto handle_unusual;
        }
        continue;
      // .keyapis.telemetry_alerting.v1.Trigger.MetricGroupingType metric_grouping_type = 15;
      case 15:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::uint8_t>(tag) == 120)) {
          ::int32_t val = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
          _internal_set_metric_grouping_type(static_cast<::keyapis::telemetry_alerting::v1::Trigger_MetricGroupingType>(val));
        } else {
          goto handle_unusual;
        }
        continue;
      // int32 success_threshold = 16;
      case 16:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::uint8_t>(tag) == 128)) {
          _impl_.success_threshold_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
        } else {
          goto handle_unusual;
        }
        continue;
      // repeated string tags = 17;
      case 17:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::uint8_t>(tag) == 138)) {
          ptr -= 2;
          do {
            ptr += 2;
            auto str = _internal_add_tags();
            ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx);
            CHK_(ptr);
            CHK_(::_pbi::VerifyUTF8(str, nullptr));
            if (!ctx->DataAvailable(ptr)) break;
          } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<138>(ptr));
        } else {
          goto handle_unusual;
        }
        continue;
      // bool is_manually_unclosable = 18;
      case 18:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::uint8_t>(tag) == 144)) {
          _impl_.is_manually_unclosable_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else {
          goto handle_unusual;
        }
        continue;
      // bool is_range_metric_expected_freq = 19;
      case 19:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::uint8_t>(tag) == 152)) {
          _impl_.is_range_metric_expected_freq_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else {
          goto handle_unusual;
        }
        continue;
      default:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<std::string>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  _impl_._has_bits_.Or(has_bits);
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

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

  // int32 id = 1;
  if (this->_internal_id() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteInt32ToArray(
        1, this->_internal_id(), target);
  }

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

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

  // .keyapis.telemetry_alerting.v1.Trigger.CriteriaType criteria_type = 4 [(.google.api.field_behavior) = REQUIRED];
  if (this->_internal_criteria_type() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteEnumToArray(
        4, this->_internal_criteria_type(), target);
  }

  // float threshold = 5 [(.google.api.field_behavior) = REQUIRED];
  static_assert(sizeof(::uint32_t) == sizeof(float), "Code assumes ::uint32_t and float are the same size.");
  float tmp_threshold = this->_internal_threshold();
  ::uint32_t raw_threshold;
  memcpy(&raw_threshold, &tmp_threshold, sizeof(tmp_threshold));
  if (raw_threshold != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteFloatToArray(
        5, this->_internal_threshold(), target);
  }

  switch (range_case()) {
    case kSlidingDays: {
      target = stream->EnsureSpace(target);
      target = ::_pbi::WireFormatLite::WriteInt32ToArray(
          6, this->_internal_sliding_days(), target);
      break;
    }
    case kFixedDaysRange: {
      target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
        InternalWriteMessage(7, _Internal::fixed_days_range(this),
          _Internal::fixed_days_range(this).GetCachedSize(), target, stream);
      break;
    }
    default: ;
  }
  // .keyapis.telemetry_alerting.v1.Trigger.PeriodType period_type = 8 [(.google.api.field_behavior) = REQUIRED];
  if (this->_internal_period_type() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteEnumToArray(
        8, this->_internal_period_type(), target);
  }

  // .keyapis.telemetry_alerting.v1.Trigger.SeverityType severity_type = 9 [(.google.api.field_behavior) = REQUIRED];
  if (this->_internal_severity_type() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteEnumToArray(
        9, this->_internal_severity_type(), target);
  }

  // bool is_disabled = 10 [(.google.api.field_behavior) = REQUIRED];
  if (this->_internal_is_disabled() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(
        10, this->_internal_is_disabled(), target);
  }

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

  // repeated .keyapis.telemetry_alerting.v1.Trigger.MetricType metric_types = 12;
  {
    int byte_size = _impl_._metric_types_cached_byte_size_.Get();
    if (byte_size > 0) {
      target = stream->WriteEnumPacked(12, _internal_metric_types(),
                                       byte_size, target);
    }
  }

  // repeated string device_models = 13;
  for (int i = 0, n = this->_internal_device_models_size(); i < n; ++i) {
    const auto& s = this->_internal_device_models(i);
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(
        s.data(), static_cast<int>(s.length()), ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE, "keyapis.telemetry_alerting.v1.Trigger.device_models");
    target = stream->WriteString(13, s, target);
  }

  // repeated .keyapis.telemetry_alerting.v1.Trigger.DeviceType device_types = 14;
  {
    int byte_size = _impl_._device_types_cached_byte_size_.Get();
    if (byte_size > 0) {
      target = stream->WriteEnumPacked(14, _internal_device_types(),
                                       byte_size, target);
    }
  }

  // .keyapis.telemetry_alerting.v1.Trigger.MetricGroupingType metric_grouping_type = 15;
  if (this->_internal_metric_grouping_type() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteEnumToArray(
        15, this->_internal_metric_grouping_type(), target);
  }

  // int32 success_threshold = 16;
  if (this->_internal_success_threshold() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteInt32ToArray(
        16, this->_internal_success_threshold(), target);
  }

  // repeated string tags = 17;
  for (int i = 0, n = this->_internal_tags_size(); i < n; ++i) {
    const auto& s = this->_internal_tags(i);
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(
        s.data(), static_cast<int>(s.length()), ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE, "keyapis.telemetry_alerting.v1.Trigger.tags");
    target = stream->WriteString(17, s, target);
  }

  // bool is_manually_unclosable = 18;
  if (this->_internal_is_manually_unclosable() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(
        18, this->_internal_is_manually_unclosable(), target);
  }

  // bool is_range_metric_expected_freq = 19;
  if (this->_internal_is_range_metric_expected_freq() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(
        19, this->_internal_is_range_metric_expected_freq(), target);
  }

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

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

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

  // repeated .keyapis.telemetry_alerting.v1.Trigger.MetricType metric_types = 12;
  {
    std::size_t data_size = 0;
    auto count = static_cast<std::size_t>(this->_internal_metric_types_size());

    for (std::size_t i = 0; i < count; ++i) {
      data_size += ::_pbi::WireFormatLite::EnumSize(
          this->_internal_metric_types(static_cast<int>(i)));
    }
    total_size += data_size;
    if (data_size > 0) {
      total_size += 1;
      total_size += ::_pbi::WireFormatLite::Int32Size(
          static_cast<int32_t>(data_size));
    }
    _impl_._metric_types_cached_byte_size_.Set(::_pbi::ToCachedSize(data_size));
  }

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

  // repeated .keyapis.telemetry_alerting.v1.Trigger.DeviceType device_types = 14;
  {
    std::size_t data_size = 0;
    auto count = static_cast<std::size_t>(this->_internal_device_types_size());

    for (std::size_t i = 0; i < count; ++i) {
      data_size += ::_pbi::WireFormatLite::EnumSize(
          this->_internal_device_types(static_cast<int>(i)));
    }
    total_size += data_size;
    if (data_size > 0) {
      total_size += 1;
      total_size += ::_pbi::WireFormatLite::Int32Size(
          static_cast<int32_t>(data_size));
    }
    _impl_._device_types_cached_byte_size_.Set(::_pbi::ToCachedSize(data_size));
  }

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

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

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

    // .google.protobuf.StringValue instruction = 11;
    if (cached_has_bits & 0x00000002u) {
      total_size += 1 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
          *_impl_.instruction_);
    }

  }
  // int32 id = 1;
  if (this->_internal_id() != 0) {
    total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(
        this->_internal_id());
  }

  // .keyapis.telemetry_alerting.v1.Trigger.CriteriaType criteria_type = 4 [(.google.api.field_behavior) = REQUIRED];
  if (this->_internal_criteria_type() != 0) {
    total_size += 1 +
                  ::_pbi::WireFormatLite::EnumSize(this->_internal_criteria_type());
  }

  // float threshold = 5 [(.google.api.field_behavior) = REQUIRED];
  static_assert(sizeof(::uint32_t) == sizeof(float), "Code assumes ::uint32_t and float are the same size.");
  float tmp_threshold = this->_internal_threshold();
  ::uint32_t raw_threshold;
  memcpy(&raw_threshold, &tmp_threshold, sizeof(tmp_threshold));
  if (raw_threshold != 0) {
    total_size += 5;
  }

  // .keyapis.telemetry_alerting.v1.Trigger.PeriodType period_type = 8 [(.google.api.field_behavior) = REQUIRED];
  if (this->_internal_period_type() != 0) {
    total_size += 1 +
                  ::_pbi::WireFormatLite::EnumSize(this->_internal_period_type());
  }

  // .keyapis.telemetry_alerting.v1.Trigger.SeverityType severity_type = 9 [(.google.api.field_behavior) = REQUIRED];
  if (this->_internal_severity_type() != 0) {
    total_size += 1 +
                  ::_pbi::WireFormatLite::EnumSize(this->_internal_severity_type());
  }

  // .keyapis.telemetry_alerting.v1.Trigger.MetricGroupingType metric_grouping_type = 15;
  if (this->_internal_metric_grouping_type() != 0) {
    total_size += 1 +
                  ::_pbi::WireFormatLite::EnumSize(this->_internal_metric_grouping_type());
  }

  // bool is_disabled = 10 [(.google.api.field_behavior) = REQUIRED];
  if (this->_internal_is_disabled() != 0) {
    total_size += 2;
  }

  // bool is_manually_unclosable = 18;
  if (this->_internal_is_manually_unclosable() != 0) {
    total_size += 3;
  }

  // bool is_range_metric_expected_freq = 19;
  if (this->_internal_is_range_metric_expected_freq() != 0) {
    total_size += 3;
  }

  // int32 success_threshold = 16;
  if (this->_internal_success_threshold() != 0) {
    total_size += 2 + ::_pbi::WireFormatLite::Int32Size(
                                    this->_internal_success_threshold());
  }

  switch (range_case()) {
    // int32 sliding_days = 6;
    case kSlidingDays: {
      total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(
          this->_internal_sliding_days());
      break;
    }
    // .keyapis.telemetry_alerting.v1.Trigger.FixedDaysOfMonth fixed_days_range = 7;
    case kFixedDaysRange: {
      total_size += 1 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
          *_impl_.range_.fixed_days_range_);
      break;
    }
    case RANGE_NOT_SET: {
      break;
    }
  }
  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    total_size += _internal_metadata_.unknown_fields<std::string>(::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString).size();
  }
  int cached_size = ::_pbi::ToCachedSize(total_size);
  SetCachedSize(cached_size);
  return total_size;
}

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

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

  _this->_internal_mutable_metric_types()->MergeFrom(from._internal_metric_types());
  _this->_internal_mutable_device_models()->MergeFrom(from._internal_device_models());
  _this->_internal_mutable_device_types()->MergeFrom(from._internal_device_types());
  _this->_internal_mutable_tags()->MergeFrom(from._internal_tags());
  if (!from._internal_title().empty()) {
    _this->_internal_set_title(from._internal_title());
  }
  cached_has_bits = from._impl_._has_bits_[0];
  if (cached_has_bits & 0x00000003u) {
    if (cached_has_bits & 0x00000001u) {
      _this->_internal_mutable_changed_at()->::PROTOBUF_NAMESPACE_ID::Timestamp::MergeFrom(
          from._internal_changed_at());
    }
    if (cached_has_bits & 0x00000002u) {
      _this->_internal_mutable_instruction()->::PROTOBUF_NAMESPACE_ID::StringValue::MergeFrom(
          from._internal_instruction());
    }
  }
  if (from._internal_id() != 0) {
    _this->_internal_set_id(from._internal_id());
  }
  if (from._internal_criteria_type() != 0) {
    _this->_internal_set_criteria_type(from._internal_criteria_type());
  }
  static_assert(sizeof(::uint32_t) == sizeof(float), "Code assumes ::uint32_t and float are the same size.");
  float tmp_threshold = from._internal_threshold();
  ::uint32_t raw_threshold;
  memcpy(&raw_threshold, &tmp_threshold, sizeof(tmp_threshold));
  if (raw_threshold != 0) {
    _this->_internal_set_threshold(from._internal_threshold());
  }
  if (from._internal_period_type() != 0) {
    _this->_internal_set_period_type(from._internal_period_type());
  }
  if (from._internal_severity_type() != 0) {
    _this->_internal_set_severity_type(from._internal_severity_type());
  }
  if (from._internal_metric_grouping_type() != 0) {
    _this->_internal_set_metric_grouping_type(from._internal_metric_grouping_type());
  }
  if (from._internal_is_disabled() != 0) {
    _this->_internal_set_is_disabled(from._internal_is_disabled());
  }
  if (from._internal_is_manually_unclosable() != 0) {
    _this->_internal_set_is_manually_unclosable(from._internal_is_manually_unclosable());
  }
  if (from._internal_is_range_metric_expected_freq() != 0) {
    _this->_internal_set_is_range_metric_expected_freq(from._internal_is_range_metric_expected_freq());
  }
  if (from._internal_success_threshold() != 0) {
    _this->_internal_set_success_threshold(from._internal_success_threshold());
  }
  switch (from.range_case()) {
    case kSlidingDays: {
      _this->_internal_set_sliding_days(from._internal_sliding_days());
      break;
    }
    case kFixedDaysRange: {
      _this->_internal_mutable_fixed_days_range()->::keyapis::telemetry_alerting::v1::Trigger_FixedDaysOfMonth::MergeFrom(
          from._internal_fixed_days_range());
      break;
    }
    case RANGE_NOT_SET: {
      break;
    }
  }
  _this->_internal_metadata_.MergeFrom<std::string>(from._internal_metadata_);
}

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

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

void Trigger::InternalSwap(Trigger* other) {
  using std::swap;
  auto* lhs_arena = GetArenaForAllocation();
  auto* rhs_arena = other->GetArenaForAllocation();
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  _internal_mutable_metric_types()->InternalSwap(
      other->_internal_mutable_metric_types());
  _internal_mutable_device_models()->InternalSwap(
      other->_internal_mutable_device_models());
  _internal_mutable_device_types()->InternalSwap(
      other->_internal_mutable_device_types());
  _internal_mutable_tags()->InternalSwap(
      other->_internal_mutable_tags());
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.title_, lhs_arena,
                                       &other->_impl_.title_, rhs_arena);
  ::PROTOBUF_NAMESPACE_ID::internal::memswap<
      PROTOBUF_FIELD_OFFSET(Trigger, _impl_.success_threshold_)
      + sizeof(Trigger::_impl_.success_threshold_)
      - PROTOBUF_FIELD_OFFSET(Trigger, _impl_.changed_at_)>(
          reinterpret_cast<char*>(&_impl_.changed_at_),
          reinterpret_cast<char*>(&other->_impl_.changed_at_));
  swap(_impl_.range_, other->_impl_.range_);
  swap(_impl_._oneof_case_[0], other->_impl_._oneof_case_[0]);
}

std::string Trigger::GetTypeName() const {
  return "keyapis.telemetry_alerting.v1.Trigger";
}

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

class GetTriggerListResponse::_Internal {
 public:
  static constexpr ::int32_t kOneofCaseOffset =
    PROTOBUF_FIELD_OFFSET(::keyapis::telemetry_alerting::v1::GetTriggerListResponse, _impl_._oneof_case_);
  static const ::keyapis::telemetry_alerting::v1::Trigger& data(const GetTriggerListResponse* msg);
};

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

  _internal_metadata_.MergeFrom<std::string>(from._internal_metadata_);
  clear_has_type();
  switch (from.type_case()) {
    case kData: {
      _this->_internal_mutable_data()->::keyapis::telemetry_alerting::v1::Trigger::MergeFrom(
          from._internal_data());
      break;
    }
    case TYPE_NOT_SET: {
      break;
    }
  }
  // @@protoc_insertion_point(copy_constructor:keyapis.telemetry_alerting.v1.GetTriggerListResponse)
}

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

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

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

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

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


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

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

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

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

  // .keyapis.telemetry_alerting.v1.Trigger data = 1;
  if (type_case() == kData) {
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(1, _Internal::data(this),
        _Internal::data(this).GetCachedSize(), target, stream);
  }

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

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

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

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

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

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

  switch (from.type_case()) {
    case kData: {
      _this->_internal_mutable_data()->::keyapis::telemetry_alerting::v1::Trigger::MergeFrom(
          from._internal_data());
      break;
    }
    case TYPE_NOT_SET: {
      break;
    }
  }
  _this->_internal_metadata_.MergeFrom<std::string>(from._internal_metadata_);
}

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

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

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

std::string GetTriggerListResponse::GetTypeName() const {
  return "keyapis.telemetry_alerting.v1.GetTriggerListResponse";
}

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

class GetTriggerAlertListResponse::_Internal {
 public:
  static constexpr ::int32_t kOneofCaseOffset =
    PROTOBUF_FIELD_OFFSET(::keyapis::telemetry_alerting::v1::GetTriggerAlertListResponse, _impl_._oneof_case_);
  static const ::keyapis::telemetry_alerting::v1::Trigger_Alert& data(const GetTriggerAlertListResponse* msg);
};

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

  _internal_metadata_.MergeFrom<std::string>(from._internal_metadata_);
  clear_has_type();
  switch (from.type_case()) {
    case kData: {
      _this->_internal_mutable_data()->::keyapis::telemetry_alerting::v1::Trigger_Alert::MergeFrom(
          from._internal_data());
      break;
    }
    case TYPE_NOT_SET: {
      break;
    }
  }
  // @@protoc_insertion_point(copy_constructor:keyapis.telemetry_alerting.v1.GetTriggerAlertListResponse)
}

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

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

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

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

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


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

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

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

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

  // .keyapis.telemetry_alerting.v1.Trigger.Alert data = 1;
  if (type_case() == kData) {
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(1, _Internal::data(this),
        _Internal::data(this).GetCachedSize(), target, stream);
  }

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

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

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

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

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

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

  switch (from.type_case()) {
    case kData: {
      _this->_internal_mutable_data()->::keyapis::telemetry_alerting::v1::Trigger_Alert::MergeFrom(
          from._internal_data());
      break;
    }
    case TYPE_NOT_SET: {
      break;
    }
  }
  _this->_internal_metadata_.MergeFrom<std::string>(from._internal_metadata_);
}

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

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

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

std::string GetTriggerAlertListResponse::GetTypeName() const {
  return "keyapis.telemetry_alerting.v1.GetTriggerAlertListResponse";
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

std::string GetTriggerCountRequest::GetTypeName() const {
  return "keyapis.telemetry_alerting.v1.GetTriggerCountRequest";
}

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

class GetTriggerCountResponse::_Internal {
 public:
  static constexpr ::int32_t kOneofCaseOffset =
    PROTOBUF_FIELD_OFFSET(::keyapis::telemetry_alerting::v1::GetTriggerCountResponse, _impl_._oneof_case_);
};

GetTriggerCountResponse::GetTriggerCountResponse(::PROTOBUF_NAMESPACE_ID::Arena* arena)
  : ::PROTOBUF_NAMESPACE_ID::MessageLite(arena) {
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:keyapis.telemetry_alerting.v1.GetTriggerCountResponse)
}
GetTriggerCountResponse::GetTriggerCountResponse(const GetTriggerCountResponse& from)
  : ::PROTOBUF_NAMESPACE_ID::MessageLite() {
  GetTriggerCountResponse* const _this = this; (void)_this;
  new (&_impl_) Impl_{
      decltype(_impl_.type_){}
    , /*decltype(_impl_._cached_size_)*/{}
    , /*decltype(_impl_._oneof_case_)*/{}};

  _internal_metadata_.MergeFrom<std::string>(from._internal_metadata_);
  clear_has_type();
  switch (from.type_case()) {
    case kData: {
      _this->_internal_set_data(from._internal_data());
      break;
    }
    case TYPE_NOT_SET: {
      break;
    }
  }
  // @@protoc_insertion_point(copy_constructor:keyapis.telemetry_alerting.v1.GetTriggerCountResponse)
}

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

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

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

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

void GetTriggerCountResponse::clear_type() {
// @@protoc_insertion_point(one_of_clear_start:keyapis.telemetry_alerting.v1.GetTriggerCountResponse)
  switch (type_case()) {
    case kData: {
      // No need to clear
      break;
    }
    case TYPE_NOT_SET: {
      break;
    }
  }
  _impl_._oneof_case_[0] = TYPE_NOT_SET;
}


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

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

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

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

  // int32 data = 1;
  if (type_case() == kData) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteInt32ToArray(
        1, this->_internal_data(), target);
  }

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

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

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

  switch (type_case()) {
    // int32 data = 1;
    case kData: {
      total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(
          this->_internal_data());
      break;
    }
    case TYPE_NOT_SET: {
      break;
    }
  }
  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    total_size += _internal_metadata_.unknown_fields<std::string>(::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString).size();
  }
  int cached_size = ::_pbi::ToCachedSize(total_size);
  SetCachedSize(cached_size);
  return total_size;
}

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

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

  switch (from.type_case()) {
    case kData: {
      _this->_internal_set_data(from._internal_data());
      break;
    }
    case TYPE_NOT_SET: {
      break;
    }
  }
  _this->_internal_metadata_.MergeFrom<std::string>(from._internal_metadata_);
}

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

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

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

std::string GetTriggerCountResponse::GetTypeName() const {
  return "keyapis.telemetry_alerting.v1.GetTriggerCountResponse";
}

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

class GetTriggerAlertCountResponse::_Internal {
 public:
  static constexpr ::int32_t kOneofCaseOffset =
    PROTOBUF_FIELD_OFFSET(::keyapis::telemetry_alerting::v1::GetTriggerAlertCountResponse, _impl_._oneof_case_);
};

GetTriggerAlertCountResponse::GetTriggerAlertCountResponse(::PROTOBUF_NAMESPACE_ID::Arena* arena)
  : ::PROTOBUF_NAMESPACE_ID::MessageLite(arena) {
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:keyapis.telemetry_alerting.v1.GetTriggerAlertCountResponse)
}
GetTriggerAlertCountResponse::GetTriggerAlertCountResponse(const GetTriggerAlertCountResponse& from)
  : ::PROTOBUF_NAMESPACE_ID::MessageLite() {
  GetTriggerAlertCountResponse* const _this = this; (void)_this;
  new (&_impl_) Impl_{
      decltype(_impl_.type_){}
    , /*decltype(_impl_._cached_size_)*/{}
    , /*decltype(_impl_._oneof_case_)*/{}};

  _internal_metadata_.MergeFrom<std::string>(from._internal_metadata_);
  clear_has_type();
  switch (from.type_case()) {
    case kData: {
      _this->_internal_set_data(from._internal_data());
      break;
    }
    case TYPE_NOT_SET: {
      break;
    }
  }
  // @@protoc_insertion_point(copy_constructor:keyapis.telemetry_alerting.v1.GetTriggerAlertCountResponse)
}

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

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

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

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

void GetTriggerAlertCountResponse::clear_type() {
// @@protoc_insertion_point(one_of_clear_start:keyapis.telemetry_alerting.v1.GetTriggerAlertCountResponse)
  switch (type_case()) {
    case kData: {
      // No need to clear
      break;
    }
    case TYPE_NOT_SET: {
      break;
    }
  }
  _impl_._oneof_case_[0] = TYPE_NOT_SET;
}


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

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

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

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

  // int32 data = 1;
  if (type_case() == kData) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteInt32ToArray(
        1, this->_internal_data(), target);
  }

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

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

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

  switch (type_case()) {
    // int32 data = 1;
    case kData: {
      total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(
          this->_internal_data());
      break;
    }
    case TYPE_NOT_SET: {
      break;
    }
  }
  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    total_size += _internal_metadata_.unknown_fields<std::string>(::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString).size();
  }
  int cached_size = ::_pbi::ToCachedSize(total_size);
  SetCachedSize(cached_size);
  return total_size;
}

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

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

  switch (from.type_case()) {
    case kData: {
      _this->_internal_set_data(from._internal_data());
      break;
    }
    case TYPE_NOT_SET: {
      break;
    }
  }
  _this->_internal_metadata_.MergeFrom<std::string>(from._internal_metadata_);
}

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

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

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

std::string GetTriggerAlertCountResponse::GetTypeName() const {
  return "keyapis.telemetry_alerting.v1.GetTriggerAlertCountResponse";
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

std::string PostTriggerRequest::GetTypeName() const {
  return "keyapis.telemetry_alerting.v1.PostTriggerRequest";
}

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

class PostTriggerResponse::_Internal {
 public:
  static constexpr ::int32_t kOneofCaseOffset =
    PROTOBUF_FIELD_OFFSET(::keyapis::telemetry_alerting::v1::PostTriggerResponse, _impl_._oneof_case_);
  static const ::keyapis::telemetry_alerting::v1::Trigger& data(const PostTriggerResponse* msg);
};

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

  _internal_metadata_.MergeFrom<std::string>(from._internal_metadata_);
  clear_has_type();
  switch (from.type_case()) {
    case kData: {
      _this->_internal_mutable_data()->::keyapis::telemetry_alerting::v1::Trigger::MergeFrom(
          from._internal_data());
      break;
    }
    case TYPE_NOT_SET: {
      break;
    }
  }
  // @@protoc_insertion_point(copy_constructor:keyapis.telemetry_alerting.v1.PostTriggerResponse)
}

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

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

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

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

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


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

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

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

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

  // .keyapis.telemetry_alerting.v1.Trigger data = 1;
  if (type_case() == kData) {
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(1, _Internal::data(this),
        _Internal::data(this).GetCachedSize(), target, stream);
  }

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

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

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

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

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

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

  switch (from.type_case()) {
    case kData: {
      _this->_internal_mutable_data()->::keyapis::telemetry_alerting::v1::Trigger::MergeFrom(
          from._internal_data());
      break;
    }
    case TYPE_NOT_SET: {
      break;
    }
  }
  _this->_internal_metadata_.MergeFrom<std::string>(from._internal_metadata_);
}

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

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

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

std::string PostTriggerResponse::GetTypeName() const {
  return "keyapis.telemetry_alerting.v1.PostTriggerResponse";
}

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

class DeleteTriggerRequest::_Internal {
 public:
};

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  swap(_impl_.id_, other->_impl_.id_);
}

std::string DeleteTriggerRequest::GetTypeName() const {
  return "keyapis.telemetry_alerting.v1.DeleteTriggerRequest";
}

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

class DeleteTriggerResponse::_Internal {
 public:
};

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

std::string DeleteTriggerResponse::GetTypeName() const {
  return "keyapis.telemetry_alerting.v1.DeleteTriggerResponse";
}

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

class DeleteTriggerAlertRequest::_Internal {
 public:
};

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  swap(_impl_.id_, other->_impl_.id_);
}

std::string DeleteTriggerAlertRequest::GetTypeName() const {
  return "keyapis.telemetry_alerting.v1.DeleteTriggerAlertRequest";
}

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

class DeleteTriggerAlertResponse::_Internal {
 public:
};

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

std::string DeleteTriggerAlertResponse::GetTypeName() const {
  return "keyapis.telemetry_alerting.v1.DeleteTriggerAlertResponse";
}

// @@protoc_insertion_point(namespace_scope)
}  // namespace v1
}  // namespace telemetry_alerting
}  // namespace keyapis
PROTOBUF_NAMESPACE_OPEN
template<> PROTOBUF_NOINLINE ::keyapis::telemetry_alerting::v1::GetTriggerAlertDeviceListRequest*
Arena::CreateMaybeMessage< ::keyapis::telemetry_alerting::v1::GetTriggerAlertDeviceListRequest >(Arena* arena) {
  return Arena::CreateMessageInternal< ::keyapis::telemetry_alerting::v1::GetTriggerAlertDeviceListRequest >(arena);
}
template<> PROTOBUF_NOINLINE ::keyapis::telemetry_alerting::v1::TriggerAlertPaging*
Arena::CreateMaybeMessage< ::keyapis::telemetry_alerting::v1::TriggerAlertPaging >(Arena* arena) {
  return Arena::CreateMessageInternal< ::keyapis::telemetry_alerting::v1::TriggerAlertPaging >(arena);
}
template<> PROTOBUF_NOINLINE ::keyapis::telemetry_alerting::v1::AlertDevice*
Arena::CreateMaybeMessage< ::keyapis::telemetry_alerting::v1::AlertDevice >(Arena* arena) {
  return Arena::CreateMessageInternal< ::keyapis::telemetry_alerting::v1::AlertDevice >(arena);
}
template<> PROTOBUF_NOINLINE ::keyapis::telemetry_alerting::v1::GetTriggerAlertDeviceListResponse*
Arena::CreateMaybeMessage< ::keyapis::telemetry_alerting::v1::GetTriggerAlertDeviceListResponse >(Arena* arena) {
  return Arena::CreateMessageInternal< ::keyapis::telemetry_alerting::v1::GetTriggerAlertDeviceListResponse >(arena);
}
template<> PROTOBUF_NOINLINE ::keyapis::telemetry_alerting::v1::GetTriggerRequest*
Arena::CreateMaybeMessage< ::keyapis::telemetry_alerting::v1::GetTriggerRequest >(Arena* arena) {
  return Arena::CreateMessageInternal< ::keyapis::telemetry_alerting::v1::GetTriggerRequest >(arena);
}
template<> PROTOBUF_NOINLINE ::keyapis::telemetry_alerting::v1::GetTriggerResponse*
Arena::CreateMaybeMessage< ::keyapis::telemetry_alerting::v1::GetTriggerResponse >(Arena* arena) {
  return Arena::CreateMessageInternal< ::keyapis::telemetry_alerting::v1::GetTriggerResponse >(arena);
}
template<> PROTOBUF_NOINLINE ::keyapis::telemetry_alerting::v1::GetTriggerAlertListRequest*
Arena::CreateMaybeMessage< ::keyapis::telemetry_alerting::v1::GetTriggerAlertListRequest >(Arena* arena) {
  return Arena::CreateMessageInternal< ::keyapis::telemetry_alerting::v1::GetTriggerAlertListRequest >(arena);
}
template<> PROTOBUF_NOINLINE ::keyapis::telemetry_alerting::v1::PostTriggerAlertDisableRequest*
Arena::CreateMaybeMessage< ::keyapis::telemetry_alerting::v1::PostTriggerAlertDisableRequest >(Arena* arena) {
  return Arena::CreateMessageInternal< ::keyapis::telemetry_alerting::v1::PostTriggerAlertDisableRequest >(arena);
}
template<> PROTOBUF_NOINLINE ::keyapis::telemetry_alerting::v1::PostTriggerAlertDisableResponse*
Arena::CreateMaybeMessage< ::keyapis::telemetry_alerting::v1::PostTriggerAlertDisableResponse >(Arena* arena) {
  return Arena::CreateMessageInternal< ::keyapis::telemetry_alerting::v1::PostTriggerAlertDisableResponse >(arena);
}
template<> PROTOBUF_NOINLINE ::keyapis::telemetry_alerting::v1::GetTriggerAlertCountRequest*
Arena::CreateMaybeMessage< ::keyapis::telemetry_alerting::v1::GetTriggerAlertCountRequest >(Arena* arena) {
  return Arena::CreateMessageInternal< ::keyapis::telemetry_alerting::v1::GetTriggerAlertCountRequest >(arena);
}
template<> PROTOBUF_NOINLINE ::keyapis::telemetry_alerting::v1::GetTriggerListRequest*
Arena::CreateMaybeMessage< ::keyapis::telemetry_alerting::v1::GetTriggerListRequest >(Arena* arena) {
  return Arena::CreateMessageInternal< ::keyapis::telemetry_alerting::v1::GetTriggerListRequest >(arena);
}
template<> PROTOBUF_NOINLINE ::keyapis::telemetry_alerting::v1::TriggerPaging*
Arena::CreateMaybeMessage< ::keyapis::telemetry_alerting::v1::TriggerPaging >(Arena* arena) {
  return Arena::CreateMessageInternal< ::keyapis::telemetry_alerting::v1::TriggerPaging >(arena);
}
template<> PROTOBUF_NOINLINE ::keyapis::telemetry_alerting::v1::TriggerFilter*
Arena::CreateMaybeMessage< ::keyapis::telemetry_alerting::v1::TriggerFilter >(Arena* arena) {
  return Arena::CreateMessageInternal< ::keyapis::telemetry_alerting::v1::TriggerFilter >(arena);
}
template<> PROTOBUF_NOINLINE ::keyapis::telemetry_alerting::v1::TriggerAlertFilter*
Arena::CreateMaybeMessage< ::keyapis::telemetry_alerting::v1::TriggerAlertFilter >(Arena* arena) {
  return Arena::CreateMessageInternal< ::keyapis::telemetry_alerting::v1::TriggerAlertFilter >(arena);
}
template<> PROTOBUF_NOINLINE ::keyapis::telemetry_alerting::v1::Trigger_FixedDaysOfMonth*
Arena::CreateMaybeMessage< ::keyapis::telemetry_alerting::v1::Trigger_FixedDaysOfMonth >(Arena* arena) {
  return Arena::CreateMessageInternal< ::keyapis::telemetry_alerting::v1::Trigger_FixedDaysOfMonth >(arena);
}
template<> PROTOBUF_NOINLINE ::keyapis::telemetry_alerting::v1::Trigger_Alert*
Arena::CreateMaybeMessage< ::keyapis::telemetry_alerting::v1::Trigger_Alert >(Arena* arena) {
  return Arena::CreateMessageInternal< ::keyapis::telemetry_alerting::v1::Trigger_Alert >(arena);
}
template<> PROTOBUF_NOINLINE ::keyapis::telemetry_alerting::v1::Trigger*
Arena::CreateMaybeMessage< ::keyapis::telemetry_alerting::v1::Trigger >(Arena* arena) {
  return Arena::CreateMessageInternal< ::keyapis::telemetry_alerting::v1::Trigger >(arena);
}
template<> PROTOBUF_NOINLINE ::keyapis::telemetry_alerting::v1::GetTriggerListResponse*
Arena::CreateMaybeMessage< ::keyapis::telemetry_alerting::v1::GetTriggerListResponse >(Arena* arena) {
  return Arena::CreateMessageInternal< ::keyapis::telemetry_alerting::v1::GetTriggerListResponse >(arena);
}
template<> PROTOBUF_NOINLINE ::keyapis::telemetry_alerting::v1::GetTriggerAlertListResponse*
Arena::CreateMaybeMessage< ::keyapis::telemetry_alerting::v1::GetTriggerAlertListResponse >(Arena* arena) {
  return Arena::CreateMessageInternal< ::keyapis::telemetry_alerting::v1::GetTriggerAlertListResponse >(arena);
}
template<> PROTOBUF_NOINLINE ::keyapis::telemetry_alerting::v1::GetTriggerCountRequest*
Arena::CreateMaybeMessage< ::keyapis::telemetry_alerting::v1::GetTriggerCountRequest >(Arena* arena) {
  return Arena::CreateMessageInternal< ::keyapis::telemetry_alerting::v1::GetTriggerCountRequest >(arena);
}
template<> PROTOBUF_NOINLINE ::keyapis::telemetry_alerting::v1::GetTriggerCountResponse*
Arena::CreateMaybeMessage< ::keyapis::telemetry_alerting::v1::GetTriggerCountResponse >(Arena* arena) {
  return Arena::CreateMessageInternal< ::keyapis::telemetry_alerting::v1::GetTriggerCountResponse >(arena);
}
template<> PROTOBUF_NOINLINE ::keyapis::telemetry_alerting::v1::GetTriggerAlertCountResponse*
Arena::CreateMaybeMessage< ::keyapis::telemetry_alerting::v1::GetTriggerAlertCountResponse >(Arena* arena) {
  return Arena::CreateMessageInternal< ::keyapis::telemetry_alerting::v1::GetTriggerAlertCountResponse >(arena);
}
template<> PROTOBUF_NOINLINE ::keyapis::telemetry_alerting::v1::PostTriggerRequest*
Arena::CreateMaybeMessage< ::keyapis::telemetry_alerting::v1::PostTriggerRequest >(Arena* arena) {
  return Arena::CreateMessageInternal< ::keyapis::telemetry_alerting::v1::PostTriggerRequest >(arena);
}
template<> PROTOBUF_NOINLINE ::keyapis::telemetry_alerting::v1::PostTriggerResponse*
Arena::CreateMaybeMessage< ::keyapis::telemetry_alerting::v1::PostTriggerResponse >(Arena* arena) {
  return Arena::CreateMessageInternal< ::keyapis::telemetry_alerting::v1::PostTriggerResponse >(arena);
}
template<> PROTOBUF_NOINLINE ::keyapis::telemetry_alerting::v1::DeleteTriggerRequest*
Arena::CreateMaybeMessage< ::keyapis::telemetry_alerting::v1::DeleteTriggerRequest >(Arena* arena) {
  return Arena::CreateMessageInternal< ::keyapis::telemetry_alerting::v1::DeleteTriggerRequest >(arena);
}
template<> PROTOBUF_NOINLINE ::keyapis::telemetry_alerting::v1::DeleteTriggerResponse*
Arena::CreateMaybeMessage< ::keyapis::telemetry_alerting::v1::DeleteTriggerResponse >(Arena* arena) {
  return Arena::CreateMessageInternal< ::keyapis::telemetry_alerting::v1::DeleteTriggerResponse >(arena);
}
template<> PROTOBUF_NOINLINE ::keyapis::telemetry_alerting::v1::DeleteTriggerAlertRequest*
Arena::CreateMaybeMessage< ::keyapis::telemetry_alerting::v1::DeleteTriggerAlertRequest >(Arena* arena) {
  return Arena::CreateMessageInternal< ::keyapis::telemetry_alerting::v1::DeleteTriggerAlertRequest >(arena);
}
template<> PROTOBUF_NOINLINE ::keyapis::telemetry_alerting::v1::DeleteTriggerAlertResponse*
Arena::CreateMaybeMessage< ::keyapis::telemetry_alerting::v1::DeleteTriggerAlertResponse >(Arena* arena) {
  return Arena::CreateMessageInternal< ::keyapis::telemetry_alerting::v1::DeleteTriggerAlertResponse >(arena);
}
PROTOBUF_NAMESPACE_CLOSE
// @@protoc_insertion_point(global_scope)
#include "google/protobuf/port_undef.inc"
