github.com/shippio/gqlgen@v0.0.0-20220912092219-633ea699ef07/graphql/handler/apollofederatedtracingv1/generated/apollo_trace.pb.go (about)

     1  // Code generated by protoc-gen-go. DO NOT EDIT.
     2  // versions:
     3  // 	protoc-gen-go v1.28.0
     4  // 	protoc        v3.19.4
     5  // source: apollo_trace.proto
     6  
     7  package generated
     8  
     9  import (
    10  	protoreflect "google.golang.org/protobuf/reflect/protoreflect"
    11  	protoimpl "google.golang.org/protobuf/runtime/protoimpl"
    12  	timestamppb "google.golang.org/protobuf/types/known/timestamppb"
    13  	reflect "reflect"
    14  	sync "sync"
    15  )
    16  
    17  const (
    18  	// Verify that this generated code is sufficiently up-to-date.
    19  	_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
    20  	// Verify that runtime/protoimpl is sufficiently up-to-date.
    21  	_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
    22  )
    23  
    24  type Trace_CachePolicy_Scope int32
    25  
    26  const (
    27  	Trace_CachePolicy_UNKNOWN Trace_CachePolicy_Scope = 0
    28  	Trace_CachePolicy_PUBLIC  Trace_CachePolicy_Scope = 1
    29  	Trace_CachePolicy_PRIVATE Trace_CachePolicy_Scope = 2
    30  )
    31  
    32  // Enum value maps for Trace_CachePolicy_Scope.
    33  var (
    34  	Trace_CachePolicy_Scope_name = map[int32]string{
    35  		0: "UNKNOWN",
    36  		1: "PUBLIC",
    37  		2: "PRIVATE",
    38  	}
    39  	Trace_CachePolicy_Scope_value = map[string]int32{
    40  		"UNKNOWN": 0,
    41  		"PUBLIC":  1,
    42  		"PRIVATE": 2,
    43  	}
    44  )
    45  
    46  func (x Trace_CachePolicy_Scope) Enum() *Trace_CachePolicy_Scope {
    47  	p := new(Trace_CachePolicy_Scope)
    48  	*p = x
    49  	return p
    50  }
    51  
    52  func (x Trace_CachePolicy_Scope) String() string {
    53  	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
    54  }
    55  
    56  func (Trace_CachePolicy_Scope) Descriptor() protoreflect.EnumDescriptor {
    57  	return file_apollo_trace_proto_enumTypes[0].Descriptor()
    58  }
    59  
    60  func (Trace_CachePolicy_Scope) Type() protoreflect.EnumType {
    61  	return &file_apollo_trace_proto_enumTypes[0]
    62  }
    63  
    64  func (x Trace_CachePolicy_Scope) Number() protoreflect.EnumNumber {
    65  	return protoreflect.EnumNumber(x)
    66  }
    67  
    68  // Deprecated: Use Trace_CachePolicy_Scope.Descriptor instead.
    69  func (Trace_CachePolicy_Scope) EnumDescriptor() ([]byte, []int) {
    70  	return file_apollo_trace_proto_rawDescGZIP(), []int{0, 0, 0}
    71  }
    72  
    73  type Trace_HTTP_Method int32
    74  
    75  const (
    76  	Trace_HTTP_UNKNOWN Trace_HTTP_Method = 0
    77  	Trace_HTTP_OPTIONS Trace_HTTP_Method = 1
    78  	Trace_HTTP_GET     Trace_HTTP_Method = 2
    79  	Trace_HTTP_HEAD    Trace_HTTP_Method = 3
    80  	Trace_HTTP_POST    Trace_HTTP_Method = 4
    81  	Trace_HTTP_PUT     Trace_HTTP_Method = 5
    82  	Trace_HTTP_DELETE  Trace_HTTP_Method = 6
    83  	Trace_HTTP_TRACE   Trace_HTTP_Method = 7
    84  	Trace_HTTP_CONNECT Trace_HTTP_Method = 8
    85  	Trace_HTTP_PATCH   Trace_HTTP_Method = 9
    86  )
    87  
    88  // Enum value maps for Trace_HTTP_Method.
    89  var (
    90  	Trace_HTTP_Method_name = map[int32]string{
    91  		0: "UNKNOWN",
    92  		1: "OPTIONS",
    93  		2: "GET",
    94  		3: "HEAD",
    95  		4: "POST",
    96  		5: "PUT",
    97  		6: "DELETE",
    98  		7: "TRACE",
    99  		8: "CONNECT",
   100  		9: "PATCH",
   101  	}
   102  	Trace_HTTP_Method_value = map[string]int32{
   103  		"UNKNOWN": 0,
   104  		"OPTIONS": 1,
   105  		"GET":     2,
   106  		"HEAD":    3,
   107  		"POST":    4,
   108  		"PUT":     5,
   109  		"DELETE":  6,
   110  		"TRACE":   7,
   111  		"CONNECT": 8,
   112  		"PATCH":   9,
   113  	}
   114  )
   115  
   116  func (x Trace_HTTP_Method) Enum() *Trace_HTTP_Method {
   117  	p := new(Trace_HTTP_Method)
   118  	*p = x
   119  	return p
   120  }
   121  
   122  func (x Trace_HTTP_Method) String() string {
   123  	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
   124  }
   125  
   126  func (Trace_HTTP_Method) Descriptor() protoreflect.EnumDescriptor {
   127  	return file_apollo_trace_proto_enumTypes[1].Descriptor()
   128  }
   129  
   130  func (Trace_HTTP_Method) Type() protoreflect.EnumType {
   131  	return &file_apollo_trace_proto_enumTypes[1]
   132  }
   133  
   134  func (x Trace_HTTP_Method) Number() protoreflect.EnumNumber {
   135  	return protoreflect.EnumNumber(x)
   136  }
   137  
   138  // Deprecated: Use Trace_HTTP_Method.Descriptor instead.
   139  func (Trace_HTTP_Method) EnumDescriptor() ([]byte, []int) {
   140  	return file_apollo_trace_proto_rawDescGZIP(), []int{0, 3, 0}
   141  }
   142  
   143  type Trace struct {
   144  	state         protoimpl.MessageState
   145  	sizeCache     protoimpl.SizeCache
   146  	unknownFields protoimpl.UnknownFields
   147  
   148  	// Wallclock time when the trace began.
   149  	StartTime *timestamppb.Timestamp `protobuf:"bytes,4,opt,name=start_time,json=startTime,proto3" json:"start_time,omitempty"` // required
   150  	// Wallclock time when the trace ended.
   151  	EndTime *timestamppb.Timestamp `protobuf:"bytes,3,opt,name=end_time,json=endTime,proto3" json:"end_time,omitempty"` // required
   152  	// High precision duration of the trace; may not equal end_time-start_time
   153  	// (eg, if your machine's clock changed during the trace).
   154  	DurationNs uint64 `protobuf:"varint,11,opt,name=duration_ns,json=durationNs,proto3" json:"duration_ns,omitempty"` // required
   155  	// A tree containing information about all resolvers run directly by this
   156  	// service, including errors.
   157  	Root *Trace_Node `protobuf:"bytes,14,opt,name=root,proto3" json:"root,omitempty"`
   158  	// In addition to details.raw_query, we include a "signature" of the query,
   159  	// which can be normalized: for example, you may want to discard aliases, drop
   160  	// unused operations and fragments, sort fields, etc. The most important thing
   161  	// here is that the signature match the signature in StatsReports. In
   162  	// StatsReports signatures show up as the key in the per_query map (with the
   163  	// operation name prepended).  The signature should be a valid GraphQL query.
   164  	// All traces must have a signature; if this Trace is in a FullTracesReport
   165  	// that signature is in the key of traces_per_query rather than in this field.
   166  	// Engineproxy provides the signature in legacy_signature_needs_resigning
   167  	// instead.
   168  	Signature string `protobuf:"bytes,19,opt,name=signature,proto3" json:"signature,omitempty"`
   169  	// Optional: when GraphQL parsing or validation against the GraphQL schema fails, these fields
   170  	// can include reference to the operation being sent for users to dig into the set of operations
   171  	// that are failing validation.
   172  	UnexecutedOperationBody string             `protobuf:"bytes,27,opt,name=unexecutedOperationBody,proto3" json:"unexecutedOperationBody,omitempty"`
   173  	UnexecutedOperationName string             `protobuf:"bytes,28,opt,name=unexecutedOperationName,proto3" json:"unexecutedOperationName,omitempty"`
   174  	Details                 *Trace_Details     `protobuf:"bytes,6,opt,name=details,proto3" json:"details,omitempty"`
   175  	ClientName              string             `protobuf:"bytes,7,opt,name=client_name,json=clientName,proto3" json:"client_name,omitempty"`
   176  	ClientVersion           string             `protobuf:"bytes,8,opt,name=client_version,json=clientVersion,proto3" json:"client_version,omitempty"`
   177  	Http                    *Trace_HTTP        `protobuf:"bytes,10,opt,name=http,proto3" json:"http,omitempty"`
   178  	CachePolicy             *Trace_CachePolicy `protobuf:"bytes,18,opt,name=cache_policy,json=cachePolicy,proto3" json:"cache_policy,omitempty"`
   179  	// If this Trace was created by a gateway, this is the query plan, including
   180  	// sub-Traces for federated services. Note that the 'root' tree on the
   181  	// top-level Trace won't contain any resolvers (though it could contain errors
   182  	// that occurred in the gateway itself).
   183  	QueryPlan *Trace_QueryPlanNode `protobuf:"bytes,26,opt,name=query_plan,json=queryPlan,proto3" json:"query_plan,omitempty"`
   184  	// Was this response served from a full query response cache?  (In that case
   185  	// the node tree will have no resolvers.)
   186  	FullQueryCacheHit bool `protobuf:"varint,20,opt,name=full_query_cache_hit,json=fullQueryCacheHit,proto3" json:"full_query_cache_hit,omitempty"`
   187  	// Was this query specified successfully as a persisted query hash?
   188  	PersistedQueryHit bool `protobuf:"varint,21,opt,name=persisted_query_hit,json=persistedQueryHit,proto3" json:"persisted_query_hit,omitempty"`
   189  	// Did this query contain both a full query string and a persisted query hash?
   190  	// (This typically means that a previous request was rejected as an unknown
   191  	// persisted query.)
   192  	PersistedQueryRegister bool `protobuf:"varint,22,opt,name=persisted_query_register,json=persistedQueryRegister,proto3" json:"persisted_query_register,omitempty"`
   193  	// Was this operation registered and a part of the safelist?
   194  	RegisteredOperation bool `protobuf:"varint,24,opt,name=registered_operation,json=registeredOperation,proto3" json:"registered_operation,omitempty"`
   195  	// Was this operation forbidden due to lack of safelisting?
   196  	ForbiddenOperation bool `protobuf:"varint,25,opt,name=forbidden_operation,json=forbiddenOperation,proto3" json:"forbidden_operation,omitempty"`
   197  	// Some servers don't do field-level instrumentation for every request and assign
   198  	// each request a "weight" for each request that they do instrument. When this
   199  	// trace is aggregated into field usage stats, it should count as this value
   200  	// towards the estimated_execution_count rather than just 1. This value should
   201  	// typically be at least 1.
   202  	//
   203  	// 0 is treated as 1 for backwards compatibility.
   204  	FieldExecutionWeight float64 `protobuf:"fixed64,31,opt,name=field_execution_weight,json=fieldExecutionWeight,proto3" json:"field_execution_weight,omitempty"`
   205  }
   206  
   207  func (x *Trace) Reset() {
   208  	*x = Trace{}
   209  	if protoimpl.UnsafeEnabled {
   210  		mi := &file_apollo_trace_proto_msgTypes[0]
   211  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   212  		ms.StoreMessageInfo(mi)
   213  	}
   214  }
   215  
   216  func (x *Trace) String() string {
   217  	return protoimpl.X.MessageStringOf(x)
   218  }
   219  
   220  func (*Trace) ProtoMessage() {}
   221  
   222  func (x *Trace) ProtoReflect() protoreflect.Message {
   223  	mi := &file_apollo_trace_proto_msgTypes[0]
   224  	if protoimpl.UnsafeEnabled && x != nil {
   225  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   226  		if ms.LoadMessageInfo() == nil {
   227  			ms.StoreMessageInfo(mi)
   228  		}
   229  		return ms
   230  	}
   231  	return mi.MessageOf(x)
   232  }
   233  
   234  // Deprecated: Use Trace.ProtoReflect.Descriptor instead.
   235  func (*Trace) Descriptor() ([]byte, []int) {
   236  	return file_apollo_trace_proto_rawDescGZIP(), []int{0}
   237  }
   238  
   239  func (x *Trace) GetStartTime() *timestamppb.Timestamp {
   240  	if x != nil {
   241  		return x.StartTime
   242  	}
   243  	return nil
   244  }
   245  
   246  func (x *Trace) GetEndTime() *timestamppb.Timestamp {
   247  	if x != nil {
   248  		return x.EndTime
   249  	}
   250  	return nil
   251  }
   252  
   253  func (x *Trace) GetDurationNs() uint64 {
   254  	if x != nil {
   255  		return x.DurationNs
   256  	}
   257  	return 0
   258  }
   259  
   260  func (x *Trace) GetRoot() *Trace_Node {
   261  	if x != nil {
   262  		return x.Root
   263  	}
   264  	return nil
   265  }
   266  
   267  func (x *Trace) GetSignature() string {
   268  	if x != nil {
   269  		return x.Signature
   270  	}
   271  	return ""
   272  }
   273  
   274  func (x *Trace) GetUnexecutedOperationBody() string {
   275  	if x != nil {
   276  		return x.UnexecutedOperationBody
   277  	}
   278  	return ""
   279  }
   280  
   281  func (x *Trace) GetUnexecutedOperationName() string {
   282  	if x != nil {
   283  		return x.UnexecutedOperationName
   284  	}
   285  	return ""
   286  }
   287  
   288  func (x *Trace) GetDetails() *Trace_Details {
   289  	if x != nil {
   290  		return x.Details
   291  	}
   292  	return nil
   293  }
   294  
   295  func (x *Trace) GetClientName() string {
   296  	if x != nil {
   297  		return x.ClientName
   298  	}
   299  	return ""
   300  }
   301  
   302  func (x *Trace) GetClientVersion() string {
   303  	if x != nil {
   304  		return x.ClientVersion
   305  	}
   306  	return ""
   307  }
   308  
   309  func (x *Trace) GetHttp() *Trace_HTTP {
   310  	if x != nil {
   311  		return x.Http
   312  	}
   313  	return nil
   314  }
   315  
   316  func (x *Trace) GetCachePolicy() *Trace_CachePolicy {
   317  	if x != nil {
   318  		return x.CachePolicy
   319  	}
   320  	return nil
   321  }
   322  
   323  func (x *Trace) GetQueryPlan() *Trace_QueryPlanNode {
   324  	if x != nil {
   325  		return x.QueryPlan
   326  	}
   327  	return nil
   328  }
   329  
   330  func (x *Trace) GetFullQueryCacheHit() bool {
   331  	if x != nil {
   332  		return x.FullQueryCacheHit
   333  	}
   334  	return false
   335  }
   336  
   337  func (x *Trace) GetPersistedQueryHit() bool {
   338  	if x != nil {
   339  		return x.PersistedQueryHit
   340  	}
   341  	return false
   342  }
   343  
   344  func (x *Trace) GetPersistedQueryRegister() bool {
   345  	if x != nil {
   346  		return x.PersistedQueryRegister
   347  	}
   348  	return false
   349  }
   350  
   351  func (x *Trace) GetRegisteredOperation() bool {
   352  	if x != nil {
   353  		return x.RegisteredOperation
   354  	}
   355  	return false
   356  }
   357  
   358  func (x *Trace) GetForbiddenOperation() bool {
   359  	if x != nil {
   360  		return x.ForbiddenOperation
   361  	}
   362  	return false
   363  }
   364  
   365  func (x *Trace) GetFieldExecutionWeight() float64 {
   366  	if x != nil {
   367  		return x.FieldExecutionWeight
   368  	}
   369  	return 0
   370  }
   371  
   372  // The `service` value embedded within the header key is not guaranteed to contain an actual service,
   373  // and, in most cases, the service information is trusted to come from upstream processing. If the
   374  // service _is_ specified in this header, then it is checked to match the context that is reporting it.
   375  // Otherwise, the service information is deduced from the token context of the reporter and then sent
   376  // along via other mechanisms (in Kafka, the `ReportKafkaKey). The other information (hostname,
   377  // agent_version, etc.) is sent by the Apollo Engine Reporting agent, but we do not currently save that
   378  // information to any of our persistent storage.
   379  type ReportHeader struct {
   380  	state         protoimpl.MessageState
   381  	sizeCache     protoimpl.SizeCache
   382  	unknownFields protoimpl.UnknownFields
   383  
   384  	// eg "mygraph@myvariant"
   385  	GraphRef string `protobuf:"bytes,12,opt,name=graph_ref,json=graphRef,proto3" json:"graph_ref,omitempty"`
   386  	// eg "host-01.example.com"
   387  	Hostname string `protobuf:"bytes,5,opt,name=hostname,proto3" json:"hostname,omitempty"`
   388  	// eg "engineproxy 0.1.0"
   389  	AgentVersion string `protobuf:"bytes,6,opt,name=agent_version,json=agentVersion,proto3" json:"agent_version,omitempty"` // required
   390  	// eg "prod-4279-20160804T065423Z-5-g3cf0aa8" (taken from `git describe --tags`)
   391  	ServiceVersion string `protobuf:"bytes,7,opt,name=service_version,json=serviceVersion,proto3" json:"service_version,omitempty"`
   392  	// eg "node v4.6.0"
   393  	RuntimeVersion string `protobuf:"bytes,8,opt,name=runtime_version,json=runtimeVersion,proto3" json:"runtime_version,omitempty"`
   394  	// eg "Linux box 4.6.5-1-ec2 #1 SMP Mon Aug 1 02:31:38 PDT 2016 x86_64 GNU/Linux"
   395  	Uname string `protobuf:"bytes,9,opt,name=uname,proto3" json:"uname,omitempty"`
   396  	// An id that is used to represent the schema to Apollo Graph Manager
   397  	// Using this in place of what used to be schema_hash, since that is no longer
   398  	// attached to a schema in the backend.
   399  	ExecutableSchemaId string `protobuf:"bytes,11,opt,name=executable_schema_id,json=executableSchemaId,proto3" json:"executable_schema_id,omitempty"`
   400  }
   401  
   402  func (x *ReportHeader) Reset() {
   403  	*x = ReportHeader{}
   404  	if protoimpl.UnsafeEnabled {
   405  		mi := &file_apollo_trace_proto_msgTypes[1]
   406  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   407  		ms.StoreMessageInfo(mi)
   408  	}
   409  }
   410  
   411  func (x *ReportHeader) String() string {
   412  	return protoimpl.X.MessageStringOf(x)
   413  }
   414  
   415  func (*ReportHeader) ProtoMessage() {}
   416  
   417  func (x *ReportHeader) ProtoReflect() protoreflect.Message {
   418  	mi := &file_apollo_trace_proto_msgTypes[1]
   419  	if protoimpl.UnsafeEnabled && x != nil {
   420  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   421  		if ms.LoadMessageInfo() == nil {
   422  			ms.StoreMessageInfo(mi)
   423  		}
   424  		return ms
   425  	}
   426  	return mi.MessageOf(x)
   427  }
   428  
   429  // Deprecated: Use ReportHeader.ProtoReflect.Descriptor instead.
   430  func (*ReportHeader) Descriptor() ([]byte, []int) {
   431  	return file_apollo_trace_proto_rawDescGZIP(), []int{1}
   432  }
   433  
   434  func (x *ReportHeader) GetGraphRef() string {
   435  	if x != nil {
   436  		return x.GraphRef
   437  	}
   438  	return ""
   439  }
   440  
   441  func (x *ReportHeader) GetHostname() string {
   442  	if x != nil {
   443  		return x.Hostname
   444  	}
   445  	return ""
   446  }
   447  
   448  func (x *ReportHeader) GetAgentVersion() string {
   449  	if x != nil {
   450  		return x.AgentVersion
   451  	}
   452  	return ""
   453  }
   454  
   455  func (x *ReportHeader) GetServiceVersion() string {
   456  	if x != nil {
   457  		return x.ServiceVersion
   458  	}
   459  	return ""
   460  }
   461  
   462  func (x *ReportHeader) GetRuntimeVersion() string {
   463  	if x != nil {
   464  		return x.RuntimeVersion
   465  	}
   466  	return ""
   467  }
   468  
   469  func (x *ReportHeader) GetUname() string {
   470  	if x != nil {
   471  		return x.Uname
   472  	}
   473  	return ""
   474  }
   475  
   476  func (x *ReportHeader) GetExecutableSchemaId() string {
   477  	if x != nil {
   478  		return x.ExecutableSchemaId
   479  	}
   480  	return ""
   481  }
   482  
   483  type PathErrorStats struct {
   484  	state         protoimpl.MessageState
   485  	sizeCache     protoimpl.SizeCache
   486  	unknownFields protoimpl.UnknownFields
   487  
   488  	Children                map[string]*PathErrorStats `protobuf:"bytes,1,rep,name=children,proto3" json:"children,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
   489  	ErrorsCount             uint64                     `protobuf:"varint,4,opt,name=errors_count,json=errorsCount,proto3" json:"errors_count,omitempty"`
   490  	RequestsWithErrorsCount uint64                     `protobuf:"varint,5,opt,name=requests_with_errors_count,json=requestsWithErrorsCount,proto3" json:"requests_with_errors_count,omitempty"`
   491  }
   492  
   493  func (x *PathErrorStats) Reset() {
   494  	*x = PathErrorStats{}
   495  	if protoimpl.UnsafeEnabled {
   496  		mi := &file_apollo_trace_proto_msgTypes[2]
   497  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   498  		ms.StoreMessageInfo(mi)
   499  	}
   500  }
   501  
   502  func (x *PathErrorStats) String() string {
   503  	return protoimpl.X.MessageStringOf(x)
   504  }
   505  
   506  func (*PathErrorStats) ProtoMessage() {}
   507  
   508  func (x *PathErrorStats) ProtoReflect() protoreflect.Message {
   509  	mi := &file_apollo_trace_proto_msgTypes[2]
   510  	if protoimpl.UnsafeEnabled && x != nil {
   511  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   512  		if ms.LoadMessageInfo() == nil {
   513  			ms.StoreMessageInfo(mi)
   514  		}
   515  		return ms
   516  	}
   517  	return mi.MessageOf(x)
   518  }
   519  
   520  // Deprecated: Use PathErrorStats.ProtoReflect.Descriptor instead.
   521  func (*PathErrorStats) Descriptor() ([]byte, []int) {
   522  	return file_apollo_trace_proto_rawDescGZIP(), []int{2}
   523  }
   524  
   525  func (x *PathErrorStats) GetChildren() map[string]*PathErrorStats {
   526  	if x != nil {
   527  		return x.Children
   528  	}
   529  	return nil
   530  }
   531  
   532  func (x *PathErrorStats) GetErrorsCount() uint64 {
   533  	if x != nil {
   534  		return x.ErrorsCount
   535  	}
   536  	return 0
   537  }
   538  
   539  func (x *PathErrorStats) GetRequestsWithErrorsCount() uint64 {
   540  	if x != nil {
   541  		return x.RequestsWithErrorsCount
   542  	}
   543  	return 0
   544  }
   545  
   546  type QueryLatencyStats struct {
   547  	state         protoimpl.MessageState
   548  	sizeCache     protoimpl.SizeCache
   549  	unknownFields protoimpl.UnknownFields
   550  
   551  	LatencyCount             []int64         `protobuf:"zigzag64,13,rep,packed,name=latency_count,json=latencyCount,proto3" json:"latency_count,omitempty"`
   552  	RequestCount             uint64          `protobuf:"varint,2,opt,name=request_count,json=requestCount,proto3" json:"request_count,omitempty"`
   553  	CacheHits                uint64          `protobuf:"varint,3,opt,name=cache_hits,json=cacheHits,proto3" json:"cache_hits,omitempty"`
   554  	PersistedQueryHits       uint64          `protobuf:"varint,4,opt,name=persisted_query_hits,json=persistedQueryHits,proto3" json:"persisted_query_hits,omitempty"`
   555  	PersistedQueryMisses     uint64          `protobuf:"varint,5,opt,name=persisted_query_misses,json=persistedQueryMisses,proto3" json:"persisted_query_misses,omitempty"`
   556  	CacheLatencyCount        []int64         `protobuf:"zigzag64,14,rep,packed,name=cache_latency_count,json=cacheLatencyCount,proto3" json:"cache_latency_count,omitempty"`
   557  	RootErrorStats           *PathErrorStats `protobuf:"bytes,7,opt,name=root_error_stats,json=rootErrorStats,proto3" json:"root_error_stats,omitempty"`
   558  	RequestsWithErrorsCount  uint64          `protobuf:"varint,8,opt,name=requests_with_errors_count,json=requestsWithErrorsCount,proto3" json:"requests_with_errors_count,omitempty"`
   559  	PublicCacheTtlCount      []int64         `protobuf:"zigzag64,15,rep,packed,name=public_cache_ttl_count,json=publicCacheTtlCount,proto3" json:"public_cache_ttl_count,omitempty"`
   560  	PrivateCacheTtlCount     []int64         `protobuf:"zigzag64,16,rep,packed,name=private_cache_ttl_count,json=privateCacheTtlCount,proto3" json:"private_cache_ttl_count,omitempty"`
   561  	RegisteredOperationCount uint64          `protobuf:"varint,11,opt,name=registered_operation_count,json=registeredOperationCount,proto3" json:"registered_operation_count,omitempty"`
   562  	ForbiddenOperationCount  uint64          `protobuf:"varint,12,opt,name=forbidden_operation_count,json=forbiddenOperationCount,proto3" json:"forbidden_operation_count,omitempty"`
   563  	// The number of requests that were executed without field-level
   564  	// instrumentation (and thus do not contribute to `observed_execution_count`
   565  	// fields on this message's cousin-twice-removed FieldStats).
   566  	RequestsWithoutFieldInstrumentation uint64 `protobuf:"varint,17,opt,name=requests_without_field_instrumentation,json=requestsWithoutFieldInstrumentation,proto3" json:"requests_without_field_instrumentation,omitempty"`
   567  }
   568  
   569  func (x *QueryLatencyStats) Reset() {
   570  	*x = QueryLatencyStats{}
   571  	if protoimpl.UnsafeEnabled {
   572  		mi := &file_apollo_trace_proto_msgTypes[3]
   573  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   574  		ms.StoreMessageInfo(mi)
   575  	}
   576  }
   577  
   578  func (x *QueryLatencyStats) String() string {
   579  	return protoimpl.X.MessageStringOf(x)
   580  }
   581  
   582  func (*QueryLatencyStats) ProtoMessage() {}
   583  
   584  func (x *QueryLatencyStats) ProtoReflect() protoreflect.Message {
   585  	mi := &file_apollo_trace_proto_msgTypes[3]
   586  	if protoimpl.UnsafeEnabled && x != nil {
   587  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   588  		if ms.LoadMessageInfo() == nil {
   589  			ms.StoreMessageInfo(mi)
   590  		}
   591  		return ms
   592  	}
   593  	return mi.MessageOf(x)
   594  }
   595  
   596  // Deprecated: Use QueryLatencyStats.ProtoReflect.Descriptor instead.
   597  func (*QueryLatencyStats) Descriptor() ([]byte, []int) {
   598  	return file_apollo_trace_proto_rawDescGZIP(), []int{3}
   599  }
   600  
   601  func (x *QueryLatencyStats) GetLatencyCount() []int64 {
   602  	if x != nil {
   603  		return x.LatencyCount
   604  	}
   605  	return nil
   606  }
   607  
   608  func (x *QueryLatencyStats) GetRequestCount() uint64 {
   609  	if x != nil {
   610  		return x.RequestCount
   611  	}
   612  	return 0
   613  }
   614  
   615  func (x *QueryLatencyStats) GetCacheHits() uint64 {
   616  	if x != nil {
   617  		return x.CacheHits
   618  	}
   619  	return 0
   620  }
   621  
   622  func (x *QueryLatencyStats) GetPersistedQueryHits() uint64 {
   623  	if x != nil {
   624  		return x.PersistedQueryHits
   625  	}
   626  	return 0
   627  }
   628  
   629  func (x *QueryLatencyStats) GetPersistedQueryMisses() uint64 {
   630  	if x != nil {
   631  		return x.PersistedQueryMisses
   632  	}
   633  	return 0
   634  }
   635  
   636  func (x *QueryLatencyStats) GetCacheLatencyCount() []int64 {
   637  	if x != nil {
   638  		return x.CacheLatencyCount
   639  	}
   640  	return nil
   641  }
   642  
   643  func (x *QueryLatencyStats) GetRootErrorStats() *PathErrorStats {
   644  	if x != nil {
   645  		return x.RootErrorStats
   646  	}
   647  	return nil
   648  }
   649  
   650  func (x *QueryLatencyStats) GetRequestsWithErrorsCount() uint64 {
   651  	if x != nil {
   652  		return x.RequestsWithErrorsCount
   653  	}
   654  	return 0
   655  }
   656  
   657  func (x *QueryLatencyStats) GetPublicCacheTtlCount() []int64 {
   658  	if x != nil {
   659  		return x.PublicCacheTtlCount
   660  	}
   661  	return nil
   662  }
   663  
   664  func (x *QueryLatencyStats) GetPrivateCacheTtlCount() []int64 {
   665  	if x != nil {
   666  		return x.PrivateCacheTtlCount
   667  	}
   668  	return nil
   669  }
   670  
   671  func (x *QueryLatencyStats) GetRegisteredOperationCount() uint64 {
   672  	if x != nil {
   673  		return x.RegisteredOperationCount
   674  	}
   675  	return 0
   676  }
   677  
   678  func (x *QueryLatencyStats) GetForbiddenOperationCount() uint64 {
   679  	if x != nil {
   680  		return x.ForbiddenOperationCount
   681  	}
   682  	return 0
   683  }
   684  
   685  func (x *QueryLatencyStats) GetRequestsWithoutFieldInstrumentation() uint64 {
   686  	if x != nil {
   687  		return x.RequestsWithoutFieldInstrumentation
   688  	}
   689  	return 0
   690  }
   691  
   692  type StatsContext struct {
   693  	state         protoimpl.MessageState
   694  	sizeCache     protoimpl.SizeCache
   695  	unknownFields protoimpl.UnknownFields
   696  
   697  	ClientName    string `protobuf:"bytes,2,opt,name=client_name,json=clientName,proto3" json:"client_name,omitempty"`
   698  	ClientVersion string `protobuf:"bytes,3,opt,name=client_version,json=clientVersion,proto3" json:"client_version,omitempty"`
   699  }
   700  
   701  func (x *StatsContext) Reset() {
   702  	*x = StatsContext{}
   703  	if protoimpl.UnsafeEnabled {
   704  		mi := &file_apollo_trace_proto_msgTypes[4]
   705  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   706  		ms.StoreMessageInfo(mi)
   707  	}
   708  }
   709  
   710  func (x *StatsContext) String() string {
   711  	return protoimpl.X.MessageStringOf(x)
   712  }
   713  
   714  func (*StatsContext) ProtoMessage() {}
   715  
   716  func (x *StatsContext) ProtoReflect() protoreflect.Message {
   717  	mi := &file_apollo_trace_proto_msgTypes[4]
   718  	if protoimpl.UnsafeEnabled && x != nil {
   719  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   720  		if ms.LoadMessageInfo() == nil {
   721  			ms.StoreMessageInfo(mi)
   722  		}
   723  		return ms
   724  	}
   725  	return mi.MessageOf(x)
   726  }
   727  
   728  // Deprecated: Use StatsContext.ProtoReflect.Descriptor instead.
   729  func (*StatsContext) Descriptor() ([]byte, []int) {
   730  	return file_apollo_trace_proto_rawDescGZIP(), []int{4}
   731  }
   732  
   733  func (x *StatsContext) GetClientName() string {
   734  	if x != nil {
   735  		return x.ClientName
   736  	}
   737  	return ""
   738  }
   739  
   740  func (x *StatsContext) GetClientVersion() string {
   741  	if x != nil {
   742  		return x.ClientVersion
   743  	}
   744  	return ""
   745  }
   746  
   747  type ContextualizedQueryLatencyStats struct {
   748  	state         protoimpl.MessageState
   749  	sizeCache     protoimpl.SizeCache
   750  	unknownFields protoimpl.UnknownFields
   751  
   752  	QueryLatencyStats *QueryLatencyStats `protobuf:"bytes,1,opt,name=query_latency_stats,json=queryLatencyStats,proto3" json:"query_latency_stats,omitempty"`
   753  	Context           *StatsContext      `protobuf:"bytes,2,opt,name=context,proto3" json:"context,omitempty"`
   754  }
   755  
   756  func (x *ContextualizedQueryLatencyStats) Reset() {
   757  	*x = ContextualizedQueryLatencyStats{}
   758  	if protoimpl.UnsafeEnabled {
   759  		mi := &file_apollo_trace_proto_msgTypes[5]
   760  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   761  		ms.StoreMessageInfo(mi)
   762  	}
   763  }
   764  
   765  func (x *ContextualizedQueryLatencyStats) String() string {
   766  	return protoimpl.X.MessageStringOf(x)
   767  }
   768  
   769  func (*ContextualizedQueryLatencyStats) ProtoMessage() {}
   770  
   771  func (x *ContextualizedQueryLatencyStats) ProtoReflect() protoreflect.Message {
   772  	mi := &file_apollo_trace_proto_msgTypes[5]
   773  	if protoimpl.UnsafeEnabled && x != nil {
   774  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   775  		if ms.LoadMessageInfo() == nil {
   776  			ms.StoreMessageInfo(mi)
   777  		}
   778  		return ms
   779  	}
   780  	return mi.MessageOf(x)
   781  }
   782  
   783  // Deprecated: Use ContextualizedQueryLatencyStats.ProtoReflect.Descriptor instead.
   784  func (*ContextualizedQueryLatencyStats) Descriptor() ([]byte, []int) {
   785  	return file_apollo_trace_proto_rawDescGZIP(), []int{5}
   786  }
   787  
   788  func (x *ContextualizedQueryLatencyStats) GetQueryLatencyStats() *QueryLatencyStats {
   789  	if x != nil {
   790  		return x.QueryLatencyStats
   791  	}
   792  	return nil
   793  }
   794  
   795  func (x *ContextualizedQueryLatencyStats) GetContext() *StatsContext {
   796  	if x != nil {
   797  		return x.Context
   798  	}
   799  	return nil
   800  }
   801  
   802  type ContextualizedTypeStats struct {
   803  	state         protoimpl.MessageState
   804  	sizeCache     protoimpl.SizeCache
   805  	unknownFields protoimpl.UnknownFields
   806  
   807  	Context     *StatsContext        `protobuf:"bytes,1,opt,name=context,proto3" json:"context,omitempty"`
   808  	PerTypeStat map[string]*TypeStat `protobuf:"bytes,2,rep,name=per_type_stat,json=perTypeStat,proto3" json:"per_type_stat,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
   809  }
   810  
   811  func (x *ContextualizedTypeStats) Reset() {
   812  	*x = ContextualizedTypeStats{}
   813  	if protoimpl.UnsafeEnabled {
   814  		mi := &file_apollo_trace_proto_msgTypes[6]
   815  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   816  		ms.StoreMessageInfo(mi)
   817  	}
   818  }
   819  
   820  func (x *ContextualizedTypeStats) String() string {
   821  	return protoimpl.X.MessageStringOf(x)
   822  }
   823  
   824  func (*ContextualizedTypeStats) ProtoMessage() {}
   825  
   826  func (x *ContextualizedTypeStats) ProtoReflect() protoreflect.Message {
   827  	mi := &file_apollo_trace_proto_msgTypes[6]
   828  	if protoimpl.UnsafeEnabled && x != nil {
   829  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   830  		if ms.LoadMessageInfo() == nil {
   831  			ms.StoreMessageInfo(mi)
   832  		}
   833  		return ms
   834  	}
   835  	return mi.MessageOf(x)
   836  }
   837  
   838  // Deprecated: Use ContextualizedTypeStats.ProtoReflect.Descriptor instead.
   839  func (*ContextualizedTypeStats) Descriptor() ([]byte, []int) {
   840  	return file_apollo_trace_proto_rawDescGZIP(), []int{6}
   841  }
   842  
   843  func (x *ContextualizedTypeStats) GetContext() *StatsContext {
   844  	if x != nil {
   845  		return x.Context
   846  	}
   847  	return nil
   848  }
   849  
   850  func (x *ContextualizedTypeStats) GetPerTypeStat() map[string]*TypeStat {
   851  	if x != nil {
   852  		return x.PerTypeStat
   853  	}
   854  	return nil
   855  }
   856  
   857  type FieldStat struct {
   858  	state         protoimpl.MessageState
   859  	sizeCache     protoimpl.SizeCache
   860  	unknownFields protoimpl.UnknownFields
   861  
   862  	ReturnType string `protobuf:"bytes,3,opt,name=return_type,json=returnType,proto3" json:"return_type,omitempty"` // required; eg "String!" for User.email:String!
   863  	// Number of errors whose path is this field. Note that we assume that error
   864  	// tracking does *not* require field-level instrumentation so this *will*
   865  	// include errors from requests that don't contribute to the
   866  	// `observed_execution_count` field (and does not need to be scaled by
   867  	// field_execution_weight).
   868  	ErrorsCount uint64 `protobuf:"varint,4,opt,name=errors_count,json=errorsCount,proto3" json:"errors_count,omitempty"`
   869  	// Number of times that the resolver for this field is directly observed being
   870  	// executed.
   871  	ObservedExecutionCount uint64 `protobuf:"varint,5,opt,name=observed_execution_count,json=observedExecutionCount,proto3" json:"observed_execution_count,omitempty"`
   872  	// Same as `count` but potentially scaled upwards if the server was only
   873  	// performing field-level instrumentation on a sampling of operations.  For
   874  	// example, if the server randomly instruments 1% of requests for this
   875  	// operation, this number will be 100 times greater than
   876  	// `observed_execution_count`. (When aggregating a Trace into FieldStats,
   877  	// this number goes up by the trace's `field_execution_weight` for each
   878  	// observed field execution, while `observed_execution_count` above goes
   879  	// up by 1.)
   880  	EstimatedExecutionCount uint64 `protobuf:"varint,10,opt,name=estimated_execution_count,json=estimatedExecutionCount,proto3" json:"estimated_execution_count,omitempty"`
   881  	// Number of times the resolver for this field is executed that resulted in
   882  	// at least one error. "Request" is a misnomer here as this corresponds to
   883  	// resolver calls, not overall operations. Like `errors_count` above, this
   884  	// includes all requests rather than just requests with field-level
   885  	// instrumentation.
   886  	RequestsWithErrorsCount uint64 `protobuf:"varint,6,opt,name=requests_with_errors_count,json=requestsWithErrorsCount,proto3" json:"requests_with_errors_count,omitempty"`
   887  	// Duration histogram for the latency of this field. Note that it is scaled in
   888  	// the same way as estimated_execution_count so its "total count" might be
   889  	// greater than `observed_execution_count` and may not exactly equal
   890  	// `estimated_execution_count` due to rounding.
   891  	LatencyCount []int64 `protobuf:"zigzag64,9,rep,packed,name=latency_count,json=latencyCount,proto3" json:"latency_count,omitempty"`
   892  }
   893  
   894  func (x *FieldStat) Reset() {
   895  	*x = FieldStat{}
   896  	if protoimpl.UnsafeEnabled {
   897  		mi := &file_apollo_trace_proto_msgTypes[7]
   898  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   899  		ms.StoreMessageInfo(mi)
   900  	}
   901  }
   902  
   903  func (x *FieldStat) String() string {
   904  	return protoimpl.X.MessageStringOf(x)
   905  }
   906  
   907  func (*FieldStat) ProtoMessage() {}
   908  
   909  func (x *FieldStat) ProtoReflect() protoreflect.Message {
   910  	mi := &file_apollo_trace_proto_msgTypes[7]
   911  	if protoimpl.UnsafeEnabled && x != nil {
   912  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   913  		if ms.LoadMessageInfo() == nil {
   914  			ms.StoreMessageInfo(mi)
   915  		}
   916  		return ms
   917  	}
   918  	return mi.MessageOf(x)
   919  }
   920  
   921  // Deprecated: Use FieldStat.ProtoReflect.Descriptor instead.
   922  func (*FieldStat) Descriptor() ([]byte, []int) {
   923  	return file_apollo_trace_proto_rawDescGZIP(), []int{7}
   924  }
   925  
   926  func (x *FieldStat) GetReturnType() string {
   927  	if x != nil {
   928  		return x.ReturnType
   929  	}
   930  	return ""
   931  }
   932  
   933  func (x *FieldStat) GetErrorsCount() uint64 {
   934  	if x != nil {
   935  		return x.ErrorsCount
   936  	}
   937  	return 0
   938  }
   939  
   940  func (x *FieldStat) GetObservedExecutionCount() uint64 {
   941  	if x != nil {
   942  		return x.ObservedExecutionCount
   943  	}
   944  	return 0
   945  }
   946  
   947  func (x *FieldStat) GetEstimatedExecutionCount() uint64 {
   948  	if x != nil {
   949  		return x.EstimatedExecutionCount
   950  	}
   951  	return 0
   952  }
   953  
   954  func (x *FieldStat) GetRequestsWithErrorsCount() uint64 {
   955  	if x != nil {
   956  		return x.RequestsWithErrorsCount
   957  	}
   958  	return 0
   959  }
   960  
   961  func (x *FieldStat) GetLatencyCount() []int64 {
   962  	if x != nil {
   963  		return x.LatencyCount
   964  	}
   965  	return nil
   966  }
   967  
   968  type TypeStat struct {
   969  	state         protoimpl.MessageState
   970  	sizeCache     protoimpl.SizeCache
   971  	unknownFields protoimpl.UnknownFields
   972  
   973  	// Key is (eg) "email" for User.email:String!
   974  	PerFieldStat map[string]*FieldStat `protobuf:"bytes,3,rep,name=per_field_stat,json=perFieldStat,proto3" json:"per_field_stat,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
   975  }
   976  
   977  func (x *TypeStat) Reset() {
   978  	*x = TypeStat{}
   979  	if protoimpl.UnsafeEnabled {
   980  		mi := &file_apollo_trace_proto_msgTypes[8]
   981  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   982  		ms.StoreMessageInfo(mi)
   983  	}
   984  }
   985  
   986  func (x *TypeStat) String() string {
   987  	return protoimpl.X.MessageStringOf(x)
   988  }
   989  
   990  func (*TypeStat) ProtoMessage() {}
   991  
   992  func (x *TypeStat) ProtoReflect() protoreflect.Message {
   993  	mi := &file_apollo_trace_proto_msgTypes[8]
   994  	if protoimpl.UnsafeEnabled && x != nil {
   995  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   996  		if ms.LoadMessageInfo() == nil {
   997  			ms.StoreMessageInfo(mi)
   998  		}
   999  		return ms
  1000  	}
  1001  	return mi.MessageOf(x)
  1002  }
  1003  
  1004  // Deprecated: Use TypeStat.ProtoReflect.Descriptor instead.
  1005  func (*TypeStat) Descriptor() ([]byte, []int) {
  1006  	return file_apollo_trace_proto_rawDescGZIP(), []int{8}
  1007  }
  1008  
  1009  func (x *TypeStat) GetPerFieldStat() map[string]*FieldStat {
  1010  	if x != nil {
  1011  		return x.PerFieldStat
  1012  	}
  1013  	return nil
  1014  }
  1015  
  1016  type ReferencedFieldsForType struct {
  1017  	state         protoimpl.MessageState
  1018  	sizeCache     protoimpl.SizeCache
  1019  	unknownFields protoimpl.UnknownFields
  1020  
  1021  	// Contains (eg) "email" for User.email:String!
  1022  	FieldNames []string `protobuf:"bytes,1,rep,name=field_names,json=fieldNames,proto3" json:"field_names,omitempty"`
  1023  	// True if this type is an interface.
  1024  	IsInterface bool `protobuf:"varint,2,opt,name=is_interface,json=isInterface,proto3" json:"is_interface,omitempty"`
  1025  }
  1026  
  1027  func (x *ReferencedFieldsForType) Reset() {
  1028  	*x = ReferencedFieldsForType{}
  1029  	if protoimpl.UnsafeEnabled {
  1030  		mi := &file_apollo_trace_proto_msgTypes[9]
  1031  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1032  		ms.StoreMessageInfo(mi)
  1033  	}
  1034  }
  1035  
  1036  func (x *ReferencedFieldsForType) String() string {
  1037  	return protoimpl.X.MessageStringOf(x)
  1038  }
  1039  
  1040  func (*ReferencedFieldsForType) ProtoMessage() {}
  1041  
  1042  func (x *ReferencedFieldsForType) ProtoReflect() protoreflect.Message {
  1043  	mi := &file_apollo_trace_proto_msgTypes[9]
  1044  	if protoimpl.UnsafeEnabled && x != nil {
  1045  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1046  		if ms.LoadMessageInfo() == nil {
  1047  			ms.StoreMessageInfo(mi)
  1048  		}
  1049  		return ms
  1050  	}
  1051  	return mi.MessageOf(x)
  1052  }
  1053  
  1054  // Deprecated: Use ReferencedFieldsForType.ProtoReflect.Descriptor instead.
  1055  func (*ReferencedFieldsForType) Descriptor() ([]byte, []int) {
  1056  	return file_apollo_trace_proto_rawDescGZIP(), []int{9}
  1057  }
  1058  
  1059  func (x *ReferencedFieldsForType) GetFieldNames() []string {
  1060  	if x != nil {
  1061  		return x.FieldNames
  1062  	}
  1063  	return nil
  1064  }
  1065  
  1066  func (x *ReferencedFieldsForType) GetIsInterface() bool {
  1067  	if x != nil {
  1068  		return x.IsInterface
  1069  	}
  1070  	return false
  1071  }
  1072  
  1073  // This is the top-level message used by the new traces ingress. This
  1074  // is designed for the apollo-engine-reporting TypeScript agent and will
  1075  // eventually be documented as a public ingress API. This message consists
  1076  // solely of traces; the equivalent of the StatsReport is automatically
  1077  // generated server-side from this message. Agent should either send a trace or include it in the stats
  1078  // for every request in this report. Generally, buffering up until a large
  1079  // size has been reached (say, 4MB) or 5-10 seconds has passed is appropriate.
  1080  // This message used to be know as FullTracesReport, but got renamed since it isn't just for traces anymore
  1081  type Report struct {
  1082  	state         protoimpl.MessageState
  1083  	sizeCache     protoimpl.SizeCache
  1084  	unknownFields protoimpl.UnknownFields
  1085  
  1086  	Header *ReportHeader `protobuf:"bytes,1,opt,name=header,proto3" json:"header,omitempty"`
  1087  	// key is statsReportKey (# operationName\nsignature) Note that the nested
  1088  	// traces will *not* have a signature or details.operationName (because the
  1089  	// key is adequate).
  1090  	//
  1091  	// We also assume that traces don't have
  1092  	// legacy_per_query_implicit_operation_name, and we don't require them to have
  1093  	// details.raw_query (which would consume a lot of space and has privacy/data
  1094  	// access issues, and isn't currently exposed by our app anyway).
  1095  	TracesPerQuery map[string]*TracesAndStats `protobuf:"bytes,5,rep,name=traces_per_query,json=tracesPerQuery,proto3" json:"traces_per_query,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
  1096  	// This is the time that the requests in this trace are considered to have taken place
  1097  	// If this field is not present the max of the end_time of each trace will be used instead.
  1098  	// If there are no traces and no end_time present the report will not be able to be processed.
  1099  	// Note: This will override the end_time from traces.
  1100  	EndTime *timestamppb.Timestamp `protobuf:"bytes,2,opt,name=end_time,json=endTime,proto3" json:"end_time,omitempty"` // required if no traces in this message
  1101  	// Total number of operations processed during this period.
  1102  	OperationCount uint64 `protobuf:"varint,6,opt,name=operation_count,json=operationCount,proto3" json:"operation_count,omitempty"`
  1103  }
  1104  
  1105  func (x *Report) Reset() {
  1106  	*x = Report{}
  1107  	if protoimpl.UnsafeEnabled {
  1108  		mi := &file_apollo_trace_proto_msgTypes[10]
  1109  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1110  		ms.StoreMessageInfo(mi)
  1111  	}
  1112  }
  1113  
  1114  func (x *Report) String() string {
  1115  	return protoimpl.X.MessageStringOf(x)
  1116  }
  1117  
  1118  func (*Report) ProtoMessage() {}
  1119  
  1120  func (x *Report) ProtoReflect() protoreflect.Message {
  1121  	mi := &file_apollo_trace_proto_msgTypes[10]
  1122  	if protoimpl.UnsafeEnabled && x != nil {
  1123  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1124  		if ms.LoadMessageInfo() == nil {
  1125  			ms.StoreMessageInfo(mi)
  1126  		}
  1127  		return ms
  1128  	}
  1129  	return mi.MessageOf(x)
  1130  }
  1131  
  1132  // Deprecated: Use Report.ProtoReflect.Descriptor instead.
  1133  func (*Report) Descriptor() ([]byte, []int) {
  1134  	return file_apollo_trace_proto_rawDescGZIP(), []int{10}
  1135  }
  1136  
  1137  func (x *Report) GetHeader() *ReportHeader {
  1138  	if x != nil {
  1139  		return x.Header
  1140  	}
  1141  	return nil
  1142  }
  1143  
  1144  func (x *Report) GetTracesPerQuery() map[string]*TracesAndStats {
  1145  	if x != nil {
  1146  		return x.TracesPerQuery
  1147  	}
  1148  	return nil
  1149  }
  1150  
  1151  func (x *Report) GetEndTime() *timestamppb.Timestamp {
  1152  	if x != nil {
  1153  		return x.EndTime
  1154  	}
  1155  	return nil
  1156  }
  1157  
  1158  func (x *Report) GetOperationCount() uint64 {
  1159  	if x != nil {
  1160  		return x.OperationCount
  1161  	}
  1162  	return 0
  1163  }
  1164  
  1165  type ContextualizedStats struct {
  1166  	state         protoimpl.MessageState
  1167  	sizeCache     protoimpl.SizeCache
  1168  	unknownFields protoimpl.UnknownFields
  1169  
  1170  	Context           *StatsContext      `protobuf:"bytes,1,opt,name=context,proto3" json:"context,omitempty"`
  1171  	QueryLatencyStats *QueryLatencyStats `protobuf:"bytes,2,opt,name=query_latency_stats,json=queryLatencyStats,proto3" json:"query_latency_stats,omitempty"`
  1172  	// Key is type name. This structure provides data for the count and latency of individual
  1173  	// field executions and thus only reflects operations for which field-level tracing occurred.
  1174  	PerTypeStat map[string]*TypeStat `protobuf:"bytes,3,rep,name=per_type_stat,json=perTypeStat,proto3" json:"per_type_stat,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
  1175  }
  1176  
  1177  func (x *ContextualizedStats) Reset() {
  1178  	*x = ContextualizedStats{}
  1179  	if protoimpl.UnsafeEnabled {
  1180  		mi := &file_apollo_trace_proto_msgTypes[11]
  1181  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1182  		ms.StoreMessageInfo(mi)
  1183  	}
  1184  }
  1185  
  1186  func (x *ContextualizedStats) String() string {
  1187  	return protoimpl.X.MessageStringOf(x)
  1188  }
  1189  
  1190  func (*ContextualizedStats) ProtoMessage() {}
  1191  
  1192  func (x *ContextualizedStats) ProtoReflect() protoreflect.Message {
  1193  	mi := &file_apollo_trace_proto_msgTypes[11]
  1194  	if protoimpl.UnsafeEnabled && x != nil {
  1195  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1196  		if ms.LoadMessageInfo() == nil {
  1197  			ms.StoreMessageInfo(mi)
  1198  		}
  1199  		return ms
  1200  	}
  1201  	return mi.MessageOf(x)
  1202  }
  1203  
  1204  // Deprecated: Use ContextualizedStats.ProtoReflect.Descriptor instead.
  1205  func (*ContextualizedStats) Descriptor() ([]byte, []int) {
  1206  	return file_apollo_trace_proto_rawDescGZIP(), []int{11}
  1207  }
  1208  
  1209  func (x *ContextualizedStats) GetContext() *StatsContext {
  1210  	if x != nil {
  1211  		return x.Context
  1212  	}
  1213  	return nil
  1214  }
  1215  
  1216  func (x *ContextualizedStats) GetQueryLatencyStats() *QueryLatencyStats {
  1217  	if x != nil {
  1218  		return x.QueryLatencyStats
  1219  	}
  1220  	return nil
  1221  }
  1222  
  1223  func (x *ContextualizedStats) GetPerTypeStat() map[string]*TypeStat {
  1224  	if x != nil {
  1225  		return x.PerTypeStat
  1226  	}
  1227  	return nil
  1228  }
  1229  
  1230  // A sequence of traces and stats. An individual operation should either be described as a trace
  1231  // or as part of stats, but not both.
  1232  type TracesAndStats struct {
  1233  	state         protoimpl.MessageState
  1234  	sizeCache     protoimpl.SizeCache
  1235  	unknownFields protoimpl.UnknownFields
  1236  
  1237  	Trace            []*Trace               `protobuf:"bytes,1,rep,name=trace,proto3" json:"trace,omitempty"`
  1238  	StatsWithContext []*ContextualizedStats `protobuf:"bytes,2,rep,name=stats_with_context,json=statsWithContext,proto3" json:"stats_with_context,omitempty"`
  1239  	// This describes the fields referenced in the operation. Note that this may
  1240  	// include fields that don't show up in FieldStats (due to being interface fields,
  1241  	// being nested under null fields or empty lists or non-matching fragments or
  1242  	// `@include` or `@skip`, etc). It also may be missing fields that show up in FieldStats
  1243  	// (as FieldStats will include the concrete object type for fields referenced
  1244  	// via an interface type).
  1245  	ReferencedFieldsByType map[string]*ReferencedFieldsForType `protobuf:"bytes,4,rep,name=referenced_fields_by_type,json=referencedFieldsByType,proto3" json:"referenced_fields_by_type,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
  1246  	// This field is used to validate that the algorithm used to construct `stats_with_context`
  1247  	// matches similar algorithms in Apollo's servers. It is otherwise ignored and should not
  1248  	// be included in reports.
  1249  	InternalTracesContributingToStats []*Trace `protobuf:"bytes,3,rep,name=internal_traces_contributing_to_stats,json=internalTracesContributingToStats,proto3" json:"internal_traces_contributing_to_stats,omitempty"`
  1250  }
  1251  
  1252  func (x *TracesAndStats) Reset() {
  1253  	*x = TracesAndStats{}
  1254  	if protoimpl.UnsafeEnabled {
  1255  		mi := &file_apollo_trace_proto_msgTypes[12]
  1256  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1257  		ms.StoreMessageInfo(mi)
  1258  	}
  1259  }
  1260  
  1261  func (x *TracesAndStats) String() string {
  1262  	return protoimpl.X.MessageStringOf(x)
  1263  }
  1264  
  1265  func (*TracesAndStats) ProtoMessage() {}
  1266  
  1267  func (x *TracesAndStats) ProtoReflect() protoreflect.Message {
  1268  	mi := &file_apollo_trace_proto_msgTypes[12]
  1269  	if protoimpl.UnsafeEnabled && x != nil {
  1270  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1271  		if ms.LoadMessageInfo() == nil {
  1272  			ms.StoreMessageInfo(mi)
  1273  		}
  1274  		return ms
  1275  	}
  1276  	return mi.MessageOf(x)
  1277  }
  1278  
  1279  // Deprecated: Use TracesAndStats.ProtoReflect.Descriptor instead.
  1280  func (*TracesAndStats) Descriptor() ([]byte, []int) {
  1281  	return file_apollo_trace_proto_rawDescGZIP(), []int{12}
  1282  }
  1283  
  1284  func (x *TracesAndStats) GetTrace() []*Trace {
  1285  	if x != nil {
  1286  		return x.Trace
  1287  	}
  1288  	return nil
  1289  }
  1290  
  1291  func (x *TracesAndStats) GetStatsWithContext() []*ContextualizedStats {
  1292  	if x != nil {
  1293  		return x.StatsWithContext
  1294  	}
  1295  	return nil
  1296  }
  1297  
  1298  func (x *TracesAndStats) GetReferencedFieldsByType() map[string]*ReferencedFieldsForType {
  1299  	if x != nil {
  1300  		return x.ReferencedFieldsByType
  1301  	}
  1302  	return nil
  1303  }
  1304  
  1305  func (x *TracesAndStats) GetInternalTracesContributingToStats() []*Trace {
  1306  	if x != nil {
  1307  		return x.InternalTracesContributingToStats
  1308  	}
  1309  	return nil
  1310  }
  1311  
  1312  type Trace_CachePolicy struct {
  1313  	state         protoimpl.MessageState
  1314  	sizeCache     protoimpl.SizeCache
  1315  	unknownFields protoimpl.UnknownFields
  1316  
  1317  	Scope    Trace_CachePolicy_Scope `protobuf:"varint,1,opt,name=scope,proto3,enum=Trace_CachePolicy_Scope" json:"scope,omitempty"`
  1318  	MaxAgeNs int64                   `protobuf:"varint,2,opt,name=max_age_ns,json=maxAgeNs,proto3" json:"max_age_ns,omitempty"` // use 0 for absent, -1 for 0
  1319  }
  1320  
  1321  func (x *Trace_CachePolicy) Reset() {
  1322  	*x = Trace_CachePolicy{}
  1323  	if protoimpl.UnsafeEnabled {
  1324  		mi := &file_apollo_trace_proto_msgTypes[13]
  1325  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1326  		ms.StoreMessageInfo(mi)
  1327  	}
  1328  }
  1329  
  1330  func (x *Trace_CachePolicy) String() string {
  1331  	return protoimpl.X.MessageStringOf(x)
  1332  }
  1333  
  1334  func (*Trace_CachePolicy) ProtoMessage() {}
  1335  
  1336  func (x *Trace_CachePolicy) ProtoReflect() protoreflect.Message {
  1337  	mi := &file_apollo_trace_proto_msgTypes[13]
  1338  	if protoimpl.UnsafeEnabled && x != nil {
  1339  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1340  		if ms.LoadMessageInfo() == nil {
  1341  			ms.StoreMessageInfo(mi)
  1342  		}
  1343  		return ms
  1344  	}
  1345  	return mi.MessageOf(x)
  1346  }
  1347  
  1348  // Deprecated: Use Trace_CachePolicy.ProtoReflect.Descriptor instead.
  1349  func (*Trace_CachePolicy) Descriptor() ([]byte, []int) {
  1350  	return file_apollo_trace_proto_rawDescGZIP(), []int{0, 0}
  1351  }
  1352  
  1353  func (x *Trace_CachePolicy) GetScope() Trace_CachePolicy_Scope {
  1354  	if x != nil {
  1355  		return x.Scope
  1356  	}
  1357  	return Trace_CachePolicy_UNKNOWN
  1358  }
  1359  
  1360  func (x *Trace_CachePolicy) GetMaxAgeNs() int64 {
  1361  	if x != nil {
  1362  		return x.MaxAgeNs
  1363  	}
  1364  	return 0
  1365  }
  1366  
  1367  type Trace_Details struct {
  1368  	state         protoimpl.MessageState
  1369  	sizeCache     protoimpl.SizeCache
  1370  	unknownFields protoimpl.UnknownFields
  1371  
  1372  	// The variables associated with this query (unless the reporting agent is
  1373  	// configured to keep them all private). Values are JSON: ie, strings are
  1374  	// enclosed in double quotes, etc.  The value of a private variable is
  1375  	// the empty string.
  1376  	VariablesJson map[string]string `protobuf:"bytes,4,rep,name=variables_json,json=variablesJson,proto3" json:"variables_json,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
  1377  	// This is deprecated and only used for legacy applications
  1378  	// don't include this in traces inside a FullTracesReport; the operation
  1379  	// name for these traces comes from the key of the traces_per_query map.
  1380  	OperationName string `protobuf:"bytes,3,opt,name=operation_name,json=operationName,proto3" json:"operation_name,omitempty"`
  1381  }
  1382  
  1383  func (x *Trace_Details) Reset() {
  1384  	*x = Trace_Details{}
  1385  	if protoimpl.UnsafeEnabled {
  1386  		mi := &file_apollo_trace_proto_msgTypes[14]
  1387  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1388  		ms.StoreMessageInfo(mi)
  1389  	}
  1390  }
  1391  
  1392  func (x *Trace_Details) String() string {
  1393  	return protoimpl.X.MessageStringOf(x)
  1394  }
  1395  
  1396  func (*Trace_Details) ProtoMessage() {}
  1397  
  1398  func (x *Trace_Details) ProtoReflect() protoreflect.Message {
  1399  	mi := &file_apollo_trace_proto_msgTypes[14]
  1400  	if protoimpl.UnsafeEnabled && x != nil {
  1401  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1402  		if ms.LoadMessageInfo() == nil {
  1403  			ms.StoreMessageInfo(mi)
  1404  		}
  1405  		return ms
  1406  	}
  1407  	return mi.MessageOf(x)
  1408  }
  1409  
  1410  // Deprecated: Use Trace_Details.ProtoReflect.Descriptor instead.
  1411  func (*Trace_Details) Descriptor() ([]byte, []int) {
  1412  	return file_apollo_trace_proto_rawDescGZIP(), []int{0, 1}
  1413  }
  1414  
  1415  func (x *Trace_Details) GetVariablesJson() map[string]string {
  1416  	if x != nil {
  1417  		return x.VariablesJson
  1418  	}
  1419  	return nil
  1420  }
  1421  
  1422  func (x *Trace_Details) GetOperationName() string {
  1423  	if x != nil {
  1424  		return x.OperationName
  1425  	}
  1426  	return ""
  1427  }
  1428  
  1429  type Trace_Error struct {
  1430  	state         protoimpl.MessageState
  1431  	sizeCache     protoimpl.SizeCache
  1432  	unknownFields protoimpl.UnknownFields
  1433  
  1434  	Message  string            `protobuf:"bytes,1,opt,name=message,proto3" json:"message,omitempty"` // required
  1435  	Location []*Trace_Location `protobuf:"bytes,2,rep,name=location,proto3" json:"location,omitempty"`
  1436  	TimeNs   uint64            `protobuf:"varint,3,opt,name=time_ns,json=timeNs,proto3" json:"time_ns,omitempty"`
  1437  	Json     string            `protobuf:"bytes,4,opt,name=json,proto3" json:"json,omitempty"`
  1438  }
  1439  
  1440  func (x *Trace_Error) Reset() {
  1441  	*x = Trace_Error{}
  1442  	if protoimpl.UnsafeEnabled {
  1443  		mi := &file_apollo_trace_proto_msgTypes[15]
  1444  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1445  		ms.StoreMessageInfo(mi)
  1446  	}
  1447  }
  1448  
  1449  func (x *Trace_Error) String() string {
  1450  	return protoimpl.X.MessageStringOf(x)
  1451  }
  1452  
  1453  func (*Trace_Error) ProtoMessage() {}
  1454  
  1455  func (x *Trace_Error) ProtoReflect() protoreflect.Message {
  1456  	mi := &file_apollo_trace_proto_msgTypes[15]
  1457  	if protoimpl.UnsafeEnabled && x != nil {
  1458  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1459  		if ms.LoadMessageInfo() == nil {
  1460  			ms.StoreMessageInfo(mi)
  1461  		}
  1462  		return ms
  1463  	}
  1464  	return mi.MessageOf(x)
  1465  }
  1466  
  1467  // Deprecated: Use Trace_Error.ProtoReflect.Descriptor instead.
  1468  func (*Trace_Error) Descriptor() ([]byte, []int) {
  1469  	return file_apollo_trace_proto_rawDescGZIP(), []int{0, 2}
  1470  }
  1471  
  1472  func (x *Trace_Error) GetMessage() string {
  1473  	if x != nil {
  1474  		return x.Message
  1475  	}
  1476  	return ""
  1477  }
  1478  
  1479  func (x *Trace_Error) GetLocation() []*Trace_Location {
  1480  	if x != nil {
  1481  		return x.Location
  1482  	}
  1483  	return nil
  1484  }
  1485  
  1486  func (x *Trace_Error) GetTimeNs() uint64 {
  1487  	if x != nil {
  1488  		return x.TimeNs
  1489  	}
  1490  	return 0
  1491  }
  1492  
  1493  func (x *Trace_Error) GetJson() string {
  1494  	if x != nil {
  1495  		return x.Json
  1496  	}
  1497  	return ""
  1498  }
  1499  
  1500  type Trace_HTTP struct {
  1501  	state         protoimpl.MessageState
  1502  	sizeCache     protoimpl.SizeCache
  1503  	unknownFields protoimpl.UnknownFields
  1504  
  1505  	Method Trace_HTTP_Method `protobuf:"varint,1,opt,name=method,proto3,enum=Trace_HTTP_Method" json:"method,omitempty"`
  1506  	Host   string            `protobuf:"bytes,2,opt,name=host,proto3" json:"host,omitempty"`
  1507  	Path   string            `protobuf:"bytes,3,opt,name=path,proto3" json:"path,omitempty"`
  1508  	// Should exclude manual blacklist ("Auth" by default)
  1509  	RequestHeaders  map[string]*Trace_HTTP_Values `protobuf:"bytes,4,rep,name=request_headers,json=requestHeaders,proto3" json:"request_headers,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
  1510  	ResponseHeaders map[string]*Trace_HTTP_Values `protobuf:"bytes,5,rep,name=response_headers,json=responseHeaders,proto3" json:"response_headers,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
  1511  	StatusCode      uint32                        `protobuf:"varint,6,opt,name=status_code,json=statusCode,proto3" json:"status_code,omitempty"`
  1512  	Secure          bool                          `protobuf:"varint,8,opt,name=secure,proto3" json:"secure,omitempty"`    // TLS was used
  1513  	Protocol        string                        `protobuf:"bytes,9,opt,name=protocol,proto3" json:"protocol,omitempty"` // by convention "HTTP/1.0", "HTTP/1.1", "HTTP/2" or "h2"
  1514  }
  1515  
  1516  func (x *Trace_HTTP) Reset() {
  1517  	*x = Trace_HTTP{}
  1518  	if protoimpl.UnsafeEnabled {
  1519  		mi := &file_apollo_trace_proto_msgTypes[16]
  1520  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1521  		ms.StoreMessageInfo(mi)
  1522  	}
  1523  }
  1524  
  1525  func (x *Trace_HTTP) String() string {
  1526  	return protoimpl.X.MessageStringOf(x)
  1527  }
  1528  
  1529  func (*Trace_HTTP) ProtoMessage() {}
  1530  
  1531  func (x *Trace_HTTP) ProtoReflect() protoreflect.Message {
  1532  	mi := &file_apollo_trace_proto_msgTypes[16]
  1533  	if protoimpl.UnsafeEnabled && x != nil {
  1534  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1535  		if ms.LoadMessageInfo() == nil {
  1536  			ms.StoreMessageInfo(mi)
  1537  		}
  1538  		return ms
  1539  	}
  1540  	return mi.MessageOf(x)
  1541  }
  1542  
  1543  // Deprecated: Use Trace_HTTP.ProtoReflect.Descriptor instead.
  1544  func (*Trace_HTTP) Descriptor() ([]byte, []int) {
  1545  	return file_apollo_trace_proto_rawDescGZIP(), []int{0, 3}
  1546  }
  1547  
  1548  func (x *Trace_HTTP) GetMethod() Trace_HTTP_Method {
  1549  	if x != nil {
  1550  		return x.Method
  1551  	}
  1552  	return Trace_HTTP_UNKNOWN
  1553  }
  1554  
  1555  func (x *Trace_HTTP) GetHost() string {
  1556  	if x != nil {
  1557  		return x.Host
  1558  	}
  1559  	return ""
  1560  }
  1561  
  1562  func (x *Trace_HTTP) GetPath() string {
  1563  	if x != nil {
  1564  		return x.Path
  1565  	}
  1566  	return ""
  1567  }
  1568  
  1569  func (x *Trace_HTTP) GetRequestHeaders() map[string]*Trace_HTTP_Values {
  1570  	if x != nil {
  1571  		return x.RequestHeaders
  1572  	}
  1573  	return nil
  1574  }
  1575  
  1576  func (x *Trace_HTTP) GetResponseHeaders() map[string]*Trace_HTTP_Values {
  1577  	if x != nil {
  1578  		return x.ResponseHeaders
  1579  	}
  1580  	return nil
  1581  }
  1582  
  1583  func (x *Trace_HTTP) GetStatusCode() uint32 {
  1584  	if x != nil {
  1585  		return x.StatusCode
  1586  	}
  1587  	return 0
  1588  }
  1589  
  1590  func (x *Trace_HTTP) GetSecure() bool {
  1591  	if x != nil {
  1592  		return x.Secure
  1593  	}
  1594  	return false
  1595  }
  1596  
  1597  func (x *Trace_HTTP) GetProtocol() string {
  1598  	if x != nil {
  1599  		return x.Protocol
  1600  	}
  1601  	return ""
  1602  }
  1603  
  1604  type Trace_Location struct {
  1605  	state         protoimpl.MessageState
  1606  	sizeCache     protoimpl.SizeCache
  1607  	unknownFields protoimpl.UnknownFields
  1608  
  1609  	Line   uint32 `protobuf:"varint,1,opt,name=line,proto3" json:"line,omitempty"`
  1610  	Column uint32 `protobuf:"varint,2,opt,name=column,proto3" json:"column,omitempty"`
  1611  }
  1612  
  1613  func (x *Trace_Location) Reset() {
  1614  	*x = Trace_Location{}
  1615  	if protoimpl.UnsafeEnabled {
  1616  		mi := &file_apollo_trace_proto_msgTypes[17]
  1617  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1618  		ms.StoreMessageInfo(mi)
  1619  	}
  1620  }
  1621  
  1622  func (x *Trace_Location) String() string {
  1623  	return protoimpl.X.MessageStringOf(x)
  1624  }
  1625  
  1626  func (*Trace_Location) ProtoMessage() {}
  1627  
  1628  func (x *Trace_Location) ProtoReflect() protoreflect.Message {
  1629  	mi := &file_apollo_trace_proto_msgTypes[17]
  1630  	if protoimpl.UnsafeEnabled && x != nil {
  1631  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1632  		if ms.LoadMessageInfo() == nil {
  1633  			ms.StoreMessageInfo(mi)
  1634  		}
  1635  		return ms
  1636  	}
  1637  	return mi.MessageOf(x)
  1638  }
  1639  
  1640  // Deprecated: Use Trace_Location.ProtoReflect.Descriptor instead.
  1641  func (*Trace_Location) Descriptor() ([]byte, []int) {
  1642  	return file_apollo_trace_proto_rawDescGZIP(), []int{0, 4}
  1643  }
  1644  
  1645  func (x *Trace_Location) GetLine() uint32 {
  1646  	if x != nil {
  1647  		return x.Line
  1648  	}
  1649  	return 0
  1650  }
  1651  
  1652  func (x *Trace_Location) GetColumn() uint32 {
  1653  	if x != nil {
  1654  		return x.Column
  1655  	}
  1656  	return 0
  1657  }
  1658  
  1659  // We store information on each resolver execution as a Node on a tree.
  1660  // The structure of the tree corresponds to the structure of the GraphQL
  1661  // response; it does not indicate the order in which resolvers were
  1662  // invoked.  Note that nodes representing indexes (and the root node)
  1663  // don't contain all Node fields (eg types and times).
  1664  type Trace_Node struct {
  1665  	state         protoimpl.MessageState
  1666  	sizeCache     protoimpl.SizeCache
  1667  	unknownFields protoimpl.UnknownFields
  1668  
  1669  	// The name of the field (for Nodes representing a resolver call) or the
  1670  	// index in a list (for intermediate Nodes representing elements of a list).
  1671  	// field_name is the name of the field as it appears in the GraphQL
  1672  	// response: ie, it may be an alias.  (In that case, the original_field_name
  1673  	// field holds the actual field name from the schema.) In any context where
  1674  	// we're building up a path, we use the response_name rather than the
  1675  	// original_field_name.
  1676  	//
  1677  	// Types that are assignable to Id:
  1678  	//	*Trace_Node_ResponseName
  1679  	//	*Trace_Node_Index
  1680  	Id                isTrace_Node_Id `protobuf_oneof:"id"`
  1681  	OriginalFieldName string          `protobuf:"bytes,14,opt,name=original_field_name,json=originalFieldName,proto3" json:"original_field_name,omitempty"`
  1682  	// The field's return type; e.g. "String!" for User.email:String!
  1683  	Type string `protobuf:"bytes,3,opt,name=type,proto3" json:"type,omitempty"`
  1684  	// The field's parent type; e.g. "User" for User.email:String!
  1685  	ParentType  string             `protobuf:"bytes,13,opt,name=parent_type,json=parentType,proto3" json:"parent_type,omitempty"`
  1686  	CachePolicy *Trace_CachePolicy `protobuf:"bytes,5,opt,name=cache_policy,json=cachePolicy,proto3" json:"cache_policy,omitempty"`
  1687  	// relative to the trace's start_time, in ns
  1688  	StartTime uint64 `protobuf:"varint,8,opt,name=start_time,json=startTime,proto3" json:"start_time,omitempty"`
  1689  	// relative to the trace's start_time, in ns
  1690  	EndTime uint64         `protobuf:"varint,9,opt,name=end_time,json=endTime,proto3" json:"end_time,omitempty"`
  1691  	Error   []*Trace_Error `protobuf:"bytes,11,rep,name=error,proto3" json:"error,omitempty"`
  1692  	Child   []*Trace_Node  `protobuf:"bytes,12,rep,name=child,proto3" json:"child,omitempty"`
  1693  }
  1694  
  1695  func (x *Trace_Node) Reset() {
  1696  	*x = Trace_Node{}
  1697  	if protoimpl.UnsafeEnabled {
  1698  		mi := &file_apollo_trace_proto_msgTypes[18]
  1699  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1700  		ms.StoreMessageInfo(mi)
  1701  	}
  1702  }
  1703  
  1704  func (x *Trace_Node) String() string {
  1705  	return protoimpl.X.MessageStringOf(x)
  1706  }
  1707  
  1708  func (*Trace_Node) ProtoMessage() {}
  1709  
  1710  func (x *Trace_Node) ProtoReflect() protoreflect.Message {
  1711  	mi := &file_apollo_trace_proto_msgTypes[18]
  1712  	if protoimpl.UnsafeEnabled && x != nil {
  1713  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1714  		if ms.LoadMessageInfo() == nil {
  1715  			ms.StoreMessageInfo(mi)
  1716  		}
  1717  		return ms
  1718  	}
  1719  	return mi.MessageOf(x)
  1720  }
  1721  
  1722  // Deprecated: Use Trace_Node.ProtoReflect.Descriptor instead.
  1723  func (*Trace_Node) Descriptor() ([]byte, []int) {
  1724  	return file_apollo_trace_proto_rawDescGZIP(), []int{0, 5}
  1725  }
  1726  
  1727  func (m *Trace_Node) GetId() isTrace_Node_Id {
  1728  	if m != nil {
  1729  		return m.Id
  1730  	}
  1731  	return nil
  1732  }
  1733  
  1734  func (x *Trace_Node) GetResponseName() string {
  1735  	if x, ok := x.GetId().(*Trace_Node_ResponseName); ok {
  1736  		return x.ResponseName
  1737  	}
  1738  	return ""
  1739  }
  1740  
  1741  func (x *Trace_Node) GetIndex() uint32 {
  1742  	if x, ok := x.GetId().(*Trace_Node_Index); ok {
  1743  		return x.Index
  1744  	}
  1745  	return 0
  1746  }
  1747  
  1748  func (x *Trace_Node) GetOriginalFieldName() string {
  1749  	if x != nil {
  1750  		return x.OriginalFieldName
  1751  	}
  1752  	return ""
  1753  }
  1754  
  1755  func (x *Trace_Node) GetType() string {
  1756  	if x != nil {
  1757  		return x.Type
  1758  	}
  1759  	return ""
  1760  }
  1761  
  1762  func (x *Trace_Node) GetParentType() string {
  1763  	if x != nil {
  1764  		return x.ParentType
  1765  	}
  1766  	return ""
  1767  }
  1768  
  1769  func (x *Trace_Node) GetCachePolicy() *Trace_CachePolicy {
  1770  	if x != nil {
  1771  		return x.CachePolicy
  1772  	}
  1773  	return nil
  1774  }
  1775  
  1776  func (x *Trace_Node) GetStartTime() uint64 {
  1777  	if x != nil {
  1778  		return x.StartTime
  1779  	}
  1780  	return 0
  1781  }
  1782  
  1783  func (x *Trace_Node) GetEndTime() uint64 {
  1784  	if x != nil {
  1785  		return x.EndTime
  1786  	}
  1787  	return 0
  1788  }
  1789  
  1790  func (x *Trace_Node) GetError() []*Trace_Error {
  1791  	if x != nil {
  1792  		return x.Error
  1793  	}
  1794  	return nil
  1795  }
  1796  
  1797  func (x *Trace_Node) GetChild() []*Trace_Node {
  1798  	if x != nil {
  1799  		return x.Child
  1800  	}
  1801  	return nil
  1802  }
  1803  
  1804  type isTrace_Node_Id interface {
  1805  	isTrace_Node_Id()
  1806  }
  1807  
  1808  type Trace_Node_ResponseName struct {
  1809  	ResponseName string `protobuf:"bytes,1,opt,name=response_name,json=responseName,proto3,oneof"`
  1810  }
  1811  
  1812  type Trace_Node_Index struct {
  1813  	Index uint32 `protobuf:"varint,2,opt,name=index,proto3,oneof"`
  1814  }
  1815  
  1816  func (*Trace_Node_ResponseName) isTrace_Node_Id() {}
  1817  
  1818  func (*Trace_Node_Index) isTrace_Node_Id() {}
  1819  
  1820  // represents a node in the query plan, under which there is a trace tree for that service fetch.
  1821  // In particular, each fetch node represents a call to an implementing service, and calls to implementing
  1822  // services may not be unique. See https://github.com/apollographql/apollo-server/blob/main/packages/apollo-gateway/src/QueryPlan.ts
  1823  // for more information and details.
  1824  type Trace_QueryPlanNode struct {
  1825  	state         protoimpl.MessageState
  1826  	sizeCache     protoimpl.SizeCache
  1827  	unknownFields protoimpl.UnknownFields
  1828  
  1829  	// Types that are assignable to Node:
  1830  	//	*Trace_QueryPlanNode_Sequence
  1831  	//	*Trace_QueryPlanNode_Parallel
  1832  	//	*Trace_QueryPlanNode_Fetch
  1833  	//	*Trace_QueryPlanNode_Flatten
  1834  	Node isTrace_QueryPlanNode_Node `protobuf_oneof:"node"`
  1835  }
  1836  
  1837  func (x *Trace_QueryPlanNode) Reset() {
  1838  	*x = Trace_QueryPlanNode{}
  1839  	if protoimpl.UnsafeEnabled {
  1840  		mi := &file_apollo_trace_proto_msgTypes[19]
  1841  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1842  		ms.StoreMessageInfo(mi)
  1843  	}
  1844  }
  1845  
  1846  func (x *Trace_QueryPlanNode) String() string {
  1847  	return protoimpl.X.MessageStringOf(x)
  1848  }
  1849  
  1850  func (*Trace_QueryPlanNode) ProtoMessage() {}
  1851  
  1852  func (x *Trace_QueryPlanNode) ProtoReflect() protoreflect.Message {
  1853  	mi := &file_apollo_trace_proto_msgTypes[19]
  1854  	if protoimpl.UnsafeEnabled && x != nil {
  1855  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1856  		if ms.LoadMessageInfo() == nil {
  1857  			ms.StoreMessageInfo(mi)
  1858  		}
  1859  		return ms
  1860  	}
  1861  	return mi.MessageOf(x)
  1862  }
  1863  
  1864  // Deprecated: Use Trace_QueryPlanNode.ProtoReflect.Descriptor instead.
  1865  func (*Trace_QueryPlanNode) Descriptor() ([]byte, []int) {
  1866  	return file_apollo_trace_proto_rawDescGZIP(), []int{0, 6}
  1867  }
  1868  
  1869  func (m *Trace_QueryPlanNode) GetNode() isTrace_QueryPlanNode_Node {
  1870  	if m != nil {
  1871  		return m.Node
  1872  	}
  1873  	return nil
  1874  }
  1875  
  1876  func (x *Trace_QueryPlanNode) GetSequence() *Trace_QueryPlanNode_SequenceNode {
  1877  	if x, ok := x.GetNode().(*Trace_QueryPlanNode_Sequence); ok {
  1878  		return x.Sequence
  1879  	}
  1880  	return nil
  1881  }
  1882  
  1883  func (x *Trace_QueryPlanNode) GetParallel() *Trace_QueryPlanNode_ParallelNode {
  1884  	if x, ok := x.GetNode().(*Trace_QueryPlanNode_Parallel); ok {
  1885  		return x.Parallel
  1886  	}
  1887  	return nil
  1888  }
  1889  
  1890  func (x *Trace_QueryPlanNode) GetFetch() *Trace_QueryPlanNode_FetchNode {
  1891  	if x, ok := x.GetNode().(*Trace_QueryPlanNode_Fetch); ok {
  1892  		return x.Fetch
  1893  	}
  1894  	return nil
  1895  }
  1896  
  1897  func (x *Trace_QueryPlanNode) GetFlatten() *Trace_QueryPlanNode_FlattenNode {
  1898  	if x, ok := x.GetNode().(*Trace_QueryPlanNode_Flatten); ok {
  1899  		return x.Flatten
  1900  	}
  1901  	return nil
  1902  }
  1903  
  1904  type isTrace_QueryPlanNode_Node interface {
  1905  	isTrace_QueryPlanNode_Node()
  1906  }
  1907  
  1908  type Trace_QueryPlanNode_Sequence struct {
  1909  	Sequence *Trace_QueryPlanNode_SequenceNode `protobuf:"bytes,1,opt,name=sequence,proto3,oneof"`
  1910  }
  1911  
  1912  type Trace_QueryPlanNode_Parallel struct {
  1913  	Parallel *Trace_QueryPlanNode_ParallelNode `protobuf:"bytes,2,opt,name=parallel,proto3,oneof"`
  1914  }
  1915  
  1916  type Trace_QueryPlanNode_Fetch struct {
  1917  	Fetch *Trace_QueryPlanNode_FetchNode `protobuf:"bytes,3,opt,name=fetch,proto3,oneof"`
  1918  }
  1919  
  1920  type Trace_QueryPlanNode_Flatten struct {
  1921  	Flatten *Trace_QueryPlanNode_FlattenNode `protobuf:"bytes,4,opt,name=flatten,proto3,oneof"`
  1922  }
  1923  
  1924  func (*Trace_QueryPlanNode_Sequence) isTrace_QueryPlanNode_Node() {}
  1925  
  1926  func (*Trace_QueryPlanNode_Parallel) isTrace_QueryPlanNode_Node() {}
  1927  
  1928  func (*Trace_QueryPlanNode_Fetch) isTrace_QueryPlanNode_Node() {}
  1929  
  1930  func (*Trace_QueryPlanNode_Flatten) isTrace_QueryPlanNode_Node() {}
  1931  
  1932  type Trace_HTTP_Values struct {
  1933  	state         protoimpl.MessageState
  1934  	sizeCache     protoimpl.SizeCache
  1935  	unknownFields protoimpl.UnknownFields
  1936  
  1937  	Value []string `protobuf:"bytes,1,rep,name=value,proto3" json:"value,omitempty"`
  1938  }
  1939  
  1940  func (x *Trace_HTTP_Values) Reset() {
  1941  	*x = Trace_HTTP_Values{}
  1942  	if protoimpl.UnsafeEnabled {
  1943  		mi := &file_apollo_trace_proto_msgTypes[21]
  1944  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1945  		ms.StoreMessageInfo(mi)
  1946  	}
  1947  }
  1948  
  1949  func (x *Trace_HTTP_Values) String() string {
  1950  	return protoimpl.X.MessageStringOf(x)
  1951  }
  1952  
  1953  func (*Trace_HTTP_Values) ProtoMessage() {}
  1954  
  1955  func (x *Trace_HTTP_Values) ProtoReflect() protoreflect.Message {
  1956  	mi := &file_apollo_trace_proto_msgTypes[21]
  1957  	if protoimpl.UnsafeEnabled && x != nil {
  1958  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1959  		if ms.LoadMessageInfo() == nil {
  1960  			ms.StoreMessageInfo(mi)
  1961  		}
  1962  		return ms
  1963  	}
  1964  	return mi.MessageOf(x)
  1965  }
  1966  
  1967  // Deprecated: Use Trace_HTTP_Values.ProtoReflect.Descriptor instead.
  1968  func (*Trace_HTTP_Values) Descriptor() ([]byte, []int) {
  1969  	return file_apollo_trace_proto_rawDescGZIP(), []int{0, 3, 0}
  1970  }
  1971  
  1972  func (x *Trace_HTTP_Values) GetValue() []string {
  1973  	if x != nil {
  1974  		return x.Value
  1975  	}
  1976  	return nil
  1977  }
  1978  
  1979  // This represents a set of nodes to be executed sequentially by the Gateway executor
  1980  type Trace_QueryPlanNode_SequenceNode struct {
  1981  	state         protoimpl.MessageState
  1982  	sizeCache     protoimpl.SizeCache
  1983  	unknownFields protoimpl.UnknownFields
  1984  
  1985  	Nodes []*Trace_QueryPlanNode `protobuf:"bytes,1,rep,name=nodes,proto3" json:"nodes,omitempty"`
  1986  }
  1987  
  1988  func (x *Trace_QueryPlanNode_SequenceNode) Reset() {
  1989  	*x = Trace_QueryPlanNode_SequenceNode{}
  1990  	if protoimpl.UnsafeEnabled {
  1991  		mi := &file_apollo_trace_proto_msgTypes[24]
  1992  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1993  		ms.StoreMessageInfo(mi)
  1994  	}
  1995  }
  1996  
  1997  func (x *Trace_QueryPlanNode_SequenceNode) String() string {
  1998  	return protoimpl.X.MessageStringOf(x)
  1999  }
  2000  
  2001  func (*Trace_QueryPlanNode_SequenceNode) ProtoMessage() {}
  2002  
  2003  func (x *Trace_QueryPlanNode_SequenceNode) ProtoReflect() protoreflect.Message {
  2004  	mi := &file_apollo_trace_proto_msgTypes[24]
  2005  	if protoimpl.UnsafeEnabled && x != nil {
  2006  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  2007  		if ms.LoadMessageInfo() == nil {
  2008  			ms.StoreMessageInfo(mi)
  2009  		}
  2010  		return ms
  2011  	}
  2012  	return mi.MessageOf(x)
  2013  }
  2014  
  2015  // Deprecated: Use Trace_QueryPlanNode_SequenceNode.ProtoReflect.Descriptor instead.
  2016  func (*Trace_QueryPlanNode_SequenceNode) Descriptor() ([]byte, []int) {
  2017  	return file_apollo_trace_proto_rawDescGZIP(), []int{0, 6, 0}
  2018  }
  2019  
  2020  func (x *Trace_QueryPlanNode_SequenceNode) GetNodes() []*Trace_QueryPlanNode {
  2021  	if x != nil {
  2022  		return x.Nodes
  2023  	}
  2024  	return nil
  2025  }
  2026  
  2027  // This represents a set of nodes to be executed in parallel by the Gateway executor
  2028  type Trace_QueryPlanNode_ParallelNode struct {
  2029  	state         protoimpl.MessageState
  2030  	sizeCache     protoimpl.SizeCache
  2031  	unknownFields protoimpl.UnknownFields
  2032  
  2033  	Nodes []*Trace_QueryPlanNode `protobuf:"bytes,1,rep,name=nodes,proto3" json:"nodes,omitempty"`
  2034  }
  2035  
  2036  func (x *Trace_QueryPlanNode_ParallelNode) Reset() {
  2037  	*x = Trace_QueryPlanNode_ParallelNode{}
  2038  	if protoimpl.UnsafeEnabled {
  2039  		mi := &file_apollo_trace_proto_msgTypes[25]
  2040  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  2041  		ms.StoreMessageInfo(mi)
  2042  	}
  2043  }
  2044  
  2045  func (x *Trace_QueryPlanNode_ParallelNode) String() string {
  2046  	return protoimpl.X.MessageStringOf(x)
  2047  }
  2048  
  2049  func (*Trace_QueryPlanNode_ParallelNode) ProtoMessage() {}
  2050  
  2051  func (x *Trace_QueryPlanNode_ParallelNode) ProtoReflect() protoreflect.Message {
  2052  	mi := &file_apollo_trace_proto_msgTypes[25]
  2053  	if protoimpl.UnsafeEnabled && x != nil {
  2054  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  2055  		if ms.LoadMessageInfo() == nil {
  2056  			ms.StoreMessageInfo(mi)
  2057  		}
  2058  		return ms
  2059  	}
  2060  	return mi.MessageOf(x)
  2061  }
  2062  
  2063  // Deprecated: Use Trace_QueryPlanNode_ParallelNode.ProtoReflect.Descriptor instead.
  2064  func (*Trace_QueryPlanNode_ParallelNode) Descriptor() ([]byte, []int) {
  2065  	return file_apollo_trace_proto_rawDescGZIP(), []int{0, 6, 1}
  2066  }
  2067  
  2068  func (x *Trace_QueryPlanNode_ParallelNode) GetNodes() []*Trace_QueryPlanNode {
  2069  	if x != nil {
  2070  		return x.Nodes
  2071  	}
  2072  	return nil
  2073  }
  2074  
  2075  // This represents a node to send an operation to an implementing service
  2076  type Trace_QueryPlanNode_FetchNode struct {
  2077  	state         protoimpl.MessageState
  2078  	sizeCache     protoimpl.SizeCache
  2079  	unknownFields protoimpl.UnknownFields
  2080  
  2081  	// XXX When we want to include more details about the sub-operation that was
  2082  	// executed against this service, we should include that here in each fetch node.
  2083  	// This might include an operation signature, requires directive, reference resolutions, etc.
  2084  	ServiceName        string `protobuf:"bytes,1,opt,name=service_name,json=serviceName,proto3" json:"service_name,omitempty"`
  2085  	TraceParsingFailed bool   `protobuf:"varint,2,opt,name=trace_parsing_failed,json=traceParsingFailed,proto3" json:"trace_parsing_failed,omitempty"`
  2086  	// This Trace only contains start_time, end_time, duration_ns, and root;
  2087  	// all timings were calculated **on the federated service**, and clock skew
  2088  	// will be handled by the ingress server.
  2089  	Trace *Trace `protobuf:"bytes,3,opt,name=trace,proto3" json:"trace,omitempty"`
  2090  	// relative to the outer trace's start_time, in ns, measured in the gateway.
  2091  	SentTimeOffset uint64 `protobuf:"varint,4,opt,name=sent_time_offset,json=sentTimeOffset,proto3" json:"sent_time_offset,omitempty"`
  2092  	// Wallclock times measured in the gateway for when this operation was
  2093  	// sent and received.
  2094  	SentTime     *timestamppb.Timestamp `protobuf:"bytes,5,opt,name=sent_time,json=sentTime,proto3" json:"sent_time,omitempty"`
  2095  	ReceivedTime *timestamppb.Timestamp `protobuf:"bytes,6,opt,name=received_time,json=receivedTime,proto3" json:"received_time,omitempty"`
  2096  }
  2097  
  2098  func (x *Trace_QueryPlanNode_FetchNode) Reset() {
  2099  	*x = Trace_QueryPlanNode_FetchNode{}
  2100  	if protoimpl.UnsafeEnabled {
  2101  		mi := &file_apollo_trace_proto_msgTypes[26]
  2102  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  2103  		ms.StoreMessageInfo(mi)
  2104  	}
  2105  }
  2106  
  2107  func (x *Trace_QueryPlanNode_FetchNode) String() string {
  2108  	return protoimpl.X.MessageStringOf(x)
  2109  }
  2110  
  2111  func (*Trace_QueryPlanNode_FetchNode) ProtoMessage() {}
  2112  
  2113  func (x *Trace_QueryPlanNode_FetchNode) ProtoReflect() protoreflect.Message {
  2114  	mi := &file_apollo_trace_proto_msgTypes[26]
  2115  	if protoimpl.UnsafeEnabled && x != nil {
  2116  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  2117  		if ms.LoadMessageInfo() == nil {
  2118  			ms.StoreMessageInfo(mi)
  2119  		}
  2120  		return ms
  2121  	}
  2122  	return mi.MessageOf(x)
  2123  }
  2124  
  2125  // Deprecated: Use Trace_QueryPlanNode_FetchNode.ProtoReflect.Descriptor instead.
  2126  func (*Trace_QueryPlanNode_FetchNode) Descriptor() ([]byte, []int) {
  2127  	return file_apollo_trace_proto_rawDescGZIP(), []int{0, 6, 2}
  2128  }
  2129  
  2130  func (x *Trace_QueryPlanNode_FetchNode) GetServiceName() string {
  2131  	if x != nil {
  2132  		return x.ServiceName
  2133  	}
  2134  	return ""
  2135  }
  2136  
  2137  func (x *Trace_QueryPlanNode_FetchNode) GetTraceParsingFailed() bool {
  2138  	if x != nil {
  2139  		return x.TraceParsingFailed
  2140  	}
  2141  	return false
  2142  }
  2143  
  2144  func (x *Trace_QueryPlanNode_FetchNode) GetTrace() *Trace {
  2145  	if x != nil {
  2146  		return x.Trace
  2147  	}
  2148  	return nil
  2149  }
  2150  
  2151  func (x *Trace_QueryPlanNode_FetchNode) GetSentTimeOffset() uint64 {
  2152  	if x != nil {
  2153  		return x.SentTimeOffset
  2154  	}
  2155  	return 0
  2156  }
  2157  
  2158  func (x *Trace_QueryPlanNode_FetchNode) GetSentTime() *timestamppb.Timestamp {
  2159  	if x != nil {
  2160  		return x.SentTime
  2161  	}
  2162  	return nil
  2163  }
  2164  
  2165  func (x *Trace_QueryPlanNode_FetchNode) GetReceivedTime() *timestamppb.Timestamp {
  2166  	if x != nil {
  2167  		return x.ReceivedTime
  2168  	}
  2169  	return nil
  2170  }
  2171  
  2172  // This node represents a way to reach into the response path and attach related entities.
  2173  // XXX Flatten is really not the right name and this node may be renamed in the query planner.
  2174  type Trace_QueryPlanNode_FlattenNode struct {
  2175  	state         protoimpl.MessageState
  2176  	sizeCache     protoimpl.SizeCache
  2177  	unknownFields protoimpl.UnknownFields
  2178  
  2179  	ResponsePath []*Trace_QueryPlanNode_ResponsePathElement `protobuf:"bytes,1,rep,name=response_path,json=responsePath,proto3" json:"response_path,omitempty"`
  2180  	Node         *Trace_QueryPlanNode                       `protobuf:"bytes,2,opt,name=node,proto3" json:"node,omitempty"`
  2181  }
  2182  
  2183  func (x *Trace_QueryPlanNode_FlattenNode) Reset() {
  2184  	*x = Trace_QueryPlanNode_FlattenNode{}
  2185  	if protoimpl.UnsafeEnabled {
  2186  		mi := &file_apollo_trace_proto_msgTypes[27]
  2187  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  2188  		ms.StoreMessageInfo(mi)
  2189  	}
  2190  }
  2191  
  2192  func (x *Trace_QueryPlanNode_FlattenNode) String() string {
  2193  	return protoimpl.X.MessageStringOf(x)
  2194  }
  2195  
  2196  func (*Trace_QueryPlanNode_FlattenNode) ProtoMessage() {}
  2197  
  2198  func (x *Trace_QueryPlanNode_FlattenNode) ProtoReflect() protoreflect.Message {
  2199  	mi := &file_apollo_trace_proto_msgTypes[27]
  2200  	if protoimpl.UnsafeEnabled && x != nil {
  2201  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  2202  		if ms.LoadMessageInfo() == nil {
  2203  			ms.StoreMessageInfo(mi)
  2204  		}
  2205  		return ms
  2206  	}
  2207  	return mi.MessageOf(x)
  2208  }
  2209  
  2210  // Deprecated: Use Trace_QueryPlanNode_FlattenNode.ProtoReflect.Descriptor instead.
  2211  func (*Trace_QueryPlanNode_FlattenNode) Descriptor() ([]byte, []int) {
  2212  	return file_apollo_trace_proto_rawDescGZIP(), []int{0, 6, 3}
  2213  }
  2214  
  2215  func (x *Trace_QueryPlanNode_FlattenNode) GetResponsePath() []*Trace_QueryPlanNode_ResponsePathElement {
  2216  	if x != nil {
  2217  		return x.ResponsePath
  2218  	}
  2219  	return nil
  2220  }
  2221  
  2222  func (x *Trace_QueryPlanNode_FlattenNode) GetNode() *Trace_QueryPlanNode {
  2223  	if x != nil {
  2224  		return x.Node
  2225  	}
  2226  	return nil
  2227  }
  2228  
  2229  type Trace_QueryPlanNode_ResponsePathElement struct {
  2230  	state         protoimpl.MessageState
  2231  	sizeCache     protoimpl.SizeCache
  2232  	unknownFields protoimpl.UnknownFields
  2233  
  2234  	// Types that are assignable to Id:
  2235  	//	*Trace_QueryPlanNode_ResponsePathElement_FieldName
  2236  	//	*Trace_QueryPlanNode_ResponsePathElement_Index
  2237  	Id isTrace_QueryPlanNode_ResponsePathElement_Id `protobuf_oneof:"id"`
  2238  }
  2239  
  2240  func (x *Trace_QueryPlanNode_ResponsePathElement) Reset() {
  2241  	*x = Trace_QueryPlanNode_ResponsePathElement{}
  2242  	if protoimpl.UnsafeEnabled {
  2243  		mi := &file_apollo_trace_proto_msgTypes[28]
  2244  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  2245  		ms.StoreMessageInfo(mi)
  2246  	}
  2247  }
  2248  
  2249  func (x *Trace_QueryPlanNode_ResponsePathElement) String() string {
  2250  	return protoimpl.X.MessageStringOf(x)
  2251  }
  2252  
  2253  func (*Trace_QueryPlanNode_ResponsePathElement) ProtoMessage() {}
  2254  
  2255  func (x *Trace_QueryPlanNode_ResponsePathElement) ProtoReflect() protoreflect.Message {
  2256  	mi := &file_apollo_trace_proto_msgTypes[28]
  2257  	if protoimpl.UnsafeEnabled && x != nil {
  2258  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  2259  		if ms.LoadMessageInfo() == nil {
  2260  			ms.StoreMessageInfo(mi)
  2261  		}
  2262  		return ms
  2263  	}
  2264  	return mi.MessageOf(x)
  2265  }
  2266  
  2267  // Deprecated: Use Trace_QueryPlanNode_ResponsePathElement.ProtoReflect.Descriptor instead.
  2268  func (*Trace_QueryPlanNode_ResponsePathElement) Descriptor() ([]byte, []int) {
  2269  	return file_apollo_trace_proto_rawDescGZIP(), []int{0, 6, 4}
  2270  }
  2271  
  2272  func (m *Trace_QueryPlanNode_ResponsePathElement) GetId() isTrace_QueryPlanNode_ResponsePathElement_Id {
  2273  	if m != nil {
  2274  		return m.Id
  2275  	}
  2276  	return nil
  2277  }
  2278  
  2279  func (x *Trace_QueryPlanNode_ResponsePathElement) GetFieldName() string {
  2280  	if x, ok := x.GetId().(*Trace_QueryPlanNode_ResponsePathElement_FieldName); ok {
  2281  		return x.FieldName
  2282  	}
  2283  	return ""
  2284  }
  2285  
  2286  func (x *Trace_QueryPlanNode_ResponsePathElement) GetIndex() uint32 {
  2287  	if x, ok := x.GetId().(*Trace_QueryPlanNode_ResponsePathElement_Index); ok {
  2288  		return x.Index
  2289  	}
  2290  	return 0
  2291  }
  2292  
  2293  type isTrace_QueryPlanNode_ResponsePathElement_Id interface {
  2294  	isTrace_QueryPlanNode_ResponsePathElement_Id()
  2295  }
  2296  
  2297  type Trace_QueryPlanNode_ResponsePathElement_FieldName struct {
  2298  	FieldName string `protobuf:"bytes,1,opt,name=field_name,json=fieldName,proto3,oneof"`
  2299  }
  2300  
  2301  type Trace_QueryPlanNode_ResponsePathElement_Index struct {
  2302  	Index uint32 `protobuf:"varint,2,opt,name=index,proto3,oneof"`
  2303  }
  2304  
  2305  func (*Trace_QueryPlanNode_ResponsePathElement_FieldName) isTrace_QueryPlanNode_ResponsePathElement_Id() {
  2306  }
  2307  
  2308  func (*Trace_QueryPlanNode_ResponsePathElement_Index) isTrace_QueryPlanNode_ResponsePathElement_Id() {
  2309  }
  2310  
  2311  var File_apollo_trace_proto protoreflect.FileDescriptor
  2312  
  2313  var file_apollo_trace_proto_rawDesc = []byte{
  2314  	0x0a, 0x12, 0x61, 0x70, 0x6f, 0x6c, 0x6c, 0x6f, 0x5f, 0x74, 0x72, 0x61, 0x63, 0x65, 0x2e, 0x70,
  2315  	0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f,
  2316  	0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x2e,
  2317  	0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xb6, 0x1a, 0x0a, 0x05, 0x54, 0x72, 0x61, 0x63, 0x65, 0x12,
  2318  	0x39, 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x04, 0x20,
  2319  	0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f,
  2320  	0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52,
  2321  	0x09, 0x73, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x35, 0x0a, 0x08, 0x65, 0x6e,
  2322  	0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67,
  2323  	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54,
  2324  	0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x07, 0x65, 0x6e, 0x64, 0x54, 0x69, 0x6d,
  2325  	0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6e, 0x73,
  2326  	0x18, 0x0b, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0a, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e,
  2327  	0x4e, 0x73, 0x12, 0x1f, 0x0a, 0x04, 0x72, 0x6f, 0x6f, 0x74, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0b,
  2328  	0x32, 0x0b, 0x2e, 0x54, 0x72, 0x61, 0x63, 0x65, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x04, 0x72,
  2329  	0x6f, 0x6f, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65,
  2330  	0x18, 0x13, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72,
  2331  	0x65, 0x12, 0x38, 0x0a, 0x17, 0x75, 0x6e, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x65, 0x64, 0x4f,
  2332  	0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x6f, 0x64, 0x79, 0x18, 0x1b, 0x20, 0x01,
  2333  	0x28, 0x09, 0x52, 0x17, 0x75, 0x6e, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x65, 0x64, 0x4f, 0x70,
  2334  	0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x6f, 0x64, 0x79, 0x12, 0x38, 0x0a, 0x17, 0x75,
  2335  	0x6e, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x65, 0x64, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69,
  2336  	0x6f, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x1c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x17, 0x75, 0x6e,
  2337  	0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x65, 0x64, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f,
  2338  	0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x28, 0x0a, 0x07, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73,
  2339  	0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x54, 0x72, 0x61, 0x63, 0x65, 0x2e, 0x44,
  2340  	0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, 0x07, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x12,
  2341  	0x1f, 0x0a, 0x0b, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x07,
  2342  	0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4e, 0x61, 0x6d, 0x65,
  2343  	0x12, 0x25, 0x0a, 0x0e, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69,
  2344  	0x6f, 0x6e, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74,
  2345  	0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x1f, 0x0a, 0x04, 0x68, 0x74, 0x74, 0x70, 0x18,
  2346  	0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x54, 0x72, 0x61, 0x63, 0x65, 0x2e, 0x48, 0x54,
  2347  	0x54, 0x50, 0x52, 0x04, 0x68, 0x74, 0x74, 0x70, 0x12, 0x35, 0x0a, 0x0c, 0x63, 0x61, 0x63, 0x68,
  2348  	0x65, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x18, 0x12, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12,
  2349  	0x2e, 0x54, 0x72, 0x61, 0x63, 0x65, 0x2e, 0x43, 0x61, 0x63, 0x68, 0x65, 0x50, 0x6f, 0x6c, 0x69,
  2350  	0x63, 0x79, 0x52, 0x0b, 0x63, 0x61, 0x63, 0x68, 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12,
  2351  	0x33, 0x0a, 0x0a, 0x71, 0x75, 0x65, 0x72, 0x79, 0x5f, 0x70, 0x6c, 0x61, 0x6e, 0x18, 0x1a, 0x20,
  2352  	0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x54, 0x72, 0x61, 0x63, 0x65, 0x2e, 0x51, 0x75, 0x65, 0x72,
  2353  	0x79, 0x50, 0x6c, 0x61, 0x6e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x09, 0x71, 0x75, 0x65, 0x72, 0x79,
  2354  	0x50, 0x6c, 0x61, 0x6e, 0x12, 0x2f, 0x0a, 0x14, 0x66, 0x75, 0x6c, 0x6c, 0x5f, 0x71, 0x75, 0x65,
  2355  	0x72, 0x79, 0x5f, 0x63, 0x61, 0x63, 0x68, 0x65, 0x5f, 0x68, 0x69, 0x74, 0x18, 0x14, 0x20, 0x01,
  2356  	0x28, 0x08, 0x52, 0x11, 0x66, 0x75, 0x6c, 0x6c, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x61, 0x63,
  2357  	0x68, 0x65, 0x48, 0x69, 0x74, 0x12, 0x2e, 0x0a, 0x13, 0x70, 0x65, 0x72, 0x73, 0x69, 0x73, 0x74,
  2358  	0x65, 0x64, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x5f, 0x68, 0x69, 0x74, 0x18, 0x15, 0x20, 0x01,
  2359  	0x28, 0x08, 0x52, 0x11, 0x70, 0x65, 0x72, 0x73, 0x69, 0x73, 0x74, 0x65, 0x64, 0x51, 0x75, 0x65,
  2360  	0x72, 0x79, 0x48, 0x69, 0x74, 0x12, 0x38, 0x0a, 0x18, 0x70, 0x65, 0x72, 0x73, 0x69, 0x73, 0x74,
  2361  	0x65, 0x64, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x5f, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65,
  2362  	0x72, 0x18, 0x16, 0x20, 0x01, 0x28, 0x08, 0x52, 0x16, 0x70, 0x65, 0x72, 0x73, 0x69, 0x73, 0x74,
  2363  	0x65, 0x64, 0x51, 0x75, 0x65, 0x72, 0x79, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x12,
  2364  	0x31, 0x0a, 0x14, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x65, 0x64, 0x5f, 0x6f, 0x70,
  2365  	0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x18, 0x20, 0x01, 0x28, 0x08, 0x52, 0x13, 0x72,
  2366  	0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x65, 0x64, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69,
  2367  	0x6f, 0x6e, 0x12, 0x2f, 0x0a, 0x13, 0x66, 0x6f, 0x72, 0x62, 0x69, 0x64, 0x64, 0x65, 0x6e, 0x5f,
  2368  	0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x19, 0x20, 0x01, 0x28, 0x08, 0x52,
  2369  	0x12, 0x66, 0x6f, 0x72, 0x62, 0x69, 0x64, 0x64, 0x65, 0x6e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74,
  2370  	0x69, 0x6f, 0x6e, 0x12, 0x34, 0x0a, 0x16, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x65, 0x78, 0x65,
  2371  	0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x77, 0x65, 0x69, 0x67, 0x68, 0x74, 0x18, 0x1f, 0x20,
  2372  	0x01, 0x28, 0x01, 0x52, 0x14, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74,
  2373  	0x69, 0x6f, 0x6e, 0x57, 0x65, 0x69, 0x67, 0x68, 0x74, 0x1a, 0x8a, 0x01, 0x0a, 0x0b, 0x43, 0x61,
  2374  	0x63, 0x68, 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x2e, 0x0a, 0x05, 0x73, 0x63, 0x6f,
  2375  	0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x18, 0x2e, 0x54, 0x72, 0x61, 0x63, 0x65,
  2376  	0x2e, 0x43, 0x61, 0x63, 0x68, 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2e, 0x53, 0x63, 0x6f,
  2377  	0x70, 0x65, 0x52, 0x05, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x12, 0x1c, 0x0a, 0x0a, 0x6d, 0x61, 0x78,
  2378  	0x5f, 0x61, 0x67, 0x65, 0x5f, 0x6e, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x6d,
  2379  	0x61, 0x78, 0x41, 0x67, 0x65, 0x4e, 0x73, 0x22, 0x2d, 0x0a, 0x05, 0x53, 0x63, 0x6f, 0x70, 0x65,
  2380  	0x12, 0x0b, 0x0a, 0x07, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x00, 0x12, 0x0a, 0x0a,
  2381  	0x06, 0x50, 0x55, 0x42, 0x4c, 0x49, 0x43, 0x10, 0x01, 0x12, 0x0b, 0x0a, 0x07, 0x50, 0x52, 0x49,
  2382  	0x56, 0x41, 0x54, 0x45, 0x10, 0x02, 0x1a, 0xbc, 0x01, 0x0a, 0x07, 0x44, 0x65, 0x74, 0x61, 0x69,
  2383  	0x6c, 0x73, 0x12, 0x48, 0x0a, 0x0e, 0x76, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x5f,
  2384  	0x6a, 0x73, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x54, 0x72, 0x61,
  2385  	0x63, 0x65, 0x2e, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x2e, 0x56, 0x61, 0x72, 0x69, 0x61,
  2386  	0x62, 0x6c, 0x65, 0x73, 0x4a, 0x73, 0x6f, 0x6e, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0d, 0x76,
  2387  	0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x4a, 0x73, 0x6f, 0x6e, 0x12, 0x25, 0x0a, 0x0e,
  2388  	0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03,
  2389  	0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4e,
  2390  	0x61, 0x6d, 0x65, 0x1a, 0x40, 0x0a, 0x12, 0x56, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x73,
  2391  	0x4a, 0x73, 0x6f, 0x6e, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79,
  2392  	0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76,
  2393  	0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75,
  2394  	0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x7b, 0x0a, 0x05, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x18,
  2395  	0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52,
  2396  	0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x2b, 0x0a, 0x08, 0x6c, 0x6f, 0x63, 0x61,
  2397  	0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x54, 0x72, 0x61,
  2398  	0x63, 0x65, 0x2e, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x08, 0x6c, 0x6f, 0x63,
  2399  	0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x17, 0x0a, 0x07, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x6e, 0x73,
  2400  	0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x74, 0x69, 0x6d, 0x65, 0x4e, 0x73, 0x12, 0x12,
  2401  	0x0a, 0x04, 0x6a, 0x73, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6a, 0x73,
  2402  	0x6f, 0x6e, 0x1a, 0x8e, 0x05, 0x0a, 0x04, 0x48, 0x54, 0x54, 0x50, 0x12, 0x2a, 0x0a, 0x06, 0x6d,
  2403  	0x65, 0x74, 0x68, 0x6f, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x12, 0x2e, 0x54, 0x72,
  2404  	0x61, 0x63, 0x65, 0x2e, 0x48, 0x54, 0x54, 0x50, 0x2e, 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x52,
  2405  	0x06, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x68, 0x6f, 0x73, 0x74, 0x18,
  2406  	0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x68, 0x6f, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x70,
  2407  	0x61, 0x74, 0x68, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x70, 0x61, 0x74, 0x68, 0x12,
  2408  	0x48, 0x0a, 0x0f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65,
  2409  	0x72, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x54, 0x72, 0x61, 0x63, 0x65,
  2410  	0x2e, 0x48, 0x54, 0x54, 0x50, 0x2e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x65, 0x61,
  2411  	0x64, 0x65, 0x72, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0e, 0x72, 0x65, 0x71, 0x75, 0x65,
  2412  	0x73, 0x74, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x12, 0x4b, 0x0a, 0x10, 0x72, 0x65, 0x73,
  2413  	0x70, 0x6f, 0x6e, 0x73, 0x65, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x18, 0x05, 0x20,
  2414  	0x03, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x54, 0x72, 0x61, 0x63, 0x65, 0x2e, 0x48, 0x54, 0x54, 0x50,
  2415  	0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73,
  2416  	0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0f, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x48,
  2417  	0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73,
  2418  	0x5f, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x73, 0x74, 0x61,
  2419  	0x74, 0x75, 0x73, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x65, 0x63, 0x75, 0x72,
  2420  	0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x73, 0x65, 0x63, 0x75, 0x72, 0x65, 0x12,
  2421  	0x1a, 0x0a, 0x08, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x18, 0x09, 0x20, 0x01, 0x28,
  2422  	0x09, 0x52, 0x08, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x1a, 0x1e, 0x0a, 0x06, 0x56,
  2423  	0x61, 0x6c, 0x75, 0x65, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x01,
  2424  	0x20, 0x03, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x1a, 0x55, 0x0a, 0x13, 0x52,
  2425  	0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x45, 0x6e, 0x74,
  2426  	0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52,
  2427  	0x03, 0x6b, 0x65, 0x79, 0x12, 0x28, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20,
  2428  	0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x54, 0x72, 0x61, 0x63, 0x65, 0x2e, 0x48, 0x54, 0x54, 0x50,
  2429  	0x2e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02,
  2430  	0x38, 0x01, 0x1a, 0x56, 0x0a, 0x14, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x48, 0x65,
  2431  	0x61, 0x64, 0x65, 0x72, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65,
  2432  	0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x28, 0x0a, 0x05,
  2433  	0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x54, 0x72,
  2434  	0x61, 0x63, 0x65, 0x2e, 0x48, 0x54, 0x54, 0x50, 0x2e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x52,
  2435  	0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x77, 0x0a, 0x06, 0x4d, 0x65,
  2436  	0x74, 0x68, 0x6f, 0x64, 0x12, 0x0b, 0x0a, 0x07, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10,
  2437  	0x00, 0x12, 0x0b, 0x0a, 0x07, 0x4f, 0x50, 0x54, 0x49, 0x4f, 0x4e, 0x53, 0x10, 0x01, 0x12, 0x07,
  2438  	0x0a, 0x03, 0x47, 0x45, 0x54, 0x10, 0x02, 0x12, 0x08, 0x0a, 0x04, 0x48, 0x45, 0x41, 0x44, 0x10,
  2439  	0x03, 0x12, 0x08, 0x0a, 0x04, 0x50, 0x4f, 0x53, 0x54, 0x10, 0x04, 0x12, 0x07, 0x0a, 0x03, 0x50,
  2440  	0x55, 0x54, 0x10, 0x05, 0x12, 0x0a, 0x0a, 0x06, 0x44, 0x45, 0x4c, 0x45, 0x54, 0x45, 0x10, 0x06,
  2441  	0x12, 0x09, 0x0a, 0x05, 0x54, 0x52, 0x41, 0x43, 0x45, 0x10, 0x07, 0x12, 0x0b, 0x0a, 0x07, 0x43,
  2442  	0x4f, 0x4e, 0x4e, 0x45, 0x43, 0x54, 0x10, 0x08, 0x12, 0x09, 0x0a, 0x05, 0x50, 0x41, 0x54, 0x43,
  2443  	0x48, 0x10, 0x09, 0x1a, 0x36, 0x0a, 0x08, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12,
  2444  	0x12, 0x0a, 0x04, 0x6c, 0x69, 0x6e, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x04, 0x6c,
  2445  	0x69, 0x6e, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x18, 0x02, 0x20,
  2446  	0x01, 0x28, 0x0d, 0x52, 0x06, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x1a, 0xee, 0x02, 0x0a, 0x04,
  2447  	0x4e, 0x6f, 0x64, 0x65, 0x12, 0x25, 0x0a, 0x0d, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
  2448  	0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0c, 0x72,
  2449  	0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x05, 0x69,
  2450  	0x6e, 0x64, 0x65, 0x78, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x00, 0x52, 0x05, 0x69, 0x6e,
  2451  	0x64, 0x65, 0x78, 0x12, 0x2e, 0x0a, 0x13, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x61, 0x6c, 0x5f,
  2452  	0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09,
  2453  	0x52, 0x11, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x61, 0x6c, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x4e,
  2454  	0x61, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28,
  2455  	0x09, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x70, 0x61, 0x72, 0x65, 0x6e,
  2456  	0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x70, 0x61,
  2457  	0x72, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x35, 0x0a, 0x0c, 0x63, 0x61, 0x63, 0x68,
  2458  	0x65, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12,
  2459  	0x2e, 0x54, 0x72, 0x61, 0x63, 0x65, 0x2e, 0x43, 0x61, 0x63, 0x68, 0x65, 0x50, 0x6f, 0x6c, 0x69,
  2460  	0x63, 0x79, 0x52, 0x0b, 0x63, 0x61, 0x63, 0x68, 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12,
  2461  	0x1d, 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x08, 0x20,
  2462  	0x01, 0x28, 0x04, 0x52, 0x09, 0x73, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x19,
  2463  	0x0a, 0x08, 0x65, 0x6e, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x04,
  2464  	0x52, 0x07, 0x65, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x22, 0x0a, 0x05, 0x65, 0x72, 0x72,
  2465  	0x6f, 0x72, 0x18, 0x0b, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x54, 0x72, 0x61, 0x63, 0x65,
  2466  	0x2e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x21, 0x0a,
  2467  	0x05, 0x63, 0x68, 0x69, 0x6c, 0x64, 0x18, 0x0c, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x54,
  2468  	0x72, 0x61, 0x63, 0x65, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x05, 0x63, 0x68, 0x69, 0x6c, 0x64,
  2469  	0x42, 0x04, 0x0a, 0x02, 0x69, 0x64, 0x4a, 0x04, 0x08, 0x04, 0x10, 0x05, 0x1a, 0x8b, 0x07, 0x0a,
  2470  	0x0d, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x6c, 0x61, 0x6e, 0x4e, 0x6f, 0x64, 0x65, 0x12, 0x3f,
  2471  	0x0a, 0x08, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b,
  2472  	0x32, 0x21, 0x2e, 0x54, 0x72, 0x61, 0x63, 0x65, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x6c,
  2473  	0x61, 0x6e, 0x4e, 0x6f, 0x64, 0x65, 0x2e, 0x53, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x4e,
  2474  	0x6f, 0x64, 0x65, 0x48, 0x00, 0x52, 0x08, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x12,
  2475  	0x3f, 0x0a, 0x08, 0x70, 0x61, 0x72, 0x61, 0x6c, 0x6c, 0x65, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28,
  2476  	0x0b, 0x32, 0x21, 0x2e, 0x54, 0x72, 0x61, 0x63, 0x65, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50,
  2477  	0x6c, 0x61, 0x6e, 0x4e, 0x6f, 0x64, 0x65, 0x2e, 0x50, 0x61, 0x72, 0x61, 0x6c, 0x6c, 0x65, 0x6c,
  2478  	0x4e, 0x6f, 0x64, 0x65, 0x48, 0x00, 0x52, 0x08, 0x70, 0x61, 0x72, 0x61, 0x6c, 0x6c, 0x65, 0x6c,
  2479  	0x12, 0x36, 0x0a, 0x05, 0x66, 0x65, 0x74, 0x63, 0x68, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32,
  2480  	0x1e, 0x2e, 0x54, 0x72, 0x61, 0x63, 0x65, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x6c, 0x61,
  2481  	0x6e, 0x4e, 0x6f, 0x64, 0x65, 0x2e, 0x46, 0x65, 0x74, 0x63, 0x68, 0x4e, 0x6f, 0x64, 0x65, 0x48,
  2482  	0x00, 0x52, 0x05, 0x66, 0x65, 0x74, 0x63, 0x68, 0x12, 0x3c, 0x0a, 0x07, 0x66, 0x6c, 0x61, 0x74,
  2483  	0x74, 0x65, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x54, 0x72, 0x61, 0x63,
  2484  	0x65, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x6c, 0x61, 0x6e, 0x4e, 0x6f, 0x64, 0x65, 0x2e,
  2485  	0x46, 0x6c, 0x61, 0x74, 0x74, 0x65, 0x6e, 0x4e, 0x6f, 0x64, 0x65, 0x48, 0x00, 0x52, 0x07, 0x66,
  2486  	0x6c, 0x61, 0x74, 0x74, 0x65, 0x6e, 0x1a, 0x3a, 0x0a, 0x0c, 0x53, 0x65, 0x71, 0x75, 0x65, 0x6e,
  2487  	0x63, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x12, 0x2a, 0x0a, 0x05, 0x6e, 0x6f, 0x64, 0x65, 0x73, 0x18,
  2488  	0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x54, 0x72, 0x61, 0x63, 0x65, 0x2e, 0x51, 0x75,
  2489  	0x65, 0x72, 0x79, 0x50, 0x6c, 0x61, 0x6e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x05, 0x6e, 0x6f, 0x64,
  2490  	0x65, 0x73, 0x1a, 0x3a, 0x0a, 0x0c, 0x50, 0x61, 0x72, 0x61, 0x6c, 0x6c, 0x65, 0x6c, 0x4e, 0x6f,
  2491  	0x64, 0x65, 0x12, 0x2a, 0x0a, 0x05, 0x6e, 0x6f, 0x64, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28,
  2492  	0x0b, 0x32, 0x14, 0x2e, 0x54, 0x72, 0x61, 0x63, 0x65, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50,
  2493  	0x6c, 0x61, 0x6e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x05, 0x6e, 0x6f, 0x64, 0x65, 0x73, 0x1a, 0xa2,
  2494  	0x02, 0x0a, 0x09, 0x46, 0x65, 0x74, 0x63, 0x68, 0x4e, 0x6f, 0x64, 0x65, 0x12, 0x21, 0x0a, 0x0c,
  2495  	0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01,
  2496  	0x28, 0x09, 0x52, 0x0b, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12,
  2497  	0x30, 0x0a, 0x14, 0x74, 0x72, 0x61, 0x63, 0x65, 0x5f, 0x70, 0x61, 0x72, 0x73, 0x69, 0x6e, 0x67,
  2498  	0x5f, 0x66, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x12, 0x74,
  2499  	0x72, 0x61, 0x63, 0x65, 0x50, 0x61, 0x72, 0x73, 0x69, 0x6e, 0x67, 0x46, 0x61, 0x69, 0x6c, 0x65,
  2500  	0x64, 0x12, 0x1c, 0x0a, 0x05, 0x74, 0x72, 0x61, 0x63, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b,
  2501  	0x32, 0x06, 0x2e, 0x54, 0x72, 0x61, 0x63, 0x65, 0x52, 0x05, 0x74, 0x72, 0x61, 0x63, 0x65, 0x12,
  2502  	0x28, 0x0a, 0x10, 0x73, 0x65, 0x6e, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x6f, 0x66, 0x66,
  2503  	0x73, 0x65, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0e, 0x73, 0x65, 0x6e, 0x74, 0x54,
  2504  	0x69, 0x6d, 0x65, 0x4f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x12, 0x37, 0x0a, 0x09, 0x73, 0x65, 0x6e,
  2505  	0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67,
  2506  	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54,
  2507  	0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x08, 0x73, 0x65, 0x6e, 0x74, 0x54, 0x69,
  2508  	0x6d, 0x65, 0x12, 0x3f, 0x0a, 0x0d, 0x72, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x64, 0x5f, 0x74,
  2509  	0x69, 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
  2510  	0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65,
  2511  	0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0c, 0x72, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x64, 0x54,
  2512  	0x69, 0x6d, 0x65, 0x1a, 0x86, 0x01, 0x0a, 0x0b, 0x46, 0x6c, 0x61, 0x74, 0x74, 0x65, 0x6e, 0x4e,
  2513  	0x6f, 0x64, 0x65, 0x12, 0x4d, 0x0a, 0x0d, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x5f,
  2514  	0x70, 0x61, 0x74, 0x68, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x54, 0x72, 0x61,
  2515  	0x63, 0x65, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x6c, 0x61, 0x6e, 0x4e, 0x6f, 0x64, 0x65,
  2516  	0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x50, 0x61, 0x74, 0x68, 0x45, 0x6c, 0x65,
  2517  	0x6d, 0x65, 0x6e, 0x74, 0x52, 0x0c, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x50, 0x61,
  2518  	0x74, 0x68, 0x12, 0x28, 0x0a, 0x04, 0x6e, 0x6f, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b,
  2519  	0x32, 0x14, 0x2e, 0x54, 0x72, 0x61, 0x63, 0x65, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x6c,
  2520  	0x61, 0x6e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x04, 0x6e, 0x6f, 0x64, 0x65, 0x1a, 0x54, 0x0a, 0x13,
  2521  	0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x50, 0x61, 0x74, 0x68, 0x45, 0x6c, 0x65, 0x6d,
  2522  	0x65, 0x6e, 0x74, 0x12, 0x1f, 0x0a, 0x0a, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x6e, 0x61, 0x6d,
  2523  	0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x66, 0x69, 0x65, 0x6c, 0x64,
  2524  	0x4e, 0x61, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x05, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x02, 0x20,
  2525  	0x01, 0x28, 0x0d, 0x48, 0x00, 0x52, 0x05, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x42, 0x04, 0x0a, 0x02,
  2526  	0x69, 0x64, 0x42, 0x06, 0x0a, 0x04, 0x6e, 0x6f, 0x64, 0x65, 0x4a, 0x04, 0x08, 0x01, 0x10, 0x02,
  2527  	0x4a, 0x04, 0x08, 0x02, 0x10, 0x03, 0x4a, 0x04, 0x08, 0x09, 0x10, 0x0a, 0x4a, 0x04, 0x08, 0x0c,
  2528  	0x10, 0x0d, 0x4a, 0x04, 0x08, 0x0d, 0x10, 0x0e, 0x4a, 0x04, 0x08, 0x17, 0x10, 0x18, 0x22, 0x8c,
  2529  	0x02, 0x0a, 0x0c, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x12,
  2530  	0x1b, 0x0a, 0x09, 0x67, 0x72, 0x61, 0x70, 0x68, 0x5f, 0x72, 0x65, 0x66, 0x18, 0x0c, 0x20, 0x01,
  2531  	0x28, 0x09, 0x52, 0x08, 0x67, 0x72, 0x61, 0x70, 0x68, 0x52, 0x65, 0x66, 0x12, 0x1a, 0x0a, 0x08,
  2532  	0x68, 0x6f, 0x73, 0x74, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08,
  2533  	0x68, 0x6f, 0x73, 0x74, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x61, 0x67, 0x65, 0x6e,
  2534  	0x74, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52,
  2535  	0x0c, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x27, 0x0a,
  2536  	0x0f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e,
  2537  	0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x56,
  2538  	0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x27, 0x0a, 0x0f, 0x72, 0x75, 0x6e, 0x74, 0x69, 0x6d,
  2539  	0x65, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52,
  2540  	0x0e, 0x72, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12,
  2541  	0x14, 0x0a, 0x05, 0x75, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05,
  2542  	0x75, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x30, 0x0a, 0x14, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x61,
  2543  	0x62, 0x6c, 0x65, 0x5f, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x5f, 0x69, 0x64, 0x18, 0x0b, 0x20,
  2544  	0x01, 0x28, 0x09, 0x52, 0x12, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x53,
  2545  	0x63, 0x68, 0x65, 0x6d, 0x61, 0x49, 0x64, 0x4a, 0x04, 0x08, 0x03, 0x10, 0x04, 0x22, 0xf9, 0x01,
  2546  	0x0a, 0x0e, 0x50, 0x61, 0x74, 0x68, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x53, 0x74, 0x61, 0x74, 0x73,
  2547  	0x12, 0x39, 0x0a, 0x08, 0x63, 0x68, 0x69, 0x6c, 0x64, 0x72, 0x65, 0x6e, 0x18, 0x01, 0x20, 0x03,
  2548  	0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x50, 0x61, 0x74, 0x68, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x53, 0x74,
  2549  	0x61, 0x74, 0x73, 0x2e, 0x43, 0x68, 0x69, 0x6c, 0x64, 0x72, 0x65, 0x6e, 0x45, 0x6e, 0x74, 0x72,
  2550  	0x79, 0x52, 0x08, 0x63, 0x68, 0x69, 0x6c, 0x64, 0x72, 0x65, 0x6e, 0x12, 0x21, 0x0a, 0x0c, 0x65,
  2551  	0x72, 0x72, 0x6f, 0x72, 0x73, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28,
  2552  	0x04, 0x52, 0x0b, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x73, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x3b,
  2553  	0x0a, 0x1a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x5f, 0x77, 0x69, 0x74, 0x68, 0x5f,
  2554  	0x65, 0x72, 0x72, 0x6f, 0x72, 0x73, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x05, 0x20, 0x01,
  2555  	0x28, 0x04, 0x52, 0x17, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x57, 0x69, 0x74, 0x68,
  2556  	0x45, 0x72, 0x72, 0x6f, 0x72, 0x73, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x1a, 0x4c, 0x0a, 0x0d, 0x43,
  2557  	0x68, 0x69, 0x6c, 0x64, 0x72, 0x65, 0x6e, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03,
  2558  	0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x25,
  2559  	0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e,
  2560  	0x50, 0x61, 0x74, 0x68, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x53, 0x74, 0x61, 0x74, 0x73, 0x52, 0x05,
  2561  	0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0xdf, 0x05, 0x0a, 0x11, 0x51, 0x75,
  2562  	0x65, 0x72, 0x79, 0x4c, 0x61, 0x74, 0x65, 0x6e, 0x63, 0x79, 0x53, 0x74, 0x61, 0x74, 0x73, 0x12,
  2563  	0x23, 0x0a, 0x0d, 0x6c, 0x61, 0x74, 0x65, 0x6e, 0x63, 0x79, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74,
  2564  	0x18, 0x0d, 0x20, 0x03, 0x28, 0x12, 0x52, 0x0c, 0x6c, 0x61, 0x74, 0x65, 0x6e, 0x63, 0x79, 0x43,
  2565  	0x6f, 0x75, 0x6e, 0x74, 0x12, 0x23, 0x0a, 0x0d, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f,
  2566  	0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0c, 0x72, 0x65, 0x71,
  2567  	0x75, 0x65, 0x73, 0x74, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x61, 0x63,
  2568  	0x68, 0x65, 0x5f, 0x68, 0x69, 0x74, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x63,
  2569  	0x61, 0x63, 0x68, 0x65, 0x48, 0x69, 0x74, 0x73, 0x12, 0x30, 0x0a, 0x14, 0x70, 0x65, 0x72, 0x73,
  2570  	0x69, 0x73, 0x74, 0x65, 0x64, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x5f, 0x68, 0x69, 0x74, 0x73,
  2571  	0x18, 0x04, 0x20, 0x01, 0x28, 0x04, 0x52, 0x12, 0x70, 0x65, 0x72, 0x73, 0x69, 0x73, 0x74, 0x65,
  2572  	0x64, 0x51, 0x75, 0x65, 0x72, 0x79, 0x48, 0x69, 0x74, 0x73, 0x12, 0x34, 0x0a, 0x16, 0x70, 0x65,
  2573  	0x72, 0x73, 0x69, 0x73, 0x74, 0x65, 0x64, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x5f, 0x6d, 0x69,
  2574  	0x73, 0x73, 0x65, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x04, 0x52, 0x14, 0x70, 0x65, 0x72, 0x73,
  2575  	0x69, 0x73, 0x74, 0x65, 0x64, 0x51, 0x75, 0x65, 0x72, 0x79, 0x4d, 0x69, 0x73, 0x73, 0x65, 0x73,
  2576  	0x12, 0x2e, 0x0a, 0x13, 0x63, 0x61, 0x63, 0x68, 0x65, 0x5f, 0x6c, 0x61, 0x74, 0x65, 0x6e, 0x63,
  2577  	0x79, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x0e, 0x20, 0x03, 0x28, 0x12, 0x52, 0x11, 0x63,
  2578  	0x61, 0x63, 0x68, 0x65, 0x4c, 0x61, 0x74, 0x65, 0x6e, 0x63, 0x79, 0x43, 0x6f, 0x75, 0x6e, 0x74,
  2579  	0x12, 0x39, 0x0a, 0x10, 0x72, 0x6f, 0x6f, 0x74, 0x5f, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x5f, 0x73,
  2580  	0x74, 0x61, 0x74, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x50, 0x61, 0x74,
  2581  	0x68, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x53, 0x74, 0x61, 0x74, 0x73, 0x52, 0x0e, 0x72, 0x6f, 0x6f,
  2582  	0x74, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x53, 0x74, 0x61, 0x74, 0x73, 0x12, 0x3b, 0x0a, 0x1a, 0x72,
  2583  	0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x5f, 0x77, 0x69, 0x74, 0x68, 0x5f, 0x65, 0x72, 0x72,
  2584  	0x6f, 0x72, 0x73, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x04, 0x52,
  2585  	0x17, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x57, 0x69, 0x74, 0x68, 0x45, 0x72, 0x72,
  2586  	0x6f, 0x72, 0x73, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x33, 0x0a, 0x16, 0x70, 0x75, 0x62, 0x6c,
  2587  	0x69, 0x63, 0x5f, 0x63, 0x61, 0x63, 0x68, 0x65, 0x5f, 0x74, 0x74, 0x6c, 0x5f, 0x63, 0x6f, 0x75,
  2588  	0x6e, 0x74, 0x18, 0x0f, 0x20, 0x03, 0x28, 0x12, 0x52, 0x13, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63,
  2589  	0x43, 0x61, 0x63, 0x68, 0x65, 0x54, 0x74, 0x6c, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x35, 0x0a,
  2590  	0x17, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x5f, 0x63, 0x61, 0x63, 0x68, 0x65, 0x5f, 0x74,
  2591  	0x74, 0x6c, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x10, 0x20, 0x03, 0x28, 0x12, 0x52, 0x14,
  2592  	0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x43, 0x61, 0x63, 0x68, 0x65, 0x54, 0x74, 0x6c, 0x43,
  2593  	0x6f, 0x75, 0x6e, 0x74, 0x12, 0x3c, 0x0a, 0x1a, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72,
  2594  	0x65, 0x64, 0x5f, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x6f, 0x75,
  2595  	0x6e, 0x74, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x04, 0x52, 0x18, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74,
  2596  	0x65, 0x72, 0x65, 0x64, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x75,
  2597  	0x6e, 0x74, 0x12, 0x3a, 0x0a, 0x19, 0x66, 0x6f, 0x72, 0x62, 0x69, 0x64, 0x64, 0x65, 0x6e, 0x5f,
  2598  	0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18,
  2599  	0x0c, 0x20, 0x01, 0x28, 0x04, 0x52, 0x17, 0x66, 0x6f, 0x72, 0x62, 0x69, 0x64, 0x64, 0x65, 0x6e,
  2600  	0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x53,
  2601  	0x0a, 0x26, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x5f, 0x77, 0x69, 0x74, 0x68, 0x6f,
  2602  	0x75, 0x74, 0x5f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x72, 0x75, 0x6d,
  2603  	0x65, 0x6e, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x11, 0x20, 0x01, 0x28, 0x04, 0x52, 0x23,
  2604  	0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x57, 0x69, 0x74, 0x68, 0x6f, 0x75, 0x74, 0x46,
  2605  	0x69, 0x65, 0x6c, 0x64, 0x49, 0x6e, 0x73, 0x74, 0x72, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x61, 0x74,
  2606  	0x69, 0x6f, 0x6e, 0x4a, 0x04, 0x08, 0x01, 0x10, 0x02, 0x4a, 0x04, 0x08, 0x06, 0x10, 0x07, 0x4a,
  2607  	0x04, 0x08, 0x09, 0x10, 0x0a, 0x4a, 0x04, 0x08, 0x0a, 0x10, 0x0b, 0x22, 0x5c, 0x0a, 0x0c, 0x53,
  2608  	0x74, 0x61, 0x74, 0x73, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x63,
  2609  	0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09,
  2610  	0x52, 0x0a, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x25, 0x0a, 0x0e,
  2611  	0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x03,
  2612  	0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x56, 0x65, 0x72, 0x73,
  2613  	0x69, 0x6f, 0x6e, 0x4a, 0x04, 0x08, 0x01, 0x10, 0x02, 0x22, 0x8e, 0x01, 0x0a, 0x1f, 0x43, 0x6f,
  2614  	0x6e, 0x74, 0x65, 0x78, 0x74, 0x75, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x64, 0x51, 0x75, 0x65, 0x72,
  2615  	0x79, 0x4c, 0x61, 0x74, 0x65, 0x6e, 0x63, 0x79, 0x53, 0x74, 0x61, 0x74, 0x73, 0x12, 0x42, 0x0a,
  2616  	0x13, 0x71, 0x75, 0x65, 0x72, 0x79, 0x5f, 0x6c, 0x61, 0x74, 0x65, 0x6e, 0x63, 0x79, 0x5f, 0x73,
  2617  	0x74, 0x61, 0x74, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x51, 0x75, 0x65,
  2618  	0x72, 0x79, 0x4c, 0x61, 0x74, 0x65, 0x6e, 0x63, 0x79, 0x53, 0x74, 0x61, 0x74, 0x73, 0x52, 0x11,
  2619  	0x71, 0x75, 0x65, 0x72, 0x79, 0x4c, 0x61, 0x74, 0x65, 0x6e, 0x63, 0x79, 0x53, 0x74, 0x61, 0x74,
  2620  	0x73, 0x12, 0x27, 0x0a, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x18, 0x02, 0x20, 0x01,
  2621  	0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x73, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78,
  2622  	0x74, 0x52, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x22, 0xdc, 0x01, 0x0a, 0x17, 0x43,
  2623  	0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x75, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x64, 0x54, 0x79, 0x70,
  2624  	0x65, 0x53, 0x74, 0x61, 0x74, 0x73, 0x12, 0x27, 0x0a, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78,
  2625  	0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x73, 0x43,
  2626  	0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x52, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x12,
  2627  	0x4d, 0x0a, 0x0d, 0x70, 0x65, 0x72, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x5f, 0x73, 0x74, 0x61, 0x74,
  2628  	0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74,
  2629  	0x75, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x64, 0x54, 0x79, 0x70, 0x65, 0x53, 0x74, 0x61, 0x74, 0x73,
  2630  	0x2e, 0x50, 0x65, 0x72, 0x54, 0x79, 0x70, 0x65, 0x53, 0x74, 0x61, 0x74, 0x45, 0x6e, 0x74, 0x72,
  2631  	0x79, 0x52, 0x0b, 0x70, 0x65, 0x72, 0x54, 0x79, 0x70, 0x65, 0x53, 0x74, 0x61, 0x74, 0x1a, 0x49,
  2632  	0x0a, 0x10, 0x50, 0x65, 0x72, 0x54, 0x79, 0x70, 0x65, 0x53, 0x74, 0x61, 0x74, 0x45, 0x6e, 0x74,
  2633  	0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52,
  2634  	0x03, 0x6b, 0x65, 0x79, 0x12, 0x1f, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20,
  2635  	0x01, 0x28, 0x0b, 0x32, 0x09, 0x2e, 0x54, 0x79, 0x70, 0x65, 0x53, 0x74, 0x61, 0x74, 0x52, 0x05,
  2636  	0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0xbf, 0x02, 0x0a, 0x09, 0x46, 0x69,
  2637  	0x65, 0x6c, 0x64, 0x53, 0x74, 0x61, 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x72, 0x65, 0x74, 0x75, 0x72,
  2638  	0x6e, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x72, 0x65,
  2639  	0x74, 0x75, 0x72, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x65, 0x72, 0x72, 0x6f,
  2640  	0x72, 0x73, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0b,
  2641  	0x65, 0x72, 0x72, 0x6f, 0x72, 0x73, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x38, 0x0a, 0x18, 0x6f,
  2642  	0x62, 0x73, 0x65, 0x72, 0x76, 0x65, 0x64, 0x5f, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f,
  2643  	0x6e, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x04, 0x52, 0x16, 0x6f,
  2644  	0x62, 0x73, 0x65, 0x72, 0x76, 0x65, 0x64, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e,
  2645  	0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x3a, 0x0a, 0x19, 0x65, 0x73, 0x74, 0x69, 0x6d, 0x61, 0x74,
  2646  	0x65, 0x64, 0x5f, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x6f, 0x75,
  2647  	0x6e, 0x74, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x04, 0x52, 0x17, 0x65, 0x73, 0x74, 0x69, 0x6d, 0x61,
  2648  	0x74, 0x65, 0x64, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x75, 0x6e,
  2649  	0x74, 0x12, 0x3b, 0x0a, 0x1a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x5f, 0x77, 0x69,
  2650  	0x74, 0x68, 0x5f, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x73, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18,
  2651  	0x06, 0x20, 0x01, 0x28, 0x04, 0x52, 0x17, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x57,
  2652  	0x69, 0x74, 0x68, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x73, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x23,
  2653  	0x0a, 0x0d, 0x6c, 0x61, 0x74, 0x65, 0x6e, 0x63, 0x79, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18,
  2654  	0x09, 0x20, 0x03, 0x28, 0x12, 0x52, 0x0c, 0x6c, 0x61, 0x74, 0x65, 0x6e, 0x63, 0x79, 0x43, 0x6f,
  2655  	0x75, 0x6e, 0x74, 0x4a, 0x04, 0x08, 0x01, 0x10, 0x02, 0x4a, 0x04, 0x08, 0x02, 0x10, 0x03, 0x4a,
  2656  	0x04, 0x08, 0x07, 0x10, 0x08, 0x4a, 0x04, 0x08, 0x08, 0x10, 0x09, 0x22, 0xa6, 0x01, 0x0a, 0x08,
  2657  	0x54, 0x79, 0x70, 0x65, 0x53, 0x74, 0x61, 0x74, 0x12, 0x41, 0x0a, 0x0e, 0x70, 0x65, 0x72, 0x5f,
  2658  	0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b,
  2659  	0x32, 0x1b, 0x2e, 0x54, 0x79, 0x70, 0x65, 0x53, 0x74, 0x61, 0x74, 0x2e, 0x50, 0x65, 0x72, 0x46,
  2660  	0x69, 0x65, 0x6c, 0x64, 0x53, 0x74, 0x61, 0x74, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0c, 0x70,
  2661  	0x65, 0x72, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x53, 0x74, 0x61, 0x74, 0x1a, 0x4b, 0x0a, 0x11, 0x50,
  2662  	0x65, 0x72, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x53, 0x74, 0x61, 0x74, 0x45, 0x6e, 0x74, 0x72, 0x79,
  2663  	0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b,
  2664  	0x65, 0x79, 0x12, 0x20, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28,
  2665  	0x0b, 0x32, 0x0a, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x53, 0x74, 0x61, 0x74, 0x52, 0x05, 0x76,
  2666  	0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x4a, 0x04, 0x08, 0x01, 0x10, 0x02, 0x4a, 0x04,
  2667  	0x08, 0x02, 0x10, 0x03, 0x22, 0x5d, 0x0a, 0x17, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63,
  2668  	0x65, 0x64, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x46, 0x6f, 0x72, 0x54, 0x79, 0x70, 0x65, 0x12,
  2669  	0x1f, 0x0a, 0x0b, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x18, 0x01,
  2670  	0x20, 0x03, 0x28, 0x09, 0x52, 0x0a, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x4e, 0x61, 0x6d, 0x65, 0x73,
  2671  	0x12, 0x21, 0x0a, 0x0c, 0x69, 0x73, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65,
  2672  	0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x69, 0x73, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x66,
  2673  	0x61, 0x63, 0x65, 0x22, 0xaa, 0x02, 0x0a, 0x06, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x12, 0x25,
  2674  	0x0a, 0x06, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d,
  2675  	0x2e, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x52, 0x06, 0x68,
  2676  	0x65, 0x61, 0x64, 0x65, 0x72, 0x12, 0x45, 0x0a, 0x10, 0x74, 0x72, 0x61, 0x63, 0x65, 0x73, 0x5f,
  2677  	0x70, 0x65, 0x72, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32,
  2678  	0x1b, 0x2e, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x2e, 0x54, 0x72, 0x61, 0x63, 0x65, 0x73, 0x50,
  2679  	0x65, 0x72, 0x51, 0x75, 0x65, 0x72, 0x79, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0e, 0x74, 0x72,
  2680  	0x61, 0x63, 0x65, 0x73, 0x50, 0x65, 0x72, 0x51, 0x75, 0x65, 0x72, 0x79, 0x12, 0x35, 0x0a, 0x08,
  2681  	0x65, 0x6e, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a,
  2682  	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66,
  2683  	0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x07, 0x65, 0x6e, 0x64, 0x54,
  2684  	0x69, 0x6d, 0x65, 0x12, 0x27, 0x0a, 0x0f, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e,
  2685  	0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0e, 0x6f, 0x70,
  2686  	0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x1a, 0x52, 0x0a, 0x13,
  2687  	0x54, 0x72, 0x61, 0x63, 0x65, 0x73, 0x50, 0x65, 0x72, 0x51, 0x75, 0x65, 0x72, 0x79, 0x45, 0x6e,
  2688  	0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09,
  2689  	0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x25, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02,
  2690  	0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x54, 0x72, 0x61, 0x63, 0x65, 0x73, 0x41, 0x6e, 0x64,
  2691  	0x53, 0x74, 0x61, 0x74, 0x73, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01,
  2692  	0x22, 0x98, 0x02, 0x0a, 0x13, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x75, 0x61, 0x6c, 0x69,
  2693  	0x7a, 0x65, 0x64, 0x53, 0x74, 0x61, 0x74, 0x73, 0x12, 0x27, 0x0a, 0x07, 0x63, 0x6f, 0x6e, 0x74,
  2694  	0x65, 0x78, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x53, 0x74, 0x61, 0x74,
  2695  	0x73, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x52, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78,
  2696  	0x74, 0x12, 0x42, 0x0a, 0x13, 0x71, 0x75, 0x65, 0x72, 0x79, 0x5f, 0x6c, 0x61, 0x74, 0x65, 0x6e,
  2697  	0x63, 0x79, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12,
  2698  	0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x4c, 0x61, 0x74, 0x65, 0x6e, 0x63, 0x79, 0x53, 0x74, 0x61,
  2699  	0x74, 0x73, 0x52, 0x11, 0x71, 0x75, 0x65, 0x72, 0x79, 0x4c, 0x61, 0x74, 0x65, 0x6e, 0x63, 0x79,
  2700  	0x53, 0x74, 0x61, 0x74, 0x73, 0x12, 0x49, 0x0a, 0x0d, 0x70, 0x65, 0x72, 0x5f, 0x74, 0x79, 0x70,
  2701  	0x65, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x43,
  2702  	0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x75, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x64, 0x53, 0x74, 0x61,
  2703  	0x74, 0x73, 0x2e, 0x50, 0x65, 0x72, 0x54, 0x79, 0x70, 0x65, 0x53, 0x74, 0x61, 0x74, 0x45, 0x6e,
  2704  	0x74, 0x72, 0x79, 0x52, 0x0b, 0x70, 0x65, 0x72, 0x54, 0x79, 0x70, 0x65, 0x53, 0x74, 0x61, 0x74,
  2705  	0x1a, 0x49, 0x0a, 0x10, 0x50, 0x65, 0x72, 0x54, 0x79, 0x70, 0x65, 0x53, 0x74, 0x61, 0x74, 0x45,
  2706  	0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28,
  2707  	0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x1f, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18,
  2708  	0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x09, 0x2e, 0x54, 0x79, 0x70, 0x65, 0x53, 0x74, 0x61, 0x74,
  2709  	0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x99, 0x03, 0x0a, 0x0e,
  2710  	0x54, 0x72, 0x61, 0x63, 0x65, 0x73, 0x41, 0x6e, 0x64, 0x53, 0x74, 0x61, 0x74, 0x73, 0x12, 0x1c,
  2711  	0x0a, 0x05, 0x74, 0x72, 0x61, 0x63, 0x65, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x06, 0x2e,
  2712  	0x54, 0x72, 0x61, 0x63, 0x65, 0x52, 0x05, 0x74, 0x72, 0x61, 0x63, 0x65, 0x12, 0x42, 0x0a, 0x12,
  2713  	0x73, 0x74, 0x61, 0x74, 0x73, 0x5f, 0x77, 0x69, 0x74, 0x68, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x65,
  2714  	0x78, 0x74, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x65,
  2715  	0x78, 0x74, 0x75, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x64, 0x53, 0x74, 0x61, 0x74, 0x73, 0x52, 0x10,
  2716  	0x73, 0x74, 0x61, 0x74, 0x73, 0x57, 0x69, 0x74, 0x68, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74,
  2717  	0x12, 0x66, 0x0a, 0x19, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x64, 0x5f, 0x66,
  2718  	0x69, 0x65, 0x6c, 0x64, 0x73, 0x5f, 0x62, 0x79, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x04, 0x20,
  2719  	0x03, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x54, 0x72, 0x61, 0x63, 0x65, 0x73, 0x41, 0x6e, 0x64, 0x53,
  2720  	0x74, 0x61, 0x74, 0x73, 0x2e, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x64, 0x46,
  2721  	0x69, 0x65, 0x6c, 0x64, 0x73, 0x42, 0x79, 0x54, 0x79, 0x70, 0x65, 0x45, 0x6e, 0x74, 0x72, 0x79,
  2722  	0x52, 0x16, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x64, 0x46, 0x69, 0x65, 0x6c,
  2723  	0x64, 0x73, 0x42, 0x79, 0x54, 0x79, 0x70, 0x65, 0x12, 0x58, 0x0a, 0x25, 0x69, 0x6e, 0x74, 0x65,
  2724  	0x72, 0x6e, 0x61, 0x6c, 0x5f, 0x74, 0x72, 0x61, 0x63, 0x65, 0x73, 0x5f, 0x63, 0x6f, 0x6e, 0x74,
  2725  	0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x5f, 0x74, 0x6f, 0x5f, 0x73, 0x74, 0x61, 0x74,
  2726  	0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x06, 0x2e, 0x54, 0x72, 0x61, 0x63, 0x65, 0x52,
  2727  	0x21, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x54, 0x72, 0x61, 0x63, 0x65, 0x73, 0x43,
  2728  	0x6f, 0x6e, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x54, 0x6f, 0x53, 0x74, 0x61,
  2729  	0x74, 0x73, 0x1a, 0x63, 0x0a, 0x1b, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x64,
  2730  	0x46, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x42, 0x79, 0x54, 0x79, 0x70, 0x65, 0x45, 0x6e, 0x74, 0x72,
  2731  	0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03,
  2732  	0x6b, 0x65, 0x79, 0x12, 0x2e, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01,
  2733  	0x28, 0x0b, 0x32, 0x18, 0x2e, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x64, 0x46,
  2734  	0x69, 0x65, 0x6c, 0x64, 0x73, 0x46, 0x6f, 0x72, 0x54, 0x79, 0x70, 0x65, 0x52, 0x05, 0x76, 0x61,
  2735  	0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x42, 0x16, 0x5a, 0x14, 0x2e, 0x2f, 0x61, 0x70, 0x6f,
  2736  	0x6c, 0x6c, 0x6f, 0x74, 0x72, 0x61, 0x63, 0x69, 0x6e, 0x67, 0x5f, 0x66, 0x74, 0x76, 0x31, 0x62,
  2737  	0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
  2738  }
  2739  
  2740  var (
  2741  	file_apollo_trace_proto_rawDescOnce sync.Once
  2742  	file_apollo_trace_proto_rawDescData = file_apollo_trace_proto_rawDesc
  2743  )
  2744  
  2745  func file_apollo_trace_proto_rawDescGZIP() []byte {
  2746  	file_apollo_trace_proto_rawDescOnce.Do(func() {
  2747  		file_apollo_trace_proto_rawDescData = protoimpl.X.CompressGZIP(file_apollo_trace_proto_rawDescData)
  2748  	})
  2749  	return file_apollo_trace_proto_rawDescData
  2750  }
  2751  
  2752  var file_apollo_trace_proto_enumTypes = make([]protoimpl.EnumInfo, 2)
  2753  var file_apollo_trace_proto_msgTypes = make([]protoimpl.MessageInfo, 35)
  2754  var file_apollo_trace_proto_goTypes = []interface{}{
  2755  	(Trace_CachePolicy_Scope)(0),                    // 0: Trace.CachePolicy.Scope
  2756  	(Trace_HTTP_Method)(0),                          // 1: Trace.HTTP.Method
  2757  	(*Trace)(nil),                                   // 2: Trace
  2758  	(*ReportHeader)(nil),                            // 3: ReportHeader
  2759  	(*PathErrorStats)(nil),                          // 4: PathErrorStats
  2760  	(*QueryLatencyStats)(nil),                       // 5: QueryLatencyStats
  2761  	(*StatsContext)(nil),                            // 6: StatsContext
  2762  	(*ContextualizedQueryLatencyStats)(nil),         // 7: ContextualizedQueryLatencyStats
  2763  	(*ContextualizedTypeStats)(nil),                 // 8: ContextualizedTypeStats
  2764  	(*FieldStat)(nil),                               // 9: FieldStat
  2765  	(*TypeStat)(nil),                                // 10: TypeStat
  2766  	(*ReferencedFieldsForType)(nil),                 // 11: ReferencedFieldsForType
  2767  	(*Report)(nil),                                  // 12: Report
  2768  	(*ContextualizedStats)(nil),                     // 13: ContextualizedStats
  2769  	(*TracesAndStats)(nil),                          // 14: TracesAndStats
  2770  	(*Trace_CachePolicy)(nil),                       // 15: Trace.CachePolicy
  2771  	(*Trace_Details)(nil),                           // 16: Trace.Details
  2772  	(*Trace_Error)(nil),                             // 17: Trace.Error
  2773  	(*Trace_HTTP)(nil),                              // 18: Trace.HTTP
  2774  	(*Trace_Location)(nil),                          // 19: Trace.Location
  2775  	(*Trace_Node)(nil),                              // 20: Trace.Node
  2776  	(*Trace_QueryPlanNode)(nil),                     // 21: Trace.QueryPlanNode
  2777  	nil,                                             // 22: Trace.Details.VariablesJsonEntry
  2778  	(*Trace_HTTP_Values)(nil),                       // 23: Trace.HTTP.Values
  2779  	nil,                                             // 24: Trace.HTTP.RequestHeadersEntry
  2780  	nil,                                             // 25: Trace.HTTP.ResponseHeadersEntry
  2781  	(*Trace_QueryPlanNode_SequenceNode)(nil),        // 26: Trace.QueryPlanNode.SequenceNode
  2782  	(*Trace_QueryPlanNode_ParallelNode)(nil),        // 27: Trace.QueryPlanNode.ParallelNode
  2783  	(*Trace_QueryPlanNode_FetchNode)(nil),           // 28: Trace.QueryPlanNode.FetchNode
  2784  	(*Trace_QueryPlanNode_FlattenNode)(nil),         // 29: Trace.QueryPlanNode.FlattenNode
  2785  	(*Trace_QueryPlanNode_ResponsePathElement)(nil), // 30: Trace.QueryPlanNode.ResponsePathElement
  2786  	nil,                           // 31: PathErrorStats.ChildrenEntry
  2787  	nil,                           // 32: ContextualizedTypeStats.PerTypeStatEntry
  2788  	nil,                           // 33: TypeStat.PerFieldStatEntry
  2789  	nil,                           // 34: Report.TracesPerQueryEntry
  2790  	nil,                           // 35: ContextualizedStats.PerTypeStatEntry
  2791  	nil,                           // 36: TracesAndStats.ReferencedFieldsByTypeEntry
  2792  	(*timestamppb.Timestamp)(nil), // 37: google.protobuf.Timestamp
  2793  }
  2794  var file_apollo_trace_proto_depIdxs = []int32{
  2795  	37, // 0: Trace.start_time:type_name -> google.protobuf.Timestamp
  2796  	37, // 1: Trace.end_time:type_name -> google.protobuf.Timestamp
  2797  	20, // 2: Trace.root:type_name -> Trace.Node
  2798  	16, // 3: Trace.details:type_name -> Trace.Details
  2799  	18, // 4: Trace.http:type_name -> Trace.HTTP
  2800  	15, // 5: Trace.cache_policy:type_name -> Trace.CachePolicy
  2801  	21, // 6: Trace.query_plan:type_name -> Trace.QueryPlanNode
  2802  	31, // 7: PathErrorStats.children:type_name -> PathErrorStats.ChildrenEntry
  2803  	4,  // 8: QueryLatencyStats.root_error_stats:type_name -> PathErrorStats
  2804  	5,  // 9: ContextualizedQueryLatencyStats.query_latency_stats:type_name -> QueryLatencyStats
  2805  	6,  // 10: ContextualizedQueryLatencyStats.context:type_name -> StatsContext
  2806  	6,  // 11: ContextualizedTypeStats.context:type_name -> StatsContext
  2807  	32, // 12: ContextualizedTypeStats.per_type_stat:type_name -> ContextualizedTypeStats.PerTypeStatEntry
  2808  	33, // 13: TypeStat.per_field_stat:type_name -> TypeStat.PerFieldStatEntry
  2809  	3,  // 14: Report.header:type_name -> ReportHeader
  2810  	34, // 15: Report.traces_per_query:type_name -> Report.TracesPerQueryEntry
  2811  	37, // 16: Report.end_time:type_name -> google.protobuf.Timestamp
  2812  	6,  // 17: ContextualizedStats.context:type_name -> StatsContext
  2813  	5,  // 18: ContextualizedStats.query_latency_stats:type_name -> QueryLatencyStats
  2814  	35, // 19: ContextualizedStats.per_type_stat:type_name -> ContextualizedStats.PerTypeStatEntry
  2815  	2,  // 20: TracesAndStats.trace:type_name -> Trace
  2816  	13, // 21: TracesAndStats.stats_with_context:type_name -> ContextualizedStats
  2817  	36, // 22: TracesAndStats.referenced_fields_by_type:type_name -> TracesAndStats.ReferencedFieldsByTypeEntry
  2818  	2,  // 23: TracesAndStats.internal_traces_contributing_to_stats:type_name -> Trace
  2819  	0,  // 24: Trace.CachePolicy.scope:type_name -> Trace.CachePolicy.Scope
  2820  	22, // 25: Trace.Details.variables_json:type_name -> Trace.Details.VariablesJsonEntry
  2821  	19, // 26: Trace.Error.location:type_name -> Trace.Location
  2822  	1,  // 27: Trace.HTTP.method:type_name -> Trace.HTTP.Method
  2823  	24, // 28: Trace.HTTP.request_headers:type_name -> Trace.HTTP.RequestHeadersEntry
  2824  	25, // 29: Trace.HTTP.response_headers:type_name -> Trace.HTTP.ResponseHeadersEntry
  2825  	15, // 30: Trace.Node.cache_policy:type_name -> Trace.CachePolicy
  2826  	17, // 31: Trace.Node.error:type_name -> Trace.Error
  2827  	20, // 32: Trace.Node.child:type_name -> Trace.Node
  2828  	26, // 33: Trace.QueryPlanNode.sequence:type_name -> Trace.QueryPlanNode.SequenceNode
  2829  	27, // 34: Trace.QueryPlanNode.parallel:type_name -> Trace.QueryPlanNode.ParallelNode
  2830  	28, // 35: Trace.QueryPlanNode.fetch:type_name -> Trace.QueryPlanNode.FetchNode
  2831  	29, // 36: Trace.QueryPlanNode.flatten:type_name -> Trace.QueryPlanNode.FlattenNode
  2832  	23, // 37: Trace.HTTP.RequestHeadersEntry.value:type_name -> Trace.HTTP.Values
  2833  	23, // 38: Trace.HTTP.ResponseHeadersEntry.value:type_name -> Trace.HTTP.Values
  2834  	21, // 39: Trace.QueryPlanNode.SequenceNode.nodes:type_name -> Trace.QueryPlanNode
  2835  	21, // 40: Trace.QueryPlanNode.ParallelNode.nodes:type_name -> Trace.QueryPlanNode
  2836  	2,  // 41: Trace.QueryPlanNode.FetchNode.trace:type_name -> Trace
  2837  	37, // 42: Trace.QueryPlanNode.FetchNode.sent_time:type_name -> google.protobuf.Timestamp
  2838  	37, // 43: Trace.QueryPlanNode.FetchNode.received_time:type_name -> google.protobuf.Timestamp
  2839  	30, // 44: Trace.QueryPlanNode.FlattenNode.response_path:type_name -> Trace.QueryPlanNode.ResponsePathElement
  2840  	21, // 45: Trace.QueryPlanNode.FlattenNode.node:type_name -> Trace.QueryPlanNode
  2841  	4,  // 46: PathErrorStats.ChildrenEntry.value:type_name -> PathErrorStats
  2842  	10, // 47: ContextualizedTypeStats.PerTypeStatEntry.value:type_name -> TypeStat
  2843  	9,  // 48: TypeStat.PerFieldStatEntry.value:type_name -> FieldStat
  2844  	14, // 49: Report.TracesPerQueryEntry.value:type_name -> TracesAndStats
  2845  	10, // 50: ContextualizedStats.PerTypeStatEntry.value:type_name -> TypeStat
  2846  	11, // 51: TracesAndStats.ReferencedFieldsByTypeEntry.value:type_name -> ReferencedFieldsForType
  2847  	52, // [52:52] is the sub-list for method output_type
  2848  	52, // [52:52] is the sub-list for method input_type
  2849  	52, // [52:52] is the sub-list for extension type_name
  2850  	52, // [52:52] is the sub-list for extension extendee
  2851  	0,  // [0:52] is the sub-list for field type_name
  2852  }
  2853  
  2854  func init() { file_apollo_trace_proto_init() }
  2855  func file_apollo_trace_proto_init() {
  2856  	if File_apollo_trace_proto != nil {
  2857  		return
  2858  	}
  2859  	if !protoimpl.UnsafeEnabled {
  2860  		file_apollo_trace_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
  2861  			switch v := v.(*Trace); i {
  2862  			case 0:
  2863  				return &v.state
  2864  			case 1:
  2865  				return &v.sizeCache
  2866  			case 2:
  2867  				return &v.unknownFields
  2868  			default:
  2869  				return nil
  2870  			}
  2871  		}
  2872  		file_apollo_trace_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
  2873  			switch v := v.(*ReportHeader); i {
  2874  			case 0:
  2875  				return &v.state
  2876  			case 1:
  2877  				return &v.sizeCache
  2878  			case 2:
  2879  				return &v.unknownFields
  2880  			default:
  2881  				return nil
  2882  			}
  2883  		}
  2884  		file_apollo_trace_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
  2885  			switch v := v.(*PathErrorStats); i {
  2886  			case 0:
  2887  				return &v.state
  2888  			case 1:
  2889  				return &v.sizeCache
  2890  			case 2:
  2891  				return &v.unknownFields
  2892  			default:
  2893  				return nil
  2894  			}
  2895  		}
  2896  		file_apollo_trace_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
  2897  			switch v := v.(*QueryLatencyStats); i {
  2898  			case 0:
  2899  				return &v.state
  2900  			case 1:
  2901  				return &v.sizeCache
  2902  			case 2:
  2903  				return &v.unknownFields
  2904  			default:
  2905  				return nil
  2906  			}
  2907  		}
  2908  		file_apollo_trace_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {
  2909  			switch v := v.(*StatsContext); i {
  2910  			case 0:
  2911  				return &v.state
  2912  			case 1:
  2913  				return &v.sizeCache
  2914  			case 2:
  2915  				return &v.unknownFields
  2916  			default:
  2917  				return nil
  2918  			}
  2919  		}
  2920  		file_apollo_trace_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} {
  2921  			switch v := v.(*ContextualizedQueryLatencyStats); i {
  2922  			case 0:
  2923  				return &v.state
  2924  			case 1:
  2925  				return &v.sizeCache
  2926  			case 2:
  2927  				return &v.unknownFields
  2928  			default:
  2929  				return nil
  2930  			}
  2931  		}
  2932  		file_apollo_trace_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} {
  2933  			switch v := v.(*ContextualizedTypeStats); i {
  2934  			case 0:
  2935  				return &v.state
  2936  			case 1:
  2937  				return &v.sizeCache
  2938  			case 2:
  2939  				return &v.unknownFields
  2940  			default:
  2941  				return nil
  2942  			}
  2943  		}
  2944  		file_apollo_trace_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} {
  2945  			switch v := v.(*FieldStat); i {
  2946  			case 0:
  2947  				return &v.state
  2948  			case 1:
  2949  				return &v.sizeCache
  2950  			case 2:
  2951  				return &v.unknownFields
  2952  			default:
  2953  				return nil
  2954  			}
  2955  		}
  2956  		file_apollo_trace_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} {
  2957  			switch v := v.(*TypeStat); i {
  2958  			case 0:
  2959  				return &v.state
  2960  			case 1:
  2961  				return &v.sizeCache
  2962  			case 2:
  2963  				return &v.unknownFields
  2964  			default:
  2965  				return nil
  2966  			}
  2967  		}
  2968  		file_apollo_trace_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} {
  2969  			switch v := v.(*ReferencedFieldsForType); i {
  2970  			case 0:
  2971  				return &v.state
  2972  			case 1:
  2973  				return &v.sizeCache
  2974  			case 2:
  2975  				return &v.unknownFields
  2976  			default:
  2977  				return nil
  2978  			}
  2979  		}
  2980  		file_apollo_trace_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} {
  2981  			switch v := v.(*Report); i {
  2982  			case 0:
  2983  				return &v.state
  2984  			case 1:
  2985  				return &v.sizeCache
  2986  			case 2:
  2987  				return &v.unknownFields
  2988  			default:
  2989  				return nil
  2990  			}
  2991  		}
  2992  		file_apollo_trace_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} {
  2993  			switch v := v.(*ContextualizedStats); i {
  2994  			case 0:
  2995  				return &v.state
  2996  			case 1:
  2997  				return &v.sizeCache
  2998  			case 2:
  2999  				return &v.unknownFields
  3000  			default:
  3001  				return nil
  3002  			}
  3003  		}
  3004  		file_apollo_trace_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} {
  3005  			switch v := v.(*TracesAndStats); i {
  3006  			case 0:
  3007  				return &v.state
  3008  			case 1:
  3009  				return &v.sizeCache
  3010  			case 2:
  3011  				return &v.unknownFields
  3012  			default:
  3013  				return nil
  3014  			}
  3015  		}
  3016  		file_apollo_trace_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} {
  3017  			switch v := v.(*Trace_CachePolicy); i {
  3018  			case 0:
  3019  				return &v.state
  3020  			case 1:
  3021  				return &v.sizeCache
  3022  			case 2:
  3023  				return &v.unknownFields
  3024  			default:
  3025  				return nil
  3026  			}
  3027  		}
  3028  		file_apollo_trace_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} {
  3029  			switch v := v.(*Trace_Details); i {
  3030  			case 0:
  3031  				return &v.state
  3032  			case 1:
  3033  				return &v.sizeCache
  3034  			case 2:
  3035  				return &v.unknownFields
  3036  			default:
  3037  				return nil
  3038  			}
  3039  		}
  3040  		file_apollo_trace_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} {
  3041  			switch v := v.(*Trace_Error); i {
  3042  			case 0:
  3043  				return &v.state
  3044  			case 1:
  3045  				return &v.sizeCache
  3046  			case 2:
  3047  				return &v.unknownFields
  3048  			default:
  3049  				return nil
  3050  			}
  3051  		}
  3052  		file_apollo_trace_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} {
  3053  			switch v := v.(*Trace_HTTP); i {
  3054  			case 0:
  3055  				return &v.state
  3056  			case 1:
  3057  				return &v.sizeCache
  3058  			case 2:
  3059  				return &v.unknownFields
  3060  			default:
  3061  				return nil
  3062  			}
  3063  		}
  3064  		file_apollo_trace_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} {
  3065  			switch v := v.(*Trace_Location); i {
  3066  			case 0:
  3067  				return &v.state
  3068  			case 1:
  3069  				return &v.sizeCache
  3070  			case 2:
  3071  				return &v.unknownFields
  3072  			default:
  3073  				return nil
  3074  			}
  3075  		}
  3076  		file_apollo_trace_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} {
  3077  			switch v := v.(*Trace_Node); i {
  3078  			case 0:
  3079  				return &v.state
  3080  			case 1:
  3081  				return &v.sizeCache
  3082  			case 2:
  3083  				return &v.unknownFields
  3084  			default:
  3085  				return nil
  3086  			}
  3087  		}
  3088  		file_apollo_trace_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} {
  3089  			switch v := v.(*Trace_QueryPlanNode); i {
  3090  			case 0:
  3091  				return &v.state
  3092  			case 1:
  3093  				return &v.sizeCache
  3094  			case 2:
  3095  				return &v.unknownFields
  3096  			default:
  3097  				return nil
  3098  			}
  3099  		}
  3100  		file_apollo_trace_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} {
  3101  			switch v := v.(*Trace_HTTP_Values); i {
  3102  			case 0:
  3103  				return &v.state
  3104  			case 1:
  3105  				return &v.sizeCache
  3106  			case 2:
  3107  				return &v.unknownFields
  3108  			default:
  3109  				return nil
  3110  			}
  3111  		}
  3112  		file_apollo_trace_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} {
  3113  			switch v := v.(*Trace_QueryPlanNode_SequenceNode); i {
  3114  			case 0:
  3115  				return &v.state
  3116  			case 1:
  3117  				return &v.sizeCache
  3118  			case 2:
  3119  				return &v.unknownFields
  3120  			default:
  3121  				return nil
  3122  			}
  3123  		}
  3124  		file_apollo_trace_proto_msgTypes[25].Exporter = func(v interface{}, i int) interface{} {
  3125  			switch v := v.(*Trace_QueryPlanNode_ParallelNode); i {
  3126  			case 0:
  3127  				return &v.state
  3128  			case 1:
  3129  				return &v.sizeCache
  3130  			case 2:
  3131  				return &v.unknownFields
  3132  			default:
  3133  				return nil
  3134  			}
  3135  		}
  3136  		file_apollo_trace_proto_msgTypes[26].Exporter = func(v interface{}, i int) interface{} {
  3137  			switch v := v.(*Trace_QueryPlanNode_FetchNode); i {
  3138  			case 0:
  3139  				return &v.state
  3140  			case 1:
  3141  				return &v.sizeCache
  3142  			case 2:
  3143  				return &v.unknownFields
  3144  			default:
  3145  				return nil
  3146  			}
  3147  		}
  3148  		file_apollo_trace_proto_msgTypes[27].Exporter = func(v interface{}, i int) interface{} {
  3149  			switch v := v.(*Trace_QueryPlanNode_FlattenNode); i {
  3150  			case 0:
  3151  				return &v.state
  3152  			case 1:
  3153  				return &v.sizeCache
  3154  			case 2:
  3155  				return &v.unknownFields
  3156  			default:
  3157  				return nil
  3158  			}
  3159  		}
  3160  		file_apollo_trace_proto_msgTypes[28].Exporter = func(v interface{}, i int) interface{} {
  3161  			switch v := v.(*Trace_QueryPlanNode_ResponsePathElement); i {
  3162  			case 0:
  3163  				return &v.state
  3164  			case 1:
  3165  				return &v.sizeCache
  3166  			case 2:
  3167  				return &v.unknownFields
  3168  			default:
  3169  				return nil
  3170  			}
  3171  		}
  3172  	}
  3173  	file_apollo_trace_proto_msgTypes[18].OneofWrappers = []interface{}{
  3174  		(*Trace_Node_ResponseName)(nil),
  3175  		(*Trace_Node_Index)(nil),
  3176  	}
  3177  	file_apollo_trace_proto_msgTypes[19].OneofWrappers = []interface{}{
  3178  		(*Trace_QueryPlanNode_Sequence)(nil),
  3179  		(*Trace_QueryPlanNode_Parallel)(nil),
  3180  		(*Trace_QueryPlanNode_Fetch)(nil),
  3181  		(*Trace_QueryPlanNode_Flatten)(nil),
  3182  	}
  3183  	file_apollo_trace_proto_msgTypes[28].OneofWrappers = []interface{}{
  3184  		(*Trace_QueryPlanNode_ResponsePathElement_FieldName)(nil),
  3185  		(*Trace_QueryPlanNode_ResponsePathElement_Index)(nil),
  3186  	}
  3187  	type x struct{}
  3188  	out := protoimpl.TypeBuilder{
  3189  		File: protoimpl.DescBuilder{
  3190  			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
  3191  			RawDescriptor: file_apollo_trace_proto_rawDesc,
  3192  			NumEnums:      2,
  3193  			NumMessages:   35,
  3194  			NumExtensions: 0,
  3195  			NumServices:   0,
  3196  		},
  3197  		GoTypes:           file_apollo_trace_proto_goTypes,
  3198  		DependencyIndexes: file_apollo_trace_proto_depIdxs,
  3199  		EnumInfos:         file_apollo_trace_proto_enumTypes,
  3200  		MessageInfos:      file_apollo_trace_proto_msgTypes,
  3201  	}.Build()
  3202  	File_apollo_trace_proto = out.File
  3203  	file_apollo_trace_proto_rawDesc = nil
  3204  	file_apollo_trace_proto_goTypes = nil
  3205  	file_apollo_trace_proto_depIdxs = nil
  3206  }