github.com/authzed/spicedb@v1.32.1-0.20240520085336-ebda56537386/pkg/proto/dispatch/v1/dispatch.pb.go (about)

     1  // Code generated by protoc-gen-go. DO NOT EDIT.
     2  // versions:
     3  // 	protoc-gen-go v1.33.0
     4  // 	protoc        (unknown)
     5  // source: dispatch/v1/dispatch.proto
     6  
     7  package dispatchv1
     8  
     9  import (
    10  	v1 "github.com/authzed/spicedb/pkg/proto/core/v1"
    11  	_ "github.com/envoyproxy/protoc-gen-validate/validate"
    12  	protoreflect "google.golang.org/protobuf/reflect/protoreflect"
    13  	protoimpl "google.golang.org/protobuf/runtime/protoimpl"
    14  	durationpb "google.golang.org/protobuf/types/known/durationpb"
    15  	structpb "google.golang.org/protobuf/types/known/structpb"
    16  	reflect "reflect"
    17  	sync "sync"
    18  )
    19  
    20  const (
    21  	// Verify that this generated code is sufficiently up-to-date.
    22  	_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
    23  	// Verify that runtime/protoimpl is sufficiently up-to-date.
    24  	_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
    25  )
    26  
    27  type DispatchCheckRequest_DebugSetting int32
    28  
    29  const (
    30  	DispatchCheckRequest_NO_DEBUG               DispatchCheckRequest_DebugSetting = 0
    31  	DispatchCheckRequest_ENABLE_BASIC_DEBUGGING DispatchCheckRequest_DebugSetting = 1
    32  	DispatchCheckRequest_ENABLE_TRACE_DEBUGGING DispatchCheckRequest_DebugSetting = 2
    33  )
    34  
    35  // Enum value maps for DispatchCheckRequest_DebugSetting.
    36  var (
    37  	DispatchCheckRequest_DebugSetting_name = map[int32]string{
    38  		0: "NO_DEBUG",
    39  		1: "ENABLE_BASIC_DEBUGGING",
    40  		2: "ENABLE_TRACE_DEBUGGING",
    41  	}
    42  	DispatchCheckRequest_DebugSetting_value = map[string]int32{
    43  		"NO_DEBUG":               0,
    44  		"ENABLE_BASIC_DEBUGGING": 1,
    45  		"ENABLE_TRACE_DEBUGGING": 2,
    46  	}
    47  )
    48  
    49  func (x DispatchCheckRequest_DebugSetting) Enum() *DispatchCheckRequest_DebugSetting {
    50  	p := new(DispatchCheckRequest_DebugSetting)
    51  	*p = x
    52  	return p
    53  }
    54  
    55  func (x DispatchCheckRequest_DebugSetting) String() string {
    56  	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
    57  }
    58  
    59  func (DispatchCheckRequest_DebugSetting) Descriptor() protoreflect.EnumDescriptor {
    60  	return file_dispatch_v1_dispatch_proto_enumTypes[0].Descriptor()
    61  }
    62  
    63  func (DispatchCheckRequest_DebugSetting) Type() protoreflect.EnumType {
    64  	return &file_dispatch_v1_dispatch_proto_enumTypes[0]
    65  }
    66  
    67  func (x DispatchCheckRequest_DebugSetting) Number() protoreflect.EnumNumber {
    68  	return protoreflect.EnumNumber(x)
    69  }
    70  
    71  // Deprecated: Use DispatchCheckRequest_DebugSetting.Descriptor instead.
    72  func (DispatchCheckRequest_DebugSetting) EnumDescriptor() ([]byte, []int) {
    73  	return file_dispatch_v1_dispatch_proto_rawDescGZIP(), []int{0, 0}
    74  }
    75  
    76  type DispatchCheckRequest_ResultsSetting int32
    77  
    78  const (
    79  	DispatchCheckRequest_REQUIRE_ALL_RESULTS DispatchCheckRequest_ResultsSetting = 0
    80  	DispatchCheckRequest_ALLOW_SINGLE_RESULT DispatchCheckRequest_ResultsSetting = 1
    81  )
    82  
    83  // Enum value maps for DispatchCheckRequest_ResultsSetting.
    84  var (
    85  	DispatchCheckRequest_ResultsSetting_name = map[int32]string{
    86  		0: "REQUIRE_ALL_RESULTS",
    87  		1: "ALLOW_SINGLE_RESULT",
    88  	}
    89  	DispatchCheckRequest_ResultsSetting_value = map[string]int32{
    90  		"REQUIRE_ALL_RESULTS": 0,
    91  		"ALLOW_SINGLE_RESULT": 1,
    92  	}
    93  )
    94  
    95  func (x DispatchCheckRequest_ResultsSetting) Enum() *DispatchCheckRequest_ResultsSetting {
    96  	p := new(DispatchCheckRequest_ResultsSetting)
    97  	*p = x
    98  	return p
    99  }
   100  
   101  func (x DispatchCheckRequest_ResultsSetting) String() string {
   102  	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
   103  }
   104  
   105  func (DispatchCheckRequest_ResultsSetting) Descriptor() protoreflect.EnumDescriptor {
   106  	return file_dispatch_v1_dispatch_proto_enumTypes[1].Descriptor()
   107  }
   108  
   109  func (DispatchCheckRequest_ResultsSetting) Type() protoreflect.EnumType {
   110  	return &file_dispatch_v1_dispatch_proto_enumTypes[1]
   111  }
   112  
   113  func (x DispatchCheckRequest_ResultsSetting) Number() protoreflect.EnumNumber {
   114  	return protoreflect.EnumNumber(x)
   115  }
   116  
   117  // Deprecated: Use DispatchCheckRequest_ResultsSetting.Descriptor instead.
   118  func (DispatchCheckRequest_ResultsSetting) EnumDescriptor() ([]byte, []int) {
   119  	return file_dispatch_v1_dispatch_proto_rawDescGZIP(), []int{0, 1}
   120  }
   121  
   122  type ResourceCheckResult_Membership int32
   123  
   124  const (
   125  	ResourceCheckResult_UNKNOWN         ResourceCheckResult_Membership = 0
   126  	ResourceCheckResult_NOT_MEMBER      ResourceCheckResult_Membership = 1
   127  	ResourceCheckResult_MEMBER          ResourceCheckResult_Membership = 2
   128  	ResourceCheckResult_CAVEATED_MEMBER ResourceCheckResult_Membership = 3
   129  )
   130  
   131  // Enum value maps for ResourceCheckResult_Membership.
   132  var (
   133  	ResourceCheckResult_Membership_name = map[int32]string{
   134  		0: "UNKNOWN",
   135  		1: "NOT_MEMBER",
   136  		2: "MEMBER",
   137  		3: "CAVEATED_MEMBER",
   138  	}
   139  	ResourceCheckResult_Membership_value = map[string]int32{
   140  		"UNKNOWN":         0,
   141  		"NOT_MEMBER":      1,
   142  		"MEMBER":          2,
   143  		"CAVEATED_MEMBER": 3,
   144  	}
   145  )
   146  
   147  func (x ResourceCheckResult_Membership) Enum() *ResourceCheckResult_Membership {
   148  	p := new(ResourceCheckResult_Membership)
   149  	*p = x
   150  	return p
   151  }
   152  
   153  func (x ResourceCheckResult_Membership) String() string {
   154  	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
   155  }
   156  
   157  func (ResourceCheckResult_Membership) Descriptor() protoreflect.EnumDescriptor {
   158  	return file_dispatch_v1_dispatch_proto_enumTypes[2].Descriptor()
   159  }
   160  
   161  func (ResourceCheckResult_Membership) Type() protoreflect.EnumType {
   162  	return &file_dispatch_v1_dispatch_proto_enumTypes[2]
   163  }
   164  
   165  func (x ResourceCheckResult_Membership) Number() protoreflect.EnumNumber {
   166  	return protoreflect.EnumNumber(x)
   167  }
   168  
   169  // Deprecated: Use ResourceCheckResult_Membership.Descriptor instead.
   170  func (ResourceCheckResult_Membership) EnumDescriptor() ([]byte, []int) {
   171  	return file_dispatch_v1_dispatch_proto_rawDescGZIP(), []int{2, 0}
   172  }
   173  
   174  type DispatchExpandRequest_ExpansionMode int32
   175  
   176  const (
   177  	DispatchExpandRequest_SHALLOW   DispatchExpandRequest_ExpansionMode = 0
   178  	DispatchExpandRequest_RECURSIVE DispatchExpandRequest_ExpansionMode = 1
   179  )
   180  
   181  // Enum value maps for DispatchExpandRequest_ExpansionMode.
   182  var (
   183  	DispatchExpandRequest_ExpansionMode_name = map[int32]string{
   184  		0: "SHALLOW",
   185  		1: "RECURSIVE",
   186  	}
   187  	DispatchExpandRequest_ExpansionMode_value = map[string]int32{
   188  		"SHALLOW":   0,
   189  		"RECURSIVE": 1,
   190  	}
   191  )
   192  
   193  func (x DispatchExpandRequest_ExpansionMode) Enum() *DispatchExpandRequest_ExpansionMode {
   194  	p := new(DispatchExpandRequest_ExpansionMode)
   195  	*p = x
   196  	return p
   197  }
   198  
   199  func (x DispatchExpandRequest_ExpansionMode) String() string {
   200  	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
   201  }
   202  
   203  func (DispatchExpandRequest_ExpansionMode) Descriptor() protoreflect.EnumDescriptor {
   204  	return file_dispatch_v1_dispatch_proto_enumTypes[3].Descriptor()
   205  }
   206  
   207  func (DispatchExpandRequest_ExpansionMode) Type() protoreflect.EnumType {
   208  	return &file_dispatch_v1_dispatch_proto_enumTypes[3]
   209  }
   210  
   211  func (x DispatchExpandRequest_ExpansionMode) Number() protoreflect.EnumNumber {
   212  	return protoreflect.EnumNumber(x)
   213  }
   214  
   215  // Deprecated: Use DispatchExpandRequest_ExpansionMode.Descriptor instead.
   216  func (DispatchExpandRequest_ExpansionMode) EnumDescriptor() ([]byte, []int) {
   217  	return file_dispatch_v1_dispatch_proto_rawDescGZIP(), []int{3, 0}
   218  }
   219  
   220  type ReachableResource_ResultStatus int32
   221  
   222  const (
   223  	// *
   224  	// REQUIRES_CHECK indicates that the resource is reachable but a Check is required to
   225  	// determine if the resource is actually found for the user.
   226  	ReachableResource_REQUIRES_CHECK ReachableResource_ResultStatus = 0
   227  	// *
   228  	// HAS_PERMISSION indicates that the resource is both reachable and found for the permission
   229  	// for the subject.
   230  	ReachableResource_HAS_PERMISSION ReachableResource_ResultStatus = 1
   231  )
   232  
   233  // Enum value maps for ReachableResource_ResultStatus.
   234  var (
   235  	ReachableResource_ResultStatus_name = map[int32]string{
   236  		0: "REQUIRES_CHECK",
   237  		1: "HAS_PERMISSION",
   238  	}
   239  	ReachableResource_ResultStatus_value = map[string]int32{
   240  		"REQUIRES_CHECK": 0,
   241  		"HAS_PERMISSION": 1,
   242  	}
   243  )
   244  
   245  func (x ReachableResource_ResultStatus) Enum() *ReachableResource_ResultStatus {
   246  	p := new(ReachableResource_ResultStatus)
   247  	*p = x
   248  	return p
   249  }
   250  
   251  func (x ReachableResource_ResultStatus) String() string {
   252  	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
   253  }
   254  
   255  func (ReachableResource_ResultStatus) Descriptor() protoreflect.EnumDescriptor {
   256  	return file_dispatch_v1_dispatch_proto_enumTypes[4].Descriptor()
   257  }
   258  
   259  func (ReachableResource_ResultStatus) Type() protoreflect.EnumType {
   260  	return &file_dispatch_v1_dispatch_proto_enumTypes[4]
   261  }
   262  
   263  func (x ReachableResource_ResultStatus) Number() protoreflect.EnumNumber {
   264  	return protoreflect.EnumNumber(x)
   265  }
   266  
   267  // Deprecated: Use ReachableResource_ResultStatus.Descriptor instead.
   268  func (ReachableResource_ResultStatus) EnumDescriptor() ([]byte, []int) {
   269  	return file_dispatch_v1_dispatch_proto_rawDescGZIP(), []int{7, 0}
   270  }
   271  
   272  type ResolvedResource_Permissionship int32
   273  
   274  const (
   275  	ResolvedResource_UNKNOWN                      ResolvedResource_Permissionship = 0
   276  	ResolvedResource_HAS_PERMISSION               ResolvedResource_Permissionship = 1
   277  	ResolvedResource_CONDITIONALLY_HAS_PERMISSION ResolvedResource_Permissionship = 2
   278  )
   279  
   280  // Enum value maps for ResolvedResource_Permissionship.
   281  var (
   282  	ResolvedResource_Permissionship_name = map[int32]string{
   283  		0: "UNKNOWN",
   284  		1: "HAS_PERMISSION",
   285  		2: "CONDITIONALLY_HAS_PERMISSION",
   286  	}
   287  	ResolvedResource_Permissionship_value = map[string]int32{
   288  		"UNKNOWN":                      0,
   289  		"HAS_PERMISSION":               1,
   290  		"CONDITIONALLY_HAS_PERMISSION": 2,
   291  	}
   292  )
   293  
   294  func (x ResolvedResource_Permissionship) Enum() *ResolvedResource_Permissionship {
   295  	p := new(ResolvedResource_Permissionship)
   296  	*p = x
   297  	return p
   298  }
   299  
   300  func (x ResolvedResource_Permissionship) String() string {
   301  	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
   302  }
   303  
   304  func (ResolvedResource_Permissionship) Descriptor() protoreflect.EnumDescriptor {
   305  	return file_dispatch_v1_dispatch_proto_enumTypes[5].Descriptor()
   306  }
   307  
   308  func (ResolvedResource_Permissionship) Type() protoreflect.EnumType {
   309  	return &file_dispatch_v1_dispatch_proto_enumTypes[5]
   310  }
   311  
   312  func (x ResolvedResource_Permissionship) Number() protoreflect.EnumNumber {
   313  	return protoreflect.EnumNumber(x)
   314  }
   315  
   316  // Deprecated: Use ResolvedResource_Permissionship.Descriptor instead.
   317  func (ResolvedResource_Permissionship) EnumDescriptor() ([]byte, []int) {
   318  	return file_dispatch_v1_dispatch_proto_rawDescGZIP(), []int{10, 0}
   319  }
   320  
   321  type CheckDebugTrace_RelationType int32
   322  
   323  const (
   324  	CheckDebugTrace_UNKNOWN    CheckDebugTrace_RelationType = 0
   325  	CheckDebugTrace_RELATION   CheckDebugTrace_RelationType = 1
   326  	CheckDebugTrace_PERMISSION CheckDebugTrace_RelationType = 2
   327  )
   328  
   329  // Enum value maps for CheckDebugTrace_RelationType.
   330  var (
   331  	CheckDebugTrace_RelationType_name = map[int32]string{
   332  		0: "UNKNOWN",
   333  		1: "RELATION",
   334  		2: "PERMISSION",
   335  	}
   336  	CheckDebugTrace_RelationType_value = map[string]int32{
   337  		"UNKNOWN":    0,
   338  		"RELATION":   1,
   339  		"PERMISSION": 2,
   340  	}
   341  )
   342  
   343  func (x CheckDebugTrace_RelationType) Enum() *CheckDebugTrace_RelationType {
   344  	p := new(CheckDebugTrace_RelationType)
   345  	*p = x
   346  	return p
   347  }
   348  
   349  func (x CheckDebugTrace_RelationType) String() string {
   350  	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
   351  }
   352  
   353  func (CheckDebugTrace_RelationType) Descriptor() protoreflect.EnumDescriptor {
   354  	return file_dispatch_v1_dispatch_proto_enumTypes[6].Descriptor()
   355  }
   356  
   357  func (CheckDebugTrace_RelationType) Type() protoreflect.EnumType {
   358  	return &file_dispatch_v1_dispatch_proto_enumTypes[6]
   359  }
   360  
   361  func (x CheckDebugTrace_RelationType) Number() protoreflect.EnumNumber {
   362  	return protoreflect.EnumNumber(x)
   363  }
   364  
   365  // Deprecated: Use CheckDebugTrace_RelationType.Descriptor instead.
   366  func (CheckDebugTrace_RelationType) EnumDescriptor() ([]byte, []int) {
   367  	return file_dispatch_v1_dispatch_proto_rawDescGZIP(), []int{19, 0}
   368  }
   369  
   370  type DispatchCheckRequest struct {
   371  	state         protoimpl.MessageState
   372  	sizeCache     protoimpl.SizeCache
   373  	unknownFields protoimpl.UnknownFields
   374  
   375  	Metadata         *ResolverMeta                       `protobuf:"bytes,1,opt,name=metadata,proto3" json:"metadata,omitempty"`
   376  	ResourceRelation *v1.RelationReference               `protobuf:"bytes,2,opt,name=resource_relation,json=resourceRelation,proto3" json:"resource_relation,omitempty"`
   377  	ResourceIds      []string                            `protobuf:"bytes,3,rep,name=resource_ids,json=resourceIds,proto3" json:"resource_ids,omitempty"`
   378  	Subject          *v1.ObjectAndRelation               `protobuf:"bytes,4,opt,name=subject,proto3" json:"subject,omitempty"`
   379  	ResultsSetting   DispatchCheckRequest_ResultsSetting `protobuf:"varint,5,opt,name=results_setting,json=resultsSetting,proto3,enum=dispatch.v1.DispatchCheckRequest_ResultsSetting" json:"results_setting,omitempty"`
   380  	Debug            DispatchCheckRequest_DebugSetting   `protobuf:"varint,6,opt,name=debug,proto3,enum=dispatch.v1.DispatchCheckRequest_DebugSetting" json:"debug,omitempty"`
   381  }
   382  
   383  func (x *DispatchCheckRequest) Reset() {
   384  	*x = DispatchCheckRequest{}
   385  	if protoimpl.UnsafeEnabled {
   386  		mi := &file_dispatch_v1_dispatch_proto_msgTypes[0]
   387  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   388  		ms.StoreMessageInfo(mi)
   389  	}
   390  }
   391  
   392  func (x *DispatchCheckRequest) String() string {
   393  	return protoimpl.X.MessageStringOf(x)
   394  }
   395  
   396  func (*DispatchCheckRequest) ProtoMessage() {}
   397  
   398  func (x *DispatchCheckRequest) ProtoReflect() protoreflect.Message {
   399  	mi := &file_dispatch_v1_dispatch_proto_msgTypes[0]
   400  	if protoimpl.UnsafeEnabled && x != nil {
   401  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   402  		if ms.LoadMessageInfo() == nil {
   403  			ms.StoreMessageInfo(mi)
   404  		}
   405  		return ms
   406  	}
   407  	return mi.MessageOf(x)
   408  }
   409  
   410  // Deprecated: Use DispatchCheckRequest.ProtoReflect.Descriptor instead.
   411  func (*DispatchCheckRequest) Descriptor() ([]byte, []int) {
   412  	return file_dispatch_v1_dispatch_proto_rawDescGZIP(), []int{0}
   413  }
   414  
   415  func (x *DispatchCheckRequest) GetMetadata() *ResolverMeta {
   416  	if x != nil {
   417  		return x.Metadata
   418  	}
   419  	return nil
   420  }
   421  
   422  func (x *DispatchCheckRequest) GetResourceRelation() *v1.RelationReference {
   423  	if x != nil {
   424  		return x.ResourceRelation
   425  	}
   426  	return nil
   427  }
   428  
   429  func (x *DispatchCheckRequest) GetResourceIds() []string {
   430  	if x != nil {
   431  		return x.ResourceIds
   432  	}
   433  	return nil
   434  }
   435  
   436  func (x *DispatchCheckRequest) GetSubject() *v1.ObjectAndRelation {
   437  	if x != nil {
   438  		return x.Subject
   439  	}
   440  	return nil
   441  }
   442  
   443  func (x *DispatchCheckRequest) GetResultsSetting() DispatchCheckRequest_ResultsSetting {
   444  	if x != nil {
   445  		return x.ResultsSetting
   446  	}
   447  	return DispatchCheckRequest_REQUIRE_ALL_RESULTS
   448  }
   449  
   450  func (x *DispatchCheckRequest) GetDebug() DispatchCheckRequest_DebugSetting {
   451  	if x != nil {
   452  		return x.Debug
   453  	}
   454  	return DispatchCheckRequest_NO_DEBUG
   455  }
   456  
   457  type DispatchCheckResponse struct {
   458  	state         protoimpl.MessageState
   459  	sizeCache     protoimpl.SizeCache
   460  	unknownFields protoimpl.UnknownFields
   461  
   462  	Metadata            *ResponseMeta                   `protobuf:"bytes,1,opt,name=metadata,proto3" json:"metadata,omitempty"`
   463  	ResultsByResourceId map[string]*ResourceCheckResult `protobuf:"bytes,2,rep,name=results_by_resource_id,json=resultsByResourceId,proto3" json:"results_by_resource_id,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
   464  }
   465  
   466  func (x *DispatchCheckResponse) Reset() {
   467  	*x = DispatchCheckResponse{}
   468  	if protoimpl.UnsafeEnabled {
   469  		mi := &file_dispatch_v1_dispatch_proto_msgTypes[1]
   470  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   471  		ms.StoreMessageInfo(mi)
   472  	}
   473  }
   474  
   475  func (x *DispatchCheckResponse) String() string {
   476  	return protoimpl.X.MessageStringOf(x)
   477  }
   478  
   479  func (*DispatchCheckResponse) ProtoMessage() {}
   480  
   481  func (x *DispatchCheckResponse) ProtoReflect() protoreflect.Message {
   482  	mi := &file_dispatch_v1_dispatch_proto_msgTypes[1]
   483  	if protoimpl.UnsafeEnabled && x != nil {
   484  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   485  		if ms.LoadMessageInfo() == nil {
   486  			ms.StoreMessageInfo(mi)
   487  		}
   488  		return ms
   489  	}
   490  	return mi.MessageOf(x)
   491  }
   492  
   493  // Deprecated: Use DispatchCheckResponse.ProtoReflect.Descriptor instead.
   494  func (*DispatchCheckResponse) Descriptor() ([]byte, []int) {
   495  	return file_dispatch_v1_dispatch_proto_rawDescGZIP(), []int{1}
   496  }
   497  
   498  func (x *DispatchCheckResponse) GetMetadata() *ResponseMeta {
   499  	if x != nil {
   500  		return x.Metadata
   501  	}
   502  	return nil
   503  }
   504  
   505  func (x *DispatchCheckResponse) GetResultsByResourceId() map[string]*ResourceCheckResult {
   506  	if x != nil {
   507  		return x.ResultsByResourceId
   508  	}
   509  	return nil
   510  }
   511  
   512  type ResourceCheckResult struct {
   513  	state         protoimpl.MessageState
   514  	sizeCache     protoimpl.SizeCache
   515  	unknownFields protoimpl.UnknownFields
   516  
   517  	Membership        ResourceCheckResult_Membership `protobuf:"varint,1,opt,name=membership,proto3,enum=dispatch.v1.ResourceCheckResult_Membership" json:"membership,omitempty"`
   518  	Expression        *v1.CaveatExpression           `protobuf:"bytes,2,opt,name=expression,proto3" json:"expression,omitempty"`
   519  	MissingExprFields []string                       `protobuf:"bytes,3,rep,name=missing_expr_fields,json=missingExprFields,proto3" json:"missing_expr_fields,omitempty"`
   520  }
   521  
   522  func (x *ResourceCheckResult) Reset() {
   523  	*x = ResourceCheckResult{}
   524  	if protoimpl.UnsafeEnabled {
   525  		mi := &file_dispatch_v1_dispatch_proto_msgTypes[2]
   526  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   527  		ms.StoreMessageInfo(mi)
   528  	}
   529  }
   530  
   531  func (x *ResourceCheckResult) String() string {
   532  	return protoimpl.X.MessageStringOf(x)
   533  }
   534  
   535  func (*ResourceCheckResult) ProtoMessage() {}
   536  
   537  func (x *ResourceCheckResult) ProtoReflect() protoreflect.Message {
   538  	mi := &file_dispatch_v1_dispatch_proto_msgTypes[2]
   539  	if protoimpl.UnsafeEnabled && x != nil {
   540  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   541  		if ms.LoadMessageInfo() == nil {
   542  			ms.StoreMessageInfo(mi)
   543  		}
   544  		return ms
   545  	}
   546  	return mi.MessageOf(x)
   547  }
   548  
   549  // Deprecated: Use ResourceCheckResult.ProtoReflect.Descriptor instead.
   550  func (*ResourceCheckResult) Descriptor() ([]byte, []int) {
   551  	return file_dispatch_v1_dispatch_proto_rawDescGZIP(), []int{2}
   552  }
   553  
   554  func (x *ResourceCheckResult) GetMembership() ResourceCheckResult_Membership {
   555  	if x != nil {
   556  		return x.Membership
   557  	}
   558  	return ResourceCheckResult_UNKNOWN
   559  }
   560  
   561  func (x *ResourceCheckResult) GetExpression() *v1.CaveatExpression {
   562  	if x != nil {
   563  		return x.Expression
   564  	}
   565  	return nil
   566  }
   567  
   568  func (x *ResourceCheckResult) GetMissingExprFields() []string {
   569  	if x != nil {
   570  		return x.MissingExprFields
   571  	}
   572  	return nil
   573  }
   574  
   575  type DispatchExpandRequest struct {
   576  	state         protoimpl.MessageState
   577  	sizeCache     protoimpl.SizeCache
   578  	unknownFields protoimpl.UnknownFields
   579  
   580  	Metadata            *ResolverMeta                       `protobuf:"bytes,1,opt,name=metadata,proto3" json:"metadata,omitempty"`
   581  	ResourceAndRelation *v1.ObjectAndRelation               `protobuf:"bytes,2,opt,name=resource_and_relation,json=resourceAndRelation,proto3" json:"resource_and_relation,omitempty"`
   582  	ExpansionMode       DispatchExpandRequest_ExpansionMode `protobuf:"varint,3,opt,name=expansion_mode,json=expansionMode,proto3,enum=dispatch.v1.DispatchExpandRequest_ExpansionMode" json:"expansion_mode,omitempty"`
   583  }
   584  
   585  func (x *DispatchExpandRequest) Reset() {
   586  	*x = DispatchExpandRequest{}
   587  	if protoimpl.UnsafeEnabled {
   588  		mi := &file_dispatch_v1_dispatch_proto_msgTypes[3]
   589  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   590  		ms.StoreMessageInfo(mi)
   591  	}
   592  }
   593  
   594  func (x *DispatchExpandRequest) String() string {
   595  	return protoimpl.X.MessageStringOf(x)
   596  }
   597  
   598  func (*DispatchExpandRequest) ProtoMessage() {}
   599  
   600  func (x *DispatchExpandRequest) ProtoReflect() protoreflect.Message {
   601  	mi := &file_dispatch_v1_dispatch_proto_msgTypes[3]
   602  	if protoimpl.UnsafeEnabled && x != nil {
   603  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   604  		if ms.LoadMessageInfo() == nil {
   605  			ms.StoreMessageInfo(mi)
   606  		}
   607  		return ms
   608  	}
   609  	return mi.MessageOf(x)
   610  }
   611  
   612  // Deprecated: Use DispatchExpandRequest.ProtoReflect.Descriptor instead.
   613  func (*DispatchExpandRequest) Descriptor() ([]byte, []int) {
   614  	return file_dispatch_v1_dispatch_proto_rawDescGZIP(), []int{3}
   615  }
   616  
   617  func (x *DispatchExpandRequest) GetMetadata() *ResolverMeta {
   618  	if x != nil {
   619  		return x.Metadata
   620  	}
   621  	return nil
   622  }
   623  
   624  func (x *DispatchExpandRequest) GetResourceAndRelation() *v1.ObjectAndRelation {
   625  	if x != nil {
   626  		return x.ResourceAndRelation
   627  	}
   628  	return nil
   629  }
   630  
   631  func (x *DispatchExpandRequest) GetExpansionMode() DispatchExpandRequest_ExpansionMode {
   632  	if x != nil {
   633  		return x.ExpansionMode
   634  	}
   635  	return DispatchExpandRequest_SHALLOW
   636  }
   637  
   638  type DispatchExpandResponse struct {
   639  	state         protoimpl.MessageState
   640  	sizeCache     protoimpl.SizeCache
   641  	unknownFields protoimpl.UnknownFields
   642  
   643  	Metadata *ResponseMeta             `protobuf:"bytes,1,opt,name=metadata,proto3" json:"metadata,omitempty"`
   644  	TreeNode *v1.RelationTupleTreeNode `protobuf:"bytes,2,opt,name=tree_node,json=treeNode,proto3" json:"tree_node,omitempty"`
   645  }
   646  
   647  func (x *DispatchExpandResponse) Reset() {
   648  	*x = DispatchExpandResponse{}
   649  	if protoimpl.UnsafeEnabled {
   650  		mi := &file_dispatch_v1_dispatch_proto_msgTypes[4]
   651  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   652  		ms.StoreMessageInfo(mi)
   653  	}
   654  }
   655  
   656  func (x *DispatchExpandResponse) String() string {
   657  	return protoimpl.X.MessageStringOf(x)
   658  }
   659  
   660  func (*DispatchExpandResponse) ProtoMessage() {}
   661  
   662  func (x *DispatchExpandResponse) ProtoReflect() protoreflect.Message {
   663  	mi := &file_dispatch_v1_dispatch_proto_msgTypes[4]
   664  	if protoimpl.UnsafeEnabled && x != nil {
   665  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   666  		if ms.LoadMessageInfo() == nil {
   667  			ms.StoreMessageInfo(mi)
   668  		}
   669  		return ms
   670  	}
   671  	return mi.MessageOf(x)
   672  }
   673  
   674  // Deprecated: Use DispatchExpandResponse.ProtoReflect.Descriptor instead.
   675  func (*DispatchExpandResponse) Descriptor() ([]byte, []int) {
   676  	return file_dispatch_v1_dispatch_proto_rawDescGZIP(), []int{4}
   677  }
   678  
   679  func (x *DispatchExpandResponse) GetMetadata() *ResponseMeta {
   680  	if x != nil {
   681  		return x.Metadata
   682  	}
   683  	return nil
   684  }
   685  
   686  func (x *DispatchExpandResponse) GetTreeNode() *v1.RelationTupleTreeNode {
   687  	if x != nil {
   688  		return x.TreeNode
   689  	}
   690  	return nil
   691  }
   692  
   693  type Cursor struct {
   694  	state         protoimpl.MessageState
   695  	sizeCache     protoimpl.SizeCache
   696  	unknownFields protoimpl.UnknownFields
   697  
   698  	Sections        []string `protobuf:"bytes,2,rep,name=sections,proto3" json:"sections,omitempty"`
   699  	DispatchVersion uint32   `protobuf:"varint,3,opt,name=dispatch_version,json=dispatchVersion,proto3" json:"dispatch_version,omitempty"`
   700  }
   701  
   702  func (x *Cursor) Reset() {
   703  	*x = Cursor{}
   704  	if protoimpl.UnsafeEnabled {
   705  		mi := &file_dispatch_v1_dispatch_proto_msgTypes[5]
   706  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   707  		ms.StoreMessageInfo(mi)
   708  	}
   709  }
   710  
   711  func (x *Cursor) String() string {
   712  	return protoimpl.X.MessageStringOf(x)
   713  }
   714  
   715  func (*Cursor) ProtoMessage() {}
   716  
   717  func (x *Cursor) ProtoReflect() protoreflect.Message {
   718  	mi := &file_dispatch_v1_dispatch_proto_msgTypes[5]
   719  	if protoimpl.UnsafeEnabled && x != nil {
   720  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   721  		if ms.LoadMessageInfo() == nil {
   722  			ms.StoreMessageInfo(mi)
   723  		}
   724  		return ms
   725  	}
   726  	return mi.MessageOf(x)
   727  }
   728  
   729  // Deprecated: Use Cursor.ProtoReflect.Descriptor instead.
   730  func (*Cursor) Descriptor() ([]byte, []int) {
   731  	return file_dispatch_v1_dispatch_proto_rawDescGZIP(), []int{5}
   732  }
   733  
   734  func (x *Cursor) GetSections() []string {
   735  	if x != nil {
   736  		return x.Sections
   737  	}
   738  	return nil
   739  }
   740  
   741  func (x *Cursor) GetDispatchVersion() uint32 {
   742  	if x != nil {
   743  		return x.DispatchVersion
   744  	}
   745  	return 0
   746  }
   747  
   748  type DispatchReachableResourcesRequest struct {
   749  	state         protoimpl.MessageState
   750  	sizeCache     protoimpl.SizeCache
   751  	unknownFields protoimpl.UnknownFields
   752  
   753  	Metadata         *ResolverMeta         `protobuf:"bytes,1,opt,name=metadata,proto3" json:"metadata,omitempty"`
   754  	ResourceRelation *v1.RelationReference `protobuf:"bytes,2,opt,name=resource_relation,json=resourceRelation,proto3" json:"resource_relation,omitempty"`
   755  	SubjectRelation  *v1.RelationReference `protobuf:"bytes,3,opt,name=subject_relation,json=subjectRelation,proto3" json:"subject_relation,omitempty"`
   756  	SubjectIds       []string              `protobuf:"bytes,4,rep,name=subject_ids,json=subjectIds,proto3" json:"subject_ids,omitempty"`
   757  	// optional_cursor, if the specified, is the cursor at which to resume returning results. Note
   758  	// that reachableresources can return duplicates.
   759  	OptionalCursor *Cursor `protobuf:"bytes,5,opt,name=optional_cursor,json=optionalCursor,proto3" json:"optional_cursor,omitempty"`
   760  	// optional_limit, if given, specifies a limit on the number of resources returned.
   761  	OptionalLimit uint32 `protobuf:"varint,6,opt,name=optional_limit,json=optionalLimit,proto3" json:"optional_limit,omitempty"`
   762  }
   763  
   764  func (x *DispatchReachableResourcesRequest) Reset() {
   765  	*x = DispatchReachableResourcesRequest{}
   766  	if protoimpl.UnsafeEnabled {
   767  		mi := &file_dispatch_v1_dispatch_proto_msgTypes[6]
   768  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   769  		ms.StoreMessageInfo(mi)
   770  	}
   771  }
   772  
   773  func (x *DispatchReachableResourcesRequest) String() string {
   774  	return protoimpl.X.MessageStringOf(x)
   775  }
   776  
   777  func (*DispatchReachableResourcesRequest) ProtoMessage() {}
   778  
   779  func (x *DispatchReachableResourcesRequest) ProtoReflect() protoreflect.Message {
   780  	mi := &file_dispatch_v1_dispatch_proto_msgTypes[6]
   781  	if protoimpl.UnsafeEnabled && x != nil {
   782  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   783  		if ms.LoadMessageInfo() == nil {
   784  			ms.StoreMessageInfo(mi)
   785  		}
   786  		return ms
   787  	}
   788  	return mi.MessageOf(x)
   789  }
   790  
   791  // Deprecated: Use DispatchReachableResourcesRequest.ProtoReflect.Descriptor instead.
   792  func (*DispatchReachableResourcesRequest) Descriptor() ([]byte, []int) {
   793  	return file_dispatch_v1_dispatch_proto_rawDescGZIP(), []int{6}
   794  }
   795  
   796  func (x *DispatchReachableResourcesRequest) GetMetadata() *ResolverMeta {
   797  	if x != nil {
   798  		return x.Metadata
   799  	}
   800  	return nil
   801  }
   802  
   803  func (x *DispatchReachableResourcesRequest) GetResourceRelation() *v1.RelationReference {
   804  	if x != nil {
   805  		return x.ResourceRelation
   806  	}
   807  	return nil
   808  }
   809  
   810  func (x *DispatchReachableResourcesRequest) GetSubjectRelation() *v1.RelationReference {
   811  	if x != nil {
   812  		return x.SubjectRelation
   813  	}
   814  	return nil
   815  }
   816  
   817  func (x *DispatchReachableResourcesRequest) GetSubjectIds() []string {
   818  	if x != nil {
   819  		return x.SubjectIds
   820  	}
   821  	return nil
   822  }
   823  
   824  func (x *DispatchReachableResourcesRequest) GetOptionalCursor() *Cursor {
   825  	if x != nil {
   826  		return x.OptionalCursor
   827  	}
   828  	return nil
   829  }
   830  
   831  func (x *DispatchReachableResourcesRequest) GetOptionalLimit() uint32 {
   832  	if x != nil {
   833  		return x.OptionalLimit
   834  	}
   835  	return 0
   836  }
   837  
   838  type ReachableResource struct {
   839  	state         protoimpl.MessageState
   840  	sizeCache     protoimpl.SizeCache
   841  	unknownFields protoimpl.UnknownFields
   842  
   843  	ResourceId    string                         `protobuf:"bytes,1,opt,name=resource_id,json=resourceId,proto3" json:"resource_id,omitempty"`
   844  	ResultStatus  ReachableResource_ResultStatus `protobuf:"varint,2,opt,name=result_status,json=resultStatus,proto3,enum=dispatch.v1.ReachableResource_ResultStatus" json:"result_status,omitempty"`
   845  	ForSubjectIds []string                       `protobuf:"bytes,3,rep,name=for_subject_ids,json=forSubjectIds,proto3" json:"for_subject_ids,omitempty"`
   846  }
   847  
   848  func (x *ReachableResource) Reset() {
   849  	*x = ReachableResource{}
   850  	if protoimpl.UnsafeEnabled {
   851  		mi := &file_dispatch_v1_dispatch_proto_msgTypes[7]
   852  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   853  		ms.StoreMessageInfo(mi)
   854  	}
   855  }
   856  
   857  func (x *ReachableResource) String() string {
   858  	return protoimpl.X.MessageStringOf(x)
   859  }
   860  
   861  func (*ReachableResource) ProtoMessage() {}
   862  
   863  func (x *ReachableResource) ProtoReflect() protoreflect.Message {
   864  	mi := &file_dispatch_v1_dispatch_proto_msgTypes[7]
   865  	if protoimpl.UnsafeEnabled && x != nil {
   866  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   867  		if ms.LoadMessageInfo() == nil {
   868  			ms.StoreMessageInfo(mi)
   869  		}
   870  		return ms
   871  	}
   872  	return mi.MessageOf(x)
   873  }
   874  
   875  // Deprecated: Use ReachableResource.ProtoReflect.Descriptor instead.
   876  func (*ReachableResource) Descriptor() ([]byte, []int) {
   877  	return file_dispatch_v1_dispatch_proto_rawDescGZIP(), []int{7}
   878  }
   879  
   880  func (x *ReachableResource) GetResourceId() string {
   881  	if x != nil {
   882  		return x.ResourceId
   883  	}
   884  	return ""
   885  }
   886  
   887  func (x *ReachableResource) GetResultStatus() ReachableResource_ResultStatus {
   888  	if x != nil {
   889  		return x.ResultStatus
   890  	}
   891  	return ReachableResource_REQUIRES_CHECK
   892  }
   893  
   894  func (x *ReachableResource) GetForSubjectIds() []string {
   895  	if x != nil {
   896  		return x.ForSubjectIds
   897  	}
   898  	return nil
   899  }
   900  
   901  type DispatchReachableResourcesResponse struct {
   902  	state         protoimpl.MessageState
   903  	sizeCache     protoimpl.SizeCache
   904  	unknownFields protoimpl.UnknownFields
   905  
   906  	Resource            *ReachableResource `protobuf:"bytes,1,opt,name=resource,proto3" json:"resource,omitempty"`
   907  	Metadata            *ResponseMeta      `protobuf:"bytes,2,opt,name=metadata,proto3" json:"metadata,omitempty"`
   908  	AfterResponseCursor *Cursor            `protobuf:"bytes,3,opt,name=after_response_cursor,json=afterResponseCursor,proto3" json:"after_response_cursor,omitempty"`
   909  }
   910  
   911  func (x *DispatchReachableResourcesResponse) Reset() {
   912  	*x = DispatchReachableResourcesResponse{}
   913  	if protoimpl.UnsafeEnabled {
   914  		mi := &file_dispatch_v1_dispatch_proto_msgTypes[8]
   915  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   916  		ms.StoreMessageInfo(mi)
   917  	}
   918  }
   919  
   920  func (x *DispatchReachableResourcesResponse) String() string {
   921  	return protoimpl.X.MessageStringOf(x)
   922  }
   923  
   924  func (*DispatchReachableResourcesResponse) ProtoMessage() {}
   925  
   926  func (x *DispatchReachableResourcesResponse) ProtoReflect() protoreflect.Message {
   927  	mi := &file_dispatch_v1_dispatch_proto_msgTypes[8]
   928  	if protoimpl.UnsafeEnabled && x != nil {
   929  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   930  		if ms.LoadMessageInfo() == nil {
   931  			ms.StoreMessageInfo(mi)
   932  		}
   933  		return ms
   934  	}
   935  	return mi.MessageOf(x)
   936  }
   937  
   938  // Deprecated: Use DispatchReachableResourcesResponse.ProtoReflect.Descriptor instead.
   939  func (*DispatchReachableResourcesResponse) Descriptor() ([]byte, []int) {
   940  	return file_dispatch_v1_dispatch_proto_rawDescGZIP(), []int{8}
   941  }
   942  
   943  func (x *DispatchReachableResourcesResponse) GetResource() *ReachableResource {
   944  	if x != nil {
   945  		return x.Resource
   946  	}
   947  	return nil
   948  }
   949  
   950  func (x *DispatchReachableResourcesResponse) GetMetadata() *ResponseMeta {
   951  	if x != nil {
   952  		return x.Metadata
   953  	}
   954  	return nil
   955  }
   956  
   957  func (x *DispatchReachableResourcesResponse) GetAfterResponseCursor() *Cursor {
   958  	if x != nil {
   959  		return x.AfterResponseCursor
   960  	}
   961  	return nil
   962  }
   963  
   964  type DispatchLookupResourcesRequest struct {
   965  	state         protoimpl.MessageState
   966  	sizeCache     protoimpl.SizeCache
   967  	unknownFields protoimpl.UnknownFields
   968  
   969  	Metadata       *ResolverMeta         `protobuf:"bytes,1,opt,name=metadata,proto3" json:"metadata,omitempty"`
   970  	ObjectRelation *v1.RelationReference `protobuf:"bytes,2,opt,name=object_relation,json=objectRelation,proto3" json:"object_relation,omitempty"`
   971  	Subject        *v1.ObjectAndRelation `protobuf:"bytes,3,opt,name=subject,proto3" json:"subject,omitempty"`
   972  	Context        *structpb.Struct      `protobuf:"bytes,5,opt,name=context,proto3" json:"context,omitempty"`
   973  	// optional_limit, if given, specifies a limit on the number of resources returned.
   974  	OptionalLimit uint32 `protobuf:"varint,4,opt,name=optional_limit,json=optionalLimit,proto3" json:"optional_limit,omitempty"`
   975  	// optional_cursor, if the specified, is the cursor at which to resume returning results. Note
   976  	// that lookupresources can return duplicates.
   977  	OptionalCursor *Cursor `protobuf:"bytes,6,opt,name=optional_cursor,json=optionalCursor,proto3" json:"optional_cursor,omitempty"`
   978  }
   979  
   980  func (x *DispatchLookupResourcesRequest) Reset() {
   981  	*x = DispatchLookupResourcesRequest{}
   982  	if protoimpl.UnsafeEnabled {
   983  		mi := &file_dispatch_v1_dispatch_proto_msgTypes[9]
   984  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   985  		ms.StoreMessageInfo(mi)
   986  	}
   987  }
   988  
   989  func (x *DispatchLookupResourcesRequest) String() string {
   990  	return protoimpl.X.MessageStringOf(x)
   991  }
   992  
   993  func (*DispatchLookupResourcesRequest) ProtoMessage() {}
   994  
   995  func (x *DispatchLookupResourcesRequest) ProtoReflect() protoreflect.Message {
   996  	mi := &file_dispatch_v1_dispatch_proto_msgTypes[9]
   997  	if protoimpl.UnsafeEnabled && x != nil {
   998  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   999  		if ms.LoadMessageInfo() == nil {
  1000  			ms.StoreMessageInfo(mi)
  1001  		}
  1002  		return ms
  1003  	}
  1004  	return mi.MessageOf(x)
  1005  }
  1006  
  1007  // Deprecated: Use DispatchLookupResourcesRequest.ProtoReflect.Descriptor instead.
  1008  func (*DispatchLookupResourcesRequest) Descriptor() ([]byte, []int) {
  1009  	return file_dispatch_v1_dispatch_proto_rawDescGZIP(), []int{9}
  1010  }
  1011  
  1012  func (x *DispatchLookupResourcesRequest) GetMetadata() *ResolverMeta {
  1013  	if x != nil {
  1014  		return x.Metadata
  1015  	}
  1016  	return nil
  1017  }
  1018  
  1019  func (x *DispatchLookupResourcesRequest) GetObjectRelation() *v1.RelationReference {
  1020  	if x != nil {
  1021  		return x.ObjectRelation
  1022  	}
  1023  	return nil
  1024  }
  1025  
  1026  func (x *DispatchLookupResourcesRequest) GetSubject() *v1.ObjectAndRelation {
  1027  	if x != nil {
  1028  		return x.Subject
  1029  	}
  1030  	return nil
  1031  }
  1032  
  1033  func (x *DispatchLookupResourcesRequest) GetContext() *structpb.Struct {
  1034  	if x != nil {
  1035  		return x.Context
  1036  	}
  1037  	return nil
  1038  }
  1039  
  1040  func (x *DispatchLookupResourcesRequest) GetOptionalLimit() uint32 {
  1041  	if x != nil {
  1042  		return x.OptionalLimit
  1043  	}
  1044  	return 0
  1045  }
  1046  
  1047  func (x *DispatchLookupResourcesRequest) GetOptionalCursor() *Cursor {
  1048  	if x != nil {
  1049  		return x.OptionalCursor
  1050  	}
  1051  	return nil
  1052  }
  1053  
  1054  type ResolvedResource struct {
  1055  	state         protoimpl.MessageState
  1056  	sizeCache     protoimpl.SizeCache
  1057  	unknownFields protoimpl.UnknownFields
  1058  
  1059  	ResourceId             string                          `protobuf:"bytes,1,opt,name=resource_id,json=resourceId,proto3" json:"resource_id,omitempty"`
  1060  	Permissionship         ResolvedResource_Permissionship `protobuf:"varint,2,opt,name=permissionship,proto3,enum=dispatch.v1.ResolvedResource_Permissionship" json:"permissionship,omitempty"`
  1061  	MissingRequiredContext []string                        `protobuf:"bytes,3,rep,name=missing_required_context,json=missingRequiredContext,proto3" json:"missing_required_context,omitempty"`
  1062  }
  1063  
  1064  func (x *ResolvedResource) Reset() {
  1065  	*x = ResolvedResource{}
  1066  	if protoimpl.UnsafeEnabled {
  1067  		mi := &file_dispatch_v1_dispatch_proto_msgTypes[10]
  1068  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1069  		ms.StoreMessageInfo(mi)
  1070  	}
  1071  }
  1072  
  1073  func (x *ResolvedResource) String() string {
  1074  	return protoimpl.X.MessageStringOf(x)
  1075  }
  1076  
  1077  func (*ResolvedResource) ProtoMessage() {}
  1078  
  1079  func (x *ResolvedResource) ProtoReflect() protoreflect.Message {
  1080  	mi := &file_dispatch_v1_dispatch_proto_msgTypes[10]
  1081  	if protoimpl.UnsafeEnabled && x != nil {
  1082  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1083  		if ms.LoadMessageInfo() == nil {
  1084  			ms.StoreMessageInfo(mi)
  1085  		}
  1086  		return ms
  1087  	}
  1088  	return mi.MessageOf(x)
  1089  }
  1090  
  1091  // Deprecated: Use ResolvedResource.ProtoReflect.Descriptor instead.
  1092  func (*ResolvedResource) Descriptor() ([]byte, []int) {
  1093  	return file_dispatch_v1_dispatch_proto_rawDescGZIP(), []int{10}
  1094  }
  1095  
  1096  func (x *ResolvedResource) GetResourceId() string {
  1097  	if x != nil {
  1098  		return x.ResourceId
  1099  	}
  1100  	return ""
  1101  }
  1102  
  1103  func (x *ResolvedResource) GetPermissionship() ResolvedResource_Permissionship {
  1104  	if x != nil {
  1105  		return x.Permissionship
  1106  	}
  1107  	return ResolvedResource_UNKNOWN
  1108  }
  1109  
  1110  func (x *ResolvedResource) GetMissingRequiredContext() []string {
  1111  	if x != nil {
  1112  		return x.MissingRequiredContext
  1113  	}
  1114  	return nil
  1115  }
  1116  
  1117  type DispatchLookupResourcesResponse struct {
  1118  	state         protoimpl.MessageState
  1119  	sizeCache     protoimpl.SizeCache
  1120  	unknownFields protoimpl.UnknownFields
  1121  
  1122  	Metadata            *ResponseMeta     `protobuf:"bytes,1,opt,name=metadata,proto3" json:"metadata,omitempty"`
  1123  	ResolvedResource    *ResolvedResource `protobuf:"bytes,2,opt,name=resolved_resource,json=resolvedResource,proto3" json:"resolved_resource,omitempty"`
  1124  	AfterResponseCursor *Cursor           `protobuf:"bytes,3,opt,name=after_response_cursor,json=afterResponseCursor,proto3" json:"after_response_cursor,omitempty"`
  1125  }
  1126  
  1127  func (x *DispatchLookupResourcesResponse) Reset() {
  1128  	*x = DispatchLookupResourcesResponse{}
  1129  	if protoimpl.UnsafeEnabled {
  1130  		mi := &file_dispatch_v1_dispatch_proto_msgTypes[11]
  1131  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1132  		ms.StoreMessageInfo(mi)
  1133  	}
  1134  }
  1135  
  1136  func (x *DispatchLookupResourcesResponse) String() string {
  1137  	return protoimpl.X.MessageStringOf(x)
  1138  }
  1139  
  1140  func (*DispatchLookupResourcesResponse) ProtoMessage() {}
  1141  
  1142  func (x *DispatchLookupResourcesResponse) ProtoReflect() protoreflect.Message {
  1143  	mi := &file_dispatch_v1_dispatch_proto_msgTypes[11]
  1144  	if protoimpl.UnsafeEnabled && x != nil {
  1145  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1146  		if ms.LoadMessageInfo() == nil {
  1147  			ms.StoreMessageInfo(mi)
  1148  		}
  1149  		return ms
  1150  	}
  1151  	return mi.MessageOf(x)
  1152  }
  1153  
  1154  // Deprecated: Use DispatchLookupResourcesResponse.ProtoReflect.Descriptor instead.
  1155  func (*DispatchLookupResourcesResponse) Descriptor() ([]byte, []int) {
  1156  	return file_dispatch_v1_dispatch_proto_rawDescGZIP(), []int{11}
  1157  }
  1158  
  1159  func (x *DispatchLookupResourcesResponse) GetMetadata() *ResponseMeta {
  1160  	if x != nil {
  1161  		return x.Metadata
  1162  	}
  1163  	return nil
  1164  }
  1165  
  1166  func (x *DispatchLookupResourcesResponse) GetResolvedResource() *ResolvedResource {
  1167  	if x != nil {
  1168  		return x.ResolvedResource
  1169  	}
  1170  	return nil
  1171  }
  1172  
  1173  func (x *DispatchLookupResourcesResponse) GetAfterResponseCursor() *Cursor {
  1174  	if x != nil {
  1175  		return x.AfterResponseCursor
  1176  	}
  1177  	return nil
  1178  }
  1179  
  1180  type DispatchLookupSubjectsRequest struct {
  1181  	state         protoimpl.MessageState
  1182  	sizeCache     protoimpl.SizeCache
  1183  	unknownFields protoimpl.UnknownFields
  1184  
  1185  	Metadata         *ResolverMeta         `protobuf:"bytes,1,opt,name=metadata,proto3" json:"metadata,omitempty"`
  1186  	ResourceRelation *v1.RelationReference `protobuf:"bytes,2,opt,name=resource_relation,json=resourceRelation,proto3" json:"resource_relation,omitempty"`
  1187  	ResourceIds      []string              `protobuf:"bytes,3,rep,name=resource_ids,json=resourceIds,proto3" json:"resource_ids,omitempty"`
  1188  	SubjectRelation  *v1.RelationReference `protobuf:"bytes,4,opt,name=subject_relation,json=subjectRelation,proto3" json:"subject_relation,omitempty"`
  1189  	// optional_limit, if given, specifies a limit on the number of subjects returned. Note that the number
  1190  	// returned may be less than this count.
  1191  	OptionalLimit uint32 `protobuf:"varint,5,opt,name=optional_limit,json=optionalLimit,proto3" json:"optional_limit,omitempty"`
  1192  	// optional_cursor, if the specified, is the cursor at which to resume returning results. Note
  1193  	// that lookupsubjects can return duplicates.
  1194  	OptionalCursor *Cursor `protobuf:"bytes,6,opt,name=optional_cursor,json=optionalCursor,proto3" json:"optional_cursor,omitempty"`
  1195  }
  1196  
  1197  func (x *DispatchLookupSubjectsRequest) Reset() {
  1198  	*x = DispatchLookupSubjectsRequest{}
  1199  	if protoimpl.UnsafeEnabled {
  1200  		mi := &file_dispatch_v1_dispatch_proto_msgTypes[12]
  1201  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1202  		ms.StoreMessageInfo(mi)
  1203  	}
  1204  }
  1205  
  1206  func (x *DispatchLookupSubjectsRequest) String() string {
  1207  	return protoimpl.X.MessageStringOf(x)
  1208  }
  1209  
  1210  func (*DispatchLookupSubjectsRequest) ProtoMessage() {}
  1211  
  1212  func (x *DispatchLookupSubjectsRequest) ProtoReflect() protoreflect.Message {
  1213  	mi := &file_dispatch_v1_dispatch_proto_msgTypes[12]
  1214  	if protoimpl.UnsafeEnabled && x != nil {
  1215  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1216  		if ms.LoadMessageInfo() == nil {
  1217  			ms.StoreMessageInfo(mi)
  1218  		}
  1219  		return ms
  1220  	}
  1221  	return mi.MessageOf(x)
  1222  }
  1223  
  1224  // Deprecated: Use DispatchLookupSubjectsRequest.ProtoReflect.Descriptor instead.
  1225  func (*DispatchLookupSubjectsRequest) Descriptor() ([]byte, []int) {
  1226  	return file_dispatch_v1_dispatch_proto_rawDescGZIP(), []int{12}
  1227  }
  1228  
  1229  func (x *DispatchLookupSubjectsRequest) GetMetadata() *ResolverMeta {
  1230  	if x != nil {
  1231  		return x.Metadata
  1232  	}
  1233  	return nil
  1234  }
  1235  
  1236  func (x *DispatchLookupSubjectsRequest) GetResourceRelation() *v1.RelationReference {
  1237  	if x != nil {
  1238  		return x.ResourceRelation
  1239  	}
  1240  	return nil
  1241  }
  1242  
  1243  func (x *DispatchLookupSubjectsRequest) GetResourceIds() []string {
  1244  	if x != nil {
  1245  		return x.ResourceIds
  1246  	}
  1247  	return nil
  1248  }
  1249  
  1250  func (x *DispatchLookupSubjectsRequest) GetSubjectRelation() *v1.RelationReference {
  1251  	if x != nil {
  1252  		return x.SubjectRelation
  1253  	}
  1254  	return nil
  1255  }
  1256  
  1257  func (x *DispatchLookupSubjectsRequest) GetOptionalLimit() uint32 {
  1258  	if x != nil {
  1259  		return x.OptionalLimit
  1260  	}
  1261  	return 0
  1262  }
  1263  
  1264  func (x *DispatchLookupSubjectsRequest) GetOptionalCursor() *Cursor {
  1265  	if x != nil {
  1266  		return x.OptionalCursor
  1267  	}
  1268  	return nil
  1269  }
  1270  
  1271  type FoundSubject struct {
  1272  	state         protoimpl.MessageState
  1273  	sizeCache     protoimpl.SizeCache
  1274  	unknownFields protoimpl.UnknownFields
  1275  
  1276  	SubjectId        string               `protobuf:"bytes,1,opt,name=subject_id,json=subjectId,proto3" json:"subject_id,omitempty"`
  1277  	CaveatExpression *v1.CaveatExpression `protobuf:"bytes,2,opt,name=caveat_expression,json=caveatExpression,proto3" json:"caveat_expression,omitempty"`
  1278  	ExcludedSubjects []*FoundSubject      `protobuf:"bytes,3,rep,name=excluded_subjects,json=excludedSubjects,proto3" json:"excluded_subjects,omitempty"`
  1279  }
  1280  
  1281  func (x *FoundSubject) Reset() {
  1282  	*x = FoundSubject{}
  1283  	if protoimpl.UnsafeEnabled {
  1284  		mi := &file_dispatch_v1_dispatch_proto_msgTypes[13]
  1285  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1286  		ms.StoreMessageInfo(mi)
  1287  	}
  1288  }
  1289  
  1290  func (x *FoundSubject) String() string {
  1291  	return protoimpl.X.MessageStringOf(x)
  1292  }
  1293  
  1294  func (*FoundSubject) ProtoMessage() {}
  1295  
  1296  func (x *FoundSubject) ProtoReflect() protoreflect.Message {
  1297  	mi := &file_dispatch_v1_dispatch_proto_msgTypes[13]
  1298  	if protoimpl.UnsafeEnabled && x != nil {
  1299  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1300  		if ms.LoadMessageInfo() == nil {
  1301  			ms.StoreMessageInfo(mi)
  1302  		}
  1303  		return ms
  1304  	}
  1305  	return mi.MessageOf(x)
  1306  }
  1307  
  1308  // Deprecated: Use FoundSubject.ProtoReflect.Descriptor instead.
  1309  func (*FoundSubject) Descriptor() ([]byte, []int) {
  1310  	return file_dispatch_v1_dispatch_proto_rawDescGZIP(), []int{13}
  1311  }
  1312  
  1313  func (x *FoundSubject) GetSubjectId() string {
  1314  	if x != nil {
  1315  		return x.SubjectId
  1316  	}
  1317  	return ""
  1318  }
  1319  
  1320  func (x *FoundSubject) GetCaveatExpression() *v1.CaveatExpression {
  1321  	if x != nil {
  1322  		return x.CaveatExpression
  1323  	}
  1324  	return nil
  1325  }
  1326  
  1327  func (x *FoundSubject) GetExcludedSubjects() []*FoundSubject {
  1328  	if x != nil {
  1329  		return x.ExcludedSubjects
  1330  	}
  1331  	return nil
  1332  }
  1333  
  1334  type FoundSubjects struct {
  1335  	state         protoimpl.MessageState
  1336  	sizeCache     protoimpl.SizeCache
  1337  	unknownFields protoimpl.UnknownFields
  1338  
  1339  	FoundSubjects []*FoundSubject `protobuf:"bytes,1,rep,name=found_subjects,json=foundSubjects,proto3" json:"found_subjects,omitempty"`
  1340  }
  1341  
  1342  func (x *FoundSubjects) Reset() {
  1343  	*x = FoundSubjects{}
  1344  	if protoimpl.UnsafeEnabled {
  1345  		mi := &file_dispatch_v1_dispatch_proto_msgTypes[14]
  1346  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1347  		ms.StoreMessageInfo(mi)
  1348  	}
  1349  }
  1350  
  1351  func (x *FoundSubjects) String() string {
  1352  	return protoimpl.X.MessageStringOf(x)
  1353  }
  1354  
  1355  func (*FoundSubjects) ProtoMessage() {}
  1356  
  1357  func (x *FoundSubjects) ProtoReflect() protoreflect.Message {
  1358  	mi := &file_dispatch_v1_dispatch_proto_msgTypes[14]
  1359  	if protoimpl.UnsafeEnabled && x != nil {
  1360  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1361  		if ms.LoadMessageInfo() == nil {
  1362  			ms.StoreMessageInfo(mi)
  1363  		}
  1364  		return ms
  1365  	}
  1366  	return mi.MessageOf(x)
  1367  }
  1368  
  1369  // Deprecated: Use FoundSubjects.ProtoReflect.Descriptor instead.
  1370  func (*FoundSubjects) Descriptor() ([]byte, []int) {
  1371  	return file_dispatch_v1_dispatch_proto_rawDescGZIP(), []int{14}
  1372  }
  1373  
  1374  func (x *FoundSubjects) GetFoundSubjects() []*FoundSubject {
  1375  	if x != nil {
  1376  		return x.FoundSubjects
  1377  	}
  1378  	return nil
  1379  }
  1380  
  1381  type DispatchLookupSubjectsResponse struct {
  1382  	state         protoimpl.MessageState
  1383  	sizeCache     protoimpl.SizeCache
  1384  	unknownFields protoimpl.UnknownFields
  1385  
  1386  	FoundSubjectsByResourceId map[string]*FoundSubjects `protobuf:"bytes,1,rep,name=found_subjects_by_resource_id,json=foundSubjectsByResourceId,proto3" json:"found_subjects_by_resource_id,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
  1387  	Metadata                  *ResponseMeta             `protobuf:"bytes,2,opt,name=metadata,proto3" json:"metadata,omitempty"`
  1388  	AfterResponseCursor       *Cursor                   `protobuf:"bytes,3,opt,name=after_response_cursor,json=afterResponseCursor,proto3" json:"after_response_cursor,omitempty"`
  1389  }
  1390  
  1391  func (x *DispatchLookupSubjectsResponse) Reset() {
  1392  	*x = DispatchLookupSubjectsResponse{}
  1393  	if protoimpl.UnsafeEnabled {
  1394  		mi := &file_dispatch_v1_dispatch_proto_msgTypes[15]
  1395  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1396  		ms.StoreMessageInfo(mi)
  1397  	}
  1398  }
  1399  
  1400  func (x *DispatchLookupSubjectsResponse) String() string {
  1401  	return protoimpl.X.MessageStringOf(x)
  1402  }
  1403  
  1404  func (*DispatchLookupSubjectsResponse) ProtoMessage() {}
  1405  
  1406  func (x *DispatchLookupSubjectsResponse) ProtoReflect() protoreflect.Message {
  1407  	mi := &file_dispatch_v1_dispatch_proto_msgTypes[15]
  1408  	if protoimpl.UnsafeEnabled && x != nil {
  1409  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1410  		if ms.LoadMessageInfo() == nil {
  1411  			ms.StoreMessageInfo(mi)
  1412  		}
  1413  		return ms
  1414  	}
  1415  	return mi.MessageOf(x)
  1416  }
  1417  
  1418  // Deprecated: Use DispatchLookupSubjectsResponse.ProtoReflect.Descriptor instead.
  1419  func (*DispatchLookupSubjectsResponse) Descriptor() ([]byte, []int) {
  1420  	return file_dispatch_v1_dispatch_proto_rawDescGZIP(), []int{15}
  1421  }
  1422  
  1423  func (x *DispatchLookupSubjectsResponse) GetFoundSubjectsByResourceId() map[string]*FoundSubjects {
  1424  	if x != nil {
  1425  		return x.FoundSubjectsByResourceId
  1426  	}
  1427  	return nil
  1428  }
  1429  
  1430  func (x *DispatchLookupSubjectsResponse) GetMetadata() *ResponseMeta {
  1431  	if x != nil {
  1432  		return x.Metadata
  1433  	}
  1434  	return nil
  1435  }
  1436  
  1437  func (x *DispatchLookupSubjectsResponse) GetAfterResponseCursor() *Cursor {
  1438  	if x != nil {
  1439  		return x.AfterResponseCursor
  1440  	}
  1441  	return nil
  1442  }
  1443  
  1444  type ResolverMeta struct {
  1445  	state         protoimpl.MessageState
  1446  	sizeCache     protoimpl.SizeCache
  1447  	unknownFields protoimpl.UnknownFields
  1448  
  1449  	AtRevision     string `protobuf:"bytes,1,opt,name=at_revision,json=atRevision,proto3" json:"at_revision,omitempty"`
  1450  	DepthRemaining uint32 `protobuf:"varint,2,opt,name=depth_remaining,json=depthRemaining,proto3" json:"depth_remaining,omitempty"`
  1451  	// Deprecated: Marked as deprecated in dispatch/v1/dispatch.proto.
  1452  	RequestId      string `protobuf:"bytes,3,opt,name=request_id,json=requestId,proto3" json:"request_id,omitempty"`
  1453  	TraversalBloom []byte `protobuf:"bytes,4,opt,name=traversal_bloom,json=traversalBloom,proto3" json:"traversal_bloom,omitempty"`
  1454  }
  1455  
  1456  func (x *ResolverMeta) Reset() {
  1457  	*x = ResolverMeta{}
  1458  	if protoimpl.UnsafeEnabled {
  1459  		mi := &file_dispatch_v1_dispatch_proto_msgTypes[16]
  1460  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1461  		ms.StoreMessageInfo(mi)
  1462  	}
  1463  }
  1464  
  1465  func (x *ResolverMeta) String() string {
  1466  	return protoimpl.X.MessageStringOf(x)
  1467  }
  1468  
  1469  func (*ResolverMeta) ProtoMessage() {}
  1470  
  1471  func (x *ResolverMeta) ProtoReflect() protoreflect.Message {
  1472  	mi := &file_dispatch_v1_dispatch_proto_msgTypes[16]
  1473  	if protoimpl.UnsafeEnabled && x != nil {
  1474  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1475  		if ms.LoadMessageInfo() == nil {
  1476  			ms.StoreMessageInfo(mi)
  1477  		}
  1478  		return ms
  1479  	}
  1480  	return mi.MessageOf(x)
  1481  }
  1482  
  1483  // Deprecated: Use ResolverMeta.ProtoReflect.Descriptor instead.
  1484  func (*ResolverMeta) Descriptor() ([]byte, []int) {
  1485  	return file_dispatch_v1_dispatch_proto_rawDescGZIP(), []int{16}
  1486  }
  1487  
  1488  func (x *ResolverMeta) GetAtRevision() string {
  1489  	if x != nil {
  1490  		return x.AtRevision
  1491  	}
  1492  	return ""
  1493  }
  1494  
  1495  func (x *ResolverMeta) GetDepthRemaining() uint32 {
  1496  	if x != nil {
  1497  		return x.DepthRemaining
  1498  	}
  1499  	return 0
  1500  }
  1501  
  1502  // Deprecated: Marked as deprecated in dispatch/v1/dispatch.proto.
  1503  func (x *ResolverMeta) GetRequestId() string {
  1504  	if x != nil {
  1505  		return x.RequestId
  1506  	}
  1507  	return ""
  1508  }
  1509  
  1510  func (x *ResolverMeta) GetTraversalBloom() []byte {
  1511  	if x != nil {
  1512  		return x.TraversalBloom
  1513  	}
  1514  	return nil
  1515  }
  1516  
  1517  type ResponseMeta struct {
  1518  	state         protoimpl.MessageState
  1519  	sizeCache     protoimpl.SizeCache
  1520  	unknownFields protoimpl.UnknownFields
  1521  
  1522  	DispatchCount       uint32            `protobuf:"varint,1,opt,name=dispatch_count,json=dispatchCount,proto3" json:"dispatch_count,omitempty"`
  1523  	DepthRequired       uint32            `protobuf:"varint,2,opt,name=depth_required,json=depthRequired,proto3" json:"depth_required,omitempty"`
  1524  	CachedDispatchCount uint32            `protobuf:"varint,3,opt,name=cached_dispatch_count,json=cachedDispatchCount,proto3" json:"cached_dispatch_count,omitempty"`
  1525  	DebugInfo           *DebugInformation `protobuf:"bytes,6,opt,name=debug_info,json=debugInfo,proto3" json:"debug_info,omitempty"`
  1526  }
  1527  
  1528  func (x *ResponseMeta) Reset() {
  1529  	*x = ResponseMeta{}
  1530  	if protoimpl.UnsafeEnabled {
  1531  		mi := &file_dispatch_v1_dispatch_proto_msgTypes[17]
  1532  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1533  		ms.StoreMessageInfo(mi)
  1534  	}
  1535  }
  1536  
  1537  func (x *ResponseMeta) String() string {
  1538  	return protoimpl.X.MessageStringOf(x)
  1539  }
  1540  
  1541  func (*ResponseMeta) ProtoMessage() {}
  1542  
  1543  func (x *ResponseMeta) ProtoReflect() protoreflect.Message {
  1544  	mi := &file_dispatch_v1_dispatch_proto_msgTypes[17]
  1545  	if protoimpl.UnsafeEnabled && x != nil {
  1546  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1547  		if ms.LoadMessageInfo() == nil {
  1548  			ms.StoreMessageInfo(mi)
  1549  		}
  1550  		return ms
  1551  	}
  1552  	return mi.MessageOf(x)
  1553  }
  1554  
  1555  // Deprecated: Use ResponseMeta.ProtoReflect.Descriptor instead.
  1556  func (*ResponseMeta) Descriptor() ([]byte, []int) {
  1557  	return file_dispatch_v1_dispatch_proto_rawDescGZIP(), []int{17}
  1558  }
  1559  
  1560  func (x *ResponseMeta) GetDispatchCount() uint32 {
  1561  	if x != nil {
  1562  		return x.DispatchCount
  1563  	}
  1564  	return 0
  1565  }
  1566  
  1567  func (x *ResponseMeta) GetDepthRequired() uint32 {
  1568  	if x != nil {
  1569  		return x.DepthRequired
  1570  	}
  1571  	return 0
  1572  }
  1573  
  1574  func (x *ResponseMeta) GetCachedDispatchCount() uint32 {
  1575  	if x != nil {
  1576  		return x.CachedDispatchCount
  1577  	}
  1578  	return 0
  1579  }
  1580  
  1581  func (x *ResponseMeta) GetDebugInfo() *DebugInformation {
  1582  	if x != nil {
  1583  		return x.DebugInfo
  1584  	}
  1585  	return nil
  1586  }
  1587  
  1588  type DebugInformation struct {
  1589  	state         protoimpl.MessageState
  1590  	sizeCache     protoimpl.SizeCache
  1591  	unknownFields protoimpl.UnknownFields
  1592  
  1593  	Check *CheckDebugTrace `protobuf:"bytes,1,opt,name=check,proto3" json:"check,omitempty"`
  1594  }
  1595  
  1596  func (x *DebugInformation) Reset() {
  1597  	*x = DebugInformation{}
  1598  	if protoimpl.UnsafeEnabled {
  1599  		mi := &file_dispatch_v1_dispatch_proto_msgTypes[18]
  1600  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1601  		ms.StoreMessageInfo(mi)
  1602  	}
  1603  }
  1604  
  1605  func (x *DebugInformation) String() string {
  1606  	return protoimpl.X.MessageStringOf(x)
  1607  }
  1608  
  1609  func (*DebugInformation) ProtoMessage() {}
  1610  
  1611  func (x *DebugInformation) ProtoReflect() protoreflect.Message {
  1612  	mi := &file_dispatch_v1_dispatch_proto_msgTypes[18]
  1613  	if protoimpl.UnsafeEnabled && x != nil {
  1614  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1615  		if ms.LoadMessageInfo() == nil {
  1616  			ms.StoreMessageInfo(mi)
  1617  		}
  1618  		return ms
  1619  	}
  1620  	return mi.MessageOf(x)
  1621  }
  1622  
  1623  // Deprecated: Use DebugInformation.ProtoReflect.Descriptor instead.
  1624  func (*DebugInformation) Descriptor() ([]byte, []int) {
  1625  	return file_dispatch_v1_dispatch_proto_rawDescGZIP(), []int{18}
  1626  }
  1627  
  1628  func (x *DebugInformation) GetCheck() *CheckDebugTrace {
  1629  	if x != nil {
  1630  		return x.Check
  1631  	}
  1632  	return nil
  1633  }
  1634  
  1635  type CheckDebugTrace struct {
  1636  	state         protoimpl.MessageState
  1637  	sizeCache     protoimpl.SizeCache
  1638  	unknownFields protoimpl.UnknownFields
  1639  
  1640  	Request              *DispatchCheckRequest           `protobuf:"bytes,1,opt,name=request,proto3" json:"request,omitempty"`
  1641  	ResourceRelationType CheckDebugTrace_RelationType    `protobuf:"varint,2,opt,name=resource_relation_type,json=resourceRelationType,proto3,enum=dispatch.v1.CheckDebugTrace_RelationType" json:"resource_relation_type,omitempty"`
  1642  	Results              map[string]*ResourceCheckResult `protobuf:"bytes,3,rep,name=results,proto3" json:"results,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
  1643  	IsCachedResult       bool                            `protobuf:"varint,4,opt,name=is_cached_result,json=isCachedResult,proto3" json:"is_cached_result,omitempty"`
  1644  	SubProblems          []*CheckDebugTrace              `protobuf:"bytes,5,rep,name=sub_problems,json=subProblems,proto3" json:"sub_problems,omitempty"`
  1645  	Duration             *durationpb.Duration            `protobuf:"bytes,6,opt,name=duration,proto3" json:"duration,omitempty"`
  1646  }
  1647  
  1648  func (x *CheckDebugTrace) Reset() {
  1649  	*x = CheckDebugTrace{}
  1650  	if protoimpl.UnsafeEnabled {
  1651  		mi := &file_dispatch_v1_dispatch_proto_msgTypes[19]
  1652  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1653  		ms.StoreMessageInfo(mi)
  1654  	}
  1655  }
  1656  
  1657  func (x *CheckDebugTrace) String() string {
  1658  	return protoimpl.X.MessageStringOf(x)
  1659  }
  1660  
  1661  func (*CheckDebugTrace) ProtoMessage() {}
  1662  
  1663  func (x *CheckDebugTrace) ProtoReflect() protoreflect.Message {
  1664  	mi := &file_dispatch_v1_dispatch_proto_msgTypes[19]
  1665  	if protoimpl.UnsafeEnabled && x != nil {
  1666  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1667  		if ms.LoadMessageInfo() == nil {
  1668  			ms.StoreMessageInfo(mi)
  1669  		}
  1670  		return ms
  1671  	}
  1672  	return mi.MessageOf(x)
  1673  }
  1674  
  1675  // Deprecated: Use CheckDebugTrace.ProtoReflect.Descriptor instead.
  1676  func (*CheckDebugTrace) Descriptor() ([]byte, []int) {
  1677  	return file_dispatch_v1_dispatch_proto_rawDescGZIP(), []int{19}
  1678  }
  1679  
  1680  func (x *CheckDebugTrace) GetRequest() *DispatchCheckRequest {
  1681  	if x != nil {
  1682  		return x.Request
  1683  	}
  1684  	return nil
  1685  }
  1686  
  1687  func (x *CheckDebugTrace) GetResourceRelationType() CheckDebugTrace_RelationType {
  1688  	if x != nil {
  1689  		return x.ResourceRelationType
  1690  	}
  1691  	return CheckDebugTrace_UNKNOWN
  1692  }
  1693  
  1694  func (x *CheckDebugTrace) GetResults() map[string]*ResourceCheckResult {
  1695  	if x != nil {
  1696  		return x.Results
  1697  	}
  1698  	return nil
  1699  }
  1700  
  1701  func (x *CheckDebugTrace) GetIsCachedResult() bool {
  1702  	if x != nil {
  1703  		return x.IsCachedResult
  1704  	}
  1705  	return false
  1706  }
  1707  
  1708  func (x *CheckDebugTrace) GetSubProblems() []*CheckDebugTrace {
  1709  	if x != nil {
  1710  		return x.SubProblems
  1711  	}
  1712  	return nil
  1713  }
  1714  
  1715  func (x *CheckDebugTrace) GetDuration() *durationpb.Duration {
  1716  	if x != nil {
  1717  		return x.Duration
  1718  	}
  1719  	return nil
  1720  }
  1721  
  1722  var File_dispatch_v1_dispatch_proto protoreflect.FileDescriptor
  1723  
  1724  var file_dispatch_v1_dispatch_proto_rawDesc = []byte{
  1725  	0x0a, 0x1a, 0x64, 0x69, 0x73, 0x70, 0x61, 0x74, 0x63, 0x68, 0x2f, 0x76, 0x31, 0x2f, 0x64, 0x69,
  1726  	0x73, 0x70, 0x61, 0x74, 0x63, 0x68, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x0b, 0x64, 0x69,
  1727  	0x73, 0x70, 0x61, 0x74, 0x63, 0x68, 0x2e, 0x76, 0x31, 0x1a, 0x12, 0x63, 0x6f, 0x72, 0x65, 0x2f,
  1728  	0x76, 0x31, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x67,
  1729  	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x64,
  1730  	0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1c, 0x67,
  1731  	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x73,
  1732  	0x74, 0x72, 0x75, 0x63, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x76, 0x61, 0x6c,
  1733  	0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70,
  1734  	0x72, 0x6f, 0x74, 0x6f, 0x22, 0xc8, 0x04, 0x0a, 0x14, 0x44, 0x69, 0x73, 0x70, 0x61, 0x74, 0x63,
  1735  	0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3f, 0x0a,
  1736  	0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32,
  1737  	0x19, 0x2e, 0x64, 0x69, 0x73, 0x70, 0x61, 0x74, 0x63, 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65,
  1738  	0x73, 0x6f, 0x6c, 0x76, 0x65, 0x72, 0x4d, 0x65, 0x74, 0x61, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x8a,
  1739  	0x01, 0x02, 0x10, 0x01, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x51,
  1740  	0x0a, 0x11, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x72, 0x65, 0x6c, 0x61, 0x74,
  1741  	0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x63, 0x6f, 0x72, 0x65,
  1742  	0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x66, 0x65,
  1743  	0x72, 0x65, 0x6e, 0x63, 0x65, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x8a, 0x01, 0x02, 0x10, 0x01, 0x52,
  1744  	0x10, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f,
  1745  	0x6e, 0x12, 0x21, 0x0a, 0x0c, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x69, 0x64,
  1746  	0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0b, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63,
  1747  	0x65, 0x49, 0x64, 0x73, 0x12, 0x3e, 0x0a, 0x07, 0x73, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x18,
  1748  	0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x2e,
  1749  	0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x41, 0x6e, 0x64, 0x52, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f,
  1750  	0x6e, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x8a, 0x01, 0x02, 0x10, 0x01, 0x52, 0x07, 0x73, 0x75, 0x62,
  1751  	0x6a, 0x65, 0x63, 0x74, 0x12, 0x59, 0x0a, 0x0f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x5f,
  1752  	0x73, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x30, 0x2e,
  1753  	0x64, 0x69, 0x73, 0x70, 0x61, 0x74, 0x63, 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x69, 0x73, 0x70,
  1754  	0x61, 0x74, 0x63, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
  1755  	0x2e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x52,
  1756  	0x0e, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x12,
  1757  	0x44, 0x0a, 0x05, 0x64, 0x65, 0x62, 0x75, 0x67, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2e,
  1758  	0x2e, 0x64, 0x69, 0x73, 0x70, 0x61, 0x74, 0x63, 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x69, 0x73,
  1759  	0x70, 0x61, 0x74, 0x63, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
  1760  	0x74, 0x2e, 0x44, 0x65, 0x62, 0x75, 0x67, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x05,
  1761  	0x64, 0x65, 0x62, 0x75, 0x67, 0x22, 0x54, 0x0a, 0x0c, 0x44, 0x65, 0x62, 0x75, 0x67, 0x53, 0x65,
  1762  	0x74, 0x74, 0x69, 0x6e, 0x67, 0x12, 0x0c, 0x0a, 0x08, 0x4e, 0x4f, 0x5f, 0x44, 0x45, 0x42, 0x55,
  1763  	0x47, 0x10, 0x00, 0x12, 0x1a, 0x0a, 0x16, 0x45, 0x4e, 0x41, 0x42, 0x4c, 0x45, 0x5f, 0x42, 0x41,
  1764  	0x53, 0x49, 0x43, 0x5f, 0x44, 0x45, 0x42, 0x55, 0x47, 0x47, 0x49, 0x4e, 0x47, 0x10, 0x01, 0x12,
  1765  	0x1a, 0x0a, 0x16, 0x45, 0x4e, 0x41, 0x42, 0x4c, 0x45, 0x5f, 0x54, 0x52, 0x41, 0x43, 0x45, 0x5f,
  1766  	0x44, 0x45, 0x42, 0x55, 0x47, 0x47, 0x49, 0x4e, 0x47, 0x10, 0x02, 0x22, 0x42, 0x0a, 0x0e, 0x52,
  1767  	0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x12, 0x17, 0x0a,
  1768  	0x13, 0x52, 0x45, 0x51, 0x55, 0x49, 0x52, 0x45, 0x5f, 0x41, 0x4c, 0x4c, 0x5f, 0x52, 0x45, 0x53,
  1769  	0x55, 0x4c, 0x54, 0x53, 0x10, 0x00, 0x12, 0x17, 0x0a, 0x13, 0x41, 0x4c, 0x4c, 0x4f, 0x57, 0x5f,
  1770  	0x53, 0x49, 0x4e, 0x47, 0x4c, 0x45, 0x5f, 0x52, 0x45, 0x53, 0x55, 0x4c, 0x54, 0x10, 0x01, 0x22,
  1771  	0xaa, 0x02, 0x0a, 0x15, 0x44, 0x69, 0x73, 0x70, 0x61, 0x74, 0x63, 0x68, 0x43, 0x68, 0x65, 0x63,
  1772  	0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x35, 0x0a, 0x08, 0x6d, 0x65, 0x74,
  1773  	0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x64, 0x69,
  1774  	0x73, 0x70, 0x61, 0x74, 0x63, 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e,
  1775  	0x73, 0x65, 0x4d, 0x65, 0x74, 0x61, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61,
  1776  	0x12, 0x70, 0x0a, 0x16, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x5f, 0x62, 0x79, 0x5f, 0x72,
  1777  	0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b,
  1778  	0x32, 0x3b, 0x2e, 0x64, 0x69, 0x73, 0x70, 0x61, 0x74, 0x63, 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x44,
  1779  	0x69, 0x73, 0x70, 0x61, 0x74, 0x63, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x52, 0x65, 0x73, 0x70,
  1780  	0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x42, 0x79, 0x52, 0x65,
  1781  	0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x49, 0x64, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x13, 0x72,
  1782  	0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x42, 0x79, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65,
  1783  	0x49, 0x64, 0x1a, 0x68, 0x0a, 0x18, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x42, 0x79, 0x52,
  1784  	0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x49, 0x64, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10,
  1785  	0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79,
  1786  	0x12, 0x36, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32,
  1787  	0x20, 0x2e, 0x64, 0x69, 0x73, 0x70, 0x61, 0x74, 0x63, 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65,
  1788  	0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x52, 0x65, 0x73, 0x75, 0x6c,
  1789  	0x74, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x99, 0x02, 0x0a,
  1790  	0x13, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x52, 0x65,
  1791  	0x73, 0x75, 0x6c, 0x74, 0x12, 0x4b, 0x0a, 0x0a, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x68,
  1792  	0x69, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2b, 0x2e, 0x64, 0x69, 0x73, 0x70, 0x61,
  1793  	0x74, 0x63, 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x43,
  1794  	0x68, 0x65, 0x63, 0x6b, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x2e, 0x4d, 0x65, 0x6d, 0x62, 0x65,
  1795  	0x72, 0x73, 0x68, 0x69, 0x70, 0x52, 0x0a, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x68, 0x69,
  1796  	0x70, 0x12, 0x39, 0x0a, 0x0a, 0x65, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x18,
  1797  	0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x2e,
  1798  	0x43, 0x61, 0x76, 0x65, 0x61, 0x74, 0x45, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e,
  1799  	0x52, 0x0a, 0x65, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x2e, 0x0a, 0x13,
  1800  	0x6d, 0x69, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x5f, 0x65, 0x78, 0x70, 0x72, 0x5f, 0x66, 0x69, 0x65,
  1801  	0x6c, 0x64, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x11, 0x6d, 0x69, 0x73, 0x73, 0x69,
  1802  	0x6e, 0x67, 0x45, 0x78, 0x70, 0x72, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x22, 0x4a, 0x0a, 0x0a,
  1803  	0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x68, 0x69, 0x70, 0x12, 0x0b, 0x0a, 0x07, 0x55, 0x4e,
  1804  	0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x00, 0x12, 0x0e, 0x0a, 0x0a, 0x4e, 0x4f, 0x54, 0x5f, 0x4d,
  1805  	0x45, 0x4d, 0x42, 0x45, 0x52, 0x10, 0x01, 0x12, 0x0a, 0x0a, 0x06, 0x4d, 0x45, 0x4d, 0x42, 0x45,
  1806  	0x52, 0x10, 0x02, 0x12, 0x13, 0x0a, 0x0f, 0x43, 0x41, 0x56, 0x45, 0x41, 0x54, 0x45, 0x44, 0x5f,
  1807  	0x4d, 0x45, 0x4d, 0x42, 0x45, 0x52, 0x10, 0x03, 0x22, 0xb8, 0x02, 0x0a, 0x15, 0x44, 0x69, 0x73,
  1808  	0x70, 0x61, 0x74, 0x63, 0x68, 0x45, 0x78, 0x70, 0x61, 0x6e, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65,
  1809  	0x73, 0x74, 0x12, 0x3f, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01,
  1810  	0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x64, 0x69, 0x73, 0x70, 0x61, 0x74, 0x63, 0x68, 0x2e,
  1811  	0x76, 0x31, 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x72, 0x4d, 0x65, 0x74, 0x61, 0x42,
  1812  	0x08, 0xfa, 0x42, 0x05, 0x8a, 0x01, 0x02, 0x10, 0x01, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64,
  1813  	0x61, 0x74, 0x61, 0x12, 0x58, 0x0a, 0x15, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f,
  1814  	0x61, 0x6e, 0x64, 0x5f, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01,
  1815  	0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x62, 0x6a,
  1816  	0x65, 0x63, 0x74, 0x41, 0x6e, 0x64, 0x52, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x08,
  1817  	0xfa, 0x42, 0x05, 0x8a, 0x01, 0x02, 0x10, 0x01, 0x52, 0x13, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72,
  1818  	0x63, 0x65, 0x41, 0x6e, 0x64, 0x52, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x57, 0x0a,
  1819  	0x0e, 0x65, 0x78, 0x70, 0x61, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x18,
  1820  	0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x30, 0x2e, 0x64, 0x69, 0x73, 0x70, 0x61, 0x74, 0x63, 0x68,
  1821  	0x2e, 0x76, 0x31, 0x2e, 0x44, 0x69, 0x73, 0x70, 0x61, 0x74, 0x63, 0x68, 0x45, 0x78, 0x70, 0x61,
  1822  	0x6e, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x45, 0x78, 0x70, 0x61, 0x6e, 0x73,
  1823  	0x69, 0x6f, 0x6e, 0x4d, 0x6f, 0x64, 0x65, 0x52, 0x0d, 0x65, 0x78, 0x70, 0x61, 0x6e, 0x73, 0x69,
  1824  	0x6f, 0x6e, 0x4d, 0x6f, 0x64, 0x65, 0x22, 0x2b, 0x0a, 0x0d, 0x45, 0x78, 0x70, 0x61, 0x6e, 0x73,
  1825  	0x69, 0x6f, 0x6e, 0x4d, 0x6f, 0x64, 0x65, 0x12, 0x0b, 0x0a, 0x07, 0x53, 0x48, 0x41, 0x4c, 0x4c,
  1826  	0x4f, 0x57, 0x10, 0x00, 0x12, 0x0d, 0x0a, 0x09, 0x52, 0x45, 0x43, 0x55, 0x52, 0x53, 0x49, 0x56,
  1827  	0x45, 0x10, 0x01, 0x22, 0x8c, 0x01, 0x0a, 0x16, 0x44, 0x69, 0x73, 0x70, 0x61, 0x74, 0x63, 0x68,
  1828  	0x45, 0x78, 0x70, 0x61, 0x6e, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x35,
  1829  	0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b,
  1830  	0x32, 0x19, 0x2e, 0x64, 0x69, 0x73, 0x70, 0x61, 0x74, 0x63, 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x52,
  1831  	0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x4d, 0x65, 0x74, 0x61, 0x52, 0x08, 0x6d, 0x65, 0x74,
  1832  	0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x3b, 0x0a, 0x09, 0x74, 0x72, 0x65, 0x65, 0x5f, 0x6e, 0x6f,
  1833  	0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e,
  1834  	0x76, 0x31, 0x2e, 0x52, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x75, 0x70, 0x6c, 0x65,
  1835  	0x54, 0x72, 0x65, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x08, 0x74, 0x72, 0x65, 0x65, 0x4e, 0x6f,
  1836  	0x64, 0x65, 0x22, 0x55, 0x0a, 0x06, 0x43, 0x75, 0x72, 0x73, 0x6f, 0x72, 0x12, 0x1a, 0x0a, 0x08,
  1837  	0x73, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x08,
  1838  	0x73, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x29, 0x0a, 0x10, 0x64, 0x69, 0x73, 0x70,
  1839  	0x61, 0x74, 0x63, 0x68, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01,
  1840  	0x28, 0x0d, 0x52, 0x0f, 0x64, 0x69, 0x73, 0x70, 0x61, 0x74, 0x63, 0x68, 0x56, 0x65, 0x72, 0x73,
  1841  	0x69, 0x6f, 0x6e, 0x4a, 0x04, 0x08, 0x01, 0x10, 0x02, 0x22, 0x8e, 0x03, 0x0a, 0x21, 0x44, 0x69,
  1842  	0x73, 0x70, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x61, 0x63, 0x68, 0x61, 0x62, 0x6c, 0x65, 0x52,
  1843  	0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12,
  1844  	0x3f, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28,
  1845  	0x0b, 0x32, 0x19, 0x2e, 0x64, 0x69, 0x73, 0x70, 0x61, 0x74, 0x63, 0x68, 0x2e, 0x76, 0x31, 0x2e,
  1846  	0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x72, 0x4d, 0x65, 0x74, 0x61, 0x42, 0x08, 0xfa, 0x42,
  1847  	0x05, 0x8a, 0x01, 0x02, 0x10, 0x01, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61,
  1848  	0x12, 0x51, 0x0a, 0x11, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x72, 0x65, 0x6c,
  1849  	0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x63, 0x6f,
  1850  	0x72, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65,
  1851  	0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x8a, 0x01, 0x02, 0x10,
  1852  	0x01, 0x52, 0x10, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x65, 0x6c, 0x61, 0x74,
  1853  	0x69, 0x6f, 0x6e, 0x12, 0x4f, 0x0a, 0x10, 0x73, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x72,
  1854  	0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e,
  1855  	0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e,
  1856  	0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x8a, 0x01,
  1857  	0x02, 0x10, 0x01, 0x52, 0x0f, 0x73, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x6c, 0x61,
  1858  	0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x5f,
  1859  	0x69, 0x64, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0a, 0x73, 0x75, 0x62, 0x6a, 0x65,
  1860  	0x63, 0x74, 0x49, 0x64, 0x73, 0x12, 0x3c, 0x0a, 0x0f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61,
  1861  	0x6c, 0x5f, 0x63, 0x75, 0x72, 0x73, 0x6f, 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13,
  1862  	0x2e, 0x64, 0x69, 0x73, 0x70, 0x61, 0x74, 0x63, 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x75, 0x72,
  1863  	0x73, 0x6f, 0x72, 0x52, 0x0e, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x43, 0x75, 0x72,
  1864  	0x73, 0x6f, 0x72, 0x12, 0x25, 0x0a, 0x0e, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f,
  1865  	0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x6f, 0x70, 0x74,
  1866  	0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x22, 0xe6, 0x01, 0x0a, 0x11, 0x52,
  1867  	0x65, 0x61, 0x63, 0x68, 0x61, 0x62, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65,
  1868  	0x12, 0x1f, 0x0a, 0x0b, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x69, 0x64, 0x18,
  1869  	0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x49,
  1870  	0x64, 0x12, 0x50, 0x0a, 0x0d, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x5f, 0x73, 0x74, 0x61, 0x74,
  1871  	0x75, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2b, 0x2e, 0x64, 0x69, 0x73, 0x70, 0x61,
  1872  	0x74, 0x63, 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x61, 0x63, 0x68, 0x61, 0x62, 0x6c, 0x65,
  1873  	0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x53,
  1874  	0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x0c, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x53, 0x74, 0x61,
  1875  	0x74, 0x75, 0x73, 0x12, 0x26, 0x0a, 0x0f, 0x66, 0x6f, 0x72, 0x5f, 0x73, 0x75, 0x62, 0x6a, 0x65,
  1876  	0x63, 0x74, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0d, 0x66, 0x6f,
  1877  	0x72, 0x53, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x73, 0x22, 0x36, 0x0a, 0x0c, 0x52,
  1878  	0x65, 0x73, 0x75, 0x6c, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x12, 0x0a, 0x0e, 0x52,
  1879  	0x45, 0x51, 0x55, 0x49, 0x52, 0x45, 0x53, 0x5f, 0x43, 0x48, 0x45, 0x43, 0x4b, 0x10, 0x00, 0x12,
  1880  	0x12, 0x0a, 0x0e, 0x48, 0x41, 0x53, 0x5f, 0x50, 0x45, 0x52, 0x4d, 0x49, 0x53, 0x53, 0x49, 0x4f,
  1881  	0x4e, 0x10, 0x01, 0x22, 0xe0, 0x01, 0x0a, 0x22, 0x44, 0x69, 0x73, 0x70, 0x61, 0x74, 0x63, 0x68,
  1882  	0x52, 0x65, 0x61, 0x63, 0x68, 0x61, 0x62, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63,
  1883  	0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3a, 0x0a, 0x08, 0x72, 0x65,
  1884  	0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x64,
  1885  	0x69, 0x73, 0x70, 0x61, 0x74, 0x63, 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x61, 0x63, 0x68,
  1886  	0x61, 0x62, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x08, 0x72, 0x65,
  1887  	0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x35, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61,
  1888  	0x74, 0x61, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x64, 0x69, 0x73, 0x70, 0x61,
  1889  	0x74, 0x63, 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x4d,
  1890  	0x65, 0x74, 0x61, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x47, 0x0a,
  1891  	0x15, 0x61, 0x66, 0x74, 0x65, 0x72, 0x5f, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x5f,
  1892  	0x63, 0x75, 0x72, 0x73, 0x6f, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x64,
  1893  	0x69, 0x73, 0x70, 0x61, 0x74, 0x63, 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x75, 0x72, 0x73, 0x6f,
  1894  	0x72, 0x52, 0x13, 0x61, 0x66, 0x74, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
  1895  	0x43, 0x75, 0x72, 0x73, 0x6f, 0x72, 0x22, 0x88, 0x03, 0x0a, 0x1e, 0x44, 0x69, 0x73, 0x70, 0x61,
  1896  	0x74, 0x63, 0x68, 0x4c, 0x6f, 0x6f, 0x6b, 0x75, 0x70, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63,
  1897  	0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3f, 0x0a, 0x08, 0x6d, 0x65, 0x74,
  1898  	0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x64, 0x69,
  1899  	0x73, 0x70, 0x61, 0x74, 0x63, 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76,
  1900  	0x65, 0x72, 0x4d, 0x65, 0x74, 0x61, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x8a, 0x01, 0x02, 0x10, 0x01,
  1901  	0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x4d, 0x0a, 0x0f, 0x6f, 0x62,
  1902  	0x6a, 0x65, 0x63, 0x74, 0x5f, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20,
  1903  	0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65,
  1904  	0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x42,
  1905  	0x08, 0xfa, 0x42, 0x05, 0x8a, 0x01, 0x02, 0x10, 0x01, 0x52, 0x0e, 0x6f, 0x62, 0x6a, 0x65, 0x63,
  1906  	0x74, 0x52, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x3e, 0x0a, 0x07, 0x73, 0x75, 0x62,
  1907  	0x6a, 0x65, 0x63, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x63, 0x6f, 0x72,
  1908  	0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x41, 0x6e, 0x64, 0x52, 0x65,
  1909  	0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x8a, 0x01, 0x02, 0x10, 0x01,
  1910  	0x52, 0x07, 0x73, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x31, 0x0a, 0x07, 0x63, 0x6f, 0x6e,
  1911  	0x74, 0x65, 0x78, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x67, 0x6f, 0x6f,
  1912  	0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72,
  1913  	0x75, 0x63, 0x74, 0x52, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x12, 0x25, 0x0a, 0x0e,
  1914  	0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x04,
  1915  	0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x4c, 0x69,
  1916  	0x6d, 0x69, 0x74, 0x12, 0x3c, 0x0a, 0x0f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f,
  1917  	0x63, 0x75, 0x72, 0x73, 0x6f, 0x72, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x64,
  1918  	0x69, 0x73, 0x70, 0x61, 0x74, 0x63, 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x75, 0x72, 0x73, 0x6f,
  1919  	0x72, 0x52, 0x0e, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x43, 0x75, 0x72, 0x73, 0x6f,
  1920  	0x72, 0x22, 0x98, 0x02, 0x0a, 0x10, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x64, 0x52, 0x65,
  1921  	0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72,
  1922  	0x63, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x72, 0x65, 0x73,
  1923  	0x6f, 0x75, 0x72, 0x63, 0x65, 0x49, 0x64, 0x12, 0x54, 0x0a, 0x0e, 0x70, 0x65, 0x72, 0x6d, 0x69,
  1924  	0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x68, 0x69, 0x70, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32,
  1925  	0x2c, 0x2e, 0x64, 0x69, 0x73, 0x70, 0x61, 0x74, 0x63, 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65,
  1926  	0x73, 0x6f, 0x6c, 0x76, 0x65, 0x64, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2e, 0x50,
  1927  	0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x68, 0x69, 0x70, 0x52, 0x0e, 0x70,
  1928  	0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x68, 0x69, 0x70, 0x12, 0x38, 0x0a,
  1929  	0x18, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65,
  1930  	0x64, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52,
  1931  	0x16, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64,
  1932  	0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x22, 0x53, 0x0a, 0x0e, 0x50, 0x65, 0x72, 0x6d, 0x69,
  1933  	0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x68, 0x69, 0x70, 0x12, 0x0b, 0x0a, 0x07, 0x55, 0x4e, 0x4b,
  1934  	0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x00, 0x12, 0x12, 0x0a, 0x0e, 0x48, 0x41, 0x53, 0x5f, 0x50, 0x45,
  1935  	0x52, 0x4d, 0x49, 0x53, 0x53, 0x49, 0x4f, 0x4e, 0x10, 0x01, 0x12, 0x20, 0x0a, 0x1c, 0x43, 0x4f,
  1936  	0x4e, 0x44, 0x49, 0x54, 0x49, 0x4f, 0x4e, 0x41, 0x4c, 0x4c, 0x59, 0x5f, 0x48, 0x41, 0x53, 0x5f,
  1937  	0x50, 0x45, 0x52, 0x4d, 0x49, 0x53, 0x53, 0x49, 0x4f, 0x4e, 0x10, 0x02, 0x22, 0xed, 0x01, 0x0a,
  1938  	0x1f, 0x44, 0x69, 0x73, 0x70, 0x61, 0x74, 0x63, 0x68, 0x4c, 0x6f, 0x6f, 0x6b, 0x75, 0x70, 0x52,
  1939  	0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
  1940  	0x12, 0x35, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01,
  1941  	0x28, 0x0b, 0x32, 0x19, 0x2e, 0x64, 0x69, 0x73, 0x70, 0x61, 0x74, 0x63, 0x68, 0x2e, 0x76, 0x31,
  1942  	0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x4d, 0x65, 0x74, 0x61, 0x52, 0x08, 0x6d,
  1943  	0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x4a, 0x0a, 0x11, 0x72, 0x65, 0x73, 0x6f, 0x6c,
  1944  	0x76, 0x65, 0x64, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01,
  1945  	0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x64, 0x69, 0x73, 0x70, 0x61, 0x74, 0x63, 0x68, 0x2e, 0x76, 0x31,
  1946  	0x2e, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x64, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63,
  1947  	0x65, 0x52, 0x10, 0x72, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x64, 0x52, 0x65, 0x73, 0x6f, 0x75,
  1948  	0x72, 0x63, 0x65, 0x12, 0x47, 0x0a, 0x15, 0x61, 0x66, 0x74, 0x65, 0x72, 0x5f, 0x72, 0x65, 0x73,
  1949  	0x70, 0x6f, 0x6e, 0x73, 0x65, 0x5f, 0x63, 0x75, 0x72, 0x73, 0x6f, 0x72, 0x18, 0x03, 0x20, 0x01,
  1950  	0x28, 0x0b, 0x32, 0x13, 0x2e, 0x64, 0x69, 0x73, 0x70, 0x61, 0x74, 0x63, 0x68, 0x2e, 0x76, 0x31,
  1951  	0x2e, 0x43, 0x75, 0x72, 0x73, 0x6f, 0x72, 0x52, 0x13, 0x61, 0x66, 0x74, 0x65, 0x72, 0x52, 0x65,
  1952  	0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x43, 0x75, 0x72, 0x73, 0x6f, 0x72, 0x22, 0x8c, 0x03, 0x0a,
  1953  	0x1d, 0x44, 0x69, 0x73, 0x70, 0x61, 0x74, 0x63, 0x68, 0x4c, 0x6f, 0x6f, 0x6b, 0x75, 0x70, 0x53,
  1954  	0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3f,
  1955  	0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b,
  1956  	0x32, 0x19, 0x2e, 0x64, 0x69, 0x73, 0x70, 0x61, 0x74, 0x63, 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x52,
  1957  	0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x72, 0x4d, 0x65, 0x74, 0x61, 0x42, 0x08, 0xfa, 0x42, 0x05,
  1958  	0x8a, 0x01, 0x02, 0x10, 0x01, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12,
  1959  	0x51, 0x0a, 0x11, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x72, 0x65, 0x6c, 0x61,
  1960  	0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x63, 0x6f, 0x72,
  1961  	0x65, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x66,
  1962  	0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x8a, 0x01, 0x02, 0x10, 0x01,
  1963  	0x52, 0x10, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x65, 0x6c, 0x61, 0x74, 0x69,
  1964  	0x6f, 0x6e, 0x12, 0x21, 0x0a, 0x0c, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x69,
  1965  	0x64, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0b, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72,
  1966  	0x63, 0x65, 0x49, 0x64, 0x73, 0x12, 0x4f, 0x0a, 0x10, 0x73, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74,
  1967  	0x5f, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32,
  1968  	0x1a, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x6c, 0x61, 0x74, 0x69,
  1969  	0x6f, 0x6e, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x42, 0x08, 0xfa, 0x42, 0x05,
  1970  	0x8a, 0x01, 0x02, 0x10, 0x01, 0x52, 0x0f, 0x73, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65,
  1971  	0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x25, 0x0a, 0x0e, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e,
  1972  	0x61, 0x6c, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d,
  1973  	0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x3c, 0x0a,
  1974  	0x0f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x63, 0x75, 0x72, 0x73, 0x6f, 0x72,
  1975  	0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x64, 0x69, 0x73, 0x70, 0x61, 0x74, 0x63,
  1976  	0x68, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x75, 0x72, 0x73, 0x6f, 0x72, 0x52, 0x0e, 0x6f, 0x70, 0x74,
  1977  	0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x43, 0x75, 0x72, 0x73, 0x6f, 0x72, 0x22, 0xbd, 0x01, 0x0a, 0x0c,
  1978  	0x46, 0x6f, 0x75, 0x6e, 0x64, 0x53, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x1d, 0x0a, 0x0a,
  1979  	0x73, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09,
  1980  	0x52, 0x09, 0x73, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x12, 0x46, 0x0a, 0x11, 0x63,
  1981  	0x61, 0x76, 0x65, 0x61, 0x74, 0x5f, 0x65, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e,
  1982  	0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31,
  1983  	0x2e, 0x43, 0x61, 0x76, 0x65, 0x61, 0x74, 0x45, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f,
  1984  	0x6e, 0x52, 0x10, 0x63, 0x61, 0x76, 0x65, 0x61, 0x74, 0x45, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73,
  1985  	0x69, 0x6f, 0x6e, 0x12, 0x46, 0x0a, 0x11, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x64, 0x5f,
  1986  	0x73, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x19,
  1987  	0x2e, 0x64, 0x69, 0x73, 0x70, 0x61, 0x74, 0x63, 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x46, 0x6f, 0x75,
  1988  	0x6e, 0x64, 0x53, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x10, 0x65, 0x78, 0x63, 0x6c, 0x75,
  1989  	0x64, 0x65, 0x64, 0x53, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x22, 0x51, 0x0a, 0x0d, 0x46,
  1990  	0x6f, 0x75, 0x6e, 0x64, 0x53, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x12, 0x40, 0x0a, 0x0e,
  1991  	0x66, 0x6f, 0x75, 0x6e, 0x64, 0x5f, 0x73, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x18, 0x01,
  1992  	0x20, 0x03, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x64, 0x69, 0x73, 0x70, 0x61, 0x74, 0x63, 0x68, 0x2e,
  1993  	0x76, 0x31, 0x2e, 0x46, 0x6f, 0x75, 0x6e, 0x64, 0x53, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52,
  1994  	0x0d, 0x66, 0x6f, 0x75, 0x6e, 0x64, 0x53, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x22, 0x99,
  1995  	0x03, 0x0a, 0x1e, 0x44, 0x69, 0x73, 0x70, 0x61, 0x74, 0x63, 0x68, 0x4c, 0x6f, 0x6f, 0x6b, 0x75,
  1996  	0x70, 0x53, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
  1997  	0x65, 0x12, 0x8c, 0x01, 0x0a, 0x1d, 0x66, 0x6f, 0x75, 0x6e, 0x64, 0x5f, 0x73, 0x75, 0x62, 0x6a,
  1998  	0x65, 0x63, 0x74, 0x73, 0x5f, 0x62, 0x79, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65,
  1999  	0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x4a, 0x2e, 0x64, 0x69, 0x73, 0x70,
  2000  	0x61, 0x74, 0x63, 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x69, 0x73, 0x70, 0x61, 0x74, 0x63, 0x68,
  2001  	0x4c, 0x6f, 0x6f, 0x6b, 0x75, 0x70, 0x53, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x52, 0x65,
  2002  	0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x46, 0x6f, 0x75, 0x6e, 0x64, 0x53, 0x75, 0x62, 0x6a,
  2003  	0x65, 0x63, 0x74, 0x73, 0x42, 0x79, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x49, 0x64,
  2004  	0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x19, 0x66, 0x6f, 0x75, 0x6e, 0x64, 0x53, 0x75, 0x62, 0x6a,
  2005  	0x65, 0x63, 0x74, 0x73, 0x42, 0x79, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x49, 0x64,
  2006  	0x12, 0x35, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x02, 0x20, 0x01,
  2007  	0x28, 0x0b, 0x32, 0x19, 0x2e, 0x64, 0x69, 0x73, 0x70, 0x61, 0x74, 0x63, 0x68, 0x2e, 0x76, 0x31,
  2008  	0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x4d, 0x65, 0x74, 0x61, 0x52, 0x08, 0x6d,
  2009  	0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x47, 0x0a, 0x15, 0x61, 0x66, 0x74, 0x65, 0x72,
  2010  	0x5f, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x5f, 0x63, 0x75, 0x72, 0x73, 0x6f, 0x72,
  2011  	0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x64, 0x69, 0x73, 0x70, 0x61, 0x74, 0x63,
  2012  	0x68, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x75, 0x72, 0x73, 0x6f, 0x72, 0x52, 0x13, 0x61, 0x66, 0x74,
  2013  	0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x43, 0x75, 0x72, 0x73, 0x6f, 0x72,
  2014  	0x1a, 0x68, 0x0a, 0x1e, 0x46, 0x6f, 0x75, 0x6e, 0x64, 0x53, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74,
  2015  	0x73, 0x42, 0x79, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x49, 0x64, 0x45, 0x6e, 0x74,
  2016  	0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52,
  2017  	0x03, 0x6b, 0x65, 0x79, 0x12, 0x30, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20,
  2018  	0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x64, 0x69, 0x73, 0x70, 0x61, 0x74, 0x63, 0x68, 0x2e, 0x76,
  2019  	0x31, 0x2e, 0x46, 0x6f, 0x75, 0x6e, 0x64, 0x53, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x52,
  2020  	0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0xc1, 0x01, 0x0a, 0x0c, 0x52,
  2021  	0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x72, 0x4d, 0x65, 0x74, 0x61, 0x12, 0x29, 0x0a, 0x0b, 0x61,
  2022  	0x74, 0x5f, 0x72, 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09,
  2023  	0x42, 0x08, 0xfa, 0x42, 0x05, 0x72, 0x03, 0x28, 0x80, 0x08, 0x52, 0x0a, 0x61, 0x74, 0x52, 0x65,
  2024  	0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x30, 0x0a, 0x0f, 0x64, 0x65, 0x70, 0x74, 0x68, 0x5f,
  2025  	0x72, 0x65, 0x6d, 0x61, 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x42,
  2026  	0x07, 0xfa, 0x42, 0x04, 0x2a, 0x02, 0x20, 0x00, 0x52, 0x0e, 0x64, 0x65, 0x70, 0x74, 0x68, 0x52,
  2027  	0x65, 0x6d, 0x61, 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x12, 0x21, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75,
  2028  	0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x02, 0x18, 0x01,
  2029  	0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x12, 0x31, 0x0a, 0x0f, 0x74,
  2030  	0x72, 0x61, 0x76, 0x65, 0x72, 0x73, 0x61, 0x6c, 0x5f, 0x62, 0x6c, 0x6f, 0x6f, 0x6d, 0x18, 0x04,
  2031  	0x20, 0x01, 0x28, 0x0c, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x7a, 0x03, 0x18, 0x80, 0x08, 0x52, 0x0e,
  2032  	0x74, 0x72, 0x61, 0x76, 0x65, 0x72, 0x73, 0x61, 0x6c, 0x42, 0x6c, 0x6f, 0x6f, 0x6d, 0x22, 0xda,
  2033  	0x01, 0x0a, 0x0c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x4d, 0x65, 0x74, 0x61, 0x12,
  2034  	0x25, 0x0a, 0x0e, 0x64, 0x69, 0x73, 0x70, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x63, 0x6f, 0x75, 0x6e,
  2035  	0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x64, 0x69, 0x73, 0x70, 0x61, 0x74, 0x63,
  2036  	0x68, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x25, 0x0a, 0x0e, 0x64, 0x65, 0x70, 0x74, 0x68, 0x5f,
  2037  	0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d,
  2038  	0x64, 0x65, 0x70, 0x74, 0x68, 0x52, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x12, 0x32, 0x0a,
  2039  	0x15, 0x63, 0x61, 0x63, 0x68, 0x65, 0x64, 0x5f, 0x64, 0x69, 0x73, 0x70, 0x61, 0x74, 0x63, 0x68,
  2040  	0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x13, 0x63, 0x61,
  2041  	0x63, 0x68, 0x65, 0x64, 0x44, 0x69, 0x73, 0x70, 0x61, 0x74, 0x63, 0x68, 0x43, 0x6f, 0x75, 0x6e,
  2042  	0x74, 0x12, 0x3c, 0x0a, 0x0a, 0x64, 0x65, 0x62, 0x75, 0x67, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18,
  2043  	0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x64, 0x69, 0x73, 0x70, 0x61, 0x74, 0x63, 0x68,
  2044  	0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x62, 0x75, 0x67, 0x49, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61,
  2045  	0x74, 0x69, 0x6f, 0x6e, 0x52, 0x09, 0x64, 0x65, 0x62, 0x75, 0x67, 0x49, 0x6e, 0x66, 0x6f, 0x4a,
  2046  	0x04, 0x08, 0x04, 0x10, 0x05, 0x4a, 0x04, 0x08, 0x05, 0x10, 0x06, 0x22, 0x46, 0x0a, 0x10, 0x44,
  2047  	0x65, 0x62, 0x75, 0x67, 0x49, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12,
  2048  	0x32, 0x0a, 0x05, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c,
  2049  	0x2e, 0x64, 0x69, 0x73, 0x70, 0x61, 0x74, 0x63, 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x68, 0x65,
  2050  	0x63, 0x6b, 0x44, 0x65, 0x62, 0x75, 0x67, 0x54, 0x72, 0x61, 0x63, 0x65, 0x52, 0x05, 0x63, 0x68,
  2051  	0x65, 0x63, 0x6b, 0x22, 0xaf, 0x04, 0x0a, 0x0f, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x44, 0x65, 0x62,
  2052  	0x75, 0x67, 0x54, 0x72, 0x61, 0x63, 0x65, 0x12, 0x3b, 0x0a, 0x07, 0x72, 0x65, 0x71, 0x75, 0x65,
  2053  	0x73, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x64, 0x69, 0x73, 0x70, 0x61,
  2054  	0x74, 0x63, 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x69, 0x73, 0x70, 0x61, 0x74, 0x63, 0x68, 0x43,
  2055  	0x68, 0x65, 0x63, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x07, 0x72, 0x65, 0x71,
  2056  	0x75, 0x65, 0x73, 0x74, 0x12, 0x5f, 0x0a, 0x16, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65,
  2057  	0x5f, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02,
  2058  	0x20, 0x01, 0x28, 0x0e, 0x32, 0x29, 0x2e, 0x64, 0x69, 0x73, 0x70, 0x61, 0x74, 0x63, 0x68, 0x2e,
  2059  	0x76, 0x31, 0x2e, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x44, 0x65, 0x62, 0x75, 0x67, 0x54, 0x72, 0x61,
  2060  	0x63, 0x65, 0x2e, 0x52, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x52,
  2061  	0x14, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f,
  2062  	0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, 0x43, 0x0a, 0x07, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73,
  2063  	0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x64, 0x69, 0x73, 0x70, 0x61, 0x74, 0x63,
  2064  	0x68, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x44, 0x65, 0x62, 0x75, 0x67, 0x54,
  2065  	0x72, 0x61, 0x63, 0x65, 0x2e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x45, 0x6e, 0x74, 0x72,
  2066  	0x79, 0x52, 0x07, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x12, 0x28, 0x0a, 0x10, 0x69, 0x73,
  2067  	0x5f, 0x63, 0x61, 0x63, 0x68, 0x65, 0x64, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x04,
  2068  	0x20, 0x01, 0x28, 0x08, 0x52, 0x0e, 0x69, 0x73, 0x43, 0x61, 0x63, 0x68, 0x65, 0x64, 0x52, 0x65,
  2069  	0x73, 0x75, 0x6c, 0x74, 0x12, 0x3f, 0x0a, 0x0c, 0x73, 0x75, 0x62, 0x5f, 0x70, 0x72, 0x6f, 0x62,
  2070  	0x6c, 0x65, 0x6d, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x64, 0x69, 0x73,
  2071  	0x70, 0x61, 0x74, 0x63, 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x44, 0x65,
  2072  	0x62, 0x75, 0x67, 0x54, 0x72, 0x61, 0x63, 0x65, 0x52, 0x0b, 0x73, 0x75, 0x62, 0x50, 0x72, 0x6f,
  2073  	0x62, 0x6c, 0x65, 0x6d, 0x73, 0x12, 0x35, 0x0a, 0x08, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f,
  2074  	0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
  2075  	0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69,
  2076  	0x6f, 0x6e, 0x52, 0x08, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x1a, 0x5c, 0x0a, 0x0c,
  2077  	0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03,
  2078  	0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x36,
  2079  	0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e,
  2080  	0x64, 0x69, 0x73, 0x70, 0x61, 0x74, 0x63, 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x73, 0x6f,
  2081  	0x75, 0x72, 0x63, 0x65, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52,
  2082  	0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x39, 0x0a, 0x0c, 0x52, 0x65,
  2083  	0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, 0x0b, 0x0a, 0x07, 0x55, 0x4e,
  2084  	0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x00, 0x12, 0x0c, 0x0a, 0x08, 0x52, 0x45, 0x4c, 0x41, 0x54,
  2085  	0x49, 0x4f, 0x4e, 0x10, 0x01, 0x12, 0x0e, 0x0a, 0x0a, 0x50, 0x45, 0x52, 0x4d, 0x49, 0x53, 0x53,
  2086  	0x49, 0x4f, 0x4e, 0x10, 0x02, 0x32, 0xbd, 0x04, 0x0a, 0x0f, 0x44, 0x69, 0x73, 0x70, 0x61, 0x74,
  2087  	0x63, 0x68, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x58, 0x0a, 0x0d, 0x44, 0x69, 0x73,
  2088  	0x70, 0x61, 0x74, 0x63, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x12, 0x21, 0x2e, 0x64, 0x69, 0x73,
  2089  	0x70, 0x61, 0x74, 0x63, 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x69, 0x73, 0x70, 0x61, 0x74, 0x63,
  2090  	0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e,
  2091  	0x64, 0x69, 0x73, 0x70, 0x61, 0x74, 0x63, 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x69, 0x73, 0x70,
  2092  	0x61, 0x74, 0x63, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
  2093  	0x65, 0x22, 0x00, 0x12, 0x5b, 0x0a, 0x0e, 0x44, 0x69, 0x73, 0x70, 0x61, 0x74, 0x63, 0x68, 0x45,
  2094  	0x78, 0x70, 0x61, 0x6e, 0x64, 0x12, 0x22, 0x2e, 0x64, 0x69, 0x73, 0x70, 0x61, 0x74, 0x63, 0x68,
  2095  	0x2e, 0x76, 0x31, 0x2e, 0x44, 0x69, 0x73, 0x70, 0x61, 0x74, 0x63, 0x68, 0x45, 0x78, 0x70, 0x61,
  2096  	0x6e, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x23, 0x2e, 0x64, 0x69, 0x73, 0x70,
  2097  	0x61, 0x74, 0x63, 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x69, 0x73, 0x70, 0x61, 0x74, 0x63, 0x68,
  2098  	0x45, 0x78, 0x70, 0x61, 0x6e, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00,
  2099  	0x12, 0x81, 0x01, 0x0a, 0x1a, 0x44, 0x69, 0x73, 0x70, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x61,
  2100  	0x63, 0x68, 0x61, 0x62, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x12,
  2101  	0x2e, 0x2e, 0x64, 0x69, 0x73, 0x70, 0x61, 0x74, 0x63, 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x69,
  2102  	0x73, 0x70, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x61, 0x63, 0x68, 0x61, 0x62, 0x6c, 0x65, 0x52,
  2103  	0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a,
  2104  	0x2f, 0x2e, 0x64, 0x69, 0x73, 0x70, 0x61, 0x74, 0x63, 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x69,
  2105  	0x73, 0x70, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x61, 0x63, 0x68, 0x61, 0x62, 0x6c, 0x65, 0x52,
  2106  	0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
  2107  	0x22, 0x00, 0x30, 0x01, 0x12, 0x78, 0x0a, 0x17, 0x44, 0x69, 0x73, 0x70, 0x61, 0x74, 0x63, 0x68,
  2108  	0x4c, 0x6f, 0x6f, 0x6b, 0x75, 0x70, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x12,
  2109  	0x2b, 0x2e, 0x64, 0x69, 0x73, 0x70, 0x61, 0x74, 0x63, 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x69,
  2110  	0x73, 0x70, 0x61, 0x74, 0x63, 0x68, 0x4c, 0x6f, 0x6f, 0x6b, 0x75, 0x70, 0x52, 0x65, 0x73, 0x6f,
  2111  	0x75, 0x72, 0x63, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2c, 0x2e, 0x64,
  2112  	0x69, 0x73, 0x70, 0x61, 0x74, 0x63, 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x69, 0x73, 0x70, 0x61,
  2113  	0x74, 0x63, 0x68, 0x4c, 0x6f, 0x6f, 0x6b, 0x75, 0x70, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63,
  2114  	0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x30, 0x01, 0x12, 0x75,
  2115  	0x0a, 0x16, 0x44, 0x69, 0x73, 0x70, 0x61, 0x74, 0x63, 0x68, 0x4c, 0x6f, 0x6f, 0x6b, 0x75, 0x70,
  2116  	0x53, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x12, 0x2a, 0x2e, 0x64, 0x69, 0x73, 0x70, 0x61,
  2117  	0x74, 0x63, 0x68, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x69, 0x73, 0x70, 0x61, 0x74, 0x63, 0x68, 0x4c,
  2118  	0x6f, 0x6f, 0x6b, 0x75, 0x70, 0x53, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x52, 0x65, 0x71,
  2119  	0x75, 0x65, 0x73, 0x74, 0x1a, 0x2b, 0x2e, 0x64, 0x69, 0x73, 0x70, 0x61, 0x74, 0x63, 0x68, 0x2e,
  2120  	0x76, 0x31, 0x2e, 0x44, 0x69, 0x73, 0x70, 0x61, 0x74, 0x63, 0x68, 0x4c, 0x6f, 0x6f, 0x6b, 0x75,
  2121  	0x70, 0x53, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
  2122  	0x65, 0x22, 0x00, 0x30, 0x01, 0x42, 0xaa, 0x01, 0x0a, 0x0f, 0x63, 0x6f, 0x6d, 0x2e, 0x64, 0x69,
  2123  	0x73, 0x70, 0x61, 0x74, 0x63, 0x68, 0x2e, 0x76, 0x31, 0x42, 0x0d, 0x44, 0x69, 0x73, 0x70, 0x61,
  2124  	0x74, 0x63, 0x68, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x3b, 0x67, 0x69, 0x74, 0x68,
  2125  	0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x7a, 0x65, 0x64, 0x2f, 0x73,
  2126  	0x70, 0x69, 0x63, 0x65, 0x64, 0x62, 0x2f, 0x70, 0x6b, 0x67, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f,
  2127  	0x2f, 0x64, 0x69, 0x73, 0x70, 0x61, 0x74, 0x63, 0x68, 0x2f, 0x76, 0x31, 0x3b, 0x64, 0x69, 0x73,
  2128  	0x70, 0x61, 0x74, 0x63, 0x68, 0x76, 0x31, 0xa2, 0x02, 0x03, 0x44, 0x58, 0x58, 0xaa, 0x02, 0x0b,
  2129  	0x44, 0x69, 0x73, 0x70, 0x61, 0x74, 0x63, 0x68, 0x2e, 0x56, 0x31, 0xca, 0x02, 0x0b, 0x44, 0x69,
  2130  	0x73, 0x70, 0x61, 0x74, 0x63, 0x68, 0x5c, 0x56, 0x31, 0xe2, 0x02, 0x17, 0x44, 0x69, 0x73, 0x70,
  2131  	0x61, 0x74, 0x63, 0x68, 0x5c, 0x56, 0x31, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64,
  2132  	0x61, 0x74, 0x61, 0xea, 0x02, 0x0c, 0x44, 0x69, 0x73, 0x70, 0x61, 0x74, 0x63, 0x68, 0x3a, 0x3a,
  2133  	0x56, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
  2134  }
  2135  
  2136  var (
  2137  	file_dispatch_v1_dispatch_proto_rawDescOnce sync.Once
  2138  	file_dispatch_v1_dispatch_proto_rawDescData = file_dispatch_v1_dispatch_proto_rawDesc
  2139  )
  2140  
  2141  func file_dispatch_v1_dispatch_proto_rawDescGZIP() []byte {
  2142  	file_dispatch_v1_dispatch_proto_rawDescOnce.Do(func() {
  2143  		file_dispatch_v1_dispatch_proto_rawDescData = protoimpl.X.CompressGZIP(file_dispatch_v1_dispatch_proto_rawDescData)
  2144  	})
  2145  	return file_dispatch_v1_dispatch_proto_rawDescData
  2146  }
  2147  
  2148  var file_dispatch_v1_dispatch_proto_enumTypes = make([]protoimpl.EnumInfo, 7)
  2149  var file_dispatch_v1_dispatch_proto_msgTypes = make([]protoimpl.MessageInfo, 23)
  2150  var file_dispatch_v1_dispatch_proto_goTypes = []interface{}{
  2151  	(DispatchCheckRequest_DebugSetting)(0),     // 0: dispatch.v1.DispatchCheckRequest.DebugSetting
  2152  	(DispatchCheckRequest_ResultsSetting)(0),   // 1: dispatch.v1.DispatchCheckRequest.ResultsSetting
  2153  	(ResourceCheckResult_Membership)(0),        // 2: dispatch.v1.ResourceCheckResult.Membership
  2154  	(DispatchExpandRequest_ExpansionMode)(0),   // 3: dispatch.v1.DispatchExpandRequest.ExpansionMode
  2155  	(ReachableResource_ResultStatus)(0),        // 4: dispatch.v1.ReachableResource.ResultStatus
  2156  	(ResolvedResource_Permissionship)(0),       // 5: dispatch.v1.ResolvedResource.Permissionship
  2157  	(CheckDebugTrace_RelationType)(0),          // 6: dispatch.v1.CheckDebugTrace.RelationType
  2158  	(*DispatchCheckRequest)(nil),               // 7: dispatch.v1.DispatchCheckRequest
  2159  	(*DispatchCheckResponse)(nil),              // 8: dispatch.v1.DispatchCheckResponse
  2160  	(*ResourceCheckResult)(nil),                // 9: dispatch.v1.ResourceCheckResult
  2161  	(*DispatchExpandRequest)(nil),              // 10: dispatch.v1.DispatchExpandRequest
  2162  	(*DispatchExpandResponse)(nil),             // 11: dispatch.v1.DispatchExpandResponse
  2163  	(*Cursor)(nil),                             // 12: dispatch.v1.Cursor
  2164  	(*DispatchReachableResourcesRequest)(nil),  // 13: dispatch.v1.DispatchReachableResourcesRequest
  2165  	(*ReachableResource)(nil),                  // 14: dispatch.v1.ReachableResource
  2166  	(*DispatchReachableResourcesResponse)(nil), // 15: dispatch.v1.DispatchReachableResourcesResponse
  2167  	(*DispatchLookupResourcesRequest)(nil),     // 16: dispatch.v1.DispatchLookupResourcesRequest
  2168  	(*ResolvedResource)(nil),                   // 17: dispatch.v1.ResolvedResource
  2169  	(*DispatchLookupResourcesResponse)(nil),    // 18: dispatch.v1.DispatchLookupResourcesResponse
  2170  	(*DispatchLookupSubjectsRequest)(nil),      // 19: dispatch.v1.DispatchLookupSubjectsRequest
  2171  	(*FoundSubject)(nil),                       // 20: dispatch.v1.FoundSubject
  2172  	(*FoundSubjects)(nil),                      // 21: dispatch.v1.FoundSubjects
  2173  	(*DispatchLookupSubjectsResponse)(nil),     // 22: dispatch.v1.DispatchLookupSubjectsResponse
  2174  	(*ResolverMeta)(nil),                       // 23: dispatch.v1.ResolverMeta
  2175  	(*ResponseMeta)(nil),                       // 24: dispatch.v1.ResponseMeta
  2176  	(*DebugInformation)(nil),                   // 25: dispatch.v1.DebugInformation
  2177  	(*CheckDebugTrace)(nil),                    // 26: dispatch.v1.CheckDebugTrace
  2178  	nil,                                        // 27: dispatch.v1.DispatchCheckResponse.ResultsByResourceIdEntry
  2179  	nil,                                        // 28: dispatch.v1.DispatchLookupSubjectsResponse.FoundSubjectsByResourceIdEntry
  2180  	nil,                                        // 29: dispatch.v1.CheckDebugTrace.ResultsEntry
  2181  	(*v1.RelationReference)(nil),               // 30: core.v1.RelationReference
  2182  	(*v1.ObjectAndRelation)(nil),               // 31: core.v1.ObjectAndRelation
  2183  	(*v1.CaveatExpression)(nil),                // 32: core.v1.CaveatExpression
  2184  	(*v1.RelationTupleTreeNode)(nil),           // 33: core.v1.RelationTupleTreeNode
  2185  	(*structpb.Struct)(nil),                    // 34: google.protobuf.Struct
  2186  	(*durationpb.Duration)(nil),                // 35: google.protobuf.Duration
  2187  }
  2188  var file_dispatch_v1_dispatch_proto_depIdxs = []int32{
  2189  	23, // 0: dispatch.v1.DispatchCheckRequest.metadata:type_name -> dispatch.v1.ResolverMeta
  2190  	30, // 1: dispatch.v1.DispatchCheckRequest.resource_relation:type_name -> core.v1.RelationReference
  2191  	31, // 2: dispatch.v1.DispatchCheckRequest.subject:type_name -> core.v1.ObjectAndRelation
  2192  	1,  // 3: dispatch.v1.DispatchCheckRequest.results_setting:type_name -> dispatch.v1.DispatchCheckRequest.ResultsSetting
  2193  	0,  // 4: dispatch.v1.DispatchCheckRequest.debug:type_name -> dispatch.v1.DispatchCheckRequest.DebugSetting
  2194  	24, // 5: dispatch.v1.DispatchCheckResponse.metadata:type_name -> dispatch.v1.ResponseMeta
  2195  	27, // 6: dispatch.v1.DispatchCheckResponse.results_by_resource_id:type_name -> dispatch.v1.DispatchCheckResponse.ResultsByResourceIdEntry
  2196  	2,  // 7: dispatch.v1.ResourceCheckResult.membership:type_name -> dispatch.v1.ResourceCheckResult.Membership
  2197  	32, // 8: dispatch.v1.ResourceCheckResult.expression:type_name -> core.v1.CaveatExpression
  2198  	23, // 9: dispatch.v1.DispatchExpandRequest.metadata:type_name -> dispatch.v1.ResolverMeta
  2199  	31, // 10: dispatch.v1.DispatchExpandRequest.resource_and_relation:type_name -> core.v1.ObjectAndRelation
  2200  	3,  // 11: dispatch.v1.DispatchExpandRequest.expansion_mode:type_name -> dispatch.v1.DispatchExpandRequest.ExpansionMode
  2201  	24, // 12: dispatch.v1.DispatchExpandResponse.metadata:type_name -> dispatch.v1.ResponseMeta
  2202  	33, // 13: dispatch.v1.DispatchExpandResponse.tree_node:type_name -> core.v1.RelationTupleTreeNode
  2203  	23, // 14: dispatch.v1.DispatchReachableResourcesRequest.metadata:type_name -> dispatch.v1.ResolverMeta
  2204  	30, // 15: dispatch.v1.DispatchReachableResourcesRequest.resource_relation:type_name -> core.v1.RelationReference
  2205  	30, // 16: dispatch.v1.DispatchReachableResourcesRequest.subject_relation:type_name -> core.v1.RelationReference
  2206  	12, // 17: dispatch.v1.DispatchReachableResourcesRequest.optional_cursor:type_name -> dispatch.v1.Cursor
  2207  	4,  // 18: dispatch.v1.ReachableResource.result_status:type_name -> dispatch.v1.ReachableResource.ResultStatus
  2208  	14, // 19: dispatch.v1.DispatchReachableResourcesResponse.resource:type_name -> dispatch.v1.ReachableResource
  2209  	24, // 20: dispatch.v1.DispatchReachableResourcesResponse.metadata:type_name -> dispatch.v1.ResponseMeta
  2210  	12, // 21: dispatch.v1.DispatchReachableResourcesResponse.after_response_cursor:type_name -> dispatch.v1.Cursor
  2211  	23, // 22: dispatch.v1.DispatchLookupResourcesRequest.metadata:type_name -> dispatch.v1.ResolverMeta
  2212  	30, // 23: dispatch.v1.DispatchLookupResourcesRequest.object_relation:type_name -> core.v1.RelationReference
  2213  	31, // 24: dispatch.v1.DispatchLookupResourcesRequest.subject:type_name -> core.v1.ObjectAndRelation
  2214  	34, // 25: dispatch.v1.DispatchLookupResourcesRequest.context:type_name -> google.protobuf.Struct
  2215  	12, // 26: dispatch.v1.DispatchLookupResourcesRequest.optional_cursor:type_name -> dispatch.v1.Cursor
  2216  	5,  // 27: dispatch.v1.ResolvedResource.permissionship:type_name -> dispatch.v1.ResolvedResource.Permissionship
  2217  	24, // 28: dispatch.v1.DispatchLookupResourcesResponse.metadata:type_name -> dispatch.v1.ResponseMeta
  2218  	17, // 29: dispatch.v1.DispatchLookupResourcesResponse.resolved_resource:type_name -> dispatch.v1.ResolvedResource
  2219  	12, // 30: dispatch.v1.DispatchLookupResourcesResponse.after_response_cursor:type_name -> dispatch.v1.Cursor
  2220  	23, // 31: dispatch.v1.DispatchLookupSubjectsRequest.metadata:type_name -> dispatch.v1.ResolverMeta
  2221  	30, // 32: dispatch.v1.DispatchLookupSubjectsRequest.resource_relation:type_name -> core.v1.RelationReference
  2222  	30, // 33: dispatch.v1.DispatchLookupSubjectsRequest.subject_relation:type_name -> core.v1.RelationReference
  2223  	12, // 34: dispatch.v1.DispatchLookupSubjectsRequest.optional_cursor:type_name -> dispatch.v1.Cursor
  2224  	32, // 35: dispatch.v1.FoundSubject.caveat_expression:type_name -> core.v1.CaveatExpression
  2225  	20, // 36: dispatch.v1.FoundSubject.excluded_subjects:type_name -> dispatch.v1.FoundSubject
  2226  	20, // 37: dispatch.v1.FoundSubjects.found_subjects:type_name -> dispatch.v1.FoundSubject
  2227  	28, // 38: dispatch.v1.DispatchLookupSubjectsResponse.found_subjects_by_resource_id:type_name -> dispatch.v1.DispatchLookupSubjectsResponse.FoundSubjectsByResourceIdEntry
  2228  	24, // 39: dispatch.v1.DispatchLookupSubjectsResponse.metadata:type_name -> dispatch.v1.ResponseMeta
  2229  	12, // 40: dispatch.v1.DispatchLookupSubjectsResponse.after_response_cursor:type_name -> dispatch.v1.Cursor
  2230  	25, // 41: dispatch.v1.ResponseMeta.debug_info:type_name -> dispatch.v1.DebugInformation
  2231  	26, // 42: dispatch.v1.DebugInformation.check:type_name -> dispatch.v1.CheckDebugTrace
  2232  	7,  // 43: dispatch.v1.CheckDebugTrace.request:type_name -> dispatch.v1.DispatchCheckRequest
  2233  	6,  // 44: dispatch.v1.CheckDebugTrace.resource_relation_type:type_name -> dispatch.v1.CheckDebugTrace.RelationType
  2234  	29, // 45: dispatch.v1.CheckDebugTrace.results:type_name -> dispatch.v1.CheckDebugTrace.ResultsEntry
  2235  	26, // 46: dispatch.v1.CheckDebugTrace.sub_problems:type_name -> dispatch.v1.CheckDebugTrace
  2236  	35, // 47: dispatch.v1.CheckDebugTrace.duration:type_name -> google.protobuf.Duration
  2237  	9,  // 48: dispatch.v1.DispatchCheckResponse.ResultsByResourceIdEntry.value:type_name -> dispatch.v1.ResourceCheckResult
  2238  	21, // 49: dispatch.v1.DispatchLookupSubjectsResponse.FoundSubjectsByResourceIdEntry.value:type_name -> dispatch.v1.FoundSubjects
  2239  	9,  // 50: dispatch.v1.CheckDebugTrace.ResultsEntry.value:type_name -> dispatch.v1.ResourceCheckResult
  2240  	7,  // 51: dispatch.v1.DispatchService.DispatchCheck:input_type -> dispatch.v1.DispatchCheckRequest
  2241  	10, // 52: dispatch.v1.DispatchService.DispatchExpand:input_type -> dispatch.v1.DispatchExpandRequest
  2242  	13, // 53: dispatch.v1.DispatchService.DispatchReachableResources:input_type -> dispatch.v1.DispatchReachableResourcesRequest
  2243  	16, // 54: dispatch.v1.DispatchService.DispatchLookupResources:input_type -> dispatch.v1.DispatchLookupResourcesRequest
  2244  	19, // 55: dispatch.v1.DispatchService.DispatchLookupSubjects:input_type -> dispatch.v1.DispatchLookupSubjectsRequest
  2245  	8,  // 56: dispatch.v1.DispatchService.DispatchCheck:output_type -> dispatch.v1.DispatchCheckResponse
  2246  	11, // 57: dispatch.v1.DispatchService.DispatchExpand:output_type -> dispatch.v1.DispatchExpandResponse
  2247  	15, // 58: dispatch.v1.DispatchService.DispatchReachableResources:output_type -> dispatch.v1.DispatchReachableResourcesResponse
  2248  	18, // 59: dispatch.v1.DispatchService.DispatchLookupResources:output_type -> dispatch.v1.DispatchLookupResourcesResponse
  2249  	22, // 60: dispatch.v1.DispatchService.DispatchLookupSubjects:output_type -> dispatch.v1.DispatchLookupSubjectsResponse
  2250  	56, // [56:61] is the sub-list for method output_type
  2251  	51, // [51:56] is the sub-list for method input_type
  2252  	51, // [51:51] is the sub-list for extension type_name
  2253  	51, // [51:51] is the sub-list for extension extendee
  2254  	0,  // [0:51] is the sub-list for field type_name
  2255  }
  2256  
  2257  func init() { file_dispatch_v1_dispatch_proto_init() }
  2258  func file_dispatch_v1_dispatch_proto_init() {
  2259  	if File_dispatch_v1_dispatch_proto != nil {
  2260  		return
  2261  	}
  2262  	if !protoimpl.UnsafeEnabled {
  2263  		file_dispatch_v1_dispatch_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
  2264  			switch v := v.(*DispatchCheckRequest); i {
  2265  			case 0:
  2266  				return &v.state
  2267  			case 1:
  2268  				return &v.sizeCache
  2269  			case 2:
  2270  				return &v.unknownFields
  2271  			default:
  2272  				return nil
  2273  			}
  2274  		}
  2275  		file_dispatch_v1_dispatch_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
  2276  			switch v := v.(*DispatchCheckResponse); i {
  2277  			case 0:
  2278  				return &v.state
  2279  			case 1:
  2280  				return &v.sizeCache
  2281  			case 2:
  2282  				return &v.unknownFields
  2283  			default:
  2284  				return nil
  2285  			}
  2286  		}
  2287  		file_dispatch_v1_dispatch_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
  2288  			switch v := v.(*ResourceCheckResult); i {
  2289  			case 0:
  2290  				return &v.state
  2291  			case 1:
  2292  				return &v.sizeCache
  2293  			case 2:
  2294  				return &v.unknownFields
  2295  			default:
  2296  				return nil
  2297  			}
  2298  		}
  2299  		file_dispatch_v1_dispatch_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
  2300  			switch v := v.(*DispatchExpandRequest); i {
  2301  			case 0:
  2302  				return &v.state
  2303  			case 1:
  2304  				return &v.sizeCache
  2305  			case 2:
  2306  				return &v.unknownFields
  2307  			default:
  2308  				return nil
  2309  			}
  2310  		}
  2311  		file_dispatch_v1_dispatch_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {
  2312  			switch v := v.(*DispatchExpandResponse); i {
  2313  			case 0:
  2314  				return &v.state
  2315  			case 1:
  2316  				return &v.sizeCache
  2317  			case 2:
  2318  				return &v.unknownFields
  2319  			default:
  2320  				return nil
  2321  			}
  2322  		}
  2323  		file_dispatch_v1_dispatch_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} {
  2324  			switch v := v.(*Cursor); i {
  2325  			case 0:
  2326  				return &v.state
  2327  			case 1:
  2328  				return &v.sizeCache
  2329  			case 2:
  2330  				return &v.unknownFields
  2331  			default:
  2332  				return nil
  2333  			}
  2334  		}
  2335  		file_dispatch_v1_dispatch_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} {
  2336  			switch v := v.(*DispatchReachableResourcesRequest); i {
  2337  			case 0:
  2338  				return &v.state
  2339  			case 1:
  2340  				return &v.sizeCache
  2341  			case 2:
  2342  				return &v.unknownFields
  2343  			default:
  2344  				return nil
  2345  			}
  2346  		}
  2347  		file_dispatch_v1_dispatch_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} {
  2348  			switch v := v.(*ReachableResource); i {
  2349  			case 0:
  2350  				return &v.state
  2351  			case 1:
  2352  				return &v.sizeCache
  2353  			case 2:
  2354  				return &v.unknownFields
  2355  			default:
  2356  				return nil
  2357  			}
  2358  		}
  2359  		file_dispatch_v1_dispatch_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} {
  2360  			switch v := v.(*DispatchReachableResourcesResponse); i {
  2361  			case 0:
  2362  				return &v.state
  2363  			case 1:
  2364  				return &v.sizeCache
  2365  			case 2:
  2366  				return &v.unknownFields
  2367  			default:
  2368  				return nil
  2369  			}
  2370  		}
  2371  		file_dispatch_v1_dispatch_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} {
  2372  			switch v := v.(*DispatchLookupResourcesRequest); i {
  2373  			case 0:
  2374  				return &v.state
  2375  			case 1:
  2376  				return &v.sizeCache
  2377  			case 2:
  2378  				return &v.unknownFields
  2379  			default:
  2380  				return nil
  2381  			}
  2382  		}
  2383  		file_dispatch_v1_dispatch_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} {
  2384  			switch v := v.(*ResolvedResource); i {
  2385  			case 0:
  2386  				return &v.state
  2387  			case 1:
  2388  				return &v.sizeCache
  2389  			case 2:
  2390  				return &v.unknownFields
  2391  			default:
  2392  				return nil
  2393  			}
  2394  		}
  2395  		file_dispatch_v1_dispatch_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} {
  2396  			switch v := v.(*DispatchLookupResourcesResponse); i {
  2397  			case 0:
  2398  				return &v.state
  2399  			case 1:
  2400  				return &v.sizeCache
  2401  			case 2:
  2402  				return &v.unknownFields
  2403  			default:
  2404  				return nil
  2405  			}
  2406  		}
  2407  		file_dispatch_v1_dispatch_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} {
  2408  			switch v := v.(*DispatchLookupSubjectsRequest); i {
  2409  			case 0:
  2410  				return &v.state
  2411  			case 1:
  2412  				return &v.sizeCache
  2413  			case 2:
  2414  				return &v.unknownFields
  2415  			default:
  2416  				return nil
  2417  			}
  2418  		}
  2419  		file_dispatch_v1_dispatch_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} {
  2420  			switch v := v.(*FoundSubject); i {
  2421  			case 0:
  2422  				return &v.state
  2423  			case 1:
  2424  				return &v.sizeCache
  2425  			case 2:
  2426  				return &v.unknownFields
  2427  			default:
  2428  				return nil
  2429  			}
  2430  		}
  2431  		file_dispatch_v1_dispatch_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} {
  2432  			switch v := v.(*FoundSubjects); i {
  2433  			case 0:
  2434  				return &v.state
  2435  			case 1:
  2436  				return &v.sizeCache
  2437  			case 2:
  2438  				return &v.unknownFields
  2439  			default:
  2440  				return nil
  2441  			}
  2442  		}
  2443  		file_dispatch_v1_dispatch_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} {
  2444  			switch v := v.(*DispatchLookupSubjectsResponse); i {
  2445  			case 0:
  2446  				return &v.state
  2447  			case 1:
  2448  				return &v.sizeCache
  2449  			case 2:
  2450  				return &v.unknownFields
  2451  			default:
  2452  				return nil
  2453  			}
  2454  		}
  2455  		file_dispatch_v1_dispatch_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} {
  2456  			switch v := v.(*ResolverMeta); i {
  2457  			case 0:
  2458  				return &v.state
  2459  			case 1:
  2460  				return &v.sizeCache
  2461  			case 2:
  2462  				return &v.unknownFields
  2463  			default:
  2464  				return nil
  2465  			}
  2466  		}
  2467  		file_dispatch_v1_dispatch_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} {
  2468  			switch v := v.(*ResponseMeta); i {
  2469  			case 0:
  2470  				return &v.state
  2471  			case 1:
  2472  				return &v.sizeCache
  2473  			case 2:
  2474  				return &v.unknownFields
  2475  			default:
  2476  				return nil
  2477  			}
  2478  		}
  2479  		file_dispatch_v1_dispatch_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} {
  2480  			switch v := v.(*DebugInformation); i {
  2481  			case 0:
  2482  				return &v.state
  2483  			case 1:
  2484  				return &v.sizeCache
  2485  			case 2:
  2486  				return &v.unknownFields
  2487  			default:
  2488  				return nil
  2489  			}
  2490  		}
  2491  		file_dispatch_v1_dispatch_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} {
  2492  			switch v := v.(*CheckDebugTrace); i {
  2493  			case 0:
  2494  				return &v.state
  2495  			case 1:
  2496  				return &v.sizeCache
  2497  			case 2:
  2498  				return &v.unknownFields
  2499  			default:
  2500  				return nil
  2501  			}
  2502  		}
  2503  	}
  2504  	type x struct{}
  2505  	out := protoimpl.TypeBuilder{
  2506  		File: protoimpl.DescBuilder{
  2507  			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
  2508  			RawDescriptor: file_dispatch_v1_dispatch_proto_rawDesc,
  2509  			NumEnums:      7,
  2510  			NumMessages:   23,
  2511  			NumExtensions: 0,
  2512  			NumServices:   1,
  2513  		},
  2514  		GoTypes:           file_dispatch_v1_dispatch_proto_goTypes,
  2515  		DependencyIndexes: file_dispatch_v1_dispatch_proto_depIdxs,
  2516  		EnumInfos:         file_dispatch_v1_dispatch_proto_enumTypes,
  2517  		MessageInfos:      file_dispatch_v1_dispatch_proto_msgTypes,
  2518  	}.Build()
  2519  	File_dispatch_v1_dispatch_proto = out.File
  2520  	file_dispatch_v1_dispatch_proto_rawDesc = nil
  2521  	file_dispatch_v1_dispatch_proto_goTypes = nil
  2522  	file_dispatch_v1_dispatch_proto_depIdxs = nil
  2523  }