go.chromium.org/luci@v0.0.0-20240309015107-7cdc2e660f33/analysis/internal/bugs/monorail/api_proto/issues.pb.go (about)

     1  // Copyright 2020 The Chromium Authors
     2  // Use of this source code is governed by a BSD-style license that can be
     3  // 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/analysis/internal/bugs/monorail/api_proto/issues.proto
    10  
    11  package api_proto
    12  
    13  import prpc "go.chromium.org/luci/grpc/prpc"
    14  
    15  import (
    16  	context "context"
    17  	_ "google.golang.org/genproto/googleapis/api/annotations"
    18  	grpc "google.golang.org/grpc"
    19  	codes "google.golang.org/grpc/codes"
    20  	status "google.golang.org/grpc/status"
    21  	protoreflect "google.golang.org/protobuf/reflect/protoreflect"
    22  	protoimpl "google.golang.org/protobuf/runtime/protoimpl"
    23  	fieldmaskpb "google.golang.org/protobuf/types/known/fieldmaskpb"
    24  	reflect "reflect"
    25  	sync "sync"
    26  )
    27  
    28  const (
    29  	// Verify that this generated code is sufficiently up-to-date.
    30  	_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
    31  	// Verify that runtime/protoimpl is sufficiently up-to-date.
    32  	_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
    33  )
    34  
    35  // The type of notification a change should trigger.
    36  // See monorail/doc/userguide/email.md
    37  // Next available tag: 2
    38  type NotifyType int32
    39  
    40  const (
    41  	// The default value. This value is unused.
    42  	NotifyType_NOTIFY_TYPE_UNSPECIFIED NotifyType = 0
    43  	// An email notification should be sent.
    44  	NotifyType_EMAIL NotifyType = 1
    45  	// No notifcation should be triggered at all.
    46  	NotifyType_NO_NOTIFICATION NotifyType = 2
    47  )
    48  
    49  // Enum value maps for NotifyType.
    50  var (
    51  	NotifyType_name = map[int32]string{
    52  		0: "NOTIFY_TYPE_UNSPECIFIED",
    53  		1: "EMAIL",
    54  		2: "NO_NOTIFICATION",
    55  	}
    56  	NotifyType_value = map[string]int32{
    57  		"NOTIFY_TYPE_UNSPECIFIED": 0,
    58  		"EMAIL":                   1,
    59  		"NO_NOTIFICATION":         2,
    60  	}
    61  )
    62  
    63  func (x NotifyType) Enum() *NotifyType {
    64  	p := new(NotifyType)
    65  	*p = x
    66  	return p
    67  }
    68  
    69  func (x NotifyType) String() string {
    70  	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
    71  }
    72  
    73  func (NotifyType) Descriptor() protoreflect.EnumDescriptor {
    74  	return file_go_chromium_org_luci_analysis_internal_bugs_monorail_api_proto_issues_proto_enumTypes[0].Descriptor()
    75  }
    76  
    77  func (NotifyType) Type() protoreflect.EnumType {
    78  	return &file_go_chromium_org_luci_analysis_internal_bugs_monorail_api_proto_issues_proto_enumTypes[0]
    79  }
    80  
    81  func (x NotifyType) Number() protoreflect.EnumNumber {
    82  	return protoreflect.EnumNumber(x)
    83  }
    84  
    85  // Deprecated: Use NotifyType.Descriptor instead.
    86  func (NotifyType) EnumDescriptor() ([]byte, []int) {
    87  	return file_go_chromium_org_luci_analysis_internal_bugs_monorail_api_proto_issues_proto_rawDescGZIP(), []int{0}
    88  }
    89  
    90  // The request message for Issues.GetIssue.
    91  // Next available tag: 2
    92  type GetIssueRequest struct {
    93  	state         protoimpl.MessageState
    94  	sizeCache     protoimpl.SizeCache
    95  	unknownFields protoimpl.UnknownFields
    96  
    97  	// The name of the issue to request.
    98  	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
    99  }
   100  
   101  func (x *GetIssueRequest) Reset() {
   102  	*x = GetIssueRequest{}
   103  	if protoimpl.UnsafeEnabled {
   104  		mi := &file_go_chromium_org_luci_analysis_internal_bugs_monorail_api_proto_issues_proto_msgTypes[0]
   105  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   106  		ms.StoreMessageInfo(mi)
   107  	}
   108  }
   109  
   110  func (x *GetIssueRequest) String() string {
   111  	return protoimpl.X.MessageStringOf(x)
   112  }
   113  
   114  func (*GetIssueRequest) ProtoMessage() {}
   115  
   116  func (x *GetIssueRequest) ProtoReflect() protoreflect.Message {
   117  	mi := &file_go_chromium_org_luci_analysis_internal_bugs_monorail_api_proto_issues_proto_msgTypes[0]
   118  	if protoimpl.UnsafeEnabled && x != nil {
   119  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   120  		if ms.LoadMessageInfo() == nil {
   121  			ms.StoreMessageInfo(mi)
   122  		}
   123  		return ms
   124  	}
   125  	return mi.MessageOf(x)
   126  }
   127  
   128  // Deprecated: Use GetIssueRequest.ProtoReflect.Descriptor instead.
   129  func (*GetIssueRequest) Descriptor() ([]byte, []int) {
   130  	return file_go_chromium_org_luci_analysis_internal_bugs_monorail_api_proto_issues_proto_rawDescGZIP(), []int{0}
   131  }
   132  
   133  func (x *GetIssueRequest) GetName() string {
   134  	if x != nil {
   135  		return x.Name
   136  	}
   137  	return ""
   138  }
   139  
   140  // The request message for Issues.BatchGetIssues.
   141  // Next available tag: 3
   142  type BatchGetIssuesRequest struct {
   143  	state         protoimpl.MessageState
   144  	sizeCache     protoimpl.SizeCache
   145  	unknownFields protoimpl.UnknownFields
   146  
   147  	// The project name from which to batch get issues. If included, the parent
   148  	// of all the issues specified in `names` must match this field.
   149  	Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"`
   150  	// The issues to request. Maximum of 100 can be retrieved.
   151  	Names []string `protobuf:"bytes,2,rep,name=names,proto3" json:"names,omitempty"`
   152  }
   153  
   154  func (x *BatchGetIssuesRequest) Reset() {
   155  	*x = BatchGetIssuesRequest{}
   156  	if protoimpl.UnsafeEnabled {
   157  		mi := &file_go_chromium_org_luci_analysis_internal_bugs_monorail_api_proto_issues_proto_msgTypes[1]
   158  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   159  		ms.StoreMessageInfo(mi)
   160  	}
   161  }
   162  
   163  func (x *BatchGetIssuesRequest) String() string {
   164  	return protoimpl.X.MessageStringOf(x)
   165  }
   166  
   167  func (*BatchGetIssuesRequest) ProtoMessage() {}
   168  
   169  func (x *BatchGetIssuesRequest) ProtoReflect() protoreflect.Message {
   170  	mi := &file_go_chromium_org_luci_analysis_internal_bugs_monorail_api_proto_issues_proto_msgTypes[1]
   171  	if protoimpl.UnsafeEnabled && x != nil {
   172  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   173  		if ms.LoadMessageInfo() == nil {
   174  			ms.StoreMessageInfo(mi)
   175  		}
   176  		return ms
   177  	}
   178  	return mi.MessageOf(x)
   179  }
   180  
   181  // Deprecated: Use BatchGetIssuesRequest.ProtoReflect.Descriptor instead.
   182  func (*BatchGetIssuesRequest) Descriptor() ([]byte, []int) {
   183  	return file_go_chromium_org_luci_analysis_internal_bugs_monorail_api_proto_issues_proto_rawDescGZIP(), []int{1}
   184  }
   185  
   186  func (x *BatchGetIssuesRequest) GetParent() string {
   187  	if x != nil {
   188  		return x.Parent
   189  	}
   190  	return ""
   191  }
   192  
   193  func (x *BatchGetIssuesRequest) GetNames() []string {
   194  	if x != nil {
   195  		return x.Names
   196  	}
   197  	return nil
   198  }
   199  
   200  // The response message for Issues.BatchGetIssues.
   201  // Next available tag: 2
   202  type BatchGetIssuesResponse struct {
   203  	state         protoimpl.MessageState
   204  	sizeCache     protoimpl.SizeCache
   205  	unknownFields protoimpl.UnknownFields
   206  
   207  	// Issues matching the given request.
   208  	Issues []*Issue `protobuf:"bytes,1,rep,name=issues,proto3" json:"issues,omitempty"`
   209  }
   210  
   211  func (x *BatchGetIssuesResponse) Reset() {
   212  	*x = BatchGetIssuesResponse{}
   213  	if protoimpl.UnsafeEnabled {
   214  		mi := &file_go_chromium_org_luci_analysis_internal_bugs_monorail_api_proto_issues_proto_msgTypes[2]
   215  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   216  		ms.StoreMessageInfo(mi)
   217  	}
   218  }
   219  
   220  func (x *BatchGetIssuesResponse) String() string {
   221  	return protoimpl.X.MessageStringOf(x)
   222  }
   223  
   224  func (*BatchGetIssuesResponse) ProtoMessage() {}
   225  
   226  func (x *BatchGetIssuesResponse) ProtoReflect() protoreflect.Message {
   227  	mi := &file_go_chromium_org_luci_analysis_internal_bugs_monorail_api_proto_issues_proto_msgTypes[2]
   228  	if protoimpl.UnsafeEnabled && x != nil {
   229  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   230  		if ms.LoadMessageInfo() == nil {
   231  			ms.StoreMessageInfo(mi)
   232  		}
   233  		return ms
   234  	}
   235  	return mi.MessageOf(x)
   236  }
   237  
   238  // Deprecated: Use BatchGetIssuesResponse.ProtoReflect.Descriptor instead.
   239  func (*BatchGetIssuesResponse) Descriptor() ([]byte, []int) {
   240  	return file_go_chromium_org_luci_analysis_internal_bugs_monorail_api_proto_issues_proto_rawDescGZIP(), []int{2}
   241  }
   242  
   243  func (x *BatchGetIssuesResponse) GetIssues() []*Issue {
   244  	if x != nil {
   245  		return x.Issues
   246  	}
   247  	return nil
   248  }
   249  
   250  // The request message for Issues.SearchIssues.
   251  // Next available tag: 6
   252  type SearchIssuesRequest struct {
   253  	state         protoimpl.MessageState
   254  	sizeCache     protoimpl.SizeCache
   255  	unknownFields protoimpl.UnknownFields
   256  
   257  	// The names of Projects in which to search issues.
   258  	Projects []string `protobuf:"bytes,1,rep,name=projects,proto3" json:"projects,omitempty"`
   259  	// The query string can contain any number of free text and
   260  	// field search expressions.
   261  	// Please see https://bugs.chromium.org/p/chromium/issues/searchtips for more
   262  	// details of how the query string works.
   263  	//
   264  	// Canned queries have been deprecated in v3 in favor of search scoping using
   265  	// parentheses support.
   266  	// For clients who previously used canned queries, we're providing the
   267  	// mapping of legacy canned query IDs to Monorail search syntax:
   268  	//   - Format: (can_id, description, query_string)
   269  	//   - (1, 'All issues', ”)
   270  	//   - (2, 'Open issues', 'is:open')
   271  	//   - (3, 'Open and owned by me', 'is:open owner:me')
   272  	//   - (4, 'Open and reported by me', 'is:open reporter:me')
   273  	//   - (5, 'Open and starred by me', 'is:open is:starred')
   274  	//   - (6, 'New issues', 'status:new')
   275  	//   - (7, 'Issues to verify', 'status=fixed,done')
   276  	//   - (8, 'Open with comment by me', 'is:open commentby:me')
   277  	Query string `protobuf:"bytes,2,opt,name=query,proto3" json:"query,omitempty"`
   278  	// The maximum number of items to return. The service may return fewer than
   279  	// this value.
   280  	// If unspecified, at most 100 items will be returned.
   281  	// The maximum value is 100; values above 100 will be coerced to 100.
   282  	PageSize int32 `protobuf:"varint,3,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"`
   283  	// A page token, received from a previous `SearchIssues` call.
   284  	// Provide this to retrieve the subsequent page.
   285  	//
   286  	// When paginating, all other parameters provided to `SearchIssues` must match
   287  	// the call that provided the page token.
   288  	PageToken string `protobuf:"bytes,4,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"`
   289  	// The string of comma separated field names used to order the items.
   290  	// Adding '-' before a field, reverses the sort order.
   291  	// E.g. 'stars,-status' sorts the items by number of stars, high to low,
   292  	// then by status, low to high.
   293  	OrderBy string `protobuf:"bytes,5,opt,name=order_by,json=orderBy,proto3" json:"order_by,omitempty"`
   294  }
   295  
   296  func (x *SearchIssuesRequest) Reset() {
   297  	*x = SearchIssuesRequest{}
   298  	if protoimpl.UnsafeEnabled {
   299  		mi := &file_go_chromium_org_luci_analysis_internal_bugs_monorail_api_proto_issues_proto_msgTypes[3]
   300  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   301  		ms.StoreMessageInfo(mi)
   302  	}
   303  }
   304  
   305  func (x *SearchIssuesRequest) String() string {
   306  	return protoimpl.X.MessageStringOf(x)
   307  }
   308  
   309  func (*SearchIssuesRequest) ProtoMessage() {}
   310  
   311  func (x *SearchIssuesRequest) ProtoReflect() protoreflect.Message {
   312  	mi := &file_go_chromium_org_luci_analysis_internal_bugs_monorail_api_proto_issues_proto_msgTypes[3]
   313  	if protoimpl.UnsafeEnabled && x != nil {
   314  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   315  		if ms.LoadMessageInfo() == nil {
   316  			ms.StoreMessageInfo(mi)
   317  		}
   318  		return ms
   319  	}
   320  	return mi.MessageOf(x)
   321  }
   322  
   323  // Deprecated: Use SearchIssuesRequest.ProtoReflect.Descriptor instead.
   324  func (*SearchIssuesRequest) Descriptor() ([]byte, []int) {
   325  	return file_go_chromium_org_luci_analysis_internal_bugs_monorail_api_proto_issues_proto_rawDescGZIP(), []int{3}
   326  }
   327  
   328  func (x *SearchIssuesRequest) GetProjects() []string {
   329  	if x != nil {
   330  		return x.Projects
   331  	}
   332  	return nil
   333  }
   334  
   335  func (x *SearchIssuesRequest) GetQuery() string {
   336  	if x != nil {
   337  		return x.Query
   338  	}
   339  	return ""
   340  }
   341  
   342  func (x *SearchIssuesRequest) GetPageSize() int32 {
   343  	if x != nil {
   344  		return x.PageSize
   345  	}
   346  	return 0
   347  }
   348  
   349  func (x *SearchIssuesRequest) GetPageToken() string {
   350  	if x != nil {
   351  		return x.PageToken
   352  	}
   353  	return ""
   354  }
   355  
   356  func (x *SearchIssuesRequest) GetOrderBy() string {
   357  	if x != nil {
   358  		return x.OrderBy
   359  	}
   360  	return ""
   361  }
   362  
   363  // The response message for Issues.SearchIssues.
   364  // Next available tag: 3
   365  type SearchIssuesResponse struct {
   366  	state         protoimpl.MessageState
   367  	sizeCache     protoimpl.SizeCache
   368  	unknownFields protoimpl.UnknownFields
   369  
   370  	// Issues matching the given request.
   371  	Issues []*Issue `protobuf:"bytes,1,rep,name=issues,proto3" json:"issues,omitempty"`
   372  	// A token, which can be sent as `page_token` to retrieve the next page.
   373  	// If this field is omitted, there are no subsequent pages.
   374  	NextPageToken string `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"`
   375  }
   376  
   377  func (x *SearchIssuesResponse) Reset() {
   378  	*x = SearchIssuesResponse{}
   379  	if protoimpl.UnsafeEnabled {
   380  		mi := &file_go_chromium_org_luci_analysis_internal_bugs_monorail_api_proto_issues_proto_msgTypes[4]
   381  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   382  		ms.StoreMessageInfo(mi)
   383  	}
   384  }
   385  
   386  func (x *SearchIssuesResponse) String() string {
   387  	return protoimpl.X.MessageStringOf(x)
   388  }
   389  
   390  func (*SearchIssuesResponse) ProtoMessage() {}
   391  
   392  func (x *SearchIssuesResponse) ProtoReflect() protoreflect.Message {
   393  	mi := &file_go_chromium_org_luci_analysis_internal_bugs_monorail_api_proto_issues_proto_msgTypes[4]
   394  	if protoimpl.UnsafeEnabled && x != nil {
   395  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   396  		if ms.LoadMessageInfo() == nil {
   397  			ms.StoreMessageInfo(mi)
   398  		}
   399  		return ms
   400  	}
   401  	return mi.MessageOf(x)
   402  }
   403  
   404  // Deprecated: Use SearchIssuesResponse.ProtoReflect.Descriptor instead.
   405  func (*SearchIssuesResponse) Descriptor() ([]byte, []int) {
   406  	return file_go_chromium_org_luci_analysis_internal_bugs_monorail_api_proto_issues_proto_rawDescGZIP(), []int{4}
   407  }
   408  
   409  func (x *SearchIssuesResponse) GetIssues() []*Issue {
   410  	if x != nil {
   411  		return x.Issues
   412  	}
   413  	return nil
   414  }
   415  
   416  func (x *SearchIssuesResponse) GetNextPageToken() string {
   417  	if x != nil {
   418  		return x.NextPageToken
   419  	}
   420  	return ""
   421  }
   422  
   423  // The request message for Issues.ListComments.
   424  // Next available tag: 5
   425  type ListCommentsRequest struct {
   426  	state         protoimpl.MessageState
   427  	sizeCache     protoimpl.SizeCache
   428  	unknownFields protoimpl.UnknownFields
   429  
   430  	// The name of the issue for which to list comments.
   431  	Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"`
   432  	// The maximum number of items to return. The service may return fewer than
   433  	// this value.
   434  	// If unspecified, at most 100 items will be returned.
   435  	// The maximum value is 100; values above 100 will be coerced to 100.
   436  	PageSize int32 `protobuf:"varint,2,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"`
   437  	// A page token, received from a previous `ListComments` call.
   438  	// Provide this to retrieve the subsequent page.
   439  	//
   440  	// When paginating, all other parameters provided to `ListComments` must
   441  	// match the call that provided the page token.
   442  	PageToken string `protobuf:"bytes,3,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"`
   443  	// For our initial release this filter only supports filtering to comments
   444  	// related to a specific approval.
   445  	// For example `approval = "projects/monorail/approvalDefs/1"`,
   446  	// Note that no further logical or comparison operators are supported
   447  	Filter string `protobuf:"bytes,4,opt,name=filter,proto3" json:"filter,omitempty"`
   448  }
   449  
   450  func (x *ListCommentsRequest) Reset() {
   451  	*x = ListCommentsRequest{}
   452  	if protoimpl.UnsafeEnabled {
   453  		mi := &file_go_chromium_org_luci_analysis_internal_bugs_monorail_api_proto_issues_proto_msgTypes[5]
   454  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   455  		ms.StoreMessageInfo(mi)
   456  	}
   457  }
   458  
   459  func (x *ListCommentsRequest) String() string {
   460  	return protoimpl.X.MessageStringOf(x)
   461  }
   462  
   463  func (*ListCommentsRequest) ProtoMessage() {}
   464  
   465  func (x *ListCommentsRequest) ProtoReflect() protoreflect.Message {
   466  	mi := &file_go_chromium_org_luci_analysis_internal_bugs_monorail_api_proto_issues_proto_msgTypes[5]
   467  	if protoimpl.UnsafeEnabled && x != nil {
   468  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   469  		if ms.LoadMessageInfo() == nil {
   470  			ms.StoreMessageInfo(mi)
   471  		}
   472  		return ms
   473  	}
   474  	return mi.MessageOf(x)
   475  }
   476  
   477  // Deprecated: Use ListCommentsRequest.ProtoReflect.Descriptor instead.
   478  func (*ListCommentsRequest) Descriptor() ([]byte, []int) {
   479  	return file_go_chromium_org_luci_analysis_internal_bugs_monorail_api_proto_issues_proto_rawDescGZIP(), []int{5}
   480  }
   481  
   482  func (x *ListCommentsRequest) GetParent() string {
   483  	if x != nil {
   484  		return x.Parent
   485  	}
   486  	return ""
   487  }
   488  
   489  func (x *ListCommentsRequest) GetPageSize() int32 {
   490  	if x != nil {
   491  		return x.PageSize
   492  	}
   493  	return 0
   494  }
   495  
   496  func (x *ListCommentsRequest) GetPageToken() string {
   497  	if x != nil {
   498  		return x.PageToken
   499  	}
   500  	return ""
   501  }
   502  
   503  func (x *ListCommentsRequest) GetFilter() string {
   504  	if x != nil {
   505  		return x.Filter
   506  	}
   507  	return ""
   508  }
   509  
   510  // The response message for Issues.ListComments
   511  // Next available tag: 3
   512  type ListCommentsResponse struct {
   513  	state         protoimpl.MessageState
   514  	sizeCache     protoimpl.SizeCache
   515  	unknownFields protoimpl.UnknownFields
   516  
   517  	// The comments from the specified issue.
   518  	Comments []*Comment `protobuf:"bytes,1,rep,name=comments,proto3" json:"comments,omitempty"`
   519  	// A token, which can be sent as `page_token` to retrieve the next page.
   520  	// If this field is omitted, there are no subsequent pages.
   521  	NextPageToken string `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"`
   522  }
   523  
   524  func (x *ListCommentsResponse) Reset() {
   525  	*x = ListCommentsResponse{}
   526  	if protoimpl.UnsafeEnabled {
   527  		mi := &file_go_chromium_org_luci_analysis_internal_bugs_monorail_api_proto_issues_proto_msgTypes[6]
   528  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   529  		ms.StoreMessageInfo(mi)
   530  	}
   531  }
   532  
   533  func (x *ListCommentsResponse) String() string {
   534  	return protoimpl.X.MessageStringOf(x)
   535  }
   536  
   537  func (*ListCommentsResponse) ProtoMessage() {}
   538  
   539  func (x *ListCommentsResponse) ProtoReflect() protoreflect.Message {
   540  	mi := &file_go_chromium_org_luci_analysis_internal_bugs_monorail_api_proto_issues_proto_msgTypes[6]
   541  	if protoimpl.UnsafeEnabled && x != nil {
   542  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   543  		if ms.LoadMessageInfo() == nil {
   544  			ms.StoreMessageInfo(mi)
   545  		}
   546  		return ms
   547  	}
   548  	return mi.MessageOf(x)
   549  }
   550  
   551  // Deprecated: Use ListCommentsResponse.ProtoReflect.Descriptor instead.
   552  func (*ListCommentsResponse) Descriptor() ([]byte, []int) {
   553  	return file_go_chromium_org_luci_analysis_internal_bugs_monorail_api_proto_issues_proto_rawDescGZIP(), []int{6}
   554  }
   555  
   556  func (x *ListCommentsResponse) GetComments() []*Comment {
   557  	if x != nil {
   558  		return x.Comments
   559  	}
   560  	return nil
   561  }
   562  
   563  func (x *ListCommentsResponse) GetNextPageToken() string {
   564  	if x != nil {
   565  		return x.NextPageToken
   566  	}
   567  	return ""
   568  }
   569  
   570  // An attachment to upload to a comment or description.
   571  // Next available tag: 3
   572  type AttachmentUpload struct {
   573  	state         protoimpl.MessageState
   574  	sizeCache     protoimpl.SizeCache
   575  	unknownFields protoimpl.UnknownFields
   576  
   577  	Filename string `protobuf:"bytes,1,opt,name=filename,proto3" json:"filename,omitempty"`
   578  	Content  []byte `protobuf:"bytes,2,opt,name=content,proto3" json:"content,omitempty"`
   579  }
   580  
   581  func (x *AttachmentUpload) Reset() {
   582  	*x = AttachmentUpload{}
   583  	if protoimpl.UnsafeEnabled {
   584  		mi := &file_go_chromium_org_luci_analysis_internal_bugs_monorail_api_proto_issues_proto_msgTypes[7]
   585  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   586  		ms.StoreMessageInfo(mi)
   587  	}
   588  }
   589  
   590  func (x *AttachmentUpload) String() string {
   591  	return protoimpl.X.MessageStringOf(x)
   592  }
   593  
   594  func (*AttachmentUpload) ProtoMessage() {}
   595  
   596  func (x *AttachmentUpload) ProtoReflect() protoreflect.Message {
   597  	mi := &file_go_chromium_org_luci_analysis_internal_bugs_monorail_api_proto_issues_proto_msgTypes[7]
   598  	if protoimpl.UnsafeEnabled && x != nil {
   599  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   600  		if ms.LoadMessageInfo() == nil {
   601  			ms.StoreMessageInfo(mi)
   602  		}
   603  		return ms
   604  	}
   605  	return mi.MessageOf(x)
   606  }
   607  
   608  // Deprecated: Use AttachmentUpload.ProtoReflect.Descriptor instead.
   609  func (*AttachmentUpload) Descriptor() ([]byte, []int) {
   610  	return file_go_chromium_org_luci_analysis_internal_bugs_monorail_api_proto_issues_proto_rawDescGZIP(), []int{7}
   611  }
   612  
   613  func (x *AttachmentUpload) GetFilename() string {
   614  	if x != nil {
   615  		return x.Filename
   616  	}
   617  	return ""
   618  }
   619  
   620  func (x *AttachmentUpload) GetContent() []byte {
   621  	if x != nil {
   622  		return x.Content
   623  	}
   624  	return nil
   625  }
   626  
   627  // Holds changes to one issue, used in ModifyIssuesRequest.
   628  // Next available tag: 9
   629  type IssueDelta struct {
   630  	state         protoimpl.MessageState
   631  	sizeCache     protoimpl.SizeCache
   632  	unknownFields protoimpl.UnknownFields
   633  
   634  	// The issue's `name` field is used to identify the issue to be
   635  	// updated. `issue.name` must always be filled.
   636  	//
   637  	// Values with rule-based Derivation within `issue` and in `field_vals_remove`
   638  	// will be ignored.
   639  	Issue *Issue `protobuf:"bytes,1,opt,name=issue,proto3" json:"issue,omitempty"`
   640  	// The list of fields in `issue` to be updated.
   641  	//
   642  	// Repeated fields set on `issue` will be appended to.
   643  	//
   644  	// Non-repeated fields (e.g. `owner`) can be set with `issue.owner` set and
   645  	// either 'owner' or 'owner.user' added to `update_mask`.
   646  	// To unset non-repeated fields back to their default value, `issue.owner`
   647  	// must contain the default value and `update_mask` must include 'owner.user'
   648  	// NOT 'owner'.
   649  	//
   650  	// Its `field_values`, however, are a special case. Fields can be specified as
   651  	// single-value or multi-value in their FieldDef.
   652  	//
   653  	// Single-value Field: if there is preexisting FieldValue with the same
   654  	// `field` and `phase`, it will be REPLACED.
   655  	//
   656  	// Multi-value Field: a new value will be appended, unless the same `field`,
   657  	// `phase`, `value` combination already exists. In that case, the FieldValue
   658  	// will be ignored. In other words, duplicate values are ignored.
   659  	// (With the exception of crbug.com/monorail/8137 until it is fixed).
   660  	UpdateMask *fieldmaskpb.FieldMask `protobuf:"bytes,2,opt,name=update_mask,json=updateMask,proto3" json:"update_mask,omitempty"`
   661  	// Cc's to remove.
   662  	CcsRemove []string `protobuf:"bytes,3,rep,name=ccs_remove,json=ccsRemove,proto3" json:"ccs_remove,omitempty"`
   663  	// Blocked_on issues to remove.
   664  	BlockedOnIssuesRemove []*IssueRef `protobuf:"bytes,4,rep,name=blocked_on_issues_remove,json=blockedOnIssuesRemove,proto3" json:"blocked_on_issues_remove,omitempty"`
   665  	// Blocking issues to remove.
   666  	BlockingIssuesRemove []*IssueRef `protobuf:"bytes,5,rep,name=blocking_issues_remove,json=blockingIssuesRemove,proto3" json:"blocking_issues_remove,omitempty"`
   667  	// Components to remove.
   668  	ComponentsRemove []string `protobuf:"bytes,6,rep,name=components_remove,json=componentsRemove,proto3" json:"components_remove,omitempty"`
   669  	// Labels to remove.
   670  	LabelsRemove []string `protobuf:"bytes,7,rep,name=labels_remove,json=labelsRemove,proto3" json:"labels_remove,omitempty"`
   671  	// FieldValues to remove. Any values that did not already exist will be
   672  	// ignored e.g. if you append a FieldValue in issue and remove it here, it
   673  	// will still be added.
   674  	FieldValsRemove []*FieldValue `protobuf:"bytes,8,rep,name=field_vals_remove,json=fieldValsRemove,proto3" json:"field_vals_remove,omitempty"`
   675  }
   676  
   677  func (x *IssueDelta) Reset() {
   678  	*x = IssueDelta{}
   679  	if protoimpl.UnsafeEnabled {
   680  		mi := &file_go_chromium_org_luci_analysis_internal_bugs_monorail_api_proto_issues_proto_msgTypes[8]
   681  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   682  		ms.StoreMessageInfo(mi)
   683  	}
   684  }
   685  
   686  func (x *IssueDelta) String() string {
   687  	return protoimpl.X.MessageStringOf(x)
   688  }
   689  
   690  func (*IssueDelta) ProtoMessage() {}
   691  
   692  func (x *IssueDelta) ProtoReflect() protoreflect.Message {
   693  	mi := &file_go_chromium_org_luci_analysis_internal_bugs_monorail_api_proto_issues_proto_msgTypes[8]
   694  	if protoimpl.UnsafeEnabled && x != nil {
   695  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   696  		if ms.LoadMessageInfo() == nil {
   697  			ms.StoreMessageInfo(mi)
   698  		}
   699  		return ms
   700  	}
   701  	return mi.MessageOf(x)
   702  }
   703  
   704  // Deprecated: Use IssueDelta.ProtoReflect.Descriptor instead.
   705  func (*IssueDelta) Descriptor() ([]byte, []int) {
   706  	return file_go_chromium_org_luci_analysis_internal_bugs_monorail_api_proto_issues_proto_rawDescGZIP(), []int{8}
   707  }
   708  
   709  func (x *IssueDelta) GetIssue() *Issue {
   710  	if x != nil {
   711  		return x.Issue
   712  	}
   713  	return nil
   714  }
   715  
   716  func (x *IssueDelta) GetUpdateMask() *fieldmaskpb.FieldMask {
   717  	if x != nil {
   718  		return x.UpdateMask
   719  	}
   720  	return nil
   721  }
   722  
   723  func (x *IssueDelta) GetCcsRemove() []string {
   724  	if x != nil {
   725  		return x.CcsRemove
   726  	}
   727  	return nil
   728  }
   729  
   730  func (x *IssueDelta) GetBlockedOnIssuesRemove() []*IssueRef {
   731  	if x != nil {
   732  		return x.BlockedOnIssuesRemove
   733  	}
   734  	return nil
   735  }
   736  
   737  func (x *IssueDelta) GetBlockingIssuesRemove() []*IssueRef {
   738  	if x != nil {
   739  		return x.BlockingIssuesRemove
   740  	}
   741  	return nil
   742  }
   743  
   744  func (x *IssueDelta) GetComponentsRemove() []string {
   745  	if x != nil {
   746  		return x.ComponentsRemove
   747  	}
   748  	return nil
   749  }
   750  
   751  func (x *IssueDelta) GetLabelsRemove() []string {
   752  	if x != nil {
   753  		return x.LabelsRemove
   754  	}
   755  	return nil
   756  }
   757  
   758  func (x *IssueDelta) GetFieldValsRemove() []*FieldValue {
   759  	if x != nil {
   760  		return x.FieldValsRemove
   761  	}
   762  	return nil
   763  }
   764  
   765  // Changes to make to an ApprovalValue. Used to ModifyIssueApprovalValues or
   766  // to MakeIssueFromTemplate.
   767  //
   768  // NOTE: The same handling of FieldValues discussed in IssueDelta applies here.
   769  // Next available tag: 6
   770  type ApprovalDelta struct {
   771  	state         protoimpl.MessageState
   772  	sizeCache     protoimpl.SizeCache
   773  	unknownFields protoimpl.UnknownFields
   774  
   775  	// The ApprovalValue we want to update. `approval_value.name` must always be
   776  	// set.
   777  	ApprovalValue *ApprovalValue `protobuf:"bytes,1,opt,name=approval_value,json=approvalValue,proto3" json:"approval_value,omitempty"`
   778  	// Repeated fields found in `update_mask` will be appended to.
   779  	UpdateMask *fieldmaskpb.FieldMask `protobuf:"bytes,2,opt,name=update_mask,json=updateMask,proto3" json:"update_mask,omitempty"`
   780  	// Resource names of the approvers we want to remove.
   781  	ApproversRemove []string `protobuf:"bytes,3,rep,name=approvers_remove,json=approversRemove,proto3" json:"approvers_remove,omitempty"`
   782  	// FieldValues that do not belong to `approval_value` will trigger error.
   783  	FieldValsRemove []*FieldValue `protobuf:"bytes,5,rep,name=field_vals_remove,json=fieldValsRemove,proto3" json:"field_vals_remove,omitempty"` // TODO(crbug.com/monorail/8019): add Attachment uploading and removing.
   784  }
   785  
   786  func (x *ApprovalDelta) Reset() {
   787  	*x = ApprovalDelta{}
   788  	if protoimpl.UnsafeEnabled {
   789  		mi := &file_go_chromium_org_luci_analysis_internal_bugs_monorail_api_proto_issues_proto_msgTypes[9]
   790  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   791  		ms.StoreMessageInfo(mi)
   792  	}
   793  }
   794  
   795  func (x *ApprovalDelta) String() string {
   796  	return protoimpl.X.MessageStringOf(x)
   797  }
   798  
   799  func (*ApprovalDelta) ProtoMessage() {}
   800  
   801  func (x *ApprovalDelta) ProtoReflect() protoreflect.Message {
   802  	mi := &file_go_chromium_org_luci_analysis_internal_bugs_monorail_api_proto_issues_proto_msgTypes[9]
   803  	if protoimpl.UnsafeEnabled && x != nil {
   804  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   805  		if ms.LoadMessageInfo() == nil {
   806  			ms.StoreMessageInfo(mi)
   807  		}
   808  		return ms
   809  	}
   810  	return mi.MessageOf(x)
   811  }
   812  
   813  // Deprecated: Use ApprovalDelta.ProtoReflect.Descriptor instead.
   814  func (*ApprovalDelta) Descriptor() ([]byte, []int) {
   815  	return file_go_chromium_org_luci_analysis_internal_bugs_monorail_api_proto_issues_proto_rawDescGZIP(), []int{9}
   816  }
   817  
   818  func (x *ApprovalDelta) GetApprovalValue() *ApprovalValue {
   819  	if x != nil {
   820  		return x.ApprovalValue
   821  	}
   822  	return nil
   823  }
   824  
   825  func (x *ApprovalDelta) GetUpdateMask() *fieldmaskpb.FieldMask {
   826  	if x != nil {
   827  		return x.UpdateMask
   828  	}
   829  	return nil
   830  }
   831  
   832  func (x *ApprovalDelta) GetApproversRemove() []string {
   833  	if x != nil {
   834  		return x.ApproversRemove
   835  	}
   836  	return nil
   837  }
   838  
   839  func (x *ApprovalDelta) GetFieldValsRemove() []*FieldValue {
   840  	if x != nil {
   841  		return x.FieldValsRemove
   842  	}
   843  	return nil
   844  }
   845  
   846  // The request message for Issues.ModifyIssues.
   847  // Next available tag: 5
   848  type ModifyIssuesRequest struct {
   849  	state         protoimpl.MessageState
   850  	sizeCache     protoimpl.SizeCache
   851  	unknownFields protoimpl.UnknownFields
   852  
   853  	// The issue changes to make. A maximum of 100 issue changes can be requested.
   854  	// There is also a constraint of 50 additional 'impacted issues' per
   855  	// ModifyIssuesRequest. 'Impacted issues' are issues that are adding/removing
   856  	// `blocked_on`, `blocking`, or `merge`
   857  	// If you encounter this error, consider significantly smaller batches.
   858  	Deltas []*IssueDelta `protobuf:"bytes,1,rep,name=deltas,proto3" json:"deltas,omitempty"`
   859  	// The type of notification the modifications should trigger.
   860  	NotifyType NotifyType `protobuf:"varint,2,opt,name=notify_type,json=notifyType,proto3,enum=monorail.v3.NotifyType" json:"notify_type,omitempty"`
   861  	// The comment text that should be added to each issue in delta.
   862  	// Max length is 51200 characters.
   863  	CommentContent string `protobuf:"bytes,3,opt,name=comment_content,json=commentContent,proto3" json:"comment_content,omitempty"`
   864  	// The attachment that will be to each comment for each issue in delta.
   865  	Uploads []*AttachmentUpload `protobuf:"bytes,4,rep,name=uploads,proto3" json:"uploads,omitempty"`
   866  }
   867  
   868  func (x *ModifyIssuesRequest) Reset() {
   869  	*x = ModifyIssuesRequest{}
   870  	if protoimpl.UnsafeEnabled {
   871  		mi := &file_go_chromium_org_luci_analysis_internal_bugs_monorail_api_proto_issues_proto_msgTypes[10]
   872  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   873  		ms.StoreMessageInfo(mi)
   874  	}
   875  }
   876  
   877  func (x *ModifyIssuesRequest) String() string {
   878  	return protoimpl.X.MessageStringOf(x)
   879  }
   880  
   881  func (*ModifyIssuesRequest) ProtoMessage() {}
   882  
   883  func (x *ModifyIssuesRequest) ProtoReflect() protoreflect.Message {
   884  	mi := &file_go_chromium_org_luci_analysis_internal_bugs_monorail_api_proto_issues_proto_msgTypes[10]
   885  	if protoimpl.UnsafeEnabled && x != nil {
   886  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   887  		if ms.LoadMessageInfo() == nil {
   888  			ms.StoreMessageInfo(mi)
   889  		}
   890  		return ms
   891  	}
   892  	return mi.MessageOf(x)
   893  }
   894  
   895  // Deprecated: Use ModifyIssuesRequest.ProtoReflect.Descriptor instead.
   896  func (*ModifyIssuesRequest) Descriptor() ([]byte, []int) {
   897  	return file_go_chromium_org_luci_analysis_internal_bugs_monorail_api_proto_issues_proto_rawDescGZIP(), []int{10}
   898  }
   899  
   900  func (x *ModifyIssuesRequest) GetDeltas() []*IssueDelta {
   901  	if x != nil {
   902  		return x.Deltas
   903  	}
   904  	return nil
   905  }
   906  
   907  func (x *ModifyIssuesRequest) GetNotifyType() NotifyType {
   908  	if x != nil {
   909  		return x.NotifyType
   910  	}
   911  	return NotifyType_NOTIFY_TYPE_UNSPECIFIED
   912  }
   913  
   914  func (x *ModifyIssuesRequest) GetCommentContent() string {
   915  	if x != nil {
   916  		return x.CommentContent
   917  	}
   918  	return ""
   919  }
   920  
   921  func (x *ModifyIssuesRequest) GetUploads() []*AttachmentUpload {
   922  	if x != nil {
   923  		return x.Uploads
   924  	}
   925  	return nil
   926  }
   927  
   928  // The response message for Issues.ModifyIssues.
   929  // Next available tag: 2
   930  type ModifyIssuesResponse struct {
   931  	state         protoimpl.MessageState
   932  	sizeCache     protoimpl.SizeCache
   933  	unknownFields protoimpl.UnknownFields
   934  
   935  	// The updated issues.
   936  	Issues []*Issue `protobuf:"bytes,1,rep,name=issues,proto3" json:"issues,omitempty"`
   937  }
   938  
   939  func (x *ModifyIssuesResponse) Reset() {
   940  	*x = ModifyIssuesResponse{}
   941  	if protoimpl.UnsafeEnabled {
   942  		mi := &file_go_chromium_org_luci_analysis_internal_bugs_monorail_api_proto_issues_proto_msgTypes[11]
   943  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   944  		ms.StoreMessageInfo(mi)
   945  	}
   946  }
   947  
   948  func (x *ModifyIssuesResponse) String() string {
   949  	return protoimpl.X.MessageStringOf(x)
   950  }
   951  
   952  func (*ModifyIssuesResponse) ProtoMessage() {}
   953  
   954  func (x *ModifyIssuesResponse) ProtoReflect() protoreflect.Message {
   955  	mi := &file_go_chromium_org_luci_analysis_internal_bugs_monorail_api_proto_issues_proto_msgTypes[11]
   956  	if protoimpl.UnsafeEnabled && x != nil {
   957  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   958  		if ms.LoadMessageInfo() == nil {
   959  			ms.StoreMessageInfo(mi)
   960  		}
   961  		return ms
   962  	}
   963  	return mi.MessageOf(x)
   964  }
   965  
   966  // Deprecated: Use ModifyIssuesResponse.ProtoReflect.Descriptor instead.
   967  func (*ModifyIssuesResponse) Descriptor() ([]byte, []int) {
   968  	return file_go_chromium_org_luci_analysis_internal_bugs_monorail_api_proto_issues_proto_rawDescGZIP(), []int{11}
   969  }
   970  
   971  func (x *ModifyIssuesResponse) GetIssues() []*Issue {
   972  	if x != nil {
   973  		return x.Issues
   974  	}
   975  	return nil
   976  }
   977  
   978  // The request message for Issues.ModifyIssueApprovalValues.
   979  // Next available tag: 4
   980  type ModifyIssueApprovalValuesRequest struct {
   981  	state         protoimpl.MessageState
   982  	sizeCache     protoimpl.SizeCache
   983  	unknownFields protoimpl.UnknownFields
   984  
   985  	// The ApprovalValue changes to make. Maximum of 100 deltas can be requested.
   986  	Deltas []*ApprovalDelta `protobuf:"bytes,1,rep,name=deltas,proto3" json:"deltas,omitempty"`
   987  	// The type of notification the modifications should trigger.
   988  	NotifyType NotifyType `protobuf:"varint,2,opt,name=notify_type,json=notifyType,proto3,enum=monorail.v3.NotifyType" json:"notify_type,omitempty"`
   989  	// The `content` of the Comment created for each change in `deltas`.
   990  	// Max length is 51200 characters.
   991  	CommentContent string `protobuf:"bytes,3,opt,name=comment_content,json=commentContent,proto3" json:"comment_content,omitempty"`
   992  }
   993  
   994  func (x *ModifyIssueApprovalValuesRequest) Reset() {
   995  	*x = ModifyIssueApprovalValuesRequest{}
   996  	if protoimpl.UnsafeEnabled {
   997  		mi := &file_go_chromium_org_luci_analysis_internal_bugs_monorail_api_proto_issues_proto_msgTypes[12]
   998  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   999  		ms.StoreMessageInfo(mi)
  1000  	}
  1001  }
  1002  
  1003  func (x *ModifyIssueApprovalValuesRequest) String() string {
  1004  	return protoimpl.X.MessageStringOf(x)
  1005  }
  1006  
  1007  func (*ModifyIssueApprovalValuesRequest) ProtoMessage() {}
  1008  
  1009  func (x *ModifyIssueApprovalValuesRequest) ProtoReflect() protoreflect.Message {
  1010  	mi := &file_go_chromium_org_luci_analysis_internal_bugs_monorail_api_proto_issues_proto_msgTypes[12]
  1011  	if protoimpl.UnsafeEnabled && x != nil {
  1012  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1013  		if ms.LoadMessageInfo() == nil {
  1014  			ms.StoreMessageInfo(mi)
  1015  		}
  1016  		return ms
  1017  	}
  1018  	return mi.MessageOf(x)
  1019  }
  1020  
  1021  // Deprecated: Use ModifyIssueApprovalValuesRequest.ProtoReflect.Descriptor instead.
  1022  func (*ModifyIssueApprovalValuesRequest) Descriptor() ([]byte, []int) {
  1023  	return file_go_chromium_org_luci_analysis_internal_bugs_monorail_api_proto_issues_proto_rawDescGZIP(), []int{12}
  1024  }
  1025  
  1026  func (x *ModifyIssueApprovalValuesRequest) GetDeltas() []*ApprovalDelta {
  1027  	if x != nil {
  1028  		return x.Deltas
  1029  	}
  1030  	return nil
  1031  }
  1032  
  1033  func (x *ModifyIssueApprovalValuesRequest) GetNotifyType() NotifyType {
  1034  	if x != nil {
  1035  		return x.NotifyType
  1036  	}
  1037  	return NotifyType_NOTIFY_TYPE_UNSPECIFIED
  1038  }
  1039  
  1040  func (x *ModifyIssueApprovalValuesRequest) GetCommentContent() string {
  1041  	if x != nil {
  1042  		return x.CommentContent
  1043  	}
  1044  	return ""
  1045  }
  1046  
  1047  // The response message for Issues.ModifyIssueApprovalValuesRequest.
  1048  // Next available tag: 2
  1049  type ModifyIssueApprovalValuesResponse struct {
  1050  	state         protoimpl.MessageState
  1051  	sizeCache     protoimpl.SizeCache
  1052  	unknownFields protoimpl.UnknownFields
  1053  
  1054  	// The updated ApprovalValues.
  1055  	ApprovalValues []*ApprovalValue `protobuf:"bytes,1,rep,name=approval_values,json=approvalValues,proto3" json:"approval_values,omitempty"`
  1056  }
  1057  
  1058  func (x *ModifyIssueApprovalValuesResponse) Reset() {
  1059  	*x = ModifyIssueApprovalValuesResponse{}
  1060  	if protoimpl.UnsafeEnabled {
  1061  		mi := &file_go_chromium_org_luci_analysis_internal_bugs_monorail_api_proto_issues_proto_msgTypes[13]
  1062  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1063  		ms.StoreMessageInfo(mi)
  1064  	}
  1065  }
  1066  
  1067  func (x *ModifyIssueApprovalValuesResponse) String() string {
  1068  	return protoimpl.X.MessageStringOf(x)
  1069  }
  1070  
  1071  func (*ModifyIssueApprovalValuesResponse) ProtoMessage() {}
  1072  
  1073  func (x *ModifyIssueApprovalValuesResponse) ProtoReflect() protoreflect.Message {
  1074  	mi := &file_go_chromium_org_luci_analysis_internal_bugs_monorail_api_proto_issues_proto_msgTypes[13]
  1075  	if protoimpl.UnsafeEnabled && x != nil {
  1076  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1077  		if ms.LoadMessageInfo() == nil {
  1078  			ms.StoreMessageInfo(mi)
  1079  		}
  1080  		return ms
  1081  	}
  1082  	return mi.MessageOf(x)
  1083  }
  1084  
  1085  // Deprecated: Use ModifyIssueApprovalValuesResponse.ProtoReflect.Descriptor instead.
  1086  func (*ModifyIssueApprovalValuesResponse) Descriptor() ([]byte, []int) {
  1087  	return file_go_chromium_org_luci_analysis_internal_bugs_monorail_api_proto_issues_proto_rawDescGZIP(), []int{13}
  1088  }
  1089  
  1090  func (x *ModifyIssueApprovalValuesResponse) GetApprovalValues() []*ApprovalValue {
  1091  	if x != nil {
  1092  		return x.ApprovalValues
  1093  	}
  1094  	return nil
  1095  }
  1096  
  1097  // The request message for Issue.ListApprovalValues.
  1098  // Next available tag: 2
  1099  type ListApprovalValuesRequest struct {
  1100  	state         protoimpl.MessageState
  1101  	sizeCache     protoimpl.SizeCache
  1102  	unknownFields protoimpl.UnknownFields
  1103  
  1104  	// The name of the issue for which to list approval values.
  1105  	Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"`
  1106  }
  1107  
  1108  func (x *ListApprovalValuesRequest) Reset() {
  1109  	*x = ListApprovalValuesRequest{}
  1110  	if protoimpl.UnsafeEnabled {
  1111  		mi := &file_go_chromium_org_luci_analysis_internal_bugs_monorail_api_proto_issues_proto_msgTypes[14]
  1112  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1113  		ms.StoreMessageInfo(mi)
  1114  	}
  1115  }
  1116  
  1117  func (x *ListApprovalValuesRequest) String() string {
  1118  	return protoimpl.X.MessageStringOf(x)
  1119  }
  1120  
  1121  func (*ListApprovalValuesRequest) ProtoMessage() {}
  1122  
  1123  func (x *ListApprovalValuesRequest) ProtoReflect() protoreflect.Message {
  1124  	mi := &file_go_chromium_org_luci_analysis_internal_bugs_monorail_api_proto_issues_proto_msgTypes[14]
  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 ListApprovalValuesRequest.ProtoReflect.Descriptor instead.
  1136  func (*ListApprovalValuesRequest) Descriptor() ([]byte, []int) {
  1137  	return file_go_chromium_org_luci_analysis_internal_bugs_monorail_api_proto_issues_proto_rawDescGZIP(), []int{14}
  1138  }
  1139  
  1140  func (x *ListApprovalValuesRequest) GetParent() string {
  1141  	if x != nil {
  1142  		return x.Parent
  1143  	}
  1144  	return ""
  1145  }
  1146  
  1147  // The response message for Issues.ListApprovalValues.
  1148  // Next available tag: 2
  1149  type ListApprovalValuesResponse struct {
  1150  	state         protoimpl.MessageState
  1151  	sizeCache     protoimpl.SizeCache
  1152  	unknownFields protoimpl.UnknownFields
  1153  
  1154  	// The approval values from the specified issue.
  1155  	ApprovalValues []*ApprovalValue `protobuf:"bytes,1,rep,name=approval_values,json=approvalValues,proto3" json:"approval_values,omitempty"`
  1156  }
  1157  
  1158  func (x *ListApprovalValuesResponse) Reset() {
  1159  	*x = ListApprovalValuesResponse{}
  1160  	if protoimpl.UnsafeEnabled {
  1161  		mi := &file_go_chromium_org_luci_analysis_internal_bugs_monorail_api_proto_issues_proto_msgTypes[15]
  1162  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1163  		ms.StoreMessageInfo(mi)
  1164  	}
  1165  }
  1166  
  1167  func (x *ListApprovalValuesResponse) String() string {
  1168  	return protoimpl.X.MessageStringOf(x)
  1169  }
  1170  
  1171  func (*ListApprovalValuesResponse) ProtoMessage() {}
  1172  
  1173  func (x *ListApprovalValuesResponse) ProtoReflect() protoreflect.Message {
  1174  	mi := &file_go_chromium_org_luci_analysis_internal_bugs_monorail_api_proto_issues_proto_msgTypes[15]
  1175  	if protoimpl.UnsafeEnabled && x != nil {
  1176  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1177  		if ms.LoadMessageInfo() == nil {
  1178  			ms.StoreMessageInfo(mi)
  1179  		}
  1180  		return ms
  1181  	}
  1182  	return mi.MessageOf(x)
  1183  }
  1184  
  1185  // Deprecated: Use ListApprovalValuesResponse.ProtoReflect.Descriptor instead.
  1186  func (*ListApprovalValuesResponse) Descriptor() ([]byte, []int) {
  1187  	return file_go_chromium_org_luci_analysis_internal_bugs_monorail_api_proto_issues_proto_rawDescGZIP(), []int{15}
  1188  }
  1189  
  1190  func (x *ListApprovalValuesResponse) GetApprovalValues() []*ApprovalValue {
  1191  	if x != nil {
  1192  		return x.ApprovalValues
  1193  	}
  1194  	return nil
  1195  }
  1196  
  1197  // The request message for Issues.ModifyCommentState.
  1198  // Next available tag: 3
  1199  type ModifyCommentStateRequest struct {
  1200  	state         protoimpl.MessageState
  1201  	sizeCache     protoimpl.SizeCache
  1202  	unknownFields protoimpl.UnknownFields
  1203  
  1204  	// Resource name of the comment to modify state.
  1205  	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
  1206  	// Requested state.
  1207  	State IssueContentState `protobuf:"varint,2,opt,name=state,proto3,enum=monorail.v3.IssueContentState" json:"state,omitempty"`
  1208  }
  1209  
  1210  func (x *ModifyCommentStateRequest) Reset() {
  1211  	*x = ModifyCommentStateRequest{}
  1212  	if protoimpl.UnsafeEnabled {
  1213  		mi := &file_go_chromium_org_luci_analysis_internal_bugs_monorail_api_proto_issues_proto_msgTypes[16]
  1214  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1215  		ms.StoreMessageInfo(mi)
  1216  	}
  1217  }
  1218  
  1219  func (x *ModifyCommentStateRequest) String() string {
  1220  	return protoimpl.X.MessageStringOf(x)
  1221  }
  1222  
  1223  func (*ModifyCommentStateRequest) ProtoMessage() {}
  1224  
  1225  func (x *ModifyCommentStateRequest) ProtoReflect() protoreflect.Message {
  1226  	mi := &file_go_chromium_org_luci_analysis_internal_bugs_monorail_api_proto_issues_proto_msgTypes[16]
  1227  	if protoimpl.UnsafeEnabled && x != nil {
  1228  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1229  		if ms.LoadMessageInfo() == nil {
  1230  			ms.StoreMessageInfo(mi)
  1231  		}
  1232  		return ms
  1233  	}
  1234  	return mi.MessageOf(x)
  1235  }
  1236  
  1237  // Deprecated: Use ModifyCommentStateRequest.ProtoReflect.Descriptor instead.
  1238  func (*ModifyCommentStateRequest) Descriptor() ([]byte, []int) {
  1239  	return file_go_chromium_org_luci_analysis_internal_bugs_monorail_api_proto_issues_proto_rawDescGZIP(), []int{16}
  1240  }
  1241  
  1242  func (x *ModifyCommentStateRequest) GetName() string {
  1243  	if x != nil {
  1244  		return x.Name
  1245  	}
  1246  	return ""
  1247  }
  1248  
  1249  func (x *ModifyCommentStateRequest) GetState() IssueContentState {
  1250  	if x != nil {
  1251  		return x.State
  1252  	}
  1253  	return IssueContentState_STATE_UNSPECIFIED
  1254  }
  1255  
  1256  // The response message for Issues.ModifyCommentState.
  1257  // Next available tag: 2
  1258  type ModifyCommentStateResponse struct {
  1259  	state         protoimpl.MessageState
  1260  	sizeCache     protoimpl.SizeCache
  1261  	unknownFields protoimpl.UnknownFields
  1262  
  1263  	// The updated comment after modifying state.
  1264  	Comment *Comment `protobuf:"bytes,1,opt,name=comment,proto3" json:"comment,omitempty"`
  1265  }
  1266  
  1267  func (x *ModifyCommentStateResponse) Reset() {
  1268  	*x = ModifyCommentStateResponse{}
  1269  	if protoimpl.UnsafeEnabled {
  1270  		mi := &file_go_chromium_org_luci_analysis_internal_bugs_monorail_api_proto_issues_proto_msgTypes[17]
  1271  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1272  		ms.StoreMessageInfo(mi)
  1273  	}
  1274  }
  1275  
  1276  func (x *ModifyCommentStateResponse) String() string {
  1277  	return protoimpl.X.MessageStringOf(x)
  1278  }
  1279  
  1280  func (*ModifyCommentStateResponse) ProtoMessage() {}
  1281  
  1282  func (x *ModifyCommentStateResponse) ProtoReflect() protoreflect.Message {
  1283  	mi := &file_go_chromium_org_luci_analysis_internal_bugs_monorail_api_proto_issues_proto_msgTypes[17]
  1284  	if protoimpl.UnsafeEnabled && x != nil {
  1285  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1286  		if ms.LoadMessageInfo() == nil {
  1287  			ms.StoreMessageInfo(mi)
  1288  		}
  1289  		return ms
  1290  	}
  1291  	return mi.MessageOf(x)
  1292  }
  1293  
  1294  // Deprecated: Use ModifyCommentStateResponse.ProtoReflect.Descriptor instead.
  1295  func (*ModifyCommentStateResponse) Descriptor() ([]byte, []int) {
  1296  	return file_go_chromium_org_luci_analysis_internal_bugs_monorail_api_proto_issues_proto_rawDescGZIP(), []int{17}
  1297  }
  1298  
  1299  func (x *ModifyCommentStateResponse) GetComment() *Comment {
  1300  	if x != nil {
  1301  		return x.Comment
  1302  	}
  1303  	return nil
  1304  }
  1305  
  1306  // The request message for MakeIssueFromTemplate.
  1307  // Next available tag: 5
  1308  type MakeIssueFromTemplateRequest struct {
  1309  	state         protoimpl.MessageState
  1310  	sizeCache     protoimpl.SizeCache
  1311  	unknownFields protoimpl.UnknownFields
  1312  
  1313  	// Resource name of the template to use for filling in default values
  1314  	// and adding approvals and phases.
  1315  	Template string `protobuf:"bytes,1,opt,name=template,proto3" json:"template,omitempty"`
  1316  	// The issue differences relative to the `template.issue` default.
  1317  	TemplateIssueDelta *IssueDelta `protobuf:"bytes,2,opt,name=template_issue_delta,json=templateIssueDelta,proto3" json:"template_issue_delta,omitempty"`
  1318  	// Changes to fields belonging to approvals relative to template default.
  1319  	// While ApprovalDelta can hold additional information, this method only
  1320  	// allows adding and removing field values, all other deltas will be ignored.
  1321  	TemplateApprovalDeltas []*ApprovalDelta `protobuf:"bytes,3,rep,name=template_approval_deltas,json=templateApprovalDeltas,proto3" json:"template_approval_deltas,omitempty"`
  1322  	// The issue description, will be saved as the first comment.
  1323  	Description string `protobuf:"bytes,4,opt,name=description,proto3" json:"description,omitempty"`
  1324  }
  1325  
  1326  func (x *MakeIssueFromTemplateRequest) Reset() {
  1327  	*x = MakeIssueFromTemplateRequest{}
  1328  	if protoimpl.UnsafeEnabled {
  1329  		mi := &file_go_chromium_org_luci_analysis_internal_bugs_monorail_api_proto_issues_proto_msgTypes[18]
  1330  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1331  		ms.StoreMessageInfo(mi)
  1332  	}
  1333  }
  1334  
  1335  func (x *MakeIssueFromTemplateRequest) String() string {
  1336  	return protoimpl.X.MessageStringOf(x)
  1337  }
  1338  
  1339  func (*MakeIssueFromTemplateRequest) ProtoMessage() {}
  1340  
  1341  func (x *MakeIssueFromTemplateRequest) ProtoReflect() protoreflect.Message {
  1342  	mi := &file_go_chromium_org_luci_analysis_internal_bugs_monorail_api_proto_issues_proto_msgTypes[18]
  1343  	if protoimpl.UnsafeEnabled && x != nil {
  1344  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1345  		if ms.LoadMessageInfo() == nil {
  1346  			ms.StoreMessageInfo(mi)
  1347  		}
  1348  		return ms
  1349  	}
  1350  	return mi.MessageOf(x)
  1351  }
  1352  
  1353  // Deprecated: Use MakeIssueFromTemplateRequest.ProtoReflect.Descriptor instead.
  1354  func (*MakeIssueFromTemplateRequest) Descriptor() ([]byte, []int) {
  1355  	return file_go_chromium_org_luci_analysis_internal_bugs_monorail_api_proto_issues_proto_rawDescGZIP(), []int{18}
  1356  }
  1357  
  1358  func (x *MakeIssueFromTemplateRequest) GetTemplate() string {
  1359  	if x != nil {
  1360  		return x.Template
  1361  	}
  1362  	return ""
  1363  }
  1364  
  1365  func (x *MakeIssueFromTemplateRequest) GetTemplateIssueDelta() *IssueDelta {
  1366  	if x != nil {
  1367  		return x.TemplateIssueDelta
  1368  	}
  1369  	return nil
  1370  }
  1371  
  1372  func (x *MakeIssueFromTemplateRequest) GetTemplateApprovalDeltas() []*ApprovalDelta {
  1373  	if x != nil {
  1374  		return x.TemplateApprovalDeltas
  1375  	}
  1376  	return nil
  1377  }
  1378  
  1379  func (x *MakeIssueFromTemplateRequest) GetDescription() string {
  1380  	if x != nil {
  1381  		return x.Description
  1382  	}
  1383  	return ""
  1384  }
  1385  
  1386  // The request message for MakeIssue.
  1387  // Next available tag: 6
  1388  type MakeIssueRequest struct {
  1389  	state         protoimpl.MessageState
  1390  	sizeCache     protoimpl.SizeCache
  1391  	unknownFields protoimpl.UnknownFields
  1392  
  1393  	// The name of the project the issue should belong to.
  1394  	Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"`
  1395  	// The issue to be created.
  1396  	Issue *Issue `protobuf:"bytes,2,opt,name=issue,proto3" json:"issue,omitempty"`
  1397  	// The issue description.
  1398  	Description string `protobuf:"bytes,3,opt,name=description,proto3" json:"description,omitempty"`
  1399  	// The type of notification the creation should trigger.
  1400  	NotifyType NotifyType `protobuf:"varint,4,opt,name=notify_type,json=notifyType,proto3,enum=monorail.v3.NotifyType" json:"notify_type,omitempty"`
  1401  	// The attachment that will be attached to each new issue.
  1402  	Uploads []*AttachmentUpload `protobuf:"bytes,5,rep,name=uploads,proto3" json:"uploads,omitempty"`
  1403  }
  1404  
  1405  func (x *MakeIssueRequest) Reset() {
  1406  	*x = MakeIssueRequest{}
  1407  	if protoimpl.UnsafeEnabled {
  1408  		mi := &file_go_chromium_org_luci_analysis_internal_bugs_monorail_api_proto_issues_proto_msgTypes[19]
  1409  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1410  		ms.StoreMessageInfo(mi)
  1411  	}
  1412  }
  1413  
  1414  func (x *MakeIssueRequest) String() string {
  1415  	return protoimpl.X.MessageStringOf(x)
  1416  }
  1417  
  1418  func (*MakeIssueRequest) ProtoMessage() {}
  1419  
  1420  func (x *MakeIssueRequest) ProtoReflect() protoreflect.Message {
  1421  	mi := &file_go_chromium_org_luci_analysis_internal_bugs_monorail_api_proto_issues_proto_msgTypes[19]
  1422  	if protoimpl.UnsafeEnabled && x != nil {
  1423  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1424  		if ms.LoadMessageInfo() == nil {
  1425  			ms.StoreMessageInfo(mi)
  1426  		}
  1427  		return ms
  1428  	}
  1429  	return mi.MessageOf(x)
  1430  }
  1431  
  1432  // Deprecated: Use MakeIssueRequest.ProtoReflect.Descriptor instead.
  1433  func (*MakeIssueRequest) Descriptor() ([]byte, []int) {
  1434  	return file_go_chromium_org_luci_analysis_internal_bugs_monorail_api_proto_issues_proto_rawDescGZIP(), []int{19}
  1435  }
  1436  
  1437  func (x *MakeIssueRequest) GetParent() string {
  1438  	if x != nil {
  1439  		return x.Parent
  1440  	}
  1441  	return ""
  1442  }
  1443  
  1444  func (x *MakeIssueRequest) GetIssue() *Issue {
  1445  	if x != nil {
  1446  		return x.Issue
  1447  	}
  1448  	return nil
  1449  }
  1450  
  1451  func (x *MakeIssueRequest) GetDescription() string {
  1452  	if x != nil {
  1453  		return x.Description
  1454  	}
  1455  	return ""
  1456  }
  1457  
  1458  func (x *MakeIssueRequest) GetNotifyType() NotifyType {
  1459  	if x != nil {
  1460  		return x.NotifyType
  1461  	}
  1462  	return NotifyType_NOTIFY_TYPE_UNSPECIFIED
  1463  }
  1464  
  1465  func (x *MakeIssueRequest) GetUploads() []*AttachmentUpload {
  1466  	if x != nil {
  1467  		return x.Uploads
  1468  	}
  1469  	return nil
  1470  }
  1471  
  1472  var File_go_chromium_org_luci_analysis_internal_bugs_monorail_api_proto_issues_proto protoreflect.FileDescriptor
  1473  
  1474  var file_go_chromium_org_luci_analysis_internal_bugs_monorail_api_proto_issues_proto_rawDesc = []byte{
  1475  	0x0a, 0x4b, 0x67, 0x6f, 0x2e, 0x63, 0x68, 0x72, 0x6f, 0x6d, 0x69, 0x75, 0x6d, 0x2e, 0x6f, 0x72,
  1476  	0x67, 0x2f, 0x6c, 0x75, 0x63, 0x69, 0x2f, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x2f,
  1477  	0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x2f, 0x62, 0x75, 0x67, 0x73, 0x2f, 0x6d, 0x6f,
  1478  	0x6e, 0x6f, 0x72, 0x61, 0x69, 0x6c, 0x2f, 0x61, 0x70, 0x69, 0x5f, 0x70, 0x72, 0x6f, 0x74, 0x6f,
  1479  	0x2f, 0x69, 0x73, 0x73, 0x75, 0x65, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x0b, 0x6d,
  1480  	0x6f, 0x6e, 0x6f, 0x72, 0x61, 0x69, 0x6c, 0x2e, 0x76, 0x33, 0x1a, 0x20, 0x67, 0x6f, 0x6f, 0x67,
  1481  	0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x66, 0x69, 0x65, 0x6c,
  1482  	0x64, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x67, 0x6f,
  1483  	0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x62,
  1484  	0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x19, 0x67,
  1485  	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72,
  1486  	0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x52, 0x67, 0x6f, 0x2e, 0x63, 0x68, 0x72,
  1487  	0x6f, 0x6d, 0x69, 0x75, 0x6d, 0x2e, 0x6f, 0x72, 0x67, 0x2f, 0x6c, 0x75, 0x63, 0x69, 0x2f, 0x61,
  1488  	0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x2f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c,
  1489  	0x2f, 0x62, 0x75, 0x67, 0x73, 0x2f, 0x6d, 0x6f, 0x6e, 0x6f, 0x72, 0x61, 0x69, 0x6c, 0x2f, 0x61,
  1490  	0x70, 0x69, 0x5f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x69, 0x73, 0x73, 0x75, 0x65, 0x5f, 0x6f,
  1491  	0x62, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x42, 0x0a, 0x0f,
  1492  	0x47, 0x65, 0x74, 0x49, 0x73, 0x73, 0x75, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12,
  1493  	0x2f, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x1b, 0xe0,
  1494  	0x41, 0x02, 0xfa, 0x41, 0x15, 0x0a, 0x13, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x72, 0x62, 0x75, 0x67,
  1495  	0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x49, 0x73, 0x73, 0x75, 0x65, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65,
  1496  	0x22, 0x7b, 0x0a, 0x15, 0x42, 0x61, 0x74, 0x63, 0x68, 0x47, 0x65, 0x74, 0x49, 0x73, 0x73, 0x75,
  1497  	0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x32, 0x0a, 0x06, 0x70, 0x61, 0x72,
  1498  	0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x1a, 0xfa, 0x41, 0x17, 0x0a, 0x15,
  1499  	0x61, 0x70, 0x69, 0x2e, 0x63, 0x72, 0x62, 0x75, 0x67, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x50, 0x72,
  1500  	0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x2e, 0x0a,
  1501  	0x05, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x42, 0x18, 0xfa, 0x41,
  1502  	0x15, 0x0a, 0x13, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x72, 0x62, 0x75, 0x67, 0x2e, 0x63, 0x6f, 0x6d,
  1503  	0x2f, 0x49, 0x73, 0x73, 0x75, 0x65, 0x52, 0x05, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x22, 0x44, 0x0a,
  1504  	0x16, 0x42, 0x61, 0x74, 0x63, 0x68, 0x47, 0x65, 0x74, 0x49, 0x73, 0x73, 0x75, 0x65, 0x73, 0x52,
  1505  	0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2a, 0x0a, 0x06, 0x69, 0x73, 0x73, 0x75, 0x65,
  1506  	0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x6d, 0x6f, 0x6e, 0x6f, 0x72, 0x61,
  1507  	0x69, 0x6c, 0x2e, 0x76, 0x33, 0x2e, 0x49, 0x73, 0x73, 0x75, 0x65, 0x52, 0x06, 0x69, 0x73, 0x73,
  1508  	0x75, 0x65, 0x73, 0x22, 0xbd, 0x01, 0x0a, 0x13, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x49, 0x73,
  1509  	0x73, 0x75, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x39, 0x0a, 0x08, 0x70,
  1510  	0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x42, 0x1d, 0xe0,
  1511  	0x41, 0x02, 0xfa, 0x41, 0x17, 0x0a, 0x15, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x72, 0x62, 0x75, 0x67,
  1512  	0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x08, 0x70, 0x72,
  1513  	0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x71, 0x75, 0x65, 0x72, 0x79, 0x18,
  1514  	0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x71, 0x75, 0x65, 0x72, 0x79, 0x12, 0x1b, 0x0a, 0x09,
  1515  	0x70, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52,
  1516  	0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x61, 0x67,
  1517  	0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70,
  1518  	0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x19, 0x0a, 0x08, 0x6f, 0x72, 0x64, 0x65,
  1519  	0x72, 0x5f, 0x62, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6f, 0x72, 0x64, 0x65,
  1520  	0x72, 0x42, 0x79, 0x22, 0x6a, 0x0a, 0x14, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x49, 0x73, 0x73,
  1521  	0x75, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2a, 0x0a, 0x06, 0x69,
  1522  	0x73, 0x73, 0x75, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x6d, 0x6f,
  1523  	0x6e, 0x6f, 0x72, 0x61, 0x69, 0x6c, 0x2e, 0x76, 0x33, 0x2e, 0x49, 0x73, 0x73, 0x75, 0x65, 0x52,
  1524  	0x06, 0x69, 0x73, 0x73, 0x75, 0x65, 0x73, 0x12, 0x26, 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f,
  1525  	0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09,
  1526  	0x52, 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x22,
  1527  	0x9e, 0x01, 0x0a, 0x13, 0x4c, 0x69, 0x73, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x73,
  1528  	0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x33, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e,
  1529  	0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x1b, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x15, 0x0a,
  1530  	0x13, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x72, 0x62, 0x75, 0x67, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x49,
  1531  	0x73, 0x73, 0x75, 0x65, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x1b, 0x0a, 0x09,
  1532  	0x70, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52,
  1533  	0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x61, 0x67,
  1534  	0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70,
  1535  	0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74,
  1536  	0x65, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72,
  1537  	0x22, 0x70, 0x0a, 0x14, 0x4c, 0x69, 0x73, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x73,
  1538  	0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x30, 0x0a, 0x08, 0x63, 0x6f, 0x6d, 0x6d,
  1539  	0x65, 0x6e, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x6d, 0x6f, 0x6e,
  1540  	0x6f, 0x72, 0x61, 0x69, 0x6c, 0x2e, 0x76, 0x33, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74,
  1541  	0x52, 0x08, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x26, 0x0a, 0x0f, 0x6e, 0x65,
  1542  	0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02, 0x20,
  1543  	0x01, 0x28, 0x09, 0x52, 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b,
  1544  	0x65, 0x6e, 0x22, 0x52, 0x0a, 0x10, 0x41, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74,
  1545  	0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x12, 0x1f, 0x0a, 0x08, 0x66, 0x69, 0x6c, 0x65, 0x6e, 0x61,
  1546  	0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 0x66,
  1547  	0x69, 0x6c, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1d, 0x0a, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65,
  1548  	0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, 0x63,
  1549  	0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x22, 0x8a, 0x04, 0x0a, 0x0a, 0x49, 0x73, 0x73, 0x75, 0x65,
  1550  	0x44, 0x65, 0x6c, 0x74, 0x61, 0x12, 0x2d, 0x0a, 0x05, 0x69, 0x73, 0x73, 0x75, 0x65, 0x18, 0x01,
  1551  	0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x6d, 0x6f, 0x6e, 0x6f, 0x72, 0x61, 0x69, 0x6c, 0x2e,
  1552  	0x76, 0x33, 0x2e, 0x49, 0x73, 0x73, 0x75, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x05, 0x69,
  1553  	0x73, 0x73, 0x75, 0x65, 0x12, 0x40, 0x0a, 0x0b, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6d,
  1554  	0x61, 0x73, 0x6b, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
  1555  	0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x69, 0x65, 0x6c,
  1556  	0x64, 0x4d, 0x61, 0x73, 0x6b, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0a, 0x75, 0x70, 0x64, 0x61,
  1557  	0x74, 0x65, 0x4d, 0x61, 0x73, 0x6b, 0x12, 0x36, 0x0a, 0x0a, 0x63, 0x63, 0x73, 0x5f, 0x72, 0x65,
  1558  	0x6d, 0x6f, 0x76, 0x65, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x42, 0x17, 0xfa, 0x41, 0x14, 0x0a,
  1559  	0x12, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x72, 0x62, 0x75, 0x67, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x55,
  1560  	0x73, 0x65, 0x72, 0x52, 0x09, 0x63, 0x63, 0x73, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x12, 0x4e,
  1561  	0x0a, 0x18, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x65, 0x64, 0x5f, 0x6f, 0x6e, 0x5f, 0x69, 0x73, 0x73,
  1562  	0x75, 0x65, 0x73, 0x5f, 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b,
  1563  	0x32, 0x15, 0x2e, 0x6d, 0x6f, 0x6e, 0x6f, 0x72, 0x61, 0x69, 0x6c, 0x2e, 0x76, 0x33, 0x2e, 0x49,
  1564  	0x73, 0x73, 0x75, 0x65, 0x52, 0x65, 0x66, 0x52, 0x15, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x65, 0x64,
  1565  	0x4f, 0x6e, 0x49, 0x73, 0x73, 0x75, 0x65, 0x73, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x12, 0x4b,
  1566  	0x0a, 0x16, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x69, 0x6e, 0x67, 0x5f, 0x69, 0x73, 0x73, 0x75, 0x65,
  1567  	0x73, 0x5f, 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x15,
  1568  	0x2e, 0x6d, 0x6f, 0x6e, 0x6f, 0x72, 0x61, 0x69, 0x6c, 0x2e, 0x76, 0x33, 0x2e, 0x49, 0x73, 0x73,
  1569  	0x75, 0x65, 0x52, 0x65, 0x66, 0x52, 0x14, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x69, 0x6e, 0x67, 0x49,
  1570  	0x73, 0x73, 0x75, 0x65, 0x73, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x12, 0x4c, 0x0a, 0x11, 0x63,
  1571  	0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x73, 0x5f, 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x65,
  1572  	0x18, 0x06, 0x20, 0x03, 0x28, 0x09, 0x42, 0x1f, 0xfa, 0x41, 0x1c, 0x0a, 0x1a, 0x61, 0x70, 0x69,
  1573  	0x2e, 0x63, 0x72, 0x62, 0x75, 0x67, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x43, 0x6f, 0x6d, 0x70, 0x6f,
  1574  	0x6e, 0x65, 0x6e, 0x74, 0x44, 0x65, 0x66, 0x52, 0x10, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65,
  1575  	0x6e, 0x74, 0x73, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x6c, 0x61, 0x62,
  1576  	0x65, 0x6c, 0x73, 0x5f, 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x18, 0x07, 0x20, 0x03, 0x28, 0x09,
  1577  	0x52, 0x0c, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x12, 0x43,
  1578  	0x0a, 0x11, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x76, 0x61, 0x6c, 0x73, 0x5f, 0x72, 0x65, 0x6d,
  1579  	0x6f, 0x76, 0x65, 0x18, 0x08, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x6d, 0x6f, 0x6e, 0x6f,
  1580  	0x72, 0x61, 0x69, 0x6c, 0x2e, 0x76, 0x33, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x56, 0x61, 0x6c,
  1581  	0x75, 0x65, 0x52, 0x0f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x56, 0x61, 0x6c, 0x73, 0x52, 0x65, 0x6d,
  1582  	0x6f, 0x76, 0x65, 0x22, 0x9d, 0x02, 0x0a, 0x0d, 0x41, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x61, 0x6c,
  1583  	0x44, 0x65, 0x6c, 0x74, 0x61, 0x12, 0x41, 0x0a, 0x0e, 0x61, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x61,
  1584  	0x6c, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e,
  1585  	0x6d, 0x6f, 0x6e, 0x6f, 0x72, 0x61, 0x69, 0x6c, 0x2e, 0x76, 0x33, 0x2e, 0x41, 0x70, 0x70, 0x72,
  1586  	0x6f, 0x76, 0x61, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0d, 0x61, 0x70, 0x70, 0x72, 0x6f,
  1587  	0x76, 0x61, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x40, 0x0a, 0x0b, 0x75, 0x70, 0x64, 0x61,
  1588  	0x74, 0x65, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e,
  1589  	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e,
  1590  	0x46, 0x69, 0x65, 0x6c, 0x64, 0x4d, 0x61, 0x73, 0x6b, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0a,
  1591  	0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4d, 0x61, 0x73, 0x6b, 0x12, 0x42, 0x0a, 0x10, 0x61, 0x70,
  1592  	0x70, 0x72, 0x6f, 0x76, 0x65, 0x72, 0x73, 0x5f, 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x18, 0x03,
  1593  	0x20, 0x03, 0x28, 0x09, 0x42, 0x17, 0xfa, 0x41, 0x14, 0x0a, 0x12, 0x61, 0x70, 0x69, 0x2e, 0x63,
  1594  	0x72, 0x62, 0x75, 0x67, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x55, 0x73, 0x65, 0x72, 0x52, 0x0f, 0x61,
  1595  	0x70, 0x70, 0x72, 0x6f, 0x76, 0x65, 0x72, 0x73, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x12, 0x43,
  1596  	0x0a, 0x11, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x76, 0x61, 0x6c, 0x73, 0x5f, 0x72, 0x65, 0x6d,
  1597  	0x6f, 0x76, 0x65, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x6d, 0x6f, 0x6e, 0x6f,
  1598  	0x72, 0x61, 0x69, 0x6c, 0x2e, 0x76, 0x33, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x56, 0x61, 0x6c,
  1599  	0x75, 0x65, 0x52, 0x0f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x56, 0x61, 0x6c, 0x73, 0x52, 0x65, 0x6d,
  1600  	0x6f, 0x76, 0x65, 0x22, 0xe2, 0x01, 0x0a, 0x13, 0x4d, 0x6f, 0x64, 0x69, 0x66, 0x79, 0x49, 0x73,
  1601  	0x73, 0x75, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2f, 0x0a, 0x06, 0x64,
  1602  	0x65, 0x6c, 0x74, 0x61, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x6d, 0x6f,
  1603  	0x6e, 0x6f, 0x72, 0x61, 0x69, 0x6c, 0x2e, 0x76, 0x33, 0x2e, 0x49, 0x73, 0x73, 0x75, 0x65, 0x44,
  1604  	0x65, 0x6c, 0x74, 0x61, 0x52, 0x06, 0x64, 0x65, 0x6c, 0x74, 0x61, 0x73, 0x12, 0x38, 0x0a, 0x0b,
  1605  	0x6e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28,
  1606  	0x0e, 0x32, 0x17, 0x2e, 0x6d, 0x6f, 0x6e, 0x6f, 0x72, 0x61, 0x69, 0x6c, 0x2e, 0x76, 0x33, 0x2e,
  1607  	0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0a, 0x6e, 0x6f, 0x74, 0x69,
  1608  	0x66, 0x79, 0x54, 0x79, 0x70, 0x65, 0x12, 0x27, 0x0a, 0x0f, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e,
  1609  	0x74, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52,
  1610  	0x0e, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x12,
  1611  	0x37, 0x0a, 0x07, 0x75, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b,
  1612  	0x32, 0x1d, 0x2e, 0x6d, 0x6f, 0x6e, 0x6f, 0x72, 0x61, 0x69, 0x6c, 0x2e, 0x76, 0x33, 0x2e, 0x41,
  1613  	0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x52,
  1614  	0x07, 0x75, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x73, 0x22, 0x42, 0x0a, 0x14, 0x4d, 0x6f, 0x64, 0x69,
  1615  	0x66, 0x79, 0x49, 0x73, 0x73, 0x75, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
  1616  	0x12, 0x2a, 0x0a, 0x06, 0x69, 0x73, 0x73, 0x75, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b,
  1617  	0x32, 0x12, 0x2e, 0x6d, 0x6f, 0x6e, 0x6f, 0x72, 0x61, 0x69, 0x6c, 0x2e, 0x76, 0x33, 0x2e, 0x49,
  1618  	0x73, 0x73, 0x75, 0x65, 0x52, 0x06, 0x69, 0x73, 0x73, 0x75, 0x65, 0x73, 0x22, 0xb9, 0x01, 0x0a,
  1619  	0x20, 0x4d, 0x6f, 0x64, 0x69, 0x66, 0x79, 0x49, 0x73, 0x73, 0x75, 0x65, 0x41, 0x70, 0x70, 0x72,
  1620  	0x6f, 0x76, 0x61, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
  1621  	0x74, 0x12, 0x32, 0x0a, 0x06, 0x64, 0x65, 0x6c, 0x74, 0x61, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28,
  1622  	0x0b, 0x32, 0x1a, 0x2e, 0x6d, 0x6f, 0x6e, 0x6f, 0x72, 0x61, 0x69, 0x6c, 0x2e, 0x76, 0x33, 0x2e,
  1623  	0x41, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x61, 0x6c, 0x44, 0x65, 0x6c, 0x74, 0x61, 0x52, 0x06, 0x64,
  1624  	0x65, 0x6c, 0x74, 0x61, 0x73, 0x12, 0x38, 0x0a, 0x0b, 0x6e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x5f,
  1625  	0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x17, 0x2e, 0x6d, 0x6f, 0x6e,
  1626  	0x6f, 0x72, 0x61, 0x69, 0x6c, 0x2e, 0x76, 0x33, 0x2e, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x54,
  1627  	0x79, 0x70, 0x65, 0x52, 0x0a, 0x6e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x54, 0x79, 0x70, 0x65, 0x12,
  1628  	0x27, 0x0a, 0x0f, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x65,
  1629  	0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e,
  1630  	0x74, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x22, 0x68, 0x0a, 0x21, 0x4d, 0x6f, 0x64, 0x69,
  1631  	0x66, 0x79, 0x49, 0x73, 0x73, 0x75, 0x65, 0x41, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x61, 0x6c, 0x56,
  1632  	0x61, 0x6c, 0x75, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x43, 0x0a,
  1633  	0x0f, 0x61, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x61, 0x6c, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73,
  1634  	0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x6d, 0x6f, 0x6e, 0x6f, 0x72, 0x61, 0x69,
  1635  	0x6c, 0x2e, 0x76, 0x33, 0x2e, 0x41, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x61, 0x6c, 0x56, 0x61, 0x6c,
  1636  	0x75, 0x65, 0x52, 0x0e, 0x61, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x61, 0x6c, 0x56, 0x61, 0x6c, 0x75,
  1637  	0x65, 0x73, 0x22, 0x50, 0x0a, 0x19, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x70, 0x70, 0x72, 0x6f, 0x76,
  1638  	0x61, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12,
  1639  	0x33, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42,
  1640  	0x1b, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x15, 0x0a, 0x13, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x72, 0x62,
  1641  	0x75, 0x67, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x49, 0x73, 0x73, 0x75, 0x65, 0x52, 0x06, 0x70, 0x61,
  1642  	0x72, 0x65, 0x6e, 0x74, 0x22, 0x61, 0x0a, 0x1a, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x70, 0x70, 0x72,
  1643  	0x6f, 0x76, 0x61, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e,
  1644  	0x73, 0x65, 0x12, 0x43, 0x0a, 0x0f, 0x61, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x61, 0x6c, 0x5f, 0x76,
  1645  	0x61, 0x6c, 0x75, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x6d, 0x6f,
  1646  	0x6e, 0x6f, 0x72, 0x61, 0x69, 0x6c, 0x2e, 0x76, 0x33, 0x2e, 0x41, 0x70, 0x70, 0x72, 0x6f, 0x76,
  1647  	0x61, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0e, 0x61, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x61,
  1648  	0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x22, 0x84, 0x01, 0x0a, 0x19, 0x4d, 0x6f, 0x64, 0x69,
  1649  	0x66, 0x79, 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x65,
  1650  	0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x31, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20,
  1651  	0x01, 0x28, 0x09, 0x42, 0x1d, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x17, 0x0a, 0x15, 0x61, 0x70, 0x69,
  1652  	0x2e, 0x63, 0x72, 0x62, 0x75, 0x67, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x43, 0x6f, 0x6d, 0x6d, 0x65,
  1653  	0x6e, 0x74, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x34, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74,
  1654  	0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1e, 0x2e, 0x6d, 0x6f, 0x6e, 0x6f, 0x72, 0x61,
  1655  	0x69, 0x6c, 0x2e, 0x76, 0x33, 0x2e, 0x49, 0x73, 0x73, 0x75, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65,
  1656  	0x6e, 0x74, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x22, 0x4c,
  1657  	0x0a, 0x1a, 0x4d, 0x6f, 0x64, 0x69, 0x66, 0x79, 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x53,
  1658  	0x74, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2e, 0x0a, 0x07,
  1659  	0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e,
  1660  	0x6d, 0x6f, 0x6e, 0x6f, 0x72, 0x61, 0x69, 0x6c, 0x2e, 0x76, 0x33, 0x2e, 0x43, 0x6f, 0x6d, 0x6d,
  1661  	0x65, 0x6e, 0x74, 0x52, 0x07, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x22, 0x9a, 0x02, 0x0a,
  1662  	0x1c, 0x4d, 0x61, 0x6b, 0x65, 0x49, 0x73, 0x73, 0x75, 0x65, 0x46, 0x72, 0x6f, 0x6d, 0x54, 0x65,
  1663  	0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x37, 0x0a,
  1664  	0x08, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42,
  1665  	0x1b, 0xfa, 0x41, 0x18, 0x0a, 0x16, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x72, 0x62, 0x75, 0x67, 0x2e,
  1666  	0x63, 0x6f, 0x6d, 0x2f, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x52, 0x08, 0x74, 0x65,
  1667  	0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x12, 0x49, 0x0a, 0x14, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61,
  1668  	0x74, 0x65, 0x5f, 0x69, 0x73, 0x73, 0x75, 0x65, 0x5f, 0x64, 0x65, 0x6c, 0x74, 0x61, 0x18, 0x02,
  1669  	0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x6d, 0x6f, 0x6e, 0x6f, 0x72, 0x61, 0x69, 0x6c, 0x2e,
  1670  	0x76, 0x33, 0x2e, 0x49, 0x73, 0x73, 0x75, 0x65, 0x44, 0x65, 0x6c, 0x74, 0x61, 0x52, 0x12, 0x74,
  1671  	0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x49, 0x73, 0x73, 0x75, 0x65, 0x44, 0x65, 0x6c, 0x74,
  1672  	0x61, 0x12, 0x54, 0x0a, 0x18, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x5f, 0x61, 0x70,
  1673  	0x70, 0x72, 0x6f, 0x76, 0x61, 0x6c, 0x5f, 0x64, 0x65, 0x6c, 0x74, 0x61, 0x73, 0x18, 0x03, 0x20,
  1674  	0x03, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x6d, 0x6f, 0x6e, 0x6f, 0x72, 0x61, 0x69, 0x6c, 0x2e, 0x76,
  1675  	0x33, 0x2e, 0x41, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x61, 0x6c, 0x44, 0x65, 0x6c, 0x74, 0x61, 0x52,
  1676  	0x16, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x41, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x61,
  1677  	0x6c, 0x44, 0x65, 0x6c, 0x74, 0x61, 0x73, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72,
  1678  	0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65,
  1679  	0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x88, 0x02, 0x0a, 0x10, 0x4d, 0x61,
  1680  	0x6b, 0x65, 0x49, 0x73, 0x73, 0x75, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x35,
  1681  	0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x1d,
  1682  	0xe0, 0x41, 0x02, 0xfa, 0x41, 0x17, 0x0a, 0x15, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x72, 0x62, 0x75,
  1683  	0x67, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x06, 0x70,
  1684  	0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x28, 0x0a, 0x05, 0x69, 0x73, 0x73, 0x75, 0x65, 0x18, 0x02,
  1685  	0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x6d, 0x6f, 0x6e, 0x6f, 0x72, 0x61, 0x69, 0x6c, 0x2e,
  1686  	0x76, 0x33, 0x2e, 0x49, 0x73, 0x73, 0x75, 0x65, 0x52, 0x05, 0x69, 0x73, 0x73, 0x75, 0x65, 0x12,
  1687  	0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03,
  1688  	0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f,
  1689  	0x6e, 0x12, 0x38, 0x0a, 0x0b, 0x6e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x5f, 0x74, 0x79, 0x70, 0x65,
  1690  	0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x17, 0x2e, 0x6d, 0x6f, 0x6e, 0x6f, 0x72, 0x61, 0x69,
  1691  	0x6c, 0x2e, 0x76, 0x33, 0x2e, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x54, 0x79, 0x70, 0x65, 0x52,
  1692  	0x0a, 0x6e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x54, 0x79, 0x70, 0x65, 0x12, 0x37, 0x0a, 0x07, 0x75,
  1693  	0x70, 0x6c, 0x6f, 0x61, 0x64, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x6d,
  1694  	0x6f, 0x6e, 0x6f, 0x72, 0x61, 0x69, 0x6c, 0x2e, 0x76, 0x33, 0x2e, 0x41, 0x74, 0x74, 0x61, 0x63,
  1695  	0x68, 0x6d, 0x65, 0x6e, 0x74, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x52, 0x07, 0x75, 0x70, 0x6c,
  1696  	0x6f, 0x61, 0x64, 0x73, 0x2a, 0x49, 0x0a, 0x0a, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x54, 0x79,
  1697  	0x70, 0x65, 0x12, 0x1b, 0x0a, 0x17, 0x4e, 0x4f, 0x54, 0x49, 0x46, 0x59, 0x5f, 0x54, 0x59, 0x50,
  1698  	0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12,
  1699  	0x09, 0x0a, 0x05, 0x45, 0x4d, 0x41, 0x49, 0x4c, 0x10, 0x01, 0x12, 0x13, 0x0a, 0x0f, 0x4e, 0x4f,
  1700  	0x5f, 0x4e, 0x4f, 0x54, 0x49, 0x46, 0x49, 0x43, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0x02, 0x32,
  1701  	0x96, 0x07, 0x0a, 0x06, 0x49, 0x73, 0x73, 0x75, 0x65, 0x73, 0x12, 0x3e, 0x0a, 0x08, 0x47, 0x65,
  1702  	0x74, 0x49, 0x73, 0x73, 0x75, 0x65, 0x12, 0x1c, 0x2e, 0x6d, 0x6f, 0x6e, 0x6f, 0x72, 0x61, 0x69,
  1703  	0x6c, 0x2e, 0x76, 0x33, 0x2e, 0x47, 0x65, 0x74, 0x49, 0x73, 0x73, 0x75, 0x65, 0x52, 0x65, 0x71,
  1704  	0x75, 0x65, 0x73, 0x74, 0x1a, 0x12, 0x2e, 0x6d, 0x6f, 0x6e, 0x6f, 0x72, 0x61, 0x69, 0x6c, 0x2e,
  1705  	0x76, 0x33, 0x2e, 0x49, 0x73, 0x73, 0x75, 0x65, 0x22, 0x00, 0x12, 0x5b, 0x0a, 0x0e, 0x42, 0x61,
  1706  	0x74, 0x63, 0x68, 0x47, 0x65, 0x74, 0x49, 0x73, 0x73, 0x75, 0x65, 0x73, 0x12, 0x22, 0x2e, 0x6d,
  1707  	0x6f, 0x6e, 0x6f, 0x72, 0x61, 0x69, 0x6c, 0x2e, 0x76, 0x33, 0x2e, 0x42, 0x61, 0x74, 0x63, 0x68,
  1708  	0x47, 0x65, 0x74, 0x49, 0x73, 0x73, 0x75, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
  1709  	0x1a, 0x23, 0x2e, 0x6d, 0x6f, 0x6e, 0x6f, 0x72, 0x61, 0x69, 0x6c, 0x2e, 0x76, 0x33, 0x2e, 0x42,
  1710  	0x61, 0x74, 0x63, 0x68, 0x47, 0x65, 0x74, 0x49, 0x73, 0x73, 0x75, 0x65, 0x73, 0x52, 0x65, 0x73,
  1711  	0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x55, 0x0a, 0x0c, 0x53, 0x65, 0x61, 0x72, 0x63,
  1712  	0x68, 0x49, 0x73, 0x73, 0x75, 0x65, 0x73, 0x12, 0x20, 0x2e, 0x6d, 0x6f, 0x6e, 0x6f, 0x72, 0x61,
  1713  	0x69, 0x6c, 0x2e, 0x76, 0x33, 0x2e, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x49, 0x73, 0x73, 0x75,
  1714  	0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x21, 0x2e, 0x6d, 0x6f, 0x6e, 0x6f,
  1715  	0x72, 0x61, 0x69, 0x6c, 0x2e, 0x76, 0x33, 0x2e, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x49, 0x73,
  1716  	0x73, 0x75, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x55,
  1717  	0x0a, 0x0c, 0x4c, 0x69, 0x73, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x20,
  1718  	0x2e, 0x6d, 0x6f, 0x6e, 0x6f, 0x72, 0x61, 0x69, 0x6c, 0x2e, 0x76, 0x33, 0x2e, 0x4c, 0x69, 0x73,
  1719  	0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
  1720  	0x1a, 0x21, 0x2e, 0x6d, 0x6f, 0x6e, 0x6f, 0x72, 0x61, 0x69, 0x6c, 0x2e, 0x76, 0x33, 0x2e, 0x4c,
  1721  	0x69, 0x73, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f,
  1722  	0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x55, 0x0a, 0x0c, 0x4d, 0x6f, 0x64, 0x69, 0x66, 0x79, 0x49,
  1723  	0x73, 0x73, 0x75, 0x65, 0x73, 0x12, 0x20, 0x2e, 0x6d, 0x6f, 0x6e, 0x6f, 0x72, 0x61, 0x69, 0x6c,
  1724  	0x2e, 0x76, 0x33, 0x2e, 0x4d, 0x6f, 0x64, 0x69, 0x66, 0x79, 0x49, 0x73, 0x73, 0x75, 0x65, 0x73,
  1725  	0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x21, 0x2e, 0x6d, 0x6f, 0x6e, 0x6f, 0x72, 0x61,
  1726  	0x69, 0x6c, 0x2e, 0x76, 0x33, 0x2e, 0x4d, 0x6f, 0x64, 0x69, 0x66, 0x79, 0x49, 0x73, 0x73, 0x75,
  1727  	0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x7c, 0x0a, 0x19,
  1728  	0x4d, 0x6f, 0x64, 0x69, 0x66, 0x79, 0x49, 0x73, 0x73, 0x75, 0x65, 0x41, 0x70, 0x70, 0x72, 0x6f,
  1729  	0x76, 0x61, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x12, 0x2d, 0x2e, 0x6d, 0x6f, 0x6e, 0x6f,
  1730  	0x72, 0x61, 0x69, 0x6c, 0x2e, 0x76, 0x33, 0x2e, 0x4d, 0x6f, 0x64, 0x69, 0x66, 0x79, 0x49, 0x73,
  1731  	0x73, 0x75, 0x65, 0x41, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x61, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65,
  1732  	0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2e, 0x2e, 0x6d, 0x6f, 0x6e, 0x6f, 0x72,
  1733  	0x61, 0x69, 0x6c, 0x2e, 0x76, 0x33, 0x2e, 0x4d, 0x6f, 0x64, 0x69, 0x66, 0x79, 0x49, 0x73, 0x73,
  1734  	0x75, 0x65, 0x41, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x61, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73,
  1735  	0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x67, 0x0a, 0x12, 0x4c, 0x69,
  1736  	0x73, 0x74, 0x41, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x61, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73,
  1737  	0x12, 0x26, 0x2e, 0x6d, 0x6f, 0x6e, 0x6f, 0x72, 0x61, 0x69, 0x6c, 0x2e, 0x76, 0x33, 0x2e, 0x4c,
  1738  	0x69, 0x73, 0x74, 0x41, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x61, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65,
  1739  	0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x27, 0x2e, 0x6d, 0x6f, 0x6e, 0x6f, 0x72,
  1740  	0x61, 0x69, 0x6c, 0x2e, 0x76, 0x33, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x70, 0x70, 0x72, 0x6f,
  1741  	0x76, 0x61, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
  1742  	0x65, 0x22, 0x00, 0x12, 0x67, 0x0a, 0x12, 0x4d, 0x6f, 0x64, 0x69, 0x66, 0x79, 0x43, 0x6f, 0x6d,
  1743  	0x6d, 0x65, 0x6e, 0x74, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x26, 0x2e, 0x6d, 0x6f, 0x6e, 0x6f,
  1744  	0x72, 0x61, 0x69, 0x6c, 0x2e, 0x76, 0x33, 0x2e, 0x4d, 0x6f, 0x64, 0x69, 0x66, 0x79, 0x43, 0x6f,
  1745  	0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
  1746  	0x74, 0x1a, 0x27, 0x2e, 0x6d, 0x6f, 0x6e, 0x6f, 0x72, 0x61, 0x69, 0x6c, 0x2e, 0x76, 0x33, 0x2e,
  1747  	0x4d, 0x6f, 0x64, 0x69, 0x66, 0x79, 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x53, 0x74, 0x61,
  1748  	0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x58, 0x0a, 0x15,
  1749  	0x4d, 0x61, 0x6b, 0x65, 0x49, 0x73, 0x73, 0x75, 0x65, 0x46, 0x72, 0x6f, 0x6d, 0x54, 0x65, 0x6d,
  1750  	0x70, 0x6c, 0x61, 0x74, 0x65, 0x12, 0x29, 0x2e, 0x6d, 0x6f, 0x6e, 0x6f, 0x72, 0x61, 0x69, 0x6c,
  1751  	0x2e, 0x76, 0x33, 0x2e, 0x4d, 0x61, 0x6b, 0x65, 0x49, 0x73, 0x73, 0x75, 0x65, 0x46, 0x72, 0x6f,
  1752  	0x6d, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
  1753  	0x1a, 0x12, 0x2e, 0x6d, 0x6f, 0x6e, 0x6f, 0x72, 0x61, 0x69, 0x6c, 0x2e, 0x76, 0x33, 0x2e, 0x49,
  1754  	0x73, 0x73, 0x75, 0x65, 0x22, 0x00, 0x12, 0x40, 0x0a, 0x09, 0x4d, 0x61, 0x6b, 0x65, 0x49, 0x73,
  1755  	0x73, 0x75, 0x65, 0x12, 0x1d, 0x2e, 0x6d, 0x6f, 0x6e, 0x6f, 0x72, 0x61, 0x69, 0x6c, 0x2e, 0x76,
  1756  	0x33, 0x2e, 0x4d, 0x61, 0x6b, 0x65, 0x49, 0x73, 0x73, 0x75, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65,
  1757  	0x73, 0x74, 0x1a, 0x12, 0x2e, 0x6d, 0x6f, 0x6e, 0x6f, 0x72, 0x61, 0x69, 0x6c, 0x2e, 0x76, 0x33,
  1758  	0x2e, 0x49, 0x73, 0x73, 0x75, 0x65, 0x22, 0x00, 0x42, 0x40, 0x5a, 0x3e, 0x67, 0x6f, 0x2e, 0x63,
  1759  	0x68, 0x72, 0x6f, 0x6d, 0x69, 0x75, 0x6d, 0x2e, 0x6f, 0x72, 0x67, 0x2f, 0x6c, 0x75, 0x63, 0x69,
  1760  	0x2f, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x2f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e,
  1761  	0x61, 0x6c, 0x2f, 0x62, 0x75, 0x67, 0x73, 0x2f, 0x6d, 0x6f, 0x6e, 0x6f, 0x72, 0x61, 0x69, 0x6c,
  1762  	0x2f, 0x61, 0x70, 0x69, 0x5f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74,
  1763  	0x6f, 0x33,
  1764  }
  1765  
  1766  var (
  1767  	file_go_chromium_org_luci_analysis_internal_bugs_monorail_api_proto_issues_proto_rawDescOnce sync.Once
  1768  	file_go_chromium_org_luci_analysis_internal_bugs_monorail_api_proto_issues_proto_rawDescData = file_go_chromium_org_luci_analysis_internal_bugs_monorail_api_proto_issues_proto_rawDesc
  1769  )
  1770  
  1771  func file_go_chromium_org_luci_analysis_internal_bugs_monorail_api_proto_issues_proto_rawDescGZIP() []byte {
  1772  	file_go_chromium_org_luci_analysis_internal_bugs_monorail_api_proto_issues_proto_rawDescOnce.Do(func() {
  1773  		file_go_chromium_org_luci_analysis_internal_bugs_monorail_api_proto_issues_proto_rawDescData = protoimpl.X.CompressGZIP(file_go_chromium_org_luci_analysis_internal_bugs_monorail_api_proto_issues_proto_rawDescData)
  1774  	})
  1775  	return file_go_chromium_org_luci_analysis_internal_bugs_monorail_api_proto_issues_proto_rawDescData
  1776  }
  1777  
  1778  var file_go_chromium_org_luci_analysis_internal_bugs_monorail_api_proto_issues_proto_enumTypes = make([]protoimpl.EnumInfo, 1)
  1779  var file_go_chromium_org_luci_analysis_internal_bugs_monorail_api_proto_issues_proto_msgTypes = make([]protoimpl.MessageInfo, 20)
  1780  var file_go_chromium_org_luci_analysis_internal_bugs_monorail_api_proto_issues_proto_goTypes = []interface{}{
  1781  	(NotifyType)(0),                           // 0: monorail.v3.NotifyType
  1782  	(*GetIssueRequest)(nil),                   // 1: monorail.v3.GetIssueRequest
  1783  	(*BatchGetIssuesRequest)(nil),             // 2: monorail.v3.BatchGetIssuesRequest
  1784  	(*BatchGetIssuesResponse)(nil),            // 3: monorail.v3.BatchGetIssuesResponse
  1785  	(*SearchIssuesRequest)(nil),               // 4: monorail.v3.SearchIssuesRequest
  1786  	(*SearchIssuesResponse)(nil),              // 5: monorail.v3.SearchIssuesResponse
  1787  	(*ListCommentsRequest)(nil),               // 6: monorail.v3.ListCommentsRequest
  1788  	(*ListCommentsResponse)(nil),              // 7: monorail.v3.ListCommentsResponse
  1789  	(*AttachmentUpload)(nil),                  // 8: monorail.v3.AttachmentUpload
  1790  	(*IssueDelta)(nil),                        // 9: monorail.v3.IssueDelta
  1791  	(*ApprovalDelta)(nil),                     // 10: monorail.v3.ApprovalDelta
  1792  	(*ModifyIssuesRequest)(nil),               // 11: monorail.v3.ModifyIssuesRequest
  1793  	(*ModifyIssuesResponse)(nil),              // 12: monorail.v3.ModifyIssuesResponse
  1794  	(*ModifyIssueApprovalValuesRequest)(nil),  // 13: monorail.v3.ModifyIssueApprovalValuesRequest
  1795  	(*ModifyIssueApprovalValuesResponse)(nil), // 14: monorail.v3.ModifyIssueApprovalValuesResponse
  1796  	(*ListApprovalValuesRequest)(nil),         // 15: monorail.v3.ListApprovalValuesRequest
  1797  	(*ListApprovalValuesResponse)(nil),        // 16: monorail.v3.ListApprovalValuesResponse
  1798  	(*ModifyCommentStateRequest)(nil),         // 17: monorail.v3.ModifyCommentStateRequest
  1799  	(*ModifyCommentStateResponse)(nil),        // 18: monorail.v3.ModifyCommentStateResponse
  1800  	(*MakeIssueFromTemplateRequest)(nil),      // 19: monorail.v3.MakeIssueFromTemplateRequest
  1801  	(*MakeIssueRequest)(nil),                  // 20: monorail.v3.MakeIssueRequest
  1802  	(*Issue)(nil),                             // 21: monorail.v3.Issue
  1803  	(*Comment)(nil),                           // 22: monorail.v3.Comment
  1804  	(*fieldmaskpb.FieldMask)(nil),             // 23: google.protobuf.FieldMask
  1805  	(*IssueRef)(nil),                          // 24: monorail.v3.IssueRef
  1806  	(*FieldValue)(nil),                        // 25: monorail.v3.FieldValue
  1807  	(*ApprovalValue)(nil),                     // 26: monorail.v3.ApprovalValue
  1808  	(IssueContentState)(0),                    // 27: monorail.v3.IssueContentState
  1809  }
  1810  var file_go_chromium_org_luci_analysis_internal_bugs_monorail_api_proto_issues_proto_depIdxs = []int32{
  1811  	21, // 0: monorail.v3.BatchGetIssuesResponse.issues:type_name -> monorail.v3.Issue
  1812  	21, // 1: monorail.v3.SearchIssuesResponse.issues:type_name -> monorail.v3.Issue
  1813  	22, // 2: monorail.v3.ListCommentsResponse.comments:type_name -> monorail.v3.Comment
  1814  	21, // 3: monorail.v3.IssueDelta.issue:type_name -> monorail.v3.Issue
  1815  	23, // 4: monorail.v3.IssueDelta.update_mask:type_name -> google.protobuf.FieldMask
  1816  	24, // 5: monorail.v3.IssueDelta.blocked_on_issues_remove:type_name -> monorail.v3.IssueRef
  1817  	24, // 6: monorail.v3.IssueDelta.blocking_issues_remove:type_name -> monorail.v3.IssueRef
  1818  	25, // 7: monorail.v3.IssueDelta.field_vals_remove:type_name -> monorail.v3.FieldValue
  1819  	26, // 8: monorail.v3.ApprovalDelta.approval_value:type_name -> monorail.v3.ApprovalValue
  1820  	23, // 9: monorail.v3.ApprovalDelta.update_mask:type_name -> google.protobuf.FieldMask
  1821  	25, // 10: monorail.v3.ApprovalDelta.field_vals_remove:type_name -> monorail.v3.FieldValue
  1822  	9,  // 11: monorail.v3.ModifyIssuesRequest.deltas:type_name -> monorail.v3.IssueDelta
  1823  	0,  // 12: monorail.v3.ModifyIssuesRequest.notify_type:type_name -> monorail.v3.NotifyType
  1824  	8,  // 13: monorail.v3.ModifyIssuesRequest.uploads:type_name -> monorail.v3.AttachmentUpload
  1825  	21, // 14: monorail.v3.ModifyIssuesResponse.issues:type_name -> monorail.v3.Issue
  1826  	10, // 15: monorail.v3.ModifyIssueApprovalValuesRequest.deltas:type_name -> monorail.v3.ApprovalDelta
  1827  	0,  // 16: monorail.v3.ModifyIssueApprovalValuesRequest.notify_type:type_name -> monorail.v3.NotifyType
  1828  	26, // 17: monorail.v3.ModifyIssueApprovalValuesResponse.approval_values:type_name -> monorail.v3.ApprovalValue
  1829  	26, // 18: monorail.v3.ListApprovalValuesResponse.approval_values:type_name -> monorail.v3.ApprovalValue
  1830  	27, // 19: monorail.v3.ModifyCommentStateRequest.state:type_name -> monorail.v3.IssueContentState
  1831  	22, // 20: monorail.v3.ModifyCommentStateResponse.comment:type_name -> monorail.v3.Comment
  1832  	9,  // 21: monorail.v3.MakeIssueFromTemplateRequest.template_issue_delta:type_name -> monorail.v3.IssueDelta
  1833  	10, // 22: monorail.v3.MakeIssueFromTemplateRequest.template_approval_deltas:type_name -> monorail.v3.ApprovalDelta
  1834  	21, // 23: monorail.v3.MakeIssueRequest.issue:type_name -> monorail.v3.Issue
  1835  	0,  // 24: monorail.v3.MakeIssueRequest.notify_type:type_name -> monorail.v3.NotifyType
  1836  	8,  // 25: monorail.v3.MakeIssueRequest.uploads:type_name -> monorail.v3.AttachmentUpload
  1837  	1,  // 26: monorail.v3.Issues.GetIssue:input_type -> monorail.v3.GetIssueRequest
  1838  	2,  // 27: monorail.v3.Issues.BatchGetIssues:input_type -> monorail.v3.BatchGetIssuesRequest
  1839  	4,  // 28: monorail.v3.Issues.SearchIssues:input_type -> monorail.v3.SearchIssuesRequest
  1840  	6,  // 29: monorail.v3.Issues.ListComments:input_type -> monorail.v3.ListCommentsRequest
  1841  	11, // 30: monorail.v3.Issues.ModifyIssues:input_type -> monorail.v3.ModifyIssuesRequest
  1842  	13, // 31: monorail.v3.Issues.ModifyIssueApprovalValues:input_type -> monorail.v3.ModifyIssueApprovalValuesRequest
  1843  	15, // 32: monorail.v3.Issues.ListApprovalValues:input_type -> monorail.v3.ListApprovalValuesRequest
  1844  	17, // 33: monorail.v3.Issues.ModifyCommentState:input_type -> monorail.v3.ModifyCommentStateRequest
  1845  	19, // 34: monorail.v3.Issues.MakeIssueFromTemplate:input_type -> monorail.v3.MakeIssueFromTemplateRequest
  1846  	20, // 35: monorail.v3.Issues.MakeIssue:input_type -> monorail.v3.MakeIssueRequest
  1847  	21, // 36: monorail.v3.Issues.GetIssue:output_type -> monorail.v3.Issue
  1848  	3,  // 37: monorail.v3.Issues.BatchGetIssues:output_type -> monorail.v3.BatchGetIssuesResponse
  1849  	5,  // 38: monorail.v3.Issues.SearchIssues:output_type -> monorail.v3.SearchIssuesResponse
  1850  	7,  // 39: monorail.v3.Issues.ListComments:output_type -> monorail.v3.ListCommentsResponse
  1851  	12, // 40: monorail.v3.Issues.ModifyIssues:output_type -> monorail.v3.ModifyIssuesResponse
  1852  	14, // 41: monorail.v3.Issues.ModifyIssueApprovalValues:output_type -> monorail.v3.ModifyIssueApprovalValuesResponse
  1853  	16, // 42: monorail.v3.Issues.ListApprovalValues:output_type -> monorail.v3.ListApprovalValuesResponse
  1854  	18, // 43: monorail.v3.Issues.ModifyCommentState:output_type -> monorail.v3.ModifyCommentStateResponse
  1855  	21, // 44: monorail.v3.Issues.MakeIssueFromTemplate:output_type -> monorail.v3.Issue
  1856  	21, // 45: monorail.v3.Issues.MakeIssue:output_type -> monorail.v3.Issue
  1857  	36, // [36:46] is the sub-list for method output_type
  1858  	26, // [26:36] is the sub-list for method input_type
  1859  	26, // [26:26] is the sub-list for extension type_name
  1860  	26, // [26:26] is the sub-list for extension extendee
  1861  	0,  // [0:26] is the sub-list for field type_name
  1862  }
  1863  
  1864  func init() { file_go_chromium_org_luci_analysis_internal_bugs_monorail_api_proto_issues_proto_init() }
  1865  func file_go_chromium_org_luci_analysis_internal_bugs_monorail_api_proto_issues_proto_init() {
  1866  	if File_go_chromium_org_luci_analysis_internal_bugs_monorail_api_proto_issues_proto != nil {
  1867  		return
  1868  	}
  1869  	file_go_chromium_org_luci_analysis_internal_bugs_monorail_api_proto_issue_objects_proto_init()
  1870  	if !protoimpl.UnsafeEnabled {
  1871  		file_go_chromium_org_luci_analysis_internal_bugs_monorail_api_proto_issues_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
  1872  			switch v := v.(*GetIssueRequest); i {
  1873  			case 0:
  1874  				return &v.state
  1875  			case 1:
  1876  				return &v.sizeCache
  1877  			case 2:
  1878  				return &v.unknownFields
  1879  			default:
  1880  				return nil
  1881  			}
  1882  		}
  1883  		file_go_chromium_org_luci_analysis_internal_bugs_monorail_api_proto_issues_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
  1884  			switch v := v.(*BatchGetIssuesRequest); i {
  1885  			case 0:
  1886  				return &v.state
  1887  			case 1:
  1888  				return &v.sizeCache
  1889  			case 2:
  1890  				return &v.unknownFields
  1891  			default:
  1892  				return nil
  1893  			}
  1894  		}
  1895  		file_go_chromium_org_luci_analysis_internal_bugs_monorail_api_proto_issues_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
  1896  			switch v := v.(*BatchGetIssuesResponse); i {
  1897  			case 0:
  1898  				return &v.state
  1899  			case 1:
  1900  				return &v.sizeCache
  1901  			case 2:
  1902  				return &v.unknownFields
  1903  			default:
  1904  				return nil
  1905  			}
  1906  		}
  1907  		file_go_chromium_org_luci_analysis_internal_bugs_monorail_api_proto_issues_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
  1908  			switch v := v.(*SearchIssuesRequest); i {
  1909  			case 0:
  1910  				return &v.state
  1911  			case 1:
  1912  				return &v.sizeCache
  1913  			case 2:
  1914  				return &v.unknownFields
  1915  			default:
  1916  				return nil
  1917  			}
  1918  		}
  1919  		file_go_chromium_org_luci_analysis_internal_bugs_monorail_api_proto_issues_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {
  1920  			switch v := v.(*SearchIssuesResponse); i {
  1921  			case 0:
  1922  				return &v.state
  1923  			case 1:
  1924  				return &v.sizeCache
  1925  			case 2:
  1926  				return &v.unknownFields
  1927  			default:
  1928  				return nil
  1929  			}
  1930  		}
  1931  		file_go_chromium_org_luci_analysis_internal_bugs_monorail_api_proto_issues_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} {
  1932  			switch v := v.(*ListCommentsRequest); i {
  1933  			case 0:
  1934  				return &v.state
  1935  			case 1:
  1936  				return &v.sizeCache
  1937  			case 2:
  1938  				return &v.unknownFields
  1939  			default:
  1940  				return nil
  1941  			}
  1942  		}
  1943  		file_go_chromium_org_luci_analysis_internal_bugs_monorail_api_proto_issues_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} {
  1944  			switch v := v.(*ListCommentsResponse); i {
  1945  			case 0:
  1946  				return &v.state
  1947  			case 1:
  1948  				return &v.sizeCache
  1949  			case 2:
  1950  				return &v.unknownFields
  1951  			default:
  1952  				return nil
  1953  			}
  1954  		}
  1955  		file_go_chromium_org_luci_analysis_internal_bugs_monorail_api_proto_issues_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} {
  1956  			switch v := v.(*AttachmentUpload); i {
  1957  			case 0:
  1958  				return &v.state
  1959  			case 1:
  1960  				return &v.sizeCache
  1961  			case 2:
  1962  				return &v.unknownFields
  1963  			default:
  1964  				return nil
  1965  			}
  1966  		}
  1967  		file_go_chromium_org_luci_analysis_internal_bugs_monorail_api_proto_issues_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} {
  1968  			switch v := v.(*IssueDelta); i {
  1969  			case 0:
  1970  				return &v.state
  1971  			case 1:
  1972  				return &v.sizeCache
  1973  			case 2:
  1974  				return &v.unknownFields
  1975  			default:
  1976  				return nil
  1977  			}
  1978  		}
  1979  		file_go_chromium_org_luci_analysis_internal_bugs_monorail_api_proto_issues_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} {
  1980  			switch v := v.(*ApprovalDelta); i {
  1981  			case 0:
  1982  				return &v.state
  1983  			case 1:
  1984  				return &v.sizeCache
  1985  			case 2:
  1986  				return &v.unknownFields
  1987  			default:
  1988  				return nil
  1989  			}
  1990  		}
  1991  		file_go_chromium_org_luci_analysis_internal_bugs_monorail_api_proto_issues_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} {
  1992  			switch v := v.(*ModifyIssuesRequest); i {
  1993  			case 0:
  1994  				return &v.state
  1995  			case 1:
  1996  				return &v.sizeCache
  1997  			case 2:
  1998  				return &v.unknownFields
  1999  			default:
  2000  				return nil
  2001  			}
  2002  		}
  2003  		file_go_chromium_org_luci_analysis_internal_bugs_monorail_api_proto_issues_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} {
  2004  			switch v := v.(*ModifyIssuesResponse); i {
  2005  			case 0:
  2006  				return &v.state
  2007  			case 1:
  2008  				return &v.sizeCache
  2009  			case 2:
  2010  				return &v.unknownFields
  2011  			default:
  2012  				return nil
  2013  			}
  2014  		}
  2015  		file_go_chromium_org_luci_analysis_internal_bugs_monorail_api_proto_issues_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} {
  2016  			switch v := v.(*ModifyIssueApprovalValuesRequest); i {
  2017  			case 0:
  2018  				return &v.state
  2019  			case 1:
  2020  				return &v.sizeCache
  2021  			case 2:
  2022  				return &v.unknownFields
  2023  			default:
  2024  				return nil
  2025  			}
  2026  		}
  2027  		file_go_chromium_org_luci_analysis_internal_bugs_monorail_api_proto_issues_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} {
  2028  			switch v := v.(*ModifyIssueApprovalValuesResponse); i {
  2029  			case 0:
  2030  				return &v.state
  2031  			case 1:
  2032  				return &v.sizeCache
  2033  			case 2:
  2034  				return &v.unknownFields
  2035  			default:
  2036  				return nil
  2037  			}
  2038  		}
  2039  		file_go_chromium_org_luci_analysis_internal_bugs_monorail_api_proto_issues_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} {
  2040  			switch v := v.(*ListApprovalValuesRequest); i {
  2041  			case 0:
  2042  				return &v.state
  2043  			case 1:
  2044  				return &v.sizeCache
  2045  			case 2:
  2046  				return &v.unknownFields
  2047  			default:
  2048  				return nil
  2049  			}
  2050  		}
  2051  		file_go_chromium_org_luci_analysis_internal_bugs_monorail_api_proto_issues_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} {
  2052  			switch v := v.(*ListApprovalValuesResponse); i {
  2053  			case 0:
  2054  				return &v.state
  2055  			case 1:
  2056  				return &v.sizeCache
  2057  			case 2:
  2058  				return &v.unknownFields
  2059  			default:
  2060  				return nil
  2061  			}
  2062  		}
  2063  		file_go_chromium_org_luci_analysis_internal_bugs_monorail_api_proto_issues_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} {
  2064  			switch v := v.(*ModifyCommentStateRequest); i {
  2065  			case 0:
  2066  				return &v.state
  2067  			case 1:
  2068  				return &v.sizeCache
  2069  			case 2:
  2070  				return &v.unknownFields
  2071  			default:
  2072  				return nil
  2073  			}
  2074  		}
  2075  		file_go_chromium_org_luci_analysis_internal_bugs_monorail_api_proto_issues_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} {
  2076  			switch v := v.(*ModifyCommentStateResponse); i {
  2077  			case 0:
  2078  				return &v.state
  2079  			case 1:
  2080  				return &v.sizeCache
  2081  			case 2:
  2082  				return &v.unknownFields
  2083  			default:
  2084  				return nil
  2085  			}
  2086  		}
  2087  		file_go_chromium_org_luci_analysis_internal_bugs_monorail_api_proto_issues_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} {
  2088  			switch v := v.(*MakeIssueFromTemplateRequest); i {
  2089  			case 0:
  2090  				return &v.state
  2091  			case 1:
  2092  				return &v.sizeCache
  2093  			case 2:
  2094  				return &v.unknownFields
  2095  			default:
  2096  				return nil
  2097  			}
  2098  		}
  2099  		file_go_chromium_org_luci_analysis_internal_bugs_monorail_api_proto_issues_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} {
  2100  			switch v := v.(*MakeIssueRequest); i {
  2101  			case 0:
  2102  				return &v.state
  2103  			case 1:
  2104  				return &v.sizeCache
  2105  			case 2:
  2106  				return &v.unknownFields
  2107  			default:
  2108  				return nil
  2109  			}
  2110  		}
  2111  	}
  2112  	type x struct{}
  2113  	out := protoimpl.TypeBuilder{
  2114  		File: protoimpl.DescBuilder{
  2115  			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
  2116  			RawDescriptor: file_go_chromium_org_luci_analysis_internal_bugs_monorail_api_proto_issues_proto_rawDesc,
  2117  			NumEnums:      1,
  2118  			NumMessages:   20,
  2119  			NumExtensions: 0,
  2120  			NumServices:   1,
  2121  		},
  2122  		GoTypes:           file_go_chromium_org_luci_analysis_internal_bugs_monorail_api_proto_issues_proto_goTypes,
  2123  		DependencyIndexes: file_go_chromium_org_luci_analysis_internal_bugs_monorail_api_proto_issues_proto_depIdxs,
  2124  		EnumInfos:         file_go_chromium_org_luci_analysis_internal_bugs_monorail_api_proto_issues_proto_enumTypes,
  2125  		MessageInfos:      file_go_chromium_org_luci_analysis_internal_bugs_monorail_api_proto_issues_proto_msgTypes,
  2126  	}.Build()
  2127  	File_go_chromium_org_luci_analysis_internal_bugs_monorail_api_proto_issues_proto = out.File
  2128  	file_go_chromium_org_luci_analysis_internal_bugs_monorail_api_proto_issues_proto_rawDesc = nil
  2129  	file_go_chromium_org_luci_analysis_internal_bugs_monorail_api_proto_issues_proto_goTypes = nil
  2130  	file_go_chromium_org_luci_analysis_internal_bugs_monorail_api_proto_issues_proto_depIdxs = nil
  2131  }
  2132  
  2133  // Reference imports to suppress errors if they are not otherwise used.
  2134  var _ context.Context
  2135  var _ grpc.ClientConnInterface
  2136  
  2137  // This is a compile-time assertion to ensure that this generated file
  2138  // is compatible with the grpc package it is being compiled against.
  2139  const _ = grpc.SupportPackageIsVersion6
  2140  
  2141  // IssuesClient is the client API for Issues service.
  2142  //
  2143  // For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream.
  2144  type IssuesClient interface {
  2145  	// status: ALPHA
  2146  	// Returns the requested Issue.
  2147  	//
  2148  	// Raises:
  2149  	//
  2150  	//	INVALID_ARGUMENT if `name` is formatted incorrectly.
  2151  	//	NOT_FOUND if the issue does not exist.
  2152  	//	PERMISSION_DENIED if the requester is not allowed to view the issue.
  2153  	GetIssue(ctx context.Context, in *GetIssueRequest, opts ...grpc.CallOption) (*Issue, error)
  2154  	// status: ALPHA
  2155  	// Returns the requested Issues.
  2156  	//
  2157  	// Raises:
  2158  	//
  2159  	//	INVALID_ARGUMENT if `names` is formatted incorrectly. Or if a parent
  2160  	//	    collection in `names` does not match the value in `parent`.
  2161  	//	NOT_FOUND if any of the given issues do not exist.
  2162  	//	PERMISSION_DENIED if the requester does not have permission to view one
  2163  	//	    (or more) of the given issues.
  2164  	BatchGetIssues(ctx context.Context, in *BatchGetIssuesRequest, opts ...grpc.CallOption) (*BatchGetIssuesResponse, error)
  2165  	// status: ALPHA
  2166  	// Searches over issues within the specified projects.
  2167  	//
  2168  	// Raises:
  2169  	//
  2170  	//	INVALID_ARGUMENT if project names or search query are invalid.
  2171  	SearchIssues(ctx context.Context, in *SearchIssuesRequest, opts ...grpc.CallOption) (*SearchIssuesResponse, error)
  2172  	// status: ALPHA
  2173  	// Lists comments for an issue.
  2174  	//
  2175  	// Raises:
  2176  	//
  2177  	//	INVALID_ARGUMENT if `parent` is formatted incorrectly or `page_size` < 0.
  2178  	//	NOT_FOUND if `parent` does not exist.
  2179  	//	PERMISSION_DENIED if the requester is not allowed to view `parent`.
  2180  	ListComments(ctx context.Context, in *ListCommentsRequest, opts ...grpc.CallOption) (*ListCommentsResponse, error)
  2181  	// status: ALPHA
  2182  	// Modifies Issues and creates a new Comment for each.
  2183  	// Issues with NOOP changes and no comment_content will not be updated
  2184  	// and will not be included in the response.
  2185  	// We do not offer a standard UpdateIssue because every issue change
  2186  	// must result in the side-effect of creating a new Comment, and may result in
  2187  	// the side effect of sending a notification. We also want to allow for any
  2188  	// combination of issue changes to be made at once in a monolithic method.
  2189  	//
  2190  	// Raises:
  2191  	//
  2192  	//	INVALID_ARGUMENT required fields are missing or fields are formatted
  2193  	//	  incorrectly.
  2194  	//	NOT_FOUND if any specified issues are not found.
  2195  	//	PERMISSION_DENIED if the requester is not allowed to make the
  2196  	//	  requested change.
  2197  	ModifyIssues(ctx context.Context, in *ModifyIssuesRequest, opts ...grpc.CallOption) (*ModifyIssuesResponse, error)
  2198  	// status: ALPHA
  2199  	// Modifies ApprovalValues and creates a new Comment for each delta.
  2200  	// We do not offer a standard UpdateApprovalValue because changes result
  2201  	// in creating Comments on the parent Issue, and may have the side effect of
  2202  	// sending notifications. We also want to allow for any combination of
  2203  	// approval changes to be made at once in a monolithic method.
  2204  	// To modify owner add 'owner' to update_mask, though 'owner.user' works too.
  2205  	//
  2206  	// Raises:
  2207  	//
  2208  	//	INVALID_ARGUMENT required fields are missing or fields are formatted
  2209  	//	  incorrectly.
  2210  	//	NOT_FOUND if any specified ApprovalValues are not found.
  2211  	//	PERMISSION_DENIED if the requester is not allowed to make any of the
  2212  	//	  requested changes.
  2213  	ModifyIssueApprovalValues(ctx context.Context, in *ModifyIssueApprovalValuesRequest, opts ...grpc.CallOption) (*ModifyIssueApprovalValuesResponse, error)
  2214  	// status: ALPHA
  2215  	// Lists approval values for an issue.
  2216  	//
  2217  	// Raises:
  2218  	//
  2219  	//	INVALID_ARGUMENT if request `parent` is formatted incorrectly.
  2220  	//	NOT_FOUND if the parent issue does not exist.
  2221  	//	PERMISSION_DENIED if the requester is not allowed to view parent issue.
  2222  	ListApprovalValues(ctx context.Context, in *ListApprovalValuesRequest, opts ...grpc.CallOption) (*ListApprovalValuesResponse, error)
  2223  	// status: NOT READY
  2224  	// Changes state for a comment. Supported state transitions:
  2225  	//   - ACTIVE -> DELETED
  2226  	//   - ACTIVE -> SPAM
  2227  	//   - DELETED -> ACTIVE
  2228  	//   - SPAM -> ACTIVE
  2229  	//
  2230  	// Raises:
  2231  	//
  2232  	//	TODO(crbug/monorail/7867): Document errors when implemented
  2233  	ModifyCommentState(ctx context.Context, in *ModifyCommentStateRequest, opts ...grpc.CallOption) (*ModifyCommentStateResponse, error)
  2234  	// status: NOT READY
  2235  	// Makes an issue from an IssueTemplate and deltas.
  2236  	//
  2237  	// Raises:
  2238  	//
  2239  	//	TODO(crbug/monorail/7197): Document errors when implemented
  2240  	MakeIssueFromTemplate(ctx context.Context, in *MakeIssueFromTemplateRequest, opts ...grpc.CallOption) (*Issue, error)
  2241  	// status: ALPHA
  2242  	// Makes a basic issue, does not support phases, approvals, or approval
  2243  	// fields.
  2244  	// We do not offer a standard CreateIssue because Issue descriptions are
  2245  	// required, but not included in the Issue proto.
  2246  	//
  2247  	// Raises:
  2248  	//
  2249  	//	INVALID_ARGUMENT if any given names does not have a valid format, if any
  2250  	//	  fields in the requested issue were invalid, or if proposed values
  2251  	//	  violates filter rules that should error.
  2252  	//	NOT_FOUND if no project exists with the given name.
  2253  	//	PERMISSION_DENIED if user lacks sufficient permissions.
  2254  	MakeIssue(ctx context.Context, in *MakeIssueRequest, opts ...grpc.CallOption) (*Issue, error)
  2255  }
  2256  type issuesPRPCClient struct {
  2257  	client *prpc.Client
  2258  }
  2259  
  2260  func NewIssuesPRPCClient(client *prpc.Client) IssuesClient {
  2261  	return &issuesPRPCClient{client}
  2262  }
  2263  
  2264  func (c *issuesPRPCClient) GetIssue(ctx context.Context, in *GetIssueRequest, opts ...grpc.CallOption) (*Issue, error) {
  2265  	out := new(Issue)
  2266  	err := c.client.Call(ctx, "monorail.v3.Issues", "GetIssue", in, out, opts...)
  2267  	if err != nil {
  2268  		return nil, err
  2269  	}
  2270  	return out, nil
  2271  }
  2272  
  2273  func (c *issuesPRPCClient) BatchGetIssues(ctx context.Context, in *BatchGetIssuesRequest, opts ...grpc.CallOption) (*BatchGetIssuesResponse, error) {
  2274  	out := new(BatchGetIssuesResponse)
  2275  	err := c.client.Call(ctx, "monorail.v3.Issues", "BatchGetIssues", in, out, opts...)
  2276  	if err != nil {
  2277  		return nil, err
  2278  	}
  2279  	return out, nil
  2280  }
  2281  
  2282  func (c *issuesPRPCClient) SearchIssues(ctx context.Context, in *SearchIssuesRequest, opts ...grpc.CallOption) (*SearchIssuesResponse, error) {
  2283  	out := new(SearchIssuesResponse)
  2284  	err := c.client.Call(ctx, "monorail.v3.Issues", "SearchIssues", in, out, opts...)
  2285  	if err != nil {
  2286  		return nil, err
  2287  	}
  2288  	return out, nil
  2289  }
  2290  
  2291  func (c *issuesPRPCClient) ListComments(ctx context.Context, in *ListCommentsRequest, opts ...grpc.CallOption) (*ListCommentsResponse, error) {
  2292  	out := new(ListCommentsResponse)
  2293  	err := c.client.Call(ctx, "monorail.v3.Issues", "ListComments", in, out, opts...)
  2294  	if err != nil {
  2295  		return nil, err
  2296  	}
  2297  	return out, nil
  2298  }
  2299  
  2300  func (c *issuesPRPCClient) ModifyIssues(ctx context.Context, in *ModifyIssuesRequest, opts ...grpc.CallOption) (*ModifyIssuesResponse, error) {
  2301  	out := new(ModifyIssuesResponse)
  2302  	err := c.client.Call(ctx, "monorail.v3.Issues", "ModifyIssues", in, out, opts...)
  2303  	if err != nil {
  2304  		return nil, err
  2305  	}
  2306  	return out, nil
  2307  }
  2308  
  2309  func (c *issuesPRPCClient) ModifyIssueApprovalValues(ctx context.Context, in *ModifyIssueApprovalValuesRequest, opts ...grpc.CallOption) (*ModifyIssueApprovalValuesResponse, error) {
  2310  	out := new(ModifyIssueApprovalValuesResponse)
  2311  	err := c.client.Call(ctx, "monorail.v3.Issues", "ModifyIssueApprovalValues", in, out, opts...)
  2312  	if err != nil {
  2313  		return nil, err
  2314  	}
  2315  	return out, nil
  2316  }
  2317  
  2318  func (c *issuesPRPCClient) ListApprovalValues(ctx context.Context, in *ListApprovalValuesRequest, opts ...grpc.CallOption) (*ListApprovalValuesResponse, error) {
  2319  	out := new(ListApprovalValuesResponse)
  2320  	err := c.client.Call(ctx, "monorail.v3.Issues", "ListApprovalValues", in, out, opts...)
  2321  	if err != nil {
  2322  		return nil, err
  2323  	}
  2324  	return out, nil
  2325  }
  2326  
  2327  func (c *issuesPRPCClient) ModifyCommentState(ctx context.Context, in *ModifyCommentStateRequest, opts ...grpc.CallOption) (*ModifyCommentStateResponse, error) {
  2328  	out := new(ModifyCommentStateResponse)
  2329  	err := c.client.Call(ctx, "monorail.v3.Issues", "ModifyCommentState", in, out, opts...)
  2330  	if err != nil {
  2331  		return nil, err
  2332  	}
  2333  	return out, nil
  2334  }
  2335  
  2336  func (c *issuesPRPCClient) MakeIssueFromTemplate(ctx context.Context, in *MakeIssueFromTemplateRequest, opts ...grpc.CallOption) (*Issue, error) {
  2337  	out := new(Issue)
  2338  	err := c.client.Call(ctx, "monorail.v3.Issues", "MakeIssueFromTemplate", in, out, opts...)
  2339  	if err != nil {
  2340  		return nil, err
  2341  	}
  2342  	return out, nil
  2343  }
  2344  
  2345  func (c *issuesPRPCClient) MakeIssue(ctx context.Context, in *MakeIssueRequest, opts ...grpc.CallOption) (*Issue, error) {
  2346  	out := new(Issue)
  2347  	err := c.client.Call(ctx, "monorail.v3.Issues", "MakeIssue", in, out, opts...)
  2348  	if err != nil {
  2349  		return nil, err
  2350  	}
  2351  	return out, nil
  2352  }
  2353  
  2354  type issuesClient struct {
  2355  	cc grpc.ClientConnInterface
  2356  }
  2357  
  2358  func NewIssuesClient(cc grpc.ClientConnInterface) IssuesClient {
  2359  	return &issuesClient{cc}
  2360  }
  2361  
  2362  func (c *issuesClient) GetIssue(ctx context.Context, in *GetIssueRequest, opts ...grpc.CallOption) (*Issue, error) {
  2363  	out := new(Issue)
  2364  	err := c.cc.Invoke(ctx, "/monorail.v3.Issues/GetIssue", in, out, opts...)
  2365  	if err != nil {
  2366  		return nil, err
  2367  	}
  2368  	return out, nil
  2369  }
  2370  
  2371  func (c *issuesClient) BatchGetIssues(ctx context.Context, in *BatchGetIssuesRequest, opts ...grpc.CallOption) (*BatchGetIssuesResponse, error) {
  2372  	out := new(BatchGetIssuesResponse)
  2373  	err := c.cc.Invoke(ctx, "/monorail.v3.Issues/BatchGetIssues", in, out, opts...)
  2374  	if err != nil {
  2375  		return nil, err
  2376  	}
  2377  	return out, nil
  2378  }
  2379  
  2380  func (c *issuesClient) SearchIssues(ctx context.Context, in *SearchIssuesRequest, opts ...grpc.CallOption) (*SearchIssuesResponse, error) {
  2381  	out := new(SearchIssuesResponse)
  2382  	err := c.cc.Invoke(ctx, "/monorail.v3.Issues/SearchIssues", in, out, opts...)
  2383  	if err != nil {
  2384  		return nil, err
  2385  	}
  2386  	return out, nil
  2387  }
  2388  
  2389  func (c *issuesClient) ListComments(ctx context.Context, in *ListCommentsRequest, opts ...grpc.CallOption) (*ListCommentsResponse, error) {
  2390  	out := new(ListCommentsResponse)
  2391  	err := c.cc.Invoke(ctx, "/monorail.v3.Issues/ListComments", in, out, opts...)
  2392  	if err != nil {
  2393  		return nil, err
  2394  	}
  2395  	return out, nil
  2396  }
  2397  
  2398  func (c *issuesClient) ModifyIssues(ctx context.Context, in *ModifyIssuesRequest, opts ...grpc.CallOption) (*ModifyIssuesResponse, error) {
  2399  	out := new(ModifyIssuesResponse)
  2400  	err := c.cc.Invoke(ctx, "/monorail.v3.Issues/ModifyIssues", in, out, opts...)
  2401  	if err != nil {
  2402  		return nil, err
  2403  	}
  2404  	return out, nil
  2405  }
  2406  
  2407  func (c *issuesClient) ModifyIssueApprovalValues(ctx context.Context, in *ModifyIssueApprovalValuesRequest, opts ...grpc.CallOption) (*ModifyIssueApprovalValuesResponse, error) {
  2408  	out := new(ModifyIssueApprovalValuesResponse)
  2409  	err := c.cc.Invoke(ctx, "/monorail.v3.Issues/ModifyIssueApprovalValues", in, out, opts...)
  2410  	if err != nil {
  2411  		return nil, err
  2412  	}
  2413  	return out, nil
  2414  }
  2415  
  2416  func (c *issuesClient) ListApprovalValues(ctx context.Context, in *ListApprovalValuesRequest, opts ...grpc.CallOption) (*ListApprovalValuesResponse, error) {
  2417  	out := new(ListApprovalValuesResponse)
  2418  	err := c.cc.Invoke(ctx, "/monorail.v3.Issues/ListApprovalValues", in, out, opts...)
  2419  	if err != nil {
  2420  		return nil, err
  2421  	}
  2422  	return out, nil
  2423  }
  2424  
  2425  func (c *issuesClient) ModifyCommentState(ctx context.Context, in *ModifyCommentStateRequest, opts ...grpc.CallOption) (*ModifyCommentStateResponse, error) {
  2426  	out := new(ModifyCommentStateResponse)
  2427  	err := c.cc.Invoke(ctx, "/monorail.v3.Issues/ModifyCommentState", in, out, opts...)
  2428  	if err != nil {
  2429  		return nil, err
  2430  	}
  2431  	return out, nil
  2432  }
  2433  
  2434  func (c *issuesClient) MakeIssueFromTemplate(ctx context.Context, in *MakeIssueFromTemplateRequest, opts ...grpc.CallOption) (*Issue, error) {
  2435  	out := new(Issue)
  2436  	err := c.cc.Invoke(ctx, "/monorail.v3.Issues/MakeIssueFromTemplate", in, out, opts...)
  2437  	if err != nil {
  2438  		return nil, err
  2439  	}
  2440  	return out, nil
  2441  }
  2442  
  2443  func (c *issuesClient) MakeIssue(ctx context.Context, in *MakeIssueRequest, opts ...grpc.CallOption) (*Issue, error) {
  2444  	out := new(Issue)
  2445  	err := c.cc.Invoke(ctx, "/monorail.v3.Issues/MakeIssue", in, out, opts...)
  2446  	if err != nil {
  2447  		return nil, err
  2448  	}
  2449  	return out, nil
  2450  }
  2451  
  2452  // IssuesServer is the server API for Issues service.
  2453  type IssuesServer interface {
  2454  	// status: ALPHA
  2455  	// Returns the requested Issue.
  2456  	//
  2457  	// Raises:
  2458  	//
  2459  	//	INVALID_ARGUMENT if `name` is formatted incorrectly.
  2460  	//	NOT_FOUND if the issue does not exist.
  2461  	//	PERMISSION_DENIED if the requester is not allowed to view the issue.
  2462  	GetIssue(context.Context, *GetIssueRequest) (*Issue, error)
  2463  	// status: ALPHA
  2464  	// Returns the requested Issues.
  2465  	//
  2466  	// Raises:
  2467  	//
  2468  	//	INVALID_ARGUMENT if `names` is formatted incorrectly. Or if a parent
  2469  	//	    collection in `names` does not match the value in `parent`.
  2470  	//	NOT_FOUND if any of the given issues do not exist.
  2471  	//	PERMISSION_DENIED if the requester does not have permission to view one
  2472  	//	    (or more) of the given issues.
  2473  	BatchGetIssues(context.Context, *BatchGetIssuesRequest) (*BatchGetIssuesResponse, error)
  2474  	// status: ALPHA
  2475  	// Searches over issues within the specified projects.
  2476  	//
  2477  	// Raises:
  2478  	//
  2479  	//	INVALID_ARGUMENT if project names or search query are invalid.
  2480  	SearchIssues(context.Context, *SearchIssuesRequest) (*SearchIssuesResponse, error)
  2481  	// status: ALPHA
  2482  	// Lists comments for an issue.
  2483  	//
  2484  	// Raises:
  2485  	//
  2486  	//	INVALID_ARGUMENT if `parent` is formatted incorrectly or `page_size` < 0.
  2487  	//	NOT_FOUND if `parent` does not exist.
  2488  	//	PERMISSION_DENIED if the requester is not allowed to view `parent`.
  2489  	ListComments(context.Context, *ListCommentsRequest) (*ListCommentsResponse, error)
  2490  	// status: ALPHA
  2491  	// Modifies Issues and creates a new Comment for each.
  2492  	// Issues with NOOP changes and no comment_content will not be updated
  2493  	// and will not be included in the response.
  2494  	// We do not offer a standard UpdateIssue because every issue change
  2495  	// must result in the side-effect of creating a new Comment, and may result in
  2496  	// the side effect of sending a notification. We also want to allow for any
  2497  	// combination of issue changes to be made at once in a monolithic method.
  2498  	//
  2499  	// Raises:
  2500  	//
  2501  	//	INVALID_ARGUMENT required fields are missing or fields are formatted
  2502  	//	  incorrectly.
  2503  	//	NOT_FOUND if any specified issues are not found.
  2504  	//	PERMISSION_DENIED if the requester is not allowed to make the
  2505  	//	  requested change.
  2506  	ModifyIssues(context.Context, *ModifyIssuesRequest) (*ModifyIssuesResponse, error)
  2507  	// status: ALPHA
  2508  	// Modifies ApprovalValues and creates a new Comment for each delta.
  2509  	// We do not offer a standard UpdateApprovalValue because changes result
  2510  	// in creating Comments on the parent Issue, and may have the side effect of
  2511  	// sending notifications. We also want to allow for any combination of
  2512  	// approval changes to be made at once in a monolithic method.
  2513  	// To modify owner add 'owner' to update_mask, though 'owner.user' works too.
  2514  	//
  2515  	// Raises:
  2516  	//
  2517  	//	INVALID_ARGUMENT required fields are missing or fields are formatted
  2518  	//	  incorrectly.
  2519  	//	NOT_FOUND if any specified ApprovalValues are not found.
  2520  	//	PERMISSION_DENIED if the requester is not allowed to make any of the
  2521  	//	  requested changes.
  2522  	ModifyIssueApprovalValues(context.Context, *ModifyIssueApprovalValuesRequest) (*ModifyIssueApprovalValuesResponse, error)
  2523  	// status: ALPHA
  2524  	// Lists approval values for an issue.
  2525  	//
  2526  	// Raises:
  2527  	//
  2528  	//	INVALID_ARGUMENT if request `parent` is formatted incorrectly.
  2529  	//	NOT_FOUND if the parent issue does not exist.
  2530  	//	PERMISSION_DENIED if the requester is not allowed to view parent issue.
  2531  	ListApprovalValues(context.Context, *ListApprovalValuesRequest) (*ListApprovalValuesResponse, error)
  2532  	// status: NOT READY
  2533  	// Changes state for a comment. Supported state transitions:
  2534  	//   - ACTIVE -> DELETED
  2535  	//   - ACTIVE -> SPAM
  2536  	//   - DELETED -> ACTIVE
  2537  	//   - SPAM -> ACTIVE
  2538  	//
  2539  	// Raises:
  2540  	//
  2541  	//	TODO(crbug/monorail/7867): Document errors when implemented
  2542  	ModifyCommentState(context.Context, *ModifyCommentStateRequest) (*ModifyCommentStateResponse, error)
  2543  	// status: NOT READY
  2544  	// Makes an issue from an IssueTemplate and deltas.
  2545  	//
  2546  	// Raises:
  2547  	//
  2548  	//	TODO(crbug/monorail/7197): Document errors when implemented
  2549  	MakeIssueFromTemplate(context.Context, *MakeIssueFromTemplateRequest) (*Issue, error)
  2550  	// status: ALPHA
  2551  	// Makes a basic issue, does not support phases, approvals, or approval
  2552  	// fields.
  2553  	// We do not offer a standard CreateIssue because Issue descriptions are
  2554  	// required, but not included in the Issue proto.
  2555  	//
  2556  	// Raises:
  2557  	//
  2558  	//	INVALID_ARGUMENT if any given names does not have a valid format, if any
  2559  	//	  fields in the requested issue were invalid, or if proposed values
  2560  	//	  violates filter rules that should error.
  2561  	//	NOT_FOUND if no project exists with the given name.
  2562  	//	PERMISSION_DENIED if user lacks sufficient permissions.
  2563  	MakeIssue(context.Context, *MakeIssueRequest) (*Issue, error)
  2564  }
  2565  
  2566  // UnimplementedIssuesServer can be embedded to have forward compatible implementations.
  2567  type UnimplementedIssuesServer struct {
  2568  }
  2569  
  2570  func (*UnimplementedIssuesServer) GetIssue(context.Context, *GetIssueRequest) (*Issue, error) {
  2571  	return nil, status.Errorf(codes.Unimplemented, "method GetIssue not implemented")
  2572  }
  2573  func (*UnimplementedIssuesServer) BatchGetIssues(context.Context, *BatchGetIssuesRequest) (*BatchGetIssuesResponse, error) {
  2574  	return nil, status.Errorf(codes.Unimplemented, "method BatchGetIssues not implemented")
  2575  }
  2576  func (*UnimplementedIssuesServer) SearchIssues(context.Context, *SearchIssuesRequest) (*SearchIssuesResponse, error) {
  2577  	return nil, status.Errorf(codes.Unimplemented, "method SearchIssues not implemented")
  2578  }
  2579  func (*UnimplementedIssuesServer) ListComments(context.Context, *ListCommentsRequest) (*ListCommentsResponse, error) {
  2580  	return nil, status.Errorf(codes.Unimplemented, "method ListComments not implemented")
  2581  }
  2582  func (*UnimplementedIssuesServer) ModifyIssues(context.Context, *ModifyIssuesRequest) (*ModifyIssuesResponse, error) {
  2583  	return nil, status.Errorf(codes.Unimplemented, "method ModifyIssues not implemented")
  2584  }
  2585  func (*UnimplementedIssuesServer) ModifyIssueApprovalValues(context.Context, *ModifyIssueApprovalValuesRequest) (*ModifyIssueApprovalValuesResponse, error) {
  2586  	return nil, status.Errorf(codes.Unimplemented, "method ModifyIssueApprovalValues not implemented")
  2587  }
  2588  func (*UnimplementedIssuesServer) ListApprovalValues(context.Context, *ListApprovalValuesRequest) (*ListApprovalValuesResponse, error) {
  2589  	return nil, status.Errorf(codes.Unimplemented, "method ListApprovalValues not implemented")
  2590  }
  2591  func (*UnimplementedIssuesServer) ModifyCommentState(context.Context, *ModifyCommentStateRequest) (*ModifyCommentStateResponse, error) {
  2592  	return nil, status.Errorf(codes.Unimplemented, "method ModifyCommentState not implemented")
  2593  }
  2594  func (*UnimplementedIssuesServer) MakeIssueFromTemplate(context.Context, *MakeIssueFromTemplateRequest) (*Issue, error) {
  2595  	return nil, status.Errorf(codes.Unimplemented, "method MakeIssueFromTemplate not implemented")
  2596  }
  2597  func (*UnimplementedIssuesServer) MakeIssue(context.Context, *MakeIssueRequest) (*Issue, error) {
  2598  	return nil, status.Errorf(codes.Unimplemented, "method MakeIssue not implemented")
  2599  }
  2600  
  2601  func RegisterIssuesServer(s prpc.Registrar, srv IssuesServer) {
  2602  	s.RegisterService(&_Issues_serviceDesc, srv)
  2603  }
  2604  
  2605  func _Issues_GetIssue_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
  2606  	in := new(GetIssueRequest)
  2607  	if err := dec(in); err != nil {
  2608  		return nil, err
  2609  	}
  2610  	if interceptor == nil {
  2611  		return srv.(IssuesServer).GetIssue(ctx, in)
  2612  	}
  2613  	info := &grpc.UnaryServerInfo{
  2614  		Server:     srv,
  2615  		FullMethod: "/monorail.v3.Issues/GetIssue",
  2616  	}
  2617  	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
  2618  		return srv.(IssuesServer).GetIssue(ctx, req.(*GetIssueRequest))
  2619  	}
  2620  	return interceptor(ctx, in, info, handler)
  2621  }
  2622  
  2623  func _Issues_BatchGetIssues_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
  2624  	in := new(BatchGetIssuesRequest)
  2625  	if err := dec(in); err != nil {
  2626  		return nil, err
  2627  	}
  2628  	if interceptor == nil {
  2629  		return srv.(IssuesServer).BatchGetIssues(ctx, in)
  2630  	}
  2631  	info := &grpc.UnaryServerInfo{
  2632  		Server:     srv,
  2633  		FullMethod: "/monorail.v3.Issues/BatchGetIssues",
  2634  	}
  2635  	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
  2636  		return srv.(IssuesServer).BatchGetIssues(ctx, req.(*BatchGetIssuesRequest))
  2637  	}
  2638  	return interceptor(ctx, in, info, handler)
  2639  }
  2640  
  2641  func _Issues_SearchIssues_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
  2642  	in := new(SearchIssuesRequest)
  2643  	if err := dec(in); err != nil {
  2644  		return nil, err
  2645  	}
  2646  	if interceptor == nil {
  2647  		return srv.(IssuesServer).SearchIssues(ctx, in)
  2648  	}
  2649  	info := &grpc.UnaryServerInfo{
  2650  		Server:     srv,
  2651  		FullMethod: "/monorail.v3.Issues/SearchIssues",
  2652  	}
  2653  	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
  2654  		return srv.(IssuesServer).SearchIssues(ctx, req.(*SearchIssuesRequest))
  2655  	}
  2656  	return interceptor(ctx, in, info, handler)
  2657  }
  2658  
  2659  func _Issues_ListComments_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
  2660  	in := new(ListCommentsRequest)
  2661  	if err := dec(in); err != nil {
  2662  		return nil, err
  2663  	}
  2664  	if interceptor == nil {
  2665  		return srv.(IssuesServer).ListComments(ctx, in)
  2666  	}
  2667  	info := &grpc.UnaryServerInfo{
  2668  		Server:     srv,
  2669  		FullMethod: "/monorail.v3.Issues/ListComments",
  2670  	}
  2671  	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
  2672  		return srv.(IssuesServer).ListComments(ctx, req.(*ListCommentsRequest))
  2673  	}
  2674  	return interceptor(ctx, in, info, handler)
  2675  }
  2676  
  2677  func _Issues_ModifyIssues_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
  2678  	in := new(ModifyIssuesRequest)
  2679  	if err := dec(in); err != nil {
  2680  		return nil, err
  2681  	}
  2682  	if interceptor == nil {
  2683  		return srv.(IssuesServer).ModifyIssues(ctx, in)
  2684  	}
  2685  	info := &grpc.UnaryServerInfo{
  2686  		Server:     srv,
  2687  		FullMethod: "/monorail.v3.Issues/ModifyIssues",
  2688  	}
  2689  	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
  2690  		return srv.(IssuesServer).ModifyIssues(ctx, req.(*ModifyIssuesRequest))
  2691  	}
  2692  	return interceptor(ctx, in, info, handler)
  2693  }
  2694  
  2695  func _Issues_ModifyIssueApprovalValues_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
  2696  	in := new(ModifyIssueApprovalValuesRequest)
  2697  	if err := dec(in); err != nil {
  2698  		return nil, err
  2699  	}
  2700  	if interceptor == nil {
  2701  		return srv.(IssuesServer).ModifyIssueApprovalValues(ctx, in)
  2702  	}
  2703  	info := &grpc.UnaryServerInfo{
  2704  		Server:     srv,
  2705  		FullMethod: "/monorail.v3.Issues/ModifyIssueApprovalValues",
  2706  	}
  2707  	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
  2708  		return srv.(IssuesServer).ModifyIssueApprovalValues(ctx, req.(*ModifyIssueApprovalValuesRequest))
  2709  	}
  2710  	return interceptor(ctx, in, info, handler)
  2711  }
  2712  
  2713  func _Issues_ListApprovalValues_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
  2714  	in := new(ListApprovalValuesRequest)
  2715  	if err := dec(in); err != nil {
  2716  		return nil, err
  2717  	}
  2718  	if interceptor == nil {
  2719  		return srv.(IssuesServer).ListApprovalValues(ctx, in)
  2720  	}
  2721  	info := &grpc.UnaryServerInfo{
  2722  		Server:     srv,
  2723  		FullMethod: "/monorail.v3.Issues/ListApprovalValues",
  2724  	}
  2725  	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
  2726  		return srv.(IssuesServer).ListApprovalValues(ctx, req.(*ListApprovalValuesRequest))
  2727  	}
  2728  	return interceptor(ctx, in, info, handler)
  2729  }
  2730  
  2731  func _Issues_ModifyCommentState_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
  2732  	in := new(ModifyCommentStateRequest)
  2733  	if err := dec(in); err != nil {
  2734  		return nil, err
  2735  	}
  2736  	if interceptor == nil {
  2737  		return srv.(IssuesServer).ModifyCommentState(ctx, in)
  2738  	}
  2739  	info := &grpc.UnaryServerInfo{
  2740  		Server:     srv,
  2741  		FullMethod: "/monorail.v3.Issues/ModifyCommentState",
  2742  	}
  2743  	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
  2744  		return srv.(IssuesServer).ModifyCommentState(ctx, req.(*ModifyCommentStateRequest))
  2745  	}
  2746  	return interceptor(ctx, in, info, handler)
  2747  }
  2748  
  2749  func _Issues_MakeIssueFromTemplate_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
  2750  	in := new(MakeIssueFromTemplateRequest)
  2751  	if err := dec(in); err != nil {
  2752  		return nil, err
  2753  	}
  2754  	if interceptor == nil {
  2755  		return srv.(IssuesServer).MakeIssueFromTemplate(ctx, in)
  2756  	}
  2757  	info := &grpc.UnaryServerInfo{
  2758  		Server:     srv,
  2759  		FullMethod: "/monorail.v3.Issues/MakeIssueFromTemplate",
  2760  	}
  2761  	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
  2762  		return srv.(IssuesServer).MakeIssueFromTemplate(ctx, req.(*MakeIssueFromTemplateRequest))
  2763  	}
  2764  	return interceptor(ctx, in, info, handler)
  2765  }
  2766  
  2767  func _Issues_MakeIssue_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
  2768  	in := new(MakeIssueRequest)
  2769  	if err := dec(in); err != nil {
  2770  		return nil, err
  2771  	}
  2772  	if interceptor == nil {
  2773  		return srv.(IssuesServer).MakeIssue(ctx, in)
  2774  	}
  2775  	info := &grpc.UnaryServerInfo{
  2776  		Server:     srv,
  2777  		FullMethod: "/monorail.v3.Issues/MakeIssue",
  2778  	}
  2779  	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
  2780  		return srv.(IssuesServer).MakeIssue(ctx, req.(*MakeIssueRequest))
  2781  	}
  2782  	return interceptor(ctx, in, info, handler)
  2783  }
  2784  
  2785  var _Issues_serviceDesc = grpc.ServiceDesc{
  2786  	ServiceName: "monorail.v3.Issues",
  2787  	HandlerType: (*IssuesServer)(nil),
  2788  	Methods: []grpc.MethodDesc{
  2789  		{
  2790  			MethodName: "GetIssue",
  2791  			Handler:    _Issues_GetIssue_Handler,
  2792  		},
  2793  		{
  2794  			MethodName: "BatchGetIssues",
  2795  			Handler:    _Issues_BatchGetIssues_Handler,
  2796  		},
  2797  		{
  2798  			MethodName: "SearchIssues",
  2799  			Handler:    _Issues_SearchIssues_Handler,
  2800  		},
  2801  		{
  2802  			MethodName: "ListComments",
  2803  			Handler:    _Issues_ListComments_Handler,
  2804  		},
  2805  		{
  2806  			MethodName: "ModifyIssues",
  2807  			Handler:    _Issues_ModifyIssues_Handler,
  2808  		},
  2809  		{
  2810  			MethodName: "ModifyIssueApprovalValues",
  2811  			Handler:    _Issues_ModifyIssueApprovalValues_Handler,
  2812  		},
  2813  		{
  2814  			MethodName: "ListApprovalValues",
  2815  			Handler:    _Issues_ListApprovalValues_Handler,
  2816  		},
  2817  		{
  2818  			MethodName: "ModifyCommentState",
  2819  			Handler:    _Issues_ModifyCommentState_Handler,
  2820  		},
  2821  		{
  2822  			MethodName: "MakeIssueFromTemplate",
  2823  			Handler:    _Issues_MakeIssueFromTemplate_Handler,
  2824  		},
  2825  		{
  2826  			MethodName: "MakeIssue",
  2827  			Handler:    _Issues_MakeIssue_Handler,
  2828  		},
  2829  	},
  2830  	Streams:  []grpc.StreamDesc{},
  2831  	Metadata: "go.chromium.org/luci/analysis/internal/bugs/monorail/api_proto/issues.proto",
  2832  }