From d36fb4ae94e6f782629efda4c453d2a4125d0e2e Mon Sep 17 00:00:00 2001 From: Joseph Schorr Date: Wed, 1 May 2024 11:47:14 -0400 Subject: [PATCH] Update generated protos for experimental reflection APIs --- magefiles/gen.go | 2 +- proto/apidocs.swagger.json | 499 +- proto/authzed/api/v0/zz_generated.version.go | 2 +- .../authzed/api/v1/experimental_service.pb.go | 2687 ++++- .../api/v1/experimental_service.pb.gw.go | 308 + .../v1/experimental_service.pb.validate.go | 3310 ++++++ .../api/v1/experimental_service_grpc.pb.go | 185 +- .../api/v1/experimental_service_vtproto.pb.go | 9787 ++++++++++++++--- proto/authzed/api/v1/zz_generated.version.go | 2 +- .../api/v1alpha1/zz_generated.version.go | 2 +- 10 files changed, 15126 insertions(+), 1658 deletions(-) diff --git a/magefiles/gen.go b/magefiles/gen.go index 0f7beb5..8410c6e 100644 --- a/magefiles/gen.go +++ b/magefiles/gen.go @@ -24,7 +24,7 @@ func (g Gen) All() error { const ( ProtoPath = "proto/authzed/api" BufRepository = "buf.build/authzed/api" - BufTag = "d12b0c6cb910ec1b21bb4abc5ee43f53efb9896c" + BufTag = "6db92bea167c1a628daafd572dc612e80cf99d4d" ) // Proto runs proto codegen diff --git a/proto/apidocs.swagger.json b/proto/apidocs.swagger.json index c865089..2dceaa7 100644 --- a/proto/apidocs.swagger.json +++ b/proto/apidocs.swagger.json @@ -47,6 +47,7 @@ "paths": { "/v1/experimental/permissions/bulkcheckpermission": { "post": { + "summary": "NOTE: BulkCheckPermission has been promoted to the stable API as \"CheckBulkPermission\" and the\nAPI will be removed from experimental in a future release.", "operationId": "ExperimentalService_BulkCheckPermission", "responses": { "200": { @@ -65,6 +66,7 @@ "parameters": [ { "name": "body", + "description": "NOTE: Deprecated now that BulkCheckPermission has been promoted to the stable API as \"CheckBulkPermission\".", "in": "body", "required": true, "schema": { @@ -77,6 +79,105 @@ ] } }, + "/v1/experimental/permissions/computable": { + "post": { + "summary": "EXPERIMENTAL: ComputablePermissions is an API that allows clients to request the set of\npermissions that compute based off a set of relations. For example, if a schema has a relation\n`viewer` and a permission `view` defined as `permission view = viewer + editor`, then the\ncomputable permissions for the relation `viewer` will include `view`.", + "operationId": "ExperimentalService_ExperimentalComputablePermissions", + "responses": { + "200": { + "description": "A successful response.", + "schema": { + "$ref": "#/definitions/v1ExperimentalComputablePermissionsResponse" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/rpcStatus" + } + } + }, + "parameters": [ + { + "name": "body", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/v1ExperimentalComputablePermissionsRequest" + } + } + ], + "tags": [ + "ExperimentalService" + ] + } + }, + "/v1/experimental/permissions/dependent": { + "post": { + "summary": "EXPERIMENTAL: DependentRelations is an API that allows clients to request the set of\nrelations that used to compute a permission, recursively. It is the inverse of the\nComputablePermissions API.", + "operationId": "ExperimentalService_ExperimentalDependentRelations", + "responses": { + "200": { + "description": "A successful response.", + "schema": { + "$ref": "#/definitions/v1ExperimentalDependentRelationsResponse" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/rpcStatus" + } + } + }, + "parameters": [ + { + "name": "body", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/v1ExperimentalDependentRelationsRequest" + } + } + ], + "tags": [ + "ExperimentalService" + ] + } + }, + "/v1/experimental/reflectschema": { + "post": { + "summary": "EXPERIMENTAL: ReflectSchema is an API that allows clients to reflect the schema stored in\nSpiceDB. This is useful for clients that need to introspect the schema of a SpiceDB instance.", + "operationId": "ExperimentalService_ExperimentalReflectSchema", + "responses": { + "200": { + "description": "A successful response.", + "schema": { + "$ref": "#/definitions/v1ExperimentalReflectSchemaResponse" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/rpcStatus" + } + } + }, + "parameters": [ + { + "name": "body", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/v1ExperimentalReflectSchemaRequest" + } + } + ], + "tags": [ + "ExperimentalService" + ] + } + }, "/v1/experimental/relationships/bulkexport": { "post": { "summary": "BulkExportRelationships is the fastest path available to exporting\nrelationships from the server. It is resumable, and will return results\nin an order determined by the server.", @@ -155,6 +256,39 @@ ] } }, + "/v1/experimental/schemadiff": { + "post": { + "summary": "EXPERIMENTAL: DiffSchema is an API that allows clients to request the difference between the\nspecified schema and the schema stored in SpiceDB. This is useful for clients that need to\nintrospect the schema of a SpiceDB instance.", + "operationId": "ExperimentalService_ExperimentalSchemaDiff", + "responses": { + "200": { + "description": "A successful response.", + "schema": { + "$ref": "#/definitions/v1ExperimentalSchemaDiffResponse" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/rpcStatus" + } + } + }, + "parameters": [ + { + "name": "body", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/v1ExperimentalSchemaDiffRequest" + } + } + ], + "tags": [ + "ExperimentalService" + ] + } + }, "/v1/permissions/check": { "post": { "summary": "CheckPermission determines for a given resource whether a subject computes\nto having a permission or is a direct member of a particular relation.", @@ -680,6 +814,17 @@ ], "default": "UNKNOWN_SOURCE" }, + "ExpSchemaFilterKindFilter": { + "type": "string", + "enum": [ + "KIND_FILTER_UNSPECIFIED", + "KIND_FILTER_DEFINITION", + "KIND_FILTER_CAVEAT", + "KIND_FILTER_RELATION", + "KIND_FILTER_PERMISSION" + ], + "default": "KIND_FILTER_UNSPECIFIED" + }, "LookupShareResponseLookupStatus": { "type": "string", "enum": [ @@ -1060,7 +1205,8 @@ "$ref": "#/definitions/v1BulkCheckPermissionRequestItem" } } - } + }, + "description": "NOTE: Deprecated now that BulkCheckPermission has been promoted to the stable API as \"CheckBulkPermission\"." }, "v1BulkCheckPermissionRequestItem": { "type": "object", @@ -1487,6 +1633,227 @@ }, "description": "DirectSubjectSet is a subject set which is simply a collection of subjects." }, + "v1ExpCaveat": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "comment": { + "type": "string" + }, + "parameters": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/definitions/v1ExpCaveatParameter" + } + }, + "expression": { + "type": "string" + } + } + }, + "v1ExpCaveatParameter": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "type": { + "type": "string" + }, + "parentCaveatName": { + "type": "string" + } + } + }, + "v1ExpDefinition": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "comment": { + "type": "string" + }, + "relations": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/definitions/v1ExpRelation" + } + }, + "permissions": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/definitions/v1ExpPermission" + } + } + } + }, + "v1ExpPermission": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "comment": { + "type": "string" + }, + "parentDefinitionName": { + "type": "string" + } + } + }, + "v1ExpPermissionReference": { + "type": "object", + "properties": { + "definitionName": { + "type": "string" + }, + "relationName": { + "type": "string" + } + } + }, + "v1ExpRelation": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "comment": { + "type": "string" + }, + "parentDefinitionName": { + "type": "string" + }, + "subjectTypes": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/definitions/v1ExpTypeReference" + } + } + } + }, + "v1ExpRelationReference": { + "type": "object", + "properties": { + "definitionName": { + "type": "string" + }, + "relationName": { + "type": "string" + } + } + }, + "v1ExpSchemaDiff": { + "type": "object", + "properties": { + "definitionAdded": { + "$ref": "#/definitions/v1ExpDefinition" + }, + "definitionRemoved": { + "$ref": "#/definitions/v1ExpDefinition" + }, + "definitionDocCommentChanged": { + "$ref": "#/definitions/v1ExpDefinition" + }, + "relationAdded": { + "$ref": "#/definitions/v1ExpRelation" + }, + "relationRemoved": { + "$ref": "#/definitions/v1ExpRelation" + }, + "relationDocCommentChanged": { + "$ref": "#/definitions/v1ExpRelation" + }, + "relationTypeChanged": { + "$ref": "#/definitions/v1ExpRelation" + }, + "permissionAdded": { + "$ref": "#/definitions/v1ExpPermission" + }, + "permissionRemoved": { + "$ref": "#/definitions/v1ExpPermission" + }, + "permissionDocCommentChanged": { + "$ref": "#/definitions/v1ExpPermission" + }, + "permissionExprChanged": { + "$ref": "#/definitions/v1ExpPermission" + }, + "caveatAdded": { + "$ref": "#/definitions/v1ExpCaveat" + }, + "caveatRemoved": { + "$ref": "#/definitions/v1ExpCaveat" + }, + "caveatDocCommentChanged": { + "$ref": "#/definitions/v1ExpCaveat" + }, + "caveatExprChanged": { + "$ref": "#/definitions/v1ExpCaveat" + }, + "caveatParameterAdded": { + "$ref": "#/definitions/v1ExpCaveatParameter" + }, + "caveatParameterRemoved": { + "$ref": "#/definitions/v1ExpCaveatParameter" + }, + "caveatParameterTypeChanged": { + "$ref": "#/definitions/v1ExpCaveatParameter" + } + } + }, + "v1ExpSchemaFilter": { + "type": "object", + "properties": { + "optionalDefinitionNameMatch": { + "type": "string", + "description": "optional_definition_name_match is a regex that is matched against the definition or caveat name.\nIf not specified, will be ignored." + }, + "optionalRelationOrPermissionNameMatch": { + "type": "string", + "description": "optional_relation_or_permission_name_match is a regex that is matched against the relation or permission name.\nIf not specified, will be ignored." + }, + "kindFilters": { + "type": "array", + "items": { + "$ref": "#/definitions/ExpSchemaFilterKindFilter" + }, + "description": "kind_filters is a list of kinds to filter on. If not specified, will be ignored. If multiple are specified,\nthe filter will be applied in an OR fashion." + } + } + }, + "v1ExpTypeReference": { + "type": "object", + "properties": { + "subjectDefinitionName": { + "type": "string", + "description": "subject_definition_name is the name of the subject's definition." + }, + "optionalCaveatName": { + "type": "string", + "description": "optional_caveat_name is the name of the caveat that is applied to the subject, if any." + }, + "isTerminalSubject": { + "type": "boolean", + "description": "is_terminal_subject is true if the subject is terminal, meaning it is referenced directly vs a sub-relation." + }, + "optionalRelationName": { + "type": "string", + "description": "optional_relation_name is the name of the relation that is applied to the subject, if any." + }, + "isPublicWildcard": { + "type": "boolean", + "description": "is_public_wildcard is true if the subject is a public wildcard." + } + } + }, "v1ExpandPermissionTreeRequest": { "type": "object", "properties": { @@ -1516,6 +1883,136 @@ } } }, + "v1ExperimentalComputablePermissionsRequest": { + "type": "object", + "properties": { + "consistency": { + "$ref": "#/definitions/v1Consistency" + }, + "relations": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/definitions/v1ExpRelationReference" + } + }, + "optionalDefinitionNameMatch": { + "type": "string", + "description": "optional_definition_name_match is a regex that is matched against the definition name(s)\nfor the permissions returned.\nIf not specified, will be ignored." + } + } + }, + "v1ExperimentalComputablePermissionsResponse": { + "type": "object", + "properties": { + "permissions": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/definitions/v1ExpPermissionReference" + } + }, + "readAt": { + "$ref": "#/definitions/v1ZedToken", + "description": "read_at is the ZedToken at which the schema was read." + } + } + }, + "v1ExperimentalDependentRelationsRequest": { + "type": "object", + "properties": { + "consistency": { + "$ref": "#/definitions/v1Consistency" + }, + "permission": { + "$ref": "#/definitions/v1ExpPermissionReference" + } + } + }, + "v1ExperimentalDependentRelationsResponse": { + "type": "object", + "properties": { + "relations": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/definitions/v1ExpRelationReference" + } + }, + "readAt": { + "$ref": "#/definitions/v1ZedToken", + "description": "read_at is the ZedToken at which the schema was read." + } + } + }, + "v1ExperimentalReflectSchemaRequest": { + "type": "object", + "properties": { + "consistency": { + "$ref": "#/definitions/v1Consistency" + }, + "optionalFilters": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/definitions/v1ExpSchemaFilter" + }, + "title": "optional_filters defines optional filters that are applied in\nan OR fashion to the schema, before being returned" + } + } + }, + "v1ExperimentalReflectSchemaResponse": { + "type": "object", + "properties": { + "definitions": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/definitions/v1ExpDefinition" + }, + "description": "definitions are the definitions defined in the schema." + }, + "caveats": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/definitions/v1ExpCaveat" + }, + "description": "caveats are the caveats defined in the schema." + }, + "readAt": { + "$ref": "#/definitions/v1ZedToken", + "description": "read_at is the ZedToken at which the schema was read." + } + } + }, + "v1ExperimentalSchemaDiffRequest": { + "type": "object", + "properties": { + "consistency": { + "$ref": "#/definitions/v1Consistency" + }, + "comparisonSchema": { + "type": "string" + } + } + }, + "v1ExperimentalSchemaDiffResponse": { + "type": "object", + "properties": { + "diffs": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/definitions/v1ExpSchemaDiff" + } + }, + "readAt": { + "$ref": "#/definitions/v1ZedToken", + "description": "read_at is the ZedToken at which the schema was read." + } + } + }, "v1LookupPermissionship": { "type": "string", "enum": [ diff --git a/proto/authzed/api/v0/zz_generated.version.go b/proto/authzed/api/v0/zz_generated.version.go index f44207b..101c1a9 100644 --- a/proto/authzed/api/v0/zz_generated.version.go +++ b/proto/authzed/api/v0/zz_generated.version.go @@ -2,5 +2,5 @@ package v0 const ( BufRepository = "buf.build/authzed/api" - BufTag = "d12b0c6cb910ec1b21bb4abc5ee43f53efb9896c" + BufTag = "6db92bea167c1a628daafd572dc612e80cf99d4d" ) diff --git a/proto/authzed/api/v1/experimental_service.pb.go b/proto/authzed/api/v1/experimental_service.pb.go index 5a4200a..08f1796 100644 --- a/proto/authzed/api/v1/experimental_service.pb.go +++ b/proto/authzed/api/v1/experimental_service.pb.go @@ -24,13 +24,70 @@ const ( _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) +type ExpSchemaFilter_KindFilter int32 + +const ( + ExpSchemaFilter_KIND_FILTER_UNSPECIFIED ExpSchemaFilter_KindFilter = 0 + ExpSchemaFilter_KIND_FILTER_DEFINITION ExpSchemaFilter_KindFilter = 1 + ExpSchemaFilter_KIND_FILTER_CAVEAT ExpSchemaFilter_KindFilter = 2 + ExpSchemaFilter_KIND_FILTER_RELATION ExpSchemaFilter_KindFilter = 3 + ExpSchemaFilter_KIND_FILTER_PERMISSION ExpSchemaFilter_KindFilter = 4 +) + +// Enum value maps for ExpSchemaFilter_KindFilter. +var ( + ExpSchemaFilter_KindFilter_name = map[int32]string{ + 0: "KIND_FILTER_UNSPECIFIED", + 1: "KIND_FILTER_DEFINITION", + 2: "KIND_FILTER_CAVEAT", + 3: "KIND_FILTER_RELATION", + 4: "KIND_FILTER_PERMISSION", + } + ExpSchemaFilter_KindFilter_value = map[string]int32{ + "KIND_FILTER_UNSPECIFIED": 0, + "KIND_FILTER_DEFINITION": 1, + "KIND_FILTER_CAVEAT": 2, + "KIND_FILTER_RELATION": 3, + "KIND_FILTER_PERMISSION": 4, + } +) + +func (x ExpSchemaFilter_KindFilter) Enum() *ExpSchemaFilter_KindFilter { + p := new(ExpSchemaFilter_KindFilter) + *p = x + return p +} + +func (x ExpSchemaFilter_KindFilter) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (ExpSchemaFilter_KindFilter) Descriptor() protoreflect.EnumDescriptor { + return file_authzed_api_v1_experimental_service_proto_enumTypes[0].Descriptor() +} + +func (ExpSchemaFilter_KindFilter) Type() protoreflect.EnumType { + return &file_authzed_api_v1_experimental_service_proto_enumTypes[0] +} + +func (x ExpSchemaFilter_KindFilter) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use ExpSchemaFilter_KindFilter.Descriptor instead. +func (ExpSchemaFilter_KindFilter) EnumDescriptor() ([]byte, []int) { + return file_authzed_api_v1_experimental_service_proto_rawDescGZIP(), []int{11, 0} +} + +// NOTE: Deprecated now that BulkCheckPermission has been promoted to the stable API as "CheckBulkPermission". type BulkCheckPermissionRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Consistency *Consistency `protobuf:"bytes,1,opt,name=consistency,proto3" json:"consistency,omitempty"` - Items []*BulkCheckPermissionRequestItem `protobuf:"bytes,2,rep,name=items,proto3" json:"items,omitempty"` + Consistency *Consistency `protobuf:"bytes,1,opt,name=consistency,proto3" json:"consistency,omitempty"` + // Deprecated: Marked as deprecated in authzed/api/v1/experimental_service.proto. + Items []*BulkCheckPermissionRequestItem `protobuf:"bytes,2,rep,name=items,proto3" json:"items,omitempty"` } func (x *BulkCheckPermissionRequest) Reset() { @@ -72,6 +129,7 @@ func (x *BulkCheckPermissionRequest) GetConsistency() *Consistency { return nil } +// Deprecated: Marked as deprecated in authzed/api/v1/experimental_service.proto. func (x *BulkCheckPermissionRequest) GetItems() []*BulkCheckPermissionRequestItem { if x != nil { return x.Items @@ -590,304 +648,2113 @@ func (x *BulkExportRelationshipsResponse) GetRelationships() []*Relationship { return nil } -var File_authzed_api_v1_experimental_service_proto protoreflect.FileDescriptor +type ExperimentalReflectSchemaRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields -var file_authzed_api_v1_experimental_service_proto_rawDesc = []byte{ - 0x0a, 0x29, 0x61, 0x75, 0x74, 0x68, 0x7a, 0x65, 0x64, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, - 0x2f, 0x65, 0x78, 0x70, 0x65, 0x72, 0x69, 0x6d, 0x65, 0x6e, 0x74, 0x61, 0x6c, 0x5f, 0x73, 0x65, - 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x0e, 0x61, 0x75, 0x74, - 0x68, 0x7a, 0x65, 0x64, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x1a, 0x1c, 0x67, 0x6f, 0x6f, - 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x76, 0x61, 0x6c, 0x69, 0x64, - 0x61, 0x74, 0x65, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, - 0x74, 0x6f, 0x1a, 0x1c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, - 0x62, 0x75, 0x66, 0x2f, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, - 0x1a, 0x17, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x72, 0x70, 0x63, 0x2f, 0x73, 0x74, 0x61, - 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x19, 0x61, 0x75, 0x74, 0x68, 0x7a, - 0x65, 0x64, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x70, - 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x27, 0x61, 0x75, 0x74, 0x68, 0x7a, 0x65, 0x64, 0x2f, 0x61, 0x70, - 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x5f, - 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xb0, 0x01, - 0x0a, 0x1a, 0x42, 0x75, 0x6c, 0x6b, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x50, 0x65, 0x72, 0x6d, 0x69, - 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3d, 0x0a, 0x0b, - 0x63, 0x6f, 0x6e, 0x73, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x63, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x1b, 0x2e, 0x61, 0x75, 0x74, 0x68, 0x7a, 0x65, 0x64, 0x2e, 0x61, 0x70, 0x69, 0x2e, - 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6e, 0x73, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x63, 0x79, 0x52, 0x0b, - 0x63, 0x6f, 0x6e, 0x73, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x63, 0x79, 0x12, 0x53, 0x0a, 0x05, 0x69, - 0x74, 0x65, 0x6d, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x61, 0x75, 0x74, - 0x68, 0x7a, 0x65, 0x64, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x75, 0x6c, 0x6b, - 0x43, 0x68, 0x65, 0x63, 0x6b, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x74, 0x65, 0x6d, 0x42, 0x0d, 0xfa, 0x42, 0x0a, 0x92, - 0x01, 0x07, 0x22, 0x05, 0x8a, 0x01, 0x02, 0x10, 0x01, 0x52, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, - 0x22, 0xb6, 0x02, 0x0a, 0x1e, 0x42, 0x75, 0x6c, 0x6b, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x50, 0x65, - 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, - 0x74, 0x65, 0x6d, 0x12, 0x45, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x61, 0x75, 0x74, 0x68, 0x7a, 0x65, 0x64, 0x2e, - 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x66, - 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x8a, 0x01, 0x02, 0x10, 0x01, - 0x52, 0x08, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x4a, 0x0a, 0x0a, 0x70, 0x65, - 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x2a, - 0xfa, 0x42, 0x27, 0x72, 0x25, 0x28, 0x40, 0x32, 0x21, 0x5e, 0x28, 0x5b, 0x61, 0x2d, 0x7a, 0x5d, - 0x5b, 0x61, 0x2d, 0x7a, 0x30, 0x2d, 0x39, 0x5f, 0x5d, 0x7b, 0x31, 0x2c, 0x36, 0x32, 0x7d, 0x5b, - 0x61, 0x2d, 0x7a, 0x30, 0x2d, 0x39, 0x5d, 0x29, 0x3f, 0x24, 0x52, 0x0a, 0x70, 0x65, 0x72, 0x6d, - 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x44, 0x0a, 0x07, 0x73, 0x75, 0x62, 0x6a, 0x65, 0x63, - 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x61, 0x75, 0x74, 0x68, 0x7a, 0x65, - 0x64, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, - 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x8a, 0x01, - 0x02, 0x10, 0x01, 0x52, 0x07, 0x73, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x3b, 0x0a, 0x07, - 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, - 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, - 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x8a, 0x01, 0x02, 0x10, 0x00, - 0x52, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x22, 0xae, 0x01, 0x0a, 0x1b, 0x42, 0x75, - 0x6c, 0x6b, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, - 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x41, 0x0a, 0x0a, 0x63, 0x68, 0x65, - 0x63, 0x6b, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, - 0x61, 0x75, 0x74, 0x68, 0x7a, 0x65, 0x64, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x5a, - 0x65, 0x64, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x8a, 0x01, 0x02, 0x10, - 0x00, 0x52, 0x09, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x65, 0x64, 0x41, 0x74, 0x12, 0x4c, 0x0a, 0x05, - 0x70, 0x61, 0x69, 0x72, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x61, 0x75, - 0x74, 0x68, 0x7a, 0x65, 0x64, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x75, 0x6c, - 0x6b, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, - 0x50, 0x61, 0x69, 0x72, 0x42, 0x0d, 0xfa, 0x42, 0x0a, 0x92, 0x01, 0x07, 0x22, 0x05, 0x8a, 0x01, - 0x02, 0x10, 0x01, 0x52, 0x05, 0x70, 0x61, 0x69, 0x72, 0x73, 0x22, 0xe2, 0x01, 0x0a, 0x17, 0x42, - 0x75, 0x6c, 0x6b, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, - 0x6f, 0x6e, 0x50, 0x61, 0x69, 0x72, 0x12, 0x48, 0x0a, 0x07, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x61, 0x75, 0x74, 0x68, 0x7a, 0x65, - 0x64, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x75, 0x6c, 0x6b, 0x43, 0x68, 0x65, - 0x63, 0x6b, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x07, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x12, 0x45, 0x0a, 0x04, 0x69, 0x74, 0x65, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, - 0x2e, 0x61, 0x75, 0x74, 0x68, 0x7a, 0x65, 0x64, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, - 0x42, 0x75, 0x6c, 0x6b, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, - 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x49, 0x74, 0x65, 0x6d, 0x48, - 0x00, 0x52, 0x04, 0x69, 0x74, 0x65, 0x6d, 0x12, 0x2a, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, - 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, - 0x72, 0x70, 0x63, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x48, 0x00, 0x52, 0x05, 0x65, 0x72, - 0x72, 0x6f, 0x72, 0x42, 0x0a, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, - 0xea, 0x01, 0x0a, 0x1f, 0x42, 0x75, 0x6c, 0x6b, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x50, 0x65, 0x72, - 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x49, - 0x74, 0x65, 0x6d, 0x12, 0x6a, 0x0a, 0x0e, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, - 0x6e, 0x73, 0x68, 0x69, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x36, 0x2e, 0x61, 0x75, - 0x74, 0x68, 0x7a, 0x65, 0x64, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x68, 0x65, - 0x63, 0x6b, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, - 0x68, 0x69, 0x70, 0x42, 0x0a, 0xfa, 0x42, 0x07, 0x82, 0x01, 0x04, 0x10, 0x01, 0x20, 0x00, 0x52, - 0x0e, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x68, 0x69, 0x70, 0x12, - 0x5b, 0x0a, 0x13, 0x70, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x63, 0x61, 0x76, 0x65, 0x61, - 0x74, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x61, - 0x75, 0x74, 0x68, 0x7a, 0x65, 0x64, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x61, - 0x72, 0x74, 0x69, 0x61, 0x6c, 0x43, 0x61, 0x76, 0x65, 0x61, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x42, - 0x08, 0xfa, 0x42, 0x05, 0x8a, 0x01, 0x02, 0x10, 0x00, 0x52, 0x11, 0x70, 0x61, 0x72, 0x74, 0x69, - 0x61, 0x6c, 0x43, 0x61, 0x76, 0x65, 0x61, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x22, 0x73, 0x0a, 0x1e, - 0x42, 0x75, 0x6c, 0x6b, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x6c, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x73, 0x68, 0x69, 0x70, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x51, - 0x0a, 0x0d, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x68, 0x69, 0x70, 0x73, 0x18, - 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x61, 0x75, 0x74, 0x68, 0x7a, 0x65, 0x64, 0x2e, - 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, - 0x68, 0x69, 0x70, 0x42, 0x0d, 0xfa, 0x42, 0x0a, 0x92, 0x01, 0x07, 0x22, 0x05, 0x8a, 0x01, 0x02, - 0x10, 0x01, 0x52, 0x0d, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x68, 0x69, 0x70, - 0x73, 0x22, 0x40, 0x0a, 0x1f, 0x42, 0x75, 0x6c, 0x6b, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x52, - 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x68, 0x69, 0x70, 0x73, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x6e, 0x75, 0x6d, 0x5f, 0x6c, 0x6f, 0x61, 0x64, - 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x6e, 0x75, 0x6d, 0x4c, 0x6f, 0x61, - 0x64, 0x65, 0x64, 0x22, 0xb6, 0x02, 0x0a, 0x1e, 0x42, 0x75, 0x6c, 0x6b, 0x45, 0x78, 0x70, 0x6f, - 0x72, 0x74, 0x52, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x68, 0x69, 0x70, 0x73, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3d, 0x0a, 0x0b, 0x63, 0x6f, 0x6e, 0x73, 0x69, 0x73, - 0x74, 0x65, 0x6e, 0x63, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x61, 0x75, - 0x74, 0x68, 0x7a, 0x65, 0x64, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6e, - 0x73, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x63, 0x79, 0x52, 0x0b, 0x63, 0x6f, 0x6e, 0x73, 0x69, 0x73, - 0x74, 0x65, 0x6e, 0x63, 0x79, 0x12, 0x2e, 0x0a, 0x0e, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, - 0x6c, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x42, 0x07, 0xfa, - 0x42, 0x04, 0x2a, 0x02, 0x28, 0x00, 0x52, 0x0d, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, - 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x3f, 0x0a, 0x0f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, - 0x6c, 0x5f, 0x63, 0x75, 0x72, 0x73, 0x6f, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, - 0x2e, 0x61, 0x75, 0x74, 0x68, 0x7a, 0x65, 0x64, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, - 0x43, 0x75, 0x72, 0x73, 0x6f, 0x72, 0x52, 0x0e, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, - 0x43, 0x75, 0x72, 0x73, 0x6f, 0x72, 0x12, 0x64, 0x0a, 0x1c, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, - 0x61, 0x6c, 0x5f, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x68, 0x69, 0x70, 0x5f, - 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x61, - 0x75, 0x74, 0x68, 0x7a, 0x65, 0x64, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, - 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x68, 0x69, 0x70, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, - 0x52, 0x1a, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x52, 0x65, 0x6c, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x73, 0x68, 0x69, 0x70, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x22, 0xad, 0x01, 0x0a, - 0x1f, 0x42, 0x75, 0x6c, 0x6b, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x6c, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x73, 0x68, 0x69, 0x70, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x12, 0x46, 0x0a, 0x13, 0x61, 0x66, 0x74, 0x65, 0x72, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, - 0x5f, 0x63, 0x75, 0x72, 0x73, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, - 0x61, 0x75, 0x74, 0x68, 0x7a, 0x65, 0x64, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x43, - 0x75, 0x72, 0x73, 0x6f, 0x72, 0x52, 0x11, 0x61, 0x66, 0x74, 0x65, 0x72, 0x52, 0x65, 0x73, 0x75, - 0x6c, 0x74, 0x43, 0x75, 0x72, 0x73, 0x6f, 0x72, 0x12, 0x42, 0x0a, 0x0d, 0x72, 0x65, 0x6c, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x68, 0x69, 0x70, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, - 0x1c, 0x2e, 0x61, 0x75, 0x74, 0x68, 0x7a, 0x65, 0x64, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, - 0x2e, 0x52, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x68, 0x69, 0x70, 0x52, 0x0d, 0x72, - 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x68, 0x69, 0x70, 0x73, 0x32, 0xad, 0x04, 0x0a, - 0x13, 0x45, 0x78, 0x70, 0x65, 0x72, 0x69, 0x6d, 0x65, 0x6e, 0x74, 0x61, 0x6c, 0x53, 0x65, 0x72, - 0x76, 0x69, 0x63, 0x65, 0x12, 0xb2, 0x01, 0x0a, 0x17, 0x42, 0x75, 0x6c, 0x6b, 0x49, 0x6d, 0x70, - 0x6f, 0x72, 0x74, 0x52, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x68, 0x69, 0x70, 0x73, - 0x12, 0x2e, 0x2e, 0x61, 0x75, 0x74, 0x68, 0x7a, 0x65, 0x64, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, - 0x31, 0x2e, 0x42, 0x75, 0x6c, 0x6b, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x6c, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x68, 0x69, 0x70, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x1a, 0x2f, 0x2e, 0x61, 0x75, 0x74, 0x68, 0x7a, 0x65, 0x64, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, - 0x31, 0x2e, 0x42, 0x75, 0x6c, 0x6b, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x6c, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x68, 0x69, 0x70, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x22, 0x34, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2e, 0x3a, 0x01, 0x2a, 0x22, 0x29, 0x2f, 0x76, - 0x31, 0x2f, 0x65, 0x78, 0x70, 0x65, 0x72, 0x69, 0x6d, 0x65, 0x6e, 0x74, 0x61, 0x6c, 0x2f, 0x72, - 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x68, 0x69, 0x70, 0x73, 0x2f, 0x62, 0x75, 0x6c, - 0x6b, 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x28, 0x01, 0x12, 0xb2, 0x01, 0x0a, 0x17, 0x42, 0x75, - 0x6c, 0x6b, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x73, 0x68, 0x69, 0x70, 0x73, 0x12, 0x2e, 0x2e, 0x61, 0x75, 0x74, 0x68, 0x7a, 0x65, 0x64, 0x2e, - 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x75, 0x6c, 0x6b, 0x45, 0x78, 0x70, 0x6f, 0x72, - 0x74, 0x52, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x68, 0x69, 0x70, 0x73, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2f, 0x2e, 0x61, 0x75, 0x74, 0x68, 0x7a, 0x65, 0x64, 0x2e, - 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x75, 0x6c, 0x6b, 0x45, 0x78, 0x70, 0x6f, 0x72, - 0x74, 0x52, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x68, 0x69, 0x70, 0x73, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x34, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2e, 0x3a, 0x01, - 0x2a, 0x22, 0x29, 0x2f, 0x76, 0x31, 0x2f, 0x65, 0x78, 0x70, 0x65, 0x72, 0x69, 0x6d, 0x65, 0x6e, - 0x74, 0x61, 0x6c, 0x2f, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x68, 0x69, 0x70, - 0x73, 0x2f, 0x62, 0x75, 0x6c, 0x6b, 0x65, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x30, 0x01, 0x12, 0xab, - 0x01, 0x0a, 0x13, 0x42, 0x75, 0x6c, 0x6b, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x50, 0x65, 0x72, 0x6d, - 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x2a, 0x2e, 0x61, 0x75, 0x74, 0x68, 0x7a, 0x65, 0x64, - 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x75, 0x6c, 0x6b, 0x43, 0x68, 0x65, 0x63, - 0x6b, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x1a, 0x2b, 0x2e, 0x61, 0x75, 0x74, 0x68, 0x7a, 0x65, 0x64, 0x2e, 0x61, 0x70, 0x69, - 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x75, 0x6c, 0x6b, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x50, 0x65, 0x72, - 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, - 0x3b, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x35, 0x3a, 0x01, 0x2a, 0x22, 0x30, 0x2f, 0x76, 0x31, 0x2f, - 0x65, 0x78, 0x70, 0x65, 0x72, 0x69, 0x6d, 0x65, 0x6e, 0x74, 0x61, 0x6c, 0x2f, 0x70, 0x65, 0x72, - 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x62, 0x75, 0x6c, 0x6b, 0x63, 0x68, 0x65, - 0x63, 0x6b, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x42, 0x48, 0x0a, 0x12, - 0x63, 0x6f, 0x6d, 0x2e, 0x61, 0x75, 0x74, 0x68, 0x7a, 0x65, 0x64, 0x2e, 0x61, 0x70, 0x69, 0x2e, - 0x76, 0x31, 0x5a, 0x32, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, - 0x75, 0x74, 0x68, 0x7a, 0x65, 0x64, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x7a, 0x65, 0x64, 0x2d, 0x67, - 0x6f, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x7a, 0x65, 0x64, 0x2f, - 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + Consistency *Consistency `protobuf:"bytes,1,opt,name=consistency,proto3" json:"consistency,omitempty"` + // optional_filters defines optional filters that are applied in + // an OR fashion to the schema, before being returned + OptionalFilters []*ExpSchemaFilter `protobuf:"bytes,2,rep,name=optional_filters,json=optionalFilters,proto3" json:"optional_filters,omitempty"` } -var ( - file_authzed_api_v1_experimental_service_proto_rawDescOnce sync.Once - file_authzed_api_v1_experimental_service_proto_rawDescData = file_authzed_api_v1_experimental_service_proto_rawDesc -) +func (x *ExperimentalReflectSchemaRequest) Reset() { + *x = ExperimentalReflectSchemaRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_authzed_api_v1_experimental_service_proto_msgTypes[9] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} -func file_authzed_api_v1_experimental_service_proto_rawDescGZIP() []byte { - file_authzed_api_v1_experimental_service_proto_rawDescOnce.Do(func() { - file_authzed_api_v1_experimental_service_proto_rawDescData = protoimpl.X.CompressGZIP(file_authzed_api_v1_experimental_service_proto_rawDescData) - }) - return file_authzed_api_v1_experimental_service_proto_rawDescData +func (x *ExperimentalReflectSchemaRequest) String() string { + return protoimpl.X.MessageStringOf(x) } -var file_authzed_api_v1_experimental_service_proto_msgTypes = make([]protoimpl.MessageInfo, 9) -var file_authzed_api_v1_experimental_service_proto_goTypes = []interface{}{ - (*BulkCheckPermissionRequest)(nil), // 0: authzed.api.v1.BulkCheckPermissionRequest - (*BulkCheckPermissionRequestItem)(nil), // 1: authzed.api.v1.BulkCheckPermissionRequestItem - (*BulkCheckPermissionResponse)(nil), // 2: authzed.api.v1.BulkCheckPermissionResponse - (*BulkCheckPermissionPair)(nil), // 3: authzed.api.v1.BulkCheckPermissionPair - (*BulkCheckPermissionResponseItem)(nil), // 4: authzed.api.v1.BulkCheckPermissionResponseItem - (*BulkImportRelationshipsRequest)(nil), // 5: authzed.api.v1.BulkImportRelationshipsRequest - (*BulkImportRelationshipsResponse)(nil), // 6: authzed.api.v1.BulkImportRelationshipsResponse - (*BulkExportRelationshipsRequest)(nil), // 7: authzed.api.v1.BulkExportRelationshipsRequest - (*BulkExportRelationshipsResponse)(nil), // 8: authzed.api.v1.BulkExportRelationshipsResponse - (*Consistency)(nil), // 9: authzed.api.v1.Consistency - (*ObjectReference)(nil), // 10: authzed.api.v1.ObjectReference - (*SubjectReference)(nil), // 11: authzed.api.v1.SubjectReference - (*structpb.Struct)(nil), // 12: google.protobuf.Struct - (*ZedToken)(nil), // 13: authzed.api.v1.ZedToken - (*status.Status)(nil), // 14: google.rpc.Status - (CheckPermissionResponse_Permissionship)(0), // 15: authzed.api.v1.CheckPermissionResponse.Permissionship - (*PartialCaveatInfo)(nil), // 16: authzed.api.v1.PartialCaveatInfo - (*Relationship)(nil), // 17: authzed.api.v1.Relationship - (*Cursor)(nil), // 18: authzed.api.v1.Cursor - (*RelationshipFilter)(nil), // 19: authzed.api.v1.RelationshipFilter +func (*ExperimentalReflectSchemaRequest) ProtoMessage() {} + +func (x *ExperimentalReflectSchemaRequest) ProtoReflect() protoreflect.Message { + mi := &file_authzed_api_v1_experimental_service_proto_msgTypes[9] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) } -var file_authzed_api_v1_experimental_service_proto_depIdxs = []int32{ - 9, // 0: authzed.api.v1.BulkCheckPermissionRequest.consistency:type_name -> authzed.api.v1.Consistency - 1, // 1: authzed.api.v1.BulkCheckPermissionRequest.items:type_name -> authzed.api.v1.BulkCheckPermissionRequestItem - 10, // 2: authzed.api.v1.BulkCheckPermissionRequestItem.resource:type_name -> authzed.api.v1.ObjectReference - 11, // 3: authzed.api.v1.BulkCheckPermissionRequestItem.subject:type_name -> authzed.api.v1.SubjectReference - 12, // 4: authzed.api.v1.BulkCheckPermissionRequestItem.context:type_name -> google.protobuf.Struct - 13, // 5: authzed.api.v1.BulkCheckPermissionResponse.checked_at:type_name -> authzed.api.v1.ZedToken - 3, // 6: authzed.api.v1.BulkCheckPermissionResponse.pairs:type_name -> authzed.api.v1.BulkCheckPermissionPair - 1, // 7: authzed.api.v1.BulkCheckPermissionPair.request:type_name -> authzed.api.v1.BulkCheckPermissionRequestItem - 4, // 8: authzed.api.v1.BulkCheckPermissionPair.item:type_name -> authzed.api.v1.BulkCheckPermissionResponseItem - 14, // 9: authzed.api.v1.BulkCheckPermissionPair.error:type_name -> google.rpc.Status - 15, // 10: authzed.api.v1.BulkCheckPermissionResponseItem.permissionship:type_name -> authzed.api.v1.CheckPermissionResponse.Permissionship - 16, // 11: authzed.api.v1.BulkCheckPermissionResponseItem.partial_caveat_info:type_name -> authzed.api.v1.PartialCaveatInfo - 17, // 12: authzed.api.v1.BulkImportRelationshipsRequest.relationships:type_name -> authzed.api.v1.Relationship - 9, // 13: authzed.api.v1.BulkExportRelationshipsRequest.consistency:type_name -> authzed.api.v1.Consistency - 18, // 14: authzed.api.v1.BulkExportRelationshipsRequest.optional_cursor:type_name -> authzed.api.v1.Cursor - 19, // 15: authzed.api.v1.BulkExportRelationshipsRequest.optional_relationship_filter:type_name -> authzed.api.v1.RelationshipFilter - 18, // 16: authzed.api.v1.BulkExportRelationshipsResponse.after_result_cursor:type_name -> authzed.api.v1.Cursor - 17, // 17: authzed.api.v1.BulkExportRelationshipsResponse.relationships:type_name -> authzed.api.v1.Relationship - 5, // 18: authzed.api.v1.ExperimentalService.BulkImportRelationships:input_type -> authzed.api.v1.BulkImportRelationshipsRequest - 7, // 19: authzed.api.v1.ExperimentalService.BulkExportRelationships:input_type -> authzed.api.v1.BulkExportRelationshipsRequest - 0, // 20: authzed.api.v1.ExperimentalService.BulkCheckPermission:input_type -> authzed.api.v1.BulkCheckPermissionRequest - 6, // 21: authzed.api.v1.ExperimentalService.BulkImportRelationships:output_type -> authzed.api.v1.BulkImportRelationshipsResponse - 8, // 22: authzed.api.v1.ExperimentalService.BulkExportRelationships:output_type -> authzed.api.v1.BulkExportRelationshipsResponse - 2, // 23: authzed.api.v1.ExperimentalService.BulkCheckPermission:output_type -> authzed.api.v1.BulkCheckPermissionResponse - 21, // [21:24] is the sub-list for method output_type - 18, // [18:21] is the sub-list for method input_type - 18, // [18:18] is the sub-list for extension type_name - 18, // [18:18] is the sub-list for extension extendee - 0, // [0:18] is the sub-list for field type_name + +// Deprecated: Use ExperimentalReflectSchemaRequest.ProtoReflect.Descriptor instead. +func (*ExperimentalReflectSchemaRequest) Descriptor() ([]byte, []int) { + return file_authzed_api_v1_experimental_service_proto_rawDescGZIP(), []int{9} } -func init() { file_authzed_api_v1_experimental_service_proto_init() } -func file_authzed_api_v1_experimental_service_proto_init() { - if File_authzed_api_v1_experimental_service_proto != nil { - return +func (x *ExperimentalReflectSchemaRequest) GetConsistency() *Consistency { + if x != nil { + return x.Consistency } - file_authzed_api_v1_core_proto_init() - file_authzed_api_v1_permission_service_proto_init() - if !protoimpl.UnsafeEnabled { - file_authzed_api_v1_experimental_service_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*BulkCheckPermissionRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_authzed_api_v1_experimental_service_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*BulkCheckPermissionRequestItem); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } + return nil +} + +func (x *ExperimentalReflectSchemaRequest) GetOptionalFilters() []*ExpSchemaFilter { + if x != nil { + return x.OptionalFilters + } + return nil +} + +type ExperimentalReflectSchemaResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // definitions are the definitions defined in the schema. + Definitions []*ExpDefinition `protobuf:"bytes,1,rep,name=definitions,proto3" json:"definitions,omitempty"` + // caveats are the caveats defined in the schema. + Caveats []*ExpCaveat `protobuf:"bytes,2,rep,name=caveats,proto3" json:"caveats,omitempty"` + // read_at is the ZedToken at which the schema was read. + ReadAt *ZedToken `protobuf:"bytes,3,opt,name=read_at,json=readAt,proto3" json:"read_at,omitempty"` +} + +func (x *ExperimentalReflectSchemaResponse) Reset() { + *x = ExperimentalReflectSchemaResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_authzed_api_v1_experimental_service_proto_msgTypes[10] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ExperimentalReflectSchemaResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ExperimentalReflectSchemaResponse) ProtoMessage() {} + +func (x *ExperimentalReflectSchemaResponse) ProtoReflect() protoreflect.Message { + mi := &file_authzed_api_v1_experimental_service_proto_msgTypes[10] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) } - file_authzed_api_v1_experimental_service_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*BulkCheckPermissionResponse); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ExperimentalReflectSchemaResponse.ProtoReflect.Descriptor instead. +func (*ExperimentalReflectSchemaResponse) Descriptor() ([]byte, []int) { + return file_authzed_api_v1_experimental_service_proto_rawDescGZIP(), []int{10} +} + +func (x *ExperimentalReflectSchemaResponse) GetDefinitions() []*ExpDefinition { + if x != nil { + return x.Definitions + } + return nil +} + +func (x *ExperimentalReflectSchemaResponse) GetCaveats() []*ExpCaveat { + if x != nil { + return x.Caveats + } + return nil +} + +func (x *ExperimentalReflectSchemaResponse) GetReadAt() *ZedToken { + if x != nil { + return x.ReadAt + } + return nil +} + +type ExpSchemaFilter struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // optional_definition_name_match is a regex that is matched against the definition or caveat name. + // If not specified, will be ignored. + OptionalDefinitionNameMatch string `protobuf:"bytes,1,opt,name=optional_definition_name_match,json=optionalDefinitionNameMatch,proto3" json:"optional_definition_name_match,omitempty"` + // optional_relation_or_permission_name_match is a regex that is matched against the relation or permission name. + // If not specified, will be ignored. + OptionalRelationOrPermissionNameMatch string `protobuf:"bytes,2,opt,name=optional_relation_or_permission_name_match,json=optionalRelationOrPermissionNameMatch,proto3" json:"optional_relation_or_permission_name_match,omitempty"` + // kind_filters is a list of kinds to filter on. If not specified, will be ignored. If multiple are specified, + // the filter will be applied in an OR fashion. + KindFilters []ExpSchemaFilter_KindFilter `protobuf:"varint,3,rep,packed,name=kind_filters,json=kindFilters,proto3,enum=authzed.api.v1.ExpSchemaFilter_KindFilter" json:"kind_filters,omitempty"` +} + +func (x *ExpSchemaFilter) Reset() { + *x = ExpSchemaFilter{} + if protoimpl.UnsafeEnabled { + mi := &file_authzed_api_v1_experimental_service_proto_msgTypes[11] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ExpSchemaFilter) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ExpSchemaFilter) ProtoMessage() {} + +func (x *ExpSchemaFilter) ProtoReflect() protoreflect.Message { + mi := &file_authzed_api_v1_experimental_service_proto_msgTypes[11] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) } - file_authzed_api_v1_experimental_service_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*BulkCheckPermissionPair); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ExpSchemaFilter.ProtoReflect.Descriptor instead. +func (*ExpSchemaFilter) Descriptor() ([]byte, []int) { + return file_authzed_api_v1_experimental_service_proto_rawDescGZIP(), []int{11} +} + +func (x *ExpSchemaFilter) GetOptionalDefinitionNameMatch() string { + if x != nil { + return x.OptionalDefinitionNameMatch + } + return "" +} + +func (x *ExpSchemaFilter) GetOptionalRelationOrPermissionNameMatch() string { + if x != nil { + return x.OptionalRelationOrPermissionNameMatch + } + return "" +} + +func (x *ExpSchemaFilter) GetKindFilters() []ExpSchemaFilter_KindFilter { + if x != nil { + return x.KindFilters + } + return nil +} + +type ExpDefinition struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + Comment string `protobuf:"bytes,2,opt,name=comment,proto3" json:"comment,omitempty"` + Relations []*ExpRelation `protobuf:"bytes,3,rep,name=relations,proto3" json:"relations,omitempty"` + Permissions []*ExpPermission `protobuf:"bytes,4,rep,name=permissions,proto3" json:"permissions,omitempty"` +} + +func (x *ExpDefinition) Reset() { + *x = ExpDefinition{} + if protoimpl.UnsafeEnabled { + mi := &file_authzed_api_v1_experimental_service_proto_msgTypes[12] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ExpDefinition) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ExpDefinition) ProtoMessage() {} + +func (x *ExpDefinition) ProtoReflect() protoreflect.Message { + mi := &file_authzed_api_v1_experimental_service_proto_msgTypes[12] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) } - file_authzed_api_v1_experimental_service_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*BulkCheckPermissionResponseItem); i { + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ExpDefinition.ProtoReflect.Descriptor instead. +func (*ExpDefinition) Descriptor() ([]byte, []int) { + return file_authzed_api_v1_experimental_service_proto_rawDescGZIP(), []int{12} +} + +func (x *ExpDefinition) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *ExpDefinition) GetComment() string { + if x != nil { + return x.Comment + } + return "" +} + +func (x *ExpDefinition) GetRelations() []*ExpRelation { + if x != nil { + return x.Relations + } + return nil +} + +func (x *ExpDefinition) GetPermissions() []*ExpPermission { + if x != nil { + return x.Permissions + } + return nil +} + +type ExpCaveat struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + Comment string `protobuf:"bytes,2,opt,name=comment,proto3" json:"comment,omitempty"` + Parameters []*ExpCaveatParameter `protobuf:"bytes,3,rep,name=parameters,proto3" json:"parameters,omitempty"` + Expression string `protobuf:"bytes,4,opt,name=expression,proto3" json:"expression,omitempty"` +} + +func (x *ExpCaveat) Reset() { + *x = ExpCaveat{} + if protoimpl.UnsafeEnabled { + mi := &file_authzed_api_v1_experimental_service_proto_msgTypes[13] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ExpCaveat) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ExpCaveat) ProtoMessage() {} + +func (x *ExpCaveat) ProtoReflect() protoreflect.Message { + mi := &file_authzed_api_v1_experimental_service_proto_msgTypes[13] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ExpCaveat.ProtoReflect.Descriptor instead. +func (*ExpCaveat) Descriptor() ([]byte, []int) { + return file_authzed_api_v1_experimental_service_proto_rawDescGZIP(), []int{13} +} + +func (x *ExpCaveat) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *ExpCaveat) GetComment() string { + if x != nil { + return x.Comment + } + return "" +} + +func (x *ExpCaveat) GetParameters() []*ExpCaveatParameter { + if x != nil { + return x.Parameters + } + return nil +} + +func (x *ExpCaveat) GetExpression() string { + if x != nil { + return x.Expression + } + return "" +} + +type ExpCaveatParameter struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + Type string `protobuf:"bytes,2,opt,name=type,proto3" json:"type,omitempty"` + ParentCaveatName string `protobuf:"bytes,3,opt,name=parent_caveat_name,json=parentCaveatName,proto3" json:"parent_caveat_name,omitempty"` +} + +func (x *ExpCaveatParameter) Reset() { + *x = ExpCaveatParameter{} + if protoimpl.UnsafeEnabled { + mi := &file_authzed_api_v1_experimental_service_proto_msgTypes[14] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ExpCaveatParameter) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ExpCaveatParameter) ProtoMessage() {} + +func (x *ExpCaveatParameter) ProtoReflect() protoreflect.Message { + mi := &file_authzed_api_v1_experimental_service_proto_msgTypes[14] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ExpCaveatParameter.ProtoReflect.Descriptor instead. +func (*ExpCaveatParameter) Descriptor() ([]byte, []int) { + return file_authzed_api_v1_experimental_service_proto_rawDescGZIP(), []int{14} +} + +func (x *ExpCaveatParameter) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *ExpCaveatParameter) GetType() string { + if x != nil { + return x.Type + } + return "" +} + +func (x *ExpCaveatParameter) GetParentCaveatName() string { + if x != nil { + return x.ParentCaveatName + } + return "" +} + +type ExpRelation struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + Comment string `protobuf:"bytes,2,opt,name=comment,proto3" json:"comment,omitempty"` + ParentDefinitionName string `protobuf:"bytes,3,opt,name=parent_definition_name,json=parentDefinitionName,proto3" json:"parent_definition_name,omitempty"` + SubjectTypes []*ExpTypeReference `protobuf:"bytes,4,rep,name=subject_types,json=subjectTypes,proto3" json:"subject_types,omitempty"` +} + +func (x *ExpRelation) Reset() { + *x = ExpRelation{} + if protoimpl.UnsafeEnabled { + mi := &file_authzed_api_v1_experimental_service_proto_msgTypes[15] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ExpRelation) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ExpRelation) ProtoMessage() {} + +func (x *ExpRelation) ProtoReflect() protoreflect.Message { + mi := &file_authzed_api_v1_experimental_service_proto_msgTypes[15] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ExpRelation.ProtoReflect.Descriptor instead. +func (*ExpRelation) Descriptor() ([]byte, []int) { + return file_authzed_api_v1_experimental_service_proto_rawDescGZIP(), []int{15} +} + +func (x *ExpRelation) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *ExpRelation) GetComment() string { + if x != nil { + return x.Comment + } + return "" +} + +func (x *ExpRelation) GetParentDefinitionName() string { + if x != nil { + return x.ParentDefinitionName + } + return "" +} + +func (x *ExpRelation) GetSubjectTypes() []*ExpTypeReference { + if x != nil { + return x.SubjectTypes + } + return nil +} + +type ExpTypeReference struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // subject_definition_name is the name of the subject's definition. + SubjectDefinitionName string `protobuf:"bytes,1,opt,name=subject_definition_name,json=subjectDefinitionName,proto3" json:"subject_definition_name,omitempty"` + // optional_caveat_name is the name of the caveat that is applied to the subject, if any. + OptionalCaveatName string `protobuf:"bytes,2,opt,name=optional_caveat_name,json=optionalCaveatName,proto3" json:"optional_caveat_name,omitempty"` + // Types that are assignable to Typeref: + // + // *ExpTypeReference_IsTerminalSubject + // *ExpTypeReference_OptionalRelationName + // *ExpTypeReference_IsPublicWildcard + Typeref isExpTypeReference_Typeref `protobuf_oneof:"typeref"` +} + +func (x *ExpTypeReference) Reset() { + *x = ExpTypeReference{} + if protoimpl.UnsafeEnabled { + mi := &file_authzed_api_v1_experimental_service_proto_msgTypes[16] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ExpTypeReference) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ExpTypeReference) ProtoMessage() {} + +func (x *ExpTypeReference) ProtoReflect() protoreflect.Message { + mi := &file_authzed_api_v1_experimental_service_proto_msgTypes[16] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ExpTypeReference.ProtoReflect.Descriptor instead. +func (*ExpTypeReference) Descriptor() ([]byte, []int) { + return file_authzed_api_v1_experimental_service_proto_rawDescGZIP(), []int{16} +} + +func (x *ExpTypeReference) GetSubjectDefinitionName() string { + if x != nil { + return x.SubjectDefinitionName + } + return "" +} + +func (x *ExpTypeReference) GetOptionalCaveatName() string { + if x != nil { + return x.OptionalCaveatName + } + return "" +} + +func (m *ExpTypeReference) GetTyperef() isExpTypeReference_Typeref { + if m != nil { + return m.Typeref + } + return nil +} + +func (x *ExpTypeReference) GetIsTerminalSubject() bool { + if x, ok := x.GetTyperef().(*ExpTypeReference_IsTerminalSubject); ok { + return x.IsTerminalSubject + } + return false +} + +func (x *ExpTypeReference) GetOptionalRelationName() string { + if x, ok := x.GetTyperef().(*ExpTypeReference_OptionalRelationName); ok { + return x.OptionalRelationName + } + return "" +} + +func (x *ExpTypeReference) GetIsPublicWildcard() bool { + if x, ok := x.GetTyperef().(*ExpTypeReference_IsPublicWildcard); ok { + return x.IsPublicWildcard + } + return false +} + +type isExpTypeReference_Typeref interface { + isExpTypeReference_Typeref() +} + +type ExpTypeReference_IsTerminalSubject struct { + // is_terminal_subject is true if the subject is terminal, meaning it is referenced directly vs a sub-relation. + IsTerminalSubject bool `protobuf:"varint,3,opt,name=is_terminal_subject,json=isTerminalSubject,proto3,oneof"` +} + +type ExpTypeReference_OptionalRelationName struct { + // optional_relation_name is the name of the relation that is applied to the subject, if any. + OptionalRelationName string `protobuf:"bytes,4,opt,name=optional_relation_name,json=optionalRelationName,proto3,oneof"` +} + +type ExpTypeReference_IsPublicWildcard struct { + // is_public_wildcard is true if the subject is a public wildcard. + IsPublicWildcard bool `protobuf:"varint,5,opt,name=is_public_wildcard,json=isPublicWildcard,proto3,oneof"` +} + +func (*ExpTypeReference_IsTerminalSubject) isExpTypeReference_Typeref() {} + +func (*ExpTypeReference_OptionalRelationName) isExpTypeReference_Typeref() {} + +func (*ExpTypeReference_IsPublicWildcard) isExpTypeReference_Typeref() {} + +type ExpPermission struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + Comment string `protobuf:"bytes,2,opt,name=comment,proto3" json:"comment,omitempty"` + ParentDefinitionName string `protobuf:"bytes,3,opt,name=parent_definition_name,json=parentDefinitionName,proto3" json:"parent_definition_name,omitempty"` +} + +func (x *ExpPermission) Reset() { + *x = ExpPermission{} + if protoimpl.UnsafeEnabled { + mi := &file_authzed_api_v1_experimental_service_proto_msgTypes[17] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ExpPermission) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ExpPermission) ProtoMessage() {} + +func (x *ExpPermission) ProtoReflect() protoreflect.Message { + mi := &file_authzed_api_v1_experimental_service_proto_msgTypes[17] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ExpPermission.ProtoReflect.Descriptor instead. +func (*ExpPermission) Descriptor() ([]byte, []int) { + return file_authzed_api_v1_experimental_service_proto_rawDescGZIP(), []int{17} +} + +func (x *ExpPermission) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *ExpPermission) GetComment() string { + if x != nil { + return x.Comment + } + return "" +} + +func (x *ExpPermission) GetParentDefinitionName() string { + if x != nil { + return x.ParentDefinitionName + } + return "" +} + +type ExperimentalComputablePermissionsRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Consistency *Consistency `protobuf:"bytes,1,opt,name=consistency,proto3" json:"consistency,omitempty"` + Relations []*ExpRelationReference `protobuf:"bytes,2,rep,name=relations,proto3" json:"relations,omitempty"` + // optional_definition_name_match is a regex that is matched against the definition name(s) + // for the permissions returned. + // If not specified, will be ignored. + OptionalDefinitionNameMatch string `protobuf:"bytes,3,opt,name=optional_definition_name_match,json=optionalDefinitionNameMatch,proto3" json:"optional_definition_name_match,omitempty"` +} + +func (x *ExperimentalComputablePermissionsRequest) Reset() { + *x = ExperimentalComputablePermissionsRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_authzed_api_v1_experimental_service_proto_msgTypes[18] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ExperimentalComputablePermissionsRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ExperimentalComputablePermissionsRequest) ProtoMessage() {} + +func (x *ExperimentalComputablePermissionsRequest) ProtoReflect() protoreflect.Message { + mi := &file_authzed_api_v1_experimental_service_proto_msgTypes[18] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ExperimentalComputablePermissionsRequest.ProtoReflect.Descriptor instead. +func (*ExperimentalComputablePermissionsRequest) Descriptor() ([]byte, []int) { + return file_authzed_api_v1_experimental_service_proto_rawDescGZIP(), []int{18} +} + +func (x *ExperimentalComputablePermissionsRequest) GetConsistency() *Consistency { + if x != nil { + return x.Consistency + } + return nil +} + +func (x *ExperimentalComputablePermissionsRequest) GetRelations() []*ExpRelationReference { + if x != nil { + return x.Relations + } + return nil +} + +func (x *ExperimentalComputablePermissionsRequest) GetOptionalDefinitionNameMatch() string { + if x != nil { + return x.OptionalDefinitionNameMatch + } + return "" +} + +type ExpRelationReference struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + DefinitionName string `protobuf:"bytes,1,opt,name=definition_name,json=definitionName,proto3" json:"definition_name,omitempty"` + RelationName string `protobuf:"bytes,2,opt,name=relation_name,json=relationName,proto3" json:"relation_name,omitempty"` +} + +func (x *ExpRelationReference) Reset() { + *x = ExpRelationReference{} + if protoimpl.UnsafeEnabled { + mi := &file_authzed_api_v1_experimental_service_proto_msgTypes[19] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ExpRelationReference) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ExpRelationReference) ProtoMessage() {} + +func (x *ExpRelationReference) ProtoReflect() protoreflect.Message { + mi := &file_authzed_api_v1_experimental_service_proto_msgTypes[19] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ExpRelationReference.ProtoReflect.Descriptor instead. +func (*ExpRelationReference) Descriptor() ([]byte, []int) { + return file_authzed_api_v1_experimental_service_proto_rawDescGZIP(), []int{19} +} + +func (x *ExpRelationReference) GetDefinitionName() string { + if x != nil { + return x.DefinitionName + } + return "" +} + +func (x *ExpRelationReference) GetRelationName() string { + if x != nil { + return x.RelationName + } + return "" +} + +type ExpPermissionReference struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + DefinitionName string `protobuf:"bytes,1,opt,name=definition_name,json=definitionName,proto3" json:"definition_name,omitempty"` + RelationName string `protobuf:"bytes,2,opt,name=relation_name,json=relationName,proto3" json:"relation_name,omitempty"` +} + +func (x *ExpPermissionReference) Reset() { + *x = ExpPermissionReference{} + if protoimpl.UnsafeEnabled { + mi := &file_authzed_api_v1_experimental_service_proto_msgTypes[20] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ExpPermissionReference) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ExpPermissionReference) ProtoMessage() {} + +func (x *ExpPermissionReference) ProtoReflect() protoreflect.Message { + mi := &file_authzed_api_v1_experimental_service_proto_msgTypes[20] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ExpPermissionReference.ProtoReflect.Descriptor instead. +func (*ExpPermissionReference) Descriptor() ([]byte, []int) { + return file_authzed_api_v1_experimental_service_proto_rawDescGZIP(), []int{20} +} + +func (x *ExpPermissionReference) GetDefinitionName() string { + if x != nil { + return x.DefinitionName + } + return "" +} + +func (x *ExpPermissionReference) GetRelationName() string { + if x != nil { + return x.RelationName + } + return "" +} + +type ExperimentalComputablePermissionsResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Permissions []*ExpPermissionReference `protobuf:"bytes,1,rep,name=permissions,proto3" json:"permissions,omitempty"` + // read_at is the ZedToken at which the schema was read. + ReadAt *ZedToken `protobuf:"bytes,2,opt,name=read_at,json=readAt,proto3" json:"read_at,omitempty"` +} + +func (x *ExperimentalComputablePermissionsResponse) Reset() { + *x = ExperimentalComputablePermissionsResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_authzed_api_v1_experimental_service_proto_msgTypes[21] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ExperimentalComputablePermissionsResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ExperimentalComputablePermissionsResponse) ProtoMessage() {} + +func (x *ExperimentalComputablePermissionsResponse) ProtoReflect() protoreflect.Message { + mi := &file_authzed_api_v1_experimental_service_proto_msgTypes[21] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ExperimentalComputablePermissionsResponse.ProtoReflect.Descriptor instead. +func (*ExperimentalComputablePermissionsResponse) Descriptor() ([]byte, []int) { + return file_authzed_api_v1_experimental_service_proto_rawDescGZIP(), []int{21} +} + +func (x *ExperimentalComputablePermissionsResponse) GetPermissions() []*ExpPermissionReference { + if x != nil { + return x.Permissions + } + return nil +} + +func (x *ExperimentalComputablePermissionsResponse) GetReadAt() *ZedToken { + if x != nil { + return x.ReadAt + } + return nil +} + +type ExperimentalDependentRelationsRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Consistency *Consistency `protobuf:"bytes,1,opt,name=consistency,proto3" json:"consistency,omitempty"` + Permission *ExpPermissionReference `protobuf:"bytes,2,opt,name=permission,proto3" json:"permission,omitempty"` +} + +func (x *ExperimentalDependentRelationsRequest) Reset() { + *x = ExperimentalDependentRelationsRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_authzed_api_v1_experimental_service_proto_msgTypes[22] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ExperimentalDependentRelationsRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ExperimentalDependentRelationsRequest) ProtoMessage() {} + +func (x *ExperimentalDependentRelationsRequest) ProtoReflect() protoreflect.Message { + mi := &file_authzed_api_v1_experimental_service_proto_msgTypes[22] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ExperimentalDependentRelationsRequest.ProtoReflect.Descriptor instead. +func (*ExperimentalDependentRelationsRequest) Descriptor() ([]byte, []int) { + return file_authzed_api_v1_experimental_service_proto_rawDescGZIP(), []int{22} +} + +func (x *ExperimentalDependentRelationsRequest) GetConsistency() *Consistency { + if x != nil { + return x.Consistency + } + return nil +} + +func (x *ExperimentalDependentRelationsRequest) GetPermission() *ExpPermissionReference { + if x != nil { + return x.Permission + } + return nil +} + +type ExperimentalDependentRelationsResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Relations []*ExpRelationReference `protobuf:"bytes,1,rep,name=relations,proto3" json:"relations,omitempty"` + // read_at is the ZedToken at which the schema was read. + ReadAt *ZedToken `protobuf:"bytes,2,opt,name=read_at,json=readAt,proto3" json:"read_at,omitempty"` +} + +func (x *ExperimentalDependentRelationsResponse) Reset() { + *x = ExperimentalDependentRelationsResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_authzed_api_v1_experimental_service_proto_msgTypes[23] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ExperimentalDependentRelationsResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ExperimentalDependentRelationsResponse) ProtoMessage() {} + +func (x *ExperimentalDependentRelationsResponse) ProtoReflect() protoreflect.Message { + mi := &file_authzed_api_v1_experimental_service_proto_msgTypes[23] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ExperimentalDependentRelationsResponse.ProtoReflect.Descriptor instead. +func (*ExperimentalDependentRelationsResponse) Descriptor() ([]byte, []int) { + return file_authzed_api_v1_experimental_service_proto_rawDescGZIP(), []int{23} +} + +func (x *ExperimentalDependentRelationsResponse) GetRelations() []*ExpRelationReference { + if x != nil { + return x.Relations + } + return nil +} + +func (x *ExperimentalDependentRelationsResponse) GetReadAt() *ZedToken { + if x != nil { + return x.ReadAt + } + return nil +} + +type ExperimentalSchemaDiffRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Consistency *Consistency `protobuf:"bytes,1,opt,name=consistency,proto3" json:"consistency,omitempty"` + ComparisonSchema string `protobuf:"bytes,2,opt,name=comparison_schema,json=comparisonSchema,proto3" json:"comparison_schema,omitempty"` +} + +func (x *ExperimentalSchemaDiffRequest) Reset() { + *x = ExperimentalSchemaDiffRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_authzed_api_v1_experimental_service_proto_msgTypes[24] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ExperimentalSchemaDiffRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ExperimentalSchemaDiffRequest) ProtoMessage() {} + +func (x *ExperimentalSchemaDiffRequest) ProtoReflect() protoreflect.Message { + mi := &file_authzed_api_v1_experimental_service_proto_msgTypes[24] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ExperimentalSchemaDiffRequest.ProtoReflect.Descriptor instead. +func (*ExperimentalSchemaDiffRequest) Descriptor() ([]byte, []int) { + return file_authzed_api_v1_experimental_service_proto_rawDescGZIP(), []int{24} +} + +func (x *ExperimentalSchemaDiffRequest) GetConsistency() *Consistency { + if x != nil { + return x.Consistency + } + return nil +} + +func (x *ExperimentalSchemaDiffRequest) GetComparisonSchema() string { + if x != nil { + return x.ComparisonSchema + } + return "" +} + +type ExperimentalSchemaDiffResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Diffs []*ExpSchemaDiff `protobuf:"bytes,1,rep,name=diffs,proto3" json:"diffs,omitempty"` + // read_at is the ZedToken at which the schema was read. + ReadAt *ZedToken `protobuf:"bytes,2,opt,name=read_at,json=readAt,proto3" json:"read_at,omitempty"` +} + +func (x *ExperimentalSchemaDiffResponse) Reset() { + *x = ExperimentalSchemaDiffResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_authzed_api_v1_experimental_service_proto_msgTypes[25] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ExperimentalSchemaDiffResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ExperimentalSchemaDiffResponse) ProtoMessage() {} + +func (x *ExperimentalSchemaDiffResponse) ProtoReflect() protoreflect.Message { + mi := &file_authzed_api_v1_experimental_service_proto_msgTypes[25] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ExperimentalSchemaDiffResponse.ProtoReflect.Descriptor instead. +func (*ExperimentalSchemaDiffResponse) Descriptor() ([]byte, []int) { + return file_authzed_api_v1_experimental_service_proto_rawDescGZIP(), []int{25} +} + +func (x *ExperimentalSchemaDiffResponse) GetDiffs() []*ExpSchemaDiff { + if x != nil { + return x.Diffs + } + return nil +} + +func (x *ExperimentalSchemaDiffResponse) GetReadAt() *ZedToken { + if x != nil { + return x.ReadAt + } + return nil +} + +type ExpSchemaDiff struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Types that are assignable to Diff: + // + // *ExpSchemaDiff_DefinitionAdded + // *ExpSchemaDiff_DefinitionRemoved + // *ExpSchemaDiff_DefinitionDocCommentChanged + // *ExpSchemaDiff_RelationAdded + // *ExpSchemaDiff_RelationRemoved + // *ExpSchemaDiff_RelationDocCommentChanged + // *ExpSchemaDiff_RelationTypeChanged + // *ExpSchemaDiff_PermissionAdded + // *ExpSchemaDiff_PermissionRemoved + // *ExpSchemaDiff_PermissionDocCommentChanged + // *ExpSchemaDiff_PermissionExprChanged + // *ExpSchemaDiff_CaveatAdded + // *ExpSchemaDiff_CaveatRemoved + // *ExpSchemaDiff_CaveatDocCommentChanged + // *ExpSchemaDiff_CaveatExprChanged + // *ExpSchemaDiff_CaveatParameterAdded + // *ExpSchemaDiff_CaveatParameterRemoved + // *ExpSchemaDiff_CaveatParameterTypeChanged + Diff isExpSchemaDiff_Diff `protobuf_oneof:"diff"` +} + +func (x *ExpSchemaDiff) Reset() { + *x = ExpSchemaDiff{} + if protoimpl.UnsafeEnabled { + mi := &file_authzed_api_v1_experimental_service_proto_msgTypes[26] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ExpSchemaDiff) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ExpSchemaDiff) ProtoMessage() {} + +func (x *ExpSchemaDiff) ProtoReflect() protoreflect.Message { + mi := &file_authzed_api_v1_experimental_service_proto_msgTypes[26] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ExpSchemaDiff.ProtoReflect.Descriptor instead. +func (*ExpSchemaDiff) Descriptor() ([]byte, []int) { + return file_authzed_api_v1_experimental_service_proto_rawDescGZIP(), []int{26} +} + +func (m *ExpSchemaDiff) GetDiff() isExpSchemaDiff_Diff { + if m != nil { + return m.Diff + } + return nil +} + +func (x *ExpSchemaDiff) GetDefinitionAdded() *ExpDefinition { + if x, ok := x.GetDiff().(*ExpSchemaDiff_DefinitionAdded); ok { + return x.DefinitionAdded + } + return nil +} + +func (x *ExpSchemaDiff) GetDefinitionRemoved() *ExpDefinition { + if x, ok := x.GetDiff().(*ExpSchemaDiff_DefinitionRemoved); ok { + return x.DefinitionRemoved + } + return nil +} + +func (x *ExpSchemaDiff) GetDefinitionDocCommentChanged() *ExpDefinition { + if x, ok := x.GetDiff().(*ExpSchemaDiff_DefinitionDocCommentChanged); ok { + return x.DefinitionDocCommentChanged + } + return nil +} + +func (x *ExpSchemaDiff) GetRelationAdded() *ExpRelation { + if x, ok := x.GetDiff().(*ExpSchemaDiff_RelationAdded); ok { + return x.RelationAdded + } + return nil +} + +func (x *ExpSchemaDiff) GetRelationRemoved() *ExpRelation { + if x, ok := x.GetDiff().(*ExpSchemaDiff_RelationRemoved); ok { + return x.RelationRemoved + } + return nil +} + +func (x *ExpSchemaDiff) GetRelationDocCommentChanged() *ExpRelation { + if x, ok := x.GetDiff().(*ExpSchemaDiff_RelationDocCommentChanged); ok { + return x.RelationDocCommentChanged + } + return nil +} + +func (x *ExpSchemaDiff) GetRelationTypeChanged() *ExpRelation { + if x, ok := x.GetDiff().(*ExpSchemaDiff_RelationTypeChanged); ok { + return x.RelationTypeChanged + } + return nil +} + +func (x *ExpSchemaDiff) GetPermissionAdded() *ExpPermission { + if x, ok := x.GetDiff().(*ExpSchemaDiff_PermissionAdded); ok { + return x.PermissionAdded + } + return nil +} + +func (x *ExpSchemaDiff) GetPermissionRemoved() *ExpPermission { + if x, ok := x.GetDiff().(*ExpSchemaDiff_PermissionRemoved); ok { + return x.PermissionRemoved + } + return nil +} + +func (x *ExpSchemaDiff) GetPermissionDocCommentChanged() *ExpPermission { + if x, ok := x.GetDiff().(*ExpSchemaDiff_PermissionDocCommentChanged); ok { + return x.PermissionDocCommentChanged + } + return nil +} + +func (x *ExpSchemaDiff) GetPermissionExprChanged() *ExpPermission { + if x, ok := x.GetDiff().(*ExpSchemaDiff_PermissionExprChanged); ok { + return x.PermissionExprChanged + } + return nil +} + +func (x *ExpSchemaDiff) GetCaveatAdded() *ExpCaveat { + if x, ok := x.GetDiff().(*ExpSchemaDiff_CaveatAdded); ok { + return x.CaveatAdded + } + return nil +} + +func (x *ExpSchemaDiff) GetCaveatRemoved() *ExpCaveat { + if x, ok := x.GetDiff().(*ExpSchemaDiff_CaveatRemoved); ok { + return x.CaveatRemoved + } + return nil +} + +func (x *ExpSchemaDiff) GetCaveatDocCommentChanged() *ExpCaveat { + if x, ok := x.GetDiff().(*ExpSchemaDiff_CaveatDocCommentChanged); ok { + return x.CaveatDocCommentChanged + } + return nil +} + +func (x *ExpSchemaDiff) GetCaveatExprChanged() *ExpCaveat { + if x, ok := x.GetDiff().(*ExpSchemaDiff_CaveatExprChanged); ok { + return x.CaveatExprChanged + } + return nil +} + +func (x *ExpSchemaDiff) GetCaveatParameterAdded() *ExpCaveatParameter { + if x, ok := x.GetDiff().(*ExpSchemaDiff_CaveatParameterAdded); ok { + return x.CaveatParameterAdded + } + return nil +} + +func (x *ExpSchemaDiff) GetCaveatParameterRemoved() *ExpCaveatParameter { + if x, ok := x.GetDiff().(*ExpSchemaDiff_CaveatParameterRemoved); ok { + return x.CaveatParameterRemoved + } + return nil +} + +func (x *ExpSchemaDiff) GetCaveatParameterTypeChanged() *ExpCaveatParameter { + if x, ok := x.GetDiff().(*ExpSchemaDiff_CaveatParameterTypeChanged); ok { + return x.CaveatParameterTypeChanged + } + return nil +} + +type isExpSchemaDiff_Diff interface { + isExpSchemaDiff_Diff() +} + +type ExpSchemaDiff_DefinitionAdded struct { + DefinitionAdded *ExpDefinition `protobuf:"bytes,1,opt,name=definition_added,json=definitionAdded,proto3,oneof"` +} + +type ExpSchemaDiff_DefinitionRemoved struct { + DefinitionRemoved *ExpDefinition `protobuf:"bytes,2,opt,name=definition_removed,json=definitionRemoved,proto3,oneof"` +} + +type ExpSchemaDiff_DefinitionDocCommentChanged struct { + DefinitionDocCommentChanged *ExpDefinition `protobuf:"bytes,3,opt,name=definition_doc_comment_changed,json=definitionDocCommentChanged,proto3,oneof"` +} + +type ExpSchemaDiff_RelationAdded struct { + RelationAdded *ExpRelation `protobuf:"bytes,4,opt,name=relation_added,json=relationAdded,proto3,oneof"` +} + +type ExpSchemaDiff_RelationRemoved struct { + RelationRemoved *ExpRelation `protobuf:"bytes,5,opt,name=relation_removed,json=relationRemoved,proto3,oneof"` +} + +type ExpSchemaDiff_RelationDocCommentChanged struct { + RelationDocCommentChanged *ExpRelation `protobuf:"bytes,6,opt,name=relation_doc_comment_changed,json=relationDocCommentChanged,proto3,oneof"` +} + +type ExpSchemaDiff_RelationTypeChanged struct { + RelationTypeChanged *ExpRelation `protobuf:"bytes,7,opt,name=relation_type_changed,json=relationTypeChanged,proto3,oneof"` +} + +type ExpSchemaDiff_PermissionAdded struct { + PermissionAdded *ExpPermission `protobuf:"bytes,8,opt,name=permission_added,json=permissionAdded,proto3,oneof"` +} + +type ExpSchemaDiff_PermissionRemoved struct { + PermissionRemoved *ExpPermission `protobuf:"bytes,9,opt,name=permission_removed,json=permissionRemoved,proto3,oneof"` +} + +type ExpSchemaDiff_PermissionDocCommentChanged struct { + PermissionDocCommentChanged *ExpPermission `protobuf:"bytes,10,opt,name=permission_doc_comment_changed,json=permissionDocCommentChanged,proto3,oneof"` +} + +type ExpSchemaDiff_PermissionExprChanged struct { + PermissionExprChanged *ExpPermission `protobuf:"bytes,11,opt,name=permission_expr_changed,json=permissionExprChanged,proto3,oneof"` +} + +type ExpSchemaDiff_CaveatAdded struct { + CaveatAdded *ExpCaveat `protobuf:"bytes,12,opt,name=caveat_added,json=caveatAdded,proto3,oneof"` +} + +type ExpSchemaDiff_CaveatRemoved struct { + CaveatRemoved *ExpCaveat `protobuf:"bytes,13,opt,name=caveat_removed,json=caveatRemoved,proto3,oneof"` +} + +type ExpSchemaDiff_CaveatDocCommentChanged struct { + CaveatDocCommentChanged *ExpCaveat `protobuf:"bytes,14,opt,name=caveat_doc_comment_changed,json=caveatDocCommentChanged,proto3,oneof"` +} + +type ExpSchemaDiff_CaveatExprChanged struct { + CaveatExprChanged *ExpCaveat `protobuf:"bytes,15,opt,name=caveat_expr_changed,json=caveatExprChanged,proto3,oneof"` +} + +type ExpSchemaDiff_CaveatParameterAdded struct { + CaveatParameterAdded *ExpCaveatParameter `protobuf:"bytes,16,opt,name=caveat_parameter_added,json=caveatParameterAdded,proto3,oneof"` +} + +type ExpSchemaDiff_CaveatParameterRemoved struct { + CaveatParameterRemoved *ExpCaveatParameter `protobuf:"bytes,17,opt,name=caveat_parameter_removed,json=caveatParameterRemoved,proto3,oneof"` +} + +type ExpSchemaDiff_CaveatParameterTypeChanged struct { + CaveatParameterTypeChanged *ExpCaveatParameter `protobuf:"bytes,18,opt,name=caveat_parameter_type_changed,json=caveatParameterTypeChanged,proto3,oneof"` +} + +func (*ExpSchemaDiff_DefinitionAdded) isExpSchemaDiff_Diff() {} + +func (*ExpSchemaDiff_DefinitionRemoved) isExpSchemaDiff_Diff() {} + +func (*ExpSchemaDiff_DefinitionDocCommentChanged) isExpSchemaDiff_Diff() {} + +func (*ExpSchemaDiff_RelationAdded) isExpSchemaDiff_Diff() {} + +func (*ExpSchemaDiff_RelationRemoved) isExpSchemaDiff_Diff() {} + +func (*ExpSchemaDiff_RelationDocCommentChanged) isExpSchemaDiff_Diff() {} + +func (*ExpSchemaDiff_RelationTypeChanged) isExpSchemaDiff_Diff() {} + +func (*ExpSchemaDiff_PermissionAdded) isExpSchemaDiff_Diff() {} + +func (*ExpSchemaDiff_PermissionRemoved) isExpSchemaDiff_Diff() {} + +func (*ExpSchemaDiff_PermissionDocCommentChanged) isExpSchemaDiff_Diff() {} + +func (*ExpSchemaDiff_PermissionExprChanged) isExpSchemaDiff_Diff() {} + +func (*ExpSchemaDiff_CaveatAdded) isExpSchemaDiff_Diff() {} + +func (*ExpSchemaDiff_CaveatRemoved) isExpSchemaDiff_Diff() {} + +func (*ExpSchemaDiff_CaveatDocCommentChanged) isExpSchemaDiff_Diff() {} + +func (*ExpSchemaDiff_CaveatExprChanged) isExpSchemaDiff_Diff() {} + +func (*ExpSchemaDiff_CaveatParameterAdded) isExpSchemaDiff_Diff() {} + +func (*ExpSchemaDiff_CaveatParameterRemoved) isExpSchemaDiff_Diff() {} + +func (*ExpSchemaDiff_CaveatParameterTypeChanged) isExpSchemaDiff_Diff() {} + +var File_authzed_api_v1_experimental_service_proto protoreflect.FileDescriptor + +var file_authzed_api_v1_experimental_service_proto_rawDesc = []byte{ + 0x0a, 0x29, 0x61, 0x75, 0x74, 0x68, 0x7a, 0x65, 0x64, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, + 0x2f, 0x65, 0x78, 0x70, 0x65, 0x72, 0x69, 0x6d, 0x65, 0x6e, 0x74, 0x61, 0x6c, 0x5f, 0x73, 0x65, + 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x0e, 0x61, 0x75, 0x74, + 0x68, 0x7a, 0x65, 0x64, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x1a, 0x1c, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x76, 0x61, 0x6c, 0x69, 0x64, + 0x61, 0x74, 0x65, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x1a, 0x1c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x62, 0x75, 0x66, 0x2f, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x1a, 0x17, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x72, 0x70, 0x63, 0x2f, 0x73, 0x74, 0x61, + 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x19, 0x61, 0x75, 0x74, 0x68, 0x7a, + 0x65, 0x64, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x27, 0x61, 0x75, 0x74, 0x68, 0x7a, 0x65, 0x64, 0x2f, 0x61, 0x70, + 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x5f, + 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xb2, 0x01, + 0x0a, 0x1a, 0x42, 0x75, 0x6c, 0x6b, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x50, 0x65, 0x72, 0x6d, 0x69, + 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3d, 0x0a, 0x0b, + 0x63, 0x6f, 0x6e, 0x73, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x63, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x1b, 0x2e, 0x61, 0x75, 0x74, 0x68, 0x7a, 0x65, 0x64, 0x2e, 0x61, 0x70, 0x69, 0x2e, + 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6e, 0x73, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x63, 0x79, 0x52, 0x0b, + 0x63, 0x6f, 0x6e, 0x73, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x63, 0x79, 0x12, 0x55, 0x0a, 0x05, 0x69, + 0x74, 0x65, 0x6d, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x61, 0x75, 0x74, + 0x68, 0x7a, 0x65, 0x64, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x75, 0x6c, 0x6b, + 0x43, 0x68, 0x65, 0x63, 0x6b, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x74, 0x65, 0x6d, 0x42, 0x0f, 0xfa, 0x42, 0x0a, 0x92, + 0x01, 0x07, 0x22, 0x05, 0x8a, 0x01, 0x02, 0x10, 0x01, 0x18, 0x01, 0x52, 0x05, 0x69, 0x74, 0x65, + 0x6d, 0x73, 0x22, 0xb6, 0x02, 0x0a, 0x1e, 0x42, 0x75, 0x6c, 0x6b, 0x43, 0x68, 0x65, 0x63, 0x6b, + 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x49, 0x74, 0x65, 0x6d, 0x12, 0x45, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, + 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x61, 0x75, 0x74, 0x68, 0x7a, 0x65, + 0x64, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, + 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x8a, 0x01, 0x02, + 0x10, 0x01, 0x52, 0x08, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x4a, 0x0a, 0x0a, + 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, + 0x42, 0x2a, 0xfa, 0x42, 0x27, 0x72, 0x25, 0x28, 0x40, 0x32, 0x21, 0x5e, 0x28, 0x5b, 0x61, 0x2d, + 0x7a, 0x5d, 0x5b, 0x61, 0x2d, 0x7a, 0x30, 0x2d, 0x39, 0x5f, 0x5d, 0x7b, 0x31, 0x2c, 0x36, 0x32, + 0x7d, 0x5b, 0x61, 0x2d, 0x7a, 0x30, 0x2d, 0x39, 0x5d, 0x29, 0x3f, 0x24, 0x52, 0x0a, 0x70, 0x65, + 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x44, 0x0a, 0x07, 0x73, 0x75, 0x62, 0x6a, + 0x65, 0x63, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x61, 0x75, 0x74, 0x68, + 0x7a, 0x65, 0x64, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x75, 0x62, 0x6a, 0x65, + 0x63, 0x74, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x42, 0x08, 0xfa, 0x42, 0x05, + 0x8a, 0x01, 0x02, 0x10, 0x01, 0x52, 0x07, 0x73, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x3b, + 0x0a, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x17, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, + 0x66, 0x2e, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x8a, 0x01, 0x02, + 0x10, 0x00, 0x52, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x22, 0xae, 0x01, 0x0a, 0x1b, + 0x42, 0x75, 0x6c, 0x6b, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, + 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x41, 0x0a, 0x0a, 0x63, + 0x68, 0x65, 0x63, 0x6b, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x18, 0x2e, 0x61, 0x75, 0x74, 0x68, 0x7a, 0x65, 0x64, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, + 0x2e, 0x5a, 0x65, 0x64, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x8a, 0x01, + 0x02, 0x10, 0x00, 0x52, 0x09, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x65, 0x64, 0x41, 0x74, 0x12, 0x4c, + 0x0a, 0x05, 0x70, 0x61, 0x69, 0x72, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x27, 0x2e, + 0x61, 0x75, 0x74, 0x68, 0x7a, 0x65, 0x64, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x42, + 0x75, 0x6c, 0x6b, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, + 0x6f, 0x6e, 0x50, 0x61, 0x69, 0x72, 0x42, 0x0d, 0xfa, 0x42, 0x0a, 0x92, 0x01, 0x07, 0x22, 0x05, + 0x8a, 0x01, 0x02, 0x10, 0x01, 0x52, 0x05, 0x70, 0x61, 0x69, 0x72, 0x73, 0x22, 0xe2, 0x01, 0x0a, + 0x17, 0x42, 0x75, 0x6c, 0x6b, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, + 0x73, 0x69, 0x6f, 0x6e, 0x50, 0x61, 0x69, 0x72, 0x12, 0x48, 0x0a, 0x07, 0x72, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x61, 0x75, 0x74, 0x68, + 0x7a, 0x65, 0x64, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x75, 0x6c, 0x6b, 0x43, + 0x68, 0x65, 0x63, 0x6b, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x07, 0x72, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x12, 0x45, 0x0a, 0x04, 0x69, 0x74, 0x65, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x2f, 0x2e, 0x61, 0x75, 0x74, 0x68, 0x7a, 0x65, 0x64, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, + 0x31, 0x2e, 0x42, 0x75, 0x6c, 0x6b, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x50, 0x65, 0x72, 0x6d, 0x69, + 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x49, 0x74, 0x65, + 0x6d, 0x48, 0x00, 0x52, 0x04, 0x69, 0x74, 0x65, 0x6d, 0x12, 0x2a, 0x0a, 0x05, 0x65, 0x72, 0x72, + 0x6f, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x48, 0x00, 0x52, 0x05, + 0x65, 0x72, 0x72, 0x6f, 0x72, 0x42, 0x0a, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x22, 0xea, 0x01, 0x0a, 0x1f, 0x42, 0x75, 0x6c, 0x6b, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x50, + 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x49, 0x74, 0x65, 0x6d, 0x12, 0x6a, 0x0a, 0x0e, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, + 0x69, 0x6f, 0x6e, 0x73, 0x68, 0x69, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x36, 0x2e, + 0x61, 0x75, 0x74, 0x68, 0x7a, 0x65, 0x64, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x43, + 0x68, 0x65, 0x63, 0x6b, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, + 0x6e, 0x73, 0x68, 0x69, 0x70, 0x42, 0x0a, 0xfa, 0x42, 0x07, 0x82, 0x01, 0x04, 0x10, 0x01, 0x20, + 0x00, 0x52, 0x0e, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x68, 0x69, + 0x70, 0x12, 0x5b, 0x0a, 0x13, 0x70, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x63, 0x61, 0x76, + 0x65, 0x61, 0x74, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, + 0x2e, 0x61, 0x75, 0x74, 0x68, 0x7a, 0x65, 0x64, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, + 0x50, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x43, 0x61, 0x76, 0x65, 0x61, 0x74, 0x49, 0x6e, 0x66, + 0x6f, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x8a, 0x01, 0x02, 0x10, 0x00, 0x52, 0x11, 0x70, 0x61, 0x72, + 0x74, 0x69, 0x61, 0x6c, 0x43, 0x61, 0x76, 0x65, 0x61, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x22, 0x73, + 0x0a, 0x1e, 0x42, 0x75, 0x6c, 0x6b, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x6c, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x68, 0x69, 0x70, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x12, 0x51, 0x0a, 0x0d, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x68, 0x69, 0x70, + 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x61, 0x75, 0x74, 0x68, 0x7a, 0x65, + 0x64, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x73, 0x68, 0x69, 0x70, 0x42, 0x0d, 0xfa, 0x42, 0x0a, 0x92, 0x01, 0x07, 0x22, 0x05, 0x8a, + 0x01, 0x02, 0x10, 0x01, 0x52, 0x0d, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x68, + 0x69, 0x70, 0x73, 0x22, 0x40, 0x0a, 0x1f, 0x42, 0x75, 0x6c, 0x6b, 0x49, 0x6d, 0x70, 0x6f, 0x72, + 0x74, 0x52, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x68, 0x69, 0x70, 0x73, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x6e, 0x75, 0x6d, 0x5f, 0x6c, 0x6f, + 0x61, 0x64, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x6e, 0x75, 0x6d, 0x4c, + 0x6f, 0x61, 0x64, 0x65, 0x64, 0x22, 0xb6, 0x02, 0x0a, 0x1e, 0x42, 0x75, 0x6c, 0x6b, 0x45, 0x78, + 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x68, 0x69, 0x70, + 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3d, 0x0a, 0x0b, 0x63, 0x6f, 0x6e, 0x73, + 0x69, 0x73, 0x74, 0x65, 0x6e, 0x63, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, + 0x61, 0x75, 0x74, 0x68, 0x7a, 0x65, 0x64, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x43, + 0x6f, 0x6e, 0x73, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x63, 0x79, 0x52, 0x0b, 0x63, 0x6f, 0x6e, 0x73, + 0x69, 0x73, 0x74, 0x65, 0x6e, 0x63, 0x79, 0x12, 0x2e, 0x0a, 0x0e, 0x6f, 0x70, 0x74, 0x69, 0x6f, + 0x6e, 0x61, 0x6c, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x42, + 0x07, 0xfa, 0x42, 0x04, 0x2a, 0x02, 0x28, 0x00, 0x52, 0x0d, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, + 0x61, 0x6c, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x3f, 0x0a, 0x0f, 0x6f, 0x70, 0x74, 0x69, 0x6f, + 0x6e, 0x61, 0x6c, 0x5f, 0x63, 0x75, 0x72, 0x73, 0x6f, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x16, 0x2e, 0x61, 0x75, 0x74, 0x68, 0x7a, 0x65, 0x64, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, + 0x31, 0x2e, 0x43, 0x75, 0x72, 0x73, 0x6f, 0x72, 0x52, 0x0e, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, + 0x61, 0x6c, 0x43, 0x75, 0x72, 0x73, 0x6f, 0x72, 0x12, 0x64, 0x0a, 0x1c, 0x6f, 0x70, 0x74, 0x69, + 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x68, 0x69, + 0x70, 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, + 0x2e, 0x61, 0x75, 0x74, 0x68, 0x7a, 0x65, 0x64, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, + 0x52, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x68, 0x69, 0x70, 0x46, 0x69, 0x6c, 0x74, + 0x65, 0x72, 0x52, 0x1a, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x52, 0x65, 0x6c, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x68, 0x69, 0x70, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x22, 0xad, + 0x01, 0x0a, 0x1f, 0x42, 0x75, 0x6c, 0x6b, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x6c, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x68, 0x69, 0x70, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x12, 0x46, 0x0a, 0x13, 0x61, 0x66, 0x74, 0x65, 0x72, 0x5f, 0x72, 0x65, 0x73, 0x75, + 0x6c, 0x74, 0x5f, 0x63, 0x75, 0x72, 0x73, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x16, 0x2e, 0x61, 0x75, 0x74, 0x68, 0x7a, 0x65, 0x64, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, + 0x2e, 0x43, 0x75, 0x72, 0x73, 0x6f, 0x72, 0x52, 0x11, 0x61, 0x66, 0x74, 0x65, 0x72, 0x52, 0x65, + 0x73, 0x75, 0x6c, 0x74, 0x43, 0x75, 0x72, 0x73, 0x6f, 0x72, 0x12, 0x42, 0x0a, 0x0d, 0x72, 0x65, + 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x68, 0x69, 0x70, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x1c, 0x2e, 0x61, 0x75, 0x74, 0x68, 0x7a, 0x65, 0x64, 0x2e, 0x61, 0x70, 0x69, 0x2e, + 0x76, 0x31, 0x2e, 0x52, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x68, 0x69, 0x70, 0x52, + 0x0d, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x68, 0x69, 0x70, 0x73, 0x22, 0xad, + 0x01, 0x0a, 0x20, 0x45, 0x78, 0x70, 0x65, 0x72, 0x69, 0x6d, 0x65, 0x6e, 0x74, 0x61, 0x6c, 0x52, + 0x65, 0x66, 0x6c, 0x65, 0x63, 0x74, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x12, 0x3d, 0x0a, 0x0b, 0x63, 0x6f, 0x6e, 0x73, 0x69, 0x73, 0x74, 0x65, 0x6e, + 0x63, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x61, 0x75, 0x74, 0x68, 0x7a, + 0x65, 0x64, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6e, 0x73, 0x69, 0x73, + 0x74, 0x65, 0x6e, 0x63, 0x79, 0x52, 0x0b, 0x63, 0x6f, 0x6e, 0x73, 0x69, 0x73, 0x74, 0x65, 0x6e, + 0x63, 0x79, 0x12, 0x4a, 0x0a, 0x10, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x66, + 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x61, + 0x75, 0x74, 0x68, 0x7a, 0x65, 0x64, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x78, + 0x70, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x52, 0x0f, 0x6f, + 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x22, 0xcc, + 0x01, 0x0a, 0x21, 0x45, 0x78, 0x70, 0x65, 0x72, 0x69, 0x6d, 0x65, 0x6e, 0x74, 0x61, 0x6c, 0x52, + 0x65, 0x66, 0x6c, 0x65, 0x63, 0x74, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3f, 0x0a, 0x0b, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x69, 0x74, 0x69, + 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x61, 0x75, 0x74, 0x68, + 0x7a, 0x65, 0x64, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x78, 0x70, 0x44, 0x65, + 0x66, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0b, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x69, + 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x33, 0x0a, 0x07, 0x63, 0x61, 0x76, 0x65, 0x61, 0x74, 0x73, + 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x61, 0x75, 0x74, 0x68, 0x7a, 0x65, 0x64, + 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x78, 0x70, 0x43, 0x61, 0x76, 0x65, 0x61, + 0x74, 0x52, 0x07, 0x63, 0x61, 0x76, 0x65, 0x61, 0x74, 0x73, 0x12, 0x31, 0x0a, 0x07, 0x72, 0x65, + 0x61, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x61, 0x75, + 0x74, 0x68, 0x7a, 0x65, 0x64, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x5a, 0x65, 0x64, + 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x06, 0x72, 0x65, 0x61, 0x64, 0x41, 0x74, 0x22, 0x96, 0x03, + 0x0a, 0x0f, 0x45, 0x78, 0x70, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x46, 0x69, 0x6c, 0x74, 0x65, + 0x72, 0x12, 0x43, 0x0a, 0x1e, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x64, 0x65, + 0x66, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x5f, 0x6d, 0x61, + 0x74, 0x63, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x1b, 0x6f, 0x70, 0x74, 0x69, 0x6f, + 0x6e, 0x61, 0x6c, 0x44, 0x65, 0x66, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x4e, 0x61, 0x6d, + 0x65, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x12, 0x59, 0x0a, 0x2a, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, + 0x61, 0x6c, 0x5f, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6f, 0x72, 0x5f, 0x70, + 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x5f, 0x6d, + 0x61, 0x74, 0x63, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x25, 0x6f, 0x70, 0x74, 0x69, + 0x6f, 0x6e, 0x61, 0x6c, 0x52, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4f, 0x72, 0x50, 0x65, + 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x4d, 0x61, 0x74, 0x63, + 0x68, 0x12, 0x4d, 0x0a, 0x0c, 0x6b, 0x69, 0x6e, 0x64, 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, + 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0e, 0x32, 0x2a, 0x2e, 0x61, 0x75, 0x74, 0x68, 0x7a, 0x65, + 0x64, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x78, 0x70, 0x53, 0x63, 0x68, 0x65, + 0x6d, 0x61, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x4b, 0x69, 0x6e, 0x64, 0x46, 0x69, 0x6c, + 0x74, 0x65, 0x72, 0x52, 0x0b, 0x6b, 0x69, 0x6e, 0x64, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, + 0x22, 0x93, 0x01, 0x0a, 0x0a, 0x4b, 0x69, 0x6e, 0x64, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, + 0x1b, 0x0a, 0x17, 0x4b, 0x49, 0x4e, 0x44, 0x5f, 0x46, 0x49, 0x4c, 0x54, 0x45, 0x52, 0x5f, 0x55, + 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x1a, 0x0a, 0x16, + 0x4b, 0x49, 0x4e, 0x44, 0x5f, 0x46, 0x49, 0x4c, 0x54, 0x45, 0x52, 0x5f, 0x44, 0x45, 0x46, 0x49, + 0x4e, 0x49, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0x01, 0x12, 0x16, 0x0a, 0x12, 0x4b, 0x49, 0x4e, 0x44, + 0x5f, 0x46, 0x49, 0x4c, 0x54, 0x45, 0x52, 0x5f, 0x43, 0x41, 0x56, 0x45, 0x41, 0x54, 0x10, 0x02, + 0x12, 0x18, 0x0a, 0x14, 0x4b, 0x49, 0x4e, 0x44, 0x5f, 0x46, 0x49, 0x4c, 0x54, 0x45, 0x52, 0x5f, + 0x52, 0x45, 0x4c, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0x03, 0x12, 0x1a, 0x0a, 0x16, 0x4b, 0x49, + 0x4e, 0x44, 0x5f, 0x46, 0x49, 0x4c, 0x54, 0x45, 0x52, 0x5f, 0x50, 0x45, 0x52, 0x4d, 0x49, 0x53, + 0x53, 0x49, 0x4f, 0x4e, 0x10, 0x04, 0x22, 0xb9, 0x01, 0x0a, 0x0d, 0x45, 0x78, 0x70, 0x44, 0x65, + 0x66, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07, + 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, + 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x39, 0x0a, 0x09, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x61, 0x75, 0x74, 0x68, + 0x7a, 0x65, 0x64, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x78, 0x70, 0x52, 0x65, + 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x09, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x73, 0x12, 0x3f, 0x0a, 0x0b, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, + 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x61, 0x75, 0x74, 0x68, 0x7a, 0x65, 0x64, + 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x78, 0x70, 0x50, 0x65, 0x72, 0x6d, 0x69, + 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x0b, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, + 0x6e, 0x73, 0x22, 0x9d, 0x01, 0x0a, 0x09, 0x45, 0x78, 0x70, 0x43, 0x61, 0x76, 0x65, 0x61, 0x74, + 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, + 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x42, + 0x0a, 0x0a, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x18, 0x03, 0x20, 0x03, + 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x61, 0x75, 0x74, 0x68, 0x7a, 0x65, 0x64, 0x2e, 0x61, 0x70, 0x69, + 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x78, 0x70, 0x43, 0x61, 0x76, 0x65, 0x61, 0x74, 0x50, 0x61, 0x72, + 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x52, 0x0a, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, + 0x72, 0x73, 0x12, 0x1e, 0x0a, 0x0a, 0x65, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, + 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x65, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, + 0x6f, 0x6e, 0x22, 0x6a, 0x0a, 0x12, 0x45, 0x78, 0x70, 0x43, 0x61, 0x76, 0x65, 0x61, 0x74, 0x50, + 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, + 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, + 0x12, 0x2c, 0x0a, 0x12, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x63, 0x61, 0x76, 0x65, 0x61, + 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x70, 0x61, + 0x72, 0x65, 0x6e, 0x74, 0x43, 0x61, 0x76, 0x65, 0x61, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x22, 0xb8, + 0x01, 0x0a, 0x0b, 0x45, 0x78, 0x70, 0x52, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x12, + 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, + 0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x34, 0x0a, 0x16, + 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x6f, + 0x6e, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x14, 0x70, 0x61, + 0x72, 0x65, 0x6e, 0x74, 0x44, 0x65, 0x66, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x4e, 0x61, + 0x6d, 0x65, 0x12, 0x45, 0x0a, 0x0d, 0x73, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x74, 0x79, + 0x70, 0x65, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x61, 0x75, 0x74, 0x68, + 0x7a, 0x65, 0x64, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x78, 0x70, 0x54, 0x79, + 0x70, 0x65, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x52, 0x0c, 0x73, 0x75, 0x62, + 0x6a, 0x65, 0x63, 0x74, 0x54, 0x79, 0x70, 0x65, 0x73, 0x22, 0xa1, 0x02, 0x0a, 0x10, 0x45, 0x78, + 0x70, 0x54, 0x79, 0x70, 0x65, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x12, 0x36, + 0x0a, 0x17, 0x73, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x69, + 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x15, 0x73, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x44, 0x65, 0x66, 0x69, 0x6e, 0x69, 0x74, 0x69, + 0x6f, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x30, 0x0a, 0x14, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, + 0x61, 0x6c, 0x5f, 0x63, 0x61, 0x76, 0x65, 0x61, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x12, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x43, 0x61, + 0x76, 0x65, 0x61, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x30, 0x0a, 0x13, 0x69, 0x73, 0x5f, 0x74, + 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x61, 0x6c, 0x5f, 0x73, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x08, 0x48, 0x00, 0x52, 0x11, 0x69, 0x73, 0x54, 0x65, 0x72, 0x6d, 0x69, + 0x6e, 0x61, 0x6c, 0x53, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x36, 0x0a, 0x16, 0x6f, 0x70, + 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, + 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x14, 0x6f, 0x70, + 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x52, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4e, 0x61, + 0x6d, 0x65, 0x12, 0x2e, 0x0a, 0x12, 0x69, 0x73, 0x5f, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x5f, + 0x77, 0x69, 0x6c, 0x64, 0x63, 0x61, 0x72, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x48, 0x00, + 0x52, 0x10, 0x69, 0x73, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x57, 0x69, 0x6c, 0x64, 0x63, 0x61, + 0x72, 0x64, 0x42, 0x09, 0x0a, 0x07, 0x74, 0x79, 0x70, 0x65, 0x72, 0x65, 0x66, 0x22, 0x73, 0x0a, + 0x0d, 0x45, 0x78, 0x70, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x12, + 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, + 0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x34, 0x0a, 0x16, + 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x6f, + 0x6e, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x14, 0x70, 0x61, + 0x72, 0x65, 0x6e, 0x74, 0x44, 0x65, 0x66, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x4e, 0x61, + 0x6d, 0x65, 0x22, 0xf2, 0x01, 0x0a, 0x28, 0x45, 0x78, 0x70, 0x65, 0x72, 0x69, 0x6d, 0x65, 0x6e, + 0x74, 0x61, 0x6c, 0x43, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x50, 0x65, 0x72, + 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, + 0x3d, 0x0a, 0x0b, 0x63, 0x6f, 0x6e, 0x73, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x63, 0x79, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x61, 0x75, 0x74, 0x68, 0x7a, 0x65, 0x64, 0x2e, 0x61, + 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6e, 0x73, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x63, + 0x79, 0x52, 0x0b, 0x63, 0x6f, 0x6e, 0x73, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x63, 0x79, 0x12, 0x42, + 0x0a, 0x09, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x24, 0x2e, 0x61, 0x75, 0x74, 0x68, 0x7a, 0x65, 0x64, 0x2e, 0x61, 0x70, 0x69, 0x2e, + 0x76, 0x31, 0x2e, 0x45, 0x78, 0x70, 0x52, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, + 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x52, 0x09, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x73, 0x12, 0x43, 0x0a, 0x1e, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x64, + 0x65, 0x66, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x5f, 0x6d, + 0x61, 0x74, 0x63, 0x68, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x1b, 0x6f, 0x70, 0x74, 0x69, + 0x6f, 0x6e, 0x61, 0x6c, 0x44, 0x65, 0x66, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x4e, 0x61, + 0x6d, 0x65, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x22, 0x64, 0x0a, 0x14, 0x45, 0x78, 0x70, 0x52, 0x65, + 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x12, + 0x27, 0x0a, 0x0f, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6e, 0x61, + 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x69, + 0x74, 0x69, 0x6f, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x72, 0x65, 0x6c, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x0c, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x22, 0x66, 0x0a, + 0x16, 0x45, 0x78, 0x70, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, + 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x12, 0x27, 0x0a, 0x0f, 0x64, 0x65, 0x66, 0x69, 0x6e, + 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x0e, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x4e, 0x61, 0x6d, 0x65, + 0x12, 0x23, 0x0a, 0x0d, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6e, 0x61, 0x6d, + 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x22, 0xa8, 0x01, 0x0a, 0x29, 0x45, 0x78, 0x70, 0x65, 0x72, 0x69, + 0x6d, 0x65, 0x6e, 0x74, 0x61, 0x6c, 0x43, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x61, 0x62, 0x6c, 0x65, + 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x12, 0x48, 0x0a, 0x0b, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, + 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x61, 0x75, 0x74, 0x68, 0x7a, + 0x65, 0x64, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x78, 0x70, 0x50, 0x65, 0x72, + 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, + 0x52, 0x0b, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x31, 0x0a, + 0x07, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, + 0x2e, 0x61, 0x75, 0x74, 0x68, 0x7a, 0x65, 0x64, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, + 0x5a, 0x65, 0x64, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x06, 0x72, 0x65, 0x61, 0x64, 0x41, 0x74, + 0x22, 0xae, 0x01, 0x0a, 0x25, 0x45, 0x78, 0x70, 0x65, 0x72, 0x69, 0x6d, 0x65, 0x6e, 0x74, 0x61, + 0x6c, 0x44, 0x65, 0x70, 0x65, 0x6e, 0x64, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x6c, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3d, 0x0a, 0x0b, 0x63, 0x6f, + 0x6e, 0x73, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x63, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x1b, 0x2e, 0x61, 0x75, 0x74, 0x68, 0x7a, 0x65, 0x64, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, + 0x2e, 0x43, 0x6f, 0x6e, 0x73, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x63, 0x79, 0x52, 0x0b, 0x63, 0x6f, + 0x6e, 0x73, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x63, 0x79, 0x12, 0x46, 0x0a, 0x0a, 0x70, 0x65, 0x72, + 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, + 0x61, 0x75, 0x74, 0x68, 0x7a, 0x65, 0x64, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x45, + 0x78, 0x70, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x66, 0x65, + 0x72, 0x65, 0x6e, 0x63, 0x65, 0x52, 0x0a, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, + 0x6e, 0x22, 0x9f, 0x01, 0x0a, 0x26, 0x45, 0x78, 0x70, 0x65, 0x72, 0x69, 0x6d, 0x65, 0x6e, 0x74, + 0x61, 0x6c, 0x44, 0x65, 0x70, 0x65, 0x6e, 0x64, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x6c, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x42, 0x0a, 0x09, + 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x24, 0x2e, 0x61, 0x75, 0x74, 0x68, 0x7a, 0x65, 0x64, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, + 0x2e, 0x45, 0x78, 0x70, 0x52, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x66, 0x65, + 0x72, 0x65, 0x6e, 0x63, 0x65, 0x52, 0x09, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, + 0x12, 0x31, 0x0a, 0x07, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x18, 0x2e, 0x61, 0x75, 0x74, 0x68, 0x7a, 0x65, 0x64, 0x2e, 0x61, 0x70, 0x69, 0x2e, + 0x76, 0x31, 0x2e, 0x5a, 0x65, 0x64, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x06, 0x72, 0x65, 0x61, + 0x64, 0x41, 0x74, 0x22, 0x8b, 0x01, 0x0a, 0x1d, 0x45, 0x78, 0x70, 0x65, 0x72, 0x69, 0x6d, 0x65, + 0x6e, 0x74, 0x61, 0x6c, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x44, 0x69, 0x66, 0x66, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3d, 0x0a, 0x0b, 0x63, 0x6f, 0x6e, 0x73, 0x69, 0x73, 0x74, + 0x65, 0x6e, 0x63, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x61, 0x75, 0x74, + 0x68, 0x7a, 0x65, 0x64, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6e, 0x73, + 0x69, 0x73, 0x74, 0x65, 0x6e, 0x63, 0x79, 0x52, 0x0b, 0x63, 0x6f, 0x6e, 0x73, 0x69, 0x73, 0x74, + 0x65, 0x6e, 0x63, 0x79, 0x12, 0x2b, 0x0a, 0x11, 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x72, 0x69, 0x73, + 0x6f, 0x6e, 0x5f, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x10, 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x72, 0x69, 0x73, 0x6f, 0x6e, 0x53, 0x63, 0x68, 0x65, 0x6d, + 0x61, 0x22, 0x88, 0x01, 0x0a, 0x1e, 0x45, 0x78, 0x70, 0x65, 0x72, 0x69, 0x6d, 0x65, 0x6e, 0x74, + 0x61, 0x6c, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x44, 0x69, 0x66, 0x66, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x33, 0x0a, 0x05, 0x64, 0x69, 0x66, 0x66, 0x73, 0x18, 0x01, 0x20, + 0x03, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x61, 0x75, 0x74, 0x68, 0x7a, 0x65, 0x64, 0x2e, 0x61, 0x70, + 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x78, 0x70, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x44, 0x69, + 0x66, 0x66, 0x52, 0x05, 0x64, 0x69, 0x66, 0x66, 0x73, 0x12, 0x31, 0x0a, 0x07, 0x72, 0x65, 0x61, + 0x64, 0x5f, 0x61, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x61, 0x75, 0x74, + 0x68, 0x7a, 0x65, 0x64, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x5a, 0x65, 0x64, 0x54, + 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x06, 0x72, 0x65, 0x61, 0x64, 0x41, 0x74, 0x22, 0x87, 0x0c, 0x0a, + 0x0d, 0x45, 0x78, 0x70, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x44, 0x69, 0x66, 0x66, 0x12, 0x4a, + 0x0a, 0x10, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x61, 0x64, 0x64, + 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x61, 0x75, 0x74, 0x68, 0x7a, + 0x65, 0x64, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x78, 0x70, 0x44, 0x65, 0x66, + 0x69, 0x6e, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x0f, 0x64, 0x65, 0x66, 0x69, 0x6e, + 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x64, 0x64, 0x65, 0x64, 0x12, 0x4e, 0x0a, 0x12, 0x64, 0x65, + 0x66, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x64, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x61, 0x75, 0x74, 0x68, 0x7a, 0x65, 0x64, + 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x78, 0x70, 0x44, 0x65, 0x66, 0x69, 0x6e, + 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x11, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x69, 0x74, + 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x64, 0x12, 0x64, 0x0a, 0x1e, 0x64, 0x65, + 0x66, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x64, 0x6f, 0x63, 0x5f, 0x63, 0x6f, 0x6d, + 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x64, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x61, 0x75, 0x74, 0x68, 0x7a, 0x65, 0x64, 0x2e, 0x61, 0x70, 0x69, + 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x78, 0x70, 0x44, 0x65, 0x66, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x6f, + 0x6e, 0x48, 0x00, 0x52, 0x1b, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x44, + 0x6f, 0x63, 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x64, + 0x12, 0x44, 0x0a, 0x0e, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x61, 0x64, 0x64, + 0x65, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x61, 0x75, 0x74, 0x68, 0x7a, + 0x65, 0x64, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x78, 0x70, 0x52, 0x65, 0x6c, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x0d, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x41, 0x64, 0x64, 0x65, 0x64, 0x12, 0x48, 0x0a, 0x10, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x5f, 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x1b, 0x2e, 0x61, 0x75, 0x74, 0x68, 0x7a, 0x65, 0x64, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, + 0x31, 0x2e, 0x45, 0x78, 0x70, 0x52, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, + 0x0f, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x64, + 0x12, 0x5e, 0x0a, 0x1c, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x64, 0x6f, 0x63, + 0x5f, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x64, + 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x61, 0x75, 0x74, 0x68, 0x7a, 0x65, 0x64, + 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x78, 0x70, 0x52, 0x65, 0x6c, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x19, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x44, + 0x6f, 0x63, 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x64, + 0x12, 0x51, 0x0a, 0x15, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x79, 0x70, + 0x65, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x1b, 0x2e, 0x61, 0x75, 0x74, 0x68, 0x7a, 0x65, 0x64, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, + 0x2e, 0x45, 0x78, 0x70, 0x52, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x13, + 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x43, 0x68, 0x61, 0x6e, + 0x67, 0x65, 0x64, 0x12, 0x4a, 0x0a, 0x10, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, + 0x6e, 0x5f, 0x61, 0x64, 0x64, 0x65, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, + 0x61, 0x75, 0x74, 0x68, 0x7a, 0x65, 0x64, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x45, + 0x78, 0x70, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x0f, + 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x41, 0x64, 0x64, 0x65, 0x64, 0x12, + 0x4e, 0x0a, 0x12, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x72, 0x65, + 0x6d, 0x6f, 0x76, 0x65, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x61, 0x75, + 0x74, 0x68, 0x7a, 0x65, 0x64, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x78, 0x70, + 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x11, 0x70, 0x65, + 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x64, 0x12, + 0x64, 0x0a, 0x1e, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x64, 0x6f, + 0x63, 0x5f, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, + 0x64, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x61, 0x75, 0x74, 0x68, 0x7a, 0x65, + 0x64, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x78, 0x70, 0x50, 0x65, 0x72, 0x6d, + 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x1b, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, + 0x73, 0x69, 0x6f, 0x6e, 0x44, 0x6f, 0x63, 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x43, 0x68, + 0x61, 0x6e, 0x67, 0x65, 0x64, 0x12, 0x57, 0x0a, 0x17, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, + 0x69, 0x6f, 0x6e, 0x5f, 0x65, 0x78, 0x70, 0x72, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x64, + 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x61, 0x75, 0x74, 0x68, 0x7a, 0x65, 0x64, + 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x78, 0x70, 0x50, 0x65, 0x72, 0x6d, 0x69, + 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x15, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, + 0x69, 0x6f, 0x6e, 0x45, 0x78, 0x70, 0x72, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x64, 0x12, 0x3e, + 0x0a, 0x0c, 0x63, 0x61, 0x76, 0x65, 0x61, 0x74, 0x5f, 0x61, 0x64, 0x64, 0x65, 0x64, 0x18, 0x0c, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x61, 0x75, 0x74, 0x68, 0x7a, 0x65, 0x64, 0x2e, 0x61, + 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x78, 0x70, 0x43, 0x61, 0x76, 0x65, 0x61, 0x74, 0x48, + 0x00, 0x52, 0x0b, 0x63, 0x61, 0x76, 0x65, 0x61, 0x74, 0x41, 0x64, 0x64, 0x65, 0x64, 0x12, 0x42, + 0x0a, 0x0e, 0x63, 0x61, 0x76, 0x65, 0x61, 0x74, 0x5f, 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x64, + 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x61, 0x75, 0x74, 0x68, 0x7a, 0x65, 0x64, + 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x78, 0x70, 0x43, 0x61, 0x76, 0x65, 0x61, + 0x74, 0x48, 0x00, 0x52, 0x0d, 0x63, 0x61, 0x76, 0x65, 0x61, 0x74, 0x52, 0x65, 0x6d, 0x6f, 0x76, + 0x65, 0x64, 0x12, 0x58, 0x0a, 0x1a, 0x63, 0x61, 0x76, 0x65, 0x61, 0x74, 0x5f, 0x64, 0x6f, 0x63, + 0x5f, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x64, + 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x61, 0x75, 0x74, 0x68, 0x7a, 0x65, 0x64, + 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x78, 0x70, 0x43, 0x61, 0x76, 0x65, 0x61, + 0x74, 0x48, 0x00, 0x52, 0x17, 0x63, 0x61, 0x76, 0x65, 0x61, 0x74, 0x44, 0x6f, 0x63, 0x43, 0x6f, + 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x64, 0x12, 0x4b, 0x0a, 0x13, + 0x63, 0x61, 0x76, 0x65, 0x61, 0x74, 0x5f, 0x65, 0x78, 0x70, 0x72, 0x5f, 0x63, 0x68, 0x61, 0x6e, + 0x67, 0x65, 0x64, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x61, 0x75, 0x74, 0x68, + 0x7a, 0x65, 0x64, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x78, 0x70, 0x43, 0x61, + 0x76, 0x65, 0x61, 0x74, 0x48, 0x00, 0x52, 0x11, 0x63, 0x61, 0x76, 0x65, 0x61, 0x74, 0x45, 0x78, + 0x70, 0x72, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x64, 0x12, 0x5a, 0x0a, 0x16, 0x63, 0x61, 0x76, + 0x65, 0x61, 0x74, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x5f, 0x61, 0x64, + 0x64, 0x65, 0x64, 0x18, 0x10, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x61, 0x75, 0x74, 0x68, + 0x7a, 0x65, 0x64, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x78, 0x70, 0x43, 0x61, + 0x76, 0x65, 0x61, 0x74, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x48, 0x00, 0x52, + 0x14, 0x63, 0x61, 0x76, 0x65, 0x61, 0x74, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, + 0x41, 0x64, 0x64, 0x65, 0x64, 0x12, 0x5e, 0x0a, 0x18, 0x63, 0x61, 0x76, 0x65, 0x61, 0x74, 0x5f, + 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x5f, 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x65, + 0x64, 0x18, 0x11, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x61, 0x75, 0x74, 0x68, 0x7a, 0x65, + 0x64, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x78, 0x70, 0x43, 0x61, 0x76, 0x65, + 0x61, 0x74, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x48, 0x00, 0x52, 0x16, 0x63, + 0x61, 0x76, 0x65, 0x61, 0x74, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x52, 0x65, + 0x6d, 0x6f, 0x76, 0x65, 0x64, 0x12, 0x67, 0x0a, 0x1d, 0x63, 0x61, 0x76, 0x65, 0x61, 0x74, 0x5f, + 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x5f, 0x63, + 0x68, 0x61, 0x6e, 0x67, 0x65, 0x64, 0x18, 0x12, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x61, + 0x75, 0x74, 0x68, 0x7a, 0x65, 0x64, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x78, + 0x70, 0x43, 0x61, 0x76, 0x65, 0x61, 0x74, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, + 0x48, 0x00, 0x52, 0x1a, 0x63, 0x61, 0x76, 0x65, 0x61, 0x74, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, + 0x74, 0x65, 0x72, 0x54, 0x79, 0x70, 0x65, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x64, 0x42, 0x06, + 0x0a, 0x04, 0x64, 0x69, 0x66, 0x66, 0x32, 0x94, 0x0a, 0x0a, 0x13, 0x45, 0x78, 0x70, 0x65, 0x72, + 0x69, 0x6d, 0x65, 0x6e, 0x74, 0x61, 0x6c, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0xb2, + 0x01, 0x0a, 0x17, 0x42, 0x75, 0x6c, 0x6b, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x6c, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x68, 0x69, 0x70, 0x73, 0x12, 0x2e, 0x2e, 0x61, 0x75, 0x74, + 0x68, 0x7a, 0x65, 0x64, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x75, 0x6c, 0x6b, + 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x68, + 0x69, 0x70, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2f, 0x2e, 0x61, 0x75, 0x74, + 0x68, 0x7a, 0x65, 0x64, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x75, 0x6c, 0x6b, + 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x68, + 0x69, 0x70, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x34, 0x82, 0xd3, 0xe4, + 0x93, 0x02, 0x2e, 0x3a, 0x01, 0x2a, 0x22, 0x29, 0x2f, 0x76, 0x31, 0x2f, 0x65, 0x78, 0x70, 0x65, + 0x72, 0x69, 0x6d, 0x65, 0x6e, 0x74, 0x61, 0x6c, 0x2f, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x73, 0x68, 0x69, 0x70, 0x73, 0x2f, 0x62, 0x75, 0x6c, 0x6b, 0x69, 0x6d, 0x70, 0x6f, 0x72, + 0x74, 0x28, 0x01, 0x12, 0xb2, 0x01, 0x0a, 0x17, 0x42, 0x75, 0x6c, 0x6b, 0x45, 0x78, 0x70, 0x6f, + 0x72, 0x74, 0x52, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x68, 0x69, 0x70, 0x73, 0x12, + 0x2e, 0x2e, 0x61, 0x75, 0x74, 0x68, 0x7a, 0x65, 0x64, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, + 0x2e, 0x42, 0x75, 0x6c, 0x6b, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x6c, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x73, 0x68, 0x69, 0x70, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x2f, 0x2e, 0x61, 0x75, 0x74, 0x68, 0x7a, 0x65, 0x64, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, + 0x2e, 0x42, 0x75, 0x6c, 0x6b, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x6c, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x73, 0x68, 0x69, 0x70, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x22, 0x34, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2e, 0x3a, 0x01, 0x2a, 0x22, 0x29, 0x2f, 0x76, 0x31, + 0x2f, 0x65, 0x78, 0x70, 0x65, 0x72, 0x69, 0x6d, 0x65, 0x6e, 0x74, 0x61, 0x6c, 0x2f, 0x72, 0x65, + 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x68, 0x69, 0x70, 0x73, 0x2f, 0x62, 0x75, 0x6c, 0x6b, + 0x65, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x30, 0x01, 0x12, 0xae, 0x01, 0x0a, 0x13, 0x42, 0x75, 0x6c, + 0x6b, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, + 0x12, 0x2a, 0x2e, 0x61, 0x75, 0x74, 0x68, 0x7a, 0x65, 0x64, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, + 0x31, 0x2e, 0x42, 0x75, 0x6c, 0x6b, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x50, 0x65, 0x72, 0x6d, 0x69, + 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2b, 0x2e, 0x61, + 0x75, 0x74, 0x68, 0x7a, 0x65, 0x64, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x75, + 0x6c, 0x6b, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, + 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x3e, 0x82, 0xd3, 0xe4, 0x93, 0x02, + 0x35, 0x3a, 0x01, 0x2a, 0x22, 0x30, 0x2f, 0x76, 0x31, 0x2f, 0x65, 0x78, 0x70, 0x65, 0x72, 0x69, + 0x6d, 0x65, 0x6e, 0x74, 0x61, 0x6c, 0x2f, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, + 0x6e, 0x73, 0x2f, 0x62, 0x75, 0x6c, 0x6b, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x70, 0x65, 0x72, 0x6d, + 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x88, 0x02, 0x01, 0x12, 0xab, 0x01, 0x0a, 0x19, 0x45, 0x78, + 0x70, 0x65, 0x72, 0x69, 0x6d, 0x65, 0x6e, 0x74, 0x61, 0x6c, 0x52, 0x65, 0x66, 0x6c, 0x65, 0x63, + 0x74, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x12, 0x30, 0x2e, 0x61, 0x75, 0x74, 0x68, 0x7a, 0x65, + 0x64, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x78, 0x70, 0x65, 0x72, 0x69, 0x6d, + 0x65, 0x6e, 0x74, 0x61, 0x6c, 0x52, 0x65, 0x66, 0x6c, 0x65, 0x63, 0x74, 0x53, 0x63, 0x68, 0x65, + 0x6d, 0x61, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x31, 0x2e, 0x61, 0x75, 0x74, 0x68, + 0x7a, 0x65, 0x64, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x78, 0x70, 0x65, 0x72, + 0x69, 0x6d, 0x65, 0x6e, 0x74, 0x61, 0x6c, 0x52, 0x65, 0x66, 0x6c, 0x65, 0x63, 0x74, 0x53, 0x63, + 0x68, 0x65, 0x6d, 0x61, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x29, 0x82, 0xd3, + 0xe4, 0x93, 0x02, 0x23, 0x3a, 0x01, 0x2a, 0x22, 0x1e, 0x2f, 0x76, 0x31, 0x2f, 0x65, 0x78, 0x70, + 0x65, 0x72, 0x69, 0x6d, 0x65, 0x6e, 0x74, 0x61, 0x6c, 0x2f, 0x72, 0x65, 0x66, 0x6c, 0x65, 0x63, + 0x74, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x12, 0xcc, 0x01, 0x0a, 0x21, 0x45, 0x78, 0x70, 0x65, + 0x72, 0x69, 0x6d, 0x65, 0x6e, 0x74, 0x61, 0x6c, 0x43, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x61, 0x62, + 0x6c, 0x65, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x38, 0x2e, + 0x61, 0x75, 0x74, 0x68, 0x7a, 0x65, 0x64, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x45, + 0x78, 0x70, 0x65, 0x72, 0x69, 0x6d, 0x65, 0x6e, 0x74, 0x61, 0x6c, 0x43, 0x6f, 0x6d, 0x70, 0x75, + 0x74, 0x61, 0x62, 0x6c, 0x65, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x39, 0x2e, 0x61, 0x75, 0x74, 0x68, 0x7a, 0x65, + 0x64, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x78, 0x70, 0x65, 0x72, 0x69, 0x6d, + 0x65, 0x6e, 0x74, 0x61, 0x6c, 0x43, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x50, + 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x22, 0x32, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2c, 0x3a, 0x01, 0x2a, 0x22, 0x27, 0x2f, + 0x76, 0x31, 0x2f, 0x65, 0x78, 0x70, 0x65, 0x72, 0x69, 0x6d, 0x65, 0x6e, 0x74, 0x61, 0x6c, 0x2f, + 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x63, 0x6f, 0x6d, 0x70, + 0x75, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x12, 0xc2, 0x01, 0x0a, 0x1e, 0x45, 0x78, 0x70, 0x65, 0x72, + 0x69, 0x6d, 0x65, 0x6e, 0x74, 0x61, 0x6c, 0x44, 0x65, 0x70, 0x65, 0x6e, 0x64, 0x65, 0x6e, 0x74, + 0x52, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x35, 0x2e, 0x61, 0x75, 0x74, 0x68, + 0x7a, 0x65, 0x64, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x78, 0x70, 0x65, 0x72, + 0x69, 0x6d, 0x65, 0x6e, 0x74, 0x61, 0x6c, 0x44, 0x65, 0x70, 0x65, 0x6e, 0x64, 0x65, 0x6e, 0x74, + 0x52, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x1a, 0x36, 0x2e, 0x61, 0x75, 0x74, 0x68, 0x7a, 0x65, 0x64, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, + 0x31, 0x2e, 0x45, 0x78, 0x70, 0x65, 0x72, 0x69, 0x6d, 0x65, 0x6e, 0x74, 0x61, 0x6c, 0x44, 0x65, + 0x70, 0x65, 0x6e, 0x64, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x31, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2b, + 0x3a, 0x01, 0x2a, 0x22, 0x26, 0x2f, 0x76, 0x31, 0x2f, 0x65, 0x78, 0x70, 0x65, 0x72, 0x69, 0x6d, + 0x65, 0x6e, 0x74, 0x61, 0x6c, 0x2f, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, + 0x73, 0x2f, 0x64, 0x65, 0x70, 0x65, 0x6e, 0x64, 0x65, 0x6e, 0x74, 0x12, 0x9f, 0x01, 0x0a, 0x16, + 0x45, 0x78, 0x70, 0x65, 0x72, 0x69, 0x6d, 0x65, 0x6e, 0x74, 0x61, 0x6c, 0x53, 0x63, 0x68, 0x65, + 0x6d, 0x61, 0x44, 0x69, 0x66, 0x66, 0x12, 0x2d, 0x2e, 0x61, 0x75, 0x74, 0x68, 0x7a, 0x65, 0x64, + 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x78, 0x70, 0x65, 0x72, 0x69, 0x6d, 0x65, + 0x6e, 0x74, 0x61, 0x6c, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x44, 0x69, 0x66, 0x66, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2e, 0x2e, 0x61, 0x75, 0x74, 0x68, 0x7a, 0x65, 0x64, 0x2e, + 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x78, 0x70, 0x65, 0x72, 0x69, 0x6d, 0x65, 0x6e, + 0x74, 0x61, 0x6c, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x44, 0x69, 0x66, 0x66, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x26, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x20, 0x3a, 0x01, 0x2a, + 0x22, 0x1b, 0x2f, 0x76, 0x31, 0x2f, 0x65, 0x78, 0x70, 0x65, 0x72, 0x69, 0x6d, 0x65, 0x6e, 0x74, + 0x61, 0x6c, 0x2f, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x64, 0x69, 0x66, 0x66, 0x42, 0x48, 0x0a, + 0x12, 0x63, 0x6f, 0x6d, 0x2e, 0x61, 0x75, 0x74, 0x68, 0x7a, 0x65, 0x64, 0x2e, 0x61, 0x70, 0x69, + 0x2e, 0x76, 0x31, 0x5a, 0x32, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, + 0x61, 0x75, 0x74, 0x68, 0x7a, 0x65, 0x64, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x7a, 0x65, 0x64, 0x2d, + 0x67, 0x6f, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x7a, 0x65, 0x64, + 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_authzed_api_v1_experimental_service_proto_rawDescOnce sync.Once + file_authzed_api_v1_experimental_service_proto_rawDescData = file_authzed_api_v1_experimental_service_proto_rawDesc +) + +func file_authzed_api_v1_experimental_service_proto_rawDescGZIP() []byte { + file_authzed_api_v1_experimental_service_proto_rawDescOnce.Do(func() { + file_authzed_api_v1_experimental_service_proto_rawDescData = protoimpl.X.CompressGZIP(file_authzed_api_v1_experimental_service_proto_rawDescData) + }) + return file_authzed_api_v1_experimental_service_proto_rawDescData +} + +var file_authzed_api_v1_experimental_service_proto_enumTypes = make([]protoimpl.EnumInfo, 1) +var file_authzed_api_v1_experimental_service_proto_msgTypes = make([]protoimpl.MessageInfo, 27) +var file_authzed_api_v1_experimental_service_proto_goTypes = []interface{}{ + (ExpSchemaFilter_KindFilter)(0), // 0: authzed.api.v1.ExpSchemaFilter.KindFilter + (*BulkCheckPermissionRequest)(nil), // 1: authzed.api.v1.BulkCheckPermissionRequest + (*BulkCheckPermissionRequestItem)(nil), // 2: authzed.api.v1.BulkCheckPermissionRequestItem + (*BulkCheckPermissionResponse)(nil), // 3: authzed.api.v1.BulkCheckPermissionResponse + (*BulkCheckPermissionPair)(nil), // 4: authzed.api.v1.BulkCheckPermissionPair + (*BulkCheckPermissionResponseItem)(nil), // 5: authzed.api.v1.BulkCheckPermissionResponseItem + (*BulkImportRelationshipsRequest)(nil), // 6: authzed.api.v1.BulkImportRelationshipsRequest + (*BulkImportRelationshipsResponse)(nil), // 7: authzed.api.v1.BulkImportRelationshipsResponse + (*BulkExportRelationshipsRequest)(nil), // 8: authzed.api.v1.BulkExportRelationshipsRequest + (*BulkExportRelationshipsResponse)(nil), // 9: authzed.api.v1.BulkExportRelationshipsResponse + (*ExperimentalReflectSchemaRequest)(nil), // 10: authzed.api.v1.ExperimentalReflectSchemaRequest + (*ExperimentalReflectSchemaResponse)(nil), // 11: authzed.api.v1.ExperimentalReflectSchemaResponse + (*ExpSchemaFilter)(nil), // 12: authzed.api.v1.ExpSchemaFilter + (*ExpDefinition)(nil), // 13: authzed.api.v1.ExpDefinition + (*ExpCaveat)(nil), // 14: authzed.api.v1.ExpCaveat + (*ExpCaveatParameter)(nil), // 15: authzed.api.v1.ExpCaveatParameter + (*ExpRelation)(nil), // 16: authzed.api.v1.ExpRelation + (*ExpTypeReference)(nil), // 17: authzed.api.v1.ExpTypeReference + (*ExpPermission)(nil), // 18: authzed.api.v1.ExpPermission + (*ExperimentalComputablePermissionsRequest)(nil), // 19: authzed.api.v1.ExperimentalComputablePermissionsRequest + (*ExpRelationReference)(nil), // 20: authzed.api.v1.ExpRelationReference + (*ExpPermissionReference)(nil), // 21: authzed.api.v1.ExpPermissionReference + (*ExperimentalComputablePermissionsResponse)(nil), // 22: authzed.api.v1.ExperimentalComputablePermissionsResponse + (*ExperimentalDependentRelationsRequest)(nil), // 23: authzed.api.v1.ExperimentalDependentRelationsRequest + (*ExperimentalDependentRelationsResponse)(nil), // 24: authzed.api.v1.ExperimentalDependentRelationsResponse + (*ExperimentalSchemaDiffRequest)(nil), // 25: authzed.api.v1.ExperimentalSchemaDiffRequest + (*ExperimentalSchemaDiffResponse)(nil), // 26: authzed.api.v1.ExperimentalSchemaDiffResponse + (*ExpSchemaDiff)(nil), // 27: authzed.api.v1.ExpSchemaDiff + (*Consistency)(nil), // 28: authzed.api.v1.Consistency + (*ObjectReference)(nil), // 29: authzed.api.v1.ObjectReference + (*SubjectReference)(nil), // 30: authzed.api.v1.SubjectReference + (*structpb.Struct)(nil), // 31: google.protobuf.Struct + (*ZedToken)(nil), // 32: authzed.api.v1.ZedToken + (*status.Status)(nil), // 33: google.rpc.Status + (CheckPermissionResponse_Permissionship)(0), // 34: authzed.api.v1.CheckPermissionResponse.Permissionship + (*PartialCaveatInfo)(nil), // 35: authzed.api.v1.PartialCaveatInfo + (*Relationship)(nil), // 36: authzed.api.v1.Relationship + (*Cursor)(nil), // 37: authzed.api.v1.Cursor + (*RelationshipFilter)(nil), // 38: authzed.api.v1.RelationshipFilter +} +var file_authzed_api_v1_experimental_service_proto_depIdxs = []int32{ + 28, // 0: authzed.api.v1.BulkCheckPermissionRequest.consistency:type_name -> authzed.api.v1.Consistency + 2, // 1: authzed.api.v1.BulkCheckPermissionRequest.items:type_name -> authzed.api.v1.BulkCheckPermissionRequestItem + 29, // 2: authzed.api.v1.BulkCheckPermissionRequestItem.resource:type_name -> authzed.api.v1.ObjectReference + 30, // 3: authzed.api.v1.BulkCheckPermissionRequestItem.subject:type_name -> authzed.api.v1.SubjectReference + 31, // 4: authzed.api.v1.BulkCheckPermissionRequestItem.context:type_name -> google.protobuf.Struct + 32, // 5: authzed.api.v1.BulkCheckPermissionResponse.checked_at:type_name -> authzed.api.v1.ZedToken + 4, // 6: authzed.api.v1.BulkCheckPermissionResponse.pairs:type_name -> authzed.api.v1.BulkCheckPermissionPair + 2, // 7: authzed.api.v1.BulkCheckPermissionPair.request:type_name -> authzed.api.v1.BulkCheckPermissionRequestItem + 5, // 8: authzed.api.v1.BulkCheckPermissionPair.item:type_name -> authzed.api.v1.BulkCheckPermissionResponseItem + 33, // 9: authzed.api.v1.BulkCheckPermissionPair.error:type_name -> google.rpc.Status + 34, // 10: authzed.api.v1.BulkCheckPermissionResponseItem.permissionship:type_name -> authzed.api.v1.CheckPermissionResponse.Permissionship + 35, // 11: authzed.api.v1.BulkCheckPermissionResponseItem.partial_caveat_info:type_name -> authzed.api.v1.PartialCaveatInfo + 36, // 12: authzed.api.v1.BulkImportRelationshipsRequest.relationships:type_name -> authzed.api.v1.Relationship + 28, // 13: authzed.api.v1.BulkExportRelationshipsRequest.consistency:type_name -> authzed.api.v1.Consistency + 37, // 14: authzed.api.v1.BulkExportRelationshipsRequest.optional_cursor:type_name -> authzed.api.v1.Cursor + 38, // 15: authzed.api.v1.BulkExportRelationshipsRequest.optional_relationship_filter:type_name -> authzed.api.v1.RelationshipFilter + 37, // 16: authzed.api.v1.BulkExportRelationshipsResponse.after_result_cursor:type_name -> authzed.api.v1.Cursor + 36, // 17: authzed.api.v1.BulkExportRelationshipsResponse.relationships:type_name -> authzed.api.v1.Relationship + 28, // 18: authzed.api.v1.ExperimentalReflectSchemaRequest.consistency:type_name -> authzed.api.v1.Consistency + 12, // 19: authzed.api.v1.ExperimentalReflectSchemaRequest.optional_filters:type_name -> authzed.api.v1.ExpSchemaFilter + 13, // 20: authzed.api.v1.ExperimentalReflectSchemaResponse.definitions:type_name -> authzed.api.v1.ExpDefinition + 14, // 21: authzed.api.v1.ExperimentalReflectSchemaResponse.caveats:type_name -> authzed.api.v1.ExpCaveat + 32, // 22: authzed.api.v1.ExperimentalReflectSchemaResponse.read_at:type_name -> authzed.api.v1.ZedToken + 0, // 23: authzed.api.v1.ExpSchemaFilter.kind_filters:type_name -> authzed.api.v1.ExpSchemaFilter.KindFilter + 16, // 24: authzed.api.v1.ExpDefinition.relations:type_name -> authzed.api.v1.ExpRelation + 18, // 25: authzed.api.v1.ExpDefinition.permissions:type_name -> authzed.api.v1.ExpPermission + 15, // 26: authzed.api.v1.ExpCaveat.parameters:type_name -> authzed.api.v1.ExpCaveatParameter + 17, // 27: authzed.api.v1.ExpRelation.subject_types:type_name -> authzed.api.v1.ExpTypeReference + 28, // 28: authzed.api.v1.ExperimentalComputablePermissionsRequest.consistency:type_name -> authzed.api.v1.Consistency + 20, // 29: authzed.api.v1.ExperimentalComputablePermissionsRequest.relations:type_name -> authzed.api.v1.ExpRelationReference + 21, // 30: authzed.api.v1.ExperimentalComputablePermissionsResponse.permissions:type_name -> authzed.api.v1.ExpPermissionReference + 32, // 31: authzed.api.v1.ExperimentalComputablePermissionsResponse.read_at:type_name -> authzed.api.v1.ZedToken + 28, // 32: authzed.api.v1.ExperimentalDependentRelationsRequest.consistency:type_name -> authzed.api.v1.Consistency + 21, // 33: authzed.api.v1.ExperimentalDependentRelationsRequest.permission:type_name -> authzed.api.v1.ExpPermissionReference + 20, // 34: authzed.api.v1.ExperimentalDependentRelationsResponse.relations:type_name -> authzed.api.v1.ExpRelationReference + 32, // 35: authzed.api.v1.ExperimentalDependentRelationsResponse.read_at:type_name -> authzed.api.v1.ZedToken + 28, // 36: authzed.api.v1.ExperimentalSchemaDiffRequest.consistency:type_name -> authzed.api.v1.Consistency + 27, // 37: authzed.api.v1.ExperimentalSchemaDiffResponse.diffs:type_name -> authzed.api.v1.ExpSchemaDiff + 32, // 38: authzed.api.v1.ExperimentalSchemaDiffResponse.read_at:type_name -> authzed.api.v1.ZedToken + 13, // 39: authzed.api.v1.ExpSchemaDiff.definition_added:type_name -> authzed.api.v1.ExpDefinition + 13, // 40: authzed.api.v1.ExpSchemaDiff.definition_removed:type_name -> authzed.api.v1.ExpDefinition + 13, // 41: authzed.api.v1.ExpSchemaDiff.definition_doc_comment_changed:type_name -> authzed.api.v1.ExpDefinition + 16, // 42: authzed.api.v1.ExpSchemaDiff.relation_added:type_name -> authzed.api.v1.ExpRelation + 16, // 43: authzed.api.v1.ExpSchemaDiff.relation_removed:type_name -> authzed.api.v1.ExpRelation + 16, // 44: authzed.api.v1.ExpSchemaDiff.relation_doc_comment_changed:type_name -> authzed.api.v1.ExpRelation + 16, // 45: authzed.api.v1.ExpSchemaDiff.relation_type_changed:type_name -> authzed.api.v1.ExpRelation + 18, // 46: authzed.api.v1.ExpSchemaDiff.permission_added:type_name -> authzed.api.v1.ExpPermission + 18, // 47: authzed.api.v1.ExpSchemaDiff.permission_removed:type_name -> authzed.api.v1.ExpPermission + 18, // 48: authzed.api.v1.ExpSchemaDiff.permission_doc_comment_changed:type_name -> authzed.api.v1.ExpPermission + 18, // 49: authzed.api.v1.ExpSchemaDiff.permission_expr_changed:type_name -> authzed.api.v1.ExpPermission + 14, // 50: authzed.api.v1.ExpSchemaDiff.caveat_added:type_name -> authzed.api.v1.ExpCaveat + 14, // 51: authzed.api.v1.ExpSchemaDiff.caveat_removed:type_name -> authzed.api.v1.ExpCaveat + 14, // 52: authzed.api.v1.ExpSchemaDiff.caveat_doc_comment_changed:type_name -> authzed.api.v1.ExpCaveat + 14, // 53: authzed.api.v1.ExpSchemaDiff.caveat_expr_changed:type_name -> authzed.api.v1.ExpCaveat + 15, // 54: authzed.api.v1.ExpSchemaDiff.caveat_parameter_added:type_name -> authzed.api.v1.ExpCaveatParameter + 15, // 55: authzed.api.v1.ExpSchemaDiff.caveat_parameter_removed:type_name -> authzed.api.v1.ExpCaveatParameter + 15, // 56: authzed.api.v1.ExpSchemaDiff.caveat_parameter_type_changed:type_name -> authzed.api.v1.ExpCaveatParameter + 6, // 57: authzed.api.v1.ExperimentalService.BulkImportRelationships:input_type -> authzed.api.v1.BulkImportRelationshipsRequest + 8, // 58: authzed.api.v1.ExperimentalService.BulkExportRelationships:input_type -> authzed.api.v1.BulkExportRelationshipsRequest + 1, // 59: authzed.api.v1.ExperimentalService.BulkCheckPermission:input_type -> authzed.api.v1.BulkCheckPermissionRequest + 10, // 60: authzed.api.v1.ExperimentalService.ExperimentalReflectSchema:input_type -> authzed.api.v1.ExperimentalReflectSchemaRequest + 19, // 61: authzed.api.v1.ExperimentalService.ExperimentalComputablePermissions:input_type -> authzed.api.v1.ExperimentalComputablePermissionsRequest + 23, // 62: authzed.api.v1.ExperimentalService.ExperimentalDependentRelations:input_type -> authzed.api.v1.ExperimentalDependentRelationsRequest + 25, // 63: authzed.api.v1.ExperimentalService.ExperimentalSchemaDiff:input_type -> authzed.api.v1.ExperimentalSchemaDiffRequest + 7, // 64: authzed.api.v1.ExperimentalService.BulkImportRelationships:output_type -> authzed.api.v1.BulkImportRelationshipsResponse + 9, // 65: authzed.api.v1.ExperimentalService.BulkExportRelationships:output_type -> authzed.api.v1.BulkExportRelationshipsResponse + 3, // 66: authzed.api.v1.ExperimentalService.BulkCheckPermission:output_type -> authzed.api.v1.BulkCheckPermissionResponse + 11, // 67: authzed.api.v1.ExperimentalService.ExperimentalReflectSchema:output_type -> authzed.api.v1.ExperimentalReflectSchemaResponse + 22, // 68: authzed.api.v1.ExperimentalService.ExperimentalComputablePermissions:output_type -> authzed.api.v1.ExperimentalComputablePermissionsResponse + 24, // 69: authzed.api.v1.ExperimentalService.ExperimentalDependentRelations:output_type -> authzed.api.v1.ExperimentalDependentRelationsResponse + 26, // 70: authzed.api.v1.ExperimentalService.ExperimentalSchemaDiff:output_type -> authzed.api.v1.ExperimentalSchemaDiffResponse + 64, // [64:71] is the sub-list for method output_type + 57, // [57:64] is the sub-list for method input_type + 57, // [57:57] is the sub-list for extension type_name + 57, // [57:57] is the sub-list for extension extendee + 0, // [0:57] is the sub-list for field type_name +} + +func init() { file_authzed_api_v1_experimental_service_proto_init() } +func file_authzed_api_v1_experimental_service_proto_init() { + if File_authzed_api_v1_experimental_service_proto != nil { + return + } + file_authzed_api_v1_core_proto_init() + file_authzed_api_v1_permission_service_proto_init() + if !protoimpl.UnsafeEnabled { + file_authzed_api_v1_experimental_service_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*BulkCheckPermissionRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_authzed_api_v1_experimental_service_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*BulkCheckPermissionRequestItem); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_authzed_api_v1_experimental_service_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*BulkCheckPermissionResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_authzed_api_v1_experimental_service_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*BulkCheckPermissionPair); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_authzed_api_v1_experimental_service_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*BulkCheckPermissionResponseItem); i { case 0: return &v.state case 1: @@ -946,23 +2813,265 @@ func file_authzed_api_v1_experimental_service_proto_init() { return nil } } + file_authzed_api_v1_experimental_service_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ExperimentalReflectSchemaRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_authzed_api_v1_experimental_service_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ExperimentalReflectSchemaResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_authzed_api_v1_experimental_service_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ExpSchemaFilter); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_authzed_api_v1_experimental_service_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ExpDefinition); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_authzed_api_v1_experimental_service_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ExpCaveat); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_authzed_api_v1_experimental_service_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ExpCaveatParameter); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_authzed_api_v1_experimental_service_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ExpRelation); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_authzed_api_v1_experimental_service_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ExpTypeReference); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_authzed_api_v1_experimental_service_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ExpPermission); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_authzed_api_v1_experimental_service_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ExperimentalComputablePermissionsRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_authzed_api_v1_experimental_service_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ExpRelationReference); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_authzed_api_v1_experimental_service_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ExpPermissionReference); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_authzed_api_v1_experimental_service_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ExperimentalComputablePermissionsResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_authzed_api_v1_experimental_service_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ExperimentalDependentRelationsRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_authzed_api_v1_experimental_service_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ExperimentalDependentRelationsResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_authzed_api_v1_experimental_service_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ExperimentalSchemaDiffRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_authzed_api_v1_experimental_service_proto_msgTypes[25].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ExperimentalSchemaDiffResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_authzed_api_v1_experimental_service_proto_msgTypes[26].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ExpSchemaDiff); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } } file_authzed_api_v1_experimental_service_proto_msgTypes[3].OneofWrappers = []interface{}{ (*BulkCheckPermissionPair_Item)(nil), (*BulkCheckPermissionPair_Error)(nil), } + file_authzed_api_v1_experimental_service_proto_msgTypes[16].OneofWrappers = []interface{}{ + (*ExpTypeReference_IsTerminalSubject)(nil), + (*ExpTypeReference_OptionalRelationName)(nil), + (*ExpTypeReference_IsPublicWildcard)(nil), + } + file_authzed_api_v1_experimental_service_proto_msgTypes[26].OneofWrappers = []interface{}{ + (*ExpSchemaDiff_DefinitionAdded)(nil), + (*ExpSchemaDiff_DefinitionRemoved)(nil), + (*ExpSchemaDiff_DefinitionDocCommentChanged)(nil), + (*ExpSchemaDiff_RelationAdded)(nil), + (*ExpSchemaDiff_RelationRemoved)(nil), + (*ExpSchemaDiff_RelationDocCommentChanged)(nil), + (*ExpSchemaDiff_RelationTypeChanged)(nil), + (*ExpSchemaDiff_PermissionAdded)(nil), + (*ExpSchemaDiff_PermissionRemoved)(nil), + (*ExpSchemaDiff_PermissionDocCommentChanged)(nil), + (*ExpSchemaDiff_PermissionExprChanged)(nil), + (*ExpSchemaDiff_CaveatAdded)(nil), + (*ExpSchemaDiff_CaveatRemoved)(nil), + (*ExpSchemaDiff_CaveatDocCommentChanged)(nil), + (*ExpSchemaDiff_CaveatExprChanged)(nil), + (*ExpSchemaDiff_CaveatParameterAdded)(nil), + (*ExpSchemaDiff_CaveatParameterRemoved)(nil), + (*ExpSchemaDiff_CaveatParameterTypeChanged)(nil), + } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_authzed_api_v1_experimental_service_proto_rawDesc, - NumEnums: 0, - NumMessages: 9, + NumEnums: 1, + NumMessages: 27, NumExtensions: 0, NumServices: 1, }, GoTypes: file_authzed_api_v1_experimental_service_proto_goTypes, DependencyIndexes: file_authzed_api_v1_experimental_service_proto_depIdxs, + EnumInfos: file_authzed_api_v1_experimental_service_proto_enumTypes, MessageInfos: file_authzed_api_v1_experimental_service_proto_msgTypes, }.Build() File_authzed_api_v1_experimental_service_proto = out.File diff --git a/proto/authzed/api/v1/experimental_service.pb.gw.go b/proto/authzed/api/v1/experimental_service.pb.gw.go index b2cd918..faea92f 100644 --- a/proto/authzed/api/v1/experimental_service.pb.gw.go +++ b/proto/authzed/api/v1/experimental_service.pb.gw.go @@ -122,6 +122,110 @@ func local_request_ExperimentalService_BulkCheckPermission_0(ctx context.Context } +func request_ExperimentalService_ExperimentalReflectSchema_0(ctx context.Context, marshaler runtime.Marshaler, client ExperimentalServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq ExperimentalReflectSchemaRequest + var metadata runtime.ServerMetadata + + if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := client.ExperimentalReflectSchema(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_ExperimentalService_ExperimentalReflectSchema_0(ctx context.Context, marshaler runtime.Marshaler, server ExperimentalServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq ExperimentalReflectSchemaRequest + var metadata runtime.ServerMetadata + + if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := server.ExperimentalReflectSchema(ctx, &protoReq) + return msg, metadata, err + +} + +func request_ExperimentalService_ExperimentalComputablePermissions_0(ctx context.Context, marshaler runtime.Marshaler, client ExperimentalServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq ExperimentalComputablePermissionsRequest + var metadata runtime.ServerMetadata + + if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := client.ExperimentalComputablePermissions(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_ExperimentalService_ExperimentalComputablePermissions_0(ctx context.Context, marshaler runtime.Marshaler, server ExperimentalServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq ExperimentalComputablePermissionsRequest + var metadata runtime.ServerMetadata + + if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := server.ExperimentalComputablePermissions(ctx, &protoReq) + return msg, metadata, err + +} + +func request_ExperimentalService_ExperimentalDependentRelations_0(ctx context.Context, marshaler runtime.Marshaler, client ExperimentalServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq ExperimentalDependentRelationsRequest + var metadata runtime.ServerMetadata + + if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := client.ExperimentalDependentRelations(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_ExperimentalService_ExperimentalDependentRelations_0(ctx context.Context, marshaler runtime.Marshaler, server ExperimentalServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq ExperimentalDependentRelationsRequest + var metadata runtime.ServerMetadata + + if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := server.ExperimentalDependentRelations(ctx, &protoReq) + return msg, metadata, err + +} + +func request_ExperimentalService_ExperimentalSchemaDiff_0(ctx context.Context, marshaler runtime.Marshaler, client ExperimentalServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq ExperimentalSchemaDiffRequest + var metadata runtime.ServerMetadata + + if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := client.ExperimentalSchemaDiff(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_ExperimentalService_ExperimentalSchemaDiff_0(ctx context.Context, marshaler runtime.Marshaler, server ExperimentalServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq ExperimentalSchemaDiffRequest + var metadata runtime.ServerMetadata + + if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := server.ExperimentalSchemaDiff(ctx, &protoReq) + return msg, metadata, err + +} + // RegisterExperimentalServiceHandlerServer registers the http handlers for service ExperimentalService to "mux". // UnaryRPC :call ExperimentalServiceServer directly. // StreamingRPC :currently unsupported pending https://github.com/grpc/grpc-go/issues/906. @@ -167,6 +271,106 @@ func RegisterExperimentalServiceHandlerServer(ctx context.Context, mux *runtime. }) + mux.Handle("POST", pattern_ExperimentalService_ExperimentalReflectSchema_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/authzed.api.v1.ExperimentalService/ExperimentalReflectSchema", runtime.WithHTTPPathPattern("/v1/experimental/reflectschema")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_ExperimentalService_ExperimentalReflectSchema_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_ExperimentalService_ExperimentalReflectSchema_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_ExperimentalService_ExperimentalComputablePermissions_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/authzed.api.v1.ExperimentalService/ExperimentalComputablePermissions", runtime.WithHTTPPathPattern("/v1/experimental/permissions/computable")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_ExperimentalService_ExperimentalComputablePermissions_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_ExperimentalService_ExperimentalComputablePermissions_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_ExperimentalService_ExperimentalDependentRelations_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/authzed.api.v1.ExperimentalService/ExperimentalDependentRelations", runtime.WithHTTPPathPattern("/v1/experimental/permissions/dependent")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_ExperimentalService_ExperimentalDependentRelations_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_ExperimentalService_ExperimentalDependentRelations_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_ExperimentalService_ExperimentalSchemaDiff_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/authzed.api.v1.ExperimentalService/ExperimentalSchemaDiff", runtime.WithHTTPPathPattern("/v1/experimental/schemadiff")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_ExperimentalService_ExperimentalSchemaDiff_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_ExperimentalService_ExperimentalSchemaDiff_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + return nil } @@ -274,6 +478,94 @@ func RegisterExperimentalServiceHandlerClient(ctx context.Context, mux *runtime. }) + mux.Handle("POST", pattern_ExperimentalService_ExperimentalReflectSchema_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/authzed.api.v1.ExperimentalService/ExperimentalReflectSchema", runtime.WithHTTPPathPattern("/v1/experimental/reflectschema")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_ExperimentalService_ExperimentalReflectSchema_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_ExperimentalService_ExperimentalReflectSchema_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_ExperimentalService_ExperimentalComputablePermissions_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/authzed.api.v1.ExperimentalService/ExperimentalComputablePermissions", runtime.WithHTTPPathPattern("/v1/experimental/permissions/computable")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_ExperimentalService_ExperimentalComputablePermissions_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_ExperimentalService_ExperimentalComputablePermissions_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_ExperimentalService_ExperimentalDependentRelations_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/authzed.api.v1.ExperimentalService/ExperimentalDependentRelations", runtime.WithHTTPPathPattern("/v1/experimental/permissions/dependent")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_ExperimentalService_ExperimentalDependentRelations_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_ExperimentalService_ExperimentalDependentRelations_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_ExperimentalService_ExperimentalSchemaDiff_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/authzed.api.v1.ExperimentalService/ExperimentalSchemaDiff", runtime.WithHTTPPathPattern("/v1/experimental/schemadiff")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_ExperimentalService_ExperimentalSchemaDiff_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_ExperimentalService_ExperimentalSchemaDiff_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + return nil } @@ -283,6 +575,14 @@ var ( pattern_ExperimentalService_BulkExportRelationships_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 2, 3}, []string{"v1", "experimental", "relationships", "bulkexport"}, "")) pattern_ExperimentalService_BulkCheckPermission_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 2, 3}, []string{"v1", "experimental", "permissions", "bulkcheckpermission"}, "")) + + pattern_ExperimentalService_ExperimentalReflectSchema_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2}, []string{"v1", "experimental", "reflectschema"}, "")) + + pattern_ExperimentalService_ExperimentalComputablePermissions_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 2, 3}, []string{"v1", "experimental", "permissions", "computable"}, "")) + + pattern_ExperimentalService_ExperimentalDependentRelations_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 2, 3}, []string{"v1", "experimental", "permissions", "dependent"}, "")) + + pattern_ExperimentalService_ExperimentalSchemaDiff_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2}, []string{"v1", "experimental", "schemadiff"}, "")) ) var ( @@ -291,4 +591,12 @@ var ( forward_ExperimentalService_BulkExportRelationships_0 = runtime.ForwardResponseStream forward_ExperimentalService_BulkCheckPermission_0 = runtime.ForwardResponseMessage + + forward_ExperimentalService_ExperimentalReflectSchema_0 = runtime.ForwardResponseMessage + + forward_ExperimentalService_ExperimentalComputablePermissions_0 = runtime.ForwardResponseMessage + + forward_ExperimentalService_ExperimentalDependentRelations_0 = runtime.ForwardResponseMessage + + forward_ExperimentalService_ExperimentalSchemaDiff_0 = runtime.ForwardResponseMessage ) diff --git a/proto/authzed/api/v1/experimental_service.pb.validate.go b/proto/authzed/api/v1/experimental_service.pb.validate.go index 4bd0061..5945091 100644 --- a/proto/authzed/api/v1/experimental_service.pb.validate.go +++ b/proto/authzed/api/v1/experimental_service.pb.validate.go @@ -1619,3 +1619,3313 @@ var _ interface { Cause() error ErrorName() string } = BulkExportRelationshipsResponseValidationError{} + +// Validate checks the field values on ExperimentalReflectSchemaRequest with +// the rules defined in the proto definition for this message. If any rules +// are violated, the first error encountered is returned, or nil if there are +// no violations. +func (m *ExperimentalReflectSchemaRequest) Validate() error { + return m.validate(false) +} + +// ValidateAll checks the field values on ExperimentalReflectSchemaRequest with +// the rules defined in the proto definition for this message. If any rules +// are violated, the result is a list of violation errors wrapped in +// ExperimentalReflectSchemaRequestMultiError, or nil if none found. +func (m *ExperimentalReflectSchemaRequest) ValidateAll() error { + return m.validate(true) +} + +func (m *ExperimentalReflectSchemaRequest) validate(all bool) error { + if m == nil { + return nil + } + + var errors []error + + if all { + switch v := interface{}(m.GetConsistency()).(type) { + case interface{ ValidateAll() error }: + if err := v.ValidateAll(); err != nil { + errors = append(errors, ExperimentalReflectSchemaRequestValidationError{ + field: "Consistency", + reason: "embedded message failed validation", + cause: err, + }) + } + case interface{ Validate() error }: + if err := v.Validate(); err != nil { + errors = append(errors, ExperimentalReflectSchemaRequestValidationError{ + field: "Consistency", + reason: "embedded message failed validation", + cause: err, + }) + } + } + } else if v, ok := interface{}(m.GetConsistency()).(interface{ Validate() error }); ok { + if err := v.Validate(); err != nil { + return ExperimentalReflectSchemaRequestValidationError{ + field: "Consistency", + reason: "embedded message failed validation", + cause: err, + } + } + } + + for idx, item := range m.GetOptionalFilters() { + _, _ = idx, item + + if all { + switch v := interface{}(item).(type) { + case interface{ ValidateAll() error }: + if err := v.ValidateAll(); err != nil { + errors = append(errors, ExperimentalReflectSchemaRequestValidationError{ + field: fmt.Sprintf("OptionalFilters[%v]", idx), + reason: "embedded message failed validation", + cause: err, + }) + } + case interface{ Validate() error }: + if err := v.Validate(); err != nil { + errors = append(errors, ExperimentalReflectSchemaRequestValidationError{ + field: fmt.Sprintf("OptionalFilters[%v]", idx), + reason: "embedded message failed validation", + cause: err, + }) + } + } + } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { + if err := v.Validate(); err != nil { + return ExperimentalReflectSchemaRequestValidationError{ + field: fmt.Sprintf("OptionalFilters[%v]", idx), + reason: "embedded message failed validation", + cause: err, + } + } + } + + } + + if len(errors) > 0 { + return ExperimentalReflectSchemaRequestMultiError(errors) + } + + return nil +} + +// ExperimentalReflectSchemaRequestMultiError is an error wrapping multiple +// validation errors returned by +// ExperimentalReflectSchemaRequest.ValidateAll() if the designated +// constraints aren't met. +type ExperimentalReflectSchemaRequestMultiError []error + +// Error returns a concatenation of all the error messages it wraps. +func (m ExperimentalReflectSchemaRequestMultiError) Error() string { + var msgs []string + for _, err := range m { + msgs = append(msgs, err.Error()) + } + return strings.Join(msgs, "; ") +} + +// AllErrors returns a list of validation violation errors. +func (m ExperimentalReflectSchemaRequestMultiError) AllErrors() []error { return m } + +// ExperimentalReflectSchemaRequestValidationError is the validation error +// returned by ExperimentalReflectSchemaRequest.Validate if the designated +// constraints aren't met. +type ExperimentalReflectSchemaRequestValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e ExperimentalReflectSchemaRequestValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e ExperimentalReflectSchemaRequestValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e ExperimentalReflectSchemaRequestValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e ExperimentalReflectSchemaRequestValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e ExperimentalReflectSchemaRequestValidationError) ErrorName() string { + return "ExperimentalReflectSchemaRequestValidationError" +} + +// Error satisfies the builtin error interface +func (e ExperimentalReflectSchemaRequestValidationError) Error() string { + cause := "" + if e.cause != nil { + cause = fmt.Sprintf(" | caused by: %v", e.cause) + } + + key := "" + if e.key { + key = "key for " + } + + return fmt.Sprintf( + "invalid %sExperimentalReflectSchemaRequest.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = ExperimentalReflectSchemaRequestValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = ExperimentalReflectSchemaRequestValidationError{} + +// Validate checks the field values on ExperimentalReflectSchemaResponse with +// the rules defined in the proto definition for this message. If any rules +// are violated, the first error encountered is returned, or nil if there are +// no violations. +func (m *ExperimentalReflectSchemaResponse) Validate() error { + return m.validate(false) +} + +// ValidateAll checks the field values on ExperimentalReflectSchemaResponse +// with the rules defined in the proto definition for this message. If any +// rules are violated, the result is a list of violation errors wrapped in +// ExperimentalReflectSchemaResponseMultiError, or nil if none found. +func (m *ExperimentalReflectSchemaResponse) ValidateAll() error { + return m.validate(true) +} + +func (m *ExperimentalReflectSchemaResponse) validate(all bool) error { + if m == nil { + return nil + } + + var errors []error + + for idx, item := range m.GetDefinitions() { + _, _ = idx, item + + if all { + switch v := interface{}(item).(type) { + case interface{ ValidateAll() error }: + if err := v.ValidateAll(); err != nil { + errors = append(errors, ExperimentalReflectSchemaResponseValidationError{ + field: fmt.Sprintf("Definitions[%v]", idx), + reason: "embedded message failed validation", + cause: err, + }) + } + case interface{ Validate() error }: + if err := v.Validate(); err != nil { + errors = append(errors, ExperimentalReflectSchemaResponseValidationError{ + field: fmt.Sprintf("Definitions[%v]", idx), + reason: "embedded message failed validation", + cause: err, + }) + } + } + } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { + if err := v.Validate(); err != nil { + return ExperimentalReflectSchemaResponseValidationError{ + field: fmt.Sprintf("Definitions[%v]", idx), + reason: "embedded message failed validation", + cause: err, + } + } + } + + } + + for idx, item := range m.GetCaveats() { + _, _ = idx, item + + if all { + switch v := interface{}(item).(type) { + case interface{ ValidateAll() error }: + if err := v.ValidateAll(); err != nil { + errors = append(errors, ExperimentalReflectSchemaResponseValidationError{ + field: fmt.Sprintf("Caveats[%v]", idx), + reason: "embedded message failed validation", + cause: err, + }) + } + case interface{ Validate() error }: + if err := v.Validate(); err != nil { + errors = append(errors, ExperimentalReflectSchemaResponseValidationError{ + field: fmt.Sprintf("Caveats[%v]", idx), + reason: "embedded message failed validation", + cause: err, + }) + } + } + } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { + if err := v.Validate(); err != nil { + return ExperimentalReflectSchemaResponseValidationError{ + field: fmt.Sprintf("Caveats[%v]", idx), + reason: "embedded message failed validation", + cause: err, + } + } + } + + } + + if all { + switch v := interface{}(m.GetReadAt()).(type) { + case interface{ ValidateAll() error }: + if err := v.ValidateAll(); err != nil { + errors = append(errors, ExperimentalReflectSchemaResponseValidationError{ + field: "ReadAt", + reason: "embedded message failed validation", + cause: err, + }) + } + case interface{ Validate() error }: + if err := v.Validate(); err != nil { + errors = append(errors, ExperimentalReflectSchemaResponseValidationError{ + field: "ReadAt", + reason: "embedded message failed validation", + cause: err, + }) + } + } + } else if v, ok := interface{}(m.GetReadAt()).(interface{ Validate() error }); ok { + if err := v.Validate(); err != nil { + return ExperimentalReflectSchemaResponseValidationError{ + field: "ReadAt", + reason: "embedded message failed validation", + cause: err, + } + } + } + + if len(errors) > 0 { + return ExperimentalReflectSchemaResponseMultiError(errors) + } + + return nil +} + +// ExperimentalReflectSchemaResponseMultiError is an error wrapping multiple +// validation errors returned by +// ExperimentalReflectSchemaResponse.ValidateAll() if the designated +// constraints aren't met. +type ExperimentalReflectSchemaResponseMultiError []error + +// Error returns a concatenation of all the error messages it wraps. +func (m ExperimentalReflectSchemaResponseMultiError) Error() string { + var msgs []string + for _, err := range m { + msgs = append(msgs, err.Error()) + } + return strings.Join(msgs, "; ") +} + +// AllErrors returns a list of validation violation errors. +func (m ExperimentalReflectSchemaResponseMultiError) AllErrors() []error { return m } + +// ExperimentalReflectSchemaResponseValidationError is the validation error +// returned by ExperimentalReflectSchemaResponse.Validate if the designated +// constraints aren't met. +type ExperimentalReflectSchemaResponseValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e ExperimentalReflectSchemaResponseValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e ExperimentalReflectSchemaResponseValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e ExperimentalReflectSchemaResponseValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e ExperimentalReflectSchemaResponseValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e ExperimentalReflectSchemaResponseValidationError) ErrorName() string { + return "ExperimentalReflectSchemaResponseValidationError" +} + +// Error satisfies the builtin error interface +func (e ExperimentalReflectSchemaResponseValidationError) Error() string { + cause := "" + if e.cause != nil { + cause = fmt.Sprintf(" | caused by: %v", e.cause) + } + + key := "" + if e.key { + key = "key for " + } + + return fmt.Sprintf( + "invalid %sExperimentalReflectSchemaResponse.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = ExperimentalReflectSchemaResponseValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = ExperimentalReflectSchemaResponseValidationError{} + +// Validate checks the field values on ExpSchemaFilter with the rules defined +// in the proto definition for this message. If any rules are violated, the +// first error encountered is returned, or nil if there are no violations. +func (m *ExpSchemaFilter) Validate() error { + return m.validate(false) +} + +// ValidateAll checks the field values on ExpSchemaFilter with the rules +// defined in the proto definition for this message. If any rules are +// violated, the result is a list of violation errors wrapped in +// ExpSchemaFilterMultiError, or nil if none found. +func (m *ExpSchemaFilter) ValidateAll() error { + return m.validate(true) +} + +func (m *ExpSchemaFilter) validate(all bool) error { + if m == nil { + return nil + } + + var errors []error + + // no validation rules for OptionalDefinitionNameMatch + + // no validation rules for OptionalRelationOrPermissionNameMatch + + if len(errors) > 0 { + return ExpSchemaFilterMultiError(errors) + } + + return nil +} + +// ExpSchemaFilterMultiError is an error wrapping multiple validation errors +// returned by ExpSchemaFilter.ValidateAll() if the designated constraints +// aren't met. +type ExpSchemaFilterMultiError []error + +// Error returns a concatenation of all the error messages it wraps. +func (m ExpSchemaFilterMultiError) Error() string { + var msgs []string + for _, err := range m { + msgs = append(msgs, err.Error()) + } + return strings.Join(msgs, "; ") +} + +// AllErrors returns a list of validation violation errors. +func (m ExpSchemaFilterMultiError) AllErrors() []error { return m } + +// ExpSchemaFilterValidationError is the validation error returned by +// ExpSchemaFilter.Validate if the designated constraints aren't met. +type ExpSchemaFilterValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e ExpSchemaFilterValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e ExpSchemaFilterValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e ExpSchemaFilterValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e ExpSchemaFilterValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e ExpSchemaFilterValidationError) ErrorName() string { return "ExpSchemaFilterValidationError" } + +// Error satisfies the builtin error interface +func (e ExpSchemaFilterValidationError) Error() string { + cause := "" + if e.cause != nil { + cause = fmt.Sprintf(" | caused by: %v", e.cause) + } + + key := "" + if e.key { + key = "key for " + } + + return fmt.Sprintf( + "invalid %sExpSchemaFilter.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = ExpSchemaFilterValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = ExpSchemaFilterValidationError{} + +// Validate checks the field values on ExpDefinition with the rules defined in +// the proto definition for this message. If any rules are violated, the first +// error encountered is returned, or nil if there are no violations. +func (m *ExpDefinition) Validate() error { + return m.validate(false) +} + +// ValidateAll checks the field values on ExpDefinition with the rules defined +// in the proto definition for this message. If any rules are violated, the +// result is a list of violation errors wrapped in ExpDefinitionMultiError, or +// nil if none found. +func (m *ExpDefinition) ValidateAll() error { + return m.validate(true) +} + +func (m *ExpDefinition) validate(all bool) error { + if m == nil { + return nil + } + + var errors []error + + // no validation rules for Name + + // no validation rules for Comment + + for idx, item := range m.GetRelations() { + _, _ = idx, item + + if all { + switch v := interface{}(item).(type) { + case interface{ ValidateAll() error }: + if err := v.ValidateAll(); err != nil { + errors = append(errors, ExpDefinitionValidationError{ + field: fmt.Sprintf("Relations[%v]", idx), + reason: "embedded message failed validation", + cause: err, + }) + } + case interface{ Validate() error }: + if err := v.Validate(); err != nil { + errors = append(errors, ExpDefinitionValidationError{ + field: fmt.Sprintf("Relations[%v]", idx), + reason: "embedded message failed validation", + cause: err, + }) + } + } + } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { + if err := v.Validate(); err != nil { + return ExpDefinitionValidationError{ + field: fmt.Sprintf("Relations[%v]", idx), + reason: "embedded message failed validation", + cause: err, + } + } + } + + } + + for idx, item := range m.GetPermissions() { + _, _ = idx, item + + if all { + switch v := interface{}(item).(type) { + case interface{ ValidateAll() error }: + if err := v.ValidateAll(); err != nil { + errors = append(errors, ExpDefinitionValidationError{ + field: fmt.Sprintf("Permissions[%v]", idx), + reason: "embedded message failed validation", + cause: err, + }) + } + case interface{ Validate() error }: + if err := v.Validate(); err != nil { + errors = append(errors, ExpDefinitionValidationError{ + field: fmt.Sprintf("Permissions[%v]", idx), + reason: "embedded message failed validation", + cause: err, + }) + } + } + } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { + if err := v.Validate(); err != nil { + return ExpDefinitionValidationError{ + field: fmt.Sprintf("Permissions[%v]", idx), + reason: "embedded message failed validation", + cause: err, + } + } + } + + } + + if len(errors) > 0 { + return ExpDefinitionMultiError(errors) + } + + return nil +} + +// ExpDefinitionMultiError is an error wrapping multiple validation errors +// returned by ExpDefinition.ValidateAll() if the designated constraints +// aren't met. +type ExpDefinitionMultiError []error + +// Error returns a concatenation of all the error messages it wraps. +func (m ExpDefinitionMultiError) Error() string { + var msgs []string + for _, err := range m { + msgs = append(msgs, err.Error()) + } + return strings.Join(msgs, "; ") +} + +// AllErrors returns a list of validation violation errors. +func (m ExpDefinitionMultiError) AllErrors() []error { return m } + +// ExpDefinitionValidationError is the validation error returned by +// ExpDefinition.Validate if the designated constraints aren't met. +type ExpDefinitionValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e ExpDefinitionValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e ExpDefinitionValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e ExpDefinitionValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e ExpDefinitionValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e ExpDefinitionValidationError) ErrorName() string { return "ExpDefinitionValidationError" } + +// Error satisfies the builtin error interface +func (e ExpDefinitionValidationError) Error() string { + cause := "" + if e.cause != nil { + cause = fmt.Sprintf(" | caused by: %v", e.cause) + } + + key := "" + if e.key { + key = "key for " + } + + return fmt.Sprintf( + "invalid %sExpDefinition.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = ExpDefinitionValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = ExpDefinitionValidationError{} + +// Validate checks the field values on ExpCaveat with the rules defined in the +// proto definition for this message. If any rules are violated, the first +// error encountered is returned, or nil if there are no violations. +func (m *ExpCaveat) Validate() error { + return m.validate(false) +} + +// ValidateAll checks the field values on ExpCaveat with the rules defined in +// the proto definition for this message. If any rules are violated, the +// result is a list of violation errors wrapped in ExpCaveatMultiError, or nil +// if none found. +func (m *ExpCaveat) ValidateAll() error { + return m.validate(true) +} + +func (m *ExpCaveat) validate(all bool) error { + if m == nil { + return nil + } + + var errors []error + + // no validation rules for Name + + // no validation rules for Comment + + for idx, item := range m.GetParameters() { + _, _ = idx, item + + if all { + switch v := interface{}(item).(type) { + case interface{ ValidateAll() error }: + if err := v.ValidateAll(); err != nil { + errors = append(errors, ExpCaveatValidationError{ + field: fmt.Sprintf("Parameters[%v]", idx), + reason: "embedded message failed validation", + cause: err, + }) + } + case interface{ Validate() error }: + if err := v.Validate(); err != nil { + errors = append(errors, ExpCaveatValidationError{ + field: fmt.Sprintf("Parameters[%v]", idx), + reason: "embedded message failed validation", + cause: err, + }) + } + } + } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { + if err := v.Validate(); err != nil { + return ExpCaveatValidationError{ + field: fmt.Sprintf("Parameters[%v]", idx), + reason: "embedded message failed validation", + cause: err, + } + } + } + + } + + // no validation rules for Expression + + if len(errors) > 0 { + return ExpCaveatMultiError(errors) + } + + return nil +} + +// ExpCaveatMultiError is an error wrapping multiple validation errors returned +// by ExpCaveat.ValidateAll() if the designated constraints aren't met. +type ExpCaveatMultiError []error + +// Error returns a concatenation of all the error messages it wraps. +func (m ExpCaveatMultiError) Error() string { + var msgs []string + for _, err := range m { + msgs = append(msgs, err.Error()) + } + return strings.Join(msgs, "; ") +} + +// AllErrors returns a list of validation violation errors. +func (m ExpCaveatMultiError) AllErrors() []error { return m } + +// ExpCaveatValidationError is the validation error returned by +// ExpCaveat.Validate if the designated constraints aren't met. +type ExpCaveatValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e ExpCaveatValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e ExpCaveatValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e ExpCaveatValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e ExpCaveatValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e ExpCaveatValidationError) ErrorName() string { return "ExpCaveatValidationError" } + +// Error satisfies the builtin error interface +func (e ExpCaveatValidationError) Error() string { + cause := "" + if e.cause != nil { + cause = fmt.Sprintf(" | caused by: %v", e.cause) + } + + key := "" + if e.key { + key = "key for " + } + + return fmt.Sprintf( + "invalid %sExpCaveat.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = ExpCaveatValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = ExpCaveatValidationError{} + +// Validate checks the field values on ExpCaveatParameter with the rules +// defined in the proto definition for this message. If any rules are +// violated, the first error encountered is returned, or nil if there are no violations. +func (m *ExpCaveatParameter) Validate() error { + return m.validate(false) +} + +// ValidateAll checks the field values on ExpCaveatParameter with the rules +// defined in the proto definition for this message. If any rules are +// violated, the result is a list of violation errors wrapped in +// ExpCaveatParameterMultiError, or nil if none found. +func (m *ExpCaveatParameter) ValidateAll() error { + return m.validate(true) +} + +func (m *ExpCaveatParameter) validate(all bool) error { + if m == nil { + return nil + } + + var errors []error + + // no validation rules for Name + + // no validation rules for Type + + // no validation rules for ParentCaveatName + + if len(errors) > 0 { + return ExpCaveatParameterMultiError(errors) + } + + return nil +} + +// ExpCaveatParameterMultiError is an error wrapping multiple validation errors +// returned by ExpCaveatParameter.ValidateAll() if the designated constraints +// aren't met. +type ExpCaveatParameterMultiError []error + +// Error returns a concatenation of all the error messages it wraps. +func (m ExpCaveatParameterMultiError) Error() string { + var msgs []string + for _, err := range m { + msgs = append(msgs, err.Error()) + } + return strings.Join(msgs, "; ") +} + +// AllErrors returns a list of validation violation errors. +func (m ExpCaveatParameterMultiError) AllErrors() []error { return m } + +// ExpCaveatParameterValidationError is the validation error returned by +// ExpCaveatParameter.Validate if the designated constraints aren't met. +type ExpCaveatParameterValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e ExpCaveatParameterValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e ExpCaveatParameterValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e ExpCaveatParameterValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e ExpCaveatParameterValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e ExpCaveatParameterValidationError) ErrorName() string { + return "ExpCaveatParameterValidationError" +} + +// Error satisfies the builtin error interface +func (e ExpCaveatParameterValidationError) Error() string { + cause := "" + if e.cause != nil { + cause = fmt.Sprintf(" | caused by: %v", e.cause) + } + + key := "" + if e.key { + key = "key for " + } + + return fmt.Sprintf( + "invalid %sExpCaveatParameter.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = ExpCaveatParameterValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = ExpCaveatParameterValidationError{} + +// Validate checks the field values on ExpRelation with the rules defined in +// the proto definition for this message. If any rules are violated, the first +// error encountered is returned, or nil if there are no violations. +func (m *ExpRelation) Validate() error { + return m.validate(false) +} + +// ValidateAll checks the field values on ExpRelation with the rules defined in +// the proto definition for this message. If any rules are violated, the +// result is a list of violation errors wrapped in ExpRelationMultiError, or +// nil if none found. +func (m *ExpRelation) ValidateAll() error { + return m.validate(true) +} + +func (m *ExpRelation) validate(all bool) error { + if m == nil { + return nil + } + + var errors []error + + // no validation rules for Name + + // no validation rules for Comment + + // no validation rules for ParentDefinitionName + + for idx, item := range m.GetSubjectTypes() { + _, _ = idx, item + + if all { + switch v := interface{}(item).(type) { + case interface{ ValidateAll() error }: + if err := v.ValidateAll(); err != nil { + errors = append(errors, ExpRelationValidationError{ + field: fmt.Sprintf("SubjectTypes[%v]", idx), + reason: "embedded message failed validation", + cause: err, + }) + } + case interface{ Validate() error }: + if err := v.Validate(); err != nil { + errors = append(errors, ExpRelationValidationError{ + field: fmt.Sprintf("SubjectTypes[%v]", idx), + reason: "embedded message failed validation", + cause: err, + }) + } + } + } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { + if err := v.Validate(); err != nil { + return ExpRelationValidationError{ + field: fmt.Sprintf("SubjectTypes[%v]", idx), + reason: "embedded message failed validation", + cause: err, + } + } + } + + } + + if len(errors) > 0 { + return ExpRelationMultiError(errors) + } + + return nil +} + +// ExpRelationMultiError is an error wrapping multiple validation errors +// returned by ExpRelation.ValidateAll() if the designated constraints aren't met. +type ExpRelationMultiError []error + +// Error returns a concatenation of all the error messages it wraps. +func (m ExpRelationMultiError) Error() string { + var msgs []string + for _, err := range m { + msgs = append(msgs, err.Error()) + } + return strings.Join(msgs, "; ") +} + +// AllErrors returns a list of validation violation errors. +func (m ExpRelationMultiError) AllErrors() []error { return m } + +// ExpRelationValidationError is the validation error returned by +// ExpRelation.Validate if the designated constraints aren't met. +type ExpRelationValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e ExpRelationValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e ExpRelationValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e ExpRelationValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e ExpRelationValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e ExpRelationValidationError) ErrorName() string { return "ExpRelationValidationError" } + +// Error satisfies the builtin error interface +func (e ExpRelationValidationError) Error() string { + cause := "" + if e.cause != nil { + cause = fmt.Sprintf(" | caused by: %v", e.cause) + } + + key := "" + if e.key { + key = "key for " + } + + return fmt.Sprintf( + "invalid %sExpRelation.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = ExpRelationValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = ExpRelationValidationError{} + +// Validate checks the field values on ExpTypeReference with the rules defined +// in the proto definition for this message. If any rules are violated, the +// first error encountered is returned, or nil if there are no violations. +func (m *ExpTypeReference) Validate() error { + return m.validate(false) +} + +// ValidateAll checks the field values on ExpTypeReference with the rules +// defined in the proto definition for this message. If any rules are +// violated, the result is a list of violation errors wrapped in +// ExpTypeReferenceMultiError, or nil if none found. +func (m *ExpTypeReference) ValidateAll() error { + return m.validate(true) +} + +func (m *ExpTypeReference) validate(all bool) error { + if m == nil { + return nil + } + + var errors []error + + // no validation rules for SubjectDefinitionName + + // no validation rules for OptionalCaveatName + + switch v := m.Typeref.(type) { + case *ExpTypeReference_IsTerminalSubject: + if v == nil { + err := ExpTypeReferenceValidationError{ + field: "Typeref", + reason: "oneof value cannot be a typed-nil", + } + if !all { + return err + } + errors = append(errors, err) + } + // no validation rules for IsTerminalSubject + case *ExpTypeReference_OptionalRelationName: + if v == nil { + err := ExpTypeReferenceValidationError{ + field: "Typeref", + reason: "oneof value cannot be a typed-nil", + } + if !all { + return err + } + errors = append(errors, err) + } + // no validation rules for OptionalRelationName + case *ExpTypeReference_IsPublicWildcard: + if v == nil { + err := ExpTypeReferenceValidationError{ + field: "Typeref", + reason: "oneof value cannot be a typed-nil", + } + if !all { + return err + } + errors = append(errors, err) + } + // no validation rules for IsPublicWildcard + default: + _ = v // ensures v is used + } + + if len(errors) > 0 { + return ExpTypeReferenceMultiError(errors) + } + + return nil +} + +// ExpTypeReferenceMultiError is an error wrapping multiple validation errors +// returned by ExpTypeReference.ValidateAll() if the designated constraints +// aren't met. +type ExpTypeReferenceMultiError []error + +// Error returns a concatenation of all the error messages it wraps. +func (m ExpTypeReferenceMultiError) Error() string { + var msgs []string + for _, err := range m { + msgs = append(msgs, err.Error()) + } + return strings.Join(msgs, "; ") +} + +// AllErrors returns a list of validation violation errors. +func (m ExpTypeReferenceMultiError) AllErrors() []error { return m } + +// ExpTypeReferenceValidationError is the validation error returned by +// ExpTypeReference.Validate if the designated constraints aren't met. +type ExpTypeReferenceValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e ExpTypeReferenceValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e ExpTypeReferenceValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e ExpTypeReferenceValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e ExpTypeReferenceValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e ExpTypeReferenceValidationError) ErrorName() string { return "ExpTypeReferenceValidationError" } + +// Error satisfies the builtin error interface +func (e ExpTypeReferenceValidationError) Error() string { + cause := "" + if e.cause != nil { + cause = fmt.Sprintf(" | caused by: %v", e.cause) + } + + key := "" + if e.key { + key = "key for " + } + + return fmt.Sprintf( + "invalid %sExpTypeReference.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = ExpTypeReferenceValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = ExpTypeReferenceValidationError{} + +// Validate checks the field values on ExpPermission with the rules defined in +// the proto definition for this message. If any rules are violated, the first +// error encountered is returned, or nil if there are no violations. +func (m *ExpPermission) Validate() error { + return m.validate(false) +} + +// ValidateAll checks the field values on ExpPermission with the rules defined +// in the proto definition for this message. If any rules are violated, the +// result is a list of violation errors wrapped in ExpPermissionMultiError, or +// nil if none found. +func (m *ExpPermission) ValidateAll() error { + return m.validate(true) +} + +func (m *ExpPermission) validate(all bool) error { + if m == nil { + return nil + } + + var errors []error + + // no validation rules for Name + + // no validation rules for Comment + + // no validation rules for ParentDefinitionName + + if len(errors) > 0 { + return ExpPermissionMultiError(errors) + } + + return nil +} + +// ExpPermissionMultiError is an error wrapping multiple validation errors +// returned by ExpPermission.ValidateAll() if the designated constraints +// aren't met. +type ExpPermissionMultiError []error + +// Error returns a concatenation of all the error messages it wraps. +func (m ExpPermissionMultiError) Error() string { + var msgs []string + for _, err := range m { + msgs = append(msgs, err.Error()) + } + return strings.Join(msgs, "; ") +} + +// AllErrors returns a list of validation violation errors. +func (m ExpPermissionMultiError) AllErrors() []error { return m } + +// ExpPermissionValidationError is the validation error returned by +// ExpPermission.Validate if the designated constraints aren't met. +type ExpPermissionValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e ExpPermissionValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e ExpPermissionValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e ExpPermissionValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e ExpPermissionValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e ExpPermissionValidationError) ErrorName() string { return "ExpPermissionValidationError" } + +// Error satisfies the builtin error interface +func (e ExpPermissionValidationError) Error() string { + cause := "" + if e.cause != nil { + cause = fmt.Sprintf(" | caused by: %v", e.cause) + } + + key := "" + if e.key { + key = "key for " + } + + return fmt.Sprintf( + "invalid %sExpPermission.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = ExpPermissionValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = ExpPermissionValidationError{} + +// Validate checks the field values on ExperimentalComputablePermissionsRequest +// with the rules defined in the proto definition for this message. If any +// rules are violated, the first error encountered is returned, or nil if +// there are no violations. +func (m *ExperimentalComputablePermissionsRequest) Validate() error { + return m.validate(false) +} + +// ValidateAll checks the field values on +// ExperimentalComputablePermissionsRequest with the rules defined in the +// proto definition for this message. If any rules are violated, the result is +// a list of violation errors wrapped in +// ExperimentalComputablePermissionsRequestMultiError, or nil if none found. +func (m *ExperimentalComputablePermissionsRequest) ValidateAll() error { + return m.validate(true) +} + +func (m *ExperimentalComputablePermissionsRequest) validate(all bool) error { + if m == nil { + return nil + } + + var errors []error + + if all { + switch v := interface{}(m.GetConsistency()).(type) { + case interface{ ValidateAll() error }: + if err := v.ValidateAll(); err != nil { + errors = append(errors, ExperimentalComputablePermissionsRequestValidationError{ + field: "Consistency", + reason: "embedded message failed validation", + cause: err, + }) + } + case interface{ Validate() error }: + if err := v.Validate(); err != nil { + errors = append(errors, ExperimentalComputablePermissionsRequestValidationError{ + field: "Consistency", + reason: "embedded message failed validation", + cause: err, + }) + } + } + } else if v, ok := interface{}(m.GetConsistency()).(interface{ Validate() error }); ok { + if err := v.Validate(); err != nil { + return ExperimentalComputablePermissionsRequestValidationError{ + field: "Consistency", + reason: "embedded message failed validation", + cause: err, + } + } + } + + for idx, item := range m.GetRelations() { + _, _ = idx, item + + if all { + switch v := interface{}(item).(type) { + case interface{ ValidateAll() error }: + if err := v.ValidateAll(); err != nil { + errors = append(errors, ExperimentalComputablePermissionsRequestValidationError{ + field: fmt.Sprintf("Relations[%v]", idx), + reason: "embedded message failed validation", + cause: err, + }) + } + case interface{ Validate() error }: + if err := v.Validate(); err != nil { + errors = append(errors, ExperimentalComputablePermissionsRequestValidationError{ + field: fmt.Sprintf("Relations[%v]", idx), + reason: "embedded message failed validation", + cause: err, + }) + } + } + } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { + if err := v.Validate(); err != nil { + return ExperimentalComputablePermissionsRequestValidationError{ + field: fmt.Sprintf("Relations[%v]", idx), + reason: "embedded message failed validation", + cause: err, + } + } + } + + } + + // no validation rules for OptionalDefinitionNameMatch + + if len(errors) > 0 { + return ExperimentalComputablePermissionsRequestMultiError(errors) + } + + return nil +} + +// ExperimentalComputablePermissionsRequestMultiError is an error wrapping +// multiple validation errors returned by +// ExperimentalComputablePermissionsRequest.ValidateAll() if the designated +// constraints aren't met. +type ExperimentalComputablePermissionsRequestMultiError []error + +// Error returns a concatenation of all the error messages it wraps. +func (m ExperimentalComputablePermissionsRequestMultiError) Error() string { + var msgs []string + for _, err := range m { + msgs = append(msgs, err.Error()) + } + return strings.Join(msgs, "; ") +} + +// AllErrors returns a list of validation violation errors. +func (m ExperimentalComputablePermissionsRequestMultiError) AllErrors() []error { return m } + +// ExperimentalComputablePermissionsRequestValidationError is the validation +// error returned by ExperimentalComputablePermissionsRequest.Validate if the +// designated constraints aren't met. +type ExperimentalComputablePermissionsRequestValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e ExperimentalComputablePermissionsRequestValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e ExperimentalComputablePermissionsRequestValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e ExperimentalComputablePermissionsRequestValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e ExperimentalComputablePermissionsRequestValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e ExperimentalComputablePermissionsRequestValidationError) ErrorName() string { + return "ExperimentalComputablePermissionsRequestValidationError" +} + +// Error satisfies the builtin error interface +func (e ExperimentalComputablePermissionsRequestValidationError) Error() string { + cause := "" + if e.cause != nil { + cause = fmt.Sprintf(" | caused by: %v", e.cause) + } + + key := "" + if e.key { + key = "key for " + } + + return fmt.Sprintf( + "invalid %sExperimentalComputablePermissionsRequest.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = ExperimentalComputablePermissionsRequestValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = ExperimentalComputablePermissionsRequestValidationError{} + +// Validate checks the field values on ExpRelationReference with the rules +// defined in the proto definition for this message. If any rules are +// violated, the first error encountered is returned, or nil if there are no violations. +func (m *ExpRelationReference) Validate() error { + return m.validate(false) +} + +// ValidateAll checks the field values on ExpRelationReference with the rules +// defined in the proto definition for this message. If any rules are +// violated, the result is a list of violation errors wrapped in +// ExpRelationReferenceMultiError, or nil if none found. +func (m *ExpRelationReference) ValidateAll() error { + return m.validate(true) +} + +func (m *ExpRelationReference) validate(all bool) error { + if m == nil { + return nil + } + + var errors []error + + // no validation rules for DefinitionName + + // no validation rules for RelationName + + if len(errors) > 0 { + return ExpRelationReferenceMultiError(errors) + } + + return nil +} + +// ExpRelationReferenceMultiError is an error wrapping multiple validation +// errors returned by ExpRelationReference.ValidateAll() if the designated +// constraints aren't met. +type ExpRelationReferenceMultiError []error + +// Error returns a concatenation of all the error messages it wraps. +func (m ExpRelationReferenceMultiError) Error() string { + var msgs []string + for _, err := range m { + msgs = append(msgs, err.Error()) + } + return strings.Join(msgs, "; ") +} + +// AllErrors returns a list of validation violation errors. +func (m ExpRelationReferenceMultiError) AllErrors() []error { return m } + +// ExpRelationReferenceValidationError is the validation error returned by +// ExpRelationReference.Validate if the designated constraints aren't met. +type ExpRelationReferenceValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e ExpRelationReferenceValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e ExpRelationReferenceValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e ExpRelationReferenceValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e ExpRelationReferenceValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e ExpRelationReferenceValidationError) ErrorName() string { + return "ExpRelationReferenceValidationError" +} + +// Error satisfies the builtin error interface +func (e ExpRelationReferenceValidationError) Error() string { + cause := "" + if e.cause != nil { + cause = fmt.Sprintf(" | caused by: %v", e.cause) + } + + key := "" + if e.key { + key = "key for " + } + + return fmt.Sprintf( + "invalid %sExpRelationReference.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = ExpRelationReferenceValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = ExpRelationReferenceValidationError{} + +// Validate checks the field values on ExpPermissionReference with the rules +// defined in the proto definition for this message. If any rules are +// violated, the first error encountered is returned, or nil if there are no violations. +func (m *ExpPermissionReference) Validate() error { + return m.validate(false) +} + +// ValidateAll checks the field values on ExpPermissionReference with the rules +// defined in the proto definition for this message. If any rules are +// violated, the result is a list of violation errors wrapped in +// ExpPermissionReferenceMultiError, or nil if none found. +func (m *ExpPermissionReference) ValidateAll() error { + return m.validate(true) +} + +func (m *ExpPermissionReference) validate(all bool) error { + if m == nil { + return nil + } + + var errors []error + + // no validation rules for DefinitionName + + // no validation rules for RelationName + + if len(errors) > 0 { + return ExpPermissionReferenceMultiError(errors) + } + + return nil +} + +// ExpPermissionReferenceMultiError is an error wrapping multiple validation +// errors returned by ExpPermissionReference.ValidateAll() if the designated +// constraints aren't met. +type ExpPermissionReferenceMultiError []error + +// Error returns a concatenation of all the error messages it wraps. +func (m ExpPermissionReferenceMultiError) Error() string { + var msgs []string + for _, err := range m { + msgs = append(msgs, err.Error()) + } + return strings.Join(msgs, "; ") +} + +// AllErrors returns a list of validation violation errors. +func (m ExpPermissionReferenceMultiError) AllErrors() []error { return m } + +// ExpPermissionReferenceValidationError is the validation error returned by +// ExpPermissionReference.Validate if the designated constraints aren't met. +type ExpPermissionReferenceValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e ExpPermissionReferenceValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e ExpPermissionReferenceValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e ExpPermissionReferenceValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e ExpPermissionReferenceValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e ExpPermissionReferenceValidationError) ErrorName() string { + return "ExpPermissionReferenceValidationError" +} + +// Error satisfies the builtin error interface +func (e ExpPermissionReferenceValidationError) Error() string { + cause := "" + if e.cause != nil { + cause = fmt.Sprintf(" | caused by: %v", e.cause) + } + + key := "" + if e.key { + key = "key for " + } + + return fmt.Sprintf( + "invalid %sExpPermissionReference.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = ExpPermissionReferenceValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = ExpPermissionReferenceValidationError{} + +// Validate checks the field values on +// ExperimentalComputablePermissionsResponse with the rules defined in the +// proto definition for this message. If any rules are violated, the first +// error encountered is returned, or nil if there are no violations. +func (m *ExperimentalComputablePermissionsResponse) Validate() error { + return m.validate(false) +} + +// ValidateAll checks the field values on +// ExperimentalComputablePermissionsResponse with the rules defined in the +// proto definition for this message. If any rules are violated, the result is +// a list of violation errors wrapped in +// ExperimentalComputablePermissionsResponseMultiError, or nil if none found. +func (m *ExperimentalComputablePermissionsResponse) ValidateAll() error { + return m.validate(true) +} + +func (m *ExperimentalComputablePermissionsResponse) validate(all bool) error { + if m == nil { + return nil + } + + var errors []error + + for idx, item := range m.GetPermissions() { + _, _ = idx, item + + if all { + switch v := interface{}(item).(type) { + case interface{ ValidateAll() error }: + if err := v.ValidateAll(); err != nil { + errors = append(errors, ExperimentalComputablePermissionsResponseValidationError{ + field: fmt.Sprintf("Permissions[%v]", idx), + reason: "embedded message failed validation", + cause: err, + }) + } + case interface{ Validate() error }: + if err := v.Validate(); err != nil { + errors = append(errors, ExperimentalComputablePermissionsResponseValidationError{ + field: fmt.Sprintf("Permissions[%v]", idx), + reason: "embedded message failed validation", + cause: err, + }) + } + } + } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { + if err := v.Validate(); err != nil { + return ExperimentalComputablePermissionsResponseValidationError{ + field: fmt.Sprintf("Permissions[%v]", idx), + reason: "embedded message failed validation", + cause: err, + } + } + } + + } + + if all { + switch v := interface{}(m.GetReadAt()).(type) { + case interface{ ValidateAll() error }: + if err := v.ValidateAll(); err != nil { + errors = append(errors, ExperimentalComputablePermissionsResponseValidationError{ + field: "ReadAt", + reason: "embedded message failed validation", + cause: err, + }) + } + case interface{ Validate() error }: + if err := v.Validate(); err != nil { + errors = append(errors, ExperimentalComputablePermissionsResponseValidationError{ + field: "ReadAt", + reason: "embedded message failed validation", + cause: err, + }) + } + } + } else if v, ok := interface{}(m.GetReadAt()).(interface{ Validate() error }); ok { + if err := v.Validate(); err != nil { + return ExperimentalComputablePermissionsResponseValidationError{ + field: "ReadAt", + reason: "embedded message failed validation", + cause: err, + } + } + } + + if len(errors) > 0 { + return ExperimentalComputablePermissionsResponseMultiError(errors) + } + + return nil +} + +// ExperimentalComputablePermissionsResponseMultiError is an error wrapping +// multiple validation errors returned by +// ExperimentalComputablePermissionsResponse.ValidateAll() if the designated +// constraints aren't met. +type ExperimentalComputablePermissionsResponseMultiError []error + +// Error returns a concatenation of all the error messages it wraps. +func (m ExperimentalComputablePermissionsResponseMultiError) Error() string { + var msgs []string + for _, err := range m { + msgs = append(msgs, err.Error()) + } + return strings.Join(msgs, "; ") +} + +// AllErrors returns a list of validation violation errors. +func (m ExperimentalComputablePermissionsResponseMultiError) AllErrors() []error { return m } + +// ExperimentalComputablePermissionsResponseValidationError is the validation +// error returned by ExperimentalComputablePermissionsResponse.Validate if the +// designated constraints aren't met. +type ExperimentalComputablePermissionsResponseValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e ExperimentalComputablePermissionsResponseValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e ExperimentalComputablePermissionsResponseValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e ExperimentalComputablePermissionsResponseValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e ExperimentalComputablePermissionsResponseValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e ExperimentalComputablePermissionsResponseValidationError) ErrorName() string { + return "ExperimentalComputablePermissionsResponseValidationError" +} + +// Error satisfies the builtin error interface +func (e ExperimentalComputablePermissionsResponseValidationError) Error() string { + cause := "" + if e.cause != nil { + cause = fmt.Sprintf(" | caused by: %v", e.cause) + } + + key := "" + if e.key { + key = "key for " + } + + return fmt.Sprintf( + "invalid %sExperimentalComputablePermissionsResponse.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = ExperimentalComputablePermissionsResponseValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = ExperimentalComputablePermissionsResponseValidationError{} + +// Validate checks the field values on ExperimentalDependentRelationsRequest +// with the rules defined in the proto definition for this message. If any +// rules are violated, the first error encountered is returned, or nil if +// there are no violations. +func (m *ExperimentalDependentRelationsRequest) Validate() error { + return m.validate(false) +} + +// ValidateAll checks the field values on ExperimentalDependentRelationsRequest +// with the rules defined in the proto definition for this message. If any +// rules are violated, the result is a list of violation errors wrapped in +// ExperimentalDependentRelationsRequestMultiError, or nil if none found. +func (m *ExperimentalDependentRelationsRequest) ValidateAll() error { + return m.validate(true) +} + +func (m *ExperimentalDependentRelationsRequest) validate(all bool) error { + if m == nil { + return nil + } + + var errors []error + + if all { + switch v := interface{}(m.GetConsistency()).(type) { + case interface{ ValidateAll() error }: + if err := v.ValidateAll(); err != nil { + errors = append(errors, ExperimentalDependentRelationsRequestValidationError{ + field: "Consistency", + reason: "embedded message failed validation", + cause: err, + }) + } + case interface{ Validate() error }: + if err := v.Validate(); err != nil { + errors = append(errors, ExperimentalDependentRelationsRequestValidationError{ + field: "Consistency", + reason: "embedded message failed validation", + cause: err, + }) + } + } + } else if v, ok := interface{}(m.GetConsistency()).(interface{ Validate() error }); ok { + if err := v.Validate(); err != nil { + return ExperimentalDependentRelationsRequestValidationError{ + field: "Consistency", + reason: "embedded message failed validation", + cause: err, + } + } + } + + if all { + switch v := interface{}(m.GetPermission()).(type) { + case interface{ ValidateAll() error }: + if err := v.ValidateAll(); err != nil { + errors = append(errors, ExperimentalDependentRelationsRequestValidationError{ + field: "Permission", + reason: "embedded message failed validation", + cause: err, + }) + } + case interface{ Validate() error }: + if err := v.Validate(); err != nil { + errors = append(errors, ExperimentalDependentRelationsRequestValidationError{ + field: "Permission", + reason: "embedded message failed validation", + cause: err, + }) + } + } + } else if v, ok := interface{}(m.GetPermission()).(interface{ Validate() error }); ok { + if err := v.Validate(); err != nil { + return ExperimentalDependentRelationsRequestValidationError{ + field: "Permission", + reason: "embedded message failed validation", + cause: err, + } + } + } + + if len(errors) > 0 { + return ExperimentalDependentRelationsRequestMultiError(errors) + } + + return nil +} + +// ExperimentalDependentRelationsRequestMultiError is an error wrapping +// multiple validation errors returned by +// ExperimentalDependentRelationsRequest.ValidateAll() if the designated +// constraints aren't met. +type ExperimentalDependentRelationsRequestMultiError []error + +// Error returns a concatenation of all the error messages it wraps. +func (m ExperimentalDependentRelationsRequestMultiError) Error() string { + var msgs []string + for _, err := range m { + msgs = append(msgs, err.Error()) + } + return strings.Join(msgs, "; ") +} + +// AllErrors returns a list of validation violation errors. +func (m ExperimentalDependentRelationsRequestMultiError) AllErrors() []error { return m } + +// ExperimentalDependentRelationsRequestValidationError is the validation error +// returned by ExperimentalDependentRelationsRequest.Validate if the +// designated constraints aren't met. +type ExperimentalDependentRelationsRequestValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e ExperimentalDependentRelationsRequestValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e ExperimentalDependentRelationsRequestValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e ExperimentalDependentRelationsRequestValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e ExperimentalDependentRelationsRequestValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e ExperimentalDependentRelationsRequestValidationError) ErrorName() string { + return "ExperimentalDependentRelationsRequestValidationError" +} + +// Error satisfies the builtin error interface +func (e ExperimentalDependentRelationsRequestValidationError) Error() string { + cause := "" + if e.cause != nil { + cause = fmt.Sprintf(" | caused by: %v", e.cause) + } + + key := "" + if e.key { + key = "key for " + } + + return fmt.Sprintf( + "invalid %sExperimentalDependentRelationsRequest.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = ExperimentalDependentRelationsRequestValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = ExperimentalDependentRelationsRequestValidationError{} + +// Validate checks the field values on ExperimentalDependentRelationsResponse +// with the rules defined in the proto definition for this message. If any +// rules are violated, the first error encountered is returned, or nil if +// there are no violations. +func (m *ExperimentalDependentRelationsResponse) Validate() error { + return m.validate(false) +} + +// ValidateAll checks the field values on +// ExperimentalDependentRelationsResponse with the rules defined in the proto +// definition for this message. If any rules are violated, the result is a +// list of violation errors wrapped in +// ExperimentalDependentRelationsResponseMultiError, or nil if none found. +func (m *ExperimentalDependentRelationsResponse) ValidateAll() error { + return m.validate(true) +} + +func (m *ExperimentalDependentRelationsResponse) validate(all bool) error { + if m == nil { + return nil + } + + var errors []error + + for idx, item := range m.GetRelations() { + _, _ = idx, item + + if all { + switch v := interface{}(item).(type) { + case interface{ ValidateAll() error }: + if err := v.ValidateAll(); err != nil { + errors = append(errors, ExperimentalDependentRelationsResponseValidationError{ + field: fmt.Sprintf("Relations[%v]", idx), + reason: "embedded message failed validation", + cause: err, + }) + } + case interface{ Validate() error }: + if err := v.Validate(); err != nil { + errors = append(errors, ExperimentalDependentRelationsResponseValidationError{ + field: fmt.Sprintf("Relations[%v]", idx), + reason: "embedded message failed validation", + cause: err, + }) + } + } + } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { + if err := v.Validate(); err != nil { + return ExperimentalDependentRelationsResponseValidationError{ + field: fmt.Sprintf("Relations[%v]", idx), + reason: "embedded message failed validation", + cause: err, + } + } + } + + } + + if all { + switch v := interface{}(m.GetReadAt()).(type) { + case interface{ ValidateAll() error }: + if err := v.ValidateAll(); err != nil { + errors = append(errors, ExperimentalDependentRelationsResponseValidationError{ + field: "ReadAt", + reason: "embedded message failed validation", + cause: err, + }) + } + case interface{ Validate() error }: + if err := v.Validate(); err != nil { + errors = append(errors, ExperimentalDependentRelationsResponseValidationError{ + field: "ReadAt", + reason: "embedded message failed validation", + cause: err, + }) + } + } + } else if v, ok := interface{}(m.GetReadAt()).(interface{ Validate() error }); ok { + if err := v.Validate(); err != nil { + return ExperimentalDependentRelationsResponseValidationError{ + field: "ReadAt", + reason: "embedded message failed validation", + cause: err, + } + } + } + + if len(errors) > 0 { + return ExperimentalDependentRelationsResponseMultiError(errors) + } + + return nil +} + +// ExperimentalDependentRelationsResponseMultiError is an error wrapping +// multiple validation errors returned by +// ExperimentalDependentRelationsResponse.ValidateAll() if the designated +// constraints aren't met. +type ExperimentalDependentRelationsResponseMultiError []error + +// Error returns a concatenation of all the error messages it wraps. +func (m ExperimentalDependentRelationsResponseMultiError) Error() string { + var msgs []string + for _, err := range m { + msgs = append(msgs, err.Error()) + } + return strings.Join(msgs, "; ") +} + +// AllErrors returns a list of validation violation errors. +func (m ExperimentalDependentRelationsResponseMultiError) AllErrors() []error { return m } + +// ExperimentalDependentRelationsResponseValidationError is the validation +// error returned by ExperimentalDependentRelationsResponse.Validate if the +// designated constraints aren't met. +type ExperimentalDependentRelationsResponseValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e ExperimentalDependentRelationsResponseValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e ExperimentalDependentRelationsResponseValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e ExperimentalDependentRelationsResponseValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e ExperimentalDependentRelationsResponseValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e ExperimentalDependentRelationsResponseValidationError) ErrorName() string { + return "ExperimentalDependentRelationsResponseValidationError" +} + +// Error satisfies the builtin error interface +func (e ExperimentalDependentRelationsResponseValidationError) Error() string { + cause := "" + if e.cause != nil { + cause = fmt.Sprintf(" | caused by: %v", e.cause) + } + + key := "" + if e.key { + key = "key for " + } + + return fmt.Sprintf( + "invalid %sExperimentalDependentRelationsResponse.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = ExperimentalDependentRelationsResponseValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = ExperimentalDependentRelationsResponseValidationError{} + +// Validate checks the field values on ExperimentalSchemaDiffRequest with the +// rules defined in the proto definition for this message. If any rules are +// violated, the first error encountered is returned, or nil if there are no violations. +func (m *ExperimentalSchemaDiffRequest) Validate() error { + return m.validate(false) +} + +// ValidateAll checks the field values on ExperimentalSchemaDiffRequest with +// the rules defined in the proto definition for this message. If any rules +// are violated, the result is a list of violation errors wrapped in +// ExperimentalSchemaDiffRequestMultiError, or nil if none found. +func (m *ExperimentalSchemaDiffRequest) ValidateAll() error { + return m.validate(true) +} + +func (m *ExperimentalSchemaDiffRequest) validate(all bool) error { + if m == nil { + return nil + } + + var errors []error + + if all { + switch v := interface{}(m.GetConsistency()).(type) { + case interface{ ValidateAll() error }: + if err := v.ValidateAll(); err != nil { + errors = append(errors, ExperimentalSchemaDiffRequestValidationError{ + field: "Consistency", + reason: "embedded message failed validation", + cause: err, + }) + } + case interface{ Validate() error }: + if err := v.Validate(); err != nil { + errors = append(errors, ExperimentalSchemaDiffRequestValidationError{ + field: "Consistency", + reason: "embedded message failed validation", + cause: err, + }) + } + } + } else if v, ok := interface{}(m.GetConsistency()).(interface{ Validate() error }); ok { + if err := v.Validate(); err != nil { + return ExperimentalSchemaDiffRequestValidationError{ + field: "Consistency", + reason: "embedded message failed validation", + cause: err, + } + } + } + + // no validation rules for ComparisonSchema + + if len(errors) > 0 { + return ExperimentalSchemaDiffRequestMultiError(errors) + } + + return nil +} + +// ExperimentalSchemaDiffRequestMultiError is an error wrapping multiple +// validation errors returned by ExperimentalSchemaDiffRequest.ValidateAll() +// if the designated constraints aren't met. +type ExperimentalSchemaDiffRequestMultiError []error + +// Error returns a concatenation of all the error messages it wraps. +func (m ExperimentalSchemaDiffRequestMultiError) Error() string { + var msgs []string + for _, err := range m { + msgs = append(msgs, err.Error()) + } + return strings.Join(msgs, "; ") +} + +// AllErrors returns a list of validation violation errors. +func (m ExperimentalSchemaDiffRequestMultiError) AllErrors() []error { return m } + +// ExperimentalSchemaDiffRequestValidationError is the validation error +// returned by ExperimentalSchemaDiffRequest.Validate if the designated +// constraints aren't met. +type ExperimentalSchemaDiffRequestValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e ExperimentalSchemaDiffRequestValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e ExperimentalSchemaDiffRequestValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e ExperimentalSchemaDiffRequestValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e ExperimentalSchemaDiffRequestValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e ExperimentalSchemaDiffRequestValidationError) ErrorName() string { + return "ExperimentalSchemaDiffRequestValidationError" +} + +// Error satisfies the builtin error interface +func (e ExperimentalSchemaDiffRequestValidationError) Error() string { + cause := "" + if e.cause != nil { + cause = fmt.Sprintf(" | caused by: %v", e.cause) + } + + key := "" + if e.key { + key = "key for " + } + + return fmt.Sprintf( + "invalid %sExperimentalSchemaDiffRequest.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = ExperimentalSchemaDiffRequestValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = ExperimentalSchemaDiffRequestValidationError{} + +// Validate checks the field values on ExperimentalSchemaDiffResponse with the +// rules defined in the proto definition for this message. If any rules are +// violated, the first error encountered is returned, or nil if there are no violations. +func (m *ExperimentalSchemaDiffResponse) Validate() error { + return m.validate(false) +} + +// ValidateAll checks the field values on ExperimentalSchemaDiffResponse with +// the rules defined in the proto definition for this message. If any rules +// are violated, the result is a list of violation errors wrapped in +// ExperimentalSchemaDiffResponseMultiError, or nil if none found. +func (m *ExperimentalSchemaDiffResponse) ValidateAll() error { + return m.validate(true) +} + +func (m *ExperimentalSchemaDiffResponse) validate(all bool) error { + if m == nil { + return nil + } + + var errors []error + + for idx, item := range m.GetDiffs() { + _, _ = idx, item + + if all { + switch v := interface{}(item).(type) { + case interface{ ValidateAll() error }: + if err := v.ValidateAll(); err != nil { + errors = append(errors, ExperimentalSchemaDiffResponseValidationError{ + field: fmt.Sprintf("Diffs[%v]", idx), + reason: "embedded message failed validation", + cause: err, + }) + } + case interface{ Validate() error }: + if err := v.Validate(); err != nil { + errors = append(errors, ExperimentalSchemaDiffResponseValidationError{ + field: fmt.Sprintf("Diffs[%v]", idx), + reason: "embedded message failed validation", + cause: err, + }) + } + } + } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { + if err := v.Validate(); err != nil { + return ExperimentalSchemaDiffResponseValidationError{ + field: fmt.Sprintf("Diffs[%v]", idx), + reason: "embedded message failed validation", + cause: err, + } + } + } + + } + + if all { + switch v := interface{}(m.GetReadAt()).(type) { + case interface{ ValidateAll() error }: + if err := v.ValidateAll(); err != nil { + errors = append(errors, ExperimentalSchemaDiffResponseValidationError{ + field: "ReadAt", + reason: "embedded message failed validation", + cause: err, + }) + } + case interface{ Validate() error }: + if err := v.Validate(); err != nil { + errors = append(errors, ExperimentalSchemaDiffResponseValidationError{ + field: "ReadAt", + reason: "embedded message failed validation", + cause: err, + }) + } + } + } else if v, ok := interface{}(m.GetReadAt()).(interface{ Validate() error }); ok { + if err := v.Validate(); err != nil { + return ExperimentalSchemaDiffResponseValidationError{ + field: "ReadAt", + reason: "embedded message failed validation", + cause: err, + } + } + } + + if len(errors) > 0 { + return ExperimentalSchemaDiffResponseMultiError(errors) + } + + return nil +} + +// ExperimentalSchemaDiffResponseMultiError is an error wrapping multiple +// validation errors returned by ExperimentalSchemaDiffResponse.ValidateAll() +// if the designated constraints aren't met. +type ExperimentalSchemaDiffResponseMultiError []error + +// Error returns a concatenation of all the error messages it wraps. +func (m ExperimentalSchemaDiffResponseMultiError) Error() string { + var msgs []string + for _, err := range m { + msgs = append(msgs, err.Error()) + } + return strings.Join(msgs, "; ") +} + +// AllErrors returns a list of validation violation errors. +func (m ExperimentalSchemaDiffResponseMultiError) AllErrors() []error { return m } + +// ExperimentalSchemaDiffResponseValidationError is the validation error +// returned by ExperimentalSchemaDiffResponse.Validate if the designated +// constraints aren't met. +type ExperimentalSchemaDiffResponseValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e ExperimentalSchemaDiffResponseValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e ExperimentalSchemaDiffResponseValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e ExperimentalSchemaDiffResponseValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e ExperimentalSchemaDiffResponseValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e ExperimentalSchemaDiffResponseValidationError) ErrorName() string { + return "ExperimentalSchemaDiffResponseValidationError" +} + +// Error satisfies the builtin error interface +func (e ExperimentalSchemaDiffResponseValidationError) Error() string { + cause := "" + if e.cause != nil { + cause = fmt.Sprintf(" | caused by: %v", e.cause) + } + + key := "" + if e.key { + key = "key for " + } + + return fmt.Sprintf( + "invalid %sExperimentalSchemaDiffResponse.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = ExperimentalSchemaDiffResponseValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = ExperimentalSchemaDiffResponseValidationError{} + +// Validate checks the field values on ExpSchemaDiff with the rules defined in +// the proto definition for this message. If any rules are violated, the first +// error encountered is returned, or nil if there are no violations. +func (m *ExpSchemaDiff) Validate() error { + return m.validate(false) +} + +// ValidateAll checks the field values on ExpSchemaDiff with the rules defined +// in the proto definition for this message. If any rules are violated, the +// result is a list of violation errors wrapped in ExpSchemaDiffMultiError, or +// nil if none found. +func (m *ExpSchemaDiff) ValidateAll() error { + return m.validate(true) +} + +func (m *ExpSchemaDiff) validate(all bool) error { + if m == nil { + return nil + } + + var errors []error + + switch v := m.Diff.(type) { + case *ExpSchemaDiff_DefinitionAdded: + if v == nil { + err := ExpSchemaDiffValidationError{ + field: "Diff", + reason: "oneof value cannot be a typed-nil", + } + if !all { + return err + } + errors = append(errors, err) + } + + if all { + switch v := interface{}(m.GetDefinitionAdded()).(type) { + case interface{ ValidateAll() error }: + if err := v.ValidateAll(); err != nil { + errors = append(errors, ExpSchemaDiffValidationError{ + field: "DefinitionAdded", + reason: "embedded message failed validation", + cause: err, + }) + } + case interface{ Validate() error }: + if err := v.Validate(); err != nil { + errors = append(errors, ExpSchemaDiffValidationError{ + field: "DefinitionAdded", + reason: "embedded message failed validation", + cause: err, + }) + } + } + } else if v, ok := interface{}(m.GetDefinitionAdded()).(interface{ Validate() error }); ok { + if err := v.Validate(); err != nil { + return ExpSchemaDiffValidationError{ + field: "DefinitionAdded", + reason: "embedded message failed validation", + cause: err, + } + } + } + + case *ExpSchemaDiff_DefinitionRemoved: + if v == nil { + err := ExpSchemaDiffValidationError{ + field: "Diff", + reason: "oneof value cannot be a typed-nil", + } + if !all { + return err + } + errors = append(errors, err) + } + + if all { + switch v := interface{}(m.GetDefinitionRemoved()).(type) { + case interface{ ValidateAll() error }: + if err := v.ValidateAll(); err != nil { + errors = append(errors, ExpSchemaDiffValidationError{ + field: "DefinitionRemoved", + reason: "embedded message failed validation", + cause: err, + }) + } + case interface{ Validate() error }: + if err := v.Validate(); err != nil { + errors = append(errors, ExpSchemaDiffValidationError{ + field: "DefinitionRemoved", + reason: "embedded message failed validation", + cause: err, + }) + } + } + } else if v, ok := interface{}(m.GetDefinitionRemoved()).(interface{ Validate() error }); ok { + if err := v.Validate(); err != nil { + return ExpSchemaDiffValidationError{ + field: "DefinitionRemoved", + reason: "embedded message failed validation", + cause: err, + } + } + } + + case *ExpSchemaDiff_DefinitionDocCommentChanged: + if v == nil { + err := ExpSchemaDiffValidationError{ + field: "Diff", + reason: "oneof value cannot be a typed-nil", + } + if !all { + return err + } + errors = append(errors, err) + } + + if all { + switch v := interface{}(m.GetDefinitionDocCommentChanged()).(type) { + case interface{ ValidateAll() error }: + if err := v.ValidateAll(); err != nil { + errors = append(errors, ExpSchemaDiffValidationError{ + field: "DefinitionDocCommentChanged", + reason: "embedded message failed validation", + cause: err, + }) + } + case interface{ Validate() error }: + if err := v.Validate(); err != nil { + errors = append(errors, ExpSchemaDiffValidationError{ + field: "DefinitionDocCommentChanged", + reason: "embedded message failed validation", + cause: err, + }) + } + } + } else if v, ok := interface{}(m.GetDefinitionDocCommentChanged()).(interface{ Validate() error }); ok { + if err := v.Validate(); err != nil { + return ExpSchemaDiffValidationError{ + field: "DefinitionDocCommentChanged", + reason: "embedded message failed validation", + cause: err, + } + } + } + + case *ExpSchemaDiff_RelationAdded: + if v == nil { + err := ExpSchemaDiffValidationError{ + field: "Diff", + reason: "oneof value cannot be a typed-nil", + } + if !all { + return err + } + errors = append(errors, err) + } + + if all { + switch v := interface{}(m.GetRelationAdded()).(type) { + case interface{ ValidateAll() error }: + if err := v.ValidateAll(); err != nil { + errors = append(errors, ExpSchemaDiffValidationError{ + field: "RelationAdded", + reason: "embedded message failed validation", + cause: err, + }) + } + case interface{ Validate() error }: + if err := v.Validate(); err != nil { + errors = append(errors, ExpSchemaDiffValidationError{ + field: "RelationAdded", + reason: "embedded message failed validation", + cause: err, + }) + } + } + } else if v, ok := interface{}(m.GetRelationAdded()).(interface{ Validate() error }); ok { + if err := v.Validate(); err != nil { + return ExpSchemaDiffValidationError{ + field: "RelationAdded", + reason: "embedded message failed validation", + cause: err, + } + } + } + + case *ExpSchemaDiff_RelationRemoved: + if v == nil { + err := ExpSchemaDiffValidationError{ + field: "Diff", + reason: "oneof value cannot be a typed-nil", + } + if !all { + return err + } + errors = append(errors, err) + } + + if all { + switch v := interface{}(m.GetRelationRemoved()).(type) { + case interface{ ValidateAll() error }: + if err := v.ValidateAll(); err != nil { + errors = append(errors, ExpSchemaDiffValidationError{ + field: "RelationRemoved", + reason: "embedded message failed validation", + cause: err, + }) + } + case interface{ Validate() error }: + if err := v.Validate(); err != nil { + errors = append(errors, ExpSchemaDiffValidationError{ + field: "RelationRemoved", + reason: "embedded message failed validation", + cause: err, + }) + } + } + } else if v, ok := interface{}(m.GetRelationRemoved()).(interface{ Validate() error }); ok { + if err := v.Validate(); err != nil { + return ExpSchemaDiffValidationError{ + field: "RelationRemoved", + reason: "embedded message failed validation", + cause: err, + } + } + } + + case *ExpSchemaDiff_RelationDocCommentChanged: + if v == nil { + err := ExpSchemaDiffValidationError{ + field: "Diff", + reason: "oneof value cannot be a typed-nil", + } + if !all { + return err + } + errors = append(errors, err) + } + + if all { + switch v := interface{}(m.GetRelationDocCommentChanged()).(type) { + case interface{ ValidateAll() error }: + if err := v.ValidateAll(); err != nil { + errors = append(errors, ExpSchemaDiffValidationError{ + field: "RelationDocCommentChanged", + reason: "embedded message failed validation", + cause: err, + }) + } + case interface{ Validate() error }: + if err := v.Validate(); err != nil { + errors = append(errors, ExpSchemaDiffValidationError{ + field: "RelationDocCommentChanged", + reason: "embedded message failed validation", + cause: err, + }) + } + } + } else if v, ok := interface{}(m.GetRelationDocCommentChanged()).(interface{ Validate() error }); ok { + if err := v.Validate(); err != nil { + return ExpSchemaDiffValidationError{ + field: "RelationDocCommentChanged", + reason: "embedded message failed validation", + cause: err, + } + } + } + + case *ExpSchemaDiff_RelationTypeChanged: + if v == nil { + err := ExpSchemaDiffValidationError{ + field: "Diff", + reason: "oneof value cannot be a typed-nil", + } + if !all { + return err + } + errors = append(errors, err) + } + + if all { + switch v := interface{}(m.GetRelationTypeChanged()).(type) { + case interface{ ValidateAll() error }: + if err := v.ValidateAll(); err != nil { + errors = append(errors, ExpSchemaDiffValidationError{ + field: "RelationTypeChanged", + reason: "embedded message failed validation", + cause: err, + }) + } + case interface{ Validate() error }: + if err := v.Validate(); err != nil { + errors = append(errors, ExpSchemaDiffValidationError{ + field: "RelationTypeChanged", + reason: "embedded message failed validation", + cause: err, + }) + } + } + } else if v, ok := interface{}(m.GetRelationTypeChanged()).(interface{ Validate() error }); ok { + if err := v.Validate(); err != nil { + return ExpSchemaDiffValidationError{ + field: "RelationTypeChanged", + reason: "embedded message failed validation", + cause: err, + } + } + } + + case *ExpSchemaDiff_PermissionAdded: + if v == nil { + err := ExpSchemaDiffValidationError{ + field: "Diff", + reason: "oneof value cannot be a typed-nil", + } + if !all { + return err + } + errors = append(errors, err) + } + + if all { + switch v := interface{}(m.GetPermissionAdded()).(type) { + case interface{ ValidateAll() error }: + if err := v.ValidateAll(); err != nil { + errors = append(errors, ExpSchemaDiffValidationError{ + field: "PermissionAdded", + reason: "embedded message failed validation", + cause: err, + }) + } + case interface{ Validate() error }: + if err := v.Validate(); err != nil { + errors = append(errors, ExpSchemaDiffValidationError{ + field: "PermissionAdded", + reason: "embedded message failed validation", + cause: err, + }) + } + } + } else if v, ok := interface{}(m.GetPermissionAdded()).(interface{ Validate() error }); ok { + if err := v.Validate(); err != nil { + return ExpSchemaDiffValidationError{ + field: "PermissionAdded", + reason: "embedded message failed validation", + cause: err, + } + } + } + + case *ExpSchemaDiff_PermissionRemoved: + if v == nil { + err := ExpSchemaDiffValidationError{ + field: "Diff", + reason: "oneof value cannot be a typed-nil", + } + if !all { + return err + } + errors = append(errors, err) + } + + if all { + switch v := interface{}(m.GetPermissionRemoved()).(type) { + case interface{ ValidateAll() error }: + if err := v.ValidateAll(); err != nil { + errors = append(errors, ExpSchemaDiffValidationError{ + field: "PermissionRemoved", + reason: "embedded message failed validation", + cause: err, + }) + } + case interface{ Validate() error }: + if err := v.Validate(); err != nil { + errors = append(errors, ExpSchemaDiffValidationError{ + field: "PermissionRemoved", + reason: "embedded message failed validation", + cause: err, + }) + } + } + } else if v, ok := interface{}(m.GetPermissionRemoved()).(interface{ Validate() error }); ok { + if err := v.Validate(); err != nil { + return ExpSchemaDiffValidationError{ + field: "PermissionRemoved", + reason: "embedded message failed validation", + cause: err, + } + } + } + + case *ExpSchemaDiff_PermissionDocCommentChanged: + if v == nil { + err := ExpSchemaDiffValidationError{ + field: "Diff", + reason: "oneof value cannot be a typed-nil", + } + if !all { + return err + } + errors = append(errors, err) + } + + if all { + switch v := interface{}(m.GetPermissionDocCommentChanged()).(type) { + case interface{ ValidateAll() error }: + if err := v.ValidateAll(); err != nil { + errors = append(errors, ExpSchemaDiffValidationError{ + field: "PermissionDocCommentChanged", + reason: "embedded message failed validation", + cause: err, + }) + } + case interface{ Validate() error }: + if err := v.Validate(); err != nil { + errors = append(errors, ExpSchemaDiffValidationError{ + field: "PermissionDocCommentChanged", + reason: "embedded message failed validation", + cause: err, + }) + } + } + } else if v, ok := interface{}(m.GetPermissionDocCommentChanged()).(interface{ Validate() error }); ok { + if err := v.Validate(); err != nil { + return ExpSchemaDiffValidationError{ + field: "PermissionDocCommentChanged", + reason: "embedded message failed validation", + cause: err, + } + } + } + + case *ExpSchemaDiff_PermissionExprChanged: + if v == nil { + err := ExpSchemaDiffValidationError{ + field: "Diff", + reason: "oneof value cannot be a typed-nil", + } + if !all { + return err + } + errors = append(errors, err) + } + + if all { + switch v := interface{}(m.GetPermissionExprChanged()).(type) { + case interface{ ValidateAll() error }: + if err := v.ValidateAll(); err != nil { + errors = append(errors, ExpSchemaDiffValidationError{ + field: "PermissionExprChanged", + reason: "embedded message failed validation", + cause: err, + }) + } + case interface{ Validate() error }: + if err := v.Validate(); err != nil { + errors = append(errors, ExpSchemaDiffValidationError{ + field: "PermissionExprChanged", + reason: "embedded message failed validation", + cause: err, + }) + } + } + } else if v, ok := interface{}(m.GetPermissionExprChanged()).(interface{ Validate() error }); ok { + if err := v.Validate(); err != nil { + return ExpSchemaDiffValidationError{ + field: "PermissionExprChanged", + reason: "embedded message failed validation", + cause: err, + } + } + } + + case *ExpSchemaDiff_CaveatAdded: + if v == nil { + err := ExpSchemaDiffValidationError{ + field: "Diff", + reason: "oneof value cannot be a typed-nil", + } + if !all { + return err + } + errors = append(errors, err) + } + + if all { + switch v := interface{}(m.GetCaveatAdded()).(type) { + case interface{ ValidateAll() error }: + if err := v.ValidateAll(); err != nil { + errors = append(errors, ExpSchemaDiffValidationError{ + field: "CaveatAdded", + reason: "embedded message failed validation", + cause: err, + }) + } + case interface{ Validate() error }: + if err := v.Validate(); err != nil { + errors = append(errors, ExpSchemaDiffValidationError{ + field: "CaveatAdded", + reason: "embedded message failed validation", + cause: err, + }) + } + } + } else if v, ok := interface{}(m.GetCaveatAdded()).(interface{ Validate() error }); ok { + if err := v.Validate(); err != nil { + return ExpSchemaDiffValidationError{ + field: "CaveatAdded", + reason: "embedded message failed validation", + cause: err, + } + } + } + + case *ExpSchemaDiff_CaveatRemoved: + if v == nil { + err := ExpSchemaDiffValidationError{ + field: "Diff", + reason: "oneof value cannot be a typed-nil", + } + if !all { + return err + } + errors = append(errors, err) + } + + if all { + switch v := interface{}(m.GetCaveatRemoved()).(type) { + case interface{ ValidateAll() error }: + if err := v.ValidateAll(); err != nil { + errors = append(errors, ExpSchemaDiffValidationError{ + field: "CaveatRemoved", + reason: "embedded message failed validation", + cause: err, + }) + } + case interface{ Validate() error }: + if err := v.Validate(); err != nil { + errors = append(errors, ExpSchemaDiffValidationError{ + field: "CaveatRemoved", + reason: "embedded message failed validation", + cause: err, + }) + } + } + } else if v, ok := interface{}(m.GetCaveatRemoved()).(interface{ Validate() error }); ok { + if err := v.Validate(); err != nil { + return ExpSchemaDiffValidationError{ + field: "CaveatRemoved", + reason: "embedded message failed validation", + cause: err, + } + } + } + + case *ExpSchemaDiff_CaveatDocCommentChanged: + if v == nil { + err := ExpSchemaDiffValidationError{ + field: "Diff", + reason: "oneof value cannot be a typed-nil", + } + if !all { + return err + } + errors = append(errors, err) + } + + if all { + switch v := interface{}(m.GetCaveatDocCommentChanged()).(type) { + case interface{ ValidateAll() error }: + if err := v.ValidateAll(); err != nil { + errors = append(errors, ExpSchemaDiffValidationError{ + field: "CaveatDocCommentChanged", + reason: "embedded message failed validation", + cause: err, + }) + } + case interface{ Validate() error }: + if err := v.Validate(); err != nil { + errors = append(errors, ExpSchemaDiffValidationError{ + field: "CaveatDocCommentChanged", + reason: "embedded message failed validation", + cause: err, + }) + } + } + } else if v, ok := interface{}(m.GetCaveatDocCommentChanged()).(interface{ Validate() error }); ok { + if err := v.Validate(); err != nil { + return ExpSchemaDiffValidationError{ + field: "CaveatDocCommentChanged", + reason: "embedded message failed validation", + cause: err, + } + } + } + + case *ExpSchemaDiff_CaveatExprChanged: + if v == nil { + err := ExpSchemaDiffValidationError{ + field: "Diff", + reason: "oneof value cannot be a typed-nil", + } + if !all { + return err + } + errors = append(errors, err) + } + + if all { + switch v := interface{}(m.GetCaveatExprChanged()).(type) { + case interface{ ValidateAll() error }: + if err := v.ValidateAll(); err != nil { + errors = append(errors, ExpSchemaDiffValidationError{ + field: "CaveatExprChanged", + reason: "embedded message failed validation", + cause: err, + }) + } + case interface{ Validate() error }: + if err := v.Validate(); err != nil { + errors = append(errors, ExpSchemaDiffValidationError{ + field: "CaveatExprChanged", + reason: "embedded message failed validation", + cause: err, + }) + } + } + } else if v, ok := interface{}(m.GetCaveatExprChanged()).(interface{ Validate() error }); ok { + if err := v.Validate(); err != nil { + return ExpSchemaDiffValidationError{ + field: "CaveatExprChanged", + reason: "embedded message failed validation", + cause: err, + } + } + } + + case *ExpSchemaDiff_CaveatParameterAdded: + if v == nil { + err := ExpSchemaDiffValidationError{ + field: "Diff", + reason: "oneof value cannot be a typed-nil", + } + if !all { + return err + } + errors = append(errors, err) + } + + if all { + switch v := interface{}(m.GetCaveatParameterAdded()).(type) { + case interface{ ValidateAll() error }: + if err := v.ValidateAll(); err != nil { + errors = append(errors, ExpSchemaDiffValidationError{ + field: "CaveatParameterAdded", + reason: "embedded message failed validation", + cause: err, + }) + } + case interface{ Validate() error }: + if err := v.Validate(); err != nil { + errors = append(errors, ExpSchemaDiffValidationError{ + field: "CaveatParameterAdded", + reason: "embedded message failed validation", + cause: err, + }) + } + } + } else if v, ok := interface{}(m.GetCaveatParameterAdded()).(interface{ Validate() error }); ok { + if err := v.Validate(); err != nil { + return ExpSchemaDiffValidationError{ + field: "CaveatParameterAdded", + reason: "embedded message failed validation", + cause: err, + } + } + } + + case *ExpSchemaDiff_CaveatParameterRemoved: + if v == nil { + err := ExpSchemaDiffValidationError{ + field: "Diff", + reason: "oneof value cannot be a typed-nil", + } + if !all { + return err + } + errors = append(errors, err) + } + + if all { + switch v := interface{}(m.GetCaveatParameterRemoved()).(type) { + case interface{ ValidateAll() error }: + if err := v.ValidateAll(); err != nil { + errors = append(errors, ExpSchemaDiffValidationError{ + field: "CaveatParameterRemoved", + reason: "embedded message failed validation", + cause: err, + }) + } + case interface{ Validate() error }: + if err := v.Validate(); err != nil { + errors = append(errors, ExpSchemaDiffValidationError{ + field: "CaveatParameterRemoved", + reason: "embedded message failed validation", + cause: err, + }) + } + } + } else if v, ok := interface{}(m.GetCaveatParameterRemoved()).(interface{ Validate() error }); ok { + if err := v.Validate(); err != nil { + return ExpSchemaDiffValidationError{ + field: "CaveatParameterRemoved", + reason: "embedded message failed validation", + cause: err, + } + } + } + + case *ExpSchemaDiff_CaveatParameterTypeChanged: + if v == nil { + err := ExpSchemaDiffValidationError{ + field: "Diff", + reason: "oneof value cannot be a typed-nil", + } + if !all { + return err + } + errors = append(errors, err) + } + + if all { + switch v := interface{}(m.GetCaveatParameterTypeChanged()).(type) { + case interface{ ValidateAll() error }: + if err := v.ValidateAll(); err != nil { + errors = append(errors, ExpSchemaDiffValidationError{ + field: "CaveatParameterTypeChanged", + reason: "embedded message failed validation", + cause: err, + }) + } + case interface{ Validate() error }: + if err := v.Validate(); err != nil { + errors = append(errors, ExpSchemaDiffValidationError{ + field: "CaveatParameterTypeChanged", + reason: "embedded message failed validation", + cause: err, + }) + } + } + } else if v, ok := interface{}(m.GetCaveatParameterTypeChanged()).(interface{ Validate() error }); ok { + if err := v.Validate(); err != nil { + return ExpSchemaDiffValidationError{ + field: "CaveatParameterTypeChanged", + reason: "embedded message failed validation", + cause: err, + } + } + } + + default: + _ = v // ensures v is used + } + + if len(errors) > 0 { + return ExpSchemaDiffMultiError(errors) + } + + return nil +} + +// ExpSchemaDiffMultiError is an error wrapping multiple validation errors +// returned by ExpSchemaDiff.ValidateAll() if the designated constraints +// aren't met. +type ExpSchemaDiffMultiError []error + +// Error returns a concatenation of all the error messages it wraps. +func (m ExpSchemaDiffMultiError) Error() string { + var msgs []string + for _, err := range m { + msgs = append(msgs, err.Error()) + } + return strings.Join(msgs, "; ") +} + +// AllErrors returns a list of validation violation errors. +func (m ExpSchemaDiffMultiError) AllErrors() []error { return m } + +// ExpSchemaDiffValidationError is the validation error returned by +// ExpSchemaDiff.Validate if the designated constraints aren't met. +type ExpSchemaDiffValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e ExpSchemaDiffValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e ExpSchemaDiffValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e ExpSchemaDiffValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e ExpSchemaDiffValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e ExpSchemaDiffValidationError) ErrorName() string { return "ExpSchemaDiffValidationError" } + +// Error satisfies the builtin error interface +func (e ExpSchemaDiffValidationError) Error() string { + cause := "" + if e.cause != nil { + cause = fmt.Sprintf(" | caused by: %v", e.cause) + } + + key := "" + if e.key { + key = "key for " + } + + return fmt.Sprintf( + "invalid %sExpSchemaDiff.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = ExpSchemaDiffValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = ExpSchemaDiffValidationError{} diff --git a/proto/authzed/api/v1/experimental_service_grpc.pb.go b/proto/authzed/api/v1/experimental_service_grpc.pb.go index c2bfd4f..48ed1e0 100644 --- a/proto/authzed/api/v1/experimental_service_grpc.pb.go +++ b/proto/authzed/api/v1/experimental_service_grpc.pb.go @@ -19,9 +19,13 @@ import ( const _ = grpc.SupportPackageIsVersion7 const ( - ExperimentalService_BulkImportRelationships_FullMethodName = "/authzed.api.v1.ExperimentalService/BulkImportRelationships" - ExperimentalService_BulkExportRelationships_FullMethodName = "/authzed.api.v1.ExperimentalService/BulkExportRelationships" - ExperimentalService_BulkCheckPermission_FullMethodName = "/authzed.api.v1.ExperimentalService/BulkCheckPermission" + ExperimentalService_BulkImportRelationships_FullMethodName = "/authzed.api.v1.ExperimentalService/BulkImportRelationships" + ExperimentalService_BulkExportRelationships_FullMethodName = "/authzed.api.v1.ExperimentalService/BulkExportRelationships" + ExperimentalService_BulkCheckPermission_FullMethodName = "/authzed.api.v1.ExperimentalService/BulkCheckPermission" + ExperimentalService_ExperimentalReflectSchema_FullMethodName = "/authzed.api.v1.ExperimentalService/ExperimentalReflectSchema" + ExperimentalService_ExperimentalComputablePermissions_FullMethodName = "/authzed.api.v1.ExperimentalService/ExperimentalComputablePermissions" + ExperimentalService_ExperimentalDependentRelations_FullMethodName = "/authzed.api.v1.ExperimentalService/ExperimentalDependentRelations" + ExperimentalService_ExperimentalSchemaDiff_FullMethodName = "/authzed.api.v1.ExperimentalService/ExperimentalSchemaDiff" ) // ExperimentalServiceClient is the client API for ExperimentalService service. @@ -42,7 +46,26 @@ type ExperimentalServiceClient interface { // relationships from the server. It is resumable, and will return results // in an order determined by the server. BulkExportRelationships(ctx context.Context, in *BulkExportRelationshipsRequest, opts ...grpc.CallOption) (ExperimentalService_BulkExportRelationshipsClient, error) + // Deprecated: Do not use. + // NOTE: BulkCheckPermission has been promoted to the stable API as "CheckBulkPermission" and the + // API will be removed from experimental in a future release. BulkCheckPermission(ctx context.Context, in *BulkCheckPermissionRequest, opts ...grpc.CallOption) (*BulkCheckPermissionResponse, error) + // EXPERIMENTAL: ReflectSchema is an API that allows clients to reflect the schema stored in + // SpiceDB. This is useful for clients that need to introspect the schema of a SpiceDB instance. + ExperimentalReflectSchema(ctx context.Context, in *ExperimentalReflectSchemaRequest, opts ...grpc.CallOption) (*ExperimentalReflectSchemaResponse, error) + // EXPERIMENTAL: ComputablePermissions is an API that allows clients to request the set of + // permissions that compute based off a set of relations. For example, if a schema has a relation + // `viewer` and a permission `view` defined as `permission view = viewer + editor`, then the + // computable permissions for the relation `viewer` will include `view`. + ExperimentalComputablePermissions(ctx context.Context, in *ExperimentalComputablePermissionsRequest, opts ...grpc.CallOption) (*ExperimentalComputablePermissionsResponse, error) + // EXPERIMENTAL: DependentRelations is an API that allows clients to request the set of + // relations that used to compute a permission, recursively. It is the inverse of the + // ComputablePermissions API. + ExperimentalDependentRelations(ctx context.Context, in *ExperimentalDependentRelationsRequest, opts ...grpc.CallOption) (*ExperimentalDependentRelationsResponse, error) + // EXPERIMENTAL: DiffSchema is an API that allows clients to request the difference between the + // specified schema and the schema stored in SpiceDB. This is useful for clients that need to + // introspect the schema of a SpiceDB instance. + ExperimentalSchemaDiff(ctx context.Context, in *ExperimentalSchemaDiffRequest, opts ...grpc.CallOption) (*ExperimentalSchemaDiffResponse, error) } type experimentalServiceClient struct { @@ -119,6 +142,7 @@ func (x *experimentalServiceBulkExportRelationshipsClient) Recv() (*BulkExportRe return m, nil } +// Deprecated: Do not use. func (c *experimentalServiceClient) BulkCheckPermission(ctx context.Context, in *BulkCheckPermissionRequest, opts ...grpc.CallOption) (*BulkCheckPermissionResponse, error) { out := new(BulkCheckPermissionResponse) err := c.cc.Invoke(ctx, ExperimentalService_BulkCheckPermission_FullMethodName, in, out, opts...) @@ -128,6 +152,42 @@ func (c *experimentalServiceClient) BulkCheckPermission(ctx context.Context, in return out, nil } +func (c *experimentalServiceClient) ExperimentalReflectSchema(ctx context.Context, in *ExperimentalReflectSchemaRequest, opts ...grpc.CallOption) (*ExperimentalReflectSchemaResponse, error) { + out := new(ExperimentalReflectSchemaResponse) + err := c.cc.Invoke(ctx, ExperimentalService_ExperimentalReflectSchema_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *experimentalServiceClient) ExperimentalComputablePermissions(ctx context.Context, in *ExperimentalComputablePermissionsRequest, opts ...grpc.CallOption) (*ExperimentalComputablePermissionsResponse, error) { + out := new(ExperimentalComputablePermissionsResponse) + err := c.cc.Invoke(ctx, ExperimentalService_ExperimentalComputablePermissions_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *experimentalServiceClient) ExperimentalDependentRelations(ctx context.Context, in *ExperimentalDependentRelationsRequest, opts ...grpc.CallOption) (*ExperimentalDependentRelationsResponse, error) { + out := new(ExperimentalDependentRelationsResponse) + err := c.cc.Invoke(ctx, ExperimentalService_ExperimentalDependentRelations_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *experimentalServiceClient) ExperimentalSchemaDiff(ctx context.Context, in *ExperimentalSchemaDiffRequest, opts ...grpc.CallOption) (*ExperimentalSchemaDiffResponse, error) { + out := new(ExperimentalSchemaDiffResponse) + err := c.cc.Invoke(ctx, ExperimentalService_ExperimentalSchemaDiff_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + // ExperimentalServiceServer is the server API for ExperimentalService service. // All implementations must embed UnimplementedExperimentalServiceServer // for forward compatibility @@ -146,7 +206,26 @@ type ExperimentalServiceServer interface { // relationships from the server. It is resumable, and will return results // in an order determined by the server. BulkExportRelationships(*BulkExportRelationshipsRequest, ExperimentalService_BulkExportRelationshipsServer) error + // Deprecated: Do not use. + // NOTE: BulkCheckPermission has been promoted to the stable API as "CheckBulkPermission" and the + // API will be removed from experimental in a future release. BulkCheckPermission(context.Context, *BulkCheckPermissionRequest) (*BulkCheckPermissionResponse, error) + // EXPERIMENTAL: ReflectSchema is an API that allows clients to reflect the schema stored in + // SpiceDB. This is useful for clients that need to introspect the schema of a SpiceDB instance. + ExperimentalReflectSchema(context.Context, *ExperimentalReflectSchemaRequest) (*ExperimentalReflectSchemaResponse, error) + // EXPERIMENTAL: ComputablePermissions is an API that allows clients to request the set of + // permissions that compute based off a set of relations. For example, if a schema has a relation + // `viewer` and a permission `view` defined as `permission view = viewer + editor`, then the + // computable permissions for the relation `viewer` will include `view`. + ExperimentalComputablePermissions(context.Context, *ExperimentalComputablePermissionsRequest) (*ExperimentalComputablePermissionsResponse, error) + // EXPERIMENTAL: DependentRelations is an API that allows clients to request the set of + // relations that used to compute a permission, recursively. It is the inverse of the + // ComputablePermissions API. + ExperimentalDependentRelations(context.Context, *ExperimentalDependentRelationsRequest) (*ExperimentalDependentRelationsResponse, error) + // EXPERIMENTAL: DiffSchema is an API that allows clients to request the difference between the + // specified schema and the schema stored in SpiceDB. This is useful for clients that need to + // introspect the schema of a SpiceDB instance. + ExperimentalSchemaDiff(context.Context, *ExperimentalSchemaDiffRequest) (*ExperimentalSchemaDiffResponse, error) mustEmbedUnimplementedExperimentalServiceServer() } @@ -163,6 +242,18 @@ func (UnimplementedExperimentalServiceServer) BulkExportRelationships(*BulkExpor func (UnimplementedExperimentalServiceServer) BulkCheckPermission(context.Context, *BulkCheckPermissionRequest) (*BulkCheckPermissionResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method BulkCheckPermission not implemented") } +func (UnimplementedExperimentalServiceServer) ExperimentalReflectSchema(context.Context, *ExperimentalReflectSchemaRequest) (*ExperimentalReflectSchemaResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method ExperimentalReflectSchema not implemented") +} +func (UnimplementedExperimentalServiceServer) ExperimentalComputablePermissions(context.Context, *ExperimentalComputablePermissionsRequest) (*ExperimentalComputablePermissionsResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method ExperimentalComputablePermissions not implemented") +} +func (UnimplementedExperimentalServiceServer) ExperimentalDependentRelations(context.Context, *ExperimentalDependentRelationsRequest) (*ExperimentalDependentRelationsResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method ExperimentalDependentRelations not implemented") +} +func (UnimplementedExperimentalServiceServer) ExperimentalSchemaDiff(context.Context, *ExperimentalSchemaDiffRequest) (*ExperimentalSchemaDiffResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method ExperimentalSchemaDiff not implemented") +} func (UnimplementedExperimentalServiceServer) mustEmbedUnimplementedExperimentalServiceServer() {} // UnsafeExperimentalServiceServer may be embedded to opt out of forward compatibility for this service. @@ -241,6 +332,78 @@ func _ExperimentalService_BulkCheckPermission_Handler(srv interface{}, ctx conte return interceptor(ctx, in, info, handler) } +func _ExperimentalService_ExperimentalReflectSchema_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(ExperimentalReflectSchemaRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(ExperimentalServiceServer).ExperimentalReflectSchema(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: ExperimentalService_ExperimentalReflectSchema_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(ExperimentalServiceServer).ExperimentalReflectSchema(ctx, req.(*ExperimentalReflectSchemaRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _ExperimentalService_ExperimentalComputablePermissions_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(ExperimentalComputablePermissionsRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(ExperimentalServiceServer).ExperimentalComputablePermissions(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: ExperimentalService_ExperimentalComputablePermissions_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(ExperimentalServiceServer).ExperimentalComputablePermissions(ctx, req.(*ExperimentalComputablePermissionsRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _ExperimentalService_ExperimentalDependentRelations_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(ExperimentalDependentRelationsRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(ExperimentalServiceServer).ExperimentalDependentRelations(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: ExperimentalService_ExperimentalDependentRelations_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(ExperimentalServiceServer).ExperimentalDependentRelations(ctx, req.(*ExperimentalDependentRelationsRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _ExperimentalService_ExperimentalSchemaDiff_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(ExperimentalSchemaDiffRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(ExperimentalServiceServer).ExperimentalSchemaDiff(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: ExperimentalService_ExperimentalSchemaDiff_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(ExperimentalServiceServer).ExperimentalSchemaDiff(ctx, req.(*ExperimentalSchemaDiffRequest)) + } + return interceptor(ctx, in, info, handler) +} + // ExperimentalService_ServiceDesc is the grpc.ServiceDesc for ExperimentalService service. // It's only intended for direct use with grpc.RegisterService, // and not to be introspected or modified (even as a copy) @@ -252,6 +415,22 @@ var ExperimentalService_ServiceDesc = grpc.ServiceDesc{ MethodName: "BulkCheckPermission", Handler: _ExperimentalService_BulkCheckPermission_Handler, }, + { + MethodName: "ExperimentalReflectSchema", + Handler: _ExperimentalService_ExperimentalReflectSchema_Handler, + }, + { + MethodName: "ExperimentalComputablePermissions", + Handler: _ExperimentalService_ExperimentalComputablePermissions_Handler, + }, + { + MethodName: "ExperimentalDependentRelations", + Handler: _ExperimentalService_ExperimentalDependentRelations_Handler, + }, + { + MethodName: "ExperimentalSchemaDiff", + Handler: _ExperimentalService_ExperimentalSchemaDiff_Handler, + }, }, Streams: []grpc.StreamDesc{ { diff --git a/proto/authzed/api/v1/experimental_service_vtproto.pb.go b/proto/authzed/api/v1/experimental_service_vtproto.pb.go index ab031d4..7f4bcb9 100644 --- a/proto/authzed/api/v1/experimental_service_vtproto.pb.go +++ b/proto/authzed/api/v1/experimental_service_vtproto.pb.go @@ -251,1092 +251,8314 @@ func (m *BulkExportRelationshipsResponse) CloneMessageVT() proto.Message { return m.CloneVT() } -func (this *BulkCheckPermissionRequest) EqualVT(that *BulkCheckPermissionRequest) bool { - if this == that { - return true - } else if this == nil || that == nil { - return false - } - if !this.Consistency.EqualVT(that.Consistency) { - return false +func (m *ExperimentalReflectSchemaRequest) CloneVT() *ExperimentalReflectSchemaRequest { + if m == nil { + return (*ExperimentalReflectSchemaRequest)(nil) } - if len(this.Items) != len(that.Items) { - return false + r := &ExperimentalReflectSchemaRequest{ + Consistency: m.Consistency.CloneVT(), } - for i, vx := range this.Items { - vy := that.Items[i] - if p, q := vx, vy; p != q { - if p == nil { - p = &BulkCheckPermissionRequestItem{} - } - if q == nil { - q = &BulkCheckPermissionRequestItem{} - } - if !p.EqualVT(q) { - return false - } + if rhs := m.OptionalFilters; rhs != nil { + tmpContainer := make([]*ExpSchemaFilter, len(rhs)) + for k, v := range rhs { + tmpContainer[k] = v.CloneVT() } + r.OptionalFilters = tmpContainer } - return string(this.unknownFields) == string(that.unknownFields) + if len(m.unknownFields) > 0 { + r.unknownFields = make([]byte, len(m.unknownFields)) + copy(r.unknownFields, m.unknownFields) + } + return r } -func (this *BulkCheckPermissionRequest) EqualMessageVT(thatMsg proto.Message) bool { - that, ok := thatMsg.(*BulkCheckPermissionRequest) - if !ok { - return false - } - return this.EqualVT(that) +func (m *ExperimentalReflectSchemaRequest) CloneMessageVT() proto.Message { + return m.CloneVT() } -func (this *BulkCheckPermissionRequestItem) EqualVT(that *BulkCheckPermissionRequestItem) bool { - if this == that { - return true - } else if this == nil || that == nil { - return false - } - if !this.Resource.EqualVT(that.Resource) { - return false + +func (m *ExperimentalReflectSchemaResponse) CloneVT() *ExperimentalReflectSchemaResponse { + if m == nil { + return (*ExperimentalReflectSchemaResponse)(nil) } - if this.Permission != that.Permission { - return false + r := &ExperimentalReflectSchemaResponse{ + ReadAt: m.ReadAt.CloneVT(), } - if !this.Subject.EqualVT(that.Subject) { - return false + if rhs := m.Definitions; rhs != nil { + tmpContainer := make([]*ExpDefinition, len(rhs)) + for k, v := range rhs { + tmpContainer[k] = v.CloneVT() + } + r.Definitions = tmpContainer } - if equal, ok := interface{}(this.Context).(interface{ EqualVT(*structpb.Struct) bool }); ok { - if !equal.EqualVT(that.Context) { - return false + if rhs := m.Caveats; rhs != nil { + tmpContainer := make([]*ExpCaveat, len(rhs)) + for k, v := range rhs { + tmpContainer[k] = v.CloneVT() } - } else if !proto.Equal(this.Context, that.Context) { - return false + r.Caveats = tmpContainer } - return string(this.unknownFields) == string(that.unknownFields) + if len(m.unknownFields) > 0 { + r.unknownFields = make([]byte, len(m.unknownFields)) + copy(r.unknownFields, m.unknownFields) + } + return r } -func (this *BulkCheckPermissionRequestItem) EqualMessageVT(thatMsg proto.Message) bool { - that, ok := thatMsg.(*BulkCheckPermissionRequestItem) - if !ok { - return false - } - return this.EqualVT(that) +func (m *ExperimentalReflectSchemaResponse) CloneMessageVT() proto.Message { + return m.CloneVT() } -func (this *BulkCheckPermissionResponse) EqualVT(that *BulkCheckPermissionResponse) bool { - if this == that { - return true - } else if this == nil || that == nil { - return false + +func (m *ExpSchemaFilter) CloneVT() *ExpSchemaFilter { + if m == nil { + return (*ExpSchemaFilter)(nil) } - if !this.CheckedAt.EqualVT(that.CheckedAt) { - return false + r := &ExpSchemaFilter{ + OptionalDefinitionNameMatch: m.OptionalDefinitionNameMatch, + OptionalRelationOrPermissionNameMatch: m.OptionalRelationOrPermissionNameMatch, } - if len(this.Pairs) != len(that.Pairs) { - return false + if rhs := m.KindFilters; rhs != nil { + tmpContainer := make([]ExpSchemaFilter_KindFilter, len(rhs)) + copy(tmpContainer, rhs) + r.KindFilters = tmpContainer } - for i, vx := range this.Pairs { - vy := that.Pairs[i] - if p, q := vx, vy; p != q { - if p == nil { - p = &BulkCheckPermissionPair{} - } - if q == nil { - q = &BulkCheckPermissionPair{} - } - if !p.EqualVT(q) { - return false - } - } + if len(m.unknownFields) > 0 { + r.unknownFields = make([]byte, len(m.unknownFields)) + copy(r.unknownFields, m.unknownFields) } - return string(this.unknownFields) == string(that.unknownFields) + return r } -func (this *BulkCheckPermissionResponse) EqualMessageVT(thatMsg proto.Message) bool { - that, ok := thatMsg.(*BulkCheckPermissionResponse) - if !ok { - return false - } - return this.EqualVT(that) +func (m *ExpSchemaFilter) CloneMessageVT() proto.Message { + return m.CloneVT() } -func (this *BulkCheckPermissionPair) EqualVT(that *BulkCheckPermissionPair) bool { - if this == that { - return true - } else if this == nil || that == nil { - return false + +func (m *ExpDefinition) CloneVT() *ExpDefinition { + if m == nil { + return (*ExpDefinition)(nil) } - if this.Response == nil && that.Response != nil { - return false - } else if this.Response != nil { - if that.Response == nil { - return false + r := &ExpDefinition{ + Name: m.Name, + Comment: m.Comment, + } + if rhs := m.Relations; rhs != nil { + tmpContainer := make([]*ExpRelation, len(rhs)) + for k, v := range rhs { + tmpContainer[k] = v.CloneVT() } - if !this.Response.(interface { - EqualVT(isBulkCheckPermissionPair_Response) bool - }).EqualVT(that.Response) { - return false + r.Relations = tmpContainer + } + if rhs := m.Permissions; rhs != nil { + tmpContainer := make([]*ExpPermission, len(rhs)) + for k, v := range rhs { + tmpContainer[k] = v.CloneVT() } + r.Permissions = tmpContainer } - if !this.Request.EqualVT(that.Request) { - return false + if len(m.unknownFields) > 0 { + r.unknownFields = make([]byte, len(m.unknownFields)) + copy(r.unknownFields, m.unknownFields) } - return string(this.unknownFields) == string(that.unknownFields) + return r } -func (this *BulkCheckPermissionPair) EqualMessageVT(thatMsg proto.Message) bool { - that, ok := thatMsg.(*BulkCheckPermissionPair) - if !ok { - return false - } - return this.EqualVT(that) +func (m *ExpDefinition) CloneMessageVT() proto.Message { + return m.CloneVT() } -func (this *BulkCheckPermissionPair_Item) EqualVT(thatIface isBulkCheckPermissionPair_Response) bool { - that, ok := thatIface.(*BulkCheckPermissionPair_Item) - if !ok { - return false - } - if this == that { - return true + +func (m *ExpCaveat) CloneVT() *ExpCaveat { + if m == nil { + return (*ExpCaveat)(nil) } - if this == nil && that != nil || this != nil && that == nil { - return false + r := &ExpCaveat{ + Name: m.Name, + Comment: m.Comment, + Expression: m.Expression, } - if p, q := this.Item, that.Item; p != q { - if p == nil { - p = &BulkCheckPermissionResponseItem{} - } - if q == nil { - q = &BulkCheckPermissionResponseItem{} - } - if !p.EqualVT(q) { - return false + if rhs := m.Parameters; rhs != nil { + tmpContainer := make([]*ExpCaveatParameter, len(rhs)) + for k, v := range rhs { + tmpContainer[k] = v.CloneVT() } + r.Parameters = tmpContainer } - return true + if len(m.unknownFields) > 0 { + r.unknownFields = make([]byte, len(m.unknownFields)) + copy(r.unknownFields, m.unknownFields) + } + return r } -func (this *BulkCheckPermissionPair_Error) EqualVT(thatIface isBulkCheckPermissionPair_Response) bool { - that, ok := thatIface.(*BulkCheckPermissionPair_Error) - if !ok { - return false - } - if this == that { - return true - } - if this == nil && that != nil || this != nil && that == nil { - return false - } - if p, q := this.Error, that.Error; p != q { - if p == nil { - p = &status.Status{} - } - if q == nil { - q = &status.Status{} - } - if equal, ok := interface{}(p).(interface{ EqualVT(*status.Status) bool }); ok { - if !equal.EqualVT(q) { - return false - } - } else if !proto.Equal(p, q) { - return false - } - } - return true +func (m *ExpCaveat) CloneMessageVT() proto.Message { + return m.CloneVT() } -func (this *BulkCheckPermissionResponseItem) EqualVT(that *BulkCheckPermissionResponseItem) bool { - if this == that { - return true - } else if this == nil || that == nil { - return false +func (m *ExpCaveatParameter) CloneVT() *ExpCaveatParameter { + if m == nil { + return (*ExpCaveatParameter)(nil) } - if this.Permissionship != that.Permissionship { - return false + r := &ExpCaveatParameter{ + Name: m.Name, + Type: m.Type, + ParentCaveatName: m.ParentCaveatName, } - if !this.PartialCaveatInfo.EqualVT(that.PartialCaveatInfo) { - return false + if len(m.unknownFields) > 0 { + r.unknownFields = make([]byte, len(m.unknownFields)) + copy(r.unknownFields, m.unknownFields) } - return string(this.unknownFields) == string(that.unknownFields) + return r } -func (this *BulkCheckPermissionResponseItem) EqualMessageVT(thatMsg proto.Message) bool { - that, ok := thatMsg.(*BulkCheckPermissionResponseItem) - if !ok { - return false - } - return this.EqualVT(that) +func (m *ExpCaveatParameter) CloneMessageVT() proto.Message { + return m.CloneVT() } -func (this *BulkImportRelationshipsRequest) EqualVT(that *BulkImportRelationshipsRequest) bool { - if this == that { - return true - } else if this == nil || that == nil { - return false + +func (m *ExpRelation) CloneVT() *ExpRelation { + if m == nil { + return (*ExpRelation)(nil) } - if len(this.Relationships) != len(that.Relationships) { - return false + r := &ExpRelation{ + Name: m.Name, + Comment: m.Comment, + ParentDefinitionName: m.ParentDefinitionName, } - for i, vx := range this.Relationships { - vy := that.Relationships[i] - if p, q := vx, vy; p != q { - if p == nil { - p = &Relationship{} - } - if q == nil { - q = &Relationship{} - } - if !p.EqualVT(q) { - return false - } + if rhs := m.SubjectTypes; rhs != nil { + tmpContainer := make([]*ExpTypeReference, len(rhs)) + for k, v := range rhs { + tmpContainer[k] = v.CloneVT() } + r.SubjectTypes = tmpContainer } - return string(this.unknownFields) == string(that.unknownFields) + if len(m.unknownFields) > 0 { + r.unknownFields = make([]byte, len(m.unknownFields)) + copy(r.unknownFields, m.unknownFields) + } + return r } -func (this *BulkImportRelationshipsRequest) EqualMessageVT(thatMsg proto.Message) bool { - that, ok := thatMsg.(*BulkImportRelationshipsRequest) - if !ok { - return false - } - return this.EqualVT(that) -} -func (this *BulkImportRelationshipsResponse) EqualVT(that *BulkImportRelationshipsResponse) bool { - if this == that { - return true - } else if this == nil || that == nil { - return false - } - if this.NumLoaded != that.NumLoaded { - return false - } - return string(this.unknownFields) == string(that.unknownFields) +func (m *ExpRelation) CloneMessageVT() proto.Message { + return m.CloneVT() } -func (this *BulkImportRelationshipsResponse) EqualMessageVT(thatMsg proto.Message) bool { - that, ok := thatMsg.(*BulkImportRelationshipsResponse) - if !ok { - return false - } - return this.EqualVT(that) -} -func (this *BulkExportRelationshipsRequest) EqualVT(that *BulkExportRelationshipsRequest) bool { - if this == that { - return true - } else if this == nil || that == nil { - return false - } - if !this.Consistency.EqualVT(that.Consistency) { - return false +func (m *ExpTypeReference) CloneVT() *ExpTypeReference { + if m == nil { + return (*ExpTypeReference)(nil) } - if this.OptionalLimit != that.OptionalLimit { - return false + r := &ExpTypeReference{ + SubjectDefinitionName: m.SubjectDefinitionName, + OptionalCaveatName: m.OptionalCaveatName, } - if !this.OptionalCursor.EqualVT(that.OptionalCursor) { - return false + if m.Typeref != nil { + r.Typeref = m.Typeref.(interface { + CloneVT() isExpTypeReference_Typeref + }).CloneVT() } - if !this.OptionalRelationshipFilter.EqualVT(that.OptionalRelationshipFilter) { - return false + if len(m.unknownFields) > 0 { + r.unknownFields = make([]byte, len(m.unknownFields)) + copy(r.unknownFields, m.unknownFields) } - return string(this.unknownFields) == string(that.unknownFields) + return r } -func (this *BulkExportRelationshipsRequest) EqualMessageVT(thatMsg proto.Message) bool { - that, ok := thatMsg.(*BulkExportRelationshipsRequest) - if !ok { - return false - } - return this.EqualVT(that) +func (m *ExpTypeReference) CloneMessageVT() proto.Message { + return m.CloneVT() } -func (this *BulkExportRelationshipsResponse) EqualVT(that *BulkExportRelationshipsResponse) bool { - if this == that { - return true - } else if this == nil || that == nil { - return false + +func (m *ExpTypeReference_IsTerminalSubject) CloneVT() isExpTypeReference_Typeref { + if m == nil { + return (*ExpTypeReference_IsTerminalSubject)(nil) } - if !this.AfterResultCursor.EqualVT(that.AfterResultCursor) { - return false + r := &ExpTypeReference_IsTerminalSubject{ + IsTerminalSubject: m.IsTerminalSubject, } - if len(this.Relationships) != len(that.Relationships) { - return false + return r +} + +func (m *ExpTypeReference_OptionalRelationName) CloneVT() isExpTypeReference_Typeref { + if m == nil { + return (*ExpTypeReference_OptionalRelationName)(nil) } - for i, vx := range this.Relationships { - vy := that.Relationships[i] - if p, q := vx, vy; p != q { - if p == nil { - p = &Relationship{} - } - if q == nil { - q = &Relationship{} - } - if !p.EqualVT(q) { - return false - } - } + r := &ExpTypeReference_OptionalRelationName{ + OptionalRelationName: m.OptionalRelationName, } - return string(this.unknownFields) == string(that.unknownFields) + return r } -func (this *BulkExportRelationshipsResponse) EqualMessageVT(thatMsg proto.Message) bool { - that, ok := thatMsg.(*BulkExportRelationshipsResponse) - if !ok { - return false +func (m *ExpTypeReference_IsPublicWildcard) CloneVT() isExpTypeReference_Typeref { + if m == nil { + return (*ExpTypeReference_IsPublicWildcard)(nil) } - return this.EqualVT(that) + r := &ExpTypeReference_IsPublicWildcard{ + IsPublicWildcard: m.IsPublicWildcard, + } + return r } -func (m *BulkCheckPermissionRequest) MarshalVT() (dAtA []byte, err error) { + +func (m *ExpPermission) CloneVT() *ExpPermission { if m == nil { - return nil, nil + return (*ExpPermission)(nil) } - size := m.SizeVT() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBufferVT(dAtA[:size]) - if err != nil { - return nil, err + r := &ExpPermission{ + Name: m.Name, + Comment: m.Comment, + ParentDefinitionName: m.ParentDefinitionName, } - return dAtA[:n], nil + if len(m.unknownFields) > 0 { + r.unknownFields = make([]byte, len(m.unknownFields)) + copy(r.unknownFields, m.unknownFields) + } + return r } -func (m *BulkCheckPermissionRequest) MarshalToVT(dAtA []byte) (int, error) { - size := m.SizeVT() - return m.MarshalToSizedBufferVT(dAtA[:size]) +func (m *ExpPermission) CloneMessageVT() proto.Message { + return m.CloneVT() } -func (m *BulkCheckPermissionRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error) { +func (m *ExperimentalComputablePermissionsRequest) CloneVT() *ExperimentalComputablePermissionsRequest { if m == nil { - return 0, nil + return (*ExperimentalComputablePermissionsRequest)(nil) } - i := len(dAtA) - _ = i - var l int - _ = l - if m.unknownFields != nil { - i -= len(m.unknownFields) - copy(dAtA[i:], m.unknownFields) + r := &ExperimentalComputablePermissionsRequest{ + Consistency: m.Consistency.CloneVT(), + OptionalDefinitionNameMatch: m.OptionalDefinitionNameMatch, } - if len(m.Items) > 0 { - for iNdEx := len(m.Items) - 1; iNdEx >= 0; iNdEx-- { - size, err := m.Items[iNdEx].MarshalToSizedBufferVT(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = encodeVarint(dAtA, i, uint64(size)) - i-- - dAtA[i] = 0x12 + if rhs := m.Relations; rhs != nil { + tmpContainer := make([]*ExpRelationReference, len(rhs)) + for k, v := range rhs { + tmpContainer[k] = v.CloneVT() } + r.Relations = tmpContainer } - if m.Consistency != nil { - size, err := m.Consistency.MarshalToSizedBufferVT(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = encodeVarint(dAtA, i, uint64(size)) - i-- - dAtA[i] = 0xa + if len(m.unknownFields) > 0 { + r.unknownFields = make([]byte, len(m.unknownFields)) + copy(r.unknownFields, m.unknownFields) } - return len(dAtA) - i, nil + return r } -func (m *BulkCheckPermissionRequestItem) MarshalVT() (dAtA []byte, err error) { +func (m *ExperimentalComputablePermissionsRequest) CloneMessageVT() proto.Message { + return m.CloneVT() +} + +func (m *ExpRelationReference) CloneVT() *ExpRelationReference { if m == nil { - return nil, nil + return (*ExpRelationReference)(nil) } - size := m.SizeVT() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBufferVT(dAtA[:size]) - if err != nil { - return nil, err + r := &ExpRelationReference{ + DefinitionName: m.DefinitionName, + RelationName: m.RelationName, } - return dAtA[:n], nil + if len(m.unknownFields) > 0 { + r.unknownFields = make([]byte, len(m.unknownFields)) + copy(r.unknownFields, m.unknownFields) + } + return r } -func (m *BulkCheckPermissionRequestItem) MarshalToVT(dAtA []byte) (int, error) { - size := m.SizeVT() - return m.MarshalToSizedBufferVT(dAtA[:size]) +func (m *ExpRelationReference) CloneMessageVT() proto.Message { + return m.CloneVT() } -func (m *BulkCheckPermissionRequestItem) MarshalToSizedBufferVT(dAtA []byte) (int, error) { +func (m *ExpPermissionReference) CloneVT() *ExpPermissionReference { if m == nil { - return 0, nil + return (*ExpPermissionReference)(nil) } - i := len(dAtA) - _ = i - var l int - _ = l - if m.unknownFields != nil { - i -= len(m.unknownFields) - copy(dAtA[i:], m.unknownFields) + r := &ExpPermissionReference{ + DefinitionName: m.DefinitionName, + RelationName: m.RelationName, } - if m.Context != nil { - if vtmsg, ok := interface{}(m.Context).(interface { - MarshalToSizedBufferVT([]byte) (int, error) - }); ok { - size, err := vtmsg.MarshalToSizedBufferVT(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = encodeVarint(dAtA, i, uint64(size)) - } else { - encoded, err := proto.Marshal(m.Context) - if err != nil { - return 0, err - } - i -= len(encoded) - copy(dAtA[i:], encoded) - i = encodeVarint(dAtA, i, uint64(len(encoded))) - } - i-- - dAtA[i] = 0x22 + if len(m.unknownFields) > 0 { + r.unknownFields = make([]byte, len(m.unknownFields)) + copy(r.unknownFields, m.unknownFields) } - if m.Subject != nil { - size, err := m.Subject.MarshalToSizedBufferVT(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = encodeVarint(dAtA, i, uint64(size)) - i-- - dAtA[i] = 0x1a + return r +} + +func (m *ExpPermissionReference) CloneMessageVT() proto.Message { + return m.CloneVT() +} + +func (m *ExperimentalComputablePermissionsResponse) CloneVT() *ExperimentalComputablePermissionsResponse { + if m == nil { + return (*ExperimentalComputablePermissionsResponse)(nil) } - if len(m.Permission) > 0 { - i -= len(m.Permission) - copy(dAtA[i:], m.Permission) - i = encodeVarint(dAtA, i, uint64(len(m.Permission))) - i-- - dAtA[i] = 0x12 + r := &ExperimentalComputablePermissionsResponse{ + ReadAt: m.ReadAt.CloneVT(), } - if m.Resource != nil { - size, err := m.Resource.MarshalToSizedBufferVT(dAtA[:i]) - if err != nil { - return 0, err + if rhs := m.Permissions; rhs != nil { + tmpContainer := make([]*ExpPermissionReference, len(rhs)) + for k, v := range rhs { + tmpContainer[k] = v.CloneVT() } - i -= size - i = encodeVarint(dAtA, i, uint64(size)) - i-- - dAtA[i] = 0xa + r.Permissions = tmpContainer } - return len(dAtA) - i, nil + if len(m.unknownFields) > 0 { + r.unknownFields = make([]byte, len(m.unknownFields)) + copy(r.unknownFields, m.unknownFields) + } + return r } -func (m *BulkCheckPermissionResponse) MarshalVT() (dAtA []byte, err error) { +func (m *ExperimentalComputablePermissionsResponse) CloneMessageVT() proto.Message { + return m.CloneVT() +} + +func (m *ExperimentalDependentRelationsRequest) CloneVT() *ExperimentalDependentRelationsRequest { if m == nil { - return nil, nil + return (*ExperimentalDependentRelationsRequest)(nil) } - size := m.SizeVT() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBufferVT(dAtA[:size]) - if err != nil { - return nil, err + r := &ExperimentalDependentRelationsRequest{ + Consistency: m.Consistency.CloneVT(), + Permission: m.Permission.CloneVT(), } - return dAtA[:n], nil + if len(m.unknownFields) > 0 { + r.unknownFields = make([]byte, len(m.unknownFields)) + copy(r.unknownFields, m.unknownFields) + } + return r } -func (m *BulkCheckPermissionResponse) MarshalToVT(dAtA []byte) (int, error) { - size := m.SizeVT() - return m.MarshalToSizedBufferVT(dAtA[:size]) +func (m *ExperimentalDependentRelationsRequest) CloneMessageVT() proto.Message { + return m.CloneVT() } -func (m *BulkCheckPermissionResponse) MarshalToSizedBufferVT(dAtA []byte) (int, error) { +func (m *ExperimentalDependentRelationsResponse) CloneVT() *ExperimentalDependentRelationsResponse { if m == nil { - return 0, nil + return (*ExperimentalDependentRelationsResponse)(nil) } - i := len(dAtA) - _ = i - var l int - _ = l - if m.unknownFields != nil { - i -= len(m.unknownFields) - copy(dAtA[i:], m.unknownFields) + r := &ExperimentalDependentRelationsResponse{ + ReadAt: m.ReadAt.CloneVT(), } - if len(m.Pairs) > 0 { - for iNdEx := len(m.Pairs) - 1; iNdEx >= 0; iNdEx-- { - size, err := m.Pairs[iNdEx].MarshalToSizedBufferVT(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = encodeVarint(dAtA, i, uint64(size)) - i-- - dAtA[i] = 0x12 + if rhs := m.Relations; rhs != nil { + tmpContainer := make([]*ExpRelationReference, len(rhs)) + for k, v := range rhs { + tmpContainer[k] = v.CloneVT() } + r.Relations = tmpContainer } - if m.CheckedAt != nil { - size, err := m.CheckedAt.MarshalToSizedBufferVT(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = encodeVarint(dAtA, i, uint64(size)) - i-- - dAtA[i] = 0xa + if len(m.unknownFields) > 0 { + r.unknownFields = make([]byte, len(m.unknownFields)) + copy(r.unknownFields, m.unknownFields) } - return len(dAtA) - i, nil + return r } -func (m *BulkCheckPermissionPair) MarshalVT() (dAtA []byte, err error) { +func (m *ExperimentalDependentRelationsResponse) CloneMessageVT() proto.Message { + return m.CloneVT() +} + +func (m *ExperimentalSchemaDiffRequest) CloneVT() *ExperimentalSchemaDiffRequest { if m == nil { - return nil, nil + return (*ExperimentalSchemaDiffRequest)(nil) } - size := m.SizeVT() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBufferVT(dAtA[:size]) - if err != nil { - return nil, err + r := &ExperimentalSchemaDiffRequest{ + Consistency: m.Consistency.CloneVT(), + ComparisonSchema: m.ComparisonSchema, } - return dAtA[:n], nil + if len(m.unknownFields) > 0 { + r.unknownFields = make([]byte, len(m.unknownFields)) + copy(r.unknownFields, m.unknownFields) + } + return r } -func (m *BulkCheckPermissionPair) MarshalToVT(dAtA []byte) (int, error) { - size := m.SizeVT() - return m.MarshalToSizedBufferVT(dAtA[:size]) +func (m *ExperimentalSchemaDiffRequest) CloneMessageVT() proto.Message { + return m.CloneVT() } -func (m *BulkCheckPermissionPair) MarshalToSizedBufferVT(dAtA []byte) (int, error) { +func (m *ExperimentalSchemaDiffResponse) CloneVT() *ExperimentalSchemaDiffResponse { if m == nil { - return 0, nil + return (*ExperimentalSchemaDiffResponse)(nil) } - i := len(dAtA) - _ = i - var l int - _ = l - if m.unknownFields != nil { - i -= len(m.unknownFields) - copy(dAtA[i:], m.unknownFields) + r := &ExperimentalSchemaDiffResponse{ + ReadAt: m.ReadAt.CloneVT(), } - if vtmsg, ok := m.Response.(interface { - MarshalToSizedBufferVT([]byte) (int, error) - }); ok { - size, err := vtmsg.MarshalToSizedBufferVT(dAtA[:i]) - if err != nil { - return 0, err + if rhs := m.Diffs; rhs != nil { + tmpContainer := make([]*ExpSchemaDiff, len(rhs)) + for k, v := range rhs { + tmpContainer[k] = v.CloneVT() } - i -= size + r.Diffs = tmpContainer } - if m.Request != nil { - size, err := m.Request.MarshalToSizedBufferVT(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = encodeVarint(dAtA, i, uint64(size)) - i-- - dAtA[i] = 0xa + if len(m.unknownFields) > 0 { + r.unknownFields = make([]byte, len(m.unknownFields)) + copy(r.unknownFields, m.unknownFields) } - return len(dAtA) - i, nil + return r } -func (m *BulkCheckPermissionPair_Item) MarshalToVT(dAtA []byte) (int, error) { - size := m.SizeVT() - return m.MarshalToSizedBufferVT(dAtA[:size]) +func (m *ExperimentalSchemaDiffResponse) CloneMessageVT() proto.Message { + return m.CloneVT() } -func (m *BulkCheckPermissionPair_Item) MarshalToSizedBufferVT(dAtA []byte) (int, error) { - i := len(dAtA) - if m.Item != nil { - size, err := m.Item.MarshalToSizedBufferVT(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = encodeVarint(dAtA, i, uint64(size)) - i-- - dAtA[i] = 0x12 +func (m *ExpSchemaDiff) CloneVT() *ExpSchemaDiff { + if m == nil { + return (*ExpSchemaDiff)(nil) } - return len(dAtA) - i, nil -} -func (m *BulkCheckPermissionPair_Error) MarshalToVT(dAtA []byte) (int, error) { - size := m.SizeVT() - return m.MarshalToSizedBufferVT(dAtA[:size]) + r := &ExpSchemaDiff{} + if m.Diff != nil { + r.Diff = m.Diff.(interface{ CloneVT() isExpSchemaDiff_Diff }).CloneVT() + } + if len(m.unknownFields) > 0 { + r.unknownFields = make([]byte, len(m.unknownFields)) + copy(r.unknownFields, m.unknownFields) + } + return r } -func (m *BulkCheckPermissionPair_Error) MarshalToSizedBufferVT(dAtA []byte) (int, error) { - i := len(dAtA) - if m.Error != nil { - if vtmsg, ok := interface{}(m.Error).(interface { - MarshalToSizedBufferVT([]byte) (int, error) - }); ok { - size, err := vtmsg.MarshalToSizedBufferVT(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = encodeVarint(dAtA, i, uint64(size)) - } else { - encoded, err := proto.Marshal(m.Error) - if err != nil { - return 0, err - } - i -= len(encoded) - copy(dAtA[i:], encoded) - i = encodeVarint(dAtA, i, uint64(len(encoded))) - } - i-- - dAtA[i] = 0x1a - } - return len(dAtA) - i, nil +func (m *ExpSchemaDiff) CloneMessageVT() proto.Message { + return m.CloneVT() } -func (m *BulkCheckPermissionResponseItem) MarshalVT() (dAtA []byte, err error) { + +func (m *ExpSchemaDiff_DefinitionAdded) CloneVT() isExpSchemaDiff_Diff { if m == nil { - return nil, nil + return (*ExpSchemaDiff_DefinitionAdded)(nil) } - size := m.SizeVT() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBufferVT(dAtA[:size]) - if err != nil { - return nil, err + r := &ExpSchemaDiff_DefinitionAdded{ + DefinitionAdded: m.DefinitionAdded.CloneVT(), } - return dAtA[:n], nil + return r } -func (m *BulkCheckPermissionResponseItem) MarshalToVT(dAtA []byte) (int, error) { - size := m.SizeVT() - return m.MarshalToSizedBufferVT(dAtA[:size]) +func (m *ExpSchemaDiff_DefinitionRemoved) CloneVT() isExpSchemaDiff_Diff { + if m == nil { + return (*ExpSchemaDiff_DefinitionRemoved)(nil) + } + r := &ExpSchemaDiff_DefinitionRemoved{ + DefinitionRemoved: m.DefinitionRemoved.CloneVT(), + } + return r } -func (m *BulkCheckPermissionResponseItem) MarshalToSizedBufferVT(dAtA []byte) (int, error) { +func (m *ExpSchemaDiff_DefinitionDocCommentChanged) CloneVT() isExpSchemaDiff_Diff { if m == nil { - return 0, nil + return (*ExpSchemaDiff_DefinitionDocCommentChanged)(nil) } - i := len(dAtA) - _ = i - var l int - _ = l - if m.unknownFields != nil { - i -= len(m.unknownFields) - copy(dAtA[i:], m.unknownFields) + r := &ExpSchemaDiff_DefinitionDocCommentChanged{ + DefinitionDocCommentChanged: m.DefinitionDocCommentChanged.CloneVT(), } - if m.PartialCaveatInfo != nil { - size, err := m.PartialCaveatInfo.MarshalToSizedBufferVT(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = encodeVarint(dAtA, i, uint64(size)) - i-- - dAtA[i] = 0x12 + return r +} + +func (m *ExpSchemaDiff_RelationAdded) CloneVT() isExpSchemaDiff_Diff { + if m == nil { + return (*ExpSchemaDiff_RelationAdded)(nil) } - if m.Permissionship != 0 { - i = encodeVarint(dAtA, i, uint64(m.Permissionship)) - i-- - dAtA[i] = 0x8 + r := &ExpSchemaDiff_RelationAdded{ + RelationAdded: m.RelationAdded.CloneVT(), } - return len(dAtA) - i, nil + return r } -func (m *BulkImportRelationshipsRequest) MarshalVT() (dAtA []byte, err error) { +func (m *ExpSchemaDiff_RelationRemoved) CloneVT() isExpSchemaDiff_Diff { if m == nil { - return nil, nil + return (*ExpSchemaDiff_RelationRemoved)(nil) } - size := m.SizeVT() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBufferVT(dAtA[:size]) - if err != nil { - return nil, err + r := &ExpSchemaDiff_RelationRemoved{ + RelationRemoved: m.RelationRemoved.CloneVT(), } - return dAtA[:n], nil + return r } -func (m *BulkImportRelationshipsRequest) MarshalToVT(dAtA []byte) (int, error) { - size := m.SizeVT() - return m.MarshalToSizedBufferVT(dAtA[:size]) +func (m *ExpSchemaDiff_RelationDocCommentChanged) CloneVT() isExpSchemaDiff_Diff { + if m == nil { + return (*ExpSchemaDiff_RelationDocCommentChanged)(nil) + } + r := &ExpSchemaDiff_RelationDocCommentChanged{ + RelationDocCommentChanged: m.RelationDocCommentChanged.CloneVT(), + } + return r } -func (m *BulkImportRelationshipsRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error) { +func (m *ExpSchemaDiff_RelationTypeChanged) CloneVT() isExpSchemaDiff_Diff { if m == nil { - return 0, nil - } - i := len(dAtA) - _ = i - var l int - _ = l - if m.unknownFields != nil { - i -= len(m.unknownFields) - copy(dAtA[i:], m.unknownFields) + return (*ExpSchemaDiff_RelationTypeChanged)(nil) } - if len(m.Relationships) > 0 { - for iNdEx := len(m.Relationships) - 1; iNdEx >= 0; iNdEx-- { - size, err := m.Relationships[iNdEx].MarshalToSizedBufferVT(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = encodeVarint(dAtA, i, uint64(size)) - i-- - dAtA[i] = 0xa - } + r := &ExpSchemaDiff_RelationTypeChanged{ + RelationTypeChanged: m.RelationTypeChanged.CloneVT(), } - return len(dAtA) - i, nil + return r } -func (m *BulkImportRelationshipsResponse) MarshalVT() (dAtA []byte, err error) { +func (m *ExpSchemaDiff_PermissionAdded) CloneVT() isExpSchemaDiff_Diff { if m == nil { - return nil, nil + return (*ExpSchemaDiff_PermissionAdded)(nil) } - size := m.SizeVT() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBufferVT(dAtA[:size]) - if err != nil { - return nil, err + r := &ExpSchemaDiff_PermissionAdded{ + PermissionAdded: m.PermissionAdded.CloneVT(), } - return dAtA[:n], nil + return r } -func (m *BulkImportRelationshipsResponse) MarshalToVT(dAtA []byte) (int, error) { - size := m.SizeVT() - return m.MarshalToSizedBufferVT(dAtA[:size]) +func (m *ExpSchemaDiff_PermissionRemoved) CloneVT() isExpSchemaDiff_Diff { + if m == nil { + return (*ExpSchemaDiff_PermissionRemoved)(nil) + } + r := &ExpSchemaDiff_PermissionRemoved{ + PermissionRemoved: m.PermissionRemoved.CloneVT(), + } + return r } -func (m *BulkImportRelationshipsResponse) MarshalToSizedBufferVT(dAtA []byte) (int, error) { +func (m *ExpSchemaDiff_PermissionDocCommentChanged) CloneVT() isExpSchemaDiff_Diff { if m == nil { - return 0, nil - } - i := len(dAtA) - _ = i - var l int - _ = l - if m.unknownFields != nil { - i -= len(m.unknownFields) - copy(dAtA[i:], m.unknownFields) + return (*ExpSchemaDiff_PermissionDocCommentChanged)(nil) } - if m.NumLoaded != 0 { - i = encodeVarint(dAtA, i, uint64(m.NumLoaded)) - i-- - dAtA[i] = 0x8 + r := &ExpSchemaDiff_PermissionDocCommentChanged{ + PermissionDocCommentChanged: m.PermissionDocCommentChanged.CloneVT(), } - return len(dAtA) - i, nil + return r } -func (m *BulkExportRelationshipsRequest) MarshalVT() (dAtA []byte, err error) { +func (m *ExpSchemaDiff_PermissionExprChanged) CloneVT() isExpSchemaDiff_Diff { if m == nil { - return nil, nil + return (*ExpSchemaDiff_PermissionExprChanged)(nil) } - size := m.SizeVT() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBufferVT(dAtA[:size]) - if err != nil { - return nil, err + r := &ExpSchemaDiff_PermissionExprChanged{ + PermissionExprChanged: m.PermissionExprChanged.CloneVT(), } - return dAtA[:n], nil -} - -func (m *BulkExportRelationshipsRequest) MarshalToVT(dAtA []byte) (int, error) { - size := m.SizeVT() - return m.MarshalToSizedBufferVT(dAtA[:size]) + return r } -func (m *BulkExportRelationshipsRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error) { +func (m *ExpSchemaDiff_CaveatAdded) CloneVT() isExpSchemaDiff_Diff { if m == nil { - return 0, nil - } - i := len(dAtA) - _ = i - var l int - _ = l - if m.unknownFields != nil { - i -= len(m.unknownFields) - copy(dAtA[i:], m.unknownFields) - } - if m.OptionalRelationshipFilter != nil { - size, err := m.OptionalRelationshipFilter.MarshalToSizedBufferVT(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = encodeVarint(dAtA, i, uint64(size)) - i-- - dAtA[i] = 0x22 - } - if m.OptionalCursor != nil { - size, err := m.OptionalCursor.MarshalToSizedBufferVT(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = encodeVarint(dAtA, i, uint64(size)) - i-- - dAtA[i] = 0x1a - } - if m.OptionalLimit != 0 { - i = encodeVarint(dAtA, i, uint64(m.OptionalLimit)) - i-- - dAtA[i] = 0x10 + return (*ExpSchemaDiff_CaveatAdded)(nil) } - if m.Consistency != nil { - size, err := m.Consistency.MarshalToSizedBufferVT(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = encodeVarint(dAtA, i, uint64(size)) - i-- - dAtA[i] = 0xa + r := &ExpSchemaDiff_CaveatAdded{ + CaveatAdded: m.CaveatAdded.CloneVT(), } - return len(dAtA) - i, nil + return r } -func (m *BulkExportRelationshipsResponse) MarshalVT() (dAtA []byte, err error) { +func (m *ExpSchemaDiff_CaveatRemoved) CloneVT() isExpSchemaDiff_Diff { if m == nil { - return nil, nil + return (*ExpSchemaDiff_CaveatRemoved)(nil) } - size := m.SizeVT() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBufferVT(dAtA[:size]) - if err != nil { - return nil, err + r := &ExpSchemaDiff_CaveatRemoved{ + CaveatRemoved: m.CaveatRemoved.CloneVT(), } - return dAtA[:n], nil -} - -func (m *BulkExportRelationshipsResponse) MarshalToVT(dAtA []byte) (int, error) { - size := m.SizeVT() - return m.MarshalToSizedBufferVT(dAtA[:size]) + return r } -func (m *BulkExportRelationshipsResponse) MarshalToSizedBufferVT(dAtA []byte) (int, error) { +func (m *ExpSchemaDiff_CaveatDocCommentChanged) CloneVT() isExpSchemaDiff_Diff { if m == nil { - return 0, nil - } - i := len(dAtA) - _ = i - var l int - _ = l - if m.unknownFields != nil { - i -= len(m.unknownFields) - copy(dAtA[i:], m.unknownFields) - } - if len(m.Relationships) > 0 { - for iNdEx := len(m.Relationships) - 1; iNdEx >= 0; iNdEx-- { - size, err := m.Relationships[iNdEx].MarshalToSizedBufferVT(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = encodeVarint(dAtA, i, uint64(size)) - i-- - dAtA[i] = 0x12 - } + return (*ExpSchemaDiff_CaveatDocCommentChanged)(nil) } - if m.AfterResultCursor != nil { - size, err := m.AfterResultCursor.MarshalToSizedBufferVT(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = encodeVarint(dAtA, i, uint64(size)) - i-- - dAtA[i] = 0xa + r := &ExpSchemaDiff_CaveatDocCommentChanged{ + CaveatDocCommentChanged: m.CaveatDocCommentChanged.CloneVT(), } - return len(dAtA) - i, nil + return r } -func (m *BulkCheckPermissionRequest) SizeVT() (n int) { +func (m *ExpSchemaDiff_CaveatExprChanged) CloneVT() isExpSchemaDiff_Diff { if m == nil { - return 0 - } - var l int - _ = l - if m.Consistency != nil { - l = m.Consistency.SizeVT() - n += 1 + l + sov(uint64(l)) + return (*ExpSchemaDiff_CaveatExprChanged)(nil) } - if len(m.Items) > 0 { - for _, e := range m.Items { - l = e.SizeVT() - n += 1 + l + sov(uint64(l)) - } + r := &ExpSchemaDiff_CaveatExprChanged{ + CaveatExprChanged: m.CaveatExprChanged.CloneVT(), } - n += len(m.unknownFields) - return n + return r } -func (m *BulkCheckPermissionRequestItem) SizeVT() (n int) { +func (m *ExpSchemaDiff_CaveatParameterAdded) CloneVT() isExpSchemaDiff_Diff { if m == nil { - return 0 - } - var l int - _ = l - if m.Resource != nil { - l = m.Resource.SizeVT() - n += 1 + l + sov(uint64(l)) - } - l = len(m.Permission) - if l > 0 { - n += 1 + l + sov(uint64(l)) - } - if m.Subject != nil { - l = m.Subject.SizeVT() - n += 1 + l + sov(uint64(l)) + return (*ExpSchemaDiff_CaveatParameterAdded)(nil) } - if m.Context != nil { - if size, ok := interface{}(m.Context).(interface { - SizeVT() int - }); ok { - l = size.SizeVT() - } else { - l = proto.Size(m.Context) - } - n += 1 + l + sov(uint64(l)) + r := &ExpSchemaDiff_CaveatParameterAdded{ + CaveatParameterAdded: m.CaveatParameterAdded.CloneVT(), } - n += len(m.unknownFields) - return n + return r } -func (m *BulkCheckPermissionResponse) SizeVT() (n int) { +func (m *ExpSchemaDiff_CaveatParameterRemoved) CloneVT() isExpSchemaDiff_Diff { if m == nil { - return 0 + return (*ExpSchemaDiff_CaveatParameterRemoved)(nil) } - var l int - _ = l - if m.CheckedAt != nil { - l = m.CheckedAt.SizeVT() - n += 1 + l + sov(uint64(l)) - } - if len(m.Pairs) > 0 { - for _, e := range m.Pairs { - l = e.SizeVT() - n += 1 + l + sov(uint64(l)) - } + r := &ExpSchemaDiff_CaveatParameterRemoved{ + CaveatParameterRemoved: m.CaveatParameterRemoved.CloneVT(), } - n += len(m.unknownFields) - return n + return r } -func (m *BulkCheckPermissionPair) SizeVT() (n int) { +func (m *ExpSchemaDiff_CaveatParameterTypeChanged) CloneVT() isExpSchemaDiff_Diff { if m == nil { - return 0 + return (*ExpSchemaDiff_CaveatParameterTypeChanged)(nil) } - var l int - _ = l - if m.Request != nil { - l = m.Request.SizeVT() - n += 1 + l + sov(uint64(l)) - } - if vtmsg, ok := m.Response.(interface{ SizeVT() int }); ok { - n += vtmsg.SizeVT() + r := &ExpSchemaDiff_CaveatParameterTypeChanged{ + CaveatParameterTypeChanged: m.CaveatParameterTypeChanged.CloneVT(), } - n += len(m.unknownFields) - return n + return r } -func (m *BulkCheckPermissionPair_Item) SizeVT() (n int) { - if m == nil { - return 0 +func (this *BulkCheckPermissionRequest) EqualVT(that *BulkCheckPermissionRequest) bool { + if this == that { + return true + } else if this == nil || that == nil { + return false } - var l int - _ = l - if m.Item != nil { - l = m.Item.SizeVT() - n += 1 + l + sov(uint64(l)) + if !this.Consistency.EqualVT(that.Consistency) { + return false } - return n -} -func (m *BulkCheckPermissionPair_Error) SizeVT() (n int) { - if m == nil { - return 0 + if len(this.Items) != len(that.Items) { + return false } - var l int - _ = l - if m.Error != nil { - if size, ok := interface{}(m.Error).(interface { - SizeVT() int - }); ok { - l = size.SizeVT() - } else { - l = proto.Size(m.Error) + for i, vx := range this.Items { + vy := that.Items[i] + if p, q := vx, vy; p != q { + if p == nil { + p = &BulkCheckPermissionRequestItem{} + } + if q == nil { + q = &BulkCheckPermissionRequestItem{} + } + if !p.EqualVT(q) { + return false + } } - n += 1 + l + sov(uint64(l)) } - return n + return string(this.unknownFields) == string(that.unknownFields) } -func (m *BulkCheckPermissionResponseItem) SizeVT() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - if m.Permissionship != 0 { - n += 1 + sov(uint64(m.Permissionship)) - } - if m.PartialCaveatInfo != nil { - l = m.PartialCaveatInfo.SizeVT() - n += 1 + l + sov(uint64(l)) + +func (this *BulkCheckPermissionRequest) EqualMessageVT(thatMsg proto.Message) bool { + that, ok := thatMsg.(*BulkCheckPermissionRequest) + if !ok { + return false } - n += len(m.unknownFields) - return n + return this.EqualVT(that) } - -func (m *BulkImportRelationshipsRequest) SizeVT() (n int) { - if m == nil { - return 0 +func (this *BulkCheckPermissionRequestItem) EqualVT(that *BulkCheckPermissionRequestItem) bool { + if this == that { + return true + } else if this == nil || that == nil { + return false } - var l int - _ = l - if len(m.Relationships) > 0 { - for _, e := range m.Relationships { - l = e.SizeVT() - n += 1 + l + sov(uint64(l)) + if !this.Resource.EqualVT(that.Resource) { + return false + } + if this.Permission != that.Permission { + return false + } + if !this.Subject.EqualVT(that.Subject) { + return false + } + if equal, ok := interface{}(this.Context).(interface{ EqualVT(*structpb.Struct) bool }); ok { + if !equal.EqualVT(that.Context) { + return false } + } else if !proto.Equal(this.Context, that.Context) { + return false } - n += len(m.unknownFields) - return n + return string(this.unknownFields) == string(that.unknownFields) } -func (m *BulkImportRelationshipsResponse) SizeVT() (n int) { - if m == nil { - return 0 +func (this *BulkCheckPermissionRequestItem) EqualMessageVT(thatMsg proto.Message) bool { + that, ok := thatMsg.(*BulkCheckPermissionRequestItem) + if !ok { + return false } - var l int - _ = l - if m.NumLoaded != 0 { - n += 1 + sov(uint64(m.NumLoaded)) + return this.EqualVT(that) +} +func (this *BulkCheckPermissionResponse) EqualVT(that *BulkCheckPermissionResponse) bool { + if this == that { + return true + } else if this == nil || that == nil { + return false } - n += len(m.unknownFields) - return n + if !this.CheckedAt.EqualVT(that.CheckedAt) { + return false + } + if len(this.Pairs) != len(that.Pairs) { + return false + } + for i, vx := range this.Pairs { + vy := that.Pairs[i] + if p, q := vx, vy; p != q { + if p == nil { + p = &BulkCheckPermissionPair{} + } + if q == nil { + q = &BulkCheckPermissionPair{} + } + if !p.EqualVT(q) { + return false + } + } + } + return string(this.unknownFields) == string(that.unknownFields) } -func (m *BulkExportRelationshipsRequest) SizeVT() (n int) { - if m == nil { - return 0 +func (this *BulkCheckPermissionResponse) EqualMessageVT(thatMsg proto.Message) bool { + that, ok := thatMsg.(*BulkCheckPermissionResponse) + if !ok { + return false } - var l int - _ = l - if m.Consistency != nil { - l = m.Consistency.SizeVT() - n += 1 + l + sov(uint64(l)) + return this.EqualVT(that) +} +func (this *BulkCheckPermissionPair) EqualVT(that *BulkCheckPermissionPair) bool { + if this == that { + return true + } else if this == nil || that == nil { + return false } - if m.OptionalLimit != 0 { - n += 1 + sov(uint64(m.OptionalLimit)) + if this.Response == nil && that.Response != nil { + return false + } else if this.Response != nil { + if that.Response == nil { + return false + } + if !this.Response.(interface { + EqualVT(isBulkCheckPermissionPair_Response) bool + }).EqualVT(that.Response) { + return false + } } - if m.OptionalCursor != nil { - l = m.OptionalCursor.SizeVT() - n += 1 + l + sov(uint64(l)) + if !this.Request.EqualVT(that.Request) { + return false } - if m.OptionalRelationshipFilter != nil { - l = m.OptionalRelationshipFilter.SizeVT() - n += 1 + l + sov(uint64(l)) + return string(this.unknownFields) == string(that.unknownFields) +} + +func (this *BulkCheckPermissionPair) EqualMessageVT(thatMsg proto.Message) bool { + that, ok := thatMsg.(*BulkCheckPermissionPair) + if !ok { + return false } - n += len(m.unknownFields) - return n + return this.EqualVT(that) +} +func (this *BulkCheckPermissionPair_Item) EqualVT(thatIface isBulkCheckPermissionPair_Response) bool { + that, ok := thatIface.(*BulkCheckPermissionPair_Item) + if !ok { + return false + } + if this == that { + return true + } + if this == nil && that != nil || this != nil && that == nil { + return false + } + if p, q := this.Item, that.Item; p != q { + if p == nil { + p = &BulkCheckPermissionResponseItem{} + } + if q == nil { + q = &BulkCheckPermissionResponseItem{} + } + if !p.EqualVT(q) { + return false + } + } + return true } -func (m *BulkExportRelationshipsResponse) SizeVT() (n int) { - if m == nil { - return 0 +func (this *BulkCheckPermissionPair_Error) EqualVT(thatIface isBulkCheckPermissionPair_Response) bool { + that, ok := thatIface.(*BulkCheckPermissionPair_Error) + if !ok { + return false } - var l int - _ = l - if m.AfterResultCursor != nil { - l = m.AfterResultCursor.SizeVT() - n += 1 + l + sov(uint64(l)) + if this == that { + return true } - if len(m.Relationships) > 0 { - for _, e := range m.Relationships { - l = e.SizeVT() - n += 1 + l + sov(uint64(l)) + if this == nil && that != nil || this != nil && that == nil { + return false + } + if p, q := this.Error, that.Error; p != q { + if p == nil { + p = &status.Status{} + } + if q == nil { + q = &status.Status{} + } + if equal, ok := interface{}(p).(interface{ EqualVT(*status.Status) bool }); ok { + if !equal.EqualVT(q) { + return false + } + } else if !proto.Equal(p, q) { + return false + } + } + return true +} + +func (this *BulkCheckPermissionResponseItem) EqualVT(that *BulkCheckPermissionResponseItem) bool { + if this == that { + return true + } else if this == nil || that == nil { + return false + } + if this.Permissionship != that.Permissionship { + return false + } + if !this.PartialCaveatInfo.EqualVT(that.PartialCaveatInfo) { + return false + } + return string(this.unknownFields) == string(that.unknownFields) +} + +func (this *BulkCheckPermissionResponseItem) EqualMessageVT(thatMsg proto.Message) bool { + that, ok := thatMsg.(*BulkCheckPermissionResponseItem) + if !ok { + return false + } + return this.EqualVT(that) +} +func (this *BulkImportRelationshipsRequest) EqualVT(that *BulkImportRelationshipsRequest) bool { + if this == that { + return true + } else if this == nil || that == nil { + return false + } + if len(this.Relationships) != len(that.Relationships) { + return false + } + for i, vx := range this.Relationships { + vy := that.Relationships[i] + if p, q := vx, vy; p != q { + if p == nil { + p = &Relationship{} + } + if q == nil { + q = &Relationship{} + } + if !p.EqualVT(q) { + return false + } + } + } + return string(this.unknownFields) == string(that.unknownFields) +} + +func (this *BulkImportRelationshipsRequest) EqualMessageVT(thatMsg proto.Message) bool { + that, ok := thatMsg.(*BulkImportRelationshipsRequest) + if !ok { + return false + } + return this.EqualVT(that) +} +func (this *BulkImportRelationshipsResponse) EqualVT(that *BulkImportRelationshipsResponse) bool { + if this == that { + return true + } else if this == nil || that == nil { + return false + } + if this.NumLoaded != that.NumLoaded { + return false + } + return string(this.unknownFields) == string(that.unknownFields) +} + +func (this *BulkImportRelationshipsResponse) EqualMessageVT(thatMsg proto.Message) bool { + that, ok := thatMsg.(*BulkImportRelationshipsResponse) + if !ok { + return false + } + return this.EqualVT(that) +} +func (this *BulkExportRelationshipsRequest) EqualVT(that *BulkExportRelationshipsRequest) bool { + if this == that { + return true + } else if this == nil || that == nil { + return false + } + if !this.Consistency.EqualVT(that.Consistency) { + return false + } + if this.OptionalLimit != that.OptionalLimit { + return false + } + if !this.OptionalCursor.EqualVT(that.OptionalCursor) { + return false + } + if !this.OptionalRelationshipFilter.EqualVT(that.OptionalRelationshipFilter) { + return false + } + return string(this.unknownFields) == string(that.unknownFields) +} + +func (this *BulkExportRelationshipsRequest) EqualMessageVT(thatMsg proto.Message) bool { + that, ok := thatMsg.(*BulkExportRelationshipsRequest) + if !ok { + return false + } + return this.EqualVT(that) +} +func (this *BulkExportRelationshipsResponse) EqualVT(that *BulkExportRelationshipsResponse) bool { + if this == that { + return true + } else if this == nil || that == nil { + return false + } + if !this.AfterResultCursor.EqualVT(that.AfterResultCursor) { + return false + } + if len(this.Relationships) != len(that.Relationships) { + return false + } + for i, vx := range this.Relationships { + vy := that.Relationships[i] + if p, q := vx, vy; p != q { + if p == nil { + p = &Relationship{} + } + if q == nil { + q = &Relationship{} + } + if !p.EqualVT(q) { + return false + } + } + } + return string(this.unknownFields) == string(that.unknownFields) +} + +func (this *BulkExportRelationshipsResponse) EqualMessageVT(thatMsg proto.Message) bool { + that, ok := thatMsg.(*BulkExportRelationshipsResponse) + if !ok { + return false + } + return this.EqualVT(that) +} +func (this *ExperimentalReflectSchemaRequest) EqualVT(that *ExperimentalReflectSchemaRequest) bool { + if this == that { + return true + } else if this == nil || that == nil { + return false + } + if !this.Consistency.EqualVT(that.Consistency) { + return false + } + if len(this.OptionalFilters) != len(that.OptionalFilters) { + return false + } + for i, vx := range this.OptionalFilters { + vy := that.OptionalFilters[i] + if p, q := vx, vy; p != q { + if p == nil { + p = &ExpSchemaFilter{} + } + if q == nil { + q = &ExpSchemaFilter{} + } + if !p.EqualVT(q) { + return false + } + } + } + return string(this.unknownFields) == string(that.unknownFields) +} + +func (this *ExperimentalReflectSchemaRequest) EqualMessageVT(thatMsg proto.Message) bool { + that, ok := thatMsg.(*ExperimentalReflectSchemaRequest) + if !ok { + return false + } + return this.EqualVT(that) +} +func (this *ExperimentalReflectSchemaResponse) EqualVT(that *ExperimentalReflectSchemaResponse) bool { + if this == that { + return true + } else if this == nil || that == nil { + return false + } + if len(this.Definitions) != len(that.Definitions) { + return false + } + for i, vx := range this.Definitions { + vy := that.Definitions[i] + if p, q := vx, vy; p != q { + if p == nil { + p = &ExpDefinition{} + } + if q == nil { + q = &ExpDefinition{} + } + if !p.EqualVT(q) { + return false + } + } + } + if len(this.Caveats) != len(that.Caveats) { + return false + } + for i, vx := range this.Caveats { + vy := that.Caveats[i] + if p, q := vx, vy; p != q { + if p == nil { + p = &ExpCaveat{} + } + if q == nil { + q = &ExpCaveat{} + } + if !p.EqualVT(q) { + return false + } + } + } + if !this.ReadAt.EqualVT(that.ReadAt) { + return false + } + return string(this.unknownFields) == string(that.unknownFields) +} + +func (this *ExperimentalReflectSchemaResponse) EqualMessageVT(thatMsg proto.Message) bool { + that, ok := thatMsg.(*ExperimentalReflectSchemaResponse) + if !ok { + return false + } + return this.EqualVT(that) +} +func (this *ExpSchemaFilter) EqualVT(that *ExpSchemaFilter) bool { + if this == that { + return true + } else if this == nil || that == nil { + return false + } + if this.OptionalDefinitionNameMatch != that.OptionalDefinitionNameMatch { + return false + } + if this.OptionalRelationOrPermissionNameMatch != that.OptionalRelationOrPermissionNameMatch { + return false + } + if len(this.KindFilters) != len(that.KindFilters) { + return false + } + for i, vx := range this.KindFilters { + vy := that.KindFilters[i] + if vx != vy { + return false + } + } + return string(this.unknownFields) == string(that.unknownFields) +} + +func (this *ExpSchemaFilter) EqualMessageVT(thatMsg proto.Message) bool { + that, ok := thatMsg.(*ExpSchemaFilter) + if !ok { + return false + } + return this.EqualVT(that) +} +func (this *ExpDefinition) EqualVT(that *ExpDefinition) bool { + if this == that { + return true + } else if this == nil || that == nil { + return false + } + if this.Name != that.Name { + return false + } + if this.Comment != that.Comment { + return false + } + if len(this.Relations) != len(that.Relations) { + return false + } + for i, vx := range this.Relations { + vy := that.Relations[i] + if p, q := vx, vy; p != q { + if p == nil { + p = &ExpRelation{} + } + if q == nil { + q = &ExpRelation{} + } + if !p.EqualVT(q) { + return false + } + } + } + if len(this.Permissions) != len(that.Permissions) { + return false + } + for i, vx := range this.Permissions { + vy := that.Permissions[i] + if p, q := vx, vy; p != q { + if p == nil { + p = &ExpPermission{} + } + if q == nil { + q = &ExpPermission{} + } + if !p.EqualVT(q) { + return false + } + } + } + return string(this.unknownFields) == string(that.unknownFields) +} + +func (this *ExpDefinition) EqualMessageVT(thatMsg proto.Message) bool { + that, ok := thatMsg.(*ExpDefinition) + if !ok { + return false + } + return this.EqualVT(that) +} +func (this *ExpCaveat) EqualVT(that *ExpCaveat) bool { + if this == that { + return true + } else if this == nil || that == nil { + return false + } + if this.Name != that.Name { + return false + } + if this.Comment != that.Comment { + return false + } + if len(this.Parameters) != len(that.Parameters) { + return false + } + for i, vx := range this.Parameters { + vy := that.Parameters[i] + if p, q := vx, vy; p != q { + if p == nil { + p = &ExpCaveatParameter{} + } + if q == nil { + q = &ExpCaveatParameter{} + } + if !p.EqualVT(q) { + return false + } + } + } + if this.Expression != that.Expression { + return false + } + return string(this.unknownFields) == string(that.unknownFields) +} + +func (this *ExpCaveat) EqualMessageVT(thatMsg proto.Message) bool { + that, ok := thatMsg.(*ExpCaveat) + if !ok { + return false + } + return this.EqualVT(that) +} +func (this *ExpCaveatParameter) EqualVT(that *ExpCaveatParameter) bool { + if this == that { + return true + } else if this == nil || that == nil { + return false + } + if this.Name != that.Name { + return false + } + if this.Type != that.Type { + return false + } + if this.ParentCaveatName != that.ParentCaveatName { + return false + } + return string(this.unknownFields) == string(that.unknownFields) +} + +func (this *ExpCaveatParameter) EqualMessageVT(thatMsg proto.Message) bool { + that, ok := thatMsg.(*ExpCaveatParameter) + if !ok { + return false + } + return this.EqualVT(that) +} +func (this *ExpRelation) EqualVT(that *ExpRelation) bool { + if this == that { + return true + } else if this == nil || that == nil { + return false + } + if this.Name != that.Name { + return false + } + if this.Comment != that.Comment { + return false + } + if this.ParentDefinitionName != that.ParentDefinitionName { + return false + } + if len(this.SubjectTypes) != len(that.SubjectTypes) { + return false + } + for i, vx := range this.SubjectTypes { + vy := that.SubjectTypes[i] + if p, q := vx, vy; p != q { + if p == nil { + p = &ExpTypeReference{} + } + if q == nil { + q = &ExpTypeReference{} + } + if !p.EqualVT(q) { + return false + } + } + } + return string(this.unknownFields) == string(that.unknownFields) +} + +func (this *ExpRelation) EqualMessageVT(thatMsg proto.Message) bool { + that, ok := thatMsg.(*ExpRelation) + if !ok { + return false + } + return this.EqualVT(that) +} +func (this *ExpTypeReference) EqualVT(that *ExpTypeReference) bool { + if this == that { + return true + } else if this == nil || that == nil { + return false + } + if this.Typeref == nil && that.Typeref != nil { + return false + } else if this.Typeref != nil { + if that.Typeref == nil { + return false + } + if !this.Typeref.(interface { + EqualVT(isExpTypeReference_Typeref) bool + }).EqualVT(that.Typeref) { + return false + } + } + if this.SubjectDefinitionName != that.SubjectDefinitionName { + return false + } + if this.OptionalCaveatName != that.OptionalCaveatName { + return false + } + return string(this.unknownFields) == string(that.unknownFields) +} + +func (this *ExpTypeReference) EqualMessageVT(thatMsg proto.Message) bool { + that, ok := thatMsg.(*ExpTypeReference) + if !ok { + return false + } + return this.EqualVT(that) +} +func (this *ExpTypeReference_IsTerminalSubject) EqualVT(thatIface isExpTypeReference_Typeref) bool { + that, ok := thatIface.(*ExpTypeReference_IsTerminalSubject) + if !ok { + return false + } + if this == that { + return true + } + if this == nil && that != nil || this != nil && that == nil { + return false + } + if this.IsTerminalSubject != that.IsTerminalSubject { + return false + } + return true +} + +func (this *ExpTypeReference_OptionalRelationName) EqualVT(thatIface isExpTypeReference_Typeref) bool { + that, ok := thatIface.(*ExpTypeReference_OptionalRelationName) + if !ok { + return false + } + if this == that { + return true + } + if this == nil && that != nil || this != nil && that == nil { + return false + } + if this.OptionalRelationName != that.OptionalRelationName { + return false + } + return true +} + +func (this *ExpTypeReference_IsPublicWildcard) EqualVT(thatIface isExpTypeReference_Typeref) bool { + that, ok := thatIface.(*ExpTypeReference_IsPublicWildcard) + if !ok { + return false + } + if this == that { + return true + } + if this == nil && that != nil || this != nil && that == nil { + return false + } + if this.IsPublicWildcard != that.IsPublicWildcard { + return false + } + return true +} + +func (this *ExpPermission) EqualVT(that *ExpPermission) bool { + if this == that { + return true + } else if this == nil || that == nil { + return false + } + if this.Name != that.Name { + return false + } + if this.Comment != that.Comment { + return false + } + if this.ParentDefinitionName != that.ParentDefinitionName { + return false + } + return string(this.unknownFields) == string(that.unknownFields) +} + +func (this *ExpPermission) EqualMessageVT(thatMsg proto.Message) bool { + that, ok := thatMsg.(*ExpPermission) + if !ok { + return false + } + return this.EqualVT(that) +} +func (this *ExperimentalComputablePermissionsRequest) EqualVT(that *ExperimentalComputablePermissionsRequest) bool { + if this == that { + return true + } else if this == nil || that == nil { + return false + } + if !this.Consistency.EqualVT(that.Consistency) { + return false + } + if len(this.Relations) != len(that.Relations) { + return false + } + for i, vx := range this.Relations { + vy := that.Relations[i] + if p, q := vx, vy; p != q { + if p == nil { + p = &ExpRelationReference{} + } + if q == nil { + q = &ExpRelationReference{} + } + if !p.EqualVT(q) { + return false + } + } + } + if this.OptionalDefinitionNameMatch != that.OptionalDefinitionNameMatch { + return false + } + return string(this.unknownFields) == string(that.unknownFields) +} + +func (this *ExperimentalComputablePermissionsRequest) EqualMessageVT(thatMsg proto.Message) bool { + that, ok := thatMsg.(*ExperimentalComputablePermissionsRequest) + if !ok { + return false + } + return this.EqualVT(that) +} +func (this *ExpRelationReference) EqualVT(that *ExpRelationReference) bool { + if this == that { + return true + } else if this == nil || that == nil { + return false + } + if this.DefinitionName != that.DefinitionName { + return false + } + if this.RelationName != that.RelationName { + return false + } + return string(this.unknownFields) == string(that.unknownFields) +} + +func (this *ExpRelationReference) EqualMessageVT(thatMsg proto.Message) bool { + that, ok := thatMsg.(*ExpRelationReference) + if !ok { + return false + } + return this.EqualVT(that) +} +func (this *ExpPermissionReference) EqualVT(that *ExpPermissionReference) bool { + if this == that { + return true + } else if this == nil || that == nil { + return false + } + if this.DefinitionName != that.DefinitionName { + return false + } + if this.RelationName != that.RelationName { + return false + } + return string(this.unknownFields) == string(that.unknownFields) +} + +func (this *ExpPermissionReference) EqualMessageVT(thatMsg proto.Message) bool { + that, ok := thatMsg.(*ExpPermissionReference) + if !ok { + return false + } + return this.EqualVT(that) +} +func (this *ExperimentalComputablePermissionsResponse) EqualVT(that *ExperimentalComputablePermissionsResponse) bool { + if this == that { + return true + } else if this == nil || that == nil { + return false + } + if len(this.Permissions) != len(that.Permissions) { + return false + } + for i, vx := range this.Permissions { + vy := that.Permissions[i] + if p, q := vx, vy; p != q { + if p == nil { + p = &ExpPermissionReference{} + } + if q == nil { + q = &ExpPermissionReference{} + } + if !p.EqualVT(q) { + return false + } + } + } + if !this.ReadAt.EqualVT(that.ReadAt) { + return false + } + return string(this.unknownFields) == string(that.unknownFields) +} + +func (this *ExperimentalComputablePermissionsResponse) EqualMessageVT(thatMsg proto.Message) bool { + that, ok := thatMsg.(*ExperimentalComputablePermissionsResponse) + if !ok { + return false + } + return this.EqualVT(that) +} +func (this *ExperimentalDependentRelationsRequest) EqualVT(that *ExperimentalDependentRelationsRequest) bool { + if this == that { + return true + } else if this == nil || that == nil { + return false + } + if !this.Consistency.EqualVT(that.Consistency) { + return false + } + if !this.Permission.EqualVT(that.Permission) { + return false + } + return string(this.unknownFields) == string(that.unknownFields) +} + +func (this *ExperimentalDependentRelationsRequest) EqualMessageVT(thatMsg proto.Message) bool { + that, ok := thatMsg.(*ExperimentalDependentRelationsRequest) + if !ok { + return false + } + return this.EqualVT(that) +} +func (this *ExperimentalDependentRelationsResponse) EqualVT(that *ExperimentalDependentRelationsResponse) bool { + if this == that { + return true + } else if this == nil || that == nil { + return false + } + if len(this.Relations) != len(that.Relations) { + return false + } + for i, vx := range this.Relations { + vy := that.Relations[i] + if p, q := vx, vy; p != q { + if p == nil { + p = &ExpRelationReference{} + } + if q == nil { + q = &ExpRelationReference{} + } + if !p.EqualVT(q) { + return false + } + } + } + if !this.ReadAt.EqualVT(that.ReadAt) { + return false + } + return string(this.unknownFields) == string(that.unknownFields) +} + +func (this *ExperimentalDependentRelationsResponse) EqualMessageVT(thatMsg proto.Message) bool { + that, ok := thatMsg.(*ExperimentalDependentRelationsResponse) + if !ok { + return false + } + return this.EqualVT(that) +} +func (this *ExperimentalSchemaDiffRequest) EqualVT(that *ExperimentalSchemaDiffRequest) bool { + if this == that { + return true + } else if this == nil || that == nil { + return false + } + if !this.Consistency.EqualVT(that.Consistency) { + return false + } + if this.ComparisonSchema != that.ComparisonSchema { + return false + } + return string(this.unknownFields) == string(that.unknownFields) +} + +func (this *ExperimentalSchemaDiffRequest) EqualMessageVT(thatMsg proto.Message) bool { + that, ok := thatMsg.(*ExperimentalSchemaDiffRequest) + if !ok { + return false + } + return this.EqualVT(that) +} +func (this *ExperimentalSchemaDiffResponse) EqualVT(that *ExperimentalSchemaDiffResponse) bool { + if this == that { + return true + } else if this == nil || that == nil { + return false + } + if len(this.Diffs) != len(that.Diffs) { + return false + } + for i, vx := range this.Diffs { + vy := that.Diffs[i] + if p, q := vx, vy; p != q { + if p == nil { + p = &ExpSchemaDiff{} + } + if q == nil { + q = &ExpSchemaDiff{} + } + if !p.EqualVT(q) { + return false + } + } + } + if !this.ReadAt.EqualVT(that.ReadAt) { + return false + } + return string(this.unknownFields) == string(that.unknownFields) +} + +func (this *ExperimentalSchemaDiffResponse) EqualMessageVT(thatMsg proto.Message) bool { + that, ok := thatMsg.(*ExperimentalSchemaDiffResponse) + if !ok { + return false + } + return this.EqualVT(that) +} +func (this *ExpSchemaDiff) EqualVT(that *ExpSchemaDiff) bool { + if this == that { + return true + } else if this == nil || that == nil { + return false + } + if this.Diff == nil && that.Diff != nil { + return false + } else if this.Diff != nil { + if that.Diff == nil { + return false + } + if !this.Diff.(interface { + EqualVT(isExpSchemaDiff_Diff) bool + }).EqualVT(that.Diff) { + return false + } + } + return string(this.unknownFields) == string(that.unknownFields) +} + +func (this *ExpSchemaDiff) EqualMessageVT(thatMsg proto.Message) bool { + that, ok := thatMsg.(*ExpSchemaDiff) + if !ok { + return false + } + return this.EqualVT(that) +} +func (this *ExpSchemaDiff_DefinitionAdded) EqualVT(thatIface isExpSchemaDiff_Diff) bool { + that, ok := thatIface.(*ExpSchemaDiff_DefinitionAdded) + if !ok { + return false + } + if this == that { + return true + } + if this == nil && that != nil || this != nil && that == nil { + return false + } + if p, q := this.DefinitionAdded, that.DefinitionAdded; p != q { + if p == nil { + p = &ExpDefinition{} + } + if q == nil { + q = &ExpDefinition{} + } + if !p.EqualVT(q) { + return false + } + } + return true +} + +func (this *ExpSchemaDiff_DefinitionRemoved) EqualVT(thatIface isExpSchemaDiff_Diff) bool { + that, ok := thatIface.(*ExpSchemaDiff_DefinitionRemoved) + if !ok { + return false + } + if this == that { + return true + } + if this == nil && that != nil || this != nil && that == nil { + return false + } + if p, q := this.DefinitionRemoved, that.DefinitionRemoved; p != q { + if p == nil { + p = &ExpDefinition{} + } + if q == nil { + q = &ExpDefinition{} + } + if !p.EqualVT(q) { + return false + } + } + return true +} + +func (this *ExpSchemaDiff_DefinitionDocCommentChanged) EqualVT(thatIface isExpSchemaDiff_Diff) bool { + that, ok := thatIface.(*ExpSchemaDiff_DefinitionDocCommentChanged) + if !ok { + return false + } + if this == that { + return true + } + if this == nil && that != nil || this != nil && that == nil { + return false + } + if p, q := this.DefinitionDocCommentChanged, that.DefinitionDocCommentChanged; p != q { + if p == nil { + p = &ExpDefinition{} + } + if q == nil { + q = &ExpDefinition{} + } + if !p.EqualVT(q) { + return false + } + } + return true +} + +func (this *ExpSchemaDiff_RelationAdded) EqualVT(thatIface isExpSchemaDiff_Diff) bool { + that, ok := thatIface.(*ExpSchemaDiff_RelationAdded) + if !ok { + return false + } + if this == that { + return true + } + if this == nil && that != nil || this != nil && that == nil { + return false + } + if p, q := this.RelationAdded, that.RelationAdded; p != q { + if p == nil { + p = &ExpRelation{} + } + if q == nil { + q = &ExpRelation{} + } + if !p.EqualVT(q) { + return false + } + } + return true +} + +func (this *ExpSchemaDiff_RelationRemoved) EqualVT(thatIface isExpSchemaDiff_Diff) bool { + that, ok := thatIface.(*ExpSchemaDiff_RelationRemoved) + if !ok { + return false + } + if this == that { + return true + } + if this == nil && that != nil || this != nil && that == nil { + return false + } + if p, q := this.RelationRemoved, that.RelationRemoved; p != q { + if p == nil { + p = &ExpRelation{} + } + if q == nil { + q = &ExpRelation{} + } + if !p.EqualVT(q) { + return false + } + } + return true +} + +func (this *ExpSchemaDiff_RelationDocCommentChanged) EqualVT(thatIface isExpSchemaDiff_Diff) bool { + that, ok := thatIface.(*ExpSchemaDiff_RelationDocCommentChanged) + if !ok { + return false + } + if this == that { + return true + } + if this == nil && that != nil || this != nil && that == nil { + return false + } + if p, q := this.RelationDocCommentChanged, that.RelationDocCommentChanged; p != q { + if p == nil { + p = &ExpRelation{} + } + if q == nil { + q = &ExpRelation{} + } + if !p.EqualVT(q) { + return false + } + } + return true +} + +func (this *ExpSchemaDiff_RelationTypeChanged) EqualVT(thatIface isExpSchemaDiff_Diff) bool { + that, ok := thatIface.(*ExpSchemaDiff_RelationTypeChanged) + if !ok { + return false + } + if this == that { + return true + } + if this == nil && that != nil || this != nil && that == nil { + return false + } + if p, q := this.RelationTypeChanged, that.RelationTypeChanged; p != q { + if p == nil { + p = &ExpRelation{} + } + if q == nil { + q = &ExpRelation{} + } + if !p.EqualVT(q) { + return false + } + } + return true +} + +func (this *ExpSchemaDiff_PermissionAdded) EqualVT(thatIface isExpSchemaDiff_Diff) bool { + that, ok := thatIface.(*ExpSchemaDiff_PermissionAdded) + if !ok { + return false + } + if this == that { + return true + } + if this == nil && that != nil || this != nil && that == nil { + return false + } + if p, q := this.PermissionAdded, that.PermissionAdded; p != q { + if p == nil { + p = &ExpPermission{} + } + if q == nil { + q = &ExpPermission{} + } + if !p.EqualVT(q) { + return false + } + } + return true +} + +func (this *ExpSchemaDiff_PermissionRemoved) EqualVT(thatIface isExpSchemaDiff_Diff) bool { + that, ok := thatIface.(*ExpSchemaDiff_PermissionRemoved) + if !ok { + return false + } + if this == that { + return true + } + if this == nil && that != nil || this != nil && that == nil { + return false + } + if p, q := this.PermissionRemoved, that.PermissionRemoved; p != q { + if p == nil { + p = &ExpPermission{} + } + if q == nil { + q = &ExpPermission{} + } + if !p.EqualVT(q) { + return false + } + } + return true +} + +func (this *ExpSchemaDiff_PermissionDocCommentChanged) EqualVT(thatIface isExpSchemaDiff_Diff) bool { + that, ok := thatIface.(*ExpSchemaDiff_PermissionDocCommentChanged) + if !ok { + return false + } + if this == that { + return true + } + if this == nil && that != nil || this != nil && that == nil { + return false + } + if p, q := this.PermissionDocCommentChanged, that.PermissionDocCommentChanged; p != q { + if p == nil { + p = &ExpPermission{} + } + if q == nil { + q = &ExpPermission{} + } + if !p.EqualVT(q) { + return false + } + } + return true +} + +func (this *ExpSchemaDiff_PermissionExprChanged) EqualVT(thatIface isExpSchemaDiff_Diff) bool { + that, ok := thatIface.(*ExpSchemaDiff_PermissionExprChanged) + if !ok { + return false + } + if this == that { + return true + } + if this == nil && that != nil || this != nil && that == nil { + return false + } + if p, q := this.PermissionExprChanged, that.PermissionExprChanged; p != q { + if p == nil { + p = &ExpPermission{} + } + if q == nil { + q = &ExpPermission{} + } + if !p.EqualVT(q) { + return false + } + } + return true +} + +func (this *ExpSchemaDiff_CaveatAdded) EqualVT(thatIface isExpSchemaDiff_Diff) bool { + that, ok := thatIface.(*ExpSchemaDiff_CaveatAdded) + if !ok { + return false + } + if this == that { + return true + } + if this == nil && that != nil || this != nil && that == nil { + return false + } + if p, q := this.CaveatAdded, that.CaveatAdded; p != q { + if p == nil { + p = &ExpCaveat{} + } + if q == nil { + q = &ExpCaveat{} + } + if !p.EqualVT(q) { + return false + } + } + return true +} + +func (this *ExpSchemaDiff_CaveatRemoved) EqualVT(thatIface isExpSchemaDiff_Diff) bool { + that, ok := thatIface.(*ExpSchemaDiff_CaveatRemoved) + if !ok { + return false + } + if this == that { + return true + } + if this == nil && that != nil || this != nil && that == nil { + return false + } + if p, q := this.CaveatRemoved, that.CaveatRemoved; p != q { + if p == nil { + p = &ExpCaveat{} + } + if q == nil { + q = &ExpCaveat{} + } + if !p.EqualVT(q) { + return false + } + } + return true +} + +func (this *ExpSchemaDiff_CaveatDocCommentChanged) EqualVT(thatIface isExpSchemaDiff_Diff) bool { + that, ok := thatIface.(*ExpSchemaDiff_CaveatDocCommentChanged) + if !ok { + return false + } + if this == that { + return true + } + if this == nil && that != nil || this != nil && that == nil { + return false + } + if p, q := this.CaveatDocCommentChanged, that.CaveatDocCommentChanged; p != q { + if p == nil { + p = &ExpCaveat{} + } + if q == nil { + q = &ExpCaveat{} + } + if !p.EqualVT(q) { + return false + } + } + return true +} + +func (this *ExpSchemaDiff_CaveatExprChanged) EqualVT(thatIface isExpSchemaDiff_Diff) bool { + that, ok := thatIface.(*ExpSchemaDiff_CaveatExprChanged) + if !ok { + return false + } + if this == that { + return true + } + if this == nil && that != nil || this != nil && that == nil { + return false + } + if p, q := this.CaveatExprChanged, that.CaveatExprChanged; p != q { + if p == nil { + p = &ExpCaveat{} + } + if q == nil { + q = &ExpCaveat{} + } + if !p.EqualVT(q) { + return false + } + } + return true +} + +func (this *ExpSchemaDiff_CaveatParameterAdded) EqualVT(thatIface isExpSchemaDiff_Diff) bool { + that, ok := thatIface.(*ExpSchemaDiff_CaveatParameterAdded) + if !ok { + return false + } + if this == that { + return true + } + if this == nil && that != nil || this != nil && that == nil { + return false + } + if p, q := this.CaveatParameterAdded, that.CaveatParameterAdded; p != q { + if p == nil { + p = &ExpCaveatParameter{} + } + if q == nil { + q = &ExpCaveatParameter{} + } + if !p.EqualVT(q) { + return false + } + } + return true +} + +func (this *ExpSchemaDiff_CaveatParameterRemoved) EqualVT(thatIface isExpSchemaDiff_Diff) bool { + that, ok := thatIface.(*ExpSchemaDiff_CaveatParameterRemoved) + if !ok { + return false + } + if this == that { + return true + } + if this == nil && that != nil || this != nil && that == nil { + return false + } + if p, q := this.CaveatParameterRemoved, that.CaveatParameterRemoved; p != q { + if p == nil { + p = &ExpCaveatParameter{} + } + if q == nil { + q = &ExpCaveatParameter{} + } + if !p.EqualVT(q) { + return false + } + } + return true +} + +func (this *ExpSchemaDiff_CaveatParameterTypeChanged) EqualVT(thatIface isExpSchemaDiff_Diff) bool { + that, ok := thatIface.(*ExpSchemaDiff_CaveatParameterTypeChanged) + if !ok { + return false + } + if this == that { + return true + } + if this == nil && that != nil || this != nil && that == nil { + return false + } + if p, q := this.CaveatParameterTypeChanged, that.CaveatParameterTypeChanged; p != q { + if p == nil { + p = &ExpCaveatParameter{} + } + if q == nil { + q = &ExpCaveatParameter{} + } + if !p.EqualVT(q) { + return false + } + } + return true +} + +func (m *BulkCheckPermissionRequest) MarshalVT() (dAtA []byte, err error) { + if m == nil { + return nil, nil + } + size := m.SizeVT() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBufferVT(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *BulkCheckPermissionRequest) MarshalToVT(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVT(dAtA[:size]) +} + +func (m *BulkCheckPermissionRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error) { + if m == nil { + return 0, nil + } + i := len(dAtA) + _ = i + var l int + _ = l + if m.unknownFields != nil { + i -= len(m.unknownFields) + copy(dAtA[i:], m.unknownFields) + } + if len(m.Items) > 0 { + for iNdEx := len(m.Items) - 1; iNdEx >= 0; iNdEx-- { + size, err := m.Items[iNdEx].MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x12 + } + } + if m.Consistency != nil { + size, err := m.Consistency.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0xa + } + return len(dAtA) - i, nil +} + +func (m *BulkCheckPermissionRequestItem) MarshalVT() (dAtA []byte, err error) { + if m == nil { + return nil, nil + } + size := m.SizeVT() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBufferVT(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *BulkCheckPermissionRequestItem) MarshalToVT(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVT(dAtA[:size]) +} + +func (m *BulkCheckPermissionRequestItem) MarshalToSizedBufferVT(dAtA []byte) (int, error) { + if m == nil { + return 0, nil + } + i := len(dAtA) + _ = i + var l int + _ = l + if m.unknownFields != nil { + i -= len(m.unknownFields) + copy(dAtA[i:], m.unknownFields) + } + if m.Context != nil { + if vtmsg, ok := interface{}(m.Context).(interface { + MarshalToSizedBufferVT([]byte) (int, error) + }); ok { + size, err := vtmsg.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarint(dAtA, i, uint64(size)) + } else { + encoded, err := proto.Marshal(m.Context) + if err != nil { + return 0, err + } + i -= len(encoded) + copy(dAtA[i:], encoded) + i = encodeVarint(dAtA, i, uint64(len(encoded))) + } + i-- + dAtA[i] = 0x22 + } + if m.Subject != nil { + size, err := m.Subject.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x1a + } + if len(m.Permission) > 0 { + i -= len(m.Permission) + copy(dAtA[i:], m.Permission) + i = encodeVarint(dAtA, i, uint64(len(m.Permission))) + i-- + dAtA[i] = 0x12 + } + if m.Resource != nil { + size, err := m.Resource.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0xa + } + return len(dAtA) - i, nil +} + +func (m *BulkCheckPermissionResponse) MarshalVT() (dAtA []byte, err error) { + if m == nil { + return nil, nil + } + size := m.SizeVT() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBufferVT(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *BulkCheckPermissionResponse) MarshalToVT(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVT(dAtA[:size]) +} + +func (m *BulkCheckPermissionResponse) MarshalToSizedBufferVT(dAtA []byte) (int, error) { + if m == nil { + return 0, nil + } + i := len(dAtA) + _ = i + var l int + _ = l + if m.unknownFields != nil { + i -= len(m.unknownFields) + copy(dAtA[i:], m.unknownFields) + } + if len(m.Pairs) > 0 { + for iNdEx := len(m.Pairs) - 1; iNdEx >= 0; iNdEx-- { + size, err := m.Pairs[iNdEx].MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x12 + } + } + if m.CheckedAt != nil { + size, err := m.CheckedAt.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0xa + } + return len(dAtA) - i, nil +} + +func (m *BulkCheckPermissionPair) MarshalVT() (dAtA []byte, err error) { + if m == nil { + return nil, nil + } + size := m.SizeVT() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBufferVT(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *BulkCheckPermissionPair) MarshalToVT(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVT(dAtA[:size]) +} + +func (m *BulkCheckPermissionPair) MarshalToSizedBufferVT(dAtA []byte) (int, error) { + if m == nil { + return 0, nil + } + i := len(dAtA) + _ = i + var l int + _ = l + if m.unknownFields != nil { + i -= len(m.unknownFields) + copy(dAtA[i:], m.unknownFields) + } + if vtmsg, ok := m.Response.(interface { + MarshalToSizedBufferVT([]byte) (int, error) + }); ok { + size, err := vtmsg.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + } + if m.Request != nil { + size, err := m.Request.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0xa + } + return len(dAtA) - i, nil +} + +func (m *BulkCheckPermissionPair_Item) MarshalToVT(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVT(dAtA[:size]) +} + +func (m *BulkCheckPermissionPair_Item) MarshalToSizedBufferVT(dAtA []byte) (int, error) { + i := len(dAtA) + if m.Item != nil { + size, err := m.Item.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x12 + } + return len(dAtA) - i, nil +} +func (m *BulkCheckPermissionPair_Error) MarshalToVT(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVT(dAtA[:size]) +} + +func (m *BulkCheckPermissionPair_Error) MarshalToSizedBufferVT(dAtA []byte) (int, error) { + i := len(dAtA) + if m.Error != nil { + if vtmsg, ok := interface{}(m.Error).(interface { + MarshalToSizedBufferVT([]byte) (int, error) + }); ok { + size, err := vtmsg.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarint(dAtA, i, uint64(size)) + } else { + encoded, err := proto.Marshal(m.Error) + if err != nil { + return 0, err + } + i -= len(encoded) + copy(dAtA[i:], encoded) + i = encodeVarint(dAtA, i, uint64(len(encoded))) + } + i-- + dAtA[i] = 0x1a + } + return len(dAtA) - i, nil +} +func (m *BulkCheckPermissionResponseItem) MarshalVT() (dAtA []byte, err error) { + if m == nil { + return nil, nil + } + size := m.SizeVT() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBufferVT(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *BulkCheckPermissionResponseItem) MarshalToVT(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVT(dAtA[:size]) +} + +func (m *BulkCheckPermissionResponseItem) MarshalToSizedBufferVT(dAtA []byte) (int, error) { + if m == nil { + return 0, nil + } + i := len(dAtA) + _ = i + var l int + _ = l + if m.unknownFields != nil { + i -= len(m.unknownFields) + copy(dAtA[i:], m.unknownFields) + } + if m.PartialCaveatInfo != nil { + size, err := m.PartialCaveatInfo.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x12 + } + if m.Permissionship != 0 { + i = encodeVarint(dAtA, i, uint64(m.Permissionship)) + i-- + dAtA[i] = 0x8 + } + return len(dAtA) - i, nil +} + +func (m *BulkImportRelationshipsRequest) MarshalVT() (dAtA []byte, err error) { + if m == nil { + return nil, nil + } + size := m.SizeVT() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBufferVT(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *BulkImportRelationshipsRequest) MarshalToVT(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVT(dAtA[:size]) +} + +func (m *BulkImportRelationshipsRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error) { + if m == nil { + return 0, nil + } + i := len(dAtA) + _ = i + var l int + _ = l + if m.unknownFields != nil { + i -= len(m.unknownFields) + copy(dAtA[i:], m.unknownFields) + } + if len(m.Relationships) > 0 { + for iNdEx := len(m.Relationships) - 1; iNdEx >= 0; iNdEx-- { + size, err := m.Relationships[iNdEx].MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0xa + } + } + return len(dAtA) - i, nil +} + +func (m *BulkImportRelationshipsResponse) MarshalVT() (dAtA []byte, err error) { + if m == nil { + return nil, nil + } + size := m.SizeVT() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBufferVT(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *BulkImportRelationshipsResponse) MarshalToVT(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVT(dAtA[:size]) +} + +func (m *BulkImportRelationshipsResponse) MarshalToSizedBufferVT(dAtA []byte) (int, error) { + if m == nil { + return 0, nil + } + i := len(dAtA) + _ = i + var l int + _ = l + if m.unknownFields != nil { + i -= len(m.unknownFields) + copy(dAtA[i:], m.unknownFields) + } + if m.NumLoaded != 0 { + i = encodeVarint(dAtA, i, uint64(m.NumLoaded)) + i-- + dAtA[i] = 0x8 + } + return len(dAtA) - i, nil +} + +func (m *BulkExportRelationshipsRequest) MarshalVT() (dAtA []byte, err error) { + if m == nil { + return nil, nil + } + size := m.SizeVT() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBufferVT(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *BulkExportRelationshipsRequest) MarshalToVT(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVT(dAtA[:size]) +} + +func (m *BulkExportRelationshipsRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error) { + if m == nil { + return 0, nil + } + i := len(dAtA) + _ = i + var l int + _ = l + if m.unknownFields != nil { + i -= len(m.unknownFields) + copy(dAtA[i:], m.unknownFields) + } + if m.OptionalRelationshipFilter != nil { + size, err := m.OptionalRelationshipFilter.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x22 + } + if m.OptionalCursor != nil { + size, err := m.OptionalCursor.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x1a + } + if m.OptionalLimit != 0 { + i = encodeVarint(dAtA, i, uint64(m.OptionalLimit)) + i-- + dAtA[i] = 0x10 + } + if m.Consistency != nil { + size, err := m.Consistency.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0xa + } + return len(dAtA) - i, nil +} + +func (m *BulkExportRelationshipsResponse) MarshalVT() (dAtA []byte, err error) { + if m == nil { + return nil, nil + } + size := m.SizeVT() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBufferVT(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *BulkExportRelationshipsResponse) MarshalToVT(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVT(dAtA[:size]) +} + +func (m *BulkExportRelationshipsResponse) MarshalToSizedBufferVT(dAtA []byte) (int, error) { + if m == nil { + return 0, nil + } + i := len(dAtA) + _ = i + var l int + _ = l + if m.unknownFields != nil { + i -= len(m.unknownFields) + copy(dAtA[i:], m.unknownFields) + } + if len(m.Relationships) > 0 { + for iNdEx := len(m.Relationships) - 1; iNdEx >= 0; iNdEx-- { + size, err := m.Relationships[iNdEx].MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x12 + } + } + if m.AfterResultCursor != nil { + size, err := m.AfterResultCursor.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0xa + } + return len(dAtA) - i, nil +} + +func (m *ExperimentalReflectSchemaRequest) MarshalVT() (dAtA []byte, err error) { + if m == nil { + return nil, nil + } + size := m.SizeVT() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBufferVT(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *ExperimentalReflectSchemaRequest) MarshalToVT(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVT(dAtA[:size]) +} + +func (m *ExperimentalReflectSchemaRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error) { + if m == nil { + return 0, nil + } + i := len(dAtA) + _ = i + var l int + _ = l + if m.unknownFields != nil { + i -= len(m.unknownFields) + copy(dAtA[i:], m.unknownFields) + } + if len(m.OptionalFilters) > 0 { + for iNdEx := len(m.OptionalFilters) - 1; iNdEx >= 0; iNdEx-- { + size, err := m.OptionalFilters[iNdEx].MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x12 + } + } + if m.Consistency != nil { + size, err := m.Consistency.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0xa + } + return len(dAtA) - i, nil +} + +func (m *ExperimentalReflectSchemaResponse) MarshalVT() (dAtA []byte, err error) { + if m == nil { + return nil, nil + } + size := m.SizeVT() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBufferVT(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *ExperimentalReflectSchemaResponse) MarshalToVT(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVT(dAtA[:size]) +} + +func (m *ExperimentalReflectSchemaResponse) MarshalToSizedBufferVT(dAtA []byte) (int, error) { + if m == nil { + return 0, nil + } + i := len(dAtA) + _ = i + var l int + _ = l + if m.unknownFields != nil { + i -= len(m.unknownFields) + copy(dAtA[i:], m.unknownFields) + } + if m.ReadAt != nil { + size, err := m.ReadAt.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x1a + } + if len(m.Caveats) > 0 { + for iNdEx := len(m.Caveats) - 1; iNdEx >= 0; iNdEx-- { + size, err := m.Caveats[iNdEx].MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x12 + } + } + if len(m.Definitions) > 0 { + for iNdEx := len(m.Definitions) - 1; iNdEx >= 0; iNdEx-- { + size, err := m.Definitions[iNdEx].MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0xa + } + } + return len(dAtA) - i, nil +} + +func (m *ExpSchemaFilter) MarshalVT() (dAtA []byte, err error) { + if m == nil { + return nil, nil + } + size := m.SizeVT() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBufferVT(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *ExpSchemaFilter) MarshalToVT(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVT(dAtA[:size]) +} + +func (m *ExpSchemaFilter) MarshalToSizedBufferVT(dAtA []byte) (int, error) { + if m == nil { + return 0, nil + } + i := len(dAtA) + _ = i + var l int + _ = l + if m.unknownFields != nil { + i -= len(m.unknownFields) + copy(dAtA[i:], m.unknownFields) + } + if len(m.KindFilters) > 0 { + var pksize2 int + for _, num := range m.KindFilters { + pksize2 += sov(uint64(num)) + } + i -= pksize2 + j1 := i + for _, num1 := range m.KindFilters { + num := uint64(num1) + for num >= 1<<7 { + dAtA[j1] = uint8(uint64(num)&0x7f | 0x80) + num >>= 7 + j1++ + } + dAtA[j1] = uint8(num) + j1++ + } + i = encodeVarint(dAtA, i, uint64(pksize2)) + i-- + dAtA[i] = 0x1a + } + if len(m.OptionalRelationOrPermissionNameMatch) > 0 { + i -= len(m.OptionalRelationOrPermissionNameMatch) + copy(dAtA[i:], m.OptionalRelationOrPermissionNameMatch) + i = encodeVarint(dAtA, i, uint64(len(m.OptionalRelationOrPermissionNameMatch))) + i-- + dAtA[i] = 0x12 + } + if len(m.OptionalDefinitionNameMatch) > 0 { + i -= len(m.OptionalDefinitionNameMatch) + copy(dAtA[i:], m.OptionalDefinitionNameMatch) + i = encodeVarint(dAtA, i, uint64(len(m.OptionalDefinitionNameMatch))) + i-- + dAtA[i] = 0xa + } + return len(dAtA) - i, nil +} + +func (m *ExpDefinition) MarshalVT() (dAtA []byte, err error) { + if m == nil { + return nil, nil + } + size := m.SizeVT() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBufferVT(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *ExpDefinition) MarshalToVT(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVT(dAtA[:size]) +} + +func (m *ExpDefinition) MarshalToSizedBufferVT(dAtA []byte) (int, error) { + if m == nil { + return 0, nil + } + i := len(dAtA) + _ = i + var l int + _ = l + if m.unknownFields != nil { + i -= len(m.unknownFields) + copy(dAtA[i:], m.unknownFields) + } + if len(m.Permissions) > 0 { + for iNdEx := len(m.Permissions) - 1; iNdEx >= 0; iNdEx-- { + size, err := m.Permissions[iNdEx].MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x22 + } + } + if len(m.Relations) > 0 { + for iNdEx := len(m.Relations) - 1; iNdEx >= 0; iNdEx-- { + size, err := m.Relations[iNdEx].MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x1a + } + } + if len(m.Comment) > 0 { + i -= len(m.Comment) + copy(dAtA[i:], m.Comment) + i = encodeVarint(dAtA, i, uint64(len(m.Comment))) + i-- + dAtA[i] = 0x12 + } + if len(m.Name) > 0 { + i -= len(m.Name) + copy(dAtA[i:], m.Name) + i = encodeVarint(dAtA, i, uint64(len(m.Name))) + i-- + dAtA[i] = 0xa + } + return len(dAtA) - i, nil +} + +func (m *ExpCaveat) MarshalVT() (dAtA []byte, err error) { + if m == nil { + return nil, nil + } + size := m.SizeVT() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBufferVT(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *ExpCaveat) MarshalToVT(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVT(dAtA[:size]) +} + +func (m *ExpCaveat) MarshalToSizedBufferVT(dAtA []byte) (int, error) { + if m == nil { + return 0, nil + } + i := len(dAtA) + _ = i + var l int + _ = l + if m.unknownFields != nil { + i -= len(m.unknownFields) + copy(dAtA[i:], m.unknownFields) + } + if len(m.Expression) > 0 { + i -= len(m.Expression) + copy(dAtA[i:], m.Expression) + i = encodeVarint(dAtA, i, uint64(len(m.Expression))) + i-- + dAtA[i] = 0x22 + } + if len(m.Parameters) > 0 { + for iNdEx := len(m.Parameters) - 1; iNdEx >= 0; iNdEx-- { + size, err := m.Parameters[iNdEx].MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x1a + } + } + if len(m.Comment) > 0 { + i -= len(m.Comment) + copy(dAtA[i:], m.Comment) + i = encodeVarint(dAtA, i, uint64(len(m.Comment))) + i-- + dAtA[i] = 0x12 + } + if len(m.Name) > 0 { + i -= len(m.Name) + copy(dAtA[i:], m.Name) + i = encodeVarint(dAtA, i, uint64(len(m.Name))) + i-- + dAtA[i] = 0xa + } + return len(dAtA) - i, nil +} + +func (m *ExpCaveatParameter) MarshalVT() (dAtA []byte, err error) { + if m == nil { + return nil, nil + } + size := m.SizeVT() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBufferVT(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *ExpCaveatParameter) MarshalToVT(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVT(dAtA[:size]) +} + +func (m *ExpCaveatParameter) MarshalToSizedBufferVT(dAtA []byte) (int, error) { + if m == nil { + return 0, nil + } + i := len(dAtA) + _ = i + var l int + _ = l + if m.unknownFields != nil { + i -= len(m.unknownFields) + copy(dAtA[i:], m.unknownFields) + } + if len(m.ParentCaveatName) > 0 { + i -= len(m.ParentCaveatName) + copy(dAtA[i:], m.ParentCaveatName) + i = encodeVarint(dAtA, i, uint64(len(m.ParentCaveatName))) + i-- + dAtA[i] = 0x1a + } + if len(m.Type) > 0 { + i -= len(m.Type) + copy(dAtA[i:], m.Type) + i = encodeVarint(dAtA, i, uint64(len(m.Type))) + i-- + dAtA[i] = 0x12 + } + if len(m.Name) > 0 { + i -= len(m.Name) + copy(dAtA[i:], m.Name) + i = encodeVarint(dAtA, i, uint64(len(m.Name))) + i-- + dAtA[i] = 0xa + } + return len(dAtA) - i, nil +} + +func (m *ExpRelation) MarshalVT() (dAtA []byte, err error) { + if m == nil { + return nil, nil + } + size := m.SizeVT() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBufferVT(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *ExpRelation) MarshalToVT(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVT(dAtA[:size]) +} + +func (m *ExpRelation) MarshalToSizedBufferVT(dAtA []byte) (int, error) { + if m == nil { + return 0, nil + } + i := len(dAtA) + _ = i + var l int + _ = l + if m.unknownFields != nil { + i -= len(m.unknownFields) + copy(dAtA[i:], m.unknownFields) + } + if len(m.SubjectTypes) > 0 { + for iNdEx := len(m.SubjectTypes) - 1; iNdEx >= 0; iNdEx-- { + size, err := m.SubjectTypes[iNdEx].MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x22 + } + } + if len(m.ParentDefinitionName) > 0 { + i -= len(m.ParentDefinitionName) + copy(dAtA[i:], m.ParentDefinitionName) + i = encodeVarint(dAtA, i, uint64(len(m.ParentDefinitionName))) + i-- + dAtA[i] = 0x1a + } + if len(m.Comment) > 0 { + i -= len(m.Comment) + copy(dAtA[i:], m.Comment) + i = encodeVarint(dAtA, i, uint64(len(m.Comment))) + i-- + dAtA[i] = 0x12 + } + if len(m.Name) > 0 { + i -= len(m.Name) + copy(dAtA[i:], m.Name) + i = encodeVarint(dAtA, i, uint64(len(m.Name))) + i-- + dAtA[i] = 0xa + } + return len(dAtA) - i, nil +} + +func (m *ExpTypeReference) MarshalVT() (dAtA []byte, err error) { + if m == nil { + return nil, nil + } + size := m.SizeVT() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBufferVT(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *ExpTypeReference) MarshalToVT(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVT(dAtA[:size]) +} + +func (m *ExpTypeReference) MarshalToSizedBufferVT(dAtA []byte) (int, error) { + if m == nil { + return 0, nil + } + i := len(dAtA) + _ = i + var l int + _ = l + if m.unknownFields != nil { + i -= len(m.unknownFields) + copy(dAtA[i:], m.unknownFields) + } + if vtmsg, ok := m.Typeref.(interface { + MarshalToSizedBufferVT([]byte) (int, error) + }); ok { + size, err := vtmsg.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + } + if len(m.OptionalCaveatName) > 0 { + i -= len(m.OptionalCaveatName) + copy(dAtA[i:], m.OptionalCaveatName) + i = encodeVarint(dAtA, i, uint64(len(m.OptionalCaveatName))) + i-- + dAtA[i] = 0x12 + } + if len(m.SubjectDefinitionName) > 0 { + i -= len(m.SubjectDefinitionName) + copy(dAtA[i:], m.SubjectDefinitionName) + i = encodeVarint(dAtA, i, uint64(len(m.SubjectDefinitionName))) + i-- + dAtA[i] = 0xa + } + return len(dAtA) - i, nil +} + +func (m *ExpTypeReference_IsTerminalSubject) MarshalToVT(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVT(dAtA[:size]) +} + +func (m *ExpTypeReference_IsTerminalSubject) MarshalToSizedBufferVT(dAtA []byte) (int, error) { + i := len(dAtA) + i-- + if m.IsTerminalSubject { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i-- + dAtA[i] = 0x18 + return len(dAtA) - i, nil +} +func (m *ExpTypeReference_OptionalRelationName) MarshalToVT(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVT(dAtA[:size]) +} + +func (m *ExpTypeReference_OptionalRelationName) MarshalToSizedBufferVT(dAtA []byte) (int, error) { + i := len(dAtA) + i -= len(m.OptionalRelationName) + copy(dAtA[i:], m.OptionalRelationName) + i = encodeVarint(dAtA, i, uint64(len(m.OptionalRelationName))) + i-- + dAtA[i] = 0x22 + return len(dAtA) - i, nil +} +func (m *ExpTypeReference_IsPublicWildcard) MarshalToVT(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVT(dAtA[:size]) +} + +func (m *ExpTypeReference_IsPublicWildcard) MarshalToSizedBufferVT(dAtA []byte) (int, error) { + i := len(dAtA) + i-- + if m.IsPublicWildcard { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i-- + dAtA[i] = 0x28 + return len(dAtA) - i, nil +} +func (m *ExpPermission) MarshalVT() (dAtA []byte, err error) { + if m == nil { + return nil, nil + } + size := m.SizeVT() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBufferVT(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *ExpPermission) MarshalToVT(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVT(dAtA[:size]) +} + +func (m *ExpPermission) MarshalToSizedBufferVT(dAtA []byte) (int, error) { + if m == nil { + return 0, nil + } + i := len(dAtA) + _ = i + var l int + _ = l + if m.unknownFields != nil { + i -= len(m.unknownFields) + copy(dAtA[i:], m.unknownFields) + } + if len(m.ParentDefinitionName) > 0 { + i -= len(m.ParentDefinitionName) + copy(dAtA[i:], m.ParentDefinitionName) + i = encodeVarint(dAtA, i, uint64(len(m.ParentDefinitionName))) + i-- + dAtA[i] = 0x1a + } + if len(m.Comment) > 0 { + i -= len(m.Comment) + copy(dAtA[i:], m.Comment) + i = encodeVarint(dAtA, i, uint64(len(m.Comment))) + i-- + dAtA[i] = 0x12 + } + if len(m.Name) > 0 { + i -= len(m.Name) + copy(dAtA[i:], m.Name) + i = encodeVarint(dAtA, i, uint64(len(m.Name))) + i-- + dAtA[i] = 0xa + } + return len(dAtA) - i, nil +} + +func (m *ExperimentalComputablePermissionsRequest) MarshalVT() (dAtA []byte, err error) { + if m == nil { + return nil, nil + } + size := m.SizeVT() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBufferVT(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *ExperimentalComputablePermissionsRequest) MarshalToVT(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVT(dAtA[:size]) +} + +func (m *ExperimentalComputablePermissionsRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error) { + if m == nil { + return 0, nil + } + i := len(dAtA) + _ = i + var l int + _ = l + if m.unknownFields != nil { + i -= len(m.unknownFields) + copy(dAtA[i:], m.unknownFields) + } + if len(m.OptionalDefinitionNameMatch) > 0 { + i -= len(m.OptionalDefinitionNameMatch) + copy(dAtA[i:], m.OptionalDefinitionNameMatch) + i = encodeVarint(dAtA, i, uint64(len(m.OptionalDefinitionNameMatch))) + i-- + dAtA[i] = 0x1a + } + if len(m.Relations) > 0 { + for iNdEx := len(m.Relations) - 1; iNdEx >= 0; iNdEx-- { + size, err := m.Relations[iNdEx].MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x12 + } + } + if m.Consistency != nil { + size, err := m.Consistency.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0xa + } + return len(dAtA) - i, nil +} + +func (m *ExpRelationReference) MarshalVT() (dAtA []byte, err error) { + if m == nil { + return nil, nil + } + size := m.SizeVT() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBufferVT(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *ExpRelationReference) MarshalToVT(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVT(dAtA[:size]) +} + +func (m *ExpRelationReference) MarshalToSizedBufferVT(dAtA []byte) (int, error) { + if m == nil { + return 0, nil + } + i := len(dAtA) + _ = i + var l int + _ = l + if m.unknownFields != nil { + i -= len(m.unknownFields) + copy(dAtA[i:], m.unknownFields) + } + if len(m.RelationName) > 0 { + i -= len(m.RelationName) + copy(dAtA[i:], m.RelationName) + i = encodeVarint(dAtA, i, uint64(len(m.RelationName))) + i-- + dAtA[i] = 0x12 + } + if len(m.DefinitionName) > 0 { + i -= len(m.DefinitionName) + copy(dAtA[i:], m.DefinitionName) + i = encodeVarint(dAtA, i, uint64(len(m.DefinitionName))) + i-- + dAtA[i] = 0xa + } + return len(dAtA) - i, nil +} + +func (m *ExpPermissionReference) MarshalVT() (dAtA []byte, err error) { + if m == nil { + return nil, nil + } + size := m.SizeVT() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBufferVT(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *ExpPermissionReference) MarshalToVT(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVT(dAtA[:size]) +} + +func (m *ExpPermissionReference) MarshalToSizedBufferVT(dAtA []byte) (int, error) { + if m == nil { + return 0, nil + } + i := len(dAtA) + _ = i + var l int + _ = l + if m.unknownFields != nil { + i -= len(m.unknownFields) + copy(dAtA[i:], m.unknownFields) + } + if len(m.RelationName) > 0 { + i -= len(m.RelationName) + copy(dAtA[i:], m.RelationName) + i = encodeVarint(dAtA, i, uint64(len(m.RelationName))) + i-- + dAtA[i] = 0x12 + } + if len(m.DefinitionName) > 0 { + i -= len(m.DefinitionName) + copy(dAtA[i:], m.DefinitionName) + i = encodeVarint(dAtA, i, uint64(len(m.DefinitionName))) + i-- + dAtA[i] = 0xa + } + return len(dAtA) - i, nil +} + +func (m *ExperimentalComputablePermissionsResponse) MarshalVT() (dAtA []byte, err error) { + if m == nil { + return nil, nil + } + size := m.SizeVT() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBufferVT(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *ExperimentalComputablePermissionsResponse) MarshalToVT(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVT(dAtA[:size]) +} + +func (m *ExperimentalComputablePermissionsResponse) MarshalToSizedBufferVT(dAtA []byte) (int, error) { + if m == nil { + return 0, nil + } + i := len(dAtA) + _ = i + var l int + _ = l + if m.unknownFields != nil { + i -= len(m.unknownFields) + copy(dAtA[i:], m.unknownFields) + } + if m.ReadAt != nil { + size, err := m.ReadAt.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x12 + } + if len(m.Permissions) > 0 { + for iNdEx := len(m.Permissions) - 1; iNdEx >= 0; iNdEx-- { + size, err := m.Permissions[iNdEx].MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0xa + } + } + return len(dAtA) - i, nil +} + +func (m *ExperimentalDependentRelationsRequest) MarshalVT() (dAtA []byte, err error) { + if m == nil { + return nil, nil + } + size := m.SizeVT() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBufferVT(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *ExperimentalDependentRelationsRequest) MarshalToVT(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVT(dAtA[:size]) +} + +func (m *ExperimentalDependentRelationsRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error) { + if m == nil { + return 0, nil + } + i := len(dAtA) + _ = i + var l int + _ = l + if m.unknownFields != nil { + i -= len(m.unknownFields) + copy(dAtA[i:], m.unknownFields) + } + if m.Permission != nil { + size, err := m.Permission.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x12 + } + if m.Consistency != nil { + size, err := m.Consistency.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0xa + } + return len(dAtA) - i, nil +} + +func (m *ExperimentalDependentRelationsResponse) MarshalVT() (dAtA []byte, err error) { + if m == nil { + return nil, nil + } + size := m.SizeVT() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBufferVT(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *ExperimentalDependentRelationsResponse) MarshalToVT(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVT(dAtA[:size]) +} + +func (m *ExperimentalDependentRelationsResponse) MarshalToSizedBufferVT(dAtA []byte) (int, error) { + if m == nil { + return 0, nil + } + i := len(dAtA) + _ = i + var l int + _ = l + if m.unknownFields != nil { + i -= len(m.unknownFields) + copy(dAtA[i:], m.unknownFields) + } + if m.ReadAt != nil { + size, err := m.ReadAt.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x12 + } + if len(m.Relations) > 0 { + for iNdEx := len(m.Relations) - 1; iNdEx >= 0; iNdEx-- { + size, err := m.Relations[iNdEx].MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0xa + } + } + return len(dAtA) - i, nil +} + +func (m *ExperimentalSchemaDiffRequest) MarshalVT() (dAtA []byte, err error) { + if m == nil { + return nil, nil + } + size := m.SizeVT() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBufferVT(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *ExperimentalSchemaDiffRequest) MarshalToVT(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVT(dAtA[:size]) +} + +func (m *ExperimentalSchemaDiffRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error) { + if m == nil { + return 0, nil + } + i := len(dAtA) + _ = i + var l int + _ = l + if m.unknownFields != nil { + i -= len(m.unknownFields) + copy(dAtA[i:], m.unknownFields) + } + if len(m.ComparisonSchema) > 0 { + i -= len(m.ComparisonSchema) + copy(dAtA[i:], m.ComparisonSchema) + i = encodeVarint(dAtA, i, uint64(len(m.ComparisonSchema))) + i-- + dAtA[i] = 0x12 + } + if m.Consistency != nil { + size, err := m.Consistency.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0xa + } + return len(dAtA) - i, nil +} + +func (m *ExperimentalSchemaDiffResponse) MarshalVT() (dAtA []byte, err error) { + if m == nil { + return nil, nil + } + size := m.SizeVT() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBufferVT(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *ExperimentalSchemaDiffResponse) MarshalToVT(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVT(dAtA[:size]) +} + +func (m *ExperimentalSchemaDiffResponse) MarshalToSizedBufferVT(dAtA []byte) (int, error) { + if m == nil { + return 0, nil + } + i := len(dAtA) + _ = i + var l int + _ = l + if m.unknownFields != nil { + i -= len(m.unknownFields) + copy(dAtA[i:], m.unknownFields) + } + if m.ReadAt != nil { + size, err := m.ReadAt.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x12 + } + if len(m.Diffs) > 0 { + for iNdEx := len(m.Diffs) - 1; iNdEx >= 0; iNdEx-- { + size, err := m.Diffs[iNdEx].MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0xa + } + } + return len(dAtA) - i, nil +} + +func (m *ExpSchemaDiff) MarshalVT() (dAtA []byte, err error) { + if m == nil { + return nil, nil + } + size := m.SizeVT() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBufferVT(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *ExpSchemaDiff) MarshalToVT(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVT(dAtA[:size]) +} + +func (m *ExpSchemaDiff) MarshalToSizedBufferVT(dAtA []byte) (int, error) { + if m == nil { + return 0, nil + } + i := len(dAtA) + _ = i + var l int + _ = l + if m.unknownFields != nil { + i -= len(m.unknownFields) + copy(dAtA[i:], m.unknownFields) + } + if vtmsg, ok := m.Diff.(interface { + MarshalToSizedBufferVT([]byte) (int, error) + }); ok { + size, err := vtmsg.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + } + return len(dAtA) - i, nil +} + +func (m *ExpSchemaDiff_DefinitionAdded) MarshalToVT(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVT(dAtA[:size]) +} + +func (m *ExpSchemaDiff_DefinitionAdded) MarshalToSizedBufferVT(dAtA []byte) (int, error) { + i := len(dAtA) + if m.DefinitionAdded != nil { + size, err := m.DefinitionAdded.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0xa + } + return len(dAtA) - i, nil +} +func (m *ExpSchemaDiff_DefinitionRemoved) MarshalToVT(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVT(dAtA[:size]) +} + +func (m *ExpSchemaDiff_DefinitionRemoved) MarshalToSizedBufferVT(dAtA []byte) (int, error) { + i := len(dAtA) + if m.DefinitionRemoved != nil { + size, err := m.DefinitionRemoved.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x12 + } + return len(dAtA) - i, nil +} +func (m *ExpSchemaDiff_DefinitionDocCommentChanged) MarshalToVT(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVT(dAtA[:size]) +} + +func (m *ExpSchemaDiff_DefinitionDocCommentChanged) MarshalToSizedBufferVT(dAtA []byte) (int, error) { + i := len(dAtA) + if m.DefinitionDocCommentChanged != nil { + size, err := m.DefinitionDocCommentChanged.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x1a + } + return len(dAtA) - i, nil +} +func (m *ExpSchemaDiff_RelationAdded) MarshalToVT(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVT(dAtA[:size]) +} + +func (m *ExpSchemaDiff_RelationAdded) MarshalToSizedBufferVT(dAtA []byte) (int, error) { + i := len(dAtA) + if m.RelationAdded != nil { + size, err := m.RelationAdded.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x22 + } + return len(dAtA) - i, nil +} +func (m *ExpSchemaDiff_RelationRemoved) MarshalToVT(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVT(dAtA[:size]) +} + +func (m *ExpSchemaDiff_RelationRemoved) MarshalToSizedBufferVT(dAtA []byte) (int, error) { + i := len(dAtA) + if m.RelationRemoved != nil { + size, err := m.RelationRemoved.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x2a + } + return len(dAtA) - i, nil +} +func (m *ExpSchemaDiff_RelationDocCommentChanged) MarshalToVT(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVT(dAtA[:size]) +} + +func (m *ExpSchemaDiff_RelationDocCommentChanged) MarshalToSizedBufferVT(dAtA []byte) (int, error) { + i := len(dAtA) + if m.RelationDocCommentChanged != nil { + size, err := m.RelationDocCommentChanged.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x32 + } + return len(dAtA) - i, nil +} +func (m *ExpSchemaDiff_RelationTypeChanged) MarshalToVT(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVT(dAtA[:size]) +} + +func (m *ExpSchemaDiff_RelationTypeChanged) MarshalToSizedBufferVT(dAtA []byte) (int, error) { + i := len(dAtA) + if m.RelationTypeChanged != nil { + size, err := m.RelationTypeChanged.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x3a + } + return len(dAtA) - i, nil +} +func (m *ExpSchemaDiff_PermissionAdded) MarshalToVT(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVT(dAtA[:size]) +} + +func (m *ExpSchemaDiff_PermissionAdded) MarshalToSizedBufferVT(dAtA []byte) (int, error) { + i := len(dAtA) + if m.PermissionAdded != nil { + size, err := m.PermissionAdded.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x42 + } + return len(dAtA) - i, nil +} +func (m *ExpSchemaDiff_PermissionRemoved) MarshalToVT(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVT(dAtA[:size]) +} + +func (m *ExpSchemaDiff_PermissionRemoved) MarshalToSizedBufferVT(dAtA []byte) (int, error) { + i := len(dAtA) + if m.PermissionRemoved != nil { + size, err := m.PermissionRemoved.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x4a + } + return len(dAtA) - i, nil +} +func (m *ExpSchemaDiff_PermissionDocCommentChanged) MarshalToVT(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVT(dAtA[:size]) +} + +func (m *ExpSchemaDiff_PermissionDocCommentChanged) MarshalToSizedBufferVT(dAtA []byte) (int, error) { + i := len(dAtA) + if m.PermissionDocCommentChanged != nil { + size, err := m.PermissionDocCommentChanged.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x52 + } + return len(dAtA) - i, nil +} +func (m *ExpSchemaDiff_PermissionExprChanged) MarshalToVT(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVT(dAtA[:size]) +} + +func (m *ExpSchemaDiff_PermissionExprChanged) MarshalToSizedBufferVT(dAtA []byte) (int, error) { + i := len(dAtA) + if m.PermissionExprChanged != nil { + size, err := m.PermissionExprChanged.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x5a + } + return len(dAtA) - i, nil +} +func (m *ExpSchemaDiff_CaveatAdded) MarshalToVT(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVT(dAtA[:size]) +} + +func (m *ExpSchemaDiff_CaveatAdded) MarshalToSizedBufferVT(dAtA []byte) (int, error) { + i := len(dAtA) + if m.CaveatAdded != nil { + size, err := m.CaveatAdded.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x62 + } + return len(dAtA) - i, nil +} +func (m *ExpSchemaDiff_CaveatRemoved) MarshalToVT(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVT(dAtA[:size]) +} + +func (m *ExpSchemaDiff_CaveatRemoved) MarshalToSizedBufferVT(dAtA []byte) (int, error) { + i := len(dAtA) + if m.CaveatRemoved != nil { + size, err := m.CaveatRemoved.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x6a + } + return len(dAtA) - i, nil +} +func (m *ExpSchemaDiff_CaveatDocCommentChanged) MarshalToVT(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVT(dAtA[:size]) +} + +func (m *ExpSchemaDiff_CaveatDocCommentChanged) MarshalToSizedBufferVT(dAtA []byte) (int, error) { + i := len(dAtA) + if m.CaveatDocCommentChanged != nil { + size, err := m.CaveatDocCommentChanged.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x72 + } + return len(dAtA) - i, nil +} +func (m *ExpSchemaDiff_CaveatExprChanged) MarshalToVT(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVT(dAtA[:size]) +} + +func (m *ExpSchemaDiff_CaveatExprChanged) MarshalToSizedBufferVT(dAtA []byte) (int, error) { + i := len(dAtA) + if m.CaveatExprChanged != nil { + size, err := m.CaveatExprChanged.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x7a + } + return len(dAtA) - i, nil +} +func (m *ExpSchemaDiff_CaveatParameterAdded) MarshalToVT(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVT(dAtA[:size]) +} + +func (m *ExpSchemaDiff_CaveatParameterAdded) MarshalToSizedBufferVT(dAtA []byte) (int, error) { + i := len(dAtA) + if m.CaveatParameterAdded != nil { + size, err := m.CaveatParameterAdded.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x1 + i-- + dAtA[i] = 0x82 + } + return len(dAtA) - i, nil +} +func (m *ExpSchemaDiff_CaveatParameterRemoved) MarshalToVT(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVT(dAtA[:size]) +} + +func (m *ExpSchemaDiff_CaveatParameterRemoved) MarshalToSizedBufferVT(dAtA []byte) (int, error) { + i := len(dAtA) + if m.CaveatParameterRemoved != nil { + size, err := m.CaveatParameterRemoved.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x1 + i-- + dAtA[i] = 0x8a + } + return len(dAtA) - i, nil +} +func (m *ExpSchemaDiff_CaveatParameterTypeChanged) MarshalToVT(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVT(dAtA[:size]) +} + +func (m *ExpSchemaDiff_CaveatParameterTypeChanged) MarshalToSizedBufferVT(dAtA []byte) (int, error) { + i := len(dAtA) + if m.CaveatParameterTypeChanged != nil { + size, err := m.CaveatParameterTypeChanged.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x1 + i-- + dAtA[i] = 0x92 + } + return len(dAtA) - i, nil +} +func (m *BulkCheckPermissionRequest) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.Consistency != nil { + l = m.Consistency.SizeVT() + n += 1 + l + sov(uint64(l)) + } + if len(m.Items) > 0 { + for _, e := range m.Items { + l = e.SizeVT() + n += 1 + l + sov(uint64(l)) + } + } + n += len(m.unknownFields) + return n +} + +func (m *BulkCheckPermissionRequestItem) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.Resource != nil { + l = m.Resource.SizeVT() + n += 1 + l + sov(uint64(l)) + } + l = len(m.Permission) + if l > 0 { + n += 1 + l + sov(uint64(l)) + } + if m.Subject != nil { + l = m.Subject.SizeVT() + n += 1 + l + sov(uint64(l)) + } + if m.Context != nil { + if size, ok := interface{}(m.Context).(interface { + SizeVT() int + }); ok { + l = size.SizeVT() + } else { + l = proto.Size(m.Context) + } + n += 1 + l + sov(uint64(l)) + } + n += len(m.unknownFields) + return n +} + +func (m *BulkCheckPermissionResponse) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.CheckedAt != nil { + l = m.CheckedAt.SizeVT() + n += 1 + l + sov(uint64(l)) + } + if len(m.Pairs) > 0 { + for _, e := range m.Pairs { + l = e.SizeVT() + n += 1 + l + sov(uint64(l)) + } + } + n += len(m.unknownFields) + return n +} + +func (m *BulkCheckPermissionPair) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.Request != nil { + l = m.Request.SizeVT() + n += 1 + l + sov(uint64(l)) + } + if vtmsg, ok := m.Response.(interface{ SizeVT() int }); ok { + n += vtmsg.SizeVT() + } + n += len(m.unknownFields) + return n +} + +func (m *BulkCheckPermissionPair_Item) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.Item != nil { + l = m.Item.SizeVT() + n += 1 + l + sov(uint64(l)) + } + return n +} +func (m *BulkCheckPermissionPair_Error) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.Error != nil { + if size, ok := interface{}(m.Error).(interface { + SizeVT() int + }); ok { + l = size.SizeVT() + } else { + l = proto.Size(m.Error) + } + n += 1 + l + sov(uint64(l)) + } + return n +} +func (m *BulkCheckPermissionResponseItem) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.Permissionship != 0 { + n += 1 + sov(uint64(m.Permissionship)) + } + if m.PartialCaveatInfo != nil { + l = m.PartialCaveatInfo.SizeVT() + n += 1 + l + sov(uint64(l)) + } + n += len(m.unknownFields) + return n +} + +func (m *BulkImportRelationshipsRequest) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if len(m.Relationships) > 0 { + for _, e := range m.Relationships { + l = e.SizeVT() + n += 1 + l + sov(uint64(l)) + } + } + n += len(m.unknownFields) + return n +} + +func (m *BulkImportRelationshipsResponse) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.NumLoaded != 0 { + n += 1 + sov(uint64(m.NumLoaded)) + } + n += len(m.unknownFields) + return n +} + +func (m *BulkExportRelationshipsRequest) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.Consistency != nil { + l = m.Consistency.SizeVT() + n += 1 + l + sov(uint64(l)) + } + if m.OptionalLimit != 0 { + n += 1 + sov(uint64(m.OptionalLimit)) + } + if m.OptionalCursor != nil { + l = m.OptionalCursor.SizeVT() + n += 1 + l + sov(uint64(l)) + } + if m.OptionalRelationshipFilter != nil { + l = m.OptionalRelationshipFilter.SizeVT() + n += 1 + l + sov(uint64(l)) + } + n += len(m.unknownFields) + return n +} + +func (m *BulkExportRelationshipsResponse) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.AfterResultCursor != nil { + l = m.AfterResultCursor.SizeVT() + n += 1 + l + sov(uint64(l)) + } + if len(m.Relationships) > 0 { + for _, e := range m.Relationships { + l = e.SizeVT() + n += 1 + l + sov(uint64(l)) + } + } + n += len(m.unknownFields) + return n +} + +func (m *ExperimentalReflectSchemaRequest) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.Consistency != nil { + l = m.Consistency.SizeVT() + n += 1 + l + sov(uint64(l)) + } + if len(m.OptionalFilters) > 0 { + for _, e := range m.OptionalFilters { + l = e.SizeVT() + n += 1 + l + sov(uint64(l)) + } + } + n += len(m.unknownFields) + return n +} + +func (m *ExperimentalReflectSchemaResponse) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if len(m.Definitions) > 0 { + for _, e := range m.Definitions { + l = e.SizeVT() + n += 1 + l + sov(uint64(l)) + } + } + if len(m.Caveats) > 0 { + for _, e := range m.Caveats { + l = e.SizeVT() + n += 1 + l + sov(uint64(l)) + } + } + if m.ReadAt != nil { + l = m.ReadAt.SizeVT() + n += 1 + l + sov(uint64(l)) + } + n += len(m.unknownFields) + return n +} + +func (m *ExpSchemaFilter) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = len(m.OptionalDefinitionNameMatch) + if l > 0 { + n += 1 + l + sov(uint64(l)) + } + l = len(m.OptionalRelationOrPermissionNameMatch) + if l > 0 { + n += 1 + l + sov(uint64(l)) + } + if len(m.KindFilters) > 0 { + l = 0 + for _, e := range m.KindFilters { + l += sov(uint64(e)) + } + n += 1 + sov(uint64(l)) + l + } + n += len(m.unknownFields) + return n +} + +func (m *ExpDefinition) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = len(m.Name) + if l > 0 { + n += 1 + l + sov(uint64(l)) + } + l = len(m.Comment) + if l > 0 { + n += 1 + l + sov(uint64(l)) + } + if len(m.Relations) > 0 { + for _, e := range m.Relations { + l = e.SizeVT() + n += 1 + l + sov(uint64(l)) + } + } + if len(m.Permissions) > 0 { + for _, e := range m.Permissions { + l = e.SizeVT() + n += 1 + l + sov(uint64(l)) + } + } + n += len(m.unknownFields) + return n +} + +func (m *ExpCaveat) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = len(m.Name) + if l > 0 { + n += 1 + l + sov(uint64(l)) + } + l = len(m.Comment) + if l > 0 { + n += 1 + l + sov(uint64(l)) + } + if len(m.Parameters) > 0 { + for _, e := range m.Parameters { + l = e.SizeVT() + n += 1 + l + sov(uint64(l)) + } + } + l = len(m.Expression) + if l > 0 { + n += 1 + l + sov(uint64(l)) + } + n += len(m.unknownFields) + return n +} + +func (m *ExpCaveatParameter) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = len(m.Name) + if l > 0 { + n += 1 + l + sov(uint64(l)) + } + l = len(m.Type) + if l > 0 { + n += 1 + l + sov(uint64(l)) + } + l = len(m.ParentCaveatName) + if l > 0 { + n += 1 + l + sov(uint64(l)) + } + n += len(m.unknownFields) + return n +} + +func (m *ExpRelation) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = len(m.Name) + if l > 0 { + n += 1 + l + sov(uint64(l)) + } + l = len(m.Comment) + if l > 0 { + n += 1 + l + sov(uint64(l)) + } + l = len(m.ParentDefinitionName) + if l > 0 { + n += 1 + l + sov(uint64(l)) + } + if len(m.SubjectTypes) > 0 { + for _, e := range m.SubjectTypes { + l = e.SizeVT() + n += 1 + l + sov(uint64(l)) + } + } + n += len(m.unknownFields) + return n +} + +func (m *ExpTypeReference) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = len(m.SubjectDefinitionName) + if l > 0 { + n += 1 + l + sov(uint64(l)) + } + l = len(m.OptionalCaveatName) + if l > 0 { + n += 1 + l + sov(uint64(l)) + } + if vtmsg, ok := m.Typeref.(interface{ SizeVT() int }); ok { + n += vtmsg.SizeVT() + } + n += len(m.unknownFields) + return n +} + +func (m *ExpTypeReference_IsTerminalSubject) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + n += 2 + return n +} +func (m *ExpTypeReference_OptionalRelationName) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = len(m.OptionalRelationName) + n += 1 + l + sov(uint64(l)) + return n +} +func (m *ExpTypeReference_IsPublicWildcard) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + n += 2 + return n +} +func (m *ExpPermission) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = len(m.Name) + if l > 0 { + n += 1 + l + sov(uint64(l)) + } + l = len(m.Comment) + if l > 0 { + n += 1 + l + sov(uint64(l)) + } + l = len(m.ParentDefinitionName) + if l > 0 { + n += 1 + l + sov(uint64(l)) + } + n += len(m.unknownFields) + return n +} + +func (m *ExperimentalComputablePermissionsRequest) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.Consistency != nil { + l = m.Consistency.SizeVT() + n += 1 + l + sov(uint64(l)) + } + if len(m.Relations) > 0 { + for _, e := range m.Relations { + l = e.SizeVT() + n += 1 + l + sov(uint64(l)) + } + } + l = len(m.OptionalDefinitionNameMatch) + if l > 0 { + n += 1 + l + sov(uint64(l)) + } + n += len(m.unknownFields) + return n +} + +func (m *ExpRelationReference) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = len(m.DefinitionName) + if l > 0 { + n += 1 + l + sov(uint64(l)) + } + l = len(m.RelationName) + if l > 0 { + n += 1 + l + sov(uint64(l)) + } + n += len(m.unknownFields) + return n +} + +func (m *ExpPermissionReference) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = len(m.DefinitionName) + if l > 0 { + n += 1 + l + sov(uint64(l)) + } + l = len(m.RelationName) + if l > 0 { + n += 1 + l + sov(uint64(l)) + } + n += len(m.unknownFields) + return n +} + +func (m *ExperimentalComputablePermissionsResponse) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if len(m.Permissions) > 0 { + for _, e := range m.Permissions { + l = e.SizeVT() + n += 1 + l + sov(uint64(l)) + } + } + if m.ReadAt != nil { + l = m.ReadAt.SizeVT() + n += 1 + l + sov(uint64(l)) + } + n += len(m.unknownFields) + return n +} + +func (m *ExperimentalDependentRelationsRequest) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.Consistency != nil { + l = m.Consistency.SizeVT() + n += 1 + l + sov(uint64(l)) + } + if m.Permission != nil { + l = m.Permission.SizeVT() + n += 1 + l + sov(uint64(l)) + } + n += len(m.unknownFields) + return n +} + +func (m *ExperimentalDependentRelationsResponse) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if len(m.Relations) > 0 { + for _, e := range m.Relations { + l = e.SizeVT() + n += 1 + l + sov(uint64(l)) + } + } + if m.ReadAt != nil { + l = m.ReadAt.SizeVT() + n += 1 + l + sov(uint64(l)) + } + n += len(m.unknownFields) + return n +} + +func (m *ExperimentalSchemaDiffRequest) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.Consistency != nil { + l = m.Consistency.SizeVT() + n += 1 + l + sov(uint64(l)) + } + l = len(m.ComparisonSchema) + if l > 0 { + n += 1 + l + sov(uint64(l)) + } + n += len(m.unknownFields) + return n +} + +func (m *ExperimentalSchemaDiffResponse) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if len(m.Diffs) > 0 { + for _, e := range m.Diffs { + l = e.SizeVT() + n += 1 + l + sov(uint64(l)) + } + } + if m.ReadAt != nil { + l = m.ReadAt.SizeVT() + n += 1 + l + sov(uint64(l)) + } + n += len(m.unknownFields) + return n +} + +func (m *ExpSchemaDiff) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if vtmsg, ok := m.Diff.(interface{ SizeVT() int }); ok { + n += vtmsg.SizeVT() + } + n += len(m.unknownFields) + return n +} + +func (m *ExpSchemaDiff_DefinitionAdded) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.DefinitionAdded != nil { + l = m.DefinitionAdded.SizeVT() + n += 1 + l + sov(uint64(l)) + } + return n +} +func (m *ExpSchemaDiff_DefinitionRemoved) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.DefinitionRemoved != nil { + l = m.DefinitionRemoved.SizeVT() + n += 1 + l + sov(uint64(l)) + } + return n +} +func (m *ExpSchemaDiff_DefinitionDocCommentChanged) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.DefinitionDocCommentChanged != nil { + l = m.DefinitionDocCommentChanged.SizeVT() + n += 1 + l + sov(uint64(l)) + } + return n +} +func (m *ExpSchemaDiff_RelationAdded) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.RelationAdded != nil { + l = m.RelationAdded.SizeVT() + n += 1 + l + sov(uint64(l)) + } + return n +} +func (m *ExpSchemaDiff_RelationRemoved) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.RelationRemoved != nil { + l = m.RelationRemoved.SizeVT() + n += 1 + l + sov(uint64(l)) + } + return n +} +func (m *ExpSchemaDiff_RelationDocCommentChanged) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.RelationDocCommentChanged != nil { + l = m.RelationDocCommentChanged.SizeVT() + n += 1 + l + sov(uint64(l)) + } + return n +} +func (m *ExpSchemaDiff_RelationTypeChanged) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.RelationTypeChanged != nil { + l = m.RelationTypeChanged.SizeVT() + n += 1 + l + sov(uint64(l)) + } + return n +} +func (m *ExpSchemaDiff_PermissionAdded) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.PermissionAdded != nil { + l = m.PermissionAdded.SizeVT() + n += 1 + l + sov(uint64(l)) + } + return n +} +func (m *ExpSchemaDiff_PermissionRemoved) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.PermissionRemoved != nil { + l = m.PermissionRemoved.SizeVT() + n += 1 + l + sov(uint64(l)) + } + return n +} +func (m *ExpSchemaDiff_PermissionDocCommentChanged) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.PermissionDocCommentChanged != nil { + l = m.PermissionDocCommentChanged.SizeVT() + n += 1 + l + sov(uint64(l)) + } + return n +} +func (m *ExpSchemaDiff_PermissionExprChanged) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.PermissionExprChanged != nil { + l = m.PermissionExprChanged.SizeVT() + n += 1 + l + sov(uint64(l)) + } + return n +} +func (m *ExpSchemaDiff_CaveatAdded) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.CaveatAdded != nil { + l = m.CaveatAdded.SizeVT() + n += 1 + l + sov(uint64(l)) + } + return n +} +func (m *ExpSchemaDiff_CaveatRemoved) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.CaveatRemoved != nil { + l = m.CaveatRemoved.SizeVT() + n += 1 + l + sov(uint64(l)) + } + return n +} +func (m *ExpSchemaDiff_CaveatDocCommentChanged) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.CaveatDocCommentChanged != nil { + l = m.CaveatDocCommentChanged.SizeVT() + n += 1 + l + sov(uint64(l)) + } + return n +} +func (m *ExpSchemaDiff_CaveatExprChanged) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.CaveatExprChanged != nil { + l = m.CaveatExprChanged.SizeVT() + n += 1 + l + sov(uint64(l)) + } + return n +} +func (m *ExpSchemaDiff_CaveatParameterAdded) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.CaveatParameterAdded != nil { + l = m.CaveatParameterAdded.SizeVT() + n += 2 + l + sov(uint64(l)) + } + return n +} +func (m *ExpSchemaDiff_CaveatParameterRemoved) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.CaveatParameterRemoved != nil { + l = m.CaveatParameterRemoved.SizeVT() + n += 2 + l + sov(uint64(l)) + } + return n +} +func (m *ExpSchemaDiff_CaveatParameterTypeChanged) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.CaveatParameterTypeChanged != nil { + l = m.CaveatParameterTypeChanged.SizeVT() + n += 2 + l + sov(uint64(l)) + } + return n +} +func (m *BulkCheckPermissionRequest) UnmarshalVT(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: BulkCheckPermissionRequest: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: BulkCheckPermissionRequest: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Consistency", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.Consistency == nil { + m.Consistency = &Consistency{} + } + if err := m.Consistency.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Items", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Items = append(m.Items, &BulkCheckPermissionRequestItem{}) + if err := m.Items[len(m.Items)-1].UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skip(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLength + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *BulkCheckPermissionRequestItem) UnmarshalVT(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: BulkCheckPermissionRequestItem: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: BulkCheckPermissionRequestItem: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Resource", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.Resource == nil { + m.Resource = &ObjectReference{} + } + if err := m.Resource.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Permission", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Permission = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Subject", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.Subject == nil { + m.Subject = &SubjectReference{} + } + if err := m.Subject.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 4: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Context", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.Context == nil { + m.Context = &structpb.Struct{} + } + if unmarshal, ok := interface{}(m.Context).(interface { + UnmarshalVT([]byte) error + }); ok { + if err := unmarshal.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + if err := proto.Unmarshal(dAtA[iNdEx:postIndex], m.Context); err != nil { + return err + } + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skip(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLength + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *BulkCheckPermissionResponse) UnmarshalVT(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: BulkCheckPermissionResponse: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: BulkCheckPermissionResponse: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field CheckedAt", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.CheckedAt == nil { + m.CheckedAt = &ZedToken{} + } + if err := m.CheckedAt.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Pairs", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Pairs = append(m.Pairs, &BulkCheckPermissionPair{}) + if err := m.Pairs[len(m.Pairs)-1].UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skip(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLength + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *BulkCheckPermissionPair) UnmarshalVT(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: BulkCheckPermissionPair: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: BulkCheckPermissionPair: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Request", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.Request == nil { + m.Request = &BulkCheckPermissionRequestItem{} + } + if err := m.Request.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Item", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if oneof, ok := m.Response.(*BulkCheckPermissionPair_Item); ok { + if err := oneof.Item.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + v := &BulkCheckPermissionResponseItem{} + if err := v.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + m.Response = &BulkCheckPermissionPair_Item{Item: v} + } + iNdEx = postIndex + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Error", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if oneof, ok := m.Response.(*BulkCheckPermissionPair_Error); ok { + if unmarshal, ok := interface{}(oneof.Error).(interface { + UnmarshalVT([]byte) error + }); ok { + if err := unmarshal.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + if err := proto.Unmarshal(dAtA[iNdEx:postIndex], oneof.Error); err != nil { + return err + } + } + } else { + v := &status.Status{} + if unmarshal, ok := interface{}(v).(interface { + UnmarshalVT([]byte) error + }); ok { + if err := unmarshal.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + if err := proto.Unmarshal(dAtA[iNdEx:postIndex], v); err != nil { + return err + } + } + m.Response = &BulkCheckPermissionPair_Error{Error: v} + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skip(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLength + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *BulkCheckPermissionResponseItem) UnmarshalVT(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: BulkCheckPermissionResponseItem: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: BulkCheckPermissionResponseItem: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Permissionship", wireType) + } + m.Permissionship = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.Permissionship |= CheckPermissionResponse_Permissionship(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field PartialCaveatInfo", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.PartialCaveatInfo == nil { + m.PartialCaveatInfo = &PartialCaveatInfo{} + } + if err := m.PartialCaveatInfo.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skip(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLength + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *BulkImportRelationshipsRequest) UnmarshalVT(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: BulkImportRelationshipsRequest: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: BulkImportRelationshipsRequest: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Relationships", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Relationships = append(m.Relationships, &Relationship{}) + if err := m.Relationships[len(m.Relationships)-1].UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skip(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLength + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *BulkImportRelationshipsResponse) UnmarshalVT(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: BulkImportRelationshipsResponse: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: BulkImportRelationshipsResponse: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field NumLoaded", wireType) + } + m.NumLoaded = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.NumLoaded |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + default: + iNdEx = preIndex + skippy, err := skip(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLength + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *BulkExportRelationshipsRequest) UnmarshalVT(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: BulkExportRelationshipsRequest: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: BulkExportRelationshipsRequest: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Consistency", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.Consistency == nil { + m.Consistency = &Consistency{} + } + if err := m.Consistency.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 2: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field OptionalLimit", wireType) + } + m.OptionalLimit = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.OptionalLimit |= uint32(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field OptionalCursor", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.OptionalCursor == nil { + m.OptionalCursor = &Cursor{} + } + if err := m.OptionalCursor.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 4: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field OptionalRelationshipFilter", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.OptionalRelationshipFilter == nil { + m.OptionalRelationshipFilter = &RelationshipFilter{} + } + if err := m.OptionalRelationshipFilter.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skip(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLength + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *BulkExportRelationshipsResponse) UnmarshalVT(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: BulkExportRelationshipsResponse: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: BulkExportRelationshipsResponse: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field AfterResultCursor", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.AfterResultCursor == nil { + m.AfterResultCursor = &Cursor{} + } + if err := m.AfterResultCursor.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Relationships", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Relationships = append(m.Relationships, &Relationship{}) + if err := m.Relationships[len(m.Relationships)-1].UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skip(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLength + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *ExperimentalReflectSchemaRequest) UnmarshalVT(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: ExperimentalReflectSchemaRequest: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: ExperimentalReflectSchemaRequest: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Consistency", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.Consistency == nil { + m.Consistency = &Consistency{} + } + if err := m.Consistency.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field OptionalFilters", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.OptionalFilters = append(m.OptionalFilters, &ExpSchemaFilter{}) + if err := m.OptionalFilters[len(m.OptionalFilters)-1].UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skip(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLength + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *ExperimentalReflectSchemaResponse) UnmarshalVT(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: ExperimentalReflectSchemaResponse: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: ExperimentalReflectSchemaResponse: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Definitions", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Definitions = append(m.Definitions, &ExpDefinition{}) + if err := m.Definitions[len(m.Definitions)-1].UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Caveats", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Caveats = append(m.Caveats, &ExpCaveat{}) + if err := m.Caveats[len(m.Caveats)-1].UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field ReadAt", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.ReadAt == nil { + m.ReadAt = &ZedToken{} + } + if err := m.ReadAt.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skip(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLength + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *ExpSchemaFilter) UnmarshalVT(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: ExpSchemaFilter: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: ExpSchemaFilter: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field OptionalDefinitionNameMatch", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.OptionalDefinitionNameMatch = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field OptionalRelationOrPermissionNameMatch", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.OptionalRelationOrPermissionNameMatch = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 3: + if wireType == 0 { + var v ExpSchemaFilter_KindFilter + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= ExpSchemaFilter_KindFilter(b&0x7F) << shift + if b < 0x80 { + break + } + } + m.KindFilters = append(m.KindFilters, v) + } else if wireType == 2 { + var packedLen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + packedLen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if packedLen < 0 { + return ErrInvalidLength + } + postIndex := iNdEx + packedLen + if postIndex < 0 { + return ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + var elementCount int + if elementCount != 0 && len(m.KindFilters) == 0 { + m.KindFilters = make([]ExpSchemaFilter_KindFilter, 0, elementCount) + } + for iNdEx < postIndex { + var v ExpSchemaFilter_KindFilter + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= ExpSchemaFilter_KindFilter(b&0x7F) << shift + if b < 0x80 { + break + } + } + m.KindFilters = append(m.KindFilters, v) + } + } else { + return fmt.Errorf("proto: wrong wireType = %d for field KindFilters", wireType) + } + default: + iNdEx = preIndex + skippy, err := skip(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLength + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *ExpDefinition) UnmarshalVT(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: ExpDefinition: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: ExpDefinition: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Name", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Name = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Comment", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Comment = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Relations", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Relations = append(m.Relations, &ExpRelation{}) + if err := m.Relations[len(m.Relations)-1].UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 4: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Permissions", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Permissions = append(m.Permissions, &ExpPermission{}) + if err := m.Permissions[len(m.Permissions)-1].UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skip(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLength + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *ExpCaveat) UnmarshalVT(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: ExpCaveat: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: ExpCaveat: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Name", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Name = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Comment", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Comment = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Parameters", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Parameters = append(m.Parameters, &ExpCaveatParameter{}) + if err := m.Parameters[len(m.Parameters)-1].UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 4: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Expression", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Expression = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skip(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLength + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *ExpCaveatParameter) UnmarshalVT(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: ExpCaveatParameter: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: ExpCaveatParameter: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Name", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Name = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Type", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Type = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field ParentCaveatName", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.ParentCaveatName = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skip(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLength + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *ExpRelation) UnmarshalVT(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: ExpRelation: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: ExpRelation: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Name", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Name = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Comment", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Comment = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field ParentDefinitionName", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.ParentDefinitionName = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 4: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field SubjectTypes", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.SubjectTypes = append(m.SubjectTypes, &ExpTypeReference{}) + if err := m.SubjectTypes[len(m.SubjectTypes)-1].UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skip(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLength + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *ExpTypeReference) UnmarshalVT(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: ExpTypeReference: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: ExpTypeReference: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field SubjectDefinitionName", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.SubjectDefinitionName = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field OptionalCaveatName", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.OptionalCaveatName = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 3: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field IsTerminalSubject", wireType) + } + var v int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + b := bool(v != 0) + m.Typeref = &ExpTypeReference_IsTerminalSubject{IsTerminalSubject: b} + case 4: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field OptionalRelationName", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Typeref = &ExpTypeReference_OptionalRelationName{OptionalRelationName: string(dAtA[iNdEx:postIndex])} + iNdEx = postIndex + case 5: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field IsPublicWildcard", wireType) + } + var v int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + b := bool(v != 0) + m.Typeref = &ExpTypeReference_IsPublicWildcard{IsPublicWildcard: b} + default: + iNdEx = preIndex + skippy, err := skip(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLength + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *ExpPermission) UnmarshalVT(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: ExpPermission: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: ExpPermission: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Name", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Name = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Comment", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Comment = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field ParentDefinitionName", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.ParentDefinitionName = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skip(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLength + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *ExperimentalComputablePermissionsRequest) UnmarshalVT(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: ExperimentalComputablePermissionsRequest: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: ExperimentalComputablePermissionsRequest: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Consistency", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.Consistency == nil { + m.Consistency = &Consistency{} + } + if err := m.Consistency.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Relations", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Relations = append(m.Relations, &ExpRelationReference{}) + if err := m.Relations[len(m.Relations)-1].UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field OptionalDefinitionNameMatch", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.OptionalDefinitionNameMatch = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skip(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLength + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *ExpRelationReference) UnmarshalVT(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: ExpRelationReference: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: ExpRelationReference: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field DefinitionName", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.DefinitionName = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field RelationName", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.RelationName = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skip(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLength + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *ExpPermissionReference) UnmarshalVT(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: ExpPermissionReference: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: ExpPermissionReference: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field DefinitionName", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.DefinitionName = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field RelationName", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.RelationName = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skip(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLength + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *ExperimentalComputablePermissionsResponse) UnmarshalVT(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: ExperimentalComputablePermissionsResponse: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: ExperimentalComputablePermissionsResponse: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Permissions", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Permissions = append(m.Permissions, &ExpPermissionReference{}) + if err := m.Permissions[len(m.Permissions)-1].UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field ReadAt", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.ReadAt == nil { + m.ReadAt = &ZedToken{} + } + if err := m.ReadAt.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skip(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLength + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *ExperimentalDependentRelationsRequest) UnmarshalVT(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: ExperimentalDependentRelationsRequest: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: ExperimentalDependentRelationsRequest: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Consistency", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.Consistency == nil { + m.Consistency = &Consistency{} + } + if err := m.Consistency.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Permission", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.Permission == nil { + m.Permission = &ExpPermissionReference{} + } + if err := m.Permission.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skip(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLength + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *ExperimentalDependentRelationsResponse) UnmarshalVT(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: ExperimentalDependentRelationsResponse: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: ExperimentalDependentRelationsResponse: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Relations", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Relations = append(m.Relations, &ExpRelationReference{}) + if err := m.Relations[len(m.Relations)-1].UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field ReadAt", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.ReadAt == nil { + m.ReadAt = &ZedToken{} + } + if err := m.ReadAt.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skip(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLength + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + iNdEx += skippy } } - n += len(m.unknownFields) - return n -} -func (m *BulkCheckPermissionRequest) UnmarshalVT(dAtA []byte) error { + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *ExperimentalSchemaDiffRequest) UnmarshalVT(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -1359,10 +8581,10 @@ func (m *BulkCheckPermissionRequest) UnmarshalVT(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: BulkCheckPermissionRequest: wiretype end group for non-group") + return fmt.Errorf("proto: ExperimentalSchemaDiffRequest: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: BulkCheckPermissionRequest: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: ExperimentalSchemaDiffRequest: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: @@ -1403,7 +8625,90 @@ func (m *BulkCheckPermissionRequest) UnmarshalVT(dAtA []byte) error { iNdEx = postIndex case 2: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Items", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field ComparisonSchema", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.ComparisonSchema = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skip(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLength + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *ExperimentalSchemaDiffResponse) UnmarshalVT(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: ExperimentalSchemaDiffResponse: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: ExperimentalSchemaDiffResponse: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Diffs", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -1430,8 +8735,44 @@ func (m *BulkCheckPermissionRequest) UnmarshalVT(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - m.Items = append(m.Items, &BulkCheckPermissionRequestItem{}) - if err := m.Items[len(m.Items)-1].UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + m.Diffs = append(m.Diffs, &ExpSchemaDiff{}) + if err := m.Diffs[len(m.Diffs)-1].UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field ReadAt", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.ReadAt == nil { + m.ReadAt = &ZedToken{} + } + if err := m.ReadAt.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex @@ -1457,7 +8798,7 @@ func (m *BulkCheckPermissionRequest) UnmarshalVT(dAtA []byte) error { } return nil } -func (m *BulkCheckPermissionRequestItem) UnmarshalVT(dAtA []byte) error { +func (m *ExpSchemaDiff) UnmarshalVT(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -1480,15 +8821,15 @@ func (m *BulkCheckPermissionRequestItem) UnmarshalVT(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: BulkCheckPermissionRequestItem: wiretype end group for non-group") + return fmt.Errorf("proto: ExpSchemaDiff: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: BulkCheckPermissionRequestItem: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: ExpSchemaDiff: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Resource", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field DefinitionAdded", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -1515,18 +8856,23 @@ func (m *BulkCheckPermissionRequestItem) UnmarshalVT(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if m.Resource == nil { - m.Resource = &ObjectReference{} - } - if err := m.Resource.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err + if oneof, ok := m.Diff.(*ExpSchemaDiff_DefinitionAdded); ok { + if err := oneof.DefinitionAdded.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + v := &ExpDefinition{} + if err := v.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + m.Diff = &ExpSchemaDiff_DefinitionAdded{DefinitionAdded: v} } iNdEx = postIndex case 2: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Permission", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field DefinitionRemoved", wireType) } - var stringLen uint64 + var msglen int for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflow @@ -1536,27 +8882,36 @@ func (m *BulkCheckPermissionRequestItem) UnmarshalVT(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= uint64(b&0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } } - intStringLen := int(stringLen) - if intStringLen < 0 { + if msglen < 0 { return ErrInvalidLength } - postIndex := iNdEx + intStringLen + postIndex := iNdEx + msglen if postIndex < 0 { return ErrInvalidLength } if postIndex > l { return io.ErrUnexpectedEOF } - m.Permission = string(dAtA[iNdEx:postIndex]) + if oneof, ok := m.Diff.(*ExpSchemaDiff_DefinitionRemoved); ok { + if err := oneof.DefinitionRemoved.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + v := &ExpDefinition{} + if err := v.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + m.Diff = &ExpSchemaDiff_DefinitionRemoved{DefinitionRemoved: v} + } iNdEx = postIndex case 3: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Subject", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field DefinitionDocCommentChanged", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -1583,16 +8938,21 @@ func (m *BulkCheckPermissionRequestItem) UnmarshalVT(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if m.Subject == nil { - m.Subject = &SubjectReference{} - } - if err := m.Subject.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err + if oneof, ok := m.Diff.(*ExpSchemaDiff_DefinitionDocCommentChanged); ok { + if err := oneof.DefinitionDocCommentChanged.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + v := &ExpDefinition{} + if err := v.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + m.Diff = &ExpSchemaDiff_DefinitionDocCommentChanged{DefinitionDocCommentChanged: v} } iNdEx = postIndex case 4: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Context", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field RelationAdded", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -1619,75 +8979,62 @@ func (m *BulkCheckPermissionRequestItem) UnmarshalVT(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if m.Context == nil { - m.Context = &structpb.Struct{} - } - if unmarshal, ok := interface{}(m.Context).(interface { - UnmarshalVT([]byte) error - }); ok { - if err := unmarshal.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + if oneof, ok := m.Diff.(*ExpSchemaDiff_RelationAdded); ok { + if err := oneof.RelationAdded.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { return err } } else { - if err := proto.Unmarshal(dAtA[iNdEx:postIndex], m.Context); err != nil { + v := &ExpRelation{} + if err := v.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { return err } + m.Diff = &ExpSchemaDiff_RelationAdded{RelationAdded: v} } iNdEx = postIndex - default: - iNdEx = preIndex - skippy, err := skip(dAtA[iNdEx:]) - if err != nil { - return err + case 5: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field RelationRemoved", wireType) } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return ErrInvalidLength + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF + if msglen < 0 { + return ErrInvalidLength } - m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *BulkCheckPermissionResponse) UnmarshalVT(dAtA []byte) error { - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflow + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLength } - if iNdEx >= l { + if postIndex > l { return io.ErrUnexpectedEOF } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break + if oneof, ok := m.Diff.(*ExpSchemaDiff_RelationRemoved); ok { + if err := oneof.RelationRemoved.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + v := &ExpRelation{} + if err := v.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + m.Diff = &ExpSchemaDiff_RelationRemoved{RelationRemoved: v} } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return fmt.Errorf("proto: BulkCheckPermissionResponse: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: BulkCheckPermissionResponse: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: + iNdEx = postIndex + case 6: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field CheckedAt", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field RelationDocCommentChanged", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -1714,16 +9061,21 @@ func (m *BulkCheckPermissionResponse) UnmarshalVT(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if m.CheckedAt == nil { - m.CheckedAt = &ZedToken{} - } - if err := m.CheckedAt.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err + if oneof, ok := m.Diff.(*ExpSchemaDiff_RelationDocCommentChanged); ok { + if err := oneof.RelationDocCommentChanged.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + v := &ExpRelation{} + if err := v.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + m.Diff = &ExpSchemaDiff_RelationDocCommentChanged{RelationDocCommentChanged: v} } iNdEx = postIndex - case 2: + case 7: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Pairs", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field RelationTypeChanged", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -1750,65 +9102,21 @@ func (m *BulkCheckPermissionResponse) UnmarshalVT(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - m.Pairs = append(m.Pairs, &BulkCheckPermissionPair{}) - if err := m.Pairs[len(m.Pairs)-1].UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err + if oneof, ok := m.Diff.(*ExpSchemaDiff_RelationTypeChanged); ok { + if err := oneof.RelationTypeChanged.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + v := &ExpRelation{} + if err := v.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + m.Diff = &ExpSchemaDiff_RelationTypeChanged{RelationTypeChanged: v} } iNdEx = postIndex - default: - iNdEx = preIndex - skippy, err := skip(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return ErrInvalidLength - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *BulkCheckPermissionPair) UnmarshalVT(dAtA []byte) error { - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return fmt.Errorf("proto: BulkCheckPermissionPair: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: BulkCheckPermissionPair: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: + case 8: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Request", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field PermissionAdded", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -1835,16 +9143,21 @@ func (m *BulkCheckPermissionPair) UnmarshalVT(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if m.Request == nil { - m.Request = &BulkCheckPermissionRequestItem{} - } - if err := m.Request.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err + if oneof, ok := m.Diff.(*ExpSchemaDiff_PermissionAdded); ok { + if err := oneof.PermissionAdded.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + v := &ExpPermission{} + if err := v.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + m.Diff = &ExpSchemaDiff_PermissionAdded{PermissionAdded: v} } iNdEx = postIndex - case 2: + case 9: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Item", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field PermissionRemoved", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -1871,21 +9184,21 @@ func (m *BulkCheckPermissionPair) UnmarshalVT(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if oneof, ok := m.Response.(*BulkCheckPermissionPair_Item); ok { - if err := oneof.Item.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + if oneof, ok := m.Diff.(*ExpSchemaDiff_PermissionRemoved); ok { + if err := oneof.PermissionRemoved.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { return err } } else { - v := &BulkCheckPermissionResponseItem{} + v := &ExpPermission{} if err := v.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { return err } - m.Response = &BulkCheckPermissionPair_Item{Item: v} + m.Diff = &ExpSchemaDiff_PermissionRemoved{PermissionRemoved: v} } iNdEx = postIndex - case 3: + case 10: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Error", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field PermissionDocCommentChanged", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -1912,107 +9225,21 @@ func (m *BulkCheckPermissionPair) UnmarshalVT(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if oneof, ok := m.Response.(*BulkCheckPermissionPair_Error); ok { - if unmarshal, ok := interface{}(oneof.Error).(interface { - UnmarshalVT([]byte) error - }); ok { - if err := unmarshal.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err - } - } else { - if err := proto.Unmarshal(dAtA[iNdEx:postIndex], oneof.Error); err != nil { - return err - } + if oneof, ok := m.Diff.(*ExpSchemaDiff_PermissionDocCommentChanged); ok { + if err := oneof.PermissionDocCommentChanged.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err } } else { - v := &status.Status{} - if unmarshal, ok := interface{}(v).(interface { - UnmarshalVT([]byte) error - }); ok { - if err := unmarshal.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err - } - } else { - if err := proto.Unmarshal(dAtA[iNdEx:postIndex], v); err != nil { - return err - } + v := &ExpPermission{} + if err := v.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err } - m.Response = &BulkCheckPermissionPair_Error{Error: v} + m.Diff = &ExpSchemaDiff_PermissionDocCommentChanged{PermissionDocCommentChanged: v} } iNdEx = postIndex - default: - iNdEx = preIndex - skippy, err := skip(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return ErrInvalidLength - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *BulkCheckPermissionResponseItem) UnmarshalVT(dAtA []byte) error { - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return fmt.Errorf("proto: BulkCheckPermissionResponseItem: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: BulkCheckPermissionResponseItem: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field Permissionship", wireType) - } - m.Permissionship = 0 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - m.Permissionship |= CheckPermissionResponse_Permissionship(b&0x7F) << shift - if b < 0x80 { - break - } - } - case 2: + case 11: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field PartialCaveatInfo", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field PermissionExprChanged", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -2039,67 +9266,21 @@ func (m *BulkCheckPermissionResponseItem) UnmarshalVT(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if m.PartialCaveatInfo == nil { - m.PartialCaveatInfo = &PartialCaveatInfo{} - } - if err := m.PartialCaveatInfo.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err + if oneof, ok := m.Diff.(*ExpSchemaDiff_PermissionExprChanged); ok { + if err := oneof.PermissionExprChanged.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + v := &ExpPermission{} + if err := v.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + m.Diff = &ExpSchemaDiff_PermissionExprChanged{PermissionExprChanged: v} } iNdEx = postIndex - default: - iNdEx = preIndex - skippy, err := skip(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return ErrInvalidLength - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *BulkImportRelationshipsRequest) UnmarshalVT(dAtA []byte) error { - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return fmt.Errorf("proto: BulkImportRelationshipsRequest: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: BulkImportRelationshipsRequest: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: + case 12: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Relationships", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field CaveatAdded", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -2126,67 +9307,23 @@ func (m *BulkImportRelationshipsRequest) UnmarshalVT(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - m.Relationships = append(m.Relationships, &Relationship{}) - if err := m.Relationships[len(m.Relationships)-1].UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err + if oneof, ok := m.Diff.(*ExpSchemaDiff_CaveatAdded); ok { + if err := oneof.CaveatAdded.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + v := &ExpCaveat{} + if err := v.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + m.Diff = &ExpSchemaDiff_CaveatAdded{CaveatAdded: v} } iNdEx = postIndex - default: - iNdEx = preIndex - skippy, err := skip(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return ErrInvalidLength - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *BulkImportRelationshipsResponse) UnmarshalVT(dAtA []byte) error { - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return fmt.Errorf("proto: BulkImportRelationshipsResponse: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: BulkImportRelationshipsResponse: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field NumLoaded", wireType) + case 13: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field CaveatRemoved", wireType) } - m.NumLoaded = 0 + var msglen int for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflow @@ -2196,65 +9333,36 @@ func (m *BulkImportRelationshipsResponse) UnmarshalVT(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - m.NumLoaded |= uint64(b&0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } } - default: - iNdEx = preIndex - skippy, err := skip(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { + if msglen < 0 { return ErrInvalidLength } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *BulkExportRelationshipsRequest) UnmarshalVT(dAtA []byte) error { - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflow + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLength } - if iNdEx >= l { + if postIndex > l { return io.ErrUnexpectedEOF } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break + if oneof, ok := m.Diff.(*ExpSchemaDiff_CaveatRemoved); ok { + if err := oneof.CaveatRemoved.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + v := &ExpCaveat{} + if err := v.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + m.Diff = &ExpSchemaDiff_CaveatRemoved{CaveatRemoved: v} } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return fmt.Errorf("proto: BulkExportRelationshipsRequest: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: BulkExportRelationshipsRequest: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: + iNdEx = postIndex + case 14: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Consistency", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field CaveatDocCommentChanged", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -2281,35 +9389,21 @@ func (m *BulkExportRelationshipsRequest) UnmarshalVT(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if m.Consistency == nil { - m.Consistency = &Consistency{} - } - if err := m.Consistency.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err - } - iNdEx = postIndex - case 2: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field OptionalLimit", wireType) - } - m.OptionalLimit = 0 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF + if oneof, ok := m.Diff.(*ExpSchemaDiff_CaveatDocCommentChanged); ok { + if err := oneof.CaveatDocCommentChanged.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err } - b := dAtA[iNdEx] - iNdEx++ - m.OptionalLimit |= uint32(b&0x7F) << shift - if b < 0x80 { - break + } else { + v := &ExpCaveat{} + if err := v.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err } + m.Diff = &ExpSchemaDiff_CaveatDocCommentChanged{CaveatDocCommentChanged: v} } - case 3: + iNdEx = postIndex + case 15: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field OptionalCursor", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field CaveatExprChanged", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -2336,16 +9430,21 @@ func (m *BulkExportRelationshipsRequest) UnmarshalVT(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if m.OptionalCursor == nil { - m.OptionalCursor = &Cursor{} - } - if err := m.OptionalCursor.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err + if oneof, ok := m.Diff.(*ExpSchemaDiff_CaveatExprChanged); ok { + if err := oneof.CaveatExprChanged.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + v := &ExpCaveat{} + if err := v.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + m.Diff = &ExpSchemaDiff_CaveatExprChanged{CaveatExprChanged: v} } iNdEx = postIndex - case 4: + case 16: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field OptionalRelationshipFilter", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field CaveatParameterAdded", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -2372,67 +9471,21 @@ func (m *BulkExportRelationshipsRequest) UnmarshalVT(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if m.OptionalRelationshipFilter == nil { - m.OptionalRelationshipFilter = &RelationshipFilter{} - } - if err := m.OptionalRelationshipFilter.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err + if oneof, ok := m.Diff.(*ExpSchemaDiff_CaveatParameterAdded); ok { + if err := oneof.CaveatParameterAdded.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + v := &ExpCaveatParameter{} + if err := v.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + m.Diff = &ExpSchemaDiff_CaveatParameterAdded{CaveatParameterAdded: v} } iNdEx = postIndex - default: - iNdEx = preIndex - skippy, err := skip(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return ErrInvalidLength - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *BulkExportRelationshipsResponse) UnmarshalVT(dAtA []byte) error { - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return fmt.Errorf("proto: BulkExportRelationshipsResponse: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: BulkExportRelationshipsResponse: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: + case 17: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field AfterResultCursor", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field CaveatParameterRemoved", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -2459,16 +9512,21 @@ func (m *BulkExportRelationshipsResponse) UnmarshalVT(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if m.AfterResultCursor == nil { - m.AfterResultCursor = &Cursor{} - } - if err := m.AfterResultCursor.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err + if oneof, ok := m.Diff.(*ExpSchemaDiff_CaveatParameterRemoved); ok { + if err := oneof.CaveatParameterRemoved.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + v := &ExpCaveatParameter{} + if err := v.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + m.Diff = &ExpSchemaDiff_CaveatParameterRemoved{CaveatParameterRemoved: v} } iNdEx = postIndex - case 2: + case 18: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Relationships", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field CaveatParameterTypeChanged", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -2495,9 +9553,16 @@ func (m *BulkExportRelationshipsResponse) UnmarshalVT(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - m.Relationships = append(m.Relationships, &Relationship{}) - if err := m.Relationships[len(m.Relationships)-1].UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err + if oneof, ok := m.Diff.(*ExpSchemaDiff_CaveatParameterTypeChanged); ok { + if err := oneof.CaveatParameterTypeChanged.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + v := &ExpCaveatParameter{} + if err := v.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + m.Diff = &ExpSchemaDiff_CaveatParameterTypeChanged{CaveatParameterTypeChanged: v} } iNdEx = postIndex default: diff --git a/proto/authzed/api/v1/zz_generated.version.go b/proto/authzed/api/v1/zz_generated.version.go index f2ed2e5..c1560f9 100644 --- a/proto/authzed/api/v1/zz_generated.version.go +++ b/proto/authzed/api/v1/zz_generated.version.go @@ -2,5 +2,5 @@ package v1 const ( BufRepository = "buf.build/authzed/api" - BufTag = "d12b0c6cb910ec1b21bb4abc5ee43f53efb9896c" + BufTag = "6db92bea167c1a628daafd572dc612e80cf99d4d" ) diff --git a/proto/authzed/api/v1alpha1/zz_generated.version.go b/proto/authzed/api/v1alpha1/zz_generated.version.go index 3da3c2d..9bb70dd 100644 --- a/proto/authzed/api/v1alpha1/zz_generated.version.go +++ b/proto/authzed/api/v1alpha1/zz_generated.version.go @@ -2,5 +2,5 @@ package v1alpha1 const ( BufRepository = "buf.build/authzed/api" - BufTag = "d12b0c6cb910ec1b21bb4abc5ee43f53efb9896c" + BufTag = "6db92bea167c1a628daafd572dc612e80cf99d4d" )