From 19f94d2044f05304895174220a933ebf68837aed Mon Sep 17 00:00:00 2001 From: authzedbot <86801627+authzedbot@users.noreply.github.com> Date: Tue, 26 May 2026 16:28:38 +0000 Subject: [PATCH] feat: update api version --- buf.gen.yaml | 2 +- .../Api/Materialize/V0/Relationships.cs | 521 ++++++++++++++++++ .../Api/Materialize/V0/RelationshipsGrpc.cs | 152 +++++ .../Api/Materialize/V0/Watchpermissions.cs | 10 +- .../Materialize/V0/WatchpermissionsGrpc.cs | 2 + .../Api/Materialize/V0/Watchpermissionsets.cs | 279 +++++++--- src/Authzed.Net/Authzed/Api/V1/Core.cs | 24 +- src/Authzed.Net/Authzed/Api/V1/ErrorReason.cs | 23 +- .../Authzed/Api/V1/ExperimentalService.cs | 403 +++++++------- .../Authzed/Api/V1/PermissionService.cs | 510 +++++++++-------- 10 files changed, 1413 insertions(+), 513 deletions(-) create mode 100644 src/Authzed.Net/Authzed/Api/Materialize/V0/Relationships.cs create mode 100644 src/Authzed.Net/Authzed/Api/Materialize/V0/RelationshipsGrpc.cs diff --git a/buf.gen.yaml b/buf.gen.yaml index 6a23e0f..ac4b0ec 100644 --- a/buf.gen.yaml +++ b/buf.gen.yaml @@ -12,4 +12,4 @@ plugins: - "base_namespace=" - "no_server=on" inputs: - - module: buf.build/authzed/api:v1.45.4 + - module: buf.build/authzed/api:v1.53.0 diff --git a/src/Authzed.Net/Authzed/Api/Materialize/V0/Relationships.cs b/src/Authzed.Net/Authzed/Api/Materialize/V0/Relationships.cs new file mode 100644 index 0000000..e02b8e1 --- /dev/null +++ b/src/Authzed.Net/Authzed/Api/Materialize/V0/Relationships.cs @@ -0,0 +1,521 @@ +// +// Generated by the protocol buffer compiler. DO NOT EDIT! +// source: authzed/api/materialize/v0/relationships.proto +// +#pragma warning disable 1591, 0612, 3021, 8981 +#region Designer generated code + +using pb = global::Google.Protobuf; +using pbc = global::Google.Protobuf.Collections; +using pbr = global::Google.Protobuf.Reflection; +using scg = global::System.Collections.Generic; +namespace Authzed.Api.Materialize.V0 { + + /// Holder for reflection information generated from authzed/api/materialize/v0/relationships.proto + public static partial class RelationshipsReflection { + + #region Descriptor + /// File descriptor for authzed/api/materialize/v0/relationships.proto + public static pbr::FileDescriptor Descriptor { + get { return descriptor; } + } + private static pbr::FileDescriptor descriptor; + + static RelationshipsReflection() { + byte[] descriptorData = global::System.Convert.FromBase64String( + string.Concat( + "Ci5hdXRoemVkL2FwaS9tYXRlcmlhbGl6ZS92MC9yZWxhdGlvbnNoaXBzLnBy", + "b3RvEhphdXRoemVkLmFwaS5tYXRlcmlhbGl6ZS52MBoZYXV0aHplZC9hcGkv", + "djEvY29yZS5wcm90bxonYXV0aHplZC9hcGkvdjEvcGVybWlzc2lvbl9zZXJ2", + "aWNlLnByb3RvGhtidWYvdmFsaWRhdGUvdmFsaWRhdGUucHJvdG8aF3ZhbGlk", + "YXRlL3ZhbGlkYXRlLnByb3RvIpQBCi1FeHBlcmltZW50YWxDb3VudFJlbGF0", + "aW9uc2hpcHNCeUZpbHRlclJlcXVlc3QSYwoTcmVsYXRpb25zaGlwX2ZpbHRl", + "chgBIAEoCzIiLmF1dGh6ZWQuYXBpLnYxLlJlbGF0aW9uc2hpcEZpbHRlckIO", + "+kIFigECEAG6SAPIAQFSEnJlbGF0aW9uc2hpcEZpbHRlciKiAQouRXhwZXJp", + "bWVudGFsQ291bnRSZWxhdGlvbnNoaXBzQnlGaWx0ZXJSZXNwb25zZRItChJy", + "ZWxhdGlvbnNoaXBfY291bnQYASABKARSEXJlbGF0aW9uc2hpcENvdW50EkEK", + "B3JlYWRfYXQYAiABKAsyGC5hdXRoemVkLmFwaS52MS5aZWRUb2tlbkIO+kIF", + "igECEAG6SAPIAQFSBnJlYWRBdDLaAQoUUmVsYXRpb25zaGlwc1NlcnZpY2US", + "wQEKJkV4cGVyaW1lbnRhbENvdW50UmVsYXRpb25zaGlwc0J5RmlsdGVyEkku", + "YXV0aHplZC5hcGkubWF0ZXJpYWxpemUudjAuRXhwZXJpbWVudGFsQ291bnRS", + "ZWxhdGlvbnNoaXBzQnlGaWx0ZXJSZXF1ZXN0GkouYXV0aHplZC5hcGkubWF0", + "ZXJpYWxpemUudjAuRXhwZXJpbWVudGFsQ291bnRSZWxhdGlvbnNoaXBzQnlG", + "aWx0ZXJSZXNwb25zZSIAQmIKHmNvbS5hdXRoemVkLmFwaS5tYXRlcmlhbGl6", + "ZS52MFABWj5naXRodWIuY29tL2F1dGh6ZWQvYXV0aHplZC1nby9wcm90by9h", + "dXRoemVkL2FwaS9tYXRlcmlhbGl6ZS92MGIGcHJvdG8z")); + descriptor = pbr::FileDescriptor.FromGeneratedCode(descriptorData, + new pbr::FileDescriptor[] { global::Authzed.Api.V1.CoreReflection.Descriptor, global::Authzed.Api.V1.PermissionServiceReflection.Descriptor, global::Buf.Validate.ValidateReflection.Descriptor, global::Validate.ValidateReflection.Descriptor, }, + new pbr::GeneratedClrTypeInfo(null, null, new pbr::GeneratedClrTypeInfo[] { + new pbr::GeneratedClrTypeInfo(typeof(global::Authzed.Api.Materialize.V0.ExperimentalCountRelationshipsByFilterRequest), global::Authzed.Api.Materialize.V0.ExperimentalCountRelationshipsByFilterRequest.Parser, new[]{ "RelationshipFilter" }, null, null, null, null), + new pbr::GeneratedClrTypeInfo(typeof(global::Authzed.Api.Materialize.V0.ExperimentalCountRelationshipsByFilterResponse), global::Authzed.Api.Materialize.V0.ExperimentalCountRelationshipsByFilterResponse.Parser, new[]{ "RelationshipCount", "ReadAt" }, null, null, null, null) + })); + } + #endregion + + } + #region Messages + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] + public sealed partial class ExperimentalCountRelationshipsByFilterRequest : pb::IMessage + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + , pb::IBufferMessage + #endif + { + private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new ExperimentalCountRelationshipsByFilterRequest()); + private pb::UnknownFieldSet _unknownFields; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pb::MessageParser Parser { get { return _parser; } } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pbr::MessageDescriptor Descriptor { + get { return global::Authzed.Api.Materialize.V0.RelationshipsReflection.Descriptor.MessageTypes[0]; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + pbr::MessageDescriptor pb::IMessage.Descriptor { + get { return Descriptor; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public ExperimentalCountRelationshipsByFilterRequest() { + OnConstruction(); + } + + partial void OnConstruction(); + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public ExperimentalCountRelationshipsByFilterRequest(ExperimentalCountRelationshipsByFilterRequest other) : this() { + relationshipFilter_ = other.relationshipFilter_ != null ? other.relationshipFilter_.Clone() : null; + _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public ExperimentalCountRelationshipsByFilterRequest Clone() { + return new ExperimentalCountRelationshipsByFilterRequest(this); + } + + /// Field number for the "relationship_filter" field. + public const int RelationshipFilterFieldNumber = 1; + private global::Authzed.Api.V1.RelationshipFilter relationshipFilter_; + /// + /// relationship_filter specifies the filter to apply when counting relationships. + /// + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public global::Authzed.Api.V1.RelationshipFilter RelationshipFilter { + get { return relationshipFilter_; } + set { + relationshipFilter_ = value; + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override bool Equals(object other) { + return Equals(other as ExperimentalCountRelationshipsByFilterRequest); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool Equals(ExperimentalCountRelationshipsByFilterRequest other) { + if (ReferenceEquals(other, null)) { + return false; + } + if (ReferenceEquals(other, this)) { + return true; + } + if (!object.Equals(RelationshipFilter, other.RelationshipFilter)) return false; + return Equals(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override int GetHashCode() { + int hash = 1; + if (relationshipFilter_ != null) hash ^= RelationshipFilter.GetHashCode(); + if (_unknownFields != null) { + hash ^= _unknownFields.GetHashCode(); + } + return hash; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override string ToString() { + return pb::JsonFormatter.ToDiagnosticString(this); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void WriteTo(pb::CodedOutputStream output) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + output.WriteRawMessage(this); + #else + if (relationshipFilter_ != null) { + output.WriteRawTag(10); + output.WriteMessage(RelationshipFilter); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(output); + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { + if (relationshipFilter_ != null) { + output.WriteRawTag(10); + output.WriteMessage(RelationshipFilter); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(ref output); + } + } + #endif + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public int CalculateSize() { + int size = 0; + if (relationshipFilter_ != null) { + size += 1 + pb::CodedOutputStream.ComputeMessageSize(RelationshipFilter); + } + if (_unknownFields != null) { + size += _unknownFields.CalculateSize(); + } + return size; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(ExperimentalCountRelationshipsByFilterRequest other) { + if (other == null) { + return; + } + if (other.relationshipFilter_ != null) { + if (relationshipFilter_ == null) { + RelationshipFilter = new global::Authzed.Api.V1.RelationshipFilter(); + } + RelationshipFilter.MergeFrom(other.RelationshipFilter); + } + _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(pb::CodedInputStream input) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + input.ReadRawMessage(this); + #else + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); + break; + case 10: { + if (relationshipFilter_ == null) { + RelationshipFilter = new global::Authzed.Api.V1.RelationshipFilter(); + } + input.ReadMessage(RelationshipFilter); + break; + } + } + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); + break; + case 10: { + if (relationshipFilter_ == null) { + RelationshipFilter = new global::Authzed.Api.V1.RelationshipFilter(); + } + input.ReadMessage(RelationshipFilter); + break; + } + } + } + } + #endif + + } + + [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] + public sealed partial class ExperimentalCountRelationshipsByFilterResponse : pb::IMessage + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + , pb::IBufferMessage + #endif + { + private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new ExperimentalCountRelationshipsByFilterResponse()); + private pb::UnknownFieldSet _unknownFields; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pb::MessageParser Parser { get { return _parser; } } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pbr::MessageDescriptor Descriptor { + get { return global::Authzed.Api.Materialize.V0.RelationshipsReflection.Descriptor.MessageTypes[1]; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + pbr::MessageDescriptor pb::IMessage.Descriptor { + get { return Descriptor; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public ExperimentalCountRelationshipsByFilterResponse() { + OnConstruction(); + } + + partial void OnConstruction(); + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public ExperimentalCountRelationshipsByFilterResponse(ExperimentalCountRelationshipsByFilterResponse other) : this() { + relationshipCount_ = other.relationshipCount_; + readAt_ = other.readAt_ != null ? other.readAt_.Clone() : null; + _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public ExperimentalCountRelationshipsByFilterResponse Clone() { + return new ExperimentalCountRelationshipsByFilterResponse(this); + } + + /// Field number for the "relationship_count" field. + public const int RelationshipCountFieldNumber = 1; + private ulong relationshipCount_; + /// + /// relationship_count is the count of relationships that match the filter. + /// + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public ulong RelationshipCount { + get { return relationshipCount_; } + set { + relationshipCount_ = value; + } + } + + /// Field number for the "read_at" field. + public const int ReadAtFieldNumber = 2; + private global::Authzed.Api.V1.ZedToken readAt_; + /// + /// read_at is the ZedToken at which the relationship count applies. + /// + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public global::Authzed.Api.V1.ZedToken ReadAt { + get { return readAt_; } + set { + readAt_ = value; + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override bool Equals(object other) { + return Equals(other as ExperimentalCountRelationshipsByFilterResponse); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool Equals(ExperimentalCountRelationshipsByFilterResponse other) { + if (ReferenceEquals(other, null)) { + return false; + } + if (ReferenceEquals(other, this)) { + return true; + } + if (RelationshipCount != other.RelationshipCount) return false; + if (!object.Equals(ReadAt, other.ReadAt)) return false; + return Equals(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override int GetHashCode() { + int hash = 1; + if (RelationshipCount != 0UL) hash ^= RelationshipCount.GetHashCode(); + if (readAt_ != null) hash ^= ReadAt.GetHashCode(); + if (_unknownFields != null) { + hash ^= _unknownFields.GetHashCode(); + } + return hash; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override string ToString() { + return pb::JsonFormatter.ToDiagnosticString(this); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void WriteTo(pb::CodedOutputStream output) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + output.WriteRawMessage(this); + #else + if (RelationshipCount != 0UL) { + output.WriteRawTag(8); + output.WriteUInt64(RelationshipCount); + } + if (readAt_ != null) { + output.WriteRawTag(18); + output.WriteMessage(ReadAt); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(output); + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { + if (RelationshipCount != 0UL) { + output.WriteRawTag(8); + output.WriteUInt64(RelationshipCount); + } + if (readAt_ != null) { + output.WriteRawTag(18); + output.WriteMessage(ReadAt); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(ref output); + } + } + #endif + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public int CalculateSize() { + int size = 0; + if (RelationshipCount != 0UL) { + size += 1 + pb::CodedOutputStream.ComputeUInt64Size(RelationshipCount); + } + if (readAt_ != null) { + size += 1 + pb::CodedOutputStream.ComputeMessageSize(ReadAt); + } + if (_unknownFields != null) { + size += _unknownFields.CalculateSize(); + } + return size; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(ExperimentalCountRelationshipsByFilterResponse other) { + if (other == null) { + return; + } + if (other.RelationshipCount != 0UL) { + RelationshipCount = other.RelationshipCount; + } + if (other.readAt_ != null) { + if (readAt_ == null) { + ReadAt = new global::Authzed.Api.V1.ZedToken(); + } + ReadAt.MergeFrom(other.ReadAt); + } + _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(pb::CodedInputStream input) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + input.ReadRawMessage(this); + #else + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); + break; + case 8: { + RelationshipCount = input.ReadUInt64(); + break; + } + case 18: { + if (readAt_ == null) { + ReadAt = new global::Authzed.Api.V1.ZedToken(); + } + input.ReadMessage(ReadAt); + break; + } + } + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { + uint tag; + while ((tag = input.ReadTag()) != 0) { + if ((tag & 7) == 4) { + // Abort on any end group tag. + return; + } + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); + break; + case 8: { + RelationshipCount = input.ReadUInt64(); + break; + } + case 18: { + if (readAt_ == null) { + ReadAt = new global::Authzed.Api.V1.ZedToken(); + } + input.ReadMessage(ReadAt); + break; + } + } + } + } + #endif + + } + + #endregion + +} + +#endregion Designer generated code diff --git a/src/Authzed.Net/Authzed/Api/Materialize/V0/RelationshipsGrpc.cs b/src/Authzed.Net/Authzed/Api/Materialize/V0/RelationshipsGrpc.cs new file mode 100644 index 0000000..032fbdf --- /dev/null +++ b/src/Authzed.Net/Authzed/Api/Materialize/V0/RelationshipsGrpc.cs @@ -0,0 +1,152 @@ +// +// Generated by the protocol buffer compiler. DO NOT EDIT! +// source: authzed/api/materialize/v0/relationships.proto +// +#pragma warning disable 0414, 1591, 8981, 0612 +#region Designer generated code + +using grpc = global::Grpc.Core; + +namespace Authzed.Api.Materialize.V0 { + public static partial class RelationshipsService + { + static readonly string __ServiceName = "authzed.api.materialize.v0.RelationshipsService"; + + [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)] + static void __Helper_SerializeMessage(global::Google.Protobuf.IMessage message, grpc::SerializationContext context) + { + #if !GRPC_DISABLE_PROTOBUF_BUFFER_SERIALIZATION + if (message is global::Google.Protobuf.IBufferMessage) + { + context.SetPayloadLength(message.CalculateSize()); + global::Google.Protobuf.MessageExtensions.WriteTo(message, context.GetBufferWriter()); + context.Complete(); + return; + } + #endif + context.Complete(global::Google.Protobuf.MessageExtensions.ToByteArray(message)); + } + + [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)] + static class __Helper_MessageCache + { + public static readonly bool IsBufferMessage = global::System.Reflection.IntrospectionExtensions.GetTypeInfo(typeof(global::Google.Protobuf.IBufferMessage)).IsAssignableFrom(typeof(T)); + } + + [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)] + static T __Helper_DeserializeMessage(grpc::DeserializationContext context, global::Google.Protobuf.MessageParser parser) where T : global::Google.Protobuf.IMessage + { + #if !GRPC_DISABLE_PROTOBUF_BUFFER_SERIALIZATION + if (__Helper_MessageCache.IsBufferMessage) + { + return parser.ParseFrom(context.PayloadAsReadOnlySequence()); + } + #endif + return parser.ParseFrom(context.PayloadAsNewBuffer()); + } + + [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)] + static readonly grpc::Marshaller __Marshaller_authzed_api_materialize_v0_ExperimentalCountRelationshipsByFilterRequest = grpc::Marshallers.Create(__Helper_SerializeMessage, context => __Helper_DeserializeMessage(context, global::Authzed.Api.Materialize.V0.ExperimentalCountRelationshipsByFilterRequest.Parser)); + [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)] + static readonly grpc::Marshaller __Marshaller_authzed_api_materialize_v0_ExperimentalCountRelationshipsByFilterResponse = grpc::Marshallers.Create(__Helper_SerializeMessage, context => __Helper_DeserializeMessage(context, global::Authzed.Api.Materialize.V0.ExperimentalCountRelationshipsByFilterResponse.Parser)); + + [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)] + static readonly grpc::Method __Method_ExperimentalCountRelationshipsByFilter = new grpc::Method( + grpc::MethodType.Unary, + __ServiceName, + "ExperimentalCountRelationshipsByFilter", + __Marshaller_authzed_api_materialize_v0_ExperimentalCountRelationshipsByFilterRequest, + __Marshaller_authzed_api_materialize_v0_ExperimentalCountRelationshipsByFilterResponse); + + /// Service descriptor + public static global::Google.Protobuf.Reflection.ServiceDescriptor Descriptor + { + get { return global::Authzed.Api.Materialize.V0.RelationshipsReflection.Descriptor.Services[0]; } + } + + /// Client for RelationshipsService + public partial class RelationshipsServiceClient : grpc::ClientBase + { + /// Creates a new client for RelationshipsService + /// The channel to use to make remote calls. + [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)] + public RelationshipsServiceClient(grpc::ChannelBase channel) : base(channel) + { + } + /// Creates a new client for RelationshipsService that uses a custom CallInvoker. + /// The callInvoker to use to make remote calls. + [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)] + public RelationshipsServiceClient(grpc::CallInvoker callInvoker) : base(callInvoker) + { + } + /// Protected parameterless constructor to allow creation of test doubles. + [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)] + protected RelationshipsServiceClient() : base() + { + } + /// Protected constructor to allow creation of configured clients. + /// The client configuration. + [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)] + protected RelationshipsServiceClient(ClientBaseConfiguration configuration) : base(configuration) + { + } + + /// + /// EXPERIMENTAL: CountRelationships returns the count of relationships for a given filter. + /// + /// The request to send to the server. + /// The initial metadata to send with the call. This parameter is optional. + /// An optional deadline for the call. The call will be cancelled if deadline is hit. + /// An optional token for canceling the call. + /// The response received from the server. + [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)] + public virtual global::Authzed.Api.Materialize.V0.ExperimentalCountRelationshipsByFilterResponse ExperimentalCountRelationshipsByFilter(global::Authzed.Api.Materialize.V0.ExperimentalCountRelationshipsByFilterRequest request, grpc::Metadata headers = null, global::System.DateTime? deadline = null, global::System.Threading.CancellationToken cancellationToken = default(global::System.Threading.CancellationToken)) + { + return ExperimentalCountRelationshipsByFilter(request, new grpc::CallOptions(headers, deadline, cancellationToken)); + } + /// + /// EXPERIMENTAL: CountRelationships returns the count of relationships for a given filter. + /// + /// The request to send to the server. + /// The options for the call. + /// The response received from the server. + [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)] + public virtual global::Authzed.Api.Materialize.V0.ExperimentalCountRelationshipsByFilterResponse ExperimentalCountRelationshipsByFilter(global::Authzed.Api.Materialize.V0.ExperimentalCountRelationshipsByFilterRequest request, grpc::CallOptions options) + { + return CallInvoker.BlockingUnaryCall(__Method_ExperimentalCountRelationshipsByFilter, null, options, request); + } + /// + /// EXPERIMENTAL: CountRelationships returns the count of relationships for a given filter. + /// + /// The request to send to the server. + /// The initial metadata to send with the call. This parameter is optional. + /// An optional deadline for the call. The call will be cancelled if deadline is hit. + /// An optional token for canceling the call. + /// The call object. + [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)] + public virtual grpc::AsyncUnaryCall ExperimentalCountRelationshipsByFilterAsync(global::Authzed.Api.Materialize.V0.ExperimentalCountRelationshipsByFilterRequest request, grpc::Metadata headers = null, global::System.DateTime? deadline = null, global::System.Threading.CancellationToken cancellationToken = default(global::System.Threading.CancellationToken)) + { + return ExperimentalCountRelationshipsByFilterAsync(request, new grpc::CallOptions(headers, deadline, cancellationToken)); + } + /// + /// EXPERIMENTAL: CountRelationships returns the count of relationships for a given filter. + /// + /// The request to send to the server. + /// The options for the call. + /// The call object. + [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)] + public virtual grpc::AsyncUnaryCall ExperimentalCountRelationshipsByFilterAsync(global::Authzed.Api.Materialize.V0.ExperimentalCountRelationshipsByFilterRequest request, grpc::CallOptions options) + { + return CallInvoker.AsyncUnaryCall(__Method_ExperimentalCountRelationshipsByFilter, null, options, request); + } + /// Creates a new instance of client from given ClientBaseConfiguration. + [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)] + protected override RelationshipsServiceClient NewInstance(ClientBaseConfiguration configuration) + { + return new RelationshipsServiceClient(configuration); + } + } + + } +} +#endregion diff --git a/src/Authzed.Net/Authzed/Api/Materialize/V0/Watchpermissions.cs b/src/Authzed.Net/Authzed/Api/Materialize/V0/Watchpermissions.cs index 24df3e2..22c0378 100644 --- a/src/Authzed.Net/Authzed/Api/Materialize/V0/Watchpermissions.cs +++ b/src/Authzed.Net/Authzed/Api/Materialize/V0/Watchpermissions.cs @@ -49,13 +49,13 @@ static WatchpermissionsReflection() { "aXNzaW9uc2hpcCKgAQoOUGVybWlzc2lvbnNoaXASHgoaUEVSTUlTU0lPTlNI", "SVBfVU5TUEVDSUZJRUQQABIgChxQRVJNSVNTSU9OU0hJUF9OT19QRVJNSVNT", "SU9OEAESIQodUEVSTUlTU0lPTlNISVBfSEFTX1BFUk1JU1NJT04QAhIpCiVQ", - "RVJNSVNTSU9OU0hJUF9DT05ESVRJT05BTF9QRVJNSVNTSU9OEAMynQEKF1dh", - "dGNoUGVybWlzc2lvbnNTZXJ2aWNlEoEBChBXYXRjaFBlcm1pc3Npb25zEjMu", + "RVJNSVNTSU9OU0hJUF9DT05ESVRJT05BTF9QRVJNSVNTSU9OEAMyoAEKF1dh", + "dGNoUGVybWlzc2lvbnNTZXJ2aWNlEoQBChBXYXRjaFBlcm1pc3Npb25zEjMu", "YXV0aHplZC5hcGkubWF0ZXJpYWxpemUudjAuV2F0Y2hQZXJtaXNzaW9uc1Jl", "cXVlc3QaNC5hdXRoemVkLmFwaS5tYXRlcmlhbGl6ZS52MC5XYXRjaFBlcm1p", - "c3Npb25zUmVzcG9uc2UiADABQmIKHmNvbS5hdXRoemVkLmFwaS5tYXRlcmlh", - "bGl6ZS52MFABWj5naXRodWIuY29tL2F1dGh6ZWQvYXV0aHplZC1nby9wcm90", - "by9hdXRoemVkL2FwaS9tYXRlcmlhbGl6ZS92MGIGcHJvdG8z")); + "c3Npb25zUmVzcG9uc2UiA4gCATABQmIKHmNvbS5hdXRoemVkLmFwaS5tYXRl", + "cmlhbGl6ZS52MFABWj5naXRodWIuY29tL2F1dGh6ZWQvYXV0aHplZC1nby9w", + "cm90by9hdXRoemVkL2FwaS9tYXRlcmlhbGl6ZS92MGIGcHJvdG8z")); descriptor = pbr::FileDescriptor.FromGeneratedCode(descriptorData, new pbr::FileDescriptor[] { global::Authzed.Api.V1.CoreReflection.Descriptor, }, new pbr::GeneratedClrTypeInfo(null, null, new pbr::GeneratedClrTypeInfo[] { diff --git a/src/Authzed.Net/Authzed/Api/Materialize/V0/WatchpermissionsGrpc.cs b/src/Authzed.Net/Authzed/Api/Materialize/V0/WatchpermissionsGrpc.cs index d933ef7..5c04ffc 100644 --- a/src/Authzed.Net/Authzed/Api/Materialize/V0/WatchpermissionsGrpc.cs +++ b/src/Authzed.Net/Authzed/Api/Materialize/V0/WatchpermissionsGrpc.cs @@ -113,6 +113,7 @@ protected WatchPermissionsServiceClient(ClientBaseConfiguration configuration) : /// An optional deadline for the call. The call will be cancelled if deadline is hit. /// An optional token for canceling the call. /// The call object. + [global::System.ObsoleteAttribute] [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)] public virtual grpc::AsyncServerStreamingCall WatchPermissions(global::Authzed.Api.Materialize.V0.WatchPermissionsRequest request, grpc::Metadata headers = null, global::System.DateTime? deadline = null, global::System.Threading.CancellationToken cancellationToken = default(global::System.Threading.CancellationToken)) { @@ -138,6 +139,7 @@ protected WatchPermissionsServiceClient(ClientBaseConfiguration configuration) : /// The request to send to the server. /// The options for the call. /// The call object. + [global::System.ObsoleteAttribute] [global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)] public virtual grpc::AsyncServerStreamingCall WatchPermissions(global::Authzed.Api.Materialize.V0.WatchPermissionsRequest request, grpc::CallOptions options) { diff --git a/src/Authzed.Net/Authzed/Api/Materialize/V0/Watchpermissionsets.cs b/src/Authzed.Net/Authzed/Api/Materialize/V0/Watchpermissionsets.cs index 32ea076..b90b8a9 100644 --- a/src/Authzed.Net/Authzed/Api/Materialize/V0/Watchpermissionsets.cs +++ b/src/Authzed.Net/Authzed/Api/Materialize/V0/Watchpermissionsets.cs @@ -25,76 +25,83 @@ static WatchpermissionsetsReflection() { byte[] descriptorData = global::System.Convert.FromBase64String( string.Concat( "CjRhdXRoemVkL2FwaS9tYXRlcmlhbGl6ZS92MC93YXRjaHBlcm1pc3Npb25z", - "ZXRzLnByb3RvEhphdXRoemVkLmFwaS5tYXRlcmlhbGl6ZS52MBoZYXV0aHpl", - "ZC9hcGkvdjEvY29yZS5wcm90byJuChpXYXRjaFBlcm1pc3Npb25TZXRzUmVx", - "dWVzdBJQChdvcHRpb25hbF9zdGFydGluZ19hZnRlchgBIAEoCzIYLmF1dGh6", - "ZWQuYXBpLnYxLlplZFRva2VuUhVvcHRpb25hbFN0YXJ0aW5nQWZ0ZXIirQMK", - "G1dhdGNoUGVybWlzc2lvblNldHNSZXNwb25zZRJJCgZjaGFuZ2UYASABKAsy", - "Ly5hdXRoemVkLmFwaS5tYXRlcmlhbGl6ZS52MC5QZXJtaXNzaW9uU2V0Q2hh", - "bmdlSABSBmNoYW5nZRJJChJjb21wbGV0ZWRfcmV2aXNpb24YAiABKAsyGC5h", - "dXRoemVkLmFwaS52MS5aZWRUb2tlbkgAUhFjb21wbGV0ZWRSZXZpc2lvbhKB", - "AQofbG9va3VwX3Blcm1pc3Npb25fc2V0c19yZXF1aXJlZBgDIAEoCzI4LmF1", - "dGh6ZWQuYXBpLm1hdGVyaWFsaXplLnYwLkxvb2t1cFBlcm1pc3Npb25TZXRz", - "UmVxdWlyZWRIAFIcbG9va3VwUGVybWlzc2lvblNldHNSZXF1aXJlZBJoChZi", - "cmVha2luZ19zY2hlbWFfY2hhbmdlGAQgASgLMjAuYXV0aHplZC5hcGkubWF0", - "ZXJpYWxpemUudjAuQnJlYWtpbmdTY2hlbWFDaGFuZ2VIAFIUYnJlYWtpbmdT", - "Y2hlbWFDaGFuZ2VCCgoIcmVzcG9uc2Ui3QEKBkN1cnNvchIUCgVsaW1pdBgB", - "IAEoDVIFbGltaXQSLgoFdG9rZW4YBCABKAsyGC5hdXRoemVkLmFwaS52MS5a", - "ZWRUb2tlblIFdG9rZW4SJQoOc3RhcnRpbmdfaW5kZXgYBSABKA1SDXN0YXJ0", - "aW5nSW5kZXgSKwoRY29tcGxldGVkX21lbWJlcnMYBiABKAhSEGNvbXBsZXRl", - "ZE1lbWJlcnMSIQoMc3RhcnRpbmdfa2V5GAcgASgJUgtzdGFydGluZ0tleRIW", - "CgZjdXJzb3IYCCABKAlSBmN1cnNvciLoAQobTG9va3VwUGVybWlzc2lvblNl", - "dHNSZXF1ZXN0EhQKBWxpbWl0GAEgASgNUgVsaW1pdBJKChRvcHRpb25hbF9h", - "dF9yZXZpc2lvbhgCIAEoCzIYLmF1dGh6ZWQuYXBpLnYxLlplZFRva2VuUhJv", - "cHRpb25hbEF0UmV2aXNpb24SZwoeb3B0aW9uYWxfc3RhcnRpbmdfYWZ0ZXJf", - "Y3Vyc29yGAQgASgLMiIuYXV0aHplZC5hcGkubWF0ZXJpYWxpemUudjAuQ3Vy", - "c29yUhtvcHRpb25hbFN0YXJ0aW5nQWZ0ZXJDdXJzb3IiowEKHExvb2t1cFBl", - "cm1pc3Npb25TZXRzUmVzcG9uc2USRwoGY2hhbmdlGAEgASgLMi8uYXV0aHpl", - "ZC5hcGkubWF0ZXJpYWxpemUudjAuUGVybWlzc2lvblNldENoYW5nZVIGY2hh", - "bmdlEjoKBmN1cnNvchgCIAEoCzIiLmF1dGh6ZWQuYXBpLm1hdGVyaWFsaXpl", - "LnYwLkN1cnNvclIGY3Vyc29yIvwDChNQZXJtaXNzaW9uU2V0Q2hhbmdlEjkK", - "C2F0X3JldmlzaW9uGAEgASgLMhguYXV0aHplZC5hcGkudjEuWmVkVG9rZW5S", - "CmF0UmV2aXNpb24SWgoJb3BlcmF0aW9uGAIgASgOMjwuYXV0aHplZC5hcGku", - "bWF0ZXJpYWxpemUudjAuUGVybWlzc2lvblNldENoYW5nZS5TZXRPcGVyYXRp", - "b25SCW9wZXJhdGlvbhJHCgpwYXJlbnRfc2V0GAMgASgLMiguYXV0aHplZC5h", - "cGkubWF0ZXJpYWxpemUudjAuU2V0UmVmZXJlbmNlUglwYXJlbnRTZXQSRwoJ", - "Y2hpbGRfc2V0GAQgASgLMiguYXV0aHplZC5hcGkubWF0ZXJpYWxpemUudjAu", - "U2V0UmVmZXJlbmNlSABSCGNoaWxkU2V0ElAKDGNoaWxkX21lbWJlchgFIAEo", - "CzIrLmF1dGh6ZWQuYXBpLm1hdGVyaWFsaXplLnYwLk1lbWJlclJlZmVyZW5j", - "ZUgAUgtjaGlsZE1lbWJlciJhCgxTZXRPcGVyYXRpb24SHQoZU0VUX09QRVJB", - "VElPTl9VTlNQRUNJRklFRBAAEhcKE1NFVF9PUEVSQVRJT05fQURERUQQARIZ", - "ChVTRVRfT1BFUkFUSU9OX1JFTU9WRUQQAkIHCgVjaGlsZCKCAQoMU2V0UmVm", - "ZXJlbmNlEh8KC29iamVjdF90eXBlGAEgASgJUgpvYmplY3RUeXBlEhsKCW9i", - "amVjdF9pZBgCIAEoCVIIb2JqZWN0SWQSNAoWcGVybWlzc2lvbl9vcl9yZWxh", - "dGlvbhgDIAEoCVIUcGVybWlzc2lvbk9yUmVsYXRpb24ilgEKD01lbWJlclJl", - "ZmVyZW5jZRIfCgtvYmplY3RfdHlwZRgBIAEoCVIKb2JqZWN0VHlwZRIbCglv", - "YmplY3RfaWQYAiABKAlSCG9iamVjdElkEkUKH29wdGlvbmFsX3Blcm1pc3Np", - "b25fb3JfcmVsYXRpb24YAyABKAlSHG9wdGlvbmFsUGVybWlzc2lvbk9yUmVs", - "YXRpb24iZgocTG9va3VwUGVybWlzc2lvblNldHNSZXF1aXJlZBJGChJyZXF1", - "aXJlZF9sb29rdXBfYXQYASABKAsyGC5hdXRoemVkLmFwaS52MS5aZWRUb2tl", - "blIQcmVxdWlyZWRMb29rdXBBdCJNChRCcmVha2luZ1NjaGVtYUNoYW5nZRI1", - "CgljaGFuZ2VfYXQYASABKAsyGC5hdXRoemVkLmFwaS52MS5aZWRUb2tlblII", - "Y2hhbmdlQXQiawodRG93bmxvYWRQZXJtaXNzaW9uU2V0c1JlcXVlc3QSSgoU", - "b3B0aW9uYWxfYXRfcmV2aXNpb24YASABKAsyGC5hdXRoemVkLmFwaS52MS5a", - "ZWRUb2tlblISb3B0aW9uYWxBdFJldmlzaW9uIiwKBEZpbGUSEgoEbmFtZRgB", - "IAEoCVIEbmFtZRIQCgN1cmwYAiABKAlSA3VybCJYCh5Eb3dubG9hZFBlcm1p", - "c3Npb25TZXRzUmVzcG9uc2USNgoFZmlsZXMYASADKAsyIC5hdXRoemVkLmFw", - "aS5tYXRlcmlhbGl6ZS52MC5GaWxlUgVmaWxlczLNAwoaV2F0Y2hQZXJtaXNz", - "aW9uU2V0c1NlcnZpY2USigEKE1dhdGNoUGVybWlzc2lvblNldHMSNi5hdXRo", - "emVkLmFwaS5tYXRlcmlhbGl6ZS52MC5XYXRjaFBlcm1pc3Npb25TZXRzUmVx", - "dWVzdBo3LmF1dGh6ZWQuYXBpLm1hdGVyaWFsaXplLnYwLldhdGNoUGVybWlz", - "c2lvblNldHNSZXNwb25zZSIAMAESjQEKFExvb2t1cFBlcm1pc3Npb25TZXRz", - "EjcuYXV0aHplZC5hcGkubWF0ZXJpYWxpemUudjAuTG9va3VwUGVybWlzc2lv", - "blNldHNSZXF1ZXN0GjguYXV0aHplZC5hcGkubWF0ZXJpYWxpemUudjAuTG9v", - "a3VwUGVybWlzc2lvblNldHNSZXNwb25zZSIAMAESkQEKFkRvd25sb2FkUGVy", - "bWlzc2lvblNldHMSOS5hdXRoemVkLmFwaS5tYXRlcmlhbGl6ZS52MC5Eb3du", - "bG9hZFBlcm1pc3Npb25TZXRzUmVxdWVzdBo6LmF1dGh6ZWQuYXBpLm1hdGVy", - "aWFsaXplLnYwLkRvd25sb2FkUGVybWlzc2lvblNldHNSZXNwb25zZSIAQmIK", - "HmNvbS5hdXRoemVkLmFwaS5tYXRlcmlhbGl6ZS52MFABWj5naXRodWIuY29t", - "L2F1dGh6ZWQvYXV0aHplZC1nby9wcm90by9hdXRoemVkL2FwaS9tYXRlcmlh", - "bGl6ZS92MGIGcHJvdG8z")); + "ZXRzLnByb3RvEhphdXRoemVkLmFwaS5tYXRlcmlhbGl6ZS52MBoxYXV0aHpl", + "ZC9hcGkvbWF0ZXJpYWxpemUvdjAvd2F0Y2hwZXJtaXNzaW9ucy5wcm90bxoZ", + "YXV0aHplZC9hcGkvdjEvY29yZS5wcm90bxofZ29vZ2xlL3Byb3RvYnVmL3Rp", + "bWVzdGFtcC5wcm90byJuChpXYXRjaFBlcm1pc3Npb25TZXRzUmVxdWVzdBJQ", + "ChdvcHRpb25hbF9zdGFydGluZ19hZnRlchgBIAEoCzIYLmF1dGh6ZWQuYXBp", + "LnYxLlplZFRva2VuUhVvcHRpb25hbFN0YXJ0aW5nQWZ0ZXIirQMKG1dhdGNo", + "UGVybWlzc2lvblNldHNSZXNwb25zZRJJCgZjaGFuZ2UYASABKAsyLy5hdXRo", + "emVkLmFwaS5tYXRlcmlhbGl6ZS52MC5QZXJtaXNzaW9uU2V0Q2hhbmdlSABS", + "BmNoYW5nZRJJChJjb21wbGV0ZWRfcmV2aXNpb24YAiABKAsyGC5hdXRoemVk", + "LmFwaS52MS5aZWRUb2tlbkgAUhFjb21wbGV0ZWRSZXZpc2lvbhKBAQofbG9v", + "a3VwX3Blcm1pc3Npb25fc2V0c19yZXF1aXJlZBgDIAEoCzI4LmF1dGh6ZWQu", + "YXBpLm1hdGVyaWFsaXplLnYwLkxvb2t1cFBlcm1pc3Npb25TZXRzUmVxdWly", + "ZWRIAFIcbG9va3VwUGVybWlzc2lvblNldHNSZXF1aXJlZBJoChZicmVha2lu", + "Z19zY2hlbWFfY2hhbmdlGAQgASgLMjAuYXV0aHplZC5hcGkubWF0ZXJpYWxp", + "emUudjAuQnJlYWtpbmdTY2hlbWFDaGFuZ2VIAFIUYnJlYWtpbmdTY2hlbWFD", + "aGFuZ2VCCgoIcmVzcG9uc2Ui3QEKBkN1cnNvchIUCgVsaW1pdBgBIAEoDVIF", + "bGltaXQSLgoFdG9rZW4YBCABKAsyGC5hdXRoemVkLmFwaS52MS5aZWRUb2tl", + "blIFdG9rZW4SJQoOc3RhcnRpbmdfaW5kZXgYBSABKA1SDXN0YXJ0aW5nSW5k", + "ZXgSKwoRY29tcGxldGVkX21lbWJlcnMYBiABKAhSEGNvbXBsZXRlZE1lbWJl", + "cnMSIQoMc3RhcnRpbmdfa2V5GAcgASgJUgtzdGFydGluZ0tleRIWCgZjdXJz", + "b3IYCCABKAlSBmN1cnNvciLoAQobTG9va3VwUGVybWlzc2lvblNldHNSZXF1", + "ZXN0EhQKBWxpbWl0GAEgASgNUgVsaW1pdBJKChRvcHRpb25hbF9hdF9yZXZp", + "c2lvbhgCIAEoCzIYLmF1dGh6ZWQuYXBpLnYxLlplZFRva2VuUhJvcHRpb25h", + "bEF0UmV2aXNpb24SZwoeb3B0aW9uYWxfc3RhcnRpbmdfYWZ0ZXJfY3Vyc29y", + "GAQgASgLMiIuYXV0aHplZC5hcGkubWF0ZXJpYWxpemUudjAuQ3Vyc29yUhtv", + "cHRpb25hbFN0YXJ0aW5nQWZ0ZXJDdXJzb3IiowEKHExvb2t1cFBlcm1pc3Np", + "b25TZXRzUmVzcG9uc2USRwoGY2hhbmdlGAEgASgLMi8uYXV0aHplZC5hcGku", + "bWF0ZXJpYWxpemUudjAuUGVybWlzc2lvblNldENoYW5nZVIGY2hhbmdlEjoK", + "BmN1cnNvchgCIAEoCzIiLmF1dGh6ZWQuYXBpLm1hdGVyaWFsaXplLnYwLkN1", + "cnNvclIGY3Vyc29yIvwDChNQZXJtaXNzaW9uU2V0Q2hhbmdlEjkKC2F0X3Jl", + "dmlzaW9uGAEgASgLMhguYXV0aHplZC5hcGkudjEuWmVkVG9rZW5SCmF0UmV2", + "aXNpb24SWgoJb3BlcmF0aW9uGAIgASgOMjwuYXV0aHplZC5hcGkubWF0ZXJp", + "YWxpemUudjAuUGVybWlzc2lvblNldENoYW5nZS5TZXRPcGVyYXRpb25SCW9w", + "ZXJhdGlvbhJHCgpwYXJlbnRfc2V0GAMgASgLMiguYXV0aHplZC5hcGkubWF0", + "ZXJpYWxpemUudjAuU2V0UmVmZXJlbmNlUglwYXJlbnRTZXQSRwoJY2hpbGRf", + "c2V0GAQgASgLMiguYXV0aHplZC5hcGkubWF0ZXJpYWxpemUudjAuU2V0UmVm", + "ZXJlbmNlSABSCGNoaWxkU2V0ElAKDGNoaWxkX21lbWJlchgFIAEoCzIrLmF1", + "dGh6ZWQuYXBpLm1hdGVyaWFsaXplLnYwLk1lbWJlclJlZmVyZW5jZUgAUgtj", + "aGlsZE1lbWJlciJhCgxTZXRPcGVyYXRpb24SHQoZU0VUX09QRVJBVElPTl9V", + "TlNQRUNJRklFRBAAEhcKE1NFVF9PUEVSQVRJT05fQURERUQQARIZChVTRVRf", + "T1BFUkFUSU9OX1JFTU9WRUQQAkIHCgVjaGlsZCKCAQoMU2V0UmVmZXJlbmNl", + "Eh8KC29iamVjdF90eXBlGAEgASgJUgpvYmplY3RUeXBlEhsKCW9iamVjdF9p", + "ZBgCIAEoCVIIb2JqZWN0SWQSNAoWcGVybWlzc2lvbl9vcl9yZWxhdGlvbhgD", + "IAEoCVIUcGVybWlzc2lvbk9yUmVsYXRpb24ilgEKD01lbWJlclJlZmVyZW5j", + "ZRIfCgtvYmplY3RfdHlwZRgBIAEoCVIKb2JqZWN0VHlwZRIbCglvYmplY3Rf", + "aWQYAiABKAlSCG9iamVjdElkEkUKH29wdGlvbmFsX3Blcm1pc3Npb25fb3Jf", + "cmVsYXRpb24YAyABKAlSHG9wdGlvbmFsUGVybWlzc2lvbk9yUmVsYXRpb24i", + "ZgocTG9va3VwUGVybWlzc2lvblNldHNSZXF1aXJlZBJGChJyZXF1aXJlZF9s", + "b29rdXBfYXQYASABKAsyGC5hdXRoemVkLmFwaS52MS5aZWRUb2tlblIQcmVx", + "dWlyZWRMb29rdXBBdCKvAQoUQnJlYWtpbmdTY2hlbWFDaGFuZ2USNQoJY2hh", + "bmdlX2F0GAEgASgLMhguYXV0aHplZC5hcGkudjEuWmVkVG9rZW5SCGNoYW5n", + "ZUF0EmAKFGFmZmVjdGVkX3Blcm1pc3Npb25zGAIgAygLMi0uYXV0aHplZC5h", + "cGkubWF0ZXJpYWxpemUudjAuV2F0Y2hlZFBlcm1pc3Npb25SE2FmZmVjdGVk", + "UGVybWlzc2lvbnMiawodRG93bmxvYWRQZXJtaXNzaW9uU2V0c1JlcXVlc3QS", + "SgoUb3B0aW9uYWxfYXRfcmV2aXNpb24YASABKAsyGC5hdXRoemVkLmFwaS52", + "MS5aZWRUb2tlblISb3B0aW9uYWxBdFJldmlzaW9uIiwKBEZpbGUSEgoEbmFt", + "ZRgBIAEoCVIEbmFtZRIQCgN1cmwYAiABKAlSA3VybCLNAQoeRG93bmxvYWRQ", + "ZXJtaXNzaW9uU2V0c1Jlc3BvbnNlEjYKBWZpbGVzGAEgAygLMiAuYXV0aHpl", + "ZC5hcGkubWF0ZXJpYWxpemUudjAuRmlsZVIFZmlsZXMSOAoJdGltZXN0YW1w", + "GAIgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcFIJdGltZXN0YW1w", + "EjkKC2F0X3JldmlzaW9uGAMgASgLMhguYXV0aHplZC5hcGkudjEuWmVkVG9r", + "ZW5SCmF0UmV2aXNpb24yzQMKGldhdGNoUGVybWlzc2lvblNldHNTZXJ2aWNl", + "EooBChNXYXRjaFBlcm1pc3Npb25TZXRzEjYuYXV0aHplZC5hcGkubWF0ZXJp", + "YWxpemUudjAuV2F0Y2hQZXJtaXNzaW9uU2V0c1JlcXVlc3QaNy5hdXRoemVk", + "LmFwaS5tYXRlcmlhbGl6ZS52MC5XYXRjaFBlcm1pc3Npb25TZXRzUmVzcG9u", + "c2UiADABEo0BChRMb29rdXBQZXJtaXNzaW9uU2V0cxI3LmF1dGh6ZWQuYXBp", + "Lm1hdGVyaWFsaXplLnYwLkxvb2t1cFBlcm1pc3Npb25TZXRzUmVxdWVzdBo4", + "LmF1dGh6ZWQuYXBpLm1hdGVyaWFsaXplLnYwLkxvb2t1cFBlcm1pc3Npb25T", + "ZXRzUmVzcG9uc2UiADABEpEBChZEb3dubG9hZFBlcm1pc3Npb25TZXRzEjku", + "YXV0aHplZC5hcGkubWF0ZXJpYWxpemUudjAuRG93bmxvYWRQZXJtaXNzaW9u", + "U2V0c1JlcXVlc3QaOi5hdXRoemVkLmFwaS5tYXRlcmlhbGl6ZS52MC5Eb3du", + "bG9hZFBlcm1pc3Npb25TZXRzUmVzcG9uc2UiAEJiCh5jb20uYXV0aHplZC5h", + "cGkubWF0ZXJpYWxpemUudjBQAVo+Z2l0aHViLmNvbS9hdXRoemVkL2F1dGh6", + "ZWQtZ28vcHJvdG8vYXV0aHplZC9hcGkvbWF0ZXJpYWxpemUvdjBiBnByb3Rv", + "Mw==")); descriptor = pbr::FileDescriptor.FromGeneratedCode(descriptorData, - new pbr::FileDescriptor[] { global::Authzed.Api.V1.CoreReflection.Descriptor, }, + new pbr::FileDescriptor[] { global::Authzed.Api.Materialize.V0.WatchpermissionsReflection.Descriptor, global::Authzed.Api.V1.CoreReflection.Descriptor, global::Google.Protobuf.WellKnownTypes.TimestampReflection.Descriptor, }, new pbr::GeneratedClrTypeInfo(null, null, new pbr::GeneratedClrTypeInfo[] { new pbr::GeneratedClrTypeInfo(typeof(global::Authzed.Api.Materialize.V0.WatchPermissionSetsRequest), global::Authzed.Api.Materialize.V0.WatchPermissionSetsRequest.Parser, new[]{ "OptionalStartingAfter" }, null, null, null, null), new pbr::GeneratedClrTypeInfo(typeof(global::Authzed.Api.Materialize.V0.WatchPermissionSetsResponse), global::Authzed.Api.Materialize.V0.WatchPermissionSetsResponse.Parser, new[]{ "Change", "CompletedRevision", "LookupPermissionSetsRequired", "BreakingSchemaChange" }, new[]{ "Response" }, null, null, null), @@ -105,10 +112,10 @@ static WatchpermissionsetsReflection() { new pbr::GeneratedClrTypeInfo(typeof(global::Authzed.Api.Materialize.V0.SetReference), global::Authzed.Api.Materialize.V0.SetReference.Parser, new[]{ "ObjectType", "ObjectId", "PermissionOrRelation" }, null, null, null, null), new pbr::GeneratedClrTypeInfo(typeof(global::Authzed.Api.Materialize.V0.MemberReference), global::Authzed.Api.Materialize.V0.MemberReference.Parser, new[]{ "ObjectType", "ObjectId", "OptionalPermissionOrRelation" }, null, null, null, null), new pbr::GeneratedClrTypeInfo(typeof(global::Authzed.Api.Materialize.V0.LookupPermissionSetsRequired), global::Authzed.Api.Materialize.V0.LookupPermissionSetsRequired.Parser, new[]{ "RequiredLookupAt" }, null, null, null, null), - new pbr::GeneratedClrTypeInfo(typeof(global::Authzed.Api.Materialize.V0.BreakingSchemaChange), global::Authzed.Api.Materialize.V0.BreakingSchemaChange.Parser, new[]{ "ChangeAt" }, null, null, null, null), + new pbr::GeneratedClrTypeInfo(typeof(global::Authzed.Api.Materialize.V0.BreakingSchemaChange), global::Authzed.Api.Materialize.V0.BreakingSchemaChange.Parser, new[]{ "ChangeAt", "AffectedPermissions" }, null, null, null, null), new pbr::GeneratedClrTypeInfo(typeof(global::Authzed.Api.Materialize.V0.DownloadPermissionSetsRequest), global::Authzed.Api.Materialize.V0.DownloadPermissionSetsRequest.Parser, new[]{ "OptionalAtRevision" }, null, null, null, null), new pbr::GeneratedClrTypeInfo(typeof(global::Authzed.Api.Materialize.V0.File), global::Authzed.Api.Materialize.V0.File.Parser, new[]{ "Name", "Url" }, null, null, null, null), - new pbr::GeneratedClrTypeInfo(typeof(global::Authzed.Api.Materialize.V0.DownloadPermissionSetsResponse), global::Authzed.Api.Materialize.V0.DownloadPermissionSetsResponse.Parser, new[]{ "Files" }, null, null, null, null) + new pbr::GeneratedClrTypeInfo(typeof(global::Authzed.Api.Materialize.V0.DownloadPermissionSetsResponse), global::Authzed.Api.Materialize.V0.DownloadPermissionSetsResponse.Parser, new[]{ "Files", "Timestamp", "AtRevision" }, null, null, null, null) })); } #endregion @@ -2998,6 +3005,7 @@ public BreakingSchemaChange() { [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public BreakingSchemaChange(BreakingSchemaChange other) : this() { changeAt_ = other.changeAt_ != null ? other.changeAt_.Clone() : null; + affectedPermissions_ = other.affectedPermissions_.Clone(); _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); } @@ -3022,6 +3030,20 @@ public BreakingSchemaChange Clone() { } } + /// Field number for the "affected_permissions" field. + public const int AffectedPermissionsFieldNumber = 2; + private static readonly pb::FieldCodec _repeated_affectedPermissions_codec + = pb::FieldCodec.ForMessage(18, global::Authzed.Api.Materialize.V0.WatchedPermission.Parser); + private readonly pbc::RepeatedField affectedPermissions_ = new pbc::RepeatedField(); + /// + /// affected_permissions lists all the watched permissions that were directly affected by the breaking schema change. + /// + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public pbc::RepeatedField AffectedPermissions { + get { return affectedPermissions_; } + } + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public override bool Equals(object other) { @@ -3038,6 +3060,7 @@ public bool Equals(BreakingSchemaChange other) { return true; } if (!object.Equals(ChangeAt, other.ChangeAt)) return false; + if(!affectedPermissions_.Equals(other.affectedPermissions_)) return false; return Equals(_unknownFields, other._unknownFields); } @@ -3046,6 +3069,7 @@ public bool Equals(BreakingSchemaChange other) { public override int GetHashCode() { int hash = 1; if (changeAt_ != null) hash ^= ChangeAt.GetHashCode(); + hash ^= affectedPermissions_.GetHashCode(); if (_unknownFields != null) { hash ^= _unknownFields.GetHashCode(); } @@ -3068,6 +3092,7 @@ public void WriteTo(pb::CodedOutputStream output) { output.WriteRawTag(10); output.WriteMessage(ChangeAt); } + affectedPermissions_.WriteTo(output, _repeated_affectedPermissions_codec); if (_unknownFields != null) { _unknownFields.WriteTo(output); } @@ -3082,6 +3107,7 @@ public void WriteTo(pb::CodedOutputStream output) { output.WriteRawTag(10); output.WriteMessage(ChangeAt); } + affectedPermissions_.WriteTo(ref output, _repeated_affectedPermissions_codec); if (_unknownFields != null) { _unknownFields.WriteTo(ref output); } @@ -3095,6 +3121,7 @@ public int CalculateSize() { if (changeAt_ != null) { size += 1 + pb::CodedOutputStream.ComputeMessageSize(ChangeAt); } + size += affectedPermissions_.CalculateSize(_repeated_affectedPermissions_codec); if (_unknownFields != null) { size += _unknownFields.CalculateSize(); } @@ -3113,6 +3140,7 @@ public void MergeFrom(BreakingSchemaChange other) { } ChangeAt.MergeFrom(other.ChangeAt); } + affectedPermissions_.Add(other.affectedPermissions_); _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); } @@ -3139,6 +3167,10 @@ public void MergeFrom(pb::CodedInputStream input) { input.ReadMessage(ChangeAt); break; } + case 18: { + affectedPermissions_.AddEntriesFrom(input, _repeated_affectedPermissions_codec); + break; + } } } #endif @@ -3165,6 +3197,10 @@ public void MergeFrom(pb::CodedInputStream input) { input.ReadMessage(ChangeAt); break; } + case 18: { + affectedPermissions_.AddEntriesFrom(ref input, _repeated_affectedPermissions_codec); + break; + } } } } @@ -3660,6 +3696,8 @@ public DownloadPermissionSetsResponse() { [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public DownloadPermissionSetsResponse(DownloadPermissionSetsResponse other) : this() { files_ = other.files_.Clone(); + timestamp_ = other.timestamp_ != null ? other.timestamp_.Clone() : null; + atRevision_ = other.atRevision_ != null ? other.atRevision_.Clone() : null; _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); } @@ -3683,6 +3721,39 @@ public DownloadPermissionSetsResponse Clone() { get { return files_; } } + /// Field number for the "timestamp" field. + public const int TimestampFieldNumber = 2; + private global::Google.Protobuf.WellKnownTypes.Timestamp timestamp_; + /// + /// timestamp represents the time associated with the returned data revision. + /// + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public global::Google.Protobuf.WellKnownTypes.Timestamp Timestamp { + get { return timestamp_; } + set { + timestamp_ = value; + } + } + + /// Field number for the "at_revision" field. + public const int AtRevisionFieldNumber = 3; + private global::Authzed.Api.V1.ZedToken atRevision_; + /// + /// at_revision is the snapshot revision the returned files were produced at, + /// encoded as a ZedToken. Consumers should pass this token to + /// WatchPermissionSets as optional_starting_after to resume the stream + /// immediately after the snapshot without leaving gaps in event history. + /// + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public global::Authzed.Api.V1.ZedToken AtRevision { + get { return atRevision_; } + set { + atRevision_ = value; + } + } + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public override bool Equals(object other) { @@ -3699,6 +3770,8 @@ public bool Equals(DownloadPermissionSetsResponse other) { return true; } if(!files_.Equals(other.files_)) return false; + if (!object.Equals(Timestamp, other.Timestamp)) return false; + if (!object.Equals(AtRevision, other.AtRevision)) return false; return Equals(_unknownFields, other._unknownFields); } @@ -3707,6 +3780,8 @@ public bool Equals(DownloadPermissionSetsResponse other) { public override int GetHashCode() { int hash = 1; hash ^= files_.GetHashCode(); + if (timestamp_ != null) hash ^= Timestamp.GetHashCode(); + if (atRevision_ != null) hash ^= AtRevision.GetHashCode(); if (_unknownFields != null) { hash ^= _unknownFields.GetHashCode(); } @@ -3726,6 +3801,14 @@ public void WriteTo(pb::CodedOutputStream output) { output.WriteRawMessage(this); #else files_.WriteTo(output, _repeated_files_codec); + if (timestamp_ != null) { + output.WriteRawTag(18); + output.WriteMessage(Timestamp); + } + if (atRevision_ != null) { + output.WriteRawTag(26); + output.WriteMessage(AtRevision); + } if (_unknownFields != null) { _unknownFields.WriteTo(output); } @@ -3737,6 +3820,14 @@ public void WriteTo(pb::CodedOutputStream output) { [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { files_.WriteTo(ref output, _repeated_files_codec); + if (timestamp_ != null) { + output.WriteRawTag(18); + output.WriteMessage(Timestamp); + } + if (atRevision_ != null) { + output.WriteRawTag(26); + output.WriteMessage(AtRevision); + } if (_unknownFields != null) { _unknownFields.WriteTo(ref output); } @@ -3748,6 +3839,12 @@ public void WriteTo(pb::CodedOutputStream output) { public int CalculateSize() { int size = 0; size += files_.CalculateSize(_repeated_files_codec); + if (timestamp_ != null) { + size += 1 + pb::CodedOutputStream.ComputeMessageSize(Timestamp); + } + if (atRevision_ != null) { + size += 1 + pb::CodedOutputStream.ComputeMessageSize(AtRevision); + } if (_unknownFields != null) { size += _unknownFields.CalculateSize(); } @@ -3761,6 +3858,18 @@ public void MergeFrom(DownloadPermissionSetsResponse other) { return; } files_.Add(other.files_); + if (other.timestamp_ != null) { + if (timestamp_ == null) { + Timestamp = new global::Google.Protobuf.WellKnownTypes.Timestamp(); + } + Timestamp.MergeFrom(other.Timestamp); + } + if (other.atRevision_ != null) { + if (atRevision_ == null) { + AtRevision = new global::Authzed.Api.V1.ZedToken(); + } + AtRevision.MergeFrom(other.AtRevision); + } _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); } @@ -3784,6 +3893,20 @@ public void MergeFrom(pb::CodedInputStream input) { files_.AddEntriesFrom(input, _repeated_files_codec); break; } + case 18: { + if (timestamp_ == null) { + Timestamp = new global::Google.Protobuf.WellKnownTypes.Timestamp(); + } + input.ReadMessage(Timestamp); + break; + } + case 26: { + if (atRevision_ == null) { + AtRevision = new global::Authzed.Api.V1.ZedToken(); + } + input.ReadMessage(AtRevision); + break; + } } } #endif @@ -3807,6 +3930,20 @@ public void MergeFrom(pb::CodedInputStream input) { files_.AddEntriesFrom(ref input, _repeated_files_codec); break; } + case 18: { + if (timestamp_ == null) { + Timestamp = new global::Google.Protobuf.WellKnownTypes.Timestamp(); + } + input.ReadMessage(Timestamp); + break; + } + case 26: { + if (atRevision_ == null) { + AtRevision = new global::Authzed.Api.V1.ZedToken(); + } + input.ReadMessage(AtRevision); + break; + } } } } diff --git a/src/Authzed.Net/Authzed/Api/V1/Core.cs b/src/Authzed.Net/Authzed/Api/V1/Core.cs index 69ff12c..e30827e 100644 --- a/src/Authzed.Net/Authzed/Api/V1/Core.cs +++ b/src/Authzed.Net/Authzed/Api/V1/Core.cs @@ -70,20 +70,20 @@ static CoreReflection() { "ZWN0U2V0SABSBGxlYWYSSAoPZXhwYW5kZWRfb2JqZWN0GAMgASgLMh8uYXV0", "aHplZC5hcGkudjEuT2JqZWN0UmVmZXJlbmNlUg5leHBhbmRlZE9iamVjdBIr", "ChFleHBhbmRlZF9yZWxhdGlvbhgEIAEoCVIQZXhwYW5kZWRSZWxhdGlvbkIV", - "Cgl0cmVlX3R5cGUSCPhCAbpIAggBIswCChNBbGdlYnJhaWNTdWJqZWN0U2V0", + "Cgl0cmVlX3R5cGUSCPhCAbpIAggBIsECChNBbGdlYnJhaWNTdWJqZWN0U2V0", "EmEKCW9wZXJhdGlvbhgBIAEoDjItLmF1dGh6ZWQuYXBpLnYxLkFsZ2VicmFp", "Y1N1YmplY3RTZXQuT3BlcmF0aW9uQhT6QgeCAQQQASAAukgHggEEEAEgAFIJ", - "b3BlcmF0aW9uEmAKCGNoaWxkcmVuGAIgAygLMiouYXV0aHplZC5hcGkudjEu", - "UGVybWlzc2lvblJlbGF0aW9uc2hpcFRyZWVCGPpCCpIBByIFigECEAG6SAiS", - "AQUiA8gBAVIIY2hpbGRyZW4icAoJT3BlcmF0aW9uEhkKFU9QRVJBVElPTl9V", - "TlNQRUNJRklFRBAAEhMKD09QRVJBVElPTl9VTklPThABEhoKFk9QRVJBVElP", - "Tl9JTlRFUlNFQ1RJT04QAhIXChNPUEVSQVRJT05fRVhDTFVTSU9OEAMiUAoQ", - "RGlyZWN0U3ViamVjdFNldBI8CghzdWJqZWN0cxgBIAMoCzIgLmF1dGh6ZWQu", - "YXBpLnYxLlN1YmplY3RSZWZlcmVuY2VSCHN1YmplY3RzIl8KEVBhcnRpYWxD", - "YXZlYXRJbmZvEkoKGG1pc3NpbmdfcmVxdWlyZWRfY29udGV4dBgBIAMoCUIQ", - "+kIFkgECCAG6SAWSAQIIAVIWbWlzc2luZ1JlcXVpcmVkQ29udGV4dEJKChJj", - "b20uYXV0aHplZC5hcGkudjFQAVoyZ2l0aHViLmNvbS9hdXRoemVkL2F1dGh6", - "ZWQtZ28vcHJvdG8vYXV0aHplZC9hcGkvdjFiBnByb3RvMw==")); + "b3BlcmF0aW9uElUKCGNoaWxkcmVuGAIgAygLMiouYXV0aHplZC5hcGkudjEu", + "UGVybWlzc2lvblJlbGF0aW9uc2hpcFRyZWVCDfpCCpIBByIFigECEAFSCGNo", + "aWxkcmVuInAKCU9wZXJhdGlvbhIZChVPUEVSQVRJT05fVU5TUEVDSUZJRUQQ", + "ABITCg9PUEVSQVRJT05fVU5JT04QARIaChZPUEVSQVRJT05fSU5URVJTRUNU", + "SU9OEAISFwoTT1BFUkFUSU9OX0VYQ0xVU0lPThADIlAKEERpcmVjdFN1Ympl", + "Y3RTZXQSPAoIc3ViamVjdHMYASADKAsyIC5hdXRoemVkLmFwaS52MS5TdWJq", + "ZWN0UmVmZXJlbmNlUghzdWJqZWN0cyJfChFQYXJ0aWFsQ2F2ZWF0SW5mbxJK", + "ChhtaXNzaW5nX3JlcXVpcmVkX2NvbnRleHQYASADKAlCEPpCBZIBAggBukgF", + "kgECCAFSFm1pc3NpbmdSZXF1aXJlZENvbnRleHRCSgoSY29tLmF1dGh6ZWQu", + "YXBpLnYxUAFaMmdpdGh1Yi5jb20vYXV0aHplZC9hdXRoemVkLWdvL3Byb3Rv", + "L2F1dGh6ZWQvYXBpL3YxYgZwcm90bzM=")); descriptor = pbr::FileDescriptor.FromGeneratedCode(descriptorData, new pbr::FileDescriptor[] { global::Buf.Validate.ValidateReflection.Descriptor, global::Google.Protobuf.WellKnownTypes.StructReflection.Descriptor, global::Google.Protobuf.WellKnownTypes.TimestampReflection.Descriptor, global::Validate.ValidateReflection.Descriptor, }, new pbr::GeneratedClrTypeInfo(null, null, new pbr::GeneratedClrTypeInfo[] { diff --git a/src/Authzed.Net/Authzed/Api/V1/ErrorReason.cs b/src/Authzed.Net/Authzed/Api/V1/ErrorReason.cs index 9b2180a..7bca51e 100644 --- a/src/Authzed.Net/Authzed/Api/V1/ErrorReason.cs +++ b/src/Authzed.Net/Authzed/Api/V1/ErrorReason.cs @@ -25,7 +25,7 @@ static ErrorReasonReflection() { byte[] descriptorData = global::System.Convert.FromBase64String( string.Concat( "CiFhdXRoemVkL2FwaS92MS9lcnJvcl9yZWFzb24ucHJvdG8SDmF1dGh6ZWQu", - "YXBpLnYxKqIKCgtFcnJvclJlYXNvbhIcChhFUlJPUl9SRUFTT05fVU5TUEVD", + "YXBpLnYxKssKCgtFcnJvclJlYXNvbhIcChhFUlJPUl9SRUFTT05fVU5TUEVD", "SUZJRUQQABIjCh9FUlJPUl9SRUFTT05fU0NIRU1BX1BBUlNFX0VSUk9SEAES", "IgoeRVJST1JfUkVBU09OX1NDSEVNQV9UWVBFX0VSUk9SEAISIwofRVJST1Jf", "UkVBU09OX1VOS05PV05fREVGSU5JVElPThADEi8KK0VSUk9SX1JFQVNPTl9V", @@ -54,9 +54,10 @@ static ErrorReasonReflection() { "VEVSX0FMUkVBRFlfUkVHSVNURVJFRBAaEicKI0VSUk9SX1JFQVNPTl9DT1VO", "VEVSX05PVF9SRUdJU1RFUkVEEBsSJQohRVJST1JfUkVBU09OX1dJTERDQVJE", "X05PVF9BTExPV0VEEBwSLworRVJST1JfUkVBU09OX1RSQU5TQUNUSU9OX01F", - "VEFEQVRBX1RPT19MQVJHRRAdQkoKEmNvbS5hdXRoemVkLmFwaS52MVABWjJn", - "aXRodWIuY29tL2F1dGh6ZWQvYXV0aHplZC1nby9wcm90by9hdXRoemVkL2Fw", - "aS92MWIGcHJvdG8z")); + "VEFEQVRBX1RPT19MQVJHRRAdEicKI0VSUk9SX1JFQVNPTl9EQVRBU1RPUkVf", + "Tk9UX01JR1JBVEVEEB5CSgoSY29tLmF1dGh6ZWQuYXBpLnYxUAFaMmdpdGh1", + "Yi5jb20vYXV0aHplZC9hdXRoemVkLWdvL3Byb3RvL2F1dGh6ZWQvYXBpL3Yx", + "YgZwcm90bzM=")); descriptor = pbr::FileDescriptor.FromGeneratedCode(descriptorData, new pbr::FileDescriptor[] { }, new pbr::GeneratedClrTypeInfo(new[] {typeof(global::Authzed.Api.V1.ErrorReason), }, null, null)); @@ -506,6 +507,20 @@ public enum ErrorReason { /// } /// [pbr::OriginalName("ERROR_REASON_TRANSACTION_METADATA_TOO_LARGE")] TransactionMetadataTooLarge = 29, + /// + /// The request failed because the datastore has not been migrated. + /// This typically indicates that the `spicedb datastore migrate` command + /// has not been run against the backing database. + /// + /// Example of an ErrorInfo: + /// + /// { + /// "reason": "ERROR_REASON_DATASTORE_NOT_MIGRATED", + /// "domain": "authzed.com", + /// "metadata": {} + /// } + /// + [pbr::OriginalName("ERROR_REASON_DATASTORE_NOT_MIGRATED")] DatastoreNotMigrated = 30, } #endregion diff --git a/src/Authzed.Net/Authzed/Api/V1/ExperimentalService.cs b/src/Authzed.Net/Authzed/Api/V1/ExperimentalService.cs index 81d1757..37978cc 100644 --- a/src/Authzed.Net/Authzed/Api/V1/ExperimentalService.cs +++ b/src/Authzed.Net/Authzed/Api/V1/ExperimentalService.cs @@ -53,209 +53,208 @@ static ExperimentalServiceReflection() { "bWUYASABKAlCVPpCJ3IlKEAyIV4oW2Etel1bYS16MC05X117MSw2Mn1bYS16", "MC05XSk/JLpIJ3IlKEAyIV4oW2Etel1bYS16MC05X117MSw2Mn1bYS16MC05", "XSk/JFIEbmFtZSIzCjFFeHBlcmltZW50YWxVbnJlZ2lzdGVyUmVsYXRpb25z", - "aGlwQ291bnRlclJlc3BvbnNlIr0BChpCdWxrQ2hlY2tQZXJtaXNzaW9uUmVx", + "aGlwQ291bnRlclJlc3BvbnNlIrIBChpCdWxrQ2hlY2tQZXJtaXNzaW9uUmVx", "dWVzdBI9Cgtjb25zaXN0ZW5jeRgBIAEoCzIbLmF1dGh6ZWQuYXBpLnYxLkNv", - "bnNpc3RlbmN5Ugtjb25zaXN0ZW5jeRJgCgVpdGVtcxgCIAMoCzIuLmF1dGh6", - "ZWQuYXBpLnYxLkJ1bGtDaGVja1Blcm1pc3Npb25SZXF1ZXN0SXRlbUIaGAH6", - "QgqSAQciBYoBAhABukgIkgEFIgPIAQFSBWl0ZW1zIvICCh5CdWxrQ2hlY2tQ", - "ZXJtaXNzaW9uUmVxdWVzdEl0ZW0SSwoIcmVzb3VyY2UYASABKAsyHy5hdXRo", - "emVkLmFwaS52MS5PYmplY3RSZWZlcmVuY2VCDvpCBYoBAhABukgDyAEBUghy", - "ZXNvdXJjZRJ0CgpwZXJtaXNzaW9uGAIgASgJQlT6QidyJShAMiFeKFthLXpd", - "W2EtejAtOV9dezEsNjJ9W2EtejAtOV0pPyS6SCdyJShAMiFeKFthLXpdW2Et", - "ejAtOV9dezEsNjJ9W2EtejAtOV0pPyRSCnBlcm1pc3Npb24SSgoHc3ViamVj", - "dBgDIAEoCzIgLmF1dGh6ZWQuYXBpLnYxLlN1YmplY3RSZWZlcmVuY2VCDvpC", - "BYoBAhABukgDyAEBUgdzdWJqZWN0EkEKB2NvbnRleHQYBCABKAsyFy5nb29n", - "bGUucHJvdG9idWYuU3RydWN0Qg76QgWKAQIQALpIA8gBAFIHY29udGV4dCK/", - "AQobQnVsa0NoZWNrUGVybWlzc2lvblJlc3BvbnNlEkcKCmNoZWNrZWRfYXQY", - "ASABKAsyGC5hdXRoemVkLmFwaS52MS5aZWRUb2tlbkIO+kIFigECEAC6SAPI", - "AQBSCWNoZWNrZWRBdBJXCgVwYWlycxgCIAMoCzInLmF1dGh6ZWQuYXBpLnYx", - "LkJ1bGtDaGVja1Blcm1pc3Npb25QYWlyQhj6QgqSAQciBYoBAhABukgIkgEF", - "IgPIAQFSBXBhaXJzIuIBChdCdWxrQ2hlY2tQZXJtaXNzaW9uUGFpchJICgdy", - "ZXF1ZXN0GAEgASgLMi4uYXV0aHplZC5hcGkudjEuQnVsa0NoZWNrUGVybWlz", - "c2lvblJlcXVlc3RJdGVtUgdyZXF1ZXN0EkUKBGl0ZW0YAiABKAsyLy5hdXRo", - "emVkLmFwaS52MS5CdWxrQ2hlY2tQZXJtaXNzaW9uUmVzcG9uc2VJdGVtSABS", - "BGl0ZW0SKgoFZXJyb3IYAyABKAsyEi5nb29nbGUucnBjLlN0YXR1c0gAUgVl", - "cnJvckIKCghyZXNwb25zZSL6AQofQnVsa0NoZWNrUGVybWlzc2lvblJlc3Bv", - "bnNlSXRlbRJ0Cg5wZXJtaXNzaW9uc2hpcBgBIAEoDjI2LmF1dGh6ZWQuYXBp", - "LnYxLkNoZWNrUGVybWlzc2lvblJlc3BvbnNlLlBlcm1pc3Npb25zaGlwQhT6", - "QgeCAQQQASAAukgHggEEEAEgAFIOcGVybWlzc2lvbnNoaXASYQoTcGFydGlh", - "bF9jYXZlYXRfaW5mbxgCIAEoCzIhLmF1dGh6ZWQuYXBpLnYxLlBhcnRpYWxD", - "YXZlYXRJbmZvQg76QgWKAQIQALpIA8gBAFIRcGFydGlhbENhdmVhdEluZm8i", - "fgoeQnVsa0ltcG9ydFJlbGF0aW9uc2hpcHNSZXF1ZXN0ElwKDXJlbGF0aW9u", - "c2hpcHMYASADKAsyHC5hdXRoemVkLmFwaS52MS5SZWxhdGlvbnNoaXBCGPpC", - "CpIBByIFigECEAG6SAiSAQUiA8gBAVINcmVsYXRpb25zaGlwcyJACh9CdWxr", - "SW1wb3J0UmVsYXRpb25zaGlwc1Jlc3BvbnNlEh0KCm51bV9sb2FkZWQYASAB", - "KARSCW51bUxvYWRlZCK9AgoeQnVsa0V4cG9ydFJlbGF0aW9uc2hpcHNSZXF1", - "ZXN0Ej0KC2NvbnNpc3RlbmN5GAEgASgLMhsuYXV0aHplZC5hcGkudjEuQ29u", - "c2lzdGVuY3lSC2NvbnNpc3RlbmN5EjUKDm9wdGlvbmFsX2xpbWl0GAIgASgN", - "Qg76QgQqAigAukgEKgIoAFINb3B0aW9uYWxMaW1pdBI/Cg9vcHRpb25hbF9j", - "dXJzb3IYAyABKAsyFi5hdXRoemVkLmFwaS52MS5DdXJzb3JSDm9wdGlvbmFs", - "Q3Vyc29yEmQKHG9wdGlvbmFsX3JlbGF0aW9uc2hpcF9maWx0ZXIYBCABKAsy", - "Ii5hdXRoemVkLmFwaS52MS5SZWxhdGlvbnNoaXBGaWx0ZXJSGm9wdGlvbmFs", - "UmVsYXRpb25zaGlwRmlsdGVyIq0BCh9CdWxrRXhwb3J0UmVsYXRpb25zaGlw", - "c1Jlc3BvbnNlEkYKE2FmdGVyX3Jlc3VsdF9jdXJzb3IYASABKAsyFi5hdXRo", - "emVkLmFwaS52MS5DdXJzb3JSEWFmdGVyUmVzdWx0Q3Vyc29yEkIKDXJlbGF0", - "aW9uc2hpcHMYAiADKAsyHC5hdXRoemVkLmFwaS52MS5SZWxhdGlvbnNoaXBS", - "DXJlbGF0aW9uc2hpcHMirQEKIEV4cGVyaW1lbnRhbFJlZmxlY3RTY2hlbWFS", - "ZXF1ZXN0Ej0KC2NvbnNpc3RlbmN5GAEgASgLMhsuYXV0aHplZC5hcGkudjEu", - "Q29uc2lzdGVuY3lSC2NvbnNpc3RlbmN5EkoKEG9wdGlvbmFsX2ZpbHRlcnMY", - "AiADKAsyHy5hdXRoemVkLmFwaS52MS5FeHBTY2hlbWFGaWx0ZXJSD29wdGlv", - "bmFsRmlsdGVycyLMAQohRXhwZXJpbWVudGFsUmVmbGVjdFNjaGVtYVJlc3Bv", - "bnNlEj8KC2RlZmluaXRpb25zGAEgAygLMh0uYXV0aHplZC5hcGkudjEuRXhw", - "RGVmaW5pdGlvblILZGVmaW5pdGlvbnMSMwoHY2F2ZWF0cxgCIAMoCzIZLmF1", - "dGh6ZWQuYXBpLnYxLkV4cENhdmVhdFIHY2F2ZWF0cxIxCgdyZWFkX2F0GAMg", - "ASgLMhguYXV0aHplZC5hcGkudjEuWmVkVG9rZW5SBnJlYWRBdCKhAgoPRXhw", - "U2NoZW1hRmlsdGVyEkUKH29wdGlvbmFsX2RlZmluaXRpb25fbmFtZV9maWx0", - "ZXIYASABKAlSHG9wdGlvbmFsRGVmaW5pdGlvbk5hbWVGaWx0ZXISPQobb3B0", - "aW9uYWxfY2F2ZWF0X25hbWVfZmlsdGVyGAIgASgJUhhvcHRpb25hbENhdmVh", - "dE5hbWVGaWx0ZXISQQodb3B0aW9uYWxfcmVsYXRpb25fbmFtZV9maWx0ZXIY", - "AyABKAlSGm9wdGlvbmFsUmVsYXRpb25OYW1lRmlsdGVyEkUKH29wdGlvbmFs", - "X3Blcm1pc3Npb25fbmFtZV9maWx0ZXIYBCABKAlSHG9wdGlvbmFsUGVybWlz", - "c2lvbk5hbWVGaWx0ZXIiuQEKDUV4cERlZmluaXRpb24SEgoEbmFtZRgBIAEo", - "CVIEbmFtZRIYCgdjb21tZW50GAIgASgJUgdjb21tZW50EjkKCXJlbGF0aW9u", - "cxgDIAMoCzIbLmF1dGh6ZWQuYXBpLnYxLkV4cFJlbGF0aW9uUglyZWxhdGlv", - "bnMSPwoLcGVybWlzc2lvbnMYBCADKAsyHS5hdXRoemVkLmFwaS52MS5FeHBQ", - "ZXJtaXNzaW9uUgtwZXJtaXNzaW9ucyKdAQoJRXhwQ2F2ZWF0EhIKBG5hbWUY", - "ASABKAlSBG5hbWUSGAoHY29tbWVudBgCIAEoCVIHY29tbWVudBJCCgpwYXJh", - "bWV0ZXJzGAMgAygLMiIuYXV0aHplZC5hcGkudjEuRXhwQ2F2ZWF0UGFyYW1l", - "dGVyUgpwYXJhbWV0ZXJzEh4KCmV4cHJlc3Npb24YBCABKAlSCmV4cHJlc3Np", - "b24iagoSRXhwQ2F2ZWF0UGFyYW1ldGVyEhIKBG5hbWUYASABKAlSBG5hbWUS", - "EgoEdHlwZRgCIAEoCVIEdHlwZRIsChJwYXJlbnRfY2F2ZWF0X25hbWUYAyAB", - "KAlSEHBhcmVudENhdmVhdE5hbWUiuAEKC0V4cFJlbGF0aW9uEhIKBG5hbWUY", - "ASABKAlSBG5hbWUSGAoHY29tbWVudBgCIAEoCVIHY29tbWVudBI0ChZwYXJl", - "bnRfZGVmaW5pdGlvbl9uYW1lGAMgASgJUhRwYXJlbnREZWZpbml0aW9uTmFt", - "ZRJFCg1zdWJqZWN0X3R5cGVzGAQgAygLMiAuYXV0aHplZC5hcGkudjEuRXhw", - "VHlwZVJlZmVyZW5jZVIMc3ViamVjdFR5cGVzIqECChBFeHBUeXBlUmVmZXJl", - "bmNlEjYKF3N1YmplY3RfZGVmaW5pdGlvbl9uYW1lGAEgASgJUhVzdWJqZWN0", - "RGVmaW5pdGlvbk5hbWUSMAoUb3B0aW9uYWxfY2F2ZWF0X25hbWUYAiABKAlS", - "Em9wdGlvbmFsQ2F2ZWF0TmFtZRIwChNpc190ZXJtaW5hbF9zdWJqZWN0GAMg", - "ASgISABSEWlzVGVybWluYWxTdWJqZWN0EjYKFm9wdGlvbmFsX3JlbGF0aW9u", - "X25hbWUYBCABKAlIAFIUb3B0aW9uYWxSZWxhdGlvbk5hbWUSLgoSaXNfcHVi", - "bGljX3dpbGRjYXJkGAUgASgISABSEGlzUHVibGljV2lsZGNhcmRCCQoHdHlw", - "ZXJlZiJzCg1FeHBQZXJtaXNzaW9uEhIKBG5hbWUYASABKAlSBG5hbWUSGAoH", - "Y29tbWVudBgCIAEoCVIHY29tbWVudBI0ChZwYXJlbnRfZGVmaW5pdGlvbl9u", - "YW1lGAMgASgJUhRwYXJlbnREZWZpbml0aW9uTmFtZSL+AQooRXhwZXJpbWVu", - "dGFsQ29tcHV0YWJsZVBlcm1pc3Npb25zUmVxdWVzdBI9Cgtjb25zaXN0ZW5j", - "eRgBIAEoCzIbLmF1dGh6ZWQuYXBpLnYxLkNvbnNpc3RlbmN5Ugtjb25zaXN0", - "ZW5jeRInCg9kZWZpbml0aW9uX25hbWUYAiABKAlSDmRlZmluaXRpb25OYW1l", - "EiMKDXJlbGF0aW9uX25hbWUYAyABKAlSDHJlbGF0aW9uTmFtZRJFCh9vcHRp", - "b25hbF9kZWZpbml0aW9uX25hbWVfZmlsdGVyGAQgASgJUhxvcHRpb25hbERl", - "ZmluaXRpb25OYW1lRmlsdGVyIokBChRFeHBSZWxhdGlvblJlZmVyZW5jZRIn", - "Cg9kZWZpbml0aW9uX25hbWUYASABKAlSDmRlZmluaXRpb25OYW1lEiMKDXJl", - "bGF0aW9uX25hbWUYAiABKAlSDHJlbGF0aW9uTmFtZRIjCg1pc19wZXJtaXNz", - "aW9uGAMgASgIUgxpc1Blcm1pc3Npb24ipgEKKUV4cGVyaW1lbnRhbENvbXB1", - "dGFibGVQZXJtaXNzaW9uc1Jlc3BvbnNlEkYKC3Blcm1pc3Npb25zGAEgAygL", - "MiQuYXV0aHplZC5hcGkudjEuRXhwUmVsYXRpb25SZWZlcmVuY2VSC3Blcm1p", - "c3Npb25zEjEKB3JlYWRfYXQYAiABKAsyGC5hdXRoemVkLmFwaS52MS5aZWRU", - "b2tlblIGcmVhZEF0IrgBCiVFeHBlcmltZW50YWxEZXBlbmRlbnRSZWxhdGlv", - "bnNSZXF1ZXN0Ej0KC2NvbnNpc3RlbmN5GAEgASgLMhsuYXV0aHplZC5hcGku", - "djEuQ29uc2lzdGVuY3lSC2NvbnNpc3RlbmN5EicKD2RlZmluaXRpb25fbmFt", - "ZRgCIAEoCVIOZGVmaW5pdGlvbk5hbWUSJwoPcGVybWlzc2lvbl9uYW1lGAMg", - "ASgJUg5wZXJtaXNzaW9uTmFtZSKfAQomRXhwZXJpbWVudGFsRGVwZW5kZW50", - "UmVsYXRpb25zUmVzcG9uc2USQgoJcmVsYXRpb25zGAEgAygLMiQuYXV0aHpl", - "ZC5hcGkudjEuRXhwUmVsYXRpb25SZWZlcmVuY2VSCXJlbGF0aW9ucxIxCgdy", - "ZWFkX2F0GAIgASgLMhguYXV0aHplZC5hcGkudjEuWmVkVG9rZW5SBnJlYWRB", - "dCKLAQodRXhwZXJpbWVudGFsRGlmZlNjaGVtYVJlcXVlc3QSPQoLY29uc2lz", - "dGVuY3kYASABKAsyGy5hdXRoemVkLmFwaS52MS5Db25zaXN0ZW5jeVILY29u", - "c2lzdGVuY3kSKwoRY29tcGFyaXNvbl9zY2hlbWEYAiABKAlSEGNvbXBhcmlz", - "b25TY2hlbWEiiAEKHkV4cGVyaW1lbnRhbERpZmZTY2hlbWFSZXNwb25zZRIz", - "CgVkaWZmcxgBIAMoCzIdLmF1dGh6ZWQuYXBpLnYxLkV4cFNjaGVtYURpZmZS", - "BWRpZmZzEjEKB3JlYWRfYXQYAiABKAsyGC5hdXRoemVkLmFwaS52MS5aZWRU", - "b2tlblIGcmVhZEF0IqsBChxFeHBSZWxhdGlvblN1YmplY3RUeXBlQ2hhbmdl", - "EjcKCHJlbGF0aW9uGAEgASgLMhsuYXV0aHplZC5hcGkudjEuRXhwUmVsYXRp", - "b25SCHJlbGF0aW9uElIKFGNoYW5nZWRfc3ViamVjdF90eXBlGAIgASgLMiAu", - "YXV0aHplZC5hcGkudjEuRXhwVHlwZVJlZmVyZW5jZVISY2hhbmdlZFN1Ympl", - "Y3RUeXBlIoUBChxFeHBDYXZlYXRQYXJhbWV0ZXJUeXBlQ2hhbmdlEkAKCXBh", - "cmFtZXRlchgBIAEoCzIiLmF1dGh6ZWQuYXBpLnYxLkV4cENhdmVhdFBhcmFt", - "ZXRlclIJcGFyYW1ldGVyEiMKDXByZXZpb3VzX3R5cGUYAiABKAlSDHByZXZp", - "b3VzVHlwZSKgDQoNRXhwU2NoZW1hRGlmZhJKChBkZWZpbml0aW9uX2FkZGVk", - "GAEgASgLMh0uYXV0aHplZC5hcGkudjEuRXhwRGVmaW5pdGlvbkgAUg9kZWZp", - "bml0aW9uQWRkZWQSTgoSZGVmaW5pdGlvbl9yZW1vdmVkGAIgASgLMh0uYXV0", - "aHplZC5hcGkudjEuRXhwRGVmaW5pdGlvbkgAUhFkZWZpbml0aW9uUmVtb3Zl", - "ZBJkCh5kZWZpbml0aW9uX2RvY19jb21tZW50X2NoYW5nZWQYAyABKAsyHS5h", - "dXRoemVkLmFwaS52MS5FeHBEZWZpbml0aW9uSABSG2RlZmluaXRpb25Eb2ND", - "b21tZW50Q2hhbmdlZBJECg5yZWxhdGlvbl9hZGRlZBgEIAEoCzIbLmF1dGh6", - "ZWQuYXBpLnYxLkV4cFJlbGF0aW9uSABSDXJlbGF0aW9uQWRkZWQSSAoQcmVs", - "YXRpb25fcmVtb3ZlZBgFIAEoCzIbLmF1dGh6ZWQuYXBpLnYxLkV4cFJlbGF0", - "aW9uSABSD3JlbGF0aW9uUmVtb3ZlZBJeChxyZWxhdGlvbl9kb2NfY29tbWVu", - "dF9jaGFuZ2VkGAYgASgLMhsuYXV0aHplZC5hcGkudjEuRXhwUmVsYXRpb25I", - "AFIZcmVsYXRpb25Eb2NDb21tZW50Q2hhbmdlZBJtChtyZWxhdGlvbl9zdWJq", - "ZWN0X3R5cGVfYWRkZWQYByABKAsyLC5hdXRoemVkLmFwaS52MS5FeHBSZWxh", - "dGlvblN1YmplY3RUeXBlQ2hhbmdlSABSGHJlbGF0aW9uU3ViamVjdFR5cGVB", - "ZGRlZBJxCh1yZWxhdGlvbl9zdWJqZWN0X3R5cGVfcmVtb3ZlZBgIIAEoCzIs", - "LmF1dGh6ZWQuYXBpLnYxLkV4cFJlbGF0aW9uU3ViamVjdFR5cGVDaGFuZ2VI", - "AFIacmVsYXRpb25TdWJqZWN0VHlwZVJlbW92ZWQSSgoQcGVybWlzc2lvbl9h", - "ZGRlZBgJIAEoCzIdLmF1dGh6ZWQuYXBpLnYxLkV4cFBlcm1pc3Npb25IAFIP", - "cGVybWlzc2lvbkFkZGVkEk4KEnBlcm1pc3Npb25fcmVtb3ZlZBgKIAEoCzId", - "LmF1dGh6ZWQuYXBpLnYxLkV4cFBlcm1pc3Npb25IAFIRcGVybWlzc2lvblJl", - "bW92ZWQSZAoecGVybWlzc2lvbl9kb2NfY29tbWVudF9jaGFuZ2VkGAsgASgL", - "Mh0uYXV0aHplZC5hcGkudjEuRXhwUGVybWlzc2lvbkgAUhtwZXJtaXNzaW9u", - "RG9jQ29tbWVudENoYW5nZWQSVwoXcGVybWlzc2lvbl9leHByX2NoYW5nZWQY", - "DCABKAsyHS5hdXRoemVkLmFwaS52MS5FeHBQZXJtaXNzaW9uSABSFXBlcm1p", - "c3Npb25FeHByQ2hhbmdlZBI+CgxjYXZlYXRfYWRkZWQYDSABKAsyGS5hdXRo", - "emVkLmFwaS52MS5FeHBDYXZlYXRIAFILY2F2ZWF0QWRkZWQSQgoOY2F2ZWF0", - "X3JlbW92ZWQYDiABKAsyGS5hdXRoemVkLmFwaS52MS5FeHBDYXZlYXRIAFIN", - "Y2F2ZWF0UmVtb3ZlZBJYChpjYXZlYXRfZG9jX2NvbW1lbnRfY2hhbmdlZBgP", - "IAEoCzIZLmF1dGh6ZWQuYXBpLnYxLkV4cENhdmVhdEgAUhdjYXZlYXREb2ND", - "b21tZW50Q2hhbmdlZBJLChNjYXZlYXRfZXhwcl9jaGFuZ2VkGBAgASgLMhku", - "YXV0aHplZC5hcGkudjEuRXhwQ2F2ZWF0SABSEWNhdmVhdEV4cHJDaGFuZ2Vk", - "EloKFmNhdmVhdF9wYXJhbWV0ZXJfYWRkZWQYESABKAsyIi5hdXRoemVkLmFw", - "aS52MS5FeHBDYXZlYXRQYXJhbWV0ZXJIAFIUY2F2ZWF0UGFyYW1ldGVyQWRk", - "ZWQSXgoYY2F2ZWF0X3BhcmFtZXRlcl9yZW1vdmVkGBIgASgLMiIuYXV0aHpl", - "ZC5hcGkudjEuRXhwQ2F2ZWF0UGFyYW1ldGVySABSFmNhdmVhdFBhcmFtZXRl", - "clJlbW92ZWQScQodY2F2ZWF0X3BhcmFtZXRlcl90eXBlX2NoYW5nZWQYEyAB", - "KAsyLC5hdXRoemVkLmFwaS52MS5FeHBDYXZlYXRQYXJhbWV0ZXJUeXBlQ2hh", - "bmdlSABSGmNhdmVhdFBhcmFtZXRlclR5cGVDaGFuZ2VkQgYKBGRpZmYy2BAK", - "E0V4cGVyaW1lbnRhbFNlcnZpY2USxAEKF0J1bGtJbXBvcnRSZWxhdGlvbnNo", - "aXBzEi4uYXV0aHplZC5hcGkudjEuQnVsa0ltcG9ydFJlbGF0aW9uc2hpcHNS", - "ZXF1ZXN0Gi8uYXV0aHplZC5hcGkudjEuQnVsa0ltcG9ydFJlbGF0aW9uc2hp", - "cHNSZXNwb25zZSJGiAIBkkEMCgpEZXByZWNhdGVkgtPkkwIuIikvdjEvZXhw", - "ZXJpbWVudGFsL3JlbGF0aW9uc2hpcHMvYnVsa2ltcG9ydDoBKigBEsQBChdC", - "dWxrRXhwb3J0UmVsYXRpb25zaGlwcxIuLmF1dGh6ZWQuYXBpLnYxLkJ1bGtF", - "eHBvcnRSZWxhdGlvbnNoaXBzUmVxdWVzdBovLmF1dGh6ZWQuYXBpLnYxLkJ1", - "bGtFeHBvcnRSZWxhdGlvbnNoaXBzUmVzcG9uc2UiRogCAZJBDAoKRGVwcmVj", - "YXRlZILT5JMCLiIpL3YxL2V4cGVyaW1lbnRhbC9yZWxhdGlvbnNoaXBzL2J1", - "bGtleHBvcnQ6ASowARK9AQoTQnVsa0NoZWNrUGVybWlzc2lvbhIqLmF1dGh6", - "ZWQuYXBpLnYxLkJ1bGtDaGVja1Blcm1pc3Npb25SZXF1ZXN0GisuYXV0aHpl", - "ZC5hcGkudjEuQnVsa0NoZWNrUGVybWlzc2lvblJlc3BvbnNlIk2IAgGSQQwK", - "CkRlcHJlY2F0ZWSC0+STAjUiMC92MS9leHBlcmltZW50YWwvcGVybWlzc2lv", - "bnMvYnVsa2NoZWNrcGVybWlzc2lvbjoBKhK9AQoZRXhwZXJpbWVudGFsUmVm", - "bGVjdFNjaGVtYRIwLmF1dGh6ZWQuYXBpLnYxLkV4cGVyaW1lbnRhbFJlZmxl", - "Y3RTY2hlbWFSZXF1ZXN0GjEuYXV0aHplZC5hcGkudjEuRXhwZXJpbWVudGFs", - "UmVmbGVjdFNjaGVtYVJlc3BvbnNlIjuIAgGSQQwKCkRlcHJlY2F0ZWSC0+ST", - "AiMiHi92MS9leHBlcmltZW50YWwvcmVmbGVjdHNjaGVtYToBKhLeAQohRXhw", - "ZXJpbWVudGFsQ29tcHV0YWJsZVBlcm1pc3Npb25zEjguYXV0aHplZC5hcGku", - "djEuRXhwZXJpbWVudGFsQ29tcHV0YWJsZVBlcm1pc3Npb25zUmVxdWVzdBo5", - "LmF1dGh6ZWQuYXBpLnYxLkV4cGVyaW1lbnRhbENvbXB1dGFibGVQZXJtaXNz", - "aW9uc1Jlc3BvbnNlIkSIAgGSQQwKCkRlcHJlY2F0ZWSC0+STAiwiJy92MS9l", - "eHBlcmltZW50YWwvcGVybWlzc2lvbnMvY29tcHV0YWJsZToBKhLUAQoeRXhw", - "ZXJpbWVudGFsRGVwZW5kZW50UmVsYXRpb25zEjUuYXV0aHplZC5hcGkudjEu", - "RXhwZXJpbWVudGFsRGVwZW5kZW50UmVsYXRpb25zUmVxdWVzdBo2LmF1dGh6", - "ZWQuYXBpLnYxLkV4cGVyaW1lbnRhbERlcGVuZGVudFJlbGF0aW9uc1Jlc3Bv", - "bnNlIkOIAgGSQQwKCkRlcHJlY2F0ZWSC0+STAisiJi92MS9leHBlcmltZW50", - "YWwvcGVybWlzc2lvbnMvZGVwZW5kZW50OgEqErEBChZFeHBlcmltZW50YWxE", - "aWZmU2NoZW1hEi0uYXV0aHplZC5hcGkudjEuRXhwZXJpbWVudGFsRGlmZlNj", - "aGVtYVJlcXVlc3QaLi5hdXRoemVkLmFwaS52MS5FeHBlcmltZW50YWxEaWZm", - "U2NoZW1hUmVzcG9uc2UiOIgCAZJBDAoKRGVwcmVjYXRlZILT5JMCICIbL3Yx", - "L2V4cGVyaW1lbnRhbC9kaWZmc2NoZW1hOgEqEvQBCidFeHBlcmltZW50YWxS", - "ZWdpc3RlclJlbGF0aW9uc2hpcENvdW50ZXISPi5hdXRoemVkLmFwaS52MS5F", - "eHBlcmltZW50YWxSZWdpc3RlclJlbGF0aW9uc2hpcENvdW50ZXJSZXF1ZXN0", - "Gj8uYXV0aHplZC5hcGkudjEuRXhwZXJpbWVudGFsUmVnaXN0ZXJSZWxhdGlv", - "bnNoaXBDb3VudGVyUmVzcG9uc2UiSJJBDgoMRXhwZXJpbWVudGFsgtPkkwIx", - "IiwvdjEvZXhwZXJpbWVudGFsL3JlZ2lzdGVycmVsYXRpb25zaGlwY291bnRl", - "cjoBKhLQAQoeRXhwZXJpbWVudGFsQ291bnRSZWxhdGlvbnNoaXBzEjUuYXV0", - "aHplZC5hcGkudjEuRXhwZXJpbWVudGFsQ291bnRSZWxhdGlvbnNoaXBzUmVx", - "dWVzdBo2LmF1dGh6ZWQuYXBpLnYxLkV4cGVyaW1lbnRhbENvdW50UmVsYXRp", - "b25zaGlwc1Jlc3BvbnNlIj+SQQ4KDEV4cGVyaW1lbnRhbILT5JMCKCIjL3Yx", - "L2V4cGVyaW1lbnRhbC9jb3VudHJlbGF0aW9uc2hpcHM6ASoS/AEKKUV4cGVy", - "aW1lbnRhbFVucmVnaXN0ZXJSZWxhdGlvbnNoaXBDb3VudGVyEkAuYXV0aHpl", - "ZC5hcGkudjEuRXhwZXJpbWVudGFsVW5yZWdpc3RlclJlbGF0aW9uc2hpcENv", - "dW50ZXJSZXF1ZXN0GkEuYXV0aHplZC5hcGkudjEuRXhwZXJpbWVudGFsVW5y", - "ZWdpc3RlclJlbGF0aW9uc2hpcENvdW50ZXJSZXNwb25zZSJKkkEOCgxFeHBl", - "cmltZW50YWyC0+STAjMiLi92MS9leHBlcmltZW50YWwvdW5yZWdpc3RlcnJl", - "bGF0aW9uc2hpcGNvdW50ZXI6ASpCSgoSY29tLmF1dGh6ZWQuYXBpLnYxUAFa", - "MmdpdGh1Yi5jb20vYXV0aHplZC9hdXRoemVkLWdvL3Byb3RvL2F1dGh6ZWQv", - "YXBpL3YxYgZwcm90bzM=")); + "bnNpc3RlbmN5Ugtjb25zaXN0ZW5jeRJVCgVpdGVtcxgCIAMoCzIuLmF1dGh6", + "ZWQuYXBpLnYxLkJ1bGtDaGVja1Blcm1pc3Npb25SZXF1ZXN0SXRlbUIPGAH6", + "QgqSAQciBYoBAhABUgVpdGVtcyLyAgoeQnVsa0NoZWNrUGVybWlzc2lvblJl", + "cXVlc3RJdGVtEksKCHJlc291cmNlGAEgASgLMh8uYXV0aHplZC5hcGkudjEu", + "T2JqZWN0UmVmZXJlbmNlQg76QgWKAQIQAbpIA8gBAVIIcmVzb3VyY2USdAoK", + "cGVybWlzc2lvbhgCIAEoCUJU+kInciUoQDIhXihbYS16XVthLXowLTlfXXsx", + "LDYyfVthLXowLTldKT8kukgnciUoQDIhXihbYS16XVthLXowLTlfXXsxLDYy", + "fVthLXowLTldKT8kUgpwZXJtaXNzaW9uEkoKB3N1YmplY3QYAyABKAsyIC5h", + "dXRoemVkLmFwaS52MS5TdWJqZWN0UmVmZXJlbmNlQg76QgWKAQIQAbpIA8gB", + "AVIHc3ViamVjdBJBCgdjb250ZXh0GAQgASgLMhcuZ29vZ2xlLnByb3RvYnVm", + "LlN0cnVjdEIO+kIFigECEAC6SAPIAQBSB2NvbnRleHQitAEKG0J1bGtDaGVj", + "a1Blcm1pc3Npb25SZXNwb25zZRJHCgpjaGVja2VkX2F0GAEgASgLMhguYXV0", + "aHplZC5hcGkudjEuWmVkVG9rZW5CDvpCBYoBAhAAukgDyAEAUgljaGVja2Vk", + "QXQSTAoFcGFpcnMYAiADKAsyJy5hdXRoemVkLmFwaS52MS5CdWxrQ2hlY2tQ", + "ZXJtaXNzaW9uUGFpckIN+kIKkgEHIgWKAQIQAVIFcGFpcnMi4gEKF0J1bGtD", + "aGVja1Blcm1pc3Npb25QYWlyEkgKB3JlcXVlc3QYASABKAsyLi5hdXRoemVk", + "LmFwaS52MS5CdWxrQ2hlY2tQZXJtaXNzaW9uUmVxdWVzdEl0ZW1SB3JlcXVl", + "c3QSRQoEaXRlbRgCIAEoCzIvLmF1dGh6ZWQuYXBpLnYxLkJ1bGtDaGVja1Bl", + "cm1pc3Npb25SZXNwb25zZUl0ZW1IAFIEaXRlbRIqCgVlcnJvchgDIAEoCzIS", + "Lmdvb2dsZS5ycGMuU3RhdHVzSABSBWVycm9yQgoKCHJlc3BvbnNlIvoBCh9C", + "dWxrQ2hlY2tQZXJtaXNzaW9uUmVzcG9uc2VJdGVtEnQKDnBlcm1pc3Npb25z", + "aGlwGAEgASgOMjYuYXV0aHplZC5hcGkudjEuQ2hlY2tQZXJtaXNzaW9uUmVz", + "cG9uc2UuUGVybWlzc2lvbnNoaXBCFPpCB4IBBBABIAC6SAeCAQQQASAAUg5w", + "ZXJtaXNzaW9uc2hpcBJhChNwYXJ0aWFsX2NhdmVhdF9pbmZvGAIgASgLMiEu", + "YXV0aHplZC5hcGkudjEuUGFydGlhbENhdmVhdEluZm9CDvpCBYoBAhAAukgD", + "yAEAUhFwYXJ0aWFsQ2F2ZWF0SW5mbyJzCh5CdWxrSW1wb3J0UmVsYXRpb25z", + "aGlwc1JlcXVlc3QSUQoNcmVsYXRpb25zaGlwcxgBIAMoCzIcLmF1dGh6ZWQu", + "YXBpLnYxLlJlbGF0aW9uc2hpcEIN+kIKkgEHIgWKAQIQAVINcmVsYXRpb25z", + "aGlwcyJACh9CdWxrSW1wb3J0UmVsYXRpb25zaGlwc1Jlc3BvbnNlEh0KCm51", + "bV9sb2FkZWQYASABKARSCW51bUxvYWRlZCK9AgoeQnVsa0V4cG9ydFJlbGF0", + "aW9uc2hpcHNSZXF1ZXN0Ej0KC2NvbnNpc3RlbmN5GAEgASgLMhsuYXV0aHpl", + "ZC5hcGkudjEuQ29uc2lzdGVuY3lSC2NvbnNpc3RlbmN5EjUKDm9wdGlvbmFs", + "X2xpbWl0GAIgASgNQg76QgQqAigAukgEKgIoAFINb3B0aW9uYWxMaW1pdBI/", + "Cg9vcHRpb25hbF9jdXJzb3IYAyABKAsyFi5hdXRoemVkLmFwaS52MS5DdXJz", + "b3JSDm9wdGlvbmFsQ3Vyc29yEmQKHG9wdGlvbmFsX3JlbGF0aW9uc2hpcF9m", + "aWx0ZXIYBCABKAsyIi5hdXRoemVkLmFwaS52MS5SZWxhdGlvbnNoaXBGaWx0", + "ZXJSGm9wdGlvbmFsUmVsYXRpb25zaGlwRmlsdGVyIq0BCh9CdWxrRXhwb3J0", + "UmVsYXRpb25zaGlwc1Jlc3BvbnNlEkYKE2FmdGVyX3Jlc3VsdF9jdXJzb3IY", + "ASABKAsyFi5hdXRoemVkLmFwaS52MS5DdXJzb3JSEWFmdGVyUmVzdWx0Q3Vy", + "c29yEkIKDXJlbGF0aW9uc2hpcHMYAiADKAsyHC5hdXRoemVkLmFwaS52MS5S", + "ZWxhdGlvbnNoaXBSDXJlbGF0aW9uc2hpcHMirQEKIEV4cGVyaW1lbnRhbFJl", + "ZmxlY3RTY2hlbWFSZXF1ZXN0Ej0KC2NvbnNpc3RlbmN5GAEgASgLMhsuYXV0", + "aHplZC5hcGkudjEuQ29uc2lzdGVuY3lSC2NvbnNpc3RlbmN5EkoKEG9wdGlv", + "bmFsX2ZpbHRlcnMYAiADKAsyHy5hdXRoemVkLmFwaS52MS5FeHBTY2hlbWFG", + "aWx0ZXJSD29wdGlvbmFsRmlsdGVycyLMAQohRXhwZXJpbWVudGFsUmVmbGVj", + "dFNjaGVtYVJlc3BvbnNlEj8KC2RlZmluaXRpb25zGAEgAygLMh0uYXV0aHpl", + "ZC5hcGkudjEuRXhwRGVmaW5pdGlvblILZGVmaW5pdGlvbnMSMwoHY2F2ZWF0", + "cxgCIAMoCzIZLmF1dGh6ZWQuYXBpLnYxLkV4cENhdmVhdFIHY2F2ZWF0cxIx", + "CgdyZWFkX2F0GAMgASgLMhguYXV0aHplZC5hcGkudjEuWmVkVG9rZW5SBnJl", + "YWRBdCKhAgoPRXhwU2NoZW1hRmlsdGVyEkUKH29wdGlvbmFsX2RlZmluaXRp", + "b25fbmFtZV9maWx0ZXIYASABKAlSHG9wdGlvbmFsRGVmaW5pdGlvbk5hbWVG", + "aWx0ZXISPQobb3B0aW9uYWxfY2F2ZWF0X25hbWVfZmlsdGVyGAIgASgJUhhv", + "cHRpb25hbENhdmVhdE5hbWVGaWx0ZXISQQodb3B0aW9uYWxfcmVsYXRpb25f", + "bmFtZV9maWx0ZXIYAyABKAlSGm9wdGlvbmFsUmVsYXRpb25OYW1lRmlsdGVy", + "EkUKH29wdGlvbmFsX3Blcm1pc3Npb25fbmFtZV9maWx0ZXIYBCABKAlSHG9w", + "dGlvbmFsUGVybWlzc2lvbk5hbWVGaWx0ZXIiuQEKDUV4cERlZmluaXRpb24S", + "EgoEbmFtZRgBIAEoCVIEbmFtZRIYCgdjb21tZW50GAIgASgJUgdjb21tZW50", + "EjkKCXJlbGF0aW9ucxgDIAMoCzIbLmF1dGh6ZWQuYXBpLnYxLkV4cFJlbGF0", + "aW9uUglyZWxhdGlvbnMSPwoLcGVybWlzc2lvbnMYBCADKAsyHS5hdXRoemVk", + "LmFwaS52MS5FeHBQZXJtaXNzaW9uUgtwZXJtaXNzaW9ucyKdAQoJRXhwQ2F2", + "ZWF0EhIKBG5hbWUYASABKAlSBG5hbWUSGAoHY29tbWVudBgCIAEoCVIHY29t", + "bWVudBJCCgpwYXJhbWV0ZXJzGAMgAygLMiIuYXV0aHplZC5hcGkudjEuRXhw", + "Q2F2ZWF0UGFyYW1ldGVyUgpwYXJhbWV0ZXJzEh4KCmV4cHJlc3Npb24YBCAB", + "KAlSCmV4cHJlc3Npb24iagoSRXhwQ2F2ZWF0UGFyYW1ldGVyEhIKBG5hbWUY", + "ASABKAlSBG5hbWUSEgoEdHlwZRgCIAEoCVIEdHlwZRIsChJwYXJlbnRfY2F2", + "ZWF0X25hbWUYAyABKAlSEHBhcmVudENhdmVhdE5hbWUiuAEKC0V4cFJlbGF0", + "aW9uEhIKBG5hbWUYASABKAlSBG5hbWUSGAoHY29tbWVudBgCIAEoCVIHY29t", + "bWVudBI0ChZwYXJlbnRfZGVmaW5pdGlvbl9uYW1lGAMgASgJUhRwYXJlbnRE", + "ZWZpbml0aW9uTmFtZRJFCg1zdWJqZWN0X3R5cGVzGAQgAygLMiAuYXV0aHpl", + "ZC5hcGkudjEuRXhwVHlwZVJlZmVyZW5jZVIMc3ViamVjdFR5cGVzIqECChBF", + "eHBUeXBlUmVmZXJlbmNlEjYKF3N1YmplY3RfZGVmaW5pdGlvbl9uYW1lGAEg", + "ASgJUhVzdWJqZWN0RGVmaW5pdGlvbk5hbWUSMAoUb3B0aW9uYWxfY2F2ZWF0", + "X25hbWUYAiABKAlSEm9wdGlvbmFsQ2F2ZWF0TmFtZRIwChNpc190ZXJtaW5h", + "bF9zdWJqZWN0GAMgASgISABSEWlzVGVybWluYWxTdWJqZWN0EjYKFm9wdGlv", + "bmFsX3JlbGF0aW9uX25hbWUYBCABKAlIAFIUb3B0aW9uYWxSZWxhdGlvbk5h", + "bWUSLgoSaXNfcHVibGljX3dpbGRjYXJkGAUgASgISABSEGlzUHVibGljV2ls", + "ZGNhcmRCCQoHdHlwZXJlZiJzCg1FeHBQZXJtaXNzaW9uEhIKBG5hbWUYASAB", + "KAlSBG5hbWUSGAoHY29tbWVudBgCIAEoCVIHY29tbWVudBI0ChZwYXJlbnRf", + "ZGVmaW5pdGlvbl9uYW1lGAMgASgJUhRwYXJlbnREZWZpbml0aW9uTmFtZSL+", + "AQooRXhwZXJpbWVudGFsQ29tcHV0YWJsZVBlcm1pc3Npb25zUmVxdWVzdBI9", + "Cgtjb25zaXN0ZW5jeRgBIAEoCzIbLmF1dGh6ZWQuYXBpLnYxLkNvbnNpc3Rl", + "bmN5Ugtjb25zaXN0ZW5jeRInCg9kZWZpbml0aW9uX25hbWUYAiABKAlSDmRl", + "ZmluaXRpb25OYW1lEiMKDXJlbGF0aW9uX25hbWUYAyABKAlSDHJlbGF0aW9u", + "TmFtZRJFCh9vcHRpb25hbF9kZWZpbml0aW9uX25hbWVfZmlsdGVyGAQgASgJ", + "UhxvcHRpb25hbERlZmluaXRpb25OYW1lRmlsdGVyIokBChRFeHBSZWxhdGlv", + "blJlZmVyZW5jZRInCg9kZWZpbml0aW9uX25hbWUYASABKAlSDmRlZmluaXRp", + "b25OYW1lEiMKDXJlbGF0aW9uX25hbWUYAiABKAlSDHJlbGF0aW9uTmFtZRIj", + "Cg1pc19wZXJtaXNzaW9uGAMgASgIUgxpc1Blcm1pc3Npb24ipgEKKUV4cGVy", + "aW1lbnRhbENvbXB1dGFibGVQZXJtaXNzaW9uc1Jlc3BvbnNlEkYKC3Blcm1p", + "c3Npb25zGAEgAygLMiQuYXV0aHplZC5hcGkudjEuRXhwUmVsYXRpb25SZWZl", + "cmVuY2VSC3Blcm1pc3Npb25zEjEKB3JlYWRfYXQYAiABKAsyGC5hdXRoemVk", + "LmFwaS52MS5aZWRUb2tlblIGcmVhZEF0IrgBCiVFeHBlcmltZW50YWxEZXBl", + "bmRlbnRSZWxhdGlvbnNSZXF1ZXN0Ej0KC2NvbnNpc3RlbmN5GAEgASgLMhsu", + "YXV0aHplZC5hcGkudjEuQ29uc2lzdGVuY3lSC2NvbnNpc3RlbmN5EicKD2Rl", + "ZmluaXRpb25fbmFtZRgCIAEoCVIOZGVmaW5pdGlvbk5hbWUSJwoPcGVybWlz", + "c2lvbl9uYW1lGAMgASgJUg5wZXJtaXNzaW9uTmFtZSKfAQomRXhwZXJpbWVu", + "dGFsRGVwZW5kZW50UmVsYXRpb25zUmVzcG9uc2USQgoJcmVsYXRpb25zGAEg", + "AygLMiQuYXV0aHplZC5hcGkudjEuRXhwUmVsYXRpb25SZWZlcmVuY2VSCXJl", + "bGF0aW9ucxIxCgdyZWFkX2F0GAIgASgLMhguYXV0aHplZC5hcGkudjEuWmVk", + "VG9rZW5SBnJlYWRBdCKLAQodRXhwZXJpbWVudGFsRGlmZlNjaGVtYVJlcXVl", + "c3QSPQoLY29uc2lzdGVuY3kYASABKAsyGy5hdXRoemVkLmFwaS52MS5Db25z", + "aXN0ZW5jeVILY29uc2lzdGVuY3kSKwoRY29tcGFyaXNvbl9zY2hlbWEYAiAB", + "KAlSEGNvbXBhcmlzb25TY2hlbWEiiAEKHkV4cGVyaW1lbnRhbERpZmZTY2hl", + "bWFSZXNwb25zZRIzCgVkaWZmcxgBIAMoCzIdLmF1dGh6ZWQuYXBpLnYxLkV4", + "cFNjaGVtYURpZmZSBWRpZmZzEjEKB3JlYWRfYXQYAiABKAsyGC5hdXRoemVk", + "LmFwaS52MS5aZWRUb2tlblIGcmVhZEF0IqsBChxFeHBSZWxhdGlvblN1Ympl", + "Y3RUeXBlQ2hhbmdlEjcKCHJlbGF0aW9uGAEgASgLMhsuYXV0aHplZC5hcGku", + "djEuRXhwUmVsYXRpb25SCHJlbGF0aW9uElIKFGNoYW5nZWRfc3ViamVjdF90", + "eXBlGAIgASgLMiAuYXV0aHplZC5hcGkudjEuRXhwVHlwZVJlZmVyZW5jZVIS", + "Y2hhbmdlZFN1YmplY3RUeXBlIoUBChxFeHBDYXZlYXRQYXJhbWV0ZXJUeXBl", + "Q2hhbmdlEkAKCXBhcmFtZXRlchgBIAEoCzIiLmF1dGh6ZWQuYXBpLnYxLkV4", + "cENhdmVhdFBhcmFtZXRlclIJcGFyYW1ldGVyEiMKDXByZXZpb3VzX3R5cGUY", + "AiABKAlSDHByZXZpb3VzVHlwZSKgDQoNRXhwU2NoZW1hRGlmZhJKChBkZWZp", + "bml0aW9uX2FkZGVkGAEgASgLMh0uYXV0aHplZC5hcGkudjEuRXhwRGVmaW5p", + "dGlvbkgAUg9kZWZpbml0aW9uQWRkZWQSTgoSZGVmaW5pdGlvbl9yZW1vdmVk", + "GAIgASgLMh0uYXV0aHplZC5hcGkudjEuRXhwRGVmaW5pdGlvbkgAUhFkZWZp", + "bml0aW9uUmVtb3ZlZBJkCh5kZWZpbml0aW9uX2RvY19jb21tZW50X2NoYW5n", + "ZWQYAyABKAsyHS5hdXRoemVkLmFwaS52MS5FeHBEZWZpbml0aW9uSABSG2Rl", + "ZmluaXRpb25Eb2NDb21tZW50Q2hhbmdlZBJECg5yZWxhdGlvbl9hZGRlZBgE", + "IAEoCzIbLmF1dGh6ZWQuYXBpLnYxLkV4cFJlbGF0aW9uSABSDXJlbGF0aW9u", + "QWRkZWQSSAoQcmVsYXRpb25fcmVtb3ZlZBgFIAEoCzIbLmF1dGh6ZWQuYXBp", + "LnYxLkV4cFJlbGF0aW9uSABSD3JlbGF0aW9uUmVtb3ZlZBJeChxyZWxhdGlv", + "bl9kb2NfY29tbWVudF9jaGFuZ2VkGAYgASgLMhsuYXV0aHplZC5hcGkudjEu", + "RXhwUmVsYXRpb25IAFIZcmVsYXRpb25Eb2NDb21tZW50Q2hhbmdlZBJtChty", + "ZWxhdGlvbl9zdWJqZWN0X3R5cGVfYWRkZWQYByABKAsyLC5hdXRoemVkLmFw", + "aS52MS5FeHBSZWxhdGlvblN1YmplY3RUeXBlQ2hhbmdlSABSGHJlbGF0aW9u", + "U3ViamVjdFR5cGVBZGRlZBJxCh1yZWxhdGlvbl9zdWJqZWN0X3R5cGVfcmVt", + "b3ZlZBgIIAEoCzIsLmF1dGh6ZWQuYXBpLnYxLkV4cFJlbGF0aW9uU3ViamVj", + "dFR5cGVDaGFuZ2VIAFIacmVsYXRpb25TdWJqZWN0VHlwZVJlbW92ZWQSSgoQ", + "cGVybWlzc2lvbl9hZGRlZBgJIAEoCzIdLmF1dGh6ZWQuYXBpLnYxLkV4cFBl", + "cm1pc3Npb25IAFIPcGVybWlzc2lvbkFkZGVkEk4KEnBlcm1pc3Npb25fcmVt", + "b3ZlZBgKIAEoCzIdLmF1dGh6ZWQuYXBpLnYxLkV4cFBlcm1pc3Npb25IAFIR", + "cGVybWlzc2lvblJlbW92ZWQSZAoecGVybWlzc2lvbl9kb2NfY29tbWVudF9j", + "aGFuZ2VkGAsgASgLMh0uYXV0aHplZC5hcGkudjEuRXhwUGVybWlzc2lvbkgA", + "UhtwZXJtaXNzaW9uRG9jQ29tbWVudENoYW5nZWQSVwoXcGVybWlzc2lvbl9l", + "eHByX2NoYW5nZWQYDCABKAsyHS5hdXRoemVkLmFwaS52MS5FeHBQZXJtaXNz", + "aW9uSABSFXBlcm1pc3Npb25FeHByQ2hhbmdlZBI+CgxjYXZlYXRfYWRkZWQY", + "DSABKAsyGS5hdXRoemVkLmFwaS52MS5FeHBDYXZlYXRIAFILY2F2ZWF0QWRk", + "ZWQSQgoOY2F2ZWF0X3JlbW92ZWQYDiABKAsyGS5hdXRoemVkLmFwaS52MS5F", + "eHBDYXZlYXRIAFINY2F2ZWF0UmVtb3ZlZBJYChpjYXZlYXRfZG9jX2NvbW1l", + "bnRfY2hhbmdlZBgPIAEoCzIZLmF1dGh6ZWQuYXBpLnYxLkV4cENhdmVhdEgA", + "UhdjYXZlYXREb2NDb21tZW50Q2hhbmdlZBJLChNjYXZlYXRfZXhwcl9jaGFu", + "Z2VkGBAgASgLMhkuYXV0aHplZC5hcGkudjEuRXhwQ2F2ZWF0SABSEWNhdmVh", + "dEV4cHJDaGFuZ2VkEloKFmNhdmVhdF9wYXJhbWV0ZXJfYWRkZWQYESABKAsy", + "Ii5hdXRoemVkLmFwaS52MS5FeHBDYXZlYXRQYXJhbWV0ZXJIAFIUY2F2ZWF0", + "UGFyYW1ldGVyQWRkZWQSXgoYY2F2ZWF0X3BhcmFtZXRlcl9yZW1vdmVkGBIg", + "ASgLMiIuYXV0aHplZC5hcGkudjEuRXhwQ2F2ZWF0UGFyYW1ldGVySABSFmNh", + "dmVhdFBhcmFtZXRlclJlbW92ZWQScQodY2F2ZWF0X3BhcmFtZXRlcl90eXBl", + "X2NoYW5nZWQYEyABKAsyLC5hdXRoemVkLmFwaS52MS5FeHBDYXZlYXRQYXJh", + "bWV0ZXJUeXBlQ2hhbmdlSABSGmNhdmVhdFBhcmFtZXRlclR5cGVDaGFuZ2Vk", + "QgYKBGRpZmYy2BAKE0V4cGVyaW1lbnRhbFNlcnZpY2USxAEKF0J1bGtJbXBv", + "cnRSZWxhdGlvbnNoaXBzEi4uYXV0aHplZC5hcGkudjEuQnVsa0ltcG9ydFJl", + "bGF0aW9uc2hpcHNSZXF1ZXN0Gi8uYXV0aHplZC5hcGkudjEuQnVsa0ltcG9y", + "dFJlbGF0aW9uc2hpcHNSZXNwb25zZSJGiAIBkkEMCgpEZXByZWNhdGVkgtPk", + "kwIuIikvdjEvZXhwZXJpbWVudGFsL3JlbGF0aW9uc2hpcHMvYnVsa2ltcG9y", + "dDoBKigBEsQBChdCdWxrRXhwb3J0UmVsYXRpb25zaGlwcxIuLmF1dGh6ZWQu", + "YXBpLnYxLkJ1bGtFeHBvcnRSZWxhdGlvbnNoaXBzUmVxdWVzdBovLmF1dGh6", + "ZWQuYXBpLnYxLkJ1bGtFeHBvcnRSZWxhdGlvbnNoaXBzUmVzcG9uc2UiRogC", + "AZJBDAoKRGVwcmVjYXRlZILT5JMCLiIpL3YxL2V4cGVyaW1lbnRhbC9yZWxh", + "dGlvbnNoaXBzL2J1bGtleHBvcnQ6ASowARK9AQoTQnVsa0NoZWNrUGVybWlz", + "c2lvbhIqLmF1dGh6ZWQuYXBpLnYxLkJ1bGtDaGVja1Blcm1pc3Npb25SZXF1", + "ZXN0GisuYXV0aHplZC5hcGkudjEuQnVsa0NoZWNrUGVybWlzc2lvblJlc3Bv", + "bnNlIk2IAgGSQQwKCkRlcHJlY2F0ZWSC0+STAjUiMC92MS9leHBlcmltZW50", + "YWwvcGVybWlzc2lvbnMvYnVsa2NoZWNrcGVybWlzc2lvbjoBKhK9AQoZRXhw", + "ZXJpbWVudGFsUmVmbGVjdFNjaGVtYRIwLmF1dGh6ZWQuYXBpLnYxLkV4cGVy", + "aW1lbnRhbFJlZmxlY3RTY2hlbWFSZXF1ZXN0GjEuYXV0aHplZC5hcGkudjEu", + "RXhwZXJpbWVudGFsUmVmbGVjdFNjaGVtYVJlc3BvbnNlIjuIAgGSQQwKCkRl", + "cHJlY2F0ZWSC0+STAiMiHi92MS9leHBlcmltZW50YWwvcmVmbGVjdHNjaGVt", + "YToBKhLeAQohRXhwZXJpbWVudGFsQ29tcHV0YWJsZVBlcm1pc3Npb25zEjgu", + "YXV0aHplZC5hcGkudjEuRXhwZXJpbWVudGFsQ29tcHV0YWJsZVBlcm1pc3Np", + "b25zUmVxdWVzdBo5LmF1dGh6ZWQuYXBpLnYxLkV4cGVyaW1lbnRhbENvbXB1", + "dGFibGVQZXJtaXNzaW9uc1Jlc3BvbnNlIkSIAgGSQQwKCkRlcHJlY2F0ZWSC", + "0+STAiwiJy92MS9leHBlcmltZW50YWwvcGVybWlzc2lvbnMvY29tcHV0YWJs", + "ZToBKhLUAQoeRXhwZXJpbWVudGFsRGVwZW5kZW50UmVsYXRpb25zEjUuYXV0", + "aHplZC5hcGkudjEuRXhwZXJpbWVudGFsRGVwZW5kZW50UmVsYXRpb25zUmVx", + "dWVzdBo2LmF1dGh6ZWQuYXBpLnYxLkV4cGVyaW1lbnRhbERlcGVuZGVudFJl", + "bGF0aW9uc1Jlc3BvbnNlIkOIAgGSQQwKCkRlcHJlY2F0ZWSC0+STAisiJi92", + "MS9leHBlcmltZW50YWwvcGVybWlzc2lvbnMvZGVwZW5kZW50OgEqErEBChZF", + "eHBlcmltZW50YWxEaWZmU2NoZW1hEi0uYXV0aHplZC5hcGkudjEuRXhwZXJp", + "bWVudGFsRGlmZlNjaGVtYVJlcXVlc3QaLi5hdXRoemVkLmFwaS52MS5FeHBl", + "cmltZW50YWxEaWZmU2NoZW1hUmVzcG9uc2UiOIgCAZJBDAoKRGVwcmVjYXRl", + "ZILT5JMCICIbL3YxL2V4cGVyaW1lbnRhbC9kaWZmc2NoZW1hOgEqEvQBCidF", + "eHBlcmltZW50YWxSZWdpc3RlclJlbGF0aW9uc2hpcENvdW50ZXISPi5hdXRo", + "emVkLmFwaS52MS5FeHBlcmltZW50YWxSZWdpc3RlclJlbGF0aW9uc2hpcENv", + "dW50ZXJSZXF1ZXN0Gj8uYXV0aHplZC5hcGkudjEuRXhwZXJpbWVudGFsUmVn", + "aXN0ZXJSZWxhdGlvbnNoaXBDb3VudGVyUmVzcG9uc2UiSJJBDgoMRXhwZXJp", + "bWVudGFsgtPkkwIxIiwvdjEvZXhwZXJpbWVudGFsL3JlZ2lzdGVycmVsYXRp", + "b25zaGlwY291bnRlcjoBKhLQAQoeRXhwZXJpbWVudGFsQ291bnRSZWxhdGlv", + "bnNoaXBzEjUuYXV0aHplZC5hcGkudjEuRXhwZXJpbWVudGFsQ291bnRSZWxh", + "dGlvbnNoaXBzUmVxdWVzdBo2LmF1dGh6ZWQuYXBpLnYxLkV4cGVyaW1lbnRh", + "bENvdW50UmVsYXRpb25zaGlwc1Jlc3BvbnNlIj+SQQ4KDEV4cGVyaW1lbnRh", + "bILT5JMCKCIjL3YxL2V4cGVyaW1lbnRhbC9jb3VudHJlbGF0aW9uc2hpcHM6", + "ASoS/AEKKUV4cGVyaW1lbnRhbFVucmVnaXN0ZXJSZWxhdGlvbnNoaXBDb3Vu", + "dGVyEkAuYXV0aHplZC5hcGkudjEuRXhwZXJpbWVudGFsVW5yZWdpc3RlclJl", + "bGF0aW9uc2hpcENvdW50ZXJSZXF1ZXN0GkEuYXV0aHplZC5hcGkudjEuRXhw", + "ZXJpbWVudGFsVW5yZWdpc3RlclJlbGF0aW9uc2hpcENvdW50ZXJSZXNwb25z", + "ZSJKkkEOCgxFeHBlcmltZW50YWyC0+STAjMiLi92MS9leHBlcmltZW50YWwv", + "dW5yZWdpc3RlcnJlbGF0aW9uc2hpcGNvdW50ZXI6ASpCSgoSY29tLmF1dGh6", + "ZWQuYXBpLnYxUAFaMmdpdGh1Yi5jb20vYXV0aHplZC9hdXRoemVkLWdvL3By", + "b3RvL2F1dGh6ZWQvYXBpL3YxYgZwcm90bzM=")); descriptor = pbr::FileDescriptor.FromGeneratedCode(descriptorData, new pbr::FileDescriptor[] { global::Authzed.Api.V1.CoreReflection.Descriptor, global::Authzed.Api.V1.PermissionServiceReflection.Descriptor, global::Buf.Validate.ValidateReflection.Descriptor, global::Google.Api.AnnotationsReflection.Descriptor, global::Google.Protobuf.WellKnownTypes.StructReflection.Descriptor, global::Google.Rpc.StatusReflection.Descriptor, global::Grpc.Gateway.ProtocGenOpenapiv2.Options.AnnotationsReflection.Descriptor, global::Validate.ValidateReflection.Descriptor, }, new pbr::GeneratedClrTypeInfo(null, null, new pbr::GeneratedClrTypeInfo[] { diff --git a/src/Authzed.Net/Authzed/Api/V1/PermissionService.cs b/src/Authzed.Net/Authzed/Api/V1/PermissionService.cs index 2a38d69..dd2f0f6 100644 --- a/src/Authzed.Net/Authzed/Api/V1/PermissionService.cs +++ b/src/Authzed.Net/Authzed/Api/V1/PermissionService.cs @@ -84,225 +84,224 @@ static PermissionServiceReflection() { "YXRpb24SSgoGZmlsdGVyGAIgASgLMiIuYXV0aHplZC5hcGkudjEuUmVsYXRp", "b25zaGlwRmlsdGVyQg76QgWKAQIQAbpIA8gBAVIGZmlsdGVyIl4KCU9wZXJh", "dGlvbhIZChVPUEVSQVRJT05fVU5TUEVDSUZJRUQQABIcChhPUEVSQVRJT05f", - "TVVTVF9OT1RfTUFUQ0gQARIYChRPUEVSQVRJT05fTVVTVF9NQVRDSBACIs8C", - "ChlXcml0ZVJlbGF0aW9uc2hpcHNSZXF1ZXN0ElYKB3VwZGF0ZXMYASADKAsy", - "Ii5hdXRoemVkLmFwaS52MS5SZWxhdGlvbnNoaXBVcGRhdGVCGPpCCpIBByIF", - "igECEAG6SAiSAQUiA8gBAVIHdXBkYXRlcxJtChZvcHRpb25hbF9wcmVjb25k", - "aXRpb25zGAIgAygLMhwuYXV0aHplZC5hcGkudjEuUHJlY29uZGl0aW9uQhj6", - "QgqSAQciBYoBAhABukgIkgEFIgPIAQFSFW9wdGlvbmFsUHJlY29uZGl0aW9u", - "cxJrCh1vcHRpb25hbF90cmFuc2FjdGlvbl9tZXRhZGF0YRgDIAEoCzIXLmdv", - "b2dsZS5wcm90b2J1Zi5TdHJ1Y3RCDvpCBYoBAhAAukgDyAEAUhtvcHRpb25h", - "bFRyYW5zYWN0aW9uTWV0YWRhdGEiVQoaV3JpdGVSZWxhdGlvbnNoaXBzUmVz", - "cG9uc2USNwoKd3JpdHRlbl9hdBgBIAEoCzIYLmF1dGh6ZWQuYXBpLnYxLlpl", - "ZFRva2VuUgl3cml0dGVuQXQi3QMKGkRlbGV0ZVJlbGF0aW9uc2hpcHNSZXF1", - "ZXN0EmMKE3JlbGF0aW9uc2hpcF9maWx0ZXIYASABKAsyIi5hdXRoemVkLmFw", - "aS52MS5SZWxhdGlvbnNoaXBGaWx0ZXJCDvpCBYoBAhABukgDyAEBUhJyZWxh", - "dGlvbnNoaXBGaWx0ZXISbQoWb3B0aW9uYWxfcHJlY29uZGl0aW9ucxgCIAMo", - "CzIcLmF1dGh6ZWQuYXBpLnYxLlByZWNvbmRpdGlvbkIY+kIKkgEHIgWKAQIQ", - "AbpICJIBBSIDyAEBUhVvcHRpb25hbFByZWNvbmRpdGlvbnMSNQoOb3B0aW9u", - "YWxfbGltaXQYAyABKA1CDvpCBCoCKAC6SAQqAigAUg1vcHRpb25hbExpbWl0", - "EkcKIG9wdGlvbmFsX2FsbG93X3BhcnRpYWxfZGVsZXRpb25zGAQgASgIUh1v", - "cHRpb25hbEFsbG93UGFydGlhbERlbGV0aW9ucxJrCh1vcHRpb25hbF90cmFu", - "c2FjdGlvbl9tZXRhZGF0YRgFIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1", - "Y3RCDvpCBYoBAhAAukgDyAEAUhtvcHRpb25hbFRyYW5zYWN0aW9uTWV0YWRh", - "dGEi9wIKG0RlbGV0ZVJlbGF0aW9uc2hpcHNSZXNwb25zZRI3CgpkZWxldGVk", - "X2F0GAEgASgLMhguYXV0aHplZC5hcGkudjEuWmVkVG9rZW5SCWRlbGV0ZWRB", - "dBJpChFkZWxldGlvbl9wcm9ncmVzcxgCIAEoDjI8LmF1dGh6ZWQuYXBpLnYx", - "LkRlbGV0ZVJlbGF0aW9uc2hpcHNSZXNwb25zZS5EZWxldGlvblByb2dyZXNz", - "UhBkZWxldGlvblByb2dyZXNzEj4KG3JlbGF0aW9uc2hpcHNfZGVsZXRlZF9j", - "b3VudBgDIAEoBFIZcmVsYXRpb25zaGlwc0RlbGV0ZWRDb3VudCJ0ChBEZWxl", - "dGlvblByb2dyZXNzEiEKHURFTEVUSU9OX1BST0dSRVNTX1VOU1BFQ0lGSUVE", - "EAASHgoaREVMRVRJT05fUFJPR1JFU1NfQ09NUExFVEUQARIdChlERUxFVElP", - "Tl9QUk9HUkVTU19QQVJUSUFMEAIizAMKFkNoZWNrUGVybWlzc2lvblJlcXVl", - "c3QSPQoLY29uc2lzdGVuY3kYASABKAsyGy5hdXRoemVkLmFwaS52MS5Db25z", - "aXN0ZW5jeVILY29uc2lzdGVuY3kSSwoIcmVzb3VyY2UYAiABKAsyHy5hdXRo", - "emVkLmFwaS52MS5PYmplY3RSZWZlcmVuY2VCDvpCBYoBAhABukgDyAEBUghy", - "ZXNvdXJjZRJ0CgpwZXJtaXNzaW9uGAMgASgJQlT6QidyJShAMiFeKFthLXpd", - "W2EtejAtOV9dezEsNjJ9W2EtejAtOV0pPyS6SCdyJShAMiFeKFthLXpdW2Et", - "ejAtOV9dezEsNjJ9W2EtejAtOV0pPyRSCnBlcm1pc3Npb24SSgoHc3ViamVj", - "dBgEIAEoCzIgLmF1dGh6ZWQuYXBpLnYxLlN1YmplY3RSZWZlcmVuY2VCDvpC", - "BYoBAhABukgDyAEBUgdzdWJqZWN0EkEKB2NvbnRleHQYBSABKAsyFy5nb29n", - "bGUucHJvdG9idWYuU3RydWN0Qg76QgWKAQIQALpIA8gBAFIHY29udGV4dBIh", - "Cgx3aXRoX3RyYWNpbmcYBiABKAhSC3dpdGhUcmFjaW5nIu0EChdDaGVja1Bl", - "cm1pc3Npb25SZXNwb25zZRJHCgpjaGVja2VkX2F0GAEgASgLMhguYXV0aHpl", - "ZC5hcGkudjEuWmVkVG9rZW5CDvpCBYoBAhAAukgDyAEAUgljaGVja2VkQXQS", - "dAoOcGVybWlzc2lvbnNoaXAYAiABKA4yNi5hdXRoemVkLmFwaS52MS5DaGVj", - "a1Blcm1pc3Npb25SZXNwb25zZS5QZXJtaXNzaW9uc2hpcEIU+kIHggEEEAEg", - "ALpIB4IBBBABIABSDnBlcm1pc3Npb25zaGlwEmEKE3BhcnRpYWxfY2F2ZWF0", - "X2luZm8YAyABKAsyIS5hdXRoemVkLmFwaS52MS5QYXJ0aWFsQ2F2ZWF0SW5m", - "b0IO+kIFigECEAC6SAPIAQBSEXBhcnRpYWxDYXZlYXRJbmZvEkEKC2RlYnVn", - "X3RyYWNlGAQgASgLMiAuYXV0aHplZC5hcGkudjEuRGVidWdJbmZvcm1hdGlv", - "blIKZGVidWdUcmFjZRJKChNvcHRpb25hbF9leHBpcmVzX2F0GAUgASgLMhou", - "Z29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcFIRb3B0aW9uYWxFeHBpcmVzQXQi", - "oAEKDlBlcm1pc3Npb25zaGlwEh4KGlBFUk1JU1NJT05TSElQX1VOU1BFQ0lG", - "SUVEEAASIAocUEVSTUlTU0lPTlNISVBfTk9fUEVSTUlTU0lPThABEiEKHVBF", - "Uk1JU1NJT05TSElQX0hBU19QRVJNSVNTSU9OEAISKQolUEVSTUlTU0lPTlNI", - "SVBfQ09ORElUSU9OQUxfUEVSTUlTU0lPThADIuABChtDaGVja0J1bGtQZXJt", - "aXNzaW9uc1JlcXVlc3QSPQoLY29uc2lzdGVuY3kYASABKAsyGy5hdXRoemVk", - "LmFwaS52MS5Db25zaXN0ZW5jeVILY29uc2lzdGVuY3kSXwoFaXRlbXMYAiAD", - "KAsyLy5hdXRoemVkLmFwaS52MS5DaGVja0J1bGtQZXJtaXNzaW9uc1JlcXVl", - "c3RJdGVtQhj6QgqSAQciBYoBAhABukgIkgEFIgPIAQFSBWl0ZW1zEiEKDHdp", - "dGhfdHJhY2luZxgDIAEoCFILd2l0aFRyYWNpbmci8wIKH0NoZWNrQnVsa1Bl", - "cm1pc3Npb25zUmVxdWVzdEl0ZW0SSwoIcmVzb3VyY2UYASABKAsyHy5hdXRo", - "emVkLmFwaS52MS5PYmplY3RSZWZlcmVuY2VCDvpCBYoBAhABukgDyAEBUghy", - "ZXNvdXJjZRJ0CgpwZXJtaXNzaW9uGAIgASgJQlT6QidyJShAMiFeKFthLXpd", - "W2EtejAtOV9dezEsNjJ9W2EtejAtOV0pPyS6SCdyJShAMiFeKFthLXpdW2Et", - "ejAtOV9dezEsNjJ9W2EtejAtOV0pPyRSCnBlcm1pc3Npb24SSgoHc3ViamVj", - "dBgDIAEoCzIgLmF1dGh6ZWQuYXBpLnYxLlN1YmplY3RSZWZlcmVuY2VCDvpC", - "BYoBAhABukgDyAEBUgdzdWJqZWN0EkEKB2NvbnRleHQYBCABKAsyFy5nb29n", - "bGUucHJvdG9idWYuU3RydWN0Qg76QgWKAQIQALpIA8gBAFIHY29udGV4dCLB", - "AQocQ2hlY2tCdWxrUGVybWlzc2lvbnNSZXNwb25zZRJHCgpjaGVja2VkX2F0", - "GAEgASgLMhguYXV0aHplZC5hcGkudjEuWmVkVG9rZW5CDvpCBYoBAhAAukgD", - "yAEAUgljaGVja2VkQXQSWAoFcGFpcnMYAiADKAsyKC5hdXRoemVkLmFwaS52", - "MS5DaGVja0J1bGtQZXJtaXNzaW9uc1BhaXJCGPpCCpIBByIFigECEAG6SAiS", - "AQUiA8gBAVIFcGFpcnMi5QEKGENoZWNrQnVsa1Blcm1pc3Npb25zUGFpchJJ", - "CgdyZXF1ZXN0GAEgASgLMi8uYXV0aHplZC5hcGkudjEuQ2hlY2tCdWxrUGVy", - "bWlzc2lvbnNSZXF1ZXN0SXRlbVIHcmVxdWVzdBJGCgRpdGVtGAIgASgLMjAu", - "YXV0aHplZC5hcGkudjEuQ2hlY2tCdWxrUGVybWlzc2lvbnNSZXNwb25zZUl0", - "ZW1IAFIEaXRlbRIqCgVlcnJvchgDIAEoCzISLmdvb2dsZS5ycGMuU3RhdHVz", - "SABSBWVycm9yQgoKCHJlc3BvbnNlIr4CCiBDaGVja0J1bGtQZXJtaXNzaW9u", - "c1Jlc3BvbnNlSXRlbRJ0Cg5wZXJtaXNzaW9uc2hpcBgBIAEoDjI2LmF1dGh6", - "ZWQuYXBpLnYxLkNoZWNrUGVybWlzc2lvblJlc3BvbnNlLlBlcm1pc3Npb25z", - "aGlwQhT6QgeCAQQQASAAukgHggEEEAEgAFIOcGVybWlzc2lvbnNoaXASYQoT", - "cGFydGlhbF9jYXZlYXRfaW5mbxgCIAEoCzIhLmF1dGh6ZWQuYXBpLnYxLlBh", - "cnRpYWxDYXZlYXRJbmZvQg76QgWKAQIQALpIA8gBAFIRcGFydGlhbENhdmVh", - "dEluZm8SQQoLZGVidWdfdHJhY2UYAyABKAsyIC5hdXRoemVkLmFwaS52MS5E", - "ZWJ1Z0luZm9ybWF0aW9uUgpkZWJ1Z1RyYWNlIp8CChtFeHBhbmRQZXJtaXNz", - "aW9uVHJlZVJlcXVlc3QSPQoLY29uc2lzdGVuY3kYASABKAsyGy5hdXRoemVk", + "TVVTVF9OT1RfTUFUQ0gQARIYChRPUEVSQVRJT05fTVVTVF9NQVRDSBACIrkC", + "ChlXcml0ZVJlbGF0aW9uc2hpcHNSZXF1ZXN0EksKB3VwZGF0ZXMYASADKAsy", + "Ii5hdXRoemVkLmFwaS52MS5SZWxhdGlvbnNoaXBVcGRhdGVCDfpCCpIBByIF", + "igECEAFSB3VwZGF0ZXMSYgoWb3B0aW9uYWxfcHJlY29uZGl0aW9ucxgCIAMo", + "CzIcLmF1dGh6ZWQuYXBpLnYxLlByZWNvbmRpdGlvbkIN+kIKkgEHIgWKAQIQ", + "AVIVb3B0aW9uYWxQcmVjb25kaXRpb25zEmsKHW9wdGlvbmFsX3RyYW5zYWN0", + "aW9uX21ldGFkYXRhGAMgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdEIO", + "+kIFigECEAC6SAPIAQBSG29wdGlvbmFsVHJhbnNhY3Rpb25NZXRhZGF0YSJV", + "ChpXcml0ZVJlbGF0aW9uc2hpcHNSZXNwb25zZRI3Cgp3cml0dGVuX2F0GAEg", + "ASgLMhguYXV0aHplZC5hcGkudjEuWmVkVG9rZW5SCXdyaXR0ZW5BdCLSAwoa", + "RGVsZXRlUmVsYXRpb25zaGlwc1JlcXVlc3QSYwoTcmVsYXRpb25zaGlwX2Zp", + "bHRlchgBIAEoCzIiLmF1dGh6ZWQuYXBpLnYxLlJlbGF0aW9uc2hpcEZpbHRl", + "ckIO+kIFigECEAG6SAPIAQFSEnJlbGF0aW9uc2hpcEZpbHRlchJiChZvcHRp", + "b25hbF9wcmVjb25kaXRpb25zGAIgAygLMhwuYXV0aHplZC5hcGkudjEuUHJl", + "Y29uZGl0aW9uQg36QgqSAQciBYoBAhABUhVvcHRpb25hbFByZWNvbmRpdGlv", + "bnMSNQoOb3B0aW9uYWxfbGltaXQYAyABKA1CDvpCBCoCKAC6SAQqAigAUg1v", + "cHRpb25hbExpbWl0EkcKIG9wdGlvbmFsX2FsbG93X3BhcnRpYWxfZGVsZXRp", + "b25zGAQgASgIUh1vcHRpb25hbEFsbG93UGFydGlhbERlbGV0aW9ucxJrCh1v", + "cHRpb25hbF90cmFuc2FjdGlvbl9tZXRhZGF0YRgFIAEoCzIXLmdvb2dsZS5w", + "cm90b2J1Zi5TdHJ1Y3RCDvpCBYoBAhAAukgDyAEAUhtvcHRpb25hbFRyYW5z", + "YWN0aW9uTWV0YWRhdGEi9wIKG0RlbGV0ZVJlbGF0aW9uc2hpcHNSZXNwb25z", + "ZRI3CgpkZWxldGVkX2F0GAEgASgLMhguYXV0aHplZC5hcGkudjEuWmVkVG9r", + "ZW5SCWRlbGV0ZWRBdBJpChFkZWxldGlvbl9wcm9ncmVzcxgCIAEoDjI8LmF1", + "dGh6ZWQuYXBpLnYxLkRlbGV0ZVJlbGF0aW9uc2hpcHNSZXNwb25zZS5EZWxl", + "dGlvblByb2dyZXNzUhBkZWxldGlvblByb2dyZXNzEj4KG3JlbGF0aW9uc2hp", + "cHNfZGVsZXRlZF9jb3VudBgDIAEoBFIZcmVsYXRpb25zaGlwc0RlbGV0ZWRD", + "b3VudCJ0ChBEZWxldGlvblByb2dyZXNzEiEKHURFTEVUSU9OX1BST0dSRVNT", + "X1VOU1BFQ0lGSUVEEAASHgoaREVMRVRJT05fUFJPR1JFU1NfQ09NUExFVEUQ", + "ARIdChlERUxFVElPTl9QUk9HUkVTU19QQVJUSUFMEAIizAMKFkNoZWNrUGVy", + "bWlzc2lvblJlcXVlc3QSPQoLY29uc2lzdGVuY3kYASABKAsyGy5hdXRoemVk", "LmFwaS52MS5Db25zaXN0ZW5jeVILY29uc2lzdGVuY3kSSwoIcmVzb3VyY2UY", "AiABKAsyHy5hdXRoemVkLmFwaS52MS5PYmplY3RSZWZlcmVuY2VCDvpCBYoB", "AhABukgDyAEBUghyZXNvdXJjZRJ0CgpwZXJtaXNzaW9uGAMgASgJQlT6Qidy", "JShAMiFeKFthLXpdW2EtejAtOV9dezEsNjJ9W2EtejAtOV0pPyS6SCdyJShA", "MiFeKFthLXpdW2EtejAtOV9dezEsNjJ9W2EtejAtOV0pPyRSCnBlcm1pc3Np", - "b24iogEKHEV4cGFuZFBlcm1pc3Npb25UcmVlUmVzcG9uc2USOQoLZXhwYW5k", - "ZWRfYXQYASABKAsyGC5hdXRoemVkLmFwaS52MS5aZWRUb2tlblIKZXhwYW5k", - "ZWRBdBJHCgl0cmVlX3Jvb3QYAiABKAsyKi5hdXRoemVkLmFwaS52MS5QZXJt", - "aXNzaW9uUmVsYXRpb25zaGlwVHJlZVIIdHJlZVJvb3QilAUKFkxvb2t1cFJl", - "c291cmNlc1JlcXVlc3QSPQoLY29uc2lzdGVuY3kYASABKAsyGy5hdXRoemVk", - "LmFwaS52MS5Db25zaXN0ZW5jeVILY29uc2lzdGVuY3kSwwEKFHJlc291cmNl", - "X29iamVjdF90eXBlGAIgASgJQpAB+kJFckMogAEyPl4oW2Etel1bYS16MC05", - "X117MSw2MX1bYS16MC05XS8pKlthLXpdW2EtejAtOV9dezEsNjJ9W2EtejAt", - "OV0kukhFckMogAEyPl4oW2Etel1bYS16MC05X117MSw2MX1bYS16MC05XS8p", - "KlthLXpdW2EtejAtOV9dezEsNjJ9W2EtejAtOV0kUhJyZXNvdXJjZU9iamVj", - "dFR5cGUSbgoKcGVybWlzc2lvbhgDIAEoCUJO+kIkciIoQDIeXlthLXpdW2Et", - "ejAtOV9dezEsNjJ9W2EtejAtOV0kukgkciIoQDIeXlthLXpdW2EtejAtOV9d", - "ezEsNjJ9W2EtejAtOV0kUgpwZXJtaXNzaW9uEkoKB3N1YmplY3QYBCABKAsy", - "IC5hdXRoemVkLmFwaS52MS5TdWJqZWN0UmVmZXJlbmNlQg76QgWKAQIQAbpI", - "A8gBAVIHc3ViamVjdBJBCgdjb250ZXh0GAUgASgLMhcuZ29vZ2xlLnByb3Rv", - "YnVmLlN0cnVjdEIO+kIFigECEAC6SAPIAQBSB2NvbnRleHQSNQoOb3B0aW9u", - "YWxfbGltaXQYBiABKA1CDvpCBCoCKAC6SAQqAigAUg1vcHRpb25hbExpbWl0", - "Ej8KD29wdGlvbmFsX2N1cnNvchgHIAEoCzIWLmF1dGh6ZWQuYXBpLnYxLkN1", - "cnNvclIOb3B0aW9uYWxDdXJzb3IikgMKF0xvb2t1cFJlc291cmNlc1Jlc3Bv", - "bnNlEjoKDGxvb2tlZF91cF9hdBgBIAEoCzIYLmF1dGh6ZWQuYXBpLnYxLlpl", - "ZFRva2VuUgpsb29rZWRVcEF0EiwKEnJlc291cmNlX29iamVjdF9pZBgCIAEo", - "CVIQcmVzb3VyY2VPYmplY3RJZBJiCg5wZXJtaXNzaW9uc2hpcBgDIAEoDjIk", - "LmF1dGh6ZWQuYXBpLnYxLkxvb2t1cFBlcm1pc3Npb25zaGlwQhT6QgeCAQQQ", - "ASAAukgHggEEEAEgAFIOcGVybWlzc2lvbnNoaXASYQoTcGFydGlhbF9jYXZl", - "YXRfaW5mbxgEIAEoCzIhLmF1dGh6ZWQuYXBpLnYxLlBhcnRpYWxDYXZlYXRJ", - "bmZvQg76QgWKAQIQALpIA8gBAFIRcGFydGlhbENhdmVhdEluZm8SRgoTYWZ0", - "ZXJfcmVzdWx0X2N1cnNvchgFIAEoCzIWLmF1dGh6ZWQuYXBpLnYxLkN1cnNv", - "clIRYWZ0ZXJSZXN1bHRDdXJzb3IinAgKFUxvb2t1cFN1YmplY3RzUmVxdWVz", - "dBI9Cgtjb25zaXN0ZW5jeRgBIAEoCzIbLmF1dGh6ZWQuYXBpLnYxLkNvbnNp", - "c3RlbmN5Ugtjb25zaXN0ZW5jeRJLCghyZXNvdXJjZRgCIAEoCzIfLmF1dGh6", - "ZWQuYXBpLnYxLk9iamVjdFJlZmVyZW5jZUIO+kIFigECEAG6SAPIAQFSCHJl", - "c291cmNlEnQKCnBlcm1pc3Npb24YAyABKAlCVPpCJ3IlKEAyIV4oW2Etel1b", - "YS16MC05X117MSw2Mn1bYS16MC05XSk/JLpIJ3IlKEAyIV4oW2Etel1bYS16", - "MC05X117MSw2Mn1bYS16MC05XSk/JFIKcGVybWlzc2lvbhLBAQoTc3ViamVj", - "dF9vYmplY3RfdHlwZRgEIAEoCUKQAfpCRXJDKIABMj5eKFthLXpdW2EtejAt", - "OV9dezEsNjF9W2EtejAtOV0vKSpbYS16XVthLXowLTlfXXsxLDYyfVthLXow", - "LTldJLpIRXJDKIABMj5eKFthLXpdW2EtejAtOV9dezEsNjF9W2EtejAtOV0v", - "KSpbYS16XVthLXowLTlfXXsxLDYyfVthLXowLTldJFIRc3ViamVjdE9iamVj", - "dFR5cGUSkAEKGW9wdGlvbmFsX3N1YmplY3RfcmVsYXRpb24YBSABKAlCVPpC", - "J3IlKEAyIV4oW2Etel1bYS16MC05X117MSw2Mn1bYS16MC05XSk/JLpIJ3Il", - "KEAyIV4oW2Etel1bYS16MC05X117MSw2Mn1bYS16MC05XSk/JFIXb3B0aW9u", - "YWxTdWJqZWN0UmVsYXRpb24SQQoHY29udGV4dBgGIAEoCzIXLmdvb2dsZS5w", - "cm90b2J1Zi5TdHJ1Y3RCDvpCBYoBAhAAukgDyAEAUgdjb250ZXh0EkYKF29w", - "dGlvbmFsX2NvbmNyZXRlX2xpbWl0GAcgASgNQg76QgQqAigAukgEKgIoAFIV", - "b3B0aW9uYWxDb25jcmV0ZUxpbWl0Ej8KD29wdGlvbmFsX2N1cnNvchgIIAEo", - "CzIWLmF1dGh6ZWQuYXBpLnYxLkN1cnNvclIOb3B0aW9uYWxDdXJzb3ISXQoP", - "d2lsZGNhcmRfb3B0aW9uGAkgASgOMjQuYXV0aHplZC5hcGkudjEuTG9va3Vw", - "U3ViamVjdHNSZXF1ZXN0LldpbGRjYXJkT3B0aW9uUg53aWxkY2FyZE9wdGlv", - "biJ/Cg5XaWxkY2FyZE9wdGlvbhIfChtXSUxEQ0FSRF9PUFRJT05fVU5TUEVD", - "SUZJRUQQABIlCiFXSUxEQ0FSRF9PUFRJT05fSU5DTFVERV9XSUxEQ0FSRFMQ", - "ARIlCiFXSUxEQ0FSRF9PUFRJT05fRVhDTFVERV9XSUxEQ0FSRFMQAiLWBAoW", - "TG9va3VwU3ViamVjdHNSZXNwb25zZRI6Cgxsb29rZWRfdXBfYXQYASABKAsy", - "GC5hdXRoemVkLmFwaS52MS5aZWRUb2tlblIKbG9va2VkVXBBdBIuChFzdWJq", - "ZWN0X29iamVjdF9pZBgCIAEoCUICGAFSD3N1YmplY3RPYmplY3RJZBI0ChRl", - "eGNsdWRlZF9zdWJqZWN0X2lkcxgDIAMoCUICGAFSEmV4Y2x1ZGVkU3ViamVj", - "dElkcxJkCg5wZXJtaXNzaW9uc2hpcBgEIAEoDjIkLmF1dGh6ZWQuYXBpLnYx", - "Lkxvb2t1cFBlcm1pc3Npb25zaGlwQhYYAfpCB4IBBBABIAC6SAeCAQQQASAA", - "Ug5wZXJtaXNzaW9uc2hpcBJjChNwYXJ0aWFsX2NhdmVhdF9pbmZvGAUgASgL", - "MiEuYXV0aHplZC5hcGkudjEuUGFydGlhbENhdmVhdEluZm9CEBgB+kIFigEC", - "EAC6SAPIAQBSEXBhcnRpYWxDYXZlYXRJbmZvEjkKB3N1YmplY3QYBiABKAsy", - "Hy5hdXRoemVkLmFwaS52MS5SZXNvbHZlZFN1YmplY3RSB3N1YmplY3QSTAoR", - "ZXhjbHVkZWRfc3ViamVjdHMYByADKAsyHy5hdXRoemVkLmFwaS52MS5SZXNv", - "bHZlZFN1YmplY3RSEGV4Y2x1ZGVkU3ViamVjdHMSRgoTYWZ0ZXJfcmVzdWx0", - "X2N1cnNvchgIIAEoCzIWLmF1dGh6ZWQuYXBpLnYxLkN1cnNvclIRYWZ0ZXJS", - "ZXN1bHRDdXJzb3IihAIKD1Jlc29sdmVkU3ViamVjdBIqChFzdWJqZWN0X29i", - "amVjdF9pZBgBIAEoCVIPc3ViamVjdE9iamVjdElkEmIKDnBlcm1pc3Npb25z", - "aGlwGAIgASgOMiQuYXV0aHplZC5hcGkudjEuTG9va3VwUGVybWlzc2lvbnNo", - "aXBCFPpCB4IBBBABIAC6SAeCAQQQASAAUg5wZXJtaXNzaW9uc2hpcBJhChNw", - "YXJ0aWFsX2NhdmVhdF9pbmZvGAMgASgLMiEuYXV0aHplZC5hcGkudjEuUGFy", - "dGlhbENhdmVhdEluZm9CDvpCBYoBAhAAukgDyAEAUhFwYXJ0aWFsQ2F2ZWF0", - "SW5mbyJ+Ch5JbXBvcnRCdWxrUmVsYXRpb25zaGlwc1JlcXVlc3QSXAoNcmVs", - "YXRpb25zaGlwcxgBIAMoCzIcLmF1dGh6ZWQuYXBpLnYxLlJlbGF0aW9uc2hp", - "cEIY+kIKkgEHIgWKAQIQAbpICJIBBSIDyAEBUg1yZWxhdGlvbnNoaXBzIkAK", - "H0ltcG9ydEJ1bGtSZWxhdGlvbnNoaXBzUmVzcG9uc2USHQoKbnVtX2xvYWRl", - "ZBgBIAEoBFIJbnVtTG9hZGVkIr0CCh5FeHBvcnRCdWxrUmVsYXRpb25zaGlw", - "c1JlcXVlc3QSPQoLY29uc2lzdGVuY3kYASABKAsyGy5hdXRoemVkLmFwaS52", - "MS5Db25zaXN0ZW5jeVILY29uc2lzdGVuY3kSNQoOb3B0aW9uYWxfbGltaXQY", - "AiABKA1CDvpCBCoCKAC6SAQqAigAUg1vcHRpb25hbExpbWl0Ej8KD29wdGlv", - "bmFsX2N1cnNvchgDIAEoCzIWLmF1dGh6ZWQuYXBpLnYxLkN1cnNvclIOb3B0", - "aW9uYWxDdXJzb3ISZAocb3B0aW9uYWxfcmVsYXRpb25zaGlwX2ZpbHRlchgE", - "IAEoCzIiLmF1dGh6ZWQuYXBpLnYxLlJlbGF0aW9uc2hpcEZpbHRlclIab3B0", - "aW9uYWxSZWxhdGlvbnNoaXBGaWx0ZXIirQEKH0V4cG9ydEJ1bGtSZWxhdGlv", - "bnNoaXBzUmVzcG9uc2USRgoTYWZ0ZXJfcmVzdWx0X2N1cnNvchgBIAEoCzIW", - "LmF1dGh6ZWQuYXBpLnYxLkN1cnNvclIRYWZ0ZXJSZXN1bHRDdXJzb3ISQgoN", - "cmVsYXRpb25zaGlwcxgCIAMoCzIcLmF1dGh6ZWQuYXBpLnYxLlJlbGF0aW9u", - "c2hpcFINcmVsYXRpb25zaGlwcyqZAQoUTG9va3VwUGVybWlzc2lvbnNoaXAS", - "JQohTE9PS1VQX1BFUk1JU1NJT05TSElQX1VOU1BFQ0lGSUVEEAASKAokTE9P", - "S1VQX1BFUk1JU1NJT05TSElQX0hBU19QRVJNSVNTSU9OEAESMAosTE9PS1VQ", - "X1BFUk1JU1NJT05TSElQX0NPTkRJVElPTkFMX1BFUk1JU1NJT04QAjKKDQoS", - "UGVybWlzc2lvbnNTZXJ2aWNlEp0BChFSZWFkUmVsYXRpb25zaGlwcxIoLmF1", - "dGh6ZWQuYXBpLnYxLlJlYWRSZWxhdGlvbnNoaXBzUmVxdWVzdBopLmF1dGh6", - "ZWQuYXBpLnYxLlJlYWRSZWxhdGlvbnNoaXBzUmVzcG9uc2UiMZJBDQoLUGVy", - "bWlzc2lvbnOC0+STAhsiFi92MS9yZWxhdGlvbnNoaXBzL3JlYWQ6ASowARKf", - "AQoSV3JpdGVSZWxhdGlvbnNoaXBzEikuYXV0aHplZC5hcGkudjEuV3JpdGVS", - "ZWxhdGlvbnNoaXBzUmVxdWVzdBoqLmF1dGh6ZWQuYXBpLnYxLldyaXRlUmVs", - "YXRpb25zaGlwc1Jlc3BvbnNlIjKSQQ0KC1Blcm1pc3Npb25zgtPkkwIcIhcv", - "djEvcmVsYXRpb25zaGlwcy93cml0ZToBKhKjAQoTRGVsZXRlUmVsYXRpb25z", - "aGlwcxIqLmF1dGh6ZWQuYXBpLnYxLkRlbGV0ZVJlbGF0aW9uc2hpcHNSZXF1", - "ZXN0GisuYXV0aHplZC5hcGkudjEuRGVsZXRlUmVsYXRpb25zaGlwc1Jlc3Bv", - "bnNlIjOSQQ0KC1Blcm1pc3Npb25zgtPkkwIdIhgvdjEvcmVsYXRpb25zaGlw", - "cy9kZWxldGU6ASoSlAEKD0NoZWNrUGVybWlzc2lvbhImLmF1dGh6ZWQuYXBp", - "LnYxLkNoZWNrUGVybWlzc2lvblJlcXVlc3QaJy5hdXRoemVkLmFwaS52MS5D", - "aGVja1Blcm1pc3Npb25SZXNwb25zZSIwkkENCgtQZXJtaXNzaW9uc4LT5JMC", - "GiIVL3YxL3Blcm1pc3Npb25zL2NoZWNrOgEqEqcBChRDaGVja0J1bGtQZXJt", - "aXNzaW9ucxIrLmF1dGh6ZWQuYXBpLnYxLkNoZWNrQnVsa1Blcm1pc3Npb25z", - "UmVxdWVzdBosLmF1dGh6ZWQuYXBpLnYxLkNoZWNrQnVsa1Blcm1pc3Npb25z", - "UmVzcG9uc2UiNJJBDQoLUGVybWlzc2lvbnOC0+STAh4iGS92MS9wZXJtaXNz", - "aW9ucy9jaGVja2J1bGs6ASoSpAEKFEV4cGFuZFBlcm1pc3Npb25UcmVlEisu", - "YXV0aHplZC5hcGkudjEuRXhwYW5kUGVybWlzc2lvblRyZWVSZXF1ZXN0Giwu", - "YXV0aHplZC5hcGkudjEuRXhwYW5kUGVybWlzc2lvblRyZWVSZXNwb25zZSIx", - "kkENCgtQZXJtaXNzaW9uc4LT5JMCGyIWL3YxL3Blcm1pc3Npb25zL2V4cGFu", - "ZDoBKhKaAQoPTG9va3VwUmVzb3VyY2VzEiYuYXV0aHplZC5hcGkudjEuTG9v", - "a3VwUmVzb3VyY2VzUmVxdWVzdBonLmF1dGh6ZWQuYXBpLnYxLkxvb2t1cFJl", - "c291cmNlc1Jlc3BvbnNlIjSSQQ0KC1Blcm1pc3Npb25zgtPkkwIeIhkvdjEv", - "cGVybWlzc2lvbnMvcmVzb3VyY2VzOgEqMAESlgEKDkxvb2t1cFN1YmplY3Rz", - "EiUuYXV0aHplZC5hcGkudjEuTG9va3VwU3ViamVjdHNSZXF1ZXN0GiYuYXV0", - "aHplZC5hcGkudjEuTG9va3VwU3ViamVjdHNSZXNwb25zZSIzkkENCgtQZXJt", - "aXNzaW9uc4LT5JMCHSIYL3YxL3Blcm1pc3Npb25zL3N1YmplY3RzOgEqMAES", - "tQEKF0ltcG9ydEJ1bGtSZWxhdGlvbnNoaXBzEi4uYXV0aHplZC5hcGkudjEu", - "SW1wb3J0QnVsa1JlbGF0aW9uc2hpcHNSZXF1ZXN0Gi8uYXV0aHplZC5hcGku", - "djEuSW1wb3J0QnVsa1JlbGF0aW9uc2hpcHNSZXNwb25zZSI3kkENCgtQZXJt", - "aXNzaW9uc4LT5JMCISIcL3YxL3JlbGF0aW9uc2hpcHMvaW1wb3J0YnVsazoB", - "KigBErUBChdFeHBvcnRCdWxrUmVsYXRpb25zaGlwcxIuLmF1dGh6ZWQuYXBp", - "LnYxLkV4cG9ydEJ1bGtSZWxhdGlvbnNoaXBzUmVxdWVzdBovLmF1dGh6ZWQu", - "YXBpLnYxLkV4cG9ydEJ1bGtSZWxhdGlvbnNoaXBzUmVzcG9uc2UiN5JBDQoL", - "UGVybWlzc2lvbnOC0+STAiEiHC92MS9yZWxhdGlvbnNoaXBzL2V4cG9ydGJ1", - "bGs6ASowAUJKChJjb20uYXV0aHplZC5hcGkudjFQAVoyZ2l0aHViLmNvbS9h", - "dXRoemVkL2F1dGh6ZWQtZ28vcHJvdG8vYXV0aHplZC9hcGkvdjFiBnByb3Rv", - "Mw==")); + "b24SSgoHc3ViamVjdBgEIAEoCzIgLmF1dGh6ZWQuYXBpLnYxLlN1YmplY3RS", + "ZWZlcmVuY2VCDvpCBYoBAhABukgDyAEBUgdzdWJqZWN0EkEKB2NvbnRleHQY", + "BSABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0Qg76QgWKAQIQALpIA8gB", + "AFIHY29udGV4dBIhCgx3aXRoX3RyYWNpbmcYBiABKAhSC3dpdGhUcmFjaW5n", + "Iu0EChdDaGVja1Blcm1pc3Npb25SZXNwb25zZRJHCgpjaGVja2VkX2F0GAEg", + "ASgLMhguYXV0aHplZC5hcGkudjEuWmVkVG9rZW5CDvpCBYoBAhAAukgDyAEA", + "UgljaGVja2VkQXQSdAoOcGVybWlzc2lvbnNoaXAYAiABKA4yNi5hdXRoemVk", + "LmFwaS52MS5DaGVja1Blcm1pc3Npb25SZXNwb25zZS5QZXJtaXNzaW9uc2hp", + "cEIU+kIHggEEEAEgALpIB4IBBBABIABSDnBlcm1pc3Npb25zaGlwEmEKE3Bh", + "cnRpYWxfY2F2ZWF0X2luZm8YAyABKAsyIS5hdXRoemVkLmFwaS52MS5QYXJ0", + "aWFsQ2F2ZWF0SW5mb0IO+kIFigECEAC6SAPIAQBSEXBhcnRpYWxDYXZlYXRJ", + "bmZvEkEKC2RlYnVnX3RyYWNlGAQgASgLMiAuYXV0aHplZC5hcGkudjEuRGVi", + "dWdJbmZvcm1hdGlvblIKZGVidWdUcmFjZRJKChNvcHRpb25hbF9leHBpcmVz", + "X2F0GAUgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcFIRb3B0aW9u", + "YWxFeHBpcmVzQXQioAEKDlBlcm1pc3Npb25zaGlwEh4KGlBFUk1JU1NJT05T", + "SElQX1VOU1BFQ0lGSUVEEAASIAocUEVSTUlTU0lPTlNISVBfTk9fUEVSTUlT", + "U0lPThABEiEKHVBFUk1JU1NJT05TSElQX0hBU19QRVJNSVNTSU9OEAISKQol", + "UEVSTUlTU0lPTlNISVBfQ09ORElUSU9OQUxfUEVSTUlTU0lPThADItUBChtD", + "aGVja0J1bGtQZXJtaXNzaW9uc1JlcXVlc3QSPQoLY29uc2lzdGVuY3kYASAB", + "KAsyGy5hdXRoemVkLmFwaS52MS5Db25zaXN0ZW5jeVILY29uc2lzdGVuY3kS", + "VAoFaXRlbXMYAiADKAsyLy5hdXRoemVkLmFwaS52MS5DaGVja0J1bGtQZXJt", + "aXNzaW9uc1JlcXVlc3RJdGVtQg36QgqSAQciBYoBAhABUgVpdGVtcxIhCgx3", + "aXRoX3RyYWNpbmcYAyABKAhSC3dpdGhUcmFjaW5nIvMCCh9DaGVja0J1bGtQ", + "ZXJtaXNzaW9uc1JlcXVlc3RJdGVtEksKCHJlc291cmNlGAEgASgLMh8uYXV0", + "aHplZC5hcGkudjEuT2JqZWN0UmVmZXJlbmNlQg76QgWKAQIQAbpIA8gBAVII", + "cmVzb3VyY2USdAoKcGVybWlzc2lvbhgCIAEoCUJU+kInciUoQDIhXihbYS16", + "XVthLXowLTlfXXsxLDYyfVthLXowLTldKT8kukgnciUoQDIhXihbYS16XVth", + "LXowLTlfXXsxLDYyfVthLXowLTldKT8kUgpwZXJtaXNzaW9uEkoKB3N1Ympl", + "Y3QYAyABKAsyIC5hdXRoemVkLmFwaS52MS5TdWJqZWN0UmVmZXJlbmNlQg76", + "QgWKAQIQAbpIA8gBAVIHc3ViamVjdBJBCgdjb250ZXh0GAQgASgLMhcuZ29v", + "Z2xlLnByb3RvYnVmLlN0cnVjdEIO+kIFigECEAC6SAPIAQBSB2NvbnRleHQi", + "tgEKHENoZWNrQnVsa1Blcm1pc3Npb25zUmVzcG9uc2USRwoKY2hlY2tlZF9h", + "dBgBIAEoCzIYLmF1dGh6ZWQuYXBpLnYxLlplZFRva2VuQg76QgWKAQIQALpI", + "A8gBAFIJY2hlY2tlZEF0Ek0KBXBhaXJzGAIgAygLMiguYXV0aHplZC5hcGku", + "djEuQ2hlY2tCdWxrUGVybWlzc2lvbnNQYWlyQg36QgqSAQciBYoBAhABUgVw", + "YWlycyLlAQoYQ2hlY2tCdWxrUGVybWlzc2lvbnNQYWlyEkkKB3JlcXVlc3QY", + "ASABKAsyLy5hdXRoemVkLmFwaS52MS5DaGVja0J1bGtQZXJtaXNzaW9uc1Jl", + "cXVlc3RJdGVtUgdyZXF1ZXN0EkYKBGl0ZW0YAiABKAsyMC5hdXRoemVkLmFw", + "aS52MS5DaGVja0J1bGtQZXJtaXNzaW9uc1Jlc3BvbnNlSXRlbUgAUgRpdGVt", + "EioKBWVycm9yGAMgASgLMhIuZ29vZ2xlLnJwYy5TdGF0dXNIAFIFZXJyb3JC", + "CgoIcmVzcG9uc2UivgIKIENoZWNrQnVsa1Blcm1pc3Npb25zUmVzcG9uc2VJ", + "dGVtEnQKDnBlcm1pc3Npb25zaGlwGAEgASgOMjYuYXV0aHplZC5hcGkudjEu", + "Q2hlY2tQZXJtaXNzaW9uUmVzcG9uc2UuUGVybWlzc2lvbnNoaXBCFPpCB4IB", + "BBABIAC6SAeCAQQQASAAUg5wZXJtaXNzaW9uc2hpcBJhChNwYXJ0aWFsX2Nh", + "dmVhdF9pbmZvGAIgASgLMiEuYXV0aHplZC5hcGkudjEuUGFydGlhbENhdmVh", + "dEluZm9CDvpCBYoBAhAAukgDyAEAUhFwYXJ0aWFsQ2F2ZWF0SW5mbxJBCgtk", + "ZWJ1Z190cmFjZRgDIAEoCzIgLmF1dGh6ZWQuYXBpLnYxLkRlYnVnSW5mb3Jt", + "YXRpb25SCmRlYnVnVHJhY2UinwIKG0V4cGFuZFBlcm1pc3Npb25UcmVlUmVx", + "dWVzdBI9Cgtjb25zaXN0ZW5jeRgBIAEoCzIbLmF1dGh6ZWQuYXBpLnYxLkNv", + "bnNpc3RlbmN5Ugtjb25zaXN0ZW5jeRJLCghyZXNvdXJjZRgCIAEoCzIfLmF1", + "dGh6ZWQuYXBpLnYxLk9iamVjdFJlZmVyZW5jZUIO+kIFigECEAG6SAPIAQFS", + "CHJlc291cmNlEnQKCnBlcm1pc3Npb24YAyABKAlCVPpCJ3IlKEAyIV4oW2Et", + "el1bYS16MC05X117MSw2Mn1bYS16MC05XSk/JLpIJ3IlKEAyIV4oW2Etel1b", + "YS16MC05X117MSw2Mn1bYS16MC05XSk/JFIKcGVybWlzc2lvbiKiAQocRXhw", + "YW5kUGVybWlzc2lvblRyZWVSZXNwb25zZRI5CgtleHBhbmRlZF9hdBgBIAEo", + "CzIYLmF1dGh6ZWQuYXBpLnYxLlplZFRva2VuUgpleHBhbmRlZEF0EkcKCXRy", + "ZWVfcm9vdBgCIAEoCzIqLmF1dGh6ZWQuYXBpLnYxLlBlcm1pc3Npb25SZWxh", + "dGlvbnNoaXBUcmVlUgh0cmVlUm9vdCKzBQoWTG9va3VwUmVzb3VyY2VzUmVx", + "dWVzdBI9Cgtjb25zaXN0ZW5jeRgBIAEoCzIbLmF1dGh6ZWQuYXBpLnYxLkNv", + "bnNpc3RlbmN5Ugtjb25zaXN0ZW5jeRLDAQoUcmVzb3VyY2Vfb2JqZWN0X3R5", + "cGUYAiABKAlCkAH6QkVyQyiAATI+XihbYS16XVthLXowLTlfXXsxLDYxfVth", + "LXowLTldLykqW2Etel1bYS16MC05X117MSw2Mn1bYS16MC05XSS6SEVyQyiA", + "ATI+XihbYS16XVthLXowLTlfXXsxLDYxfVthLXowLTldLykqW2Etel1bYS16", + "MC05X117MSw2Mn1bYS16MC05XSRSEnJlc291cmNlT2JqZWN0VHlwZRJuCgpw", + "ZXJtaXNzaW9uGAMgASgJQk76QiRyIihAMh5eW2Etel1bYS16MC05X117MSw2", + "Mn1bYS16MC05XSS6SCRyIihAMh5eW2Etel1bYS16MC05X117MSw2Mn1bYS16", + "MC05XSRSCnBlcm1pc3Npb24SSgoHc3ViamVjdBgEIAEoCzIgLmF1dGh6ZWQu", + "YXBpLnYxLlN1YmplY3RSZWZlcmVuY2VCDvpCBYoBAhABukgDyAEBUgdzdWJq", + "ZWN0EkEKB2NvbnRleHQYBSABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0", + "Qg76QgWKAQIQALpIA8gBAFIHY29udGV4dBI1Cg5vcHRpb25hbF9saW1pdBgG", + "IAEoDUIO+kIEKgIoALpIBCoCKABSDW9wdGlvbmFsTGltaXQSPwoPb3B0aW9u", + "YWxfY3Vyc29yGAcgASgLMhYuYXV0aHplZC5hcGkudjEuQ3Vyc29yUg5vcHRp", + "b25hbEN1cnNvchIdCgp3aXRoX2RlYnVnGAggASgIUgl3aXRoRGVidWcikgMK", + "F0xvb2t1cFJlc291cmNlc1Jlc3BvbnNlEjoKDGxvb2tlZF91cF9hdBgBIAEo", + "CzIYLmF1dGh6ZWQuYXBpLnYxLlplZFRva2VuUgpsb29rZWRVcEF0EiwKEnJl", + "c291cmNlX29iamVjdF9pZBgCIAEoCVIQcmVzb3VyY2VPYmplY3RJZBJiCg5w", + "ZXJtaXNzaW9uc2hpcBgDIAEoDjIkLmF1dGh6ZWQuYXBpLnYxLkxvb2t1cFBl", + "cm1pc3Npb25zaGlwQhT6QgeCAQQQASAAukgHggEEEAEgAFIOcGVybWlzc2lv", + "bnNoaXASYQoTcGFydGlhbF9jYXZlYXRfaW5mbxgEIAEoCzIhLmF1dGh6ZWQu", + "YXBpLnYxLlBhcnRpYWxDYXZlYXRJbmZvQg76QgWKAQIQALpIA8gBAFIRcGFy", + "dGlhbENhdmVhdEluZm8SRgoTYWZ0ZXJfcmVzdWx0X2N1cnNvchgFIAEoCzIW", + "LmF1dGh6ZWQuYXBpLnYxLkN1cnNvclIRYWZ0ZXJSZXN1bHRDdXJzb3IinAgK", + "FUxvb2t1cFN1YmplY3RzUmVxdWVzdBI9Cgtjb25zaXN0ZW5jeRgBIAEoCzIb", + "LmF1dGh6ZWQuYXBpLnYxLkNvbnNpc3RlbmN5Ugtjb25zaXN0ZW5jeRJLCghy", + "ZXNvdXJjZRgCIAEoCzIfLmF1dGh6ZWQuYXBpLnYxLk9iamVjdFJlZmVyZW5j", + "ZUIO+kIFigECEAG6SAPIAQFSCHJlc291cmNlEnQKCnBlcm1pc3Npb24YAyAB", + "KAlCVPpCJ3IlKEAyIV4oW2Etel1bYS16MC05X117MSw2Mn1bYS16MC05XSk/", + "JLpIJ3IlKEAyIV4oW2Etel1bYS16MC05X117MSw2Mn1bYS16MC05XSk/JFIK", + "cGVybWlzc2lvbhLBAQoTc3ViamVjdF9vYmplY3RfdHlwZRgEIAEoCUKQAfpC", + "RXJDKIABMj5eKFthLXpdW2EtejAtOV9dezEsNjF9W2EtejAtOV0vKSpbYS16", + "XVthLXowLTlfXXsxLDYyfVthLXowLTldJLpIRXJDKIABMj5eKFthLXpdW2Et", + "ejAtOV9dezEsNjF9W2EtejAtOV0vKSpbYS16XVthLXowLTlfXXsxLDYyfVth", + "LXowLTldJFIRc3ViamVjdE9iamVjdFR5cGUSkAEKGW9wdGlvbmFsX3N1Ympl", + "Y3RfcmVsYXRpb24YBSABKAlCVPpCJ3IlKEAyIV4oW2Etel1bYS16MC05X117", + "MSw2Mn1bYS16MC05XSk/JLpIJ3IlKEAyIV4oW2Etel1bYS16MC05X117MSw2", + "Mn1bYS16MC05XSk/JFIXb3B0aW9uYWxTdWJqZWN0UmVsYXRpb24SQQoHY29u", + "dGV4dBgGIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3RCDvpCBYoBAhAA", + "ukgDyAEAUgdjb250ZXh0EkYKF29wdGlvbmFsX2NvbmNyZXRlX2xpbWl0GAcg", + "ASgNQg76QgQqAigAukgEKgIoAFIVb3B0aW9uYWxDb25jcmV0ZUxpbWl0Ej8K", + "D29wdGlvbmFsX2N1cnNvchgIIAEoCzIWLmF1dGh6ZWQuYXBpLnYxLkN1cnNv", + "clIOb3B0aW9uYWxDdXJzb3ISXQoPd2lsZGNhcmRfb3B0aW9uGAkgASgOMjQu", + "YXV0aHplZC5hcGkudjEuTG9va3VwU3ViamVjdHNSZXF1ZXN0LldpbGRjYXJk", + "T3B0aW9uUg53aWxkY2FyZE9wdGlvbiJ/Cg5XaWxkY2FyZE9wdGlvbhIfChtX", + "SUxEQ0FSRF9PUFRJT05fVU5TUEVDSUZJRUQQABIlCiFXSUxEQ0FSRF9PUFRJ", + "T05fSU5DTFVERV9XSUxEQ0FSRFMQARIlCiFXSUxEQ0FSRF9PUFRJT05fRVhD", + "TFVERV9XSUxEQ0FSRFMQAiLWBAoWTG9va3VwU3ViamVjdHNSZXNwb25zZRI6", + "Cgxsb29rZWRfdXBfYXQYASABKAsyGC5hdXRoemVkLmFwaS52MS5aZWRUb2tl", + "blIKbG9va2VkVXBBdBIuChFzdWJqZWN0X29iamVjdF9pZBgCIAEoCUICGAFS", + "D3N1YmplY3RPYmplY3RJZBI0ChRleGNsdWRlZF9zdWJqZWN0X2lkcxgDIAMo", + "CUICGAFSEmV4Y2x1ZGVkU3ViamVjdElkcxJkCg5wZXJtaXNzaW9uc2hpcBgE", + "IAEoDjIkLmF1dGh6ZWQuYXBpLnYxLkxvb2t1cFBlcm1pc3Npb25zaGlwQhYY", + "AfpCB4IBBBABIAC6SAeCAQQQASAAUg5wZXJtaXNzaW9uc2hpcBJjChNwYXJ0", + "aWFsX2NhdmVhdF9pbmZvGAUgASgLMiEuYXV0aHplZC5hcGkudjEuUGFydGlh", + "bENhdmVhdEluZm9CEBgB+kIFigECEAC6SAPIAQBSEXBhcnRpYWxDYXZlYXRJ", + "bmZvEjkKB3N1YmplY3QYBiABKAsyHy5hdXRoemVkLmFwaS52MS5SZXNvbHZl", + "ZFN1YmplY3RSB3N1YmplY3QSTAoRZXhjbHVkZWRfc3ViamVjdHMYByADKAsy", + "Hy5hdXRoemVkLmFwaS52MS5SZXNvbHZlZFN1YmplY3RSEGV4Y2x1ZGVkU3Vi", + "amVjdHMSRgoTYWZ0ZXJfcmVzdWx0X2N1cnNvchgIIAEoCzIWLmF1dGh6ZWQu", + "YXBpLnYxLkN1cnNvclIRYWZ0ZXJSZXN1bHRDdXJzb3IihAIKD1Jlc29sdmVk", + "U3ViamVjdBIqChFzdWJqZWN0X29iamVjdF9pZBgBIAEoCVIPc3ViamVjdE9i", + "amVjdElkEmIKDnBlcm1pc3Npb25zaGlwGAIgASgOMiQuYXV0aHplZC5hcGku", + "djEuTG9va3VwUGVybWlzc2lvbnNoaXBCFPpCB4IBBBABIAC6SAeCAQQQASAA", + "Ug5wZXJtaXNzaW9uc2hpcBJhChNwYXJ0aWFsX2NhdmVhdF9pbmZvGAMgASgL", + "MiEuYXV0aHplZC5hcGkudjEuUGFydGlhbENhdmVhdEluZm9CDvpCBYoBAhAA", + "ukgDyAEAUhFwYXJ0aWFsQ2F2ZWF0SW5mbyJzCh5JbXBvcnRCdWxrUmVsYXRp", + "b25zaGlwc1JlcXVlc3QSUQoNcmVsYXRpb25zaGlwcxgBIAMoCzIcLmF1dGh6", + "ZWQuYXBpLnYxLlJlbGF0aW9uc2hpcEIN+kIKkgEHIgWKAQIQAVINcmVsYXRp", + "b25zaGlwcyJACh9JbXBvcnRCdWxrUmVsYXRpb25zaGlwc1Jlc3BvbnNlEh0K", + "Cm51bV9sb2FkZWQYASABKARSCW51bUxvYWRlZCK9AgoeRXhwb3J0QnVsa1Jl", + "bGF0aW9uc2hpcHNSZXF1ZXN0Ej0KC2NvbnNpc3RlbmN5GAEgASgLMhsuYXV0", + "aHplZC5hcGkudjEuQ29uc2lzdGVuY3lSC2NvbnNpc3RlbmN5EjUKDm9wdGlv", + "bmFsX2xpbWl0GAIgASgNQg76QgQqAigAukgEKgIoAFINb3B0aW9uYWxMaW1p", + "dBI/Cg9vcHRpb25hbF9jdXJzb3IYAyABKAsyFi5hdXRoemVkLmFwaS52MS5D", + "dXJzb3JSDm9wdGlvbmFsQ3Vyc29yEmQKHG9wdGlvbmFsX3JlbGF0aW9uc2hp", + "cF9maWx0ZXIYBCABKAsyIi5hdXRoemVkLmFwaS52MS5SZWxhdGlvbnNoaXBG", + "aWx0ZXJSGm9wdGlvbmFsUmVsYXRpb25zaGlwRmlsdGVyIq0BCh9FeHBvcnRC", + "dWxrUmVsYXRpb25zaGlwc1Jlc3BvbnNlEkYKE2FmdGVyX3Jlc3VsdF9jdXJz", + "b3IYASABKAsyFi5hdXRoemVkLmFwaS52MS5DdXJzb3JSEWFmdGVyUmVzdWx0", + "Q3Vyc29yEkIKDXJlbGF0aW9uc2hpcHMYAiADKAsyHC5hdXRoemVkLmFwaS52", + "MS5SZWxhdGlvbnNoaXBSDXJlbGF0aW9uc2hpcHMqmQEKFExvb2t1cFBlcm1p", + "c3Npb25zaGlwEiUKIUxPT0tVUF9QRVJNSVNTSU9OU0hJUF9VTlNQRUNJRklF", + "RBAAEigKJExPT0tVUF9QRVJNSVNTSU9OU0hJUF9IQVNfUEVSTUlTU0lPThAB", + "EjAKLExPT0tVUF9QRVJNSVNTSU9OU0hJUF9DT05ESVRJT05BTF9QRVJNSVNT", + "SU9OEAIyig0KElBlcm1pc3Npb25zU2VydmljZRKdAQoRUmVhZFJlbGF0aW9u", + "c2hpcHMSKC5hdXRoemVkLmFwaS52MS5SZWFkUmVsYXRpb25zaGlwc1JlcXVl", + "c3QaKS5hdXRoemVkLmFwaS52MS5SZWFkUmVsYXRpb25zaGlwc1Jlc3BvbnNl", + "IjGSQQ0KC1Blcm1pc3Npb25zgtPkkwIbIhYvdjEvcmVsYXRpb25zaGlwcy9y", + "ZWFkOgEqMAESnwEKEldyaXRlUmVsYXRpb25zaGlwcxIpLmF1dGh6ZWQuYXBp", + "LnYxLldyaXRlUmVsYXRpb25zaGlwc1JlcXVlc3QaKi5hdXRoemVkLmFwaS52", + "MS5Xcml0ZVJlbGF0aW9uc2hpcHNSZXNwb25zZSIykkENCgtQZXJtaXNzaW9u", + "c4LT5JMCHCIXL3YxL3JlbGF0aW9uc2hpcHMvd3JpdGU6ASoSowEKE0RlbGV0", + "ZVJlbGF0aW9uc2hpcHMSKi5hdXRoemVkLmFwaS52MS5EZWxldGVSZWxhdGlv", + "bnNoaXBzUmVxdWVzdBorLmF1dGh6ZWQuYXBpLnYxLkRlbGV0ZVJlbGF0aW9u", + "c2hpcHNSZXNwb25zZSIzkkENCgtQZXJtaXNzaW9uc4LT5JMCHSIYL3YxL3Jl", + "bGF0aW9uc2hpcHMvZGVsZXRlOgEqEpQBCg9DaGVja1Blcm1pc3Npb24SJi5h", + "dXRoemVkLmFwaS52MS5DaGVja1Blcm1pc3Npb25SZXF1ZXN0GicuYXV0aHpl", + "ZC5hcGkudjEuQ2hlY2tQZXJtaXNzaW9uUmVzcG9uc2UiMJJBDQoLUGVybWlz", + "c2lvbnOC0+STAhoiFS92MS9wZXJtaXNzaW9ucy9jaGVjazoBKhKnAQoUQ2hl", + "Y2tCdWxrUGVybWlzc2lvbnMSKy5hdXRoemVkLmFwaS52MS5DaGVja0J1bGtQ", + "ZXJtaXNzaW9uc1JlcXVlc3QaLC5hdXRoemVkLmFwaS52MS5DaGVja0J1bGtQ", + "ZXJtaXNzaW9uc1Jlc3BvbnNlIjSSQQ0KC1Blcm1pc3Npb25zgtPkkwIeIhkv", + "djEvcGVybWlzc2lvbnMvY2hlY2tidWxrOgEqEqQBChRFeHBhbmRQZXJtaXNz", + "aW9uVHJlZRIrLmF1dGh6ZWQuYXBpLnYxLkV4cGFuZFBlcm1pc3Npb25UcmVl", + "UmVxdWVzdBosLmF1dGh6ZWQuYXBpLnYxLkV4cGFuZFBlcm1pc3Npb25UcmVl", + "UmVzcG9uc2UiMZJBDQoLUGVybWlzc2lvbnOC0+STAhsiFi92MS9wZXJtaXNz", + "aW9ucy9leHBhbmQ6ASoSmgEKD0xvb2t1cFJlc291cmNlcxImLmF1dGh6ZWQu", + "YXBpLnYxLkxvb2t1cFJlc291cmNlc1JlcXVlc3QaJy5hdXRoemVkLmFwaS52", + "MS5Mb29rdXBSZXNvdXJjZXNSZXNwb25zZSI0kkENCgtQZXJtaXNzaW9uc4LT", + "5JMCHiIZL3YxL3Blcm1pc3Npb25zL3Jlc291cmNlczoBKjABEpYBCg5Mb29r", + "dXBTdWJqZWN0cxIlLmF1dGh6ZWQuYXBpLnYxLkxvb2t1cFN1YmplY3RzUmVx", + "dWVzdBomLmF1dGh6ZWQuYXBpLnYxLkxvb2t1cFN1YmplY3RzUmVzcG9uc2Ui", + "M5JBDQoLUGVybWlzc2lvbnOC0+STAh0iGC92MS9wZXJtaXNzaW9ucy9zdWJq", + "ZWN0czoBKjABErUBChdJbXBvcnRCdWxrUmVsYXRpb25zaGlwcxIuLmF1dGh6", + "ZWQuYXBpLnYxLkltcG9ydEJ1bGtSZWxhdGlvbnNoaXBzUmVxdWVzdBovLmF1", + "dGh6ZWQuYXBpLnYxLkltcG9ydEJ1bGtSZWxhdGlvbnNoaXBzUmVzcG9uc2Ui", + "N5JBDQoLUGVybWlzc2lvbnOC0+STAiEiHC92MS9yZWxhdGlvbnNoaXBzL2lt", + "cG9ydGJ1bGs6ASooARK1AQoXRXhwb3J0QnVsa1JlbGF0aW9uc2hpcHMSLi5h", + "dXRoemVkLmFwaS52MS5FeHBvcnRCdWxrUmVsYXRpb25zaGlwc1JlcXVlc3Qa", + "Ly5hdXRoemVkLmFwaS52MS5FeHBvcnRCdWxrUmVsYXRpb25zaGlwc1Jlc3Bv", + "bnNlIjeSQQ0KC1Blcm1pc3Npb25zgtPkkwIhIhwvdjEvcmVsYXRpb25zaGlw", + "cy9leHBvcnRidWxrOgEqMAFCSgoSY29tLmF1dGh6ZWQuYXBpLnYxUAFaMmdp", + "dGh1Yi5jb20vYXV0aHplZC9hdXRoemVkLWdvL3Byb3RvL2F1dGh6ZWQvYXBp", + "L3YxYgZwcm90bzM=")); descriptor = pbr::FileDescriptor.FromGeneratedCode(descriptorData, new pbr::FileDescriptor[] { global::Authzed.Api.V1.CoreReflection.Descriptor, global::Authzed.Api.V1.DebugReflection.Descriptor, global::Buf.Validate.ValidateReflection.Descriptor, global::Google.Api.AnnotationsReflection.Descriptor, global::Google.Protobuf.WellKnownTypes.StructReflection.Descriptor, global::Google.Protobuf.WellKnownTypes.TimestampReflection.Descriptor, global::Google.Rpc.StatusReflection.Descriptor, global::Grpc.Gateway.ProtocGenOpenapiv2.Options.AnnotationsReflection.Descriptor, global::Validate.ValidateReflection.Descriptor, }, new pbr::GeneratedClrTypeInfo(new[] {typeof(global::Authzed.Api.V1.LookupPermissionship), }, null, new pbr::GeneratedClrTypeInfo[] { @@ -325,7 +324,7 @@ static PermissionServiceReflection() { new pbr::GeneratedClrTypeInfo(typeof(global::Authzed.Api.V1.CheckBulkPermissionsResponseItem), global::Authzed.Api.V1.CheckBulkPermissionsResponseItem.Parser, new[]{ "Permissionship", "PartialCaveatInfo", "DebugTrace" }, null, null, null, null), new pbr::GeneratedClrTypeInfo(typeof(global::Authzed.Api.V1.ExpandPermissionTreeRequest), global::Authzed.Api.V1.ExpandPermissionTreeRequest.Parser, new[]{ "Consistency", "Resource", "Permission" }, null, null, null, null), new pbr::GeneratedClrTypeInfo(typeof(global::Authzed.Api.V1.ExpandPermissionTreeResponse), global::Authzed.Api.V1.ExpandPermissionTreeResponse.Parser, new[]{ "ExpandedAt", "TreeRoot" }, null, null, null, null), - new pbr::GeneratedClrTypeInfo(typeof(global::Authzed.Api.V1.LookupResourcesRequest), global::Authzed.Api.V1.LookupResourcesRequest.Parser, new[]{ "Consistency", "ResourceObjectType", "Permission", "Subject", "Context", "OptionalLimit", "OptionalCursor" }, null, null, null, null), + new pbr::GeneratedClrTypeInfo(typeof(global::Authzed.Api.V1.LookupResourcesRequest), global::Authzed.Api.V1.LookupResourcesRequest.Parser, new[]{ "Consistency", "ResourceObjectType", "Permission", "Subject", "Context", "OptionalLimit", "OptionalCursor", "WithDebug" }, null, null, null, null), new pbr::GeneratedClrTypeInfo(typeof(global::Authzed.Api.V1.LookupResourcesResponse), global::Authzed.Api.V1.LookupResourcesResponse.Parser, new[]{ "LookedUpAt", "ResourceObjectId", "Permissionship", "PartialCaveatInfo", "AfterResultCursor" }, null, null, null, null), new pbr::GeneratedClrTypeInfo(typeof(global::Authzed.Api.V1.LookupSubjectsRequest), global::Authzed.Api.V1.LookupSubjectsRequest.Parser, new[]{ "Consistency", "Resource", "Permission", "SubjectObjectType", "OptionalSubjectRelation", "Context", "OptionalConcreteLimit", "OptionalCursor", "WildcardOption" }, null, new[]{ typeof(global::Authzed.Api.V1.LookupSubjectsRequest.Types.WildcardOption) }, null, null), new pbr::GeneratedClrTypeInfo(typeof(global::Authzed.Api.V1.LookupSubjectsResponse), global::Authzed.Api.V1.LookupSubjectsResponse.Parser, new[]{ "LookedUpAt", "SubjectObjectId", "ExcludedSubjectIds", "Permissionship", "PartialCaveatInfo", "Subject", "ExcludedSubjects", "AfterResultCursor" }, null, null, null, null), @@ -344,8 +343,22 @@ static PermissionServiceReflection() { /// LookupPermissionship represents whether a Lookup response was partially evaluated or not /// public enum LookupPermissionship { + /// + /// LOOKUP_PERMISSIONSHIP_UNSPECIFIED is the default value and should not be used or + /// relied upon. Servers should not return this value. + /// [pbr::OriginalName("LOOKUP_PERMISSIONSHIP_UNSPECIFIED")] Unspecified = 0, + /// + /// LOOKUP_PERMISSIONSHIP_HAS_PERMISSION indicates that the subject has permission + /// on the resource with no missing caveat context. + /// [pbr::OriginalName("LOOKUP_PERMISSIONSHIP_HAS_PERMISSION")] HasPermission = 1, + /// + /// LOOKUP_PERMISSIONSHIP_CONDITIONAL_PERMISSION indicates that the subject has + /// permission on the resource, but only if a caveat condition is met. The + /// `partial_caveat_info` field in the response should contain the missing context + /// fields that must be provided to fully evaluate the caveat. + /// [pbr::OriginalName("LOOKUP_PERMISSIONSHIP_CONDITIONAL_PERMISSION")] ConditionalPermission = 2, } @@ -4618,9 +4631,27 @@ public void MergeFrom(pb::CodedInputStream input) { [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public static partial class Types { public enum Permissionship { + /// + /// PERMISSIONSHIP_UNSPECIFIED is the default value and should not be used or + /// relied upon. Servers should not return this value. + /// [pbr::OriginalName("PERMISSIONSHIP_UNSPECIFIED")] Unspecified = 0, + /// + /// PERMISSIONSHIP_NO_PERMISSION indicates that the subject does not have the + /// requested permission on the resource. + /// [pbr::OriginalName("PERMISSIONSHIP_NO_PERMISSION")] NoPermission = 1, + /// + /// PERMISSIONSHIP_HAS_PERMISSION indicates that the subject has the requested + /// permission on the resource. + /// [pbr::OriginalName("PERMISSIONSHIP_HAS_PERMISSION")] HasPermission = 2, + /// + /// PERMISSIONSHIP_CONDITIONAL_PERMISSION indicates that the subject has the + /// requested permission on the resource, but only if a caveat condition is met. + /// The `partial_caveat_info` field in the response should contain the missing + /// context fields that must be provided to fully evaluate the caveat. + /// [pbr::OriginalName("PERMISSIONSHIP_CONDITIONAL_PERMISSION")] ConditionalPermission = 3, } @@ -6724,6 +6755,7 @@ public LookupResourcesRequest(LookupResourcesRequest other) : this() { context_ = other.context_ != null ? other.context_.Clone() : null; optionalLimit_ = other.optionalLimit_; optionalCursor_ = other.optionalCursor_ != null ? other.optionalCursor_.Clone() : null; + withDebug_ = other.withDebug_; _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); } @@ -6841,6 +6873,25 @@ public uint OptionalLimit { } } + /// Field number for the "with_debug" field. + public const int WithDebugFieldNumber = 8; + private bool withDebug_; + /// + /// + /// with_debug, if true, indicates that the response should return debug information + /// if present and available. For now, ONLY enables debugging of maximum recursion depth + /// errors, with additional context being returned in error details, but this may be + /// extended in the future. + /// + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool WithDebug { + get { return withDebug_; } + set { + withDebug_ = value; + } + } + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public override bool Equals(object other) { @@ -6863,6 +6914,7 @@ public bool Equals(LookupResourcesRequest other) { if (!object.Equals(Context, other.Context)) return false; if (OptionalLimit != other.OptionalLimit) return false; if (!object.Equals(OptionalCursor, other.OptionalCursor)) return false; + if (WithDebug != other.WithDebug) return false; return Equals(_unknownFields, other._unknownFields); } @@ -6877,6 +6929,7 @@ public override int GetHashCode() { if (context_ != null) hash ^= Context.GetHashCode(); if (OptionalLimit != 0) hash ^= OptionalLimit.GetHashCode(); if (optionalCursor_ != null) hash ^= OptionalCursor.GetHashCode(); + if (WithDebug != false) hash ^= WithDebug.GetHashCode(); if (_unknownFields != null) { hash ^= _unknownFields.GetHashCode(); } @@ -6923,6 +6976,10 @@ public void WriteTo(pb::CodedOutputStream output) { output.WriteRawTag(58); output.WriteMessage(OptionalCursor); } + if (WithDebug != false) { + output.WriteRawTag(64); + output.WriteBool(WithDebug); + } if (_unknownFields != null) { _unknownFields.WriteTo(output); } @@ -6961,6 +7018,10 @@ public void WriteTo(pb::CodedOutputStream output) { output.WriteRawTag(58); output.WriteMessage(OptionalCursor); } + if (WithDebug != false) { + output.WriteRawTag(64); + output.WriteBool(WithDebug); + } if (_unknownFields != null) { _unknownFields.WriteTo(ref output); } @@ -6992,6 +7053,9 @@ public int CalculateSize() { if (optionalCursor_ != null) { size += 1 + pb::CodedOutputStream.ComputeMessageSize(OptionalCursor); } + if (WithDebug != false) { + size += 1 + 1; + } if (_unknownFields != null) { size += _unknownFields.CalculateSize(); } @@ -7037,6 +7101,9 @@ public void MergeFrom(LookupResourcesRequest other) { } OptionalCursor.MergeFrom(other.OptionalCursor); } + if (other.WithDebug != false) { + WithDebug = other.WithDebug; + } _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); } @@ -7096,6 +7163,10 @@ public void MergeFrom(pb::CodedInputStream input) { input.ReadMessage(OptionalCursor); break; } + case 64: { + WithDebug = input.ReadBool(); + break; + } } } #endif @@ -7155,6 +7226,10 @@ public void MergeFrom(pb::CodedInputStream input) { input.ReadMessage(OptionalCursor); break; } + case 64: { + WithDebug = input.ReadBool(); + break; + } } } } @@ -7724,9 +7799,8 @@ public uint OptionalConcreteLimit { public const int OptionalCursorFieldNumber = 8; private global::Authzed.Api.V1.Cursor optionalCursor_; /// - /// optional_cursor is currently unimplemented for LookupSubjects - /// and will be ignored as of SpiceDB version 1.40.1. This will - /// be implemented in a future version of SpiceDB. + /// optional_cursor is not currently supported for LookupSubjects and this + /// field will be ignored. Cursoring support will be added in a future version. /// [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]