github.com/cloudwan/edgelq-sdk@v1.15.4/alerting/resources/v1/alert/alert.pb.go (about)

     1  // Code generated by protoc-gen-goten-go
     2  // File: edgelq/alerting/proto/v1/alert.proto
     3  // DO NOT EDIT!!!
     4  
     5  package alert
     6  
     7  import (
     8  	"fmt"
     9  	"reflect"
    10  	"sync"
    11  
    12  	"google.golang.org/protobuf/encoding/protojson"
    13  	"google.golang.org/protobuf/proto"
    14  	preflect "google.golang.org/protobuf/reflect/protoreflect"
    15  	"google.golang.org/protobuf/runtime/protoimpl"
    16  )
    17  
    18  // proto imports
    19  import (
    20  	rcommon "github.com/cloudwan/edgelq-sdk/alerting/resources/v1/common"
    21  	log_condition "github.com/cloudwan/edgelq-sdk/alerting/resources/v1/log_condition"
    22  	notification_channel "github.com/cloudwan/edgelq-sdk/alerting/resources/v1/notification_channel"
    23  	ts_condition "github.com/cloudwan/edgelq-sdk/alerting/resources/v1/ts_condition"
    24  	meta "github.com/cloudwan/goten-sdk/types/meta"
    25  	durationpb "google.golang.org/protobuf/types/known/durationpb"
    26  	timestamppb "google.golang.org/protobuf/types/known/timestamppb"
    27  )
    28  
    29  // Reference imports to suppress errors if they are not otherwise used.
    30  var (
    31  	_ = fmt.Errorf
    32  	_ = reflect.Method{}
    33  	_ = sync.Once{}
    34  
    35  	_ = protojson.MarshalOptions{}
    36  	_ = proto.MarshalOptions{}
    37  	_ = preflect.Value{}
    38  	_ = protoimpl.DescBuilder{}
    39  )
    40  
    41  // make sure we're using proto imports
    42  var (
    43  	_ = &log_condition.LogCondition{}
    44  	_ = &notification_channel.NotificationChannel{}
    45  	_ = &rcommon.LogCndSpec{}
    46  	_ = &ts_condition.TsCondition{}
    47  	_ = &durationpb.Duration{}
    48  	_ = &timestamppb.Timestamp{}
    49  	_ = &meta.Meta{}
    50  )
    51  
    52  const (
    53  	// Verify that this generated code is sufficiently up-to-date.
    54  	_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
    55  	// Verify that runtime/protoimpl is sufficiently up-to-date.
    56  	_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
    57  )
    58  
    59  // Type of TimeSeries based alert
    60  type Alert_TsInfo_Type int32
    61  
    62  const (
    63  	Alert_TsInfo_UNDEFINED Alert_TsInfo_Type = 0
    64  	// ANOMALY indicates that irregular data pattern was spotted in
    65  	// time series data (anomaly values crossed anomaly thresholds).
    66  	Alert_TsInfo_ANOMALY Alert_TsInfo_Type = 1
    67  	// THRESHOLD indicates that time series values crossed specified
    68  	// thresholds (lower or upper threshold).
    69  	Alert_TsInfo_THRESHOLD Alert_TsInfo_Type = 2
    70  )
    71  
    72  var (
    73  	Alert_TsInfo_Type_name = map[int32]string{
    74  		0: "UNDEFINED",
    75  		1: "ANOMALY",
    76  		2: "THRESHOLD",
    77  	}
    78  
    79  	Alert_TsInfo_Type_value = map[string]int32{
    80  		"UNDEFINED": 0,
    81  		"ANOMALY":   1,
    82  		"THRESHOLD": 2,
    83  	}
    84  )
    85  
    86  func (x Alert_TsInfo_Type) Enum() *Alert_TsInfo_Type {
    87  	p := new(Alert_TsInfo_Type)
    88  	*p = x
    89  	return p
    90  }
    91  
    92  func (x Alert_TsInfo_Type) String() string {
    93  	return protoimpl.X.EnumStringOf(x.Descriptor(), preflect.EnumNumber(x))
    94  }
    95  
    96  func (Alert_TsInfo_Type) Descriptor() preflect.EnumDescriptor {
    97  	return edgelq_alerting_proto_v1_alert_proto_enumTypes[0].Descriptor()
    98  }
    99  
   100  func (Alert_TsInfo_Type) Type() preflect.EnumType {
   101  	return &edgelq_alerting_proto_v1_alert_proto_enumTypes[0]
   102  }
   103  
   104  func (x Alert_TsInfo_Type) Number() preflect.EnumNumber {
   105  	return preflect.EnumNumber(x)
   106  }
   107  
   108  // Deprecated, Use Alert_TsInfo_Type.ProtoReflect.Descriptor instead.
   109  func (Alert_TsInfo_Type) EnumDescriptor() ([]byte, []int) {
   110  	return edgelq_alerting_proto_v1_alert_proto_rawDescGZIP(), []int{0, 0, 0}
   111  }
   112  
   113  // AiHandlingState informs what is a handling state
   114  // of an alert from AI agent point of view. It is
   115  // active when escalation_level points to AI_AGENT.
   116  type Alert_State_AiHandlingState int32
   117  
   118  const (
   119  	// AI Agent is not involved in handling this alert.
   120  	Alert_State_AI_AGENT_NOT_INVOLVED Alert_State_AiHandlingState = 0
   121  	// Alert is new and awaits handling by AI agent.
   122  	// This is always initial state for AI agent after
   123  	// firing.
   124  	// It can move to AI_ESCALATED_TO_OPERATOR, AI_IGNORE_AS_TEMPORARY,
   125  	// AI_ADJUST_CND_ENTRY, or AI_REMEDIATION_PROPOSED.
   126  	Alert_State_AI_AWAITING_HANDLING Alert_State_AiHandlingState = 1
   127  	// This state is active is AI agent escalated alert
   128  	// to an operator, due to inability to solve it.
   129  	// This is terminal state after which handling is passed to OPERATOR,
   130  	// escalation_level changes.
   131  	Alert_State_AI_ESCALATED_TO_OPERATOR Alert_State_AiHandlingState = 2
   132  	// AI Agent informed that, while TimeSeries/Logs data
   133  	// indeed contain abnormal values, they are caused
   134  	// by transient and unharmful reason, and it should
   135  	// stop firing soon.
   136  	// This is false positive alert.
   137  	// This is semi-terminal state. It can move to AI_ESCALATED_TO_OPERATOR
   138  	// if alert persist despite being flagged as transient issue.
   139  	Alert_State_AI_IGNORE_AS_TEMPORARY Alert_State_AiHandlingState = 3
   140  	// AI Agent informed that this alert is a false
   141  	// positive, and TimeSeries/Logs violating entries
   142  	// in fact should not be classified as a violation.
   143  	// Switching alert to this state will cause corresponding
   144  	// TsEntry to adjust its thresholds, or retrain AI anomaly
   145  	// detection models.
   146  	// This is usually a terminal state, after which alert is silenced
   147  	// and TsEntry tries to assume violating data is normal.
   148  	// However, if thresholds cannot be updated, alert will switch to
   149  	// AI_ESCALATED_TO_OPERATOR.
   150  	Alert_State_AI_ADJUST_CND_ENTRY Alert_State_AiHandlingState = 4
   151  	// AI Agent identified this is a genuine alert, but for which
   152  	// it is able to fix. Remediation is only proposed, and requires
   153  	// approval from OPERATOR. Note that this is unique situation,
   154  	// where field escalation_level in State object points to AI_AGENT,
   155  	// but OPERATOR is requires to provide an update.
   156  	// Alert is technically still being handled by AI Agent, but
   157  	// waiting for OPERATOR confirmation.
   158  	Alert_State_AI_REMEDIATION_PROPOSED Alert_State_AiHandlingState = 5
   159  	// This state is followed by AI_REMEDIATION_PROPOSED after OPERATOR
   160  	// agrees to execute, or if automatic approval is enabled. AI Agent
   161  	// will then proceed to applying remediation.
   162  	// It will move to AI_REMEDIATION_APPLIED after remediation is applied.
   163  	Alert_State_AI_REMEDIATION_APPROVED Alert_State_AiHandlingState = 6
   164  	// This state indicates that remediation has been applied. If after some
   165  	// time issue persists, then it switches to AI_ESCALATED_TO_OPERATOR.
   166  	Alert_State_AI_REMEDIATION_APPLIED Alert_State_AiHandlingState = 7
   167  )
   168  
   169  var (
   170  	Alert_State_AiHandlingState_name = map[int32]string{
   171  		0: "AI_AGENT_NOT_INVOLVED",
   172  		1: "AI_AWAITING_HANDLING",
   173  		2: "AI_ESCALATED_TO_OPERATOR",
   174  		3: "AI_IGNORE_AS_TEMPORARY",
   175  		4: "AI_ADJUST_CND_ENTRY",
   176  		5: "AI_REMEDIATION_PROPOSED",
   177  		6: "AI_REMEDIATION_APPROVED",
   178  		7: "AI_REMEDIATION_APPLIED",
   179  	}
   180  
   181  	Alert_State_AiHandlingState_value = map[string]int32{
   182  		"AI_AGENT_NOT_INVOLVED":    0,
   183  		"AI_AWAITING_HANDLING":     1,
   184  		"AI_ESCALATED_TO_OPERATOR": 2,
   185  		"AI_IGNORE_AS_TEMPORARY":   3,
   186  		"AI_ADJUST_CND_ENTRY":      4,
   187  		"AI_REMEDIATION_PROPOSED":  5,
   188  		"AI_REMEDIATION_APPROVED":  6,
   189  		"AI_REMEDIATION_APPLIED":   7,
   190  	}
   191  )
   192  
   193  func (x Alert_State_AiHandlingState) Enum() *Alert_State_AiHandlingState {
   194  	p := new(Alert_State_AiHandlingState)
   195  	*p = x
   196  	return p
   197  }
   198  
   199  func (x Alert_State_AiHandlingState) String() string {
   200  	return protoimpl.X.EnumStringOf(x.Descriptor(), preflect.EnumNumber(x))
   201  }
   202  
   203  func (Alert_State_AiHandlingState) Descriptor() preflect.EnumDescriptor {
   204  	return edgelq_alerting_proto_v1_alert_proto_enumTypes[1].Descriptor()
   205  }
   206  
   207  func (Alert_State_AiHandlingState) Type() preflect.EnumType {
   208  	return &edgelq_alerting_proto_v1_alert_proto_enumTypes[1]
   209  }
   210  
   211  func (x Alert_State_AiHandlingState) Number() preflect.EnumNumber {
   212  	return preflect.EnumNumber(x)
   213  }
   214  
   215  // Deprecated, Use Alert_State_AiHandlingState.ProtoReflect.Descriptor instead.
   216  func (Alert_State_AiHandlingState) EnumDescriptor() ([]byte, []int) {
   217  	return edgelq_alerting_proto_v1_alert_proto_rawDescGZIP(), []int{0, 2, 0}
   218  }
   219  
   220  // AiHandlingState informs what is a handling state
   221  // of an alert from OPERATOR point of view.
   222  type Alert_State_OperatorHandlingState int32
   223  
   224  const (
   225  	// Operator is not involved in handling this alert.
   226  	Alert_State_OP_NOT_INVOLVED Alert_State_OperatorHandlingState = 0
   227  	// Alert waits for Operator to handle it. This is
   228  	// initial state when escalation level switches to
   229  	// OPERATOR.
   230  	// From here, it can switch to any of remaining
   231  	// states. It may be also switched back to AI Agent
   232  	// if operator will it.
   233  	Alert_State_OP_AWAITING_HANDLING Alert_State_OperatorHandlingState = 1
   234  	// This can be a first state of Alert after OP_AWAITING_HANDLING,
   235  	// if operator wants to acknowledge alert without informing about
   236  	// final decision.
   237  	Alert_State_OP_ACKNOWLEDGED Alert_State_OperatorHandlingState = 2
   238  	// Operator informed that, while TimeSeries/Logs data
   239  	// indeed contain abnormal values, they are caused
   240  	// by transient and unharmful reason, and it should
   241  	// stop firing soon. This is false positive alert.
   242  	// This may be terminal state if alert stops firing soon.
   243  	// Otherwise, it will go back to OP_AWAITING_HANDLING.
   244  	Alert_State_OP_IGNORE_AS_TEMPORARY Alert_State_OperatorHandlingState = 3
   245  	// Operator informed that this alert is a false
   246  	// positive, and TimeSeries/Logs violating entries
   247  	// in fact should not be classified as a violation.
   248  	// Switching alert to this state will cause corresponding
   249  	// TsEntry to adjust its thresholds, or retrain AI anomaly
   250  	// detection models, whatever is relevant.
   251  	// This is usually a terminal state, after which alert is silenced
   252  	// and TsEntry tries to assume violating data is normal.
   253  	// However, if thresholds cannot be updated, alert will switch to
   254  	// OP_AWAITING_HANDLING automatically.
   255  	Alert_State_OP_ADJUST_CND_ENTRY Alert_State_OperatorHandlingState = 4
   256  	// This state indicates that remediation has been applied. If after some
   257  	// time issue persists, then it switches to OP_AWAITING_HANDLING.
   258  	Alert_State_OP_REMEDIATION_APPLIED Alert_State_OperatorHandlingState = 5
   259  )
   260  
   261  var (
   262  	Alert_State_OperatorHandlingState_name = map[int32]string{
   263  		0: "OP_NOT_INVOLVED",
   264  		1: "OP_AWAITING_HANDLING",
   265  		2: "OP_ACKNOWLEDGED",
   266  		3: "OP_IGNORE_AS_TEMPORARY",
   267  		4: "OP_ADJUST_CND_ENTRY",
   268  		5: "OP_REMEDIATION_APPLIED",
   269  	}
   270  
   271  	Alert_State_OperatorHandlingState_value = map[string]int32{
   272  		"OP_NOT_INVOLVED":        0,
   273  		"OP_AWAITING_HANDLING":   1,
   274  		"OP_ACKNOWLEDGED":        2,
   275  		"OP_IGNORE_AS_TEMPORARY": 3,
   276  		"OP_ADJUST_CND_ENTRY":    4,
   277  		"OP_REMEDIATION_APPLIED": 5,
   278  	}
   279  )
   280  
   281  func (x Alert_State_OperatorHandlingState) Enum() *Alert_State_OperatorHandlingState {
   282  	p := new(Alert_State_OperatorHandlingState)
   283  	*p = x
   284  	return p
   285  }
   286  
   287  func (x Alert_State_OperatorHandlingState) String() string {
   288  	return protoimpl.X.EnumStringOf(x.Descriptor(), preflect.EnumNumber(x))
   289  }
   290  
   291  func (Alert_State_OperatorHandlingState) Descriptor() preflect.EnumDescriptor {
   292  	return edgelq_alerting_proto_v1_alert_proto_enumTypes[2].Descriptor()
   293  }
   294  
   295  func (Alert_State_OperatorHandlingState) Type() preflect.EnumType {
   296  	return &edgelq_alerting_proto_v1_alert_proto_enumTypes[2]
   297  }
   298  
   299  func (x Alert_State_OperatorHandlingState) Number() preflect.EnumNumber {
   300  	return preflect.EnumNumber(x)
   301  }
   302  
   303  // Deprecated, Use Alert_State_OperatorHandlingState.ProtoReflect.Descriptor instead.
   304  func (Alert_State_OperatorHandlingState) EnumDescriptor() ([]byte, []int) {
   305  	return edgelq_alerting_proto_v1_alert_proto_rawDescGZIP(), []int{0, 2, 1}
   306  }
   307  
   308  // EscalationLevel informs who is handling an alert.
   309  type Alert_State_EscalationLevel int32
   310  
   311  const (
   312  	// None is invalid state.
   313  	Alert_State_NONE Alert_State_EscalationLevel = 0
   314  	// Alert is handled by AI Agent now
   315  	Alert_State_AI_AGENT Alert_State_EscalationLevel = 1
   316  	// Alert is handled by OPERATOR now.
   317  	Alert_State_OPERATOR Alert_State_EscalationLevel = 2
   318  )
   319  
   320  var (
   321  	Alert_State_EscalationLevel_name = map[int32]string{
   322  		0: "NONE",
   323  		1: "AI_AGENT",
   324  		2: "OPERATOR",
   325  	}
   326  
   327  	Alert_State_EscalationLevel_value = map[string]int32{
   328  		"NONE":     0,
   329  		"AI_AGENT": 1,
   330  		"OPERATOR": 2,
   331  	}
   332  )
   333  
   334  func (x Alert_State_EscalationLevel) Enum() *Alert_State_EscalationLevel {
   335  	p := new(Alert_State_EscalationLevel)
   336  	*p = x
   337  	return p
   338  }
   339  
   340  func (x Alert_State_EscalationLevel) String() string {
   341  	return protoimpl.X.EnumStringOf(x.Descriptor(), preflect.EnumNumber(x))
   342  }
   343  
   344  func (Alert_State_EscalationLevel) Descriptor() preflect.EnumDescriptor {
   345  	return edgelq_alerting_proto_v1_alert_proto_enumTypes[3].Descriptor()
   346  }
   347  
   348  func (Alert_State_EscalationLevel) Type() preflect.EnumType {
   349  	return &edgelq_alerting_proto_v1_alert_proto_enumTypes[3]
   350  }
   351  
   352  func (x Alert_State_EscalationLevel) Number() preflect.EnumNumber {
   353  	return preflect.EnumNumber(x)
   354  }
   355  
   356  // Deprecated, Use Alert_State_EscalationLevel.ProtoReflect.Descriptor instead.
   357  func (Alert_State_EscalationLevel) EnumDescriptor() ([]byte, []int) {
   358  	return edgelq_alerting_proto_v1_alert_proto_rawDescGZIP(), []int{0, 2, 2}
   359  }
   360  
   361  // Alert describes an abnormal situation indicated by TimeSeries or Logs.
   362  // Alert is always associated with a single resource type, as indicated
   363  // in Policy object.
   364  // It contains relevant information: TimeSeries/Logs values that caused
   365  // the issue, starting time, ending time, if alert stopped, current
   366  // handling state (by both operator and AI agent).
   367  // Each Alert belongs to a single TsCondition/LogCondition resource, and
   368  // is always associated with some unique TsEntry - they share alerting
   369  // resource reference.
   370  // Relationship Alert <-> TsEntry is N <-> 1
   371  // Relationship Alert <-> TsCondition/LogCondition is N <-> 1
   372  type Alert struct {
   373  	state         protoimpl.MessageState
   374  	sizeCache     protoimpl.SizeCache
   375  	unknownFields protoimpl.UnknownFields
   376  	// Name of Alert
   377  	// When creating a new instance, this field is optional and if not provided,
   378  	// it will be generated automatically. Last ID segment must conform to the
   379  	// following regex: [a-zA-Z0-9_.:-]{1,128}
   380  	Name *Name `protobuf:"bytes,1,opt,customtype=Name,name=name,proto3" json:"name,omitempty"`
   381  	// Metadata is an object with information like create, update and delete time
   382  	// (for async deleted resources), has user labels/annotations, sharding
   383  	// information, multi-region syncing information and may have non-schema
   384  	// owners (useful for taking ownership of resources belonging to lower level
   385  	// services by higher ones).
   386  	Metadata *meta.Meta `protobuf:"bytes,2,opt,name=metadata,proto3" json:"metadata,omitempty"`
   387  	// Display name informing about basic params (condition display name and
   388  	// alerting resource)
   389  	DisplayName string `protobuf:"bytes,3,opt,name=display_name,json=displayName,proto3" json:"display_name,omitempty"`
   390  	// Alerting resource points to the original resource which generated alert.
   391  	// This meta reference works like dynamic type (any service, any resource).
   392  	// TODO: We could use of "DynamicReference" message type. It can be similar to
   393  	// OwnerReference, except it works more like reference (uses
   394  	// EstablishReferences...). It can support most normal behaviors, like CASCADE
   395  	// DELETE/UNSET.
   396  	AlertingResource *meta.OwnerReference `protobuf:"bytes,4,opt,name=alerting_resource,json=alertingResource,proto3" json:"alerting_resource,omitempty"`
   397  	// State of alert
   398  	State *Alert_State `protobuf:"bytes,8,opt,name=state,proto3" json:"state,omitempty"`
   399  	// Internal field.
   400  	Internal *Alert_Internal `protobuf:"bytes,9,opt,name=internal,proto3" json:"internal,omitempty"`
   401  	// Types that are valid to be assigned to Info:
   402  	//	*Alert_TsInfo_
   403  	//	*Alert_LogInfo_
   404  	Info isAlert_Info `protobuf_oneof:"info"`
   405  }
   406  
   407  func (m *Alert) Reset() {
   408  	*m = Alert{}
   409  	if protoimpl.UnsafeEnabled {
   410  		mi := &edgelq_alerting_proto_v1_alert_proto_msgTypes[0]
   411  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(m))
   412  		ms.StoreMessageInfo(mi)
   413  	}
   414  }
   415  
   416  func (m *Alert) String() string {
   417  	return protoimpl.X.MessageStringOf(m)
   418  }
   419  
   420  func (*Alert) ProtoMessage() {}
   421  
   422  func (m *Alert) ProtoReflect() preflect.Message {
   423  	mi := &edgelq_alerting_proto_v1_alert_proto_msgTypes[0]
   424  	if protoimpl.UnsafeEnabled && m != nil {
   425  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(m))
   426  		if ms.LoadMessageInfo() == nil {
   427  			ms.StoreMessageInfo(mi)
   428  		}
   429  		return ms
   430  	}
   431  	return mi.MessageOf(m)
   432  }
   433  
   434  func (*Alert) GotenMessage() {}
   435  
   436  // Deprecated, Use Alert.ProtoReflect.Descriptor instead.
   437  func (*Alert) Descriptor() ([]byte, []int) {
   438  	return edgelq_alerting_proto_v1_alert_proto_rawDescGZIP(), []int{0}
   439  }
   440  
   441  func (m *Alert) Unmarshal(b []byte) error {
   442  	return proto.Unmarshal(b, m)
   443  }
   444  
   445  func (m *Alert) Marshal() ([]byte, error) {
   446  	return proto.Marshal(m)
   447  }
   448  
   449  func (m *Alert) MarshalJSON() ([]byte, error) {
   450  	return protojson.MarshalOptions{}.Marshal(m)
   451  }
   452  
   453  func (m *Alert) UnmarshalJSON(data []byte) error {
   454  	return protojson.Unmarshal(data, m)
   455  }
   456  
   457  type isAlert_Info interface {
   458  	isAlert_Info()
   459  }
   460  
   461  type Alert_TsInfo_ struct {
   462  	// Informs about alert based on TimeSeries data.
   463  	TsInfo *Alert_TsInfo `protobuf:"bytes,6,opt,name=ts_info,json=tsInfo,proto3,oneof"`
   464  }
   465  type Alert_LogInfo_ struct {
   466  	// Informs about alert based on Log data.
   467  	LogInfo *Alert_LogInfo `protobuf:"bytes,7,opt,name=log_info,json=logInfo,proto3,oneof"`
   468  }
   469  
   470  func (*Alert_TsInfo_) isAlert_Info()  {}
   471  func (*Alert_LogInfo_) isAlert_Info() {}
   472  func (m *Alert) GetName() *Name {
   473  	if m != nil {
   474  		return m.Name
   475  	}
   476  	return nil
   477  }
   478  
   479  func (m *Alert) GetMetadata() *meta.Meta {
   480  	if m != nil {
   481  		return m.Metadata
   482  	}
   483  	return nil
   484  }
   485  
   486  func (m *Alert) GetDisplayName() string {
   487  	if m != nil {
   488  		return m.DisplayName
   489  	}
   490  	return ""
   491  }
   492  
   493  func (m *Alert) GetAlertingResource() *meta.OwnerReference {
   494  	if m != nil {
   495  		return m.AlertingResource
   496  	}
   497  	return nil
   498  }
   499  
   500  func (m *Alert) GetState() *Alert_State {
   501  	if m != nil {
   502  		return m.State
   503  	}
   504  	return nil
   505  }
   506  
   507  func (m *Alert) GetInternal() *Alert_Internal {
   508  	if m != nil {
   509  		return m.Internal
   510  	}
   511  	return nil
   512  }
   513  
   514  func (m *Alert) GetInfo() isAlert_Info {
   515  	if m != nil {
   516  		return m.Info
   517  	}
   518  	return nil
   519  }
   520  func (m *Alert) GetTsInfo() *Alert_TsInfo {
   521  	if x, ok := m.GetInfo().(*Alert_TsInfo_); ok {
   522  		return x.TsInfo
   523  	}
   524  	return nil
   525  }
   526  func (m *Alert) GetLogInfo() *Alert_LogInfo {
   527  	if x, ok := m.GetInfo().(*Alert_LogInfo_); ok {
   528  		return x.LogInfo
   529  	}
   530  	return nil
   531  }
   532  func (m *Alert) SetName(fv *Name) {
   533  	if m == nil {
   534  		panic(fmt.Errorf("can't set %s on nil %s", "Name", "Alert"))
   535  	}
   536  	m.Name = fv
   537  }
   538  
   539  func (m *Alert) SetMetadata(fv *meta.Meta) {
   540  	if m == nil {
   541  		panic(fmt.Errorf("can't set %s on nil %s", "Metadata", "Alert"))
   542  	}
   543  	m.Metadata = fv
   544  }
   545  
   546  func (m *Alert) SetDisplayName(fv string) {
   547  	if m == nil {
   548  		panic(fmt.Errorf("can't set %s on nil %s", "DisplayName", "Alert"))
   549  	}
   550  	m.DisplayName = fv
   551  }
   552  
   553  func (m *Alert) SetAlertingResource(fv *meta.OwnerReference) {
   554  	if m == nil {
   555  		panic(fmt.Errorf("can't set %s on nil %s", "AlertingResource", "Alert"))
   556  	}
   557  	m.AlertingResource = fv
   558  }
   559  
   560  func (m *Alert) SetState(fv *Alert_State) {
   561  	if m == nil {
   562  		panic(fmt.Errorf("can't set %s on nil %s", "State", "Alert"))
   563  	}
   564  	m.State = fv
   565  }
   566  
   567  func (m *Alert) SetInternal(fv *Alert_Internal) {
   568  	if m == nil {
   569  		panic(fmt.Errorf("can't set %s on nil %s", "Internal", "Alert"))
   570  	}
   571  	m.Internal = fv
   572  }
   573  
   574  func (m *Alert) SetInfo(ofv isAlert_Info) {
   575  	if m == nil {
   576  		panic(fmt.Errorf("can't set %s on nil %s", "isAlert_Info", "Alert"))
   577  	}
   578  	m.Info = ofv
   579  }
   580  func (m *Alert) SetTsInfo(fv *Alert_TsInfo) {
   581  	m.SetInfo(&Alert_TsInfo_{TsInfo: fv})
   582  }
   583  func (m *Alert) SetLogInfo(fv *Alert_LogInfo) {
   584  	m.SetInfo(&Alert_LogInfo_{LogInfo: fv})
   585  }
   586  
   587  // TsInfo contains Alert data created based on TimeSeries data.
   588  type Alert_TsInfo struct {
   589  	state         protoimpl.MessageState
   590  	sizeCache     protoimpl.SizeCache
   591  	unknownFields protoimpl.UnknownFields
   592  	// Type of TimeSeries alert - based on ANOMALY or THRESHOLD.
   593  	Type Alert_TsInfo_Type `protobuf:"varint,1,opt,name=type,proto3,enum=ntt.alerting.v1.Alert_TsInfo_Type" json:"type,omitempty"`
   594  	// If alert type is ANOMALY, then this field is populated
   595  	// and informs for what window size anomaly was detected.
   596  	AnomalyWindowSize *durationpb.Duration `protobuf:"bytes,2,opt,name=anomaly_window_size,json=anomalyWindowSize,proto3" json:"anomaly_window_size,omitempty"`
   597  	// Binary key describing common metric/resource labels
   598  	CommonKey []byte `protobuf:"bytes,3,opt,name=common_key,json=commonKey,proto3" json:"common_key,omitempty"`
   599  	// List of metric types used in TsCondition
   600  	MetricTypes []string `protobuf:"bytes,4,rep,name=metric_types,json=metricTypes,proto3" json:"metric_types,omitempty"`
   601  	// List of resource types used in TsCondition
   602  	ResourceTypes []string `protobuf:"bytes,5,rep,name=resource_types,json=resourceTypes,proto3" json:"resource_types,omitempty"`
   603  	// Metric labels by which we grouped TimeSeries data.
   604  	CommonMetricLabels map[string]string `protobuf:"bytes,6,rep,name=common_metric_labels,json=commonMetricLabels,proto3" json:"common_metric_labels,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
   605  	// Resource labels by which we grouped TimeSeries data.
   606  	CommonResourceLabels map[string]string `protobuf:"bytes,7,rep,name=common_resource_labels,json=commonResourceLabels,proto3" json:"common_resource_labels,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
   607  	// All TimeSeries corresponding to each TsCondition.Spec.Query object,
   608  	// according to unique combination of group by fields: resource/metric
   609  	// labels.
   610  	TimeSeries []*Alert_TsInfo_TimeSeries `protobuf:"bytes,8,rep,name=time_series,json=timeSeries,proto3" json:"time_series,omitempty"`
   611  }
   612  
   613  func (m *Alert_TsInfo) Reset() {
   614  	*m = Alert_TsInfo{}
   615  	if protoimpl.UnsafeEnabled {
   616  		mi := &edgelq_alerting_proto_v1_alert_proto_msgTypes[1]
   617  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(m))
   618  		ms.StoreMessageInfo(mi)
   619  	}
   620  }
   621  
   622  func (m *Alert_TsInfo) String() string {
   623  	return protoimpl.X.MessageStringOf(m)
   624  }
   625  
   626  func (*Alert_TsInfo) ProtoMessage() {}
   627  
   628  func (m *Alert_TsInfo) ProtoReflect() preflect.Message {
   629  	mi := &edgelq_alerting_proto_v1_alert_proto_msgTypes[1]
   630  	if protoimpl.UnsafeEnabled && m != nil {
   631  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(m))
   632  		if ms.LoadMessageInfo() == nil {
   633  			ms.StoreMessageInfo(mi)
   634  		}
   635  		return ms
   636  	}
   637  	return mi.MessageOf(m)
   638  }
   639  
   640  func (*Alert_TsInfo) GotenMessage() {}
   641  
   642  // Deprecated, Use Alert_TsInfo.ProtoReflect.Descriptor instead.
   643  func (*Alert_TsInfo) Descriptor() ([]byte, []int) {
   644  	return edgelq_alerting_proto_v1_alert_proto_rawDescGZIP(), []int{0, 0}
   645  }
   646  
   647  func (m *Alert_TsInfo) Unmarshal(b []byte) error {
   648  	return proto.Unmarshal(b, m)
   649  }
   650  
   651  func (m *Alert_TsInfo) Marshal() ([]byte, error) {
   652  	return proto.Marshal(m)
   653  }
   654  
   655  func (m *Alert_TsInfo) MarshalJSON() ([]byte, error) {
   656  	return protojson.MarshalOptions{}.Marshal(m)
   657  }
   658  
   659  func (m *Alert_TsInfo) UnmarshalJSON(data []byte) error {
   660  	return protojson.Unmarshal(data, m)
   661  }
   662  
   663  func (m *Alert_TsInfo) GetType() Alert_TsInfo_Type {
   664  	if m != nil {
   665  		return m.Type
   666  	}
   667  	return Alert_TsInfo_UNDEFINED
   668  }
   669  
   670  func (m *Alert_TsInfo) GetAnomalyWindowSize() *durationpb.Duration {
   671  	if m != nil {
   672  		return m.AnomalyWindowSize
   673  	}
   674  	return nil
   675  }
   676  
   677  func (m *Alert_TsInfo) GetCommonKey() []byte {
   678  	if m != nil {
   679  		return m.CommonKey
   680  	}
   681  	return nil
   682  }
   683  
   684  func (m *Alert_TsInfo) GetMetricTypes() []string {
   685  	if m != nil {
   686  		return m.MetricTypes
   687  	}
   688  	return nil
   689  }
   690  
   691  func (m *Alert_TsInfo) GetResourceTypes() []string {
   692  	if m != nil {
   693  		return m.ResourceTypes
   694  	}
   695  	return nil
   696  }
   697  
   698  func (m *Alert_TsInfo) GetCommonMetricLabels() map[string]string {
   699  	if m != nil {
   700  		return m.CommonMetricLabels
   701  	}
   702  	return nil
   703  }
   704  
   705  func (m *Alert_TsInfo) GetCommonResourceLabels() map[string]string {
   706  	if m != nil {
   707  		return m.CommonResourceLabels
   708  	}
   709  	return nil
   710  }
   711  
   712  func (m *Alert_TsInfo) GetTimeSeries() []*Alert_TsInfo_TimeSeries {
   713  	if m != nil {
   714  		return m.TimeSeries
   715  	}
   716  	return nil
   717  }
   718  
   719  func (m *Alert_TsInfo) SetType(fv Alert_TsInfo_Type) {
   720  	if m == nil {
   721  		panic(fmt.Errorf("can't set %s on nil %s", "Type", "Alert_TsInfo"))
   722  	}
   723  	m.Type = fv
   724  }
   725  
   726  func (m *Alert_TsInfo) SetAnomalyWindowSize(fv *durationpb.Duration) {
   727  	if m == nil {
   728  		panic(fmt.Errorf("can't set %s on nil %s", "AnomalyWindowSize", "Alert_TsInfo"))
   729  	}
   730  	m.AnomalyWindowSize = fv
   731  }
   732  
   733  func (m *Alert_TsInfo) SetCommonKey(fv []byte) {
   734  	if m == nil {
   735  		panic(fmt.Errorf("can't set %s on nil %s", "CommonKey", "Alert_TsInfo"))
   736  	}
   737  	m.CommonKey = fv
   738  }
   739  
   740  func (m *Alert_TsInfo) SetMetricTypes(fv []string) {
   741  	if m == nil {
   742  		panic(fmt.Errorf("can't set %s on nil %s", "MetricTypes", "Alert_TsInfo"))
   743  	}
   744  	m.MetricTypes = fv
   745  }
   746  
   747  func (m *Alert_TsInfo) SetResourceTypes(fv []string) {
   748  	if m == nil {
   749  		panic(fmt.Errorf("can't set %s on nil %s", "ResourceTypes", "Alert_TsInfo"))
   750  	}
   751  	m.ResourceTypes = fv
   752  }
   753  
   754  func (m *Alert_TsInfo) SetCommonMetricLabels(fv map[string]string) {
   755  	if m == nil {
   756  		panic(fmt.Errorf("can't set %s on nil %s", "CommonMetricLabels", "Alert_TsInfo"))
   757  	}
   758  	m.CommonMetricLabels = fv
   759  }
   760  
   761  func (m *Alert_TsInfo) SetCommonResourceLabels(fv map[string]string) {
   762  	if m == nil {
   763  		panic(fmt.Errorf("can't set %s on nil %s", "CommonResourceLabels", "Alert_TsInfo"))
   764  	}
   765  	m.CommonResourceLabels = fv
   766  }
   767  
   768  func (m *Alert_TsInfo) SetTimeSeries(fv []*Alert_TsInfo_TimeSeries) {
   769  	if m == nil {
   770  		panic(fmt.Errorf("can't set %s on nil %s", "TimeSeries", "Alert_TsInfo"))
   771  	}
   772  	m.TimeSeries = fv
   773  }
   774  
   775  // LogInfo contains Alert data created based on Log data.
   776  type Alert_LogInfo struct {
   777  	state         protoimpl.MessageState
   778  	sizeCache     protoimpl.SizeCache
   779  	unknownFields protoimpl.UnknownFields
   780  	// Binary key describing common labels
   781  	CommonKey []byte `protobuf:"bytes,1,opt,name=common_key,json=commonKey,proto3" json:"common_key,omitempty"`
   782  	// List of log descriptor types specified in parent LogCondition
   783  	LogTypes []string `protobuf:"bytes,2,rep,name=log_types,json=logTypes,proto3" json:"log_types,omitempty"`
   784  	// Log labels by which we grouped Logs data.
   785  	CommonLogLabels map[string]string `protobuf:"bytes,3,rep,name=common_log_labels,json=commonLogLabels,proto3" json:"common_log_labels,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
   786  	// Content of violating log
   787  	ViolatingLog string `protobuf:"bytes,4,opt,name=violating_log,json=violatingLog,proto3" json:"violating_log,omitempty"`
   788  }
   789  
   790  func (m *Alert_LogInfo) Reset() {
   791  	*m = Alert_LogInfo{}
   792  	if protoimpl.UnsafeEnabled {
   793  		mi := &edgelq_alerting_proto_v1_alert_proto_msgTypes[2]
   794  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(m))
   795  		ms.StoreMessageInfo(mi)
   796  	}
   797  }
   798  
   799  func (m *Alert_LogInfo) String() string {
   800  	return protoimpl.X.MessageStringOf(m)
   801  }
   802  
   803  func (*Alert_LogInfo) ProtoMessage() {}
   804  
   805  func (m *Alert_LogInfo) ProtoReflect() preflect.Message {
   806  	mi := &edgelq_alerting_proto_v1_alert_proto_msgTypes[2]
   807  	if protoimpl.UnsafeEnabled && m != nil {
   808  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(m))
   809  		if ms.LoadMessageInfo() == nil {
   810  			ms.StoreMessageInfo(mi)
   811  		}
   812  		return ms
   813  	}
   814  	return mi.MessageOf(m)
   815  }
   816  
   817  func (*Alert_LogInfo) GotenMessage() {}
   818  
   819  // Deprecated, Use Alert_LogInfo.ProtoReflect.Descriptor instead.
   820  func (*Alert_LogInfo) Descriptor() ([]byte, []int) {
   821  	return edgelq_alerting_proto_v1_alert_proto_rawDescGZIP(), []int{0, 1}
   822  }
   823  
   824  func (m *Alert_LogInfo) Unmarshal(b []byte) error {
   825  	return proto.Unmarshal(b, m)
   826  }
   827  
   828  func (m *Alert_LogInfo) Marshal() ([]byte, error) {
   829  	return proto.Marshal(m)
   830  }
   831  
   832  func (m *Alert_LogInfo) MarshalJSON() ([]byte, error) {
   833  	return protojson.MarshalOptions{}.Marshal(m)
   834  }
   835  
   836  func (m *Alert_LogInfo) UnmarshalJSON(data []byte) error {
   837  	return protojson.Unmarshal(data, m)
   838  }
   839  
   840  func (m *Alert_LogInfo) GetCommonKey() []byte {
   841  	if m != nil {
   842  		return m.CommonKey
   843  	}
   844  	return nil
   845  }
   846  
   847  func (m *Alert_LogInfo) GetLogTypes() []string {
   848  	if m != nil {
   849  		return m.LogTypes
   850  	}
   851  	return nil
   852  }
   853  
   854  func (m *Alert_LogInfo) GetCommonLogLabels() map[string]string {
   855  	if m != nil {
   856  		return m.CommonLogLabels
   857  	}
   858  	return nil
   859  }
   860  
   861  func (m *Alert_LogInfo) GetViolatingLog() string {
   862  	if m != nil {
   863  		return m.ViolatingLog
   864  	}
   865  	return ""
   866  }
   867  
   868  func (m *Alert_LogInfo) SetCommonKey(fv []byte) {
   869  	if m == nil {
   870  		panic(fmt.Errorf("can't set %s on nil %s", "CommonKey", "Alert_LogInfo"))
   871  	}
   872  	m.CommonKey = fv
   873  }
   874  
   875  func (m *Alert_LogInfo) SetLogTypes(fv []string) {
   876  	if m == nil {
   877  		panic(fmt.Errorf("can't set %s on nil %s", "LogTypes", "Alert_LogInfo"))
   878  	}
   879  	m.LogTypes = fv
   880  }
   881  
   882  func (m *Alert_LogInfo) SetCommonLogLabels(fv map[string]string) {
   883  	if m == nil {
   884  		panic(fmt.Errorf("can't set %s on nil %s", "CommonLogLabels", "Alert_LogInfo"))
   885  	}
   886  	m.CommonLogLabels = fv
   887  }
   888  
   889  func (m *Alert_LogInfo) SetViolatingLog(fv string) {
   890  	if m == nil {
   891  		panic(fmt.Errorf("can't set %s on nil %s", "ViolatingLog", "Alert_LogInfo"))
   892  	}
   893  	m.ViolatingLog = fv
   894  }
   895  
   896  // State is responsible for managing lifecycle of Alert.
   897  // Each Alert
   898  type Alert_State struct {
   899  	state         protoimpl.MessageState
   900  	sizeCache     protoimpl.SizeCache
   901  	unknownFields protoimpl.UnknownFields
   902  	// Informs if alert is still firing
   903  	IsFiring bool `protobuf:"varint,1,opt,name=is_firing,json=isFiring,proto3" json:"is_firing,omitempty"`
   904  	// Time when alert was raised
   905  	StartTime *timestamppb.Timestamp `protobuf:"bytes,2,opt,name=start_time,json=startTime,proto3" json:"start_time,omitempty"`
   906  	// Time when alert was silenced, if no longer firing
   907  	EndTime *timestamppb.Timestamp `protobuf:"bytes,3,opt,name=end_time,json=endTime,proto3" json:"end_time,omitempty"`
   908  	// Informs where notifications about alert state changes
   909  	// must be sent.
   910  	NotificationStatuses []*Alert_State_Notification `protobuf:"bytes,4,rep,name=notification_statuses,json=notificationStatuses,proto3" json:"notification_statuses,omitempty"`
   911  	// Informs who is handling alert as of now.
   912  	EscalationLevel Alert_State_EscalationLevel `protobuf:"varint,5,opt,name=escalation_level,json=escalationLevel,proto3,enum=ntt.alerting.v1.Alert_State_EscalationLevel" json:"escalation_level,omitempty"`
   913  	// Informs current state of alert handling by AI Agent if
   914  	// escalation level is AI_AGENT. If alert is on operator side,
   915  	// it will contain last decision made by AI agent.
   916  	AiAgentHandlingState Alert_State_AiHandlingState `protobuf:"varint,6,opt,name=ai_agent_handling_state,json=aiAgentHandlingState,proto3,enum=ntt.alerting.v1.Alert_State_AiHandlingState" json:"ai_agent_handling_state,omitempty"`
   917  	// Informs when was the last state change of ai_agent_handling_state field.
   918  	AiAgentLastStateChangeTime *timestamppb.Timestamp `protobuf:"bytes,7,opt,name=ai_agent_last_state_change_time,json=aiAgentLastStateChangeTime,proto3" json:"ai_agent_last_state_change_time,omitempty"`
   919  	// Contains AI Agent troubleshooting notes. If agent SSHed to alerting
   920  	// resource, it will also contain history of shell for visibility purposes.
   921  	AiAgentDiagnosisNotes string `protobuf:"bytes,8,opt,name=ai_agent_diagnosis_notes,json=aiAgentDiagnosisNotes,proto3" json:"ai_agent_diagnosis_notes,omitempty"`
   922  	// Optional remediation information from AI Agent. This field may be
   923  	// populated when field ai_agent_handling_state switches to
   924  	// AI_REMEDIATION_PROPOSED, if necessary. For example, if AI Agent wants to
   925  	// SSH and execute some commands, it will contain these commands.
   926  	AiRemediationArg string `protobuf:"bytes,9,opt,name=ai_remediation_arg,json=aiRemediationArg,proto3" json:"ai_remediation_arg,omitempty"`
   927  	// Remediation type proposed by AI Agent to fix an alert. This field is
   928  	// populated when field ai_agent_handling_state switches to
   929  	// AI_REMEDIATION_PROPOSED. Informs what kind of remediation AI Agent wants
   930  	// to execute.
   931  	AiRemediation *rcommon.PolicySpec_AIAgentHandling_Remediation `protobuf:"bytes,10,opt,name=ai_remediation,json=aiRemediation,proto3" json:"ai_remediation,omitempty"`
   932  	// Informs current state of alert handling by Operator if
   933  	// escalation level is OPERATOR. If alert is on AI_AGENT side,
   934  	// it will contain last decision made by operator.
   935  	OperatorHandlingState Alert_State_OperatorHandlingState `protobuf:"varint,11,opt,name=operator_handling_state,json=operatorHandlingState,proto3,enum=ntt.alerting.v1.Alert_State_OperatorHandlingState" json:"operator_handling_state,omitempty"`
   936  	// Informs when was the last state change of operator_handling_state field.
   937  	OperatorLastStateChangeTime *timestamppb.Timestamp `protobuf:"bytes,12,opt,name=operator_last_state_change_time,json=operatorLastStateChangeTime,proto3" json:"operator_last_state_change_time,omitempty"`
   938  	// Optional operator notes.
   939  	OperatorNotes string `protobuf:"bytes,13,opt,name=operator_notes,json=operatorNotes,proto3" json:"operator_notes,omitempty"`
   940  	// Alert has ended and any needed notifications are processed
   941  	LifecycleCompleted bool `protobuf:"varint,14,opt,name=lifecycle_completed,json=lifecycleCompleted,proto3" json:"lifecycle_completed,omitempty"`
   942  }
   943  
   944  func (m *Alert_State) Reset() {
   945  	*m = Alert_State{}
   946  	if protoimpl.UnsafeEnabled {
   947  		mi := &edgelq_alerting_proto_v1_alert_proto_msgTypes[3]
   948  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(m))
   949  		ms.StoreMessageInfo(mi)
   950  	}
   951  }
   952  
   953  func (m *Alert_State) String() string {
   954  	return protoimpl.X.MessageStringOf(m)
   955  }
   956  
   957  func (*Alert_State) ProtoMessage() {}
   958  
   959  func (m *Alert_State) ProtoReflect() preflect.Message {
   960  	mi := &edgelq_alerting_proto_v1_alert_proto_msgTypes[3]
   961  	if protoimpl.UnsafeEnabled && m != nil {
   962  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(m))
   963  		if ms.LoadMessageInfo() == nil {
   964  			ms.StoreMessageInfo(mi)
   965  		}
   966  		return ms
   967  	}
   968  	return mi.MessageOf(m)
   969  }
   970  
   971  func (*Alert_State) GotenMessage() {}
   972  
   973  // Deprecated, Use Alert_State.ProtoReflect.Descriptor instead.
   974  func (*Alert_State) Descriptor() ([]byte, []int) {
   975  	return edgelq_alerting_proto_v1_alert_proto_rawDescGZIP(), []int{0, 2}
   976  }
   977  
   978  func (m *Alert_State) Unmarshal(b []byte) error {
   979  	return proto.Unmarshal(b, m)
   980  }
   981  
   982  func (m *Alert_State) Marshal() ([]byte, error) {
   983  	return proto.Marshal(m)
   984  }
   985  
   986  func (m *Alert_State) MarshalJSON() ([]byte, error) {
   987  	return protojson.MarshalOptions{}.Marshal(m)
   988  }
   989  
   990  func (m *Alert_State) UnmarshalJSON(data []byte) error {
   991  	return protojson.Unmarshal(data, m)
   992  }
   993  
   994  func (m *Alert_State) GetIsFiring() bool {
   995  	if m != nil {
   996  		return m.IsFiring
   997  	}
   998  	return false
   999  }
  1000  
  1001  func (m *Alert_State) GetStartTime() *timestamppb.Timestamp {
  1002  	if m != nil {
  1003  		return m.StartTime
  1004  	}
  1005  	return nil
  1006  }
  1007  
  1008  func (m *Alert_State) GetEndTime() *timestamppb.Timestamp {
  1009  	if m != nil {
  1010  		return m.EndTime
  1011  	}
  1012  	return nil
  1013  }
  1014  
  1015  func (m *Alert_State) GetNotificationStatuses() []*Alert_State_Notification {
  1016  	if m != nil {
  1017  		return m.NotificationStatuses
  1018  	}
  1019  	return nil
  1020  }
  1021  
  1022  func (m *Alert_State) GetEscalationLevel() Alert_State_EscalationLevel {
  1023  	if m != nil {
  1024  		return m.EscalationLevel
  1025  	}
  1026  	return Alert_State_NONE
  1027  }
  1028  
  1029  func (m *Alert_State) GetAiAgentHandlingState() Alert_State_AiHandlingState {
  1030  	if m != nil {
  1031  		return m.AiAgentHandlingState
  1032  	}
  1033  	return Alert_State_AI_AGENT_NOT_INVOLVED
  1034  }
  1035  
  1036  func (m *Alert_State) GetAiAgentLastStateChangeTime() *timestamppb.Timestamp {
  1037  	if m != nil {
  1038  		return m.AiAgentLastStateChangeTime
  1039  	}
  1040  	return nil
  1041  }
  1042  
  1043  func (m *Alert_State) GetAiAgentDiagnosisNotes() string {
  1044  	if m != nil {
  1045  		return m.AiAgentDiagnosisNotes
  1046  	}
  1047  	return ""
  1048  }
  1049  
  1050  func (m *Alert_State) GetAiRemediationArg() string {
  1051  	if m != nil {
  1052  		return m.AiRemediationArg
  1053  	}
  1054  	return ""
  1055  }
  1056  
  1057  func (m *Alert_State) GetAiRemediation() *rcommon.PolicySpec_AIAgentHandling_Remediation {
  1058  	if m != nil {
  1059  		return m.AiRemediation
  1060  	}
  1061  	return nil
  1062  }
  1063  
  1064  func (m *Alert_State) GetOperatorHandlingState() Alert_State_OperatorHandlingState {
  1065  	if m != nil {
  1066  		return m.OperatorHandlingState
  1067  	}
  1068  	return Alert_State_OP_NOT_INVOLVED
  1069  }
  1070  
  1071  func (m *Alert_State) GetOperatorLastStateChangeTime() *timestamppb.Timestamp {
  1072  	if m != nil {
  1073  		return m.OperatorLastStateChangeTime
  1074  	}
  1075  	return nil
  1076  }
  1077  
  1078  func (m *Alert_State) GetOperatorNotes() string {
  1079  	if m != nil {
  1080  		return m.OperatorNotes
  1081  	}
  1082  	return ""
  1083  }
  1084  
  1085  func (m *Alert_State) GetLifecycleCompleted() bool {
  1086  	if m != nil {
  1087  		return m.LifecycleCompleted
  1088  	}
  1089  	return false
  1090  }
  1091  
  1092  func (m *Alert_State) SetIsFiring(fv bool) {
  1093  	if m == nil {
  1094  		panic(fmt.Errorf("can't set %s on nil %s", "IsFiring", "Alert_State"))
  1095  	}
  1096  	m.IsFiring = fv
  1097  }
  1098  
  1099  func (m *Alert_State) SetStartTime(fv *timestamppb.Timestamp) {
  1100  	if m == nil {
  1101  		panic(fmt.Errorf("can't set %s on nil %s", "StartTime", "Alert_State"))
  1102  	}
  1103  	m.StartTime = fv
  1104  }
  1105  
  1106  func (m *Alert_State) SetEndTime(fv *timestamppb.Timestamp) {
  1107  	if m == nil {
  1108  		panic(fmt.Errorf("can't set %s on nil %s", "EndTime", "Alert_State"))
  1109  	}
  1110  	m.EndTime = fv
  1111  }
  1112  
  1113  func (m *Alert_State) SetNotificationStatuses(fv []*Alert_State_Notification) {
  1114  	if m == nil {
  1115  		panic(fmt.Errorf("can't set %s on nil %s", "NotificationStatuses", "Alert_State"))
  1116  	}
  1117  	m.NotificationStatuses = fv
  1118  }
  1119  
  1120  func (m *Alert_State) SetEscalationLevel(fv Alert_State_EscalationLevel) {
  1121  	if m == nil {
  1122  		panic(fmt.Errorf("can't set %s on nil %s", "EscalationLevel", "Alert_State"))
  1123  	}
  1124  	m.EscalationLevel = fv
  1125  }
  1126  
  1127  func (m *Alert_State) SetAiAgentHandlingState(fv Alert_State_AiHandlingState) {
  1128  	if m == nil {
  1129  		panic(fmt.Errorf("can't set %s on nil %s", "AiAgentHandlingState", "Alert_State"))
  1130  	}
  1131  	m.AiAgentHandlingState = fv
  1132  }
  1133  
  1134  func (m *Alert_State) SetAiAgentLastStateChangeTime(fv *timestamppb.Timestamp) {
  1135  	if m == nil {
  1136  		panic(fmt.Errorf("can't set %s on nil %s", "AiAgentLastStateChangeTime", "Alert_State"))
  1137  	}
  1138  	m.AiAgentLastStateChangeTime = fv
  1139  }
  1140  
  1141  func (m *Alert_State) SetAiAgentDiagnosisNotes(fv string) {
  1142  	if m == nil {
  1143  		panic(fmt.Errorf("can't set %s on nil %s", "AiAgentDiagnosisNotes", "Alert_State"))
  1144  	}
  1145  	m.AiAgentDiagnosisNotes = fv
  1146  }
  1147  
  1148  func (m *Alert_State) SetAiRemediationArg(fv string) {
  1149  	if m == nil {
  1150  		panic(fmt.Errorf("can't set %s on nil %s", "AiRemediationArg", "Alert_State"))
  1151  	}
  1152  	m.AiRemediationArg = fv
  1153  }
  1154  
  1155  func (m *Alert_State) SetAiRemediation(fv *rcommon.PolicySpec_AIAgentHandling_Remediation) {
  1156  	if m == nil {
  1157  		panic(fmt.Errorf("can't set %s on nil %s", "AiRemediation", "Alert_State"))
  1158  	}
  1159  	m.AiRemediation = fv
  1160  }
  1161  
  1162  func (m *Alert_State) SetOperatorHandlingState(fv Alert_State_OperatorHandlingState) {
  1163  	if m == nil {
  1164  		panic(fmt.Errorf("can't set %s on nil %s", "OperatorHandlingState", "Alert_State"))
  1165  	}
  1166  	m.OperatorHandlingState = fv
  1167  }
  1168  
  1169  func (m *Alert_State) SetOperatorLastStateChangeTime(fv *timestamppb.Timestamp) {
  1170  	if m == nil {
  1171  		panic(fmt.Errorf("can't set %s on nil %s", "OperatorLastStateChangeTime", "Alert_State"))
  1172  	}
  1173  	m.OperatorLastStateChangeTime = fv
  1174  }
  1175  
  1176  func (m *Alert_State) SetOperatorNotes(fv string) {
  1177  	if m == nil {
  1178  		panic(fmt.Errorf("can't set %s on nil %s", "OperatorNotes", "Alert_State"))
  1179  	}
  1180  	m.OperatorNotes = fv
  1181  }
  1182  
  1183  func (m *Alert_State) SetLifecycleCompleted(fv bool) {
  1184  	if m == nil {
  1185  		panic(fmt.Errorf("can't set %s on nil %s", "LifecycleCompleted", "Alert_State"))
  1186  	}
  1187  	m.LifecycleCompleted = fv
  1188  }
  1189  
  1190  // Internal data.
  1191  type Alert_Internal struct {
  1192  	state            protoimpl.MessageState
  1193  	sizeCache        protoimpl.SizeCache
  1194  	unknownFields    protoimpl.UnknownFields
  1195  	AlertingLocation rcommon.PolicySpec_ProcessingLocation `protobuf:"varint,1,opt,name=alerting_location,json=alertingLocation,proto3,enum=ntt.alerting.v1.PolicySpec_ProcessingLocation" json:"alerting_location,omitempty"`
  1196  }
  1197  
  1198  func (m *Alert_Internal) Reset() {
  1199  	*m = Alert_Internal{}
  1200  	if protoimpl.UnsafeEnabled {
  1201  		mi := &edgelq_alerting_proto_v1_alert_proto_msgTypes[4]
  1202  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(m))
  1203  		ms.StoreMessageInfo(mi)
  1204  	}
  1205  }
  1206  
  1207  func (m *Alert_Internal) String() string {
  1208  	return protoimpl.X.MessageStringOf(m)
  1209  }
  1210  
  1211  func (*Alert_Internal) ProtoMessage() {}
  1212  
  1213  func (m *Alert_Internal) ProtoReflect() preflect.Message {
  1214  	mi := &edgelq_alerting_proto_v1_alert_proto_msgTypes[4]
  1215  	if protoimpl.UnsafeEnabled && m != nil {
  1216  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(m))
  1217  		if ms.LoadMessageInfo() == nil {
  1218  			ms.StoreMessageInfo(mi)
  1219  		}
  1220  		return ms
  1221  	}
  1222  	return mi.MessageOf(m)
  1223  }
  1224  
  1225  func (*Alert_Internal) GotenMessage() {}
  1226  
  1227  // Deprecated, Use Alert_Internal.ProtoReflect.Descriptor instead.
  1228  func (*Alert_Internal) Descriptor() ([]byte, []int) {
  1229  	return edgelq_alerting_proto_v1_alert_proto_rawDescGZIP(), []int{0, 3}
  1230  }
  1231  
  1232  func (m *Alert_Internal) Unmarshal(b []byte) error {
  1233  	return proto.Unmarshal(b, m)
  1234  }
  1235  
  1236  func (m *Alert_Internal) Marshal() ([]byte, error) {
  1237  	return proto.Marshal(m)
  1238  }
  1239  
  1240  func (m *Alert_Internal) MarshalJSON() ([]byte, error) {
  1241  	return protojson.MarshalOptions{}.Marshal(m)
  1242  }
  1243  
  1244  func (m *Alert_Internal) UnmarshalJSON(data []byte) error {
  1245  	return protojson.Unmarshal(data, m)
  1246  }
  1247  
  1248  func (m *Alert_Internal) GetAlertingLocation() rcommon.PolicySpec_ProcessingLocation {
  1249  	if m != nil {
  1250  		return m.AlertingLocation
  1251  	}
  1252  	return rcommon.PolicySpec_UNDEFINED
  1253  }
  1254  
  1255  func (m *Alert_Internal) SetAlertingLocation(fv rcommon.PolicySpec_ProcessingLocation) {
  1256  	if m == nil {
  1257  		panic(fmt.Errorf("can't set %s on nil %s", "AlertingLocation", "Alert_Internal"))
  1258  	}
  1259  	m.AlertingLocation = fv
  1260  }
  1261  
  1262  // TimeSeries object matches single TsCondition.Spec.Query object
  1263  // in parent TsCondition. It contains TimeSeries data points
  1264  // at a time of violation, along with relevant information, like
  1265  // thresholds specified in TsEntry.
  1266  type Alert_TsInfo_TimeSeries struct {
  1267  	state         protoimpl.MessageState
  1268  	sizeCache     protoimpl.SizeCache
  1269  	unknownFields protoimpl.UnknownFields
  1270  	// Query name of the matching TsCondition.Spec.Query object
  1271  	QueryName string `protobuf:"bytes,1,opt,name=query_name,json=queryName,proto3" json:"query_name,omitempty"`
  1272  	// TimeSeries data values during violation start. They will
  1273  	// be outside of lower/upper thresholds range for THRESHOLD
  1274  	// type alerts.
  1275  	Values []float64 `protobuf:"fixed64,2,rep,packed,name=values,proto3" json:"values,omitempty"`
  1276  	// Corresponding detected anomaly values (square errors). Populated
  1277  	// for ANOMALY type of alerts. They will be larger than
  1278  	// anomaly threshold for ANOMALY type of alerts.
  1279  	Anomalies []float64 `protobuf:"fixed64,3,rep,packed,name=anomalies,proto3" json:"anomalies,omitempty"`
  1280  	// Upper threshold that was active during violation.
  1281  	// Populated for THRESHOLD type of alerts.
  1282  	UpperThreshold *rcommon.AlertingThreshold `protobuf:"bytes,4,opt,name=upper_threshold,json=upperThreshold,proto3" json:"upper_threshold,omitempty"`
  1283  	// Lower threshold that was active during violation.
  1284  	// Populated for THRESHOLD type of alerts.
  1285  	LowerThreshold *rcommon.AlertingThreshold `protobuf:"bytes,5,opt,name=lower_threshold,json=lowerThreshold,proto3" json:"lower_threshold,omitempty"`
  1286  	// Anomaly threshold that was active during violation.
  1287  	// Populated for ANOMALY type of alerts.
  1288  	AnomalyThreshold float64 `protobuf:"fixed64,7,opt,name=anomaly_threshold,json=anomalyThreshold,proto3" json:"anomaly_threshold,omitempty"`
  1289  	// Informs how long violation was active at the time
  1290  	// of raising alert.
  1291  	AfterDuration *durationpb.Duration `protobuf:"bytes,6,opt,name=after_duration,json=afterDuration,proto3" json:"after_duration,omitempty"`
  1292  }
  1293  
  1294  func (m *Alert_TsInfo_TimeSeries) Reset() {
  1295  	*m = Alert_TsInfo_TimeSeries{}
  1296  	if protoimpl.UnsafeEnabled {
  1297  		mi := &edgelq_alerting_proto_v1_alert_proto_msgTypes[7]
  1298  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(m))
  1299  		ms.StoreMessageInfo(mi)
  1300  	}
  1301  }
  1302  
  1303  func (m *Alert_TsInfo_TimeSeries) String() string {
  1304  	return protoimpl.X.MessageStringOf(m)
  1305  }
  1306  
  1307  func (*Alert_TsInfo_TimeSeries) ProtoMessage() {}
  1308  
  1309  func (m *Alert_TsInfo_TimeSeries) ProtoReflect() preflect.Message {
  1310  	mi := &edgelq_alerting_proto_v1_alert_proto_msgTypes[7]
  1311  	if protoimpl.UnsafeEnabled && m != nil {
  1312  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(m))
  1313  		if ms.LoadMessageInfo() == nil {
  1314  			ms.StoreMessageInfo(mi)
  1315  		}
  1316  		return ms
  1317  	}
  1318  	return mi.MessageOf(m)
  1319  }
  1320  
  1321  func (*Alert_TsInfo_TimeSeries) GotenMessage() {}
  1322  
  1323  // Deprecated, Use Alert_TsInfo_TimeSeries.ProtoReflect.Descriptor instead.
  1324  func (*Alert_TsInfo_TimeSeries) Descriptor() ([]byte, []int) {
  1325  	return edgelq_alerting_proto_v1_alert_proto_rawDescGZIP(), []int{0, 0, 2}
  1326  }
  1327  
  1328  func (m *Alert_TsInfo_TimeSeries) Unmarshal(b []byte) error {
  1329  	return proto.Unmarshal(b, m)
  1330  }
  1331  
  1332  func (m *Alert_TsInfo_TimeSeries) Marshal() ([]byte, error) {
  1333  	return proto.Marshal(m)
  1334  }
  1335  
  1336  func (m *Alert_TsInfo_TimeSeries) MarshalJSON() ([]byte, error) {
  1337  	return protojson.MarshalOptions{}.Marshal(m)
  1338  }
  1339  
  1340  func (m *Alert_TsInfo_TimeSeries) UnmarshalJSON(data []byte) error {
  1341  	return protojson.Unmarshal(data, m)
  1342  }
  1343  
  1344  func (m *Alert_TsInfo_TimeSeries) GetQueryName() string {
  1345  	if m != nil {
  1346  		return m.QueryName
  1347  	}
  1348  	return ""
  1349  }
  1350  
  1351  func (m *Alert_TsInfo_TimeSeries) GetValues() []float64 {
  1352  	if m != nil {
  1353  		return m.Values
  1354  	}
  1355  	return nil
  1356  }
  1357  
  1358  func (m *Alert_TsInfo_TimeSeries) GetAnomalies() []float64 {
  1359  	if m != nil {
  1360  		return m.Anomalies
  1361  	}
  1362  	return nil
  1363  }
  1364  
  1365  func (m *Alert_TsInfo_TimeSeries) GetUpperThreshold() *rcommon.AlertingThreshold {
  1366  	if m != nil {
  1367  		return m.UpperThreshold
  1368  	}
  1369  	return nil
  1370  }
  1371  
  1372  func (m *Alert_TsInfo_TimeSeries) GetLowerThreshold() *rcommon.AlertingThreshold {
  1373  	if m != nil {
  1374  		return m.LowerThreshold
  1375  	}
  1376  	return nil
  1377  }
  1378  
  1379  func (m *Alert_TsInfo_TimeSeries) GetAnomalyThreshold() float64 {
  1380  	if m != nil {
  1381  		return m.AnomalyThreshold
  1382  	}
  1383  	return float64(0)
  1384  }
  1385  
  1386  func (m *Alert_TsInfo_TimeSeries) GetAfterDuration() *durationpb.Duration {
  1387  	if m != nil {
  1388  		return m.AfterDuration
  1389  	}
  1390  	return nil
  1391  }
  1392  
  1393  func (m *Alert_TsInfo_TimeSeries) SetQueryName(fv string) {
  1394  	if m == nil {
  1395  		panic(fmt.Errorf("can't set %s on nil %s", "QueryName", "Alert_TsInfo_TimeSeries"))
  1396  	}
  1397  	m.QueryName = fv
  1398  }
  1399  
  1400  func (m *Alert_TsInfo_TimeSeries) SetValues(fv []float64) {
  1401  	if m == nil {
  1402  		panic(fmt.Errorf("can't set %s on nil %s", "Values", "Alert_TsInfo_TimeSeries"))
  1403  	}
  1404  	m.Values = fv
  1405  }
  1406  
  1407  func (m *Alert_TsInfo_TimeSeries) SetAnomalies(fv []float64) {
  1408  	if m == nil {
  1409  		panic(fmt.Errorf("can't set %s on nil %s", "Anomalies", "Alert_TsInfo_TimeSeries"))
  1410  	}
  1411  	m.Anomalies = fv
  1412  }
  1413  
  1414  func (m *Alert_TsInfo_TimeSeries) SetUpperThreshold(fv *rcommon.AlertingThreshold) {
  1415  	if m == nil {
  1416  		panic(fmt.Errorf("can't set %s on nil %s", "UpperThreshold", "Alert_TsInfo_TimeSeries"))
  1417  	}
  1418  	m.UpperThreshold = fv
  1419  }
  1420  
  1421  func (m *Alert_TsInfo_TimeSeries) SetLowerThreshold(fv *rcommon.AlertingThreshold) {
  1422  	if m == nil {
  1423  		panic(fmt.Errorf("can't set %s on nil %s", "LowerThreshold", "Alert_TsInfo_TimeSeries"))
  1424  	}
  1425  	m.LowerThreshold = fv
  1426  }
  1427  
  1428  func (m *Alert_TsInfo_TimeSeries) SetAnomalyThreshold(fv float64) {
  1429  	if m == nil {
  1430  		panic(fmt.Errorf("can't set %s on nil %s", "AnomalyThreshold", "Alert_TsInfo_TimeSeries"))
  1431  	}
  1432  	m.AnomalyThreshold = fv
  1433  }
  1434  
  1435  func (m *Alert_TsInfo_TimeSeries) SetAfterDuration(fv *durationpb.Duration) {
  1436  	if m == nil {
  1437  		panic(fmt.Errorf("can't set %s on nil %s", "AfterDuration", "Alert_TsInfo_TimeSeries"))
  1438  	}
  1439  	m.AfterDuration = fv
  1440  }
  1441  
  1442  // Notification informs about pending notifications that must
  1443  // be sent due to changes in Alert state.
  1444  type Alert_State_Notification struct {
  1445  	state         protoimpl.MessageState
  1446  	sizeCache     protoimpl.SizeCache
  1447  	unknownFields protoimpl.UnknownFields
  1448  	// Kind informs what type of State has changed, and for which
  1449  	// we need to send notifications.
  1450  	Kind rcommon.NotificationChannelSpec_EventKind `protobuf:"varint,1,opt,name=kind,proto3,enum=ntt.alerting.v1.NotificationChannelSpec_EventKind" json:"kind,omitempty"`
  1451  	// Informs about list of channels to where notification
  1452  	// should be sent according to the corresponding kind.
  1453  	PendingChannels []*notification_channel.Reference `protobuf:"bytes,2,rep,customtype=Reference,name=pending_channels,json=pendingChannels,proto3" json:"pending_channels,omitempty"`
  1454  }
  1455  
  1456  func (m *Alert_State_Notification) Reset() {
  1457  	*m = Alert_State_Notification{}
  1458  	if protoimpl.UnsafeEnabled {
  1459  		mi := &edgelq_alerting_proto_v1_alert_proto_msgTypes[9]
  1460  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(m))
  1461  		ms.StoreMessageInfo(mi)
  1462  	}
  1463  }
  1464  
  1465  func (m *Alert_State_Notification) String() string {
  1466  	return protoimpl.X.MessageStringOf(m)
  1467  }
  1468  
  1469  func (*Alert_State_Notification) ProtoMessage() {}
  1470  
  1471  func (m *Alert_State_Notification) ProtoReflect() preflect.Message {
  1472  	mi := &edgelq_alerting_proto_v1_alert_proto_msgTypes[9]
  1473  	if protoimpl.UnsafeEnabled && m != nil {
  1474  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(m))
  1475  		if ms.LoadMessageInfo() == nil {
  1476  			ms.StoreMessageInfo(mi)
  1477  		}
  1478  		return ms
  1479  	}
  1480  	return mi.MessageOf(m)
  1481  }
  1482  
  1483  func (*Alert_State_Notification) GotenMessage() {}
  1484  
  1485  // Deprecated, Use Alert_State_Notification.ProtoReflect.Descriptor instead.
  1486  func (*Alert_State_Notification) Descriptor() ([]byte, []int) {
  1487  	return edgelq_alerting_proto_v1_alert_proto_rawDescGZIP(), []int{0, 2, 0}
  1488  }
  1489  
  1490  func (m *Alert_State_Notification) Unmarshal(b []byte) error {
  1491  	return proto.Unmarshal(b, m)
  1492  }
  1493  
  1494  func (m *Alert_State_Notification) Marshal() ([]byte, error) {
  1495  	return proto.Marshal(m)
  1496  }
  1497  
  1498  func (m *Alert_State_Notification) MarshalJSON() ([]byte, error) {
  1499  	return protojson.MarshalOptions{}.Marshal(m)
  1500  }
  1501  
  1502  func (m *Alert_State_Notification) UnmarshalJSON(data []byte) error {
  1503  	return protojson.Unmarshal(data, m)
  1504  }
  1505  
  1506  func (m *Alert_State_Notification) GetKind() rcommon.NotificationChannelSpec_EventKind {
  1507  	if m != nil {
  1508  		return m.Kind
  1509  	}
  1510  	return rcommon.NotificationChannelSpec_UNDEFINED
  1511  }
  1512  
  1513  func (m *Alert_State_Notification) GetPendingChannels() []*notification_channel.Reference {
  1514  	if m != nil {
  1515  		return m.PendingChannels
  1516  	}
  1517  	return nil
  1518  }
  1519  
  1520  func (m *Alert_State_Notification) SetKind(fv rcommon.NotificationChannelSpec_EventKind) {
  1521  	if m == nil {
  1522  		panic(fmt.Errorf("can't set %s on nil %s", "Kind", "Alert_State_Notification"))
  1523  	}
  1524  	m.Kind = fv
  1525  }
  1526  
  1527  func (m *Alert_State_Notification) SetPendingChannels(fv []*notification_channel.Reference) {
  1528  	if m == nil {
  1529  		panic(fmt.Errorf("can't set %s on nil %s", "PendingChannels", "Alert_State_Notification"))
  1530  	}
  1531  	m.PendingChannels = fv
  1532  }
  1533  
  1534  var edgelq_alerting_proto_v1_alert_proto preflect.FileDescriptor
  1535  
  1536  var edgelq_alerting_proto_v1_alert_proto_rawDesc = []byte{
  1537  	0x0a, 0x24, 0x65, 0x64, 0x67, 0x65, 0x6c, 0x71, 0x2f, 0x61, 0x6c, 0x65, 0x72, 0x74, 0x69, 0x6e,
  1538  	0x67, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x76, 0x31, 0x2f, 0x61, 0x6c, 0x65, 0x72, 0x74,
  1539  	0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x0f, 0x6e, 0x74, 0x74, 0x2e, 0x61, 0x6c, 0x65, 0x72,
  1540  	0x74, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x1a, 0x19, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f,
  1541  	0x61, 0x70, 0x69, 0x2f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f,
  1542  	0x74, 0x6f, 0x1a, 0x20, 0x67, 0x6f, 0x74, 0x65, 0x6e, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61,
  1543  	0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70,
  1544  	0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x67, 0x6f, 0x74, 0x65, 0x6e, 0x2f, 0x61, 0x6e, 0x6e, 0x6f,
  1545  	0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x67, 0x6f, 0x74, 0x65, 0x6e, 0x2e, 0x70, 0x72,
  1546  	0x6f, 0x74, 0x6f, 0x1a, 0x20, 0x67, 0x6f, 0x74, 0x65, 0x6e, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74,
  1547  	0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2e,
  1548  	0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x67, 0x6f, 0x74, 0x65, 0x6e, 0x2f, 0x61, 0x6e, 0x6e,
  1549  	0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x70,
  1550  	0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x67, 0x6f, 0x74, 0x65, 0x6e, 0x2f, 0x61, 0x6e, 0x6e, 0x6f,
  1551  	0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e,
  1552  	0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x24, 0x67, 0x6f, 0x74, 0x65, 0x6e, 0x2f, 0x61, 0x6e, 0x6e,
  1553  	0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x5f, 0x72,
  1554  	0x65, 0x67, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x24, 0x65, 0x64, 0x67,
  1555  	0x65, 0x6c, 0x71, 0x2f, 0x61, 0x75, 0x64, 0x69, 0x74, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61,
  1556  	0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x61, 0x75, 0x64, 0x69, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74,
  1557  	0x6f, 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
  1558  	0x75, 0x66, 0x2f, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74,
  1559  	0x6f, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
  1560  	0x75, 0x66, 0x2f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x2e, 0x70, 0x72, 0x6f,
  1561  	0x74, 0x6f, 0x1a, 0x16, 0x67, 0x6f, 0x74, 0x65, 0x6e, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2f,
  1562  	0x6d, 0x65, 0x74, 0x61, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x24, 0x65, 0x64, 0x67, 0x65,
  1563  	0x6c, 0x71, 0x2f, 0x61, 0x6c, 0x65, 0x72, 0x74, 0x69, 0x6e, 0x67, 0x2f, 0x70, 0x72, 0x6f, 0x74,
  1564  	0x6f, 0x2f, 0x76, 0x31, 0x2f, 0x73, 0x70, 0x65, 0x63, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
  1565  	0x1a, 0x33, 0x65, 0x64, 0x67, 0x65, 0x6c, 0x71, 0x2f, 0x61, 0x6c, 0x65, 0x72, 0x74, 0x69, 0x6e,
  1566  	0x67, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x76, 0x31, 0x2f, 0x6e, 0x6f, 0x74, 0x69, 0x66,
  1567  	0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x2e,
  1568  	0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xfa, 0x2f, 0x0a, 0x05, 0x41, 0x6c, 0x65, 0x72, 0x74, 0x12,
  1569  	0x21, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xb2,
  1570  	0xda, 0x21, 0x09, 0x0a, 0x07, 0x0a, 0x05, 0x41, 0x6c, 0x65, 0x72, 0x74, 0x52, 0x04, 0x6e, 0x61,
  1571  	0x6d, 0x65, 0x12, 0x2d, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x02,
  1572  	0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x67, 0x6f, 0x74, 0x65, 0x6e, 0x2e, 0x74, 0x79, 0x70,
  1573  	0x65, 0x73, 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74,
  1574  	0x61, 0x12, 0x27, 0x0a, 0x0c, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x6e, 0x61, 0x6d,
  1575  	0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x04, 0xf0, 0xd9, 0x21, 0x01, 0x52, 0x0b, 0x64,
  1576  	0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x48, 0x0a, 0x11, 0x61, 0x6c,
  1577  	0x65, 0x72, 0x74, 0x69, 0x6e, 0x67, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18,
  1578  	0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x74, 0x65, 0x6e, 0x2e, 0x74, 0x79,
  1579  	0x70, 0x65, 0x73, 0x2e, 0x4f, 0x77, 0x6e, 0x65, 0x72, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e,
  1580  	0x63, 0x65, 0x52, 0x10, 0x61, 0x6c, 0x65, 0x72, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x73, 0x6f,
  1581  	0x75, 0x72, 0x63, 0x65, 0x12, 0x38, 0x0a, 0x07, 0x74, 0x73, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18,
  1582  	0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x6e, 0x74, 0x74, 0x2e, 0x61, 0x6c, 0x65, 0x72,
  1583  	0x74, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x6c, 0x65, 0x72, 0x74, 0x2e, 0x54, 0x73,
  1584  	0x49, 0x6e, 0x66, 0x6f, 0x48, 0x00, 0x52, 0x06, 0x74, 0x73, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x3b,
  1585  	0x0a, 0x08, 0x6c, 0x6f, 0x67, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b,
  1586  	0x32, 0x1e, 0x2e, 0x6e, 0x74, 0x74, 0x2e, 0x61, 0x6c, 0x65, 0x72, 0x74, 0x69, 0x6e, 0x67, 0x2e,
  1587  	0x76, 0x31, 0x2e, 0x41, 0x6c, 0x65, 0x72, 0x74, 0x2e, 0x4c, 0x6f, 0x67, 0x49, 0x6e, 0x66, 0x6f,
  1588  	0x48, 0x00, 0x52, 0x07, 0x6c, 0x6f, 0x67, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x3c, 0x0a, 0x05, 0x73,
  1589  	0x74, 0x61, 0x74, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x6e, 0x74, 0x74,
  1590  	0x2e, 0x61, 0x6c, 0x65, 0x72, 0x74, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x6c, 0x65,
  1591  	0x72, 0x74, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x42, 0x08, 0xca, 0xc6, 0x27, 0x04, 0x62, 0x02,
  1592  	0x08, 0x01, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x41, 0x0a, 0x08, 0x69, 0x6e, 0x74,
  1593  	0x65, 0x72, 0x6e, 0x61, 0x6c, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x6e, 0x74,
  1594  	0x74, 0x2e, 0x61, 0x6c, 0x65, 0x72, 0x74, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x6c,
  1595  	0x65, 0x72, 0x74, 0x2e, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x42, 0x04, 0xf0, 0xd9,
  1596  	0x21, 0x01, 0x52, 0x08, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x1a, 0xf8, 0x08, 0x0a,
  1597  	0x06, 0x54, 0x73, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x40, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18,
  1598  	0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x22, 0x2e, 0x6e, 0x74, 0x74, 0x2e, 0x61, 0x6c, 0x65, 0x72,
  1599  	0x74, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x6c, 0x65, 0x72, 0x74, 0x2e, 0x54, 0x73,
  1600  	0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x54, 0x79, 0x70, 0x65, 0x42, 0x08, 0xca, 0xc6, 0x27, 0x04, 0x3a,
  1601  	0x02, 0x10, 0x01, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x49, 0x0a, 0x13, 0x61, 0x6e, 0x6f,
  1602  	0x6d, 0x61, 0x6c, 0x79, 0x5f, 0x77, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x5f, 0x73, 0x69, 0x7a, 0x65,
  1603  	0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
  1604  	0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f,
  1605  	0x6e, 0x52, 0x11, 0x61, 0x6e, 0x6f, 0x6d, 0x61, 0x6c, 0x79, 0x57, 0x69, 0x6e, 0x64, 0x6f, 0x77,
  1606  	0x53, 0x69, 0x7a, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x5f, 0x6b,
  1607  	0x65, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x09, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e,
  1608  	0x4b, 0x65, 0x79, 0x12, 0x27, 0x0a, 0x0c, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x5f, 0x74, 0x79,
  1609  	0x70, 0x65, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x09, 0x42, 0x04, 0xf0, 0xd9, 0x21, 0x01, 0x52,
  1610  	0x0b, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x54, 0x79, 0x70, 0x65, 0x73, 0x12, 0x2b, 0x0a, 0x0e,
  1611  	0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x18, 0x05,
  1612  	0x20, 0x03, 0x28, 0x09, 0x42, 0x04, 0xf0, 0xd9, 0x21, 0x01, 0x52, 0x0d, 0x72, 0x65, 0x73, 0x6f,
  1613  	0x75, 0x72, 0x63, 0x65, 0x54, 0x79, 0x70, 0x65, 0x73, 0x12, 0x6d, 0x0a, 0x14, 0x63, 0x6f, 0x6d,
  1614  	0x6d, 0x6f, 0x6e, 0x5f, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x5f, 0x6c, 0x61, 0x62, 0x65, 0x6c,
  1615  	0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x35, 0x2e, 0x6e, 0x74, 0x74, 0x2e, 0x61, 0x6c,
  1616  	0x65, 0x72, 0x74, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x6c, 0x65, 0x72, 0x74, 0x2e,
  1617  	0x54, 0x73, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x4d, 0x65, 0x74,
  1618  	0x72, 0x69, 0x63, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x42, 0x04,
  1619  	0xf0, 0xd9, 0x21, 0x01, 0x52, 0x12, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x72,
  1620  	0x69, 0x63, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x12, 0x73, 0x0a, 0x16, 0x63, 0x6f, 0x6d, 0x6d,
  1621  	0x6f, 0x6e, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x62, 0x65,
  1622  	0x6c, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x37, 0x2e, 0x6e, 0x74, 0x74, 0x2e, 0x61,
  1623  	0x6c, 0x65, 0x72, 0x74, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x6c, 0x65, 0x72, 0x74,
  1624  	0x2e, 0x54, 0x73, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65,
  1625  	0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72,
  1626  	0x79, 0x42, 0x04, 0xf0, 0xd9, 0x21, 0x01, 0x52, 0x14, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52,
  1627  	0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x12, 0x49, 0x0a,
  1628  	0x0b, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x73, 0x65, 0x72, 0x69, 0x65, 0x73, 0x18, 0x08, 0x20, 0x03,
  1629  	0x28, 0x0b, 0x32, 0x28, 0x2e, 0x6e, 0x74, 0x74, 0x2e, 0x61, 0x6c, 0x65, 0x72, 0x74, 0x69, 0x6e,
  1630  	0x67, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x6c, 0x65, 0x72, 0x74, 0x2e, 0x54, 0x73, 0x49, 0x6e, 0x66,
  1631  	0x6f, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x53, 0x65, 0x72, 0x69, 0x65, 0x73, 0x52, 0x0a, 0x74, 0x69,
  1632  	0x6d, 0x65, 0x53, 0x65, 0x72, 0x69, 0x65, 0x73, 0x1a, 0x45, 0x0a, 0x17, 0x43, 0x6f, 0x6d, 0x6d,
  1633  	0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e,
  1634  	0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09,
  1635  	0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02,
  1636  	0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a,
  1637  	0x47, 0x0a, 0x19, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63,
  1638  	0x65, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03,
  1639  	0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14,
  1640  	0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76,
  1641  	0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0xf9, 0x02, 0x0a, 0x0a, 0x54, 0x69, 0x6d,
  1642  	0x65, 0x53, 0x65, 0x72, 0x69, 0x65, 0x73, 0x12, 0x2c, 0x0a, 0x0a, 0x71, 0x75, 0x65, 0x72, 0x79,
  1643  	0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xca, 0xc6, 0x27,
  1644  	0x09, 0x2a, 0x07, 0x3a, 0x03, 0x08, 0x80, 0x02, 0x68, 0x01, 0x52, 0x09, 0x71, 0x75, 0x65, 0x72,
  1645  	0x79, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x18,
  1646  	0x02, 0x20, 0x03, 0x28, 0x01, 0x52, 0x06, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x12, 0x1c, 0x0a,
  1647  	0x09, 0x61, 0x6e, 0x6f, 0x6d, 0x61, 0x6c, 0x69, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x01,
  1648  	0x52, 0x09, 0x61, 0x6e, 0x6f, 0x6d, 0x61, 0x6c, 0x69, 0x65, 0x73, 0x12, 0x4b, 0x0a, 0x0f, 0x75,
  1649  	0x70, 0x70, 0x65, 0x72, 0x5f, 0x74, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x18, 0x04,
  1650  	0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x6e, 0x74, 0x74, 0x2e, 0x61, 0x6c, 0x65, 0x72, 0x74,
  1651  	0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x6c, 0x65, 0x72, 0x74, 0x69, 0x6e, 0x67, 0x54,
  1652  	0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x52, 0x0e, 0x75, 0x70, 0x70, 0x65, 0x72, 0x54,
  1653  	0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x12, 0x4b, 0x0a, 0x0f, 0x6c, 0x6f, 0x77, 0x65,
  1654  	0x72, 0x5f, 0x74, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28,
  1655  	0x0b, 0x32, 0x22, 0x2e, 0x6e, 0x74, 0x74, 0x2e, 0x61, 0x6c, 0x65, 0x72, 0x74, 0x69, 0x6e, 0x67,
  1656  	0x2e, 0x76, 0x31, 0x2e, 0x41, 0x6c, 0x65, 0x72, 0x74, 0x69, 0x6e, 0x67, 0x54, 0x68, 0x72, 0x65,
  1657  	0x73, 0x68, 0x6f, 0x6c, 0x64, 0x52, 0x0e, 0x6c, 0x6f, 0x77, 0x65, 0x72, 0x54, 0x68, 0x72, 0x65,
  1658  	0x73, 0x68, 0x6f, 0x6c, 0x64, 0x12, 0x2b, 0x0a, 0x11, 0x61, 0x6e, 0x6f, 0x6d, 0x61, 0x6c, 0x79,
  1659  	0x5f, 0x74, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x01,
  1660  	0x52, 0x10, 0x61, 0x6e, 0x6f, 0x6d, 0x61, 0x6c, 0x79, 0x54, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f,
  1661  	0x6c, 0x64, 0x12, 0x40, 0x0a, 0x0e, 0x61, 0x66, 0x74, 0x65, 0x72, 0x5f, 0x64, 0x75, 0x72, 0x61,
  1662  	0x74, 0x69, 0x6f, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f,
  1663  	0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72,
  1664  	0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0d, 0x61, 0x66, 0x74, 0x65, 0x72, 0x44, 0x75, 0x72, 0x61,
  1665  	0x74, 0x69, 0x6f, 0x6e, 0x22, 0x31, 0x0a, 0x04, 0x54, 0x79, 0x70, 0x65, 0x12, 0x0d, 0x0a, 0x09,
  1666  	0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0b, 0x0a, 0x07, 0x41,
  1667  	0x4e, 0x4f, 0x4d, 0x41, 0x4c, 0x59, 0x10, 0x01, 0x12, 0x0d, 0x0a, 0x09, 0x54, 0x48, 0x52, 0x45,
  1668  	0x53, 0x48, 0x4f, 0x4c, 0x44, 0x10, 0x02, 0x1a, 0x9b, 0x02, 0x0a, 0x07, 0x4c, 0x6f, 0x67, 0x49,
  1669  	0x6e, 0x66, 0x6f, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x5f, 0x6b, 0x65,
  1670  	0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x09, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x4b,
  1671  	0x65, 0x79, 0x12, 0x21, 0x0a, 0x09, 0x6c, 0x6f, 0x67, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x18,
  1672  	0x02, 0x20, 0x03, 0x28, 0x09, 0x42, 0x04, 0xf0, 0xd9, 0x21, 0x01, 0x52, 0x08, 0x6c, 0x6f, 0x67,
  1673  	0x54, 0x79, 0x70, 0x65, 0x73, 0x12, 0x65, 0x0a, 0x11, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x5f,
  1674  	0x6c, 0x6f, 0x67, 0x5f, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b,
  1675  	0x32, 0x33, 0x2e, 0x6e, 0x74, 0x74, 0x2e, 0x61, 0x6c, 0x65, 0x72, 0x74, 0x69, 0x6e, 0x67, 0x2e,
  1676  	0x76, 0x31, 0x2e, 0x41, 0x6c, 0x65, 0x72, 0x74, 0x2e, 0x4c, 0x6f, 0x67, 0x49, 0x6e, 0x66, 0x6f,
  1677  	0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x4c, 0x6f, 0x67, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73,
  1678  	0x45, 0x6e, 0x74, 0x72, 0x79, 0x42, 0x04, 0xf0, 0xd9, 0x21, 0x01, 0x52, 0x0f, 0x63, 0x6f, 0x6d,
  1679  	0x6d, 0x6f, 0x6e, 0x4c, 0x6f, 0x67, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x12, 0x23, 0x0a, 0x0d,
  1680  	0x76, 0x69, 0x6f, 0x6c, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x5f, 0x6c, 0x6f, 0x67, 0x18, 0x04, 0x20,
  1681  	0x01, 0x28, 0x09, 0x52, 0x0c, 0x76, 0x69, 0x6f, 0x6c, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x4c, 0x6f,
  1682  	0x67, 0x1a, 0x42, 0x0a, 0x14, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x4c, 0x6f, 0x67, 0x4c, 0x61,
  1683  	0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79,
  1684  	0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76,
  1685  	0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75,
  1686  	0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0xa1, 0x0d, 0x0a, 0x05, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12,
  1687  	0x1b, 0x0a, 0x09, 0x69, 0x73, 0x5f, 0x66, 0x69, 0x72, 0x69, 0x6e, 0x67, 0x18, 0x01, 0x20, 0x01,
  1688  	0x28, 0x08, 0x52, 0x08, 0x69, 0x73, 0x46, 0x69, 0x72, 0x69, 0x6e, 0x67, 0x12, 0x39, 0x0a, 0x0a,
  1689  	0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b,
  1690  	0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
  1691  	0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x09, 0x73, 0x74,
  1692  	0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x35, 0x0a, 0x08, 0x65, 0x6e, 0x64, 0x5f, 0x74,
  1693  	0x69, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
  1694  	0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65,
  1695  	0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x07, 0x65, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x64,
  1696  	0x0a, 0x15, 0x6e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73,
  1697  	0x74, 0x61, 0x74, 0x75, 0x73, 0x65, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x29, 0x2e,
  1698  	0x6e, 0x74, 0x74, 0x2e, 0x61, 0x6c, 0x65, 0x72, 0x74, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x2e,
  1699  	0x41, 0x6c, 0x65, 0x72, 0x74, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x2e, 0x4e, 0x6f, 0x74, 0x69,
  1700  	0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x04, 0xf0, 0xd9, 0x21, 0x01, 0x52, 0x14,
  1701  	0x6e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74,
  1702  	0x75, 0x73, 0x65, 0x73, 0x12, 0x61, 0x0a, 0x10, 0x65, 0x73, 0x63, 0x61, 0x6c, 0x61, 0x74, 0x69,
  1703  	0x6f, 0x6e, 0x5f, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2c,
  1704  	0x2e, 0x6e, 0x74, 0x74, 0x2e, 0x61, 0x6c, 0x65, 0x72, 0x74, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31,
  1705  	0x2e, 0x41, 0x6c, 0x65, 0x72, 0x74, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x2e, 0x45, 0x73, 0x63,
  1706  	0x61, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x42, 0x08, 0xca, 0xc6,
  1707  	0x27, 0x04, 0x3a, 0x02, 0x10, 0x01, 0x52, 0x0f, 0x65, 0x73, 0x63, 0x61, 0x6c, 0x61, 0x74, 0x69,
  1708  	0x6f, 0x6e, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x63, 0x0a, 0x17, 0x61, 0x69, 0x5f, 0x61, 0x67,
  1709  	0x65, 0x6e, 0x74, 0x5f, 0x68, 0x61, 0x6e, 0x64, 0x6c, 0x69, 0x6e, 0x67, 0x5f, 0x73, 0x74, 0x61,
  1710  	0x74, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2c, 0x2e, 0x6e, 0x74, 0x74, 0x2e, 0x61,
  1711  	0x6c, 0x65, 0x72, 0x74, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x6c, 0x65, 0x72, 0x74,
  1712  	0x2e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x2e, 0x41, 0x69, 0x48, 0x61, 0x6e, 0x64, 0x6c, 0x69, 0x6e,
  1713  	0x67, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x14, 0x61, 0x69, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x48,
  1714  	0x61, 0x6e, 0x64, 0x6c, 0x69, 0x6e, 0x67, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x65, 0x0a, 0x1f,
  1715  	0x61, 0x69, 0x5f, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x5f, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x73, 0x74,
  1716  	0x61, 0x74, 0x65, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18,
  1717  	0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70,
  1718  	0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d,
  1719  	0x70, 0x42, 0x04, 0xf0, 0xd9, 0x21, 0x01, 0x52, 0x1a, 0x61, 0x69, 0x41, 0x67, 0x65, 0x6e, 0x74,
  1720  	0x4c, 0x61, 0x73, 0x74, 0x53, 0x74, 0x61, 0x74, 0x65, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x54,
  1721  	0x69, 0x6d, 0x65, 0x12, 0x37, 0x0a, 0x18, 0x61, 0x69, 0x5f, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x5f,
  1722  	0x64, 0x69, 0x61, 0x67, 0x6e, 0x6f, 0x73, 0x69, 0x73, 0x5f, 0x6e, 0x6f, 0x74, 0x65, 0x73, 0x18,
  1723  	0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x15, 0x61, 0x69, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x44, 0x69,
  1724  	0x61, 0x67, 0x6e, 0x6f, 0x73, 0x69, 0x73, 0x4e, 0x6f, 0x74, 0x65, 0x73, 0x12, 0x2c, 0x0a, 0x12,
  1725  	0x61, 0x69, 0x5f, 0x72, 0x65, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x61,
  1726  	0x72, 0x67, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x61, 0x69, 0x52, 0x65, 0x6d, 0x65,
  1727  	0x64, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x72, 0x67, 0x12, 0x5e, 0x0a, 0x0e, 0x61, 0x69,
  1728  	0x5f, 0x72, 0x65, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x0a, 0x20, 0x01,
  1729  	0x28, 0x0b, 0x32, 0x37, 0x2e, 0x6e, 0x74, 0x74, 0x2e, 0x61, 0x6c, 0x65, 0x72, 0x74, 0x69, 0x6e,
  1730  	0x67, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x53, 0x70, 0x65, 0x63, 0x2e,
  1731  	0x41, 0x49, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x48, 0x61, 0x6e, 0x64, 0x6c, 0x69, 0x6e, 0x67, 0x2e,
  1732  	0x52, 0x65, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0d, 0x61, 0x69, 0x52,
  1733  	0x65, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x6a, 0x0a, 0x17, 0x6f, 0x70,
  1734  	0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x5f, 0x68, 0x61, 0x6e, 0x64, 0x6c, 0x69, 0x6e, 0x67, 0x5f,
  1735  	0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x32, 0x2e, 0x6e, 0x74,
  1736  	0x74, 0x2e, 0x61, 0x6c, 0x65, 0x72, 0x74, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x6c,
  1737  	0x65, 0x72, 0x74, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74,
  1738  	0x6f, 0x72, 0x48, 0x61, 0x6e, 0x64, 0x6c, 0x69, 0x6e, 0x67, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52,
  1739  	0x15, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x48, 0x61, 0x6e, 0x64, 0x6c, 0x69, 0x6e,
  1740  	0x67, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x66, 0x0a, 0x1f, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74,
  1741  	0x6f, 0x72, 0x5f, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x5f, 0x63, 0x68,
  1742  	0x61, 0x6e, 0x67, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32,
  1743  	0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75,
  1744  	0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x04, 0xf0, 0xd9, 0x21,
  1745  	0x01, 0x52, 0x1b, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x4c, 0x61, 0x73, 0x74, 0x53,
  1746  	0x74, 0x61, 0x74, 0x65, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x25,
  1747  	0x0a, 0x0e, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x5f, 0x6e, 0x6f, 0x74, 0x65, 0x73,
  1748  	0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72,
  1749  	0x4e, 0x6f, 0x74, 0x65, 0x73, 0x12, 0x35, 0x0a, 0x13, 0x6c, 0x69, 0x66, 0x65, 0x63, 0x79, 0x63,
  1750  	0x6c, 0x65, 0x5f, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x18, 0x0e, 0x20, 0x01,
  1751  	0x28, 0x08, 0x42, 0x04, 0xf0, 0xd9, 0x21, 0x01, 0x52, 0x12, 0x6c, 0x69, 0x66, 0x65, 0x63, 0x79,
  1752  	0x63, 0x6c, 0x65, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x1a, 0xa0, 0x01, 0x0a,
  1753  	0x0c, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x46, 0x0a,
  1754  	0x04, 0x6b, 0x69, 0x6e, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x32, 0x2e, 0x6e, 0x74,
  1755  	0x74, 0x2e, 0x61, 0x6c, 0x65, 0x72, 0x74, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x2e, 0x4e, 0x6f,
  1756  	0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65,
  1757  	0x6c, 0x53, 0x70, 0x65, 0x63, 0x2e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x4b, 0x69, 0x6e, 0x64, 0x52,
  1758  	0x04, 0x6b, 0x69, 0x6e, 0x64, 0x12, 0x48, 0x0a, 0x10, 0x70, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67,
  1759  	0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x42,
  1760  	0x1d, 0xb2, 0xda, 0x21, 0x19, 0x12, 0x17, 0x0a, 0x13, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63,
  1761  	0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x10, 0x04, 0x52, 0x0f,
  1762  	0x70, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x22,
  1763  	0xef, 0x01, 0x0a, 0x0f, 0x41, 0x69, 0x48, 0x61, 0x6e, 0x64, 0x6c, 0x69, 0x6e, 0x67, 0x53, 0x74,
  1764  	0x61, 0x74, 0x65, 0x12, 0x19, 0x0a, 0x15, 0x41, 0x49, 0x5f, 0x41, 0x47, 0x45, 0x4e, 0x54, 0x5f,
  1765  	0x4e, 0x4f, 0x54, 0x5f, 0x49, 0x4e, 0x56, 0x4f, 0x4c, 0x56, 0x45, 0x44, 0x10, 0x00, 0x12, 0x18,
  1766  	0x0a, 0x14, 0x41, 0x49, 0x5f, 0x41, 0x57, 0x41, 0x49, 0x54, 0x49, 0x4e, 0x47, 0x5f, 0x48, 0x41,
  1767  	0x4e, 0x44, 0x4c, 0x49, 0x4e, 0x47, 0x10, 0x01, 0x12, 0x1c, 0x0a, 0x18, 0x41, 0x49, 0x5f, 0x45,
  1768  	0x53, 0x43, 0x41, 0x4c, 0x41, 0x54, 0x45, 0x44, 0x5f, 0x54, 0x4f, 0x5f, 0x4f, 0x50, 0x45, 0x52,
  1769  	0x41, 0x54, 0x4f, 0x52, 0x10, 0x02, 0x12, 0x1a, 0x0a, 0x16, 0x41, 0x49, 0x5f, 0x49, 0x47, 0x4e,
  1770  	0x4f, 0x52, 0x45, 0x5f, 0x41, 0x53, 0x5f, 0x54, 0x45, 0x4d, 0x50, 0x4f, 0x52, 0x41, 0x52, 0x59,
  1771  	0x10, 0x03, 0x12, 0x17, 0x0a, 0x13, 0x41, 0x49, 0x5f, 0x41, 0x44, 0x4a, 0x55, 0x53, 0x54, 0x5f,
  1772  	0x43, 0x4e, 0x44, 0x5f, 0x45, 0x4e, 0x54, 0x52, 0x59, 0x10, 0x04, 0x12, 0x1b, 0x0a, 0x17, 0x41,
  1773  	0x49, 0x5f, 0x52, 0x45, 0x4d, 0x45, 0x44, 0x49, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x50, 0x52,
  1774  	0x4f, 0x50, 0x4f, 0x53, 0x45, 0x44, 0x10, 0x05, 0x12, 0x1b, 0x0a, 0x17, 0x41, 0x49, 0x5f, 0x52,
  1775  	0x45, 0x4d, 0x45, 0x44, 0x49, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x41, 0x50, 0x50, 0x52, 0x4f,
  1776  	0x56, 0x45, 0x44, 0x10, 0x06, 0x12, 0x1a, 0x0a, 0x16, 0x41, 0x49, 0x5f, 0x52, 0x45, 0x4d, 0x45,
  1777  	0x44, 0x49, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x41, 0x50, 0x50, 0x4c, 0x49, 0x45, 0x44, 0x10,
  1778  	0x07, 0x22, 0xac, 0x01, 0x0a, 0x15, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x48, 0x61,
  1779  	0x6e, 0x64, 0x6c, 0x69, 0x6e, 0x67, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x13, 0x0a, 0x0f, 0x4f,
  1780  	0x50, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x49, 0x4e, 0x56, 0x4f, 0x4c, 0x56, 0x45, 0x44, 0x10, 0x00,
  1781  	0x12, 0x18, 0x0a, 0x14, 0x4f, 0x50, 0x5f, 0x41, 0x57, 0x41, 0x49, 0x54, 0x49, 0x4e, 0x47, 0x5f,
  1782  	0x48, 0x41, 0x4e, 0x44, 0x4c, 0x49, 0x4e, 0x47, 0x10, 0x01, 0x12, 0x13, 0x0a, 0x0f, 0x4f, 0x50,
  1783  	0x5f, 0x41, 0x43, 0x4b, 0x4e, 0x4f, 0x57, 0x4c, 0x45, 0x44, 0x47, 0x45, 0x44, 0x10, 0x02, 0x12,
  1784  	0x1a, 0x0a, 0x16, 0x4f, 0x50, 0x5f, 0x49, 0x47, 0x4e, 0x4f, 0x52, 0x45, 0x5f, 0x41, 0x53, 0x5f,
  1785  	0x54, 0x45, 0x4d, 0x50, 0x4f, 0x52, 0x41, 0x52, 0x59, 0x10, 0x03, 0x12, 0x17, 0x0a, 0x13, 0x4f,
  1786  	0x50, 0x5f, 0x41, 0x44, 0x4a, 0x55, 0x53, 0x54, 0x5f, 0x43, 0x4e, 0x44, 0x5f, 0x45, 0x4e, 0x54,
  1787  	0x52, 0x59, 0x10, 0x04, 0x12, 0x1a, 0x0a, 0x16, 0x4f, 0x50, 0x5f, 0x52, 0x45, 0x4d, 0x45, 0x44,
  1788  	0x49, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x41, 0x50, 0x50, 0x4c, 0x49, 0x45, 0x44, 0x10, 0x05,
  1789  	0x22, 0x37, 0x0a, 0x0f, 0x45, 0x73, 0x63, 0x61, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4c, 0x65,
  1790  	0x76, 0x65, 0x6c, 0x12, 0x08, 0x0a, 0x04, 0x4e, 0x4f, 0x4e, 0x45, 0x10, 0x00, 0x12, 0x0c, 0x0a,
  1791  	0x08, 0x41, 0x49, 0x5f, 0x41, 0x47, 0x45, 0x4e, 0x54, 0x10, 0x01, 0x12, 0x0c, 0x0a, 0x08, 0x4f,
  1792  	0x50, 0x45, 0x52, 0x41, 0x54, 0x4f, 0x52, 0x10, 0x02, 0x1a, 0x67, 0x0a, 0x08, 0x49, 0x6e, 0x74,
  1793  	0x65, 0x72, 0x6e, 0x61, 0x6c, 0x12, 0x5b, 0x0a, 0x11, 0x61, 0x6c, 0x65, 0x72, 0x74, 0x69, 0x6e,
  1794  	0x67, 0x5f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e,
  1795  	0x32, 0x2e, 0x2e, 0x6e, 0x74, 0x74, 0x2e, 0x61, 0x6c, 0x65, 0x72, 0x74, 0x69, 0x6e, 0x67, 0x2e,
  1796  	0x76, 0x31, 0x2e, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x53, 0x70, 0x65, 0x63, 0x2e, 0x50, 0x72,
  1797  	0x6f, 0x63, 0x65, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e,
  1798  	0x52, 0x10, 0x61, 0x6c, 0x65, 0x72, 0x74, 0x69, 0x6e, 0x67, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69,
  1799  	0x6f, 0x6e, 0x3a, 0x85, 0x13, 0xea, 0x41, 0xe1, 0x01, 0x0a, 0x19, 0x61, 0x6c, 0x65, 0x72, 0x74,
  1800  	0x69, 0x6e, 0x67, 0x2e, 0x65, 0x64, 0x67, 0x65, 0x6c, 0x71, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x41,
  1801  	0x6c, 0x65, 0x72, 0x74, 0x12, 0x60, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b,
  1802  	0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65,
  1803  	0x73, 0x2f, 0x7b, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x7d, 0x2f, 0x74, 0x73, 0x43, 0x6f, 0x6e,
  1804  	0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x74, 0x73, 0x5f, 0x63, 0x6f, 0x6e, 0x64,
  1805  	0x69, 0x74, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b,
  1806  	0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x61, 0x6c, 0x65, 0x72, 0x74, 0x73, 0x2f, 0x7b,
  1807  	0x61, 0x6c, 0x65, 0x72, 0x74, 0x7d, 0x12, 0x62, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73,
  1808  	0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x70, 0x6f, 0x6c, 0x69, 0x63,
  1809  	0x69, 0x65, 0x73, 0x2f, 0x7b, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x7d, 0x2f, 0x6c, 0x6f, 0x67,
  1810  	0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x6c, 0x6f, 0x67, 0x5f,
  1811  	0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x72, 0x65, 0x67, 0x69, 0x6f,
  1812  	0x6e, 0x73, 0x2f, 0x7b, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x61, 0x6c, 0x65, 0x72,
  1813  	0x74, 0x73, 0x2f, 0x7b, 0x61, 0x6c, 0x65, 0x72, 0x74, 0x7d, 0x92, 0xd9, 0x21, 0xae, 0x0b, 0x0a,
  1814  	0x06, 0x61, 0x6c, 0x65, 0x72, 0x74, 0x73, 0x12, 0x06, 0x61, 0x6c, 0x65, 0x72, 0x74, 0x73, 0x1a,
  1815  	0x0b, 0x54, 0x73, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x1a, 0x0c, 0x4c, 0x6f,
  1816  	0x67, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x18, 0x67, 0x6f, 0x74, 0x65,
  1817  	0x6e, 0x2e, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x52, 0x65,
  1818  	0x67, 0x69, 0x6f, 0x6e, 0x2a, 0x16, 0x5b, 0x61, 0x2d, 0x7a, 0x41, 0x2d, 0x5a, 0x30, 0x2d, 0x39,
  1819  	0x5f, 0x2e, 0x3a, 0x2d, 0x5d, 0x7b, 0x31, 0x2c, 0x31, 0x32, 0x38, 0x7d, 0x38, 0x05, 0x42, 0xd5,
  1820  	0x02, 0x08, 0x02, 0x12, 0x0c, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x04, 0x4e, 0x61, 0x6d,
  1821  	0x65, 0x12, 0x1c, 0x0a, 0x0c, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x6e, 0x61, 0x6d,
  1822  	0x65, 0x12, 0x0c, 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x20, 0x4e, 0x61, 0x6d, 0x65, 0x12,
  1823  	0x2b, 0x0a, 0x16, 0x61, 0x6c, 0x65, 0x72, 0x74, 0x69, 0x6e, 0x67, 0x5f, 0x72, 0x65, 0x73, 0x6f,
  1824  	0x75, 0x72, 0x63, 0x65, 0x2e, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x11, 0x41, 0x6c, 0x65, 0x72, 0x74,
  1825  	0x69, 0x6e, 0x67, 0x20, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x1c, 0x0a, 0x0f,
  1826  	0x73, 0x74, 0x61, 0x74, 0x65, 0x2e, 0x69, 0x73, 0x5f, 0x66, 0x69, 0x72, 0x69, 0x6e, 0x67, 0x12,
  1827  	0x09, 0x49, 0x73, 0x20, 0x46, 0x69, 0x72, 0x69, 0x6e, 0x67, 0x12, 0x2a, 0x0a, 0x16, 0x73, 0x74,
  1828  	0x61, 0x74, 0x65, 0x2e, 0x65, 0x73, 0x63, 0x61, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6c,
  1829  	0x65, 0x76, 0x65, 0x6c, 0x12, 0x10, 0x45, 0x73, 0x63, 0x61, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e,
  1830  	0x20, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x38, 0x0a, 0x1d, 0x73, 0x74, 0x61, 0x74, 0x65, 0x2e,
  1831  	0x61, 0x69, 0x5f, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x5f, 0x68, 0x61, 0x6e, 0x64, 0x6c, 0x69, 0x6e,
  1832  	0x67, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x17, 0x41, 0x49, 0x20, 0x41, 0x67, 0x65, 0x6e,
  1833  	0x74, 0x20, 0x68, 0x61, 0x6e, 0x64, 0x6c, 0x69, 0x6e, 0x67, 0x20, 0x73, 0x74, 0x61, 0x74, 0x65,
  1834  	0x12, 0x38, 0x0a, 0x1d, 0x73, 0x74, 0x61, 0x74, 0x65, 0x2e, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74,
  1835  	0x6f, 0x72, 0x5f, 0x68, 0x61, 0x6e, 0x64, 0x6c, 0x69, 0x6e, 0x67, 0x5f, 0x73, 0x74, 0x61, 0x74,
  1836  	0x65, 0x12, 0x17, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x20, 0x68, 0x61, 0x6e, 0x64,
  1837  	0x6c, 0x69, 0x6e, 0x67, 0x20, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x1e, 0x0a, 0x10, 0x73, 0x74,
  1838  	0x61, 0x74, 0x65, 0x2e, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x12, 0x0a,
  1839  	0x53, 0x74, 0x61, 0x72, 0x74, 0x20, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x0e, 0x73, 0x74,
  1840  	0x61, 0x74, 0x65, 0x2e, 0x65, 0x6e, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x12, 0x08, 0x45, 0x6e,
  1841  	0x64, 0x20, 0x54, 0x69, 0x6d, 0x65, 0x42, 0xf4, 0x07, 0x08, 0x03, 0x12, 0x0c, 0x0a, 0x04, 0x6e,
  1842  	0x61, 0x6d, 0x65, 0x12, 0x04, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1c, 0x0a, 0x0c, 0x64, 0x69, 0x73,
  1843  	0x70, 0x6c, 0x61, 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x0c, 0x44, 0x69, 0x73, 0x70, 0x6c,
  1844  	0x61, 0x79, 0x20, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x2b, 0x0a, 0x11, 0x61, 0x6c, 0x65, 0x72, 0x74,
  1845  	0x69, 0x6e, 0x67, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x16, 0x41, 0x6c,
  1846  	0x65, 0x72, 0x74, 0x69, 0x6e, 0x67, 0x20, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x20,
  1847  	0x64, 0x61, 0x74, 0x61, 0x12, 0x25, 0x0a, 0x0c, 0x74, 0x73, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x2e,
  1848  	0x74, 0x79, 0x70, 0x65, 0x12, 0x15, 0x54, 0x69, 0x6d, 0x65, 0x53, 0x65, 0x72, 0x69, 0x65, 0x73,
  1849  	0x20, 0x61, 0x6c, 0x65, 0x72, 0x74, 0x20, 0x74, 0x79, 0x70, 0x65, 0x12, 0x4b, 0x0a, 0x1b, 0x74,
  1850  	0x73, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x61, 0x6e, 0x6f, 0x6d, 0x61, 0x6c, 0x79, 0x5f, 0x77,
  1851  	0x69, 0x6e, 0x64, 0x6f, 0x77, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x12, 0x2c, 0x41, 0x6c, 0x65, 0x72,
  1852  	0x74, 0x20, 0x61, 0x6e, 0x6f, 0x6d, 0x61, 0x6c, 0x79, 0x20, 0x77, 0x69, 0x6e, 0x64, 0x6f, 0x77,
  1853  	0x20, 0x73, 0x69, 0x7a, 0x65, 0x20, 0x75, 0x73, 0x65, 0x64, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x64,
  1854  	0x65, 0x74, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x2a, 0x0a, 0x14, 0x74, 0x73, 0x5f, 0x69,
  1855  	0x6e, 0x66, 0x6f, 0x2e, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x73,
  1856  	0x12, 0x12, 0x41, 0x6c, 0x65, 0x72, 0x74, 0x20, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x20, 0x74,
  1857  	0x79, 0x70, 0x65, 0x73, 0x12, 0x2e, 0x0a, 0x16, 0x74, 0x73, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x2e,
  1858  	0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x12, 0x14,
  1859  	0x41, 0x6c, 0x65, 0x72, 0x74, 0x20, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x20, 0x74,
  1860  	0x79, 0x70, 0x65, 0x73, 0x12, 0x33, 0x0a, 0x1c, 0x74, 0x73, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x2e,
  1861  	0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x5f, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x5f, 0x6c, 0x61,
  1862  	0x62, 0x65, 0x6c, 0x73, 0x12, 0x13, 0x41, 0x6c, 0x65, 0x72, 0x74, 0x20, 0x6d, 0x65, 0x74, 0x72,
  1863  	0x69, 0x63, 0x20, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x12, 0x37, 0x0a, 0x1e, 0x74, 0x73, 0x5f,
  1864  	0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x5f, 0x72, 0x65, 0x73, 0x6f,
  1865  	0x75, 0x72, 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x12, 0x15, 0x41, 0x6c, 0x65,
  1866  	0x72, 0x74, 0x20, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x20, 0x6c, 0x61, 0x62, 0x65,
  1867  	0x6c, 0x73, 0x12, 0x32, 0x0a, 0x13, 0x74, 0x73, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x74, 0x69,
  1868  	0x6d, 0x65, 0x5f, 0x73, 0x65, 0x72, 0x69, 0x65, 0x73, 0x12, 0x1b, 0x41, 0x6c, 0x65, 0x72, 0x74,
  1869  	0x20, 0x76, 0x69, 0x6f, 0x6c, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x20, 0x74, 0x69, 0x6d, 0x65, 0x20,
  1870  	0x73, 0x65, 0x72, 0x69, 0x65, 0x73, 0x12, 0x30, 0x0a, 0x12, 0x6c, 0x6f, 0x67, 0x5f, 0x69, 0x6e,
  1871  	0x66, 0x6f, 0x2e, 0x6c, 0x6f, 0x67, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x12, 0x1a, 0x41, 0x6c,
  1872  	0x65, 0x72, 0x74, 0x20, 0x6c, 0x6f, 0x67, 0x20, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74,
  1873  	0x6f, 0x72, 0x20, 0x74, 0x79, 0x70, 0x65, 0x73, 0x12, 0x2e, 0x0a, 0x1a, 0x6c, 0x6f, 0x67, 0x5f,
  1874  	0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x5f, 0x6c, 0x6f, 0x67, 0x5f,
  1875  	0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x12, 0x10, 0x41, 0x6c, 0x65, 0x72, 0x74, 0x20, 0x6c, 0x6f,
  1876  	0x67, 0x20, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x12, 0x2d, 0x0a, 0x16, 0x6c, 0x6f, 0x67, 0x5f,
  1877  	0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x76, 0x69, 0x6f, 0x6c, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x5f, 0x6c,
  1878  	0x6f, 0x67, 0x12, 0x13, 0x41, 0x6c, 0x65, 0x72, 0x74, 0x20, 0x76, 0x69, 0x6f, 0x6c, 0x61, 0x74,
  1879  	0x69, 0x6e, 0x67, 0x20, 0x6c, 0x6f, 0x67, 0x12, 0x1c, 0x0a, 0x0f, 0x73, 0x74, 0x61, 0x74, 0x65,
  1880  	0x2e, 0x69, 0x73, 0x5f, 0x66, 0x69, 0x72, 0x69, 0x6e, 0x67, 0x12, 0x09, 0x49, 0x73, 0x20, 0x46,
  1881  	0x69, 0x72, 0x69, 0x6e, 0x67, 0x12, 0x2a, 0x0a, 0x16, 0x73, 0x74, 0x61, 0x74, 0x65, 0x2e, 0x65,
  1882  	0x73, 0x63, 0x61, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x12,
  1883  	0x10, 0x45, 0x73, 0x63, 0x61, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x6c, 0x65, 0x76, 0x65,
  1884  	0x6c, 0x12, 0x38, 0x0a, 0x1d, 0x73, 0x74, 0x61, 0x74, 0x65, 0x2e, 0x61, 0x69, 0x5f, 0x61, 0x67,
  1885  	0x65, 0x6e, 0x74, 0x5f, 0x68, 0x61, 0x6e, 0x64, 0x6c, 0x69, 0x6e, 0x67, 0x5f, 0x73, 0x74, 0x61,
  1886  	0x74, 0x65, 0x12, 0x17, 0x41, 0x49, 0x20, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x20, 0x68, 0x61, 0x6e,
  1887  	0x64, 0x6c, 0x69, 0x6e, 0x67, 0x20, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x40, 0x0a, 0x1e, 0x73,
  1888  	0x74, 0x61, 0x74, 0x65, 0x2e, 0x61, 0x69, 0x5f, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x5f, 0x64, 0x69,
  1889  	0x61, 0x67, 0x6e, 0x6f, 0x73, 0x69, 0x73, 0x5f, 0x6e, 0x6f, 0x74, 0x65, 0x73, 0x12, 0x1e, 0x41,
  1890  	0x49, 0x20, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x20, 0x74, 0x72, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x73,
  1891  	0x68, 0x6f, 0x6f, 0x74, 0x69, 0x6e, 0x67, 0x20, 0x6e, 0x6f, 0x74, 0x65, 0x73, 0x12, 0x30, 0x0a,
  1892  	0x18, 0x73, 0x74, 0x61, 0x74, 0x65, 0x2e, 0x61, 0x69, 0x5f, 0x72, 0x65, 0x6d, 0x65, 0x64, 0x69,
  1893  	0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x61, 0x72, 0x67, 0x12, 0x14, 0x41, 0x49, 0x20, 0x41, 0x67,
  1894  	0x65, 0x6e, 0x74, 0x20, 0x72, 0x65, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12,
  1895  	0x38, 0x0a, 0x1d, 0x73, 0x74, 0x61, 0x74, 0x65, 0x2e, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f,
  1896  	0x72, 0x5f, 0x68, 0x61, 0x6e, 0x64, 0x6c, 0x69, 0x6e, 0x67, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65,
  1897  	0x12, 0x17, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x20, 0x68, 0x61, 0x6e, 0x64, 0x6c,
  1898  	0x69, 0x6e, 0x67, 0x20, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x26, 0x0a, 0x14, 0x73, 0x74, 0x61,
  1899  	0x74, 0x65, 0x2e, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x5f, 0x6e, 0x6f, 0x74, 0x65,
  1900  	0x73, 0x12, 0x0e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x20, 0x6e, 0x6f, 0x74, 0x65,
  1901  	0x73, 0x12, 0x1e, 0x0a, 0x10, 0x73, 0x74, 0x61, 0x74, 0x65, 0x2e, 0x73, 0x74, 0x61, 0x72, 0x74,
  1902  	0x5f, 0x74, 0x69, 0x6d, 0x65, 0x12, 0x0a, 0x53, 0x74, 0x61, 0x72, 0x74, 0x20, 0x54, 0x69, 0x6d,
  1903  	0x65, 0x12, 0x1a, 0x0a, 0x0e, 0x73, 0x74, 0x61, 0x74, 0x65, 0x2e, 0x65, 0x6e, 0x64, 0x5f, 0x74,
  1904  	0x69, 0x6d, 0x65, 0x12, 0x08, 0x45, 0x6e, 0x64, 0x20, 0x54, 0x69, 0x6d, 0x65, 0xb2, 0xdf, 0x21,
  1905  	0x83, 0x05, 0x0a, 0xe3, 0x04, 0x0a, 0xae, 0x01, 0x0a, 0x17, 0x62, 0x79, 0x53, 0x74, 0x61, 0x72,
  1906  	0x74, 0x69, 0x6e, 0x67, 0x54, 0x69, 0x6d, 0x65, 0x49, 0x6e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63,
  1907  	0x74, 0x12, 0x10, 0x73, 0x74, 0x61, 0x74, 0x65, 0x2e, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x74,
  1908  	0x69, 0x6d, 0x65, 0x1a, 0x3f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70,
  1909  	0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73,
  1910  	0x2f, 0x2d, 0x2f, 0x74, 0x73, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f,
  1911  	0x2d, 0x2f, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2d, 0x2f, 0x61, 0x6c, 0x65, 0x72,
  1912  	0x74, 0x73, 0x2f, 0x2d, 0x1a, 0x40, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b,
  1913  	0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65,
  1914  	0x73, 0x2f, 0x2d, 0x2f, 0x6c, 0x6f, 0x67, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e,
  1915  	0x73, 0x2f, 0x2d, 0x2f, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2d, 0x2f, 0x61, 0x6c,
  1916  	0x65, 0x72, 0x74, 0x73, 0x2f, 0x2d, 0x0a, 0xe7, 0x02, 0x0a, 0x16, 0x62, 0x79, 0x53, 0x74, 0x61,
  1917  	0x72, 0x74, 0x69, 0x6e, 0x67, 0x54, 0x69, 0x6d, 0x65, 0x49, 0x6e, 0x50, 0x6f, 0x6c, 0x69, 0x63,
  1918  	0x79, 0x12, 0x10, 0x73, 0x74, 0x61, 0x74, 0x65, 0x2e, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x74,
  1919  	0x69, 0x6d, 0x65, 0x1a, 0x46, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70,
  1920  	0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73,
  1921  	0x2f, 0x7b, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x7d, 0x2f, 0x74, 0x73, 0x43, 0x6f, 0x6e, 0x64,
  1922  	0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2d, 0x2f, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x73,
  1923  	0x2f, 0x2d, 0x2f, 0x61, 0x6c, 0x65, 0x72, 0x74, 0x73, 0x2f, 0x2d, 0x1a, 0x47, 0x70, 0x72, 0x6f,
  1924  	0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f,
  1925  	0x70, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x2f, 0x7b, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79,
  1926  	0x7d, 0x2f, 0x6c, 0x6f, 0x67, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f,
  1927  	0x2d, 0x2f, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2d, 0x2f, 0x61, 0x6c, 0x65, 0x72,
  1928  	0x74, 0x73, 0x2f, 0x2d, 0x1a, 0x53, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b,
  1929  	0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65,
  1930  	0x73, 0x2f, 0x7b, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x7d, 0x2f, 0x74, 0x73, 0x43, 0x6f, 0x6e,
  1931  	0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x74, 0x73, 0x5f, 0x63, 0x6f, 0x6e, 0x64,
  1932  	0x69, 0x74, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2d,
  1933  	0x2f, 0x61, 0x6c, 0x65, 0x72, 0x74, 0x73, 0x2f, 0x2d, 0x1a, 0x55, 0x70, 0x72, 0x6f, 0x6a, 0x65,
  1934  	0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x70, 0x6f,
  1935  	0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x2f, 0x7b, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x7d, 0x2f,
  1936  	0x6c, 0x6f, 0x67, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x6c,
  1937  	0x6f, 0x67, 0x5f, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x72, 0x65,
  1938  	0x67, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2d, 0x2f, 0x61, 0x6c, 0x65, 0x72, 0x74, 0x73, 0x2f, 0x2d,
  1939  	0x12, 0x13, 0x0a, 0x0f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x2e, 0x69, 0x73, 0x5f, 0x66, 0x69, 0x72,
  1940  	0x69, 0x6e, 0x67, 0x10, 0x01, 0x12, 0x31, 0x0a, 0x16, 0x61, 0x6c, 0x65, 0x72, 0x74, 0x69, 0x6e,
  1941  	0x67, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2e, 0x6e, 0x61, 0x6d, 0x65, 0x1a,
  1942  	0x17, 0x62, 0x79, 0x53, 0x74, 0x61, 0x72, 0x74, 0x69, 0x6e, 0x67, 0x54, 0x69, 0x6d, 0x65, 0x49,
  1943  	0x6e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x1b, 0x0a, 0x19, 0x73, 0x74, 0x61, 0x74,
  1944  	0x65, 0x2e, 0x6c, 0x69, 0x66, 0x65, 0x63, 0x79, 0x63, 0x6c, 0x65, 0x5f, 0x63, 0x6f, 0x6d, 0x70,
  1945  	0x6c, 0x65, 0x74, 0x65, 0x64, 0xda, 0x94, 0x23, 0x02, 0x08, 0x01, 0xe2, 0xde, 0x21, 0x02, 0x08,
  1946  	0x02, 0xc2, 0x85, 0x2c, 0x55, 0x22, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x0c, 0x64, 0x69, 0x73,
  1947  	0x70, 0x6c, 0x61, 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x07, 0x74, 0x73, 0x5f, 0x69, 0x6e,
  1948  	0x66, 0x6f, 0x22, 0x08, 0x6c, 0x6f, 0x67, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x22, 0x11, 0x61, 0x6c,
  1949  	0x65, 0x72, 0x74, 0x69, 0x6e, 0x67, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2a,
  1950  	0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x42, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61,
  1951  	0x42, 0x08, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x42, 0x06, 0x0a, 0x04, 0x69, 0x6e,
  1952  	0x66, 0x6f, 0x42, 0xf6, 0x01, 0xe8, 0xde, 0x21, 0x01, 0xd2, 0xff, 0xd0, 0x02, 0x41, 0x0a, 0x0b,
  1953  	0x61, 0x6c, 0x65, 0x72, 0x74, 0x5f, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x12, 0x32, 0x67, 0x69, 0x74,
  1954  	0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x77, 0x61, 0x6e,
  1955  	0x2f, 0x65, 0x64, 0x67, 0x65, 0x6c, 0x71, 0x2f, 0x61, 0x6c, 0x65, 0x72, 0x74, 0x69, 0x6e, 0x67,
  1956  	0x2f, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x61, 0x6c, 0x65, 0x72, 0x74, 0xa2,
  1957  	0x80, 0xd1, 0x02, 0x43, 0x0a, 0x0c, 0x61, 0x6c, 0x65, 0x72, 0x74, 0x5f, 0x61, 0x63, 0x63, 0x65,
  1958  	0x73, 0x73, 0x12, 0x33, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x63,
  1959  	0x6c, 0x6f, 0x75, 0x64, 0x77, 0x61, 0x6e, 0x2f, 0x65, 0x64, 0x67, 0x65, 0x6c, 0x71, 0x2f, 0x61,
  1960  	0x6c, 0x65, 0x72, 0x74, 0x69, 0x6e, 0x67, 0x2f, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x2f, 0x76,
  1961  	0x31, 0x2f, 0x61, 0x6c, 0x65, 0x72, 0x74, 0x0a, 0x16, 0x63, 0x6f, 0x6d, 0x2e, 0x6e, 0x74, 0x74,
  1962  	0x2e, 0x61, 0x6c, 0x65, 0x72, 0x74, 0x69, 0x6e, 0x67, 0x2e, 0x70, 0x62, 0x2e, 0x76, 0x31, 0x42,
  1963  	0x0a, 0x41, 0x6c, 0x65, 0x72, 0x74, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x3c, 0x67,
  1964  	0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x77,
  1965  	0x61, 0x6e, 0x2f, 0x65, 0x64, 0x67, 0x65, 0x6c, 0x71, 0x2f, 0x61, 0x6c, 0x65, 0x72, 0x74, 0x69,
  1966  	0x6e, 0x67, 0x2f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x2f, 0x76, 0x31, 0x2f,
  1967  	0x61, 0x6c, 0x65, 0x72, 0x74, 0x3b, 0x61, 0x6c, 0x65, 0x72, 0x74, 0x62, 0x06, 0x70, 0x72, 0x6f,
  1968  	0x74, 0x6f, 0x33,
  1969  }
  1970  
  1971  var (
  1972  	edgelq_alerting_proto_v1_alert_proto_rawDescOnce sync.Once
  1973  	edgelq_alerting_proto_v1_alert_proto_rawDescData = edgelq_alerting_proto_v1_alert_proto_rawDesc
  1974  )
  1975  
  1976  func edgelq_alerting_proto_v1_alert_proto_rawDescGZIP() []byte {
  1977  	edgelq_alerting_proto_v1_alert_proto_rawDescOnce.Do(func() {
  1978  		edgelq_alerting_proto_v1_alert_proto_rawDescData = protoimpl.X.CompressGZIP(edgelq_alerting_proto_v1_alert_proto_rawDescData)
  1979  	})
  1980  	return edgelq_alerting_proto_v1_alert_proto_rawDescData
  1981  }
  1982  
  1983  var edgelq_alerting_proto_v1_alert_proto_enumTypes = make([]protoimpl.EnumInfo, 4)
  1984  var edgelq_alerting_proto_v1_alert_proto_msgTypes = make([]protoimpl.MessageInfo, 10)
  1985  var edgelq_alerting_proto_v1_alert_proto_goTypes = []interface{}{
  1986  	(Alert_TsInfo_Type)(0),                 // 0: ntt.alerting.v1.Alert_TsInfo_Type
  1987  	(Alert_State_AiHandlingState)(0),       // 1: ntt.alerting.v1.Alert_State_AiHandlingState
  1988  	(Alert_State_OperatorHandlingState)(0), // 2: ntt.alerting.v1.Alert_State_OperatorHandlingState
  1989  	(Alert_State_EscalationLevel)(0),       // 3: ntt.alerting.v1.Alert_State_EscalationLevel
  1990  	(*Alert)(nil),                          // 4: ntt.alerting.v1.Alert
  1991  	(*Alert_TsInfo)(nil),                   // 5: ntt.alerting.v1.Alert.TsInfo
  1992  	(*Alert_LogInfo)(nil),                  // 6: ntt.alerting.v1.Alert.LogInfo
  1993  	(*Alert_State)(nil),                    // 7: ntt.alerting.v1.Alert.State
  1994  	(*Alert_Internal)(nil),                 // 8: ntt.alerting.v1.Alert.Internal
  1995  	nil,                                    // 9: ntt.alerting.v1.Alert.TsInfo.CommonMetricLabelsEntry
  1996  	nil,                                    // 10: ntt.alerting.v1.Alert.TsInfo.CommonResourceLabelsEntry
  1997  	(*Alert_TsInfo_TimeSeries)(nil),        // 11: ntt.alerting.v1.Alert.TsInfo.TimeSeries
  1998  	nil,                                    // 12: ntt.alerting.v1.Alert.LogInfo.CommonLogLabelsEntry
  1999  	(*Alert_State_Notification)(nil),       // 13: ntt.alerting.v1.Alert.State.Notification
  2000  	(*meta.Meta)(nil),                      // 14: goten.types.Meta
  2001  	(*meta.OwnerReference)(nil),            // 15: goten.types.OwnerReference
  2002  	(*durationpb.Duration)(nil),            // 16: google.protobuf.Duration
  2003  	(*rcommon.AlertingThreshold)(nil),      // 17: ntt.alerting.v1.AlertingThreshold
  2004  	(*timestamppb.Timestamp)(nil),          // 18: google.protobuf.Timestamp
  2005  	(*rcommon.PolicySpec_AIAgentHandling_Remediation)(nil), // 19: ntt.alerting.v1.PolicySpec.AIAgentHandling.Remediation
  2006  	(rcommon.NotificationChannelSpec_EventKind)(0),         // 20: ntt.alerting.v1.NotificationChannelSpec_EventKind
  2007  	(rcommon.PolicySpec_ProcessingLocation)(0),             // 21: ntt.alerting.v1.PolicySpec_ProcessingLocation
  2008  }
  2009  var edgelq_alerting_proto_v1_alert_proto_depIdxs = []int32{
  2010  	14, // 0: ntt.alerting.v1.Alert.metadata:type_name -> goten.types.Meta
  2011  	15, // 1: ntt.alerting.v1.Alert.alerting_resource:type_name -> goten.types.OwnerReference
  2012  	5,  // 2: ntt.alerting.v1.Alert.ts_info:type_name -> ntt.alerting.v1.Alert.TsInfo
  2013  	6,  // 3: ntt.alerting.v1.Alert.log_info:type_name -> ntt.alerting.v1.Alert.LogInfo
  2014  	7,  // 4: ntt.alerting.v1.Alert.state:type_name -> ntt.alerting.v1.Alert.State
  2015  	8,  // 5: ntt.alerting.v1.Alert.internal:type_name -> ntt.alerting.v1.Alert.Internal
  2016  	0,  // 6: ntt.alerting.v1.Alert.TsInfo.type:type_name -> ntt.alerting.v1.Alert_TsInfo_Type
  2017  	16, // 7: ntt.alerting.v1.Alert.TsInfo.anomaly_window_size:type_name -> google.protobuf.Duration
  2018  	9,  // 8: ntt.alerting.v1.Alert.TsInfo.common_metric_labels:type_name -> ntt.alerting.v1.Alert.TsInfo.CommonMetricLabelsEntry
  2019  	10, // 9: ntt.alerting.v1.Alert.TsInfo.common_resource_labels:type_name -> ntt.alerting.v1.Alert.TsInfo.CommonResourceLabelsEntry
  2020  	11, // 10: ntt.alerting.v1.Alert.TsInfo.time_series:type_name -> ntt.alerting.v1.Alert.TsInfo.TimeSeries
  2021  	12, // 11: ntt.alerting.v1.Alert.LogInfo.common_log_labels:type_name -> ntt.alerting.v1.Alert.LogInfo.CommonLogLabelsEntry
  2022  	18, // 12: ntt.alerting.v1.Alert.State.start_time:type_name -> google.protobuf.Timestamp
  2023  	18, // 13: ntt.alerting.v1.Alert.State.end_time:type_name -> google.protobuf.Timestamp
  2024  	13, // 14: ntt.alerting.v1.Alert.State.notification_statuses:type_name -> ntt.alerting.v1.Alert.State.Notification
  2025  	3,  // 15: ntt.alerting.v1.Alert.State.escalation_level:type_name -> ntt.alerting.v1.Alert_State_EscalationLevel
  2026  	1,  // 16: ntt.alerting.v1.Alert.State.ai_agent_handling_state:type_name -> ntt.alerting.v1.Alert_State_AiHandlingState
  2027  	18, // 17: ntt.alerting.v1.Alert.State.ai_agent_last_state_change_time:type_name -> google.protobuf.Timestamp
  2028  	19, // 18: ntt.alerting.v1.Alert.State.ai_remediation:type_name -> ntt.alerting.v1.PolicySpec.AIAgentHandling.Remediation
  2029  	2,  // 19: ntt.alerting.v1.Alert.State.operator_handling_state:type_name -> ntt.alerting.v1.Alert_State_OperatorHandlingState
  2030  	18, // 20: ntt.alerting.v1.Alert.State.operator_last_state_change_time:type_name -> google.protobuf.Timestamp
  2031  	21, // 21: ntt.alerting.v1.Alert.Internal.alerting_location:type_name -> ntt.alerting.v1.PolicySpec_ProcessingLocation
  2032  	17, // 22: ntt.alerting.v1.Alert.TsInfo.TimeSeries.upper_threshold:type_name -> ntt.alerting.v1.AlertingThreshold
  2033  	17, // 23: ntt.alerting.v1.Alert.TsInfo.TimeSeries.lower_threshold:type_name -> ntt.alerting.v1.AlertingThreshold
  2034  	16, // 24: ntt.alerting.v1.Alert.TsInfo.TimeSeries.after_duration:type_name -> google.protobuf.Duration
  2035  	20, // 25: ntt.alerting.v1.Alert.State.Notification.kind:type_name -> ntt.alerting.v1.NotificationChannelSpec_EventKind
  2036  	26, // [26:26] is the sub-list for method output_type
  2037  	26, // [26:26] is the sub-list for method input_type
  2038  	26, // [26:26] is the sub-list for extension type_name
  2039  	26, // [26:26] is the sub-list for extension extendee
  2040  	0,  // [0:26] is the sub-list for field type_name
  2041  }
  2042  
  2043  func init() { edgelq_alerting_proto_v1_alert_proto_init() }
  2044  func edgelq_alerting_proto_v1_alert_proto_init() {
  2045  	if edgelq_alerting_proto_v1_alert_proto != nil {
  2046  		return
  2047  	}
  2048  	if !protoimpl.UnsafeEnabled {
  2049  
  2050  		edgelq_alerting_proto_v1_alert_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
  2051  			switch v := v.(*Alert); i {
  2052  			case 0:
  2053  				return &v.state
  2054  			case 1:
  2055  				return &v.sizeCache
  2056  			case 2:
  2057  				return &v.unknownFields
  2058  			default:
  2059  				return nil
  2060  			}
  2061  		}
  2062  		edgelq_alerting_proto_v1_alert_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
  2063  			switch v := v.(*Alert_TsInfo); i {
  2064  			case 0:
  2065  				return &v.state
  2066  			case 1:
  2067  				return &v.sizeCache
  2068  			case 2:
  2069  				return &v.unknownFields
  2070  			default:
  2071  				return nil
  2072  			}
  2073  		}
  2074  		edgelq_alerting_proto_v1_alert_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
  2075  			switch v := v.(*Alert_LogInfo); i {
  2076  			case 0:
  2077  				return &v.state
  2078  			case 1:
  2079  				return &v.sizeCache
  2080  			case 2:
  2081  				return &v.unknownFields
  2082  			default:
  2083  				return nil
  2084  			}
  2085  		}
  2086  		edgelq_alerting_proto_v1_alert_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
  2087  			switch v := v.(*Alert_State); i {
  2088  			case 0:
  2089  				return &v.state
  2090  			case 1:
  2091  				return &v.sizeCache
  2092  			case 2:
  2093  				return &v.unknownFields
  2094  			default:
  2095  				return nil
  2096  			}
  2097  		}
  2098  		edgelq_alerting_proto_v1_alert_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {
  2099  			switch v := v.(*Alert_Internal); i {
  2100  			case 0:
  2101  				return &v.state
  2102  			case 1:
  2103  				return &v.sizeCache
  2104  			case 2:
  2105  				return &v.unknownFields
  2106  			default:
  2107  				return nil
  2108  			}
  2109  		}
  2110  		edgelq_alerting_proto_v1_alert_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} {
  2111  			switch v := v.(*Alert_TsInfo_TimeSeries); i {
  2112  			case 0:
  2113  				return &v.state
  2114  			case 1:
  2115  				return &v.sizeCache
  2116  			case 2:
  2117  				return &v.unknownFields
  2118  			default:
  2119  				return nil
  2120  			}
  2121  		}
  2122  		edgelq_alerting_proto_v1_alert_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} {
  2123  			switch v := v.(*Alert_State_Notification); i {
  2124  			case 0:
  2125  				return &v.state
  2126  			case 1:
  2127  				return &v.sizeCache
  2128  			case 2:
  2129  				return &v.unknownFields
  2130  			default:
  2131  				return nil
  2132  			}
  2133  		}
  2134  	}
  2135  
  2136  	edgelq_alerting_proto_v1_alert_proto_msgTypes[0].OneofWrappers = []interface{}{
  2137  		(*Alert_TsInfo_)(nil),
  2138  		(*Alert_LogInfo_)(nil),
  2139  	}
  2140  	type x struct{}
  2141  	out := protoimpl.TypeBuilder{
  2142  		File: protoimpl.DescBuilder{
  2143  			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
  2144  			RawDescriptor: edgelq_alerting_proto_v1_alert_proto_rawDesc,
  2145  			NumEnums:      4,
  2146  			NumMessages:   10,
  2147  			NumExtensions: 0,
  2148  			NumServices:   0,
  2149  		},
  2150  		GoTypes:           edgelq_alerting_proto_v1_alert_proto_goTypes,
  2151  		DependencyIndexes: edgelq_alerting_proto_v1_alert_proto_depIdxs,
  2152  		EnumInfos:         edgelq_alerting_proto_v1_alert_proto_enumTypes,
  2153  		MessageInfos:      edgelq_alerting_proto_v1_alert_proto_msgTypes,
  2154  	}.Build()
  2155  	edgelq_alerting_proto_v1_alert_proto = out.File
  2156  	edgelq_alerting_proto_v1_alert_proto_rawDesc = nil
  2157  	edgelq_alerting_proto_v1_alert_proto_goTypes = nil
  2158  	edgelq_alerting_proto_v1_alert_proto_depIdxs = nil
  2159  }