go.chromium.org/luci@v0.0.0-20240309015107-7cdc2e660f33/swarming/proto/api_v2/swarming.pb.go (about)

     1  // Copyright 2022 The LUCI Authors. All rights reserved.
     2  // Use of this source code is governed under the Apache License, Version 2.0
     3  // that can be found in the LICENSE file.
     4  
     5  // Code generated by protoc-gen-go. DO NOT EDIT.
     6  // versions:
     7  // 	protoc-gen-go v1.31.0
     8  // 	protoc        v3.21.7
     9  // source: go.chromium.org/luci/swarming/proto/api_v2/swarming.proto
    10  
    11  package apipb
    12  
    13  import (
    14  	status "google.golang.org/genproto/googleapis/rpc/status"
    15  	protoreflect "google.golang.org/protobuf/reflect/protoreflect"
    16  	protoimpl "google.golang.org/protobuf/runtime/protoimpl"
    17  	emptypb "google.golang.org/protobuf/types/known/emptypb"
    18  	timestamppb "google.golang.org/protobuf/types/known/timestamppb"
    19  	reflect "reflect"
    20  	sync "sync"
    21  )
    22  
    23  const (
    24  	// Verify that this generated code is sufficiently up-to-date.
    25  	_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
    26  	// Verify that runtime/protoimpl is sufficiently up-to-date.
    27  	_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
    28  )
    29  
    30  // Use one of the values in this enum to query for tasks in one of the
    31  // specified state.
    32  //
    33  // Use 'ALL' to not use any filtering based on task state.
    34  //
    35  // As an example, this enum enables querying for all tasks with state COMPLETED
    36  // but non-zero exit code via COMPLETED_FAILURE.
    37  //
    38  // Do not confuse StateQuery and TaskState. StateQuery is to query tasks
    39  // via the API. TaskState is the current task state.
    40  type StateQuery int32
    41  
    42  const (
    43  	// Query for all tasks currently TaskState.PENDING.
    44  	StateQuery_QUERY_PENDING StateQuery = 0
    45  	// Query for all tasks currently TaskState.RUNNING. This includes tasks
    46  	// currently in the overhead phase; mapping input files or archiving outputs
    47  	// back to the server.
    48  	StateQuery_QUERY_RUNNING StateQuery = 1
    49  	// Query for all tasks currently TaskState.PENDING or TaskState.RUNNING. This
    50  	// is the query for the 'active' tasks.
    51  	StateQuery_QUERY_PENDING_RUNNING StateQuery = 2
    52  	// Query for all tasks that completed normally as TaskState.COMPLETED,
    53  	// independent of the process exit code.
    54  	StateQuery_QUERY_COMPLETED StateQuery = 3
    55  	// Query for all tasks that completed normally as TaskState.COMPLETED and that
    56  	// had exit code 0.
    57  	StateQuery_QUERY_COMPLETED_SUCCESS StateQuery = 4
    58  	// Query for all tasks that completed normally as TaskState.COMPLETED and that
    59  	// had exit code not 0.
    60  	StateQuery_QUERY_COMPLETED_FAILURE StateQuery = 5
    61  	// Query for all tasks that are TaskState.EXPIRED.
    62  	StateQuery_QUERY_EXPIRED StateQuery = 6
    63  	// Query for all tasks that are TaskState.TIMED_OUT.
    64  	StateQuery_QUERY_TIMED_OUT StateQuery = 7
    65  	// Query for all tasks that are TaskState.BOT_DIED.
    66  	StateQuery_QUERY_BOT_DIED StateQuery = 8
    67  	// Query for all tasks that are TaskState.CANCELED.
    68  	StateQuery_QUERY_CANCELED StateQuery = 9
    69  	// Query for all tasks, independent of the task state.
    70  	//
    71  	// In hindsight, this constant should have been the value 0. Sorry, the
    72  	// original author was young and foolish.
    73  	StateQuery_QUERY_ALL StateQuery = 10
    74  	// Query for all tasks that are TaskState.COMPLETED but that actually didn't
    75  	// run due to TaskProperties.idempotent being True *and* that a previous task
    76  	// with the exact same TaskProperties had successfully run before, aka
    77  	// COMPLETED_SUCCESS.
    78  	StateQuery_QUERY_DEDUPED StateQuery = 11
    79  	// Query for all tasks that are TaskState.KILLED.
    80  	StateQuery_QUERY_KILLED StateQuery = 12
    81  	// Query for all tasks that are TaskState.NO_RESOURCE.
    82  	StateQuery_QUERY_NO_RESOURCE StateQuery = 13
    83  	// Query for all tasks that are TaskState.CLIENT_ERROR.
    84  	StateQuery_QUERY_CLIENT_ERROR StateQuery = 14
    85  )
    86  
    87  // Enum value maps for StateQuery.
    88  var (
    89  	StateQuery_name = map[int32]string{
    90  		0:  "QUERY_PENDING",
    91  		1:  "QUERY_RUNNING",
    92  		2:  "QUERY_PENDING_RUNNING",
    93  		3:  "QUERY_COMPLETED",
    94  		4:  "QUERY_COMPLETED_SUCCESS",
    95  		5:  "QUERY_COMPLETED_FAILURE",
    96  		6:  "QUERY_EXPIRED",
    97  		7:  "QUERY_TIMED_OUT",
    98  		8:  "QUERY_BOT_DIED",
    99  		9:  "QUERY_CANCELED",
   100  		10: "QUERY_ALL",
   101  		11: "QUERY_DEDUPED",
   102  		12: "QUERY_KILLED",
   103  		13: "QUERY_NO_RESOURCE",
   104  		14: "QUERY_CLIENT_ERROR",
   105  	}
   106  	StateQuery_value = map[string]int32{
   107  		"QUERY_PENDING":           0,
   108  		"QUERY_RUNNING":           1,
   109  		"QUERY_PENDING_RUNNING":   2,
   110  		"QUERY_COMPLETED":         3,
   111  		"QUERY_COMPLETED_SUCCESS": 4,
   112  		"QUERY_COMPLETED_FAILURE": 5,
   113  		"QUERY_EXPIRED":           6,
   114  		"QUERY_TIMED_OUT":         7,
   115  		"QUERY_BOT_DIED":          8,
   116  		"QUERY_CANCELED":          9,
   117  		"QUERY_ALL":               10,
   118  		"QUERY_DEDUPED":           11,
   119  		"QUERY_KILLED":            12,
   120  		"QUERY_NO_RESOURCE":       13,
   121  		"QUERY_CLIENT_ERROR":      14,
   122  	}
   123  )
   124  
   125  func (x StateQuery) Enum() *StateQuery {
   126  	p := new(StateQuery)
   127  	*p = x
   128  	return p
   129  }
   130  
   131  func (x StateQuery) String() string {
   132  	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
   133  }
   134  
   135  func (StateQuery) Descriptor() protoreflect.EnumDescriptor {
   136  	return file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_enumTypes[0].Descriptor()
   137  }
   138  
   139  func (StateQuery) Type() protoreflect.EnumType {
   140  	return &file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_enumTypes[0]
   141  }
   142  
   143  func (x StateQuery) Number() protoreflect.EnumNumber {
   144  	return protoreflect.EnumNumber(x)
   145  }
   146  
   147  // Deprecated: Use StateQuery.Descriptor instead.
   148  func (StateQuery) EnumDescriptor() ([]byte, []int) {
   149  	return file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_rawDescGZIP(), []int{0}
   150  }
   151  
   152  // Flag to sort returned tasks. The natural sort is CREATED_TS.
   153  type SortQuery int32
   154  
   155  const (
   156  	SortQuery_QUERY_CREATED_TS   SortQuery = 0
   157  	SortQuery_QUERY_COMPLETED_TS SortQuery = 2
   158  	SortQuery_QUERY_ABANDONED_TS SortQuery = 3
   159  	SortQuery_QUERY_STARTED_TS   SortQuery = 4
   160  )
   161  
   162  // Enum value maps for SortQuery.
   163  var (
   164  	SortQuery_name = map[int32]string{
   165  		0: "QUERY_CREATED_TS",
   166  		2: "QUERY_COMPLETED_TS",
   167  		3: "QUERY_ABANDONED_TS",
   168  		4: "QUERY_STARTED_TS",
   169  	}
   170  	SortQuery_value = map[string]int32{
   171  		"QUERY_CREATED_TS":   0,
   172  		"QUERY_COMPLETED_TS": 2,
   173  		"QUERY_ABANDONED_TS": 3,
   174  		"QUERY_STARTED_TS":   4,
   175  	}
   176  )
   177  
   178  func (x SortQuery) Enum() *SortQuery {
   179  	p := new(SortQuery)
   180  	*p = x
   181  	return p
   182  }
   183  
   184  func (x SortQuery) String() string {
   185  	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
   186  }
   187  
   188  func (SortQuery) Descriptor() protoreflect.EnumDescriptor {
   189  	return file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_enumTypes[1].Descriptor()
   190  }
   191  
   192  func (SortQuery) Type() protoreflect.EnumType {
   193  	return &file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_enumTypes[1]
   194  }
   195  
   196  func (x SortQuery) Number() protoreflect.EnumNumber {
   197  	return protoreflect.EnumNumber(x)
   198  }
   199  
   200  // Deprecated: Use SortQuery.Descriptor instead.
   201  func (SortQuery) EnumDescriptor() ([]byte, []int) {
   202  	return file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_rawDescGZIP(), []int{1}
   203  }
   204  
   205  // This flag is only relevant to windows swarming bots.
   206  // It determines whether or not the task process will use a win32 JobObject.
   207  type ContainmentType int32
   208  
   209  const (
   210  	// Do not specify a containment type. For tasks which don't run like
   211  	// Termination task.
   212  	ContainmentType_NOT_SPECIFIED ContainmentType = 0
   213  	// Do not use JOB_OBJECT to create new tasks. Has same effect as NOT_SPECIFIED
   214  	ContainmentType_NONE ContainmentType = 1
   215  	// On windows, this will start a process using win32 JobObject.
   216  	// On other platforms this will default to python standard POpen to create
   217  	// task process.
   218  	// See https://learn.microsoft.com/en-us/windows/win32/procthread/job-objects
   219  	ContainmentType_AUTO ContainmentType = 2
   220  	// Use JOB_OBJECTS on windows. Will auto-fail tasks on non-win32 platforms.
   221  	ContainmentType_JOB_OBJECT ContainmentType = 3
   222  )
   223  
   224  // Enum value maps for ContainmentType.
   225  var (
   226  	ContainmentType_name = map[int32]string{
   227  		0: "NOT_SPECIFIED",
   228  		1: "NONE",
   229  		2: "AUTO",
   230  		3: "JOB_OBJECT",
   231  	}
   232  	ContainmentType_value = map[string]int32{
   233  		"NOT_SPECIFIED": 0,
   234  		"NONE":          1,
   235  		"AUTO":          2,
   236  		"JOB_OBJECT":    3,
   237  	}
   238  )
   239  
   240  func (x ContainmentType) Enum() *ContainmentType {
   241  	p := new(ContainmentType)
   242  	*p = x
   243  	return p
   244  }
   245  
   246  func (x ContainmentType) String() string {
   247  	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
   248  }
   249  
   250  func (ContainmentType) Descriptor() protoreflect.EnumDescriptor {
   251  	return file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_enumTypes[2].Descriptor()
   252  }
   253  
   254  func (ContainmentType) Type() protoreflect.EnumType {
   255  	return &file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_enumTypes[2]
   256  }
   257  
   258  func (x ContainmentType) Number() protoreflect.EnumNumber {
   259  	return protoreflect.EnumNumber(x)
   260  }
   261  
   262  // Deprecated: Use ContainmentType.Descriptor instead.
   263  func (ContainmentType) EnumDescriptor() ([]byte, []int) {
   264  	return file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_rawDescGZIP(), []int{2}
   265  }
   266  
   267  type NullableBool int32
   268  
   269  const (
   270  	NullableBool_NULL  NullableBool = 0
   271  	NullableBool_FALSE NullableBool = 1
   272  	NullableBool_TRUE  NullableBool = 2
   273  )
   274  
   275  // Enum value maps for NullableBool.
   276  var (
   277  	NullableBool_name = map[int32]string{
   278  		0: "NULL",
   279  		1: "FALSE",
   280  		2: "TRUE",
   281  	}
   282  	NullableBool_value = map[string]int32{
   283  		"NULL":  0,
   284  		"FALSE": 1,
   285  		"TRUE":  2,
   286  	}
   287  )
   288  
   289  func (x NullableBool) Enum() *NullableBool {
   290  	p := new(NullableBool)
   291  	*p = x
   292  	return p
   293  }
   294  
   295  func (x NullableBool) String() string {
   296  	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
   297  }
   298  
   299  func (NullableBool) Descriptor() protoreflect.EnumDescriptor {
   300  	return file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_enumTypes[3].Descriptor()
   301  }
   302  
   303  func (NullableBool) Type() protoreflect.EnumType {
   304  	return &file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_enumTypes[3]
   305  }
   306  
   307  func (x NullableBool) Number() protoreflect.EnumNumber {
   308  	return protoreflect.EnumNumber(x)
   309  }
   310  
   311  // Deprecated: Use NullableBool.Descriptor instead.
   312  func (NullableBool) EnumDescriptor() ([]byte, []int) {
   313  	return file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_rawDescGZIP(), []int{3}
   314  }
   315  
   316  // Represents the current task state.
   317  //
   318  // Some states are still mutable: PENDING and RUNNING. The others are final and
   319  // will not change afterward.
   320  //
   321  // A task is guaranteed to be in exactly one state at any point of time.
   322  //
   323  // Do not confuse StateQuery and TaskState. StateQuery is to query tasks
   324  // via the API. TaskState is the current task state.
   325  //
   326  // As you read the following constants, astute readers may wonder why these
   327  // constants look like a bitmask. This is because of historical reasons and this
   328  // is effectively an enum, not a bitmask.
   329  type TaskState int32
   330  
   331  const (
   332  	// Invalid state, do not use.
   333  	TaskState_INVALID TaskState = 0
   334  	// The task is currently running. This is in fact 3 phases: the initial
   335  	// overhead to fetch input files, the actual task running, and the tear down
   336  	// overhead to archive output files to the server.
   337  	TaskState_RUNNING TaskState = 16
   338  	// The task is currently pending. This means that no bot reaped the task. It
   339  	// will stay in this state until either a task reaps it or the expiration
   340  	// elapsed. The task pending expiration is specified as
   341  	// TaskSlice.expiration_secs, one per task slice.
   342  	TaskState_PENDING TaskState = 32
   343  	// The task is not pending anymore, and never ran due to lack of capacity. This
   344  	// means that other higher priority tasks ran instead and that not enough bots
   345  	// were available to run this task for TaskSlice.expiration_secs seconds.
   346  	TaskState_EXPIRED TaskState = 48
   347  	// The task ran for longer than the allowed time in
   348  	// TaskProperties.execution_timeout_secs or TaskProperties.io_timeout_secs.
   349  	// This means the bot forcefully killed the task process as described in the
   350  	// graceful termination dance in the documentation.
   351  	TaskState_TIMED_OUT TaskState = 64
   352  	// The task ran but the bot had an internal failure, unrelated to the task
   353  	// itself. It can be due to the server being unavailable to get task update,
   354  	// the host on which the bot is running crashing or rebooting, etc.
   355  	TaskState_BOT_DIED TaskState = 80
   356  	// The task never ran, and was manually cancelled via the 'cancel' API before
   357  	// it was reaped.
   358  	TaskState_CANCELED TaskState = 96
   359  	// The task ran and completed normally. The task process exit code may be 0 or
   360  	// another value.
   361  	TaskState_COMPLETED TaskState = 112
   362  	// The task ran but was manually killed via the 'cancel' API. This means the
   363  	// bot forcefully killed the task process as described in the graceful
   364  	// termination dance in the documentation.
   365  	TaskState_KILLED TaskState = 128
   366  	// The task was never set to PENDING and was immediately refused, as the server
   367  	// determined that there is no bot capacity to run this task. This happens
   368  	// because no bot exposes a superset of the requested task dimensions.
   369  	//
   370  	// Set TaskSlice.wait_for_capacity to True to force the server to keep the task
   371  	// slice pending even in this case. Generally speaking, the task will
   372  	// eventually switch to EXPIRED, as there's no bot to run it. That said, there
   373  	// are situations where it is known that in some not-too-distant future a wild
   374  	// bot will appear that will be able to run this task.
   375  	TaskState_NO_RESOURCE TaskState = 256
   376  	// The task run into an issue that was caused by the client. It can be due to
   377  	// a bad CIPD or CAS package. Retrying the task with the same parameters will
   378  	// not change the result.
   379  	TaskState_CLIENT_ERROR TaskState = 512
   380  )
   381  
   382  // Enum value maps for TaskState.
   383  var (
   384  	TaskState_name = map[int32]string{
   385  		0:   "INVALID",
   386  		16:  "RUNNING",
   387  		32:  "PENDING",
   388  		48:  "EXPIRED",
   389  		64:  "TIMED_OUT",
   390  		80:  "BOT_DIED",
   391  		96:  "CANCELED",
   392  		112: "COMPLETED",
   393  		128: "KILLED",
   394  		256: "NO_RESOURCE",
   395  		512: "CLIENT_ERROR",
   396  	}
   397  	TaskState_value = map[string]int32{
   398  		"INVALID":      0,
   399  		"RUNNING":      16,
   400  		"PENDING":      32,
   401  		"EXPIRED":      48,
   402  		"TIMED_OUT":    64,
   403  		"BOT_DIED":     80,
   404  		"CANCELED":     96,
   405  		"COMPLETED":    112,
   406  		"KILLED":       128,
   407  		"NO_RESOURCE":  256,
   408  		"CLIENT_ERROR": 512,
   409  	}
   410  )
   411  
   412  func (x TaskState) Enum() *TaskState {
   413  	p := new(TaskState)
   414  	*p = x
   415  	return p
   416  }
   417  
   418  func (x TaskState) String() string {
   419  	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
   420  }
   421  
   422  func (TaskState) Descriptor() protoreflect.EnumDescriptor {
   423  	return file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_enumTypes[4].Descriptor()
   424  }
   425  
   426  func (TaskState) Type() protoreflect.EnumType {
   427  	return &file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_enumTypes[4]
   428  }
   429  
   430  func (x TaskState) Number() protoreflect.EnumNumber {
   431  	return protoreflect.EnumNumber(x)
   432  }
   433  
   434  // Deprecated: Use TaskState.Descriptor instead.
   435  func (TaskState) EnumDescriptor() ([]byte, []int) {
   436  	return file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_rawDescGZIP(), []int{4}
   437  }
   438  
   439  // Controls the application of the pool's TaskTemplate to the creation of this
   440  // task. By default this will automatically select the pool's preference for
   441  // template, but you can also instruct swarming to prefer/prevent the
   442  // application of canary templates, as well as skipping the template
   443  // altogether.
   444  type NewTaskRequest_PoolTaskTemplateField int32
   445  
   446  const (
   447  	NewTaskRequest_AUTO          NewTaskRequest_PoolTaskTemplateField = 0
   448  	NewTaskRequest_CANARY_PREFER NewTaskRequest_PoolTaskTemplateField = 1
   449  	NewTaskRequest_CANARY_NEVER  NewTaskRequest_PoolTaskTemplateField = 2
   450  	NewTaskRequest_SKIP          NewTaskRequest_PoolTaskTemplateField = 3
   451  )
   452  
   453  // Enum value maps for NewTaskRequest_PoolTaskTemplateField.
   454  var (
   455  	NewTaskRequest_PoolTaskTemplateField_name = map[int32]string{
   456  		0: "AUTO",
   457  		1: "CANARY_PREFER",
   458  		2: "CANARY_NEVER",
   459  		3: "SKIP",
   460  	}
   461  	NewTaskRequest_PoolTaskTemplateField_value = map[string]int32{
   462  		"AUTO":          0,
   463  		"CANARY_PREFER": 1,
   464  		"CANARY_NEVER":  2,
   465  		"SKIP":          3,
   466  	}
   467  )
   468  
   469  func (x NewTaskRequest_PoolTaskTemplateField) Enum() *NewTaskRequest_PoolTaskTemplateField {
   470  	p := new(NewTaskRequest_PoolTaskTemplateField)
   471  	*p = x
   472  	return p
   473  }
   474  
   475  func (x NewTaskRequest_PoolTaskTemplateField) String() string {
   476  	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
   477  }
   478  
   479  func (NewTaskRequest_PoolTaskTemplateField) Descriptor() protoreflect.EnumDescriptor {
   480  	return file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_enumTypes[5].Descriptor()
   481  }
   482  
   483  func (NewTaskRequest_PoolTaskTemplateField) Type() protoreflect.EnumType {
   484  	return &file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_enumTypes[5]
   485  }
   486  
   487  func (x NewTaskRequest_PoolTaskTemplateField) Number() protoreflect.EnumNumber {
   488  	return protoreflect.EnumNumber(x)
   489  }
   490  
   491  // Deprecated: Use NewTaskRequest_PoolTaskTemplateField.Descriptor instead.
   492  func (NewTaskRequest_PoolTaskTemplateField) EnumDescriptor() ([]byte, []int) {
   493  	return file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_rawDescGZIP(), []int{16, 0}
   494  }
   495  
   496  // Represents a mapping of string to a string.
   497  //
   498  // If the StringPair is itself repeated inside another message, the list
   499  // must be sorted by key and the keys must be unique.
   500  type StringPair struct {
   501  	state         protoimpl.MessageState
   502  	sizeCache     protoimpl.SizeCache
   503  	unknownFields protoimpl.UnknownFields
   504  
   505  	Key   string `protobuf:"bytes,1,opt,name=key,proto3" json:"key,omitempty"`
   506  	Value string `protobuf:"bytes,2,opt,name=value,proto3" json:"value,omitempty"`
   507  }
   508  
   509  func (x *StringPair) Reset() {
   510  	*x = StringPair{}
   511  	if protoimpl.UnsafeEnabled {
   512  		mi := &file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_msgTypes[0]
   513  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   514  		ms.StoreMessageInfo(mi)
   515  	}
   516  }
   517  
   518  func (x *StringPair) String() string {
   519  	return protoimpl.X.MessageStringOf(x)
   520  }
   521  
   522  func (*StringPair) ProtoMessage() {}
   523  
   524  func (x *StringPair) ProtoReflect() protoreflect.Message {
   525  	mi := &file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_msgTypes[0]
   526  	if protoimpl.UnsafeEnabled && x != nil {
   527  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   528  		if ms.LoadMessageInfo() == nil {
   529  			ms.StoreMessageInfo(mi)
   530  		}
   531  		return ms
   532  	}
   533  	return mi.MessageOf(x)
   534  }
   535  
   536  // Deprecated: Use StringPair.ProtoReflect.Descriptor instead.
   537  func (*StringPair) Descriptor() ([]byte, []int) {
   538  	return file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_rawDescGZIP(), []int{0}
   539  }
   540  
   541  func (x *StringPair) GetKey() string {
   542  	if x != nil {
   543  		return x.Key
   544  	}
   545  	return ""
   546  }
   547  
   548  func (x *StringPair) GetValue() string {
   549  	if x != nil {
   550  		return x.Value
   551  	}
   552  	return ""
   553  }
   554  
   555  // Represents a mapping of string to a list of strings.
   556  //
   557  // If the StringListPair is itself repeated inside another message, the list
   558  // must be sorted by key and the keys must be unique.
   559  type StringListPair struct {
   560  	state         protoimpl.MessageState
   561  	sizeCache     protoimpl.SizeCache
   562  	unknownFields protoimpl.UnknownFields
   563  
   564  	Key string `protobuf:"bytes,1,opt,name=key,proto3" json:"key,omitempty"`
   565  	// All the values for this key. values must be sorted. Human readable.
   566  	//
   567  	// This string should make sense to a user in the context of 'key'.
   568  	Value []string `protobuf:"bytes,2,rep,name=value,proto3" json:"value,omitempty"`
   569  }
   570  
   571  func (x *StringListPair) Reset() {
   572  	*x = StringListPair{}
   573  	if protoimpl.UnsafeEnabled {
   574  		mi := &file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_msgTypes[1]
   575  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   576  		ms.StoreMessageInfo(mi)
   577  	}
   578  }
   579  
   580  func (x *StringListPair) String() string {
   581  	return protoimpl.X.MessageStringOf(x)
   582  }
   583  
   584  func (*StringListPair) ProtoMessage() {}
   585  
   586  func (x *StringListPair) ProtoReflect() protoreflect.Message {
   587  	mi := &file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_msgTypes[1]
   588  	if protoimpl.UnsafeEnabled && x != nil {
   589  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   590  		if ms.LoadMessageInfo() == nil {
   591  			ms.StoreMessageInfo(mi)
   592  		}
   593  		return ms
   594  	}
   595  	return mi.MessageOf(x)
   596  }
   597  
   598  // Deprecated: Use StringListPair.ProtoReflect.Descriptor instead.
   599  func (*StringListPair) Descriptor() ([]byte, []int) {
   600  	return file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_rawDescGZIP(), []int{1}
   601  }
   602  
   603  func (x *StringListPair) GetKey() string {
   604  	if x != nil {
   605  		return x.Key
   606  	}
   607  	return ""
   608  }
   609  
   610  func (x *StringListPair) GetValue() []string {
   611  	if x != nil {
   612  		return x.Value
   613  	}
   614  	return nil
   615  }
   616  
   617  // Public details about the server.
   618  type ServerDetails struct {
   619  	state         protoimpl.MessageState
   620  	sizeCache     protoimpl.SizeCache
   621  	unknownFields protoimpl.UnknownFields
   622  
   623  	ServerVersion string `protobuf:"bytes,1,opt,name=server_version,json=serverVersion,proto3" json:"server_version,omitempty"`
   624  	BotVersion    string `protobuf:"bytes,2,opt,name=bot_version,json=botVersion,proto3" json:"bot_version,omitempty"`
   625  	// Deprecated: Marked as deprecated in go.chromium.org/luci/swarming/proto/api_v2/swarming.proto.
   626  	MachineProviderTemplate  string `protobuf:"bytes,3,opt,name=machine_provider_template,json=machineProviderTemplate,proto3" json:"machine_provider_template,omitempty"`
   627  	DisplayServerUrlTemplate string `protobuf:"bytes,4,opt,name=display_server_url_template,json=displayServerUrlTemplate,proto3" json:"display_server_url_template,omitempty"`
   628  	// Deprecated: Marked as deprecated in go.chromium.org/luci/swarming/proto/api_v2/swarming.proto.
   629  	LuciConfig      string `protobuf:"bytes,5,opt,name=luci_config,json=luciConfig,proto3" json:"luci_config,omitempty"`
   630  	CasViewerServer string `protobuf:"bytes,6,opt,name=cas_viewer_server,json=casViewerServer,proto3" json:"cas_viewer_server,omitempty"`
   631  }
   632  
   633  func (x *ServerDetails) Reset() {
   634  	*x = ServerDetails{}
   635  	if protoimpl.UnsafeEnabled {
   636  		mi := &file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_msgTypes[2]
   637  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   638  		ms.StoreMessageInfo(mi)
   639  	}
   640  }
   641  
   642  func (x *ServerDetails) String() string {
   643  	return protoimpl.X.MessageStringOf(x)
   644  }
   645  
   646  func (*ServerDetails) ProtoMessage() {}
   647  
   648  func (x *ServerDetails) ProtoReflect() protoreflect.Message {
   649  	mi := &file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_msgTypes[2]
   650  	if protoimpl.UnsafeEnabled && x != nil {
   651  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   652  		if ms.LoadMessageInfo() == nil {
   653  			ms.StoreMessageInfo(mi)
   654  		}
   655  		return ms
   656  	}
   657  	return mi.MessageOf(x)
   658  }
   659  
   660  // Deprecated: Use ServerDetails.ProtoReflect.Descriptor instead.
   661  func (*ServerDetails) Descriptor() ([]byte, []int) {
   662  	return file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_rawDescGZIP(), []int{2}
   663  }
   664  
   665  func (x *ServerDetails) GetServerVersion() string {
   666  	if x != nil {
   667  		return x.ServerVersion
   668  	}
   669  	return ""
   670  }
   671  
   672  func (x *ServerDetails) GetBotVersion() string {
   673  	if x != nil {
   674  		return x.BotVersion
   675  	}
   676  	return ""
   677  }
   678  
   679  // Deprecated: Marked as deprecated in go.chromium.org/luci/swarming/proto/api_v2/swarming.proto.
   680  func (x *ServerDetails) GetMachineProviderTemplate() string {
   681  	if x != nil {
   682  		return x.MachineProviderTemplate
   683  	}
   684  	return ""
   685  }
   686  
   687  func (x *ServerDetails) GetDisplayServerUrlTemplate() string {
   688  	if x != nil {
   689  		return x.DisplayServerUrlTemplate
   690  	}
   691  	return ""
   692  }
   693  
   694  // Deprecated: Marked as deprecated in go.chromium.org/luci/swarming/proto/api_v2/swarming.proto.
   695  func (x *ServerDetails) GetLuciConfig() string {
   696  	if x != nil {
   697  		return x.LuciConfig
   698  	}
   699  	return ""
   700  }
   701  
   702  func (x *ServerDetails) GetCasViewerServer() string {
   703  	if x != nil {
   704  		return x.CasViewerServer
   705  	}
   706  	return ""
   707  }
   708  
   709  // An opaque token that can be used to bootstrap a new bot.
   710  type BootstrapToken struct {
   711  	state         protoimpl.MessageState
   712  	sizeCache     protoimpl.SizeCache
   713  	unknownFields protoimpl.UnknownFields
   714  
   715  	BootstrapToken string `protobuf:"bytes,1,opt,name=bootstrap_token,json=bootstrapToken,proto3" json:"bootstrap_token,omitempty"`
   716  }
   717  
   718  func (x *BootstrapToken) Reset() {
   719  	*x = BootstrapToken{}
   720  	if protoimpl.UnsafeEnabled {
   721  		mi := &file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_msgTypes[3]
   722  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   723  		ms.StoreMessageInfo(mi)
   724  	}
   725  }
   726  
   727  func (x *BootstrapToken) String() string {
   728  	return protoimpl.X.MessageStringOf(x)
   729  }
   730  
   731  func (*BootstrapToken) ProtoMessage() {}
   732  
   733  func (x *BootstrapToken) ProtoReflect() protoreflect.Message {
   734  	mi := &file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_msgTypes[3]
   735  	if protoimpl.UnsafeEnabled && x != nil {
   736  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   737  		if ms.LoadMessageInfo() == nil {
   738  			ms.StoreMessageInfo(mi)
   739  		}
   740  		return ms
   741  	}
   742  	return mi.MessageOf(x)
   743  }
   744  
   745  // Deprecated: Use BootstrapToken.ProtoReflect.Descriptor instead.
   746  func (*BootstrapToken) Descriptor() ([]byte, []int) {
   747  	return file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_rawDescGZIP(), []int{3}
   748  }
   749  
   750  func (x *BootstrapToken) GetBootstrapToken() string {
   751  	if x != nil {
   752  		return x.BootstrapToken
   753  	}
   754  	return ""
   755  }
   756  
   757  // Actions the caller is permitted to perform over a resource.
   758  //
   759  // The subject of an action is either a bot, a task or a bunch of pools, as
   760  // specified in the PermissionsRequest message. Pools as specified indirectly
   761  // via "pool:<name>" tags.
   762  //
   763  // This methods exists primarily to be used by the Web UI e.g. to hide
   764  // inaccessible elements.
   765  type ClientPermissions struct {
   766  	state         protoimpl.MessageState
   767  	sizeCache     protoimpl.SizeCache
   768  	unknownFields protoimpl.UnknownFields
   769  
   770  	// True if allowed to delete the specified bot.
   771  	DeleteBot bool `protobuf:"varint,1,opt,name=delete_bot,json=deleteBot,proto3" json:"delete_bot,omitempty"`
   772  	// True if allowed to delete bots in all specified pools.
   773  	DeleteBots bool `protobuf:"varint,2,opt,name=delete_bots,json=deleteBots,proto3" json:"delete_bots,omitempty"`
   774  	// True if allowed to terminate the specified bot.
   775  	TerminateBot bool `protobuf:"varint,3,opt,name=terminate_bot,json=terminateBot,proto3" json:"terminate_bot,omitempty"`
   776  	// Not used, always false.
   777  	//
   778  	// Deprecated: Marked as deprecated in go.chromium.org/luci/swarming/proto/api_v2/swarming.proto.
   779  	GetConfigs bool `protobuf:"varint,4,opt,name=get_configs,json=getConfigs,proto3" json:"get_configs,omitempty"`
   780  	// Not used, always false.
   781  	//
   782  	// Deprecated: Marked as deprecated in go.chromium.org/luci/swarming/proto/api_v2/swarming.proto.
   783  	PutConfigs bool `protobuf:"varint,5,opt,name=put_configs,json=putConfigs,proto3" json:"put_configs,omitempty"`
   784  	// True if allowed to cancel the specified task.
   785  	CancelTask bool `protobuf:"varint,6,opt,name=cancel_task,json=cancelTask,proto3" json:"cancel_task,omitempty"`
   786  	// True if allowed to request a bot bootstrap token.
   787  	GetBootstrapToken bool `protobuf:"varint,7,opt,name=get_bootstrap_token,json=getBootstrapToken,proto3" json:"get_bootstrap_token,omitempty"`
   788  	// True if allowed to cancel tasks in all specified pools.
   789  	CancelTasks bool `protobuf:"varint,8,opt,name=cancel_tasks,json=cancelTasks,proto3" json:"cancel_tasks,omitempty"`
   790  	// All known pools in which the caller is permitted to list all bots.
   791  	ListBots []string `protobuf:"bytes,9,rep,name=list_bots,json=listBots,proto3" json:"list_bots,omitempty"`
   792  	// All known pools in which the caller is permitted to list all tasks.
   793  	ListTasks []string `protobuf:"bytes,10,rep,name=list_tasks,json=listTasks,proto3" json:"list_tasks,omitempty"`
   794  }
   795  
   796  func (x *ClientPermissions) Reset() {
   797  	*x = ClientPermissions{}
   798  	if protoimpl.UnsafeEnabled {
   799  		mi := &file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_msgTypes[4]
   800  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   801  		ms.StoreMessageInfo(mi)
   802  	}
   803  }
   804  
   805  func (x *ClientPermissions) String() string {
   806  	return protoimpl.X.MessageStringOf(x)
   807  }
   808  
   809  func (*ClientPermissions) ProtoMessage() {}
   810  
   811  func (x *ClientPermissions) ProtoReflect() protoreflect.Message {
   812  	mi := &file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_msgTypes[4]
   813  	if protoimpl.UnsafeEnabled && x != nil {
   814  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   815  		if ms.LoadMessageInfo() == nil {
   816  			ms.StoreMessageInfo(mi)
   817  		}
   818  		return ms
   819  	}
   820  	return mi.MessageOf(x)
   821  }
   822  
   823  // Deprecated: Use ClientPermissions.ProtoReflect.Descriptor instead.
   824  func (*ClientPermissions) Descriptor() ([]byte, []int) {
   825  	return file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_rawDescGZIP(), []int{4}
   826  }
   827  
   828  func (x *ClientPermissions) GetDeleteBot() bool {
   829  	if x != nil {
   830  		return x.DeleteBot
   831  	}
   832  	return false
   833  }
   834  
   835  func (x *ClientPermissions) GetDeleteBots() bool {
   836  	if x != nil {
   837  		return x.DeleteBots
   838  	}
   839  	return false
   840  }
   841  
   842  func (x *ClientPermissions) GetTerminateBot() bool {
   843  	if x != nil {
   844  		return x.TerminateBot
   845  	}
   846  	return false
   847  }
   848  
   849  // Deprecated: Marked as deprecated in go.chromium.org/luci/swarming/proto/api_v2/swarming.proto.
   850  func (x *ClientPermissions) GetGetConfigs() bool {
   851  	if x != nil {
   852  		return x.GetConfigs
   853  	}
   854  	return false
   855  }
   856  
   857  // Deprecated: Marked as deprecated in go.chromium.org/luci/swarming/proto/api_v2/swarming.proto.
   858  func (x *ClientPermissions) GetPutConfigs() bool {
   859  	if x != nil {
   860  		return x.PutConfigs
   861  	}
   862  	return false
   863  }
   864  
   865  func (x *ClientPermissions) GetCancelTask() bool {
   866  	if x != nil {
   867  		return x.CancelTask
   868  	}
   869  	return false
   870  }
   871  
   872  func (x *ClientPermissions) GetGetBootstrapToken() bool {
   873  	if x != nil {
   874  		return x.GetBootstrapToken
   875  	}
   876  	return false
   877  }
   878  
   879  func (x *ClientPermissions) GetCancelTasks() bool {
   880  	if x != nil {
   881  		return x.CancelTasks
   882  	}
   883  	return false
   884  }
   885  
   886  func (x *ClientPermissions) GetListBots() []string {
   887  	if x != nil {
   888  		return x.ListBots
   889  	}
   890  	return nil
   891  }
   892  
   893  func (x *ClientPermissions) GetListTasks() []string {
   894  	if x != nil {
   895  		return x.ListTasks
   896  	}
   897  	return nil
   898  }
   899  
   900  // This is a [Digest][build.bazel.remote.execution.v2.Digest] of a blob on
   901  // RBE-CAS. See the explanations at the original definition.
   902  // pylint: disable=line-too-long
   903  // https://github.com/bazelbuild/remote-apis/blob/77cfb44a88577a7ade5dd2400425f6d50469ec6d/build/bazel/remote/execution/v2/remote_execution.proto#L753-L791
   904  type Digest struct {
   905  	state         protoimpl.MessageState
   906  	sizeCache     protoimpl.SizeCache
   907  	unknownFields protoimpl.UnknownFields
   908  
   909  	Hash      string `protobuf:"bytes,1,opt,name=hash,proto3" json:"hash,omitempty"`
   910  	SizeBytes int64  `protobuf:"varint,2,opt,name=size_bytes,json=sizeBytes,proto3" json:"size_bytes,omitempty"`
   911  }
   912  
   913  func (x *Digest) Reset() {
   914  	*x = Digest{}
   915  	if protoimpl.UnsafeEnabled {
   916  		mi := &file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_msgTypes[5]
   917  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   918  		ms.StoreMessageInfo(mi)
   919  	}
   920  }
   921  
   922  func (x *Digest) String() string {
   923  	return protoimpl.X.MessageStringOf(x)
   924  }
   925  
   926  func (*Digest) ProtoMessage() {}
   927  
   928  func (x *Digest) ProtoReflect() protoreflect.Message {
   929  	mi := &file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_msgTypes[5]
   930  	if protoimpl.UnsafeEnabled && x != nil {
   931  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   932  		if ms.LoadMessageInfo() == nil {
   933  			ms.StoreMessageInfo(mi)
   934  		}
   935  		return ms
   936  	}
   937  	return mi.MessageOf(x)
   938  }
   939  
   940  // Deprecated: Use Digest.ProtoReflect.Descriptor instead.
   941  func (*Digest) Descriptor() ([]byte, []int) {
   942  	return file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_rawDescGZIP(), []int{5}
   943  }
   944  
   945  func (x *Digest) GetHash() string {
   946  	if x != nil {
   947  		return x.Hash
   948  	}
   949  	return ""
   950  }
   951  
   952  func (x *Digest) GetSizeBytes() int64 {
   953  	if x != nil {
   954  		return x.SizeBytes
   955  	}
   956  	return 0
   957  }
   958  
   959  type CASReference struct {
   960  	state         protoimpl.MessageState
   961  	sizeCache     protoimpl.SizeCache
   962  	unknownFields protoimpl.UnknownFields
   963  
   964  	// Full name of RBE-CAS instance. `projects/{project_id}/instances/{instance}`.
   965  	// e.g. projects/chromium-swarm/instances/default_instance
   966  	CasInstance string `protobuf:"bytes,1,opt,name=cas_instance,json=casInstance,proto3" json:"cas_instance,omitempty"`
   967  	// CAS Digest consists of hash and size bytes.
   968  	Digest *Digest `protobuf:"bytes,2,opt,name=digest,proto3" json:"digest,omitempty"`
   969  }
   970  
   971  func (x *CASReference) Reset() {
   972  	*x = CASReference{}
   973  	if protoimpl.UnsafeEnabled {
   974  		mi := &file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_msgTypes[6]
   975  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   976  		ms.StoreMessageInfo(mi)
   977  	}
   978  }
   979  
   980  func (x *CASReference) String() string {
   981  	return protoimpl.X.MessageStringOf(x)
   982  }
   983  
   984  func (*CASReference) ProtoMessage() {}
   985  
   986  func (x *CASReference) ProtoReflect() protoreflect.Message {
   987  	mi := &file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_msgTypes[6]
   988  	if protoimpl.UnsafeEnabled && x != nil {
   989  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   990  		if ms.LoadMessageInfo() == nil {
   991  			ms.StoreMessageInfo(mi)
   992  		}
   993  		return ms
   994  	}
   995  	return mi.MessageOf(x)
   996  }
   997  
   998  // Deprecated: Use CASReference.ProtoReflect.Descriptor instead.
   999  func (*CASReference) Descriptor() ([]byte, []int) {
  1000  	return file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_rawDescGZIP(), []int{6}
  1001  }
  1002  
  1003  func (x *CASReference) GetCasInstance() string {
  1004  	if x != nil {
  1005  		return x.CasInstance
  1006  	}
  1007  	return ""
  1008  }
  1009  
  1010  func (x *CASReference) GetDigest() *Digest {
  1011  	if x != nil {
  1012  		return x.Digest
  1013  	}
  1014  	return nil
  1015  }
  1016  
  1017  type CipdPackage struct {
  1018  	state         protoimpl.MessageState
  1019  	sizeCache     protoimpl.SizeCache
  1020  	unknownFields protoimpl.UnknownFields
  1021  
  1022  	// A CIPD package to install in the run dir before task execution."""
  1023  	// A template of a full CIPD package name, e.g.
  1024  	// "infra/tools/authutil/${platform}"
  1025  	// See also cipd.ALL_PARAMS.
  1026  	PackageName string `protobuf:"bytes,1,opt,name=package_name,json=packageName,proto3" json:"package_name,omitempty"`
  1027  	// Valid package version for all packages matched by package name.
  1028  	Version string `protobuf:"bytes,2,opt,name=version,proto3" json:"version,omitempty"`
  1029  	// Path to dir, relative to the root dir, where to install the package.
  1030  	// If empty, the package will be installed a the root of the mapped directory.
  1031  	// If file names in the package and in the isolate clash, it will cause a
  1032  	// failure.
  1033  	Path string `protobuf:"bytes,3,opt,name=path,proto3" json:"path,omitempty"`
  1034  }
  1035  
  1036  func (x *CipdPackage) Reset() {
  1037  	*x = CipdPackage{}
  1038  	if protoimpl.UnsafeEnabled {
  1039  		mi := &file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_msgTypes[7]
  1040  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1041  		ms.StoreMessageInfo(mi)
  1042  	}
  1043  }
  1044  
  1045  func (x *CipdPackage) String() string {
  1046  	return protoimpl.X.MessageStringOf(x)
  1047  }
  1048  
  1049  func (*CipdPackage) ProtoMessage() {}
  1050  
  1051  func (x *CipdPackage) ProtoReflect() protoreflect.Message {
  1052  	mi := &file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_msgTypes[7]
  1053  	if protoimpl.UnsafeEnabled && x != nil {
  1054  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1055  		if ms.LoadMessageInfo() == nil {
  1056  			ms.StoreMessageInfo(mi)
  1057  		}
  1058  		return ms
  1059  	}
  1060  	return mi.MessageOf(x)
  1061  }
  1062  
  1063  // Deprecated: Use CipdPackage.ProtoReflect.Descriptor instead.
  1064  func (*CipdPackage) Descriptor() ([]byte, []int) {
  1065  	return file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_rawDescGZIP(), []int{7}
  1066  }
  1067  
  1068  func (x *CipdPackage) GetPackageName() string {
  1069  	if x != nil {
  1070  		return x.PackageName
  1071  	}
  1072  	return ""
  1073  }
  1074  
  1075  func (x *CipdPackage) GetVersion() string {
  1076  	if x != nil {
  1077  		return x.Version
  1078  	}
  1079  	return ""
  1080  }
  1081  
  1082  func (x *CipdPackage) GetPath() string {
  1083  	if x != nil {
  1084  		return x.Path
  1085  	}
  1086  	return ""
  1087  }
  1088  
  1089  // Defines CIPD packages to install in task run directory.
  1090  type CipdInput struct {
  1091  	state         protoimpl.MessageState
  1092  	sizeCache     protoimpl.SizeCache
  1093  	unknownFields protoimpl.UnknownFields
  1094  
  1095  	// URL of the CIPD server. Must start with "https://" or "http://".
  1096  	// This field or its subfields are optional if default cipd client is defined
  1097  	// in the server config.
  1098  	Server string `protobuf:"bytes,1,opt,name=server,proto3" json:"server,omitempty"`
  1099  	// CIPD package of CIPD client to use.
  1100  	// client_package.version is required.
  1101  	// This field is optional is default value is defined in the server config.
  1102  	// client_package.path must be empty.
  1103  	ClientPackage *CipdPackage `protobuf:"bytes,2,opt,name=client_package,json=clientPackage,proto3" json:"client_package,omitempty"`
  1104  	// List of CIPD packages to install.
  1105  	Packages []*CipdPackage `protobuf:"bytes,3,rep,name=packages,proto3" json:"packages,omitempty"`
  1106  }
  1107  
  1108  func (x *CipdInput) Reset() {
  1109  	*x = CipdInput{}
  1110  	if protoimpl.UnsafeEnabled {
  1111  		mi := &file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_msgTypes[8]
  1112  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1113  		ms.StoreMessageInfo(mi)
  1114  	}
  1115  }
  1116  
  1117  func (x *CipdInput) String() string {
  1118  	return protoimpl.X.MessageStringOf(x)
  1119  }
  1120  
  1121  func (*CipdInput) ProtoMessage() {}
  1122  
  1123  func (x *CipdInput) ProtoReflect() protoreflect.Message {
  1124  	mi := &file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_msgTypes[8]
  1125  	if protoimpl.UnsafeEnabled && x != nil {
  1126  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1127  		if ms.LoadMessageInfo() == nil {
  1128  			ms.StoreMessageInfo(mi)
  1129  		}
  1130  		return ms
  1131  	}
  1132  	return mi.MessageOf(x)
  1133  }
  1134  
  1135  // Deprecated: Use CipdInput.ProtoReflect.Descriptor instead.
  1136  func (*CipdInput) Descriptor() ([]byte, []int) {
  1137  	return file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_rawDescGZIP(), []int{8}
  1138  }
  1139  
  1140  func (x *CipdInput) GetServer() string {
  1141  	if x != nil {
  1142  		return x.Server
  1143  	}
  1144  	return ""
  1145  }
  1146  
  1147  func (x *CipdInput) GetClientPackage() *CipdPackage {
  1148  	if x != nil {
  1149  		return x.ClientPackage
  1150  	}
  1151  	return nil
  1152  }
  1153  
  1154  func (x *CipdInput) GetPackages() []*CipdPackage {
  1155  	if x != nil {
  1156  		return x.Packages
  1157  	}
  1158  	return nil
  1159  }
  1160  
  1161  // Defines pinned CIPD packages that were installed during the task.
  1162  type CipdPins struct {
  1163  	state         protoimpl.MessageState
  1164  	sizeCache     protoimpl.SizeCache
  1165  	unknownFields protoimpl.UnknownFields
  1166  
  1167  	// The pinned package + version of the CIPD client that was actually used.
  1168  	ClientPackage *CipdPackage `protobuf:"bytes,1,opt,name=client_package,json=clientPackage,proto3" json:"client_package,omitempty"`
  1169  	// List of CIPD packages that were installed in the task with fully resolved
  1170  	// package names and versions.
  1171  	Packages []*CipdPackage `protobuf:"bytes,2,rep,name=packages,proto3" json:"packages,omitempty"`
  1172  }
  1173  
  1174  func (x *CipdPins) Reset() {
  1175  	*x = CipdPins{}
  1176  	if protoimpl.UnsafeEnabled {
  1177  		mi := &file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_msgTypes[9]
  1178  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1179  		ms.StoreMessageInfo(mi)
  1180  	}
  1181  }
  1182  
  1183  func (x *CipdPins) String() string {
  1184  	return protoimpl.X.MessageStringOf(x)
  1185  }
  1186  
  1187  func (*CipdPins) ProtoMessage() {}
  1188  
  1189  func (x *CipdPins) ProtoReflect() protoreflect.Message {
  1190  	mi := &file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_msgTypes[9]
  1191  	if protoimpl.UnsafeEnabled && x != nil {
  1192  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1193  		if ms.LoadMessageInfo() == nil {
  1194  			ms.StoreMessageInfo(mi)
  1195  		}
  1196  		return ms
  1197  	}
  1198  	return mi.MessageOf(x)
  1199  }
  1200  
  1201  // Deprecated: Use CipdPins.ProtoReflect.Descriptor instead.
  1202  func (*CipdPins) Descriptor() ([]byte, []int) {
  1203  	return file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_rawDescGZIP(), []int{9}
  1204  }
  1205  
  1206  func (x *CipdPins) GetClientPackage() *CipdPackage {
  1207  	if x != nil {
  1208  		return x.ClientPackage
  1209  	}
  1210  	return nil
  1211  }
  1212  
  1213  func (x *CipdPins) GetPackages() []*CipdPackage {
  1214  	if x != nil {
  1215  		return x.Packages
  1216  	}
  1217  	return nil
  1218  }
  1219  
  1220  // Describes a named cache that should be present on the bot.
  1221  //
  1222  // A CacheEntry in a task specified that the task prefers the cache to be present
  1223  // on the bot. A symlink to the cache directory is created at <run_dir>/|path|.
  1224  // If cache is not present on the machine, the directory is empty.
  1225  // If the tasks makes any changes to the contents of the cache directory, they
  1226  // are persisted on the machine. If another task runs on the same machine and
  1227  // requests the same named cache, even if mapped to a different path, it will see
  1228  // the changes.
  1229  type CacheEntry struct {
  1230  	state         protoimpl.MessageState
  1231  	sizeCache     protoimpl.SizeCache
  1232  	unknownFields protoimpl.UnknownFields
  1233  
  1234  	// Unique name of the cache. Required. Length is limited to 4096.
  1235  	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
  1236  	// Relative path to the directory that will be linked to the named cache.
  1237  	// Required.
  1238  	// A path cannot be shared among multiple caches or CIPD installations.
  1239  	// A task will fail if a file/dir with the same name already exists.
  1240  	Path string `protobuf:"bytes,2,opt,name=path,proto3" json:"path,omitempty"`
  1241  }
  1242  
  1243  func (x *CacheEntry) Reset() {
  1244  	*x = CacheEntry{}
  1245  	if protoimpl.UnsafeEnabled {
  1246  		mi := &file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_msgTypes[10]
  1247  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1248  		ms.StoreMessageInfo(mi)
  1249  	}
  1250  }
  1251  
  1252  func (x *CacheEntry) String() string {
  1253  	return protoimpl.X.MessageStringOf(x)
  1254  }
  1255  
  1256  func (*CacheEntry) ProtoMessage() {}
  1257  
  1258  func (x *CacheEntry) ProtoReflect() protoreflect.Message {
  1259  	mi := &file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_msgTypes[10]
  1260  	if protoimpl.UnsafeEnabled && x != nil {
  1261  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1262  		if ms.LoadMessageInfo() == nil {
  1263  			ms.StoreMessageInfo(mi)
  1264  		}
  1265  		return ms
  1266  	}
  1267  	return mi.MessageOf(x)
  1268  }
  1269  
  1270  // Deprecated: Use CacheEntry.ProtoReflect.Descriptor instead.
  1271  func (*CacheEntry) Descriptor() ([]byte, []int) {
  1272  	return file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_rawDescGZIP(), []int{10}
  1273  }
  1274  
  1275  func (x *CacheEntry) GetName() string {
  1276  	if x != nil {
  1277  		return x.Name
  1278  	}
  1279  	return ""
  1280  }
  1281  
  1282  func (x *CacheEntry) GetPath() string {
  1283  	if x != nil {
  1284  		return x.Path
  1285  	}
  1286  	return ""
  1287  }
  1288  
  1289  type Containment struct {
  1290  	state         protoimpl.MessageState
  1291  	sizeCache     protoimpl.SizeCache
  1292  	unknownFields protoimpl.UnknownFields
  1293  
  1294  	ContainmentType ContainmentType `protobuf:"varint,1,opt,name=containment_type,json=containmentType,proto3,enum=swarming.v2.ContainmentType" json:"containment_type,omitempty"`
  1295  }
  1296  
  1297  func (x *Containment) Reset() {
  1298  	*x = Containment{}
  1299  	if protoimpl.UnsafeEnabled {
  1300  		mi := &file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_msgTypes[11]
  1301  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1302  		ms.StoreMessageInfo(mi)
  1303  	}
  1304  }
  1305  
  1306  func (x *Containment) String() string {
  1307  	return protoimpl.X.MessageStringOf(x)
  1308  }
  1309  
  1310  func (*Containment) ProtoMessage() {}
  1311  
  1312  func (x *Containment) ProtoReflect() protoreflect.Message {
  1313  	mi := &file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_msgTypes[11]
  1314  	if protoimpl.UnsafeEnabled && x != nil {
  1315  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1316  		if ms.LoadMessageInfo() == nil {
  1317  			ms.StoreMessageInfo(mi)
  1318  		}
  1319  		return ms
  1320  	}
  1321  	return mi.MessageOf(x)
  1322  }
  1323  
  1324  // Deprecated: Use Containment.ProtoReflect.Descriptor instead.
  1325  func (*Containment) Descriptor() ([]byte, []int) {
  1326  	return file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_rawDescGZIP(), []int{11}
  1327  }
  1328  
  1329  func (x *Containment) GetContainmentType() ContainmentType {
  1330  	if x != nil {
  1331  		return x.ContainmentType
  1332  	}
  1333  	return ContainmentType_NOT_SPECIFIED
  1334  }
  1335  
  1336  // Important metadata about a particular task.
  1337  type TaskProperties struct {
  1338  	state         protoimpl.MessageState
  1339  	sizeCache     protoimpl.SizeCache
  1340  	unknownFields protoimpl.UnknownFields
  1341  
  1342  	// Specifies named caches to map into the working directory. These caches
  1343  	// outlives the task, which can then be reused by tasks later used on this bot
  1344  	// that request the same named cache.
  1345  	Caches []*CacheEntry `protobuf:"bytes,1,rep,name=caches,proto3" json:"caches,omitempty"`
  1346  	// CIPD packages to install. These packages are meant to be software that is
  1347  	// needed (a dependency) to the task being run. Unlike isolated files, the CIPD
  1348  	// packages do not expire from the server.
  1349  	CipdInput *CipdInput `protobuf:"bytes,2,opt,name=cipd_input,json=cipdInput,proto3" json:"cipd_input,omitempty"`
  1350  	// Command to run. This has priority over a command specified in the isolated
  1351  	// files.
  1352  	Command []string `protobuf:"bytes,3,rep,name=command,proto3" json:"command,omitempty"`
  1353  	// Relative working directory to start the 'command' in, defaults to the root
  1354  	// mapped directory or what is provided in the isolated file, if any.
  1355  	RelativeCwd string `protobuf:"bytes,4,opt,name=relative_cwd,json=relativeCwd,proto3" json:"relative_cwd,omitempty"`
  1356  	// Dimensions are what is used to determine which bot can run the task. The
  1357  	// bot must have all the matching dimensions, even for repeated keys with
  1358  	// multiple different values. It is a logical AND, all values must match.
  1359  	//
  1360  	// It should have been a StringListPair but this would be a breaking change.
  1361  	Dimensions []*StringPair `protobuf:"bytes,5,rep,name=dimensions,proto3" json:"dimensions,omitempty"`
  1362  	// Environment variables to set when running the task.
  1363  	Env []*StringPair `protobuf:"bytes,6,rep,name=env,proto3" json:"env,omitempty"`
  1364  	// Swarming-root relative paths to prepend to a given environment variable.
  1365  	//
  1366  	// These allow you to put certain subdirectories of the task into PATH,
  1367  	// PYTHONPATH, or other PATH-like environment variables. The order of
  1368  	// operations is:
  1369  	//   - Turn slashes into native-platform slashes.
  1370  	//   - Make the path absolute
  1371  	//   - Prepend it to the current value of the envvar using the os-native list
  1372  	//     separator (i.e. `;` on windows, `:` on POSIX).
  1373  	//
  1374  	// Each envvar can have multiple paths to prepend. They will be prepended in
  1375  	// the order seen here.
  1376  	//
  1377  	// For example, if env_prefixes was:
  1378  	//
  1379  	//	[("PATH", ["foo", "bar"]),
  1380  	//	 ("CUSTOMPATH", ["custom"])]
  1381  	//
  1382  	// The task would see:
  1383  	//
  1384  	//	PATH=/path/to/swarming/rundir/foo:/path/to/swarming/rundir/bar:$PATH
  1385  	//	CUSTOMPATH=/path/to/swarming/rundir/custom
  1386  	//
  1387  	// The path should always be specified here with forward-slashes, and it must
  1388  	// not attempt to escape the swarming root (i.e. must not contain `..`).
  1389  	//
  1390  	// These are applied AFTER evaluating `env` entries.
  1391  	EnvPrefixes []*StringListPair `protobuf:"bytes,7,rep,name=env_prefixes,json=envPrefixes,proto3" json:"env_prefixes,omitempty"`
  1392  	// Maximum number of seconds the task can run before its process is forcibly
  1393  	// terminated and the task results in TIMED_OUT.
  1394  	ExecutionTimeoutSecs int32 `protobuf:"varint,8,opt,name=execution_timeout_secs,json=executionTimeoutSecs,proto3" json:"execution_timeout_secs,omitempty"`
  1395  	// Number of second to give the child process after a SIGTERM before sending a
  1396  	// SIGKILL. See doc/Bot.md#timeout-handling
  1397  	GracePeriodSecs int32 `protobuf:"varint,9,opt,name=grace_period_secs,json=gracePeriodSecs,proto3" json:"grace_period_secs,omitempty"`
  1398  	// True if the task does not access any service through the network and is
  1399  	// believed to be 100% reproducible with the same outcome. In the case of a
  1400  	// successful task, previous results will be reused if possible.
  1401  	Idempotent bool `protobuf:"varint,10,opt,name=idempotent,proto3" json:"idempotent,omitempty"`
  1402  	// Digest of the input root uploaded to RBE-CAS.
  1403  	// This MUST be digest of [build.bazel.remote.execution.v2.Directory].
  1404  	CasInputRoot *CASReference `protobuf:"bytes,11,opt,name=cas_input_root,json=casInputRoot,proto3" json:"cas_input_root,omitempty"`
  1405  	// Maximum number of seconds the task may be silent (no output to stdout nor
  1406  	// stderr) before it is considered hung and it forcibly terminated early and
  1407  	// the task results in TIMED_OUT.
  1408  	IoTimeoutSecs int32 `protobuf:"varint,12,opt,name=io_timeout_secs,json=ioTimeoutSecs,proto3" json:"io_timeout_secs,omitempty"`
  1409  	// Paths in the working directory to archive back.
  1410  	Outputs []string `protobuf:"bytes,13,rep,name=outputs,proto3" json:"outputs,omitempty"`
  1411  	// Secret bytes to provide to the task. Cannot be retrieved back.
  1412  	SecretBytes []byte `protobuf:"bytes,14,opt,name=secret_bytes,json=secretBytes,proto3" json:"secret_bytes,omitempty"`
  1413  	// Containment of the task processes.
  1414  	Containment *Containment `protobuf:"bytes,15,opt,name=containment,proto3" json:"containment,omitempty"`
  1415  }
  1416  
  1417  func (x *TaskProperties) Reset() {
  1418  	*x = TaskProperties{}
  1419  	if protoimpl.UnsafeEnabled {
  1420  		mi := &file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_msgTypes[12]
  1421  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1422  		ms.StoreMessageInfo(mi)
  1423  	}
  1424  }
  1425  
  1426  func (x *TaskProperties) String() string {
  1427  	return protoimpl.X.MessageStringOf(x)
  1428  }
  1429  
  1430  func (*TaskProperties) ProtoMessage() {}
  1431  
  1432  func (x *TaskProperties) ProtoReflect() protoreflect.Message {
  1433  	mi := &file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_msgTypes[12]
  1434  	if protoimpl.UnsafeEnabled && x != nil {
  1435  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1436  		if ms.LoadMessageInfo() == nil {
  1437  			ms.StoreMessageInfo(mi)
  1438  		}
  1439  		return ms
  1440  	}
  1441  	return mi.MessageOf(x)
  1442  }
  1443  
  1444  // Deprecated: Use TaskProperties.ProtoReflect.Descriptor instead.
  1445  func (*TaskProperties) Descriptor() ([]byte, []int) {
  1446  	return file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_rawDescGZIP(), []int{12}
  1447  }
  1448  
  1449  func (x *TaskProperties) GetCaches() []*CacheEntry {
  1450  	if x != nil {
  1451  		return x.Caches
  1452  	}
  1453  	return nil
  1454  }
  1455  
  1456  func (x *TaskProperties) GetCipdInput() *CipdInput {
  1457  	if x != nil {
  1458  		return x.CipdInput
  1459  	}
  1460  	return nil
  1461  }
  1462  
  1463  func (x *TaskProperties) GetCommand() []string {
  1464  	if x != nil {
  1465  		return x.Command
  1466  	}
  1467  	return nil
  1468  }
  1469  
  1470  func (x *TaskProperties) GetRelativeCwd() string {
  1471  	if x != nil {
  1472  		return x.RelativeCwd
  1473  	}
  1474  	return ""
  1475  }
  1476  
  1477  func (x *TaskProperties) GetDimensions() []*StringPair {
  1478  	if x != nil {
  1479  		return x.Dimensions
  1480  	}
  1481  	return nil
  1482  }
  1483  
  1484  func (x *TaskProperties) GetEnv() []*StringPair {
  1485  	if x != nil {
  1486  		return x.Env
  1487  	}
  1488  	return nil
  1489  }
  1490  
  1491  func (x *TaskProperties) GetEnvPrefixes() []*StringListPair {
  1492  	if x != nil {
  1493  		return x.EnvPrefixes
  1494  	}
  1495  	return nil
  1496  }
  1497  
  1498  func (x *TaskProperties) GetExecutionTimeoutSecs() int32 {
  1499  	if x != nil {
  1500  		return x.ExecutionTimeoutSecs
  1501  	}
  1502  	return 0
  1503  }
  1504  
  1505  func (x *TaskProperties) GetGracePeriodSecs() int32 {
  1506  	if x != nil {
  1507  		return x.GracePeriodSecs
  1508  	}
  1509  	return 0
  1510  }
  1511  
  1512  func (x *TaskProperties) GetIdempotent() bool {
  1513  	if x != nil {
  1514  		return x.Idempotent
  1515  	}
  1516  	return false
  1517  }
  1518  
  1519  func (x *TaskProperties) GetCasInputRoot() *CASReference {
  1520  	if x != nil {
  1521  		return x.CasInputRoot
  1522  	}
  1523  	return nil
  1524  }
  1525  
  1526  func (x *TaskProperties) GetIoTimeoutSecs() int32 {
  1527  	if x != nil {
  1528  		return x.IoTimeoutSecs
  1529  	}
  1530  	return 0
  1531  }
  1532  
  1533  func (x *TaskProperties) GetOutputs() []string {
  1534  	if x != nil {
  1535  		return x.Outputs
  1536  	}
  1537  	return nil
  1538  }
  1539  
  1540  func (x *TaskProperties) GetSecretBytes() []byte {
  1541  	if x != nil {
  1542  		return x.SecretBytes
  1543  	}
  1544  	return nil
  1545  }
  1546  
  1547  func (x *TaskProperties) GetContainment() *Containment {
  1548  	if x != nil {
  1549  		return x.Containment
  1550  	}
  1551  	return nil
  1552  }
  1553  
  1554  // Defines a possible task execution for a task request to be run on the
  1555  // Swarming infrastructure.
  1556  //
  1557  // This is one of the possible fallback on a task request.
  1558  type TaskSlice struct {
  1559  	state         protoimpl.MessageState
  1560  	sizeCache     protoimpl.SizeCache
  1561  	unknownFields protoimpl.UnknownFields
  1562  
  1563  	// The property of the task to try to run.
  1564  	//
  1565  	// If there is no bot that can serve this properties.dimensions when this task
  1566  	// slice is enqueued, it is immediately denied. This can trigger if:
  1567  	// - There is no bot with these dimensions currently known.
  1568  	// - Bots that could run this task are either all dead or quarantined.
  1569  	// Swarming considers a bot dead if it hasn't pinged in the last N minutes
  1570  	// (currently 10 minutes).
  1571  	Properties *TaskProperties `protobuf:"bytes,1,opt,name=properties,proto3" json:"properties,omitempty"`
  1572  	// Maximum of seconds the task slice may stay PENDING.
  1573  	//
  1574  	// If this task request slice is not scheduled after waiting this long, the
  1575  	// next one will be processed. If this slice is the last one, the task state
  1576  	// will be set to EXPIRED.
  1577  	ExpirationSecs int32 `protobuf:"varint,2,opt,name=expiration_secs,json=expirationSecs,proto3" json:"expiration_secs,omitempty"`
  1578  	// When a task is scheduled and there are currently no bots available to run
  1579  	// the task, the TaskSlice can either be PENDING, or be denied immediately.
  1580  	// When denied, the next TaskSlice is enqueued, and if there's no following
  1581  	// TaskSlice, the task state is set to NO_RESOURCE. This should normally be
  1582  	// set to False to avoid unnecessary waiting.
  1583  	WaitForCapacity bool `protobuf:"varint,3,opt,name=wait_for_capacity,json=waitForCapacity,proto3" json:"wait_for_capacity,omitempty"`
  1584  }
  1585  
  1586  func (x *TaskSlice) Reset() {
  1587  	*x = TaskSlice{}
  1588  	if protoimpl.UnsafeEnabled {
  1589  		mi := &file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_msgTypes[13]
  1590  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1591  		ms.StoreMessageInfo(mi)
  1592  	}
  1593  }
  1594  
  1595  func (x *TaskSlice) String() string {
  1596  	return protoimpl.X.MessageStringOf(x)
  1597  }
  1598  
  1599  func (*TaskSlice) ProtoMessage() {}
  1600  
  1601  func (x *TaskSlice) ProtoReflect() protoreflect.Message {
  1602  	mi := &file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_msgTypes[13]
  1603  	if protoimpl.UnsafeEnabled && x != nil {
  1604  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1605  		if ms.LoadMessageInfo() == nil {
  1606  			ms.StoreMessageInfo(mi)
  1607  		}
  1608  		return ms
  1609  	}
  1610  	return mi.MessageOf(x)
  1611  }
  1612  
  1613  // Deprecated: Use TaskSlice.ProtoReflect.Descriptor instead.
  1614  func (*TaskSlice) Descriptor() ([]byte, []int) {
  1615  	return file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_rawDescGZIP(), []int{13}
  1616  }
  1617  
  1618  func (x *TaskSlice) GetProperties() *TaskProperties {
  1619  	if x != nil {
  1620  		return x.Properties
  1621  	}
  1622  	return nil
  1623  }
  1624  
  1625  func (x *TaskSlice) GetExpirationSecs() int32 {
  1626  	if x != nil {
  1627  		return x.ExpirationSecs
  1628  	}
  1629  	return 0
  1630  }
  1631  
  1632  func (x *TaskSlice) GetWaitForCapacity() bool {
  1633  	if x != nil {
  1634  		return x.WaitForCapacity
  1635  	}
  1636  	return false
  1637  }
  1638  
  1639  type SwarmingTaskBackendConfig struct {
  1640  	state         protoimpl.MessageState
  1641  	sizeCache     protoimpl.SizeCache
  1642  	unknownFields protoimpl.UnknownFields
  1643  
  1644  	// Task priority, the lower the more important.
  1645  	//
  1646  	// Valid values are between 1 and 255.
  1647  	Priority int32 `protobuf:"varint,1,opt,name=priority,proto3" json:"priority,omitempty"`
  1648  	// Maximum delay (in seconds) between bot pings before the bot is considered
  1649  	// dead while running a task.
  1650  	//
  1651  	// When a task is running, the bot sends update to the server every
  1652  	// few seconds. In some cases, like when the system is overloaded,
  1653  	// the bot may be preempted and delayed in sending its updates.
  1654  	// After the delay specified here, the server will claim the bot to
  1655  	// be dead and will forcibly abort the task as BOT_DIED. This is to
  1656  	// catch system wide issues like a BSOD.
  1657  	BotPingTolerance int64 `protobuf:"varint,2,opt,name=bot_ping_tolerance,json=botPingTolerance,proto3" json:"bot_ping_tolerance,omitempty"`
  1658  	// Parent Swarming task run ID of the process requesting this task.
  1659  	//
  1660  	// This field is set on the children tasks when a Swarming task creates
  1661  	// children Swarming tasks.
  1662  	//
  1663  	// This points to the TaskResult.run_id (ending with '1', '2' or more).
  1664  	ParentRunId string `protobuf:"bytes,3,opt,name=parent_run_id,json=parentRunId,proto3" json:"parent_run_id,omitempty"`
  1665  	// Defines what OAuth2 credentials the task uses when calling other services.
  1666  	//
  1667  	// Possible values are:
  1668  	//   - 'none': do not use a task service account at all, this is the default.
  1669  	//   - 'bot': use bot's own account, works only if bots authenticate with
  1670  	//     OAuth2.
  1671  	//   - <some email>: use this specific service account if it is allowed in the
  1672  	//     pool (via 'allowed_service_account' pools.cfg setting) and configured
  1673  	//     in the token server's service_accounts.cfg.
  1674  	//
  1675  	// Note that the service account name is specified outside of task properties,
  1676  	// and thus it is possible to have two tasks with different service accounts,
  1677  	// but identical properties hash (so one can be deduped). If this is
  1678  	// unsuitable use 'idempotent=False' or include a service account name in
  1679  	// properties separately.
  1680  	ServiceAccount string `protobuf:"bytes,4,opt,name=service_account,json=serviceAccount,proto3" json:"service_account,omitempty"`
  1681  	// When a task is scheduled and there are currently no bots available to run
  1682  	// the task, the TaskSlice can either be PENDING, or be denied immediately.
  1683  	// When denied, the next TaskSlice is enqueued, and if there's no following
  1684  	// TaskSlice, the task state is set to NO_RESOURCE. This should normally be
  1685  	// set to False to avoid unnecessary waiting.
  1686  	WaitForCapacity bool `protobuf:"varint,5,opt,name=wait_for_capacity,json=waitForCapacity,proto3" json:"wait_for_capacity,omitempty"`
  1687  	// CIPD package of the agent binary that should be called to run the task
  1688  	// command. Note that it will end with "${platform}"
  1689  	AgentBinaryCipdPkg string `protobuf:"bytes,6,opt,name=agent_binary_cipd_pkg,json=agentBinaryCipdPkg,proto3" json:"agent_binary_cipd_pkg,omitempty"`
  1690  	// CIPD package tag or ref of the agent binary.
  1691  	AgentBinaryCipdVers string `protobuf:"bytes,7,opt,name=agent_binary_cipd_vers,json=agentBinaryCipdVers,proto3" json:"agent_binary_cipd_vers,omitempty"`
  1692  	// Name of the file within the CIPD package and should be used to construct
  1693  	// the task command line.
  1694  	AgentBinaryCipdFilename string `protobuf:"bytes,8,opt,name=agent_binary_cipd_filename,json=agentBinaryCipdFilename,proto3" json:"agent_binary_cipd_filename,omitempty"`
  1695  	// Name of the CIPD server.
  1696  	AgentBinaryCipdServer string `protobuf:"bytes,9,opt,name=agent_binary_cipd_server,json=agentBinaryCipdServer,proto3" json:"agent_binary_cipd_server,omitempty"`
  1697  	// Tags are 'key:value' strings that describes what the task is about.
  1698  	// This can later be leveraged to search for kinds of tasks per tag.
  1699  	Tags []string `protobuf:"bytes,10,rep,name=tags,proto3" json:"tags,omitempty"`
  1700  }
  1701  
  1702  func (x *SwarmingTaskBackendConfig) Reset() {
  1703  	*x = SwarmingTaskBackendConfig{}
  1704  	if protoimpl.UnsafeEnabled {
  1705  		mi := &file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_msgTypes[14]
  1706  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1707  		ms.StoreMessageInfo(mi)
  1708  	}
  1709  }
  1710  
  1711  func (x *SwarmingTaskBackendConfig) String() string {
  1712  	return protoimpl.X.MessageStringOf(x)
  1713  }
  1714  
  1715  func (*SwarmingTaskBackendConfig) ProtoMessage() {}
  1716  
  1717  func (x *SwarmingTaskBackendConfig) ProtoReflect() protoreflect.Message {
  1718  	mi := &file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_msgTypes[14]
  1719  	if protoimpl.UnsafeEnabled && x != nil {
  1720  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1721  		if ms.LoadMessageInfo() == nil {
  1722  			ms.StoreMessageInfo(mi)
  1723  		}
  1724  		return ms
  1725  	}
  1726  	return mi.MessageOf(x)
  1727  }
  1728  
  1729  // Deprecated: Use SwarmingTaskBackendConfig.ProtoReflect.Descriptor instead.
  1730  func (*SwarmingTaskBackendConfig) Descriptor() ([]byte, []int) {
  1731  	return file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_rawDescGZIP(), []int{14}
  1732  }
  1733  
  1734  func (x *SwarmingTaskBackendConfig) GetPriority() int32 {
  1735  	if x != nil {
  1736  		return x.Priority
  1737  	}
  1738  	return 0
  1739  }
  1740  
  1741  func (x *SwarmingTaskBackendConfig) GetBotPingTolerance() int64 {
  1742  	if x != nil {
  1743  		return x.BotPingTolerance
  1744  	}
  1745  	return 0
  1746  }
  1747  
  1748  func (x *SwarmingTaskBackendConfig) GetParentRunId() string {
  1749  	if x != nil {
  1750  		return x.ParentRunId
  1751  	}
  1752  	return ""
  1753  }
  1754  
  1755  func (x *SwarmingTaskBackendConfig) GetServiceAccount() string {
  1756  	if x != nil {
  1757  		return x.ServiceAccount
  1758  	}
  1759  	return ""
  1760  }
  1761  
  1762  func (x *SwarmingTaskBackendConfig) GetWaitForCapacity() bool {
  1763  	if x != nil {
  1764  		return x.WaitForCapacity
  1765  	}
  1766  	return false
  1767  }
  1768  
  1769  func (x *SwarmingTaskBackendConfig) GetAgentBinaryCipdPkg() string {
  1770  	if x != nil {
  1771  		return x.AgentBinaryCipdPkg
  1772  	}
  1773  	return ""
  1774  }
  1775  
  1776  func (x *SwarmingTaskBackendConfig) GetAgentBinaryCipdVers() string {
  1777  	if x != nil {
  1778  		return x.AgentBinaryCipdVers
  1779  	}
  1780  	return ""
  1781  }
  1782  
  1783  func (x *SwarmingTaskBackendConfig) GetAgentBinaryCipdFilename() string {
  1784  	if x != nil {
  1785  		return x.AgentBinaryCipdFilename
  1786  	}
  1787  	return ""
  1788  }
  1789  
  1790  func (x *SwarmingTaskBackendConfig) GetAgentBinaryCipdServer() string {
  1791  	if x != nil {
  1792  		return x.AgentBinaryCipdServer
  1793  	}
  1794  	return ""
  1795  }
  1796  
  1797  func (x *SwarmingTaskBackendConfig) GetTags() []string {
  1798  	if x != nil {
  1799  		return x.Tags
  1800  	}
  1801  	return nil
  1802  }
  1803  
  1804  // Swarming:ResultDB integration configuration for a task.
  1805  // See NewTaskRequest.resultdb for more details.
  1806  type ResultDBCfg struct {
  1807  	state         protoimpl.MessageState
  1808  	sizeCache     protoimpl.SizeCache
  1809  	unknownFields protoimpl.UnknownFields
  1810  
  1811  	// If True and this task is not deduplicated, create
  1812  	// "task-{swarming_hostname}-{run_id}" invocation for this task,
  1813  	// provide its update token to the task subprocess via LUCI_CONTEXT
  1814  	// and finalize the invocation when the task is done.
  1815  	// If the task is deduplicated, then TaskResult.invocation_name will be the
  1816  	// invocation name of the original task.
  1817  	// Swarming:ResultDB integration is off by default, but it may change in the
  1818  	// future.
  1819  	Enable bool `protobuf:"varint,1,opt,name=enable,proto3" json:"enable,omitempty"`
  1820  }
  1821  
  1822  func (x *ResultDBCfg) Reset() {
  1823  	*x = ResultDBCfg{}
  1824  	if protoimpl.UnsafeEnabled {
  1825  		mi := &file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_msgTypes[15]
  1826  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1827  		ms.StoreMessageInfo(mi)
  1828  	}
  1829  }
  1830  
  1831  func (x *ResultDBCfg) String() string {
  1832  	return protoimpl.X.MessageStringOf(x)
  1833  }
  1834  
  1835  func (*ResultDBCfg) ProtoMessage() {}
  1836  
  1837  func (x *ResultDBCfg) ProtoReflect() protoreflect.Message {
  1838  	mi := &file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_msgTypes[15]
  1839  	if protoimpl.UnsafeEnabled && x != nil {
  1840  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1841  		if ms.LoadMessageInfo() == nil {
  1842  			ms.StoreMessageInfo(mi)
  1843  		}
  1844  		return ms
  1845  	}
  1846  	return mi.MessageOf(x)
  1847  }
  1848  
  1849  // Deprecated: Use ResultDBCfg.ProtoReflect.Descriptor instead.
  1850  func (*ResultDBCfg) Descriptor() ([]byte, []int) {
  1851  	return file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_rawDescGZIP(), []int{15}
  1852  }
  1853  
  1854  func (x *ResultDBCfg) GetEnable() bool {
  1855  	if x != nil {
  1856  		return x.Enable
  1857  	}
  1858  	return false
  1859  }
  1860  
  1861  // Description of a new task request as described by the client.
  1862  // This message is used to create a new task.
  1863  type NewTaskRequest struct {
  1864  	state         protoimpl.MessageState
  1865  	sizeCache     protoimpl.SizeCache
  1866  	unknownFields protoimpl.UnknownFields
  1867  
  1868  	// DEPRECATED. Use task_slices[0].expiration_secs.
  1869  	ExpirationSecs int32 `protobuf:"varint,1,opt,name=expiration_secs,json=expirationSecs,proto3" json:"expiration_secs,omitempty"`
  1870  	// Task name for display purpose.
  1871  	Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"`
  1872  	// Parent Swarming run ID of the process requesting this task. This is to tell
  1873  	// the server about reentrancy: when a task creates children Swarming tasks, so
  1874  	// that the tree of tasks can be presented in the UI; the parent task will list
  1875  	// all the children tasks that were triggered.
  1876  	ParentTaskId string `protobuf:"bytes,3,opt,name=parent_task_id,json=parentTaskId,proto3" json:"parent_task_id,omitempty"`
  1877  	// Task priority, the lower the more important.
  1878  	Priority int32 `protobuf:"varint,4,opt,name=priority,proto3" json:"priority,omitempty"`
  1879  	// DEPRECATED. Use task_slices[0].properties.
  1880  	Properties *TaskProperties `protobuf:"bytes,5,opt,name=properties,proto3" json:"properties,omitempty"`
  1881  	// Slice of TaskSlice, along their scheduling parameters. Cannot be used at the
  1882  	// same time as properties and expiration_secs.
  1883  	//
  1884  	// This defines all the various possible task execution for a task request to
  1885  	// be run on the Swarming infrastructure. They are processed in order, and it
  1886  	// is guaranteed that at most one of these will be processed.
  1887  	TaskSlices []*TaskSlice `protobuf:"bytes,6,rep,name=task_slices,json=taskSlices,proto3" json:"task_slices,omitempty"`
  1888  	// Tags are 'key:value' strings that describes what the task is about. This can
  1889  	// later be leveraged to search for kinds of tasks per tag.
  1890  	Tags []string `protobuf:"bytes,7,rep,name=tags,proto3" json:"tags,omitempty"`
  1891  	// User on which behalf this task is run, if relevant. Not validated.
  1892  	User string `protobuf:"bytes,8,opt,name=user,proto3" json:"user,omitempty"`
  1893  	// Defines what OAuth2 credentials the task uses when calling other services.
  1894  	//
  1895  	// Possible values are:
  1896  	//   - 'none': do not use a task service account at all, this is the default.
  1897  	//   - 'bot': use bot's own account, works only if bots authenticate with
  1898  	//     OAuth2.
  1899  	//   - <some email>: use this specific service account if it is allowed in the
  1900  	//     pool (via 'allowed_service_account' pools.cfg setting) and configured
  1901  	//     in the token server's service_accounts.cfg.
  1902  	//
  1903  	// Note that the service account name is specified outside of task properties,
  1904  	// and thus it is possible to have two tasks with different service accounts,
  1905  	// but identical properties hash (so one can be deduped). If this is unsuitable
  1906  	// use 'idempotent=False' or include a service account name in properties
  1907  	// separately.
  1908  	ServiceAccount string `protobuf:"bytes,9,opt,name=service_account,json=serviceAccount,proto3" json:"service_account,omitempty"`
  1909  	// Full topic name to post task state updates to, e.g.
  1910  	// "projects/<id>/topics/<id>".
  1911  	PubsubTopic string `protobuf:"bytes,10,opt,name=pubsub_topic,json=pubsubTopic,proto3" json:"pubsub_topic,omitempty"`
  1912  	// Secret string to put into "auth_token" attribute of PubSub message.
  1913  	PubsubAuthToken string `protobuf:"bytes,11,opt,name=pubsub_auth_token,json=pubsubAuthToken,proto3" json:"pubsub_auth_token,omitempty"`
  1914  	// Will be but into "userdata" fields of PubSub message.
  1915  	PubsubUserdata string `protobuf:"bytes,12,opt,name=pubsub_userdata,json=pubsubUserdata,proto3" json:"pubsub_userdata,omitempty"`
  1916  	// Only evaluate the task, as if we were going to schedule it, but don't
  1917  	// actually schedule it. This will return the TaskRequest, but without
  1918  	// a task_id.
  1919  	EvaluateOnly     bool                                 `protobuf:"varint,13,opt,name=evaluate_only,json=evaluateOnly,proto3" json:"evaluate_only,omitempty"`
  1920  	PoolTaskTemplate NewTaskRequest_PoolTaskTemplateField `protobuf:"varint,14,opt,name=pool_task_template,json=poolTaskTemplate,proto3,enum=swarming.v2.NewTaskRequest_PoolTaskTemplateField" json:"pool_task_template,omitempty"`
  1921  	// Maximum delay between bot pings before the bot is considered dead
  1922  	// while running a task.
  1923  	BotPingToleranceSecs int32 `protobuf:"varint,15,opt,name=bot_ping_tolerance_secs,json=botPingToleranceSecs,proto3" json:"bot_ping_tolerance_secs,omitempty"`
  1924  	// This is used to make new task request idempotent in best effort.
  1925  	// If new request has request_uuid field, it checks memcache before scheduling
  1926  	// actual task to check there is already the task triggered by same request
  1927  	// previously.
  1928  	RequestUuid string `protobuf:"bytes,16,opt,name=request_uuid,json=requestUuid,proto3" json:"request_uuid,omitempty"`
  1929  	// Configuration of Swarming:ResultDB integration.
  1930  	Resultdb *ResultDBCfg `protobuf:"bytes,17,opt,name=resultdb,proto3" json:"resultdb,omitempty"`
  1931  	// Task realm.
  1932  	// See api/swarming.proto for more details.
  1933  	Realm string `protobuf:"bytes,18,opt,name=realm,proto3" json:"realm,omitempty"`
  1934  }
  1935  
  1936  func (x *NewTaskRequest) Reset() {
  1937  	*x = NewTaskRequest{}
  1938  	if protoimpl.UnsafeEnabled {
  1939  		mi := &file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_msgTypes[16]
  1940  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1941  		ms.StoreMessageInfo(mi)
  1942  	}
  1943  }
  1944  
  1945  func (x *NewTaskRequest) String() string {
  1946  	return protoimpl.X.MessageStringOf(x)
  1947  }
  1948  
  1949  func (*NewTaskRequest) ProtoMessage() {}
  1950  
  1951  func (x *NewTaskRequest) ProtoReflect() protoreflect.Message {
  1952  	mi := &file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_msgTypes[16]
  1953  	if protoimpl.UnsafeEnabled && x != nil {
  1954  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1955  		if ms.LoadMessageInfo() == nil {
  1956  			ms.StoreMessageInfo(mi)
  1957  		}
  1958  		return ms
  1959  	}
  1960  	return mi.MessageOf(x)
  1961  }
  1962  
  1963  // Deprecated: Use NewTaskRequest.ProtoReflect.Descriptor instead.
  1964  func (*NewTaskRequest) Descriptor() ([]byte, []int) {
  1965  	return file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_rawDescGZIP(), []int{16}
  1966  }
  1967  
  1968  func (x *NewTaskRequest) GetExpirationSecs() int32 {
  1969  	if x != nil {
  1970  		return x.ExpirationSecs
  1971  	}
  1972  	return 0
  1973  }
  1974  
  1975  func (x *NewTaskRequest) GetName() string {
  1976  	if x != nil {
  1977  		return x.Name
  1978  	}
  1979  	return ""
  1980  }
  1981  
  1982  func (x *NewTaskRequest) GetParentTaskId() string {
  1983  	if x != nil {
  1984  		return x.ParentTaskId
  1985  	}
  1986  	return ""
  1987  }
  1988  
  1989  func (x *NewTaskRequest) GetPriority() int32 {
  1990  	if x != nil {
  1991  		return x.Priority
  1992  	}
  1993  	return 0
  1994  }
  1995  
  1996  func (x *NewTaskRequest) GetProperties() *TaskProperties {
  1997  	if x != nil {
  1998  		return x.Properties
  1999  	}
  2000  	return nil
  2001  }
  2002  
  2003  func (x *NewTaskRequest) GetTaskSlices() []*TaskSlice {
  2004  	if x != nil {
  2005  		return x.TaskSlices
  2006  	}
  2007  	return nil
  2008  }
  2009  
  2010  func (x *NewTaskRequest) GetTags() []string {
  2011  	if x != nil {
  2012  		return x.Tags
  2013  	}
  2014  	return nil
  2015  }
  2016  
  2017  func (x *NewTaskRequest) GetUser() string {
  2018  	if x != nil {
  2019  		return x.User
  2020  	}
  2021  	return ""
  2022  }
  2023  
  2024  func (x *NewTaskRequest) GetServiceAccount() string {
  2025  	if x != nil {
  2026  		return x.ServiceAccount
  2027  	}
  2028  	return ""
  2029  }
  2030  
  2031  func (x *NewTaskRequest) GetPubsubTopic() string {
  2032  	if x != nil {
  2033  		return x.PubsubTopic
  2034  	}
  2035  	return ""
  2036  }
  2037  
  2038  func (x *NewTaskRequest) GetPubsubAuthToken() string {
  2039  	if x != nil {
  2040  		return x.PubsubAuthToken
  2041  	}
  2042  	return ""
  2043  }
  2044  
  2045  func (x *NewTaskRequest) GetPubsubUserdata() string {
  2046  	if x != nil {
  2047  		return x.PubsubUserdata
  2048  	}
  2049  	return ""
  2050  }
  2051  
  2052  func (x *NewTaskRequest) GetEvaluateOnly() bool {
  2053  	if x != nil {
  2054  		return x.EvaluateOnly
  2055  	}
  2056  	return false
  2057  }
  2058  
  2059  func (x *NewTaskRequest) GetPoolTaskTemplate() NewTaskRequest_PoolTaskTemplateField {
  2060  	if x != nil {
  2061  		return x.PoolTaskTemplate
  2062  	}
  2063  	return NewTaskRequest_AUTO
  2064  }
  2065  
  2066  func (x *NewTaskRequest) GetBotPingToleranceSecs() int32 {
  2067  	if x != nil {
  2068  		return x.BotPingToleranceSecs
  2069  	}
  2070  	return 0
  2071  }
  2072  
  2073  func (x *NewTaskRequest) GetRequestUuid() string {
  2074  	if x != nil {
  2075  		return x.RequestUuid
  2076  	}
  2077  	return ""
  2078  }
  2079  
  2080  func (x *NewTaskRequest) GetResultdb() *ResultDBCfg {
  2081  	if x != nil {
  2082  		return x.Resultdb
  2083  	}
  2084  	return nil
  2085  }
  2086  
  2087  func (x *NewTaskRequest) GetRealm() string {
  2088  	if x != nil {
  2089  		return x.Realm
  2090  	}
  2091  	return ""
  2092  }
  2093  
  2094  // Description of a task request as registered by the server.
  2095  // This message is used when retrieving information about an existing task.
  2096  // See NewTaskRequest for more details.
  2097  type TaskRequestResponse struct {
  2098  	state         protoimpl.MessageState
  2099  	sizeCache     protoimpl.SizeCache
  2100  	unknownFields protoimpl.UnknownFields
  2101  
  2102  	TaskId         string `protobuf:"bytes,1,opt,name=task_id,json=taskId,proto3" json:"task_id,omitempty"`
  2103  	ExpirationSecs int32  `protobuf:"varint,2,opt,name=expiration_secs,json=expirationSecs,proto3" json:"expiration_secs,omitempty"`
  2104  	Name           string `protobuf:"bytes,3,opt,name=name,proto3" json:"name,omitempty"`
  2105  	ParentTaskId   string `protobuf:"bytes,4,opt,name=parent_task_id,json=parentTaskId,proto3" json:"parent_task_id,omitempty"`
  2106  	Priority       int32  `protobuf:"varint,5,opt,name=priority,proto3" json:"priority,omitempty"`
  2107  	// For some amount of time, the properties will be copied into the
  2108  	// task_slices and vice-versa, to give time to the clients to update.
  2109  	// Eventually, only task_slices will be supported.
  2110  	Properties *TaskProperties        `protobuf:"bytes,6,opt,name=properties,proto3" json:"properties,omitempty"`
  2111  	Tags       []string               `protobuf:"bytes,7,rep,name=tags,proto3" json:"tags,omitempty"`
  2112  	CreatedTs  *timestamppb.Timestamp `protobuf:"bytes,8,opt,name=created_ts,json=createdTs,proto3" json:"created_ts,omitempty"`
  2113  	User       string                 `protobuf:"bytes,9,opt,name=user,proto3" json:"user,omitempty"`
  2114  	// User name of whoever posted this task, extracted from the credentials.
  2115  	Authenticated string       `protobuf:"bytes,10,opt,name=authenticated,proto3" json:"authenticated,omitempty"`
  2116  	TaskSlices    []*TaskSlice `protobuf:"bytes,11,rep,name=task_slices,json=taskSlices,proto3" json:"task_slices,omitempty"`
  2117  	// Indicates what OAuth2 credentials the task uses when calling other services.
  2118  	ServiceAccount string `protobuf:"bytes,12,opt,name=service_account,json=serviceAccount,proto3" json:"service_account,omitempty"`
  2119  	Realm          string `protobuf:"bytes,13,opt,name=realm,proto3" json:"realm,omitempty"`
  2120  	// Configuration of Swarming:ResultDB integration.
  2121  	Resultdb             *ResultDBCfg `protobuf:"bytes,14,opt,name=resultdb,proto3" json:"resultdb,omitempty"`
  2122  	PubsubTopic          string       `protobuf:"bytes,15,opt,name=pubsub_topic,json=pubsubTopic,proto3" json:"pubsub_topic,omitempty"`
  2123  	PubsubUserdata       string       `protobuf:"bytes,16,opt,name=pubsub_userdata,json=pubsubUserdata,proto3" json:"pubsub_userdata,omitempty"`
  2124  	BotPingToleranceSecs int32        `protobuf:"varint,17,opt,name=bot_ping_tolerance_secs,json=botPingToleranceSecs,proto3" json:"bot_ping_tolerance_secs,omitempty"`
  2125  	RbeInstance          string       `protobuf:"bytes,18,opt,name=rbe_instance,json=rbeInstance,proto3" json:"rbe_instance,omitempty"`
  2126  }
  2127  
  2128  func (x *TaskRequestResponse) Reset() {
  2129  	*x = TaskRequestResponse{}
  2130  	if protoimpl.UnsafeEnabled {
  2131  		mi := &file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_msgTypes[17]
  2132  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  2133  		ms.StoreMessageInfo(mi)
  2134  	}
  2135  }
  2136  
  2137  func (x *TaskRequestResponse) String() string {
  2138  	return protoimpl.X.MessageStringOf(x)
  2139  }
  2140  
  2141  func (*TaskRequestResponse) ProtoMessage() {}
  2142  
  2143  func (x *TaskRequestResponse) ProtoReflect() protoreflect.Message {
  2144  	mi := &file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_msgTypes[17]
  2145  	if protoimpl.UnsafeEnabled && x != nil {
  2146  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  2147  		if ms.LoadMessageInfo() == nil {
  2148  			ms.StoreMessageInfo(mi)
  2149  		}
  2150  		return ms
  2151  	}
  2152  	return mi.MessageOf(x)
  2153  }
  2154  
  2155  // Deprecated: Use TaskRequestResponse.ProtoReflect.Descriptor instead.
  2156  func (*TaskRequestResponse) Descriptor() ([]byte, []int) {
  2157  	return file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_rawDescGZIP(), []int{17}
  2158  }
  2159  
  2160  func (x *TaskRequestResponse) GetTaskId() string {
  2161  	if x != nil {
  2162  		return x.TaskId
  2163  	}
  2164  	return ""
  2165  }
  2166  
  2167  func (x *TaskRequestResponse) GetExpirationSecs() int32 {
  2168  	if x != nil {
  2169  		return x.ExpirationSecs
  2170  	}
  2171  	return 0
  2172  }
  2173  
  2174  func (x *TaskRequestResponse) GetName() string {
  2175  	if x != nil {
  2176  		return x.Name
  2177  	}
  2178  	return ""
  2179  }
  2180  
  2181  func (x *TaskRequestResponse) GetParentTaskId() string {
  2182  	if x != nil {
  2183  		return x.ParentTaskId
  2184  	}
  2185  	return ""
  2186  }
  2187  
  2188  func (x *TaskRequestResponse) GetPriority() int32 {
  2189  	if x != nil {
  2190  		return x.Priority
  2191  	}
  2192  	return 0
  2193  }
  2194  
  2195  func (x *TaskRequestResponse) GetProperties() *TaskProperties {
  2196  	if x != nil {
  2197  		return x.Properties
  2198  	}
  2199  	return nil
  2200  }
  2201  
  2202  func (x *TaskRequestResponse) GetTags() []string {
  2203  	if x != nil {
  2204  		return x.Tags
  2205  	}
  2206  	return nil
  2207  }
  2208  
  2209  func (x *TaskRequestResponse) GetCreatedTs() *timestamppb.Timestamp {
  2210  	if x != nil {
  2211  		return x.CreatedTs
  2212  	}
  2213  	return nil
  2214  }
  2215  
  2216  func (x *TaskRequestResponse) GetUser() string {
  2217  	if x != nil {
  2218  		return x.User
  2219  	}
  2220  	return ""
  2221  }
  2222  
  2223  func (x *TaskRequestResponse) GetAuthenticated() string {
  2224  	if x != nil {
  2225  		return x.Authenticated
  2226  	}
  2227  	return ""
  2228  }
  2229  
  2230  func (x *TaskRequestResponse) GetTaskSlices() []*TaskSlice {
  2231  	if x != nil {
  2232  		return x.TaskSlices
  2233  	}
  2234  	return nil
  2235  }
  2236  
  2237  func (x *TaskRequestResponse) GetServiceAccount() string {
  2238  	if x != nil {
  2239  		return x.ServiceAccount
  2240  	}
  2241  	return ""
  2242  }
  2243  
  2244  func (x *TaskRequestResponse) GetRealm() string {
  2245  	if x != nil {
  2246  		return x.Realm
  2247  	}
  2248  	return ""
  2249  }
  2250  
  2251  func (x *TaskRequestResponse) GetResultdb() *ResultDBCfg {
  2252  	if x != nil {
  2253  		return x.Resultdb
  2254  	}
  2255  	return nil
  2256  }
  2257  
  2258  func (x *TaskRequestResponse) GetPubsubTopic() string {
  2259  	if x != nil {
  2260  		return x.PubsubTopic
  2261  	}
  2262  	return ""
  2263  }
  2264  
  2265  func (x *TaskRequestResponse) GetPubsubUserdata() string {
  2266  	if x != nil {
  2267  		return x.PubsubUserdata
  2268  	}
  2269  	return ""
  2270  }
  2271  
  2272  func (x *TaskRequestResponse) GetBotPingToleranceSecs() int32 {
  2273  	if x != nil {
  2274  		return x.BotPingToleranceSecs
  2275  	}
  2276  	return 0
  2277  }
  2278  
  2279  func (x *TaskRequestResponse) GetRbeInstance() string {
  2280  	if x != nil {
  2281  		return x.RbeInstance
  2282  	}
  2283  	return ""
  2284  }
  2285  
  2286  // Request to cancel one task.
  2287  type TaskCancelRequest struct {
  2288  	state         protoimpl.MessageState
  2289  	sizeCache     protoimpl.SizeCache
  2290  	unknownFields protoimpl.UnknownFields
  2291  
  2292  	TaskId      string `protobuf:"bytes,1,opt,name=task_id,json=taskId,proto3" json:"task_id,omitempty"`
  2293  	KillRunning bool   `protobuf:"varint,2,opt,name=kill_running,json=killRunning,proto3" json:"kill_running,omitempty"`
  2294  }
  2295  
  2296  func (x *TaskCancelRequest) Reset() {
  2297  	*x = TaskCancelRequest{}
  2298  	if protoimpl.UnsafeEnabled {
  2299  		mi := &file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_msgTypes[18]
  2300  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  2301  		ms.StoreMessageInfo(mi)
  2302  	}
  2303  }
  2304  
  2305  func (x *TaskCancelRequest) String() string {
  2306  	return protoimpl.X.MessageStringOf(x)
  2307  }
  2308  
  2309  func (*TaskCancelRequest) ProtoMessage() {}
  2310  
  2311  func (x *TaskCancelRequest) ProtoReflect() protoreflect.Message {
  2312  	mi := &file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_msgTypes[18]
  2313  	if protoimpl.UnsafeEnabled && x != nil {
  2314  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  2315  		if ms.LoadMessageInfo() == nil {
  2316  			ms.StoreMessageInfo(mi)
  2317  		}
  2318  		return ms
  2319  	}
  2320  	return mi.MessageOf(x)
  2321  }
  2322  
  2323  // Deprecated: Use TaskCancelRequest.ProtoReflect.Descriptor instead.
  2324  func (*TaskCancelRequest) Descriptor() ([]byte, []int) {
  2325  	return file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_rawDescGZIP(), []int{18}
  2326  }
  2327  
  2328  func (x *TaskCancelRequest) GetTaskId() string {
  2329  	if x != nil {
  2330  		return x.TaskId
  2331  	}
  2332  	return ""
  2333  }
  2334  
  2335  func (x *TaskCancelRequest) GetKillRunning() bool {
  2336  	if x != nil {
  2337  		return x.KillRunning
  2338  	}
  2339  	return false
  2340  }
  2341  
  2342  // Request to cancel some subset of pending/running tasks.
  2343  type TasksCancelRequest struct {
  2344  	state         protoimpl.MessageState
  2345  	sizeCache     protoimpl.SizeCache
  2346  	unknownFields protoimpl.UnknownFields
  2347  
  2348  	Limit       int32                  `protobuf:"varint,1,opt,name=limit,proto3" json:"limit,omitempty"`
  2349  	Cursor      string                 `protobuf:"bytes,2,opt,name=cursor,proto3" json:"cursor,omitempty"`
  2350  	Tags        []string               `protobuf:"bytes,3,rep,name=tags,proto3" json:"tags,omitempty"`
  2351  	KillRunning bool                   `protobuf:"varint,4,opt,name=kill_running,json=killRunning,proto3" json:"kill_running,omitempty"`
  2352  	Start       *timestamppb.Timestamp `protobuf:"bytes,5,opt,name=start,proto3" json:"start,omitempty"`
  2353  	End         *timestamppb.Timestamp `protobuf:"bytes,6,opt,name=end,proto3" json:"end,omitempty"`
  2354  }
  2355  
  2356  func (x *TasksCancelRequest) Reset() {
  2357  	*x = TasksCancelRequest{}
  2358  	if protoimpl.UnsafeEnabled {
  2359  		mi := &file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_msgTypes[19]
  2360  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  2361  		ms.StoreMessageInfo(mi)
  2362  	}
  2363  }
  2364  
  2365  func (x *TasksCancelRequest) String() string {
  2366  	return protoimpl.X.MessageStringOf(x)
  2367  }
  2368  
  2369  func (*TasksCancelRequest) ProtoMessage() {}
  2370  
  2371  func (x *TasksCancelRequest) ProtoReflect() protoreflect.Message {
  2372  	mi := &file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_msgTypes[19]
  2373  	if protoimpl.UnsafeEnabled && x != nil {
  2374  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  2375  		if ms.LoadMessageInfo() == nil {
  2376  			ms.StoreMessageInfo(mi)
  2377  		}
  2378  		return ms
  2379  	}
  2380  	return mi.MessageOf(x)
  2381  }
  2382  
  2383  // Deprecated: Use TasksCancelRequest.ProtoReflect.Descriptor instead.
  2384  func (*TasksCancelRequest) Descriptor() ([]byte, []int) {
  2385  	return file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_rawDescGZIP(), []int{19}
  2386  }
  2387  
  2388  func (x *TasksCancelRequest) GetLimit() int32 {
  2389  	if x != nil {
  2390  		return x.Limit
  2391  	}
  2392  	return 0
  2393  }
  2394  
  2395  func (x *TasksCancelRequest) GetCursor() string {
  2396  	if x != nil {
  2397  		return x.Cursor
  2398  	}
  2399  	return ""
  2400  }
  2401  
  2402  func (x *TasksCancelRequest) GetTags() []string {
  2403  	if x != nil {
  2404  		return x.Tags
  2405  	}
  2406  	return nil
  2407  }
  2408  
  2409  func (x *TasksCancelRequest) GetKillRunning() bool {
  2410  	if x != nil {
  2411  		return x.KillRunning
  2412  	}
  2413  	return false
  2414  }
  2415  
  2416  func (x *TasksCancelRequest) GetStart() *timestamppb.Timestamp {
  2417  	if x != nil {
  2418  		return x.Start
  2419  	}
  2420  	return nil
  2421  }
  2422  
  2423  func (x *TasksCancelRequest) GetEnd() *timestamppb.Timestamp {
  2424  	if x != nil {
  2425  		return x.End
  2426  	}
  2427  	return nil
  2428  }
  2429  
  2430  type OperationStats struct {
  2431  	state         protoimpl.MessageState
  2432  	sizeCache     protoimpl.SizeCache
  2433  	unknownFields protoimpl.UnknownFields
  2434  
  2435  	// Duration in seconds.
  2436  	Duration float32 `protobuf:"fixed32,1,opt,name=duration,proto3" json:"duration,omitempty"`
  2437  }
  2438  
  2439  func (x *OperationStats) Reset() {
  2440  	*x = OperationStats{}
  2441  	if protoimpl.UnsafeEnabled {
  2442  		mi := &file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_msgTypes[20]
  2443  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  2444  		ms.StoreMessageInfo(mi)
  2445  	}
  2446  }
  2447  
  2448  func (x *OperationStats) String() string {
  2449  	return protoimpl.X.MessageStringOf(x)
  2450  }
  2451  
  2452  func (*OperationStats) ProtoMessage() {}
  2453  
  2454  func (x *OperationStats) ProtoReflect() protoreflect.Message {
  2455  	mi := &file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_msgTypes[20]
  2456  	if protoimpl.UnsafeEnabled && x != nil {
  2457  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  2458  		if ms.LoadMessageInfo() == nil {
  2459  			ms.StoreMessageInfo(mi)
  2460  		}
  2461  		return ms
  2462  	}
  2463  	return mi.MessageOf(x)
  2464  }
  2465  
  2466  // Deprecated: Use OperationStats.ProtoReflect.Descriptor instead.
  2467  func (*OperationStats) Descriptor() ([]byte, []int) {
  2468  	return file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_rawDescGZIP(), []int{20}
  2469  }
  2470  
  2471  func (x *OperationStats) GetDuration() float32 {
  2472  	if x != nil {
  2473  		return x.Duration
  2474  	}
  2475  	return 0
  2476  }
  2477  
  2478  type CASOperationStats struct {
  2479  	state         protoimpl.MessageState
  2480  	sizeCache     protoimpl.SizeCache
  2481  	unknownFields protoimpl.UnknownFields
  2482  
  2483  	// Duration in seconds.
  2484  	Duration           float32 `protobuf:"fixed32,1,opt,name=duration,proto3" json:"duration,omitempty"`
  2485  	InitialNumberItems int32   `protobuf:"varint,2,opt,name=initial_number_items,json=initialNumberItems,proto3" json:"initial_number_items,omitempty"`
  2486  	InitialSize        int64   `protobuf:"varint,3,opt,name=initial_size,json=initialSize,proto3" json:"initial_size,omitempty"`
  2487  	// These buffers are compressed as deflate'd delta-encoded varints. They are
  2488  	// all the items for an isolated operation, which can scale in the 100k range.
  2489  	// So can be large! See //client/utils/large.py for the code to handle these.
  2490  	ItemsCold []byte `protobuf:"bytes,4,opt,name=items_cold,json=itemsCold,proto3" json:"items_cold,omitempty"`
  2491  	ItemsHot  []byte `protobuf:"bytes,5,opt,name=items_hot,json=itemsHot,proto3" json:"items_hot,omitempty"`
  2492  	// Corresponding summaries; for each list above, sum of the number of files
  2493  	// and the sum bytes of the files.
  2494  	NumItemsCold        int64 `protobuf:"varint,6,opt,name=num_items_cold,json=numItemsCold,proto3" json:"num_items_cold,omitempty"`
  2495  	TotalBytesItemsCold int64 `protobuf:"varint,7,opt,name=total_bytes_items_cold,json=totalBytesItemsCold,proto3" json:"total_bytes_items_cold,omitempty"`
  2496  	NumItemsHot         int64 `protobuf:"varint,8,opt,name=num_items_hot,json=numItemsHot,proto3" json:"num_items_hot,omitempty"`
  2497  	TotalBytesItemsHot  int64 `protobuf:"varint,9,opt,name=total_bytes_items_hot,json=totalBytesItemsHot,proto3" json:"total_bytes_items_hot,omitempty"`
  2498  }
  2499  
  2500  func (x *CASOperationStats) Reset() {
  2501  	*x = CASOperationStats{}
  2502  	if protoimpl.UnsafeEnabled {
  2503  		mi := &file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_msgTypes[21]
  2504  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  2505  		ms.StoreMessageInfo(mi)
  2506  	}
  2507  }
  2508  
  2509  func (x *CASOperationStats) String() string {
  2510  	return protoimpl.X.MessageStringOf(x)
  2511  }
  2512  
  2513  func (*CASOperationStats) ProtoMessage() {}
  2514  
  2515  func (x *CASOperationStats) ProtoReflect() protoreflect.Message {
  2516  	mi := &file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_msgTypes[21]
  2517  	if protoimpl.UnsafeEnabled && x != nil {
  2518  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  2519  		if ms.LoadMessageInfo() == nil {
  2520  			ms.StoreMessageInfo(mi)
  2521  		}
  2522  		return ms
  2523  	}
  2524  	return mi.MessageOf(x)
  2525  }
  2526  
  2527  // Deprecated: Use CASOperationStats.ProtoReflect.Descriptor instead.
  2528  func (*CASOperationStats) Descriptor() ([]byte, []int) {
  2529  	return file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_rawDescGZIP(), []int{21}
  2530  }
  2531  
  2532  func (x *CASOperationStats) GetDuration() float32 {
  2533  	if x != nil {
  2534  		return x.Duration
  2535  	}
  2536  	return 0
  2537  }
  2538  
  2539  func (x *CASOperationStats) GetInitialNumberItems() int32 {
  2540  	if x != nil {
  2541  		return x.InitialNumberItems
  2542  	}
  2543  	return 0
  2544  }
  2545  
  2546  func (x *CASOperationStats) GetInitialSize() int64 {
  2547  	if x != nil {
  2548  		return x.InitialSize
  2549  	}
  2550  	return 0
  2551  }
  2552  
  2553  func (x *CASOperationStats) GetItemsCold() []byte {
  2554  	if x != nil {
  2555  		return x.ItemsCold
  2556  	}
  2557  	return nil
  2558  }
  2559  
  2560  func (x *CASOperationStats) GetItemsHot() []byte {
  2561  	if x != nil {
  2562  		return x.ItemsHot
  2563  	}
  2564  	return nil
  2565  }
  2566  
  2567  func (x *CASOperationStats) GetNumItemsCold() int64 {
  2568  	if x != nil {
  2569  		return x.NumItemsCold
  2570  	}
  2571  	return 0
  2572  }
  2573  
  2574  func (x *CASOperationStats) GetTotalBytesItemsCold() int64 {
  2575  	if x != nil {
  2576  		return x.TotalBytesItemsCold
  2577  	}
  2578  	return 0
  2579  }
  2580  
  2581  func (x *CASOperationStats) GetNumItemsHot() int64 {
  2582  	if x != nil {
  2583  		return x.NumItemsHot
  2584  	}
  2585  	return 0
  2586  }
  2587  
  2588  func (x *CASOperationStats) GetTotalBytesItemsHot() int64 {
  2589  	if x != nil {
  2590  		return x.TotalBytesItemsHot
  2591  	}
  2592  	return 0
  2593  }
  2594  
  2595  // Performance stats of task execution.
  2596  // See task_result.PerformanceStats for details.
  2597  type PerformanceStats struct {
  2598  	state         protoimpl.MessageState
  2599  	sizeCache     protoimpl.SizeCache
  2600  	unknownFields protoimpl.UnknownFields
  2601  
  2602  	BotOverhead          float32            `protobuf:"fixed32,1,opt,name=bot_overhead,json=botOverhead,proto3" json:"bot_overhead,omitempty"`
  2603  	IsolatedDownload     *CASOperationStats `protobuf:"bytes,2,opt,name=isolated_download,json=isolatedDownload,proto3" json:"isolated_download,omitempty"`
  2604  	IsolatedUpload       *CASOperationStats `protobuf:"bytes,3,opt,name=isolated_upload,json=isolatedUpload,proto3" json:"isolated_upload,omitempty"`
  2605  	PackageInstallation  *OperationStats    `protobuf:"bytes,4,opt,name=package_installation,json=packageInstallation,proto3" json:"package_installation,omitempty"`
  2606  	CacheTrim            *OperationStats    `protobuf:"bytes,5,opt,name=cache_trim,json=cacheTrim,proto3" json:"cache_trim,omitempty"`
  2607  	NamedCachesInstall   *OperationStats    `protobuf:"bytes,6,opt,name=named_caches_install,json=namedCachesInstall,proto3" json:"named_caches_install,omitempty"`
  2608  	NamedCachesUninstall *OperationStats    `protobuf:"bytes,7,opt,name=named_caches_uninstall,json=namedCachesUninstall,proto3" json:"named_caches_uninstall,omitempty"`
  2609  	Cleanup              *OperationStats    `protobuf:"bytes,8,opt,name=cleanup,proto3" json:"cleanup,omitempty"`
  2610  }
  2611  
  2612  func (x *PerformanceStats) Reset() {
  2613  	*x = PerformanceStats{}
  2614  	if protoimpl.UnsafeEnabled {
  2615  		mi := &file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_msgTypes[22]
  2616  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  2617  		ms.StoreMessageInfo(mi)
  2618  	}
  2619  }
  2620  
  2621  func (x *PerformanceStats) String() string {
  2622  	return protoimpl.X.MessageStringOf(x)
  2623  }
  2624  
  2625  func (*PerformanceStats) ProtoMessage() {}
  2626  
  2627  func (x *PerformanceStats) ProtoReflect() protoreflect.Message {
  2628  	mi := &file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_msgTypes[22]
  2629  	if protoimpl.UnsafeEnabled && x != nil {
  2630  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  2631  		if ms.LoadMessageInfo() == nil {
  2632  			ms.StoreMessageInfo(mi)
  2633  		}
  2634  		return ms
  2635  	}
  2636  	return mi.MessageOf(x)
  2637  }
  2638  
  2639  // Deprecated: Use PerformanceStats.ProtoReflect.Descriptor instead.
  2640  func (*PerformanceStats) Descriptor() ([]byte, []int) {
  2641  	return file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_rawDescGZIP(), []int{22}
  2642  }
  2643  
  2644  func (x *PerformanceStats) GetBotOverhead() float32 {
  2645  	if x != nil {
  2646  		return x.BotOverhead
  2647  	}
  2648  	return 0
  2649  }
  2650  
  2651  func (x *PerformanceStats) GetIsolatedDownload() *CASOperationStats {
  2652  	if x != nil {
  2653  		return x.IsolatedDownload
  2654  	}
  2655  	return nil
  2656  }
  2657  
  2658  func (x *PerformanceStats) GetIsolatedUpload() *CASOperationStats {
  2659  	if x != nil {
  2660  		return x.IsolatedUpload
  2661  	}
  2662  	return nil
  2663  }
  2664  
  2665  func (x *PerformanceStats) GetPackageInstallation() *OperationStats {
  2666  	if x != nil {
  2667  		return x.PackageInstallation
  2668  	}
  2669  	return nil
  2670  }
  2671  
  2672  func (x *PerformanceStats) GetCacheTrim() *OperationStats {
  2673  	if x != nil {
  2674  		return x.CacheTrim
  2675  	}
  2676  	return nil
  2677  }
  2678  
  2679  func (x *PerformanceStats) GetNamedCachesInstall() *OperationStats {
  2680  	if x != nil {
  2681  		return x.NamedCachesInstall
  2682  	}
  2683  	return nil
  2684  }
  2685  
  2686  func (x *PerformanceStats) GetNamedCachesUninstall() *OperationStats {
  2687  	if x != nil {
  2688  		return x.NamedCachesUninstall
  2689  	}
  2690  	return nil
  2691  }
  2692  
  2693  func (x *PerformanceStats) GetCleanup() *OperationStats {
  2694  	if x != nil {
  2695  		return x.Cleanup
  2696  	}
  2697  	return nil
  2698  }
  2699  
  2700  // Result of a request to cancel a task.
  2701  type CancelResponse struct {
  2702  	state         protoimpl.MessageState
  2703  	sizeCache     protoimpl.SizeCache
  2704  	unknownFields protoimpl.UnknownFields
  2705  
  2706  	// True if the cancellation succeeded. Either the task atomically changed
  2707  	// from PENDING to CANCELED or it was RUNNING and killing bit has been set.
  2708  	Canceled bool `protobuf:"varint,1,opt,name=canceled,proto3" json:"canceled,omitempty"`
  2709  	// True if the task was running while it was canceled.
  2710  	WasRunning bool `protobuf:"varint,2,opt,name=was_running,json=wasRunning,proto3" json:"was_running,omitempty"`
  2711  }
  2712  
  2713  func (x *CancelResponse) Reset() {
  2714  	*x = CancelResponse{}
  2715  	if protoimpl.UnsafeEnabled {
  2716  		mi := &file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_msgTypes[23]
  2717  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  2718  		ms.StoreMessageInfo(mi)
  2719  	}
  2720  }
  2721  
  2722  func (x *CancelResponse) String() string {
  2723  	return protoimpl.X.MessageStringOf(x)
  2724  }
  2725  
  2726  func (*CancelResponse) ProtoMessage() {}
  2727  
  2728  func (x *CancelResponse) ProtoReflect() protoreflect.Message {
  2729  	mi := &file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_msgTypes[23]
  2730  	if protoimpl.UnsafeEnabled && x != nil {
  2731  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  2732  		if ms.LoadMessageInfo() == nil {
  2733  			ms.StoreMessageInfo(mi)
  2734  		}
  2735  		return ms
  2736  	}
  2737  	return mi.MessageOf(x)
  2738  }
  2739  
  2740  // Deprecated: Use CancelResponse.ProtoReflect.Descriptor instead.
  2741  func (*CancelResponse) Descriptor() ([]byte, []int) {
  2742  	return file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_rawDescGZIP(), []int{23}
  2743  }
  2744  
  2745  func (x *CancelResponse) GetCanceled() bool {
  2746  	if x != nil {
  2747  		return x.Canceled
  2748  	}
  2749  	return false
  2750  }
  2751  
  2752  func (x *CancelResponse) GetWasRunning() bool {
  2753  	if x != nil {
  2754  		return x.WasRunning
  2755  	}
  2756  	return false
  2757  }
  2758  
  2759  // Result of canceling some subset of pending tasks.
  2760  type TasksCancelResponse struct {
  2761  	state         protoimpl.MessageState
  2762  	sizeCache     protoimpl.SizeCache
  2763  	unknownFields protoimpl.UnknownFields
  2764  
  2765  	Cursor  string                 `protobuf:"bytes,1,opt,name=cursor,proto3" json:"cursor,omitempty"`
  2766  	Now     *timestamppb.Timestamp `protobuf:"bytes,2,opt,name=now,proto3" json:"now,omitempty"`
  2767  	Matched int32                  `protobuf:"varint,3,opt,name=matched,proto3" json:"matched,omitempty"`
  2768  }
  2769  
  2770  func (x *TasksCancelResponse) Reset() {
  2771  	*x = TasksCancelResponse{}
  2772  	if protoimpl.UnsafeEnabled {
  2773  		mi := &file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_msgTypes[24]
  2774  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  2775  		ms.StoreMessageInfo(mi)
  2776  	}
  2777  }
  2778  
  2779  func (x *TasksCancelResponse) String() string {
  2780  	return protoimpl.X.MessageStringOf(x)
  2781  }
  2782  
  2783  func (*TasksCancelResponse) ProtoMessage() {}
  2784  
  2785  func (x *TasksCancelResponse) ProtoReflect() protoreflect.Message {
  2786  	mi := &file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_msgTypes[24]
  2787  	if protoimpl.UnsafeEnabled && x != nil {
  2788  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  2789  		if ms.LoadMessageInfo() == nil {
  2790  			ms.StoreMessageInfo(mi)
  2791  		}
  2792  		return ms
  2793  	}
  2794  	return mi.MessageOf(x)
  2795  }
  2796  
  2797  // Deprecated: Use TasksCancelResponse.ProtoReflect.Descriptor instead.
  2798  func (*TasksCancelResponse) Descriptor() ([]byte, []int) {
  2799  	return file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_rawDescGZIP(), []int{24}
  2800  }
  2801  
  2802  func (x *TasksCancelResponse) GetCursor() string {
  2803  	if x != nil {
  2804  		return x.Cursor
  2805  	}
  2806  	return ""
  2807  }
  2808  
  2809  func (x *TasksCancelResponse) GetNow() *timestamppb.Timestamp {
  2810  	if x != nil {
  2811  		return x.Now
  2812  	}
  2813  	return nil
  2814  }
  2815  
  2816  func (x *TasksCancelResponse) GetMatched() int32 {
  2817  	if x != nil {
  2818  		return x.Matched
  2819  	}
  2820  	return 0
  2821  }
  2822  
  2823  // A task's output as a bytestring
  2824  type TaskOutputResponse struct {
  2825  	state         protoimpl.MessageState
  2826  	sizeCache     protoimpl.SizeCache
  2827  	unknownFields protoimpl.UnknownFields
  2828  
  2829  	Output []byte `protobuf:"bytes,1,opt,name=output,proto3" json:"output,omitempty"`
  2830  	// Current state of the task (e.g. PENDING, RUNNING, COMPLETED, EXPIRED, etc).
  2831  	State TaskState `protobuf:"varint,2,opt,name=state,proto3,enum=swarming.v2.TaskState" json:"state,omitempty"`
  2832  }
  2833  
  2834  func (x *TaskOutputResponse) Reset() {
  2835  	*x = TaskOutputResponse{}
  2836  	if protoimpl.UnsafeEnabled {
  2837  		mi := &file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_msgTypes[25]
  2838  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  2839  		ms.StoreMessageInfo(mi)
  2840  	}
  2841  }
  2842  
  2843  func (x *TaskOutputResponse) String() string {
  2844  	return protoimpl.X.MessageStringOf(x)
  2845  }
  2846  
  2847  func (*TaskOutputResponse) ProtoMessage() {}
  2848  
  2849  func (x *TaskOutputResponse) ProtoReflect() protoreflect.Message {
  2850  	mi := &file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_msgTypes[25]
  2851  	if protoimpl.UnsafeEnabled && x != nil {
  2852  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  2853  		if ms.LoadMessageInfo() == nil {
  2854  			ms.StoreMessageInfo(mi)
  2855  		}
  2856  		return ms
  2857  	}
  2858  	return mi.MessageOf(x)
  2859  }
  2860  
  2861  // Deprecated: Use TaskOutputResponse.ProtoReflect.Descriptor instead.
  2862  func (*TaskOutputResponse) Descriptor() ([]byte, []int) {
  2863  	return file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_rawDescGZIP(), []int{25}
  2864  }
  2865  
  2866  func (x *TaskOutputResponse) GetOutput() []byte {
  2867  	if x != nil {
  2868  		return x.Output
  2869  	}
  2870  	return nil
  2871  }
  2872  
  2873  func (x *TaskOutputResponse) GetState() TaskState {
  2874  	if x != nil {
  2875  		return x.State
  2876  	}
  2877  	return TaskState_INVALID
  2878  }
  2879  
  2880  // ResultDB related properties.
  2881  type ResultDBInfo struct {
  2882  	state         protoimpl.MessageState
  2883  	sizeCache     protoimpl.SizeCache
  2884  	unknownFields protoimpl.UnknownFields
  2885  
  2886  	// ResultDB hostname, e.g. "results.api.cr.dev"
  2887  	Hostname string `protobuf:"bytes,1,opt,name=hostname,proto3" json:"hostname,omitempty"`
  2888  	// e.g. "invocations/task-chromium-swarm.appspot.com-deadbeef1"
  2889  	//
  2890  	// If the task was deduplicated, this equals invocation name of the original
  2891  	// task.
  2892  	Invocation string `protobuf:"bytes,2,opt,name=invocation,proto3" json:"invocation,omitempty"`
  2893  }
  2894  
  2895  func (x *ResultDBInfo) Reset() {
  2896  	*x = ResultDBInfo{}
  2897  	if protoimpl.UnsafeEnabled {
  2898  		mi := &file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_msgTypes[26]
  2899  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  2900  		ms.StoreMessageInfo(mi)
  2901  	}
  2902  }
  2903  
  2904  func (x *ResultDBInfo) String() string {
  2905  	return protoimpl.X.MessageStringOf(x)
  2906  }
  2907  
  2908  func (*ResultDBInfo) ProtoMessage() {}
  2909  
  2910  func (x *ResultDBInfo) ProtoReflect() protoreflect.Message {
  2911  	mi := &file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_msgTypes[26]
  2912  	if protoimpl.UnsafeEnabled && x != nil {
  2913  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  2914  		if ms.LoadMessageInfo() == nil {
  2915  			ms.StoreMessageInfo(mi)
  2916  		}
  2917  		return ms
  2918  	}
  2919  	return mi.MessageOf(x)
  2920  }
  2921  
  2922  // Deprecated: Use ResultDBInfo.ProtoReflect.Descriptor instead.
  2923  func (*ResultDBInfo) Descriptor() ([]byte, []int) {
  2924  	return file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_rawDescGZIP(), []int{26}
  2925  }
  2926  
  2927  func (x *ResultDBInfo) GetHostname() string {
  2928  	if x != nil {
  2929  		return x.Hostname
  2930  	}
  2931  	return ""
  2932  }
  2933  
  2934  func (x *ResultDBInfo) GetInvocation() string {
  2935  	if x != nil {
  2936  		return x.Invocation
  2937  	}
  2938  	return ""
  2939  }
  2940  
  2941  // Representation of the TaskResultSummary or TaskRunResult ndb model.
  2942  type TaskResultResponse struct {
  2943  	state         protoimpl.MessageState
  2944  	sizeCache     protoimpl.SizeCache
  2945  	unknownFields protoimpl.UnknownFields
  2946  
  2947  	// Summary task ID (ending with '0') when creating a new task.
  2948  	TaskId string `protobuf:"bytes,1,opt,name=task_id,json=taskId,proto3" json:"task_id,omitempty"`
  2949  	// Time when the task was abandoned instead of normal completion (e.g.
  2950  	// EXPIRED, BOT_DIED, KILLED).
  2951  	//
  2952  	// The same key cannot be repeated.
  2953  	BotDimensions []*StringListPair `protobuf:"bytes,2,rep,name=bot_dimensions,json=botDimensions,proto3" json:"bot_dimensions,omitempty"`
  2954  	// Unique ID of the bot.
  2955  	BotId string `protobuf:"bytes,3,opt,name=bot_id,json=botId,proto3" json:"bot_id,omitempty"`
  2956  	// Time the bot became ready for a next task.
  2957  	BotIdleSinceTs *timestamppb.Timestamp `protobuf:"bytes,4,opt,name=bot_idle_since_ts,json=botIdleSinceTs,proto3" json:"bot_idle_since_ts,omitempty"`
  2958  	// Hash of the bot code which ran the task.
  2959  	BotVersion string `protobuf:"bytes,5,opt,name=bot_version,json=botVersion,proto3" json:"bot_version,omitempty"`
  2960  	// The cloud project id where the bot saves its logs.
  2961  	BotLogsCloudProject string `protobuf:"bytes,6,opt,name=bot_logs_cloud_project,json=botLogsCloudProject,proto3" json:"bot_logs_cloud_project,omitempty"`
  2962  	// Time the task completed normally. Only one of abandoned_ts or completed_ts
  2963  	// can be set except for state == KILLED.
  2964  	//
  2965  	// In case of KILLED, completed_ts is the time the task completed.
  2966  	CompletedTs *timestamppb.Timestamp `protobuf:"bytes,8,opt,name=completed_ts,json=completedTs,proto3" json:"completed_ts,omitempty"`
  2967  	// $ saved for task with state DEDUPED.
  2968  	CostSavedUsd float32 `protobuf:"fixed32,9,opt,name=cost_saved_usd,json=costSavedUsd,proto3" json:"cost_saved_usd,omitempty"`
  2969  	// Time the task was requested.
  2970  	CreatedTs *timestamppb.Timestamp `protobuf:"bytes,10,opt,name=created_ts,json=createdTs,proto3" json:"created_ts,omitempty"`
  2971  	// Task ID which results was reused for state DEDUPED.
  2972  	DedupedFrom string `protobuf:"bytes,11,opt,name=deduped_from,json=dedupedFrom,proto3" json:"deduped_from,omitempty"`
  2973  	// Duration of the task in seconds. This excludes overheads.
  2974  	Duration float32 `protobuf:"fixed32,12,opt,name=duration,proto3" json:"duration,omitempty"`
  2975  	// Process exit code if relevant. May be forcibly set to -1 in exceptional
  2976  	// cases.
  2977  	ExitCode int64 `protobuf:"varint,13,opt,name=exit_code,json=exitCode,proto3" json:"exit_code,omitempty"`
  2978  	// True if exit_code != 0.
  2979  	Failure bool `protobuf:"varint,14,opt,name=failure,proto3" json:"failure,omitempty"`
  2980  	// True if state is BOT_DIED.
  2981  	InternalFailure bool `protobuf:"varint,15,opt,name=internal_failure,json=internalFailure,proto3" json:"internal_failure,omitempty"`
  2982  	// Time the results was last updated in the DB.
  2983  	ModifiedTs *timestamppb.Timestamp `protobuf:"bytes,16,opt,name=modified_ts,json=modifiedTs,proto3" json:"modified_ts,omitempty"`
  2984  	// CAS Digest of the output root uploaded to RBE-CAS.
  2985  	// This MUST be digest of [build.bazel.remote.execution.v2.Directory].
  2986  	CasOutputRoot *CASReference `protobuf:"bytes,17,opt,name=cas_output_root,json=casOutputRoot,proto3" json:"cas_output_root,omitempty"`
  2987  	// Server versions that touched this task.
  2988  	ServerVersions []string `protobuf:"bytes,18,rep,name=server_versions,json=serverVersions,proto3" json:"server_versions,omitempty"`
  2989  	// Time the task started being run by a bot.
  2990  	StartedTs *timestamppb.Timestamp `protobuf:"bytes,19,opt,name=started_ts,json=startedTs,proto3" json:"started_ts,omitempty"`
  2991  	// Current state of the task (e.g. PENDING, RUNNING, COMPLETED, EXPIRED, etc).
  2992  	State TaskState `protobuf:"varint,20,opt,name=state,proto3,enum=swarming.v2.TaskState" json:"state,omitempty"`
  2993  	// In the case of KILLED, this records the time the user requested the task to
  2994  	// stop.
  2995  	AbandonedTs *timestamppb.Timestamp `protobuf:"bytes,21,opt,name=abandoned_ts,json=abandonedTs,proto3" json:"abandoned_ts,omitempty"`
  2996  	// Can be multiple values only in TaskResultSummary.
  2997  	CostsUsd []float32 `protobuf:"fixed32,22,rep,packed,name=costs_usd,json=costsUsd,proto3" json:"costs_usd,omitempty"`
  2998  	// Name of the task. Only set when requesting task ID summary, ending with '0'.
  2999  	Name string `protobuf:"bytes,23,opt,name=name,proto3" json:"name,omitempty"`
  3000  	// Tags associated with the task when it was requested. Only set when
  3001  	// requesting task ID summary, ending with '0'.
  3002  	Tags []string `protobuf:"bytes,24,rep,name=tags,proto3" json:"tags,omitempty"`
  3003  	// User on behalf this task was requested. Only set when requesting task ID
  3004  	// summary, ending with '0'.
  3005  	User string `protobuf:"bytes,25,opt,name=user,proto3" json:"user,omitempty"`
  3006  	// Statistics about overhead for an isolated task. Only sent when requested.
  3007  	PerformanceStats *PerformanceStats `protobuf:"bytes,26,opt,name=performance_stats,json=performanceStats,proto3" json:"performance_stats,omitempty"`
  3008  	// Listing of the ACTUAL pinned CipdPackages that the task used. These can vary
  3009  	// from the input packages if the inputs included non-identity versions (e.g. a
  3010  	// ref like "latest").
  3011  	CipdPins *CipdPins `protobuf:"bytes,27,opt,name=cipd_pins,json=cipdPins,proto3" json:"cipd_pins,omitempty"`
  3012  	// Actual executed task id that this task represents. For deduped tasks, it is
  3013  	// the same value as deduped_from. This value can be empty if there is no
  3014  	// execution, for example the task was cancelled.
  3015  	RunId string `protobuf:"bytes,28,opt,name=run_id,json=runId,proto3" json:"run_id,omitempty"`
  3016  	// Index in the TaskRequest.task_slices (TaskSlice instance) that this result
  3017  	// represents. This is updated when a TaskSlice is enqueued to run.
  3018  	//
  3019  	// The TaskSlice contains a TaskProperties, which defines what is run.
  3020  	CurrentTaskSlice int32 `protobuf:"varint,29,opt,name=current_task_slice,json=currentTaskSlice,proto3" json:"current_task_slice,omitempty"`
  3021  	// ResultDB related information.
  3022  	// None if the integration was not enabled for this task.
  3023  	ResultdbInfo *ResultDBInfo `protobuf:"bytes,30,opt,name=resultdb_info,json=resultdbInfo,proto3" json:"resultdb_info,omitempty"`
  3024  	// Reported missing CAS packages on CLIENT_ERROR state
  3025  	MissingCas []*CASReference `protobuf:"bytes,31,rep,name=missing_cas,json=missingCas,proto3" json:"missing_cas,omitempty"`
  3026  	// Reported missing CIPD packages on CLIENT_ERROR state
  3027  	MissingCipd []*CipdPackage `protobuf:"bytes,32,rep,name=missing_cipd,json=missingCipd,proto3" json:"missing_cipd,omitempty"`
  3028  }
  3029  
  3030  func (x *TaskResultResponse) Reset() {
  3031  	*x = TaskResultResponse{}
  3032  	if protoimpl.UnsafeEnabled {
  3033  		mi := &file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_msgTypes[27]
  3034  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  3035  		ms.StoreMessageInfo(mi)
  3036  	}
  3037  }
  3038  
  3039  func (x *TaskResultResponse) String() string {
  3040  	return protoimpl.X.MessageStringOf(x)
  3041  }
  3042  
  3043  func (*TaskResultResponse) ProtoMessage() {}
  3044  
  3045  func (x *TaskResultResponse) ProtoReflect() protoreflect.Message {
  3046  	mi := &file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_msgTypes[27]
  3047  	if protoimpl.UnsafeEnabled && x != nil {
  3048  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  3049  		if ms.LoadMessageInfo() == nil {
  3050  			ms.StoreMessageInfo(mi)
  3051  		}
  3052  		return ms
  3053  	}
  3054  	return mi.MessageOf(x)
  3055  }
  3056  
  3057  // Deprecated: Use TaskResultResponse.ProtoReflect.Descriptor instead.
  3058  func (*TaskResultResponse) Descriptor() ([]byte, []int) {
  3059  	return file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_rawDescGZIP(), []int{27}
  3060  }
  3061  
  3062  func (x *TaskResultResponse) GetTaskId() string {
  3063  	if x != nil {
  3064  		return x.TaskId
  3065  	}
  3066  	return ""
  3067  }
  3068  
  3069  func (x *TaskResultResponse) GetBotDimensions() []*StringListPair {
  3070  	if x != nil {
  3071  		return x.BotDimensions
  3072  	}
  3073  	return nil
  3074  }
  3075  
  3076  func (x *TaskResultResponse) GetBotId() string {
  3077  	if x != nil {
  3078  		return x.BotId
  3079  	}
  3080  	return ""
  3081  }
  3082  
  3083  func (x *TaskResultResponse) GetBotIdleSinceTs() *timestamppb.Timestamp {
  3084  	if x != nil {
  3085  		return x.BotIdleSinceTs
  3086  	}
  3087  	return nil
  3088  }
  3089  
  3090  func (x *TaskResultResponse) GetBotVersion() string {
  3091  	if x != nil {
  3092  		return x.BotVersion
  3093  	}
  3094  	return ""
  3095  }
  3096  
  3097  func (x *TaskResultResponse) GetBotLogsCloudProject() string {
  3098  	if x != nil {
  3099  		return x.BotLogsCloudProject
  3100  	}
  3101  	return ""
  3102  }
  3103  
  3104  func (x *TaskResultResponse) GetCompletedTs() *timestamppb.Timestamp {
  3105  	if x != nil {
  3106  		return x.CompletedTs
  3107  	}
  3108  	return nil
  3109  }
  3110  
  3111  func (x *TaskResultResponse) GetCostSavedUsd() float32 {
  3112  	if x != nil {
  3113  		return x.CostSavedUsd
  3114  	}
  3115  	return 0
  3116  }
  3117  
  3118  func (x *TaskResultResponse) GetCreatedTs() *timestamppb.Timestamp {
  3119  	if x != nil {
  3120  		return x.CreatedTs
  3121  	}
  3122  	return nil
  3123  }
  3124  
  3125  func (x *TaskResultResponse) GetDedupedFrom() string {
  3126  	if x != nil {
  3127  		return x.DedupedFrom
  3128  	}
  3129  	return ""
  3130  }
  3131  
  3132  func (x *TaskResultResponse) GetDuration() float32 {
  3133  	if x != nil {
  3134  		return x.Duration
  3135  	}
  3136  	return 0
  3137  }
  3138  
  3139  func (x *TaskResultResponse) GetExitCode() int64 {
  3140  	if x != nil {
  3141  		return x.ExitCode
  3142  	}
  3143  	return 0
  3144  }
  3145  
  3146  func (x *TaskResultResponse) GetFailure() bool {
  3147  	if x != nil {
  3148  		return x.Failure
  3149  	}
  3150  	return false
  3151  }
  3152  
  3153  func (x *TaskResultResponse) GetInternalFailure() bool {
  3154  	if x != nil {
  3155  		return x.InternalFailure
  3156  	}
  3157  	return false
  3158  }
  3159  
  3160  func (x *TaskResultResponse) GetModifiedTs() *timestamppb.Timestamp {
  3161  	if x != nil {
  3162  		return x.ModifiedTs
  3163  	}
  3164  	return nil
  3165  }
  3166  
  3167  func (x *TaskResultResponse) GetCasOutputRoot() *CASReference {
  3168  	if x != nil {
  3169  		return x.CasOutputRoot
  3170  	}
  3171  	return nil
  3172  }
  3173  
  3174  func (x *TaskResultResponse) GetServerVersions() []string {
  3175  	if x != nil {
  3176  		return x.ServerVersions
  3177  	}
  3178  	return nil
  3179  }
  3180  
  3181  func (x *TaskResultResponse) GetStartedTs() *timestamppb.Timestamp {
  3182  	if x != nil {
  3183  		return x.StartedTs
  3184  	}
  3185  	return nil
  3186  }
  3187  
  3188  func (x *TaskResultResponse) GetState() TaskState {
  3189  	if x != nil {
  3190  		return x.State
  3191  	}
  3192  	return TaskState_INVALID
  3193  }
  3194  
  3195  func (x *TaskResultResponse) GetAbandonedTs() *timestamppb.Timestamp {
  3196  	if x != nil {
  3197  		return x.AbandonedTs
  3198  	}
  3199  	return nil
  3200  }
  3201  
  3202  func (x *TaskResultResponse) GetCostsUsd() []float32 {
  3203  	if x != nil {
  3204  		return x.CostsUsd
  3205  	}
  3206  	return nil
  3207  }
  3208  
  3209  func (x *TaskResultResponse) GetName() string {
  3210  	if x != nil {
  3211  		return x.Name
  3212  	}
  3213  	return ""
  3214  }
  3215  
  3216  func (x *TaskResultResponse) GetTags() []string {
  3217  	if x != nil {
  3218  		return x.Tags
  3219  	}
  3220  	return nil
  3221  }
  3222  
  3223  func (x *TaskResultResponse) GetUser() string {
  3224  	if x != nil {
  3225  		return x.User
  3226  	}
  3227  	return ""
  3228  }
  3229  
  3230  func (x *TaskResultResponse) GetPerformanceStats() *PerformanceStats {
  3231  	if x != nil {
  3232  		return x.PerformanceStats
  3233  	}
  3234  	return nil
  3235  }
  3236  
  3237  func (x *TaskResultResponse) GetCipdPins() *CipdPins {
  3238  	if x != nil {
  3239  		return x.CipdPins
  3240  	}
  3241  	return nil
  3242  }
  3243  
  3244  func (x *TaskResultResponse) GetRunId() string {
  3245  	if x != nil {
  3246  		return x.RunId
  3247  	}
  3248  	return ""
  3249  }
  3250  
  3251  func (x *TaskResultResponse) GetCurrentTaskSlice() int32 {
  3252  	if x != nil {
  3253  		return x.CurrentTaskSlice
  3254  	}
  3255  	return 0
  3256  }
  3257  
  3258  func (x *TaskResultResponse) GetResultdbInfo() *ResultDBInfo {
  3259  	if x != nil {
  3260  		return x.ResultdbInfo
  3261  	}
  3262  	return nil
  3263  }
  3264  
  3265  func (x *TaskResultResponse) GetMissingCas() []*CASReference {
  3266  	if x != nil {
  3267  		return x.MissingCas
  3268  	}
  3269  	return nil
  3270  }
  3271  
  3272  func (x *TaskResultResponse) GetMissingCipd() []*CipdPackage {
  3273  	if x != nil {
  3274  		return x.MissingCipd
  3275  	}
  3276  	return nil
  3277  }
  3278  
  3279  // Only holds states. Used in the 'get_states' RPC.
  3280  type TaskStates struct {
  3281  	state         protoimpl.MessageState
  3282  	sizeCache     protoimpl.SizeCache
  3283  	unknownFields protoimpl.UnknownFields
  3284  
  3285  	States []TaskState `protobuf:"varint,1,rep,packed,name=states,proto3,enum=swarming.v2.TaskState" json:"states,omitempty"`
  3286  }
  3287  
  3288  func (x *TaskStates) Reset() {
  3289  	*x = TaskStates{}
  3290  	if protoimpl.UnsafeEnabled {
  3291  		mi := &file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_msgTypes[28]
  3292  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  3293  		ms.StoreMessageInfo(mi)
  3294  	}
  3295  }
  3296  
  3297  func (x *TaskStates) String() string {
  3298  	return protoimpl.X.MessageStringOf(x)
  3299  }
  3300  
  3301  func (*TaskStates) ProtoMessage() {}
  3302  
  3303  func (x *TaskStates) ProtoReflect() protoreflect.Message {
  3304  	mi := &file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_msgTypes[28]
  3305  	if protoimpl.UnsafeEnabled && x != nil {
  3306  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  3307  		if ms.LoadMessageInfo() == nil {
  3308  			ms.StoreMessageInfo(mi)
  3309  		}
  3310  		return ms
  3311  	}
  3312  	return mi.MessageOf(x)
  3313  }
  3314  
  3315  // Deprecated: Use TaskStates.ProtoReflect.Descriptor instead.
  3316  func (*TaskStates) Descriptor() ([]byte, []int) {
  3317  	return file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_rawDescGZIP(), []int{28}
  3318  }
  3319  
  3320  func (x *TaskStates) GetStates() []TaskState {
  3321  	if x != nil {
  3322  		return x.States
  3323  	}
  3324  	return nil
  3325  }
  3326  
  3327  // Wraps a list of TaskResult.
  3328  type TaskListResponse struct {
  3329  	state         protoimpl.MessageState
  3330  	sizeCache     protoimpl.SizeCache
  3331  	unknownFields protoimpl.UnknownFields
  3332  
  3333  	Cursor string                 `protobuf:"bytes,1,opt,name=cursor,proto3" json:"cursor,omitempty"`
  3334  	Items  []*TaskResultResponse  `protobuf:"bytes,2,rep,name=items,proto3" json:"items,omitempty"`
  3335  	Now    *timestamppb.Timestamp `protobuf:"bytes,3,opt,name=now,proto3" json:"now,omitempty"`
  3336  }
  3337  
  3338  func (x *TaskListResponse) Reset() {
  3339  	*x = TaskListResponse{}
  3340  	if protoimpl.UnsafeEnabled {
  3341  		mi := &file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_msgTypes[29]
  3342  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  3343  		ms.StoreMessageInfo(mi)
  3344  	}
  3345  }
  3346  
  3347  func (x *TaskListResponse) String() string {
  3348  	return protoimpl.X.MessageStringOf(x)
  3349  }
  3350  
  3351  func (*TaskListResponse) ProtoMessage() {}
  3352  
  3353  func (x *TaskListResponse) ProtoReflect() protoreflect.Message {
  3354  	mi := &file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_msgTypes[29]
  3355  	if protoimpl.UnsafeEnabled && x != nil {
  3356  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  3357  		if ms.LoadMessageInfo() == nil {
  3358  			ms.StoreMessageInfo(mi)
  3359  		}
  3360  		return ms
  3361  	}
  3362  	return mi.MessageOf(x)
  3363  }
  3364  
  3365  // Deprecated: Use TaskListResponse.ProtoReflect.Descriptor instead.
  3366  func (*TaskListResponse) Descriptor() ([]byte, []int) {
  3367  	return file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_rawDescGZIP(), []int{29}
  3368  }
  3369  
  3370  func (x *TaskListResponse) GetCursor() string {
  3371  	if x != nil {
  3372  		return x.Cursor
  3373  	}
  3374  	return ""
  3375  }
  3376  
  3377  func (x *TaskListResponse) GetItems() []*TaskResultResponse {
  3378  	if x != nil {
  3379  		return x.Items
  3380  	}
  3381  	return nil
  3382  }
  3383  
  3384  func (x *TaskListResponse) GetNow() *timestamppb.Timestamp {
  3385  	if x != nil {
  3386  		return x.Now
  3387  	}
  3388  	return nil
  3389  }
  3390  
  3391  // Wraps a list of TaskRequest.
  3392  type TaskRequestsResponse struct {
  3393  	state         protoimpl.MessageState
  3394  	sizeCache     protoimpl.SizeCache
  3395  	unknownFields protoimpl.UnknownFields
  3396  
  3397  	Cursor string                 `protobuf:"bytes,1,opt,name=cursor,proto3" json:"cursor,omitempty"`
  3398  	Items  []*TaskRequestResponse `protobuf:"bytes,2,rep,name=items,proto3" json:"items,omitempty"`
  3399  	Now    *timestamppb.Timestamp `protobuf:"bytes,3,opt,name=now,proto3" json:"now,omitempty"`
  3400  }
  3401  
  3402  func (x *TaskRequestsResponse) Reset() {
  3403  	*x = TaskRequestsResponse{}
  3404  	if protoimpl.UnsafeEnabled {
  3405  		mi := &file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_msgTypes[30]
  3406  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  3407  		ms.StoreMessageInfo(mi)
  3408  	}
  3409  }
  3410  
  3411  func (x *TaskRequestsResponse) String() string {
  3412  	return protoimpl.X.MessageStringOf(x)
  3413  }
  3414  
  3415  func (*TaskRequestsResponse) ProtoMessage() {}
  3416  
  3417  func (x *TaskRequestsResponse) ProtoReflect() protoreflect.Message {
  3418  	mi := &file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_msgTypes[30]
  3419  	if protoimpl.UnsafeEnabled && x != nil {
  3420  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  3421  		if ms.LoadMessageInfo() == nil {
  3422  			ms.StoreMessageInfo(mi)
  3423  		}
  3424  		return ms
  3425  	}
  3426  	return mi.MessageOf(x)
  3427  }
  3428  
  3429  // Deprecated: Use TaskRequestsResponse.ProtoReflect.Descriptor instead.
  3430  func (*TaskRequestsResponse) Descriptor() ([]byte, []int) {
  3431  	return file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_rawDescGZIP(), []int{30}
  3432  }
  3433  
  3434  func (x *TaskRequestsResponse) GetCursor() string {
  3435  	if x != nil {
  3436  		return x.Cursor
  3437  	}
  3438  	return ""
  3439  }
  3440  
  3441  func (x *TaskRequestsResponse) GetItems() []*TaskRequestResponse {
  3442  	if x != nil {
  3443  		return x.Items
  3444  	}
  3445  	return nil
  3446  }
  3447  
  3448  func (x *TaskRequestsResponse) GetNow() *timestamppb.Timestamp {
  3449  	if x != nil {
  3450  		return x.Now
  3451  	}
  3452  	return nil
  3453  }
  3454  
  3455  // Returns the count, as requested.
  3456  type TasksCount struct {
  3457  	state         protoimpl.MessageState
  3458  	sizeCache     protoimpl.SizeCache
  3459  	unknownFields protoimpl.UnknownFields
  3460  
  3461  	Count int32                  `protobuf:"varint,1,opt,name=count,proto3" json:"count,omitempty"`
  3462  	Now   *timestamppb.Timestamp `protobuf:"bytes,2,opt,name=now,proto3" json:"now,omitempty"`
  3463  }
  3464  
  3465  func (x *TasksCount) Reset() {
  3466  	*x = TasksCount{}
  3467  	if protoimpl.UnsafeEnabled {
  3468  		mi := &file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_msgTypes[31]
  3469  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  3470  		ms.StoreMessageInfo(mi)
  3471  	}
  3472  }
  3473  
  3474  func (x *TasksCount) String() string {
  3475  	return protoimpl.X.MessageStringOf(x)
  3476  }
  3477  
  3478  func (*TasksCount) ProtoMessage() {}
  3479  
  3480  func (x *TasksCount) ProtoReflect() protoreflect.Message {
  3481  	mi := &file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_msgTypes[31]
  3482  	if protoimpl.UnsafeEnabled && x != nil {
  3483  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  3484  		if ms.LoadMessageInfo() == nil {
  3485  			ms.StoreMessageInfo(mi)
  3486  		}
  3487  		return ms
  3488  	}
  3489  	return mi.MessageOf(x)
  3490  }
  3491  
  3492  // Deprecated: Use TasksCount.ProtoReflect.Descriptor instead.
  3493  func (*TasksCount) Descriptor() ([]byte, []int) {
  3494  	return file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_rawDescGZIP(), []int{31}
  3495  }
  3496  
  3497  func (x *TasksCount) GetCount() int32 {
  3498  	if x != nil {
  3499  		return x.Count
  3500  	}
  3501  	return 0
  3502  }
  3503  
  3504  func (x *TasksCount) GetNow() *timestamppb.Timestamp {
  3505  	if x != nil {
  3506  		return x.Now
  3507  	}
  3508  	return nil
  3509  }
  3510  
  3511  // Provides the ID of the requested TaskRequest.
  3512  type TaskRequestMetadataResponse struct {
  3513  	state         protoimpl.MessageState
  3514  	sizeCache     protoimpl.SizeCache
  3515  	unknownFields protoimpl.UnknownFields
  3516  
  3517  	TaskId  string               `protobuf:"bytes,1,opt,name=task_id,json=taskId,proto3" json:"task_id,omitempty"`
  3518  	Request *TaskRequestResponse `protobuf:"bytes,2,opt,name=request,proto3" json:"request,omitempty"`
  3519  	// Set to finished task result in case task was deduplicated.
  3520  	TaskResult *TaskResultResponse `protobuf:"bytes,3,opt,name=task_result,json=taskResult,proto3" json:"task_result,omitempty"`
  3521  }
  3522  
  3523  func (x *TaskRequestMetadataResponse) Reset() {
  3524  	*x = TaskRequestMetadataResponse{}
  3525  	if protoimpl.UnsafeEnabled {
  3526  		mi := &file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_msgTypes[32]
  3527  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  3528  		ms.StoreMessageInfo(mi)
  3529  	}
  3530  }
  3531  
  3532  func (x *TaskRequestMetadataResponse) String() string {
  3533  	return protoimpl.X.MessageStringOf(x)
  3534  }
  3535  
  3536  func (*TaskRequestMetadataResponse) ProtoMessage() {}
  3537  
  3538  func (x *TaskRequestMetadataResponse) ProtoReflect() protoreflect.Message {
  3539  	mi := &file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_msgTypes[32]
  3540  	if protoimpl.UnsafeEnabled && x != nil {
  3541  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  3542  		if ms.LoadMessageInfo() == nil {
  3543  			ms.StoreMessageInfo(mi)
  3544  		}
  3545  		return ms
  3546  	}
  3547  	return mi.MessageOf(x)
  3548  }
  3549  
  3550  // Deprecated: Use TaskRequestMetadataResponse.ProtoReflect.Descriptor instead.
  3551  func (*TaskRequestMetadataResponse) Descriptor() ([]byte, []int) {
  3552  	return file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_rawDescGZIP(), []int{32}
  3553  }
  3554  
  3555  func (x *TaskRequestMetadataResponse) GetTaskId() string {
  3556  	if x != nil {
  3557  		return x.TaskId
  3558  	}
  3559  	return ""
  3560  }
  3561  
  3562  func (x *TaskRequestMetadataResponse) GetRequest() *TaskRequestResponse {
  3563  	if x != nil {
  3564  		return x.Request
  3565  	}
  3566  	return nil
  3567  }
  3568  
  3569  func (x *TaskRequestMetadataResponse) GetTaskResult() *TaskResultResponse {
  3570  	if x != nil {
  3571  		return x.TaskResult
  3572  	}
  3573  	return nil
  3574  }
  3575  
  3576  // Representation of the BotInfo ndb model.
  3577  type BotInfo struct {
  3578  	state         protoimpl.MessageState
  3579  	sizeCache     protoimpl.SizeCache
  3580  	unknownFields protoimpl.UnknownFields
  3581  
  3582  	BotId           string                 `protobuf:"bytes,1,opt,name=bot_id,json=botId,proto3" json:"bot_id,omitempty"`
  3583  	TaskId          string                 `protobuf:"bytes,2,opt,name=task_id,json=taskId,proto3" json:"task_id,omitempty"`
  3584  	ExternalIp      string                 `protobuf:"bytes,3,opt,name=external_ip,json=externalIp,proto3" json:"external_ip,omitempty"`
  3585  	AuthenticatedAs string                 `protobuf:"bytes,4,opt,name=authenticated_as,json=authenticatedAs,proto3" json:"authenticated_as,omitempty"`
  3586  	FirstSeenTs     *timestamppb.Timestamp `protobuf:"bytes,5,opt,name=first_seen_ts,json=firstSeenTs,proto3" json:"first_seen_ts,omitempty"`
  3587  	IsDead          bool                   `protobuf:"varint,6,opt,name=is_dead,json=isDead,proto3" json:"is_dead,omitempty"`
  3588  	LastSeenTs      *timestamppb.Timestamp `protobuf:"bytes,7,opt,name=last_seen_ts,json=lastSeenTs,proto3" json:"last_seen_ts,omitempty"`
  3589  	Quarantined     bool                   `protobuf:"varint,8,opt,name=quarantined,proto3" json:"quarantined,omitempty"`
  3590  	MaintenanceMsg  string                 `protobuf:"bytes,9,opt,name=maintenance_msg,json=maintenanceMsg,proto3" json:"maintenance_msg,omitempty"`
  3591  	Dimensions      []*StringListPair      `protobuf:"bytes,10,rep,name=dimensions,proto3" json:"dimensions,omitempty"`
  3592  	TaskName        string                 `protobuf:"bytes,11,opt,name=task_name,json=taskName,proto3" json:"task_name,omitempty"`
  3593  	Version         string                 `protobuf:"bytes,12,opt,name=version,proto3" json:"version,omitempty"`
  3594  	// Encoded as json since it's an arbitrary dict.
  3595  	State   string `protobuf:"bytes,13,opt,name=state,proto3" json:"state,omitempty"`
  3596  	Deleted bool   `protobuf:"varint,14,opt,name=deleted,proto3" json:"deleted,omitempty"`
  3597  }
  3598  
  3599  func (x *BotInfo) Reset() {
  3600  	*x = BotInfo{}
  3601  	if protoimpl.UnsafeEnabled {
  3602  		mi := &file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_msgTypes[33]
  3603  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  3604  		ms.StoreMessageInfo(mi)
  3605  	}
  3606  }
  3607  
  3608  func (x *BotInfo) String() string {
  3609  	return protoimpl.X.MessageStringOf(x)
  3610  }
  3611  
  3612  func (*BotInfo) ProtoMessage() {}
  3613  
  3614  func (x *BotInfo) ProtoReflect() protoreflect.Message {
  3615  	mi := &file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_msgTypes[33]
  3616  	if protoimpl.UnsafeEnabled && x != nil {
  3617  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  3618  		if ms.LoadMessageInfo() == nil {
  3619  			ms.StoreMessageInfo(mi)
  3620  		}
  3621  		return ms
  3622  	}
  3623  	return mi.MessageOf(x)
  3624  }
  3625  
  3626  // Deprecated: Use BotInfo.ProtoReflect.Descriptor instead.
  3627  func (*BotInfo) Descriptor() ([]byte, []int) {
  3628  	return file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_rawDescGZIP(), []int{33}
  3629  }
  3630  
  3631  func (x *BotInfo) GetBotId() string {
  3632  	if x != nil {
  3633  		return x.BotId
  3634  	}
  3635  	return ""
  3636  }
  3637  
  3638  func (x *BotInfo) GetTaskId() string {
  3639  	if x != nil {
  3640  		return x.TaskId
  3641  	}
  3642  	return ""
  3643  }
  3644  
  3645  func (x *BotInfo) GetExternalIp() string {
  3646  	if x != nil {
  3647  		return x.ExternalIp
  3648  	}
  3649  	return ""
  3650  }
  3651  
  3652  func (x *BotInfo) GetAuthenticatedAs() string {
  3653  	if x != nil {
  3654  		return x.AuthenticatedAs
  3655  	}
  3656  	return ""
  3657  }
  3658  
  3659  func (x *BotInfo) GetFirstSeenTs() *timestamppb.Timestamp {
  3660  	if x != nil {
  3661  		return x.FirstSeenTs
  3662  	}
  3663  	return nil
  3664  }
  3665  
  3666  func (x *BotInfo) GetIsDead() bool {
  3667  	if x != nil {
  3668  		return x.IsDead
  3669  	}
  3670  	return false
  3671  }
  3672  
  3673  func (x *BotInfo) GetLastSeenTs() *timestamppb.Timestamp {
  3674  	if x != nil {
  3675  		return x.LastSeenTs
  3676  	}
  3677  	return nil
  3678  }
  3679  
  3680  func (x *BotInfo) GetQuarantined() bool {
  3681  	if x != nil {
  3682  		return x.Quarantined
  3683  	}
  3684  	return false
  3685  }
  3686  
  3687  func (x *BotInfo) GetMaintenanceMsg() string {
  3688  	if x != nil {
  3689  		return x.MaintenanceMsg
  3690  	}
  3691  	return ""
  3692  }
  3693  
  3694  func (x *BotInfo) GetDimensions() []*StringListPair {
  3695  	if x != nil {
  3696  		return x.Dimensions
  3697  	}
  3698  	return nil
  3699  }
  3700  
  3701  func (x *BotInfo) GetTaskName() string {
  3702  	if x != nil {
  3703  		return x.TaskName
  3704  	}
  3705  	return ""
  3706  }
  3707  
  3708  func (x *BotInfo) GetVersion() string {
  3709  	if x != nil {
  3710  		return x.Version
  3711  	}
  3712  	return ""
  3713  }
  3714  
  3715  func (x *BotInfo) GetState() string {
  3716  	if x != nil {
  3717  		return x.State
  3718  	}
  3719  	return ""
  3720  }
  3721  
  3722  func (x *BotInfo) GetDeleted() bool {
  3723  	if x != nil {
  3724  		return x.Deleted
  3725  	}
  3726  	return false
  3727  }
  3728  
  3729  // Wraps a list of BotInfo.
  3730  type BotInfoListResponse struct {
  3731  	state         protoimpl.MessageState
  3732  	sizeCache     protoimpl.SizeCache
  3733  	unknownFields protoimpl.UnknownFields
  3734  
  3735  	Cursor       string                 `protobuf:"bytes,1,opt,name=cursor,proto3" json:"cursor,omitempty"`
  3736  	Items        []*BotInfo             `protobuf:"bytes,2,rep,name=items,proto3" json:"items,omitempty"`
  3737  	Now          *timestamppb.Timestamp `protobuf:"bytes,3,opt,name=now,proto3" json:"now,omitempty"`
  3738  	DeathTimeout int32                  `protobuf:"varint,4,opt,name=death_timeout,json=deathTimeout,proto3" json:"death_timeout,omitempty"`
  3739  }
  3740  
  3741  func (x *BotInfoListResponse) Reset() {
  3742  	*x = BotInfoListResponse{}
  3743  	if protoimpl.UnsafeEnabled {
  3744  		mi := &file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_msgTypes[34]
  3745  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  3746  		ms.StoreMessageInfo(mi)
  3747  	}
  3748  }
  3749  
  3750  func (x *BotInfoListResponse) String() string {
  3751  	return protoimpl.X.MessageStringOf(x)
  3752  }
  3753  
  3754  func (*BotInfoListResponse) ProtoMessage() {}
  3755  
  3756  func (x *BotInfoListResponse) ProtoReflect() protoreflect.Message {
  3757  	mi := &file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_msgTypes[34]
  3758  	if protoimpl.UnsafeEnabled && x != nil {
  3759  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  3760  		if ms.LoadMessageInfo() == nil {
  3761  			ms.StoreMessageInfo(mi)
  3762  		}
  3763  		return ms
  3764  	}
  3765  	return mi.MessageOf(x)
  3766  }
  3767  
  3768  // Deprecated: Use BotInfoListResponse.ProtoReflect.Descriptor instead.
  3769  func (*BotInfoListResponse) Descriptor() ([]byte, []int) {
  3770  	return file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_rawDescGZIP(), []int{34}
  3771  }
  3772  
  3773  func (x *BotInfoListResponse) GetCursor() string {
  3774  	if x != nil {
  3775  		return x.Cursor
  3776  	}
  3777  	return ""
  3778  }
  3779  
  3780  func (x *BotInfoListResponse) GetItems() []*BotInfo {
  3781  	if x != nil {
  3782  		return x.Items
  3783  	}
  3784  	return nil
  3785  }
  3786  
  3787  func (x *BotInfoListResponse) GetNow() *timestamppb.Timestamp {
  3788  	if x != nil {
  3789  		return x.Now
  3790  	}
  3791  	return nil
  3792  }
  3793  
  3794  func (x *BotInfoListResponse) GetDeathTimeout() int32 {
  3795  	if x != nil {
  3796  		return x.DeathTimeout
  3797  	}
  3798  	return 0
  3799  }
  3800  
  3801  // Returns the count, as requested.
  3802  type BotsCount struct {
  3803  	state         protoimpl.MessageState
  3804  	sizeCache     protoimpl.SizeCache
  3805  	unknownFields protoimpl.UnknownFields
  3806  
  3807  	Now         *timestamppb.Timestamp `protobuf:"bytes,1,opt,name=now,proto3" json:"now,omitempty"`
  3808  	Count       int32                  `protobuf:"varint,2,opt,name=count,proto3" json:"count,omitempty"`
  3809  	Quarantined int32                  `protobuf:"varint,3,opt,name=quarantined,proto3" json:"quarantined,omitempty"`
  3810  	Maintenance int32                  `protobuf:"varint,4,opt,name=maintenance,proto3" json:"maintenance,omitempty"`
  3811  	Dead        int32                  `protobuf:"varint,5,opt,name=dead,proto3" json:"dead,omitempty"`
  3812  	Busy        int32                  `protobuf:"varint,6,opt,name=busy,proto3" json:"busy,omitempty"`
  3813  }
  3814  
  3815  func (x *BotsCount) Reset() {
  3816  	*x = BotsCount{}
  3817  	if protoimpl.UnsafeEnabled {
  3818  		mi := &file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_msgTypes[35]
  3819  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  3820  		ms.StoreMessageInfo(mi)
  3821  	}
  3822  }
  3823  
  3824  func (x *BotsCount) String() string {
  3825  	return protoimpl.X.MessageStringOf(x)
  3826  }
  3827  
  3828  func (*BotsCount) ProtoMessage() {}
  3829  
  3830  func (x *BotsCount) ProtoReflect() protoreflect.Message {
  3831  	mi := &file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_msgTypes[35]
  3832  	if protoimpl.UnsafeEnabled && x != nil {
  3833  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  3834  		if ms.LoadMessageInfo() == nil {
  3835  			ms.StoreMessageInfo(mi)
  3836  		}
  3837  		return ms
  3838  	}
  3839  	return mi.MessageOf(x)
  3840  }
  3841  
  3842  // Deprecated: Use BotsCount.ProtoReflect.Descriptor instead.
  3843  func (*BotsCount) Descriptor() ([]byte, []int) {
  3844  	return file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_rawDescGZIP(), []int{35}
  3845  }
  3846  
  3847  func (x *BotsCount) GetNow() *timestamppb.Timestamp {
  3848  	if x != nil {
  3849  		return x.Now
  3850  	}
  3851  	return nil
  3852  }
  3853  
  3854  func (x *BotsCount) GetCount() int32 {
  3855  	if x != nil {
  3856  		return x.Count
  3857  	}
  3858  	return 0
  3859  }
  3860  
  3861  func (x *BotsCount) GetQuarantined() int32 {
  3862  	if x != nil {
  3863  		return x.Quarantined
  3864  	}
  3865  	return 0
  3866  }
  3867  
  3868  func (x *BotsCount) GetMaintenance() int32 {
  3869  	if x != nil {
  3870  		return x.Maintenance
  3871  	}
  3872  	return 0
  3873  }
  3874  
  3875  func (x *BotsCount) GetDead() int32 {
  3876  	if x != nil {
  3877  		return x.Dead
  3878  	}
  3879  	return 0
  3880  }
  3881  
  3882  func (x *BotsCount) GetBusy() int32 {
  3883  	if x != nil {
  3884  		return x.Busy
  3885  	}
  3886  	return 0
  3887  }
  3888  
  3889  // Returns all the dimensions and dimension possibilities in the fleet.
  3890  type BotsDimensions struct {
  3891  	state         protoimpl.MessageState
  3892  	sizeCache     protoimpl.SizeCache
  3893  	unknownFields protoimpl.UnknownFields
  3894  
  3895  	BotsDimensions []*StringListPair `protobuf:"bytes,1,rep,name=bots_dimensions,json=botsDimensions,proto3" json:"bots_dimensions,omitempty"`
  3896  	// Time at which this summary was calculated.
  3897  	Ts *timestamppb.Timestamp `protobuf:"bytes,2,opt,name=ts,proto3" json:"ts,omitempty"`
  3898  }
  3899  
  3900  func (x *BotsDimensions) Reset() {
  3901  	*x = BotsDimensions{}
  3902  	if protoimpl.UnsafeEnabled {
  3903  		mi := &file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_msgTypes[36]
  3904  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  3905  		ms.StoreMessageInfo(mi)
  3906  	}
  3907  }
  3908  
  3909  func (x *BotsDimensions) String() string {
  3910  	return protoimpl.X.MessageStringOf(x)
  3911  }
  3912  
  3913  func (*BotsDimensions) ProtoMessage() {}
  3914  
  3915  func (x *BotsDimensions) ProtoReflect() protoreflect.Message {
  3916  	mi := &file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_msgTypes[36]
  3917  	if protoimpl.UnsafeEnabled && x != nil {
  3918  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  3919  		if ms.LoadMessageInfo() == nil {
  3920  			ms.StoreMessageInfo(mi)
  3921  		}
  3922  		return ms
  3923  	}
  3924  	return mi.MessageOf(x)
  3925  }
  3926  
  3927  // Deprecated: Use BotsDimensions.ProtoReflect.Descriptor instead.
  3928  func (*BotsDimensions) Descriptor() ([]byte, []int) {
  3929  	return file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_rawDescGZIP(), []int{36}
  3930  }
  3931  
  3932  func (x *BotsDimensions) GetBotsDimensions() []*StringListPair {
  3933  	if x != nil {
  3934  		return x.BotsDimensions
  3935  	}
  3936  	return nil
  3937  }
  3938  
  3939  func (x *BotsDimensions) GetTs() *timestamppb.Timestamp {
  3940  	if x != nil {
  3941  		return x.Ts
  3942  	}
  3943  	return nil
  3944  }
  3945  
  3946  type BotEventResponse struct {
  3947  	state         protoimpl.MessageState
  3948  	sizeCache     protoimpl.SizeCache
  3949  	unknownFields protoimpl.UnknownFields
  3950  
  3951  	// google.protobuf.Timestamp of this event.
  3952  	Ts *timestamppb.Timestamp `protobuf:"bytes,1,opt,name=ts,proto3" json:"ts,omitempty"`
  3953  	// Type of event.
  3954  	EventType string `protobuf:"bytes,2,opt,name=event_type,json=eventType,proto3" json:"event_type,omitempty"`
  3955  	// Message included in the event.
  3956  	Message string `protobuf:"bytes,3,opt,name=message,proto3" json:"message,omitempty"`
  3957  	// Bot dimensions at that moment.
  3958  	Dimensions []*StringListPair `protobuf:"bytes,4,rep,name=dimensions,proto3" json:"dimensions,omitempty"`
  3959  	// Bot state at that moment, encoded as json.
  3960  	State string `protobuf:"bytes,5,opt,name=state,proto3" json:"state,omitempty"`
  3961  	// IP address as seen by the HTTP handler.
  3962  	ExternalIp string `protobuf:"bytes,6,opt,name=external_ip,json=externalIp,proto3" json:"external_ip,omitempty"`
  3963  	// Bot identity as seen by the HTTP handler.
  3964  	AuthenticatedAs string `protobuf:"bytes,7,opt,name=authenticated_as,json=authenticatedAs,proto3" json:"authenticated_as,omitempty"`
  3965  	// Version of swarming_bot.zip the bot is currently running.
  3966  	Version string `protobuf:"bytes,8,opt,name=version,proto3" json:"version,omitempty"`
  3967  	// If True, the bot is not accepting task due to being quarantined.
  3968  	Quarantined bool `protobuf:"varint,9,opt,name=quarantined,proto3" json:"quarantined,omitempty"`
  3969  	// If set, the bot is rejecting tasks due to maintenance.
  3970  	MaintenanceMsg string `protobuf:"bytes,10,opt,name=maintenance_msg,json=maintenanceMsg,proto3" json:"maintenance_msg,omitempty"`
  3971  	// Affected by event_type == 'request_task', 'task_completed', 'task_error'.
  3972  	TaskId string `protobuf:"bytes,11,opt,name=task_id,json=taskId,proto3" json:"task_id,omitempty"`
  3973  }
  3974  
  3975  func (x *BotEventResponse) Reset() {
  3976  	*x = BotEventResponse{}
  3977  	if protoimpl.UnsafeEnabled {
  3978  		mi := &file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_msgTypes[37]
  3979  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  3980  		ms.StoreMessageInfo(mi)
  3981  	}
  3982  }
  3983  
  3984  func (x *BotEventResponse) String() string {
  3985  	return protoimpl.X.MessageStringOf(x)
  3986  }
  3987  
  3988  func (*BotEventResponse) ProtoMessage() {}
  3989  
  3990  func (x *BotEventResponse) ProtoReflect() protoreflect.Message {
  3991  	mi := &file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_msgTypes[37]
  3992  	if protoimpl.UnsafeEnabled && x != nil {
  3993  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  3994  		if ms.LoadMessageInfo() == nil {
  3995  			ms.StoreMessageInfo(mi)
  3996  		}
  3997  		return ms
  3998  	}
  3999  	return mi.MessageOf(x)
  4000  }
  4001  
  4002  // Deprecated: Use BotEventResponse.ProtoReflect.Descriptor instead.
  4003  func (*BotEventResponse) Descriptor() ([]byte, []int) {
  4004  	return file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_rawDescGZIP(), []int{37}
  4005  }
  4006  
  4007  func (x *BotEventResponse) GetTs() *timestamppb.Timestamp {
  4008  	if x != nil {
  4009  		return x.Ts
  4010  	}
  4011  	return nil
  4012  }
  4013  
  4014  func (x *BotEventResponse) GetEventType() string {
  4015  	if x != nil {
  4016  		return x.EventType
  4017  	}
  4018  	return ""
  4019  }
  4020  
  4021  func (x *BotEventResponse) GetMessage() string {
  4022  	if x != nil {
  4023  		return x.Message
  4024  	}
  4025  	return ""
  4026  }
  4027  
  4028  func (x *BotEventResponse) GetDimensions() []*StringListPair {
  4029  	if x != nil {
  4030  		return x.Dimensions
  4031  	}
  4032  	return nil
  4033  }
  4034  
  4035  func (x *BotEventResponse) GetState() string {
  4036  	if x != nil {
  4037  		return x.State
  4038  	}
  4039  	return ""
  4040  }
  4041  
  4042  func (x *BotEventResponse) GetExternalIp() string {
  4043  	if x != nil {
  4044  		return x.ExternalIp
  4045  	}
  4046  	return ""
  4047  }
  4048  
  4049  func (x *BotEventResponse) GetAuthenticatedAs() string {
  4050  	if x != nil {
  4051  		return x.AuthenticatedAs
  4052  	}
  4053  	return ""
  4054  }
  4055  
  4056  func (x *BotEventResponse) GetVersion() string {
  4057  	if x != nil {
  4058  		return x.Version
  4059  	}
  4060  	return ""
  4061  }
  4062  
  4063  func (x *BotEventResponse) GetQuarantined() bool {
  4064  	if x != nil {
  4065  		return x.Quarantined
  4066  	}
  4067  	return false
  4068  }
  4069  
  4070  func (x *BotEventResponse) GetMaintenanceMsg() string {
  4071  	if x != nil {
  4072  		return x.MaintenanceMsg
  4073  	}
  4074  	return ""
  4075  }
  4076  
  4077  func (x *BotEventResponse) GetTaskId() string {
  4078  	if x != nil {
  4079  		return x.TaskId
  4080  	}
  4081  	return ""
  4082  }
  4083  
  4084  type BotEventsResponse struct {
  4085  	state         protoimpl.MessageState
  4086  	sizeCache     protoimpl.SizeCache
  4087  	unknownFields protoimpl.UnknownFields
  4088  
  4089  	Cursor string                 `protobuf:"bytes,1,opt,name=cursor,proto3" json:"cursor,omitempty"`
  4090  	Items  []*BotEventResponse    `protobuf:"bytes,2,rep,name=items,proto3" json:"items,omitempty"`
  4091  	Now    *timestamppb.Timestamp `protobuf:"bytes,3,opt,name=now,proto3" json:"now,omitempty"`
  4092  }
  4093  
  4094  func (x *BotEventsResponse) Reset() {
  4095  	*x = BotEventsResponse{}
  4096  	if protoimpl.UnsafeEnabled {
  4097  		mi := &file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_msgTypes[38]
  4098  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  4099  		ms.StoreMessageInfo(mi)
  4100  	}
  4101  }
  4102  
  4103  func (x *BotEventsResponse) String() string {
  4104  	return protoimpl.X.MessageStringOf(x)
  4105  }
  4106  
  4107  func (*BotEventsResponse) ProtoMessage() {}
  4108  
  4109  func (x *BotEventsResponse) ProtoReflect() protoreflect.Message {
  4110  	mi := &file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_msgTypes[38]
  4111  	if protoimpl.UnsafeEnabled && x != nil {
  4112  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  4113  		if ms.LoadMessageInfo() == nil {
  4114  			ms.StoreMessageInfo(mi)
  4115  		}
  4116  		return ms
  4117  	}
  4118  	return mi.MessageOf(x)
  4119  }
  4120  
  4121  // Deprecated: Use BotEventsResponse.ProtoReflect.Descriptor instead.
  4122  func (*BotEventsResponse) Descriptor() ([]byte, []int) {
  4123  	return file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_rawDescGZIP(), []int{38}
  4124  }
  4125  
  4126  func (x *BotEventsResponse) GetCursor() string {
  4127  	if x != nil {
  4128  		return x.Cursor
  4129  	}
  4130  	return ""
  4131  }
  4132  
  4133  func (x *BotEventsResponse) GetItems() []*BotEventResponse {
  4134  	if x != nil {
  4135  		return x.Items
  4136  	}
  4137  	return nil
  4138  }
  4139  
  4140  func (x *BotEventsResponse) GetNow() *timestamppb.Timestamp {
  4141  	if x != nil {
  4142  		return x.Now
  4143  	}
  4144  	return nil
  4145  }
  4146  
  4147  // Indicates whether a bot was deleted.
  4148  type DeleteResponse struct {
  4149  	state         protoimpl.MessageState
  4150  	sizeCache     protoimpl.SizeCache
  4151  	unknownFields protoimpl.UnknownFields
  4152  
  4153  	Deleted bool `protobuf:"varint,1,opt,name=deleted,proto3" json:"deleted,omitempty"`
  4154  }
  4155  
  4156  func (x *DeleteResponse) Reset() {
  4157  	*x = DeleteResponse{}
  4158  	if protoimpl.UnsafeEnabled {
  4159  		mi := &file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_msgTypes[39]
  4160  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  4161  		ms.StoreMessageInfo(mi)
  4162  	}
  4163  }
  4164  
  4165  func (x *DeleteResponse) String() string {
  4166  	return protoimpl.X.MessageStringOf(x)
  4167  }
  4168  
  4169  func (*DeleteResponse) ProtoMessage() {}
  4170  
  4171  func (x *DeleteResponse) ProtoReflect() protoreflect.Message {
  4172  	mi := &file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_msgTypes[39]
  4173  	if protoimpl.UnsafeEnabled && x != nil {
  4174  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  4175  		if ms.LoadMessageInfo() == nil {
  4176  			ms.StoreMessageInfo(mi)
  4177  		}
  4178  		return ms
  4179  	}
  4180  	return mi.MessageOf(x)
  4181  }
  4182  
  4183  // Deprecated: Use DeleteResponse.ProtoReflect.Descriptor instead.
  4184  func (*DeleteResponse) Descriptor() ([]byte, []int) {
  4185  	return file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_rawDescGZIP(), []int{39}
  4186  }
  4187  
  4188  func (x *DeleteResponse) GetDeleted() bool {
  4189  	if x != nil {
  4190  		return x.Deleted
  4191  	}
  4192  	return false
  4193  }
  4194  
  4195  // Returns the pseudo taskid to wait for the bot to shut down.
  4196  type TerminateResponse struct {
  4197  	state         protoimpl.MessageState
  4198  	sizeCache     protoimpl.SizeCache
  4199  	unknownFields protoimpl.UnknownFields
  4200  
  4201  	TaskId string `protobuf:"bytes,1,opt,name=task_id,json=taskId,proto3" json:"task_id,omitempty"`
  4202  }
  4203  
  4204  func (x *TerminateResponse) Reset() {
  4205  	*x = TerminateResponse{}
  4206  	if protoimpl.UnsafeEnabled {
  4207  		mi := &file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_msgTypes[40]
  4208  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  4209  		ms.StoreMessageInfo(mi)
  4210  	}
  4211  }
  4212  
  4213  func (x *TerminateResponse) String() string {
  4214  	return protoimpl.X.MessageStringOf(x)
  4215  }
  4216  
  4217  func (*TerminateResponse) ProtoMessage() {}
  4218  
  4219  func (x *TerminateResponse) ProtoReflect() protoreflect.Message {
  4220  	mi := &file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_msgTypes[40]
  4221  	if protoimpl.UnsafeEnabled && x != nil {
  4222  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  4223  		if ms.LoadMessageInfo() == nil {
  4224  			ms.StoreMessageInfo(mi)
  4225  		}
  4226  		return ms
  4227  	}
  4228  	return mi.MessageOf(x)
  4229  }
  4230  
  4231  // Deprecated: Use TerminateResponse.ProtoReflect.Descriptor instead.
  4232  func (*TerminateResponse) Descriptor() ([]byte, []int) {
  4233  	return file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_rawDescGZIP(), []int{40}
  4234  }
  4235  
  4236  func (x *TerminateResponse) GetTaskId() string {
  4237  	if x != nil {
  4238  		return x.TaskId
  4239  	}
  4240  	return ""
  4241  }
  4242  
  4243  type BotRequest struct {
  4244  	state         protoimpl.MessageState
  4245  	sizeCache     protoimpl.SizeCache
  4246  	unknownFields protoimpl.UnknownFields
  4247  
  4248  	BotId string `protobuf:"bytes,1,opt,name=bot_id,json=botId,proto3" json:"bot_id,omitempty"`
  4249  }
  4250  
  4251  func (x *BotRequest) Reset() {
  4252  	*x = BotRequest{}
  4253  	if protoimpl.UnsafeEnabled {
  4254  		mi := &file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_msgTypes[41]
  4255  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  4256  		ms.StoreMessageInfo(mi)
  4257  	}
  4258  }
  4259  
  4260  func (x *BotRequest) String() string {
  4261  	return protoimpl.X.MessageStringOf(x)
  4262  }
  4263  
  4264  func (*BotRequest) ProtoMessage() {}
  4265  
  4266  func (x *BotRequest) ProtoReflect() protoreflect.Message {
  4267  	mi := &file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_msgTypes[41]
  4268  	if protoimpl.UnsafeEnabled && x != nil {
  4269  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  4270  		if ms.LoadMessageInfo() == nil {
  4271  			ms.StoreMessageInfo(mi)
  4272  		}
  4273  		return ms
  4274  	}
  4275  	return mi.MessageOf(x)
  4276  }
  4277  
  4278  // Deprecated: Use BotRequest.ProtoReflect.Descriptor instead.
  4279  func (*BotRequest) Descriptor() ([]byte, []int) {
  4280  	return file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_rawDescGZIP(), []int{41}
  4281  }
  4282  
  4283  func (x *BotRequest) GetBotId() string {
  4284  	if x != nil {
  4285  		return x.BotId
  4286  	}
  4287  	return ""
  4288  }
  4289  
  4290  type TerminateRequest struct {
  4291  	state         protoimpl.MessageState
  4292  	sizeCache     protoimpl.SizeCache
  4293  	unknownFields protoimpl.UnknownFields
  4294  
  4295  	// Id of bot to terminate.
  4296  	BotId string `protobuf:"bytes,1,opt,name=bot_id,json=botId,proto3" json:"bot_id,omitempty"`
  4297  	// Reason why the termination was created.
  4298  	Reason string `protobuf:"bytes,2,opt,name=reason,proto3" json:"reason,omitempty"`
  4299  }
  4300  
  4301  func (x *TerminateRequest) Reset() {
  4302  	*x = TerminateRequest{}
  4303  	if protoimpl.UnsafeEnabled {
  4304  		mi := &file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_msgTypes[42]
  4305  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  4306  		ms.StoreMessageInfo(mi)
  4307  	}
  4308  }
  4309  
  4310  func (x *TerminateRequest) String() string {
  4311  	return protoimpl.X.MessageStringOf(x)
  4312  }
  4313  
  4314  func (*TerminateRequest) ProtoMessage() {}
  4315  
  4316  func (x *TerminateRequest) ProtoReflect() protoreflect.Message {
  4317  	mi := &file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_msgTypes[42]
  4318  	if protoimpl.UnsafeEnabled && x != nil {
  4319  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  4320  		if ms.LoadMessageInfo() == nil {
  4321  			ms.StoreMessageInfo(mi)
  4322  		}
  4323  		return ms
  4324  	}
  4325  	return mi.MessageOf(x)
  4326  }
  4327  
  4328  // Deprecated: Use TerminateRequest.ProtoReflect.Descriptor instead.
  4329  func (*TerminateRequest) Descriptor() ([]byte, []int) {
  4330  	return file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_rawDescGZIP(), []int{42}
  4331  }
  4332  
  4333  func (x *TerminateRequest) GetBotId() string {
  4334  	if x != nil {
  4335  		return x.BotId
  4336  	}
  4337  	return ""
  4338  }
  4339  
  4340  func (x *TerminateRequest) GetReason() string {
  4341  	if x != nil {
  4342  		return x.Reason
  4343  	}
  4344  	return ""
  4345  }
  4346  
  4347  type BotEventsRequest struct {
  4348  	state         protoimpl.MessageState
  4349  	sizeCache     protoimpl.SizeCache
  4350  	unknownFields protoimpl.UnknownFields
  4351  
  4352  	BotId  string                 `protobuf:"bytes,1,opt,name=bot_id,json=botId,proto3" json:"bot_id,omitempty"`
  4353  	Limit  int32                  `protobuf:"varint,2,opt,name=limit,proto3" json:"limit,omitempty"`
  4354  	Cursor string                 `protobuf:"bytes,3,opt,name=cursor,proto3" json:"cursor,omitempty"`
  4355  	Start  *timestamppb.Timestamp `protobuf:"bytes,4,opt,name=start,proto3" json:"start,omitempty"`
  4356  	End    *timestamppb.Timestamp `protobuf:"bytes,5,opt,name=end,proto3" json:"end,omitempty"`
  4357  }
  4358  
  4359  func (x *BotEventsRequest) Reset() {
  4360  	*x = BotEventsRequest{}
  4361  	if protoimpl.UnsafeEnabled {
  4362  		mi := &file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_msgTypes[43]
  4363  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  4364  		ms.StoreMessageInfo(mi)
  4365  	}
  4366  }
  4367  
  4368  func (x *BotEventsRequest) String() string {
  4369  	return protoimpl.X.MessageStringOf(x)
  4370  }
  4371  
  4372  func (*BotEventsRequest) ProtoMessage() {}
  4373  
  4374  func (x *BotEventsRequest) ProtoReflect() protoreflect.Message {
  4375  	mi := &file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_msgTypes[43]
  4376  	if protoimpl.UnsafeEnabled && x != nil {
  4377  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  4378  		if ms.LoadMessageInfo() == nil {
  4379  			ms.StoreMessageInfo(mi)
  4380  		}
  4381  		return ms
  4382  	}
  4383  	return mi.MessageOf(x)
  4384  }
  4385  
  4386  // Deprecated: Use BotEventsRequest.ProtoReflect.Descriptor instead.
  4387  func (*BotEventsRequest) Descriptor() ([]byte, []int) {
  4388  	return file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_rawDescGZIP(), []int{43}
  4389  }
  4390  
  4391  func (x *BotEventsRequest) GetBotId() string {
  4392  	if x != nil {
  4393  		return x.BotId
  4394  	}
  4395  	return ""
  4396  }
  4397  
  4398  func (x *BotEventsRequest) GetLimit() int32 {
  4399  	if x != nil {
  4400  		return x.Limit
  4401  	}
  4402  	return 0
  4403  }
  4404  
  4405  func (x *BotEventsRequest) GetCursor() string {
  4406  	if x != nil {
  4407  		return x.Cursor
  4408  	}
  4409  	return ""
  4410  }
  4411  
  4412  func (x *BotEventsRequest) GetStart() *timestamppb.Timestamp {
  4413  	if x != nil {
  4414  		return x.Start
  4415  	}
  4416  	return nil
  4417  }
  4418  
  4419  func (x *BotEventsRequest) GetEnd() *timestamppb.Timestamp {
  4420  	if x != nil {
  4421  		return x.End
  4422  	}
  4423  	return nil
  4424  }
  4425  
  4426  type BotTasksRequest struct {
  4427  	state         protoimpl.MessageState
  4428  	sizeCache     protoimpl.SizeCache
  4429  	unknownFields protoimpl.UnknownFields
  4430  
  4431  	BotId                   string                 `protobuf:"bytes,1,opt,name=bot_id,json=botId,proto3" json:"bot_id,omitempty"`
  4432  	Limit                   int32                  `protobuf:"varint,2,opt,name=limit,proto3" json:"limit,omitempty"`
  4433  	Cursor                  string                 `protobuf:"bytes,3,opt,name=cursor,proto3" json:"cursor,omitempty"`
  4434  	Start                   *timestamppb.Timestamp `protobuf:"bytes,4,opt,name=start,proto3" json:"start,omitempty"`
  4435  	End                     *timestamppb.Timestamp `protobuf:"bytes,5,opt,name=end,proto3" json:"end,omitempty"`
  4436  	State                   StateQuery             `protobuf:"varint,6,opt,name=state,proto3,enum=swarming.v2.StateQuery" json:"state,omitempty"`
  4437  	Sort                    SortQuery              `protobuf:"varint,7,opt,name=sort,proto3,enum=swarming.v2.SortQuery" json:"sort,omitempty"`
  4438  	IncludePerformanceStats bool                   `protobuf:"varint,8,opt,name=include_performance_stats,json=includePerformanceStats,proto3" json:"include_performance_stats,omitempty"`
  4439  }
  4440  
  4441  func (x *BotTasksRequest) Reset() {
  4442  	*x = BotTasksRequest{}
  4443  	if protoimpl.UnsafeEnabled {
  4444  		mi := &file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_msgTypes[44]
  4445  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  4446  		ms.StoreMessageInfo(mi)
  4447  	}
  4448  }
  4449  
  4450  func (x *BotTasksRequest) String() string {
  4451  	return protoimpl.X.MessageStringOf(x)
  4452  }
  4453  
  4454  func (*BotTasksRequest) ProtoMessage() {}
  4455  
  4456  func (x *BotTasksRequest) ProtoReflect() protoreflect.Message {
  4457  	mi := &file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_msgTypes[44]
  4458  	if protoimpl.UnsafeEnabled && x != nil {
  4459  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  4460  		if ms.LoadMessageInfo() == nil {
  4461  			ms.StoreMessageInfo(mi)
  4462  		}
  4463  		return ms
  4464  	}
  4465  	return mi.MessageOf(x)
  4466  }
  4467  
  4468  // Deprecated: Use BotTasksRequest.ProtoReflect.Descriptor instead.
  4469  func (*BotTasksRequest) Descriptor() ([]byte, []int) {
  4470  	return file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_rawDescGZIP(), []int{44}
  4471  }
  4472  
  4473  func (x *BotTasksRequest) GetBotId() string {
  4474  	if x != nil {
  4475  		return x.BotId
  4476  	}
  4477  	return ""
  4478  }
  4479  
  4480  func (x *BotTasksRequest) GetLimit() int32 {
  4481  	if x != nil {
  4482  		return x.Limit
  4483  	}
  4484  	return 0
  4485  }
  4486  
  4487  func (x *BotTasksRequest) GetCursor() string {
  4488  	if x != nil {
  4489  		return x.Cursor
  4490  	}
  4491  	return ""
  4492  }
  4493  
  4494  func (x *BotTasksRequest) GetStart() *timestamppb.Timestamp {
  4495  	if x != nil {
  4496  		return x.Start
  4497  	}
  4498  	return nil
  4499  }
  4500  
  4501  func (x *BotTasksRequest) GetEnd() *timestamppb.Timestamp {
  4502  	if x != nil {
  4503  		return x.End
  4504  	}
  4505  	return nil
  4506  }
  4507  
  4508  func (x *BotTasksRequest) GetState() StateQuery {
  4509  	if x != nil {
  4510  		return x.State
  4511  	}
  4512  	return StateQuery_QUERY_PENDING
  4513  }
  4514  
  4515  func (x *BotTasksRequest) GetSort() SortQuery {
  4516  	if x != nil {
  4517  		return x.Sort
  4518  	}
  4519  	return SortQuery_QUERY_CREATED_TS
  4520  }
  4521  
  4522  func (x *BotTasksRequest) GetIncludePerformanceStats() bool {
  4523  	if x != nil {
  4524  		return x.IncludePerformanceStats
  4525  	}
  4526  	return false
  4527  }
  4528  
  4529  type BotsRequest struct {
  4530  	state         protoimpl.MessageState
  4531  	sizeCache     protoimpl.SizeCache
  4532  	unknownFields protoimpl.UnknownFields
  4533  
  4534  	Limit         int32         `protobuf:"varint,1,opt,name=limit,proto3" json:"limit,omitempty"`
  4535  	Cursor        string        `protobuf:"bytes,2,opt,name=cursor,proto3" json:"cursor,omitempty"`
  4536  	Dimensions    []*StringPair `protobuf:"bytes,3,rep,name=dimensions,proto3" json:"dimensions,omitempty"`
  4537  	Quarantined   NullableBool  `protobuf:"varint,4,opt,name=quarantined,proto3,enum=swarming.v2.NullableBool" json:"quarantined,omitempty"`
  4538  	InMaintenance NullableBool  `protobuf:"varint,5,opt,name=in_maintenance,json=inMaintenance,proto3,enum=swarming.v2.NullableBool" json:"in_maintenance,omitempty"`
  4539  	IsDead        NullableBool  `protobuf:"varint,6,opt,name=is_dead,json=isDead,proto3,enum=swarming.v2.NullableBool" json:"is_dead,omitempty"`
  4540  	IsBusy        NullableBool  `protobuf:"varint,7,opt,name=is_busy,json=isBusy,proto3,enum=swarming.v2.NullableBool" json:"is_busy,omitempty"`
  4541  }
  4542  
  4543  func (x *BotsRequest) Reset() {
  4544  	*x = BotsRequest{}
  4545  	if protoimpl.UnsafeEnabled {
  4546  		mi := &file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_msgTypes[45]
  4547  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  4548  		ms.StoreMessageInfo(mi)
  4549  	}
  4550  }
  4551  
  4552  func (x *BotsRequest) String() string {
  4553  	return protoimpl.X.MessageStringOf(x)
  4554  }
  4555  
  4556  func (*BotsRequest) ProtoMessage() {}
  4557  
  4558  func (x *BotsRequest) ProtoReflect() protoreflect.Message {
  4559  	mi := &file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_msgTypes[45]
  4560  	if protoimpl.UnsafeEnabled && x != nil {
  4561  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  4562  		if ms.LoadMessageInfo() == nil {
  4563  			ms.StoreMessageInfo(mi)
  4564  		}
  4565  		return ms
  4566  	}
  4567  	return mi.MessageOf(x)
  4568  }
  4569  
  4570  // Deprecated: Use BotsRequest.ProtoReflect.Descriptor instead.
  4571  func (*BotsRequest) Descriptor() ([]byte, []int) {
  4572  	return file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_rawDescGZIP(), []int{45}
  4573  }
  4574  
  4575  func (x *BotsRequest) GetLimit() int32 {
  4576  	if x != nil {
  4577  		return x.Limit
  4578  	}
  4579  	return 0
  4580  }
  4581  
  4582  func (x *BotsRequest) GetCursor() string {
  4583  	if x != nil {
  4584  		return x.Cursor
  4585  	}
  4586  	return ""
  4587  }
  4588  
  4589  func (x *BotsRequest) GetDimensions() []*StringPair {
  4590  	if x != nil {
  4591  		return x.Dimensions
  4592  	}
  4593  	return nil
  4594  }
  4595  
  4596  func (x *BotsRequest) GetQuarantined() NullableBool {
  4597  	if x != nil {
  4598  		return x.Quarantined
  4599  	}
  4600  	return NullableBool_NULL
  4601  }
  4602  
  4603  func (x *BotsRequest) GetInMaintenance() NullableBool {
  4604  	if x != nil {
  4605  		return x.InMaintenance
  4606  	}
  4607  	return NullableBool_NULL
  4608  }
  4609  
  4610  func (x *BotsRequest) GetIsDead() NullableBool {
  4611  	if x != nil {
  4612  		return x.IsDead
  4613  	}
  4614  	return NullableBool_NULL
  4615  }
  4616  
  4617  func (x *BotsRequest) GetIsBusy() NullableBool {
  4618  	if x != nil {
  4619  		return x.IsBusy
  4620  	}
  4621  	return NullableBool_NULL
  4622  }
  4623  
  4624  type BotsCountRequest struct {
  4625  	state         protoimpl.MessageState
  4626  	sizeCache     protoimpl.SizeCache
  4627  	unknownFields protoimpl.UnknownFields
  4628  
  4629  	Dimensions []*StringPair `protobuf:"bytes,1,rep,name=dimensions,proto3" json:"dimensions,omitempty"`
  4630  }
  4631  
  4632  func (x *BotsCountRequest) Reset() {
  4633  	*x = BotsCountRequest{}
  4634  	if protoimpl.UnsafeEnabled {
  4635  		mi := &file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_msgTypes[46]
  4636  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  4637  		ms.StoreMessageInfo(mi)
  4638  	}
  4639  }
  4640  
  4641  func (x *BotsCountRequest) String() string {
  4642  	return protoimpl.X.MessageStringOf(x)
  4643  }
  4644  
  4645  func (*BotsCountRequest) ProtoMessage() {}
  4646  
  4647  func (x *BotsCountRequest) ProtoReflect() protoreflect.Message {
  4648  	mi := &file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_msgTypes[46]
  4649  	if protoimpl.UnsafeEnabled && x != nil {
  4650  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  4651  		if ms.LoadMessageInfo() == nil {
  4652  			ms.StoreMessageInfo(mi)
  4653  		}
  4654  		return ms
  4655  	}
  4656  	return mi.MessageOf(x)
  4657  }
  4658  
  4659  // Deprecated: Use BotsCountRequest.ProtoReflect.Descriptor instead.
  4660  func (*BotsCountRequest) Descriptor() ([]byte, []int) {
  4661  	return file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_rawDescGZIP(), []int{46}
  4662  }
  4663  
  4664  func (x *BotsCountRequest) GetDimensions() []*StringPair {
  4665  	if x != nil {
  4666  		return x.Dimensions
  4667  	}
  4668  	return nil
  4669  }
  4670  
  4671  type BotsDimensionsRequest struct {
  4672  	state         protoimpl.MessageState
  4673  	sizeCache     protoimpl.SizeCache
  4674  	unknownFields protoimpl.UnknownFields
  4675  
  4676  	Pool string `protobuf:"bytes,1,opt,name=pool,proto3" json:"pool,omitempty"`
  4677  }
  4678  
  4679  func (x *BotsDimensionsRequest) Reset() {
  4680  	*x = BotsDimensionsRequest{}
  4681  	if protoimpl.UnsafeEnabled {
  4682  		mi := &file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_msgTypes[47]
  4683  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  4684  		ms.StoreMessageInfo(mi)
  4685  	}
  4686  }
  4687  
  4688  func (x *BotsDimensionsRequest) String() string {
  4689  	return protoimpl.X.MessageStringOf(x)
  4690  }
  4691  
  4692  func (*BotsDimensionsRequest) ProtoMessage() {}
  4693  
  4694  func (x *BotsDimensionsRequest) ProtoReflect() protoreflect.Message {
  4695  	mi := &file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_msgTypes[47]
  4696  	if protoimpl.UnsafeEnabled && x != nil {
  4697  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  4698  		if ms.LoadMessageInfo() == nil {
  4699  			ms.StoreMessageInfo(mi)
  4700  		}
  4701  		return ms
  4702  	}
  4703  	return mi.MessageOf(x)
  4704  }
  4705  
  4706  // Deprecated: Use BotsDimensionsRequest.ProtoReflect.Descriptor instead.
  4707  func (*BotsDimensionsRequest) Descriptor() ([]byte, []int) {
  4708  	return file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_rawDescGZIP(), []int{47}
  4709  }
  4710  
  4711  func (x *BotsDimensionsRequest) GetPool() string {
  4712  	if x != nil {
  4713  		return x.Pool
  4714  	}
  4715  	return ""
  4716  }
  4717  
  4718  type PermissionsRequest struct {
  4719  	state         protoimpl.MessageState
  4720  	sizeCache     protoimpl.SizeCache
  4721  	unknownFields protoimpl.UnknownFields
  4722  
  4723  	BotId  string   `protobuf:"bytes,1,opt,name=bot_id,json=botId,proto3" json:"bot_id,omitempty"`
  4724  	TaskId string   `protobuf:"bytes,2,opt,name=task_id,json=taskId,proto3" json:"task_id,omitempty"`
  4725  	Tags   []string `protobuf:"bytes,3,rep,name=tags,proto3" json:"tags,omitempty"`
  4726  }
  4727  
  4728  func (x *PermissionsRequest) Reset() {
  4729  	*x = PermissionsRequest{}
  4730  	if protoimpl.UnsafeEnabled {
  4731  		mi := &file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_msgTypes[48]
  4732  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  4733  		ms.StoreMessageInfo(mi)
  4734  	}
  4735  }
  4736  
  4737  func (x *PermissionsRequest) String() string {
  4738  	return protoimpl.X.MessageStringOf(x)
  4739  }
  4740  
  4741  func (*PermissionsRequest) ProtoMessage() {}
  4742  
  4743  func (x *PermissionsRequest) ProtoReflect() protoreflect.Message {
  4744  	mi := &file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_msgTypes[48]
  4745  	if protoimpl.UnsafeEnabled && x != nil {
  4746  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  4747  		if ms.LoadMessageInfo() == nil {
  4748  			ms.StoreMessageInfo(mi)
  4749  		}
  4750  		return ms
  4751  	}
  4752  	return mi.MessageOf(x)
  4753  }
  4754  
  4755  // Deprecated: Use PermissionsRequest.ProtoReflect.Descriptor instead.
  4756  func (*PermissionsRequest) Descriptor() ([]byte, []int) {
  4757  	return file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_rawDescGZIP(), []int{48}
  4758  }
  4759  
  4760  func (x *PermissionsRequest) GetBotId() string {
  4761  	if x != nil {
  4762  		return x.BotId
  4763  	}
  4764  	return ""
  4765  }
  4766  
  4767  func (x *PermissionsRequest) GetTaskId() string {
  4768  	if x != nil {
  4769  		return x.TaskId
  4770  	}
  4771  	return ""
  4772  }
  4773  
  4774  func (x *PermissionsRequest) GetTags() []string {
  4775  	if x != nil {
  4776  		return x.Tags
  4777  	}
  4778  	return nil
  4779  }
  4780  
  4781  type TaskStatesRequest struct {
  4782  	state         protoimpl.MessageState
  4783  	sizeCache     protoimpl.SizeCache
  4784  	unknownFields protoimpl.UnknownFields
  4785  
  4786  	TaskId []string `protobuf:"bytes,1,rep,name=task_id,json=taskId,proto3" json:"task_id,omitempty"`
  4787  }
  4788  
  4789  func (x *TaskStatesRequest) Reset() {
  4790  	*x = TaskStatesRequest{}
  4791  	if protoimpl.UnsafeEnabled {
  4792  		mi := &file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_msgTypes[49]
  4793  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  4794  		ms.StoreMessageInfo(mi)
  4795  	}
  4796  }
  4797  
  4798  func (x *TaskStatesRequest) String() string {
  4799  	return protoimpl.X.MessageStringOf(x)
  4800  }
  4801  
  4802  func (*TaskStatesRequest) ProtoMessage() {}
  4803  
  4804  func (x *TaskStatesRequest) ProtoReflect() protoreflect.Message {
  4805  	mi := &file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_msgTypes[49]
  4806  	if protoimpl.UnsafeEnabled && x != nil {
  4807  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  4808  		if ms.LoadMessageInfo() == nil {
  4809  			ms.StoreMessageInfo(mi)
  4810  		}
  4811  		return ms
  4812  	}
  4813  	return mi.MessageOf(x)
  4814  }
  4815  
  4816  // Deprecated: Use TaskStatesRequest.ProtoReflect.Descriptor instead.
  4817  func (*TaskStatesRequest) Descriptor() ([]byte, []int) {
  4818  	return file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_rawDescGZIP(), []int{49}
  4819  }
  4820  
  4821  func (x *TaskStatesRequest) GetTaskId() []string {
  4822  	if x != nil {
  4823  		return x.TaskId
  4824  	}
  4825  	return nil
  4826  }
  4827  
  4828  type TasksWithPerfRequest struct {
  4829  	state         protoimpl.MessageState
  4830  	sizeCache     protoimpl.SizeCache
  4831  	unknownFields protoimpl.UnknownFields
  4832  
  4833  	Limit  int32  `protobuf:"varint,1,opt,name=limit,proto3" json:"limit,omitempty"`
  4834  	Cursor string `protobuf:"bytes,2,opt,name=cursor,proto3" json:"cursor,omitempty"`
  4835  	// These were floats in the legacy protorpc api
  4836  	Start                   *timestamppb.Timestamp `protobuf:"bytes,3,opt,name=start,proto3" json:"start,omitempty"`
  4837  	End                     *timestamppb.Timestamp `protobuf:"bytes,4,opt,name=end,proto3" json:"end,omitempty"`
  4838  	State                   StateQuery             `protobuf:"varint,5,opt,name=state,proto3,enum=swarming.v2.StateQuery" json:"state,omitempty"`
  4839  	Sort                    SortQuery              `protobuf:"varint,6,opt,name=sort,proto3,enum=swarming.v2.SortQuery" json:"sort,omitempty"`
  4840  	Tags                    []string               `protobuf:"bytes,7,rep,name=tags,proto3" json:"tags,omitempty"`
  4841  	IncludePerformanceStats bool                   `protobuf:"varint,8,opt,name=include_performance_stats,json=includePerformanceStats,proto3" json:"include_performance_stats,omitempty"`
  4842  }
  4843  
  4844  func (x *TasksWithPerfRequest) Reset() {
  4845  	*x = TasksWithPerfRequest{}
  4846  	if protoimpl.UnsafeEnabled {
  4847  		mi := &file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_msgTypes[50]
  4848  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  4849  		ms.StoreMessageInfo(mi)
  4850  	}
  4851  }
  4852  
  4853  func (x *TasksWithPerfRequest) String() string {
  4854  	return protoimpl.X.MessageStringOf(x)
  4855  }
  4856  
  4857  func (*TasksWithPerfRequest) ProtoMessage() {}
  4858  
  4859  func (x *TasksWithPerfRequest) ProtoReflect() protoreflect.Message {
  4860  	mi := &file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_msgTypes[50]
  4861  	if protoimpl.UnsafeEnabled && x != nil {
  4862  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  4863  		if ms.LoadMessageInfo() == nil {
  4864  			ms.StoreMessageInfo(mi)
  4865  		}
  4866  		return ms
  4867  	}
  4868  	return mi.MessageOf(x)
  4869  }
  4870  
  4871  // Deprecated: Use TasksWithPerfRequest.ProtoReflect.Descriptor instead.
  4872  func (*TasksWithPerfRequest) Descriptor() ([]byte, []int) {
  4873  	return file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_rawDescGZIP(), []int{50}
  4874  }
  4875  
  4876  func (x *TasksWithPerfRequest) GetLimit() int32 {
  4877  	if x != nil {
  4878  		return x.Limit
  4879  	}
  4880  	return 0
  4881  }
  4882  
  4883  func (x *TasksWithPerfRequest) GetCursor() string {
  4884  	if x != nil {
  4885  		return x.Cursor
  4886  	}
  4887  	return ""
  4888  }
  4889  
  4890  func (x *TasksWithPerfRequest) GetStart() *timestamppb.Timestamp {
  4891  	if x != nil {
  4892  		return x.Start
  4893  	}
  4894  	return nil
  4895  }
  4896  
  4897  func (x *TasksWithPerfRequest) GetEnd() *timestamppb.Timestamp {
  4898  	if x != nil {
  4899  		return x.End
  4900  	}
  4901  	return nil
  4902  }
  4903  
  4904  func (x *TasksWithPerfRequest) GetState() StateQuery {
  4905  	if x != nil {
  4906  		return x.State
  4907  	}
  4908  	return StateQuery_QUERY_PENDING
  4909  }
  4910  
  4911  func (x *TasksWithPerfRequest) GetSort() SortQuery {
  4912  	if x != nil {
  4913  		return x.Sort
  4914  	}
  4915  	return SortQuery_QUERY_CREATED_TS
  4916  }
  4917  
  4918  func (x *TasksWithPerfRequest) GetTags() []string {
  4919  	if x != nil {
  4920  		return x.Tags
  4921  	}
  4922  	return nil
  4923  }
  4924  
  4925  func (x *TasksWithPerfRequest) GetIncludePerformanceStats() bool {
  4926  	if x != nil {
  4927  		return x.IncludePerformanceStats
  4928  	}
  4929  	return false
  4930  }
  4931  
  4932  type TasksRequest struct {
  4933  	state         protoimpl.MessageState
  4934  	sizeCache     protoimpl.SizeCache
  4935  	unknownFields protoimpl.UnknownFields
  4936  
  4937  	Limit  int32  `protobuf:"varint,1,opt,name=limit,proto3" json:"limit,omitempty"`
  4938  	Cursor string `protobuf:"bytes,2,opt,name=cursor,proto3" json:"cursor,omitempty"`
  4939  	// These were floats in the legacy protorpc api
  4940  	Start *timestamppb.Timestamp `protobuf:"bytes,3,opt,name=start,proto3" json:"start,omitempty"`
  4941  	End   *timestamppb.Timestamp `protobuf:"bytes,4,opt,name=end,proto3" json:"end,omitempty"`
  4942  	State StateQuery             `protobuf:"varint,5,opt,name=state,proto3,enum=swarming.v2.StateQuery" json:"state,omitempty"`
  4943  	Sort  SortQuery              `protobuf:"varint,6,opt,name=sort,proto3,enum=swarming.v2.SortQuery" json:"sort,omitempty"`
  4944  	Tags  []string               `protobuf:"bytes,7,rep,name=tags,proto3" json:"tags,omitempty"`
  4945  }
  4946  
  4947  func (x *TasksRequest) Reset() {
  4948  	*x = TasksRequest{}
  4949  	if protoimpl.UnsafeEnabled {
  4950  		mi := &file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_msgTypes[51]
  4951  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  4952  		ms.StoreMessageInfo(mi)
  4953  	}
  4954  }
  4955  
  4956  func (x *TasksRequest) String() string {
  4957  	return protoimpl.X.MessageStringOf(x)
  4958  }
  4959  
  4960  func (*TasksRequest) ProtoMessage() {}
  4961  
  4962  func (x *TasksRequest) ProtoReflect() protoreflect.Message {
  4963  	mi := &file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_msgTypes[51]
  4964  	if protoimpl.UnsafeEnabled && x != nil {
  4965  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  4966  		if ms.LoadMessageInfo() == nil {
  4967  			ms.StoreMessageInfo(mi)
  4968  		}
  4969  		return ms
  4970  	}
  4971  	return mi.MessageOf(x)
  4972  }
  4973  
  4974  // Deprecated: Use TasksRequest.ProtoReflect.Descriptor instead.
  4975  func (*TasksRequest) Descriptor() ([]byte, []int) {
  4976  	return file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_rawDescGZIP(), []int{51}
  4977  }
  4978  
  4979  func (x *TasksRequest) GetLimit() int32 {
  4980  	if x != nil {
  4981  		return x.Limit
  4982  	}
  4983  	return 0
  4984  }
  4985  
  4986  func (x *TasksRequest) GetCursor() string {
  4987  	if x != nil {
  4988  		return x.Cursor
  4989  	}
  4990  	return ""
  4991  }
  4992  
  4993  func (x *TasksRequest) GetStart() *timestamppb.Timestamp {
  4994  	if x != nil {
  4995  		return x.Start
  4996  	}
  4997  	return nil
  4998  }
  4999  
  5000  func (x *TasksRequest) GetEnd() *timestamppb.Timestamp {
  5001  	if x != nil {
  5002  		return x.End
  5003  	}
  5004  	return nil
  5005  }
  5006  
  5007  func (x *TasksRequest) GetState() StateQuery {
  5008  	if x != nil {
  5009  		return x.State
  5010  	}
  5011  	return StateQuery_QUERY_PENDING
  5012  }
  5013  
  5014  func (x *TasksRequest) GetSort() SortQuery {
  5015  	if x != nil {
  5016  		return x.Sort
  5017  	}
  5018  	return SortQuery_QUERY_CREATED_TS
  5019  }
  5020  
  5021  func (x *TasksRequest) GetTags() []string {
  5022  	if x != nil {
  5023  		return x.Tags
  5024  	}
  5025  	return nil
  5026  }
  5027  
  5028  type TasksCountRequest struct {
  5029  	state         protoimpl.MessageState
  5030  	sizeCache     protoimpl.SizeCache
  5031  	unknownFields protoimpl.UnknownFields
  5032  
  5033  	Start *timestamppb.Timestamp `protobuf:"bytes,1,opt,name=start,proto3" json:"start,omitempty"`
  5034  	End   *timestamppb.Timestamp `protobuf:"bytes,2,opt,name=end,proto3" json:"end,omitempty"`
  5035  	State StateQuery             `protobuf:"varint,3,opt,name=state,proto3,enum=swarming.v2.StateQuery" json:"state,omitempty"`
  5036  	Tags  []string               `protobuf:"bytes,4,rep,name=tags,proto3" json:"tags,omitempty"`
  5037  }
  5038  
  5039  func (x *TasksCountRequest) Reset() {
  5040  	*x = TasksCountRequest{}
  5041  	if protoimpl.UnsafeEnabled {
  5042  		mi := &file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_msgTypes[52]
  5043  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  5044  		ms.StoreMessageInfo(mi)
  5045  	}
  5046  }
  5047  
  5048  func (x *TasksCountRequest) String() string {
  5049  	return protoimpl.X.MessageStringOf(x)
  5050  }
  5051  
  5052  func (*TasksCountRequest) ProtoMessage() {}
  5053  
  5054  func (x *TasksCountRequest) ProtoReflect() protoreflect.Message {
  5055  	mi := &file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_msgTypes[52]
  5056  	if protoimpl.UnsafeEnabled && x != nil {
  5057  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  5058  		if ms.LoadMessageInfo() == nil {
  5059  			ms.StoreMessageInfo(mi)
  5060  		}
  5061  		return ms
  5062  	}
  5063  	return mi.MessageOf(x)
  5064  }
  5065  
  5066  // Deprecated: Use TasksCountRequest.ProtoReflect.Descriptor instead.
  5067  func (*TasksCountRequest) Descriptor() ([]byte, []int) {
  5068  	return file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_rawDescGZIP(), []int{52}
  5069  }
  5070  
  5071  func (x *TasksCountRequest) GetStart() *timestamppb.Timestamp {
  5072  	if x != nil {
  5073  		return x.Start
  5074  	}
  5075  	return nil
  5076  }
  5077  
  5078  func (x *TasksCountRequest) GetEnd() *timestamppb.Timestamp {
  5079  	if x != nil {
  5080  		return x.End
  5081  	}
  5082  	return nil
  5083  }
  5084  
  5085  func (x *TasksCountRequest) GetState() StateQuery {
  5086  	if x != nil {
  5087  		return x.State
  5088  	}
  5089  	return StateQuery_QUERY_PENDING
  5090  }
  5091  
  5092  func (x *TasksCountRequest) GetTags() []string {
  5093  	if x != nil {
  5094  		return x.Tags
  5095  	}
  5096  	return nil
  5097  }
  5098  
  5099  type TaskIdRequest struct {
  5100  	state         protoimpl.MessageState
  5101  	sizeCache     protoimpl.SizeCache
  5102  	unknownFields protoimpl.UnknownFields
  5103  
  5104  	TaskId string `protobuf:"bytes,1,opt,name=task_id,json=taskId,proto3" json:"task_id,omitempty"`
  5105  }
  5106  
  5107  func (x *TaskIdRequest) Reset() {
  5108  	*x = TaskIdRequest{}
  5109  	if protoimpl.UnsafeEnabled {
  5110  		mi := &file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_msgTypes[53]
  5111  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  5112  		ms.StoreMessageInfo(mi)
  5113  	}
  5114  }
  5115  
  5116  func (x *TaskIdRequest) String() string {
  5117  	return protoimpl.X.MessageStringOf(x)
  5118  }
  5119  
  5120  func (*TaskIdRequest) ProtoMessage() {}
  5121  
  5122  func (x *TaskIdRequest) ProtoReflect() protoreflect.Message {
  5123  	mi := &file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_msgTypes[53]
  5124  	if protoimpl.UnsafeEnabled && x != nil {
  5125  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  5126  		if ms.LoadMessageInfo() == nil {
  5127  			ms.StoreMessageInfo(mi)
  5128  		}
  5129  		return ms
  5130  	}
  5131  	return mi.MessageOf(x)
  5132  }
  5133  
  5134  // Deprecated: Use TaskIdRequest.ProtoReflect.Descriptor instead.
  5135  func (*TaskIdRequest) Descriptor() ([]byte, []int) {
  5136  	return file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_rawDescGZIP(), []int{53}
  5137  }
  5138  
  5139  func (x *TaskIdRequest) GetTaskId() string {
  5140  	if x != nil {
  5141  		return x.TaskId
  5142  	}
  5143  	return ""
  5144  }
  5145  
  5146  type TaskIdWithOffsetRequest struct {
  5147  	state         protoimpl.MessageState
  5148  	sizeCache     protoimpl.SizeCache
  5149  	unknownFields protoimpl.UnknownFields
  5150  
  5151  	TaskId string `protobuf:"bytes,1,opt,name=task_id,json=taskId,proto3" json:"task_id,omitempty"`
  5152  	Offset int64  `protobuf:"varint,2,opt,name=offset,proto3" json:"offset,omitempty"`
  5153  	Length int64  `protobuf:"varint,3,opt,name=length,proto3" json:"length,omitempty"`
  5154  }
  5155  
  5156  func (x *TaskIdWithOffsetRequest) Reset() {
  5157  	*x = TaskIdWithOffsetRequest{}
  5158  	if protoimpl.UnsafeEnabled {
  5159  		mi := &file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_msgTypes[54]
  5160  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  5161  		ms.StoreMessageInfo(mi)
  5162  	}
  5163  }
  5164  
  5165  func (x *TaskIdWithOffsetRequest) String() string {
  5166  	return protoimpl.X.MessageStringOf(x)
  5167  }
  5168  
  5169  func (*TaskIdWithOffsetRequest) ProtoMessage() {}
  5170  
  5171  func (x *TaskIdWithOffsetRequest) ProtoReflect() protoreflect.Message {
  5172  	mi := &file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_msgTypes[54]
  5173  	if protoimpl.UnsafeEnabled && x != nil {
  5174  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  5175  		if ms.LoadMessageInfo() == nil {
  5176  			ms.StoreMessageInfo(mi)
  5177  		}
  5178  		return ms
  5179  	}
  5180  	return mi.MessageOf(x)
  5181  }
  5182  
  5183  // Deprecated: Use TaskIdWithOffsetRequest.ProtoReflect.Descriptor instead.
  5184  func (*TaskIdWithOffsetRequest) Descriptor() ([]byte, []int) {
  5185  	return file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_rawDescGZIP(), []int{54}
  5186  }
  5187  
  5188  func (x *TaskIdWithOffsetRequest) GetTaskId() string {
  5189  	if x != nil {
  5190  		return x.TaskId
  5191  	}
  5192  	return ""
  5193  }
  5194  
  5195  func (x *TaskIdWithOffsetRequest) GetOffset() int64 {
  5196  	if x != nil {
  5197  		return x.Offset
  5198  	}
  5199  	return 0
  5200  }
  5201  
  5202  func (x *TaskIdWithOffsetRequest) GetLength() int64 {
  5203  	if x != nil {
  5204  		return x.Length
  5205  	}
  5206  	return 0
  5207  }
  5208  
  5209  type TaskIdWithPerfRequest struct {
  5210  	state         protoimpl.MessageState
  5211  	sizeCache     protoimpl.SizeCache
  5212  	unknownFields protoimpl.UnknownFields
  5213  
  5214  	TaskId                  string `protobuf:"bytes,1,opt,name=task_id,json=taskId,proto3" json:"task_id,omitempty"`
  5215  	IncludePerformanceStats bool   `protobuf:"varint,2,opt,name=include_performance_stats,json=includePerformanceStats,proto3" json:"include_performance_stats,omitempty"`
  5216  }
  5217  
  5218  func (x *TaskIdWithPerfRequest) Reset() {
  5219  	*x = TaskIdWithPerfRequest{}
  5220  	if protoimpl.UnsafeEnabled {
  5221  		mi := &file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_msgTypes[55]
  5222  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  5223  		ms.StoreMessageInfo(mi)
  5224  	}
  5225  }
  5226  
  5227  func (x *TaskIdWithPerfRequest) String() string {
  5228  	return protoimpl.X.MessageStringOf(x)
  5229  }
  5230  
  5231  func (*TaskIdWithPerfRequest) ProtoMessage() {}
  5232  
  5233  func (x *TaskIdWithPerfRequest) ProtoReflect() protoreflect.Message {
  5234  	mi := &file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_msgTypes[55]
  5235  	if protoimpl.UnsafeEnabled && x != nil {
  5236  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  5237  		if ms.LoadMessageInfo() == nil {
  5238  			ms.StoreMessageInfo(mi)
  5239  		}
  5240  		return ms
  5241  	}
  5242  	return mi.MessageOf(x)
  5243  }
  5244  
  5245  // Deprecated: Use TaskIdWithPerfRequest.ProtoReflect.Descriptor instead.
  5246  func (*TaskIdWithPerfRequest) Descriptor() ([]byte, []int) {
  5247  	return file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_rawDescGZIP(), []int{55}
  5248  }
  5249  
  5250  func (x *TaskIdWithPerfRequest) GetTaskId() string {
  5251  	if x != nil {
  5252  		return x.TaskId
  5253  	}
  5254  	return ""
  5255  }
  5256  
  5257  func (x *TaskIdWithPerfRequest) GetIncludePerformanceStats() bool {
  5258  	if x != nil {
  5259  		return x.IncludePerformanceStats
  5260  	}
  5261  	return false
  5262  }
  5263  
  5264  type BatchGetResultRequest struct {
  5265  	state         protoimpl.MessageState
  5266  	sizeCache     protoimpl.SizeCache
  5267  	unknownFields protoimpl.UnknownFields
  5268  
  5269  	// One or more task IDs (ending with '0'), must have no duplicates.
  5270  	TaskIds []string `protobuf:"bytes,1,rep,name=task_ids,json=taskIds,proto3" json:"task_ids,omitempty"`
  5271  	// If true, populate `performance_stats` in the output.
  5272  	IncludePerformanceStats bool `protobuf:"varint,2,opt,name=include_performance_stats,json=includePerformanceStats,proto3" json:"include_performance_stats,omitempty"`
  5273  }
  5274  
  5275  func (x *BatchGetResultRequest) Reset() {
  5276  	*x = BatchGetResultRequest{}
  5277  	if protoimpl.UnsafeEnabled {
  5278  		mi := &file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_msgTypes[56]
  5279  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  5280  		ms.StoreMessageInfo(mi)
  5281  	}
  5282  }
  5283  
  5284  func (x *BatchGetResultRequest) String() string {
  5285  	return protoimpl.X.MessageStringOf(x)
  5286  }
  5287  
  5288  func (*BatchGetResultRequest) ProtoMessage() {}
  5289  
  5290  func (x *BatchGetResultRequest) ProtoReflect() protoreflect.Message {
  5291  	mi := &file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_msgTypes[56]
  5292  	if protoimpl.UnsafeEnabled && x != nil {
  5293  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  5294  		if ms.LoadMessageInfo() == nil {
  5295  			ms.StoreMessageInfo(mi)
  5296  		}
  5297  		return ms
  5298  	}
  5299  	return mi.MessageOf(x)
  5300  }
  5301  
  5302  // Deprecated: Use BatchGetResultRequest.ProtoReflect.Descriptor instead.
  5303  func (*BatchGetResultRequest) Descriptor() ([]byte, []int) {
  5304  	return file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_rawDescGZIP(), []int{56}
  5305  }
  5306  
  5307  func (x *BatchGetResultRequest) GetTaskIds() []string {
  5308  	if x != nil {
  5309  		return x.TaskIds
  5310  	}
  5311  	return nil
  5312  }
  5313  
  5314  func (x *BatchGetResultRequest) GetIncludePerformanceStats() bool {
  5315  	if x != nil {
  5316  		return x.IncludePerformanceStats
  5317  	}
  5318  	return false
  5319  }
  5320  
  5321  type BatchGetResultResponse struct {
  5322  	state         protoimpl.MessageState
  5323  	sizeCache     protoimpl.SizeCache
  5324  	unknownFields protoimpl.UnknownFields
  5325  
  5326  	// Task results or errors, in the same order as `task_ids` in the request.
  5327  	Results []*BatchGetResultResponse_ResultOrError `protobuf:"bytes,1,rep,name=results,proto3" json:"results,omitempty"`
  5328  }
  5329  
  5330  func (x *BatchGetResultResponse) Reset() {
  5331  	*x = BatchGetResultResponse{}
  5332  	if protoimpl.UnsafeEnabled {
  5333  		mi := &file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_msgTypes[57]
  5334  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  5335  		ms.StoreMessageInfo(mi)
  5336  	}
  5337  }
  5338  
  5339  func (x *BatchGetResultResponse) String() string {
  5340  	return protoimpl.X.MessageStringOf(x)
  5341  }
  5342  
  5343  func (*BatchGetResultResponse) ProtoMessage() {}
  5344  
  5345  func (x *BatchGetResultResponse) ProtoReflect() protoreflect.Message {
  5346  	mi := &file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_msgTypes[57]
  5347  	if protoimpl.UnsafeEnabled && x != nil {
  5348  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  5349  		if ms.LoadMessageInfo() == nil {
  5350  			ms.StoreMessageInfo(mi)
  5351  		}
  5352  		return ms
  5353  	}
  5354  	return mi.MessageOf(x)
  5355  }
  5356  
  5357  // Deprecated: Use BatchGetResultResponse.ProtoReflect.Descriptor instead.
  5358  func (*BatchGetResultResponse) Descriptor() ([]byte, []int) {
  5359  	return file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_rawDescGZIP(), []int{57}
  5360  }
  5361  
  5362  func (x *BatchGetResultResponse) GetResults() []*BatchGetResultResponse_ResultOrError {
  5363  	if x != nil {
  5364  		return x.Results
  5365  	}
  5366  	return nil
  5367  }
  5368  
  5369  // Outcome of fetching one task's result.
  5370  type BatchGetResultResponse_ResultOrError struct {
  5371  	state         protoimpl.MessageState
  5372  	sizeCache     protoimpl.SizeCache
  5373  	unknownFields protoimpl.UnknownFields
  5374  
  5375  	TaskId string `protobuf:"bytes,1,opt,name=task_id,json=taskId,proto3" json:"task_id,omitempty"`
  5376  	// Types that are assignable to Outcome:
  5377  	//
  5378  	//	*BatchGetResultResponse_ResultOrError_Result
  5379  	//	*BatchGetResultResponse_ResultOrError_Error
  5380  	Outcome isBatchGetResultResponse_ResultOrError_Outcome `protobuf_oneof:"outcome"`
  5381  }
  5382  
  5383  func (x *BatchGetResultResponse_ResultOrError) Reset() {
  5384  	*x = BatchGetResultResponse_ResultOrError{}
  5385  	if protoimpl.UnsafeEnabled {
  5386  		mi := &file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_msgTypes[58]
  5387  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  5388  		ms.StoreMessageInfo(mi)
  5389  	}
  5390  }
  5391  
  5392  func (x *BatchGetResultResponse_ResultOrError) String() string {
  5393  	return protoimpl.X.MessageStringOf(x)
  5394  }
  5395  
  5396  func (*BatchGetResultResponse_ResultOrError) ProtoMessage() {}
  5397  
  5398  func (x *BatchGetResultResponse_ResultOrError) ProtoReflect() protoreflect.Message {
  5399  	mi := &file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_msgTypes[58]
  5400  	if protoimpl.UnsafeEnabled && x != nil {
  5401  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  5402  		if ms.LoadMessageInfo() == nil {
  5403  			ms.StoreMessageInfo(mi)
  5404  		}
  5405  		return ms
  5406  	}
  5407  	return mi.MessageOf(x)
  5408  }
  5409  
  5410  // Deprecated: Use BatchGetResultResponse_ResultOrError.ProtoReflect.Descriptor instead.
  5411  func (*BatchGetResultResponse_ResultOrError) Descriptor() ([]byte, []int) {
  5412  	return file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_rawDescGZIP(), []int{57, 0}
  5413  }
  5414  
  5415  func (x *BatchGetResultResponse_ResultOrError) GetTaskId() string {
  5416  	if x != nil {
  5417  		return x.TaskId
  5418  	}
  5419  	return ""
  5420  }
  5421  
  5422  func (m *BatchGetResultResponse_ResultOrError) GetOutcome() isBatchGetResultResponse_ResultOrError_Outcome {
  5423  	if m != nil {
  5424  		return m.Outcome
  5425  	}
  5426  	return nil
  5427  }
  5428  
  5429  func (x *BatchGetResultResponse_ResultOrError) GetResult() *TaskResultResponse {
  5430  	if x, ok := x.GetOutcome().(*BatchGetResultResponse_ResultOrError_Result); ok {
  5431  		return x.Result
  5432  	}
  5433  	return nil
  5434  }
  5435  
  5436  func (x *BatchGetResultResponse_ResultOrError) GetError() *status.Status {
  5437  	if x, ok := x.GetOutcome().(*BatchGetResultResponse_ResultOrError_Error); ok {
  5438  		return x.Error
  5439  	}
  5440  	return nil
  5441  }
  5442  
  5443  type isBatchGetResultResponse_ResultOrError_Outcome interface {
  5444  	isBatchGetResultResponse_ResultOrError_Outcome()
  5445  }
  5446  
  5447  type BatchGetResultResponse_ResultOrError_Result struct {
  5448  	Result *TaskResultResponse `protobuf:"bytes,2,opt,name=result,proto3,oneof"`
  5449  }
  5450  
  5451  type BatchGetResultResponse_ResultOrError_Error struct {
  5452  	Error *status.Status `protobuf:"bytes,3,opt,name=error,proto3,oneof"`
  5453  }
  5454  
  5455  func (*BatchGetResultResponse_ResultOrError_Result) isBatchGetResultResponse_ResultOrError_Outcome() {
  5456  }
  5457  
  5458  func (*BatchGetResultResponse_ResultOrError_Error) isBatchGetResultResponse_ResultOrError_Outcome() {}
  5459  
  5460  var File_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto protoreflect.FileDescriptor
  5461  
  5462  var file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_rawDesc = []byte{
  5463  	0x0a, 0x39, 0x67, 0x6f, 0x2e, 0x63, 0x68, 0x72, 0x6f, 0x6d, 0x69, 0x75, 0x6d, 0x2e, 0x6f, 0x72,
  5464  	0x67, 0x2f, 0x6c, 0x75, 0x63, 0x69, 0x2f, 0x73, 0x77, 0x61, 0x72, 0x6d, 0x69, 0x6e, 0x67, 0x2f,
  5465  	0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x61, 0x70, 0x69, 0x5f, 0x76, 0x32, 0x2f, 0x73, 0x77, 0x61,
  5466  	0x72, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x0b, 0x73, 0x77, 0x61,
  5467  	0x72, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x32, 0x1a, 0x1b, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
  5468  	0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x65, 0x6d, 0x70, 0x74, 0x79, 0x2e,
  5469  	0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72,
  5470  	0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70,
  5471  	0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x72,
  5472  	0x70, 0x63, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22,
  5473  	0x34, 0x0a, 0x0a, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x50, 0x61, 0x69, 0x72, 0x12, 0x10, 0x0a,
  5474  	0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12,
  5475  	0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05,
  5476  	0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0x38, 0x0a, 0x0e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x4c,
  5477  	0x69, 0x73, 0x74, 0x50, 0x61, 0x69, 0x72, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01,
  5478  	0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c,
  5479  	0x75, 0x65, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22,
  5480  	0xa7, 0x02, 0x0a, 0x0d, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c,
  5481  	0x73, 0x12, 0x25, 0x0a, 0x0e, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x76, 0x65, 0x72, 0x73,
  5482  	0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x73, 0x65, 0x72, 0x76, 0x65,
  5483  	0x72, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x1f, 0x0a, 0x0b, 0x62, 0x6f, 0x74, 0x5f,
  5484  	0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x62,
  5485  	0x6f, 0x74, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x3e, 0x0a, 0x19, 0x6d, 0x61, 0x63,
  5486  	0x68, 0x69, 0x6e, 0x65, 0x5f, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x5f, 0x74, 0x65,
  5487  	0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x02, 0x18, 0x01,
  5488  	0x52, 0x17, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65,
  5489  	0x72, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x12, 0x3d, 0x0a, 0x1b, 0x64, 0x69, 0x73,
  5490  	0x70, 0x6c, 0x61, 0x79, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x75, 0x72, 0x6c, 0x5f,
  5491  	0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x18,
  5492  	0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x55, 0x72, 0x6c,
  5493  	0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x12, 0x23, 0x0a, 0x0b, 0x6c, 0x75, 0x63, 0x69,
  5494  	0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x42, 0x02, 0x18,
  5495  	0x01, 0x52, 0x0a, 0x6c, 0x75, 0x63, 0x69, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x2a, 0x0a,
  5496  	0x11, 0x63, 0x61, 0x73, 0x5f, 0x76, 0x69, 0x65, 0x77, 0x65, 0x72, 0x5f, 0x73, 0x65, 0x72, 0x76,
  5497  	0x65, 0x72, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x63, 0x61, 0x73, 0x56, 0x69, 0x65,
  5498  	0x77, 0x65, 0x72, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x22, 0x39, 0x0a, 0x0e, 0x42, 0x6f, 0x6f,
  5499  	0x74, 0x73, 0x74, 0x72, 0x61, 0x70, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x27, 0x0a, 0x0f, 0x62,
  5500  	0x6f, 0x6f, 0x74, 0x73, 0x74, 0x72, 0x61, 0x70, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x01,
  5501  	0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x62, 0x6f, 0x6f, 0x74, 0x73, 0x74, 0x72, 0x61, 0x70, 0x54,
  5502  	0x6f, 0x6b, 0x65, 0x6e, 0x22, 0xf2, 0x02, 0x0a, 0x11, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x50,
  5503  	0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x64, 0x65,
  5504  	0x6c, 0x65, 0x74, 0x65, 0x5f, 0x62, 0x6f, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09,
  5505  	0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x42, 0x6f, 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x64, 0x65, 0x6c,
  5506  	0x65, 0x74, 0x65, 0x5f, 0x62, 0x6f, 0x74, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a,
  5507  	0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x42, 0x6f, 0x74, 0x73, 0x12, 0x23, 0x0a, 0x0d, 0x74, 0x65,
  5508  	0x72, 0x6d, 0x69, 0x6e, 0x61, 0x74, 0x65, 0x5f, 0x62, 0x6f, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28,
  5509  	0x08, 0x52, 0x0c, 0x74, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x61, 0x74, 0x65, 0x42, 0x6f, 0x74, 0x12,
  5510  	0x23, 0x0a, 0x0b, 0x67, 0x65, 0x74, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x18, 0x04,
  5511  	0x20, 0x01, 0x28, 0x08, 0x42, 0x02, 0x18, 0x01, 0x52, 0x0a, 0x67, 0x65, 0x74, 0x43, 0x6f, 0x6e,
  5512  	0x66, 0x69, 0x67, 0x73, 0x12, 0x23, 0x0a, 0x0b, 0x70, 0x75, 0x74, 0x5f, 0x63, 0x6f, 0x6e, 0x66,
  5513  	0x69, 0x67, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x42, 0x02, 0x18, 0x01, 0x52, 0x0a, 0x70,
  5514  	0x75, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x63, 0x61, 0x6e,
  5515  	0x63, 0x65, 0x6c, 0x5f, 0x74, 0x61, 0x73, 0x6b, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a,
  5516  	0x63, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x54, 0x61, 0x73, 0x6b, 0x12, 0x2e, 0x0a, 0x13, 0x67, 0x65,
  5517  	0x74, 0x5f, 0x62, 0x6f, 0x6f, 0x74, 0x73, 0x74, 0x72, 0x61, 0x70, 0x5f, 0x74, 0x6f, 0x6b, 0x65,
  5518  	0x6e, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, 0x11, 0x67, 0x65, 0x74, 0x42, 0x6f, 0x6f, 0x74,
  5519  	0x73, 0x74, 0x72, 0x61, 0x70, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x21, 0x0a, 0x0c, 0x63, 0x61,
  5520  	0x6e, 0x63, 0x65, 0x6c, 0x5f, 0x74, 0x61, 0x73, 0x6b, 0x73, 0x18, 0x08, 0x20, 0x01, 0x28, 0x08,
  5521  	0x52, 0x0b, 0x63, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x54, 0x61, 0x73, 0x6b, 0x73, 0x12, 0x1b, 0x0a,
  5522  	0x09, 0x6c, 0x69, 0x73, 0x74, 0x5f, 0x62, 0x6f, 0x74, 0x73, 0x18, 0x09, 0x20, 0x03, 0x28, 0x09,
  5523  	0x52, 0x08, 0x6c, 0x69, 0x73, 0x74, 0x42, 0x6f, 0x74, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x6c, 0x69,
  5524  	0x73, 0x74, 0x5f, 0x74, 0x61, 0x73, 0x6b, 0x73, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x09, 0x52, 0x09,
  5525  	0x6c, 0x69, 0x73, 0x74, 0x54, 0x61, 0x73, 0x6b, 0x73, 0x22, 0x3b, 0x0a, 0x06, 0x44, 0x69, 0x67,
  5526  	0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x68, 0x61, 0x73, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28,
  5527  	0x09, 0x52, 0x04, 0x68, 0x61, 0x73, 0x68, 0x12, 0x1d, 0x0a, 0x0a, 0x73, 0x69, 0x7a, 0x65, 0x5f,
  5528  	0x62, 0x79, 0x74, 0x65, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x73, 0x69, 0x7a,
  5529  	0x65, 0x42, 0x79, 0x74, 0x65, 0x73, 0x22, 0x5e, 0x0a, 0x0c, 0x43, 0x41, 0x53, 0x52, 0x65, 0x66,
  5530  	0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x63, 0x61, 0x73, 0x5f, 0x69, 0x6e,
  5531  	0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x63, 0x61,
  5532  	0x73, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x2b, 0x0a, 0x06, 0x64, 0x69, 0x67,
  5533  	0x65, 0x73, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x73, 0x77, 0x61, 0x72,
  5534  	0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x32, 0x2e, 0x44, 0x69, 0x67, 0x65, 0x73, 0x74, 0x52, 0x06,
  5535  	0x64, 0x69, 0x67, 0x65, 0x73, 0x74, 0x22, 0x5e, 0x0a, 0x0b, 0x43, 0x69, 0x70, 0x64, 0x50, 0x61,
  5536  	0x63, 0x6b, 0x61, 0x67, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65,
  5537  	0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x70, 0x61, 0x63,
  5538  	0x6b, 0x61, 0x67, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73,
  5539  	0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69,
  5540  	0x6f, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x61, 0x74, 0x68, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09,
  5541  	0x52, 0x04, 0x70, 0x61, 0x74, 0x68, 0x22, 0x9a, 0x01, 0x0a, 0x09, 0x43, 0x69, 0x70, 0x64, 0x49,
  5542  	0x6e, 0x70, 0x75, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x18, 0x01,
  5543  	0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x12, 0x3f, 0x0a, 0x0e,
  5544  	0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x18, 0x02,
  5545  	0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x73, 0x77, 0x61, 0x72, 0x6d, 0x69, 0x6e, 0x67, 0x2e,
  5546  	0x76, 0x32, 0x2e, 0x43, 0x69, 0x70, 0x64, 0x50, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x52, 0x0d,
  5547  	0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x50, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x12, 0x34, 0x0a,
  5548  	0x08, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32,
  5549  	0x18, 0x2e, 0x73, 0x77, 0x61, 0x72, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x69,
  5550  	0x70, 0x64, 0x50, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x52, 0x08, 0x70, 0x61, 0x63, 0x6b, 0x61,
  5551  	0x67, 0x65, 0x73, 0x22, 0x81, 0x01, 0x0a, 0x08, 0x43, 0x69, 0x70, 0x64, 0x50, 0x69, 0x6e, 0x73,
  5552  	0x12, 0x3f, 0x0a, 0x0e, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x70, 0x61, 0x63, 0x6b, 0x61,
  5553  	0x67, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x73, 0x77, 0x61, 0x72, 0x6d,
  5554  	0x69, 0x6e, 0x67, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x69, 0x70, 0x64, 0x50, 0x61, 0x63, 0x6b, 0x61,
  5555  	0x67, 0x65, 0x52, 0x0d, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x50, 0x61, 0x63, 0x6b, 0x61, 0x67,
  5556  	0x65, 0x12, 0x34, 0x0a, 0x08, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x73, 0x18, 0x02, 0x20,
  5557  	0x03, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x73, 0x77, 0x61, 0x72, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x76,
  5558  	0x32, 0x2e, 0x43, 0x69, 0x70, 0x64, 0x50, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x52, 0x08, 0x70,
  5559  	0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x73, 0x22, 0x34, 0x0a, 0x0a, 0x43, 0x61, 0x63, 0x68, 0x65,
  5560  	0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20,
  5561  	0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x61, 0x74,
  5562  	0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x70, 0x61, 0x74, 0x68, 0x22, 0x56, 0x0a,
  5563  	0x0b, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x47, 0x0a, 0x10,
  5564  	0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65,
  5565  	0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1c, 0x2e, 0x73, 0x77, 0x61, 0x72, 0x6d, 0x69, 0x6e,
  5566  	0x67, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x6d, 0x65, 0x6e, 0x74,
  5567  	0x54, 0x79, 0x70, 0x65, 0x52, 0x0f, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x6d, 0x65, 0x6e,
  5568  	0x74, 0x54, 0x79, 0x70, 0x65, 0x22, 0xbd, 0x05, 0x0a, 0x0e, 0x54, 0x61, 0x73, 0x6b, 0x50, 0x72,
  5569  	0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x12, 0x2f, 0x0a, 0x06, 0x63, 0x61, 0x63, 0x68,
  5570  	0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x73, 0x77, 0x61, 0x72, 0x6d,
  5571  	0x69, 0x6e, 0x67, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x61, 0x63, 0x68, 0x65, 0x45, 0x6e, 0x74, 0x72,
  5572  	0x79, 0x52, 0x06, 0x63, 0x61, 0x63, 0x68, 0x65, 0x73, 0x12, 0x35, 0x0a, 0x0a, 0x63, 0x69, 0x70,
  5573  	0x64, 0x5f, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e,
  5574  	0x73, 0x77, 0x61, 0x72, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x69, 0x70, 0x64,
  5575  	0x49, 0x6e, 0x70, 0x75, 0x74, 0x52, 0x09, 0x63, 0x69, 0x70, 0x64, 0x49, 0x6e, 0x70, 0x75, 0x74,
  5576  	0x12, 0x18, 0x0a, 0x07, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x18, 0x03, 0x20, 0x03, 0x28,
  5577  	0x09, 0x52, 0x07, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x72, 0x65,
  5578  	0x6c, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x63, 0x77, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09,
  5579  	0x52, 0x0b, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x76, 0x65, 0x43, 0x77, 0x64, 0x12, 0x37, 0x0a,
  5580  	0x0a, 0x64, 0x69, 0x6d, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28,
  5581  	0x0b, 0x32, 0x17, 0x2e, 0x73, 0x77, 0x61, 0x72, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x32, 0x2e,
  5582  	0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x50, 0x61, 0x69, 0x72, 0x52, 0x0a, 0x64, 0x69, 0x6d, 0x65,
  5583  	0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x29, 0x0a, 0x03, 0x65, 0x6e, 0x76, 0x18, 0x06, 0x20,
  5584  	0x03, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x73, 0x77, 0x61, 0x72, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x76,
  5585  	0x32, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x50, 0x61, 0x69, 0x72, 0x52, 0x03, 0x65, 0x6e,
  5586  	0x76, 0x12, 0x3e, 0x0a, 0x0c, 0x65, 0x6e, 0x76, 0x5f, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x65,
  5587  	0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x73, 0x77, 0x61, 0x72, 0x6d, 0x69,
  5588  	0x6e, 0x67, 0x2e, 0x76, 0x32, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x4c, 0x69, 0x73, 0x74,
  5589  	0x50, 0x61, 0x69, 0x72, 0x52, 0x0b, 0x65, 0x6e, 0x76, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x65,
  5590  	0x73, 0x12, 0x34, 0x0a, 0x16, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74,
  5591  	0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x5f, 0x73, 0x65, 0x63, 0x73, 0x18, 0x08, 0x20, 0x01, 0x28,
  5592  	0x05, 0x52, 0x14, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x69, 0x6d, 0x65,
  5593  	0x6f, 0x75, 0x74, 0x53, 0x65, 0x63, 0x73, 0x12, 0x2a, 0x0a, 0x11, 0x67, 0x72, 0x61, 0x63, 0x65,
  5594  	0x5f, 0x70, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x5f, 0x73, 0x65, 0x63, 0x73, 0x18, 0x09, 0x20, 0x01,
  5595  	0x28, 0x05, 0x52, 0x0f, 0x67, 0x72, 0x61, 0x63, 0x65, 0x50, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x53,
  5596  	0x65, 0x63, 0x73, 0x12, 0x1e, 0x0a, 0x0a, 0x69, 0x64, 0x65, 0x6d, 0x70, 0x6f, 0x74, 0x65, 0x6e,
  5597  	0x74, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x69, 0x64, 0x65, 0x6d, 0x70, 0x6f, 0x74,
  5598  	0x65, 0x6e, 0x74, 0x12, 0x3f, 0x0a, 0x0e, 0x63, 0x61, 0x73, 0x5f, 0x69, 0x6e, 0x70, 0x75, 0x74,
  5599  	0x5f, 0x72, 0x6f, 0x6f, 0x74, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x73, 0x77,
  5600  	0x61, 0x72, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x41, 0x53, 0x52, 0x65, 0x66,
  5601  	0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x52, 0x0c, 0x63, 0x61, 0x73, 0x49, 0x6e, 0x70, 0x75, 0x74,
  5602  	0x52, 0x6f, 0x6f, 0x74, 0x12, 0x26, 0x0a, 0x0f, 0x69, 0x6f, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x6f,
  5603  	0x75, 0x74, 0x5f, 0x73, 0x65, 0x63, 0x73, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0d, 0x69,
  5604  	0x6f, 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x53, 0x65, 0x63, 0x73, 0x12, 0x18, 0x0a, 0x07,
  5605  	0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x73, 0x18, 0x0d, 0x20, 0x03, 0x28, 0x09, 0x52, 0x07, 0x6f,
  5606  	0x75, 0x74, 0x70, 0x75, 0x74, 0x73, 0x12, 0x21, 0x0a, 0x0c, 0x73, 0x65, 0x63, 0x72, 0x65, 0x74,
  5607  	0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0b, 0x73, 0x65,
  5608  	0x63, 0x72, 0x65, 0x74, 0x42, 0x79, 0x74, 0x65, 0x73, 0x12, 0x3a, 0x0a, 0x0b, 0x63, 0x6f, 0x6e,
  5609  	0x74, 0x61, 0x69, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18,
  5610  	0x2e, 0x73, 0x77, 0x61, 0x72, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x6f, 0x6e,
  5611  	0x74, 0x61, 0x69, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x0b, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69,
  5612  	0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x22, 0x9d, 0x01, 0x0a, 0x09, 0x54, 0x61, 0x73, 0x6b, 0x53, 0x6c,
  5613  	0x69, 0x63, 0x65, 0x12, 0x3b, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65,
  5614  	0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x73, 0x77, 0x61, 0x72, 0x6d, 0x69,
  5615  	0x6e, 0x67, 0x2e, 0x76, 0x32, 0x2e, 0x54, 0x61, 0x73, 0x6b, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72,
  5616  	0x74, 0x69, 0x65, 0x73, 0x52, 0x0a, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73,
  5617  	0x12, 0x27, 0x0a, 0x0f, 0x65, 0x78, 0x70, 0x69, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73,
  5618  	0x65, 0x63, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0e, 0x65, 0x78, 0x70, 0x69, 0x72,
  5619  	0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x63, 0x73, 0x12, 0x2a, 0x0a, 0x11, 0x77, 0x61, 0x69,
  5620  	0x74, 0x5f, 0x66, 0x6f, 0x72, 0x5f, 0x63, 0x61, 0x70, 0x61, 0x63, 0x69, 0x74, 0x79, 0x18, 0x03,
  5621  	0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, 0x77, 0x61, 0x69, 0x74, 0x46, 0x6f, 0x72, 0x43, 0x61, 0x70,
  5622  	0x61, 0x63, 0x69, 0x74, 0x79, 0x22, 0xd0, 0x03, 0x0a, 0x19, 0x53, 0x77, 0x61, 0x72, 0x6d, 0x69,
  5623  	0x6e, 0x67, 0x54, 0x61, 0x73, 0x6b, 0x42, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x43, 0x6f, 0x6e,
  5624  	0x66, 0x69, 0x67, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x18,
  5625  	0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x12,
  5626  	0x2c, 0x0a, 0x12, 0x62, 0x6f, 0x74, 0x5f, 0x70, 0x69, 0x6e, 0x67, 0x5f, 0x74, 0x6f, 0x6c, 0x65,
  5627  	0x72, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x10, 0x62, 0x6f, 0x74,
  5628  	0x50, 0x69, 0x6e, 0x67, 0x54, 0x6f, 0x6c, 0x65, 0x72, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x22, 0x0a,
  5629  	0x0d, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x72, 0x75, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x03,
  5630  	0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x52, 0x75, 0x6e, 0x49,
  5631  	0x64, 0x12, 0x27, 0x0a, 0x0f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x61, 0x63, 0x63,
  5632  	0x6f, 0x75, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x73, 0x65, 0x72, 0x76,
  5633  	0x69, 0x63, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x2a, 0x0a, 0x11, 0x77, 0x61,
  5634  	0x69, 0x74, 0x5f, 0x66, 0x6f, 0x72, 0x5f, 0x63, 0x61, 0x70, 0x61, 0x63, 0x69, 0x74, 0x79, 0x18,
  5635  	0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, 0x77, 0x61, 0x69, 0x74, 0x46, 0x6f, 0x72, 0x43, 0x61,
  5636  	0x70, 0x61, 0x63, 0x69, 0x74, 0x79, 0x12, 0x31, 0x0a, 0x15, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x5f,
  5637  	0x62, 0x69, 0x6e, 0x61, 0x72, 0x79, 0x5f, 0x63, 0x69, 0x70, 0x64, 0x5f, 0x70, 0x6b, 0x67, 0x18,
  5638  	0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x12, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x42, 0x69, 0x6e, 0x61,
  5639  	0x72, 0x79, 0x43, 0x69, 0x70, 0x64, 0x50, 0x6b, 0x67, 0x12, 0x33, 0x0a, 0x16, 0x61, 0x67, 0x65,
  5640  	0x6e, 0x74, 0x5f, 0x62, 0x69, 0x6e, 0x61, 0x72, 0x79, 0x5f, 0x63, 0x69, 0x70, 0x64, 0x5f, 0x76,
  5641  	0x65, 0x72, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x13, 0x61, 0x67, 0x65, 0x6e, 0x74,
  5642  	0x42, 0x69, 0x6e, 0x61, 0x72, 0x79, 0x43, 0x69, 0x70, 0x64, 0x56, 0x65, 0x72, 0x73, 0x12, 0x3b,
  5643  	0x0a, 0x1a, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x5f, 0x62, 0x69, 0x6e, 0x61, 0x72, 0x79, 0x5f, 0x63,
  5644  	0x69, 0x70, 0x64, 0x5f, 0x66, 0x69, 0x6c, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x08, 0x20, 0x01,
  5645  	0x28, 0x09, 0x52, 0x17, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x42, 0x69, 0x6e, 0x61, 0x72, 0x79, 0x43,
  5646  	0x69, 0x70, 0x64, 0x46, 0x69, 0x6c, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x37, 0x0a, 0x18, 0x61,
  5647  	0x67, 0x65, 0x6e, 0x74, 0x5f, 0x62, 0x69, 0x6e, 0x61, 0x72, 0x79, 0x5f, 0x63, 0x69, 0x70, 0x64,
  5648  	0x5f, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x15, 0x61,
  5649  	0x67, 0x65, 0x6e, 0x74, 0x42, 0x69, 0x6e, 0x61, 0x72, 0x79, 0x43, 0x69, 0x70, 0x64, 0x53, 0x65,
  5650  	0x72, 0x76, 0x65, 0x72, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x61, 0x67, 0x73, 0x18, 0x0a, 0x20, 0x03,
  5651  	0x28, 0x09, 0x52, 0x04, 0x74, 0x61, 0x67, 0x73, 0x22, 0x25, 0x0a, 0x0b, 0x52, 0x65, 0x73, 0x75,
  5652  	0x6c, 0x74, 0x44, 0x42, 0x43, 0x66, 0x67, 0x12, 0x16, 0x0a, 0x06, 0x65, 0x6e, 0x61, 0x62, 0x6c,
  5653  	0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x22,
  5654  	0xcc, 0x06, 0x0a, 0x0e, 0x4e, 0x65, 0x77, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65,
  5655  	0x73, 0x74, 0x12, 0x27, 0x0a, 0x0f, 0x65, 0x78, 0x70, 0x69, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e,
  5656  	0x5f, 0x73, 0x65, 0x63, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0e, 0x65, 0x78, 0x70,
  5657  	0x69, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x63, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x6e,
  5658  	0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12,
  5659  	0x24, 0x0a, 0x0e, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x74, 0x61, 0x73, 0x6b, 0x5f, 0x69,
  5660  	0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x54,
  5661  	0x61, 0x73, 0x6b, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74,
  5662  	0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74,
  5663  	0x79, 0x12, 0x3b, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x18,
  5664  	0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x73, 0x77, 0x61, 0x72, 0x6d, 0x69, 0x6e, 0x67,
  5665  	0x2e, 0x76, 0x32, 0x2e, 0x54, 0x61, 0x73, 0x6b, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69,
  5666  	0x65, 0x73, 0x52, 0x0a, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x12, 0x37,
  5667  	0x0a, 0x0b, 0x74, 0x61, 0x73, 0x6b, 0x5f, 0x73, 0x6c, 0x69, 0x63, 0x65, 0x73, 0x18, 0x06, 0x20,
  5668  	0x03, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x73, 0x77, 0x61, 0x72, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x76,
  5669  	0x32, 0x2e, 0x54, 0x61, 0x73, 0x6b, 0x53, 0x6c, 0x69, 0x63, 0x65, 0x52, 0x0a, 0x74, 0x61, 0x73,
  5670  	0x6b, 0x53, 0x6c, 0x69, 0x63, 0x65, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x61, 0x67, 0x73, 0x18,
  5671  	0x07, 0x20, 0x03, 0x28, 0x09, 0x52, 0x04, 0x74, 0x61, 0x67, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x75,
  5672  	0x73, 0x65, 0x72, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x75, 0x73, 0x65, 0x72, 0x12,
  5673  	0x27, 0x0a, 0x0f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75,
  5674  	0x6e, 0x74, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63,
  5675  	0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x21, 0x0a, 0x0c, 0x70, 0x75, 0x62, 0x73,
  5676  	0x75, 0x62, 0x5f, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b,
  5677  	0x70, 0x75, 0x62, 0x73, 0x75, 0x62, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x12, 0x2a, 0x0a, 0x11, 0x70,
  5678  	0x75, 0x62, 0x73, 0x75, 0x62, 0x5f, 0x61, 0x75, 0x74, 0x68, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e,
  5679  	0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x70, 0x75, 0x62, 0x73, 0x75, 0x62, 0x41, 0x75,
  5680  	0x74, 0x68, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x27, 0x0a, 0x0f, 0x70, 0x75, 0x62, 0x73, 0x75,
  5681  	0x62, 0x5f, 0x75, 0x73, 0x65, 0x72, 0x64, 0x61, 0x74, 0x61, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09,
  5682  	0x52, 0x0e, 0x70, 0x75, 0x62, 0x73, 0x75, 0x62, 0x55, 0x73, 0x65, 0x72, 0x64, 0x61, 0x74, 0x61,
  5683  	0x12, 0x23, 0x0a, 0x0d, 0x65, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x65, 0x5f, 0x6f, 0x6e, 0x6c,
  5684  	0x79, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x65, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74,
  5685  	0x65, 0x4f, 0x6e, 0x6c, 0x79, 0x12, 0x5f, 0x0a, 0x12, 0x70, 0x6f, 0x6f, 0x6c, 0x5f, 0x74, 0x61,
  5686  	0x73, 0x6b, 0x5f, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x18, 0x0e, 0x20, 0x01, 0x28,
  5687  	0x0e, 0x32, 0x31, 0x2e, 0x73, 0x77, 0x61, 0x72, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x32, 0x2e,
  5688  	0x4e, 0x65, 0x77, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x50,
  5689  	0x6f, 0x6f, 0x6c, 0x54, 0x61, 0x73, 0x6b, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x46,
  5690  	0x69, 0x65, 0x6c, 0x64, 0x52, 0x10, 0x70, 0x6f, 0x6f, 0x6c, 0x54, 0x61, 0x73, 0x6b, 0x54, 0x65,
  5691  	0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x12, 0x35, 0x0a, 0x17, 0x62, 0x6f, 0x74, 0x5f, 0x70, 0x69,
  5692  	0x6e, 0x67, 0x5f, 0x74, 0x6f, 0x6c, 0x65, 0x72, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x73, 0x65, 0x63,
  5693  	0x73, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x05, 0x52, 0x14, 0x62, 0x6f, 0x74, 0x50, 0x69, 0x6e, 0x67,
  5694  	0x54, 0x6f, 0x6c, 0x65, 0x72, 0x61, 0x6e, 0x63, 0x65, 0x53, 0x65, 0x63, 0x73, 0x12, 0x21, 0x0a,
  5695  	0x0c, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x75, 0x75, 0x69, 0x64, 0x18, 0x10, 0x20,
  5696  	0x01, 0x28, 0x09, 0x52, 0x0b, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x55, 0x75, 0x69, 0x64,
  5697  	0x12, 0x34, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x64, 0x62, 0x18, 0x11, 0x20, 0x01,
  5698  	0x28, 0x0b, 0x32, 0x18, 0x2e, 0x73, 0x77, 0x61, 0x72, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x32,
  5699  	0x2e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x44, 0x42, 0x43, 0x66, 0x67, 0x52, 0x08, 0x72, 0x65,
  5700  	0x73, 0x75, 0x6c, 0x74, 0x64, 0x62, 0x12, 0x14, 0x0a, 0x05, 0x72, 0x65, 0x61, 0x6c, 0x6d, 0x18,
  5701  	0x12, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x72, 0x65, 0x61, 0x6c, 0x6d, 0x22, 0x50, 0x0a, 0x15,
  5702  	0x50, 0x6f, 0x6f, 0x6c, 0x54, 0x61, 0x73, 0x6b, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65,
  5703  	0x46, 0x69, 0x65, 0x6c, 0x64, 0x12, 0x08, 0x0a, 0x04, 0x41, 0x55, 0x54, 0x4f, 0x10, 0x00, 0x12,
  5704  	0x11, 0x0a, 0x0d, 0x43, 0x41, 0x4e, 0x41, 0x52, 0x59, 0x5f, 0x50, 0x52, 0x45, 0x46, 0x45, 0x52,
  5705  	0x10, 0x01, 0x12, 0x10, 0x0a, 0x0c, 0x43, 0x41, 0x4e, 0x41, 0x52, 0x59, 0x5f, 0x4e, 0x45, 0x56,
  5706  	0x45, 0x52, 0x10, 0x02, 0x12, 0x08, 0x0a, 0x04, 0x53, 0x4b, 0x49, 0x50, 0x10, 0x03, 0x22, 0xc7,
  5707  	0x05, 0x0a, 0x13, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x65,
  5708  	0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x17, 0x0a, 0x07, 0x74, 0x61, 0x73, 0x6b, 0x5f, 0x69,
  5709  	0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x74, 0x61, 0x73, 0x6b, 0x49, 0x64, 0x12,
  5710  	0x27, 0x0a, 0x0f, 0x65, 0x78, 0x70, 0x69, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x65,
  5711  	0x63, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0e, 0x65, 0x78, 0x70, 0x69, 0x72, 0x61,
  5712  	0x74, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x63, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65,
  5713  	0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x24, 0x0a, 0x0e,
  5714  	0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x74, 0x61, 0x73, 0x6b, 0x5f, 0x69, 0x64, 0x18, 0x04,
  5715  	0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x54, 0x61, 0x73, 0x6b,
  5716  	0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x18, 0x05,
  5717  	0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x12, 0x3b,
  5718  	0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x18, 0x06, 0x20, 0x01,
  5719  	0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x73, 0x77, 0x61, 0x72, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x32,
  5720  	0x2e, 0x54, 0x61, 0x73, 0x6b, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x52,
  5721  	0x0a, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x74,
  5722  	0x61, 0x67, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x09, 0x52, 0x04, 0x74, 0x61, 0x67, 0x73, 0x12,
  5723  	0x39, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x74, 0x73, 0x18, 0x08, 0x20,
  5724  	0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f,
  5725  	0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52,
  5726  	0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x54, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x75, 0x73,
  5727  	0x65, 0x72, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x75, 0x73, 0x65, 0x72, 0x12, 0x24,
  5728  	0x0a, 0x0d, 0x61, 0x75, 0x74, 0x68, 0x65, 0x6e, 0x74, 0x69, 0x63, 0x61, 0x74, 0x65, 0x64, 0x18,
  5729  	0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x61, 0x75, 0x74, 0x68, 0x65, 0x6e, 0x74, 0x69, 0x63,
  5730  	0x61, 0x74, 0x65, 0x64, 0x12, 0x37, 0x0a, 0x0b, 0x74, 0x61, 0x73, 0x6b, 0x5f, 0x73, 0x6c, 0x69,
  5731  	0x63, 0x65, 0x73, 0x18, 0x0b, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x73, 0x77, 0x61, 0x72,
  5732  	0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x32, 0x2e, 0x54, 0x61, 0x73, 0x6b, 0x53, 0x6c, 0x69, 0x63,
  5733  	0x65, 0x52, 0x0a, 0x74, 0x61, 0x73, 0x6b, 0x53, 0x6c, 0x69, 0x63, 0x65, 0x73, 0x12, 0x27, 0x0a,
  5734  	0x0f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74,
  5735  	0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41,
  5736  	0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x72, 0x65, 0x61, 0x6c, 0x6d, 0x18,
  5737  	0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x72, 0x65, 0x61, 0x6c, 0x6d, 0x12, 0x34, 0x0a, 0x08,
  5738  	0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x64, 0x62, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18,
  5739  	0x2e, 0x73, 0x77, 0x61, 0x72, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x32, 0x2e, 0x52, 0x65, 0x73,
  5740  	0x75, 0x6c, 0x74, 0x44, 0x42, 0x43, 0x66, 0x67, 0x52, 0x08, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74,
  5741  	0x64, 0x62, 0x12, 0x21, 0x0a, 0x0c, 0x70, 0x75, 0x62, 0x73, 0x75, 0x62, 0x5f, 0x74, 0x6f, 0x70,
  5742  	0x69, 0x63, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x70, 0x75, 0x62, 0x73, 0x75, 0x62,
  5743  	0x54, 0x6f, 0x70, 0x69, 0x63, 0x12, 0x27, 0x0a, 0x0f, 0x70, 0x75, 0x62, 0x73, 0x75, 0x62, 0x5f,
  5744  	0x75, 0x73, 0x65, 0x72, 0x64, 0x61, 0x74, 0x61, 0x18, 0x10, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e,
  5745  	0x70, 0x75, 0x62, 0x73, 0x75, 0x62, 0x55, 0x73, 0x65, 0x72, 0x64, 0x61, 0x74, 0x61, 0x12, 0x35,
  5746  	0x0a, 0x17, 0x62, 0x6f, 0x74, 0x5f, 0x70, 0x69, 0x6e, 0x67, 0x5f, 0x74, 0x6f, 0x6c, 0x65, 0x72,
  5747  	0x61, 0x6e, 0x63, 0x65, 0x5f, 0x73, 0x65, 0x63, 0x73, 0x18, 0x11, 0x20, 0x01, 0x28, 0x05, 0x52,
  5748  	0x14, 0x62, 0x6f, 0x74, 0x50, 0x69, 0x6e, 0x67, 0x54, 0x6f, 0x6c, 0x65, 0x72, 0x61, 0x6e, 0x63,
  5749  	0x65, 0x53, 0x65, 0x63, 0x73, 0x12, 0x21, 0x0a, 0x0c, 0x72, 0x62, 0x65, 0x5f, 0x69, 0x6e, 0x73,
  5750  	0x74, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x12, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x72, 0x62, 0x65,
  5751  	0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x22, 0x4f, 0x0a, 0x11, 0x54, 0x61, 0x73, 0x6b,
  5752  	0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x17, 0x0a,
  5753  	0x07, 0x74, 0x61, 0x73, 0x6b, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06,
  5754  	0x74, 0x61, 0x73, 0x6b, 0x49, 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x6b, 0x69, 0x6c, 0x6c, 0x5f, 0x72,
  5755  	0x75, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x6b, 0x69,
  5756  	0x6c, 0x6c, 0x52, 0x75, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x22, 0xd9, 0x01, 0x0a, 0x12, 0x54, 0x61,
  5757  	0x73, 0x6b, 0x73, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
  5758  	0x12, 0x14, 0x0a, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52,
  5759  	0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x63, 0x75, 0x72, 0x73, 0x6f, 0x72,
  5760  	0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x63, 0x75, 0x72, 0x73, 0x6f, 0x72, 0x12, 0x12,
  5761  	0x0a, 0x04, 0x74, 0x61, 0x67, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x04, 0x74, 0x61,
  5762  	0x67, 0x73, 0x12, 0x21, 0x0a, 0x0c, 0x6b, 0x69, 0x6c, 0x6c, 0x5f, 0x72, 0x75, 0x6e, 0x6e, 0x69,
  5763  	0x6e, 0x67, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x6b, 0x69, 0x6c, 0x6c, 0x52, 0x75,
  5764  	0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x12, 0x30, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x72, 0x74, 0x18, 0x05,
  5765  	0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72,
  5766  	0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70,
  5767  	0x52, 0x05, 0x73, 0x74, 0x61, 0x72, 0x74, 0x12, 0x2c, 0x0a, 0x03, 0x65, 0x6e, 0x64, 0x18, 0x06,
  5768  	0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72,
  5769  	0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70,
  5770  	0x52, 0x03, 0x65, 0x6e, 0x64, 0x22, 0x2c, 0x0a, 0x0e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69,
  5771  	0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x64, 0x75, 0x72, 0x61, 0x74,
  5772  	0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x02, 0x52, 0x08, 0x64, 0x75, 0x72, 0x61, 0x74,
  5773  	0x69, 0x6f, 0x6e, 0x22, 0xf2, 0x02, 0x0a, 0x11, 0x43, 0x41, 0x53, 0x4f, 0x70, 0x65, 0x72, 0x61,
  5774  	0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x64, 0x75, 0x72,
  5775  	0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x02, 0x52, 0x08, 0x64, 0x75, 0x72,
  5776  	0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x30, 0x0a, 0x14, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x6c,
  5777  	0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x5f, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x18, 0x02, 0x20,
  5778  	0x01, 0x28, 0x05, 0x52, 0x12, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x6c, 0x4e, 0x75, 0x6d, 0x62,
  5779  	0x65, 0x72, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x12, 0x21, 0x0a, 0x0c, 0x69, 0x6e, 0x69, 0x74, 0x69,
  5780  	0x61, 0x6c, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0b, 0x69,
  5781  	0x6e, 0x69, 0x74, 0x69, 0x61, 0x6c, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x69, 0x74,
  5782  	0x65, 0x6d, 0x73, 0x5f, 0x63, 0x6f, 0x6c, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x09,
  5783  	0x69, 0x74, 0x65, 0x6d, 0x73, 0x43, 0x6f, 0x6c, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x69, 0x74, 0x65,
  5784  	0x6d, 0x73, 0x5f, 0x68, 0x6f, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x08, 0x69, 0x74,
  5785  	0x65, 0x6d, 0x73, 0x48, 0x6f, 0x74, 0x12, 0x24, 0x0a, 0x0e, 0x6e, 0x75, 0x6d, 0x5f, 0x69, 0x74,
  5786  	0x65, 0x6d, 0x73, 0x5f, 0x63, 0x6f, 0x6c, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0c,
  5787  	0x6e, 0x75, 0x6d, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x43, 0x6f, 0x6c, 0x64, 0x12, 0x33, 0x0a, 0x16,
  5788  	0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x5f, 0x69, 0x74, 0x65, 0x6d,
  5789  	0x73, 0x5f, 0x63, 0x6f, 0x6c, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x03, 0x52, 0x13, 0x74, 0x6f,
  5790  	0x74, 0x61, 0x6c, 0x42, 0x79, 0x74, 0x65, 0x73, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x43, 0x6f, 0x6c,
  5791  	0x64, 0x12, 0x22, 0x0a, 0x0d, 0x6e, 0x75, 0x6d, 0x5f, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x5f, 0x68,
  5792  	0x6f, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0b, 0x6e, 0x75, 0x6d, 0x49, 0x74, 0x65,
  5793  	0x6d, 0x73, 0x48, 0x6f, 0x74, 0x12, 0x31, 0x0a, 0x15, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x62,
  5794  	0x79, 0x74, 0x65, 0x73, 0x5f, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x5f, 0x68, 0x6f, 0x74, 0x18, 0x09,
  5795  	0x20, 0x01, 0x28, 0x03, 0x52, 0x12, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x42, 0x79, 0x74, 0x65, 0x73,
  5796  	0x49, 0x74, 0x65, 0x6d, 0x73, 0x48, 0x6f, 0x74, 0x22, 0xb0, 0x04, 0x0a, 0x10, 0x50, 0x65, 0x72,
  5797  	0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x53, 0x74, 0x61, 0x74, 0x73, 0x12, 0x21, 0x0a,
  5798  	0x0c, 0x62, 0x6f, 0x74, 0x5f, 0x6f, 0x76, 0x65, 0x72, 0x68, 0x65, 0x61, 0x64, 0x18, 0x01, 0x20,
  5799  	0x01, 0x28, 0x02, 0x52, 0x0b, 0x62, 0x6f, 0x74, 0x4f, 0x76, 0x65, 0x72, 0x68, 0x65, 0x61, 0x64,
  5800  	0x12, 0x4b, 0x0a, 0x11, 0x69, 0x73, 0x6f, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x64, 0x6f, 0x77,
  5801  	0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x73, 0x77,
  5802  	0x61, 0x72, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x41, 0x53, 0x4f, 0x70, 0x65,
  5803  	0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x73, 0x52, 0x10, 0x69, 0x73, 0x6f,
  5804  	0x6c, 0x61, 0x74, 0x65, 0x64, 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x12, 0x47, 0x0a,
  5805  	0x0f, 0x69, 0x73, 0x6f, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x75, 0x70, 0x6c, 0x6f, 0x61, 0x64,
  5806  	0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x73, 0x77, 0x61, 0x72, 0x6d, 0x69, 0x6e,
  5807  	0x67, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x41, 0x53, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f,
  5808  	0x6e, 0x53, 0x74, 0x61, 0x74, 0x73, 0x52, 0x0e, 0x69, 0x73, 0x6f, 0x6c, 0x61, 0x74, 0x65, 0x64,
  5809  	0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x12, 0x4e, 0x0a, 0x14, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67,
  5810  	0x65, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04,
  5811  	0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x73, 0x77, 0x61, 0x72, 0x6d, 0x69, 0x6e, 0x67, 0x2e,
  5812  	0x76, 0x32, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74,
  5813  	0x73, 0x52, 0x13, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c,
  5814  	0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x3a, 0x0a, 0x0a, 0x63, 0x61, 0x63, 0x68, 0x65, 0x5f,
  5815  	0x74, 0x72, 0x69, 0x6d, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x73, 0x77, 0x61,
  5816  	0x72, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x32, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69,
  5817  	0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x73, 0x52, 0x09, 0x63, 0x61, 0x63, 0x68, 0x65, 0x54, 0x72,
  5818  	0x69, 0x6d, 0x12, 0x4d, 0x0a, 0x14, 0x6e, 0x61, 0x6d, 0x65, 0x64, 0x5f, 0x63, 0x61, 0x63, 0x68,
  5819  	0x65, 0x73, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b,
  5820  	0x32, 0x1b, 0x2e, 0x73, 0x77, 0x61, 0x72, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x32, 0x2e, 0x4f,
  5821  	0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x73, 0x52, 0x12, 0x6e,
  5822  	0x61, 0x6d, 0x65, 0x64, 0x43, 0x61, 0x63, 0x68, 0x65, 0x73, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c,
  5823  	0x6c, 0x12, 0x51, 0x0a, 0x16, 0x6e, 0x61, 0x6d, 0x65, 0x64, 0x5f, 0x63, 0x61, 0x63, 0x68, 0x65,
  5824  	0x73, 0x5f, 0x75, 0x6e, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x18, 0x07, 0x20, 0x01, 0x28,
  5825  	0x0b, 0x32, 0x1b, 0x2e, 0x73, 0x77, 0x61, 0x72, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x32, 0x2e,
  5826  	0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x73, 0x52, 0x14,
  5827  	0x6e, 0x61, 0x6d, 0x65, 0x64, 0x43, 0x61, 0x63, 0x68, 0x65, 0x73, 0x55, 0x6e, 0x69, 0x6e, 0x73,
  5828  	0x74, 0x61, 0x6c, 0x6c, 0x12, 0x35, 0x0a, 0x07, 0x63, 0x6c, 0x65, 0x61, 0x6e, 0x75, 0x70, 0x18,
  5829  	0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x73, 0x77, 0x61, 0x72, 0x6d, 0x69, 0x6e, 0x67,
  5830  	0x2e, 0x76, 0x32, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61,
  5831  	0x74, 0x73, 0x52, 0x07, 0x63, 0x6c, 0x65, 0x61, 0x6e, 0x75, 0x70, 0x22, 0x4d, 0x0a, 0x0e, 0x43,
  5832  	0x61, 0x6e, 0x63, 0x65, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1a, 0x0a,
  5833  	0x08, 0x63, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52,
  5834  	0x08, 0x63, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x65, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x77, 0x61, 0x73,
  5835  	0x5f, 0x72, 0x75, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a,
  5836  	0x77, 0x61, 0x73, 0x52, 0x75, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x22, 0x75, 0x0a, 0x13, 0x54, 0x61,
  5837  	0x73, 0x6b, 0x73, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
  5838  	0x65, 0x12, 0x16, 0x0a, 0x06, 0x63, 0x75, 0x72, 0x73, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28,
  5839  	0x09, 0x52, 0x06, 0x63, 0x75, 0x72, 0x73, 0x6f, 0x72, 0x12, 0x2c, 0x0a, 0x03, 0x6e, 0x6f, 0x77,
  5840  	0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
  5841  	0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61,
  5842  	0x6d, 0x70, 0x52, 0x03, 0x6e, 0x6f, 0x77, 0x12, 0x18, 0x0a, 0x07, 0x6d, 0x61, 0x74, 0x63, 0x68,
  5843  	0x65, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65,
  5844  	0x64, 0x22, 0x5a, 0x0a, 0x12, 0x54, 0x61, 0x73, 0x6b, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x52,
  5845  	0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x6f, 0x75, 0x74, 0x70, 0x75,
  5846  	0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x06, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x12,
  5847  	0x2c, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x16,
  5848  	0x2e, 0x73, 0x77, 0x61, 0x72, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x32, 0x2e, 0x54, 0x61, 0x73,
  5849  	0x6b, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x22, 0x4a, 0x0a,
  5850  	0x0c, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x44, 0x42, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x1a, 0x0a,
  5851  	0x08, 0x68, 0x6f, 0x73, 0x74, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52,
  5852  	0x08, 0x68, 0x6f, 0x73, 0x74, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x69, 0x6e, 0x76,
  5853  	0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x69,
  5854  	0x6e, 0x76, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xa7, 0x0b, 0x0a, 0x12, 0x54, 0x61,
  5855  	0x73, 0x6b, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
  5856  	0x12, 0x17, 0x0a, 0x07, 0x74, 0x61, 0x73, 0x6b, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28,
  5857  	0x09, 0x52, 0x06, 0x74, 0x61, 0x73, 0x6b, 0x49, 0x64, 0x12, 0x42, 0x0a, 0x0e, 0x62, 0x6f, 0x74,
  5858  	0x5f, 0x64, 0x69, 0x6d, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28,
  5859  	0x0b, 0x32, 0x1b, 0x2e, 0x73, 0x77, 0x61, 0x72, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x32, 0x2e,
  5860  	0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x61, 0x69, 0x72, 0x52, 0x0d,
  5861  	0x62, 0x6f, 0x74, 0x44, 0x69, 0x6d, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x15, 0x0a,
  5862  	0x06, 0x62, 0x6f, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x62,
  5863  	0x6f, 0x74, 0x49, 0x64, 0x12, 0x45, 0x0a, 0x11, 0x62, 0x6f, 0x74, 0x5f, 0x69, 0x64, 0x6c, 0x65,
  5864  	0x5f, 0x73, 0x69, 0x6e, 0x63, 0x65, 0x5f, 0x74, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32,
  5865  	0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75,
  5866  	0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0e, 0x62, 0x6f, 0x74,
  5867  	0x49, 0x64, 0x6c, 0x65, 0x53, 0x69, 0x6e, 0x63, 0x65, 0x54, 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x62,
  5868  	0x6f, 0x74, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09,
  5869  	0x52, 0x0a, 0x62, 0x6f, 0x74, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x33, 0x0a, 0x16,
  5870  	0x62, 0x6f, 0x74, 0x5f, 0x6c, 0x6f, 0x67, 0x73, 0x5f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x5f, 0x70,
  5871  	0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x13, 0x62, 0x6f,
  5872  	0x74, 0x4c, 0x6f, 0x67, 0x73, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63,
  5873  	0x74, 0x12, 0x3d, 0x0a, 0x0c, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x5f, 0x74,
  5874  	0x73, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
  5875  	0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74,
  5876  	0x61, 0x6d, 0x70, 0x52, 0x0b, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x54, 0x73,
  5877  	0x12, 0x24, 0x0a, 0x0e, 0x63, 0x6f, 0x73, 0x74, 0x5f, 0x73, 0x61, 0x76, 0x65, 0x64, 0x5f, 0x75,
  5878  	0x73, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0c, 0x63, 0x6f, 0x73, 0x74, 0x53, 0x61,
  5879  	0x76, 0x65, 0x64, 0x55, 0x73, 0x64, 0x12, 0x39, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65,
  5880  	0x64, 0x5f, 0x74, 0x73, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f,
  5881  	0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d,
  5882  	0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x54,
  5883  	0x73, 0x12, 0x21, 0x0a, 0x0c, 0x64, 0x65, 0x64, 0x75, 0x70, 0x65, 0x64, 0x5f, 0x66, 0x72, 0x6f,
  5884  	0x6d, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x64, 0x75, 0x70, 0x65, 0x64,
  5885  	0x46, 0x72, 0x6f, 0x6d, 0x12, 0x1a, 0x0a, 0x08, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e,
  5886  	0x18, 0x0c, 0x20, 0x01, 0x28, 0x02, 0x52, 0x08, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e,
  5887  	0x12, 0x1b, 0x0a, 0x09, 0x65, 0x78, 0x69, 0x74, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x0d, 0x20,
  5888  	0x01, 0x28, 0x03, 0x52, 0x08, 0x65, 0x78, 0x69, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x18, 0x0a,
  5889  	0x07, 0x66, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07,
  5890  	0x66, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x12, 0x29, 0x0a, 0x10, 0x69, 0x6e, 0x74, 0x65, 0x72,
  5891  	0x6e, 0x61, 0x6c, 0x5f, 0x66, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x18, 0x0f, 0x20, 0x01, 0x28,
  5892  	0x08, 0x52, 0x0f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x46, 0x61, 0x69, 0x6c, 0x75,
  5893  	0x72, 0x65, 0x12, 0x3b, 0x0a, 0x0b, 0x6d, 0x6f, 0x64, 0x69, 0x66, 0x69, 0x65, 0x64, 0x5f, 0x74,
  5894  	0x73, 0x18, 0x10, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
  5895  	0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74,
  5896  	0x61, 0x6d, 0x70, 0x52, 0x0a, 0x6d, 0x6f, 0x64, 0x69, 0x66, 0x69, 0x65, 0x64, 0x54, 0x73, 0x12,
  5897  	0x41, 0x0a, 0x0f, 0x63, 0x61, 0x73, 0x5f, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x5f, 0x72, 0x6f,
  5898  	0x6f, 0x74, 0x18, 0x11, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x73, 0x77, 0x61, 0x72, 0x6d,
  5899  	0x69, 0x6e, 0x67, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x41, 0x53, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65,
  5900  	0x6e, 0x63, 0x65, 0x52, 0x0d, 0x63, 0x61, 0x73, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x52, 0x6f,
  5901  	0x6f, 0x74, 0x12, 0x27, 0x0a, 0x0f, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x76, 0x65, 0x72,
  5902  	0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x12, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0e, 0x73, 0x65, 0x72,
  5903  	0x76, 0x65, 0x72, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x39, 0x0a, 0x0a, 0x73,
  5904  	0x74, 0x61, 0x72, 0x74, 0x65, 0x64, 0x5f, 0x74, 0x73, 0x18, 0x13, 0x20, 0x01, 0x28, 0x0b, 0x32,
  5905  	0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75,
  5906  	0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x09, 0x73, 0x74, 0x61,
  5907  	0x72, 0x74, 0x65, 0x64, 0x54, 0x73, 0x12, 0x2c, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18,
  5908  	0x14, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x16, 0x2e, 0x73, 0x77, 0x61, 0x72, 0x6d, 0x69, 0x6e, 0x67,
  5909  	0x2e, 0x76, 0x32, 0x2e, 0x54, 0x61, 0x73, 0x6b, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x05, 0x73,
  5910  	0x74, 0x61, 0x74, 0x65, 0x12, 0x3d, 0x0a, 0x0c, 0x61, 0x62, 0x61, 0x6e, 0x64, 0x6f, 0x6e, 0x65,
  5911  	0x64, 0x5f, 0x74, 0x73, 0x18, 0x15, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f,
  5912  	0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d,
  5913  	0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0b, 0x61, 0x62, 0x61, 0x6e, 0x64, 0x6f, 0x6e, 0x65,
  5914  	0x64, 0x54, 0x73, 0x12, 0x1b, 0x0a, 0x09, 0x63, 0x6f, 0x73, 0x74, 0x73, 0x5f, 0x75, 0x73, 0x64,
  5915  	0x18, 0x16, 0x20, 0x03, 0x28, 0x02, 0x52, 0x08, 0x63, 0x6f, 0x73, 0x74, 0x73, 0x55, 0x73, 0x64,
  5916  	0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x17, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04,
  5917  	0x6e, 0x61, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x61, 0x67, 0x73, 0x18, 0x18, 0x20, 0x03,
  5918  	0x28, 0x09, 0x52, 0x04, 0x74, 0x61, 0x67, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x75, 0x73, 0x65, 0x72,
  5919  	0x18, 0x19, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x75, 0x73, 0x65, 0x72, 0x12, 0x4a, 0x0a, 0x11,
  5920  	0x70, 0x65, 0x72, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x73, 0x74, 0x61, 0x74,
  5921  	0x73, 0x18, 0x1a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x73, 0x77, 0x61, 0x72, 0x6d, 0x69,
  5922  	0x6e, 0x67, 0x2e, 0x76, 0x32, 0x2e, 0x50, 0x65, 0x72, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63,
  5923  	0x65, 0x53, 0x74, 0x61, 0x74, 0x73, 0x52, 0x10, 0x70, 0x65, 0x72, 0x66, 0x6f, 0x72, 0x6d, 0x61,
  5924  	0x6e, 0x63, 0x65, 0x53, 0x74, 0x61, 0x74, 0x73, 0x12, 0x32, 0x0a, 0x09, 0x63, 0x69, 0x70, 0x64,
  5925  	0x5f, 0x70, 0x69, 0x6e, 0x73, 0x18, 0x1b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x73, 0x77,
  5926  	0x61, 0x72, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x69, 0x70, 0x64, 0x50, 0x69,
  5927  	0x6e, 0x73, 0x52, 0x08, 0x63, 0x69, 0x70, 0x64, 0x50, 0x69, 0x6e, 0x73, 0x12, 0x15, 0x0a, 0x06,
  5928  	0x72, 0x75, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x1c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x72, 0x75,
  5929  	0x6e, 0x49, 0x64, 0x12, 0x2c, 0x0a, 0x12, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x74,
  5930  	0x61, 0x73, 0x6b, 0x5f, 0x73, 0x6c, 0x69, 0x63, 0x65, 0x18, 0x1d, 0x20, 0x01, 0x28, 0x05, 0x52,
  5931  	0x10, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x54, 0x61, 0x73, 0x6b, 0x53, 0x6c, 0x69, 0x63,
  5932  	0x65, 0x12, 0x3e, 0x0a, 0x0d, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x64, 0x62, 0x5f, 0x69, 0x6e,
  5933  	0x66, 0x6f, 0x18, 0x1e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x73, 0x77, 0x61, 0x72, 0x6d,
  5934  	0x69, 0x6e, 0x67, 0x2e, 0x76, 0x32, 0x2e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x44, 0x42, 0x49,
  5935  	0x6e, 0x66, 0x6f, 0x52, 0x0c, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x64, 0x62, 0x49, 0x6e, 0x66,
  5936  	0x6f, 0x12, 0x3a, 0x0a, 0x0b, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x5f, 0x63, 0x61, 0x73,
  5937  	0x18, 0x1f, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x73, 0x77, 0x61, 0x72, 0x6d, 0x69, 0x6e,
  5938  	0x67, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x41, 0x53, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63,
  5939  	0x65, 0x52, 0x0a, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x43, 0x61, 0x73, 0x12, 0x3b, 0x0a,
  5940  	0x0c, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x5f, 0x63, 0x69, 0x70, 0x64, 0x18, 0x20, 0x20,
  5941  	0x03, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x73, 0x77, 0x61, 0x72, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x76,
  5942  	0x32, 0x2e, 0x43, 0x69, 0x70, 0x64, 0x50, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x52, 0x0b, 0x6d,
  5943  	0x69, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x43, 0x69, 0x70, 0x64, 0x4a, 0x04, 0x08, 0x07, 0x10, 0x08,
  5944  	0x52, 0x11, 0x63, 0x68, 0x69, 0x6c, 0x64, 0x72, 0x65, 0x6e, 0x5f, 0x74, 0x61, 0x73, 0x6b, 0x5f,
  5945  	0x69, 0x64, 0x73, 0x22, 0x3c, 0x0a, 0x0a, 0x54, 0x61, 0x73, 0x6b, 0x53, 0x74, 0x61, 0x74, 0x65,
  5946  	0x73, 0x12, 0x2e, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28,
  5947  	0x0e, 0x32, 0x16, 0x2e, 0x73, 0x77, 0x61, 0x72, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x32, 0x2e,
  5948  	0x54, 0x61, 0x73, 0x6b, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x65,
  5949  	0x73, 0x22, 0x8f, 0x01, 0x0a, 0x10, 0x54, 0x61, 0x73, 0x6b, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65,
  5950  	0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x63, 0x75, 0x72, 0x73, 0x6f, 0x72,
  5951  	0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x63, 0x75, 0x72, 0x73, 0x6f, 0x72, 0x12, 0x35,
  5952  	0x0a, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1f, 0x2e,
  5953  	0x73, 0x77, 0x61, 0x72, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x32, 0x2e, 0x54, 0x61, 0x73, 0x6b,
  5954  	0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x05,
  5955  	0x69, 0x74, 0x65, 0x6d, 0x73, 0x12, 0x2c, 0x0a, 0x03, 0x6e, 0x6f, 0x77, 0x18, 0x03, 0x20, 0x01,
  5956  	0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74,
  5957  	0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x03,
  5958  	0x6e, 0x6f, 0x77, 0x22, 0x94, 0x01, 0x0a, 0x14, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x65, 0x71, 0x75,
  5959  	0x65, 0x73, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x16, 0x0a, 0x06,
  5960  	0x63, 0x75, 0x72, 0x73, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x63, 0x75,
  5961  	0x72, 0x73, 0x6f, 0x72, 0x12, 0x36, 0x0a, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x18, 0x02, 0x20,
  5962  	0x03, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x73, 0x77, 0x61, 0x72, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x76,
  5963  	0x32, 0x2e, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x65, 0x73,
  5964  	0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x12, 0x2c, 0x0a, 0x03,
  5965  	0x6e, 0x6f, 0x77, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
  5966  	0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65,
  5967  	0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x03, 0x6e, 0x6f, 0x77, 0x22, 0x50, 0x0a, 0x0a, 0x54, 0x61,
  5968  	0x73, 0x6b, 0x73, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x6f, 0x75, 0x6e,
  5969  	0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x2c,
  5970  	0x0a, 0x03, 0x6e, 0x6f, 0x77, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f,
  5971  	0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69,
  5972  	0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x03, 0x6e, 0x6f, 0x77, 0x22, 0xb4, 0x01, 0x0a,
  5973  	0x1b, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x4d, 0x65, 0x74, 0x61,
  5974  	0x64, 0x61, 0x74, 0x61, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x17, 0x0a, 0x07,
  5975  	0x74, 0x61, 0x73, 0x6b, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x74,
  5976  	0x61, 0x73, 0x6b, 0x49, 0x64, 0x12, 0x3a, 0x0a, 0x07, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
  5977  	0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x73, 0x77, 0x61, 0x72, 0x6d, 0x69, 0x6e,
  5978  	0x67, 0x2e, 0x76, 0x32, 0x2e, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
  5979  	0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x07, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73,
  5980  	0x74, 0x12, 0x40, 0x0a, 0x0b, 0x74, 0x61, 0x73, 0x6b, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74,
  5981  	0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x73, 0x77, 0x61, 0x72, 0x6d, 0x69, 0x6e,
  5982  	0x67, 0x2e, 0x76, 0x32, 0x2e, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52,
  5983  	0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x0a, 0x74, 0x61, 0x73, 0x6b, 0x52, 0x65, 0x73,
  5984  	0x75, 0x6c, 0x74, 0x22, 0x8b, 0x04, 0x0a, 0x07, 0x42, 0x6f, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x12,
  5985  	0x15, 0x0a, 0x06, 0x62, 0x6f, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52,
  5986  	0x05, 0x62, 0x6f, 0x74, 0x49, 0x64, 0x12, 0x17, 0x0a, 0x07, 0x74, 0x61, 0x73, 0x6b, 0x5f, 0x69,
  5987  	0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x74, 0x61, 0x73, 0x6b, 0x49, 0x64, 0x12,
  5988  	0x1f, 0x0a, 0x0b, 0x65, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x5f, 0x69, 0x70, 0x18, 0x03,
  5989  	0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x65, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x49, 0x70,
  5990  	0x12, 0x29, 0x0a, 0x10, 0x61, 0x75, 0x74, 0x68, 0x65, 0x6e, 0x74, 0x69, 0x63, 0x61, 0x74, 0x65,
  5991  	0x64, 0x5f, 0x61, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x61, 0x75, 0x74, 0x68,
  5992  	0x65, 0x6e, 0x74, 0x69, 0x63, 0x61, 0x74, 0x65, 0x64, 0x41, 0x73, 0x12, 0x3e, 0x0a, 0x0d, 0x66,
  5993  	0x69, 0x72, 0x73, 0x74, 0x5f, 0x73, 0x65, 0x65, 0x6e, 0x5f, 0x74, 0x73, 0x18, 0x05, 0x20, 0x01,
  5994  	0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74,
  5995  	0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0b,
  5996  	0x66, 0x69, 0x72, 0x73, 0x74, 0x53, 0x65, 0x65, 0x6e, 0x54, 0x73, 0x12, 0x17, 0x0a, 0x07, 0x69,
  5997  	0x73, 0x5f, 0x64, 0x65, 0x61, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x69, 0x73,
  5998  	0x44, 0x65, 0x61, 0x64, 0x12, 0x3c, 0x0a, 0x0c, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x73, 0x65, 0x65,
  5999  	0x6e, 0x5f, 0x74, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f,
  6000  	0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d,
  6001  	0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0a, 0x6c, 0x61, 0x73, 0x74, 0x53, 0x65, 0x65, 0x6e,
  6002  	0x54, 0x73, 0x12, 0x20, 0x0a, 0x0b, 0x71, 0x75, 0x61, 0x72, 0x61, 0x6e, 0x74, 0x69, 0x6e, 0x65,
  6003  	0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x71, 0x75, 0x61, 0x72, 0x61, 0x6e, 0x74,
  6004  	0x69, 0x6e, 0x65, 0x64, 0x12, 0x27, 0x0a, 0x0f, 0x6d, 0x61, 0x69, 0x6e, 0x74, 0x65, 0x6e, 0x61,
  6005  	0x6e, 0x63, 0x65, 0x5f, 0x6d, 0x73, 0x67, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x6d,
  6006  	0x61, 0x69, 0x6e, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x63, 0x65, 0x4d, 0x73, 0x67, 0x12, 0x3b, 0x0a,
  6007  	0x0a, 0x64, 0x69, 0x6d, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x0a, 0x20, 0x03, 0x28,
  6008  	0x0b, 0x32, 0x1b, 0x2e, 0x73, 0x77, 0x61, 0x72, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x32, 0x2e,
  6009  	0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x61, 0x69, 0x72, 0x52, 0x0a,
  6010  	0x64, 0x69, 0x6d, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x1b, 0x0a, 0x09, 0x74, 0x61,
  6011  	0x73, 0x6b, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x74,
  6012  	0x61, 0x73, 0x6b, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69,
  6013  	0x6f, 0x6e, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f,
  6014  	0x6e, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09,
  6015  	0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x64, 0x65, 0x6c, 0x65, 0x74,
  6016  	0x65, 0x64, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65,
  6017  	0x64, 0x22, 0xac, 0x01, 0x0a, 0x13, 0x42, 0x6f, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x4c, 0x69, 0x73,
  6018  	0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x63, 0x75, 0x72,
  6019  	0x73, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x63, 0x75, 0x72, 0x73, 0x6f,
  6020  	0x72, 0x12, 0x2a, 0x0a, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b,
  6021  	0x32, 0x14, 0x2e, 0x73, 0x77, 0x61, 0x72, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x32, 0x2e, 0x42,
  6022  	0x6f, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x12, 0x2c, 0x0a,
  6023  	0x03, 0x6e, 0x6f, 0x77, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f,
  6024  	0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d,
  6025  	0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x03, 0x6e, 0x6f, 0x77, 0x12, 0x23, 0x0a, 0x0d, 0x64,
  6026  	0x65, 0x61, 0x74, 0x68, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x18, 0x04, 0x20, 0x01,
  6027  	0x28, 0x05, 0x52, 0x0c, 0x64, 0x65, 0x61, 0x74, 0x68, 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74,
  6028  	0x22, 0xbb, 0x01, 0x0a, 0x09, 0x42, 0x6f, 0x74, 0x73, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x2c,
  6029  	0x0a, 0x03, 0x6e, 0x6f, 0x77, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f,
  6030  	0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69,
  6031  	0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x03, 0x6e, 0x6f, 0x77, 0x12, 0x14, 0x0a, 0x05,
  6032  	0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x63, 0x6f, 0x75,
  6033  	0x6e, 0x74, 0x12, 0x20, 0x0a, 0x0b, 0x71, 0x75, 0x61, 0x72, 0x61, 0x6e, 0x74, 0x69, 0x6e, 0x65,
  6034  	0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x71, 0x75, 0x61, 0x72, 0x61, 0x6e, 0x74,
  6035  	0x69, 0x6e, 0x65, 0x64, 0x12, 0x20, 0x0a, 0x0b, 0x6d, 0x61, 0x69, 0x6e, 0x74, 0x65, 0x6e, 0x61,
  6036  	0x6e, 0x63, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x6d, 0x61, 0x69, 0x6e, 0x74,
  6037  	0x65, 0x6e, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x64, 0x65, 0x61, 0x64, 0x18, 0x05,
  6038  	0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x64, 0x65, 0x61, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x62, 0x75,
  6039  	0x73, 0x79, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x62, 0x75, 0x73, 0x79, 0x22, 0x82,
  6040  	0x01, 0x0a, 0x0e, 0x42, 0x6f, 0x74, 0x73, 0x44, 0x69, 0x6d, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e,
  6041  	0x73, 0x12, 0x44, 0x0a, 0x0f, 0x62, 0x6f, 0x74, 0x73, 0x5f, 0x64, 0x69, 0x6d, 0x65, 0x6e, 0x73,
  6042  	0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x73, 0x77, 0x61,
  6043  	0x72, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x32, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x4c,
  6044  	0x69, 0x73, 0x74, 0x50, 0x61, 0x69, 0x72, 0x52, 0x0e, 0x62, 0x6f, 0x74, 0x73, 0x44, 0x69, 0x6d,
  6045  	0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x2a, 0x0a, 0x02, 0x74, 0x73, 0x18, 0x02, 0x20,
  6046  	0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f,
  6047  	0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52,
  6048  	0x02, 0x74, 0x73, 0x22, 0x94, 0x03, 0x0a, 0x10, 0x42, 0x6f, 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74,
  6049  	0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2a, 0x0a, 0x02, 0x74, 0x73, 0x18, 0x01,
  6050  	0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72,
  6051  	0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70,
  6052  	0x52, 0x02, 0x74, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x74, 0x79,
  6053  	0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x54,
  6054  	0x79, 0x70, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x03,
  6055  	0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x3b, 0x0a,
  6056  	0x0a, 0x64, 0x69, 0x6d, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28,
  6057  	0x0b, 0x32, 0x1b, 0x2e, 0x73, 0x77, 0x61, 0x72, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x32, 0x2e,
  6058  	0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x61, 0x69, 0x72, 0x52, 0x0a,
  6059  	0x64, 0x69, 0x6d, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x74,
  6060  	0x61, 0x74, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65,
  6061  	0x12, 0x1f, 0x0a, 0x0b, 0x65, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x5f, 0x69, 0x70, 0x18,
  6062  	0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x65, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x49,
  6063  	0x70, 0x12, 0x29, 0x0a, 0x10, 0x61, 0x75, 0x74, 0x68, 0x65, 0x6e, 0x74, 0x69, 0x63, 0x61, 0x74,
  6064  	0x65, 0x64, 0x5f, 0x61, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x61, 0x75, 0x74,
  6065  	0x68, 0x65, 0x6e, 0x74, 0x69, 0x63, 0x61, 0x74, 0x65, 0x64, 0x41, 0x73, 0x12, 0x18, 0x0a, 0x07,
  6066  	0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x76,
  6067  	0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x20, 0x0a, 0x0b, 0x71, 0x75, 0x61, 0x72, 0x61, 0x6e,
  6068  	0x74, 0x69, 0x6e, 0x65, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x71, 0x75, 0x61,
  6069  	0x72, 0x61, 0x6e, 0x74, 0x69, 0x6e, 0x65, 0x64, 0x12, 0x27, 0x0a, 0x0f, 0x6d, 0x61, 0x69, 0x6e,
  6070  	0x74, 0x65, 0x6e, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x6d, 0x73, 0x67, 0x18, 0x0a, 0x20, 0x01, 0x28,
  6071  	0x09, 0x52, 0x0e, 0x6d, 0x61, 0x69, 0x6e, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x63, 0x65, 0x4d, 0x73,
  6072  	0x67, 0x12, 0x17, 0x0a, 0x07, 0x74, 0x61, 0x73, 0x6b, 0x5f, 0x69, 0x64, 0x18, 0x0b, 0x20, 0x01,
  6073  	0x28, 0x09, 0x52, 0x06, 0x74, 0x61, 0x73, 0x6b, 0x49, 0x64, 0x22, 0x8e, 0x01, 0x0a, 0x11, 0x42,
  6074  	0x6f, 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
  6075  	0x12, 0x16, 0x0a, 0x06, 0x63, 0x75, 0x72, 0x73, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09,
  6076  	0x52, 0x06, 0x63, 0x75, 0x72, 0x73, 0x6f, 0x72, 0x12, 0x33, 0x0a, 0x05, 0x69, 0x74, 0x65, 0x6d,
  6077  	0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x73, 0x77, 0x61, 0x72, 0x6d, 0x69,
  6078  	0x6e, 0x67, 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x6f, 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x52, 0x65,
  6079  	0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x12, 0x2c, 0x0a,
  6080  	0x03, 0x6e, 0x6f, 0x77, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f,
  6081  	0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d,
  6082  	0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x03, 0x6e, 0x6f, 0x77, 0x22, 0x2a, 0x0a, 0x0e, 0x44,
  6083  	0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x18, 0x0a,
  6084  	0x07, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07,
  6085  	0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x22, 0x2c, 0x0a, 0x11, 0x54, 0x65, 0x72, 0x6d, 0x69,
  6086  	0x6e, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x17, 0x0a, 0x07,
  6087  	0x74, 0x61, 0x73, 0x6b, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x74,
  6088  	0x61, 0x73, 0x6b, 0x49, 0x64, 0x22, 0x23, 0x0a, 0x0a, 0x42, 0x6f, 0x74, 0x52, 0x65, 0x71, 0x75,
  6089  	0x65, 0x73, 0x74, 0x12, 0x15, 0x0a, 0x06, 0x62, 0x6f, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20,
  6090  	0x01, 0x28, 0x09, 0x52, 0x05, 0x62, 0x6f, 0x74, 0x49, 0x64, 0x22, 0x41, 0x0a, 0x10, 0x54, 0x65,
  6091  	0x72, 0x6d, 0x69, 0x6e, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x15,
  6092  	0x0a, 0x06, 0x62, 0x6f, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05,
  6093  	0x62, 0x6f, 0x74, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x18,
  6094  	0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x22, 0xb7, 0x01,
  6095  	0x0a, 0x10, 0x42, 0x6f, 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65,
  6096  	0x73, 0x74, 0x12, 0x15, 0x0a, 0x06, 0x62, 0x6f, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01,
  6097  	0x28, 0x09, 0x52, 0x05, 0x62, 0x6f, 0x74, 0x49, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x69, 0x6d,
  6098  	0x69, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x12,
  6099  	0x16, 0x0a, 0x06, 0x63, 0x75, 0x72, 0x73, 0x6f, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52,
  6100  	0x06, 0x63, 0x75, 0x72, 0x73, 0x6f, 0x72, 0x12, 0x30, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x72, 0x74,
  6101  	0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
  6102  	0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61,
  6103  	0x6d, 0x70, 0x52, 0x05, 0x73, 0x74, 0x61, 0x72, 0x74, 0x12, 0x2c, 0x0a, 0x03, 0x65, 0x6e, 0x64,
  6104  	0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
  6105  	0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61,
  6106  	0x6d, 0x70, 0x52, 0x03, 0x65, 0x6e, 0x64, 0x22, 0xcd, 0x02, 0x0a, 0x0f, 0x42, 0x6f, 0x74, 0x54,
  6107  	0x61, 0x73, 0x6b, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x15, 0x0a, 0x06, 0x62,
  6108  	0x6f, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x62, 0x6f, 0x74,
  6109  	0x49, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28,
  6110  	0x05, 0x52, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x63, 0x75, 0x72, 0x73,
  6111  	0x6f, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x63, 0x75, 0x72, 0x73, 0x6f, 0x72,
  6112  	0x12, 0x30, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x72, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32,
  6113  	0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75,
  6114  	0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x05, 0x73, 0x74, 0x61,
  6115  	0x72, 0x74, 0x12, 0x2c, 0x0a, 0x03, 0x65, 0x6e, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32,
  6116  	0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75,
  6117  	0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x03, 0x65, 0x6e, 0x64,
  6118  	0x12, 0x2d, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0e, 0x32,
  6119  	0x17, 0x2e, 0x73, 0x77, 0x61, 0x72, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x32, 0x2e, 0x53, 0x74,
  6120  	0x61, 0x74, 0x65, 0x51, 0x75, 0x65, 0x72, 0x79, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12,
  6121  	0x2a, 0x0a, 0x04, 0x73, 0x6f, 0x72, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x16, 0x2e,
  6122  	0x73, 0x77, 0x61, 0x72, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x32, 0x2e, 0x53, 0x6f, 0x72, 0x74,
  6123  	0x51, 0x75, 0x65, 0x72, 0x79, 0x52, 0x04, 0x73, 0x6f, 0x72, 0x74, 0x12, 0x3a, 0x0a, 0x19, 0x69,
  6124  	0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f, 0x70, 0x65, 0x72, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e,
  6125  	0x63, 0x65, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x73, 0x18, 0x08, 0x20, 0x01, 0x28, 0x08, 0x52, 0x17,
  6126  	0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x50, 0x65, 0x72, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e,
  6127  	0x63, 0x65, 0x53, 0x74, 0x61, 0x74, 0x73, 0x22, 0xdb, 0x02, 0x0a, 0x0b, 0x42, 0x6f, 0x74, 0x73,
  6128  	0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74,
  6129  	0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x16, 0x0a,
  6130  	0x06, 0x63, 0x75, 0x72, 0x73, 0x6f, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x63,
  6131  	0x75, 0x72, 0x73, 0x6f, 0x72, 0x12, 0x37, 0x0a, 0x0a, 0x64, 0x69, 0x6d, 0x65, 0x6e, 0x73, 0x69,
  6132  	0x6f, 0x6e, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x73, 0x77, 0x61, 0x72,
  6133  	0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x32, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x50, 0x61,
  6134  	0x69, 0x72, 0x52, 0x0a, 0x64, 0x69, 0x6d, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x3b,
  6135  	0x0a, 0x0b, 0x71, 0x75, 0x61, 0x72, 0x61, 0x6e, 0x74, 0x69, 0x6e, 0x65, 0x64, 0x18, 0x04, 0x20,
  6136  	0x01, 0x28, 0x0e, 0x32, 0x19, 0x2e, 0x73, 0x77, 0x61, 0x72, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x76,
  6137  	0x32, 0x2e, 0x4e, 0x75, 0x6c, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x42, 0x6f, 0x6f, 0x6c, 0x52, 0x0b,
  6138  	0x71, 0x75, 0x61, 0x72, 0x61, 0x6e, 0x74, 0x69, 0x6e, 0x65, 0x64, 0x12, 0x40, 0x0a, 0x0e, 0x69,
  6139  	0x6e, 0x5f, 0x6d, 0x61, 0x69, 0x6e, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x05, 0x20,
  6140  	0x01, 0x28, 0x0e, 0x32, 0x19, 0x2e, 0x73, 0x77, 0x61, 0x72, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x76,
  6141  	0x32, 0x2e, 0x4e, 0x75, 0x6c, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x42, 0x6f, 0x6f, 0x6c, 0x52, 0x0d,
  6142  	0x69, 0x6e, 0x4d, 0x61, 0x69, 0x6e, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x32, 0x0a,
  6143  	0x07, 0x69, 0x73, 0x5f, 0x64, 0x65, 0x61, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x19,
  6144  	0x2e, 0x73, 0x77, 0x61, 0x72, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x32, 0x2e, 0x4e, 0x75, 0x6c,
  6145  	0x6c, 0x61, 0x62, 0x6c, 0x65, 0x42, 0x6f, 0x6f, 0x6c, 0x52, 0x06, 0x69, 0x73, 0x44, 0x65, 0x61,
  6146  	0x64, 0x12, 0x32, 0x0a, 0x07, 0x69, 0x73, 0x5f, 0x62, 0x75, 0x73, 0x79, 0x18, 0x07, 0x20, 0x01,
  6147  	0x28, 0x0e, 0x32, 0x19, 0x2e, 0x73, 0x77, 0x61, 0x72, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x32,
  6148  	0x2e, 0x4e, 0x75, 0x6c, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x42, 0x6f, 0x6f, 0x6c, 0x52, 0x06, 0x69,
  6149  	0x73, 0x42, 0x75, 0x73, 0x79, 0x22, 0x4b, 0x0a, 0x10, 0x42, 0x6f, 0x74, 0x73, 0x43, 0x6f, 0x75,
  6150  	0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x37, 0x0a, 0x0a, 0x64, 0x69, 0x6d,
  6151  	0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x17, 0x2e,
  6152  	0x73, 0x77, 0x61, 0x72, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x32, 0x2e, 0x53, 0x74, 0x72, 0x69,
  6153  	0x6e, 0x67, 0x50, 0x61, 0x69, 0x72, 0x52, 0x0a, 0x64, 0x69, 0x6d, 0x65, 0x6e, 0x73, 0x69, 0x6f,
  6154  	0x6e, 0x73, 0x22, 0x2b, 0x0a, 0x15, 0x42, 0x6f, 0x74, 0x73, 0x44, 0x69, 0x6d, 0x65, 0x6e, 0x73,
  6155  	0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x70,
  6156  	0x6f, 0x6f, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x70, 0x6f, 0x6f, 0x6c, 0x22,
  6157  	0x58, 0x0a, 0x12, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65,
  6158  	0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x15, 0x0a, 0x06, 0x62, 0x6f, 0x74, 0x5f, 0x69, 0x64, 0x18,
  6159  	0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x62, 0x6f, 0x74, 0x49, 0x64, 0x12, 0x17, 0x0a, 0x07,
  6160  	0x74, 0x61, 0x73, 0x6b, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x74,
  6161  	0x61, 0x73, 0x6b, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x61, 0x67, 0x73, 0x18, 0x03, 0x20,
  6162  	0x03, 0x28, 0x09, 0x52, 0x04, 0x74, 0x61, 0x67, 0x73, 0x22, 0x2c, 0x0a, 0x11, 0x54, 0x61, 0x73,
  6163  	0x6b, 0x53, 0x74, 0x61, 0x74, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x17,
  6164  	0x0a, 0x07, 0x74, 0x61, 0x73, 0x6b, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52,
  6165  	0x06, 0x74, 0x61, 0x73, 0x6b, 0x49, 0x64, 0x22, 0xcf, 0x02, 0x0a, 0x14, 0x54, 0x61, 0x73, 0x6b,
  6166  	0x73, 0x57, 0x69, 0x74, 0x68, 0x50, 0x65, 0x72, 0x66, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
  6167  	0x12, 0x14, 0x0a, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52,
  6168  	0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x63, 0x75, 0x72, 0x73, 0x6f, 0x72,
  6169  	0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x63, 0x75, 0x72, 0x73, 0x6f, 0x72, 0x12, 0x30,
  6170  	0x0a, 0x05, 0x73, 0x74, 0x61, 0x72, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e,
  6171  	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e,
  6172  	0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x05, 0x73, 0x74, 0x61, 0x72, 0x74,
  6173  	0x12, 0x2c, 0x0a, 0x03, 0x65, 0x6e, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e,
  6174  	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e,
  6175  	0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x03, 0x65, 0x6e, 0x64, 0x12, 0x2d,
  6176  	0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x17, 0x2e,
  6177  	0x73, 0x77, 0x61, 0x72, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x32, 0x2e, 0x53, 0x74, 0x61, 0x74,
  6178  	0x65, 0x51, 0x75, 0x65, 0x72, 0x79, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x2a, 0x0a,
  6179  	0x04, 0x73, 0x6f, 0x72, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x16, 0x2e, 0x73, 0x77,
  6180  	0x61, 0x72, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x32, 0x2e, 0x53, 0x6f, 0x72, 0x74, 0x51, 0x75,
  6181  	0x65, 0x72, 0x79, 0x52, 0x04, 0x73, 0x6f, 0x72, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x61, 0x67,
  6182  	0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x09, 0x52, 0x04, 0x74, 0x61, 0x67, 0x73, 0x12, 0x3a, 0x0a,
  6183  	0x19, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f, 0x70, 0x65, 0x72, 0x66, 0x6f, 0x72, 0x6d,
  6184  	0x61, 0x6e, 0x63, 0x65, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x73, 0x18, 0x08, 0x20, 0x01, 0x28, 0x08,
  6185  	0x52, 0x17, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x50, 0x65, 0x72, 0x66, 0x6f, 0x72, 0x6d,
  6186  	0x61, 0x6e, 0x63, 0x65, 0x53, 0x74, 0x61, 0x74, 0x73, 0x22, 0x8b, 0x02, 0x0a, 0x0c, 0x54, 0x61,
  6187  	0x73, 0x6b, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x69,
  6188  	0x6d, 0x69, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74,
  6189  	0x12, 0x16, 0x0a, 0x06, 0x63, 0x75, 0x72, 0x73, 0x6f, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09,
  6190  	0x52, 0x06, 0x63, 0x75, 0x72, 0x73, 0x6f, 0x72, 0x12, 0x30, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x72,
  6191  	0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
  6192  	0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74,
  6193  	0x61, 0x6d, 0x70, 0x52, 0x05, 0x73, 0x74, 0x61, 0x72, 0x74, 0x12, 0x2c, 0x0a, 0x03, 0x65, 0x6e,
  6194  	0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
  6195  	0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74,
  6196  	0x61, 0x6d, 0x70, 0x52, 0x03, 0x65, 0x6e, 0x64, 0x12, 0x2d, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74,
  6197  	0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x17, 0x2e, 0x73, 0x77, 0x61, 0x72, 0x6d, 0x69,
  6198  	0x6e, 0x67, 0x2e, 0x76, 0x32, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x51, 0x75, 0x65, 0x72, 0x79,
  6199  	0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x2a, 0x0a, 0x04, 0x73, 0x6f, 0x72, 0x74, 0x18,
  6200  	0x06, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x16, 0x2e, 0x73, 0x77, 0x61, 0x72, 0x6d, 0x69, 0x6e, 0x67,
  6201  	0x2e, 0x76, 0x32, 0x2e, 0x53, 0x6f, 0x72, 0x74, 0x51, 0x75, 0x65, 0x72, 0x79, 0x52, 0x04, 0x73,
  6202  	0x6f, 0x72, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x61, 0x67, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28,
  6203  	0x09, 0x52, 0x04, 0x74, 0x61, 0x67, 0x73, 0x22, 0xb6, 0x01, 0x0a, 0x11, 0x54, 0x61, 0x73, 0x6b,
  6204  	0x73, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x30, 0x0a,
  6205  	0x05, 0x73, 0x74, 0x61, 0x72, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67,
  6206  	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54,
  6207  	0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x05, 0x73, 0x74, 0x61, 0x72, 0x74, 0x12,
  6208  	0x2c, 0x0a, 0x03, 0x65, 0x6e, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67,
  6209  	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54,
  6210  	0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x03, 0x65, 0x6e, 0x64, 0x12, 0x2d, 0x0a,
  6211  	0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x17, 0x2e, 0x73,
  6212  	0x77, 0x61, 0x72, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x32, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x65,
  6213  	0x51, 0x75, 0x65, 0x72, 0x79, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x12, 0x0a, 0x04,
  6214  	0x74, 0x61, 0x67, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x09, 0x52, 0x04, 0x74, 0x61, 0x67, 0x73,
  6215  	0x22, 0x28, 0x0a, 0x0d, 0x54, 0x61, 0x73, 0x6b, 0x49, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
  6216  	0x74, 0x12, 0x17, 0x0a, 0x07, 0x74, 0x61, 0x73, 0x6b, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01,
  6217  	0x28, 0x09, 0x52, 0x06, 0x74, 0x61, 0x73, 0x6b, 0x49, 0x64, 0x22, 0x62, 0x0a, 0x17, 0x54, 0x61,
  6218  	0x73, 0x6b, 0x49, 0x64, 0x57, 0x69, 0x74, 0x68, 0x4f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x52, 0x65,
  6219  	0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x17, 0x0a, 0x07, 0x74, 0x61, 0x73, 0x6b, 0x5f, 0x69, 0x64,
  6220  	0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x74, 0x61, 0x73, 0x6b, 0x49, 0x64, 0x12, 0x16,
  6221  	0x0a, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06,
  6222  	0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x6c, 0x65, 0x6e, 0x67, 0x74, 0x68,
  6223  	0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x6c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x22, 0x6c,
  6224  	0x0a, 0x15, 0x54, 0x61, 0x73, 0x6b, 0x49, 0x64, 0x57, 0x69, 0x74, 0x68, 0x50, 0x65, 0x72, 0x66,
  6225  	0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x17, 0x0a, 0x07, 0x74, 0x61, 0x73, 0x6b, 0x5f,
  6226  	0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x74, 0x61, 0x73, 0x6b, 0x49, 0x64,
  6227  	0x12, 0x3a, 0x0a, 0x19, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f, 0x70, 0x65, 0x72, 0x66,
  6228  	0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x73, 0x18, 0x02, 0x20,
  6229  	0x01, 0x28, 0x08, 0x52, 0x17, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x50, 0x65, 0x72, 0x66,
  6230  	0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x53, 0x74, 0x61, 0x74, 0x73, 0x22, 0x6e, 0x0a, 0x15,
  6231  	0x42, 0x61, 0x74, 0x63, 0x68, 0x47, 0x65, 0x74, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x65,
  6232  	0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x19, 0x0a, 0x08, 0x74, 0x61, 0x73, 0x6b, 0x5f, 0x69, 0x64,
  6233  	0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x07, 0x74, 0x61, 0x73, 0x6b, 0x49, 0x64, 0x73,
  6234  	0x12, 0x3a, 0x0a, 0x19, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f, 0x70, 0x65, 0x72, 0x66,
  6235  	0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x73, 0x18, 0x02, 0x20,
  6236  	0x01, 0x28, 0x08, 0x52, 0x17, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x50, 0x65, 0x72, 0x66,
  6237  	0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x53, 0x74, 0x61, 0x74, 0x73, 0x22, 0x82, 0x02, 0x0a,
  6238  	0x16, 0x42, 0x61, 0x74, 0x63, 0x68, 0x47, 0x65, 0x74, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52,
  6239  	0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4b, 0x0a, 0x07, 0x72, 0x65, 0x73, 0x75, 0x6c,
  6240  	0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x73, 0x77, 0x61, 0x72, 0x6d,
  6241  	0x69, 0x6e, 0x67, 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x61, 0x74, 0x63, 0x68, 0x47, 0x65, 0x74, 0x52,
  6242  	0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x52, 0x65,
  6243  	0x73, 0x75, 0x6c, 0x74, 0x4f, 0x72, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x52, 0x07, 0x72, 0x65, 0x73,
  6244  	0x75, 0x6c, 0x74, 0x73, 0x1a, 0x9a, 0x01, 0x0a, 0x0d, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x4f,
  6245  	0x72, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x17, 0x0a, 0x07, 0x74, 0x61, 0x73, 0x6b, 0x5f, 0x69,
  6246  	0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x74, 0x61, 0x73, 0x6b, 0x49, 0x64, 0x12,
  6247  	0x39, 0x0a, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32,
  6248  	0x1f, 0x2e, 0x73, 0x77, 0x61, 0x72, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x32, 0x2e, 0x54, 0x61,
  6249  	0x73, 0x6b, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
  6250  	0x48, 0x00, 0x52, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x2a, 0x0a, 0x05, 0x65, 0x72,
  6251  	0x72, 0x6f, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
  6252  	0x6c, 0x65, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x48, 0x00, 0x52,
  6253  	0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x42, 0x09, 0x0a, 0x07, 0x6f, 0x75, 0x74, 0x63, 0x6f, 0x6d,
  6254  	0x65, 0x2a, 0xcf, 0x02, 0x0a, 0x0a, 0x53, 0x74, 0x61, 0x74, 0x65, 0x51, 0x75, 0x65, 0x72, 0x79,
  6255  	0x12, 0x11, 0x0a, 0x0d, 0x51, 0x55, 0x45, 0x52, 0x59, 0x5f, 0x50, 0x45, 0x4e, 0x44, 0x49, 0x4e,
  6256  	0x47, 0x10, 0x00, 0x12, 0x11, 0x0a, 0x0d, 0x51, 0x55, 0x45, 0x52, 0x59, 0x5f, 0x52, 0x55, 0x4e,
  6257  	0x4e, 0x49, 0x4e, 0x47, 0x10, 0x01, 0x12, 0x19, 0x0a, 0x15, 0x51, 0x55, 0x45, 0x52, 0x59, 0x5f,
  6258  	0x50, 0x45, 0x4e, 0x44, 0x49, 0x4e, 0x47, 0x5f, 0x52, 0x55, 0x4e, 0x4e, 0x49, 0x4e, 0x47, 0x10,
  6259  	0x02, 0x12, 0x13, 0x0a, 0x0f, 0x51, 0x55, 0x45, 0x52, 0x59, 0x5f, 0x43, 0x4f, 0x4d, 0x50, 0x4c,
  6260  	0x45, 0x54, 0x45, 0x44, 0x10, 0x03, 0x12, 0x1b, 0x0a, 0x17, 0x51, 0x55, 0x45, 0x52, 0x59, 0x5f,
  6261  	0x43, 0x4f, 0x4d, 0x50, 0x4c, 0x45, 0x54, 0x45, 0x44, 0x5f, 0x53, 0x55, 0x43, 0x43, 0x45, 0x53,
  6262  	0x53, 0x10, 0x04, 0x12, 0x1b, 0x0a, 0x17, 0x51, 0x55, 0x45, 0x52, 0x59, 0x5f, 0x43, 0x4f, 0x4d,
  6263  	0x50, 0x4c, 0x45, 0x54, 0x45, 0x44, 0x5f, 0x46, 0x41, 0x49, 0x4c, 0x55, 0x52, 0x45, 0x10, 0x05,
  6264  	0x12, 0x11, 0x0a, 0x0d, 0x51, 0x55, 0x45, 0x52, 0x59, 0x5f, 0x45, 0x58, 0x50, 0x49, 0x52, 0x45,
  6265  	0x44, 0x10, 0x06, 0x12, 0x13, 0x0a, 0x0f, 0x51, 0x55, 0x45, 0x52, 0x59, 0x5f, 0x54, 0x49, 0x4d,
  6266  	0x45, 0x44, 0x5f, 0x4f, 0x55, 0x54, 0x10, 0x07, 0x12, 0x12, 0x0a, 0x0e, 0x51, 0x55, 0x45, 0x52,
  6267  	0x59, 0x5f, 0x42, 0x4f, 0x54, 0x5f, 0x44, 0x49, 0x45, 0x44, 0x10, 0x08, 0x12, 0x12, 0x0a, 0x0e,
  6268  	0x51, 0x55, 0x45, 0x52, 0x59, 0x5f, 0x43, 0x41, 0x4e, 0x43, 0x45, 0x4c, 0x45, 0x44, 0x10, 0x09,
  6269  	0x12, 0x0d, 0x0a, 0x09, 0x51, 0x55, 0x45, 0x52, 0x59, 0x5f, 0x41, 0x4c, 0x4c, 0x10, 0x0a, 0x12,
  6270  	0x11, 0x0a, 0x0d, 0x51, 0x55, 0x45, 0x52, 0x59, 0x5f, 0x44, 0x45, 0x44, 0x55, 0x50, 0x45, 0x44,
  6271  	0x10, 0x0b, 0x12, 0x10, 0x0a, 0x0c, 0x51, 0x55, 0x45, 0x52, 0x59, 0x5f, 0x4b, 0x49, 0x4c, 0x4c,
  6272  	0x45, 0x44, 0x10, 0x0c, 0x12, 0x15, 0x0a, 0x11, 0x51, 0x55, 0x45, 0x52, 0x59, 0x5f, 0x4e, 0x4f,
  6273  	0x5f, 0x52, 0x45, 0x53, 0x4f, 0x55, 0x52, 0x43, 0x45, 0x10, 0x0d, 0x12, 0x16, 0x0a, 0x12, 0x51,
  6274  	0x55, 0x45, 0x52, 0x59, 0x5f, 0x43, 0x4c, 0x49, 0x45, 0x4e, 0x54, 0x5f, 0x45, 0x52, 0x52, 0x4f,
  6275  	0x52, 0x10, 0x0e, 0x2a, 0x6d, 0x0a, 0x09, 0x53, 0x6f, 0x72, 0x74, 0x51, 0x75, 0x65, 0x72, 0x79,
  6276  	0x12, 0x14, 0x0a, 0x10, 0x51, 0x55, 0x45, 0x52, 0x59, 0x5f, 0x43, 0x52, 0x45, 0x41, 0x54, 0x45,
  6277  	0x44, 0x5f, 0x54, 0x53, 0x10, 0x00, 0x12, 0x16, 0x0a, 0x12, 0x51, 0x55, 0x45, 0x52, 0x59, 0x5f,
  6278  	0x43, 0x4f, 0x4d, 0x50, 0x4c, 0x45, 0x54, 0x45, 0x44, 0x5f, 0x54, 0x53, 0x10, 0x02, 0x12, 0x16,
  6279  	0x0a, 0x12, 0x51, 0x55, 0x45, 0x52, 0x59, 0x5f, 0x41, 0x42, 0x41, 0x4e, 0x44, 0x4f, 0x4e, 0x45,
  6280  	0x44, 0x5f, 0x54, 0x53, 0x10, 0x03, 0x12, 0x14, 0x0a, 0x10, 0x51, 0x55, 0x45, 0x52, 0x59, 0x5f,
  6281  	0x53, 0x54, 0x41, 0x52, 0x54, 0x45, 0x44, 0x5f, 0x54, 0x53, 0x10, 0x04, 0x22, 0x04, 0x08, 0x01,
  6282  	0x10, 0x01, 0x2a, 0x48, 0x0a, 0x0f, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x6d, 0x65, 0x6e,
  6283  	0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x11, 0x0a, 0x0d, 0x4e, 0x4f, 0x54, 0x5f, 0x53, 0x50, 0x45,
  6284  	0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x08, 0x0a, 0x04, 0x4e, 0x4f, 0x4e, 0x45,
  6285  	0x10, 0x01, 0x12, 0x08, 0x0a, 0x04, 0x41, 0x55, 0x54, 0x4f, 0x10, 0x02, 0x12, 0x0e, 0x0a, 0x0a,
  6286  	0x4a, 0x4f, 0x42, 0x5f, 0x4f, 0x42, 0x4a, 0x45, 0x43, 0x54, 0x10, 0x03, 0x2a, 0x2d, 0x0a, 0x0c,
  6287  	0x4e, 0x75, 0x6c, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x42, 0x6f, 0x6f, 0x6c, 0x12, 0x08, 0x0a, 0x04,
  6288  	0x4e, 0x55, 0x4c, 0x4c, 0x10, 0x00, 0x12, 0x09, 0x0a, 0x05, 0x46, 0x41, 0x4c, 0x53, 0x45, 0x10,
  6289  	0x01, 0x12, 0x08, 0x0a, 0x04, 0x54, 0x52, 0x55, 0x45, 0x10, 0x02, 0x2a, 0xab, 0x01, 0x0a, 0x09,
  6290  	0x54, 0x61, 0x73, 0x6b, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x0b, 0x0a, 0x07, 0x49, 0x4e, 0x56,
  6291  	0x41, 0x4c, 0x49, 0x44, 0x10, 0x00, 0x12, 0x0b, 0x0a, 0x07, 0x52, 0x55, 0x4e, 0x4e, 0x49, 0x4e,
  6292  	0x47, 0x10, 0x10, 0x12, 0x0b, 0x0a, 0x07, 0x50, 0x45, 0x4e, 0x44, 0x49, 0x4e, 0x47, 0x10, 0x20,
  6293  	0x12, 0x0b, 0x0a, 0x07, 0x45, 0x58, 0x50, 0x49, 0x52, 0x45, 0x44, 0x10, 0x30, 0x12, 0x0d, 0x0a,
  6294  	0x09, 0x54, 0x49, 0x4d, 0x45, 0x44, 0x5f, 0x4f, 0x55, 0x54, 0x10, 0x40, 0x12, 0x0c, 0x0a, 0x08,
  6295  	0x42, 0x4f, 0x54, 0x5f, 0x44, 0x49, 0x45, 0x44, 0x10, 0x50, 0x12, 0x0c, 0x0a, 0x08, 0x43, 0x41,
  6296  	0x4e, 0x43, 0x45, 0x4c, 0x45, 0x44, 0x10, 0x60, 0x12, 0x0d, 0x0a, 0x09, 0x43, 0x4f, 0x4d, 0x50,
  6297  	0x4c, 0x45, 0x54, 0x45, 0x44, 0x10, 0x70, 0x12, 0x0b, 0x0a, 0x06, 0x4b, 0x49, 0x4c, 0x4c, 0x45,
  6298  	0x44, 0x10, 0x80, 0x01, 0x12, 0x10, 0x0a, 0x0b, 0x4e, 0x4f, 0x5f, 0x52, 0x45, 0x53, 0x4f, 0x55,
  6299  	0x52, 0x43, 0x45, 0x10, 0x80, 0x02, 0x12, 0x11, 0x0a, 0x0c, 0x43, 0x4c, 0x49, 0x45, 0x4e, 0x54,
  6300  	0x5f, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x10, 0x80, 0x04, 0x32, 0xcf, 0x04, 0x0a, 0x04, 0x42, 0x6f,
  6301  	0x74, 0x73, 0x12, 0x37, 0x0a, 0x06, 0x47, 0x65, 0x74, 0x42, 0x6f, 0x74, 0x12, 0x17, 0x2e, 0x73,
  6302  	0x77, 0x61, 0x72, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x6f, 0x74, 0x52, 0x65,
  6303  	0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x14, 0x2e, 0x73, 0x77, 0x61, 0x72, 0x6d, 0x69, 0x6e, 0x67,
  6304  	0x2e, 0x76, 0x32, 0x2e, 0x42, 0x6f, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x41, 0x0a, 0x09, 0x44,
  6305  	0x65, 0x6c, 0x65, 0x74, 0x65, 0x42, 0x6f, 0x74, 0x12, 0x17, 0x2e, 0x73, 0x77, 0x61, 0x72, 0x6d,
  6306  	0x69, 0x6e, 0x67, 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x6f, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
  6307  	0x74, 0x1a, 0x1b, 0x2e, 0x73, 0x77, 0x61, 0x72, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x32, 0x2e,
  6308  	0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4e,
  6309  	0x0a, 0x0d, 0x4c, 0x69, 0x73, 0x74, 0x42, 0x6f, 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x12,
  6310  	0x1d, 0x2e, 0x73, 0x77, 0x61, 0x72, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x6f,
  6311  	0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1e,
  6312  	0x2e, 0x73, 0x77, 0x61, 0x72, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x6f, 0x74,
  6313  	0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4d,
  6314  	0x0a, 0x0c, 0x54, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x61, 0x74, 0x65, 0x42, 0x6f, 0x74, 0x12, 0x1d,
  6315  	0x2e, 0x73, 0x77, 0x61, 0x72, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x32, 0x2e, 0x54, 0x65, 0x72,
  6316  	0x6d, 0x69, 0x6e, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1e, 0x2e,
  6317  	0x73, 0x77, 0x61, 0x72, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x32, 0x2e, 0x54, 0x65, 0x72, 0x6d,
  6318  	0x69, 0x6e, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4b, 0x0a,
  6319  	0x0c, 0x4c, 0x69, 0x73, 0x74, 0x42, 0x6f, 0x74, 0x54, 0x61, 0x73, 0x6b, 0x73, 0x12, 0x1c, 0x2e,
  6320  	0x73, 0x77, 0x61, 0x72, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x6f, 0x74, 0x54,
  6321  	0x61, 0x73, 0x6b, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x73, 0x77,
  6322  	0x61, 0x72, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x32, 0x2e, 0x54, 0x61, 0x73, 0x6b, 0x4c, 0x69,
  6323  	0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x46, 0x0a, 0x08, 0x4c, 0x69,
  6324  	0x73, 0x74, 0x42, 0x6f, 0x74, 0x73, 0x12, 0x18, 0x2e, 0x73, 0x77, 0x61, 0x72, 0x6d, 0x69, 0x6e,
  6325  	0x67, 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x6f, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
  6326  	0x1a, 0x20, 0x2e, 0x73, 0x77, 0x61, 0x72, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x32, 0x2e, 0x42,
  6327  	0x6f, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e,
  6328  	0x73, 0x65, 0x12, 0x42, 0x0a, 0x09, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x42, 0x6f, 0x74, 0x73, 0x12,
  6329  	0x1d, 0x2e, 0x73, 0x77, 0x61, 0x72, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x6f,
  6330  	0x74, 0x73, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16,
  6331  	0x2e, 0x73, 0x77, 0x61, 0x72, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x6f, 0x74,
  6332  	0x73, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x53, 0x0a, 0x10, 0x47, 0x65, 0x74, 0x42, 0x6f, 0x74,
  6333  	0x44, 0x69, 0x6d, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x22, 0x2e, 0x73, 0x77, 0x61,
  6334  	0x72, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x6f, 0x74, 0x73, 0x44, 0x69, 0x6d,
  6335  	0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1b,
  6336  	0x2e, 0x73, 0x77, 0x61, 0x72, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x6f, 0x74,
  6337  	0x73, 0x44, 0x69, 0x6d, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x32, 0xf6, 0x06, 0x0a, 0x05,
  6338  	0x54, 0x61, 0x73, 0x6b, 0x73, 0x12, 0x50, 0x0a, 0x09, 0x47, 0x65, 0x74, 0x52, 0x65, 0x73, 0x75,
  6339  	0x6c, 0x74, 0x12, 0x22, 0x2e, 0x73, 0x77, 0x61, 0x72, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x32,
  6340  	0x2e, 0x54, 0x61, 0x73, 0x6b, 0x49, 0x64, 0x57, 0x69, 0x74, 0x68, 0x50, 0x65, 0x72, 0x66, 0x52,
  6341  	0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1f, 0x2e, 0x73, 0x77, 0x61, 0x72, 0x6d, 0x69, 0x6e,
  6342  	0x67, 0x2e, 0x76, 0x32, 0x2e, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52,
  6343  	0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x59, 0x0a, 0x0e, 0x42, 0x61, 0x74, 0x63, 0x68,
  6344  	0x47, 0x65, 0x74, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x22, 0x2e, 0x73, 0x77, 0x61, 0x72,
  6345  	0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x61, 0x74, 0x63, 0x68, 0x47, 0x65, 0x74,
  6346  	0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x23, 0x2e,
  6347  	0x73, 0x77, 0x61, 0x72, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x61, 0x74, 0x63,
  6348  	0x68, 0x47, 0x65, 0x74, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e,
  6349  	0x73, 0x65, 0x12, 0x4a, 0x0a, 0x0a, 0x47, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
  6350  	0x12, 0x1a, 0x2e, 0x73, 0x77, 0x61, 0x72, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x32, 0x2e, 0x54,
  6351  	0x61, 0x73, 0x6b, 0x49, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x20, 0x2e, 0x73,
  6352  	0x77, 0x61, 0x72, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x32, 0x2e, 0x54, 0x61, 0x73, 0x6b, 0x52,
  6353  	0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x49,
  6354  	0x0a, 0x0a, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x54, 0x61, 0x73, 0x6b, 0x12, 0x1e, 0x2e, 0x73,
  6355  	0x77, 0x61, 0x72, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x32, 0x2e, 0x54, 0x61, 0x73, 0x6b, 0x43,
  6356  	0x61, 0x6e, 0x63, 0x65, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1b, 0x2e, 0x73,
  6357  	0x77, 0x61, 0x72, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x61, 0x6e, 0x63, 0x65,
  6358  	0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x52, 0x0a, 0x09, 0x47, 0x65, 0x74,
  6359  	0x53, 0x74, 0x64, 0x6f, 0x75, 0x74, 0x12, 0x24, 0x2e, 0x73, 0x77, 0x61, 0x72, 0x6d, 0x69, 0x6e,
  6360  	0x67, 0x2e, 0x76, 0x32, 0x2e, 0x54, 0x61, 0x73, 0x6b, 0x49, 0x64, 0x57, 0x69, 0x74, 0x68, 0x4f,
  6361  	0x66, 0x66, 0x73, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1f, 0x2e, 0x73,
  6362  	0x77, 0x61, 0x72, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x32, 0x2e, 0x54, 0x61, 0x73, 0x6b, 0x4f,
  6363  	0x75, 0x74, 0x70, 0x75, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x50, 0x0a,
  6364  	0x07, 0x4e, 0x65, 0x77, 0x54, 0x61, 0x73, 0x6b, 0x12, 0x1b, 0x2e, 0x73, 0x77, 0x61, 0x72, 0x6d,
  6365  	0x69, 0x6e, 0x67, 0x2e, 0x76, 0x32, 0x2e, 0x4e, 0x65, 0x77, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x65,
  6366  	0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x28, 0x2e, 0x73, 0x77, 0x61, 0x72, 0x6d, 0x69, 0x6e, 0x67,
  6367  	0x2e, 0x76, 0x32, 0x2e, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x4d,
  6368  	0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12,
  6369  	0x4d, 0x0a, 0x09, 0x4c, 0x69, 0x73, 0x74, 0x54, 0x61, 0x73, 0x6b, 0x73, 0x12, 0x21, 0x2e, 0x73,
  6370  	0x77, 0x61, 0x72, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x32, 0x2e, 0x54, 0x61, 0x73, 0x6b, 0x73,
  6371  	0x57, 0x69, 0x74, 0x68, 0x50, 0x65, 0x72, 0x66, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a,
  6372  	0x1d, 0x2e, 0x73, 0x77, 0x61, 0x72, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x32, 0x2e, 0x54, 0x61,
  6373  	0x73, 0x6b, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x49,
  6374  	0x0a, 0x0e, 0x4c, 0x69, 0x73, 0x74, 0x54, 0x61, 0x73, 0x6b, 0x53, 0x74, 0x61, 0x74, 0x65, 0x73,
  6375  	0x12, 0x1e, 0x2e, 0x73, 0x77, 0x61, 0x72, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x32, 0x2e, 0x54,
  6376  	0x61, 0x73, 0x6b, 0x53, 0x74, 0x61, 0x74, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
  6377  	0x1a, 0x17, 0x2e, 0x73, 0x77, 0x61, 0x72, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x32, 0x2e, 0x54,
  6378  	0x61, 0x73, 0x6b, 0x53, 0x74, 0x61, 0x74, 0x65, 0x73, 0x12, 0x50, 0x0a, 0x10, 0x4c, 0x69, 0x73,
  6379  	0x74, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x12, 0x19, 0x2e,
  6380  	0x73, 0x77, 0x61, 0x72, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x32, 0x2e, 0x54, 0x61, 0x73, 0x6b,
  6381  	0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x21, 0x2e, 0x73, 0x77, 0x61, 0x72, 0x6d,
  6382  	0x69, 0x6e, 0x67, 0x2e, 0x76, 0x32, 0x2e, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65,
  6383  	0x73, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x50, 0x0a, 0x0b, 0x43,
  6384  	0x61, 0x6e, 0x63, 0x65, 0x6c, 0x54, 0x61, 0x73, 0x6b, 0x73, 0x12, 0x1f, 0x2e, 0x73, 0x77, 0x61,
  6385  	0x72, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x32, 0x2e, 0x54, 0x61, 0x73, 0x6b, 0x73, 0x43, 0x61,
  6386  	0x6e, 0x63, 0x65, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x20, 0x2e, 0x73, 0x77,
  6387  	0x61, 0x72, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x32, 0x2e, 0x54, 0x61, 0x73, 0x6b, 0x73, 0x43,
  6388  	0x61, 0x6e, 0x63, 0x65, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x45, 0x0a,
  6389  	0x0a, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x54, 0x61, 0x73, 0x6b, 0x73, 0x12, 0x1e, 0x2e, 0x73, 0x77,
  6390  	0x61, 0x72, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x32, 0x2e, 0x54, 0x61, 0x73, 0x6b, 0x73, 0x43,
  6391  	0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x17, 0x2e, 0x73, 0x77,
  6392  	0x61, 0x72, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x32, 0x2e, 0x54, 0x61, 0x73, 0x6b, 0x73, 0x43,
  6393  	0x6f, 0x75, 0x6e, 0x74, 0x32, 0xe0, 0x01, 0x0a, 0x08, 0x53, 0x77, 0x61, 0x72, 0x6d, 0x69, 0x6e,
  6394  	0x67, 0x12, 0x40, 0x0a, 0x0a, 0x47, 0x65, 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x12,
  6395  	0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75,
  6396  	0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x1a, 0x2e, 0x73, 0x77, 0x61, 0x72, 0x6d, 0x69,
  6397  	0x6e, 0x67, 0x2e, 0x76, 0x32, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x44, 0x65, 0x74, 0x61,
  6398  	0x69, 0x6c, 0x73, 0x12, 0x3f, 0x0a, 0x08, 0x47, 0x65, 0x74, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12,
  6399  	0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75,
  6400  	0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x1b, 0x2e, 0x73, 0x77, 0x61, 0x72, 0x6d, 0x69,
  6401  	0x6e, 0x67, 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x6f, 0x6f, 0x74, 0x73, 0x74, 0x72, 0x61, 0x70, 0x54,
  6402  	0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x51, 0x0a, 0x0e, 0x47, 0x65, 0x74, 0x50, 0x65, 0x72, 0x6d, 0x69,
  6403  	0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x1f, 0x2e, 0x73, 0x77, 0x61, 0x72, 0x6d, 0x69, 0x6e,
  6404  	0x67, 0x2e, 0x76, 0x32, 0x2e, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73,
  6405  	0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1e, 0x2e, 0x73, 0x77, 0x61, 0x72, 0x6d, 0x69,
  6406  	0x6e, 0x67, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x50, 0x65, 0x72, 0x6d,
  6407  	0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x42, 0x32, 0x5a, 0x30, 0x67, 0x6f, 0x2e, 0x63, 0x68,
  6408  	0x72, 0x6f, 0x6d, 0x69, 0x75, 0x6d, 0x2e, 0x6f, 0x72, 0x67, 0x2f, 0x6c, 0x75, 0x63, 0x69, 0x2f,
  6409  	0x73, 0x77, 0x61, 0x72, 0x6d, 0x69, 0x6e, 0x67, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x61,
  6410  	0x70, 0x69, 0x5f, 0x76, 0x32, 0x3b, 0x61, 0x70, 0x69, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f,
  6411  	0x74, 0x6f, 0x33,
  6412  }
  6413  
  6414  var (
  6415  	file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_rawDescOnce sync.Once
  6416  	file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_rawDescData = file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_rawDesc
  6417  )
  6418  
  6419  func file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_rawDescGZIP() []byte {
  6420  	file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_rawDescOnce.Do(func() {
  6421  		file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_rawDescData = protoimpl.X.CompressGZIP(file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_rawDescData)
  6422  	})
  6423  	return file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_rawDescData
  6424  }
  6425  
  6426  var file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_enumTypes = make([]protoimpl.EnumInfo, 6)
  6427  var file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_msgTypes = make([]protoimpl.MessageInfo, 59)
  6428  var file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_goTypes = []interface{}{
  6429  	(StateQuery)(0),      // 0: swarming.v2.StateQuery
  6430  	(SortQuery)(0),       // 1: swarming.v2.SortQuery
  6431  	(ContainmentType)(0), // 2: swarming.v2.ContainmentType
  6432  	(NullableBool)(0),    // 3: swarming.v2.NullableBool
  6433  	(TaskState)(0),       // 4: swarming.v2.TaskState
  6434  	(NewTaskRequest_PoolTaskTemplateField)(0),    // 5: swarming.v2.NewTaskRequest.PoolTaskTemplateField
  6435  	(*StringPair)(nil),                           // 6: swarming.v2.StringPair
  6436  	(*StringListPair)(nil),                       // 7: swarming.v2.StringListPair
  6437  	(*ServerDetails)(nil),                        // 8: swarming.v2.ServerDetails
  6438  	(*BootstrapToken)(nil),                       // 9: swarming.v2.BootstrapToken
  6439  	(*ClientPermissions)(nil),                    // 10: swarming.v2.ClientPermissions
  6440  	(*Digest)(nil),                               // 11: swarming.v2.Digest
  6441  	(*CASReference)(nil),                         // 12: swarming.v2.CASReference
  6442  	(*CipdPackage)(nil),                          // 13: swarming.v2.CipdPackage
  6443  	(*CipdInput)(nil),                            // 14: swarming.v2.CipdInput
  6444  	(*CipdPins)(nil),                             // 15: swarming.v2.CipdPins
  6445  	(*CacheEntry)(nil),                           // 16: swarming.v2.CacheEntry
  6446  	(*Containment)(nil),                          // 17: swarming.v2.Containment
  6447  	(*TaskProperties)(nil),                       // 18: swarming.v2.TaskProperties
  6448  	(*TaskSlice)(nil),                            // 19: swarming.v2.TaskSlice
  6449  	(*SwarmingTaskBackendConfig)(nil),            // 20: swarming.v2.SwarmingTaskBackendConfig
  6450  	(*ResultDBCfg)(nil),                          // 21: swarming.v2.ResultDBCfg
  6451  	(*NewTaskRequest)(nil),                       // 22: swarming.v2.NewTaskRequest
  6452  	(*TaskRequestResponse)(nil),                  // 23: swarming.v2.TaskRequestResponse
  6453  	(*TaskCancelRequest)(nil),                    // 24: swarming.v2.TaskCancelRequest
  6454  	(*TasksCancelRequest)(nil),                   // 25: swarming.v2.TasksCancelRequest
  6455  	(*OperationStats)(nil),                       // 26: swarming.v2.OperationStats
  6456  	(*CASOperationStats)(nil),                    // 27: swarming.v2.CASOperationStats
  6457  	(*PerformanceStats)(nil),                     // 28: swarming.v2.PerformanceStats
  6458  	(*CancelResponse)(nil),                       // 29: swarming.v2.CancelResponse
  6459  	(*TasksCancelResponse)(nil),                  // 30: swarming.v2.TasksCancelResponse
  6460  	(*TaskOutputResponse)(nil),                   // 31: swarming.v2.TaskOutputResponse
  6461  	(*ResultDBInfo)(nil),                         // 32: swarming.v2.ResultDBInfo
  6462  	(*TaskResultResponse)(nil),                   // 33: swarming.v2.TaskResultResponse
  6463  	(*TaskStates)(nil),                           // 34: swarming.v2.TaskStates
  6464  	(*TaskListResponse)(nil),                     // 35: swarming.v2.TaskListResponse
  6465  	(*TaskRequestsResponse)(nil),                 // 36: swarming.v2.TaskRequestsResponse
  6466  	(*TasksCount)(nil),                           // 37: swarming.v2.TasksCount
  6467  	(*TaskRequestMetadataResponse)(nil),          // 38: swarming.v2.TaskRequestMetadataResponse
  6468  	(*BotInfo)(nil),                              // 39: swarming.v2.BotInfo
  6469  	(*BotInfoListResponse)(nil),                  // 40: swarming.v2.BotInfoListResponse
  6470  	(*BotsCount)(nil),                            // 41: swarming.v2.BotsCount
  6471  	(*BotsDimensions)(nil),                       // 42: swarming.v2.BotsDimensions
  6472  	(*BotEventResponse)(nil),                     // 43: swarming.v2.BotEventResponse
  6473  	(*BotEventsResponse)(nil),                    // 44: swarming.v2.BotEventsResponse
  6474  	(*DeleteResponse)(nil),                       // 45: swarming.v2.DeleteResponse
  6475  	(*TerminateResponse)(nil),                    // 46: swarming.v2.TerminateResponse
  6476  	(*BotRequest)(nil),                           // 47: swarming.v2.BotRequest
  6477  	(*TerminateRequest)(nil),                     // 48: swarming.v2.TerminateRequest
  6478  	(*BotEventsRequest)(nil),                     // 49: swarming.v2.BotEventsRequest
  6479  	(*BotTasksRequest)(nil),                      // 50: swarming.v2.BotTasksRequest
  6480  	(*BotsRequest)(nil),                          // 51: swarming.v2.BotsRequest
  6481  	(*BotsCountRequest)(nil),                     // 52: swarming.v2.BotsCountRequest
  6482  	(*BotsDimensionsRequest)(nil),                // 53: swarming.v2.BotsDimensionsRequest
  6483  	(*PermissionsRequest)(nil),                   // 54: swarming.v2.PermissionsRequest
  6484  	(*TaskStatesRequest)(nil),                    // 55: swarming.v2.TaskStatesRequest
  6485  	(*TasksWithPerfRequest)(nil),                 // 56: swarming.v2.TasksWithPerfRequest
  6486  	(*TasksRequest)(nil),                         // 57: swarming.v2.TasksRequest
  6487  	(*TasksCountRequest)(nil),                    // 58: swarming.v2.TasksCountRequest
  6488  	(*TaskIdRequest)(nil),                        // 59: swarming.v2.TaskIdRequest
  6489  	(*TaskIdWithOffsetRequest)(nil),              // 60: swarming.v2.TaskIdWithOffsetRequest
  6490  	(*TaskIdWithPerfRequest)(nil),                // 61: swarming.v2.TaskIdWithPerfRequest
  6491  	(*BatchGetResultRequest)(nil),                // 62: swarming.v2.BatchGetResultRequest
  6492  	(*BatchGetResultResponse)(nil),               // 63: swarming.v2.BatchGetResultResponse
  6493  	(*BatchGetResultResponse_ResultOrError)(nil), // 64: swarming.v2.BatchGetResultResponse.ResultOrError
  6494  	(*timestamppb.Timestamp)(nil),                // 65: google.protobuf.Timestamp
  6495  	(*status.Status)(nil),                        // 66: google.rpc.Status
  6496  	(*emptypb.Empty)(nil),                        // 67: google.protobuf.Empty
  6497  }
  6498  var file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_depIdxs = []int32{
  6499  	11,  // 0: swarming.v2.CASReference.digest:type_name -> swarming.v2.Digest
  6500  	13,  // 1: swarming.v2.CipdInput.client_package:type_name -> swarming.v2.CipdPackage
  6501  	13,  // 2: swarming.v2.CipdInput.packages:type_name -> swarming.v2.CipdPackage
  6502  	13,  // 3: swarming.v2.CipdPins.client_package:type_name -> swarming.v2.CipdPackage
  6503  	13,  // 4: swarming.v2.CipdPins.packages:type_name -> swarming.v2.CipdPackage
  6504  	2,   // 5: swarming.v2.Containment.containment_type:type_name -> swarming.v2.ContainmentType
  6505  	16,  // 6: swarming.v2.TaskProperties.caches:type_name -> swarming.v2.CacheEntry
  6506  	14,  // 7: swarming.v2.TaskProperties.cipd_input:type_name -> swarming.v2.CipdInput
  6507  	6,   // 8: swarming.v2.TaskProperties.dimensions:type_name -> swarming.v2.StringPair
  6508  	6,   // 9: swarming.v2.TaskProperties.env:type_name -> swarming.v2.StringPair
  6509  	7,   // 10: swarming.v2.TaskProperties.env_prefixes:type_name -> swarming.v2.StringListPair
  6510  	12,  // 11: swarming.v2.TaskProperties.cas_input_root:type_name -> swarming.v2.CASReference
  6511  	17,  // 12: swarming.v2.TaskProperties.containment:type_name -> swarming.v2.Containment
  6512  	18,  // 13: swarming.v2.TaskSlice.properties:type_name -> swarming.v2.TaskProperties
  6513  	18,  // 14: swarming.v2.NewTaskRequest.properties:type_name -> swarming.v2.TaskProperties
  6514  	19,  // 15: swarming.v2.NewTaskRequest.task_slices:type_name -> swarming.v2.TaskSlice
  6515  	5,   // 16: swarming.v2.NewTaskRequest.pool_task_template:type_name -> swarming.v2.NewTaskRequest.PoolTaskTemplateField
  6516  	21,  // 17: swarming.v2.NewTaskRequest.resultdb:type_name -> swarming.v2.ResultDBCfg
  6517  	18,  // 18: swarming.v2.TaskRequestResponse.properties:type_name -> swarming.v2.TaskProperties
  6518  	65,  // 19: swarming.v2.TaskRequestResponse.created_ts:type_name -> google.protobuf.Timestamp
  6519  	19,  // 20: swarming.v2.TaskRequestResponse.task_slices:type_name -> swarming.v2.TaskSlice
  6520  	21,  // 21: swarming.v2.TaskRequestResponse.resultdb:type_name -> swarming.v2.ResultDBCfg
  6521  	65,  // 22: swarming.v2.TasksCancelRequest.start:type_name -> google.protobuf.Timestamp
  6522  	65,  // 23: swarming.v2.TasksCancelRequest.end:type_name -> google.protobuf.Timestamp
  6523  	27,  // 24: swarming.v2.PerformanceStats.isolated_download:type_name -> swarming.v2.CASOperationStats
  6524  	27,  // 25: swarming.v2.PerformanceStats.isolated_upload:type_name -> swarming.v2.CASOperationStats
  6525  	26,  // 26: swarming.v2.PerformanceStats.package_installation:type_name -> swarming.v2.OperationStats
  6526  	26,  // 27: swarming.v2.PerformanceStats.cache_trim:type_name -> swarming.v2.OperationStats
  6527  	26,  // 28: swarming.v2.PerformanceStats.named_caches_install:type_name -> swarming.v2.OperationStats
  6528  	26,  // 29: swarming.v2.PerformanceStats.named_caches_uninstall:type_name -> swarming.v2.OperationStats
  6529  	26,  // 30: swarming.v2.PerformanceStats.cleanup:type_name -> swarming.v2.OperationStats
  6530  	65,  // 31: swarming.v2.TasksCancelResponse.now:type_name -> google.protobuf.Timestamp
  6531  	4,   // 32: swarming.v2.TaskOutputResponse.state:type_name -> swarming.v2.TaskState
  6532  	7,   // 33: swarming.v2.TaskResultResponse.bot_dimensions:type_name -> swarming.v2.StringListPair
  6533  	65,  // 34: swarming.v2.TaskResultResponse.bot_idle_since_ts:type_name -> google.protobuf.Timestamp
  6534  	65,  // 35: swarming.v2.TaskResultResponse.completed_ts:type_name -> google.protobuf.Timestamp
  6535  	65,  // 36: swarming.v2.TaskResultResponse.created_ts:type_name -> google.protobuf.Timestamp
  6536  	65,  // 37: swarming.v2.TaskResultResponse.modified_ts:type_name -> google.protobuf.Timestamp
  6537  	12,  // 38: swarming.v2.TaskResultResponse.cas_output_root:type_name -> swarming.v2.CASReference
  6538  	65,  // 39: swarming.v2.TaskResultResponse.started_ts:type_name -> google.protobuf.Timestamp
  6539  	4,   // 40: swarming.v2.TaskResultResponse.state:type_name -> swarming.v2.TaskState
  6540  	65,  // 41: swarming.v2.TaskResultResponse.abandoned_ts:type_name -> google.protobuf.Timestamp
  6541  	28,  // 42: swarming.v2.TaskResultResponse.performance_stats:type_name -> swarming.v2.PerformanceStats
  6542  	15,  // 43: swarming.v2.TaskResultResponse.cipd_pins:type_name -> swarming.v2.CipdPins
  6543  	32,  // 44: swarming.v2.TaskResultResponse.resultdb_info:type_name -> swarming.v2.ResultDBInfo
  6544  	12,  // 45: swarming.v2.TaskResultResponse.missing_cas:type_name -> swarming.v2.CASReference
  6545  	13,  // 46: swarming.v2.TaskResultResponse.missing_cipd:type_name -> swarming.v2.CipdPackage
  6546  	4,   // 47: swarming.v2.TaskStates.states:type_name -> swarming.v2.TaskState
  6547  	33,  // 48: swarming.v2.TaskListResponse.items:type_name -> swarming.v2.TaskResultResponse
  6548  	65,  // 49: swarming.v2.TaskListResponse.now:type_name -> google.protobuf.Timestamp
  6549  	23,  // 50: swarming.v2.TaskRequestsResponse.items:type_name -> swarming.v2.TaskRequestResponse
  6550  	65,  // 51: swarming.v2.TaskRequestsResponse.now:type_name -> google.protobuf.Timestamp
  6551  	65,  // 52: swarming.v2.TasksCount.now:type_name -> google.protobuf.Timestamp
  6552  	23,  // 53: swarming.v2.TaskRequestMetadataResponse.request:type_name -> swarming.v2.TaskRequestResponse
  6553  	33,  // 54: swarming.v2.TaskRequestMetadataResponse.task_result:type_name -> swarming.v2.TaskResultResponse
  6554  	65,  // 55: swarming.v2.BotInfo.first_seen_ts:type_name -> google.protobuf.Timestamp
  6555  	65,  // 56: swarming.v2.BotInfo.last_seen_ts:type_name -> google.protobuf.Timestamp
  6556  	7,   // 57: swarming.v2.BotInfo.dimensions:type_name -> swarming.v2.StringListPair
  6557  	39,  // 58: swarming.v2.BotInfoListResponse.items:type_name -> swarming.v2.BotInfo
  6558  	65,  // 59: swarming.v2.BotInfoListResponse.now:type_name -> google.protobuf.Timestamp
  6559  	65,  // 60: swarming.v2.BotsCount.now:type_name -> google.protobuf.Timestamp
  6560  	7,   // 61: swarming.v2.BotsDimensions.bots_dimensions:type_name -> swarming.v2.StringListPair
  6561  	65,  // 62: swarming.v2.BotsDimensions.ts:type_name -> google.protobuf.Timestamp
  6562  	65,  // 63: swarming.v2.BotEventResponse.ts:type_name -> google.protobuf.Timestamp
  6563  	7,   // 64: swarming.v2.BotEventResponse.dimensions:type_name -> swarming.v2.StringListPair
  6564  	43,  // 65: swarming.v2.BotEventsResponse.items:type_name -> swarming.v2.BotEventResponse
  6565  	65,  // 66: swarming.v2.BotEventsResponse.now:type_name -> google.protobuf.Timestamp
  6566  	65,  // 67: swarming.v2.BotEventsRequest.start:type_name -> google.protobuf.Timestamp
  6567  	65,  // 68: swarming.v2.BotEventsRequest.end:type_name -> google.protobuf.Timestamp
  6568  	65,  // 69: swarming.v2.BotTasksRequest.start:type_name -> google.protobuf.Timestamp
  6569  	65,  // 70: swarming.v2.BotTasksRequest.end:type_name -> google.protobuf.Timestamp
  6570  	0,   // 71: swarming.v2.BotTasksRequest.state:type_name -> swarming.v2.StateQuery
  6571  	1,   // 72: swarming.v2.BotTasksRequest.sort:type_name -> swarming.v2.SortQuery
  6572  	6,   // 73: swarming.v2.BotsRequest.dimensions:type_name -> swarming.v2.StringPair
  6573  	3,   // 74: swarming.v2.BotsRequest.quarantined:type_name -> swarming.v2.NullableBool
  6574  	3,   // 75: swarming.v2.BotsRequest.in_maintenance:type_name -> swarming.v2.NullableBool
  6575  	3,   // 76: swarming.v2.BotsRequest.is_dead:type_name -> swarming.v2.NullableBool
  6576  	3,   // 77: swarming.v2.BotsRequest.is_busy:type_name -> swarming.v2.NullableBool
  6577  	6,   // 78: swarming.v2.BotsCountRequest.dimensions:type_name -> swarming.v2.StringPair
  6578  	65,  // 79: swarming.v2.TasksWithPerfRequest.start:type_name -> google.protobuf.Timestamp
  6579  	65,  // 80: swarming.v2.TasksWithPerfRequest.end:type_name -> google.protobuf.Timestamp
  6580  	0,   // 81: swarming.v2.TasksWithPerfRequest.state:type_name -> swarming.v2.StateQuery
  6581  	1,   // 82: swarming.v2.TasksWithPerfRequest.sort:type_name -> swarming.v2.SortQuery
  6582  	65,  // 83: swarming.v2.TasksRequest.start:type_name -> google.protobuf.Timestamp
  6583  	65,  // 84: swarming.v2.TasksRequest.end:type_name -> google.protobuf.Timestamp
  6584  	0,   // 85: swarming.v2.TasksRequest.state:type_name -> swarming.v2.StateQuery
  6585  	1,   // 86: swarming.v2.TasksRequest.sort:type_name -> swarming.v2.SortQuery
  6586  	65,  // 87: swarming.v2.TasksCountRequest.start:type_name -> google.protobuf.Timestamp
  6587  	65,  // 88: swarming.v2.TasksCountRequest.end:type_name -> google.protobuf.Timestamp
  6588  	0,   // 89: swarming.v2.TasksCountRequest.state:type_name -> swarming.v2.StateQuery
  6589  	64,  // 90: swarming.v2.BatchGetResultResponse.results:type_name -> swarming.v2.BatchGetResultResponse.ResultOrError
  6590  	33,  // 91: swarming.v2.BatchGetResultResponse.ResultOrError.result:type_name -> swarming.v2.TaskResultResponse
  6591  	66,  // 92: swarming.v2.BatchGetResultResponse.ResultOrError.error:type_name -> google.rpc.Status
  6592  	47,  // 93: swarming.v2.Bots.GetBot:input_type -> swarming.v2.BotRequest
  6593  	47,  // 94: swarming.v2.Bots.DeleteBot:input_type -> swarming.v2.BotRequest
  6594  	49,  // 95: swarming.v2.Bots.ListBotEvents:input_type -> swarming.v2.BotEventsRequest
  6595  	48,  // 96: swarming.v2.Bots.TerminateBot:input_type -> swarming.v2.TerminateRequest
  6596  	50,  // 97: swarming.v2.Bots.ListBotTasks:input_type -> swarming.v2.BotTasksRequest
  6597  	51,  // 98: swarming.v2.Bots.ListBots:input_type -> swarming.v2.BotsRequest
  6598  	52,  // 99: swarming.v2.Bots.CountBots:input_type -> swarming.v2.BotsCountRequest
  6599  	53,  // 100: swarming.v2.Bots.GetBotDimensions:input_type -> swarming.v2.BotsDimensionsRequest
  6600  	61,  // 101: swarming.v2.Tasks.GetResult:input_type -> swarming.v2.TaskIdWithPerfRequest
  6601  	62,  // 102: swarming.v2.Tasks.BatchGetResult:input_type -> swarming.v2.BatchGetResultRequest
  6602  	59,  // 103: swarming.v2.Tasks.GetRequest:input_type -> swarming.v2.TaskIdRequest
  6603  	24,  // 104: swarming.v2.Tasks.CancelTask:input_type -> swarming.v2.TaskCancelRequest
  6604  	60,  // 105: swarming.v2.Tasks.GetStdout:input_type -> swarming.v2.TaskIdWithOffsetRequest
  6605  	22,  // 106: swarming.v2.Tasks.NewTask:input_type -> swarming.v2.NewTaskRequest
  6606  	56,  // 107: swarming.v2.Tasks.ListTasks:input_type -> swarming.v2.TasksWithPerfRequest
  6607  	55,  // 108: swarming.v2.Tasks.ListTaskStates:input_type -> swarming.v2.TaskStatesRequest
  6608  	57,  // 109: swarming.v2.Tasks.ListTaskRequests:input_type -> swarming.v2.TasksRequest
  6609  	25,  // 110: swarming.v2.Tasks.CancelTasks:input_type -> swarming.v2.TasksCancelRequest
  6610  	58,  // 111: swarming.v2.Tasks.CountTasks:input_type -> swarming.v2.TasksCountRequest
  6611  	67,  // 112: swarming.v2.Swarming.GetDetails:input_type -> google.protobuf.Empty
  6612  	67,  // 113: swarming.v2.Swarming.GetToken:input_type -> google.protobuf.Empty
  6613  	54,  // 114: swarming.v2.Swarming.GetPermissions:input_type -> swarming.v2.PermissionsRequest
  6614  	39,  // 115: swarming.v2.Bots.GetBot:output_type -> swarming.v2.BotInfo
  6615  	45,  // 116: swarming.v2.Bots.DeleteBot:output_type -> swarming.v2.DeleteResponse
  6616  	44,  // 117: swarming.v2.Bots.ListBotEvents:output_type -> swarming.v2.BotEventsResponse
  6617  	46,  // 118: swarming.v2.Bots.TerminateBot:output_type -> swarming.v2.TerminateResponse
  6618  	35,  // 119: swarming.v2.Bots.ListBotTasks:output_type -> swarming.v2.TaskListResponse
  6619  	40,  // 120: swarming.v2.Bots.ListBots:output_type -> swarming.v2.BotInfoListResponse
  6620  	41,  // 121: swarming.v2.Bots.CountBots:output_type -> swarming.v2.BotsCount
  6621  	42,  // 122: swarming.v2.Bots.GetBotDimensions:output_type -> swarming.v2.BotsDimensions
  6622  	33,  // 123: swarming.v2.Tasks.GetResult:output_type -> swarming.v2.TaskResultResponse
  6623  	63,  // 124: swarming.v2.Tasks.BatchGetResult:output_type -> swarming.v2.BatchGetResultResponse
  6624  	23,  // 125: swarming.v2.Tasks.GetRequest:output_type -> swarming.v2.TaskRequestResponse
  6625  	29,  // 126: swarming.v2.Tasks.CancelTask:output_type -> swarming.v2.CancelResponse
  6626  	31,  // 127: swarming.v2.Tasks.GetStdout:output_type -> swarming.v2.TaskOutputResponse
  6627  	38,  // 128: swarming.v2.Tasks.NewTask:output_type -> swarming.v2.TaskRequestMetadataResponse
  6628  	35,  // 129: swarming.v2.Tasks.ListTasks:output_type -> swarming.v2.TaskListResponse
  6629  	34,  // 130: swarming.v2.Tasks.ListTaskStates:output_type -> swarming.v2.TaskStates
  6630  	36,  // 131: swarming.v2.Tasks.ListTaskRequests:output_type -> swarming.v2.TaskRequestsResponse
  6631  	30,  // 132: swarming.v2.Tasks.CancelTasks:output_type -> swarming.v2.TasksCancelResponse
  6632  	37,  // 133: swarming.v2.Tasks.CountTasks:output_type -> swarming.v2.TasksCount
  6633  	8,   // 134: swarming.v2.Swarming.GetDetails:output_type -> swarming.v2.ServerDetails
  6634  	9,   // 135: swarming.v2.Swarming.GetToken:output_type -> swarming.v2.BootstrapToken
  6635  	10,  // 136: swarming.v2.Swarming.GetPermissions:output_type -> swarming.v2.ClientPermissions
  6636  	115, // [115:137] is the sub-list for method output_type
  6637  	93,  // [93:115] is the sub-list for method input_type
  6638  	93,  // [93:93] is the sub-list for extension type_name
  6639  	93,  // [93:93] is the sub-list for extension extendee
  6640  	0,   // [0:93] is the sub-list for field type_name
  6641  }
  6642  
  6643  func init() { file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_init() }
  6644  func file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_init() {
  6645  	if File_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto != nil {
  6646  		return
  6647  	}
  6648  	if !protoimpl.UnsafeEnabled {
  6649  		file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
  6650  			switch v := v.(*StringPair); i {
  6651  			case 0:
  6652  				return &v.state
  6653  			case 1:
  6654  				return &v.sizeCache
  6655  			case 2:
  6656  				return &v.unknownFields
  6657  			default:
  6658  				return nil
  6659  			}
  6660  		}
  6661  		file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
  6662  			switch v := v.(*StringListPair); i {
  6663  			case 0:
  6664  				return &v.state
  6665  			case 1:
  6666  				return &v.sizeCache
  6667  			case 2:
  6668  				return &v.unknownFields
  6669  			default:
  6670  				return nil
  6671  			}
  6672  		}
  6673  		file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
  6674  			switch v := v.(*ServerDetails); i {
  6675  			case 0:
  6676  				return &v.state
  6677  			case 1:
  6678  				return &v.sizeCache
  6679  			case 2:
  6680  				return &v.unknownFields
  6681  			default:
  6682  				return nil
  6683  			}
  6684  		}
  6685  		file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
  6686  			switch v := v.(*BootstrapToken); i {
  6687  			case 0:
  6688  				return &v.state
  6689  			case 1:
  6690  				return &v.sizeCache
  6691  			case 2:
  6692  				return &v.unknownFields
  6693  			default:
  6694  				return nil
  6695  			}
  6696  		}
  6697  		file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {
  6698  			switch v := v.(*ClientPermissions); i {
  6699  			case 0:
  6700  				return &v.state
  6701  			case 1:
  6702  				return &v.sizeCache
  6703  			case 2:
  6704  				return &v.unknownFields
  6705  			default:
  6706  				return nil
  6707  			}
  6708  		}
  6709  		file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} {
  6710  			switch v := v.(*Digest); i {
  6711  			case 0:
  6712  				return &v.state
  6713  			case 1:
  6714  				return &v.sizeCache
  6715  			case 2:
  6716  				return &v.unknownFields
  6717  			default:
  6718  				return nil
  6719  			}
  6720  		}
  6721  		file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} {
  6722  			switch v := v.(*CASReference); i {
  6723  			case 0:
  6724  				return &v.state
  6725  			case 1:
  6726  				return &v.sizeCache
  6727  			case 2:
  6728  				return &v.unknownFields
  6729  			default:
  6730  				return nil
  6731  			}
  6732  		}
  6733  		file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} {
  6734  			switch v := v.(*CipdPackage); i {
  6735  			case 0:
  6736  				return &v.state
  6737  			case 1:
  6738  				return &v.sizeCache
  6739  			case 2:
  6740  				return &v.unknownFields
  6741  			default:
  6742  				return nil
  6743  			}
  6744  		}
  6745  		file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} {
  6746  			switch v := v.(*CipdInput); i {
  6747  			case 0:
  6748  				return &v.state
  6749  			case 1:
  6750  				return &v.sizeCache
  6751  			case 2:
  6752  				return &v.unknownFields
  6753  			default:
  6754  				return nil
  6755  			}
  6756  		}
  6757  		file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} {
  6758  			switch v := v.(*CipdPins); i {
  6759  			case 0:
  6760  				return &v.state
  6761  			case 1:
  6762  				return &v.sizeCache
  6763  			case 2:
  6764  				return &v.unknownFields
  6765  			default:
  6766  				return nil
  6767  			}
  6768  		}
  6769  		file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} {
  6770  			switch v := v.(*CacheEntry); i {
  6771  			case 0:
  6772  				return &v.state
  6773  			case 1:
  6774  				return &v.sizeCache
  6775  			case 2:
  6776  				return &v.unknownFields
  6777  			default:
  6778  				return nil
  6779  			}
  6780  		}
  6781  		file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} {
  6782  			switch v := v.(*Containment); i {
  6783  			case 0:
  6784  				return &v.state
  6785  			case 1:
  6786  				return &v.sizeCache
  6787  			case 2:
  6788  				return &v.unknownFields
  6789  			default:
  6790  				return nil
  6791  			}
  6792  		}
  6793  		file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} {
  6794  			switch v := v.(*TaskProperties); i {
  6795  			case 0:
  6796  				return &v.state
  6797  			case 1:
  6798  				return &v.sizeCache
  6799  			case 2:
  6800  				return &v.unknownFields
  6801  			default:
  6802  				return nil
  6803  			}
  6804  		}
  6805  		file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} {
  6806  			switch v := v.(*TaskSlice); i {
  6807  			case 0:
  6808  				return &v.state
  6809  			case 1:
  6810  				return &v.sizeCache
  6811  			case 2:
  6812  				return &v.unknownFields
  6813  			default:
  6814  				return nil
  6815  			}
  6816  		}
  6817  		file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} {
  6818  			switch v := v.(*SwarmingTaskBackendConfig); i {
  6819  			case 0:
  6820  				return &v.state
  6821  			case 1:
  6822  				return &v.sizeCache
  6823  			case 2:
  6824  				return &v.unknownFields
  6825  			default:
  6826  				return nil
  6827  			}
  6828  		}
  6829  		file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} {
  6830  			switch v := v.(*ResultDBCfg); i {
  6831  			case 0:
  6832  				return &v.state
  6833  			case 1:
  6834  				return &v.sizeCache
  6835  			case 2:
  6836  				return &v.unknownFields
  6837  			default:
  6838  				return nil
  6839  			}
  6840  		}
  6841  		file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} {
  6842  			switch v := v.(*NewTaskRequest); i {
  6843  			case 0:
  6844  				return &v.state
  6845  			case 1:
  6846  				return &v.sizeCache
  6847  			case 2:
  6848  				return &v.unknownFields
  6849  			default:
  6850  				return nil
  6851  			}
  6852  		}
  6853  		file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} {
  6854  			switch v := v.(*TaskRequestResponse); i {
  6855  			case 0:
  6856  				return &v.state
  6857  			case 1:
  6858  				return &v.sizeCache
  6859  			case 2:
  6860  				return &v.unknownFields
  6861  			default:
  6862  				return nil
  6863  			}
  6864  		}
  6865  		file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} {
  6866  			switch v := v.(*TaskCancelRequest); i {
  6867  			case 0:
  6868  				return &v.state
  6869  			case 1:
  6870  				return &v.sizeCache
  6871  			case 2:
  6872  				return &v.unknownFields
  6873  			default:
  6874  				return nil
  6875  			}
  6876  		}
  6877  		file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} {
  6878  			switch v := v.(*TasksCancelRequest); i {
  6879  			case 0:
  6880  				return &v.state
  6881  			case 1:
  6882  				return &v.sizeCache
  6883  			case 2:
  6884  				return &v.unknownFields
  6885  			default:
  6886  				return nil
  6887  			}
  6888  		}
  6889  		file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} {
  6890  			switch v := v.(*OperationStats); i {
  6891  			case 0:
  6892  				return &v.state
  6893  			case 1:
  6894  				return &v.sizeCache
  6895  			case 2:
  6896  				return &v.unknownFields
  6897  			default:
  6898  				return nil
  6899  			}
  6900  		}
  6901  		file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} {
  6902  			switch v := v.(*CASOperationStats); i {
  6903  			case 0:
  6904  				return &v.state
  6905  			case 1:
  6906  				return &v.sizeCache
  6907  			case 2:
  6908  				return &v.unknownFields
  6909  			default:
  6910  				return nil
  6911  			}
  6912  		}
  6913  		file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} {
  6914  			switch v := v.(*PerformanceStats); i {
  6915  			case 0:
  6916  				return &v.state
  6917  			case 1:
  6918  				return &v.sizeCache
  6919  			case 2:
  6920  				return &v.unknownFields
  6921  			default:
  6922  				return nil
  6923  			}
  6924  		}
  6925  		file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} {
  6926  			switch v := v.(*CancelResponse); i {
  6927  			case 0:
  6928  				return &v.state
  6929  			case 1:
  6930  				return &v.sizeCache
  6931  			case 2:
  6932  				return &v.unknownFields
  6933  			default:
  6934  				return nil
  6935  			}
  6936  		}
  6937  		file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} {
  6938  			switch v := v.(*TasksCancelResponse); i {
  6939  			case 0:
  6940  				return &v.state
  6941  			case 1:
  6942  				return &v.sizeCache
  6943  			case 2:
  6944  				return &v.unknownFields
  6945  			default:
  6946  				return nil
  6947  			}
  6948  		}
  6949  		file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_msgTypes[25].Exporter = func(v interface{}, i int) interface{} {
  6950  			switch v := v.(*TaskOutputResponse); i {
  6951  			case 0:
  6952  				return &v.state
  6953  			case 1:
  6954  				return &v.sizeCache
  6955  			case 2:
  6956  				return &v.unknownFields
  6957  			default:
  6958  				return nil
  6959  			}
  6960  		}
  6961  		file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_msgTypes[26].Exporter = func(v interface{}, i int) interface{} {
  6962  			switch v := v.(*ResultDBInfo); i {
  6963  			case 0:
  6964  				return &v.state
  6965  			case 1:
  6966  				return &v.sizeCache
  6967  			case 2:
  6968  				return &v.unknownFields
  6969  			default:
  6970  				return nil
  6971  			}
  6972  		}
  6973  		file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_msgTypes[27].Exporter = func(v interface{}, i int) interface{} {
  6974  			switch v := v.(*TaskResultResponse); i {
  6975  			case 0:
  6976  				return &v.state
  6977  			case 1:
  6978  				return &v.sizeCache
  6979  			case 2:
  6980  				return &v.unknownFields
  6981  			default:
  6982  				return nil
  6983  			}
  6984  		}
  6985  		file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_msgTypes[28].Exporter = func(v interface{}, i int) interface{} {
  6986  			switch v := v.(*TaskStates); i {
  6987  			case 0:
  6988  				return &v.state
  6989  			case 1:
  6990  				return &v.sizeCache
  6991  			case 2:
  6992  				return &v.unknownFields
  6993  			default:
  6994  				return nil
  6995  			}
  6996  		}
  6997  		file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_msgTypes[29].Exporter = func(v interface{}, i int) interface{} {
  6998  			switch v := v.(*TaskListResponse); i {
  6999  			case 0:
  7000  				return &v.state
  7001  			case 1:
  7002  				return &v.sizeCache
  7003  			case 2:
  7004  				return &v.unknownFields
  7005  			default:
  7006  				return nil
  7007  			}
  7008  		}
  7009  		file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_msgTypes[30].Exporter = func(v interface{}, i int) interface{} {
  7010  			switch v := v.(*TaskRequestsResponse); i {
  7011  			case 0:
  7012  				return &v.state
  7013  			case 1:
  7014  				return &v.sizeCache
  7015  			case 2:
  7016  				return &v.unknownFields
  7017  			default:
  7018  				return nil
  7019  			}
  7020  		}
  7021  		file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_msgTypes[31].Exporter = func(v interface{}, i int) interface{} {
  7022  			switch v := v.(*TasksCount); i {
  7023  			case 0:
  7024  				return &v.state
  7025  			case 1:
  7026  				return &v.sizeCache
  7027  			case 2:
  7028  				return &v.unknownFields
  7029  			default:
  7030  				return nil
  7031  			}
  7032  		}
  7033  		file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_msgTypes[32].Exporter = func(v interface{}, i int) interface{} {
  7034  			switch v := v.(*TaskRequestMetadataResponse); i {
  7035  			case 0:
  7036  				return &v.state
  7037  			case 1:
  7038  				return &v.sizeCache
  7039  			case 2:
  7040  				return &v.unknownFields
  7041  			default:
  7042  				return nil
  7043  			}
  7044  		}
  7045  		file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_msgTypes[33].Exporter = func(v interface{}, i int) interface{} {
  7046  			switch v := v.(*BotInfo); i {
  7047  			case 0:
  7048  				return &v.state
  7049  			case 1:
  7050  				return &v.sizeCache
  7051  			case 2:
  7052  				return &v.unknownFields
  7053  			default:
  7054  				return nil
  7055  			}
  7056  		}
  7057  		file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_msgTypes[34].Exporter = func(v interface{}, i int) interface{} {
  7058  			switch v := v.(*BotInfoListResponse); i {
  7059  			case 0:
  7060  				return &v.state
  7061  			case 1:
  7062  				return &v.sizeCache
  7063  			case 2:
  7064  				return &v.unknownFields
  7065  			default:
  7066  				return nil
  7067  			}
  7068  		}
  7069  		file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_msgTypes[35].Exporter = func(v interface{}, i int) interface{} {
  7070  			switch v := v.(*BotsCount); i {
  7071  			case 0:
  7072  				return &v.state
  7073  			case 1:
  7074  				return &v.sizeCache
  7075  			case 2:
  7076  				return &v.unknownFields
  7077  			default:
  7078  				return nil
  7079  			}
  7080  		}
  7081  		file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_msgTypes[36].Exporter = func(v interface{}, i int) interface{} {
  7082  			switch v := v.(*BotsDimensions); i {
  7083  			case 0:
  7084  				return &v.state
  7085  			case 1:
  7086  				return &v.sizeCache
  7087  			case 2:
  7088  				return &v.unknownFields
  7089  			default:
  7090  				return nil
  7091  			}
  7092  		}
  7093  		file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_msgTypes[37].Exporter = func(v interface{}, i int) interface{} {
  7094  			switch v := v.(*BotEventResponse); i {
  7095  			case 0:
  7096  				return &v.state
  7097  			case 1:
  7098  				return &v.sizeCache
  7099  			case 2:
  7100  				return &v.unknownFields
  7101  			default:
  7102  				return nil
  7103  			}
  7104  		}
  7105  		file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_msgTypes[38].Exporter = func(v interface{}, i int) interface{} {
  7106  			switch v := v.(*BotEventsResponse); i {
  7107  			case 0:
  7108  				return &v.state
  7109  			case 1:
  7110  				return &v.sizeCache
  7111  			case 2:
  7112  				return &v.unknownFields
  7113  			default:
  7114  				return nil
  7115  			}
  7116  		}
  7117  		file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_msgTypes[39].Exporter = func(v interface{}, i int) interface{} {
  7118  			switch v := v.(*DeleteResponse); i {
  7119  			case 0:
  7120  				return &v.state
  7121  			case 1:
  7122  				return &v.sizeCache
  7123  			case 2:
  7124  				return &v.unknownFields
  7125  			default:
  7126  				return nil
  7127  			}
  7128  		}
  7129  		file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_msgTypes[40].Exporter = func(v interface{}, i int) interface{} {
  7130  			switch v := v.(*TerminateResponse); i {
  7131  			case 0:
  7132  				return &v.state
  7133  			case 1:
  7134  				return &v.sizeCache
  7135  			case 2:
  7136  				return &v.unknownFields
  7137  			default:
  7138  				return nil
  7139  			}
  7140  		}
  7141  		file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_msgTypes[41].Exporter = func(v interface{}, i int) interface{} {
  7142  			switch v := v.(*BotRequest); i {
  7143  			case 0:
  7144  				return &v.state
  7145  			case 1:
  7146  				return &v.sizeCache
  7147  			case 2:
  7148  				return &v.unknownFields
  7149  			default:
  7150  				return nil
  7151  			}
  7152  		}
  7153  		file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_msgTypes[42].Exporter = func(v interface{}, i int) interface{} {
  7154  			switch v := v.(*TerminateRequest); i {
  7155  			case 0:
  7156  				return &v.state
  7157  			case 1:
  7158  				return &v.sizeCache
  7159  			case 2:
  7160  				return &v.unknownFields
  7161  			default:
  7162  				return nil
  7163  			}
  7164  		}
  7165  		file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_msgTypes[43].Exporter = func(v interface{}, i int) interface{} {
  7166  			switch v := v.(*BotEventsRequest); i {
  7167  			case 0:
  7168  				return &v.state
  7169  			case 1:
  7170  				return &v.sizeCache
  7171  			case 2:
  7172  				return &v.unknownFields
  7173  			default:
  7174  				return nil
  7175  			}
  7176  		}
  7177  		file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_msgTypes[44].Exporter = func(v interface{}, i int) interface{} {
  7178  			switch v := v.(*BotTasksRequest); i {
  7179  			case 0:
  7180  				return &v.state
  7181  			case 1:
  7182  				return &v.sizeCache
  7183  			case 2:
  7184  				return &v.unknownFields
  7185  			default:
  7186  				return nil
  7187  			}
  7188  		}
  7189  		file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_msgTypes[45].Exporter = func(v interface{}, i int) interface{} {
  7190  			switch v := v.(*BotsRequest); i {
  7191  			case 0:
  7192  				return &v.state
  7193  			case 1:
  7194  				return &v.sizeCache
  7195  			case 2:
  7196  				return &v.unknownFields
  7197  			default:
  7198  				return nil
  7199  			}
  7200  		}
  7201  		file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_msgTypes[46].Exporter = func(v interface{}, i int) interface{} {
  7202  			switch v := v.(*BotsCountRequest); i {
  7203  			case 0:
  7204  				return &v.state
  7205  			case 1:
  7206  				return &v.sizeCache
  7207  			case 2:
  7208  				return &v.unknownFields
  7209  			default:
  7210  				return nil
  7211  			}
  7212  		}
  7213  		file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_msgTypes[47].Exporter = func(v interface{}, i int) interface{} {
  7214  			switch v := v.(*BotsDimensionsRequest); i {
  7215  			case 0:
  7216  				return &v.state
  7217  			case 1:
  7218  				return &v.sizeCache
  7219  			case 2:
  7220  				return &v.unknownFields
  7221  			default:
  7222  				return nil
  7223  			}
  7224  		}
  7225  		file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_msgTypes[48].Exporter = func(v interface{}, i int) interface{} {
  7226  			switch v := v.(*PermissionsRequest); i {
  7227  			case 0:
  7228  				return &v.state
  7229  			case 1:
  7230  				return &v.sizeCache
  7231  			case 2:
  7232  				return &v.unknownFields
  7233  			default:
  7234  				return nil
  7235  			}
  7236  		}
  7237  		file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_msgTypes[49].Exporter = func(v interface{}, i int) interface{} {
  7238  			switch v := v.(*TaskStatesRequest); i {
  7239  			case 0:
  7240  				return &v.state
  7241  			case 1:
  7242  				return &v.sizeCache
  7243  			case 2:
  7244  				return &v.unknownFields
  7245  			default:
  7246  				return nil
  7247  			}
  7248  		}
  7249  		file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_msgTypes[50].Exporter = func(v interface{}, i int) interface{} {
  7250  			switch v := v.(*TasksWithPerfRequest); i {
  7251  			case 0:
  7252  				return &v.state
  7253  			case 1:
  7254  				return &v.sizeCache
  7255  			case 2:
  7256  				return &v.unknownFields
  7257  			default:
  7258  				return nil
  7259  			}
  7260  		}
  7261  		file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_msgTypes[51].Exporter = func(v interface{}, i int) interface{} {
  7262  			switch v := v.(*TasksRequest); i {
  7263  			case 0:
  7264  				return &v.state
  7265  			case 1:
  7266  				return &v.sizeCache
  7267  			case 2:
  7268  				return &v.unknownFields
  7269  			default:
  7270  				return nil
  7271  			}
  7272  		}
  7273  		file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_msgTypes[52].Exporter = func(v interface{}, i int) interface{} {
  7274  			switch v := v.(*TasksCountRequest); i {
  7275  			case 0:
  7276  				return &v.state
  7277  			case 1:
  7278  				return &v.sizeCache
  7279  			case 2:
  7280  				return &v.unknownFields
  7281  			default:
  7282  				return nil
  7283  			}
  7284  		}
  7285  		file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_msgTypes[53].Exporter = func(v interface{}, i int) interface{} {
  7286  			switch v := v.(*TaskIdRequest); i {
  7287  			case 0:
  7288  				return &v.state
  7289  			case 1:
  7290  				return &v.sizeCache
  7291  			case 2:
  7292  				return &v.unknownFields
  7293  			default:
  7294  				return nil
  7295  			}
  7296  		}
  7297  		file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_msgTypes[54].Exporter = func(v interface{}, i int) interface{} {
  7298  			switch v := v.(*TaskIdWithOffsetRequest); i {
  7299  			case 0:
  7300  				return &v.state
  7301  			case 1:
  7302  				return &v.sizeCache
  7303  			case 2:
  7304  				return &v.unknownFields
  7305  			default:
  7306  				return nil
  7307  			}
  7308  		}
  7309  		file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_msgTypes[55].Exporter = func(v interface{}, i int) interface{} {
  7310  			switch v := v.(*TaskIdWithPerfRequest); i {
  7311  			case 0:
  7312  				return &v.state
  7313  			case 1:
  7314  				return &v.sizeCache
  7315  			case 2:
  7316  				return &v.unknownFields
  7317  			default:
  7318  				return nil
  7319  			}
  7320  		}
  7321  		file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_msgTypes[56].Exporter = func(v interface{}, i int) interface{} {
  7322  			switch v := v.(*BatchGetResultRequest); i {
  7323  			case 0:
  7324  				return &v.state
  7325  			case 1:
  7326  				return &v.sizeCache
  7327  			case 2:
  7328  				return &v.unknownFields
  7329  			default:
  7330  				return nil
  7331  			}
  7332  		}
  7333  		file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_msgTypes[57].Exporter = func(v interface{}, i int) interface{} {
  7334  			switch v := v.(*BatchGetResultResponse); i {
  7335  			case 0:
  7336  				return &v.state
  7337  			case 1:
  7338  				return &v.sizeCache
  7339  			case 2:
  7340  				return &v.unknownFields
  7341  			default:
  7342  				return nil
  7343  			}
  7344  		}
  7345  		file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_msgTypes[58].Exporter = func(v interface{}, i int) interface{} {
  7346  			switch v := v.(*BatchGetResultResponse_ResultOrError); i {
  7347  			case 0:
  7348  				return &v.state
  7349  			case 1:
  7350  				return &v.sizeCache
  7351  			case 2:
  7352  				return &v.unknownFields
  7353  			default:
  7354  				return nil
  7355  			}
  7356  		}
  7357  	}
  7358  	file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_msgTypes[58].OneofWrappers = []interface{}{
  7359  		(*BatchGetResultResponse_ResultOrError_Result)(nil),
  7360  		(*BatchGetResultResponse_ResultOrError_Error)(nil),
  7361  	}
  7362  	type x struct{}
  7363  	out := protoimpl.TypeBuilder{
  7364  		File: protoimpl.DescBuilder{
  7365  			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
  7366  			RawDescriptor: file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_rawDesc,
  7367  			NumEnums:      6,
  7368  			NumMessages:   59,
  7369  			NumExtensions: 0,
  7370  			NumServices:   3,
  7371  		},
  7372  		GoTypes:           file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_goTypes,
  7373  		DependencyIndexes: file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_depIdxs,
  7374  		EnumInfos:         file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_enumTypes,
  7375  		MessageInfos:      file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_msgTypes,
  7376  	}.Build()
  7377  	File_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto = out.File
  7378  	file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_rawDesc = nil
  7379  	file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_goTypes = nil
  7380  	file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_depIdxs = nil
  7381  }