From 62abc5779e5b3b821f5828b4b9ff6118d40b2282 Mon Sep 17 00:00:00 2001 From: Grzegorz Zdunek Date: Fri, 4 Oct 2024 21:35:32 +0200 Subject: [PATCH 1/8] Replace EOL Debian Buster with Bullseye in `Dockerfile-node` (#47204) * Use Debian Bullseye instead of EOL Debian Buster * Update Node.js to 20.17 --- build.assets/Dockerfile-node | 11 ++++++----- build.assets/versions.mk | 2 +- 2 files changed, 7 insertions(+), 6 deletions(-) diff --git a/build.assets/Dockerfile-node b/build.assets/Dockerfile-node index 70a32da026b04..59a3100c80e1e 100644 --- a/build.assets/Dockerfile-node +++ b/build.assets/Dockerfile-node @@ -4,17 +4,18 @@ # to build the Teleport Connect. It can also be used to build the # web assets for the Teleport UI. # -# This image is base on the node image, which is based on Debian Buster. -# Using it as a image allows us to link agains the same version of -# glibc as Node.js. +# This image is base on the node image, which is based on Debian Bullseye. +# Using it as an image allows us to link against the oldest version of glibc +# supported by Node.js Docker images. # # Check the README to learn how to safely introduce changes to Dockerfiles. ## BUILDBOX-NODE ################################################################### -# Pin the tag to Debian Buster to make sure the Glibc compatibility. +# Pin the tag to Debian Bullseye to make sure the glibc compatibility +# (glibc version of Bullseye is 2.31). ARG NODE_VERSION -FROM node:${NODE_VERSION}-buster AS buildbox +FROM node:${NODE_VERSION}-bullseye AS buildbox # BUILDARCH is automatically set by DOCKER when building the image with Build Kit (MacOS by deafult). # https://docs.docker.com/engine/reference/builder/#automatic-platform-args-in-the-global-scope diff --git a/build.assets/versions.mk b/build.assets/versions.mk index 28442a7c39369..90fc074ebfff9 100644 --- a/build.assets/versions.mk +++ b/build.assets/versions.mk @@ -6,7 +6,7 @@ GOLANG_VERSION ?= go1.23.2 GOLANGCI_LINT_VERSION ?= v1.61.0 -NODE_VERSION ?= 20.14.0 +NODE_VERSION ?= 20.17.0 # Run lint-rust check locally before merging code after you bump this. RUST_VERSION ?= 1.81.0 From e77bf353735701c1de47109fa366cd9cadc42b0d Mon Sep 17 00:00:00 2001 From: Hugo Shaka Date: Fri, 4 Oct 2024 16:08:19 -0400 Subject: [PATCH 2/8] Add AutoUpdateAgentPlan proto messages (#47162) * Add AutoUpdateAgentPlan proto messages * Exclude autoupdateplan from automated coverage tests --- api/client/proto/event.pb.go | 686 +-- .../autoupdate/v1/autoupdate_agent_plan.pb.go | 889 ++++ .../autoupdate/v1/autoupdate_service.pb.go | 697 ++- .../v1/autoupdate_service_grpc.pb.go | 220 +- .../autoupdate/v1/autoupdate_agent_plan.proto | 136 + .../autoupdate/v1/autoupdate_service.proto | 37 + .../teleport/legacy/client/proto/event.proto | 5 +- .../teleport/legacy/types/events/events.proto | 96 + api/types/events/events.pb.go | 4457 +++++++++++------ .../autoupdate/autoupdatev1/service_test.go | 12 + 10 files changed, 5108 insertions(+), 2127 deletions(-) create mode 100644 api/gen/proto/go/teleport/autoupdate/v1/autoupdate_agent_plan.pb.go create mode 100644 api/proto/teleport/autoupdate/v1/autoupdate_agent_plan.proto diff --git a/api/client/proto/event.pb.go b/api/client/proto/event.pb.go index ac0b66a96b35c..38f3c237c21c4 100644 --- a/api/client/proto/event.pb.go +++ b/api/client/proto/event.pb.go @@ -178,6 +178,7 @@ type Event struct { // *Event_AutoUpdateVersion // *Event_StaticHostUserV2 // *Event_UserTask + // *Event_AutoUpdateAgentPlan Resource isEvent_Resource `protobuf_oneof:"Resource"` } @@ -668,6 +669,13 @@ func (x *Event) GetUserTask() *v112.UserTask { return nil } +func (x *Event) GetAutoUpdateAgentPlan() *v111.AutoUpdateAgentPlan { + if x, ok := x.GetResource().(*Event_AutoUpdateAgentPlan); ok { + return x.AutoUpdateAgentPlan + } + return nil +} + type isEvent_Resource interface { isEvent_Resource() } @@ -986,10 +994,15 @@ type Event_StaticHostUserV2 struct { } type Event_UserTask struct { - // UsernTask is a resource for user task. + // UserTask is a resource for user task. UserTask *v112.UserTask `protobuf:"bytes,67,opt,name=UserTask,proto3,oneof"` } +type Event_AutoUpdateAgentPlan struct { + // AutoUpdateAgentPlan is a resource for planning agent automatic updates. + AutoUpdateAgentPlan *v111.AutoUpdateAgentPlan `protobuf:"bytes,68,opt,name=AutoUpdateAgentPlan,proto3,oneof"` +} + func (*Event_ResourceHeader) isEvent_Resource() {} func (*Event_CertAuthority) isEvent_Resource() {} @@ -1116,6 +1129,8 @@ func (*Event_StaticHostUserV2) isEvent_Resource() {} func (*Event_UserTask) isEvent_Resource() {} +func (*Event_AutoUpdateAgentPlan) isEvent_Resource() {} + var File_teleport_legacy_client_proto_event_proto protoreflect.FileDescriptor var file_teleport_legacy_client_proto_event_proto_rawDesc = []byte{ @@ -1131,333 +1146,343 @@ var file_teleport_legacy_client_proto_event_proto_rawDesc = []byte{ 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x27, 0x74, 0x65, 0x6c, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x2f, 0x61, 0x75, 0x74, 0x6f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x61, 0x75, 0x74, 0x6f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, - 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x35, 0x74, 0x65, 0x6c, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x2f, 0x63, - 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x76, 0x31, 0x2f, - 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x67, 0x72, 0x61, 0x70, 0x68, 0x5f, 0x73, 0x65, 0x74, - 0x74, 0x69, 0x6e, 0x67, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x27, 0x74, 0x65, 0x6c, - 0x65, 0x70, 0x6f, 0x72, 0x74, 0x2f, 0x63, 0x72, 0x6f, 0x77, 0x6e, 0x6a, 0x65, 0x77, 0x65, 0x6c, - 0x2f, 0x76, 0x31, 0x2f, 0x63, 0x72, 0x6f, 0x77, 0x6e, 0x6a, 0x65, 0x77, 0x65, 0x6c, 0x2e, 0x70, - 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x23, 0x74, 0x65, 0x6c, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x2f, 0x64, - 0x62, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x64, 0x62, 0x6f, 0x62, 0x6a, - 0x65, 0x63, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x31, 0x74, 0x65, 0x6c, 0x65, 0x70, - 0x6f, 0x72, 0x74, 0x2f, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x63, 0x6f, 0x6e, - 0x66, 0x69, 0x67, 0x2f, 0x76, 0x31, 0x2f, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, - 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x3b, 0x74, 0x65, - 0x6c, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x2f, 0x6b, 0x75, 0x62, 0x65, 0x77, 0x61, 0x69, 0x74, 0x69, - 0x6e, 0x67, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x2f, 0x76, 0x31, 0x2f, 0x6b, - 0x75, 0x62, 0x65, 0x77, 0x61, 0x69, 0x74, 0x69, 0x6e, 0x67, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, - 0x6e, 0x65, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x21, 0x74, 0x65, 0x6c, 0x65, 0x70, - 0x6f, 0x72, 0x74, 0x2f, 0x6c, 0x65, 0x67, 0x61, 0x63, 0x79, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x73, - 0x2f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x28, 0x74, 0x65, - 0x6c, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x2f, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x69, 0x64, - 0x2f, 0x76, 0x31, 0x2f, 0x62, 0x6f, 0x74, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, - 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x26, 0x74, 0x65, 0x6c, 0x65, 0x70, 0x6f, 0x72, 0x74, - 0x2f, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x69, 0x64, 0x2f, 0x76, 0x31, 0x2f, 0x66, 0x65, - 0x64, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x2d, - 0x74, 0x65, 0x6c, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x2f, 0x6e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x76, 0x31, 0x2f, 0x6e, 0x6f, 0x74, 0x69, 0x66, 0x69, - 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x27, 0x74, - 0x65, 0x6c, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x2f, 0x73, 0x65, 0x63, 0x72, 0x65, 0x70, 0x6f, 0x72, - 0x74, 0x73, 0x2f, 0x76, 0x31, 0x2f, 0x73, 0x65, 0x63, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, - 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x2f, 0x74, 0x65, 0x6c, 0x65, 0x70, 0x6f, 0x72, 0x74, - 0x2f, 0x75, 0x73, 0x65, 0x72, 0x6c, 0x6f, 0x67, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x74, 0x65, 0x2f, - 0x76, 0x31, 0x2f, 0x75, 0x73, 0x65, 0x72, 0x6c, 0x6f, 0x67, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x74, - 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x31, 0x74, 0x65, 0x6c, 0x65, 0x70, 0x6f, 0x72, - 0x74, 0x2f, 0x75, 0x73, 0x65, 0x72, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x69, - 0x6e, 0x67, 0x2f, 0x76, 0x32, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x69, 0x63, 0x68, 0x6f, 0x73, 0x74, - 0x75, 0x73, 0x65, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x26, 0x74, 0x65, 0x6c, 0x65, - 0x70, 0x6f, 0x72, 0x74, 0x2f, 0x75, 0x73, 0x65, 0x72, 0x74, 0x61, 0x73, 0x6b, 0x73, 0x2f, 0x76, - 0x31, 0x2f, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x74, 0x61, 0x73, 0x6b, 0x73, 0x2e, 0x70, 0x72, 0x6f, - 0x74, 0x6f, 0x22, 0xad, 0x23, 0x0a, 0x05, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x12, 0x24, 0x0a, 0x04, - 0x54, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x10, 0x2e, 0x70, 0x72, 0x6f, - 0x74, 0x6f, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x04, 0x54, 0x79, - 0x70, 0x65, 0x12, 0x3f, 0x0a, 0x0e, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x48, 0x65, - 0x61, 0x64, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x74, 0x79, 0x70, - 0x65, 0x73, 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x48, 0x65, 0x61, 0x64, 0x65, - 0x72, 0x48, 0x00, 0x52, 0x0e, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x48, 0x65, 0x61, - 0x64, 0x65, 0x72, 0x12, 0x3e, 0x0a, 0x0d, 0x43, 0x65, 0x72, 0x74, 0x41, 0x75, 0x74, 0x68, 0x6f, - 0x72, 0x69, 0x74, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x74, 0x79, 0x70, - 0x65, 0x73, 0x2e, 0x43, 0x65, 0x72, 0x74, 0x41, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, - 0x56, 0x32, 0x48, 0x00, 0x52, 0x0d, 0x43, 0x65, 0x72, 0x74, 0x41, 0x75, 0x74, 0x68, 0x6f, 0x72, - 0x69, 0x74, 0x79, 0x12, 0x3b, 0x0a, 0x0c, 0x53, 0x74, 0x61, 0x74, 0x69, 0x63, 0x54, 0x6f, 0x6b, - 0x65, 0x6e, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x74, 0x79, 0x70, 0x65, - 0x73, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x69, 0x63, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x56, 0x32, - 0x48, 0x00, 0x52, 0x0c, 0x53, 0x74, 0x61, 0x74, 0x69, 0x63, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x73, - 0x12, 0x41, 0x0a, 0x0e, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x54, 0x6f, 0x6b, - 0x65, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, - 0x2e, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x56, - 0x32, 0x48, 0x00, 0x52, 0x0e, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x54, 0x6f, - 0x6b, 0x65, 0x6e, 0x12, 0x38, 0x0a, 0x0b, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x4e, 0x61, - 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, - 0x2e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x56, 0x32, 0x48, 0x00, - 0x52, 0x0b, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x23, 0x0a, - 0x04, 0x55, 0x73, 0x65, 0x72, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x74, 0x79, - 0x70, 0x65, 0x73, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x56, 0x32, 0x48, 0x00, 0x52, 0x04, 0x55, 0x73, - 0x65, 0x72, 0x12, 0x23, 0x0a, 0x04, 0x52, 0x6f, 0x6c, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x0d, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x52, 0x6f, 0x6c, 0x65, 0x56, 0x36, 0x48, - 0x00, 0x52, 0x04, 0x52, 0x6f, 0x6c, 0x65, 0x12, 0x30, 0x0a, 0x09, 0x4e, 0x61, 0x6d, 0x65, 0x73, - 0x70, 0x61, 0x63, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x74, 0x79, 0x70, - 0x65, 0x73, 0x2e, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x48, 0x00, 0x52, 0x09, - 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x29, 0x0a, 0x06, 0x53, 0x65, 0x72, - 0x76, 0x65, 0x72, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x74, 0x79, 0x70, 0x65, - 0x73, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x56, 0x32, 0x48, 0x00, 0x52, 0x06, 0x53, 0x65, - 0x72, 0x76, 0x65, 0x72, 0x12, 0x3e, 0x0a, 0x0d, 0x52, 0x65, 0x76, 0x65, 0x72, 0x73, 0x65, 0x54, - 0x75, 0x6e, 0x6e, 0x65, 0x6c, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x74, 0x79, - 0x70, 0x65, 0x73, 0x2e, 0x52, 0x65, 0x76, 0x65, 0x72, 0x73, 0x65, 0x54, 0x75, 0x6e, 0x6e, 0x65, - 0x6c, 0x56, 0x32, 0x48, 0x00, 0x52, 0x0d, 0x52, 0x65, 0x76, 0x65, 0x72, 0x73, 0x65, 0x54, 0x75, - 0x6e, 0x6e, 0x65, 0x6c, 0x12, 0x47, 0x0a, 0x10, 0x54, 0x75, 0x6e, 0x6e, 0x65, 0x6c, 0x43, 0x6f, - 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, - 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x54, 0x75, 0x6e, 0x6e, 0x65, 0x6c, 0x43, 0x6f, 0x6e, - 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x56, 0x32, 0x48, 0x00, 0x52, 0x10, 0x54, 0x75, 0x6e, - 0x6e, 0x65, 0x6c, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x3e, 0x0a, - 0x0d, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x18, 0x0e, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x41, 0x63, 0x63, - 0x65, 0x73, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x56, 0x33, 0x48, 0x00, 0x52, 0x0d, - 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x35, 0x0a, - 0x0a, 0x41, 0x70, 0x70, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x0f, 0x20, 0x01, 0x28, + 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x32, 0x74, 0x65, 0x6c, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x2f, 0x61, + 0x75, 0x74, 0x6f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x61, 0x75, 0x74, + 0x6f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x5f, 0x70, 0x6c, + 0x61, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x35, 0x74, 0x65, 0x6c, 0x65, 0x70, 0x6f, + 0x72, 0x74, 0x2f, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, + 0x2f, 0x76, 0x31, 0x2f, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x67, 0x72, 0x61, 0x70, 0x68, + 0x5f, 0x73, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, + 0x27, 0x74, 0x65, 0x6c, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x2f, 0x63, 0x72, 0x6f, 0x77, 0x6e, 0x6a, + 0x65, 0x77, 0x65, 0x6c, 0x2f, 0x76, 0x31, 0x2f, 0x63, 0x72, 0x6f, 0x77, 0x6e, 0x6a, 0x65, 0x77, + 0x65, 0x6c, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x23, 0x74, 0x65, 0x6c, 0x65, 0x70, 0x6f, + 0x72, 0x74, 0x2f, 0x64, 0x62, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x64, + 0x62, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x31, 0x74, + 0x65, 0x6c, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x2f, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, + 0x79, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x76, 0x31, 0x2f, 0x64, 0x69, 0x73, 0x63, 0x6f, + 0x76, 0x65, 0x72, 0x79, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x1a, 0x3b, 0x74, 0x65, 0x6c, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x2f, 0x6b, 0x75, 0x62, 0x65, 0x77, + 0x61, 0x69, 0x74, 0x69, 0x6e, 0x67, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x2f, + 0x76, 0x31, 0x2f, 0x6b, 0x75, 0x62, 0x65, 0x77, 0x61, 0x69, 0x74, 0x69, 0x6e, 0x67, 0x63, 0x6f, + 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x21, 0x74, + 0x65, 0x6c, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x2f, 0x6c, 0x65, 0x67, 0x61, 0x63, 0x79, 0x2f, 0x74, + 0x79, 0x70, 0x65, 0x73, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x1a, 0x28, 0x74, 0x65, 0x6c, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x2f, 0x6d, 0x61, 0x63, 0x68, 0x69, + 0x6e, 0x65, 0x69, 0x64, 0x2f, 0x76, 0x31, 0x2f, 0x62, 0x6f, 0x74, 0x5f, 0x69, 0x6e, 0x73, 0x74, + 0x61, 0x6e, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x26, 0x74, 0x65, 0x6c, 0x65, + 0x70, 0x6f, 0x72, 0x74, 0x2f, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x69, 0x64, 0x2f, 0x76, + 0x31, 0x2f, 0x66, 0x65, 0x64, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x1a, 0x2d, 0x74, 0x65, 0x6c, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x2f, 0x6e, 0x6f, 0x74, + 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x76, 0x31, 0x2f, 0x6e, 0x6f, + 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x1a, 0x27, 0x74, 0x65, 0x6c, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x2f, 0x73, 0x65, 0x63, 0x72, + 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x2f, 0x76, 0x31, 0x2f, 0x73, 0x65, 0x63, 0x72, 0x65, 0x70, + 0x6f, 0x72, 0x74, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x2f, 0x74, 0x65, 0x6c, 0x65, + 0x70, 0x6f, 0x72, 0x74, 0x2f, 0x75, 0x73, 0x65, 0x72, 0x6c, 0x6f, 0x67, 0x69, 0x6e, 0x73, 0x74, + 0x61, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x75, 0x73, 0x65, 0x72, 0x6c, 0x6f, 0x67, 0x69, 0x6e, + 0x73, 0x74, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x31, 0x74, 0x65, 0x6c, + 0x65, 0x70, 0x6f, 0x72, 0x74, 0x2f, 0x75, 0x73, 0x65, 0x72, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x73, + 0x69, 0x6f, 0x6e, 0x69, 0x6e, 0x67, 0x2f, 0x76, 0x32, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x69, 0x63, + 0x68, 0x6f, 0x73, 0x74, 0x75, 0x73, 0x65, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x26, + 0x74, 0x65, 0x6c, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x2f, 0x75, 0x73, 0x65, 0x72, 0x74, 0x61, 0x73, + 0x6b, 0x73, 0x2f, 0x76, 0x31, 0x2f, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x74, 0x61, 0x73, 0x6b, 0x73, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x8e, 0x24, 0x0a, 0x05, 0x45, 0x76, 0x65, 0x6e, 0x74, + 0x12, 0x24, 0x0a, 0x04, 0x54, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x10, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x52, 0x04, 0x54, 0x79, 0x70, 0x65, 0x12, 0x3f, 0x0a, 0x0e, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, + 0x63, 0x65, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, + 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x48, + 0x65, 0x61, 0x64, 0x65, 0x72, 0x48, 0x00, 0x52, 0x0e, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, + 0x65, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x12, 0x3e, 0x0a, 0x0d, 0x43, 0x65, 0x72, 0x74, 0x41, + 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, + 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x43, 0x65, 0x72, 0x74, 0x41, 0x75, 0x74, 0x68, 0x6f, + 0x72, 0x69, 0x74, 0x79, 0x56, 0x32, 0x48, 0x00, 0x52, 0x0d, 0x43, 0x65, 0x72, 0x74, 0x41, 0x75, + 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x12, 0x3b, 0x0a, 0x0c, 0x53, 0x74, 0x61, 0x74, 0x69, + 0x63, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, + 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x69, 0x63, 0x54, 0x6f, 0x6b, 0x65, + 0x6e, 0x73, 0x56, 0x32, 0x48, 0x00, 0x52, 0x0c, 0x53, 0x74, 0x61, 0x74, 0x69, 0x63, 0x54, 0x6f, + 0x6b, 0x65, 0x6e, 0x73, 0x12, 0x41, 0x0a, 0x0e, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x73, 0x69, 0x6f, + 0x6e, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x74, + 0x79, 0x70, 0x65, 0x73, 0x2e, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x54, 0x6f, + 0x6b, 0x65, 0x6e, 0x56, 0x32, 0x48, 0x00, 0x52, 0x0e, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x73, 0x69, + 0x6f, 0x6e, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x38, 0x0a, 0x0b, 0x43, 0x6c, 0x75, 0x73, 0x74, + 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x74, + 0x79, 0x70, 0x65, 0x73, 0x2e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, + 0x56, 0x32, 0x48, 0x00, 0x52, 0x0b, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x4e, 0x61, 0x6d, + 0x65, 0x12, 0x23, 0x0a, 0x04, 0x55, 0x73, 0x65, 0x72, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x0d, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x56, 0x32, 0x48, 0x00, + 0x52, 0x04, 0x55, 0x73, 0x65, 0x72, 0x12, 0x23, 0x0a, 0x04, 0x52, 0x6f, 0x6c, 0x65, 0x18, 0x09, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x52, 0x6f, 0x6c, + 0x65, 0x56, 0x36, 0x48, 0x00, 0x52, 0x04, 0x52, 0x6f, 0x6c, 0x65, 0x12, 0x30, 0x0a, 0x09, 0x4e, + 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, + 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, + 0x48, 0x00, 0x52, 0x09, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x29, 0x0a, + 0x06, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, + 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x56, 0x32, 0x48, 0x00, + 0x52, 0x06, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x12, 0x3e, 0x0a, 0x0d, 0x52, 0x65, 0x76, 0x65, + 0x72, 0x73, 0x65, 0x54, 0x75, 0x6e, 0x6e, 0x65, 0x6c, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x16, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x52, 0x65, 0x76, 0x65, 0x72, 0x73, 0x65, 0x54, + 0x75, 0x6e, 0x6e, 0x65, 0x6c, 0x56, 0x32, 0x48, 0x00, 0x52, 0x0d, 0x52, 0x65, 0x76, 0x65, 0x72, + 0x73, 0x65, 0x54, 0x75, 0x6e, 0x6e, 0x65, 0x6c, 0x12, 0x47, 0x0a, 0x10, 0x54, 0x75, 0x6e, 0x6e, + 0x65, 0x6c, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x0d, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x54, 0x75, 0x6e, 0x6e, 0x65, + 0x6c, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x56, 0x32, 0x48, 0x00, 0x52, + 0x10, 0x54, 0x75, 0x6e, 0x6e, 0x65, 0x6c, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, + 0x6e, 0x12, 0x3e, 0x0a, 0x0d, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, + 0x2e, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x56, 0x33, + 0x48, 0x00, 0x52, 0x0d, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x12, 0x35, 0x0a, 0x0a, 0x41, 0x70, 0x70, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x18, + 0x0f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x57, 0x65, + 0x62, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x56, 0x32, 0x48, 0x00, 0x52, 0x0a, 0x41, 0x70, + 0x70, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x3e, 0x0a, 0x0d, 0x52, 0x65, 0x6d, 0x6f, + 0x74, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x18, 0x10, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x16, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x43, 0x6c, + 0x75, 0x73, 0x74, 0x65, 0x72, 0x56, 0x33, 0x48, 0x00, 0x52, 0x0d, 0x52, 0x65, 0x6d, 0x6f, 0x74, + 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x12, 0x41, 0x0a, 0x0e, 0x44, 0x61, 0x74, 0x61, + 0x62, 0x61, 0x73, 0x65, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x18, 0x11, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x17, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, + 0x65, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x56, 0x33, 0x48, 0x00, 0x52, 0x0e, 0x44, 0x61, 0x74, + 0x61, 0x62, 0x61, 0x73, 0x65, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x12, 0x35, 0x0a, 0x0a, 0x57, + 0x65, 0x62, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x12, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x13, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x57, 0x65, 0x62, 0x53, 0x65, 0x73, 0x73, 0x69, + 0x6f, 0x6e, 0x56, 0x32, 0x48, 0x00, 0x52, 0x0a, 0x57, 0x65, 0x62, 0x53, 0x65, 0x73, 0x73, 0x69, + 0x6f, 0x6e, 0x12, 0x2f, 0x0a, 0x08, 0x57, 0x65, 0x62, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x13, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x57, 0x65, 0x62, + 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x56, 0x33, 0x48, 0x00, 0x52, 0x08, 0x57, 0x65, 0x62, 0x54, 0x6f, + 0x6b, 0x65, 0x6e, 0x12, 0x5c, 0x0a, 0x17, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x4e, 0x65, + 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x14, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x43, 0x6c, 0x75, + 0x73, 0x74, 0x65, 0x72, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x69, 0x6e, 0x67, 0x43, 0x6f, + 0x6e, 0x66, 0x69, 0x67, 0x56, 0x32, 0x48, 0x00, 0x52, 0x17, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, + 0x72, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6e, 0x66, 0x69, + 0x67, 0x12, 0x59, 0x0a, 0x16, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x63, 0x6f, + 0x72, 0x64, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x15, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x1f, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, + 0x6e, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, + 0x56, 0x32, 0x48, 0x00, 0x52, 0x16, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x63, + 0x6f, 0x72, 0x64, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x41, 0x0a, 0x0e, + 0x41, 0x75, 0x74, 0x68, 0x50, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x16, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x41, 0x75, 0x74, + 0x68, 0x50, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x56, 0x32, 0x48, 0x00, 0x52, + 0x0e, 0x41, 0x75, 0x74, 0x68, 0x50, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x12, + 0x4d, 0x0a, 0x12, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x41, 0x75, 0x64, 0x69, 0x74, 0x43, + 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x17, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x74, 0x79, + 0x70, 0x65, 0x73, 0x2e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x41, 0x75, 0x64, 0x69, 0x74, + 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x56, 0x32, 0x48, 0x00, 0x52, 0x12, 0x43, 0x6c, 0x75, 0x73, + 0x74, 0x65, 0x72, 0x41, 0x75, 0x64, 0x69, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x23, + 0x0a, 0x04, 0x4c, 0x6f, 0x63, 0x6b, 0x18, 0x18, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x74, + 0x79, 0x70, 0x65, 0x73, 0x2e, 0x4c, 0x6f, 0x63, 0x6b, 0x56, 0x32, 0x48, 0x00, 0x52, 0x04, 0x4c, + 0x6f, 0x63, 0x6b, 0x12, 0x50, 0x0a, 0x13, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x52, 0x65, + 0x73, 0x74, 0x72, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x19, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x1c, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, + 0x52, 0x65, 0x73, 0x74, 0x72, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x56, 0x34, 0x48, 0x00, + 0x52, 0x13, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x52, 0x65, 0x73, 0x74, 0x72, 0x69, 0x63, + 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x56, 0x0a, 0x15, 0x57, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x73, + 0x44, 0x65, 0x73, 0x6b, 0x74, 0x6f, 0x70, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x18, 0x1a, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x57, 0x69, 0x6e, + 0x64, 0x6f, 0x77, 0x73, 0x44, 0x65, 0x73, 0x6b, 0x74, 0x6f, 0x70, 0x53, 0x65, 0x72, 0x76, 0x69, + 0x63, 0x65, 0x56, 0x33, 0x48, 0x00, 0x52, 0x15, 0x57, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x73, 0x44, + 0x65, 0x73, 0x6b, 0x74, 0x6f, 0x70, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x41, 0x0a, + 0x0e, 0x57, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x73, 0x44, 0x65, 0x73, 0x6b, 0x74, 0x6f, 0x70, 0x18, + 0x1b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x57, 0x69, + 0x6e, 0x64, 0x6f, 0x77, 0x73, 0x44, 0x65, 0x73, 0x6b, 0x74, 0x6f, 0x70, 0x56, 0x33, 0x48, 0x00, + 0x52, 0x0e, 0x57, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x73, 0x44, 0x65, 0x73, 0x6b, 0x74, 0x6f, 0x70, + 0x12, 0x2f, 0x0a, 0x08, 0x44, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x18, 0x1c, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x62, + 0x61, 0x73, 0x65, 0x56, 0x33, 0x48, 0x00, 0x52, 0x08, 0x44, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, + 0x65, 0x12, 0x32, 0x0a, 0x09, 0x41, 0x70, 0x70, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x18, 0x1d, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x41, 0x70, 0x70, + 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x56, 0x33, 0x48, 0x00, 0x52, 0x09, 0x41, 0x70, 0x70, 0x53, + 0x65, 0x72, 0x76, 0x65, 0x72, 0x12, 0x20, 0x0a, 0x03, 0x41, 0x70, 0x70, 0x18, 0x1e, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x41, 0x70, 0x70, 0x56, 0x33, + 0x48, 0x00, 0x52, 0x03, 0x41, 0x70, 0x70, 0x12, 0x41, 0x0a, 0x10, 0x53, 0x6e, 0x6f, 0x77, 0x66, + 0x6c, 0x61, 0x6b, 0x65, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x1f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x57, 0x65, 0x62, 0x53, 0x65, 0x73, - 0x73, 0x69, 0x6f, 0x6e, 0x56, 0x32, 0x48, 0x00, 0x52, 0x0a, 0x41, 0x70, 0x70, 0x53, 0x65, 0x73, - 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x3e, 0x0a, 0x0d, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x43, 0x6c, - 0x75, 0x73, 0x74, 0x65, 0x72, 0x18, 0x10, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x74, 0x79, - 0x70, 0x65, 0x73, 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, - 0x72, 0x56, 0x33, 0x48, 0x00, 0x52, 0x0d, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x43, 0x6c, 0x75, - 0x73, 0x74, 0x65, 0x72, 0x12, 0x41, 0x0a, 0x0e, 0x44, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, - 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x18, 0x11, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x74, + 0x73, 0x69, 0x6f, 0x6e, 0x56, 0x32, 0x48, 0x00, 0x52, 0x10, 0x53, 0x6e, 0x6f, 0x77, 0x66, 0x6c, + 0x61, 0x6b, 0x65, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x47, 0x0a, 0x10, 0x4b, 0x75, + 0x62, 0x65, 0x72, 0x6e, 0x65, 0x74, 0x65, 0x73, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x18, 0x20, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x4b, 0x75, 0x62, + 0x65, 0x72, 0x6e, 0x65, 0x74, 0x65, 0x73, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x56, 0x33, 0x48, + 0x00, 0x52, 0x10, 0x4b, 0x75, 0x62, 0x65, 0x72, 0x6e, 0x65, 0x74, 0x65, 0x73, 0x53, 0x65, 0x72, + 0x76, 0x65, 0x72, 0x12, 0x4a, 0x0a, 0x11, 0x4b, 0x75, 0x62, 0x65, 0x72, 0x6e, 0x65, 0x74, 0x65, + 0x73, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x18, 0x21, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, + 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x4b, 0x75, 0x62, 0x65, 0x72, 0x6e, 0x65, 0x74, 0x65, + 0x73, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x56, 0x33, 0x48, 0x00, 0x52, 0x11, 0x4b, 0x75, + 0x62, 0x65, 0x72, 0x6e, 0x65, 0x74, 0x65, 0x73, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x12, + 0x32, 0x0a, 0x09, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x18, 0x22, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x49, 0x6e, 0x73, 0x74, 0x61, + 0x6c, 0x6c, 0x65, 0x72, 0x56, 0x31, 0x48, 0x00, 0x52, 0x09, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, + 0x6c, 0x65, 0x72, 0x12, 0x44, 0x0a, 0x0f, 0x44, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x53, + 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x18, 0x23, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x53, 0x65, 0x72, - 0x76, 0x65, 0x72, 0x56, 0x33, 0x48, 0x00, 0x52, 0x0e, 0x44, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, - 0x65, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x12, 0x35, 0x0a, 0x0a, 0x57, 0x65, 0x62, 0x53, 0x65, - 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x12, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x74, 0x79, - 0x70, 0x65, 0x73, 0x2e, 0x57, 0x65, 0x62, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x56, 0x32, - 0x48, 0x00, 0x52, 0x0a, 0x57, 0x65, 0x62, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x2f, - 0x0a, 0x08, 0x57, 0x65, 0x62, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x13, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x11, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x57, 0x65, 0x62, 0x54, 0x6f, 0x6b, 0x65, - 0x6e, 0x56, 0x33, 0x48, 0x00, 0x52, 0x08, 0x57, 0x65, 0x62, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, - 0x5c, 0x0a, 0x17, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, - 0x6b, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x14, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x20, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, - 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, - 0x56, 0x32, 0x48, 0x00, 0x52, 0x17, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x4e, 0x65, 0x74, - 0x77, 0x6f, 0x72, 0x6b, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x59, 0x0a, - 0x16, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x6e, - 0x67, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x15, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, - 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x63, - 0x6f, 0x72, 0x64, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x56, 0x32, 0x48, 0x00, - 0x52, 0x16, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x69, - 0x6e, 0x67, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x41, 0x0a, 0x0e, 0x41, 0x75, 0x74, 0x68, - 0x50, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x16, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x17, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x41, 0x75, 0x74, 0x68, 0x50, 0x72, 0x65, - 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x56, 0x32, 0x48, 0x00, 0x52, 0x0e, 0x41, 0x75, 0x74, - 0x68, 0x50, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x12, 0x4d, 0x0a, 0x12, 0x43, - 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x41, 0x75, 0x64, 0x69, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, - 0x67, 0x18, 0x17, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, - 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x41, 0x75, 0x64, 0x69, 0x74, 0x43, 0x6f, 0x6e, 0x66, - 0x69, 0x67, 0x56, 0x32, 0x48, 0x00, 0x52, 0x12, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x41, - 0x75, 0x64, 0x69, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x23, 0x0a, 0x04, 0x4c, 0x6f, - 0x63, 0x6b, 0x18, 0x18, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, - 0x2e, 0x4c, 0x6f, 0x63, 0x6b, 0x56, 0x32, 0x48, 0x00, 0x52, 0x04, 0x4c, 0x6f, 0x63, 0x6b, 0x12, - 0x50, 0x0a, 0x13, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x52, 0x65, 0x73, 0x74, 0x72, 0x69, - 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x19, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x74, - 0x79, 0x70, 0x65, 0x73, 0x2e, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x52, 0x65, 0x73, 0x74, - 0x72, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x56, 0x34, 0x48, 0x00, 0x52, 0x13, 0x4e, 0x65, - 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x52, 0x65, 0x73, 0x74, 0x72, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, - 0x73, 0x12, 0x56, 0x0a, 0x15, 0x57, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x73, 0x44, 0x65, 0x73, 0x6b, - 0x74, 0x6f, 0x70, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x18, 0x1a, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x1e, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x57, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x73, - 0x44, 0x65, 0x73, 0x6b, 0x74, 0x6f, 0x70, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x56, 0x33, - 0x48, 0x00, 0x52, 0x15, 0x57, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x73, 0x44, 0x65, 0x73, 0x6b, 0x74, - 0x6f, 0x70, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x41, 0x0a, 0x0e, 0x57, 0x69, 0x6e, - 0x64, 0x6f, 0x77, 0x73, 0x44, 0x65, 0x73, 0x6b, 0x74, 0x6f, 0x70, 0x18, 0x1b, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x17, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x57, 0x69, 0x6e, 0x64, 0x6f, 0x77, - 0x73, 0x44, 0x65, 0x73, 0x6b, 0x74, 0x6f, 0x70, 0x56, 0x33, 0x48, 0x00, 0x52, 0x0e, 0x57, 0x69, - 0x6e, 0x64, 0x6f, 0x77, 0x73, 0x44, 0x65, 0x73, 0x6b, 0x74, 0x6f, 0x70, 0x12, 0x2f, 0x0a, 0x08, - 0x44, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x18, 0x1c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, - 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x56, - 0x33, 0x48, 0x00, 0x52, 0x08, 0x44, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x12, 0x32, 0x0a, - 0x09, 0x41, 0x70, 0x70, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x18, 0x1d, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x12, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x41, 0x70, 0x70, 0x53, 0x65, 0x72, 0x76, - 0x65, 0x72, 0x56, 0x33, 0x48, 0x00, 0x52, 0x09, 0x41, 0x70, 0x70, 0x53, 0x65, 0x72, 0x76, 0x65, - 0x72, 0x12, 0x20, 0x0a, 0x03, 0x41, 0x70, 0x70, 0x18, 0x1e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0c, - 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x41, 0x70, 0x70, 0x56, 0x33, 0x48, 0x00, 0x52, 0x03, - 0x41, 0x70, 0x70, 0x12, 0x41, 0x0a, 0x10, 0x53, 0x6e, 0x6f, 0x77, 0x66, 0x6c, 0x61, 0x6b, 0x65, - 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x1f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, - 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x57, 0x65, 0x62, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, - 0x56, 0x32, 0x48, 0x00, 0x52, 0x10, 0x53, 0x6e, 0x6f, 0x77, 0x66, 0x6c, 0x61, 0x6b, 0x65, 0x53, - 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x47, 0x0a, 0x10, 0x4b, 0x75, 0x62, 0x65, 0x72, 0x6e, - 0x65, 0x74, 0x65, 0x73, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x18, 0x20, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x19, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x4b, 0x75, 0x62, 0x65, 0x72, 0x6e, 0x65, - 0x74, 0x65, 0x73, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x56, 0x33, 0x48, 0x00, 0x52, 0x10, 0x4b, - 0x75, 0x62, 0x65, 0x72, 0x6e, 0x65, 0x74, 0x65, 0x73, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x12, - 0x4a, 0x0a, 0x11, 0x4b, 0x75, 0x62, 0x65, 0x72, 0x6e, 0x65, 0x74, 0x65, 0x73, 0x43, 0x6c, 0x75, - 0x73, 0x74, 0x65, 0x72, 0x18, 0x21, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x74, 0x79, 0x70, - 0x65, 0x73, 0x2e, 0x4b, 0x75, 0x62, 0x65, 0x72, 0x6e, 0x65, 0x74, 0x65, 0x73, 0x43, 0x6c, 0x75, - 0x73, 0x74, 0x65, 0x72, 0x56, 0x33, 0x48, 0x00, 0x52, 0x11, 0x4b, 0x75, 0x62, 0x65, 0x72, 0x6e, - 0x65, 0x74, 0x65, 0x73, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x12, 0x32, 0x0a, 0x09, 0x49, - 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x18, 0x22, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, - 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x65, 0x72, - 0x56, 0x31, 0x48, 0x00, 0x52, 0x09, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x12, - 0x44, 0x0a, 0x0f, 0x44, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x53, 0x65, 0x72, 0x76, 0x69, - 0x63, 0x65, 0x18, 0x23, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, - 0x2e, 0x44, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, - 0x56, 0x31, 0x48, 0x00, 0x52, 0x0f, 0x44, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x53, 0x65, - 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x59, 0x0a, 0x16, 0x53, 0x41, 0x4d, 0x4c, 0x49, 0x64, 0x50, - 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x18, - 0x24, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x53, 0x41, + 0x76, 0x69, 0x63, 0x65, 0x56, 0x31, 0x48, 0x00, 0x52, 0x0f, 0x44, 0x61, 0x74, 0x61, 0x62, 0x61, + 0x73, 0x65, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x59, 0x0a, 0x16, 0x53, 0x41, 0x4d, + 0x4c, 0x49, 0x64, 0x50, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x50, 0x72, 0x6f, 0x76, 0x69, + 0x64, 0x65, 0x72, 0x18, 0x24, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x74, 0x79, 0x70, 0x65, + 0x73, 0x2e, 0x53, 0x41, 0x4d, 0x4c, 0x49, 0x64, 0x50, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, + 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x56, 0x31, 0x48, 0x00, 0x52, 0x16, 0x53, 0x41, 0x4d, 0x4c, 0x49, 0x64, 0x50, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x50, 0x72, 0x6f, 0x76, - 0x69, 0x64, 0x65, 0x72, 0x56, 0x31, 0x48, 0x00, 0x52, 0x16, 0x53, 0x41, 0x4d, 0x4c, 0x49, 0x64, - 0x50, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, - 0x12, 0x3d, 0x0a, 0x0e, 0x53, 0x41, 0x4d, 0x4c, 0x49, 0x64, 0x50, 0x53, 0x65, 0x73, 0x73, 0x69, - 0x6f, 0x6e, 0x18, 0x25, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, - 0x2e, 0x57, 0x65, 0x62, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x56, 0x32, 0x48, 0x00, 0x52, - 0x0e, 0x53, 0x41, 0x4d, 0x4c, 0x49, 0x64, 0x50, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x12, - 0x32, 0x0a, 0x09, 0x55, 0x73, 0x65, 0x72, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x18, 0x26, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x47, - 0x72, 0x6f, 0x75, 0x70, 0x56, 0x31, 0x48, 0x00, 0x52, 0x09, 0x55, 0x73, 0x65, 0x72, 0x47, 0x72, - 0x6f, 0x75, 0x70, 0x12, 0x2f, 0x0a, 0x08, 0x55, 0x49, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, - 0x27, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x55, 0x49, - 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x56, 0x31, 0x48, 0x00, 0x52, 0x08, 0x55, 0x49, 0x43, 0x6f, - 0x6e, 0x66, 0x69, 0x67, 0x12, 0x41, 0x0a, 0x0e, 0x4f, 0x6b, 0x74, 0x61, 0x49, 0x6d, 0x70, 0x6f, - 0x72, 0x74, 0x52, 0x75, 0x6c, 0x65, 0x18, 0x28, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x74, - 0x79, 0x70, 0x65, 0x73, 0x2e, 0x4f, 0x6b, 0x74, 0x61, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x52, - 0x75, 0x6c, 0x65, 0x56, 0x31, 0x48, 0x00, 0x52, 0x0e, 0x4f, 0x6b, 0x74, 0x61, 0x49, 0x6d, 0x70, - 0x6f, 0x72, 0x74, 0x52, 0x75, 0x6c, 0x65, 0x12, 0x41, 0x0a, 0x0e, 0x4f, 0x6b, 0x74, 0x61, 0x41, - 0x73, 0x73, 0x69, 0x67, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x29, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x17, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x4f, 0x6b, 0x74, 0x61, 0x41, 0x73, 0x73, 0x69, - 0x67, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x56, 0x31, 0x48, 0x00, 0x52, 0x0e, 0x4f, 0x6b, 0x74, 0x61, - 0x41, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x38, 0x0a, 0x0b, 0x49, 0x6e, - 0x74, 0x65, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x2a, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x14, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x49, 0x6e, 0x74, 0x65, 0x67, 0x72, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x56, 0x31, 0x48, 0x00, 0x52, 0x0b, 0x49, 0x6e, 0x74, 0x65, 0x67, 0x72, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x38, 0x0a, 0x0b, 0x57, 0x61, 0x74, 0x63, 0x68, 0x53, 0x74, 0x61, - 0x74, 0x75, 0x73, 0x18, 0x2b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x74, 0x79, 0x70, 0x65, - 0x73, 0x2e, 0x57, 0x61, 0x74, 0x63, 0x68, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x56, 0x31, 0x48, - 0x00, 0x52, 0x0b, 0x57, 0x61, 0x74, 0x63, 0x68, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x57, - 0x0a, 0x16, 0x48, 0x65, 0x61, 0x64, 0x6c, 0x65, 0x73, 0x73, 0x41, 0x75, 0x74, 0x68, 0x65, 0x6e, - 0x74, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x2c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, - 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x48, 0x65, 0x61, 0x64, 0x6c, 0x65, 0x73, 0x73, 0x41, - 0x75, 0x74, 0x68, 0x65, 0x6e, 0x74, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, - 0x16, 0x48, 0x65, 0x61, 0x64, 0x6c, 0x65, 0x73, 0x73, 0x41, 0x75, 0x74, 0x68, 0x65, 0x6e, 0x74, - 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x44, 0x0a, 0x0a, 0x41, 0x63, 0x63, 0x65, 0x73, - 0x73, 0x4c, 0x69, 0x73, 0x74, 0x18, 0x2d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x74, 0x65, - 0x6c, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x2e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x6c, 0x69, 0x73, - 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x48, - 0x00, 0x52, 0x0a, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x54, 0x0a, - 0x0e, 0x55, 0x73, 0x65, 0x72, 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x18, - 0x2e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x74, 0x65, 0x6c, 0x65, 0x70, 0x6f, 0x72, 0x74, - 0x2e, 0x75, 0x73, 0x65, 0x72, 0x6c, 0x6f, 0x67, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x74, 0x65, 0x2e, - 0x76, 0x31, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x53, 0x74, 0x61, 0x74, - 0x65, 0x48, 0x00, 0x52, 0x0e, 0x55, 0x73, 0x65, 0x72, 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x53, 0x74, - 0x61, 0x74, 0x65, 0x12, 0x4c, 0x0a, 0x10, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4c, 0x69, 0x73, - 0x74, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x2f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, - 0x74, 0x65, 0x6c, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x2e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x6c, - 0x69, 0x73, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x48, 0x00, 0x52, - 0x10, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x4d, 0x65, 0x6d, 0x62, 0x65, - 0x72, 0x12, 0x58, 0x0a, 0x0f, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x43, 0x6f, - 0x6e, 0x66, 0x69, 0x67, 0x18, 0x30, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x74, 0x65, 0x6c, - 0x65, 0x70, 0x6f, 0x72, 0x74, 0x2e, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x63, - 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, - 0x72, 0x79, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x48, 0x00, 0x52, 0x0f, 0x44, 0x69, 0x73, 0x63, - 0x6f, 0x76, 0x65, 0x72, 0x79, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x44, 0x0a, 0x0a, 0x41, - 0x75, 0x64, 0x69, 0x74, 0x51, 0x75, 0x65, 0x72, 0x79, 0x18, 0x32, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x22, 0x2e, 0x74, 0x65, 0x6c, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x2e, 0x73, 0x65, 0x63, 0x72, 0x65, - 0x70, 0x6f, 0x72, 0x74, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x75, 0x64, 0x69, 0x74, 0x51, 0x75, - 0x65, 0x72, 0x79, 0x48, 0x00, 0x52, 0x0a, 0x41, 0x75, 0x64, 0x69, 0x74, 0x51, 0x75, 0x65, 0x72, - 0x79, 0x12, 0x38, 0x0a, 0x06, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x33, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x1e, 0x2e, 0x74, 0x65, 0x6c, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x2e, 0x73, 0x65, 0x63, - 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x70, 0x6f, 0x72, - 0x74, 0x48, 0x00, 0x52, 0x06, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x12, 0x47, 0x0a, 0x0b, 0x52, - 0x65, 0x70, 0x6f, 0x72, 0x74, 0x53, 0x74, 0x61, 0x74, 0x65, 0x18, 0x34, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x23, 0x2e, 0x74, 0x65, 0x6c, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x2e, 0x73, 0x65, 0x63, 0x72, - 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, - 0x53, 0x74, 0x61, 0x74, 0x65, 0x48, 0x00, 0x52, 0x0b, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x53, - 0x74, 0x61, 0x74, 0x65, 0x12, 0x4c, 0x0a, 0x10, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4c, 0x69, - 0x73, 0x74, 0x52, 0x65, 0x76, 0x69, 0x65, 0x77, 0x18, 0x35, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, - 0x2e, 0x74, 0x65, 0x6c, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x2e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, - 0x6c, 0x69, 0x73, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x76, 0x69, 0x65, 0x77, 0x48, 0x00, - 0x52, 0x10, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x76, 0x69, - 0x65, 0x77, 0x12, 0x6d, 0x0a, 0x14, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4d, 0x6f, 0x6e, 0x69, - 0x74, 0x6f, 0x72, 0x69, 0x6e, 0x67, 0x52, 0x75, 0x6c, 0x65, 0x18, 0x36, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x37, 0x2e, 0x74, 0x65, 0x6c, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x2e, 0x61, 0x63, 0x63, 0x65, - 0x73, 0x73, 0x6d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x69, 0x6e, 0x67, 0x72, 0x75, 0x6c, 0x65, - 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4d, 0x6f, 0x6e, 0x69, 0x74, - 0x6f, 0x72, 0x69, 0x6e, 0x67, 0x52, 0x75, 0x6c, 0x65, 0x48, 0x00, 0x52, 0x14, 0x41, 0x63, 0x63, - 0x65, 0x73, 0x73, 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x69, 0x6e, 0x67, 0x52, 0x75, 0x6c, - 0x65, 0x12, 0x7e, 0x0a, 0x1a, 0x4b, 0x75, 0x62, 0x65, 0x72, 0x6e, 0x65, 0x74, 0x65, 0x73, 0x57, - 0x61, 0x69, 0x74, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x18, - 0x37, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3c, 0x2e, 0x74, 0x65, 0x6c, 0x65, 0x70, 0x6f, 0x72, 0x74, - 0x2e, 0x6b, 0x75, 0x62, 0x65, 0x77, 0x61, 0x69, 0x74, 0x69, 0x6e, 0x67, 0x63, 0x6f, 0x6e, 0x74, - 0x61, 0x69, 0x6e, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x4b, 0x75, 0x62, 0x65, 0x72, 0x6e, 0x65, + 0x69, 0x64, 0x65, 0x72, 0x12, 0x3d, 0x0a, 0x0e, 0x53, 0x41, 0x4d, 0x4c, 0x49, 0x64, 0x50, 0x53, + 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x25, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x74, + 0x79, 0x70, 0x65, 0x73, 0x2e, 0x57, 0x65, 0x62, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x56, + 0x32, 0x48, 0x00, 0x52, 0x0e, 0x53, 0x41, 0x4d, 0x4c, 0x49, 0x64, 0x50, 0x53, 0x65, 0x73, 0x73, + 0x69, 0x6f, 0x6e, 0x12, 0x32, 0x0a, 0x09, 0x55, 0x73, 0x65, 0x72, 0x47, 0x72, 0x6f, 0x75, 0x70, + 0x18, 0x26, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x55, + 0x73, 0x65, 0x72, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x56, 0x31, 0x48, 0x00, 0x52, 0x09, 0x55, 0x73, + 0x65, 0x72, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x12, 0x2f, 0x0a, 0x08, 0x55, 0x49, 0x43, 0x6f, 0x6e, + 0x66, 0x69, 0x67, 0x18, 0x27, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x74, 0x79, 0x70, 0x65, + 0x73, 0x2e, 0x55, 0x49, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x56, 0x31, 0x48, 0x00, 0x52, 0x08, + 0x55, 0x49, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x41, 0x0a, 0x0e, 0x4f, 0x6b, 0x74, 0x61, + 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x75, 0x6c, 0x65, 0x18, 0x28, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x17, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x4f, 0x6b, 0x74, 0x61, 0x49, 0x6d, 0x70, + 0x6f, 0x72, 0x74, 0x52, 0x75, 0x6c, 0x65, 0x56, 0x31, 0x48, 0x00, 0x52, 0x0e, 0x4f, 0x6b, 0x74, + 0x61, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x75, 0x6c, 0x65, 0x12, 0x41, 0x0a, 0x0e, 0x4f, + 0x6b, 0x74, 0x61, 0x41, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x29, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x4f, 0x6b, 0x74, 0x61, + 0x41, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x56, 0x31, 0x48, 0x00, 0x52, 0x0e, + 0x4f, 0x6b, 0x74, 0x61, 0x41, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x38, + 0x0a, 0x0b, 0x49, 0x6e, 0x74, 0x65, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x2a, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x49, 0x6e, 0x74, 0x65, + 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x56, 0x31, 0x48, 0x00, 0x52, 0x0b, 0x49, 0x6e, 0x74, + 0x65, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x38, 0x0a, 0x0b, 0x57, 0x61, 0x74, 0x63, + 0x68, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x2b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, + 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x57, 0x61, 0x74, 0x63, 0x68, 0x53, 0x74, 0x61, 0x74, 0x75, + 0x73, 0x56, 0x31, 0x48, 0x00, 0x52, 0x0b, 0x57, 0x61, 0x74, 0x63, 0x68, 0x53, 0x74, 0x61, 0x74, + 0x75, 0x73, 0x12, 0x57, 0x0a, 0x16, 0x48, 0x65, 0x61, 0x64, 0x6c, 0x65, 0x73, 0x73, 0x41, 0x75, + 0x74, 0x68, 0x65, 0x6e, 0x74, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x2c, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x48, 0x65, 0x61, 0x64, 0x6c, + 0x65, 0x73, 0x73, 0x41, 0x75, 0x74, 0x68, 0x65, 0x6e, 0x74, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x48, 0x00, 0x52, 0x16, 0x48, 0x65, 0x61, 0x64, 0x6c, 0x65, 0x73, 0x73, 0x41, 0x75, 0x74, + 0x68, 0x65, 0x6e, 0x74, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x44, 0x0a, 0x0a, 0x41, + 0x63, 0x63, 0x65, 0x73, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x18, 0x2d, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x22, 0x2e, 0x74, 0x65, 0x6c, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x2e, 0x61, 0x63, 0x63, 0x65, 0x73, + 0x73, 0x6c, 0x69, 0x73, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4c, + 0x69, 0x73, 0x74, 0x48, 0x00, 0x52, 0x0a, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4c, 0x69, 0x73, + 0x74, 0x12, 0x54, 0x0a, 0x0e, 0x55, 0x73, 0x65, 0x72, 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x53, 0x74, + 0x61, 0x74, 0x65, 0x18, 0x2e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x74, 0x65, 0x6c, 0x65, + 0x70, 0x6f, 0x72, 0x74, 0x2e, 0x75, 0x73, 0x65, 0x72, 0x6c, 0x6f, 0x67, 0x69, 0x6e, 0x73, 0x74, + 0x61, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x4c, 0x6f, 0x67, 0x69, 0x6e, + 0x53, 0x74, 0x61, 0x74, 0x65, 0x48, 0x00, 0x52, 0x0e, 0x55, 0x73, 0x65, 0x72, 0x4c, 0x6f, 0x67, + 0x69, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x4c, 0x0a, 0x10, 0x41, 0x63, 0x63, 0x65, 0x73, + 0x73, 0x4c, 0x69, 0x73, 0x74, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x2f, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x1e, 0x2e, 0x74, 0x65, 0x6c, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x2e, 0x61, 0x63, 0x63, + 0x65, 0x73, 0x73, 0x6c, 0x69, 0x73, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x65, 0x6d, 0x62, 0x65, + 0x72, 0x48, 0x00, 0x52, 0x10, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x4d, + 0x65, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x58, 0x0a, 0x0f, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, + 0x72, 0x79, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x30, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, + 0x2e, 0x74, 0x65, 0x6c, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x2e, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x76, + 0x65, 0x72, 0x79, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x69, 0x73, + 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x48, 0x00, 0x52, 0x0f, + 0x44, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, + 0x44, 0x0a, 0x0a, 0x41, 0x75, 0x64, 0x69, 0x74, 0x51, 0x75, 0x65, 0x72, 0x79, 0x18, 0x32, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x74, 0x65, 0x6c, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x2e, 0x73, + 0x65, 0x63, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x75, 0x64, + 0x69, 0x74, 0x51, 0x75, 0x65, 0x72, 0x79, 0x48, 0x00, 0x52, 0x0a, 0x41, 0x75, 0x64, 0x69, 0x74, + 0x51, 0x75, 0x65, 0x72, 0x79, 0x12, 0x38, 0x0a, 0x06, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x18, + 0x33, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x74, 0x65, 0x6c, 0x65, 0x70, 0x6f, 0x72, 0x74, + 0x2e, 0x73, 0x65, 0x63, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x52, + 0x65, 0x70, 0x6f, 0x72, 0x74, 0x48, 0x00, 0x52, 0x06, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x12, + 0x47, 0x0a, 0x0b, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x53, 0x74, 0x61, 0x74, 0x65, 0x18, 0x34, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x74, 0x65, 0x6c, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x2e, + 0x73, 0x65, 0x63, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, + 0x70, 0x6f, 0x72, 0x74, 0x53, 0x74, 0x61, 0x74, 0x65, 0x48, 0x00, 0x52, 0x0b, 0x52, 0x65, 0x70, + 0x6f, 0x72, 0x74, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x4c, 0x0a, 0x10, 0x41, 0x63, 0x63, 0x65, + 0x73, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x76, 0x69, 0x65, 0x77, 0x18, 0x35, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x74, 0x65, 0x6c, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x2e, 0x61, 0x63, + 0x63, 0x65, 0x73, 0x73, 0x6c, 0x69, 0x73, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x76, 0x69, + 0x65, 0x77, 0x48, 0x00, 0x52, 0x10, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4c, 0x69, 0x73, 0x74, + 0x52, 0x65, 0x76, 0x69, 0x65, 0x77, 0x12, 0x6d, 0x0a, 0x14, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, + 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x69, 0x6e, 0x67, 0x52, 0x75, 0x6c, 0x65, 0x18, 0x36, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x37, 0x2e, 0x74, 0x65, 0x6c, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x2e, + 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x6d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x69, 0x6e, 0x67, + 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4d, + 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x69, 0x6e, 0x67, 0x52, 0x75, 0x6c, 0x65, 0x48, 0x00, 0x52, + 0x14, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x69, 0x6e, + 0x67, 0x52, 0x75, 0x6c, 0x65, 0x12, 0x7e, 0x0a, 0x1a, 0x4b, 0x75, 0x62, 0x65, 0x72, 0x6e, 0x65, 0x74, 0x65, 0x73, 0x57, 0x61, 0x69, 0x74, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, - 0x6e, 0x65, 0x72, 0x48, 0x00, 0x52, 0x1a, 0x4b, 0x75, 0x62, 0x65, 0x72, 0x6e, 0x65, 0x74, 0x65, - 0x73, 0x57, 0x61, 0x69, 0x74, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, - 0x72, 0x12, 0x55, 0x0a, 0x10, 0x55, 0x73, 0x65, 0x72, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x38, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x74, 0x65, - 0x6c, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x2e, 0x6e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x10, 0x55, 0x73, 0x65, 0x72, 0x4e, 0x6f, 0x74, 0x69, - 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x5f, 0x0a, 0x12, 0x47, 0x6c, 0x6f, 0x62, - 0x61, 0x6c, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x39, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x74, 0x65, 0x6c, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x2e, - 0x6e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x31, - 0x2e, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x12, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x4e, 0x6f, 0x74, - 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x44, 0x0a, 0x0a, 0x43, 0x72, 0x6f, - 0x77, 0x6e, 0x4a, 0x65, 0x77, 0x65, 0x6c, 0x18, 0x3a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, - 0x74, 0x65, 0x6c, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x2e, 0x63, 0x72, 0x6f, 0x77, 0x6e, 0x6a, 0x65, - 0x77, 0x65, 0x6c, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x6f, 0x77, 0x6e, 0x4a, 0x65, 0x77, 0x65, - 0x6c, 0x48, 0x00, 0x52, 0x0a, 0x43, 0x72, 0x6f, 0x77, 0x6e, 0x4a, 0x65, 0x77, 0x65, 0x6c, 0x12, - 0x4e, 0x0a, 0x0e, 0x44, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x4f, 0x62, 0x6a, 0x65, 0x63, - 0x74, 0x18, 0x3b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x74, 0x65, 0x6c, 0x65, 0x70, 0x6f, - 0x72, 0x74, 0x2e, 0x64, 0x62, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x44, - 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x48, 0x00, 0x52, - 0x0e, 0x44, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x12, - 0x46, 0x0a, 0x0b, 0x42, 0x6f, 0x74, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x3c, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x74, 0x65, 0x6c, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x2e, - 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x69, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x6f, 0x74, - 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x48, 0x00, 0x52, 0x0b, 0x42, 0x6f, 0x74, 0x49, - 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x62, 0x0a, 0x13, 0x41, 0x63, 0x63, 0x65, 0x73, - 0x73, 0x47, 0x72, 0x61, 0x70, 0x68, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x18, 0x3d, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x74, 0x65, 0x6c, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x2e, - 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x76, 0x31, - 0x2e, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x47, 0x72, 0x61, 0x70, 0x68, 0x53, 0x65, 0x74, 0x74, - 0x69, 0x6e, 0x67, 0x73, 0x48, 0x00, 0x52, 0x13, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x47, 0x72, - 0x61, 0x70, 0x68, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x55, 0x0a, 0x10, 0x53, - 0x50, 0x49, 0x46, 0x46, 0x45, 0x46, 0x65, 0x64, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, - 0x3e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x74, 0x65, 0x6c, 0x65, 0x70, 0x6f, 0x72, 0x74, - 0x2e, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x69, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x50, - 0x49, 0x46, 0x46, 0x45, 0x46, 0x65, 0x64, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x00, - 0x52, 0x10, 0x53, 0x50, 0x49, 0x46, 0x46, 0x45, 0x46, 0x65, 0x64, 0x65, 0x72, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x12, 0x56, 0x0a, 0x10, 0x41, 0x75, 0x74, 0x6f, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, - 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x40, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x74, - 0x65, 0x6c, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x2e, 0x61, 0x75, 0x74, 0x6f, 0x75, 0x70, 0x64, 0x61, - 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x75, 0x74, 0x6f, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, - 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x48, 0x00, 0x52, 0x10, 0x41, 0x75, 0x74, 0x6f, 0x55, 0x70, - 0x64, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x59, 0x0a, 0x11, 0x41, 0x75, - 0x74, 0x6f, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, - 0x41, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x74, 0x65, 0x6c, 0x65, 0x70, 0x6f, 0x72, 0x74, - 0x2e, 0x61, 0x75, 0x74, 0x6f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x41, - 0x75, 0x74, 0x6f, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, - 0x48, 0x00, 0x52, 0x11, 0x41, 0x75, 0x74, 0x6f, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x56, 0x65, - 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x5a, 0x0a, 0x10, 0x53, 0x74, 0x61, 0x74, 0x69, 0x63, 0x48, - 0x6f, 0x73, 0x74, 0x55, 0x73, 0x65, 0x72, 0x56, 0x32, 0x18, 0x42, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x2c, 0x2e, 0x74, 0x65, 0x6c, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x2e, 0x75, 0x73, 0x65, 0x72, 0x70, - 0x72, 0x6f, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x32, 0x2e, 0x53, - 0x74, 0x61, 0x74, 0x69, 0x63, 0x48, 0x6f, 0x73, 0x74, 0x55, 0x73, 0x65, 0x72, 0x48, 0x00, 0x52, - 0x10, 0x53, 0x74, 0x61, 0x74, 0x69, 0x63, 0x48, 0x6f, 0x73, 0x74, 0x55, 0x73, 0x65, 0x72, 0x56, - 0x32, 0x12, 0x3d, 0x0a, 0x08, 0x55, 0x73, 0x65, 0x72, 0x54, 0x61, 0x73, 0x6b, 0x18, 0x43, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x74, 0x65, 0x6c, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x2e, 0x75, - 0x73, 0x65, 0x72, 0x74, 0x61, 0x73, 0x6b, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x73, 0x65, 0x72, - 0x54, 0x61, 0x73, 0x6b, 0x48, 0x00, 0x52, 0x08, 0x55, 0x73, 0x65, 0x72, 0x54, 0x61, 0x73, 0x6b, - 0x42, 0x0a, 0x0a, 0x08, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4a, 0x04, 0x08, 0x07, - 0x10, 0x08, 0x4a, 0x04, 0x08, 0x31, 0x10, 0x32, 0x4a, 0x04, 0x08, 0x3f, 0x10, 0x40, 0x52, 0x12, - 0x45, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x41, 0x75, 0x64, - 0x69, 0x74, 0x52, 0x0e, 0x53, 0x74, 0x61, 0x74, 0x69, 0x63, 0x48, 0x6f, 0x73, 0x74, 0x55, 0x73, - 0x65, 0x72, 0x2a, 0x2a, 0x0a, 0x09, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, - 0x08, 0x0a, 0x04, 0x49, 0x4e, 0x49, 0x54, 0x10, 0x00, 0x12, 0x07, 0x0a, 0x03, 0x50, 0x55, 0x54, - 0x10, 0x01, 0x12, 0x0a, 0x0a, 0x06, 0x44, 0x45, 0x4c, 0x45, 0x54, 0x45, 0x10, 0x02, 0x42, 0x34, - 0x5a, 0x32, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x67, 0x72, 0x61, - 0x76, 0x69, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x2f, 0x74, 0x65, 0x6c, 0x65, 0x70, - 0x6f, 0x72, 0x74, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x2f, 0x70, - 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x6e, 0x65, 0x72, 0x18, 0x37, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3c, 0x2e, 0x74, 0x65, 0x6c, 0x65, + 0x70, 0x6f, 0x72, 0x74, 0x2e, 0x6b, 0x75, 0x62, 0x65, 0x77, 0x61, 0x69, 0x74, 0x69, 0x6e, 0x67, + 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x4b, 0x75, 0x62, + 0x65, 0x72, 0x6e, 0x65, 0x74, 0x65, 0x73, 0x57, 0x61, 0x69, 0x74, 0x69, 0x6e, 0x67, 0x43, 0x6f, + 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x48, 0x00, 0x52, 0x1a, 0x4b, 0x75, 0x62, 0x65, 0x72, + 0x6e, 0x65, 0x74, 0x65, 0x73, 0x57, 0x61, 0x69, 0x74, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6e, 0x74, + 0x61, 0x69, 0x6e, 0x65, 0x72, 0x12, 0x55, 0x0a, 0x10, 0x55, 0x73, 0x65, 0x72, 0x4e, 0x6f, 0x74, + 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x38, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x27, 0x2e, 0x74, 0x65, 0x6c, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x2e, 0x6e, 0x6f, 0x74, 0x69, 0x66, + 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4e, 0x6f, 0x74, 0x69, + 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x10, 0x55, 0x73, 0x65, 0x72, + 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x5f, 0x0a, 0x12, + 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x18, 0x39, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x74, 0x65, 0x6c, 0x65, 0x70, + 0x6f, 0x72, 0x74, 0x2e, 0x6e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x4e, 0x6f, 0x74, 0x69, 0x66, + 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x12, 0x47, 0x6c, 0x6f, 0x62, 0x61, + 0x6c, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x44, 0x0a, + 0x0a, 0x43, 0x72, 0x6f, 0x77, 0x6e, 0x4a, 0x65, 0x77, 0x65, 0x6c, 0x18, 0x3a, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x22, 0x2e, 0x74, 0x65, 0x6c, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x2e, 0x63, 0x72, 0x6f, + 0x77, 0x6e, 0x6a, 0x65, 0x77, 0x65, 0x6c, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x6f, 0x77, 0x6e, + 0x4a, 0x65, 0x77, 0x65, 0x6c, 0x48, 0x00, 0x52, 0x0a, 0x43, 0x72, 0x6f, 0x77, 0x6e, 0x4a, 0x65, + 0x77, 0x65, 0x6c, 0x12, 0x4e, 0x0a, 0x0e, 0x44, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x4f, + 0x62, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x3b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x74, 0x65, + 0x6c, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x2e, 0x64, 0x62, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x2e, + 0x76, 0x31, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x4f, 0x62, 0x6a, 0x65, 0x63, + 0x74, 0x48, 0x00, 0x52, 0x0e, 0x44, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x4f, 0x62, 0x6a, + 0x65, 0x63, 0x74, 0x12, 0x46, 0x0a, 0x0b, 0x42, 0x6f, 0x74, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, + 0x63, 0x65, 0x18, 0x3c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x74, 0x65, 0x6c, 0x65, 0x70, + 0x6f, 0x72, 0x74, 0x2e, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x69, 0x64, 0x2e, 0x76, 0x31, + 0x2e, 0x42, 0x6f, 0x74, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x48, 0x00, 0x52, 0x0b, + 0x42, 0x6f, 0x74, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x62, 0x0a, 0x13, 0x41, + 0x63, 0x63, 0x65, 0x73, 0x73, 0x47, 0x72, 0x61, 0x70, 0x68, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, + 0x67, 0x73, 0x18, 0x3d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x74, 0x65, 0x6c, 0x65, 0x70, + 0x6f, 0x72, 0x74, 0x2e, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x63, 0x6f, 0x6e, 0x66, 0x69, + 0x67, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x47, 0x72, 0x61, 0x70, 0x68, + 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x48, 0x00, 0x52, 0x13, 0x41, 0x63, 0x63, 0x65, + 0x73, 0x73, 0x47, 0x72, 0x61, 0x70, 0x68, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x12, + 0x55, 0x0a, 0x10, 0x53, 0x50, 0x49, 0x46, 0x46, 0x45, 0x46, 0x65, 0x64, 0x65, 0x72, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x18, 0x3e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x74, 0x65, 0x6c, 0x65, + 0x70, 0x6f, 0x72, 0x74, 0x2e, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x69, 0x64, 0x2e, 0x76, + 0x31, 0x2e, 0x53, 0x50, 0x49, 0x46, 0x46, 0x45, 0x46, 0x65, 0x64, 0x65, 0x72, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x10, 0x53, 0x50, 0x49, 0x46, 0x46, 0x45, 0x46, 0x65, 0x64, 0x65, + 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x56, 0x0a, 0x10, 0x41, 0x75, 0x74, 0x6f, 0x55, 0x70, + 0x64, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x40, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x28, 0x2e, 0x74, 0x65, 0x6c, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x2e, 0x61, 0x75, 0x74, 0x6f, + 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x75, 0x74, 0x6f, 0x55, 0x70, + 0x64, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x48, 0x00, 0x52, 0x10, 0x41, 0x75, + 0x74, 0x6f, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x59, + 0x0a, 0x11, 0x41, 0x75, 0x74, 0x6f, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x56, 0x65, 0x72, 0x73, + 0x69, 0x6f, 0x6e, 0x18, 0x41, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x74, 0x65, 0x6c, 0x65, + 0x70, 0x6f, 0x72, 0x74, 0x2e, 0x61, 0x75, 0x74, 0x6f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x2e, + 0x76, 0x31, 0x2e, 0x41, 0x75, 0x74, 0x6f, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x56, 0x65, 0x72, + 0x73, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x11, 0x41, 0x75, 0x74, 0x6f, 0x55, 0x70, 0x64, 0x61, + 0x74, 0x65, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x5a, 0x0a, 0x10, 0x53, 0x74, 0x61, + 0x74, 0x69, 0x63, 0x48, 0x6f, 0x73, 0x74, 0x55, 0x73, 0x65, 0x72, 0x56, 0x32, 0x18, 0x42, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x74, 0x65, 0x6c, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x2e, 0x75, + 0x73, 0x65, 0x72, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x69, 0x6e, 0x67, 0x2e, + 0x76, 0x32, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x69, 0x63, 0x48, 0x6f, 0x73, 0x74, 0x55, 0x73, 0x65, + 0x72, 0x48, 0x00, 0x52, 0x10, 0x53, 0x74, 0x61, 0x74, 0x69, 0x63, 0x48, 0x6f, 0x73, 0x74, 0x55, + 0x73, 0x65, 0x72, 0x56, 0x32, 0x12, 0x3d, 0x0a, 0x08, 0x55, 0x73, 0x65, 0x72, 0x54, 0x61, 0x73, + 0x6b, 0x18, 0x43, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x74, 0x65, 0x6c, 0x65, 0x70, 0x6f, + 0x72, 0x74, 0x2e, 0x75, 0x73, 0x65, 0x72, 0x74, 0x61, 0x73, 0x6b, 0x73, 0x2e, 0x76, 0x31, 0x2e, + 0x55, 0x73, 0x65, 0x72, 0x54, 0x61, 0x73, 0x6b, 0x48, 0x00, 0x52, 0x08, 0x55, 0x73, 0x65, 0x72, + 0x54, 0x61, 0x73, 0x6b, 0x12, 0x5f, 0x0a, 0x13, 0x41, 0x75, 0x74, 0x6f, 0x55, 0x70, 0x64, 0x61, + 0x74, 0x65, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x50, 0x6c, 0x61, 0x6e, 0x18, 0x44, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x2b, 0x2e, 0x74, 0x65, 0x6c, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x2e, 0x61, 0x75, 0x74, + 0x6f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x75, 0x74, 0x6f, 0x55, + 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x50, 0x6c, 0x61, 0x6e, 0x48, 0x00, + 0x52, 0x13, 0x41, 0x75, 0x74, 0x6f, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, 0x67, 0x65, 0x6e, + 0x74, 0x50, 0x6c, 0x61, 0x6e, 0x42, 0x0a, 0x0a, 0x08, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, + 0x65, 0x4a, 0x04, 0x08, 0x07, 0x10, 0x08, 0x4a, 0x04, 0x08, 0x31, 0x10, 0x32, 0x4a, 0x04, 0x08, + 0x3f, 0x10, 0x40, 0x52, 0x12, 0x45, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x43, 0x6c, 0x6f, + 0x75, 0x64, 0x41, 0x75, 0x64, 0x69, 0x74, 0x52, 0x0e, 0x53, 0x74, 0x61, 0x74, 0x69, 0x63, 0x48, + 0x6f, 0x73, 0x74, 0x55, 0x73, 0x65, 0x72, 0x2a, 0x2a, 0x0a, 0x09, 0x4f, 0x70, 0x65, 0x72, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x08, 0x0a, 0x04, 0x49, 0x4e, 0x49, 0x54, 0x10, 0x00, 0x12, 0x07, + 0x0a, 0x03, 0x50, 0x55, 0x54, 0x10, 0x01, 0x12, 0x0a, 0x0a, 0x06, 0x44, 0x45, 0x4c, 0x45, 0x54, + 0x45, 0x10, 0x02, 0x42, 0x34, 0x5a, 0x32, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, + 0x6d, 0x2f, 0x67, 0x72, 0x61, 0x76, 0x69, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x2f, + 0x74, 0x65, 0x6c, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x63, 0x6c, 0x69, + 0x65, 0x6e, 0x74, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x33, } var ( @@ -1537,6 +1562,7 @@ var file_teleport_legacy_client_proto_event_proto_goTypes = []any{ (*v111.AutoUpdateVersion)(nil), // 59: teleport.autoupdate.v1.AutoUpdateVersion (*v2.StaticHostUser)(nil), // 60: teleport.userprovisioning.v2.StaticHostUser (*v112.UserTask)(nil), // 61: teleport.usertasks.v1.UserTask + (*v111.AutoUpdateAgentPlan)(nil), // 62: teleport.autoupdate.v1.AutoUpdateAgentPlan } var file_teleport_legacy_client_proto_event_proto_depIdxs = []int32{ 0, // 0: proto.Event.Type:type_name -> proto.Operation @@ -1603,11 +1629,12 @@ var file_teleport_legacy_client_proto_event_proto_depIdxs = []int32{ 59, // 61: proto.Event.AutoUpdateVersion:type_name -> teleport.autoupdate.v1.AutoUpdateVersion 60, // 62: proto.Event.StaticHostUserV2:type_name -> teleport.userprovisioning.v2.StaticHostUser 61, // 63: proto.Event.UserTask:type_name -> teleport.usertasks.v1.UserTask - 64, // [64:64] is the sub-list for method output_type - 64, // [64:64] is the sub-list for method input_type - 64, // [64:64] is the sub-list for extension type_name - 64, // [64:64] is the sub-list for extension extendee - 0, // [0:64] is the sub-list for field type_name + 62, // 64: proto.Event.AutoUpdateAgentPlan:type_name -> teleport.autoupdate.v1.AutoUpdateAgentPlan + 65, // [65:65] is the sub-list for method output_type + 65, // [65:65] is the sub-list for method input_type + 65, // [65:65] is the sub-list for extension type_name + 65, // [65:65] is the sub-list for extension extendee + 0, // [0:65] is the sub-list for field type_name } func init() { file_teleport_legacy_client_proto_event_proto_init() } @@ -1693,6 +1720,7 @@ func file_teleport_legacy_client_proto_event_proto_init() { (*Event_AutoUpdateVersion)(nil), (*Event_StaticHostUserV2)(nil), (*Event_UserTask)(nil), + (*Event_AutoUpdateAgentPlan)(nil), } type x struct{} out := protoimpl.TypeBuilder{ diff --git a/api/gen/proto/go/teleport/autoupdate/v1/autoupdate_agent_plan.pb.go b/api/gen/proto/go/teleport/autoupdate/v1/autoupdate_agent_plan.pb.go new file mode 100644 index 0000000000000..760474530c981 --- /dev/null +++ b/api/gen/proto/go/teleport/autoupdate/v1/autoupdate_agent_plan.pb.go @@ -0,0 +1,889 @@ +// Copyright 2024 Gravitational, Inc. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.34.2 +// protoc (unknown) +// source: teleport/autoupdate/v1/autoupdate_agent_plan.proto + +package autoupdate + +import ( + v1 "github.com/gravitational/teleport/api/gen/proto/go/teleport/header/v1" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + timestamppb "google.golang.org/protobuf/types/known/timestamppb" + reflect "reflect" + sync "sync" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +// Schedule type for the rollout +type Schedule int32 + +const ( + // UNSPECIFIED update schedule + Schedule_SCHEDULE_UNSPECIFIED Schedule = 0 + // REGULAR update schedule + Schedule_SCHEDULE_REGULAR Schedule = 1 + // IMMEDIATE update schedule for updating all agents immediately + Schedule_SCHEDULE_IMMEDIATE Schedule = 2 +) + +// Enum value maps for Schedule. +var ( + Schedule_name = map[int32]string{ + 0: "SCHEDULE_UNSPECIFIED", + 1: "SCHEDULE_REGULAR", + 2: "SCHEDULE_IMMEDIATE", + } + Schedule_value = map[string]int32{ + "SCHEDULE_UNSPECIFIED": 0, + "SCHEDULE_REGULAR": 1, + "SCHEDULE_IMMEDIATE": 2, + } +) + +func (x Schedule) Enum() *Schedule { + p := new(Schedule) + *p = x + return p +} + +func (x Schedule) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (Schedule) Descriptor() protoreflect.EnumDescriptor { + return file_teleport_autoupdate_v1_autoupdate_agent_plan_proto_enumTypes[0].Descriptor() +} + +func (Schedule) Type() protoreflect.EnumType { + return &file_teleport_autoupdate_v1_autoupdate_agent_plan_proto_enumTypes[0] +} + +func (x Schedule) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use Schedule.Descriptor instead. +func (Schedule) EnumDescriptor() ([]byte, []int) { + return file_teleport_autoupdate_v1_autoupdate_agent_plan_proto_rawDescGZIP(), []int{0} +} + +// Strategy type for the rollout +type Strategy int32 + +const ( + // UNSPECIFIED update strategy + Strategy_STRATEGY_UNSPECIFIED Strategy = 0 + // GROUPED update schedule, with no backpressure + Strategy_STRATEGY_GROUPED Strategy = 1 + // BACKPRESSURE update schedule + Strategy_STRATEGY_BACKPRESSURE Strategy = 2 +) + +// Enum value maps for Strategy. +var ( + Strategy_name = map[int32]string{ + 0: "STRATEGY_UNSPECIFIED", + 1: "STRATEGY_GROUPED", + 2: "STRATEGY_BACKPRESSURE", + } + Strategy_value = map[string]int32{ + "STRATEGY_UNSPECIFIED": 0, + "STRATEGY_GROUPED": 1, + "STRATEGY_BACKPRESSURE": 2, + } +) + +func (x Strategy) Enum() *Strategy { + p := new(Strategy) + *p = x + return p +} + +func (x Strategy) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (Strategy) Descriptor() protoreflect.EnumDescriptor { + return file_teleport_autoupdate_v1_autoupdate_agent_plan_proto_enumTypes[1].Descriptor() +} + +func (Strategy) Type() protoreflect.EnumType { + return &file_teleport_autoupdate_v1_autoupdate_agent_plan_proto_enumTypes[1] +} + +func (x Strategy) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use Strategy.Descriptor instead. +func (Strategy) EnumDescriptor() ([]byte, []int) { + return file_teleport_autoupdate_v1_autoupdate_agent_plan_proto_rawDescGZIP(), []int{1} +} + +// Mode of operation +type Mode int32 + +const ( + // UNSPECIFIED update mode + Mode_MODE_UNSPECIFIED Mode = 0 + // DISABLE updates + Mode_MODE_DISABLE Mode = 1 + // ENABLE updates + Mode_MODE_ENABLE Mode = 2 + // PAUSE updates + Mode_MODE_PAUSE Mode = 3 +) + +// Enum value maps for Mode. +var ( + Mode_name = map[int32]string{ + 0: "MODE_UNSPECIFIED", + 1: "MODE_DISABLE", + 2: "MODE_ENABLE", + 3: "MODE_PAUSE", + } + Mode_value = map[string]int32{ + "MODE_UNSPECIFIED": 0, + "MODE_DISABLE": 1, + "MODE_ENABLE": 2, + "MODE_PAUSE": 3, + } +) + +func (x Mode) Enum() *Mode { + p := new(Mode) + *p = x + return p +} + +func (x Mode) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (Mode) Descriptor() protoreflect.EnumDescriptor { + return file_teleport_autoupdate_v1_autoupdate_agent_plan_proto_enumTypes[2].Descriptor() +} + +func (Mode) Type() protoreflect.EnumType { + return &file_teleport_autoupdate_v1_autoupdate_agent_plan_proto_enumTypes[2] +} + +func (x Mode) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use Mode.Descriptor instead. +func (Mode) EnumDescriptor() ([]byte, []int) { + return file_teleport_autoupdate_v1_autoupdate_agent_plan_proto_rawDescGZIP(), []int{2} +} + +// State of the rollout +type State int32 + +const ( + // UNSPECIFIED state + State_STATE_UNSPECIFIED State = 0 + // UNSTARTED state + State_STATE_UNSTARTED State = 1 + // CANARY state + State_STATE_CANARY State = 2 + // ACTIVE state + State_STATE_ACTIVE State = 3 + // DONE state + State_STATE_DONE State = 4 + // ROLLEDBACK state + State_STATE_ROLLEDBACK State = 5 +) + +// Enum value maps for State. +var ( + State_name = map[int32]string{ + 0: "STATE_UNSPECIFIED", + 1: "STATE_UNSTARTED", + 2: "STATE_CANARY", + 3: "STATE_ACTIVE", + 4: "STATE_DONE", + 5: "STATE_ROLLEDBACK", + } + State_value = map[string]int32{ + "STATE_UNSPECIFIED": 0, + "STATE_UNSTARTED": 1, + "STATE_CANARY": 2, + "STATE_ACTIVE": 3, + "STATE_DONE": 4, + "STATE_ROLLEDBACK": 5, + } +) + +func (x State) Enum() *State { + p := new(State) + *p = x + return p +} + +func (x State) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (State) Descriptor() protoreflect.EnumDescriptor { + return file_teleport_autoupdate_v1_autoupdate_agent_plan_proto_enumTypes[3].Descriptor() +} + +func (State) Type() protoreflect.EnumType { + return &file_teleport_autoupdate_v1_autoupdate_agent_plan_proto_enumTypes[3] +} + +func (x State) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use State.Descriptor instead. +func (State) EnumDescriptor() ([]byte, []int) { + return file_teleport_autoupdate_v1_autoupdate_agent_plan_proto_rawDescGZIP(), []int{3} +} + +// AutoUpdateAgentPlan holds dynamic configuration settings for agent autoupdates. +type AutoUpdateAgentPlan struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // kind is the kind of the resource. + Kind string `protobuf:"bytes,1,opt,name=kind,proto3" json:"kind,omitempty"` + // sub_kind is the sub kind of the resource. + SubKind string `protobuf:"bytes,2,opt,name=sub_kind,json=subKind,proto3" json:"sub_kind,omitempty"` + // version is the version of the resource. + Version string `protobuf:"bytes,3,opt,name=version,proto3" json:"version,omitempty"` + // metadata is the metadata of the resource. + Metadata *v1.Metadata `protobuf:"bytes,4,opt,name=metadata,proto3" json:"metadata,omitempty"` + // spec is the spec of the resource. + Spec *AutoUpdateAgentPlanSpec `protobuf:"bytes,5,opt,name=spec,proto3" json:"spec,omitempty"` + // status is the status of the resource. + Status *AutoUpdateAgentPlanStatus `protobuf:"bytes,6,opt,name=status,proto3" json:"status,omitempty"` +} + +func (x *AutoUpdateAgentPlan) Reset() { + *x = AutoUpdateAgentPlan{} + if protoimpl.UnsafeEnabled { + mi := &file_teleport_autoupdate_v1_autoupdate_agent_plan_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *AutoUpdateAgentPlan) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AutoUpdateAgentPlan) ProtoMessage() {} + +func (x *AutoUpdateAgentPlan) ProtoReflect() protoreflect.Message { + mi := &file_teleport_autoupdate_v1_autoupdate_agent_plan_proto_msgTypes[0] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use AutoUpdateAgentPlan.ProtoReflect.Descriptor instead. +func (*AutoUpdateAgentPlan) Descriptor() ([]byte, []int) { + return file_teleport_autoupdate_v1_autoupdate_agent_plan_proto_rawDescGZIP(), []int{0} +} + +func (x *AutoUpdateAgentPlan) GetKind() string { + if x != nil { + return x.Kind + } + return "" +} + +func (x *AutoUpdateAgentPlan) GetSubKind() string { + if x != nil { + return x.SubKind + } + return "" +} + +func (x *AutoUpdateAgentPlan) GetVersion() string { + if x != nil { + return x.Version + } + return "" +} + +func (x *AutoUpdateAgentPlan) GetMetadata() *v1.Metadata { + if x != nil { + return x.Metadata + } + return nil +} + +func (x *AutoUpdateAgentPlan) GetSpec() *AutoUpdateAgentPlanSpec { + if x != nil { + return x.Spec + } + return nil +} + +func (x *AutoUpdateAgentPlan) GetStatus() *AutoUpdateAgentPlanStatus { + if x != nil { + return x.Status + } + return nil +} + +// AutoUpdateAgentPlanSpec is the spec for the autoupdate version. +type AutoUpdateAgentPlanSpec struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // start_version is the version to update from. + StartVersion string `protobuf:"bytes,1,opt,name=start_version,json=startVersion,proto3" json:"start_version,omitempty"` + // target_version is the version to update to. + TargetVersion string `protobuf:"bytes,2,opt,name=target_version,json=targetVersion,proto3" json:"target_version,omitempty"` + // schedule to use for the rollout + Schedule Schedule `protobuf:"varint,3,opt,name=schedule,proto3,enum=teleport.autoupdate.v1.Schedule" json:"schedule,omitempty"` + // strategy to use for the rollout + Strategy Strategy `protobuf:"varint,4,opt,name=strategy,proto3,enum=teleport.autoupdate.v1.Strategy" json:"strategy,omitempty"` + // autoupdate_mode to use for the rollout + AutoupdateMode Mode `protobuf:"varint,5,opt,name=autoupdate_mode,json=autoupdateMode,proto3,enum=teleport.autoupdate.v1.Mode" json:"autoupdate_mode,omitempty"` +} + +func (x *AutoUpdateAgentPlanSpec) Reset() { + *x = AutoUpdateAgentPlanSpec{} + if protoimpl.UnsafeEnabled { + mi := &file_teleport_autoupdate_v1_autoupdate_agent_plan_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *AutoUpdateAgentPlanSpec) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AutoUpdateAgentPlanSpec) ProtoMessage() {} + +func (x *AutoUpdateAgentPlanSpec) ProtoReflect() protoreflect.Message { + mi := &file_teleport_autoupdate_v1_autoupdate_agent_plan_proto_msgTypes[1] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use AutoUpdateAgentPlanSpec.ProtoReflect.Descriptor instead. +func (*AutoUpdateAgentPlanSpec) Descriptor() ([]byte, []int) { + return file_teleport_autoupdate_v1_autoupdate_agent_plan_proto_rawDescGZIP(), []int{1} +} + +func (x *AutoUpdateAgentPlanSpec) GetStartVersion() string { + if x != nil { + return x.StartVersion + } + return "" +} + +func (x *AutoUpdateAgentPlanSpec) GetTargetVersion() string { + if x != nil { + return x.TargetVersion + } + return "" +} + +func (x *AutoUpdateAgentPlanSpec) GetSchedule() Schedule { + if x != nil { + return x.Schedule + } + return Schedule_SCHEDULE_UNSPECIFIED +} + +func (x *AutoUpdateAgentPlanSpec) GetStrategy() Strategy { + if x != nil { + return x.Strategy + } + return Strategy_STRATEGY_UNSPECIFIED +} + +func (x *AutoUpdateAgentPlanSpec) GetAutoupdateMode() Mode { + if x != nil { + return x.AutoupdateMode + } + return Mode_MODE_UNSPECIFIED +} + +// AutoUpdateAgentPlanStatus is the status for the AutoUpdateAgentPlan. +type AutoUpdateAgentPlanStatus struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // name of the group + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + // start_time of the rollout + StartTime *timestamppb.Timestamp `protobuf:"bytes,2,opt,name=start_time,json=startTime,proto3" json:"start_time,omitempty"` + // initial_count is the number of connected agents at the start of the window. + InitialCount int64 `protobuf:"varint,3,opt,name=initial_count,json=initialCount,proto3" json:"initial_count,omitempty"` + // present_count is the current number of connected agents. + PresentCount int64 `protobuf:"varint,4,opt,name=present_count,json=presentCount,proto3" json:"present_count,omitempty"` + // failed_count specifies the number of failed agents. + FailedCount int64 `protobuf:"varint,5,opt,name=failed_count,json=failedCount,proto3" json:"failed_count,omitempty"` + // canaries is a list of canary agents. + Canaries []*Canary `protobuf:"bytes,6,rep,name=canaries,proto3" json:"canaries,omitempty"` + // progress is the current progress through the rollout. + Progress float32 `protobuf:"fixed32,7,opt,name=progress,proto3" json:"progress,omitempty"` + // state is the current state of the rollout. + State State `protobuf:"varint,8,opt,name=state,proto3,enum=teleport.autoupdate.v1.State" json:"state,omitempty"` + // last_update_time is the time of the previous update for this group. + LastUpdateTime *timestamppb.Timestamp `protobuf:"bytes,9,opt,name=last_update_time,json=lastUpdateTime,proto3" json:"last_update_time,omitempty"` + // last_update_reason is the trigger for the last update + LastUpdateReason string `protobuf:"bytes,10,opt,name=last_update_reason,json=lastUpdateReason,proto3" json:"last_update_reason,omitempty"` +} + +func (x *AutoUpdateAgentPlanStatus) Reset() { + *x = AutoUpdateAgentPlanStatus{} + if protoimpl.UnsafeEnabled { + mi := &file_teleport_autoupdate_v1_autoupdate_agent_plan_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *AutoUpdateAgentPlanStatus) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AutoUpdateAgentPlanStatus) ProtoMessage() {} + +func (x *AutoUpdateAgentPlanStatus) ProtoReflect() protoreflect.Message { + mi := &file_teleport_autoupdate_v1_autoupdate_agent_plan_proto_msgTypes[2] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use AutoUpdateAgentPlanStatus.ProtoReflect.Descriptor instead. +func (*AutoUpdateAgentPlanStatus) Descriptor() ([]byte, []int) { + return file_teleport_autoupdate_v1_autoupdate_agent_plan_proto_rawDescGZIP(), []int{2} +} + +func (x *AutoUpdateAgentPlanStatus) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *AutoUpdateAgentPlanStatus) GetStartTime() *timestamppb.Timestamp { + if x != nil { + return x.StartTime + } + return nil +} + +func (x *AutoUpdateAgentPlanStatus) GetInitialCount() int64 { + if x != nil { + return x.InitialCount + } + return 0 +} + +func (x *AutoUpdateAgentPlanStatus) GetPresentCount() int64 { + if x != nil { + return x.PresentCount + } + return 0 +} + +func (x *AutoUpdateAgentPlanStatus) GetFailedCount() int64 { + if x != nil { + return x.FailedCount + } + return 0 +} + +func (x *AutoUpdateAgentPlanStatus) GetCanaries() []*Canary { + if x != nil { + return x.Canaries + } + return nil +} + +func (x *AutoUpdateAgentPlanStatus) GetProgress() float32 { + if x != nil { + return x.Progress + } + return 0 +} + +func (x *AutoUpdateAgentPlanStatus) GetState() State { + if x != nil { + return x.State + } + return State_STATE_UNSPECIFIED +} + +func (x *AutoUpdateAgentPlanStatus) GetLastUpdateTime() *timestamppb.Timestamp { + if x != nil { + return x.LastUpdateTime + } + return nil +} + +func (x *AutoUpdateAgentPlanStatus) GetLastUpdateReason() string { + if x != nil { + return x.LastUpdateReason + } + return "" +} + +// Canary agent +type Canary struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // update_uuid of the canary agent + UpdateUuid string `protobuf:"bytes,1,opt,name=update_uuid,json=updateUuid,proto3" json:"update_uuid,omitempty"` + // host_uuid of the canary agent + HostUuid string `protobuf:"bytes,2,opt,name=host_uuid,json=hostUuid,proto3" json:"host_uuid,omitempty"` + // hostname of the canary agent + Hostname string `protobuf:"bytes,3,opt,name=hostname,proto3" json:"hostname,omitempty"` + // success state of the canary agent + Success bool `protobuf:"varint,4,opt,name=success,proto3" json:"success,omitempty"` +} + +func (x *Canary) Reset() { + *x = Canary{} + if protoimpl.UnsafeEnabled { + mi := &file_teleport_autoupdate_v1_autoupdate_agent_plan_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Canary) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Canary) ProtoMessage() {} + +func (x *Canary) ProtoReflect() protoreflect.Message { + mi := &file_teleport_autoupdate_v1_autoupdate_agent_plan_proto_msgTypes[3] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Canary.ProtoReflect.Descriptor instead. +func (*Canary) Descriptor() ([]byte, []int) { + return file_teleport_autoupdate_v1_autoupdate_agent_plan_proto_rawDescGZIP(), []int{3} +} + +func (x *Canary) GetUpdateUuid() string { + if x != nil { + return x.UpdateUuid + } + return "" +} + +func (x *Canary) GetHostUuid() string { + if x != nil { + return x.HostUuid + } + return "" +} + +func (x *Canary) GetHostname() string { + if x != nil { + return x.Hostname + } + return "" +} + +func (x *Canary) GetSuccess() bool { + if x != nil { + return x.Success + } + return false +} + +var File_teleport_autoupdate_v1_autoupdate_agent_plan_proto protoreflect.FileDescriptor + +var file_teleport_autoupdate_v1_autoupdate_agent_plan_proto_rawDesc = []byte{ + 0x0a, 0x32, 0x74, 0x65, 0x6c, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x2f, 0x61, 0x75, 0x74, 0x6f, 0x75, + 0x70, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x61, 0x75, 0x74, 0x6f, 0x75, 0x70, 0x64, + 0x61, 0x74, 0x65, 0x5f, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x5f, 0x70, 0x6c, 0x61, 0x6e, 0x2e, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x16, 0x74, 0x65, 0x6c, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x2e, 0x61, + 0x75, 0x74, 0x6f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x1a, 0x1f, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x74, 0x69, + 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x21, 0x74, + 0x65, 0x6c, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x2f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x2f, 0x76, + 0x31, 0x2f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x22, 0xa8, 0x02, 0x0a, 0x13, 0x41, 0x75, 0x74, 0x6f, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, + 0x67, 0x65, 0x6e, 0x74, 0x50, 0x6c, 0x61, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x12, 0x19, 0x0a, 0x08, + 0x73, 0x75, 0x62, 0x5f, 0x6b, 0x69, 0x6e, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, + 0x73, 0x75, 0x62, 0x4b, 0x69, 0x6e, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, + 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, + 0x6e, 0x12, 0x38, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x04, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x74, 0x65, 0x6c, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x2e, 0x68, + 0x65, 0x61, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, + 0x61, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x43, 0x0a, 0x04, 0x73, + 0x70, 0x65, 0x63, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x74, 0x65, 0x6c, 0x65, + 0x70, 0x6f, 0x72, 0x74, 0x2e, 0x61, 0x75, 0x74, 0x6f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x2e, + 0x76, 0x31, 0x2e, 0x41, 0x75, 0x74, 0x6f, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, 0x67, 0x65, + 0x6e, 0x74, 0x50, 0x6c, 0x61, 0x6e, 0x53, 0x70, 0x65, 0x63, 0x52, 0x04, 0x73, 0x70, 0x65, 0x63, + 0x12, 0x49, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x31, 0x2e, 0x74, 0x65, 0x6c, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x2e, 0x61, 0x75, 0x74, 0x6f, + 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x75, 0x74, 0x6f, 0x55, 0x70, + 0x64, 0x61, 0x74, 0x65, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x50, 0x6c, 0x61, 0x6e, 0x53, 0x74, 0x61, + 0x74, 0x75, 0x73, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, 0xa8, 0x02, 0x0a, 0x17, + 0x41, 0x75, 0x74, 0x6f, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x50, + 0x6c, 0x61, 0x6e, 0x53, 0x70, 0x65, 0x63, 0x12, 0x23, 0x0a, 0x0d, 0x73, 0x74, 0x61, 0x72, 0x74, + 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, + 0x73, 0x74, 0x61, 0x72, 0x74, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x25, 0x0a, 0x0e, + 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x56, 0x65, 0x72, 0x73, + 0x69, 0x6f, 0x6e, 0x12, 0x3c, 0x0a, 0x08, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x20, 0x2e, 0x74, 0x65, 0x6c, 0x65, 0x70, 0x6f, 0x72, 0x74, + 0x2e, 0x61, 0x75, 0x74, 0x6f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, + 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x52, 0x08, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, + 0x65, 0x12, 0x3c, 0x0a, 0x08, 0x73, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, 0x18, 0x04, 0x20, + 0x01, 0x28, 0x0e, 0x32, 0x20, 0x2e, 0x74, 0x65, 0x6c, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x2e, 0x61, + 0x75, 0x74, 0x6f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x74, 0x72, + 0x61, 0x74, 0x65, 0x67, 0x79, 0x52, 0x08, 0x73, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, 0x12, + 0x45, 0x0a, 0x0f, 0x61, 0x75, 0x74, 0x6f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x6f, + 0x64, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1c, 0x2e, 0x74, 0x65, 0x6c, 0x65, 0x70, + 0x6f, 0x72, 0x74, 0x2e, 0x61, 0x75, 0x74, 0x6f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x76, + 0x31, 0x2e, 0x4d, 0x6f, 0x64, 0x65, 0x52, 0x0e, 0x61, 0x75, 0x74, 0x6f, 0x75, 0x70, 0x64, 0x61, + 0x74, 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x22, 0xd8, 0x03, 0x0a, 0x19, 0x41, 0x75, 0x74, 0x6f, 0x55, + 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x50, 0x6c, 0x61, 0x6e, 0x53, 0x74, + 0x61, 0x74, 0x75, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x39, 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x72, + 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, + 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x09, 0x73, 0x74, 0x61, 0x72, 0x74, 0x54, + 0x69, 0x6d, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x63, + 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0c, 0x69, 0x6e, 0x69, 0x74, + 0x69, 0x61, 0x6c, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x23, 0x0a, 0x0d, 0x70, 0x72, 0x65, 0x73, + 0x65, 0x6e, 0x74, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, + 0x0c, 0x70, 0x72, 0x65, 0x73, 0x65, 0x6e, 0x74, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x21, 0x0a, + 0x0c, 0x66, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x05, 0x20, + 0x01, 0x28, 0x03, 0x52, 0x0b, 0x66, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x43, 0x6f, 0x75, 0x6e, 0x74, + 0x12, 0x3a, 0x0a, 0x08, 0x63, 0x61, 0x6e, 0x61, 0x72, 0x69, 0x65, 0x73, 0x18, 0x06, 0x20, 0x03, + 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x74, 0x65, 0x6c, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x2e, 0x61, 0x75, + 0x74, 0x6f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x61, 0x6e, 0x61, + 0x72, 0x79, 0x52, 0x08, 0x63, 0x61, 0x6e, 0x61, 0x72, 0x69, 0x65, 0x73, 0x12, 0x1a, 0x0a, 0x08, + 0x70, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x02, 0x52, 0x08, + 0x70, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x12, 0x33, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, + 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1d, 0x2e, 0x74, 0x65, 0x6c, 0x65, 0x70, 0x6f, + 0x72, 0x74, 0x2e, 0x61, 0x75, 0x74, 0x6f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x76, 0x31, + 0x2e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x44, 0x0a, + 0x10, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, + 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, + 0x61, 0x6d, 0x70, 0x52, 0x0e, 0x6c, 0x61, 0x73, 0x74, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, + 0x69, 0x6d, 0x65, 0x12, 0x2c, 0x0a, 0x12, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x75, 0x70, 0x64, 0x61, + 0x74, 0x65, 0x5f, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x10, 0x6c, 0x61, 0x73, 0x74, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x65, 0x61, 0x73, 0x6f, + 0x6e, 0x22, 0x7c, 0x0a, 0x06, 0x43, 0x61, 0x6e, 0x61, 0x72, 0x79, 0x12, 0x1f, 0x0a, 0x0b, 0x75, + 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x75, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x55, 0x75, 0x69, 0x64, 0x12, 0x1b, 0x0a, 0x09, + 0x68, 0x6f, 0x73, 0x74, 0x5f, 0x75, 0x75, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x08, 0x68, 0x6f, 0x73, 0x74, 0x55, 0x75, 0x69, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x68, 0x6f, 0x73, + 0x74, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x68, 0x6f, 0x73, + 0x74, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, + 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x2a, + 0x52, 0x0a, 0x08, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x12, 0x18, 0x0a, 0x14, 0x53, + 0x43, 0x48, 0x45, 0x44, 0x55, 0x4c, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, + 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x14, 0x0a, 0x10, 0x53, 0x43, 0x48, 0x45, 0x44, 0x55, 0x4c, + 0x45, 0x5f, 0x52, 0x45, 0x47, 0x55, 0x4c, 0x41, 0x52, 0x10, 0x01, 0x12, 0x16, 0x0a, 0x12, 0x53, + 0x43, 0x48, 0x45, 0x44, 0x55, 0x4c, 0x45, 0x5f, 0x49, 0x4d, 0x4d, 0x45, 0x44, 0x49, 0x41, 0x54, + 0x45, 0x10, 0x02, 0x2a, 0x55, 0x0a, 0x08, 0x53, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, 0x12, + 0x18, 0x0a, 0x14, 0x53, 0x54, 0x52, 0x41, 0x54, 0x45, 0x47, 0x59, 0x5f, 0x55, 0x4e, 0x53, 0x50, + 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x14, 0x0a, 0x10, 0x53, 0x54, 0x52, + 0x41, 0x54, 0x45, 0x47, 0x59, 0x5f, 0x47, 0x52, 0x4f, 0x55, 0x50, 0x45, 0x44, 0x10, 0x01, 0x12, + 0x19, 0x0a, 0x15, 0x53, 0x54, 0x52, 0x41, 0x54, 0x45, 0x47, 0x59, 0x5f, 0x42, 0x41, 0x43, 0x4b, + 0x50, 0x52, 0x45, 0x53, 0x53, 0x55, 0x52, 0x45, 0x10, 0x02, 0x2a, 0x4f, 0x0a, 0x04, 0x4d, 0x6f, + 0x64, 0x65, 0x12, 0x14, 0x0a, 0x10, 0x4d, 0x4f, 0x44, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, + 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x10, 0x0a, 0x0c, 0x4d, 0x4f, 0x44, 0x45, + 0x5f, 0x44, 0x49, 0x53, 0x41, 0x42, 0x4c, 0x45, 0x10, 0x01, 0x12, 0x0f, 0x0a, 0x0b, 0x4d, 0x4f, + 0x44, 0x45, 0x5f, 0x45, 0x4e, 0x41, 0x42, 0x4c, 0x45, 0x10, 0x02, 0x12, 0x0e, 0x0a, 0x0a, 0x4d, + 0x4f, 0x44, 0x45, 0x5f, 0x50, 0x41, 0x55, 0x53, 0x45, 0x10, 0x03, 0x2a, 0x7d, 0x0a, 0x05, 0x53, + 0x74, 0x61, 0x74, 0x65, 0x12, 0x15, 0x0a, 0x11, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x55, 0x4e, + 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x13, 0x0a, 0x0f, 0x53, + 0x54, 0x41, 0x54, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x54, 0x41, 0x52, 0x54, 0x45, 0x44, 0x10, 0x01, + 0x12, 0x10, 0x0a, 0x0c, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x43, 0x41, 0x4e, 0x41, 0x52, 0x59, + 0x10, 0x02, 0x12, 0x10, 0x0a, 0x0c, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x41, 0x43, 0x54, 0x49, + 0x56, 0x45, 0x10, 0x03, 0x12, 0x0e, 0x0a, 0x0a, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x44, 0x4f, + 0x4e, 0x45, 0x10, 0x04, 0x12, 0x14, 0x0a, 0x10, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x52, 0x4f, + 0x4c, 0x4c, 0x45, 0x44, 0x42, 0x41, 0x43, 0x4b, 0x10, 0x05, 0x42, 0x56, 0x5a, 0x54, 0x67, 0x69, + 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x67, 0x72, 0x61, 0x76, 0x69, 0x74, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x2f, 0x74, 0x65, 0x6c, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x2f, + 0x61, 0x70, 0x69, 0x2f, 0x67, 0x65, 0x6e, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x67, 0x6f, + 0x2f, 0x74, 0x65, 0x6c, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x2f, 0x61, 0x75, 0x74, 0x6f, 0x75, 0x70, + 0x64, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x3b, 0x61, 0x75, 0x74, 0x6f, 0x75, 0x70, 0x64, 0x61, + 0x74, 0x65, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_teleport_autoupdate_v1_autoupdate_agent_plan_proto_rawDescOnce sync.Once + file_teleport_autoupdate_v1_autoupdate_agent_plan_proto_rawDescData = file_teleport_autoupdate_v1_autoupdate_agent_plan_proto_rawDesc +) + +func file_teleport_autoupdate_v1_autoupdate_agent_plan_proto_rawDescGZIP() []byte { + file_teleport_autoupdate_v1_autoupdate_agent_plan_proto_rawDescOnce.Do(func() { + file_teleport_autoupdate_v1_autoupdate_agent_plan_proto_rawDescData = protoimpl.X.CompressGZIP(file_teleport_autoupdate_v1_autoupdate_agent_plan_proto_rawDescData) + }) + return file_teleport_autoupdate_v1_autoupdate_agent_plan_proto_rawDescData +} + +var file_teleport_autoupdate_v1_autoupdate_agent_plan_proto_enumTypes = make([]protoimpl.EnumInfo, 4) +var file_teleport_autoupdate_v1_autoupdate_agent_plan_proto_msgTypes = make([]protoimpl.MessageInfo, 4) +var file_teleport_autoupdate_v1_autoupdate_agent_plan_proto_goTypes = []any{ + (Schedule)(0), // 0: teleport.autoupdate.v1.Schedule + (Strategy)(0), // 1: teleport.autoupdate.v1.Strategy + (Mode)(0), // 2: teleport.autoupdate.v1.Mode + (State)(0), // 3: teleport.autoupdate.v1.State + (*AutoUpdateAgentPlan)(nil), // 4: teleport.autoupdate.v1.AutoUpdateAgentPlan + (*AutoUpdateAgentPlanSpec)(nil), // 5: teleport.autoupdate.v1.AutoUpdateAgentPlanSpec + (*AutoUpdateAgentPlanStatus)(nil), // 6: teleport.autoupdate.v1.AutoUpdateAgentPlanStatus + (*Canary)(nil), // 7: teleport.autoupdate.v1.Canary + (*v1.Metadata)(nil), // 8: teleport.header.v1.Metadata + (*timestamppb.Timestamp)(nil), // 9: google.protobuf.Timestamp +} +var file_teleport_autoupdate_v1_autoupdate_agent_plan_proto_depIdxs = []int32{ + 8, // 0: teleport.autoupdate.v1.AutoUpdateAgentPlan.metadata:type_name -> teleport.header.v1.Metadata + 5, // 1: teleport.autoupdate.v1.AutoUpdateAgentPlan.spec:type_name -> teleport.autoupdate.v1.AutoUpdateAgentPlanSpec + 6, // 2: teleport.autoupdate.v1.AutoUpdateAgentPlan.status:type_name -> teleport.autoupdate.v1.AutoUpdateAgentPlanStatus + 0, // 3: teleport.autoupdate.v1.AutoUpdateAgentPlanSpec.schedule:type_name -> teleport.autoupdate.v1.Schedule + 1, // 4: teleport.autoupdate.v1.AutoUpdateAgentPlanSpec.strategy:type_name -> teleport.autoupdate.v1.Strategy + 2, // 5: teleport.autoupdate.v1.AutoUpdateAgentPlanSpec.autoupdate_mode:type_name -> teleport.autoupdate.v1.Mode + 9, // 6: teleport.autoupdate.v1.AutoUpdateAgentPlanStatus.start_time:type_name -> google.protobuf.Timestamp + 7, // 7: teleport.autoupdate.v1.AutoUpdateAgentPlanStatus.canaries:type_name -> teleport.autoupdate.v1.Canary + 3, // 8: teleport.autoupdate.v1.AutoUpdateAgentPlanStatus.state:type_name -> teleport.autoupdate.v1.State + 9, // 9: teleport.autoupdate.v1.AutoUpdateAgentPlanStatus.last_update_time:type_name -> google.protobuf.Timestamp + 10, // [10:10] is the sub-list for method output_type + 10, // [10:10] is the sub-list for method input_type + 10, // [10:10] is the sub-list for extension type_name + 10, // [10:10] is the sub-list for extension extendee + 0, // [0:10] is the sub-list for field type_name +} + +func init() { file_teleport_autoupdate_v1_autoupdate_agent_plan_proto_init() } +func file_teleport_autoupdate_v1_autoupdate_agent_plan_proto_init() { + if File_teleport_autoupdate_v1_autoupdate_agent_plan_proto != nil { + return + } + if !protoimpl.UnsafeEnabled { + file_teleport_autoupdate_v1_autoupdate_agent_plan_proto_msgTypes[0].Exporter = func(v any, i int) any { + switch v := v.(*AutoUpdateAgentPlan); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_teleport_autoupdate_v1_autoupdate_agent_plan_proto_msgTypes[1].Exporter = func(v any, i int) any { + switch v := v.(*AutoUpdateAgentPlanSpec); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_teleport_autoupdate_v1_autoupdate_agent_plan_proto_msgTypes[2].Exporter = func(v any, i int) any { + switch v := v.(*AutoUpdateAgentPlanStatus); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_teleport_autoupdate_v1_autoupdate_agent_plan_proto_msgTypes[3].Exporter = func(v any, i int) any { + switch v := v.(*Canary); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_teleport_autoupdate_v1_autoupdate_agent_plan_proto_rawDesc, + NumEnums: 4, + NumMessages: 4, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_teleport_autoupdate_v1_autoupdate_agent_plan_proto_goTypes, + DependencyIndexes: file_teleport_autoupdate_v1_autoupdate_agent_plan_proto_depIdxs, + EnumInfos: file_teleport_autoupdate_v1_autoupdate_agent_plan_proto_enumTypes, + MessageInfos: file_teleport_autoupdate_v1_autoupdate_agent_plan_proto_msgTypes, + }.Build() + File_teleport_autoupdate_v1_autoupdate_agent_plan_proto = out.File + file_teleport_autoupdate_v1_autoupdate_agent_plan_proto_rawDesc = nil + file_teleport_autoupdate_v1_autoupdate_agent_plan_proto_goTypes = nil + file_teleport_autoupdate_v1_autoupdate_agent_plan_proto_depIdxs = nil +} diff --git a/api/gen/proto/go/teleport/autoupdate/v1/autoupdate_service.pb.go b/api/gen/proto/go/teleport/autoupdate/v1/autoupdate_service.pb.go index afe88216dd6bc..41aa8f13e459c 100644 --- a/api/gen/proto/go/teleport/autoupdate/v1/autoupdate_service.pb.go +++ b/api/gen/proto/go/teleport/autoupdate/v1/autoupdate_service.pb.go @@ -479,6 +479,228 @@ func (*DeleteAutoUpdateVersionRequest) Descriptor() ([]byte, []int) { return file_teleport_autoupdate_v1_autoupdate_service_proto_rawDescGZIP(), []int{9} } +// Request for GetAutoUpdateAgentPlan. +type GetAutoUpdateAgentPlanRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields +} + +func (x *GetAutoUpdateAgentPlanRequest) Reset() { + *x = GetAutoUpdateAgentPlanRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_teleport_autoupdate_v1_autoupdate_service_proto_msgTypes[10] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GetAutoUpdateAgentPlanRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetAutoUpdateAgentPlanRequest) ProtoMessage() {} + +func (x *GetAutoUpdateAgentPlanRequest) ProtoReflect() protoreflect.Message { + mi := &file_teleport_autoupdate_v1_autoupdate_service_proto_msgTypes[10] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetAutoUpdateAgentPlanRequest.ProtoReflect.Descriptor instead. +func (*GetAutoUpdateAgentPlanRequest) Descriptor() ([]byte, []int) { + return file_teleport_autoupdate_v1_autoupdate_service_proto_rawDescGZIP(), []int{10} +} + +// Request for CreateAutoUpdateAgentPlan. +type CreateAutoUpdateAgentPlanRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Plan *AutoUpdateAgentPlan `protobuf:"bytes,1,opt,name=plan,proto3" json:"plan,omitempty"` +} + +func (x *CreateAutoUpdateAgentPlanRequest) Reset() { + *x = CreateAutoUpdateAgentPlanRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_teleport_autoupdate_v1_autoupdate_service_proto_msgTypes[11] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CreateAutoUpdateAgentPlanRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CreateAutoUpdateAgentPlanRequest) ProtoMessage() {} + +func (x *CreateAutoUpdateAgentPlanRequest) ProtoReflect() protoreflect.Message { + mi := &file_teleport_autoupdate_v1_autoupdate_service_proto_msgTypes[11] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CreateAutoUpdateAgentPlanRequest.ProtoReflect.Descriptor instead. +func (*CreateAutoUpdateAgentPlanRequest) Descriptor() ([]byte, []int) { + return file_teleport_autoupdate_v1_autoupdate_service_proto_rawDescGZIP(), []int{11} +} + +func (x *CreateAutoUpdateAgentPlanRequest) GetPlan() *AutoUpdateAgentPlan { + if x != nil { + return x.Plan + } + return nil +} + +// Request for UpdateAutoUpdateConfig. +type UpdateAutoUpdateAgentPlanRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Plan *AutoUpdateAgentPlan `protobuf:"bytes,1,opt,name=plan,proto3" json:"plan,omitempty"` +} + +func (x *UpdateAutoUpdateAgentPlanRequest) Reset() { + *x = UpdateAutoUpdateAgentPlanRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_teleport_autoupdate_v1_autoupdate_service_proto_msgTypes[12] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *UpdateAutoUpdateAgentPlanRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UpdateAutoUpdateAgentPlanRequest) ProtoMessage() {} + +func (x *UpdateAutoUpdateAgentPlanRequest) ProtoReflect() protoreflect.Message { + mi := &file_teleport_autoupdate_v1_autoupdate_service_proto_msgTypes[12] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use UpdateAutoUpdateAgentPlanRequest.ProtoReflect.Descriptor instead. +func (*UpdateAutoUpdateAgentPlanRequest) Descriptor() ([]byte, []int) { + return file_teleport_autoupdate_v1_autoupdate_service_proto_rawDescGZIP(), []int{12} +} + +func (x *UpdateAutoUpdateAgentPlanRequest) GetPlan() *AutoUpdateAgentPlan { + if x != nil { + return x.Plan + } + return nil +} + +// Request for UpsertAutoUpdateAgentPlan. +type UpsertAutoUpdateAgentPlanRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Plan *AutoUpdateAgentPlan `protobuf:"bytes,1,opt,name=plan,proto3" json:"plan,omitempty"` +} + +func (x *UpsertAutoUpdateAgentPlanRequest) Reset() { + *x = UpsertAutoUpdateAgentPlanRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_teleport_autoupdate_v1_autoupdate_service_proto_msgTypes[13] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *UpsertAutoUpdateAgentPlanRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UpsertAutoUpdateAgentPlanRequest) ProtoMessage() {} + +func (x *UpsertAutoUpdateAgentPlanRequest) ProtoReflect() protoreflect.Message { + mi := &file_teleport_autoupdate_v1_autoupdate_service_proto_msgTypes[13] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use UpsertAutoUpdateAgentPlanRequest.ProtoReflect.Descriptor instead. +func (*UpsertAutoUpdateAgentPlanRequest) Descriptor() ([]byte, []int) { + return file_teleport_autoupdate_v1_autoupdate_service_proto_rawDescGZIP(), []int{13} +} + +func (x *UpsertAutoUpdateAgentPlanRequest) GetPlan() *AutoUpdateAgentPlan { + if x != nil { + return x.Plan + } + return nil +} + +// Request for DeleteAutoUpdateAgentPlan. +type DeleteAutoUpdateAgentPlanRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields +} + +func (x *DeleteAutoUpdateAgentPlanRequest) Reset() { + *x = DeleteAutoUpdateAgentPlanRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_teleport_autoupdate_v1_autoupdate_service_proto_msgTypes[14] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *DeleteAutoUpdateAgentPlanRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DeleteAutoUpdateAgentPlanRequest) ProtoMessage() {} + +func (x *DeleteAutoUpdateAgentPlanRequest) ProtoReflect() protoreflect.Message { + mi := &file_teleport_autoupdate_v1_autoupdate_service_proto_msgTypes[14] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use DeleteAutoUpdateAgentPlanRequest.ProtoReflect.Descriptor instead. +func (*DeleteAutoUpdateAgentPlanRequest) Descriptor() ([]byte, []int) { + return file_teleport_autoupdate_v1_autoupdate_service_proto_rawDescGZIP(), []int{14} +} + var File_teleport_autoupdate_v1_autoupdate_service_proto protoreflect.FileDescriptor var file_teleport_autoupdate_v1_autoupdate_service_proto_rawDesc = []byte{ @@ -490,135 +712,202 @@ var file_teleport_autoupdate_v1_autoupdate_service_proto_rawDesc = []byte{ 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x65, 0x6d, 0x70, 0x74, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x27, 0x74, 0x65, 0x6c, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x2f, 0x61, 0x75, 0x74, 0x6f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x61, - 0x75, 0x74, 0x6f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, - 0x1c, 0x0a, 0x1a, 0x47, 0x65, 0x74, 0x41, 0x75, 0x74, 0x6f, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, - 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x61, 0x0a, - 0x1d, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, 0x75, 0x74, 0x6f, 0x55, 0x70, 0x64, 0x61, 0x74, - 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x40, - 0x0a, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, + 0x75, 0x74, 0x6f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, + 0x32, 0x74, 0x65, 0x6c, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x2f, 0x61, 0x75, 0x74, 0x6f, 0x75, 0x70, + 0x64, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x61, 0x75, 0x74, 0x6f, 0x75, 0x70, 0x64, 0x61, + 0x74, 0x65, 0x5f, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x5f, 0x70, 0x6c, 0x61, 0x6e, 0x2e, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x22, 0x1c, 0x0a, 0x1a, 0x47, 0x65, 0x74, 0x41, 0x75, 0x74, 0x6f, 0x55, 0x70, + 0x64, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x22, 0x61, 0x0a, 0x1d, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, 0x75, 0x74, 0x6f, 0x55, + 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x12, 0x40, 0x0a, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x74, 0x65, 0x6c, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x2e, 0x61, 0x75, + 0x74, 0x6f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x75, 0x74, 0x6f, + 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x06, 0x63, 0x6f, + 0x6e, 0x66, 0x69, 0x67, 0x22, 0x61, 0x0a, 0x1d, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, 0x75, + 0x74, 0x6f, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x40, 0x0a, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x74, 0x65, 0x6c, 0x65, 0x70, 0x6f, 0x72, 0x74, + 0x2e, 0x61, 0x75, 0x74, 0x6f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x41, + 0x75, 0x74, 0x6f, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, + 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x22, 0x61, 0x0a, 0x1d, 0x55, 0x70, 0x73, 0x65, 0x72, + 0x74, 0x41, 0x75, 0x74, 0x6f, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, + 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x40, 0x0a, 0x06, 0x63, 0x6f, 0x6e, 0x66, + 0x69, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x74, 0x65, 0x6c, 0x65, 0x70, + 0x6f, 0x72, 0x74, 0x2e, 0x61, 0x75, 0x74, 0x6f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x76, + 0x31, 0x2e, 0x41, 0x75, 0x74, 0x6f, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x66, + 0x69, 0x67, 0x52, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x22, 0x1f, 0x0a, 0x1d, 0x44, 0x65, + 0x6c, 0x65, 0x74, 0x65, 0x41, 0x75, 0x74, 0x6f, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x6f, + 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x1d, 0x0a, 0x1b, 0x47, + 0x65, 0x74, 0x41, 0x75, 0x74, 0x6f, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x56, 0x65, 0x72, 0x73, + 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x65, 0x0a, 0x1e, 0x43, 0x72, + 0x65, 0x61, 0x74, 0x65, 0x41, 0x75, 0x74, 0x6f, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x56, 0x65, + 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x43, 0x0a, 0x07, + 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, + 0x74, 0x65, 0x6c, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x2e, 0x61, 0x75, 0x74, 0x6f, 0x75, 0x70, 0x64, + 0x61, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x75, 0x74, 0x6f, 0x55, 0x70, 0x64, 0x61, 0x74, + 0x65, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, + 0x6e, 0x22, 0x65, 0x0a, 0x1e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, 0x75, 0x74, 0x6f, 0x55, + 0x70, 0x64, 0x61, 0x74, 0x65, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x12, 0x43, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x74, 0x65, 0x6c, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x2e, + 0x61, 0x75, 0x74, 0x6f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x75, + 0x74, 0x6f, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, + 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0x65, 0x0a, 0x1e, 0x55, 0x70, 0x73, 0x65, + 0x72, 0x74, 0x41, 0x75, 0x74, 0x6f, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x56, 0x65, 0x72, 0x73, + 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x43, 0x0a, 0x07, 0x76, 0x65, + 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x74, 0x65, + 0x6c, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x2e, 0x61, 0x75, 0x74, 0x6f, 0x75, 0x70, 0x64, 0x61, 0x74, + 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x75, 0x74, 0x6f, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x56, + 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x22, + 0x20, 0x0a, 0x1e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x41, 0x75, 0x74, 0x6f, 0x55, 0x70, 0x64, + 0x61, 0x74, 0x65, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x22, 0x1f, 0x0a, 0x1d, 0x47, 0x65, 0x74, 0x41, 0x75, 0x74, 0x6f, 0x55, 0x70, 0x64, 0x61, + 0x74, 0x65, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x50, 0x6c, 0x61, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x22, 0x63, 0x0a, 0x20, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, 0x75, 0x74, 0x6f, + 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x50, 0x6c, 0x61, 0x6e, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3f, 0x0a, 0x04, 0x70, 0x6c, 0x61, 0x6e, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x74, 0x65, 0x6c, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x2e, + 0x61, 0x75, 0x74, 0x6f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x75, + 0x74, 0x6f, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x50, 0x6c, 0x61, + 0x6e, 0x52, 0x04, 0x70, 0x6c, 0x61, 0x6e, 0x22, 0x63, 0x0a, 0x20, 0x55, 0x70, 0x64, 0x61, 0x74, + 0x65, 0x41, 0x75, 0x74, 0x6f, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, 0x67, 0x65, 0x6e, 0x74, + 0x50, 0x6c, 0x61, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3f, 0x0a, 0x04, 0x70, + 0x6c, 0x61, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x74, 0x65, 0x6c, 0x65, + 0x70, 0x6f, 0x72, 0x74, 0x2e, 0x61, 0x75, 0x74, 0x6f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x2e, + 0x76, 0x31, 0x2e, 0x41, 0x75, 0x74, 0x6f, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, 0x67, 0x65, + 0x6e, 0x74, 0x50, 0x6c, 0x61, 0x6e, 0x52, 0x04, 0x70, 0x6c, 0x61, 0x6e, 0x22, 0x63, 0x0a, 0x20, + 0x55, 0x70, 0x73, 0x65, 0x72, 0x74, 0x41, 0x75, 0x74, 0x6f, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, + 0x41, 0x67, 0x65, 0x6e, 0x74, 0x50, 0x6c, 0x61, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x12, 0x3f, 0x0a, 0x04, 0x70, 0x6c, 0x61, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x74, 0x65, 0x6c, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x2e, 0x61, 0x75, 0x74, 0x6f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x75, 0x74, 0x6f, 0x55, 0x70, 0x64, 0x61, - 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, - 0x22, 0x61, 0x0a, 0x1d, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, 0x75, 0x74, 0x6f, 0x55, 0x70, + 0x74, 0x65, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x50, 0x6c, 0x61, 0x6e, 0x52, 0x04, 0x70, 0x6c, 0x61, + 0x6e, 0x22, 0x22, 0x0a, 0x20, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x41, 0x75, 0x74, 0x6f, 0x55, + 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x50, 0x6c, 0x61, 0x6e, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x32, 0xbb, 0x0e, 0x0a, 0x11, 0x41, 0x75, 0x74, 0x6f, 0x55, 0x70, + 0x64, 0x61, 0x74, 0x65, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x73, 0x0a, 0x13, 0x47, + 0x65, 0x74, 0x41, 0x75, 0x74, 0x6f, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x66, + 0x69, 0x67, 0x12, 0x32, 0x2e, 0x74, 0x65, 0x6c, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x2e, 0x61, 0x75, + 0x74, 0x6f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x41, + 0x75, 0x74, 0x6f, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x28, 0x2e, 0x74, 0x65, 0x6c, 0x65, 0x70, 0x6f, 0x72, + 0x74, 0x2e, 0x61, 0x75, 0x74, 0x6f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, + 0x41, 0x75, 0x74, 0x6f, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, + 0x12, 0x79, 0x0a, 0x16, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, 0x75, 0x74, 0x6f, 0x55, 0x70, + 0x64, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x35, 0x2e, 0x74, 0x65, 0x6c, + 0x65, 0x70, 0x6f, 0x72, 0x74, 0x2e, 0x61, 0x75, 0x74, 0x6f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, + 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, 0x75, 0x74, 0x6f, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x12, 0x40, 0x0a, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x28, 0x2e, 0x74, 0x65, 0x6c, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x2e, 0x61, 0x75, 0x74, + 0x74, 0x1a, 0x28, 0x2e, 0x74, 0x65, 0x6c, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x2e, 0x61, 0x75, 0x74, 0x6f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x75, 0x74, 0x6f, 0x55, - 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x06, 0x63, 0x6f, 0x6e, - 0x66, 0x69, 0x67, 0x22, 0x61, 0x0a, 0x1d, 0x55, 0x70, 0x73, 0x65, 0x72, 0x74, 0x41, 0x75, 0x74, - 0x6f, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x12, 0x40, 0x0a, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x74, 0x65, 0x6c, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x2e, - 0x61, 0x75, 0x74, 0x6f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x75, - 0x74, 0x6f, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x06, - 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x22, 0x1f, 0x0a, 0x1d, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, + 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x79, 0x0a, 0x16, 0x55, + 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, 0x75, 0x74, 0x6f, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, + 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x35, 0x2e, 0x74, 0x65, 0x6c, 0x65, 0x70, 0x6f, 0x72, 0x74, + 0x2e, 0x61, 0x75, 0x74, 0x6f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x55, + 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, 0x75, 0x74, 0x6f, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, + 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x28, 0x2e, 0x74, + 0x65, 0x6c, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x2e, 0x61, 0x75, 0x74, 0x6f, 0x75, 0x70, 0x64, 0x61, + 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x75, 0x74, 0x6f, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, + 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x79, 0x0a, 0x16, 0x55, 0x70, 0x73, 0x65, 0x72, 0x74, 0x41, 0x75, 0x74, 0x6f, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x1d, 0x0a, 0x1b, 0x47, 0x65, 0x74, 0x41, 0x75, - 0x74, 0x6f, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x65, 0x0a, 0x1e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, - 0x41, 0x75, 0x74, 0x6f, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, - 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x43, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, - 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x74, 0x65, 0x6c, 0x65, - 0x70, 0x6f, 0x72, 0x74, 0x2e, 0x61, 0x75, 0x74, 0x6f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x2e, - 0x76, 0x31, 0x2e, 0x41, 0x75, 0x74, 0x6f, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x56, 0x65, 0x72, - 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0x65, 0x0a, - 0x1e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, 0x75, 0x74, 0x6f, 0x55, 0x70, 0x64, 0x61, 0x74, - 0x65, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, - 0x43, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x29, 0x2e, 0x74, 0x65, 0x6c, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x2e, 0x61, 0x75, 0x74, 0x6f, - 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x75, 0x74, 0x6f, 0x55, 0x70, - 0x64, 0x61, 0x74, 0x65, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x07, 0x76, 0x65, 0x72, - 0x73, 0x69, 0x6f, 0x6e, 0x22, 0x65, 0x0a, 0x1e, 0x55, 0x70, 0x73, 0x65, 0x72, 0x74, 0x41, 0x75, - 0x74, 0x6f, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x43, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, - 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x74, 0x65, 0x6c, 0x65, 0x70, 0x6f, + 0x12, 0x35, 0x2e, 0x74, 0x65, 0x6c, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x2e, 0x61, 0x75, 0x74, 0x6f, + 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x73, 0x65, 0x72, 0x74, + 0x41, 0x75, 0x74, 0x6f, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x28, 0x2e, 0x74, 0x65, 0x6c, 0x65, 0x70, 0x6f, + 0x72, 0x74, 0x2e, 0x61, 0x75, 0x74, 0x6f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x76, 0x31, + 0x2e, 0x41, 0x75, 0x74, 0x6f, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, + 0x67, 0x12, 0x67, 0x0a, 0x16, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x41, 0x75, 0x74, 0x6f, 0x55, + 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x35, 0x2e, 0x74, 0x65, + 0x6c, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x2e, 0x61, 0x75, 0x74, 0x6f, 0x75, 0x70, 0x64, 0x61, 0x74, + 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x41, 0x75, 0x74, 0x6f, 0x55, + 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x12, 0x76, 0x0a, 0x14, 0x47, 0x65, + 0x74, 0x41, 0x75, 0x74, 0x6f, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x56, 0x65, 0x72, 0x73, 0x69, + 0x6f, 0x6e, 0x12, 0x33, 0x2e, 0x74, 0x65, 0x6c, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x2e, 0x61, 0x75, + 0x74, 0x6f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x41, + 0x75, 0x74, 0x6f, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x29, 0x2e, 0x74, 0x65, 0x6c, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x2e, 0x61, 0x75, 0x74, 0x6f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x75, 0x74, 0x6f, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x56, 0x65, 0x72, 0x73, 0x69, - 0x6f, 0x6e, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0x20, 0x0a, 0x1e, 0x44, - 0x65, 0x6c, 0x65, 0x74, 0x65, 0x41, 0x75, 0x74, 0x6f, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x56, - 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x32, 0xbf, 0x09, - 0x0a, 0x11, 0x41, 0x75, 0x74, 0x6f, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x53, 0x65, 0x72, 0x76, - 0x69, 0x63, 0x65, 0x12, 0x73, 0x0a, 0x13, 0x47, 0x65, 0x74, 0x41, 0x75, 0x74, 0x6f, 0x55, 0x70, - 0x64, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x32, 0x2e, 0x74, 0x65, 0x6c, - 0x65, 0x70, 0x6f, 0x72, 0x74, 0x2e, 0x61, 0x75, 0x74, 0x6f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, - 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x41, 0x75, 0x74, 0x6f, 0x55, 0x70, 0x64, 0x61, 0x74, - 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x28, - 0x2e, 0x74, 0x65, 0x6c, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x2e, 0x61, 0x75, 0x74, 0x6f, 0x75, 0x70, - 0x64, 0x61, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x75, 0x74, 0x6f, 0x55, 0x70, 0x64, 0x61, - 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x79, 0x0a, 0x16, 0x43, 0x72, 0x65, 0x61, - 0x74, 0x65, 0x41, 0x75, 0x74, 0x6f, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x66, - 0x69, 0x67, 0x12, 0x35, 0x2e, 0x74, 0x65, 0x6c, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x2e, 0x61, 0x75, - 0x74, 0x6f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, - 0x74, 0x65, 0x41, 0x75, 0x74, 0x6f, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x66, - 0x69, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x28, 0x2e, 0x74, 0x65, 0x6c, 0x65, - 0x70, 0x6f, 0x72, 0x74, 0x2e, 0x61, 0x75, 0x74, 0x6f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x2e, - 0x76, 0x31, 0x2e, 0x41, 0x75, 0x74, 0x6f, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, - 0x66, 0x69, 0x67, 0x12, 0x79, 0x0a, 0x16, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, 0x75, 0x74, - 0x6f, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x35, 0x2e, + 0x6f, 0x6e, 0x12, 0x7c, 0x0a, 0x17, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, 0x75, 0x74, 0x6f, + 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x36, 0x2e, 0x74, 0x65, 0x6c, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x2e, 0x61, 0x75, 0x74, 0x6f, 0x75, 0x70, 0x64, - 0x61, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, 0x75, 0x74, - 0x6f, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x1a, 0x28, 0x2e, 0x74, 0x65, 0x6c, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x2e, - 0x61, 0x75, 0x74, 0x6f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x75, - 0x74, 0x6f, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x79, - 0x0a, 0x16, 0x55, 0x70, 0x73, 0x65, 0x72, 0x74, 0x41, 0x75, 0x74, 0x6f, 0x55, 0x70, 0x64, 0x61, - 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x35, 0x2e, 0x74, 0x65, 0x6c, 0x65, 0x70, - 0x6f, 0x72, 0x74, 0x2e, 0x61, 0x75, 0x74, 0x6f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x76, - 0x31, 0x2e, 0x55, 0x70, 0x73, 0x65, 0x72, 0x74, 0x41, 0x75, 0x74, 0x6f, 0x55, 0x70, 0x64, 0x61, - 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, - 0x28, 0x2e, 0x74, 0x65, 0x6c, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x2e, 0x61, 0x75, 0x74, 0x6f, 0x75, - 0x70, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x75, 0x74, 0x6f, 0x55, 0x70, 0x64, - 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x67, 0x0a, 0x16, 0x44, 0x65, 0x6c, - 0x65, 0x74, 0x65, 0x41, 0x75, 0x74, 0x6f, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, - 0x66, 0x69, 0x67, 0x12, 0x35, 0x2e, 0x74, 0x65, 0x6c, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x2e, 0x61, - 0x75, 0x74, 0x6f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x6c, - 0x65, 0x74, 0x65, 0x41, 0x75, 0x74, 0x6f, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, - 0x66, 0x69, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, - 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, - 0x74, 0x79, 0x12, 0x76, 0x0a, 0x14, 0x47, 0x65, 0x74, 0x41, 0x75, 0x74, 0x6f, 0x55, 0x70, 0x64, - 0x61, 0x74, 0x65, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x33, 0x2e, 0x74, 0x65, 0x6c, - 0x65, 0x70, 0x6f, 0x72, 0x74, 0x2e, 0x61, 0x75, 0x74, 0x6f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, - 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x41, 0x75, 0x74, 0x6f, 0x55, 0x70, 0x64, 0x61, 0x74, + 0x61, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, 0x75, 0x74, + 0x6f, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x29, 0x2e, 0x74, 0x65, 0x6c, 0x65, 0x70, 0x6f, 0x72, 0x74, + 0x2e, 0x61, 0x75, 0x74, 0x6f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x41, + 0x75, 0x74, 0x6f, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, + 0x12, 0x7c, 0x0a, 0x17, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, 0x75, 0x74, 0x6f, 0x55, 0x70, + 0x64, 0x61, 0x74, 0x65, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x36, 0x2e, 0x74, 0x65, + 0x6c, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x2e, 0x61, 0x75, 0x74, 0x6f, 0x75, 0x70, 0x64, 0x61, 0x74, + 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, 0x75, 0x74, 0x6f, 0x55, + 0x70, 0x64, 0x61, 0x74, 0x65, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x1a, 0x29, 0x2e, 0x74, 0x65, 0x6c, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x2e, 0x61, + 0x75, 0x74, 0x6f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x75, 0x74, + 0x6f, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x7c, + 0x0a, 0x17, 0x55, 0x70, 0x73, 0x65, 0x72, 0x74, 0x41, 0x75, 0x74, 0x6f, 0x55, 0x70, 0x64, 0x61, + 0x74, 0x65, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x36, 0x2e, 0x74, 0x65, 0x6c, 0x65, + 0x70, 0x6f, 0x72, 0x74, 0x2e, 0x61, 0x75, 0x74, 0x6f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x2e, + 0x76, 0x31, 0x2e, 0x55, 0x70, 0x73, 0x65, 0x72, 0x74, 0x41, 0x75, 0x74, 0x6f, 0x55, 0x70, 0x64, + 0x61, 0x74, 0x65, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x29, 0x2e, 0x74, 0x65, 0x6c, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x2e, 0x61, 0x75, 0x74, + 0x6f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x75, 0x74, 0x6f, 0x55, + 0x70, 0x64, 0x61, 0x74, 0x65, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x69, 0x0a, 0x17, + 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x41, 0x75, 0x74, 0x6f, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, + 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x36, 0x2e, 0x74, 0x65, 0x6c, 0x65, 0x70, 0x6f, + 0x72, 0x74, 0x2e, 0x61, 0x75, 0x74, 0x6f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x76, 0x31, + 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x41, 0x75, 0x74, 0x6f, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, - 0x29, 0x2e, 0x74, 0x65, 0x6c, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x2e, 0x61, 0x75, 0x74, 0x6f, 0x75, - 0x70, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x75, 0x74, 0x6f, 0x55, 0x70, 0x64, - 0x61, 0x74, 0x65, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x7c, 0x0a, 0x17, 0x43, 0x72, - 0x65, 0x61, 0x74, 0x65, 0x41, 0x75, 0x74, 0x6f, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x56, 0x65, - 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x36, 0x2e, 0x74, 0x65, 0x6c, 0x65, 0x70, 0x6f, 0x72, 0x74, - 0x2e, 0x61, 0x75, 0x74, 0x6f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x43, - 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, 0x75, 0x74, 0x6f, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x56, - 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x29, 0x2e, + 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, + 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x12, 0x7c, 0x0a, 0x16, 0x47, 0x65, 0x74, 0x41, 0x75, + 0x74, 0x6f, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x50, 0x6c, 0x61, + 0x6e, 0x12, 0x35, 0x2e, 0x74, 0x65, 0x6c, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x2e, 0x61, 0x75, 0x74, + 0x6f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x41, 0x75, + 0x74, 0x6f, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x50, 0x6c, 0x61, + 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2b, 0x2e, 0x74, 0x65, 0x6c, 0x65, 0x70, + 0x6f, 0x72, 0x74, 0x2e, 0x61, 0x75, 0x74, 0x6f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x76, + 0x31, 0x2e, 0x41, 0x75, 0x74, 0x6f, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, 0x67, 0x65, 0x6e, + 0x74, 0x50, 0x6c, 0x61, 0x6e, 0x12, 0x82, 0x01, 0x0a, 0x19, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, + 0x41, 0x75, 0x74, 0x6f, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x50, + 0x6c, 0x61, 0x6e, 0x12, 0x38, 0x2e, 0x74, 0x65, 0x6c, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x2e, 0x61, + 0x75, 0x74, 0x6f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, + 0x61, 0x74, 0x65, 0x41, 0x75, 0x74, 0x6f, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, 0x67, 0x65, + 0x6e, 0x74, 0x50, 0x6c, 0x61, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2b, 0x2e, 0x74, 0x65, 0x6c, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x2e, 0x61, 0x75, 0x74, 0x6f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x75, 0x74, 0x6f, 0x55, 0x70, 0x64, 0x61, 0x74, - 0x65, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x7c, 0x0a, 0x17, 0x55, 0x70, 0x64, 0x61, - 0x74, 0x65, 0x41, 0x75, 0x74, 0x6f, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x56, 0x65, 0x72, 0x73, - 0x69, 0x6f, 0x6e, 0x12, 0x36, 0x2e, 0x74, 0x65, 0x6c, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x2e, 0x61, - 0x75, 0x74, 0x6f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x64, - 0x61, 0x74, 0x65, 0x41, 0x75, 0x74, 0x6f, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x56, 0x65, 0x72, - 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x29, 0x2e, 0x74, 0x65, - 0x6c, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x2e, 0x61, 0x75, 0x74, 0x6f, 0x75, 0x70, 0x64, 0x61, 0x74, - 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x75, 0x74, 0x6f, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x56, - 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x7c, 0x0a, 0x17, 0x55, 0x70, 0x73, 0x65, 0x72, 0x74, - 0x41, 0x75, 0x74, 0x6f, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, - 0x6e, 0x12, 0x36, 0x2e, 0x74, 0x65, 0x6c, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x2e, 0x61, 0x75, 0x74, - 0x6f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x73, 0x65, 0x72, - 0x74, 0x41, 0x75, 0x74, 0x6f, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x56, 0x65, 0x72, 0x73, 0x69, - 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x29, 0x2e, 0x74, 0x65, 0x6c, 0x65, - 0x70, 0x6f, 0x72, 0x74, 0x2e, 0x61, 0x75, 0x74, 0x6f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x2e, - 0x76, 0x31, 0x2e, 0x41, 0x75, 0x74, 0x6f, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x56, 0x65, 0x72, - 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x69, 0x0a, 0x17, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x41, 0x75, - 0x74, 0x6f, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, - 0x36, 0x2e, 0x74, 0x65, 0x6c, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x2e, 0x61, 0x75, 0x74, 0x6f, 0x75, - 0x70, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x41, - 0x75, 0x74, 0x6f, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, - 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x42, - 0x56, 0x5a, 0x54, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x67, 0x72, - 0x61, 0x76, 0x69, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x2f, 0x74, 0x65, 0x6c, 0x65, - 0x70, 0x6f, 0x72, 0x74, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x67, 0x65, 0x6e, 0x2f, 0x70, 0x72, 0x6f, - 0x74, 0x6f, 0x2f, 0x67, 0x6f, 0x2f, 0x74, 0x65, 0x6c, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x2f, 0x61, - 0x75, 0x74, 0x6f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x3b, 0x61, 0x75, 0x74, - 0x6f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x65, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x50, 0x6c, 0x61, 0x6e, 0x12, 0x82, 0x01, 0x0a, 0x19, 0x55, + 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, 0x75, 0x74, 0x6f, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, + 0x67, 0x65, 0x6e, 0x74, 0x50, 0x6c, 0x61, 0x6e, 0x12, 0x38, 0x2e, 0x74, 0x65, 0x6c, 0x65, 0x70, + 0x6f, 0x72, 0x74, 0x2e, 0x61, 0x75, 0x74, 0x6f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x76, + 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, 0x75, 0x74, 0x6f, 0x55, 0x70, 0x64, 0x61, + 0x74, 0x65, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x50, 0x6c, 0x61, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 0x2b, 0x2e, 0x74, 0x65, 0x6c, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x2e, 0x61, 0x75, + 0x74, 0x6f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x75, 0x74, 0x6f, + 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x50, 0x6c, 0x61, 0x6e, 0x12, + 0x82, 0x01, 0x0a, 0x19, 0x55, 0x70, 0x73, 0x65, 0x72, 0x74, 0x41, 0x75, 0x74, 0x6f, 0x55, 0x70, + 0x64, 0x61, 0x74, 0x65, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x50, 0x6c, 0x61, 0x6e, 0x12, 0x38, 0x2e, + 0x74, 0x65, 0x6c, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x2e, 0x61, 0x75, 0x74, 0x6f, 0x75, 0x70, 0x64, + 0x61, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x73, 0x65, 0x72, 0x74, 0x41, 0x75, 0x74, + 0x6f, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x50, 0x6c, 0x61, 0x6e, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2b, 0x2e, 0x74, 0x65, 0x6c, 0x65, 0x70, 0x6f, + 0x72, 0x74, 0x2e, 0x61, 0x75, 0x74, 0x6f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x76, 0x31, + 0x2e, 0x41, 0x75, 0x74, 0x6f, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, 0x67, 0x65, 0x6e, 0x74, + 0x50, 0x6c, 0x61, 0x6e, 0x12, 0x6d, 0x0a, 0x19, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x41, 0x75, + 0x74, 0x6f, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x50, 0x6c, 0x61, + 0x6e, 0x12, 0x38, 0x2e, 0x74, 0x65, 0x6c, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x2e, 0x61, 0x75, 0x74, + 0x6f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, + 0x65, 0x41, 0x75, 0x74, 0x6f, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, 0x67, 0x65, 0x6e, 0x74, + 0x50, 0x6c, 0x61, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, + 0x70, 0x74, 0x79, 0x42, 0x56, 0x5a, 0x54, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, + 0x6d, 0x2f, 0x67, 0x72, 0x61, 0x76, 0x69, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x2f, + 0x74, 0x65, 0x6c, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x67, 0x65, 0x6e, + 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x67, 0x6f, 0x2f, 0x74, 0x65, 0x6c, 0x65, 0x70, 0x6f, + 0x72, 0x74, 0x2f, 0x61, 0x75, 0x74, 0x6f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x31, + 0x3b, 0x61, 0x75, 0x74, 0x6f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x62, 0x06, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x33, } var ( @@ -633,54 +922,73 @@ func file_teleport_autoupdate_v1_autoupdate_service_proto_rawDescGZIP() []byte { return file_teleport_autoupdate_v1_autoupdate_service_proto_rawDescData } -var file_teleport_autoupdate_v1_autoupdate_service_proto_msgTypes = make([]protoimpl.MessageInfo, 10) +var file_teleport_autoupdate_v1_autoupdate_service_proto_msgTypes = make([]protoimpl.MessageInfo, 15) var file_teleport_autoupdate_v1_autoupdate_service_proto_goTypes = []any{ - (*GetAutoUpdateConfigRequest)(nil), // 0: teleport.autoupdate.v1.GetAutoUpdateConfigRequest - (*CreateAutoUpdateConfigRequest)(nil), // 1: teleport.autoupdate.v1.CreateAutoUpdateConfigRequest - (*UpdateAutoUpdateConfigRequest)(nil), // 2: teleport.autoupdate.v1.UpdateAutoUpdateConfigRequest - (*UpsertAutoUpdateConfigRequest)(nil), // 3: teleport.autoupdate.v1.UpsertAutoUpdateConfigRequest - (*DeleteAutoUpdateConfigRequest)(nil), // 4: teleport.autoupdate.v1.DeleteAutoUpdateConfigRequest - (*GetAutoUpdateVersionRequest)(nil), // 5: teleport.autoupdate.v1.GetAutoUpdateVersionRequest - (*CreateAutoUpdateVersionRequest)(nil), // 6: teleport.autoupdate.v1.CreateAutoUpdateVersionRequest - (*UpdateAutoUpdateVersionRequest)(nil), // 7: teleport.autoupdate.v1.UpdateAutoUpdateVersionRequest - (*UpsertAutoUpdateVersionRequest)(nil), // 8: teleport.autoupdate.v1.UpsertAutoUpdateVersionRequest - (*DeleteAutoUpdateVersionRequest)(nil), // 9: teleport.autoupdate.v1.DeleteAutoUpdateVersionRequest - (*AutoUpdateConfig)(nil), // 10: teleport.autoupdate.v1.AutoUpdateConfig - (*AutoUpdateVersion)(nil), // 11: teleport.autoupdate.v1.AutoUpdateVersion - (*emptypb.Empty)(nil), // 12: google.protobuf.Empty + (*GetAutoUpdateConfigRequest)(nil), // 0: teleport.autoupdate.v1.GetAutoUpdateConfigRequest + (*CreateAutoUpdateConfigRequest)(nil), // 1: teleport.autoupdate.v1.CreateAutoUpdateConfigRequest + (*UpdateAutoUpdateConfigRequest)(nil), // 2: teleport.autoupdate.v1.UpdateAutoUpdateConfigRequest + (*UpsertAutoUpdateConfigRequest)(nil), // 3: teleport.autoupdate.v1.UpsertAutoUpdateConfigRequest + (*DeleteAutoUpdateConfigRequest)(nil), // 4: teleport.autoupdate.v1.DeleteAutoUpdateConfigRequest + (*GetAutoUpdateVersionRequest)(nil), // 5: teleport.autoupdate.v1.GetAutoUpdateVersionRequest + (*CreateAutoUpdateVersionRequest)(nil), // 6: teleport.autoupdate.v1.CreateAutoUpdateVersionRequest + (*UpdateAutoUpdateVersionRequest)(nil), // 7: teleport.autoupdate.v1.UpdateAutoUpdateVersionRequest + (*UpsertAutoUpdateVersionRequest)(nil), // 8: teleport.autoupdate.v1.UpsertAutoUpdateVersionRequest + (*DeleteAutoUpdateVersionRequest)(nil), // 9: teleport.autoupdate.v1.DeleteAutoUpdateVersionRequest + (*GetAutoUpdateAgentPlanRequest)(nil), // 10: teleport.autoupdate.v1.GetAutoUpdateAgentPlanRequest + (*CreateAutoUpdateAgentPlanRequest)(nil), // 11: teleport.autoupdate.v1.CreateAutoUpdateAgentPlanRequest + (*UpdateAutoUpdateAgentPlanRequest)(nil), // 12: teleport.autoupdate.v1.UpdateAutoUpdateAgentPlanRequest + (*UpsertAutoUpdateAgentPlanRequest)(nil), // 13: teleport.autoupdate.v1.UpsertAutoUpdateAgentPlanRequest + (*DeleteAutoUpdateAgentPlanRequest)(nil), // 14: teleport.autoupdate.v1.DeleteAutoUpdateAgentPlanRequest + (*AutoUpdateConfig)(nil), // 15: teleport.autoupdate.v1.AutoUpdateConfig + (*AutoUpdateVersion)(nil), // 16: teleport.autoupdate.v1.AutoUpdateVersion + (*AutoUpdateAgentPlan)(nil), // 17: teleport.autoupdate.v1.AutoUpdateAgentPlan + (*emptypb.Empty)(nil), // 18: google.protobuf.Empty } var file_teleport_autoupdate_v1_autoupdate_service_proto_depIdxs = []int32{ - 10, // 0: teleport.autoupdate.v1.CreateAutoUpdateConfigRequest.config:type_name -> teleport.autoupdate.v1.AutoUpdateConfig - 10, // 1: teleport.autoupdate.v1.UpdateAutoUpdateConfigRequest.config:type_name -> teleport.autoupdate.v1.AutoUpdateConfig - 10, // 2: teleport.autoupdate.v1.UpsertAutoUpdateConfigRequest.config:type_name -> teleport.autoupdate.v1.AutoUpdateConfig - 11, // 3: teleport.autoupdate.v1.CreateAutoUpdateVersionRequest.version:type_name -> teleport.autoupdate.v1.AutoUpdateVersion - 11, // 4: teleport.autoupdate.v1.UpdateAutoUpdateVersionRequest.version:type_name -> teleport.autoupdate.v1.AutoUpdateVersion - 11, // 5: teleport.autoupdate.v1.UpsertAutoUpdateVersionRequest.version:type_name -> teleport.autoupdate.v1.AutoUpdateVersion - 0, // 6: teleport.autoupdate.v1.AutoUpdateService.GetAutoUpdateConfig:input_type -> teleport.autoupdate.v1.GetAutoUpdateConfigRequest - 1, // 7: teleport.autoupdate.v1.AutoUpdateService.CreateAutoUpdateConfig:input_type -> teleport.autoupdate.v1.CreateAutoUpdateConfigRequest - 2, // 8: teleport.autoupdate.v1.AutoUpdateService.UpdateAutoUpdateConfig:input_type -> teleport.autoupdate.v1.UpdateAutoUpdateConfigRequest - 3, // 9: teleport.autoupdate.v1.AutoUpdateService.UpsertAutoUpdateConfig:input_type -> teleport.autoupdate.v1.UpsertAutoUpdateConfigRequest - 4, // 10: teleport.autoupdate.v1.AutoUpdateService.DeleteAutoUpdateConfig:input_type -> teleport.autoupdate.v1.DeleteAutoUpdateConfigRequest - 5, // 11: teleport.autoupdate.v1.AutoUpdateService.GetAutoUpdateVersion:input_type -> teleport.autoupdate.v1.GetAutoUpdateVersionRequest - 6, // 12: teleport.autoupdate.v1.AutoUpdateService.CreateAutoUpdateVersion:input_type -> teleport.autoupdate.v1.CreateAutoUpdateVersionRequest - 7, // 13: teleport.autoupdate.v1.AutoUpdateService.UpdateAutoUpdateVersion:input_type -> teleport.autoupdate.v1.UpdateAutoUpdateVersionRequest - 8, // 14: teleport.autoupdate.v1.AutoUpdateService.UpsertAutoUpdateVersion:input_type -> teleport.autoupdate.v1.UpsertAutoUpdateVersionRequest - 9, // 15: teleport.autoupdate.v1.AutoUpdateService.DeleteAutoUpdateVersion:input_type -> teleport.autoupdate.v1.DeleteAutoUpdateVersionRequest - 10, // 16: teleport.autoupdate.v1.AutoUpdateService.GetAutoUpdateConfig:output_type -> teleport.autoupdate.v1.AutoUpdateConfig - 10, // 17: teleport.autoupdate.v1.AutoUpdateService.CreateAutoUpdateConfig:output_type -> teleport.autoupdate.v1.AutoUpdateConfig - 10, // 18: teleport.autoupdate.v1.AutoUpdateService.UpdateAutoUpdateConfig:output_type -> teleport.autoupdate.v1.AutoUpdateConfig - 10, // 19: teleport.autoupdate.v1.AutoUpdateService.UpsertAutoUpdateConfig:output_type -> teleport.autoupdate.v1.AutoUpdateConfig - 12, // 20: teleport.autoupdate.v1.AutoUpdateService.DeleteAutoUpdateConfig:output_type -> google.protobuf.Empty - 11, // 21: teleport.autoupdate.v1.AutoUpdateService.GetAutoUpdateVersion:output_type -> teleport.autoupdate.v1.AutoUpdateVersion - 11, // 22: teleport.autoupdate.v1.AutoUpdateService.CreateAutoUpdateVersion:output_type -> teleport.autoupdate.v1.AutoUpdateVersion - 11, // 23: teleport.autoupdate.v1.AutoUpdateService.UpdateAutoUpdateVersion:output_type -> teleport.autoupdate.v1.AutoUpdateVersion - 11, // 24: teleport.autoupdate.v1.AutoUpdateService.UpsertAutoUpdateVersion:output_type -> teleport.autoupdate.v1.AutoUpdateVersion - 12, // 25: teleport.autoupdate.v1.AutoUpdateService.DeleteAutoUpdateVersion:output_type -> google.protobuf.Empty - 16, // [16:26] is the sub-list for method output_type - 6, // [6:16] is the sub-list for method input_type - 6, // [6:6] is the sub-list for extension type_name - 6, // [6:6] is the sub-list for extension extendee - 0, // [0:6] is the sub-list for field type_name + 15, // 0: teleport.autoupdate.v1.CreateAutoUpdateConfigRequest.config:type_name -> teleport.autoupdate.v1.AutoUpdateConfig + 15, // 1: teleport.autoupdate.v1.UpdateAutoUpdateConfigRequest.config:type_name -> teleport.autoupdate.v1.AutoUpdateConfig + 15, // 2: teleport.autoupdate.v1.UpsertAutoUpdateConfigRequest.config:type_name -> teleport.autoupdate.v1.AutoUpdateConfig + 16, // 3: teleport.autoupdate.v1.CreateAutoUpdateVersionRequest.version:type_name -> teleport.autoupdate.v1.AutoUpdateVersion + 16, // 4: teleport.autoupdate.v1.UpdateAutoUpdateVersionRequest.version:type_name -> teleport.autoupdate.v1.AutoUpdateVersion + 16, // 5: teleport.autoupdate.v1.UpsertAutoUpdateVersionRequest.version:type_name -> teleport.autoupdate.v1.AutoUpdateVersion + 17, // 6: teleport.autoupdate.v1.CreateAutoUpdateAgentPlanRequest.plan:type_name -> teleport.autoupdate.v1.AutoUpdateAgentPlan + 17, // 7: teleport.autoupdate.v1.UpdateAutoUpdateAgentPlanRequest.plan:type_name -> teleport.autoupdate.v1.AutoUpdateAgentPlan + 17, // 8: teleport.autoupdate.v1.UpsertAutoUpdateAgentPlanRequest.plan:type_name -> teleport.autoupdate.v1.AutoUpdateAgentPlan + 0, // 9: teleport.autoupdate.v1.AutoUpdateService.GetAutoUpdateConfig:input_type -> teleport.autoupdate.v1.GetAutoUpdateConfigRequest + 1, // 10: teleport.autoupdate.v1.AutoUpdateService.CreateAutoUpdateConfig:input_type -> teleport.autoupdate.v1.CreateAutoUpdateConfigRequest + 2, // 11: teleport.autoupdate.v1.AutoUpdateService.UpdateAutoUpdateConfig:input_type -> teleport.autoupdate.v1.UpdateAutoUpdateConfigRequest + 3, // 12: teleport.autoupdate.v1.AutoUpdateService.UpsertAutoUpdateConfig:input_type -> teleport.autoupdate.v1.UpsertAutoUpdateConfigRequest + 4, // 13: teleport.autoupdate.v1.AutoUpdateService.DeleteAutoUpdateConfig:input_type -> teleport.autoupdate.v1.DeleteAutoUpdateConfigRequest + 5, // 14: teleport.autoupdate.v1.AutoUpdateService.GetAutoUpdateVersion:input_type -> teleport.autoupdate.v1.GetAutoUpdateVersionRequest + 6, // 15: teleport.autoupdate.v1.AutoUpdateService.CreateAutoUpdateVersion:input_type -> teleport.autoupdate.v1.CreateAutoUpdateVersionRequest + 7, // 16: teleport.autoupdate.v1.AutoUpdateService.UpdateAutoUpdateVersion:input_type -> teleport.autoupdate.v1.UpdateAutoUpdateVersionRequest + 8, // 17: teleport.autoupdate.v1.AutoUpdateService.UpsertAutoUpdateVersion:input_type -> teleport.autoupdate.v1.UpsertAutoUpdateVersionRequest + 9, // 18: teleport.autoupdate.v1.AutoUpdateService.DeleteAutoUpdateVersion:input_type -> teleport.autoupdate.v1.DeleteAutoUpdateVersionRequest + 10, // 19: teleport.autoupdate.v1.AutoUpdateService.GetAutoUpdateAgentPlan:input_type -> teleport.autoupdate.v1.GetAutoUpdateAgentPlanRequest + 11, // 20: teleport.autoupdate.v1.AutoUpdateService.CreateAutoUpdateAgentPlan:input_type -> teleport.autoupdate.v1.CreateAutoUpdateAgentPlanRequest + 12, // 21: teleport.autoupdate.v1.AutoUpdateService.UpdateAutoUpdateAgentPlan:input_type -> teleport.autoupdate.v1.UpdateAutoUpdateAgentPlanRequest + 13, // 22: teleport.autoupdate.v1.AutoUpdateService.UpsertAutoUpdateAgentPlan:input_type -> teleport.autoupdate.v1.UpsertAutoUpdateAgentPlanRequest + 14, // 23: teleport.autoupdate.v1.AutoUpdateService.DeleteAutoUpdateAgentPlan:input_type -> teleport.autoupdate.v1.DeleteAutoUpdateAgentPlanRequest + 15, // 24: teleport.autoupdate.v1.AutoUpdateService.GetAutoUpdateConfig:output_type -> teleport.autoupdate.v1.AutoUpdateConfig + 15, // 25: teleport.autoupdate.v1.AutoUpdateService.CreateAutoUpdateConfig:output_type -> teleport.autoupdate.v1.AutoUpdateConfig + 15, // 26: teleport.autoupdate.v1.AutoUpdateService.UpdateAutoUpdateConfig:output_type -> teleport.autoupdate.v1.AutoUpdateConfig + 15, // 27: teleport.autoupdate.v1.AutoUpdateService.UpsertAutoUpdateConfig:output_type -> teleport.autoupdate.v1.AutoUpdateConfig + 18, // 28: teleport.autoupdate.v1.AutoUpdateService.DeleteAutoUpdateConfig:output_type -> google.protobuf.Empty + 16, // 29: teleport.autoupdate.v1.AutoUpdateService.GetAutoUpdateVersion:output_type -> teleport.autoupdate.v1.AutoUpdateVersion + 16, // 30: teleport.autoupdate.v1.AutoUpdateService.CreateAutoUpdateVersion:output_type -> teleport.autoupdate.v1.AutoUpdateVersion + 16, // 31: teleport.autoupdate.v1.AutoUpdateService.UpdateAutoUpdateVersion:output_type -> teleport.autoupdate.v1.AutoUpdateVersion + 16, // 32: teleport.autoupdate.v1.AutoUpdateService.UpsertAutoUpdateVersion:output_type -> teleport.autoupdate.v1.AutoUpdateVersion + 18, // 33: teleport.autoupdate.v1.AutoUpdateService.DeleteAutoUpdateVersion:output_type -> google.protobuf.Empty + 17, // 34: teleport.autoupdate.v1.AutoUpdateService.GetAutoUpdateAgentPlan:output_type -> teleport.autoupdate.v1.AutoUpdateAgentPlan + 17, // 35: teleport.autoupdate.v1.AutoUpdateService.CreateAutoUpdateAgentPlan:output_type -> teleport.autoupdate.v1.AutoUpdateAgentPlan + 17, // 36: teleport.autoupdate.v1.AutoUpdateService.UpdateAutoUpdateAgentPlan:output_type -> teleport.autoupdate.v1.AutoUpdateAgentPlan + 17, // 37: teleport.autoupdate.v1.AutoUpdateService.UpsertAutoUpdateAgentPlan:output_type -> teleport.autoupdate.v1.AutoUpdateAgentPlan + 18, // 38: teleport.autoupdate.v1.AutoUpdateService.DeleteAutoUpdateAgentPlan:output_type -> google.protobuf.Empty + 24, // [24:39] is the sub-list for method output_type + 9, // [9:24] is the sub-list for method input_type + 9, // [9:9] is the sub-list for extension type_name + 9, // [9:9] is the sub-list for extension extendee + 0, // [0:9] is the sub-list for field type_name } func init() { file_teleport_autoupdate_v1_autoupdate_service_proto_init() } @@ -689,6 +997,7 @@ func file_teleport_autoupdate_v1_autoupdate_service_proto_init() { return } file_teleport_autoupdate_v1_autoupdate_proto_init() + file_teleport_autoupdate_v1_autoupdate_agent_plan_proto_init() if !protoimpl.UnsafeEnabled { file_teleport_autoupdate_v1_autoupdate_service_proto_msgTypes[0].Exporter = func(v any, i int) any { switch v := v.(*GetAutoUpdateConfigRequest); i { @@ -810,6 +1119,66 @@ func file_teleport_autoupdate_v1_autoupdate_service_proto_init() { return nil } } + file_teleport_autoupdate_v1_autoupdate_service_proto_msgTypes[10].Exporter = func(v any, i int) any { + switch v := v.(*GetAutoUpdateAgentPlanRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_teleport_autoupdate_v1_autoupdate_service_proto_msgTypes[11].Exporter = func(v any, i int) any { + switch v := v.(*CreateAutoUpdateAgentPlanRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_teleport_autoupdate_v1_autoupdate_service_proto_msgTypes[12].Exporter = func(v any, i int) any { + switch v := v.(*UpdateAutoUpdateAgentPlanRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_teleport_autoupdate_v1_autoupdate_service_proto_msgTypes[13].Exporter = func(v any, i int) any { + switch v := v.(*UpsertAutoUpdateAgentPlanRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_teleport_autoupdate_v1_autoupdate_service_proto_msgTypes[14].Exporter = func(v any, i int) any { + switch v := v.(*DeleteAutoUpdateAgentPlanRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } } type x struct{} out := protoimpl.TypeBuilder{ @@ -817,7 +1186,7 @@ func file_teleport_autoupdate_v1_autoupdate_service_proto_init() { GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_teleport_autoupdate_v1_autoupdate_service_proto_rawDesc, NumEnums: 0, - NumMessages: 10, + NumMessages: 15, NumExtensions: 0, NumServices: 1, }, diff --git a/api/gen/proto/go/teleport/autoupdate/v1/autoupdate_service_grpc.pb.go b/api/gen/proto/go/teleport/autoupdate/v1/autoupdate_service_grpc.pb.go index 46746b2f9ae7f..9d6b13080434e 100644 --- a/api/gen/proto/go/teleport/autoupdate/v1/autoupdate_service_grpc.pb.go +++ b/api/gen/proto/go/teleport/autoupdate/v1/autoupdate_service_grpc.pb.go @@ -34,16 +34,21 @@ import ( const _ = grpc.SupportPackageIsVersion9 const ( - AutoUpdateService_GetAutoUpdateConfig_FullMethodName = "/teleport.autoupdate.v1.AutoUpdateService/GetAutoUpdateConfig" - AutoUpdateService_CreateAutoUpdateConfig_FullMethodName = "/teleport.autoupdate.v1.AutoUpdateService/CreateAutoUpdateConfig" - AutoUpdateService_UpdateAutoUpdateConfig_FullMethodName = "/teleport.autoupdate.v1.AutoUpdateService/UpdateAutoUpdateConfig" - AutoUpdateService_UpsertAutoUpdateConfig_FullMethodName = "/teleport.autoupdate.v1.AutoUpdateService/UpsertAutoUpdateConfig" - AutoUpdateService_DeleteAutoUpdateConfig_FullMethodName = "/teleport.autoupdate.v1.AutoUpdateService/DeleteAutoUpdateConfig" - AutoUpdateService_GetAutoUpdateVersion_FullMethodName = "/teleport.autoupdate.v1.AutoUpdateService/GetAutoUpdateVersion" - AutoUpdateService_CreateAutoUpdateVersion_FullMethodName = "/teleport.autoupdate.v1.AutoUpdateService/CreateAutoUpdateVersion" - AutoUpdateService_UpdateAutoUpdateVersion_FullMethodName = "/teleport.autoupdate.v1.AutoUpdateService/UpdateAutoUpdateVersion" - AutoUpdateService_UpsertAutoUpdateVersion_FullMethodName = "/teleport.autoupdate.v1.AutoUpdateService/UpsertAutoUpdateVersion" - AutoUpdateService_DeleteAutoUpdateVersion_FullMethodName = "/teleport.autoupdate.v1.AutoUpdateService/DeleteAutoUpdateVersion" + AutoUpdateService_GetAutoUpdateConfig_FullMethodName = "/teleport.autoupdate.v1.AutoUpdateService/GetAutoUpdateConfig" + AutoUpdateService_CreateAutoUpdateConfig_FullMethodName = "/teleport.autoupdate.v1.AutoUpdateService/CreateAutoUpdateConfig" + AutoUpdateService_UpdateAutoUpdateConfig_FullMethodName = "/teleport.autoupdate.v1.AutoUpdateService/UpdateAutoUpdateConfig" + AutoUpdateService_UpsertAutoUpdateConfig_FullMethodName = "/teleport.autoupdate.v1.AutoUpdateService/UpsertAutoUpdateConfig" + AutoUpdateService_DeleteAutoUpdateConfig_FullMethodName = "/teleport.autoupdate.v1.AutoUpdateService/DeleteAutoUpdateConfig" + AutoUpdateService_GetAutoUpdateVersion_FullMethodName = "/teleport.autoupdate.v1.AutoUpdateService/GetAutoUpdateVersion" + AutoUpdateService_CreateAutoUpdateVersion_FullMethodName = "/teleport.autoupdate.v1.AutoUpdateService/CreateAutoUpdateVersion" + AutoUpdateService_UpdateAutoUpdateVersion_FullMethodName = "/teleport.autoupdate.v1.AutoUpdateService/UpdateAutoUpdateVersion" + AutoUpdateService_UpsertAutoUpdateVersion_FullMethodName = "/teleport.autoupdate.v1.AutoUpdateService/UpsertAutoUpdateVersion" + AutoUpdateService_DeleteAutoUpdateVersion_FullMethodName = "/teleport.autoupdate.v1.AutoUpdateService/DeleteAutoUpdateVersion" + AutoUpdateService_GetAutoUpdateAgentPlan_FullMethodName = "/teleport.autoupdate.v1.AutoUpdateService/GetAutoUpdateAgentPlan" + AutoUpdateService_CreateAutoUpdateAgentPlan_FullMethodName = "/teleport.autoupdate.v1.AutoUpdateService/CreateAutoUpdateAgentPlan" + AutoUpdateService_UpdateAutoUpdateAgentPlan_FullMethodName = "/teleport.autoupdate.v1.AutoUpdateService/UpdateAutoUpdateAgentPlan" + AutoUpdateService_UpsertAutoUpdateAgentPlan_FullMethodName = "/teleport.autoupdate.v1.AutoUpdateService/UpsertAutoUpdateAgentPlan" + AutoUpdateService_DeleteAutoUpdateAgentPlan_FullMethodName = "/teleport.autoupdate.v1.AutoUpdateService/DeleteAutoUpdateAgentPlan" ) // AutoUpdateServiceClient is the client API for AutoUpdateService service. @@ -72,6 +77,16 @@ type AutoUpdateServiceClient interface { UpsertAutoUpdateVersion(ctx context.Context, in *UpsertAutoUpdateVersionRequest, opts ...grpc.CallOption) (*AutoUpdateVersion, error) // DeleteAutoUpdateVersion hard deletes the specified AutoUpdateVersionRequest. DeleteAutoUpdateVersion(ctx context.Context, in *DeleteAutoUpdateVersionRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) + // GetAutoUpdateAgentPlan gets the current autoupdate version singleton. + GetAutoUpdateAgentPlan(ctx context.Context, in *GetAutoUpdateAgentPlanRequest, opts ...grpc.CallOption) (*AutoUpdateAgentPlan, error) + // CreateAutoUpdateAgentPlan creates a new AutoUpdateAgentPlan. + CreateAutoUpdateAgentPlan(ctx context.Context, in *CreateAutoUpdateAgentPlanRequest, opts ...grpc.CallOption) (*AutoUpdateAgentPlan, error) + // UpdateAutoUpdateAgentPlan updates AutoUpdateAgentPlan singleton. + UpdateAutoUpdateAgentPlan(ctx context.Context, in *UpdateAutoUpdateAgentPlanRequest, opts ...grpc.CallOption) (*AutoUpdateAgentPlan, error) + // UpsertAutoUpdateAgentPlan creates a new AutoUpdateAgentPlan or replaces an existing AutoUpdateAgentPlan. + UpsertAutoUpdateAgentPlan(ctx context.Context, in *UpsertAutoUpdateAgentPlanRequest, opts ...grpc.CallOption) (*AutoUpdateAgentPlan, error) + // DeleteAutoUpdateAgentPlan hard deletes the specified AutoUpdateAgentPlanRequest. + DeleteAutoUpdateAgentPlan(ctx context.Context, in *DeleteAutoUpdateAgentPlanRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) } type autoUpdateServiceClient struct { @@ -182,6 +197,56 @@ func (c *autoUpdateServiceClient) DeleteAutoUpdateVersion(ctx context.Context, i return out, nil } +func (c *autoUpdateServiceClient) GetAutoUpdateAgentPlan(ctx context.Context, in *GetAutoUpdateAgentPlanRequest, opts ...grpc.CallOption) (*AutoUpdateAgentPlan, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + out := new(AutoUpdateAgentPlan) + err := c.cc.Invoke(ctx, AutoUpdateService_GetAutoUpdateAgentPlan_FullMethodName, in, out, cOpts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *autoUpdateServiceClient) CreateAutoUpdateAgentPlan(ctx context.Context, in *CreateAutoUpdateAgentPlanRequest, opts ...grpc.CallOption) (*AutoUpdateAgentPlan, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + out := new(AutoUpdateAgentPlan) + err := c.cc.Invoke(ctx, AutoUpdateService_CreateAutoUpdateAgentPlan_FullMethodName, in, out, cOpts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *autoUpdateServiceClient) UpdateAutoUpdateAgentPlan(ctx context.Context, in *UpdateAutoUpdateAgentPlanRequest, opts ...grpc.CallOption) (*AutoUpdateAgentPlan, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + out := new(AutoUpdateAgentPlan) + err := c.cc.Invoke(ctx, AutoUpdateService_UpdateAutoUpdateAgentPlan_FullMethodName, in, out, cOpts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *autoUpdateServiceClient) UpsertAutoUpdateAgentPlan(ctx context.Context, in *UpsertAutoUpdateAgentPlanRequest, opts ...grpc.CallOption) (*AutoUpdateAgentPlan, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + out := new(AutoUpdateAgentPlan) + err := c.cc.Invoke(ctx, AutoUpdateService_UpsertAutoUpdateAgentPlan_FullMethodName, in, out, cOpts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *autoUpdateServiceClient) DeleteAutoUpdateAgentPlan(ctx context.Context, in *DeleteAutoUpdateAgentPlanRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + out := new(emptypb.Empty) + err := c.cc.Invoke(ctx, AutoUpdateService_DeleteAutoUpdateAgentPlan_FullMethodName, in, out, cOpts...) + if err != nil { + return nil, err + } + return out, nil +} + // AutoUpdateServiceServer is the server API for AutoUpdateService service. // All implementations must embed UnimplementedAutoUpdateServiceServer // for forward compatibility. @@ -208,6 +273,16 @@ type AutoUpdateServiceServer interface { UpsertAutoUpdateVersion(context.Context, *UpsertAutoUpdateVersionRequest) (*AutoUpdateVersion, error) // DeleteAutoUpdateVersion hard deletes the specified AutoUpdateVersionRequest. DeleteAutoUpdateVersion(context.Context, *DeleteAutoUpdateVersionRequest) (*emptypb.Empty, error) + // GetAutoUpdateAgentPlan gets the current autoupdate version singleton. + GetAutoUpdateAgentPlan(context.Context, *GetAutoUpdateAgentPlanRequest) (*AutoUpdateAgentPlan, error) + // CreateAutoUpdateAgentPlan creates a new AutoUpdateAgentPlan. + CreateAutoUpdateAgentPlan(context.Context, *CreateAutoUpdateAgentPlanRequest) (*AutoUpdateAgentPlan, error) + // UpdateAutoUpdateAgentPlan updates AutoUpdateAgentPlan singleton. + UpdateAutoUpdateAgentPlan(context.Context, *UpdateAutoUpdateAgentPlanRequest) (*AutoUpdateAgentPlan, error) + // UpsertAutoUpdateAgentPlan creates a new AutoUpdateAgentPlan or replaces an existing AutoUpdateAgentPlan. + UpsertAutoUpdateAgentPlan(context.Context, *UpsertAutoUpdateAgentPlanRequest) (*AutoUpdateAgentPlan, error) + // DeleteAutoUpdateAgentPlan hard deletes the specified AutoUpdateAgentPlanRequest. + DeleteAutoUpdateAgentPlan(context.Context, *DeleteAutoUpdateAgentPlanRequest) (*emptypb.Empty, error) mustEmbedUnimplementedAutoUpdateServiceServer() } @@ -248,6 +323,21 @@ func (UnimplementedAutoUpdateServiceServer) UpsertAutoUpdateVersion(context.Cont func (UnimplementedAutoUpdateServiceServer) DeleteAutoUpdateVersion(context.Context, *DeleteAutoUpdateVersionRequest) (*emptypb.Empty, error) { return nil, status.Errorf(codes.Unimplemented, "method DeleteAutoUpdateVersion not implemented") } +func (UnimplementedAutoUpdateServiceServer) GetAutoUpdateAgentPlan(context.Context, *GetAutoUpdateAgentPlanRequest) (*AutoUpdateAgentPlan, error) { + return nil, status.Errorf(codes.Unimplemented, "method GetAutoUpdateAgentPlan not implemented") +} +func (UnimplementedAutoUpdateServiceServer) CreateAutoUpdateAgentPlan(context.Context, *CreateAutoUpdateAgentPlanRequest) (*AutoUpdateAgentPlan, error) { + return nil, status.Errorf(codes.Unimplemented, "method CreateAutoUpdateAgentPlan not implemented") +} +func (UnimplementedAutoUpdateServiceServer) UpdateAutoUpdateAgentPlan(context.Context, *UpdateAutoUpdateAgentPlanRequest) (*AutoUpdateAgentPlan, error) { + return nil, status.Errorf(codes.Unimplemented, "method UpdateAutoUpdateAgentPlan not implemented") +} +func (UnimplementedAutoUpdateServiceServer) UpsertAutoUpdateAgentPlan(context.Context, *UpsertAutoUpdateAgentPlanRequest) (*AutoUpdateAgentPlan, error) { + return nil, status.Errorf(codes.Unimplemented, "method UpsertAutoUpdateAgentPlan not implemented") +} +func (UnimplementedAutoUpdateServiceServer) DeleteAutoUpdateAgentPlan(context.Context, *DeleteAutoUpdateAgentPlanRequest) (*emptypb.Empty, error) { + return nil, status.Errorf(codes.Unimplemented, "method DeleteAutoUpdateAgentPlan not implemented") +} func (UnimplementedAutoUpdateServiceServer) mustEmbedUnimplementedAutoUpdateServiceServer() {} func (UnimplementedAutoUpdateServiceServer) testEmbeddedByValue() {} @@ -449,6 +539,96 @@ func _AutoUpdateService_DeleteAutoUpdateVersion_Handler(srv interface{}, ctx con return interceptor(ctx, in, info, handler) } +func _AutoUpdateService_GetAutoUpdateAgentPlan_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(GetAutoUpdateAgentPlanRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(AutoUpdateServiceServer).GetAutoUpdateAgentPlan(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: AutoUpdateService_GetAutoUpdateAgentPlan_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(AutoUpdateServiceServer).GetAutoUpdateAgentPlan(ctx, req.(*GetAutoUpdateAgentPlanRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _AutoUpdateService_CreateAutoUpdateAgentPlan_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(CreateAutoUpdateAgentPlanRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(AutoUpdateServiceServer).CreateAutoUpdateAgentPlan(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: AutoUpdateService_CreateAutoUpdateAgentPlan_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(AutoUpdateServiceServer).CreateAutoUpdateAgentPlan(ctx, req.(*CreateAutoUpdateAgentPlanRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _AutoUpdateService_UpdateAutoUpdateAgentPlan_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(UpdateAutoUpdateAgentPlanRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(AutoUpdateServiceServer).UpdateAutoUpdateAgentPlan(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: AutoUpdateService_UpdateAutoUpdateAgentPlan_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(AutoUpdateServiceServer).UpdateAutoUpdateAgentPlan(ctx, req.(*UpdateAutoUpdateAgentPlanRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _AutoUpdateService_UpsertAutoUpdateAgentPlan_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(UpsertAutoUpdateAgentPlanRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(AutoUpdateServiceServer).UpsertAutoUpdateAgentPlan(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: AutoUpdateService_UpsertAutoUpdateAgentPlan_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(AutoUpdateServiceServer).UpsertAutoUpdateAgentPlan(ctx, req.(*UpsertAutoUpdateAgentPlanRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _AutoUpdateService_DeleteAutoUpdateAgentPlan_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(DeleteAutoUpdateAgentPlanRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(AutoUpdateServiceServer).DeleteAutoUpdateAgentPlan(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: AutoUpdateService_DeleteAutoUpdateAgentPlan_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(AutoUpdateServiceServer).DeleteAutoUpdateAgentPlan(ctx, req.(*DeleteAutoUpdateAgentPlanRequest)) + } + return interceptor(ctx, in, info, handler) +} + // AutoUpdateService_ServiceDesc is the grpc.ServiceDesc for AutoUpdateService service. // It's only intended for direct use with grpc.RegisterService, // and not to be introspected or modified (even as a copy) @@ -496,6 +676,26 @@ var AutoUpdateService_ServiceDesc = grpc.ServiceDesc{ MethodName: "DeleteAutoUpdateVersion", Handler: _AutoUpdateService_DeleteAutoUpdateVersion_Handler, }, + { + MethodName: "GetAutoUpdateAgentPlan", + Handler: _AutoUpdateService_GetAutoUpdateAgentPlan_Handler, + }, + { + MethodName: "CreateAutoUpdateAgentPlan", + Handler: _AutoUpdateService_CreateAutoUpdateAgentPlan_Handler, + }, + { + MethodName: "UpdateAutoUpdateAgentPlan", + Handler: _AutoUpdateService_UpdateAutoUpdateAgentPlan_Handler, + }, + { + MethodName: "UpsertAutoUpdateAgentPlan", + Handler: _AutoUpdateService_UpsertAutoUpdateAgentPlan_Handler, + }, + { + MethodName: "DeleteAutoUpdateAgentPlan", + Handler: _AutoUpdateService_DeleteAutoUpdateAgentPlan_Handler, + }, }, Streams: []grpc.StreamDesc{}, Metadata: "teleport/autoupdate/v1/autoupdate_service.proto", diff --git a/api/proto/teleport/autoupdate/v1/autoupdate_agent_plan.proto b/api/proto/teleport/autoupdate/v1/autoupdate_agent_plan.proto new file mode 100644 index 0000000000000..8a955b380179b --- /dev/null +++ b/api/proto/teleport/autoupdate/v1/autoupdate_agent_plan.proto @@ -0,0 +1,136 @@ +// Copyright 2024 Gravitational, Inc. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +package teleport.autoupdate.v1; + +import "google/protobuf/timestamp.proto"; +import "teleport/header/v1/metadata.proto"; + +option go_package = "github.com/gravitational/teleport/api/gen/proto/go/teleport/autoupdate/v1;autoupdate"; + +// AutoUpdateAgentPlan holds dynamic configuration settings for agent autoupdates. +message AutoUpdateAgentPlan { + // kind is the kind of the resource. + string kind = 1; + // sub_kind is the sub kind of the resource. + string sub_kind = 2; + // version is the version of the resource. + string version = 3; + // metadata is the metadata of the resource. + teleport.header.v1.Metadata metadata = 4; + // spec is the spec of the resource. + AutoUpdateAgentPlanSpec spec = 5; + // status is the status of the resource. + AutoUpdateAgentPlanStatus status = 6; +} + +// AutoUpdateAgentPlanSpec is the spec for the autoupdate version. +message AutoUpdateAgentPlanSpec { + // start_version is the version to update from. + string start_version = 1; + // target_version is the version to update to. + string target_version = 2; + // schedule to use for the rollout + Schedule schedule = 3; + // strategy to use for the rollout + Strategy strategy = 4; + // autoupdate_mode to use for the rollout + Mode autoupdate_mode = 5; +} + +// Schedule type for the rollout +enum Schedule { + // UNSPECIFIED update schedule + SCHEDULE_UNSPECIFIED = 0; + // REGULAR update schedule + SCHEDULE_REGULAR = 1; + // IMMEDIATE update schedule for updating all agents immediately + SCHEDULE_IMMEDIATE = 2; +} + +// Strategy type for the rollout +enum Strategy { + // UNSPECIFIED update strategy + STRATEGY_UNSPECIFIED = 0; + // GROUPED update schedule, with no backpressure + STRATEGY_GROUPED = 1; + // BACKPRESSURE update schedule + STRATEGY_BACKPRESSURE = 2; +} + +// Mode of operation +enum Mode { + // UNSPECIFIED update mode + MODE_UNSPECIFIED = 0; + // DISABLE updates + MODE_DISABLE = 1; + // ENABLE updates + MODE_ENABLE = 2; + // PAUSE updates + MODE_PAUSE = 3; +} + +// AutoUpdateAgentPlanStatus is the status for the AutoUpdateAgentPlan. +message AutoUpdateAgentPlanStatus { + // name of the group + string name = 1; + // start_time of the rollout + google.protobuf.Timestamp start_time = 2; + // initial_count is the number of connected agents at the start of the window. + int64 initial_count = 3; + // present_count is the current number of connected agents. + int64 present_count = 4; + // failed_count specifies the number of failed agents. + int64 failed_count = 5; + // canaries is a list of canary agents. + repeated Canary canaries = 6; + // progress is the current progress through the rollout. + float progress = 7; + // state is the current state of the rollout. + State state = 8; + // last_update_time is the time of the previous update for this group. + google.protobuf.Timestamp last_update_time = 9; + // last_update_reason is the trigger for the last update + string last_update_reason = 10; +} + +// Canary agent +message Canary { + // update_uuid of the canary agent + string update_uuid = 1; + // host_uuid of the canary agent + string host_uuid = 2; + // hostname of the canary agent + string hostname = 3; + // success state of the canary agent + bool success = 4; +} + +// State of the rollout +enum State { + // UNSPECIFIED state + STATE_UNSPECIFIED = 0; + // UNSTARTED state + STATE_UNSTARTED = 1; + // CANARY state + STATE_CANARY = 2; + // ACTIVE state + STATE_ACTIVE = 3; + // DONE state + STATE_DONE = 4; + // ROLLEDBACK state + STATE_ROLLEDBACK = 5; +} diff --git a/api/proto/teleport/autoupdate/v1/autoupdate_service.proto b/api/proto/teleport/autoupdate/v1/autoupdate_service.proto index efd045306d63e..597d9bd2a80c8 100644 --- a/api/proto/teleport/autoupdate/v1/autoupdate_service.proto +++ b/api/proto/teleport/autoupdate/v1/autoupdate_service.proto @@ -18,6 +18,7 @@ package teleport.autoupdate.v1; import "google/protobuf/empty.proto"; import "teleport/autoupdate/v1/autoupdate.proto"; +import "teleport/autoupdate/v1/autoupdate_agent_plan.proto"; option go_package = "github.com/gravitational/teleport/api/gen/proto/go/teleport/autoupdate/v1;autoupdate"; @@ -52,6 +53,21 @@ service AutoUpdateService { // DeleteAutoUpdateVersion hard deletes the specified AutoUpdateVersionRequest. rpc DeleteAutoUpdateVersion(DeleteAutoUpdateVersionRequest) returns (google.protobuf.Empty); + + // GetAutoUpdateAgentPlan gets the current autoupdate version singleton. + rpc GetAutoUpdateAgentPlan(GetAutoUpdateAgentPlanRequest) returns (AutoUpdateAgentPlan); + + // CreateAutoUpdateAgentPlan creates a new AutoUpdateAgentPlan. + rpc CreateAutoUpdateAgentPlan(CreateAutoUpdateAgentPlanRequest) returns (AutoUpdateAgentPlan); + + // UpdateAutoUpdateAgentPlan updates AutoUpdateAgentPlan singleton. + rpc UpdateAutoUpdateAgentPlan(UpdateAutoUpdateAgentPlanRequest) returns (AutoUpdateAgentPlan); + + // UpsertAutoUpdateAgentPlan creates a new AutoUpdateAgentPlan or replaces an existing AutoUpdateAgentPlan. + rpc UpsertAutoUpdateAgentPlan(UpsertAutoUpdateAgentPlanRequest) returns (AutoUpdateAgentPlan); + + // DeleteAutoUpdateAgentPlan hard deletes the specified AutoUpdateAgentPlanRequest. + rpc DeleteAutoUpdateAgentPlan(DeleteAutoUpdateAgentPlanRequest) returns (google.protobuf.Empty); } // Request for GetAutoUpdateConfig. @@ -95,3 +111,24 @@ message UpsertAutoUpdateVersionRequest { // Request for DeleteAutoUpdateVersion. message DeleteAutoUpdateVersionRequest {} + +// Request for GetAutoUpdateAgentPlan. +message GetAutoUpdateAgentPlanRequest {} + +// Request for CreateAutoUpdateAgentPlan. +message CreateAutoUpdateAgentPlanRequest { + AutoUpdateAgentPlan plan = 1; +} + +// Request for UpdateAutoUpdateConfig. +message UpdateAutoUpdateAgentPlanRequest { + AutoUpdateAgentPlan plan = 1; +} + +// Request for UpsertAutoUpdateAgentPlan. +message UpsertAutoUpdateAgentPlanRequest { + AutoUpdateAgentPlan plan = 1; +} + +// Request for DeleteAutoUpdateAgentPlan. +message DeleteAutoUpdateAgentPlanRequest {} diff --git a/api/proto/teleport/legacy/client/proto/event.proto b/api/proto/teleport/legacy/client/proto/event.proto index ef2916350ac67..a3661dde2de70 100644 --- a/api/proto/teleport/legacy/client/proto/event.proto +++ b/api/proto/teleport/legacy/client/proto/event.proto @@ -19,6 +19,7 @@ package proto; import "teleport/accesslist/v1/accesslist.proto"; import "teleport/accessmonitoringrules/v1/access_monitoring_rules.proto"; import "teleport/autoupdate/v1/autoupdate.proto"; +import "teleport/autoupdate/v1/autoupdate_agent_plan.proto"; import "teleport/clusterconfig/v1/access_graph_settings.proto"; import "teleport/crownjewel/v1/crownjewel.proto"; import "teleport/dbobject/v1/dbobject.proto"; @@ -185,7 +186,9 @@ message Event { teleport.autoupdate.v1.AutoUpdateVersion AutoUpdateVersion = 65; // StaticHostUserV2 is a resource for static host users. teleport.userprovisioning.v2.StaticHostUser StaticHostUserV2 = 66; - // UsernTask is a resource for user task. + // UserTask is a resource for user task. teleport.usertasks.v1.UserTask UserTask = 67; + // AutoUpdateAgentPlan is a resource for planning agent automatic updates. + teleport.autoupdate.v1.AutoUpdateAgentPlan AutoUpdateAgentPlan = 68; } } diff --git a/api/proto/teleport/legacy/types/events/events.proto b/api/proto/teleport/legacy/types/events/events.proto index 592037eda9072..28b7d0f5087da 100644 --- a/api/proto/teleport/legacy/types/events/events.proto +++ b/api/proto/teleport/legacy/types/events/events.proto @@ -4606,6 +4606,9 @@ message OneOf { events.CrownJewelCreate CrownJewelCreate = 182; events.CrownJewelUpdate CrownJewelUpdate = 183; events.CrownJewelDelete CrownJewelDelete = 184; + events.AutoUpdateAgentPlanCreate AutoUpdateAgentPlanCreate = 185; + events.AutoUpdateAgentPlanUpdate AutoUpdateAgentPlanUpdate = 186; + events.AutoUpdateAgentPlanDelete AutoUpdateAgentPlanDelete = 187; } } @@ -7306,3 +7309,96 @@ message CrownJewelDelete { (gogoproto.jsontag) = "" ]; } + +// AutoUpdateVersionCreate is emitted when an auto update version is created. +message AutoUpdateAgentPlanCreate { + // Metadata is a common event metadata + Metadata Metadata = 1 [ + (gogoproto.nullable) = false, + (gogoproto.embed) = true, + (gogoproto.jsontag) = "" + ]; + + // ResourceMetadata is a common resource event metadata + ResourceMetadata Resource = 2 [ + (gogoproto.nullable) = false, + (gogoproto.embed) = true, + (gogoproto.jsontag) = "" + ]; + + // User is a common user event metadata + UserMetadata User = 3 [ + (gogoproto.nullable) = false, + (gogoproto.embed) = true, + (gogoproto.jsontag) = "" + ]; + + // ConnectionMetadata holds information about the connection + ConnectionMetadata Connection = 4 [ + (gogoproto.nullable) = false, + (gogoproto.embed) = true, + (gogoproto.jsontag) = "" + ]; +} + +// AutoUpdateAgentPlanUpdate is emitted when an auto update version is updated. +message AutoUpdateAgentPlanUpdate { + // Metadata is a common event metadata + Metadata Metadata = 1 [ + (gogoproto.nullable) = false, + (gogoproto.embed) = true, + (gogoproto.jsontag) = "" + ]; + + // Status indicates whether the update was successful. + Status Status = 2 [ + (gogoproto.nullable) = false, + (gogoproto.embed) = true, + (gogoproto.jsontag) = "" + ]; + + // User is a common user event metadata + UserMetadata User = 3 [ + (gogoproto.nullable) = false, + (gogoproto.embed) = true, + (gogoproto.jsontag) = "" + ]; + + // ConnectionMetadata holds information about the connection + ConnectionMetadata Connection = 4 [ + (gogoproto.nullable) = false, + (gogoproto.embed) = true, + (gogoproto.jsontag) = "" + ]; +} + +// AutoUpdateAgentPlanDelete is emitted when an auto update version is deleted. +message AutoUpdateAgentPlanDelete { + // Metadata is a common event metadata + Metadata Metadata = 1 [ + (gogoproto.nullable) = false, + (gogoproto.embed) = true, + (gogoproto.jsontag) = "" + ]; + + // ResourceMetadata is a common resource event metadata + ResourceMetadata Resource = 2 [ + (gogoproto.nullable) = false, + (gogoproto.embed) = true, + (gogoproto.jsontag) = "" + ]; + + // User is a common user event metadata + UserMetadata User = 3 [ + (gogoproto.nullable) = false, + (gogoproto.embed) = true, + (gogoproto.jsontag) = "" + ]; + + // ConnectionMetadata holds information about the connection + ConnectionMetadata Connection = 4 [ + (gogoproto.nullable) = false, + (gogoproto.embed) = true, + (gogoproto.jsontag) = "" + ]; +} diff --git a/api/types/events/events.pb.go b/api/types/events/events.pb.go index 6d3aa26c6dea7..cc00e9994ea4a 100644 --- a/api/types/events/events.pb.go +++ b/api/types/events/events.pb.go @@ -7727,6 +7727,9 @@ type OneOf struct { // *OneOf_CrownJewelCreate // *OneOf_CrownJewelUpdate // *OneOf_CrownJewelDelete + // *OneOf_AutoUpdateAgentPlanCreate + // *OneOf_AutoUpdateAgentPlanUpdate + // *OneOf_AutoUpdateAgentPlanDelete Event isOneOf_Event `protobuf_oneof:"Event"` XXX_NoUnkeyedLiteral struct{} `json:"-"` XXX_unrecognized []byte `json:"-"` @@ -8321,6 +8324,15 @@ type OneOf_CrownJewelUpdate struct { type OneOf_CrownJewelDelete struct { CrownJewelDelete *CrownJewelDelete `protobuf:"bytes,184,opt,name=CrownJewelDelete,proto3,oneof" json:"CrownJewelDelete,omitempty"` } +type OneOf_AutoUpdateAgentPlanCreate struct { + AutoUpdateAgentPlanCreate *AutoUpdateAgentPlanCreate `protobuf:"bytes,185,opt,name=AutoUpdateAgentPlanCreate,proto3,oneof" json:"AutoUpdateAgentPlanCreate,omitempty"` +} +type OneOf_AutoUpdateAgentPlanUpdate struct { + AutoUpdateAgentPlanUpdate *AutoUpdateAgentPlanUpdate `protobuf:"bytes,186,opt,name=AutoUpdateAgentPlanUpdate,proto3,oneof" json:"AutoUpdateAgentPlanUpdate,omitempty"` +} +type OneOf_AutoUpdateAgentPlanDelete struct { + AutoUpdateAgentPlanDelete *AutoUpdateAgentPlanDelete `protobuf:"bytes,187,opt,name=AutoUpdateAgentPlanDelete,proto3,oneof" json:"AutoUpdateAgentPlanDelete,omitempty"` +} func (*OneOf_UserLogin) isOneOf_Event() {} func (*OneOf_UserCreate) isOneOf_Event() {} @@ -8505,6 +8517,9 @@ func (*OneOf_StaticHostUserDelete) isOneOf_Event() {} func (*OneOf_CrownJewelCreate) isOneOf_Event() {} func (*OneOf_CrownJewelUpdate) isOneOf_Event() {} func (*OneOf_CrownJewelDelete) isOneOf_Event() {} +func (*OneOf_AutoUpdateAgentPlanCreate) isOneOf_Event() {} +func (*OneOf_AutoUpdateAgentPlanUpdate) isOneOf_Event() {} +func (*OneOf_AutoUpdateAgentPlanDelete) isOneOf_Event() {} func (m *OneOf) GetEvent() isOneOf_Event { if m != nil { @@ -9794,6 +9809,27 @@ func (m *OneOf) GetCrownJewelDelete() *CrownJewelDelete { return nil } +func (m *OneOf) GetAutoUpdateAgentPlanCreate() *AutoUpdateAgentPlanCreate { + if x, ok := m.GetEvent().(*OneOf_AutoUpdateAgentPlanCreate); ok { + return x.AutoUpdateAgentPlanCreate + } + return nil +} + +func (m *OneOf) GetAutoUpdateAgentPlanUpdate() *AutoUpdateAgentPlanUpdate { + if x, ok := m.GetEvent().(*OneOf_AutoUpdateAgentPlanUpdate); ok { + return x.AutoUpdateAgentPlanUpdate + } + return nil +} + +func (m *OneOf) GetAutoUpdateAgentPlanDelete() *AutoUpdateAgentPlanDelete { + if x, ok := m.GetEvent().(*OneOf_AutoUpdateAgentPlanDelete); ok { + return x.AutoUpdateAgentPlanDelete + } + return nil +} + // XXX_OneofWrappers is for the internal use of the proto package. func (*OneOf) XXX_OneofWrappers() []interface{} { return []interface{}{ @@ -9980,6 +10016,9 @@ func (*OneOf) XXX_OneofWrappers() []interface{} { (*OneOf_CrownJewelCreate)(nil), (*OneOf_CrownJewelUpdate)(nil), (*OneOf_CrownJewelDelete)(nil), + (*OneOf_AutoUpdateAgentPlanCreate)(nil), + (*OneOf_AutoUpdateAgentPlanUpdate)(nil), + (*OneOf_AutoUpdateAgentPlanDelete)(nil), } } @@ -14500,6 +14539,150 @@ func (m *CrownJewelDelete) XXX_DiscardUnknown() { var xxx_messageInfo_CrownJewelDelete proto.InternalMessageInfo +// AutoUpdateVersionCreate is emitted when an auto update version is created. +type AutoUpdateAgentPlanCreate struct { + // Metadata is a common event metadata + Metadata `protobuf:"bytes,1,opt,name=Metadata,proto3,embedded=Metadata" json:""` + // ResourceMetadata is a common resource event metadata + ResourceMetadata `protobuf:"bytes,2,opt,name=Resource,proto3,embedded=Resource" json:""` + // User is a common user event metadata + UserMetadata `protobuf:"bytes,3,opt,name=User,proto3,embedded=User" json:""` + // ConnectionMetadata holds information about the connection + ConnectionMetadata `protobuf:"bytes,4,opt,name=Connection,proto3,embedded=Connection" json:""` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *AutoUpdateAgentPlanCreate) Reset() { *m = AutoUpdateAgentPlanCreate{} } +func (m *AutoUpdateAgentPlanCreate) String() string { return proto.CompactTextString(m) } +func (*AutoUpdateAgentPlanCreate) ProtoMessage() {} +func (*AutoUpdateAgentPlanCreate) Descriptor() ([]byte, []int) { + return fileDescriptor_007ba1c3d6266d56, []int{227} +} +func (m *AutoUpdateAgentPlanCreate) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *AutoUpdateAgentPlanCreate) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_AutoUpdateAgentPlanCreate.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalToSizedBuffer(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *AutoUpdateAgentPlanCreate) XXX_Merge(src proto.Message) { + xxx_messageInfo_AutoUpdateAgentPlanCreate.Merge(m, src) +} +func (m *AutoUpdateAgentPlanCreate) XXX_Size() int { + return m.Size() +} +func (m *AutoUpdateAgentPlanCreate) XXX_DiscardUnknown() { + xxx_messageInfo_AutoUpdateAgentPlanCreate.DiscardUnknown(m) +} + +var xxx_messageInfo_AutoUpdateAgentPlanCreate proto.InternalMessageInfo + +// AutoUpdateAgentPlanUpdate is emitted when an auto update version is updated. +type AutoUpdateAgentPlanUpdate struct { + // Metadata is a common event metadata + Metadata `protobuf:"bytes,1,opt,name=Metadata,proto3,embedded=Metadata" json:""` + // Status indicates whether the update was successful. + Status `protobuf:"bytes,2,opt,name=Status,proto3,embedded=Status" json:""` + // User is a common user event metadata + UserMetadata `protobuf:"bytes,3,opt,name=User,proto3,embedded=User" json:""` + // ConnectionMetadata holds information about the connection + ConnectionMetadata `protobuf:"bytes,4,opt,name=Connection,proto3,embedded=Connection" json:""` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *AutoUpdateAgentPlanUpdate) Reset() { *m = AutoUpdateAgentPlanUpdate{} } +func (m *AutoUpdateAgentPlanUpdate) String() string { return proto.CompactTextString(m) } +func (*AutoUpdateAgentPlanUpdate) ProtoMessage() {} +func (*AutoUpdateAgentPlanUpdate) Descriptor() ([]byte, []int) { + return fileDescriptor_007ba1c3d6266d56, []int{228} +} +func (m *AutoUpdateAgentPlanUpdate) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *AutoUpdateAgentPlanUpdate) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_AutoUpdateAgentPlanUpdate.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalToSizedBuffer(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *AutoUpdateAgentPlanUpdate) XXX_Merge(src proto.Message) { + xxx_messageInfo_AutoUpdateAgentPlanUpdate.Merge(m, src) +} +func (m *AutoUpdateAgentPlanUpdate) XXX_Size() int { + return m.Size() +} +func (m *AutoUpdateAgentPlanUpdate) XXX_DiscardUnknown() { + xxx_messageInfo_AutoUpdateAgentPlanUpdate.DiscardUnknown(m) +} + +var xxx_messageInfo_AutoUpdateAgentPlanUpdate proto.InternalMessageInfo + +// AutoUpdateAgentPlanDelete is emitted when an auto update version is deleted. +type AutoUpdateAgentPlanDelete struct { + // Metadata is a common event metadata + Metadata `protobuf:"bytes,1,opt,name=Metadata,proto3,embedded=Metadata" json:""` + // ResourceMetadata is a common resource event metadata + ResourceMetadata `protobuf:"bytes,2,opt,name=Resource,proto3,embedded=Resource" json:""` + // User is a common user event metadata + UserMetadata `protobuf:"bytes,3,opt,name=User,proto3,embedded=User" json:""` + // ConnectionMetadata holds information about the connection + ConnectionMetadata `protobuf:"bytes,4,opt,name=Connection,proto3,embedded=Connection" json:""` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *AutoUpdateAgentPlanDelete) Reset() { *m = AutoUpdateAgentPlanDelete{} } +func (m *AutoUpdateAgentPlanDelete) String() string { return proto.CompactTextString(m) } +func (*AutoUpdateAgentPlanDelete) ProtoMessage() {} +func (*AutoUpdateAgentPlanDelete) Descriptor() ([]byte, []int) { + return fileDescriptor_007ba1c3d6266d56, []int{229} +} +func (m *AutoUpdateAgentPlanDelete) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *AutoUpdateAgentPlanDelete) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_AutoUpdateAgentPlanDelete.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalToSizedBuffer(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *AutoUpdateAgentPlanDelete) XXX_Merge(src proto.Message) { + xxx_messageInfo_AutoUpdateAgentPlanDelete.Merge(m, src) +} +func (m *AutoUpdateAgentPlanDelete) XXX_Size() int { + return m.Size() +} +func (m *AutoUpdateAgentPlanDelete) XXX_DiscardUnknown() { + xxx_messageInfo_AutoUpdateAgentPlanDelete.DiscardUnknown(m) +} + +var xxx_messageInfo_AutoUpdateAgentPlanDelete proto.InternalMessageInfo + func init() { proto.RegisterEnum("events.UserKind", UserKind_name, UserKind_value) proto.RegisterEnum("events.EventAction", EventAction_name, EventAction_value) @@ -14751,6 +14934,9 @@ func init() { proto.RegisterType((*CrownJewelCreate)(nil), "events.CrownJewelCreate") proto.RegisterType((*CrownJewelUpdate)(nil), "events.CrownJewelUpdate") proto.RegisterType((*CrownJewelDelete)(nil), "events.CrownJewelDelete") + proto.RegisterType((*AutoUpdateAgentPlanCreate)(nil), "events.AutoUpdateAgentPlanCreate") + proto.RegisterType((*AutoUpdateAgentPlanUpdate)(nil), "events.AutoUpdateAgentPlanUpdate") + proto.RegisterType((*AutoUpdateAgentPlanDelete)(nil), "events.AutoUpdateAgentPlanDelete") } func init() { @@ -14758,1031 +14944,1036 @@ func init() { } var fileDescriptor_007ba1c3d6266d56 = []byte{ - // 16381 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xec, 0xbd, 0x5b, 0x74, 0x24, 0x49, - 0x76, 0x18, 0x86, 0x7a, 0xa0, 0x00, 0x5c, 0xbc, 0xa3, 0x5f, 0x39, 0x3d, 0x3d, 0x8d, 0x99, 0x9c, - 0xdd, 0xde, 0xee, 0xd9, 0x99, 0xee, 0x9d, 0x9e, 0x9e, 0x99, 0x9d, 0xd7, 0xce, 0x16, 0x50, 0x40, - 0xa3, 0xba, 0xf1, 0x9a, 0x2c, 0xa0, 0x7b, 0x67, 0xc9, 0xdd, 0x62, 0xa2, 0x32, 0x00, 0xe4, 0x74, - 0x55, 0x66, 0x31, 0x33, 0xab, 0xd1, 0x18, 0xbf, 0xb8, 0x32, 0x45, 0x91, 0xd2, 0xee, 0x6a, 0xbd, - 0x34, 0x1f, 0x12, 0x65, 0x8b, 0xd4, 0xc3, 0xa6, 0x68, 0x8a, 0x14, 0x25, 0x9a, 0x0f, 0xc9, 0x3c, - 0x96, 0xbc, 0x7e, 0xac, 0xc4, 0x23, 0x1e, 0x49, 0xb6, 0x75, 0x74, 0x6c, 0x19, 0x2b, 0xd3, 0xd6, - 0x0f, 0x8e, 0x7d, 0x0e, 0x6d, 0xf3, 0x58, 0x6b, 0x59, 0xf6, 0xd1, 0x89, 0x1b, 0x91, 0x99, 0x91, - 0xaf, 0xc2, 0x73, 0x88, 0xc1, 0x00, 0x3f, 0xdd, 0xa8, 0x7b, 0x6f, 0xdc, 0x88, 0xbc, 0x71, 0x23, - 0xe2, 0x46, 0xc4, 0x8d, 0x7b, 0xe1, 0x86, 0x47, 0x9b, 0xb4, 0x6d, 0x3b, 0xde, 0xad, 0x26, 0x5d, - 0xd7, 0x1b, 0x5b, 0xb7, 0xbc, 0xad, 0x36, 0x75, 0x6f, 0xd1, 0xc7, 0xd4, 0xf2, 0xfc, 0xff, 0x6e, - 0xb6, 0x1d, 0xdb, 0xb3, 0x49, 0x89, 0xff, 0xba, 0x7c, 0x7e, 0xdd, 0x5e, 0xb7, 0x11, 0x74, 0x8b, - 0xfd, 0xc5, 0xb1, 0x97, 0xaf, 0xac, 0xdb, 0xf6, 0x7a, 0x93, 0xde, 0xc2, 0x5f, 0xab, 0x9d, 0xb5, - 0x5b, 0xae, 0xe7, 0x74, 0x1a, 0x9e, 0xc0, 0x4e, 0xc4, 0xb1, 0x9e, 0xd9, 0xa2, 0xae, 0xa7, 0xb7, - 0xda, 0x82, 0xe0, 0x6a, 0x9c, 0x60, 0xd3, 0xd1, 0xdb, 0x6d, 0xea, 0x88, 0xca, 0x2f, 0x3f, 0x97, - 0xde, 0x4e, 0xfc, 0x57, 0x90, 0xbc, 0x94, 0x4e, 0xe2, 0x33, 0x8a, 0x71, 0x54, 0xbf, 0x9d, 0x87, - 0xfe, 0x79, 0xea, 0xe9, 0x86, 0xee, 0xe9, 0xe4, 0x0a, 0xf4, 0x56, 0x2d, 0x83, 0x3e, 0x51, 0x72, - 0xcf, 0xe6, 0xae, 0x17, 0x26, 0x4b, 0x3b, 0xdb, 0x13, 0x79, 0x6a, 0x6a, 0x1c, 0x48, 0x9e, 0x81, - 0xe2, 0xf2, 0x56, 0x9b, 0x2a, 0xf9, 0x67, 0x73, 0xd7, 0x07, 0x26, 0x07, 0x76, 0xb6, 0x27, 0x7a, - 0x51, 0x16, 0x1a, 0x82, 0xc9, 0x73, 0x90, 0xaf, 0x56, 0x94, 0x02, 0x22, 0xc7, 0x77, 0xb6, 0x27, - 0x86, 0x3b, 0xa6, 0xf1, 0xa2, 0xdd, 0x32, 0x3d, 0xda, 0x6a, 0x7b, 0x5b, 0x5a, 0xbe, 0x5a, 0x21, - 0xd7, 0xa0, 0x38, 0x65, 0x1b, 0x54, 0x29, 0x22, 0x11, 0xd9, 0xd9, 0x9e, 0x18, 0x69, 0xd8, 0x06, - 0x95, 0xa8, 0x10, 0x4f, 0xbe, 0x08, 0xc5, 0x65, 0xb3, 0x45, 0x95, 0xde, 0x67, 0x73, 0xd7, 0x07, - 0x6f, 0x5f, 0xbe, 0xc9, 0xa5, 0x72, 0xd3, 0x97, 0xca, 0xcd, 0x65, 0x5f, 0x6c, 0x93, 0x63, 0xdf, - 0xdd, 0x9e, 0xe8, 0xd9, 0xd9, 0x9e, 0x28, 0x32, 0x49, 0x7e, 0xeb, 0x7b, 0x13, 0x39, 0x0d, 0x4b, - 0x92, 0xb7, 0x61, 0x70, 0xaa, 0xd9, 0x71, 0x3d, 0xea, 0x2c, 0xe8, 0x2d, 0xaa, 0x94, 0xb0, 0xc2, - 0xcb, 0x3b, 0xdb, 0x13, 0x17, 0x1b, 0x1c, 0x5c, 0xb7, 0xf4, 0x96, 0x5c, 0xb1, 0x4c, 0xae, 0xfe, - 0x56, 0x0e, 0x46, 0x6b, 0xd4, 0x75, 0x4d, 0xdb, 0x0a, 0x64, 0xf3, 0x69, 0x18, 0x10, 0xa0, 0x6a, - 0x05, 0xe5, 0x33, 0x30, 0xd9, 0xb7, 0xb3, 0x3d, 0x51, 0x70, 0x4d, 0x43, 0x0b, 0x31, 0xe4, 0x73, - 0xd0, 0xf7, 0xd0, 0xf4, 0x36, 0xe6, 0x67, 0xca, 0x42, 0x4e, 0x17, 0x77, 0xb6, 0x27, 0xc8, 0xa6, - 0xe9, 0x6d, 0xd4, 0x5b, 0x6b, 0xba, 0x54, 0xa1, 0x4f, 0x46, 0xe6, 0x60, 0x6c, 0xc9, 0x31, 0x1f, - 0xeb, 0x1e, 0xbd, 0x4f, 0xb7, 0x96, 0xec, 0xa6, 0xd9, 0xd8, 0x12, 0x52, 0x7c, 0x76, 0x67, 0x7b, - 0xe2, 0x4a, 0x9b, 0xe3, 0xea, 0x8f, 0xe8, 0x56, 0xbd, 0x8d, 0x58, 0x89, 0x49, 0xa2, 0xa4, 0xfa, - 0x37, 0x4b, 0x30, 0xb4, 0xe2, 0x52, 0x27, 0x68, 0xf7, 0x35, 0x28, 0xb2, 0xdf, 0xa2, 0xc9, 0x28, - 0xf3, 0x8e, 0x4b, 0x1d, 0x59, 0xe6, 0x0c, 0x4f, 0x6e, 0x40, 0xef, 0x9c, 0xbd, 0x6e, 0x5a, 0xa2, - 0xd9, 0xe7, 0x76, 0xb6, 0x27, 0x46, 0x9b, 0x0c, 0x20, 0x51, 0x72, 0x0a, 0xf2, 0x05, 0x18, 0xaa, - 0xb6, 0x98, 0x0e, 0xd9, 0x96, 0xee, 0xd9, 0x8e, 0x68, 0x2d, 0x4a, 0xd7, 0x94, 0xe0, 0x52, 0xc1, - 0x08, 0x3d, 0x79, 0x13, 0xa0, 0xfc, 0xb0, 0xa6, 0xd9, 0x4d, 0x5a, 0xd6, 0x16, 0x84, 0x32, 0x60, - 0x69, 0x7d, 0xd3, 0xad, 0x3b, 0x76, 0x93, 0xd6, 0x75, 0x47, 0xae, 0x56, 0xa2, 0x26, 0xd3, 0x30, - 0x52, 0x6e, 0x34, 0xa8, 0xeb, 0x6a, 0xf4, 0x87, 0x3b, 0xd4, 0xf5, 0x5c, 0xa5, 0xf7, 0xd9, 0xc2, - 0xf5, 0x81, 0xc9, 0x67, 0x76, 0xb6, 0x27, 0x9e, 0xd2, 0x11, 0x53, 0x77, 0x04, 0x4a, 0x62, 0x11, - 0x2b, 0x44, 0x26, 0x61, 0xb8, 0xfc, 0x61, 0xc7, 0xa1, 0x55, 0x83, 0x5a, 0x9e, 0xe9, 0x6d, 0x09, - 0x0d, 0xb9, 0xb2, 0xb3, 0x3d, 0xa1, 0xe8, 0x0c, 0x51, 0x37, 0x05, 0x46, 0x62, 0x12, 0x2d, 0x42, - 0x16, 0x61, 0xfc, 0xee, 0xd4, 0x52, 0x8d, 0x3a, 0x8f, 0xcd, 0x06, 0x2d, 0x37, 0x1a, 0x76, 0xc7, - 0xf2, 0x94, 0x3e, 0xe4, 0xf3, 0xdc, 0xce, 0xf6, 0xc4, 0x33, 0xeb, 0x8d, 0x76, 0xdd, 0xe5, 0xd8, - 0xba, 0xce, 0xd1, 0x12, 0xb3, 0x64, 0x59, 0xf2, 0x65, 0x18, 0x5e, 0x76, 0x98, 0x16, 0x1a, 0x15, - 0xca, 0xe0, 0x4a, 0x3f, 0xea, 0xff, 0xc5, 0x9b, 0x62, 0x02, 0xe2, 0x50, 0xbf, 0x67, 0x79, 0x63, - 0x3d, 0x5e, 0xa0, 0x6e, 0x20, 0x4e, 0x6e, 0x6c, 0x84, 0x15, 0xa1, 0xa0, 0xb0, 0x8f, 0x37, 0x1d, - 0x6a, 0x24, 0xb4, 0x6d, 0x00, 0xdb, 0x7c, 0x63, 0x67, 0x7b, 0xe2, 0xd3, 0x8e, 0xa0, 0xa9, 0x77, - 0x55, 0xbb, 0x4c, 0x56, 0x64, 0x1a, 0xfa, 0x99, 0x36, 0xdd, 0x37, 0x2d, 0x43, 0x81, 0x67, 0x73, - 0xd7, 0x47, 0x6e, 0x8f, 0xf9, 0xad, 0xf7, 0xe1, 0x93, 0x97, 0x76, 0xb6, 0x27, 0xce, 0x31, 0x1d, - 0xac, 0x3f, 0x32, 0x2d, 0x79, 0x8a, 0x08, 0x8a, 0xb2, 0x51, 0x34, 0x69, 0x7b, 0x38, 0x74, 0x07, - 0xc3, 0x51, 0xb4, 0x6a, 0x7b, 0xf1, 0x61, 0xeb, 0x93, 0x91, 0x29, 0x18, 0x9e, 0xb4, 0xbd, 0xaa, - 0xe5, 0x7a, 0xba, 0xd5, 0xa0, 0xd5, 0x8a, 0x32, 0x84, 0xe5, 0x50, 0x2d, 0x58, 0x39, 0x53, 0x60, - 0xea, 0x91, 0x49, 0x29, 0x5a, 0x46, 0xfd, 0x17, 0x45, 0x18, 0x61, 0x7d, 0x22, 0x0d, 0x9f, 0x32, - 0x9b, 0x09, 0x18, 0x84, 0xd5, 0xe2, 0xb6, 0xf5, 0x06, 0x15, 0x23, 0x09, 0xbf, 0xc2, 0xf2, 0x81, - 0x12, 0xcf, 0x38, 0x3d, 0xb9, 0x01, 0xfd, 0x1c, 0x54, 0xad, 0x88, 0xc1, 0x35, 0xbc, 0xb3, 0x3d, - 0x31, 0xe0, 0x22, 0xac, 0x6e, 0x1a, 0x5a, 0x80, 0x66, 0xda, 0xcd, 0xff, 0x9e, 0xb5, 0x5d, 0x8f, - 0x31, 0x17, 0x63, 0x0b, 0x3f, 0x43, 0x14, 0xd8, 0x10, 0x28, 0x59, 0xbb, 0xa3, 0x85, 0xc8, 0x1b, - 0x00, 0x1c, 0x52, 0x36, 0x0c, 0x47, 0x0c, 0xb0, 0xa7, 0x76, 0xb6, 0x27, 0x2e, 0x08, 0x16, 0xba, - 0x61, 0xc8, 0xa3, 0x53, 0x22, 0x26, 0x2d, 0x18, 0xe2, 0xbf, 0xe6, 0xf4, 0x55, 0xda, 0xe4, 0xa3, - 0x6b, 0xf0, 0xf6, 0x75, 0xbf, 0x13, 0xa3, 0xd2, 0xb9, 0x29, 0x93, 0x4e, 0x5b, 0x9e, 0xb3, 0x35, - 0x39, 0x21, 0x26, 0xe4, 0x4b, 0xa2, 0xaa, 0x26, 0xe2, 0xe4, 0xa9, 0x40, 0x2e, 0xc3, 0xe6, 0xe9, - 0x19, 0xdb, 0xd9, 0xd4, 0x1d, 0x83, 0x1a, 0x93, 0x5b, 0xf2, 0x3c, 0xbd, 0xe6, 0x83, 0xeb, 0xab, - 0xb2, 0xea, 0xc9, 0xe4, 0xac, 0xd3, 0x39, 0xb7, 0x5a, 0x67, 0x15, 0x55, 0xae, 0x2f, 0x21, 0x2d, - 0xb7, 0xb3, 0x1a, 0x57, 0xb3, 0x68, 0x19, 0x36, 0x15, 0x70, 0xc0, 0x03, 0xea, 0xb0, 0x49, 0x1c, - 0x47, 0x9d, 0x98, 0x0a, 0x04, 0x93, 0xc7, 0x1c, 0x93, 0xe4, 0x21, 0x8a, 0x5c, 0x7e, 0x17, 0xc6, - 0x13, 0xa2, 0x20, 0x63, 0x50, 0x78, 0x44, 0xb7, 0xb8, 0xba, 0x68, 0xec, 0x4f, 0x72, 0x1e, 0x7a, - 0x1f, 0xeb, 0xcd, 0x8e, 0x58, 0x42, 0x35, 0xfe, 0xe3, 0xcd, 0xfc, 0xe7, 0x73, 0x6c, 0xc5, 0x21, - 0x53, 0xb6, 0x65, 0xd1, 0x86, 0x27, 0x2f, 0x3a, 0xaf, 0xc1, 0xc0, 0x9c, 0xdd, 0xd0, 0x9b, 0xd8, - 0x8f, 0x5c, 0xef, 0x94, 0x9d, 0xed, 0x89, 0xf3, 0xac, 0x03, 0x6f, 0x36, 0x19, 0x46, 0x6a, 0x53, - 0x48, 0xca, 0x14, 0x40, 0xa3, 0x2d, 0xdb, 0xa3, 0x58, 0x30, 0x1f, 0x2a, 0x00, 0x16, 0x74, 0x10, - 0x25, 0x2b, 0x40, 0x48, 0x4c, 0x6e, 0x41, 0xff, 0x12, 0x5b, 0x67, 0x1b, 0x76, 0x53, 0x28, 0x1f, - 0x2e, 0x05, 0xb8, 0xf6, 0xca, 0x63, 0xd5, 0x27, 0x52, 0x67, 0x61, 0x64, 0xaa, 0x69, 0x52, 0xcb, - 0x93, 0x5b, 0xcd, 0x46, 0x72, 0x79, 0x9d, 0x5a, 0x9e, 0xdc, 0x6a, 0x1c, 0xf3, 0x3a, 0x83, 0xca, - 0xad, 0x0e, 0x48, 0xd5, 0xdf, 0x2b, 0xc0, 0x53, 0xf7, 0x3b, 0xab, 0xd4, 0xb1, 0xa8, 0x47, 0x5d, - 0xb1, 0x20, 0x07, 0x5c, 0x17, 0x60, 0x3c, 0x81, 0x14, 0xdc, 0x71, 0xa1, 0x7c, 0x14, 0x20, 0xeb, - 0x62, 0x8d, 0x97, 0x67, 0xdb, 0x44, 0x51, 0x32, 0x0b, 0xa3, 0x21, 0x90, 0x35, 0xc2, 0x55, 0xf2, - 0xb8, 0x94, 0x5c, 0xdd, 0xd9, 0x9e, 0xb8, 0x2c, 0x71, 0x63, 0xcd, 0x96, 0x35, 0x38, 0x5e, 0x8c, - 0xdc, 0x87, 0xb1, 0x10, 0x74, 0xd7, 0xb1, 0x3b, 0x6d, 0x57, 0x29, 0x20, 0xab, 0x89, 0x9d, 0xed, - 0x89, 0xa7, 0x25, 0x56, 0xeb, 0x88, 0x94, 0x17, 0xf0, 0x78, 0x41, 0xf2, 0xa3, 0x39, 0x99, 0x9b, - 0x18, 0x85, 0x45, 0x1c, 0x85, 0xaf, 0xfb, 0xa3, 0x30, 0x53, 0x48, 0x37, 0xe3, 0x25, 0xc5, 0xa0, - 0x8c, 0x35, 0x23, 0x31, 0x28, 0x13, 0x35, 0x5e, 0x9e, 0x82, 0x0b, 0xa9, 0xbc, 0xf6, 0xa5, 0xd5, - 0xff, 0xbc, 0x20, 0x73, 0x59, 0xb2, 0x8d, 0xa0, 0x33, 0x17, 0xe5, 0xce, 0x5c, 0xb2, 0x0d, 0x9c, - 0xea, 0x73, 0xe1, 0xda, 0x29, 0x35, 0xb6, 0x6d, 0x1b, 0xf1, 0x59, 0x3f, 0x59, 0x96, 0x7c, 0x15, - 0x2e, 0x26, 0x80, 0x7c, 0xba, 0xe6, 0xda, 0x7f, 0x6d, 0x67, 0x7b, 0x42, 0x4d, 0xe1, 0x1a, 0x9f, - 0xbd, 0x33, 0xb8, 0x10, 0x1d, 0x2e, 0x49, 0x52, 0xb7, 0x2d, 0x4f, 0x37, 0x2d, 0x61, 0x5c, 0xf2, - 0x51, 0xf2, 0x99, 0x9d, 0xed, 0x89, 0xe7, 0x65, 0x1d, 0xf4, 0x69, 0xe2, 0x8d, 0xcf, 0xe2, 0x43, - 0x0c, 0x50, 0x52, 0x50, 0xd5, 0x96, 0xbe, 0xee, 0x5b, 0xcc, 0xd7, 0x77, 0xb6, 0x27, 0x3e, 0x95, - 0x5a, 0x87, 0xc9, 0xa8, 0xe4, 0x15, 0x3a, 0x8b, 0x13, 0xd1, 0x80, 0x84, 0xb8, 0x05, 0xdb, 0xa0, - 0xf8, 0x0d, 0xbd, 0xc8, 0x5f, 0xdd, 0xd9, 0x9e, 0xb8, 0x2a, 0xf1, 0xb7, 0x6c, 0x83, 0xc6, 0x9b, - 0x9f, 0x52, 0x5a, 0xfd, 0xad, 0x02, 0x5c, 0xad, 0x95, 0xe7, 0xe7, 0xaa, 0x86, 0x6f, 0xd2, 0x2c, - 0x39, 0xf6, 0x63, 0xd3, 0x90, 0x46, 0xef, 0x2a, 0x5c, 0x8a, 0xa1, 0xa6, 0xd1, 0x8a, 0x0a, 0x8c, - 0x69, 0xfc, 0x36, 0xdf, 0x5c, 0x6a, 0x0b, 0x9a, 0x3a, 0x37, 0xb5, 0xa2, 0x8b, 0x76, 0x16, 0x23, - 0xd6, 0x47, 0x31, 0x54, 0x6d, 0xc3, 0x76, 0xbc, 0x46, 0xc7, 0x13, 0x4a, 0x80, 0x7d, 0x94, 0xa8, - 0xc3, 0x15, 0x44, 0x5d, 0xaa, 0xf0, 0xf9, 0x90, 0x9f, 0xc8, 0xc1, 0x58, 0xd9, 0xf3, 0x1c, 0x73, - 0xb5, 0xe3, 0xd1, 0x79, 0xbd, 0xdd, 0x36, 0xad, 0x75, 0x1c, 0xeb, 0x83, 0xb7, 0xdf, 0x0e, 0xd6, - 0xc8, 0xae, 0x92, 0xb8, 0x19, 0x2f, 0x2e, 0x0d, 0x51, 0xdd, 0x47, 0xd5, 0x5b, 0x1c, 0x27, 0x0f, - 0xd1, 0x78, 0x39, 0x36, 0x44, 0x53, 0x79, 0xed, 0x6b, 0x88, 0x7e, 0xbb, 0x00, 0x57, 0x16, 0x1f, - 0x79, 0xba, 0x46, 0x5d, 0xbb, 0xe3, 0x34, 0xa8, 0xbb, 0xd2, 0x36, 0x74, 0x8f, 0x86, 0x23, 0x75, - 0x02, 0x7a, 0xcb, 0x86, 0x41, 0x0d, 0x64, 0xd7, 0xcb, 0xb7, 0x7d, 0x3a, 0x03, 0x68, 0x1c, 0x4e, - 0x3e, 0x0d, 0x7d, 0xa2, 0x0c, 0x72, 0xef, 0x9d, 0x1c, 0xdc, 0xd9, 0x9e, 0xe8, 0xeb, 0x70, 0x90, - 0xe6, 0xe3, 0x18, 0x59, 0x85, 0x36, 0x29, 0x23, 0x2b, 0x84, 0x64, 0x06, 0x07, 0x69, 0x3e, 0x8e, - 0xbc, 0x07, 0x23, 0xc8, 0x36, 0x68, 0x8f, 0x98, 0xfb, 0xce, 0xfb, 0xd2, 0x95, 0x1b, 0xcb, 0x97, - 0x26, 0x6c, 0x4d, 0xdd, 0xf1, 0x0b, 0x68, 0x31, 0x06, 0xe4, 0x21, 0x8c, 0x89, 0x46, 0x84, 0x4c, - 0x7b, 0xbb, 0x30, 0xbd, 0xb0, 0xb3, 0x3d, 0x31, 0x2e, 0xda, 0x2f, 0xb1, 0x4d, 0x30, 0x61, 0x8c, - 0x45, 0xb3, 0x43, 0xc6, 0xa5, 0xdd, 0x18, 0x8b, 0x2f, 0x96, 0x19, 0xc7, 0x99, 0xa8, 0xef, 0xc3, - 0x90, 0x5c, 0x90, 0x5c, 0xc4, 0xad, 0x35, 0x1f, 0x27, 0xb8, 0x29, 0x37, 0x0d, 0xdc, 0x4f, 0xbf, - 0x0c, 0x83, 0x15, 0xea, 0x36, 0x1c, 0xb3, 0xcd, 0xac, 0x06, 0xa1, 0xe4, 0xa3, 0x3b, 0xdb, 0x13, - 0x83, 0x46, 0x08, 0xd6, 0x64, 0x1a, 0xf5, 0xff, 0xce, 0xc1, 0x45, 0xc6, 0xbb, 0xec, 0xba, 0xe6, - 0xba, 0xd5, 0x92, 0x97, 0xed, 0x17, 0xa1, 0x54, 0xc3, 0xfa, 0x44, 0x4d, 0xe7, 0x77, 0xb6, 0x27, - 0xc6, 0x78, 0x0b, 0x24, 0x3d, 0x14, 0x34, 0xc1, 0xbe, 0x32, 0xbf, 0xcb, 0xbe, 0x92, 0x99, 0xb4, - 0x9e, 0xee, 0x78, 0xa6, 0xb5, 0x5e, 0xf3, 0x74, 0xaf, 0xe3, 0x46, 0x4c, 0x5a, 0x81, 0xa9, 0xbb, - 0x88, 0x8a, 0x98, 0xb4, 0x91, 0x42, 0xe4, 0x5d, 0x18, 0x9a, 0xb6, 0x8c, 0x90, 0x09, 0x9f, 0x10, - 0x9f, 0x66, 0x96, 0x26, 0x45, 0x78, 0x92, 0x45, 0xa4, 0x80, 0xfa, 0x57, 0x73, 0xa0, 0xf0, 0x4d, - 0xe0, 0x9c, 0xe9, 0x7a, 0xf3, 0xb4, 0xb5, 0x2a, 0xcd, 0x4e, 0x33, 0xfe, 0xae, 0x92, 0xe1, 0xa4, - 0xb5, 0x08, 0x4d, 0x01, 0xb1, 0xab, 0x6c, 0x9a, 0x6e, 0x62, 0xfb, 0x11, 0x2b, 0x45, 0xaa, 0xd0, - 0xc7, 0x39, 0x73, 0x5b, 0x62, 0xf0, 0xb6, 0xe2, 0x2b, 0x42, 0xbc, 0x6a, 0xae, 0x0c, 0x2d, 0x4e, - 0x2c, 0x6f, 0x68, 0x44, 0x79, 0xf5, 0xaf, 0xe5, 0x61, 0x2c, 0x5e, 0x88, 0x3c, 0x84, 0xfe, 0x7b, - 0xb6, 0x69, 0x51, 0x63, 0xd1, 0xc2, 0x16, 0x76, 0x3f, 0x1c, 0xf1, 0x6d, 0xf1, 0x73, 0x1f, 0x60, - 0x99, 0xba, 0x6c, 0xc1, 0xe2, 0x59, 0x49, 0xc0, 0x8c, 0x7c, 0x19, 0x06, 0x98, 0x0d, 0xf8, 0x18, - 0x39, 0xe7, 0x77, 0xe5, 0xfc, 0xac, 0xe0, 0x7c, 0xde, 0xe1, 0x85, 0x92, 0xac, 0x43, 0x76, 0x4c, - 0xaf, 0x34, 0xaa, 0xbb, 0xb6, 0x25, 0x7a, 0x1e, 0xf5, 0xca, 0x41, 0x88, 0xac, 0x57, 0x9c, 0x86, - 0x99, 0xae, 0xfc, 0x63, 0xb1, 0x1b, 0xa4, 0xbd, 0x0b, 0x97, 0x55, 0xbc, 0x07, 0x24, 0x62, 0xf5, - 0xc7, 0xf2, 0xf0, 0x52, 0x28, 0x32, 0x8d, 0x3e, 0x36, 0xe9, 0xa6, 0x10, 0xe7, 0x86, 0xd9, 0x16, - 0x7b, 0x56, 0xa6, 0xf2, 0xee, 0xd4, 0x86, 0x6e, 0xad, 0x53, 0x83, 0xdc, 0x80, 0x5e, 0xcd, 0x6e, - 0x52, 0x57, 0xc9, 0xa1, 0xb9, 0x86, 0xd3, 0x89, 0xc3, 0x00, 0xf2, 0xa1, 0x07, 0x52, 0x10, 0x1b, - 0x4a, 0xcb, 0x8e, 0x6e, 0x7a, 0x7e, 0xcf, 0x96, 0x93, 0x3d, 0xbb, 0x87, 0x1a, 0x6f, 0x72, 0x1e, - 0x7c, 0xce, 0x47, 0x41, 0x78, 0x08, 0x90, 0x05, 0xc1, 0x49, 0x2e, 0xbf, 0x01, 0x83, 0x12, 0xf1, - 0xbe, 0x26, 0xf5, 0xdf, 0x2e, 0xca, 0xba, 0xee, 0x37, 0x4b, 0xe8, 0xfa, 0x2d, 0xa6, 0xa3, 0xae, - 0xcb, 0xac, 0x0a, 0xae, 0xe4, 0x42, 0x13, 0x11, 0x14, 0xd5, 0x44, 0x04, 0x91, 0x57, 0xa0, 0x9f, - 0xb3, 0x08, 0xf6, 0xaf, 0xb8, 0xf7, 0x75, 0x10, 0x16, 0x5d, 0x9a, 0x03, 0x42, 0xf2, 0x4b, 0x39, - 0x78, 0xa6, 0xab, 0x24, 0x50, 0x19, 0x06, 0x6f, 0xbf, 0x7a, 0x20, 0x31, 0x4e, 0xbe, 0xb4, 0xb3, - 0x3d, 0x71, 0xa3, 0x15, 0x90, 0xd4, 0x1d, 0x89, 0xa6, 0xde, 0xe0, 0x44, 0x52, 0xbb, 0xba, 0x37, - 0x85, 0x19, 0x8f, 0xbc, 0xd2, 0x19, 0x3c, 0x3a, 0xb2, 0x1a, 0x5b, 0x7e, 0x23, 0x8b, 0xa1, 0xf1, - 0x28, 0xbe, 0x77, 0xcd, 0x27, 0x49, 0xa9, 0x26, 0x83, 0x0b, 0x69, 0xc0, 0x25, 0x8e, 0xa9, 0xe8, - 0x5b, 0x8b, 0x6b, 0xf3, 0xb6, 0xe5, 0x6d, 0xf8, 0x15, 0xf4, 0xca, 0x67, 0x2f, 0x58, 0x81, 0xa1, - 0x6f, 0xd5, 0xed, 0xb5, 0x7a, 0x8b, 0x51, 0xa5, 0xd4, 0x91, 0xc5, 0x89, 0x4d, 0xb4, 0x62, 0xcc, - 0xf9, 0x53, 0x50, 0x29, 0x3c, 0x19, 0xf3, 0xc7, 0x69, 0x72, 0xc2, 0x89, 0x15, 0x52, 0xab, 0x30, - 0x34, 0x67, 0x37, 0x1e, 0x05, 0xea, 0xf2, 0x06, 0x94, 0x96, 0x75, 0x67, 0x9d, 0x7a, 0x28, 0x8b, - 0xc1, 0xdb, 0xe3, 0x37, 0xf9, 0x69, 0x33, 0x23, 0xe2, 0x88, 0xc9, 0x11, 0x31, 0x1b, 0x94, 0x3c, - 0xfc, 0xad, 0x89, 0x02, 0xea, 0xf7, 0x7a, 0x61, 0x48, 0x9c, 0x8c, 0xe2, 0x6c, 0x4e, 0xde, 0x0c, - 0xcf, 0x9a, 0xc5, 0xf4, 0x15, 0x9c, 0x0e, 0x05, 0xa7, 0x5a, 0x43, 0x8c, 0xd9, 0x3f, 0xd8, 0x9e, - 0xc8, 0xed, 0x6c, 0x4f, 0xf4, 0x68, 0xfd, 0xd2, 0xa6, 0x32, 0x5c, 0x6f, 0xa4, 0x05, 0x56, 0x3e, - 0xeb, 0x8c, 0x95, 0xe5, 0xeb, 0xcf, 0xbb, 0xd0, 0x27, 0xda, 0x20, 0x34, 0xee, 0x52, 0x78, 0x96, - 0x11, 0x39, 0xe1, 0x8d, 0x95, 0xf6, 0x4b, 0x91, 0xb7, 0xa1, 0xc4, 0xf7, 0xf6, 0x42, 0x00, 0x17, - 0xd3, 0xcf, 0x42, 0x62, 0xc5, 0x45, 0x19, 0x32, 0x0b, 0x10, 0xee, 0xeb, 0x83, 0x03, 0x6d, 0xc1, - 0x21, 0xb9, 0xe3, 0x8f, 0x71, 0x91, 0xca, 0x92, 0xd7, 0x60, 0x68, 0x99, 0x3a, 0x2d, 0xd3, 0xd2, - 0x9b, 0x35, 0xf3, 0x43, 0xff, 0x4c, 0x1b, 0x17, 0x5e, 0xd7, 0xfc, 0x50, 0x1e, 0xb9, 0x11, 0x3a, - 0xf2, 0x95, 0xb4, 0x7d, 0x73, 0x1f, 0x36, 0xe4, 0xb9, 0x5d, 0x37, 0x94, 0xb1, 0xf6, 0xa4, 0x6c, - 0xa3, 0xdf, 0x83, 0xe1, 0xc8, 0x96, 0x49, 0x1c, 0x5a, 0x3e, 0x93, 0x64, 0x2d, 0xed, 0xff, 0x62, - 0x6c, 0xa3, 0x1c, 0x98, 0x26, 0x57, 0x2d, 0xd3, 0x33, 0xf5, 0xe6, 0x94, 0xdd, 0x6a, 0xe9, 0x96, - 0xa1, 0x0c, 0x84, 0x9a, 0x6c, 0x72, 0x4c, 0xbd, 0xc1, 0x51, 0xb2, 0x26, 0x47, 0x0b, 0xb1, 0x6d, - 0xb9, 0xe8, 0x43, 0x8d, 0x36, 0x6c, 0x87, 0xd9, 0x02, 0x78, 0x26, 0x29, 0xb6, 0xe5, 0x2e, 0xc7, - 0xd5, 0x1d, 0x1f, 0x29, 0x1b, 0xdb, 0xf1, 0x82, 0xf7, 0x8a, 0xfd, 0x83, 0x63, 0x43, 0xf1, 0x63, - 0x64, 0xf5, 0xaf, 0x14, 0x60, 0x50, 0x90, 0xb2, 0xa5, 0xf4, 0x4c, 0xc1, 0x0f, 0xa3, 0xe0, 0xa9, - 0x8a, 0x5a, 0x3a, 0x2a, 0x45, 0x55, 0xbf, 0x9e, 0x0f, 0x66, 0xa3, 0x25, 0xc7, 0xb4, 0x0e, 0x37, - 0x1b, 0x5d, 0x03, 0x98, 0xda, 0xe8, 0x58, 0x8f, 0xf8, 0x75, 0x59, 0x3e, 0xbc, 0x2e, 0x6b, 0x98, - 0x9a, 0x84, 0x21, 0xcf, 0x40, 0xb1, 0xc2, 0xf8, 0xb3, 0x9e, 0x19, 0x9a, 0x1c, 0xf8, 0x2e, 0xe7, - 0x94, 0x7b, 0x49, 0x43, 0x30, 0xdb, 0x5c, 0x4d, 0x6e, 0x79, 0x94, 0x9b, 0xb3, 0x05, 0xbe, 0xb9, - 0x5a, 0x65, 0x00, 0x8d, 0xc3, 0xc9, 0x1d, 0x18, 0xaf, 0xd0, 0xa6, 0xbe, 0x35, 0x6f, 0x36, 0x9b, - 0xa6, 0x4b, 0x1b, 0xb6, 0x65, 0xb8, 0x28, 0x64, 0x51, 0x5d, 0xcb, 0xd5, 0x92, 0x04, 0x44, 0x85, - 0xd2, 0xe2, 0xda, 0x9a, 0x4b, 0x3d, 0x14, 0x5f, 0x61, 0x12, 0xd8, 0xe4, 0x6c, 0x23, 0x44, 0x13, - 0x18, 0xf5, 0x57, 0x73, 0x6c, 0xf7, 0xe2, 0x3e, 0xf2, 0xec, 0x76, 0xa0, 0xe5, 0x87, 0x12, 0xc9, - 0x8d, 0xd0, 0xae, 0xc8, 0xe3, 0xd7, 0x8e, 0x8a, 0xaf, 0xed, 0x13, 0xb6, 0x45, 0x68, 0x51, 0xa4, - 0x7e, 0x55, 0x61, 0x97, 0xaf, 0x52, 0xff, 0x20, 0x0f, 0x97, 0x44, 0x8b, 0xa7, 0x9a, 0x66, 0x7b, - 0xd5, 0xd6, 0x1d, 0x43, 0xa3, 0x0d, 0x6a, 0x3e, 0xa6, 0x27, 0x73, 0xe0, 0x45, 0x87, 0x4e, 0xf1, - 0x10, 0x43, 0xe7, 0x36, 0x6e, 0x04, 0x99, 0x64, 0xf0, 0xc0, 0x97, 0x1b, 0x15, 0x63, 0x3b, 0xdb, - 0x13, 0x43, 0x06, 0x07, 0xe3, 0x91, 0xbf, 0x26, 0x13, 0x31, 0x25, 0x99, 0xa3, 0xd6, 0xba, 0xb7, - 0x81, 0x4a, 0xd2, 0xcb, 0x95, 0xa4, 0x89, 0x10, 0x4d, 0x60, 0xd4, 0xff, 0x3d, 0x0f, 0xe7, 0xe3, - 0x22, 0xaf, 0x51, 0xcb, 0x38, 0x93, 0xf7, 0x47, 0x23, 0xef, 0x3f, 0x2c, 0xc0, 0xd3, 0xa2, 0x4c, - 0x6d, 0x43, 0x77, 0xa8, 0x51, 0x31, 0x1d, 0xda, 0xf0, 0x6c, 0x67, 0xeb, 0x04, 0x1b, 0x50, 0x47, - 0x27, 0xf6, 0x3b, 0x50, 0x12, 0xdb, 0x7f, 0xbe, 0xce, 0x8c, 0x04, 0x2d, 0x41, 0x68, 0x62, 0x85, - 0xe2, 0x47, 0x07, 0xb1, 0xce, 0x2a, 0xed, 0xa5, 0xb3, 0x3e, 0x0f, 0xc3, 0x81, 0xe8, 0x71, 0x23, - 0xda, 0x17, 0x5a, 0x5b, 0x86, 0x8f, 0xc0, 0xbd, 0xa8, 0x16, 0x25, 0xc4, 0xda, 0x7c, 0x40, 0xb5, - 0x82, 0xd6, 0xd0, 0xb0, 0xa8, 0x2d, 0x28, 0x67, 0x1a, 0x9a, 0x4c, 0xa4, 0x6e, 0x17, 0xe1, 0x72, - 0x7a, 0xb7, 0x6b, 0x54, 0x37, 0xce, 0x7a, 0xfd, 0x13, 0xd9, 0xeb, 0xe4, 0x39, 0x28, 0x2e, 0xe9, - 0xde, 0x86, 0xb8, 0x7e, 0xc7, 0x3b, 0xe1, 0x35, 0xb3, 0x49, 0xeb, 0x6d, 0xdd, 0xdb, 0xd0, 0x10, - 0x25, 0xcd, 0x19, 0x80, 0x1c, 0x53, 0xe6, 0x0c, 0x69, 0xb1, 0x1f, 0x7c, 0x36, 0x77, 0xbd, 0x98, - 0xba, 0xd8, 0x7f, 0xaf, 0x98, 0x35, 0xaf, 0x3c, 0x74, 0x4c, 0x8f, 0x9e, 0x69, 0xd8, 0x99, 0x86, - 0x1d, 0x52, 0xc3, 0xfe, 0x51, 0x1e, 0x86, 0x83, 0x4d, 0xd3, 0x07, 0xb4, 0x71, 0x3c, 0x6b, 0x55, - 0xb8, 0x95, 0x29, 0x1c, 0x7a, 0x2b, 0x73, 0x18, 0x85, 0x52, 0x83, 0x23, 0x4f, 0x6e, 0x1a, 0xa0, - 0xc4, 0xf8, 0x91, 0x67, 0x70, 0xd0, 0xf9, 0x1c, 0xf4, 0xcd, 0xeb, 0x4f, 0xcc, 0x56, 0xa7, 0x25, - 0xac, 0x74, 0x74, 0x27, 0x6b, 0xe9, 0x4f, 0x34, 0x1f, 0xae, 0xfe, 0x77, 0x39, 0x18, 0x11, 0x42, - 0x15, 0xcc, 0x0f, 0x25, 0xd5, 0x50, 0x3a, 0xf9, 0x43, 0x4b, 0xa7, 0x70, 0x70, 0xe9, 0xa8, 0x7f, - 0xae, 0x00, 0xca, 0x8c, 0xd9, 0xa4, 0xcb, 0x8e, 0x6e, 0xb9, 0x6b, 0xd4, 0x11, 0xdb, 0xe9, 0x69, - 0xc6, 0xea, 0x50, 0x1f, 0x28, 0x4d, 0x29, 0xf9, 0x03, 0x4d, 0x29, 0x9f, 0x85, 0x01, 0xd1, 0x98, - 0xc0, 0x95, 0x11, 0x47, 0x8d, 0xe3, 0x03, 0xb5, 0x10, 0xcf, 0x88, 0xcb, 0xed, 0xb6, 0x63, 0x3f, - 0xa6, 0x0e, 0xbf, 0xa5, 0x12, 0xc4, 0xba, 0x0f, 0xd4, 0x42, 0xbc, 0xc4, 0x99, 0xfa, 0xf6, 0xa2, - 0xcc, 0x99, 0x3a, 0x5a, 0x88, 0x27, 0xd7, 0xa1, 0x7f, 0xce, 0x6e, 0xe8, 0x28, 0x68, 0x3e, 0xad, - 0x0c, 0xed, 0x6c, 0x4f, 0xf4, 0x37, 0x05, 0x4c, 0x0b, 0xb0, 0x8c, 0xb2, 0x62, 0x6f, 0x5a, 0x4d, - 0x5b, 0xe7, 0xce, 0x2f, 0xfd, 0x9c, 0xd2, 0x10, 0x30, 0x2d, 0xc0, 0x32, 0x4a, 0x26, 0x73, 0x74, - 0x2a, 0xea, 0x0f, 0x79, 0xae, 0x09, 0x98, 0x16, 0x60, 0xd5, 0x5f, 0x2d, 0x32, 0xed, 0x75, 0xcd, - 0x0f, 0x4f, 0xfd, 0xba, 0x10, 0x0e, 0x98, 0xde, 0x03, 0x0c, 0x98, 0x53, 0x73, 0x60, 0xa7, 0xfe, - 0x8b, 0x3e, 0x00, 0x21, 0xfd, 0xe9, 0xb3, 0xcd, 0xe1, 0xe1, 0xb4, 0xa6, 0x02, 0xe3, 0xd3, 0xd6, - 0x86, 0x6e, 0x35, 0xa8, 0x11, 0x1e, 0x5b, 0x96, 0x70, 0x68, 0xa3, 0x13, 0x24, 0x15, 0xc8, 0xf0, - 0xdc, 0x52, 0x4b, 0x16, 0x20, 0x2f, 0xc3, 0x60, 0xd5, 0xf2, 0xa8, 0xa3, 0x37, 0x3c, 0xf3, 0x31, - 0x15, 0x53, 0x03, 0xde, 0x0c, 0x9b, 0x21, 0x58, 0x93, 0x69, 0xc8, 0x1d, 0x18, 0x5a, 0xd2, 0x1d, - 0xcf, 0x6c, 0x98, 0x6d, 0xdd, 0xf2, 0x5c, 0xa5, 0x1f, 0x67, 0x34, 0xb4, 0x30, 0xda, 0x12, 0x5c, - 0x8b, 0x50, 0x91, 0xaf, 0xc0, 0x00, 0x6e, 0x4d, 0xd1, 0x5f, 0x7b, 0x60, 0xd7, 0x8b, 0xc3, 0xe7, - 0x43, 0xf7, 0x40, 0x7e, 0xfa, 0x8a, 0x37, 0xc0, 0xf1, 0xbb, 0xc3, 0x80, 0x23, 0xf9, 0x12, 0xf4, - 0x4d, 0x5b, 0x06, 0x32, 0x87, 0x5d, 0x99, 0xab, 0x82, 0xf9, 0xc5, 0x90, 0xb9, 0xdd, 0x8e, 0xf1, - 0xf6, 0xd9, 0xa5, 0x8f, 0xb2, 0xc1, 0x8f, 0x6e, 0x94, 0x0d, 0x7d, 0x04, 0xc7, 0xe2, 0xc3, 0x47, - 0x75, 0x2c, 0x3e, 0x72, 0xc0, 0x63, 0x71, 0xf5, 0x43, 0x18, 0x9c, 0x5c, 0x9a, 0x09, 0x46, 0xef, - 0x53, 0x50, 0x58, 0x12, 0x9e, 0x0a, 0x45, 0x6e, 0xcf, 0xb4, 0x4d, 0x43, 0x63, 0x30, 0x72, 0x03, - 0xfa, 0xa7, 0xd0, 0xfd, 0x4d, 0xdc, 0x22, 0x16, 0xf9, 0xfa, 0xd7, 0x40, 0x18, 0x7a, 0xc1, 0xfa, - 0x68, 0xf2, 0x69, 0xe8, 0x5b, 0x72, 0xec, 0x75, 0x47, 0x6f, 0x89, 0x35, 0x18, 0x5d, 0x45, 0xda, - 0x1c, 0xa4, 0xf9, 0x38, 0xf5, 0x27, 0x73, 0xbe, 0xd9, 0xce, 0x4a, 0xd4, 0x3a, 0x78, 0x34, 0x8f, - 0x75, 0xf7, 0xf3, 0x12, 0x2e, 0x07, 0x69, 0x3e, 0x8e, 0xdc, 0x80, 0xde, 0x69, 0xc7, 0xb1, 0x1d, - 0xd9, 0xc7, 0x9d, 0x32, 0x80, 0x7c, 0xdd, 0x8b, 0x14, 0xe4, 0x75, 0x18, 0xe4, 0x73, 0x0e, 0x3f, - 0xd1, 0x2c, 0x74, 0xbb, 0x29, 0x95, 0x29, 0xd5, 0xef, 0x14, 0x24, 0x9b, 0x8d, 0x4b, 0xfc, 0x14, - 0xde, 0x0a, 0xbc, 0x02, 0x85, 0xc9, 0xa5, 0x19, 0x31, 0x01, 0x9e, 0xf3, 0x8b, 0x4a, 0xaa, 0x12, - 0x2b, 0xc7, 0xa8, 0xc9, 0x15, 0x28, 0x2e, 0x31, 0xf5, 0x29, 0xa1, 0x7a, 0xf4, 0xef, 0x6c, 0x4f, - 0x14, 0xdb, 0x4c, 0x7f, 0x10, 0x8a, 0x58, 0xb6, 0x99, 0xe1, 0x3b, 0x26, 0x8e, 0x0d, 0xf7, 0x31, - 0x57, 0xa0, 0x58, 0x76, 0xd6, 0x1f, 0x8b, 0x59, 0x0b, 0xb1, 0xba, 0xb3, 0xfe, 0x58, 0x43, 0x28, - 0xb9, 0x05, 0xa0, 0x51, 0xaf, 0xe3, 0x58, 0xf8, 0xfc, 0x64, 0x00, 0xcf, 0xdf, 0x70, 0x36, 0x74, - 0x10, 0x5a, 0x6f, 0xd8, 0x06, 0xd5, 0x24, 0x12, 0xf5, 0x2f, 0x87, 0x17, 0x3b, 0x15, 0xd3, 0x7d, - 0x74, 0xd6, 0x85, 0xfb, 0xe8, 0x42, 0x5d, 0x1c, 0x71, 0x26, 0x3b, 0x69, 0x02, 0x7a, 0x67, 0x9a, - 0xfa, 0xba, 0x8b, 0x7d, 0x28, 0x7c, 0xc9, 0xd6, 0x18, 0x40, 0xe3, 0xf0, 0x58, 0x3f, 0xf5, 0xef, - 0xde, 0x4f, 0x3f, 0xd3, 0x1b, 0x8c, 0xb6, 0x05, 0xea, 0x6d, 0xda, 0xce, 0x59, 0x57, 0xed, 0xb5, - 0xab, 0xae, 0x41, 0x5f, 0xcd, 0x69, 0x48, 0x47, 0x17, 0xb8, 0x1f, 0x70, 0x9d, 0x06, 0x3f, 0xb6, - 0xf0, 0x91, 0x8c, 0xae, 0xe2, 0x7a, 0x48, 0xd7, 0x17, 0xd2, 0x19, 0xae, 0x27, 0xe8, 0x04, 0x52, - 0xd0, 0x2d, 0xd9, 0x8e, 0x27, 0x3a, 0x2e, 0xa0, 0x6b, 0xdb, 0x8e, 0xa7, 0xf9, 0x48, 0xf2, 0x59, - 0x80, 0xe5, 0xa9, 0x25, 0xdf, 0xd9, 0x7e, 0x20, 0xf4, 0x05, 0x14, 0x5e, 0xf6, 0x9a, 0x84, 0x26, - 0xcb, 0x30, 0xb0, 0xd8, 0xa6, 0x0e, 0xdf, 0x0a, 0xf1, 0x07, 0x25, 0x9f, 0x89, 0x89, 0x56, 0xf4, - 0xfb, 0x4d, 0xf1, 0x7f, 0x40, 0xce, 0xd7, 0x17, 0xdb, 0xff, 0xa9, 0x85, 0x8c, 0xc8, 0xeb, 0x50, - 0x2a, 0x73, 0x3b, 0x6f, 0x10, 0x59, 0x06, 0x22, 0xc3, 0x2d, 0x28, 0x47, 0xf1, 0x3d, 0xbb, 0x8e, - 0x7f, 0x6b, 0x82, 0x5c, 0xbd, 0x01, 0x63, 0xf1, 0x6a, 0xc8, 0x20, 0xf4, 0x4d, 0x2d, 0x2e, 0x2c, - 0x4c, 0x4f, 0x2d, 0x8f, 0xf5, 0x90, 0x7e, 0x28, 0xd6, 0xa6, 0x17, 0x2a, 0x63, 0x39, 0xf5, 0x97, - 0xa5, 0x19, 0x84, 0xa9, 0xd6, 0xd9, 0xd5, 0xf0, 0xa1, 0xee, 0x5b, 0xc6, 0xf0, 0x3e, 0x14, 0x4f, - 0x0c, 0x5a, 0xa6, 0xe7, 0x51, 0x43, 0xac, 0x12, 0x78, 0x5f, 0xe8, 0x3d, 0xd1, 0x12, 0x78, 0xf2, - 0x22, 0x0c, 0x23, 0x4c, 0x5c, 0x11, 0xf2, 0xfd, 0xb1, 0x28, 0xe0, 0x3c, 0xd1, 0xa2, 0x48, 0xf5, - 0x77, 0xc3, 0xdb, 0xe1, 0x39, 0xaa, 0x9f, 0xd4, 0x1b, 0xc5, 0x8f, 0x49, 0x7f, 0xa9, 0xff, 0xaa, - 0xc8, 0x9f, 0x80, 0xf0, 0xf7, 0x82, 0xc7, 0x21, 0xca, 0xf0, 0x48, 0xb7, 0xb0, 0x8f, 0x23, 0xdd, - 0x17, 0xa1, 0x34, 0x4f, 0xbd, 0x0d, 0xdb, 0x77, 0xfc, 0x42, 0x0f, 0xbd, 0x16, 0x42, 0x64, 0x0f, - 0x3d, 0x4e, 0x43, 0x1e, 0x01, 0xf1, 0x1f, 0x03, 0x06, 0x8e, 0xd8, 0xfe, 0x11, 0xf2, 0xa5, 0xc4, - 0x3e, 0xa5, 0x86, 0x2f, 0x81, 0xd1, 0xc7, 0xfe, 0x7c, 0xe0, 0xe8, 0x2d, 0x79, 0x62, 0xfd, 0xcb, - 0xed, 0x89, 0x12, 0xa7, 0xd1, 0x52, 0xd8, 0x92, 0xf7, 0x60, 0x60, 0x7e, 0xa6, 0x2c, 0x1e, 0x06, - 0x72, 0xaf, 0x88, 0xa7, 0x02, 0x29, 0xfa, 0x88, 0x40, 0x24, 0xf8, 0xde, 0xa6, 0xb5, 0xa6, 0x27, - 0xdf, 0x05, 0x86, 0x5c, 0x98, 0xb6, 0xf0, 0x97, 0x3b, 0xe2, 0x74, 0x21, 0xd0, 0x96, 0xe8, 0x7b, - 0x9e, 0xb8, 0xac, 0x38, 0x36, 0xa6, 0x2d, 0xfd, 0x87, 0x18, 0xdd, 0x8b, 0x30, 0x5e, 0x6e, 0xb7, - 0x9b, 0x26, 0x35, 0x50, 0x5f, 0xb4, 0x4e, 0x93, 0xba, 0xc2, 0xe5, 0x07, 0x1f, 0x83, 0xe8, 0x1c, - 0x59, 0xc7, 0xe7, 0xa8, 0x75, 0xa7, 0x13, 0xf5, 0xcf, 0x4c, 0x96, 0x55, 0x7f, 0x3a, 0x0f, 0x17, - 0xa7, 0x1c, 0xaa, 0x7b, 0x74, 0x7e, 0xa6, 0x5c, 0xee, 0xa0, 0x8f, 0x5c, 0xb3, 0x49, 0xad, 0xf5, - 0xe3, 0x19, 0xd6, 0x6f, 0xc1, 0x48, 0xd0, 0x80, 0x5a, 0xc3, 0x6e, 0x53, 0xf9, 0x61, 0x55, 0xc3, - 0xc7, 0xd4, 0x5d, 0x86, 0xd2, 0x62, 0xa4, 0xe4, 0x3e, 0x9c, 0x0b, 0x20, 0xe5, 0x66, 0xd3, 0xde, - 0xd4, 0x68, 0xc7, 0xe5, 0x8e, 0xb1, 0xfd, 0xdc, 0x31, 0x36, 0xe4, 0xa0, 0x33, 0x7c, 0xdd, 0x61, - 0x04, 0x5a, 0x5a, 0x29, 0xf5, 0xe7, 0x0b, 0x70, 0xe9, 0x81, 0xde, 0x34, 0x8d, 0x50, 0x34, 0x1a, - 0x75, 0xdb, 0xb6, 0xe5, 0xd2, 0x13, 0x34, 0x4a, 0x23, 0x43, 0xa1, 0x78, 0x24, 0x43, 0x21, 0xd9, - 0x45, 0xbd, 0x87, 0xee, 0xa2, 0xd2, 0x81, 0xba, 0xe8, 0x7f, 0xcb, 0xc1, 0x98, 0xef, 0xf8, 0x2f, - 0x3f, 0xe2, 0x96, 0xbc, 0xd2, 0xf1, 0x08, 0x31, 0xe6, 0x07, 0x8d, 0x78, 0x52, 0x83, 0xbe, 0xe9, - 0x27, 0x6d, 0xd3, 0xa1, 0xee, 0x1e, 0x9c, 0xb8, 0x9f, 0x11, 0xc7, 0x25, 0xe3, 0x94, 0x17, 0x49, - 0x9c, 0x94, 0x70, 0x30, 0x3e, 0xe7, 0xe3, 0x4f, 0x1f, 0x26, 0xfd, 0x97, 0xe9, 0xfc, 0x39, 0x9f, - 0x78, 0x22, 0x11, 0x79, 0x9f, 0x19, 0x92, 0x92, 0xe7, 0xa1, 0xb0, 0xbc, 0x3c, 0x27, 0x66, 0x52, - 0x8c, 0x08, 0xe0, 0x79, 0xf2, 0x7b, 0x45, 0x86, 0x55, 0xff, 0x69, 0x1e, 0x80, 0xa9, 0x02, 0x1f, - 0xae, 0xc7, 0xa2, 0x84, 0x93, 0xd0, 0xef, 0x0b, 0x5c, 0xa8, 0x61, 0xe0, 0xb5, 0x1f, 0xef, 0x88, - 0x78, 0xdd, 0xc1, 0x0b, 0x8d, 0x09, 0xdf, 0x91, 0x9c, 0xdf, 0x03, 0xe0, 0xce, 0x06, 0x1d, 0xc9, - 0x7d, 0xf7, 0xf1, 0xcf, 0xc2, 0x80, 0x98, 0xf1, 0xec, 0xc8, 0xf9, 0x7f, 0xc3, 0x07, 0x6a, 0x21, - 0x3e, 0x36, 0xb5, 0x96, 0x0e, 0xb1, 0x10, 0xfb, 0xe2, 0xe5, 0xbd, 0x72, 0x26, 0xde, 0x23, 0x16, - 0xef, 0x37, 0x85, 0x78, 0xf9, 0x0b, 0x9e, 0x13, 0x2b, 0xde, 0x23, 0x3b, 0xfb, 0x56, 0xff, 0x51, - 0x0e, 0x08, 0x6b, 0xd6, 0x92, 0xee, 0xba, 0x9b, 0xb6, 0x63, 0x70, 0xe7, 0xf4, 0x63, 0x11, 0xcc, - 0xd1, 0xdd, 0x57, 0x7e, 0xa7, 0x1f, 0xce, 0x45, 0x1c, 0x7f, 0x4f, 0xf8, 0x64, 0x75, 0x23, 0x3a, - 0x9a, 0xba, 0xbd, 0x7a, 0xf9, 0x94, 0x7c, 0x21, 0xda, 0x1b, 0x79, 0x80, 0x26, 0xdd, 0x84, 0xbe, - 0x04, 0x43, 0xe2, 0x07, 0x5b, 0xa1, 0xfd, 0x9b, 0x2e, 0x1c, 0xa5, 0x2e, 0x03, 0x68, 0x11, 0x34, - 0x79, 0x15, 0x06, 0xd8, 0x80, 0x59, 0xc7, 0xe0, 0x21, 0x7d, 0xe1, 0x8b, 0x12, 0xc3, 0x07, 0xca, - 0xeb, 0x49, 0x40, 0x29, 0xbd, 0x23, 0xea, 0xdf, 0xc3, 0x3b, 0xa2, 0xaf, 0xc2, 0x60, 0xd9, 0xb2, - 0x6c, 0x0f, 0x37, 0xe9, 0xae, 0xb8, 0x9a, 0xc8, 0xb4, 0xca, 0x9f, 0xc7, 0xc7, 0xf1, 0x21, 0x7d, - 0xaa, 0x59, 0x2e, 0x33, 0x24, 0xb7, 0xfd, 0x57, 0x31, 0xd4, 0x11, 0x5e, 0xe5, 0x78, 0x3d, 0xe3, - 0x08, 0x58, 0xf2, 0x51, 0x0c, 0x76, 0xde, 0xf0, 0x92, 0x63, 0xb7, 0x6d, 0x97, 0x1a, 0x5c, 0x50, - 0x83, 0x61, 0xa8, 0x81, 0xb6, 0x40, 0xe0, 0x3b, 0xb6, 0x48, 0x20, 0x8f, 0x48, 0x11, 0xb2, 0x06, - 0xe7, 0xfd, 0x8b, 0xe2, 0xe0, 0xc5, 0x60, 0xb5, 0xe2, 0x2a, 0x43, 0xf8, 0x2a, 0x89, 0xc4, 0x95, - 0xa1, 0x5a, 0x99, 0xbc, 0xea, 0x5f, 0x8b, 0xf8, 0x4f, 0x0e, 0xeb, 0xa6, 0x21, 0x77, 0x75, 0x2a, - 0x3f, 0xf2, 0x43, 0x30, 0x38, 0xaf, 0x3f, 0xa9, 0x74, 0xc4, 0xd9, 0xcb, 0xf0, 0xde, 0x6f, 0x5f, - 0x5a, 0xfa, 0x93, 0xba, 0x21, 0xca, 0xc5, 0x6c, 0x0a, 0x99, 0x25, 0xa9, 0xc3, 0xc5, 0x25, 0xc7, - 0x6e, 0xd9, 0x1e, 0x35, 0x62, 0x8f, 0xef, 0x46, 0xc3, 0xd7, 0xba, 0x6d, 0x41, 0x51, 0xef, 0xf2, - 0x0a, 0x2f, 0x83, 0x0d, 0x69, 0xc1, 0x68, 0xd9, 0x75, 0x3b, 0x2d, 0x1a, 0xde, 0x50, 0x8d, 0xed, - 0xfa, 0x19, 0x9f, 0x11, 0x5e, 0xcb, 0x4f, 0xeb, 0x58, 0x94, 0x5f, 0x50, 0xd5, 0x3d, 0x53, 0xae, - 0x11, 0xbf, 0x25, 0xce, 0xfb, 0x5e, 0xb1, 0x7f, 0x64, 0x6c, 0x54, 0xbb, 0x94, 0x6c, 0xcc, 0xb2, - 0xe9, 0x35, 0xa9, 0xfa, 0x3b, 0x39, 0x80, 0x50, 0xc0, 0xe4, 0xa5, 0x68, 0x84, 0xa2, 0x5c, 0x78, - 0xd1, 0x21, 0xa2, 0x17, 0x44, 0x42, 0x12, 0x91, 0x2b, 0x50, 0xc4, 0x08, 0x17, 0xf9, 0xf0, 0x60, - 0xf5, 0x91, 0x69, 0x19, 0x1a, 0x42, 0x19, 0x56, 0x7a, 0x8a, 0x8e, 0x58, 0xbc, 0xd4, 0xe7, 0x56, - 0x61, 0x05, 0x46, 0x6b, 0x9d, 0x55, 0xbf, 0x6e, 0xe9, 0x5d, 0x1d, 0x06, 0xda, 0x70, 0x3b, 0xab, - 0xc1, 0x63, 0xd4, 0x48, 0x18, 0x93, 0x68, 0x11, 0xf5, 0x57, 0x73, 0xb1, 0x59, 0xf0, 0x18, 0x17, - 0xbd, 0x4f, 0x25, 0xfd, 0x34, 0x92, 0xd3, 0x92, 0xfa, 0xe7, 0xf3, 0x30, 0xb8, 0x64, 0x3b, 0x9e, - 0x08, 0x19, 0x72, 0xb2, 0x57, 0x21, 0x69, 0xaf, 0x54, 0xdc, 0xc7, 0x5e, 0xe9, 0x0a, 0x14, 0x25, - 0x17, 0x65, 0x7e, 0x2f, 0x62, 0x18, 0x8e, 0x86, 0x50, 0xf5, 0x47, 0xf2, 0x00, 0x5f, 0x7a, 0xf9, - 0xe5, 0x53, 0x2c, 0x20, 0xf5, 0xe7, 0x72, 0x30, 0x2a, 0x2e, 0xea, 0xa4, 0x58, 0x5f, 0x7d, 0xfe, - 0x15, 0xab, 0x3c, 0x2e, 0x39, 0x48, 0xf3, 0x71, 0x6c, 0x09, 0x98, 0x7e, 0x62, 0x7a, 0x78, 0x57, - 0x21, 0x05, 0xfb, 0xa2, 0x02, 0x26, 0x2f, 0x01, 0x3e, 0x1d, 0x79, 0xc9, 0xbf, 0x82, 0x2c, 0x84, - 0xeb, 0x1e, 0x2b, 0x30, 0x9d, 0x7a, 0x0d, 0xa9, 0xfe, 0x46, 0x11, 0x8a, 0xd3, 0x4f, 0x68, 0xe3, - 0x84, 0x77, 0x8d, 0x74, 0xb0, 0x59, 0x3c, 0xe4, 0xc1, 0xe6, 0x41, 0x7c, 0x2a, 0xde, 0x0d, 0xfb, - 0xb3, 0x14, 0xad, 0x3e, 0xd6, 0xf3, 0xf1, 0xea, 0xfd, 0x9e, 0x3e, 0x79, 0x2e, 0x39, 0xff, 0x55, - 0x01, 0x0a, 0xb5, 0xa9, 0xa5, 0x33, 0xbd, 0x39, 0x56, 0xbd, 0xe9, 0x7e, 0x67, 0xad, 0x06, 0xd7, - 0x50, 0xfd, 0xa1, 0x97, 0x68, 0xec, 0xc6, 0xe9, 0x0f, 0x0b, 0x30, 0x52, 0x9b, 0x59, 0x5e, 0x92, - 0x4e, 0x82, 0xef, 0x73, 0x4f, 0x3e, 0xf4, 0x29, 0xe3, 0x5d, 0x7a, 0x25, 0x61, 0xcf, 0xac, 0x54, - 0x2d, 0xef, 0xb5, 0x3b, 0x0f, 0xf4, 0x66, 0x87, 0xe2, 0xd1, 0x0b, 0xf7, 0xfb, 0x75, 0xcd, 0x0f, - 0xe9, 0xcf, 0xe3, 0xc3, 0x7f, 0x9f, 0x01, 0x79, 0x0b, 0x0a, 0x2b, 0xc2, 0x23, 0x23, 0x8b, 0xcf, - 0x2b, 0xb7, 0x39, 0x1f, 0x36, 0x09, 0x16, 0x3a, 0xa6, 0x81, 0x1c, 0x58, 0x29, 0x56, 0xf8, 0xae, - 0x58, 0x80, 0xf7, 0x54, 0x78, 0xdd, 0x2f, 0x7c, 0xb7, 0x5a, 0x21, 0x35, 0x18, 0x5c, 0xa2, 0x4e, - 0xcb, 0xc4, 0x8e, 0xf2, 0xe7, 0xec, 0xee, 0x4c, 0xd8, 0x4e, 0x65, 0xb0, 0x1d, 0x16, 0x42, 0x66, - 0x32, 0x17, 0xf2, 0x3e, 0x00, 0xb7, 0x51, 0xf6, 0x18, 0x3f, 0xf2, 0x19, 0xb4, 0xfb, 0xb9, 0x69, - 0x99, 0x62, 0xe3, 0x49, 0xcc, 0xc8, 0x23, 0x18, 0x9b, 0xb7, 0x0d, 0x73, 0xcd, 0xe4, 0xae, 0x97, - 0x58, 0x41, 0x69, 0x77, 0x87, 0x27, 0x66, 0x4a, 0xb6, 0xa4, 0x72, 0x69, 0xd5, 0x24, 0x18, 0xab, - 0xff, 0x79, 0x2f, 0x14, 0x59, 0xb7, 0x9f, 0x8d, 0xdf, 0xc3, 0x8c, 0xdf, 0x32, 0x8c, 0x3d, 0xb4, - 0x9d, 0x47, 0xa6, 0xb5, 0x1e, 0x78, 0xc5, 0x8b, 0xbd, 0x29, 0x7a, 0xf2, 0x6c, 0x72, 0x5c, 0x3d, - 0x70, 0xa0, 0xd7, 0x12, 0xe4, 0xbb, 0x8c, 0xe0, 0x37, 0x00, 0xf8, 0x5b, 0x77, 0xa4, 0xe9, 0x0f, - 0x83, 0x55, 0xf0, 0x97, 0xf0, 0xe8, 0x68, 0x2f, 0x07, 0xab, 0x08, 0x89, 0xd9, 0x26, 0x9c, 0xfb, - 0x42, 0x0c, 0xa0, 0xdf, 0x3d, 0x6e, 0xc2, 0xd1, 0x17, 0x42, 0x36, 0x02, 0xb8, 0x57, 0xc4, 0x12, - 0x80, 0x74, 0xbf, 0x04, 0x31, 0x41, 0x44, 0x26, 0x07, 0x11, 0x1e, 0x2e, 0xe5, 0x7a, 0x49, 0x93, - 0x78, 0x90, 0xd7, 0x62, 0x17, 0xe0, 0x24, 0xc2, 0x2d, 0xf3, 0xfe, 0x3b, 0x74, 0xa0, 0x1a, 0xda, - 0xcd, 0x81, 0x4a, 0xfd, 0x7a, 0x1e, 0x06, 0x6a, 0x9d, 0x55, 0x77, 0xcb, 0xf5, 0x68, 0xeb, 0x84, - 0xab, 0xb1, 0xbf, 0xbd, 0x2a, 0xa6, 0x6e, 0xaf, 0x9e, 0xf7, 0x85, 0x22, 0x9d, 0x3b, 0x06, 0x26, - 0x9d, 0x2f, 0x8e, 0xbf, 0x9e, 0x87, 0x31, 0x7e, 0x71, 0x56, 0x31, 0xdd, 0xc6, 0x11, 0x38, 0xf3, - 0x1f, 0xbf, 0x54, 0x0e, 0x77, 0xd9, 0xbc, 0x87, 0x27, 0x12, 0xea, 0xd7, 0xf2, 0x30, 0x58, 0xee, - 0x78, 0x1b, 0x65, 0x0f, 0x75, 0xeb, 0x54, 0xee, 0x4f, 0xfe, 0x6e, 0x0e, 0x46, 0x59, 0x43, 0x96, - 0xed, 0x47, 0xd4, 0x3a, 0x82, 0x83, 0x47, 0xf9, 0x00, 0x31, 0x7f, 0xc0, 0x03, 0x44, 0x5f, 0x96, - 0x85, 0xfd, 0xc9, 0x12, 0x8f, 0xcb, 0x35, 0xbb, 0x49, 0x4f, 0xf6, 0x67, 0x1c, 0xe1, 0x71, 0xb9, - 0x2f, 0x90, 0x23, 0xb8, 0x9e, 0xf9, 0x64, 0x09, 0xe4, 0x08, 0xce, 0x96, 0x3e, 0x19, 0x02, 0xf9, - 0x4e, 0x0e, 0x06, 0x26, 0x6d, 0xef, 0x84, 0x0f, 0x7c, 0xf1, 0x15, 0x27, 0x5b, 0xcd, 0xfd, 0xaf, - 0x38, 0xd9, 0xba, 0xa9, 0xfe, 0x6c, 0x1e, 0xce, 0x8b, 0xd8, 0xe0, 0xe2, 0xfc, 0xe1, 0x6c, 0x3a, - 0x16, 0x83, 0x2d, 0x29, 0x9a, 0xb3, 0x79, 0x48, 0x88, 0xe6, 0x17, 0x0b, 0x70, 0x1e, 0x43, 0x99, - 0xb2, 0x6d, 0xd9, 0x27, 0xc0, 0x16, 0x21, 0x8d, 0xe8, 0x25, 0xe8, 0x7c, 0xca, 0x25, 0xe8, 0xbf, - 0xdc, 0x9e, 0x78, 0x6d, 0xdd, 0xf4, 0x36, 0x3a, 0xab, 0x37, 0x1b, 0x76, 0xeb, 0xd6, 0xba, 0xa3, - 0x3f, 0x36, 0xf9, 0xf5, 0x9f, 0xde, 0xbc, 0x15, 0xa4, 0xd9, 0xd0, 0xdb, 0xa6, 0x48, 0xc0, 0x51, - 0xc3, 0xbd, 0x0e, 0xe3, 0xea, 0x5f, 0x9f, 0xba, 0x00, 0xf7, 0x6c, 0xd3, 0x12, 0x3e, 0x85, 0xdc, - 0xd0, 0xad, 0xb1, 0xfd, 0xe1, 0x07, 0xb6, 0x69, 0xd5, 0xe3, 0x8e, 0x85, 0xfb, 0xad, 0x2f, 0x64, - 0xad, 0x49, 0xd5, 0xa8, 0xff, 0x6d, 0x0e, 0x9e, 0x8a, 0x6a, 0xf1, 0x27, 0xc1, 0x76, 0xfc, 0x33, - 0x79, 0xb8, 0x70, 0x17, 0x85, 0x13, 0x38, 0x72, 0x9c, 0xcd, 0x5b, 0x62, 0x70, 0xa6, 0xc8, 0xe6, - 0xcc, 0xa2, 0xcc, 0x96, 0xcd, 0xd9, 0xa4, 0x2e, 0x64, 0xf3, 0xf7, 0x73, 0x70, 0x6e, 0xb1, 0x5a, - 0x99, 0xfa, 0x84, 0x8c, 0xa8, 0xe4, 0xf7, 0x9c, 0x70, 0x83, 0x33, 0xf1, 0x3d, 0x27, 0xdc, 0xf4, - 0xfc, 0x76, 0x1e, 0xce, 0xd5, 0xca, 0xf3, 0x73, 0x9f, 0x94, 0x19, 0x7c, 0x4a, 0xf6, 0x3a, 0xf4, - 0x0f, 0xc1, 0x84, 0x2d, 0x20, 0x7f, 0xe6, 0x83, 0xdb, 0xd9, 0xde, 0x88, 0x49, 0xa1, 0x9c, 0xf0, - 0xa9, 0xfb, 0x48, 0x84, 0xc2, 0x34, 0x3f, 0x42, 0x7d, 0xc2, 0x35, 0xff, 0xbf, 0x2c, 0xc1, 0xe0, - 0xfd, 0xce, 0x2a, 0x15, 0xce, 0x29, 0xa7, 0xfa, 0xe4, 0xf7, 0x36, 0x0c, 0x0a, 0x31, 0xe0, 0xad, - 0x89, 0x14, 0x3c, 0x4f, 0x04, 0x43, 0xe1, 0xf1, 0x89, 0x64, 0x22, 0x72, 0x05, 0x8a, 0x0f, 0xa8, - 0xb3, 0x2a, 0xbf, 0x2b, 0x7d, 0x4c, 0x9d, 0x55, 0x0d, 0xa1, 0x64, 0x2e, 0x74, 0x99, 0x2f, 0x2f, - 0x55, 0x31, 0x91, 0x8a, 0xb8, 0xb0, 0xc1, 0xcc, 0x30, 0x81, 0xdf, 0x9b, 0xde, 0x36, 0x79, 0x0a, - 0x16, 0xf9, 0x4d, 0x7b, 0xbc, 0x24, 0x59, 0x80, 0x71, 0xd9, 0xf1, 0x89, 0x67, 0x11, 0xe9, 0x4f, - 0x61, 0x97, 0x96, 0x3f, 0x24, 0x59, 0x94, 0xbc, 0x0b, 0x43, 0x3e, 0x10, 0x5d, 0xb8, 0x06, 0xc2, - 0xd0, 0xf5, 0x01, 0xab, 0x58, 0x8a, 0xa2, 0x48, 0x01, 0x99, 0x01, 0x5e, 0x43, 0x40, 0x0a, 0x83, - 0x98, 0x4b, 0x5c, 0xa4, 0x00, 0x79, 0x15, 0x19, 0xe0, 0x33, 0x0f, 0x74, 0x56, 0x19, 0xc4, 0x47, - 0x97, 0xe8, 0x92, 0xef, 0x08, 0x38, 0x7f, 0x5a, 0x1b, 0x21, 0x23, 0x8b, 0x00, 0xa1, 0x53, 0x81, - 0x08, 0x60, 0xb0, 0x6f, 0x77, 0x07, 0x89, 0x85, 0x7c, 0x1d, 0x38, 0x7c, 0x90, 0xeb, 0x40, 0xf5, - 0x1f, 0xe6, 0x61, 0xb0, 0xdc, 0x6e, 0x07, 0x43, 0xe1, 0x25, 0x28, 0x95, 0xdb, 0xed, 0x15, 0xad, - 0x2a, 0x87, 0x32, 0xd7, 0xdb, 0xed, 0x7a, 0xc7, 0x31, 0x65, 0x9f, 0x50, 0x4e, 0x44, 0xa6, 0x60, - 0xb8, 0xdc, 0x6e, 0x2f, 0x75, 0x56, 0x9b, 0x66, 0x43, 0xca, 0x8c, 0xc4, 0x73, 0xc7, 0xb5, 0xdb, - 0xf5, 0x36, 0x62, 0xe2, 0xe9, 0xb1, 0xa2, 0x65, 0xc8, 0x57, 0x31, 0xec, 0x8f, 0x48, 0xcc, 0xc3, - 0x53, 0x7f, 0xa8, 0x41, 0x10, 0xf3, 0xb0, 0x6d, 0x37, 0x03, 0x22, 0x1e, 0xec, 0xfd, 0x8a, 0x1f, - 0x32, 0x9f, 0x55, 0x94, 0x48, 0xc0, 0x13, 0xb2, 0x24, 0x9f, 0x83, 0xbe, 0x72, 0xbb, 0x2d, 0xdd, - 0x37, 0xa1, 0x53, 0x11, 0x2b, 0x15, 0xcf, 0x7d, 0x26, 0xc8, 0x2e, 0xbf, 0x0d, 0x23, 0xd1, 0xca, - 0xf6, 0x15, 0x2c, 0xfe, 0xfb, 0x39, 0xfc, 0xa0, 0x13, 0xee, 0xd3, 0xfc, 0x0a, 0x14, 0xca, 0xed, - 0xb6, 0x98, 0x8f, 0xce, 0xa5, 0xf4, 0x47, 0xfc, 0x09, 0x74, 0xb9, 0xdd, 0xf6, 0x3f, 0xfd, 0x84, - 0x3f, 0x8e, 0x38, 0xd0, 0xa7, 0x7f, 0x87, 0x7f, 0xfa, 0xc9, 0x7e, 0xb8, 0xa0, 0xfe, 0x46, 0x01, - 0x46, 0xcb, 0xed, 0xf6, 0x59, 0x90, 0xf9, 0xa3, 0x7a, 0x68, 0xfd, 0x32, 0x80, 0x34, 0x3d, 0xf6, - 0x05, 0x4f, 0xb7, 0x06, 0xa5, 0xa9, 0x51, 0xc9, 0x69, 0x12, 0x91, 0xaf, 0x7e, 0xfd, 0xfb, 0x52, - 0xbf, 0xaf, 0x15, 0x70, 0x2a, 0x3e, 0xe9, 0x41, 0xa3, 0x3e, 0x2e, 0xdd, 0x26, 0xfa, 0xa0, 0xb4, - 0xaf, 0x3e, 0xf8, 0x3b, 0x91, 0xc1, 0x83, 0x41, 0xcb, 0xcf, 0x7a, 0xa1, 0xf7, 0x50, 0x66, 0xf1, - 0x88, 0x2c, 0x4c, 0x11, 0xc9, 0xc6, 0x4f, 0xa4, 0x24, 0xe2, 0x2a, 0x35, 0x18, 0xaa, 0x6e, 0x1a, - 0x5a, 0x8c, 0xd6, 0xef, 0xc3, 0xbe, 0x7d, 0xf5, 0xe1, 0x76, 0x1e, 0xdf, 0x4e, 0x07, 0x71, 0x99, - 0x0e, 0xbf, 0xbb, 0xb8, 0x05, 0xc0, 0x3d, 0x0f, 0x02, 0xb7, 0xe6, 0x61, 0x1e, 0x82, 0x85, 0xe7, - 0x57, 0x12, 0x21, 0x58, 0x42, 0x92, 0xc0, 0x43, 0xaa, 0x90, 0xea, 0x21, 0x75, 0x03, 0xfa, 0x35, - 0x7d, 0xf3, 0xbd, 0x0e, 0x75, 0xb6, 0x84, 0x39, 0xc3, 0xc3, 0x1e, 0xea, 0x9b, 0xf5, 0x1f, 0x66, - 0x40, 0x2d, 0x40, 0x13, 0x35, 0x78, 0x7c, 0x2f, 0x79, 0x84, 0xf0, 0x33, 0xf2, 0xe0, 0xc9, 0xfd, - 0x41, 0x14, 0x9d, 0xbc, 0x09, 0x85, 0xf2, 0xc3, 0x9a, 0x90, 0x6c, 0xd0, 0xb5, 0xe5, 0x87, 0x35, - 0x21, 0xaf, 0xcc, 0xb2, 0x0f, 0x6b, 0xea, 0xd7, 0xf2, 0x40, 0x92, 0x94, 0xe4, 0x35, 0x18, 0x40, - 0xe8, 0x3a, 0xd3, 0x19, 0x39, 0x31, 0xe7, 0xa6, 0x5b, 0x77, 0x10, 0x1a, 0x31, 0xee, 0x7c, 0x52, - 0xf2, 0x06, 0xa6, 0x3e, 0x16, 0xa9, 0xe1, 0x22, 0x89, 0x39, 0x37, 0x5d, 0x3f, 0x59, 0x70, 0x2c, - 0xf3, 0xb1, 0x20, 0x46, 0xbb, 0xf0, 0x61, 0x6d, 0xd6, 0x76, 0x3d, 0x21, 0x6a, 0x6e, 0x17, 0x6e, - 0xba, 0x98, 0x11, 0x36, 0x62, 0x17, 0x72, 0x32, 0xcc, 0x6a, 0xf5, 0xb0, 0xc6, 0x9f, 0xa9, 0x18, - 0x9a, 0xdd, 0xf4, 0x0d, 0x4a, 0x9e, 0xd5, 0x6a, 0xd3, 0xad, 0xf3, 0x27, 0x2e, 0x06, 0xe6, 0x5c, - 0x8e, 0x64, 0xb5, 0x8a, 0x94, 0x52, 0xbf, 0xd1, 0x0f, 0x63, 0x15, 0xdd, 0xd3, 0x57, 0x75, 0x97, - 0x4a, 0xbb, 0xe9, 0x51, 0x1f, 0xe6, 0x7f, 0x8e, 0x24, 0x07, 0x63, 0x35, 0xe5, 0x6b, 0xe2, 0x05, - 0xc8, 0x5b, 0x21, 0xdf, 0x20, 0xe7, 0xa8, 0x9c, 0xc4, 0x6c, 0xb5, 0xde, 0x16, 0x60, 0x2d, 0x41, - 0x48, 0x5e, 0x84, 0x41, 0x1f, 0xc6, 0x36, 0x00, 0x85, 0x50, 0x67, 0x8c, 0x55, 0x66, 0xff, 0x6b, - 0x32, 0x9a, 0xbc, 0x01, 0x43, 0xfe, 0x4f, 0xc9, 0xb4, 0xe6, 0x19, 0xd9, 0x56, 0x13, 0xbb, 0x27, - 0x99, 0x54, 0x2e, 0x8a, 0xf3, 0x5b, 0x6f, 0xa4, 0x68, 0x2c, 0xe9, 0x59, 0x84, 0x94, 0xfc, 0x30, - 0x8c, 0xf8, 0xbf, 0xc5, 0x86, 0x81, 0xe7, 0x87, 0x7b, 0x31, 0x48, 0xe9, 0x1c, 0x13, 0xeb, 0xcd, - 0x28, 0x39, 0xdf, 0x3a, 0x3c, 0xed, 0xe7, 0xf1, 0x32, 0x56, 0x93, 0x3b, 0x87, 0x58, 0x05, 0xa4, - 0x0a, 0xe3, 0x3e, 0x24, 0xd4, 0xd0, 0xbe, 0x70, 0xc7, 0x68, 0xac, 0xd6, 0x53, 0x95, 0x34, 0x59, - 0x8a, 0x34, 0xe1, 0x4a, 0x04, 0x68, 0xb8, 0x1b, 0xe6, 0x9a, 0x27, 0xb6, 0x7b, 0x22, 0x06, 0xb1, - 0x48, 0xdc, 0x18, 0x70, 0xe5, 0x34, 0x7e, 0x06, 0xd6, 0x68, 0x76, 0xa8, 0xae, 0xdc, 0x48, 0x0d, - 0xce, 0xfb, 0xf8, 0xbb, 0x53, 0x4b, 0x4b, 0x8e, 0xfd, 0x01, 0x6d, 0x78, 0xd5, 0x8a, 0xd8, 0x2e, - 0x63, 0x6c, 0x3a, 0x63, 0xb5, 0xbe, 0xde, 0x68, 0x33, 0xa5, 0x60, 0xb8, 0x28, 0xf3, 0xd4, 0xc2, - 0xe4, 0x01, 0x5c, 0x90, 0xe0, 0x52, 0x7a, 0x68, 0x08, 0xf7, 0xf3, 0x82, 0x6b, 0x7a, 0x86, 0xe8, - 0xf4, 0xe2, 0xe4, 0x6d, 0x18, 0xf6, 0x11, 0xfc, 0x16, 0x71, 0x10, 0x6f, 0x11, 0x71, 0x48, 0x1a, - 0xab, 0xf5, 0xf8, 0x6b, 0xca, 0x28, 0xb1, 0xac, 0x51, 0x98, 0x51, 0x7f, 0x28, 0xa2, 0x51, 0xde, - 0x56, 0x3b, 0x55, 0x19, 0x31, 0xcb, 0xfe, 0xbb, 0xa1, 0x46, 0x2d, 0x3a, 0xe6, 0xba, 0xc9, 0x77, - 0xd2, 0xfe, 0x03, 0xca, 0xd5, 0xba, 0x8d, 0xc0, 0x34, 0xfd, 0xe0, 0xe4, 0x97, 0xcb, 0x70, 0x2e, - 0x45, 0xc7, 0xf6, 0xb5, 0x63, 0xfc, 0x7a, 0x3e, 0x6c, 0xc4, 0x09, 0xdf, 0x36, 0x4e, 0x42, 0xbf, - 0xff, 0x25, 0xc2, 0x78, 0x50, 0xb2, 0x86, 0x66, 0x9c, 0x87, 0x8f, 0x8f, 0x88, 0xe3, 0x84, 0x6f, - 0x25, 0x8f, 0x42, 0x1c, 0xdf, 0xcd, 0x85, 0xe2, 0x38, 0xe1, 0xdb, 0xcb, 0xbf, 0x5f, 0x08, 0xe7, - 0xa4, 0xb3, 0x3d, 0xe6, 0x51, 0x99, 0xc9, 0xa1, 0x1f, 0x6c, 0x69, 0x1f, 0x0f, 0x19, 0x65, 0xd5, - 0xec, 0x3b, 0xa0, 0x6a, 0xfe, 0xe3, 0x64, 0x7f, 0x72, 0xd3, 0xf3, 0x44, 0xf6, 0xe7, 0x11, 0x0c, - 0x56, 0x72, 0x3b, 0x5c, 0xc7, 0xb8, 0x8d, 0xde, 0x2b, 0x85, 0xf8, 0x5b, 0x15, 0x26, 0x7a, 0x94, - 0x84, 0xfc, 0x00, 0x5c, 0x8a, 0x00, 0x96, 0x74, 0x47, 0x6f, 0x51, 0x2f, 0xcc, 0x38, 0x88, 0x41, - 0x9b, 0xfc, 0xd2, 0xf5, 0x76, 0x80, 0x96, 0xb3, 0x18, 0x66, 0x70, 0x90, 0x94, 0xa3, 0x6f, 0x1f, - 0x4e, 0xd2, 0x3f, 0x53, 0x08, 0x4d, 0x95, 0x68, 0xf0, 0x55, 0x8d, 0xba, 0x9d, 0xa6, 0x77, 0x7a, - 0x3b, 0xf8, 0x60, 0xa9, 0x2d, 0x66, 0x61, 0xb4, 0xbc, 0xb6, 0x46, 0x1b, 0x9e, 0x1f, 0x53, 0xda, - 0x15, 0xe1, 0xf6, 0xf8, 0xd6, 0x41, 0xa0, 0x44, 0x8c, 0xe0, 0x48, 0x6e, 0xfc, 0x58, 0x31, 0xf5, - 0x9f, 0x14, 0x41, 0x09, 0x4c, 0xf7, 0xe0, 0xa1, 0xd6, 0x31, 0x2e, 0x93, 0x1f, 0x8b, 0x5e, 0x31, - 0x61, 0x3c, 0x14, 0x46, 0xad, 0xd3, 0x6a, 0xe9, 0x38, 0xf4, 0xd8, 0xd6, 0x60, 0x22, 0xce, 0x2c, - 0x24, 0xe4, 0xbb, 0x81, 0xcb, 0x62, 0x37, 0x40, 0xc2, 0x87, 0x70, 0x75, 0x97, 0xb3, 0xd0, 0x92, - 0x5c, 0xc9, 0x37, 0x73, 0x70, 0xde, 0xef, 0x94, 0xc5, 0x55, 0x66, 0x16, 0x4f, 0xd9, 0x1d, 0xcb, - 0xf3, 0x77, 0x22, 0x6f, 0x66, 0x57, 0xc7, 0x3b, 0xe9, 0x66, 0x5a, 0x61, 0xde, 0x92, 0x20, 0xb0, - 0x44, 0xa0, 0x10, 0x36, 0xd2, 0xd4, 0x1b, 0x48, 0xa4, 0xa5, 0xd6, 0x7b, 0xf9, 0x2e, 0x3c, 0x95, - 0xc9, 0x72, 0x37, 0x33, 0xb4, 0x57, 0x36, 0x43, 0xff, 0xfb, 0x5c, 0x38, 0x11, 0xc5, 0x84, 0x44, - 0x6e, 0x02, 0x84, 0x20, 0xb1, 0x31, 0x1d, 0xd9, 0xd9, 0x9e, 0x80, 0x50, 0x68, 0x9a, 0x44, 0x41, - 0x16, 0xa1, 0x24, 0xc4, 0xc2, 0xb3, 0xfb, 0x7e, 0x76, 0x97, 0x5e, 0xb8, 0x29, 0xcb, 0x01, 0x37, - 0x9d, 0xe2, 0x9b, 0x05, 0x9b, 0xcb, 0x6f, 0xc0, 0xe0, 0x41, 0xbf, 0xeb, 0x9b, 0x05, 0x20, 0xf2, - 0x2e, 0xf2, 0x18, 0x4d, 0xec, 0x13, 0x3c, 0x85, 0x5d, 0x87, 0x7e, 0xf6, 0x09, 0x98, 0xef, 0x42, - 0x8a, 0x6f, 0xdb, 0x11, 0x30, 0x2d, 0xc0, 0x86, 0xc1, 0xa5, 0xfa, 0xd2, 0x83, 0x4b, 0xa9, 0x3f, - 0x55, 0x80, 0x8b, 0x72, 0x87, 0x54, 0x28, 0x86, 0xcc, 0x3f, 0xeb, 0x94, 0x8f, 0xb0, 0x53, 0x54, - 0x28, 0xf1, 0xcd, 0x83, 0xc8, 0x5d, 0xc0, 0x0f, 0x76, 0x10, 0xa2, 0x09, 0x8c, 0xfa, 0xbf, 0xe4, - 0x61, 0x78, 0xc9, 0x76, 0xbd, 0x75, 0x87, 0xba, 0x4b, 0xba, 0xe3, 0x9e, 0xe2, 0xee, 0xf8, 0x3c, - 0x0c, 0x63, 0x78, 0xa0, 0x16, 0xb5, 0x78, 0x08, 0x9d, 0x5e, 0x29, 0xd9, 0x88, 0x8f, 0x10, 0x79, - 0xa5, 0x22, 0x84, 0x4c, 0xfb, 0xb9, 0xe5, 0x27, 0x05, 0x6d, 0xe2, 0x66, 0x1f, 0x87, 0xab, 0x7f, - 0xa1, 0x00, 0x43, 0xbe, 0x94, 0x27, 0xcd, 0x93, 0x7a, 0x53, 0x73, 0xbc, 0x42, 0xbe, 0x05, 0xb0, - 0x64, 0x3b, 0x9e, 0xde, 0x5c, 0x08, 0x35, 0x1f, 0x8f, 0x38, 0xdb, 0x08, 0xe5, 0x65, 0x24, 0x12, - 0x5c, 0xbf, 0x42, 0xb3, 0x9a, 0x4f, 0x4c, 0x7c, 0xfd, 0x0a, 0xa0, 0x9a, 0x44, 0xa1, 0xfe, 0xad, - 0x3c, 0x8c, 0xfa, 0x9d, 0x34, 0xfd, 0x84, 0x36, 0x3a, 0xa7, 0x79, 0x6e, 0x8a, 0x4a, 0xbb, 0x77, - 0x57, 0x69, 0xab, 0xff, 0x97, 0x34, 0x91, 0x4c, 0x35, 0xed, 0xb3, 0x89, 0xe4, 0x8f, 0x42, 0xc7, - 0xd5, 0x1f, 0x2d, 0xc0, 0x79, 0x5f, 0xea, 0x33, 0x1d, 0x0b, 0x0f, 0x07, 0xa6, 0xf4, 0x66, 0xf3, - 0x34, 0xef, 0xc6, 0x07, 0x7d, 0x41, 0x2c, 0x8a, 0x78, 0x7b, 0x22, 0xc7, 0xdf, 0x9a, 0x00, 0xd7, - 0x6d, 0xd3, 0xd0, 0x64, 0x22, 0xf2, 0x2e, 0x0c, 0xf9, 0x3f, 0xcb, 0xce, 0xba, 0xbf, 0x05, 0xc7, - 0xa3, 0xfe, 0xa0, 0x90, 0xee, 0x44, 0xc2, 0x0a, 0x44, 0x0a, 0xa8, 0x5f, 0xeb, 0x83, 0xcb, 0x0f, - 0x4d, 0xcb, 0xb0, 0x37, 0x5d, 0x3f, 0x45, 0xe4, 0x89, 0x3f, 0xea, 0x3a, 0xee, 0xd4, 0x90, 0xef, - 0xc1, 0x85, 0xb8, 0x48, 0x9d, 0x20, 0x70, 0xb7, 0xe8, 0x9d, 0x4d, 0x4e, 0x50, 0xf7, 0x93, 0x45, - 0x8a, 0xfb, 0x32, 0x2d, 0xbd, 0x64, 0x3c, 0xdb, 0x64, 0xdf, 0x5e, 0xb2, 0x4d, 0xbe, 0x00, 0xa5, - 0x8a, 0xdd, 0xd2, 0x4d, 0x3f, 0xc0, 0x0c, 0x8e, 0xe2, 0xa0, 0x5e, 0xc4, 0x68, 0x82, 0x82, 0xf1, - 0x17, 0x15, 0x63, 0x97, 0x0d, 0x84, 0xfc, 0xfd, 0x02, 0xcc, 0x4a, 0xd3, 0x64, 0x22, 0x62, 0xc3, - 0xb0, 0xa8, 0x4e, 0xdc, 0x6e, 0x01, 0x6e, 0x9e, 0x5e, 0xf5, 0x65, 0x94, 0xad, 0x56, 0x37, 0x23, - 0xe5, 0xf8, 0x36, 0x8a, 0x27, 0xc1, 0x14, 0x1f, 0xc3, 0xef, 0xb9, 0xb4, 0x28, 0x7f, 0x49, 0x08, - 0x38, 0xc9, 0x0c, 0x26, 0x85, 0x80, 0xb3, 0x8c, 0x4c, 0x44, 0xa6, 0x61, 0x1c, 0xc3, 0x2b, 0x07, - 0x5b, 0x29, 0xa6, 0x12, 0x43, 0x68, 0x54, 0xe2, 0xa5, 0x09, 0x8f, 0xc8, 0xcc, 0x3e, 0xae, 0xde, - 0x10, 0x68, 0x2d, 0x59, 0x82, 0x3c, 0x05, 0x85, 0x85, 0xb9, 0x32, 0xde, 0xb6, 0xf4, 0xf3, 0xd4, - 0x46, 0x56, 0x53, 0xd7, 0x18, 0xec, 0xf2, 0x17, 0x81, 0x24, 0x3f, 0x67, 0x5f, 0x37, 0x2a, 0xff, - 0xb5, 0xb4, 0xe5, 0x3b, 0xe9, 0x3e, 0x31, 0x47, 0x31, 0x11, 0x46, 0xb2, 0x8a, 0xf5, 0x7e, 0x94, - 0x59, 0xc5, 0x4a, 0x47, 0x9a, 0x55, 0x4c, 0xfd, 0x95, 0x1c, 0x8c, 0x27, 0x42, 0x90, 0x93, 0x57, - 0x00, 0x38, 0x44, 0x0a, 0xf5, 0x88, 0xb1, 0x53, 0xc2, 0xb0, 0xe4, 0x62, 0x79, 0x0c, 0xc9, 0xc8, - 0x2d, 0xe8, 0xe7, 0xbf, 0x44, 0x78, 0xa6, 0x64, 0x91, 0x4e, 0xc7, 0x34, 0xb4, 0x80, 0x28, 0xac, - 0x05, 0xef, 0x14, 0x0b, 0xa9, 0x45, 0xbc, 0xad, 0x76, 0x50, 0x0b, 0x23, 0x53, 0xbf, 0x91, 0x87, - 0xa1, 0xa0, 0xc1, 0x65, 0xe3, 0xb8, 0x74, 0xae, 0x24, 0xa2, 0xb9, 0x17, 0x76, 0x8b, 0xe6, 0x1e, - 0x9b, 0x6f, 0x45, 0xf8, 0xf6, 0xa3, 0x7b, 0x12, 0xf5, 0xad, 0x3c, 0x8c, 0x06, 0xb5, 0x1e, 0xe3, - 0xf5, 0xd5, 0xc7, 0x48, 0x24, 0xdf, 0xcc, 0x81, 0x32, 0x69, 0x36, 0x9b, 0xa6, 0xb5, 0x5e, 0xb5, - 0xd6, 0x6c, 0xa7, 0x85, 0x13, 0xe2, 0xf1, 0x1d, 0xe1, 0xaa, 0x7f, 0x22, 0x07, 0xe3, 0xa2, 0x41, - 0x53, 0xba, 0x63, 0x1c, 0xdf, 0xf9, 0x58, 0xbc, 0x25, 0xc7, 0xa7, 0x2f, 0xea, 0x6f, 0xe7, 0x01, - 0xe6, 0xec, 0xc6, 0xa3, 0x13, 0xfe, 0xa2, 0xea, 0x2d, 0x28, 0xf1, 0x18, 0x59, 0x42, 0x63, 0xc7, - 0xc5, 0xcb, 0x21, 0xf6, 0x69, 0x1c, 0x31, 0x39, 0x26, 0xe6, 0xe3, 0x12, 0x8f, 0xb1, 0xa5, 0xe4, - 0x34, 0x51, 0x84, 0x55, 0xca, 0xe8, 0xc4, 0x82, 0x11, 0x54, 0xca, 0x60, 0xd1, 0x4a, 0x77, 0xb6, - 0x27, 0x8a, 0x4d, 0xbb, 0xf1, 0x48, 0x43, 0x7a, 0xf5, 0x5f, 0xe5, 0xb8, 0xec, 0x4e, 0xf8, 0xbb, - 0x50, 0xff, 0xf3, 0x8b, 0xfb, 0xfc, 0xfc, 0x3f, 0x99, 0x83, 0xf3, 0x1a, 0x6d, 0xd8, 0x8f, 0xa9, - 0xb3, 0x35, 0x65, 0x1b, 0xf4, 0x2e, 0xb5, 0xa8, 0x73, 0x5c, 0x23, 0xea, 0x3f, 0xc3, 0xf4, 0x17, - 0x61, 0x63, 0x56, 0x5c, 0x6a, 0x9c, 0x9c, 0xd4, 0x24, 0xea, 0xaf, 0xf7, 0x81, 0x92, 0x6a, 0xf5, - 0x9e, 0x58, 0x73, 0x2e, 0x73, 0x2b, 0x53, 0x3c, 0xaa, 0xad, 0x4c, 0xef, 0xfe, 0xb6, 0x32, 0xa5, - 0xfd, 0x6e, 0x65, 0xfa, 0xf6, 0xb2, 0x95, 0x69, 0xc5, 0xb7, 0x32, 0xfd, 0xb8, 0x95, 0x79, 0xa5, - 0xeb, 0x56, 0x66, 0xda, 0x32, 0x0e, 0xb8, 0x91, 0x39, 0xb1, 0x69, 0x73, 0x0f, 0xb2, 0x03, 0xbb, - 0xce, 0x26, 0xc5, 0x86, 0xed, 0x18, 0xd4, 0x10, 0x1b, 0x2f, 0x3c, 0xf5, 0x77, 0x04, 0x4c, 0x0b, - 0xb0, 0x89, 0x1c, 0xc4, 0xc3, 0x7b, 0xc9, 0x41, 0x7c, 0x04, 0xfb, 0xaf, 0xaf, 0xe7, 0x61, 0x7c, - 0x8a, 0x3a, 0x1e, 0x0f, 0xc2, 0x79, 0x14, 0x4e, 0x6d, 0x65, 0x18, 0x95, 0x18, 0xa2, 0x45, 0x9e, - 0x0f, 0x1d, 0xf5, 0x1a, 0xd4, 0xf1, 0xe2, 0x7e, 0x7e, 0x71, 0x7a, 0x56, 0xbd, 0x9f, 0x07, 0x4c, - 0x8c, 0xdd, 0xa0, 0x7a, 0x1f, 0xce, 0x05, 0x69, 0x8a, 0x5f, 0x5a, 0x40, 0x2f, 0xa5, 0xf6, 0x2a, - 0xee, 0x3f, 0xb5, 0x97, 0xfa, 0xcb, 0x39, 0xb8, 0xa6, 0x51, 0x8b, 0x6e, 0xea, 0xab, 0x4d, 0x2a, - 0x35, 0x4b, 0xac, 0x0c, 0x6c, 0xd6, 0x30, 0xdd, 0x96, 0xee, 0x35, 0x36, 0x0e, 0x25, 0xa3, 0x19, - 0x18, 0x92, 0xe7, 0xaf, 0x7d, 0xcc, 0x6d, 0x91, 0x72, 0xea, 0xaf, 0x17, 0xa1, 0x6f, 0xd2, 0xf6, - 0xee, 0xd9, 0x87, 0xcc, 0x35, 0x17, 0x4e, 0xf9, 0xf9, 0x7d, 0x9c, 0xf5, 0x7c, 0x0e, 0x2b, 0x97, - 0xc2, 0xef, 0xa3, 0x13, 0xe8, 0xaa, 0x9d, 0x48, 0x53, 0xe0, 0x93, 0xed, 0x33, 0xcb, 0xdc, 0x6b, - 0x30, 0x80, 0xf1, 0x5b, 0xa4, 0xd3, 0x58, 0x74, 0xb1, 0xf6, 0x18, 0x30, 0x5e, 0x47, 0x48, 0x4a, - 0x7e, 0x20, 0x12, 0x35, 0xb4, 0x74, 0xf8, 0xac, 0x74, 0x72, 0x00, 0xd1, 0x57, 0xf8, 0x45, 0x1e, - 0xb6, 0x49, 0xca, 0xe0, 0x81, 0xa7, 0x28, 0xb1, 0x26, 0x05, 0x84, 0x47, 0x98, 0x31, 0x6e, 0x0a, - 0x86, 0x27, 0x6d, 0x4f, 0x72, 0xe7, 0x1d, 0x08, 0x1f, 0x72, 0x32, 0xc9, 0xa7, 0xfb, 0xf2, 0x46, - 0xcb, 0xa8, 0x7f, 0x58, 0x84, 0x21, 0xff, 0xe7, 0x31, 0xe9, 0xce, 0x4b, 0x50, 0x9a, 0xb5, 0xa5, - 0x24, 0x06, 0xe8, 0x02, 0xbc, 0x61, 0xbb, 0x31, 0xdf, 0x66, 0x41, 0xc4, 0xa4, 0xbe, 0x60, 0x1b, - 0xb2, 0x03, 0x3b, 0x4a, 0xdd, 0xb2, 0x8d, 0xc4, 0x03, 0xe0, 0x80, 0x90, 0x5c, 0x83, 0x22, 0xfa, - 0xfe, 0x4b, 0x07, 0xf9, 0x31, 0x7f, 0x7f, 0xc4, 0x4b, 0x5a, 0x59, 0xda, 0xaf, 0x56, 0xf6, 0x1d, - 0x54, 0x2b, 0xfb, 0x8f, 0x56, 0x2b, 0xdf, 0x87, 0x21, 0xac, 0xc9, 0xcf, 0x81, 0xb6, 0xfb, 0xc2, - 0xfa, 0x94, 0x58, 0xfb, 0x86, 0x79, 0xbb, 0x45, 0x26, 0x34, 0x5c, 0xf2, 0x22, 0xac, 0x62, 0xba, - 0x0b, 0x87, 0xd8, 0x4e, 0xff, 0xe3, 0x1c, 0xf4, 0xad, 0x58, 0x8f, 0x2c, 0x7b, 0xf3, 0x70, 0x1a, - 0xf7, 0x0a, 0x0c, 0x0a, 0x36, 0xd2, 0xea, 0x82, 0x6f, 0xba, 0x3b, 0x1c, 0x5c, 0x47, 0x4e, 0x9a, - 0x4c, 0x45, 0xde, 0x0e, 0x0a, 0xe1, 0xf3, 0x9e, 0x42, 0x98, 0x06, 0xc4, 0x2f, 0xd4, 0x88, 0x66, - 0x2e, 0x90, 0xc9, 0xc9, 0x15, 0x28, 0x56, 0x58, 0x53, 0xa5, 0x38, 0xb8, 0xac, 0x29, 0x1a, 0x42, - 0xd5, 0xaf, 0x17, 0x61, 0x24, 0x76, 0xf0, 0xf5, 0x02, 0x0c, 0x88, 0x83, 0x27, 0xd3, 0x4f, 0xa5, - 0x80, 0xcf, 0x7f, 0x02, 0xa0, 0xd6, 0xcf, 0xff, 0xac, 0x1a, 0xe4, 0x0b, 0xd0, 0x67, 0xbb, 0xb8, - 0x28, 0xe2, 0xb7, 0x8c, 0x84, 0x43, 0x68, 0xb1, 0xc6, 0xda, 0xce, 0x07, 0x87, 0x20, 0x91, 0x35, - 0xd2, 0x76, 0xf1, 0xd3, 0xee, 0xc0, 0x80, 0xee, 0xba, 0xd4, 0xab, 0x7b, 0xfa, 0xba, 0x9c, 0x5d, - 0x21, 0x00, 0xca, 0xa3, 0x03, 0x81, 0xcb, 0xfa, 0x3a, 0xf9, 0x22, 0x0c, 0x37, 0x1c, 0x8a, 0xcb, - 0xa6, 0xde, 0x64, 0xad, 0x94, 0xcc, 0xda, 0x08, 0x42, 0xbe, 0x3f, 0x09, 0x11, 0x55, 0x83, 0x3c, - 0x80, 0x61, 0xf1, 0x39, 0xdc, 0xf7, 0x1e, 0x07, 0xda, 0x48, 0xb8, 0x8c, 0x71, 0x91, 0x70, 0xef, - 0x7b, 0xf1, 0x04, 0x43, 0x26, 0x97, 0xf9, 0x1a, 0x12, 0x29, 0x59, 0x04, 0xb2, 0x49, 0x57, 0xeb, - 0x7a, 0xc7, 0xdb, 0x60, 0x75, 0xf1, 0xe0, 0xe0, 0x22, 0xa9, 0x20, 0xbe, 0x5b, 0x48, 0x62, 0xe5, - 0xe7, 0x1c, 0x9b, 0x74, 0xb5, 0x1c, 0x41, 0x92, 0x87, 0x70, 0x21, 0x59, 0x84, 0x7d, 0x32, 0xbf, - 0x1c, 0x78, 0x7e, 0x67, 0x7b, 0x62, 0x22, 0x95, 0x40, 0x62, 0x7b, 0x2e, 0xc1, 0xb6, 0x6a, 0xdc, - 0x2b, 0xf6, 0xf7, 0x8d, 0xf5, 0x6b, 0x23, 0xac, 0xac, 0x6f, 0x42, 0x9a, 0x86, 0xfa, 0xbb, 0x39, - 0x66, 0x2a, 0xb2, 0x0f, 0xc2, 0xac, 0xca, 0x4c, 0xd7, 0x5b, 0xfb, 0xd4, 0xf5, 0x56, 0x98, 0xff, - 0xb0, 0xe4, 0x76, 0x99, 0x5d, 0x35, 0x81, 0x25, 0x37, 0xa1, 0x64, 0xc8, 0xa7, 0x66, 0x17, 0xa3, - 0x9d, 0xe0, 0xd7, 0xa3, 0x09, 0x2a, 0x72, 0x1d, 0x8a, 0x6c, 0xc9, 0x8a, 0x6f, 0x99, 0x65, 0xeb, - 0x42, 0x43, 0x0a, 0xf5, 0x47, 0xf2, 0x30, 0x24, 0x7d, 0xcd, 0xed, 0x43, 0x7d, 0xce, 0x9b, 0x7b, - 0x6b, 0xa6, 0xef, 0xf4, 0x82, 0x7b, 0x29, 0xbf, 0xc9, 0x77, 0x02, 0x51, 0xec, 0xe9, 0x42, 0x4a, - 0x08, 0xe6, 0x35, 0xf1, 0xa1, 0xa5, 0xbd, 0x6f, 0x1f, 0x19, 0xfd, 0xbd, 0x62, 0x7f, 0x7e, 0xac, - 0x70, 0xaf, 0xd8, 0x5f, 0x1c, 0xeb, 0xc5, 0x48, 0x5a, 0x18, 0xbc, 0x9a, 0xef, 0xcd, 0xad, 0x35, - 0x73, 0xfd, 0x84, 0xbf, 0xfe, 0x38, 0xda, 0x28, 0x63, 0x31, 0xd9, 0x9c, 0xf0, 0xa7, 0x20, 0x1f, - 0xa9, 0x6c, 0xce, 0xf2, 0x25, 0x0a, 0xd9, 0xfc, 0x93, 0x1c, 0x28, 0xa9, 0xb2, 0x29, 0x1f, 0x93, - 0x1f, 0xc4, 0xd1, 0x65, 0x4d, 0xfc, 0xfd, 0x3c, 0x8c, 0x57, 0x2d, 0x8f, 0xae, 0xf3, 0x1d, 0xe3, - 0x09, 0x9f, 0x2a, 0xee, 0xc3, 0xa0, 0xf4, 0x31, 0xa2, 0xcf, 0x9f, 0x0e, 0xf6, 0xe3, 0x21, 0x2a, - 0x83, 0x93, 0x5c, 0xfa, 0x08, 0x13, 0xad, 0xc7, 0x84, 0x7c, 0xc2, 0xe7, 0x9c, 0x93, 0x21, 0xe4, - 0x13, 0x3e, 0x79, 0x7d, 0x4c, 0x85, 0xfc, 0x7f, 0xe4, 0xe0, 0x5c, 0x4a, 0xe5, 0xe4, 0x1a, 0xf4, - 0xd5, 0x3a, 0xab, 0x18, 0x38, 0x2b, 0x17, 0x7a, 0x0c, 0xbb, 0x9d, 0x55, 0x8c, 0x99, 0xa5, 0xf9, - 0x48, 0xb2, 0x8c, 0xcf, 0xe3, 0x17, 0xab, 0x95, 0x29, 0x21, 0x55, 0x55, 0x7a, 0xe8, 0xcf, 0xc0, - 0x69, 0x5f, 0x16, 0x3c, 0xa1, 0xb7, 0x4d, 0xa3, 0x11, 0x7b, 0x42, 0xcf, 0xca, 0x90, 0x1f, 0x84, - 0x81, 0xf2, 0x87, 0x1d, 0x87, 0x22, 0x5f, 0x2e, 0xf1, 0x4f, 0x05, 0x7c, 0x7d, 0x44, 0x1a, 0x67, - 0x1e, 0x0d, 0x80, 0x51, 0xc4, 0x79, 0x87, 0x0c, 0xd5, 0x6f, 0xe4, 0xe0, 0x72, 0x76, 0xeb, 0xc8, - 0xe7, 0xa0, 0x8f, 0xed, 0xcc, 0xcb, 0xda, 0x82, 0xf8, 0x74, 0x9e, 0x61, 0xd4, 0x6e, 0xd2, 0xba, - 0xee, 0xc8, 0xc6, 0xbe, 0x4f, 0x46, 0xde, 0x81, 0xc1, 0xaa, 0xeb, 0x76, 0xa8, 0x53, 0x7b, 0x65, - 0x45, 0xab, 0x8a, 0x3d, 0x21, 0xee, 0x39, 0x4c, 0x04, 0xd7, 0xdd, 0x57, 0x62, 0xa1, 0xb1, 0x64, - 0x7a, 0xf5, 0xc7, 0x73, 0x70, 0xa5, 0xdb, 0x57, 0x91, 0x57, 0xa0, 0x7f, 0x99, 0x5a, 0xba, 0xe5, - 0x55, 0x2b, 0xa2, 0x49, 0xb8, 0xc5, 0xf2, 0x10, 0x16, 0xdd, 0x29, 0x04, 0x84, 0xac, 0x10, 0x3f, - 0x57, 0x0c, 0x1c, 0x19, 0xf8, 0x19, 0x28, 0xc2, 0x62, 0x85, 0x7c, 0x42, 0xf5, 0xf7, 0xf2, 0x30, - 0xb4, 0xd4, 0xec, 0xac, 0x9b, 0xd2, 0xc2, 0x71, 0x60, 0x7b, 0xdb, 0xb7, 0x7e, 0xf3, 0xfb, 0xb3, - 0x7e, 0xd9, 0x70, 0x73, 0x0e, 0x38, 0xdc, 0xfc, 0x72, 0xe4, 0x6d, 0x28, 0xb5, 0xf1, 0x3b, 0xe2, - 0x27, 0xb1, 0xfc, 0xeb, 0xb2, 0x4e, 0x62, 0x79, 0x19, 0x36, 0xbe, 0x1a, 0x87, 0x18, 0x5f, 0x61, - 0x59, 0x49, 0xa0, 0xe1, 0x22, 0x71, 0x26, 0xd0, 0x23, 0x11, 0x68, 0xb8, 0x20, 0x9c, 0x09, 0xf4, - 0x10, 0x02, 0xfd, 0xf5, 0x3c, 0x8c, 0x44, 0xab, 0x24, 0x9f, 0x83, 0x41, 0x5e, 0x0d, 0x3f, 0x17, - 0xca, 0x49, 0x4e, 0xc5, 0x21, 0x58, 0x03, 0xfe, 0x43, 0x1c, 0x70, 0x8d, 0x6e, 0xe8, 0x6e, 0x3d, - 0x3c, 0xa1, 0xe1, 0xf7, 0xb7, 0xfd, 0xdc, 0x13, 0x2a, 0x86, 0xd2, 0x46, 0x36, 0x74, 0x77, 0x2a, - 0xfc, 0x4d, 0xa6, 0x81, 0x38, 0xb4, 0xe3, 0xd2, 0x28, 0x83, 0x22, 0x32, 0x10, 0xe9, 0x9d, 0xe3, - 0x58, 0x6d, 0x9c, 0xc3, 0x64, 0x36, 0x5f, 0x09, 0x9a, 0x8d, 0xca, 0xd0, 0xbb, 0x87, 0xdc, 0xd3, - 0x12, 0x7d, 0xfa, 0x31, 0x27, 0x27, 0xa8, 0xe8, 0x9e, 0xce, 0x37, 0xe5, 0x7e, 0x07, 0xa8, 0x3f, - 0xdd, 0x82, 0xde, 0x45, 0x8b, 0x2e, 0xae, 0x91, 0x97, 0x61, 0x80, 0x29, 0xcc, 0x9c, 0xcd, 0xfa, - 0x32, 0x27, 0xfc, 0x27, 0x24, 0x4d, 0x42, 0xc4, 0x6c, 0x8f, 0x16, 0x52, 0x91, 0x3b, 0x3c, 0x7f, - 0x3d, 0x9f, 0x63, 0x85, 0xf6, 0x11, 0xb9, 0x0c, 0xc7, 0xcc, 0xf6, 0x68, 0x12, 0x9d, 0x5f, 0x4a, - 0x3c, 0xd0, 0x29, 0x24, 0x4b, 0x71, 0x8c, 0x5f, 0x4a, 0x8c, 0x8f, 0xb9, 0xb4, 0xd4, 0xf0, 0xf1, - 0xdd, 0x53, 0x92, 0x62, 0xb6, 0x47, 0x4b, 0x4f, 0x29, 0x3f, 0x24, 0x3b, 0x94, 0xc6, 0x9d, 0x3e, - 0x64, 0xdc, 0x6c, 0x8f, 0x16, 0xa1, 0x25, 0xaf, 0xc3, 0xa0, 0xf8, 0x7d, 0xcf, 0x16, 0x37, 0xca, - 0x52, 0x34, 0x21, 0x09, 0x35, 0xdb, 0xa3, 0xc9, 0x94, 0x52, 0xa5, 0x4b, 0x8e, 0x69, 0x79, 0xe2, - 0x8d, 0x72, 0xbc, 0x52, 0xc4, 0x49, 0x95, 0xe2, 0x6f, 0xf2, 0x0e, 0x0c, 0x07, 0x61, 0x9a, 0x3e, - 0xa0, 0x0d, 0x4f, 0x1c, 0x7e, 0x5f, 0x88, 0x15, 0xe6, 0xc8, 0xd9, 0x1e, 0x2d, 0x4a, 0x4d, 0xae, - 0x43, 0x49, 0xa3, 0xae, 0xf9, 0xa1, 0x7f, 0x5d, 0x3c, 0x22, 0x8d, 0x73, 0xf3, 0x43, 0x26, 0x25, - 0x81, 0x67, 0xbd, 0x13, 0xde, 0x4f, 0x8b, 0xa3, 0x6a, 0x12, 0xab, 0x65, 0xda, 0x32, 0x58, 0xef, - 0x48, 0xce, 0x09, 0x5f, 0x0c, 0x83, 0x57, 0x89, 0x94, 0x97, 0x83, 0xf1, 0x28, 0x01, 0x32, 0x76, - 0xb6, 0x47, 0x8b, 0xd1, 0x4b, 0x52, 0xad, 0x98, 0xee, 0x23, 0x11, 0x2f, 0x34, 0x2e, 0x55, 0x86, - 0x92, 0xa4, 0xca, 0x7e, 0x4a, 0x55, 0x2f, 0x50, 0x6f, 0xd3, 0x76, 0x1e, 0x89, 0xe8, 0xa0, 0xf1, - 0xaa, 0x05, 0x56, 0xaa, 0x5a, 0x40, 0xe4, 0xaa, 0xd9, 0x80, 0x1b, 0x49, 0xaf, 0x5a, 0xf7, 0x74, - 0xb9, 0x6a, 0x7e, 0x12, 0xe7, 0x77, 0xd2, 0x1c, 0xd5, 0x1f, 0xf3, 0xcc, 0xe3, 0xc9, 0x0e, 0x45, - 0x9c, 0xd4, 0xa1, 0xf8, 0x9b, 0x55, 0x2a, 0x65, 0x97, 0x16, 0xa9, 0xc5, 0x83, 0x4a, 0x25, 0x14, - 0xab, 0x54, 0xce, 0x43, 0x7d, 0x47, 0x4e, 0xba, 0xac, 0x8c, 0x47, 0x3b, 0x28, 0xc4, 0xb0, 0x0e, - 0x92, 0x92, 0x33, 0x4f, 0x60, 0x42, 0x57, 0x85, 0x20, 0xf9, 0x60, 0xd0, 0xc2, 0xa9, 0xa5, 0xd9, - 0x1e, 0x0d, 0x53, 0xbd, 0xaa, 0x3c, 0x55, 0xb0, 0x72, 0x0e, 0x29, 0x86, 0x7c, 0x0a, 0x06, 0x9b, - 0xed, 0xd1, 0x78, 0x1a, 0xe1, 0x97, 0xa5, 0xa4, 0x7c, 0xca, 0xf9, 0xe8, 0x14, 0x11, 0x20, 0xd8, - 0x14, 0x11, 0xa6, 0xee, 0x9b, 0x49, 0x26, 0xae, 0x53, 0x2e, 0x44, 0x97, 0x9a, 0x38, 0x7e, 0xb6, - 0x47, 0x4b, 0x26, 0xbb, 0x7b, 0x3d, 0x92, 0xcb, 0x4d, 0xb9, 0x18, 0x0b, 0xe1, 0x15, 0xa2, 0x98, - 0xb8, 0xe4, 0xac, 0x6f, 0x8b, 0xb1, 0xbc, 0xe3, 0x62, 0xb2, 0xba, 0x14, 0xdd, 0xb8, 0xa4, 0x90, - 0xcc, 0xf6, 0x68, 0x69, 0x25, 0xc9, 0x54, 0x22, 0xa3, 0x9a, 0xa2, 0x44, 0x7d, 0x63, 0x62, 0xe8, - 0xd9, 0x1e, 0x2d, 0x91, 0x83, 0xed, 0x8e, 0x9c, 0xca, 0x4c, 0x79, 0x2a, 0xda, 0x89, 0x21, 0x86, - 0x75, 0xa2, 0x94, 0xf2, 0xec, 0x8e, 0x9c, 0xde, 0x4a, 0xb9, 0x9c, 0x2c, 0x15, 0xce, 0x9c, 0x52, - 0x1a, 0x2c, 0x2d, 0x3d, 0x63, 0x8f, 0xf2, 0xb4, 0xc8, 0x99, 0x2a, 0xca, 0xa7, 0xd1, 0xcc, 0xf6, - 0x68, 0xe9, 0xd9, 0x7e, 0xb4, 0xf4, 0x54, 0x37, 0xca, 0x95, 0x6e, 0x3c, 0x83, 0xd6, 0xa5, 0xa7, - 0xc9, 0xd1, 0xbb, 0x24, 0x1e, 0x51, 0x9e, 0x89, 0xc6, 0x0f, 0xce, 0x24, 0x9c, 0xed, 0xd1, 0xba, - 0xa4, 0x2f, 0x59, 0xc9, 0xc8, 0x02, 0xa2, 0x5c, 0x8d, 0xa6, 0x4c, 0x4e, 0x25, 0x9a, 0xed, 0xd1, - 0x32, 0x72, 0x88, 0xac, 0x64, 0x24, 0x89, 0x50, 0x26, 0xba, 0xb2, 0x0d, 0xe4, 0x91, 0x91, 0x62, - 0x62, 0x31, 0x35, 0xbf, 0x82, 0xf2, 0x6c, 0x54, 0x75, 0x53, 0x48, 0x98, 0xea, 0xa6, 0x65, 0x66, - 0x58, 0x4c, 0x4d, 0x08, 0xa0, 0x3c, 0xd7, 0x85, 0x61, 0xd0, 0xc6, 0xd4, 0x54, 0x02, 0x8b, 0xa9, - 0x11, 0xf9, 0x15, 0x35, 0xca, 0x30, 0x85, 0x84, 0x31, 0x4c, 0x8b, 0xe5, 0xbf, 0x98, 0x1a, 0xb8, - 0x5d, 0x79, 0xbe, 0x0b, 0xc3, 0xb0, 0x85, 0x69, 0x21, 0xdf, 0x5f, 0x8f, 0x44, 0x4e, 0x57, 0x3e, - 0x15, 0x9d, 0x37, 0x24, 0x14, 0x9b, 0x37, 0xe4, 0x18, 0xeb, 0x53, 0x89, 0xd8, 0xb0, 0xca, 0xa7, - 0xa3, 0xc3, 0x3c, 0x86, 0x66, 0xc3, 0x3c, 0x1e, 0x4d, 0x76, 0x2a, 0x11, 0x23, 0x53, 0xb9, 0x96, - 0xc5, 0x04, 0xd1, 0x51, 0x26, 0x3c, 0xaa, 0x66, 0x35, 0x25, 0x48, 0xa3, 0xf2, 0x99, 0xa8, 0x5f, - 0x77, 0x82, 0x60, 0xb6, 0x47, 0x4b, 0x09, 0xed, 0xa8, 0xa5, 0x47, 0x24, 0x52, 0xae, 0x47, 0x87, - 0x6d, 0x1a, 0x0d, 0x1b, 0xb6, 0xa9, 0xd1, 0x8c, 0xe6, 0xd2, 0x1e, 0x9f, 0x28, 0x37, 0xa2, 0x86, - 0x59, 0x92, 0x82, 0x19, 0x66, 0x29, 0x8f, 0x56, 0xb4, 0xf4, 0x18, 0x3b, 0xca, 0x0b, 0x5d, 0x5b, - 0x88, 0x34, 0x29, 0x2d, 0xe4, 0x21, 0x67, 0x42, 0xdb, 0x69, 0xa5, 0xdd, 0xb4, 0x75, 0x43, 0xf9, - 0x6c, 0xaa, 0xed, 0xc4, 0x91, 0x92, 0xed, 0xc4, 0x01, 0x6c, 0x95, 0x97, 0xdf, 0x38, 0x28, 0x2f, - 0x46, 0x57, 0x79, 0x19, 0xc7, 0x56, 0xf9, 0xc8, 0x7b, 0x88, 0xa9, 0xc4, 0x7b, 0x00, 0xe5, 0xa5, - 0xa8, 0x02, 0xc4, 0xd0, 0x4c, 0x01, 0xe2, 0x2f, 0x08, 0xbe, 0x9a, 0xed, 0x41, 0xaf, 0xdc, 0x44, - 0x6e, 0xcf, 0xfa, 0xdc, 0xb2, 0xe8, 0x66, 0x7b, 0xb4, 0x6c, 0x2f, 0xfc, 0x6a, 0x8a, 0x43, 0xbc, - 0x72, 0x2b, 0xaa, 0x60, 0x09, 0x02, 0xa6, 0x60, 0x49, 0x37, 0xfa, 0x6a, 0x8a, 0x47, 0xbb, 0xf2, - 0xb9, 0x4c, 0x56, 0xc1, 0x37, 0xa7, 0xf8, 0xc1, 0xdf, 0x91, 0x5d, 0xd2, 0x95, 0x97, 0xa3, 0x8b, - 0x5d, 0x88, 0x61, 0x8b, 0x9d, 0xe4, 0xba, 0x7e, 0x47, 0x76, 0xc6, 0x56, 0x6e, 0x27, 0x4b, 0x85, - 0x4b, 0xa4, 0xe4, 0xb4, 0xad, 0xa5, 0xfb, 0x30, 0x2b, 0xaf, 0x44, 0xb5, 0x2e, 0x8d, 0x86, 0x69, - 0x5d, 0xaa, 0xff, 0xf3, 0x4c, 0xd2, 0x15, 0x59, 0xb9, 0x13, 0xdf, 0x64, 0x47, 0xf1, 0xcc, 0xf2, - 0x49, 0xb8, 0x2f, 0x7f, 0x31, 0x1e, 0x2e, 0x4f, 0x79, 0x35, 0x76, 0xed, 0x1b, 0xc1, 0x32, 0xfb, - 0x36, 0x16, 0x5e, 0xef, 0x8b, 0xf1, 0x08, 0x73, 0xca, 0x6b, 0xe9, 0x1c, 0x02, 0x5d, 0x89, 0x47, - 0xa4, 0xfb, 0x62, 0x3c, 0x28, 0x9b, 0xf2, 0x7a, 0x3a, 0x87, 0x40, 0xba, 0xf1, 0x20, 0x6e, 0x2f, - 0x4b, 0x61, 0xe2, 0x95, 0xcf, 0x47, 0x4d, 0xc7, 0x00, 0xc1, 0x4c, 0xc7, 0x30, 0x98, 0xfc, 0xcb, - 0x52, 0x78, 0x75, 0xe5, 0x8d, 0x44, 0x91, 0xa0, 0xb1, 0x52, 0x10, 0xf6, 0x97, 0xa5, 0xb0, 0xe4, - 0xca, 0x9b, 0x89, 0x22, 0x41, 0xeb, 0xa4, 0xe0, 0xe5, 0x46, 0xb7, 0xf7, 0xab, 0xca, 0x5b, 0xd1, - 0xc3, 0xe0, 0x6c, 0xca, 0xd9, 0x1e, 0xad, 0xdb, 0x3b, 0xd8, 0xaf, 0x66, 0x3b, 0x76, 0x2b, 0x6f, - 0x47, 0x87, 0x70, 0x16, 0x1d, 0x1b, 0xc2, 0x99, 0xce, 0xe1, 0xef, 0xc4, 0x62, 0x59, 0x28, 0xef, - 0x44, 0xa7, 0xb8, 0x08, 0x92, 0x4d, 0x71, 0xf1, 0xc8, 0x17, 0x91, 0x20, 0x0d, 0xca, 0x17, 0xa2, - 0x53, 0x9c, 0x8c, 0x63, 0x53, 0x5c, 0x24, 0xa0, 0xc3, 0x54, 0x22, 0x76, 0x80, 0xf2, 0x6e, 0x74, - 0x8a, 0x8b, 0xa1, 0xd9, 0x14, 0x17, 0x8f, 0x36, 0xf0, 0x4e, 0xec, 0x09, 0xbd, 0xf2, 0xc5, 0xf4, - 0xf6, 0x23, 0x52, 0x6e, 0x3f, 0x7f, 0x70, 0xaf, 0xa5, 0xbf, 0x05, 0x57, 0xca, 0xd1, 0xf1, 0x9b, - 0x46, 0xc3, 0xc6, 0x6f, 0xea, 0x3b, 0xf2, 0xf8, 0xc6, 0x41, 0x68, 0xd5, 0x64, 0x97, 0x8d, 0x43, - 0x68, 0x8a, 0xa4, 0x80, 0x23, 0x7b, 0x64, 0xbe, 0x11, 0x9a, 0xca, 0xd8, 0x23, 0xfb, 0xdb, 0xa0, - 0x18, 0x3d, 0x9b, 0x5d, 0x13, 0x7e, 0xc6, 0x4a, 0x25, 0x3a, 0xbb, 0x26, 0x08, 0xd8, 0xec, 0x9a, - 0xf4, 0x4e, 0x9e, 0x81, 0x31, 0xa1, 0x45, 0xdc, 0x7d, 0xda, 0xb4, 0xd6, 0x95, 0xe9, 0xd8, 0x7b, - 0xcb, 0x18, 0x9e, 0xcd, 0x4e, 0x71, 0x18, 0xae, 0xd7, 0x1c, 0x36, 0xd5, 0x34, 0xdb, 0xab, 0xb6, - 0xee, 0x18, 0x35, 0x6a, 0x19, 0xca, 0x4c, 0x6c, 0xbd, 0x4e, 0xa1, 0xc1, 0xf5, 0x3a, 0x05, 0x8e, - 0x21, 0xe2, 0x62, 0x70, 0x8d, 0x36, 0xa8, 0xf9, 0x98, 0x2a, 0x77, 0x91, 0xed, 0x44, 0x16, 0x5b, - 0x41, 0x36, 0xdb, 0xa3, 0x65, 0x71, 0x60, 0xb6, 0xfa, 0xfc, 0x56, 0xed, 0xbd, 0xb9, 0x20, 0xfc, - 0xc0, 0x92, 0x43, 0xdb, 0xba, 0x43, 0x95, 0xd9, 0xa8, 0xad, 0x9e, 0x4a, 0xc4, 0x6c, 0xf5, 0x54, - 0x44, 0x92, 0xad, 0x3f, 0x16, 0xaa, 0xdd, 0xd8, 0x86, 0x23, 0x22, 0xbd, 0x34, 0x9b, 0x9d, 0xa2, - 0x08, 0x26, 0xa0, 0x39, 0xdb, 0x5a, 0xc7, 0x93, 0x8a, 0x7b, 0xd1, 0xd9, 0x29, 0x9b, 0x92, 0xcd, - 0x4e, 0xd9, 0x58, 0xa6, 0xea, 0x51, 0x2c, 0x1f, 0x83, 0xf7, 0xa3, 0xaa, 0x9e, 0x42, 0xc2, 0x54, - 0x3d, 0x05, 0x9c, 0x64, 0xa8, 0x51, 0x97, 0x7a, 0xca, 0x5c, 0x37, 0x86, 0x48, 0x92, 0x64, 0x88, - 0xe0, 0x24, 0xc3, 0x19, 0xea, 0x35, 0x36, 0x94, 0xf9, 0x6e, 0x0c, 0x91, 0x24, 0xc9, 0x10, 0xc1, - 0x6c, 0xb3, 0x19, 0x05, 0x4f, 0x76, 0x9a, 0x8f, 0xfc, 0x3e, 0x5b, 0x88, 0x6e, 0x36, 0x33, 0x09, - 0xd9, 0x66, 0x33, 0x13, 0x49, 0x7e, 0x7c, 0xcf, 0x7e, 0xf0, 0xca, 0x22, 0x56, 0x78, 0x33, 0xb4, - 0x0b, 0xf6, 0x52, 0x6a, 0xb6, 0x47, 0xdb, 0xab, 0x9f, 0xfd, 0x67, 0x03, 0xa7, 0x51, 0x65, 0x09, - 0xab, 0x1a, 0x0d, 0xce, 0x2a, 0x38, 0x78, 0xb6, 0x47, 0x0b, 0xdc, 0x4a, 0x5f, 0x87, 0x41, 0xfc, - 0xa8, 0xaa, 0x65, 0x7a, 0x95, 0x49, 0xe5, 0xbd, 0xe8, 0x96, 0x49, 0x42, 0xb1, 0x2d, 0x93, 0xf4, - 0x93, 0x4d, 0xe2, 0xf8, 0x93, 0x4f, 0x31, 0x95, 0x49, 0x45, 0x8b, 0x4e, 0xe2, 0x11, 0x24, 0x9b, - 0xc4, 0x23, 0x80, 0xa0, 0xde, 0x8a, 0x63, 0xb7, 0x2b, 0x93, 0x4a, 0x2d, 0xa5, 0x5e, 0x8e, 0x0a, - 0xea, 0xe5, 0x3f, 0x83, 0x7a, 0x6b, 0x1b, 0x1d, 0xaf, 0xc2, 0xbe, 0x71, 0x39, 0xa5, 0x5e, 0x1f, - 0x19, 0xd4, 0xeb, 0x03, 0xd8, 0x54, 0x88, 0x80, 0x25, 0xc7, 0x66, 0x93, 0xf6, 0x7d, 0xb3, 0xd9, - 0x54, 0x56, 0xa2, 0x53, 0x61, 0x1c, 0xcf, 0xa6, 0xc2, 0x38, 0x8c, 0x99, 0x9e, 0xbc, 0x55, 0x74, - 0xb5, 0xb3, 0xae, 0x3c, 0x88, 0x9a, 0x9e, 0x21, 0x86, 0x99, 0x9e, 0xe1, 0x2f, 0xdc, 0x5d, 0xb0, - 0x5f, 0x1a, 0x5d, 0x73, 0xa8, 0xbb, 0xa1, 0x3c, 0x8c, 0xed, 0x2e, 0x24, 0x1c, 0xee, 0x2e, 0xa4, - 0xdf, 0x64, 0x1d, 0x9e, 0x8e, 0x2c, 0x34, 0xfe, 0xa5, 0x4d, 0x8d, 0xea, 0x4e, 0x63, 0x43, 0xf9, - 0x12, 0xb2, 0x7a, 0x3e, 0x75, 0xa9, 0x8a, 0x92, 0xce, 0xf6, 0x68, 0xdd, 0x38, 0xe1, 0xb6, 0xfc, - 0xbd, 0x39, 0x1e, 0xcb, 0x55, 0x5b, 0x9a, 0xf2, 0x37, 0xa1, 0xef, 0xc7, 0xb6, 0xe5, 0x49, 0x12, - 0xdc, 0x96, 0x27, 0xc1, 0xa4, 0x0d, 0x57, 0x63, 0x5b, 0xb5, 0x79, 0xbd, 0xc9, 0xf6, 0x25, 0xd4, - 0x58, 0xd2, 0x1b, 0x8f, 0xa8, 0xa7, 0x7c, 0x19, 0x79, 0x5f, 0xcb, 0xd8, 0xf0, 0xc5, 0xa8, 0x67, - 0x7b, 0xb4, 0x5d, 0xf8, 0x11, 0x15, 0x8a, 0xb5, 0x99, 0xe5, 0x25, 0xe5, 0x07, 0xa2, 0xe7, 0x9b, - 0x0c, 0x36, 0xdb, 0xa3, 0x21, 0x8e, 0x59, 0x69, 0x2b, 0xed, 0x75, 0x47, 0x37, 0x28, 0x37, 0xb4, - 0xd0, 0x76, 0x13, 0x06, 0xe8, 0x0f, 0x46, 0xad, 0xb4, 0x2c, 0x3a, 0x66, 0xa5, 0x65, 0xe1, 0x98, - 0xa2, 0x46, 0xd2, 0x96, 0x28, 0x5f, 0x89, 0x2a, 0x6a, 0x04, 0xc9, 0x14, 0x35, 0x9a, 0xe4, 0xe4, - 0x4b, 0x70, 0x31, 0xd8, 0xcf, 0x8b, 0xf5, 0x97, 0x77, 0x9a, 0xf2, 0x55, 0xe4, 0x73, 0x35, 0x71, - 0x19, 0x10, 0xa1, 0x9a, 0xed, 0xd1, 0x32, 0xca, 0xb3, 0x15, 0x37, 0x91, 0x91, 0x4b, 0x98, 0x17, - 0x3f, 0x14, 0x5d, 0x71, 0x33, 0xc8, 0xd8, 0x8a, 0x9b, 0x81, 0x4a, 0x65, 0x2e, 0x84, 0xaa, 0xef, - 0xc2, 0x3c, 0x90, 0x69, 0x16, 0x87, 0x54, 0xe6, 0xc2, 0x52, 0x5b, 0xdd, 0x85, 0x79, 0x60, 0xad, - 0x65, 0x71, 0x20, 0xd7, 0xa1, 0x54, 0xab, 0xcd, 0x6b, 0x1d, 0x4b, 0x69, 0xc4, 0xbc, 0x65, 0x11, - 0x3a, 0xdb, 0xa3, 0x09, 0x3c, 0x33, 0x83, 0xa6, 0x9b, 0xba, 0xeb, 0x99, 0x0d, 0x17, 0x47, 0x8c, - 0x3f, 0x42, 0x8c, 0xa8, 0x19, 0x94, 0x46, 0xc3, 0xcc, 0xa0, 0x34, 0x38, 0xb3, 0x17, 0xa7, 0x74, - 0xd7, 0xd5, 0x2d, 0xc3, 0xd1, 0x27, 0x71, 0x99, 0xa0, 0xb1, 0xd7, 0x58, 0x11, 0x2c, 0xb3, 0x17, - 0xa3, 0x10, 0x3c, 0x7c, 0xf7, 0x21, 0xbe, 0x99, 0xb3, 0x16, 0x3b, 0x7c, 0x8f, 0xe1, 0xf1, 0xf0, - 0x3d, 0x06, 0x43, 0xbb, 0xd3, 0x87, 0x69, 0x74, 0xdd, 0x64, 0x22, 0x52, 0xd6, 0x63, 0x76, 0x67, - 0x9c, 0x00, 0xed, 0xce, 0x38, 0x30, 0xd2, 0x24, 0x7f, 0xb9, 0xdd, 0xc8, 0x68, 0x52, 0xb8, 0xca, - 0x26, 0xca, 0xb0, 0xf5, 0x3b, 0x1c, 0x1c, 0x95, 0x2d, 0x4b, 0x6f, 0xd9, 0x95, 0x49, 0x5f, 0xea, - 0x66, 0x74, 0xfd, 0xce, 0x24, 0x64, 0xeb, 0x77, 0x26, 0x92, 0xcd, 0xae, 0xfe, 0x46, 0x6b, 0x43, - 0x77, 0xa8, 0x51, 0x31, 0x1d, 0x3c, 0x59, 0xdc, 0xe2, 0x5b, 0xc3, 0x0f, 0xa2, 0xb3, 0x6b, 0x17, - 0x52, 0x36, 0xbb, 0x76, 0x41, 0x33, 0x23, 0x2f, 0x1d, 0xad, 0x51, 0xdd, 0x50, 0x1e, 0x45, 0x8d, - 0xbc, 0x6c, 0x4a, 0x66, 0xe4, 0x65, 0x63, 0xb3, 0x3f, 0xe7, 0xa1, 0x63, 0x7a, 0x54, 0x69, 0xee, - 0xe5, 0x73, 0x90, 0x34, 0xfb, 0x73, 0x10, 0xcd, 0x36, 0x84, 0xf1, 0x0e, 0x69, 0x45, 0x37, 0x84, - 0xc9, 0x6e, 0x88, 0x97, 0x60, 0x16, 0x8b, 0x78, 0x94, 0xa7, 0x58, 0x51, 0x8b, 0x45, 0x80, 0x99, - 0xc5, 0x12, 0x3e, 0xdb, 0x8b, 0x3c, 0xc5, 0x52, 0xec, 0xe8, 0x1a, 0x2a, 0xe3, 0xd8, 0x1a, 0x1a, - 0x79, 0xb6, 0xf5, 0x7a, 0xe4, 0x9d, 0x81, 0xd2, 0x8e, 0x5a, 0x1d, 0x12, 0x8a, 0x59, 0x1d, 0xf2, - 0x8b, 0x84, 0x29, 0x18, 0xc5, 0x5b, 0x70, 0xad, 0x13, 0xdc, 0xe3, 0xfc, 0x70, 0xf4, 0x33, 0x63, - 0x68, 0xf6, 0x99, 0x31, 0x50, 0x84, 0x89, 0x98, 0xb6, 0x9c, 0x0c, 0x26, 0xe1, 0xf9, 0x60, 0x0c, - 0x44, 0xe6, 0x80, 0xd4, 0xca, 0xf3, 0x73, 0x55, 0x63, 0x49, 0xbe, 0x22, 0x73, 0xa3, 0x27, 0xb0, - 0x49, 0x8a, 0xd9, 0x1e, 0x2d, 0xa5, 0x1c, 0xf9, 0x00, 0xae, 0x08, 0xa8, 0x78, 0x71, 0x8d, 0x89, - 0xfb, 0x8d, 0x60, 0x41, 0xf0, 0xa2, 0x7e, 0x6c, 0xdd, 0x68, 0x67, 0x7b, 0xb4, 0xae, 0xbc, 0xb2, - 0xeb, 0x12, 0xeb, 0x43, 0x67, 0x2f, 0x75, 0x05, 0x8b, 0x44, 0x57, 0x5e, 0xd9, 0x75, 0x09, 0xb9, - 0x3f, 0xde, 0x4b, 0x5d, 0x41, 0x27, 0x74, 0xe5, 0x45, 0x5c, 0x98, 0xe8, 0x86, 0x2f, 0x37, 0x9b, - 0xca, 0x26, 0x56, 0xf7, 0x99, 0xbd, 0x54, 0x57, 0x46, 0x83, 0x73, 0x37, 0x8e, 0x6c, 0x96, 0x5e, - 0x6c, 0x53, 0xab, 0x16, 0x59, 0x80, 0x9e, 0x44, 0x67, 0xe9, 0x04, 0x01, 0x9b, 0xa5, 0x13, 0x40, - 0x36, 0xa0, 0xe4, 0xe7, 0x2a, 0xca, 0x56, 0x74, 0x40, 0xc9, 0x38, 0x36, 0xa0, 0x22, 0x4f, 0x5b, - 0x16, 0xe1, 0xdc, 0xe2, 0x23, 0x4f, 0xf7, 0x2d, 0x48, 0x57, 0x74, 0xe5, 0x87, 0xb1, 0x4b, 0xa6, - 0x24, 0x09, 0x5e, 0x32, 0x25, 0xc1, 0x6c, 0x8c, 0x30, 0x70, 0x6d, 0xcb, 0x6a, 0xcc, 0xe8, 0x66, - 0xb3, 0xe3, 0x50, 0xe5, 0xdf, 0x88, 0x8e, 0x91, 0x18, 0x9a, 0x8d, 0x91, 0x18, 0x88, 0x2d, 0xd0, - 0x0c, 0x54, 0x76, 0x5d, 0x73, 0xdd, 0x12, 0xfb, 0xca, 0x4e, 0xd3, 0x53, 0xfe, 0xcd, 0xe8, 0x02, - 0x9d, 0x46, 0xc3, 0x16, 0xe8, 0x34, 0x38, 0x9e, 0x3a, 0xb1, 0x5e, 0x60, 0x8b, 0x87, 0x7c, 0x57, - 0xf9, 0x6f, 0xc5, 0x4e, 0x9d, 0x52, 0x68, 0xf0, 0xd4, 0x29, 0x05, 0xce, 0xd6, 0x47, 0x6e, 0x93, - 0xcd, 0x99, 0xc1, 0x5d, 0xf5, 0xbf, 0x1d, 0x5d, 0x1f, 0xe3, 0x78, 0xb6, 0x3e, 0xc6, 0x61, 0x51, - 0x3e, 0xa2, 0x0b, 0xfe, 0x9d, 0x2c, 0x3e, 0x81, 0xfc, 0x13, 0x65, 0xc8, 0x5d, 0x99, 0x8f, 0x18, - 0x29, 0x3f, 0x92, 0xcb, 0x62, 0x14, 0x0c, 0x8f, 0x44, 0xa1, 0x28, 0x23, 0x8d, 0x3e, 0x36, 0xe9, - 0xa6, 0xf2, 0xb5, 0x4c, 0x46, 0x9c, 0x20, 0xca, 0x88, 0xc3, 0xc8, 0xfb, 0x70, 0x31, 0x84, 0xcd, - 0xd3, 0xd6, 0x6a, 0x30, 0x33, 0xfd, 0xb1, 0x5c, 0xd4, 0x0c, 0x4e, 0x27, 0x63, 0x66, 0x70, 0x3a, - 0x26, 0x8d, 0xb5, 0x10, 0xdd, 0xbf, 0xbb, 0x0b, 0xeb, 0x40, 0x82, 0x19, 0x0c, 0xd2, 0x58, 0x0b, - 0x69, 0xfe, 0xe8, 0x2e, 0xac, 0x03, 0x99, 0x66, 0x30, 0x20, 0x3f, 0x91, 0x83, 0x6b, 0xe9, 0xa8, - 0x72, 0xb3, 0x39, 0x63, 0x3b, 0x21, 0x4e, 0xf9, 0xe3, 0xb9, 0xe8, 0x41, 0xc3, 0xde, 0x8a, 0xcd, - 0xf6, 0x68, 0x7b, 0xac, 0x80, 0x7c, 0x01, 0x86, 0xcb, 0x1d, 0xc3, 0xf4, 0xf0, 0xe2, 0x8d, 0x19, - 0xce, 0x3f, 0x96, 0x8b, 0x6d, 0x71, 0x64, 0x2c, 0x6e, 0x71, 0x64, 0x00, 0xb9, 0x07, 0xe3, 0x35, - 0xda, 0xe8, 0x38, 0xa6, 0xb7, 0xa5, 0xd1, 0xb6, 0xed, 0x78, 0x8c, 0xc7, 0x9f, 0xc8, 0x45, 0x27, - 0xb1, 0x04, 0x05, 0x9b, 0xc4, 0x12, 0x40, 0xf2, 0x20, 0x71, 0x2b, 0x2f, 0x3a, 0xf3, 0xc7, 0x73, - 0x5d, 0xaf, 0xe5, 0x83, 0xbe, 0x4c, 0x2f, 0x4e, 0x96, 0x62, 0xb7, 0xe8, 0x82, 0xeb, 0x4f, 0xe4, - 0xba, 0x5c, 0xa3, 0x4b, 0x33, 0x5c, 0x12, 0xcc, 0x38, 0xa6, 0xe4, 0x70, 0x57, 0xfe, 0x64, 0xae, - 0xcb, 0xb5, 0x77, 0xc8, 0x31, 0x2d, 0xfd, 0xfb, 0xab, 0xdc, 0x53, 0x44, 0x30, 0xfa, 0x53, 0xb9, - 0xa4, 0xab, 0x48, 0x50, 0x5e, 0x22, 0x64, 0xc5, 0x56, 0xdc, 0x40, 0xe9, 0xbf, 0x9e, 0x4b, 0xfa, - 0xe6, 0x85, 0xc5, 0xc2, 0x5f, 0x84, 0xc2, 0xe5, 0xe9, 0x27, 0x1e, 0x75, 0x2c, 0xbd, 0x89, 0xdd, - 0x59, 0xf3, 0x6c, 0x47, 0x5f, 0xa7, 0xd3, 0x96, 0xbe, 0xda, 0xa4, 0xca, 0x37, 0x72, 0x51, 0x0b, - 0x36, 0x9b, 0x94, 0x59, 0xb0, 0xd9, 0x58, 0xb2, 0x01, 0x4f, 0xa7, 0x61, 0x2b, 0xa6, 0x8b, 0xf5, - 0x7c, 0x33, 0x17, 0x35, 0x61, 0xbb, 0xd0, 0x32, 0x13, 0xb6, 0x0b, 0x9a, 0xdc, 0x86, 0x81, 0x49, - 0xdb, 0x9f, 0x7e, 0xff, 0x74, 0xcc, 0x19, 0x32, 0xc0, 0xcc, 0xf6, 0x68, 0x21, 0x99, 0x28, 0x23, - 0x06, 0xf5, 0xb7, 0x92, 0x65, 0xc2, 0xcb, 0xa7, 0xe0, 0x87, 0x28, 0x23, 0xc4, 0xfd, 0xef, 0x25, - 0xcb, 0x84, 0x77, 0x5c, 0xc1, 0x0f, 0x36, 0x93, 0xf0, 0x1a, 0xe7, 0x67, 0xca, 0xcc, 0x6e, 0x9b, - 0xda, 0xd0, 0x9b, 0x4d, 0x6a, 0xad, 0x53, 0xe5, 0xdb, 0xb1, 0x99, 0x24, 0x9d, 0x8c, 0xcd, 0x24, - 0xe9, 0x18, 0xf2, 0x83, 0x70, 0xe9, 0x81, 0xde, 0x34, 0x8d, 0x10, 0xe7, 0x67, 0xf4, 0x56, 0x7e, - 0x32, 0x17, 0xdd, 0x4d, 0x67, 0xd0, 0xb1, 0xdd, 0x74, 0x06, 0x8a, 0xcc, 0x03, 0xc1, 0x65, 0x34, - 0x98, 0x2d, 0xd8, 0xfa, 0xac, 0xfc, 0xfb, 0xb9, 0xa8, 0x9d, 0x9a, 0x24, 0x61, 0x76, 0x6a, 0x12, - 0x4a, 0xea, 0xd9, 0xa9, 0x41, 0x94, 0x9f, 0xca, 0x45, 0x4f, 0x6b, 0xb2, 0x08, 0x67, 0x7b, 0xb4, - 0xec, 0xfc, 0x22, 0x77, 0x61, 0xac, 0xb6, 0x54, 0x9d, 0x99, 0x99, 0xae, 0x3d, 0xa8, 0x56, 0xf0, - 0xa1, 0x83, 0xa1, 0xfc, 0x74, 0x6c, 0xc5, 0x8a, 0x13, 0xb0, 0x15, 0x2b, 0x0e, 0x23, 0x6f, 0xc1, - 0x10, 0x6b, 0x3f, 0x1b, 0x30, 0xf8, 0xc9, 0x3f, 0x93, 0x8b, 0x9a, 0x53, 0x32, 0x92, 0x99, 0x53, - 0xf2, 0x6f, 0x52, 0x83, 0xf3, 0x4c, 0x8a, 0x4b, 0x0e, 0x5d, 0xa3, 0x0e, 0xb5, 0x1a, 0xfe, 0x98, - 0xfe, 0xd9, 0x5c, 0xd4, 0xca, 0x48, 0x23, 0x62, 0x56, 0x46, 0x1a, 0x9c, 0x3c, 0x82, 0x2b, 0xf1, - 0x93, 0x20, 0xf9, 0xd9, 0xa9, 0xf2, 0x67, 0x72, 0x31, 0x63, 0xb8, 0x0b, 0x31, 0x1a, 0xc3, 0x5d, - 0xf0, 0xc4, 0x82, 0x67, 0xc4, 0xb1, 0x8a, 0x70, 0xb8, 0x8c, 0xd7, 0xf6, 0x67, 0x79, 0x6d, 0x9f, - 0x0e, 0x1d, 0x02, 0xbb, 0x50, 0xcf, 0xf6, 0x68, 0xdd, 0xd9, 0x31, 0x3d, 0x4b, 0x26, 0xc0, 0x50, - 0x7e, 0x2e, 0x97, 0xee, 0x91, 0x12, 0x71, 0x53, 0x4e, 0xcb, 0x9c, 0xf1, 0x7e, 0x56, 0xfa, 0x06, - 0xe5, 0xcf, 0xc5, 0xc6, 0x5b, 0x3a, 0x19, 0x1b, 0x6f, 0x19, 0xf9, 0x1f, 0xee, 0xc1, 0x38, 0x57, - 0xea, 0x25, 0x1d, 0x87, 0xa1, 0xb5, 0x4e, 0x0d, 0xe5, 0x3f, 0x88, 0xad, 0x76, 0x09, 0x0a, 0x74, - 0xed, 0x89, 0x03, 0xd9, 0xd4, 0x5d, 0x6b, 0xeb, 0x96, 0x85, 0xc7, 0xac, 0xca, 0x7f, 0x18, 0x9b, - 0xba, 0x43, 0x14, 0x3a, 0xee, 0x06, 0xbf, 0x98, 0x26, 0x74, 0x4b, 0x7d, 0xa4, 0xfc, 0xf9, 0x98, - 0x26, 0x74, 0x23, 0x66, 0x9a, 0xd0, 0x35, 0x8f, 0xd2, 0x83, 0x8c, 0x27, 0xe0, 0xca, 0xcf, 0xc7, - 0x56, 0xe4, 0x54, 0x2a, 0xb6, 0x22, 0xa7, 0xbf, 0x20, 0x7f, 0x90, 0xf1, 0x7c, 0x5a, 0xf9, 0x85, - 0xee, 0x7c, 0xc3, 0x95, 0x3e, 0xfd, 0xf5, 0xf5, 0x83, 0x8c, 0xa7, 0xc7, 0xca, 0x5f, 0xe8, 0xce, - 0x37, 0x74, 0xec, 0x4b, 0x7f, 0xb9, 0x5c, 0xcf, 0x7e, 0xb6, 0xab, 0xfc, 0xc5, 0xf8, 0xd4, 0x95, - 0x41, 0x88, 0x53, 0x57, 0xd6, 0xdb, 0xdf, 0x55, 0x78, 0x8a, 0x6b, 0xc8, 0x5d, 0x47, 0x6f, 0x6f, - 0xd4, 0xa8, 0xe7, 0x99, 0xd6, 0xba, 0xbf, 0x13, 0xfb, 0x4b, 0xb9, 0xd8, 0xf1, 0x58, 0x16, 0x25, - 0x1e, 0x8f, 0x65, 0x21, 0x99, 0xf2, 0x26, 0x1e, 0xe8, 0x2a, 0x7f, 0x39, 0xa6, 0xbc, 0x09, 0x0a, - 0xa6, 0xbc, 0xc9, 0x77, 0xbd, 0xf7, 0x52, 0xde, 0xa1, 0x2a, 0xff, 0x51, 0x36, 0xaf, 0xa0, 0x7d, - 0x29, 0xcf, 0x57, 0xef, 0xa5, 0x3c, 0xb7, 0x54, 0xfe, 0xe3, 0x6c, 0x5e, 0xa1, 0x0f, 0x52, 0xf2, - 0x95, 0xe6, 0xfb, 0x70, 0x91, 0xcf, 0xe6, 0x33, 0xd4, 0xa0, 0x91, 0x0f, 0xfd, 0xc5, 0xd8, 0xd8, - 0x4f, 0x27, 0xc3, 0x23, 0xf7, 0x54, 0x4c, 0x1a, 0x6b, 0xd1, 0xd6, 0xbf, 0xb2, 0x0b, 0xeb, 0x70, - 0x43, 0x90, 0x8e, 0x61, 0xeb, 0x8d, 0xfc, 0xf8, 0x4d, 0xf9, 0xa5, 0xd8, 0x7a, 0x23, 0x23, 0xd1, - 0x9d, 0x43, 0x7e, 0x29, 0xf7, 0x56, 0xf4, 0xa1, 0x97, 0xf2, 0x9f, 0xa4, 0x16, 0x0e, 0x3a, 0x20, - 0xfa, 0x2a, 0xec, 0xad, 0xe8, 0xa3, 0x26, 0xe5, 0x97, 0x53, 0x0b, 0x07, 0x1f, 0x10, 0x7d, 0x01, - 0xc5, 0xb6, 0x48, 0x1d, 0xcf, 0xe6, 0xac, 0x22, 0xd3, 0xc3, 0x5f, 0x8d, 0x6f, 0x91, 0x52, 0xc9, - 0x70, 0x8b, 0x94, 0x8a, 0x49, 0x63, 0x2d, 0x3e, 0xef, 0x57, 0x76, 0x61, 0x2d, 0x6d, 0xec, 0x52, - 0x31, 0x69, 0xac, 0xc5, 0xc7, 0xff, 0xea, 0x2e, 0xac, 0xa5, 0x8d, 0x5d, 0x2a, 0x86, 0x99, 0x63, - 0x21, 0xe6, 0x01, 0x75, 0xdc, 0x50, 0xfd, 0xfe, 0x5a, 0xcc, 0x1c, 0xcb, 0xa0, 0x63, 0xe6, 0x58, - 0x06, 0x2a, 0x95, 0xbb, 0x10, 0xca, 0xaf, 0xed, 0xc6, 0x3d, 0xbc, 0x97, 0xc9, 0x40, 0xa5, 0x72, - 0x17, 0x72, 0xf9, 0xeb, 0xbb, 0x71, 0x0f, 0x2f, 0x66, 0x32, 0x50, 0xcc, 0x28, 0xaa, 0x79, 0xba, - 0x67, 0x36, 0x66, 0x6d, 0xd7, 0x93, 0x16, 0xf9, 0xbf, 0x11, 0x33, 0x8a, 0xd2, 0x88, 0x98, 0x51, - 0x94, 0x06, 0x4f, 0x32, 0x15, 0xd2, 0xf8, 0xf5, 0xae, 0x4c, 0x43, 0x4b, 0x2b, 0x0d, 0x9e, 0x64, - 0x2a, 0x84, 0xf0, 0x9f, 0x76, 0x65, 0x1a, 0x7a, 0xca, 0xa7, 0xc1, 0x99, 0x65, 0x3a, 0xe5, 0xd8, - 0x9b, 0xd6, 0x3d, 0xba, 0x49, 0x9b, 0xe2, 0xd3, 0x7f, 0x23, 0x66, 0x99, 0xc6, 0x09, 0xf0, 0x16, - 0x25, 0x06, 0x8b, 0x32, 0x12, 0x9f, 0xfb, 0x9b, 0x99, 0x8c, 0xc2, 0x63, 0xa2, 0x38, 0x2c, 0xca, - 0x48, 0x7c, 0xe2, 0x6f, 0x65, 0x32, 0x0a, 0x8f, 0x89, 0xe2, 0xb0, 0xc9, 0x3e, 0xe8, 0xc5, 0x73, - 0x44, 0xf5, 0xe7, 0x73, 0x30, 0x54, 0xf3, 0x1c, 0xaa, 0xb7, 0x44, 0xb4, 0xb3, 0xcb, 0xd0, 0xcf, - 0x1d, 0x72, 0xfd, 0xd7, 0xc3, 0x5a, 0xf0, 0x9b, 0x5c, 0x83, 0x91, 0x39, 0xdd, 0xf5, 0xb0, 0x64, - 0xd5, 0x32, 0xe8, 0x13, 0x7c, 0x8c, 0x56, 0xd0, 0x62, 0x50, 0x32, 0xc7, 0xe9, 0x78, 0x39, 0x0c, - 0x70, 0x59, 0xd8, 0x35, 0xc8, 0x57, 0xff, 0x77, 0xb7, 0x27, 0x7a, 0x30, 0xa6, 0x57, 0xac, 0xac, - 0xfa, 0xbb, 0x39, 0x48, 0xb8, 0x0a, 0x1f, 0xfc, 0x55, 0xff, 0x22, 0x8c, 0xc6, 0x82, 0xaa, 0x8a, - 0x17, 0x75, 0x7b, 0x8c, 0xb9, 0x1a, 0x2f, 0x4d, 0x3e, 0x13, 0xbc, 0xe4, 0x5a, 0xd1, 0xe6, 0x44, - 0x00, 0x37, 0x4c, 0x3d, 0xd0, 0x71, 0x9a, 0x9a, 0x84, 0x12, 0x01, 0x7a, 0xbe, 0x3f, 0x16, 0x46, - 0x8c, 0x24, 0xd7, 0x44, 0x88, 0x81, 0x5c, 0x18, 0xf6, 0x2d, 0x96, 0xaa, 0x9c, 0x87, 0x14, 0xf8, - 0x02, 0x0c, 0x55, 0x5b, 0x6d, 0xea, 0xb8, 0xb6, 0xa5, 0x7b, 0xb6, 0x23, 0x5e, 0x68, 0x63, 0x48, - 0x30, 0x53, 0x82, 0xcb, 0x61, 0xaa, 0x64, 0x7a, 0x72, 0xc3, 0xcf, 0x9e, 0x56, 0xc0, 0x58, 0x9d, - 0xf8, 0xcc, 0x32, 0x9e, 0xfe, 0x9a, 0x53, 0x30, 0xd2, 0x15, 0x57, 0xc7, 0x37, 0x7f, 0x01, 0x69, - 0x87, 0x01, 0x64, 0x52, 0xa4, 0x20, 0x2f, 0x42, 0x09, 0xef, 0x48, 0x5c, 0xcc, 0x8a, 0x28, 0x82, - 0xd1, 0x35, 0x11, 0x22, 0x87, 0xfe, 0xe2, 0x34, 0xe4, 0x3e, 0x8c, 0x85, 0x17, 0xc0, 0x77, 0x1d, - 0xbb, 0xd3, 0xf6, 0xf3, 0xa0, 0x60, 0xda, 0xf0, 0x47, 0x01, 0xae, 0xbe, 0x8e, 0x48, 0x89, 0x45, - 0xa2, 0x20, 0x99, 0x85, 0xd1, 0x10, 0xc6, 0x44, 0xe4, 0xe7, 0x5f, 0xc2, 0xdc, 0x97, 0x12, 0x2f, - 0x26, 0xce, 0x48, 0xee, 0xcb, 0x58, 0x31, 0x52, 0x85, 0x3e, 0x3f, 0x12, 0x5d, 0xff, 0xae, 0x4a, - 0x7a, 0x4e, 0x44, 0xa2, 0xeb, 0x93, 0x63, 0xd0, 0xf9, 0xe5, 0xc9, 0x0c, 0x8c, 0x68, 0x76, 0xc7, - 0xa3, 0xcb, 0xb6, 0xd8, 0x39, 0x89, 0x88, 0x87, 0xd8, 0x26, 0x87, 0x61, 0xea, 0x9e, 0xed, 0x67, - 0x5d, 0x97, 0xb3, 0x7f, 0x47, 0x4b, 0x91, 0x05, 0x18, 0x4f, 0x5c, 0x95, 0xcb, 0xb9, 0xd0, 0xa5, - 0xcf, 0x4b, 0x32, 0x4b, 0x16, 0x25, 0x3f, 0x96, 0x83, 0xd2, 0xb2, 0xa3, 0x9b, 0x9e, 0x2b, 0x9e, - 0x0b, 0x5e, 0xb8, 0xb9, 0xe9, 0xe8, 0x6d, 0xa6, 0x1f, 0x37, 0x31, 0x18, 0xeb, 0x03, 0xbd, 0xd9, - 0xa1, 0xee, 0xe4, 0x43, 0xf6, 0x75, 0xff, 0xc3, 0xf6, 0xc4, 0x5b, 0xeb, 0x78, 0x20, 0x77, 0xb3, - 0x61, 0xb7, 0x6e, 0xad, 0x3b, 0xfa, 0x63, 0xd3, 0x43, 0xb3, 0x47, 0x6f, 0xde, 0xf2, 0x68, 0x13, - 0xcf, 0xfd, 0x6e, 0xe9, 0x6d, 0xf3, 0x16, 0x06, 0xfd, 0xbe, 0x15, 0x70, 0xe2, 0x35, 0x30, 0x15, - 0xf0, 0xf0, 0x2f, 0x59, 0x05, 0x38, 0x8e, 0x2c, 0x00, 0x88, 0x4f, 0x2d, 0xb7, 0xdb, 0xe2, 0xed, - 0xa1, 0x74, 0x5a, 0xe6, 0x63, 0xb8, 0x62, 0x07, 0x02, 0xd3, 0xdb, 0x52, 0xa0, 0x5b, 0x4d, 0xe2, - 0xc0, 0xb4, 0x60, 0x59, 0xb4, 0xc8, 0x17, 0xd3, 0x70, 0x28, 0x71, 0xbf, 0xb1, 0x29, 0x42, 0x8a, - 0x17, 0x23, 0xab, 0x30, 0x2a, 0xf8, 0x06, 0x69, 0x31, 0x46, 0xa2, 0xb3, 0x42, 0x0c, 0xcd, 0x95, - 0x36, 0x68, 0xa3, 0x21, 0xc0, 0x72, 0x1d, 0xb1, 0x12, 0x64, 0x32, 0x4c, 0xe3, 0xbb, 0xa0, 0xb7, - 0xa8, 0xab, 0x8c, 0xa2, 0xc6, 0x5e, 0xd9, 0xd9, 0x9e, 0x50, 0xfc, 0xf2, 0x18, 0x94, 0x31, 0x35, - 0x29, 0x3d, 0x16, 0x91, 0x79, 0x70, 0xad, 0x1f, 0x4b, 0xe1, 0x11, 0xd7, 0xf9, 0x68, 0x11, 0x32, - 0x05, 0xc3, 0xc1, 0xd3, 0x87, 0x95, 0x95, 0x6a, 0x05, 0x1f, 0x37, 0x8a, 0xb8, 0x9c, 0xb1, 0xc4, - 0x15, 0x32, 0x93, 0x48, 0x19, 0x29, 0x5e, 0x04, 0x7f, 0xed, 0x18, 0x8b, 0x17, 0xd1, 0x4e, 0x89, - 0x17, 0xb1, 0x44, 0xde, 0x81, 0xc1, 0xf2, 0xc3, 0x9a, 0x88, 0x83, 0xe1, 0x2a, 0xe7, 0xc2, 0x2c, - 0x48, 0xfa, 0xa6, 0x5b, 0xf7, 0x63, 0x66, 0xc8, 0x4d, 0x97, 0xe9, 0xc9, 0x34, 0x8c, 0x44, 0xbc, - 0xa7, 0x5c, 0xe5, 0x3c, 0x72, 0xc0, 0x96, 0xeb, 0x88, 0xa9, 0x3b, 0x02, 0x25, 0x0f, 0xaf, 0x68, - 0x21, 0xa6, 0x35, 0x15, 0xd3, 0xc5, 0x8c, 0x32, 0x1a, 0xc5, 0x90, 0x1b, 0xf8, 0x54, 0xb2, 0x9f, - 0x6b, 0x8d, 0x21, 0x50, 0x75, 0x87, 0xe3, 0xe4, 0x1e, 0x8d, 0x15, 0x23, 0x1f, 0x00, 0xc1, 0x1c, - 0x34, 0xd4, 0xf0, 0x2f, 0xd3, 0xaa, 0x15, 0x57, 0xb9, 0x88, 0x41, 0xa9, 0x49, 0xfc, 0x89, 0x7f, - 0xb5, 0x32, 0x79, 0x4d, 0x4c, 0x1f, 0x57, 0x75, 0x5e, 0xaa, 0xee, 0x3f, 0xef, 0xaf, 0x9b, 0x91, - 0x04, 0xbd, 0x29, 0x5c, 0xc9, 0x26, 0x5c, 0x5a, 0x72, 0xe8, 0x63, 0xd3, 0xee, 0xb8, 0xfe, 0xf2, - 0xe1, 0xcf, 0x5b, 0x97, 0x76, 0x9d, 0xb7, 0x9e, 0x13, 0x15, 0x5f, 0x68, 0x3b, 0xf4, 0x71, 0xdd, - 0x0f, 0x45, 0x1c, 0x89, 0xa4, 0x99, 0xc5, 0x1d, 0xd3, 0x0c, 0x7f, 0xd8, 0x71, 0xa8, 0x80, 0x9b, - 0xd4, 0x55, 0x94, 0x70, 0xaa, 0xe5, 0xd1, 0x53, 0xcc, 0x00, 0x17, 0x49, 0x33, 0x1c, 0x2d, 0x46, - 0x34, 0x20, 0x77, 0xa7, 0xfc, 0x8b, 0xd5, 0x72, 0x83, 0x27, 0x63, 0x55, 0x9e, 0x42, 0x66, 0x2a, - 0x13, 0xcb, 0x7a, 0x23, 0x08, 0x4b, 0x5e, 0xd7, 0x05, 0x5e, 0x16, 0x4b, 0xb2, 0x34, 0x99, 0x83, - 0xb1, 0x25, 0x07, 0x8f, 0x79, 0xee, 0xd3, 0xad, 0x25, 0xbb, 0x69, 0x36, 0xb6, 0xf0, 0xc5, 0xa6, - 0x98, 0x2a, 0xdb, 0x1c, 0x57, 0x7f, 0x44, 0xb7, 0xea, 0x6d, 0xc4, 0xca, 0xcb, 0x4a, 0xbc, 0xa4, - 0x1c, 0x26, 0xf8, 0xe9, 0xbd, 0x85, 0x09, 0xa6, 0x30, 0x26, 0xae, 0x65, 0x9f, 0x78, 0xd4, 0x62, - 0x4b, 0xbd, 0x2b, 0x5e, 0x67, 0x2a, 0xb1, 0x6b, 0xdc, 0x00, 0xcf, 0xa7, 0x0e, 0x31, 0xca, 0x68, - 0x00, 0x96, 0x1b, 0x16, 0x2f, 0x92, 0x8c, 0xa5, 0xfb, 0xcc, 0x01, 0x62, 0xe9, 0xfe, 0x8d, 0x82, - 0x3c, 0xff, 0x92, 0x2b, 0x50, 0x94, 0x52, 0xdd, 0x60, 0xa0, 0x50, 0x0c, 0x0b, 0x5e, 0x14, 0xf1, - 0x8f, 0x07, 0x84, 0xed, 0x12, 0x44, 0x84, 0xc1, 0xdc, 0x86, 0x61, 0xf0, 0x48, 0x2d, 0x24, 0xc0, - 0xbc, 0x72, 0x9d, 0xd5, 0xa6, 0xd9, 0xc0, 0x60, 0xf1, 0x05, 0x29, 0x04, 0x04, 0x42, 0x79, 0xac, - 0x78, 0x89, 0x84, 0xdc, 0x86, 0x41, 0xff, 0x78, 0x31, 0x0c, 0x94, 0x8b, 0x31, 0xc4, 0xc5, 0x6c, - 0x2d, 0x42, 0x94, 0x4b, 0x44, 0xe4, 0x4d, 0x80, 0x70, 0x3a, 0x10, 0x96, 0x16, 0x2e, 0x15, 0xf2, - 0xec, 0x21, 0x2f, 0x15, 0x21, 0x35, 0x9b, 0x38, 0x65, 0x75, 0xf4, 0x33, 0x69, 0xe2, 0xc4, 0x19, - 0xd1, 0x61, 0x59, 0x41, 0xa2, 0x45, 0xc8, 0x22, 0x8c, 0x27, 0x34, 0x50, 0x84, 0xd5, 0xc5, 0x6c, - 0xea, 0x29, 0xea, 0x2b, 0x2f, 0xcc, 0x89, 0xb2, 0xe4, 0x79, 0x28, 0xac, 0x68, 0x55, 0x11, 0xda, - 0x93, 0x47, 0x85, 0x8d, 0xc4, 0xfd, 0x61, 0x58, 0xf5, 0x8f, 0xe5, 0x13, 0x6b, 0x13, 0x93, 0x9e, - 0x60, 0x25, 0xf5, 0x20, 0x4a, 0xcf, 0xaf, 0x9f, 0x4b, 0x4f, 0x22, 0x22, 0xd7, 0xa1, 0x7f, 0x89, - 0xcd, 0x0c, 0x0d, 0xbb, 0x29, 0xfa, 0x13, 0x83, 0x34, 0xb5, 0x05, 0x4c, 0x0b, 0xb0, 0xe4, 0xb6, - 0x94, 0x00, 0x56, 0x8a, 0x96, 0xed, 0x27, 0x80, 0x8d, 0x87, 0x8d, 0xc6, 0x54, 0xb0, 0xb7, 0x63, - 0x09, 0xa5, 0x44, 0x99, 0x94, 0x75, 0x31, 0x4c, 0x20, 0x15, 0x58, 0xa5, 0xbd, 0xbb, 0x59, 0xa5, - 0xea, 0xdf, 0xce, 0x25, 0xc7, 0x19, 0xb9, 0x93, 0x0c, 0x5c, 0x8b, 0x8b, 0x50, 0x00, 0x94, 0x6b, - 0x0d, 0x42, 0xd8, 0x46, 0x42, 0xd0, 0xe6, 0x0f, 0x1c, 0x82, 0xb6, 0xb0, 0xcf, 0x10, 0xb4, 0xea, - 0xff, 0x5b, 0xec, 0xea, 0x46, 0x7c, 0x2c, 0xa1, 0xca, 0xde, 0x60, 0x3b, 0x2b, 0x56, 0x7b, 0xd9, - 0x4d, 0xec, 0x0f, 0xb8, 0x97, 0x64, 0x5d, 0xe7, 0x43, 0xcb, 0xd5, 0xa2, 0x94, 0xe4, 0x5d, 0x18, - 0xf2, 0x3f, 0x00, 0x43, 0x1b, 0x4b, 0x21, 0x79, 0x83, 0x55, 0x2d, 0x16, 0x04, 0x38, 0x52, 0x80, - 0xbc, 0x0a, 0x03, 0x68, 0xd3, 0xb4, 0xf5, 0x86, 0x1f, 0xf7, 0x9a, 0x07, 0xca, 0xf6, 0x81, 0x72, - 0x38, 0xae, 0x80, 0x92, 0x7c, 0x05, 0x4a, 0x22, 0xf9, 0x03, 0xcf, 0x8d, 0x7e, 0x6b, 0x0f, 0x7e, - 0xd7, 0x37, 0xe5, 0xc4, 0x0f, 0x7c, 0x97, 0x82, 0x80, 0xc8, 0x2e, 0x85, 0xe7, 0x7c, 0x58, 0x86, - 0x73, 0x4b, 0x0e, 0x35, 0xd0, 0xc3, 0x7f, 0xfa, 0x49, 0xdb, 0x11, 0x69, 0x39, 0xf8, 0x28, 0xc7, - 0x45, 0xaa, 0xed, 0xa3, 0xd9, 0xf2, 0x29, 0xf0, 0x72, 0xf0, 0xdd, 0x94, 0xe2, 0xcc, 0x72, 0xe1, - 0x2d, 0xb9, 0x4f, 0xb7, 0x36, 0x31, 0x53, 0x7f, 0x7f, 0x68, 0xb9, 0x08, 0x41, 0x3f, 0x12, 0x28, - 0xd9, 0x72, 0x89, 0x16, 0xba, 0xfc, 0x06, 0x0c, 0x1e, 0x34, 0x79, 0xc2, 0xaf, 0xe5, 0x33, 0x1e, - 0xe4, 0x9c, 0xde, 0xfc, 0x75, 0x41, 0x52, 0xe5, 0xde, 0x8c, 0xa4, 0xca, 0x7f, 0x98, 0xcf, 0x78, - 0x6d, 0x74, 0xaa, 0x93, 0x9f, 0x06, 0xc2, 0x88, 0x26, 0x3f, 0x0d, 0xf3, 0xce, 0x9a, 0x86, 0x26, - 0x13, 0xc5, 0xd2, 0x24, 0x97, 0x76, 0x4d, 0x93, 0xfc, 0x8b, 0x85, 0x6e, 0xaf, 0xb1, 0xce, 0x64, - 0xbf, 0x1f, 0xd9, 0xdf, 0x86, 0xc1, 0x40, 0xb2, 0xd5, 0x0a, 0x1a, 0x3d, 0xc3, 0x41, 0xaa, 0x16, - 0x0e, 0xc6, 0x32, 0x12, 0x11, 0xb9, 0xc1, 0xdb, 0x5a, 0x33, 0x3f, 0xe4, 0x49, 0x03, 0x86, 0x45, - 0x38, 0x78, 0xdd, 0xd3, 0xeb, 0xae, 0xf9, 0x21, 0xd5, 0x02, 0xb4, 0xfa, 0x5f, 0xe4, 0x53, 0x9f, - 0xb4, 0x9d, 0xf5, 0xd1, 0x3e, 0xfa, 0x28, 0x45, 0x88, 0xfc, 0x31, 0xde, 0x99, 0x10, 0xf7, 0x21, - 0xc4, 0x3f, 0xc8, 0xa7, 0x3e, 0x5d, 0x3c, 0x13, 0xe2, 0x7e, 0x66, 0x8b, 0x17, 0x61, 0x40, 0xb3, - 0x37, 0xdd, 0x29, 0xdc, 0xd8, 0xf0, 0xb9, 0x02, 0x27, 0x6a, 0xc7, 0xde, 0x74, 0xeb, 0xb8, 0x65, - 0xd1, 0x42, 0x02, 0xf5, 0xfb, 0xf9, 0x2e, 0x8f, 0x3b, 0xcf, 0x04, 0xff, 0x51, 0x2e, 0x91, 0xbf, - 0x99, 0x8f, 0x3c, 0x1e, 0x3d, 0xbd, 0xc2, 0xbe, 0x05, 0x50, 0x6b, 0x6c, 0xd0, 0x96, 0x2e, 0x25, - 0x5e, 0xc2, 0x73, 0x07, 0x17, 0xa1, 0x22, 0x61, 0x6f, 0x48, 0xa2, 0xfe, 0x76, 0x3e, 0xf6, 0x7a, - 0xf6, 0x4c, 0x76, 0x7b, 0x96, 0x5d, 0xa0, 0x75, 0xe2, 0x41, 0xf0, 0x99, 0xe4, 0xf6, 0x2a, 0xb9, - 0x1f, 0xcf, 0xc7, 0xde, 0x4e, 0x9f, 0x5a, 0xd9, 0xb1, 0x01, 0x98, 0x7c, 0xd3, 0x7d, 0x6a, 0x35, - 0xe9, 0x45, 0x18, 0x10, 0x72, 0x08, 0x96, 0x0a, 0x3e, 0xef, 0x73, 0x20, 0x9e, 0xb2, 0x06, 0x04, - 0xea, 0x1f, 0xcf, 0x43, 0xf4, 0x4d, 0xfb, 0x29, 0xd5, 0xa1, 0xdf, 0xcc, 0x47, 0x5f, 0xf3, 0x9f, - 0x5e, 0xfd, 0xb9, 0x09, 0x50, 0xeb, 0xac, 0x36, 0x44, 0x30, 0xd8, 0x5e, 0xe9, 0x98, 0x3e, 0x80, - 0x6a, 0x12, 0x85, 0xfa, 0xff, 0xe5, 0x53, 0x43, 0x0c, 0x9c, 0x5e, 0x01, 0xbe, 0x82, 0xa7, 0xe2, - 0x0d, 0x2b, 0x9c, 0xc8, 0xf1, 0x10, 0x92, 0x8d, 0xbf, 0x44, 0xb6, 0x3e, 0x9f, 0x90, 0x7c, 0x3e, - 0xc5, 0x5c, 0xc3, 0x5c, 0x02, 0xa1, 0xb9, 0x26, 0x5f, 0x43, 0x48, 0x86, 0xdb, 0xdf, 0xcb, 0xef, - 0x16, 0x91, 0xe1, 0x34, 0xaf, 0xaa, 0x7d, 0x4b, 0xfa, 0x16, 0x46, 0x0e, 0x64, 0x3d, 0x31, 0xc4, - 0x73, 0xc9, 0xb5, 0x39, 0x48, 0xbe, 0x7b, 0x13, 0x54, 0xea, 0x3f, 0xef, 0x4d, 0x0f, 0x07, 0x70, - 0x7a, 0x45, 0x78, 0x05, 0x8a, 0x4b, 0xba, 0xb7, 0x21, 0x34, 0x19, 0xaf, 0xf4, 0xda, 0xba, 0xb7, - 0xa1, 0x21, 0x94, 0xdc, 0x80, 0x7e, 0x4d, 0xdf, 0xe4, 0x67, 0x9e, 0xa5, 0x30, 0xcf, 0x9f, 0xa3, - 0x6f, 0xd6, 0xf9, 0xb9, 0x67, 0x80, 0x26, 0x6a, 0x90, 0x67, 0x92, 0x9f, 0x7c, 0x63, 0x92, 0x33, - 0x9e, 0x67, 0x32, 0xc8, 0x2e, 0x79, 0x05, 0x8a, 0x93, 0xb6, 0xb1, 0x85, 0xd7, 0x57, 0x43, 0xbc, - 0xb2, 0x55, 0xdb, 0xd8, 0xd2, 0x10, 0x4a, 0x7e, 0x22, 0x07, 0x7d, 0xb3, 0x54, 0x37, 0xd8, 0x08, - 0x19, 0xe8, 0xe6, 0x75, 0xf2, 0xa5, 0xa3, 0xf1, 0x3a, 0x19, 0xdf, 0xe0, 0x95, 0xc9, 0x8a, 0x22, - 0xea, 0x27, 0x77, 0xa1, 0x7f, 0x4a, 0xf7, 0xe8, 0xba, 0xed, 0x6c, 0xa1, 0x1f, 0xcd, 0x48, 0xe8, - 0x52, 0x1e, 0xd1, 0x1f, 0x9f, 0x88, 0xdf, 0x8c, 0x35, 0xc4, 0x2f, 0x2d, 0x28, 0xcc, 0xc4, 0x22, - 0x32, 0xdf, 0x0f, 0x86, 0x62, 0xe1, 0x29, 0xee, 0x83, 0x04, 0xf7, 0xc1, 0xb1, 0xf2, 0x50, 0xfa, - 0xb1, 0x32, 0x5a, 0x8f, 0xe8, 0x6b, 0x87, 0xd9, 0x1d, 0x87, 0x71, 0xd1, 0xe7, 0xd6, 0x23, 0x42, - 0x31, 0xb9, 0xa3, 0x26, 0x91, 0xa8, 0xdf, 0xeb, 0x85, 0xd4, 0xc7, 0xc3, 0x67, 0x4a, 0x7e, 0xa6, - 0xe4, 0xa1, 0x92, 0x57, 0x12, 0x4a, 0x7e, 0x39, 0xf9, 0x1c, 0xfd, 0x63, 0xaa, 0xe1, 0x3f, 0x53, - 0x4c, 0x04, 0xb3, 0x38, 0xdd, 0xbb, 0xcb, 0x50, 0x7a, 0xbd, 0xbb, 0x4a, 0x2f, 0x18, 0x10, 0xa5, - 0x5d, 0x07, 0x44, 0xdf, 0x5e, 0x07, 0x44, 0x7f, 0xe6, 0x80, 0x08, 0x15, 0x64, 0x20, 0x53, 0x41, - 0xaa, 0x62, 0xd0, 0x40, 0xf7, 0x9c, 0x1a, 0x57, 0x76, 0xb6, 0x27, 0x46, 0xd8, 0x68, 0x4a, 0x4d, - 0xa6, 0x81, 0x2c, 0xd4, 0xdf, 0x2d, 0x76, 0x89, 0x40, 0x73, 0x2c, 0x3a, 0xf2, 0x0a, 0x14, 0xca, - 0xed, 0xb6, 0xd0, 0x8f, 0x73, 0x52, 0xf0, 0x9b, 0x8c, 0x52, 0x8c, 0x9a, 0xbc, 0x09, 0x85, 0xf2, - 0xc3, 0x5a, 0x3c, 0x8f, 0x46, 0xf9, 0x61, 0x4d, 0x7c, 0x49, 0x66, 0xd9, 0x87, 0x35, 0xf2, 0x76, - 0x18, 0xd0, 0x72, 0xa3, 0x63, 0x3d, 0x12, 0x1b, 0x45, 0xe1, 0x6e, 0xeb, 0xbb, 0xe3, 0x34, 0x18, - 0x8a, 0x6d, 0x17, 0x63, 0xb4, 0x31, 0x6d, 0x2a, 0xed, 0x5d, 0x9b, 0xfa, 0x76, 0xd5, 0xa6, 0xfe, - 0xbd, 0x6a, 0xd3, 0xc0, 0x1e, 0xb4, 0x09, 0x76, 0xd5, 0xa6, 0xc1, 0xc3, 0x6b, 0x53, 0x1b, 0x2e, - 0x27, 0xa3, 0x86, 0x05, 0x1a, 0xa1, 0x01, 0x49, 0x62, 0x85, 0x63, 0x09, 0x5e, 0xfd, 0x77, 0x38, - 0xb6, 0xbe, 0x89, 0xe8, 0xba, 0xcb, 0xf0, 0xb2, 0x7f, 0x5a, 0xb2, 0xb4, 0xfa, 0x6b, 0xf9, 0xec, - 0x60, 0x67, 0x27, 0x73, 0x8a, 0xfb, 0xa1, 0x54, 0x29, 0x15, 0xa3, 0x8f, 0xcf, 0xb3, 0xa5, 0x1c, - 0x63, 0x9b, 0x26, 0xb3, 0xef, 0xe4, 0xb2, 0x22, 0xb0, 0x1d, 0x4a, 0x62, 0x9f, 0x4e, 0x7a, 0xb4, - 0xa1, 0x9f, 0xbe, 0x1b, 0x75, 0x65, 0x9b, 0x81, 0x21, 0x59, 0x88, 0x42, 0x4a, 0x7b, 0x11, 0x70, - 0xa4, 0x9c, 0xfa, 0xb7, 0x73, 0x70, 0xee, 0x7e, 0x67, 0x95, 0x0a, 0x0f, 0xb6, 0xa0, 0x19, 0x1f, - 0x00, 0x30, 0xb0, 0x70, 0x62, 0xc9, 0xa1, 0x13, 0xcb, 0x67, 0xe5, 0xe8, 0x69, 0xb1, 0x02, 0x37, - 0x43, 0x6a, 0xee, 0xc0, 0xf2, 0x8c, 0xef, 0xcc, 0xf9, 0xa8, 0xb3, 0x4a, 0xeb, 0x09, 0x4f, 0x16, - 0x89, 0xfb, 0xe5, 0x77, 0xb8, 0x9b, 0xfc, 0x41, 0x9d, 0x46, 0x7e, 0x25, 0x9f, 0x19, 0xb0, 0xee, - 0xc4, 0x66, 0x56, 0xfc, 0x81, 0xd4, 0x5e, 0x89, 0x67, 0x58, 0x4c, 0x21, 0x89, 0x71, 0x4c, 0xe3, - 0x92, 0x2e, 0xb0, 0x13, 0x9e, 0xef, 0xf3, 0x23, 0x15, 0xd8, 0x3f, 0xcc, 0x65, 0x06, 0x16, 0x3c, - 0xa9, 0x02, 0x53, 0xff, 0xd7, 0x82, 0x1f, 0xcf, 0xf0, 0x50, 0x9f, 0xf0, 0x22, 0x0c, 0x88, 0x67, - 0xdd, 0x51, 0x07, 0x5c, 0x71, 0x94, 0x87, 0x47, 0xc3, 0x01, 0x01, 0x5b, 0xe6, 0x25, 0xef, 0x60, - 0xc9, 0x01, 0x57, 0xf2, 0x0c, 0xd6, 0x24, 0x12, 0xb6, 0x90, 0x4f, 0x3f, 0x31, 0x3d, 0xb4, 0x0a, - 0x58, 0x5f, 0x16, 0xf8, 0x42, 0x4e, 0x9f, 0x98, 0x1e, 0xb7, 0x09, 0x02, 0x34, 0x5b, 0xa4, 0x6b, - 0x61, 0x36, 0x73, 0xb1, 0x48, 0xbb, 0x22, 0xa9, 0xbb, 0x78, 0x36, 0xf6, 0x22, 0x0c, 0x08, 0xaf, - 0x56, 0xe1, 0x66, 0x22, 0x5a, 0x2b, 0xfc, 0x60, 0xb1, 0xb5, 0x01, 0x01, 0xe3, 0xa8, 0xd1, 0xf5, - 0xd0, 0xb1, 0x0e, 0x39, 0x3a, 0x08, 0xd1, 0x04, 0x86, 0xdc, 0x86, 0x91, 0x9a, 0xa7, 0x5b, 0x86, - 0xee, 0x18, 0x8b, 0x1d, 0xaf, 0xdd, 0xf1, 0x64, 0xa3, 0xd4, 0xf5, 0x0c, 0xbb, 0xe3, 0x69, 0x31, - 0x0a, 0xf2, 0x39, 0x18, 0xf6, 0x21, 0xd3, 0x8e, 0x63, 0x3b, 0xb2, 0xe5, 0xe1, 0x7a, 0x06, 0x75, - 0x1c, 0x2d, 0x4a, 0x40, 0x3e, 0x0f, 0xc3, 0x55, 0xeb, 0xb1, 0xcd, 0xd3, 0xe4, 0xaf, 0x68, 0x73, - 0xc2, 0x0e, 0xc1, 0xa7, 0x58, 0x66, 0x80, 0xa8, 0x77, 0x9c, 0xa6, 0x16, 0x25, 0x54, 0x77, 0xf2, - 0xc9, 0xb0, 0x8f, 0xa7, 0x77, 0xd3, 0x72, 0x23, 0xea, 0x4c, 0x87, 0x1e, 0xa4, 0x68, 0x10, 0xca, - 0xbe, 0xbc, 0xdc, 0x2e, 0xbc, 0x0d, 0xfd, 0xf7, 0xe9, 0x16, 0xf7, 0xfb, 0x2c, 0x85, 0xae, 0xc2, - 0x8f, 0x04, 0x4c, 0x3e, 0x71, 0xf5, 0xe9, 0xd4, 0xdf, 0xc9, 0x27, 0x03, 0x5a, 0x9e, 0x5e, 0x61, - 0x7f, 0x0e, 0xfa, 0x50, 0x94, 0x55, 0xff, 0xc8, 0x1f, 0x05, 0x88, 0xe2, 0x8e, 0x7a, 0x20, 0xfb, - 0x64, 0xea, 0x2f, 0x94, 0xe2, 0x51, 0x4e, 0x4f, 0xaf, 0xf4, 0xde, 0x82, 0xc1, 0x29, 0xdb, 0x72, - 0x4d, 0xd7, 0xa3, 0x56, 0xc3, 0x57, 0xd8, 0xa7, 0x98, 0x41, 0xd5, 0x08, 0xc1, 0xf2, 0x1b, 0x24, - 0x89, 0xfa, 0x20, 0xca, 0x4b, 0x5e, 0x83, 0x01, 0x14, 0x39, 0xfa, 0x49, 0xf3, 0x09, 0x0f, 0x6f, - 0x0b, 0x56, 0x19, 0x30, 0xee, 0x24, 0x1d, 0x92, 0x92, 0x15, 0xe8, 0x9f, 0xda, 0x30, 0x9b, 0x86, - 0x43, 0x2d, 0xf4, 0x17, 0x96, 0x82, 0x49, 0x44, 0xfb, 0xf2, 0x26, 0xfe, 0x8b, 0xb4, 0xbc, 0x39, - 0x0d, 0x51, 0x2c, 0xf2, 0x0a, 0x4b, 0xc0, 0x2e, 0xff, 0x54, 0x1e, 0x20, 0x2c, 0x40, 0x9e, 0x85, - 0x7c, 0x90, 0x28, 0x18, 0xdd, 0x54, 0x22, 0x1a, 0x94, 0xc7, 0xa5, 0x42, 0x8c, 0xed, 0xfc, 0xae, - 0x63, 0x7b, 0x05, 0x4a, 0xfc, 0xc4, 0x0b, 0x3d, 0xc9, 0xa5, 0xc0, 0x8b, 0x99, 0x0d, 0xbe, 0x89, - 0xf4, 0x7c, 0x33, 0x8b, 0x96, 0x67, 0xc4, 0x2b, 0x9b, 0x33, 0xbb, 0xdc, 0x80, 0x5e, 0xfc, 0x8b, - 0x5c, 0x83, 0xe2, 0xb2, 0x9f, 0x64, 0x74, 0x98, 0xcf, 0xd2, 0x31, 0xf9, 0x21, 0x9e, 0x75, 0xd3, - 0x94, 0x6d, 0x79, 0xac, 0x6a, 0x6c, 0xf5, 0x90, 0x90, 0x8b, 0x80, 0x45, 0xe4, 0x22, 0x60, 0xea, - 0x7f, 0x93, 0x4f, 0x89, 0xbf, 0x7b, 0x7a, 0x87, 0xc9, 0x1b, 0x00, 0xf8, 0xa4, 0x9b, 0xc9, 0xd3, - 0x7f, 0xa2, 0x81, 0xa3, 0x04, 0x19, 0xa1, 0xda, 0x46, 0xb6, 0x1d, 0x21, 0xb1, 0xfa, 0x77, 0x73, - 0x89, 0xa0, 0xad, 0x87, 0x92, 0xa3, 0x6c, 0x95, 0xe5, 0x0f, 0x68, 0xc6, 0xfa, 0x7d, 0x51, 0xd8, - 0x5f, 0x5f, 0x44, 0xbf, 0xe5, 0x08, 0x2c, 0xd3, 0xe3, 0xfc, 0x96, 0xef, 0xe5, 0xd3, 0x42, 0xd8, - 0x9e, 0x4c, 0x15, 0xbf, 0x13, 0x18, 0xa5, 0xc5, 0x58, 0xd0, 0x70, 0x84, 0xc6, 0x13, 0x21, 0x0b, - 0x33, 0xf5, 0xab, 0x30, 0x1a, 0x0b, 0xec, 0x2a, 0x72, 0xd2, 0x5e, 0xeb, 0x1e, 0x21, 0x36, 0x3b, - 0x18, 0x40, 0x84, 0x4c, 0xfd, 0xff, 0x73, 0xdd, 0xc3, 0xfa, 0x1e, 0xbb, 0xea, 0xa4, 0x08, 0xa0, - 0xf0, 0x47, 0x23, 0x80, 0x23, 0xd8, 0x06, 0x9f, 0x6c, 0x01, 0x7c, 0x4c, 0x26, 0x8f, 0x8f, 0x5a, - 0x00, 0xbf, 0x90, 0xdb, 0x35, 0x2a, 0xf3, 0x71, 0xcb, 0x40, 0xfd, 0x9f, 0x72, 0xa9, 0xd1, 0x93, - 0x0f, 0xd5, 0xae, 0xb7, 0xa1, 0xc4, 0xdd, 0x6a, 0x44, 0xab, 0xa4, 0x7c, 0x53, 0x0c, 0x9a, 0x95, - 0xa1, 0x9d, 0x63, 0xc9, 0x1c, 0xf4, 0xf1, 0x36, 0x18, 0xa2, 0x37, 0x3e, 0xd5, 0x25, 0x84, 0xb3, - 0x91, 0x35, 0x39, 0x0a, 0xb4, 0xfa, 0x77, 0x72, 0x89, 0x60, 0xce, 0xc7, 0xf8, 0x6d, 0xe1, 0x54, - 0x5d, 0xd8, 0xfb, 0x54, 0xad, 0xfe, 0xb3, 0x7c, 0x7a, 0x2c, 0xe9, 0x63, 0xfc, 0x90, 0xa3, 0x38, - 0x4e, 0x3b, 0xd8, 0xba, 0xb5, 0x0c, 0x23, 0x51, 0x59, 0x88, 0x65, 0xeb, 0x6a, 0x7a, 0x44, 0xed, - 0x8c, 0x56, 0xc4, 0x78, 0xa8, 0xdf, 0xcd, 0x25, 0xc3, 0x60, 0x1f, 0xfb, 0xfc, 0x74, 0x30, 0x6d, - 0x89, 0x7e, 0xca, 0xc7, 0x64, 0xad, 0x39, 0x8a, 0x4f, 0xf9, 0x98, 0xac, 0x1a, 0x07, 0xfb, 0x94, - 0x5f, 0xca, 0x67, 0x45, 0x11, 0x3f, 0xf6, 0x0f, 0xfa, 0xb2, 0x2c, 0x64, 0xde, 0x32, 0xf1, 0x69, - 0xcf, 0x66, 0x85, 0xed, 0xce, 0xe0, 0x99, 0xe0, 0x73, 0xb0, 0x31, 0x9e, 0x2a, 0xac, 0x8f, 0x89, - 0x22, 0x9f, 0x0c, 0x61, 0x7d, 0x4c, 0x86, 0xca, 0xc7, 0x4f, 0x58, 0x7f, 0x33, 0xbf, 0xd7, 0xd0, - 0xf5, 0x67, 0xc2, 0x4b, 0x08, 0xef, 0x5b, 0xf9, 0x64, 0x4a, 0x85, 0x63, 0x17, 0xd3, 0x0c, 0x94, - 0x44, 0x72, 0x87, 0x4c, 0xe1, 0x70, 0x7c, 0x96, 0x45, 0x23, 0xbe, 0xe3, 0x0e, 0x88, 0x8b, 0x9c, - 0xbd, 0x89, 0x84, 0xd3, 0xaa, 0xdf, 0xcf, 0xc5, 0xf2, 0x0f, 0x1c, 0xcb, 0x11, 0xc2, 0x81, 0x96, - 0x24, 0xf2, 0x8e, 0x7f, 0x98, 0x59, 0x8c, 0xc5, 0x7f, 0x0e, 0xbe, 0xa7, 0x42, 0x3d, 0xdd, 0x6c, - 0xc6, 0xcb, 0x8b, 0x98, 0x00, 0xbf, 0x93, 0x87, 0xf1, 0x04, 0x29, 0xb9, 0x16, 0x09, 0xa5, 0x83, - 0xc7, 0x92, 0x31, 0xe7, 0x71, 0x1e, 0x54, 0x67, 0x1f, 0x27, 0xa9, 0xd7, 0xa0, 0x58, 0xd1, 0xb7, - 0xf8, 0xb7, 0xf5, 0x72, 0x96, 0x86, 0xbe, 0x25, 0x9f, 0xb8, 0x21, 0x9e, 0xac, 0xc2, 0x05, 0x7e, - 0x1f, 0x62, 0xda, 0xd6, 0xb2, 0xd9, 0xa2, 0x55, 0x6b, 0xde, 0x6c, 0x36, 0x4d, 0x57, 0x5c, 0xea, - 0xbd, 0xb8, 0xb3, 0x3d, 0x71, 0xdd, 0xb3, 0x3d, 0xbd, 0x59, 0xa7, 0x3e, 0x59, 0xdd, 0x33, 0x5b, - 0xb4, 0x6e, 0x5a, 0xf5, 0x16, 0x52, 0x4a, 0x2c, 0xd3, 0x59, 0x91, 0x2a, 0x0f, 0xf5, 0x5d, 0x6b, - 0xe8, 0x96, 0x45, 0x8d, 0xaa, 0x35, 0xb9, 0xe5, 0x51, 0x7e, 0x19, 0x58, 0xe0, 0x47, 0x82, 0xfc, - 0x6d, 0x38, 0x47, 0x33, 0xc6, 0xab, 0x8c, 0x40, 0x4b, 0x29, 0xa4, 0xfe, 0xad, 0x62, 0x4a, 0xea, - 0x89, 0x13, 0xa4, 0x3e, 0x7e, 0x4f, 0x17, 0x77, 0xe9, 0xe9, 0x5b, 0xd0, 0x27, 0x62, 0xa9, 0x8a, - 0x0b, 0x06, 0x74, 0x66, 0x7f, 0xcc, 0x41, 0xf2, 0x0d, 0x8d, 0xa0, 0x22, 0x4d, 0xb8, 0xbc, 0xcc, - 0xba, 0x29, 0xbd, 0x33, 0x4b, 0x07, 0xe8, 0xcc, 0x2e, 0xfc, 0xc8, 0xfb, 0x70, 0x09, 0xb1, 0x29, - 0xdd, 0xda, 0x87, 0x55, 0x61, 0x8c, 0x2a, 0x5e, 0x55, 0x7a, 0xe7, 0x66, 0x95, 0x27, 0x5f, 0x86, - 0xa1, 0x60, 0x80, 0x98, 0xd4, 0x15, 0x37, 0x17, 0x5d, 0xc6, 0x19, 0x0f, 0x00, 0xc7, 0xc0, 0xe8, - 0x42, 0x16, 0x0d, 0x22, 0x16, 0xe1, 0xa5, 0xfe, 0x8f, 0xb9, 0x6e, 0x29, 0x30, 0x8e, 0x7d, 0x56, - 0x7e, 0x07, 0xfa, 0x0c, 0xfe, 0x51, 0x42, 0xa7, 0xba, 0x27, 0xc9, 0xe0, 0xa4, 0x9a, 0x5f, 0x46, - 0xfd, 0xa7, 0xb9, 0xae, 0x99, 0x37, 0x4e, 0xfa, 0xe7, 0x7d, 0xab, 0x90, 0xf1, 0x79, 0x62, 0x12, - 0xbd, 0x01, 0x63, 0x66, 0x18, 0x1a, 0xbc, 0x1e, 0x86, 0x9f, 0xd2, 0x46, 0x25, 0x38, 0x8e, 0xae, - 0x3b, 0x70, 0xd1, 0x77, 0x7c, 0x74, 0x7c, 0x0f, 0x31, 0xb7, 0xde, 0x71, 0x4c, 0x3e, 0x2e, 0xb5, - 0xf3, 0x6e, 0xcc, 0x7d, 0xcc, 0x5d, 0x71, 0x4c, 0x56, 0x81, 0xee, 0x6d, 0x50, 0x4b, 0xaf, 0x6f, - 0xda, 0xce, 0x23, 0x8c, 0x32, 0xca, 0x07, 0xa7, 0x36, 0xca, 0xe1, 0x0f, 0x7d, 0x30, 0x79, 0x1e, - 0x86, 0xd7, 0x9b, 0x1d, 0x1a, 0xc4, 0x75, 0xe4, 0x77, 0x7d, 0xda, 0x10, 0x03, 0x06, 0x37, 0x24, - 0xcf, 0x00, 0x20, 0x91, 0x87, 0x79, 0x51, 0xf0, 0x62, 0x4f, 0x1b, 0x60, 0x90, 0x65, 0xd1, 0x5d, - 0x97, 0xb9, 0x56, 0x73, 0x21, 0xd5, 0x9b, 0xb6, 0xb5, 0x5e, 0xf7, 0xa8, 0xd3, 0xc2, 0x86, 0xa2, - 0x33, 0x83, 0x76, 0x11, 0x29, 0xf0, 0xea, 0xc4, 0x9d, 0xb3, 0xad, 0xf5, 0x65, 0xea, 0xb4, 0x58, - 0x53, 0x5f, 0x04, 0x22, 0x9a, 0xea, 0xe0, 0xa1, 0x07, 0xff, 0x38, 0xf4, 0x66, 0xd0, 0xc4, 0x47, - 0xf0, 0xd3, 0x10, 0xfc, 0xb0, 0x09, 0x18, 0xe4, 0xc1, 0xed, 0xb8, 0xd0, 0xd0, 0x85, 0x41, 0x03, - 0x0e, 0x42, 0x79, 0x5d, 0x04, 0xe1, 0x5d, 0xc1, 0xbd, 0xba, 0x35, 0xf1, 0x4b, 0xfd, 0x7a, 0x21, - 0x2d, 0x59, 0xc8, 0xa1, 0x14, 0x2d, 0x9c, 0x56, 0xf3, 0xfb, 0x9a, 0x56, 0x47, 0xad, 0x4e, 0xab, - 0xae, 0xb7, 0xdb, 0xf5, 0x35, 0xb3, 0x89, 0xcf, 0xaa, 0x70, 0xe1, 0xd3, 0x86, 0xad, 0x4e, 0xab, - 0xdc, 0x6e, 0xcf, 0x70, 0x20, 0x79, 0x01, 0xc6, 0x19, 0x1d, 0x76, 0x52, 0x40, 0x59, 0x44, 0x4a, - 0xc6, 0x00, 0xa3, 0xc3, 0xfa, 0xb4, 0x4f, 0x41, 0xbf, 0xe0, 0xc9, 0xd7, 0xaa, 0x5e, 0xad, 0x8f, - 0x33, 0x73, 0x59, 0xcf, 0x05, 0x6c, 0xf8, 0xe4, 0xda, 0xab, 0x0d, 0xf8, 0xe5, 0x31, 0x06, 0xb2, - 0xd5, 0x69, 0xf1, 0x88, 0x58, 0x7d, 0x88, 0x0c, 0x7e, 0x93, 0x6b, 0x30, 0xc2, 0xb8, 0x04, 0x02, - 0xe3, 0x61, 0x63, 0x7b, 0xb5, 0x18, 0x94, 0xdc, 0x86, 0xf3, 0x11, 0x08, 0xb7, 0x41, 0xf9, 0x33, - 0x81, 0x5e, 0x2d, 0x15, 0xa7, 0xfe, 0x76, 0x21, 0x9a, 0xc2, 0xe4, 0x18, 0x3a, 0xe2, 0x12, 0xf4, - 0xd9, 0xce, 0x7a, 0xbd, 0xe3, 0x34, 0xc5, 0xd8, 0x2b, 0xd9, 0xce, 0xfa, 0x8a, 0xd3, 0x24, 0x17, - 0xa0, 0xc4, 0x7a, 0xc7, 0x34, 0xc4, 0x10, 0xeb, 0xd5, 0xdb, 0xed, 0xaa, 0x41, 0xca, 0xbc, 0x43, - 0x30, 0xe4, 0x68, 0xbd, 0x81, 0x5b, 0x7b, 0xee, 0x94, 0xd0, 0xcb, 0x57, 0xbc, 0x04, 0x12, 0xfb, - 0x09, 0x03, 0x91, 0xf2, 0x83, 0x80, 0x18, 0x0b, 0x03, 0xb7, 0x25, 0x06, 0xef, 0x93, 0x38, 0x0b, - 0x81, 0x0c, 0x59, 0xf0, 0x4d, 0x8c, 0x41, 0x2a, 0x40, 0x42, 0xaa, 0x96, 0x6d, 0x98, 0x6b, 0x26, - 0xe5, 0xaf, 0x3a, 0x7a, 0xf9, 0xc5, 0x6f, 0x12, 0xab, 0x8d, 0xf9, 0x4c, 0xe6, 0x05, 0x84, 0xbc, - 0xc5, 0x95, 0x90, 0xd3, 0xe1, 0xda, 0xc7, 0xfb, 0x96, 0xdb, 0x69, 0x31, 0x14, 0x6a, 0x26, 0x96, - 0xc7, 0x85, 0x50, 0xfd, 0x4b, 0xc5, 0x64, 0x1e, 0x9b, 0x63, 0xb1, 0x6b, 0x66, 0x01, 0x44, 0x9a, - 0xaa, 0xf0, 0x72, 0x2d, 0xf0, 0x38, 0x0f, 0x31, 0x19, 0x3c, 0xa4, 0xb2, 0xe4, 0x06, 0xf4, 0xf3, - 0x2f, 0xaa, 0x56, 0x84, 0xbd, 0x83, 0x2e, 0x62, 0x6e, 0xdb, 0x5c, 0x5b, 0x43, 0x7f, 0xb2, 0x00, - 0x4d, 0xae, 0x41, 0x5f, 0x65, 0xa1, 0x56, 0x2b, 0x2f, 0xf8, 0x37, 0xc5, 0xf8, 0xbe, 0xc4, 0xb0, - 0xdc, 0xba, 0xab, 0x5b, 0xae, 0xe6, 0x23, 0xc9, 0xf3, 0x50, 0xaa, 0x2e, 0x21, 0x19, 0x7f, 0x35, - 0x39, 0xb8, 0xb3, 0x3d, 0xd1, 0x67, 0xb6, 0x39, 0x95, 0x40, 0x61, 0xbd, 0x0f, 0xaa, 0x15, 0xc9, - 0x5d, 0x82, 0xd7, 0xfb, 0xd8, 0x34, 0xf0, 0xda, 0x59, 0x0b, 0xd0, 0xe4, 0x55, 0x18, 0xaa, 0x51, - 0xc7, 0xd4, 0x9b, 0x0b, 0x1d, 0xdc, 0x2a, 0x4a, 0xa1, 0x14, 0x5d, 0x84, 0xd7, 0x2d, 0x44, 0x68, - 0x11, 0x32, 0x72, 0x05, 0x8a, 0xb3, 0xa6, 0xe5, 0x3f, 0x61, 0x40, 0x1f, 0xf7, 0x0d, 0xd3, 0xf2, - 0x34, 0x84, 0x92, 0xe7, 0xa1, 0x70, 0x6f, 0xb9, 0x2a, 0x3c, 0xc1, 0x90, 0xd7, 0x07, 0x5e, 0x24, - 0x2c, 0xe3, 0xbd, 0xe5, 0x2a, 0x79, 0x15, 0x06, 0xd8, 0x22, 0x46, 0xad, 0x06, 0x75, 0x95, 0x41, - 0xfc, 0x18, 0x1e, 0x46, 0xd0, 0x07, 0xca, 0x3e, 0x1d, 0x01, 0xa5, 0xfa, 0x7f, 0xe6, 0xd3, 0x13, - 0x0d, 0x1d, 0xc3, 0x50, 0x3f, 0xe0, 0x2d, 0x72, 0x4c, 0xc1, 0x8a, 0x87, 0x50, 0xb0, 0x35, 0x18, - 0x2d, 0x1b, 0x2d, 0xd3, 0x2a, 0xe3, 0x4f, 0x77, 0x7e, 0xa6, 0x8c, 0x53, 0x87, 0xf4, 0x3c, 0x2f, - 0x86, 0x16, 0xdf, 0xc3, 0x03, 0xfe, 0x32, 0x54, 0x5d, 0xe7, 0xb8, 0x7a, 0x6b, 0x4d, 0xaf, 0x37, - 0x78, 0x8e, 0x1e, 0x2d, 0xce, 0x54, 0xfd, 0xc9, 0xfc, 0x2e, 0xb9, 0x91, 0x4e, 0xa3, 0xf4, 0xd5, - 0x6f, 0xe7, 0xbb, 0xa7, 0xa7, 0x3a, 0x95, 0x42, 0xf9, 0x83, 0x7c, 0x4a, 0xb2, 0xa8, 0x43, 0x49, - 0xe2, 0x06, 0xf4, 0x73, 0x36, 0x81, 0x1b, 0x2f, 0xce, 0x66, 0x5c, 0x59, 0x71, 0x16, 0xf5, 0xd1, - 0x64, 0x01, 0xce, 0x97, 0xd7, 0xd6, 0x68, 0xc3, 0x0b, 0x43, 0x3f, 0x2f, 0x84, 0x41, 0x58, 0x79, - 0xa8, 0x5b, 0x81, 0x0f, 0x43, 0x47, 0x63, 0xb0, 0x91, 0xd4, 0x72, 0x64, 0x19, 0x2e, 0xc6, 0xe1, - 0x35, 0xbe, 0x05, 0x28, 0x4a, 0xd1, 0x6f, 0x13, 0x1c, 0xf9, 0x7f, 0x5a, 0x46, 0xd9, 0xb4, 0x56, - 0xe2, 0x54, 0xdd, 0xdb, 0xad, 0x95, 0x38, 0x6f, 0xa7, 0x96, 0x53, 0x7f, 0xa7, 0x20, 0xe7, 0xd4, - 0x3a, 0xbd, 0x0e, 0x57, 0x77, 0x22, 0x6e, 0xd6, 0x7b, 0x1d, 0x32, 0xaf, 0x8a, 0x08, 0x22, 0x46, - 0xc7, 0xf1, 0x3d, 0x12, 0x83, 0x08, 0x06, 0x08, 0x94, 0xd7, 0xa1, 0x80, 0x92, 0x54, 0xa1, 0x58, - 0x76, 0xd6, 0xb9, 0x79, 0xbb, 0xdb, 0xa3, 0x2a, 0xdd, 0x59, 0x77, 0xd3, 0x1f, 0x55, 0x31, 0x16, - 0xea, 0x9f, 0xce, 0x77, 0x49, 0x83, 0x75, 0x2a, 0x27, 0x91, 0x3f, 0x9b, 0xcf, 0x4a, 0x68, 0x75, - 0x52, 0x5d, 0xc7, 0x3e, 0x62, 0xe1, 0x9c, 0x6c, 0xbf, 0xba, 0x23, 0x16, 0x4e, 0x46, 0x72, 0xad, - 0x33, 0xe1, 0x7c, 0x3d, 0x9f, 0x95, 0x5f, 0xec, 0xd4, 0xce, 0x32, 0x19, 0x29, 0xcd, 0xce, 0x74, - 0xe5, 0xe7, 0xf2, 0x99, 0x59, 0xdd, 0xce, 0xa4, 0xa3, 0x7e, 0x23, 0x9f, 0x99, 0x95, 0xee, 0x54, - 0x0e, 0xa5, 0x54, 0x6d, 0x39, 0x1b, 0x4b, 0x42, 0x3a, 0xbf, 0x97, 0x4f, 0xcf, 0x03, 0x78, 0x0c, - 0xaa, 0x72, 0x14, 0x1e, 0x78, 0xbe, 0x40, 0x8b, 0x87, 0x12, 0x68, 0xef, 0x91, 0x0a, 0xf4, 0xd8, - 0xc6, 0xde, 0x27, 0x55, 0xa0, 0x47, 0x30, 0x78, 0x4f, 0xb3, 0x40, 0xff, 0x54, 0x21, 0x99, 0xfb, - 0xf2, 0x54, 0x1e, 0x51, 0x4e, 0x42, 0xbf, 0x7f, 0x86, 0x21, 0x04, 0xba, 0xe7, 0xee, 0xf4, 0xcb, - 0x91, 0x77, 0x61, 0x34, 0x94, 0xa5, 0x1c, 0x99, 0x0a, 0xaf, 0x37, 0x1a, 0x0c, 0x55, 0xff, 0x80, - 0xe1, 0x44, 0x08, 0x95, 0x38, 0xb5, 0xfa, 0xfd, 0x42, 0x32, 0x81, 0xe8, 0x59, 0x6f, 0x1c, 0xb0, - 0x37, 0x56, 0xe0, 0xe2, 0x54, 0xc7, 0x71, 0xa8, 0xe5, 0xa5, 0x77, 0x0a, 0x1e, 0x2e, 0x37, 0x38, - 0x45, 0x3d, 0xd9, 0x39, 0x19, 0x85, 0x19, 0x5b, 0xe1, 0x7d, 0x1f, 0x67, 0xdb, 0x17, 0xb2, 0xed, - 0x70, 0x8a, 0x34, 0xb6, 0xe9, 0x85, 0xd5, 0xbf, 0x97, 0x4f, 0xa6, 0x7c, 0x3d, 0xeb, 0xfa, 0x83, - 0x75, 0xfd, 0x0b, 0xf3, 0x3c, 0xb1, 0xd5, 0x7d, 0xd3, 0x32, 0xc8, 0x53, 0x70, 0x61, 0xa5, 0x36, - 0xad, 0xd5, 0xef, 0x57, 0x17, 0x2a, 0xf5, 0x95, 0x85, 0xda, 0xd2, 0xf4, 0x54, 0x75, 0xa6, 0x3a, - 0x5d, 0x19, 0xeb, 0x21, 0xe7, 0x60, 0x34, 0x44, 0xcd, 0xae, 0xcc, 0x97, 0x17, 0xc6, 0x72, 0x64, - 0x1c, 0x86, 0x43, 0xe0, 0xe4, 0xe2, 0xf2, 0x58, 0xfe, 0x85, 0xcf, 0xc0, 0x20, 0xde, 0xdc, 0xf3, - 0x9b, 0x06, 0x32, 0x04, 0xfd, 0x8b, 0x93, 0xb5, 0x69, 0xed, 0x01, 0x32, 0x01, 0x28, 0x55, 0xa6, - 0x17, 0x18, 0xc3, 0xdc, 0x0b, 0xff, 0x4f, 0x0e, 0xa0, 0x36, 0xb3, 0xbc, 0x24, 0x08, 0x07, 0xa1, - 0xaf, 0xba, 0xf0, 0xa0, 0x3c, 0x57, 0x65, 0x74, 0xfd, 0x50, 0x5c, 0x5c, 0x9a, 0x66, 0x35, 0x0c, - 0x40, 0xef, 0xd4, 0xdc, 0x62, 0x6d, 0x7a, 0x2c, 0xcf, 0x80, 0xda, 0x74, 0xb9, 0x32, 0x56, 0x60, - 0xc0, 0x87, 0x5a, 0x75, 0x79, 0x7a, 0xac, 0xc8, 0xfe, 0x9c, 0xab, 0x2d, 0x97, 0x97, 0xc7, 0x7a, - 0xd9, 0x9f, 0x33, 0xf8, 0x67, 0x89, 0x31, 0xab, 0x4d, 0x2f, 0xe3, 0x8f, 0x3e, 0xd6, 0x84, 0x19, - 0xff, 0x57, 0x3f, 0x43, 0x31, 0xd6, 0x95, 0xaa, 0x36, 0x36, 0xc0, 0x7e, 0x30, 0x96, 0xec, 0x07, - 0xb0, 0xc6, 0x69, 0xd3, 0xf3, 0x8b, 0x0f, 0xa6, 0xc7, 0x06, 0x19, 0xaf, 0xf9, 0xfb, 0x0c, 0x3c, - 0xc4, 0xfe, 0xd4, 0xe6, 0xd9, 0x9f, 0xc3, 0x8c, 0x93, 0x36, 0x5d, 0x9e, 0x5b, 0x2a, 0x2f, 0xcf, - 0x8e, 0x8d, 0xb0, 0xf6, 0x20, 0xcf, 0x51, 0x5e, 0x72, 0xa1, 0x3c, 0x3f, 0x3d, 0x36, 0x26, 0x68, - 0x2a, 0x73, 0xd5, 0x85, 0xfb, 0x63, 0xe3, 0xd8, 0x90, 0xf7, 0xe7, 0xf1, 0x07, 0x61, 0x05, 0xf0, - 0xaf, 0x73, 0x2f, 0xfc, 0x20, 0x94, 0x16, 0x6b, 0x78, 0x57, 0x77, 0x09, 0xce, 0x2d, 0xd6, 0xea, - 0xcb, 0xef, 0x2f, 0x4d, 0xc7, 0xe4, 0x3d, 0x0e, 0xc3, 0x3e, 0x62, 0xae, 0xba, 0xb0, 0xf2, 0x25, - 0x2e, 0x6d, 0x1f, 0x34, 0x5f, 0x9e, 0x5a, 0xac, 0x8d, 0xe5, 0x59, 0xaf, 0xf8, 0xa0, 0x87, 0xd5, - 0x85, 0xca, 0xe2, 0xc3, 0xda, 0x58, 0xe1, 0x85, 0xc7, 0x30, 0xc4, 0xd3, 0x82, 0x2d, 0x3a, 0xe6, - 0xba, 0x69, 0x91, 0x67, 0xe0, 0xa9, 0xca, 0xf4, 0x83, 0xea, 0xd4, 0x74, 0x7d, 0x51, 0xab, 0xde, - 0xad, 0x2e, 0xc4, 0x6a, 0xba, 0x00, 0xe3, 0x51, 0x74, 0x79, 0xa9, 0x3a, 0x96, 0x23, 0x17, 0x81, - 0x44, 0xc1, 0xf7, 0xca, 0xf3, 0x33, 0x63, 0x79, 0xa2, 0xc0, 0xf9, 0x28, 0xbc, 0xba, 0xb0, 0xbc, - 0xb2, 0x30, 0x3d, 0x56, 0x78, 0xe1, 0x2f, 0xe6, 0xe0, 0x42, 0x6a, 0xe8, 0x48, 0xa2, 0xc2, 0xd5, - 0xe9, 0xb9, 0x72, 0x6d, 0xb9, 0x3a, 0x55, 0x9b, 0x2e, 0x6b, 0x53, 0xb3, 0xf5, 0xa9, 0xf2, 0xf2, - 0xf4, 0xdd, 0x45, 0xed, 0xfd, 0xfa, 0xdd, 0xe9, 0x85, 0x69, 0xad, 0x3c, 0x37, 0xd6, 0x43, 0x9e, - 0x87, 0x89, 0x0c, 0x9a, 0xda, 0xf4, 0xd4, 0x8a, 0x56, 0x5d, 0x7e, 0x7f, 0x2c, 0x47, 0x9e, 0x83, - 0x67, 0x32, 0x89, 0xd8, 0xef, 0xb1, 0x3c, 0xb9, 0x0a, 0x97, 0xb3, 0x48, 0xde, 0x9b, 0x1b, 0x2b, - 0xbc, 0xf0, 0xb3, 0x39, 0x20, 0xc9, 0xd8, 0x7f, 0xe4, 0x59, 0xb8, 0xc2, 0xf4, 0xa2, 0x9e, 0xdd, - 0xc0, 0xe7, 0xe0, 0x99, 0x54, 0x0a, 0xa9, 0x79, 0x13, 0xf0, 0x74, 0x06, 0x89, 0x68, 0xdc, 0x15, - 0x50, 0xd2, 0x09, 0xb0, 0x69, 0xbf, 0x91, 0x83, 0x0b, 0xa9, 0x97, 0x7b, 0xe4, 0x3a, 0x7c, 0xaa, - 0x5c, 0x99, 0x67, 0x7d, 0x33, 0xb5, 0x5c, 0x5d, 0x5c, 0xa8, 0xd5, 0xe7, 0x67, 0xca, 0x75, 0xa6, - 0x7d, 0x2b, 0xb5, 0x58, 0x6f, 0x5e, 0x03, 0xb5, 0x0b, 0xe5, 0xd4, 0x6c, 0x79, 0xe1, 0x2e, 0x1b, - 0x7e, 0xe4, 0x53, 0xf0, 0x6c, 0x26, 0xdd, 0xf4, 0x42, 0x79, 0x72, 0x6e, 0xba, 0x32, 0x96, 0x27, - 0x9f, 0x86, 0xe7, 0x32, 0xa9, 0x2a, 0xd5, 0x1a, 0x27, 0x2b, 0x4c, 0x56, 0xbe, 0xfb, 0x3f, 0x5f, - 0xed, 0xf9, 0xee, 0xef, 0x5f, 0xcd, 0xfd, 0x83, 0xdf, 0xbf, 0x9a, 0xfb, 0x67, 0xbf, 0x7f, 0x35, - 0xf7, 0xe5, 0xdb, 0xfb, 0x89, 0xe9, 0xc8, 0xa7, 0xac, 0xd5, 0x12, 0x1e, 0xb4, 0xbf, 0xf2, 0xaf, - 0x03, 0x00, 0x00, 0xff, 0xff, 0xd8, 0xa8, 0xff, 0x0f, 0xd4, 0x74, 0x01, 0x00, + // 16459 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xec, 0xbd, 0x6d, 0x74, 0x24, 0x49, + 0x72, 0x18, 0x86, 0xfe, 0x40, 0x03, 0x08, 0x7c, 0x0c, 0x90, 0xf3, 0x55, 0x3b, 0x3b, 0x3b, 0xd8, + 0xad, 0xbd, 0x9b, 0x9b, 0xd9, 0xdb, 0x9d, 0xb9, 0x9d, 0x9d, 0xdd, 0xbd, 0xfd, 0xba, 0xbd, 0x06, + 0x1a, 0x18, 0xf4, 0x0c, 0xbe, 0xb6, 0x1a, 0x33, 0x73, 0x7b, 0xe4, 0x5d, 0xb3, 0xd0, 0x95, 0x68, + 0xd4, 0x4e, 0x77, 0x55, 0xb3, 0xaa, 0x7a, 0x30, 0x58, 0x7f, 0xf1, 0x64, 0x8a, 0x22, 0xa5, 0xbb, + 0xd3, 0xf9, 0x68, 0x8a, 0x94, 0x28, 0x59, 0xa4, 0x3e, 0x6c, 0x8a, 0xa6, 0x48, 0x51, 0xa2, 0x49, + 0x1e, 0x69, 0x3e, 0x4b, 0x3a, 0x7f, 0x9c, 0xc4, 0x27, 0x3e, 0x49, 0xb6, 0xf5, 0xf4, 0x6c, 0x19, + 0x27, 0xd3, 0xd6, 0x1f, 0x3c, 0xfb, 0x3d, 0xda, 0xe6, 0xb3, 0xce, 0xb2, 0xec, 0xa7, 0x97, 0x91, + 0x59, 0x55, 0x59, 0x5f, 0x8d, 0xcf, 0x25, 0x16, 0x07, 0xfc, 0x99, 0x41, 0x47, 0x44, 0x46, 0x66, + 0x45, 0x46, 0x66, 0x46, 0x66, 0x46, 0x46, 0xc0, 0x75, 0x8f, 0xb6, 0x68, 0xc7, 0x76, 0xbc, 0x9b, + 0x2d, 0xda, 0xd4, 0x1b, 0x9b, 0x37, 0xbd, 0xcd, 0x0e, 0x75, 0x6f, 0xd2, 0xc7, 0xd4, 0xf2, 0xfc, + 0xff, 0x6e, 0x74, 0x1c, 0xdb, 0xb3, 0x49, 0x89, 0xff, 0xba, 0x74, 0xae, 0x69, 0x37, 0x6d, 0x04, + 0xdd, 0x64, 0x7f, 0x71, 0xec, 0xa5, 0xcb, 0x4d, 0xdb, 0x6e, 0xb6, 0xe8, 0x4d, 0xfc, 0xb5, 0xda, + 0x5d, 0xbb, 0xe9, 0x7a, 0x4e, 0xb7, 0xe1, 0x09, 0xec, 0x64, 0x1c, 0xeb, 0x99, 0x6d, 0xea, 0x7a, + 0x7a, 0xbb, 0x23, 0x08, 0xae, 0xc4, 0x09, 0x36, 0x1c, 0xbd, 0xd3, 0xa1, 0x8e, 0xa8, 0xfc, 0xd2, + 0x73, 0xe9, 0xed, 0xc4, 0x7f, 0x05, 0xc9, 0x4b, 0xe9, 0x24, 0x3e, 0xa3, 0x18, 0x47, 0xf5, 0x9b, + 0x79, 0x18, 0x5c, 0xa0, 0x9e, 0x6e, 0xe8, 0x9e, 0x4e, 0x2e, 0x43, 0x7f, 0xd5, 0x32, 0xe8, 0x13, + 0x25, 0xf7, 0x6c, 0xee, 0x5a, 0x61, 0xaa, 0xb4, 0xbd, 0x35, 0x99, 0xa7, 0xa6, 0xc6, 0x81, 0xe4, + 0x19, 0x28, 0xae, 0x6c, 0x76, 0xa8, 0x92, 0x7f, 0x36, 0x77, 0x6d, 0x68, 0x6a, 0x68, 0x7b, 0x6b, + 0xb2, 0x1f, 0x65, 0xa1, 0x21, 0x98, 0x3c, 0x07, 0xf9, 0x6a, 0x45, 0x29, 0x20, 0x72, 0x62, 0x7b, + 0x6b, 0x72, 0xb4, 0x6b, 0x1a, 0x2f, 0xda, 0x6d, 0xd3, 0xa3, 0xed, 0x8e, 0xb7, 0xa9, 0xe5, 0xab, + 0x15, 0x72, 0x15, 0x8a, 0xd3, 0xb6, 0x41, 0x95, 0x22, 0x12, 0x91, 0xed, 0xad, 0xc9, 0xb1, 0x86, + 0x6d, 0x50, 0x89, 0x0a, 0xf1, 0xe4, 0xf3, 0x50, 0x5c, 0x31, 0xdb, 0x54, 0xe9, 0x7f, 0x36, 0x77, + 0x6d, 0xf8, 0xd6, 0xa5, 0x1b, 0x5c, 0x2a, 0x37, 0x7c, 0xa9, 0xdc, 0x58, 0xf1, 0xc5, 0x36, 0x35, + 0xfe, 0x9d, 0xad, 0xc9, 0xbe, 0xed, 0xad, 0xc9, 0x22, 0x93, 0xe4, 0x37, 0xbe, 0x3b, 0x99, 0xd3, + 0xb0, 0x24, 0x79, 0x1b, 0x86, 0xa7, 0x5b, 0x5d, 0xd7, 0xa3, 0xce, 0xa2, 0xde, 0xa6, 0x4a, 0x09, + 0x2b, 0xbc, 0xb4, 0xbd, 0x35, 0x79, 0xa1, 0xc1, 0xc1, 0x75, 0x4b, 0x6f, 0xcb, 0x15, 0xcb, 0xe4, + 0xea, 0x6f, 0xe6, 0xe0, 0x4c, 0x8d, 0xba, 0xae, 0x69, 0x5b, 0x81, 0x6c, 0x3e, 0x09, 0x43, 0x02, + 0x54, 0xad, 0xa0, 0x7c, 0x86, 0xa6, 0x06, 0xb6, 0xb7, 0x26, 0x0b, 0xae, 0x69, 0x68, 0x21, 0x86, + 0x7c, 0x06, 0x06, 0x1e, 0x9a, 0xde, 0xfa, 0xc2, 0x6c, 0x59, 0xc8, 0xe9, 0xc2, 0xf6, 0xd6, 0x24, + 0xd9, 0x30, 0xbd, 0xf5, 0x7a, 0x7b, 0x4d, 0x97, 0x2a, 0xf4, 0xc9, 0xc8, 0x3c, 0x8c, 0x2f, 0x3b, + 0xe6, 0x63, 0xdd, 0xa3, 0xf7, 0xe8, 0xe6, 0xb2, 0xdd, 0x32, 0x1b, 0x9b, 0x42, 0x8a, 0xcf, 0x6e, + 0x6f, 0x4d, 0x5e, 0xee, 0x70, 0x5c, 0xfd, 0x11, 0xdd, 0xac, 0x77, 0x10, 0x2b, 0x31, 0x49, 0x94, + 0x54, 0x7f, 0xab, 0x04, 0x23, 0xf7, 0x5d, 0xea, 0x04, 0xed, 0xbe, 0x0a, 0x45, 0xf6, 0x5b, 0x34, + 0x19, 0x65, 0xde, 0x75, 0xa9, 0x23, 0xcb, 0x9c, 0xe1, 0xc9, 0x75, 0xe8, 0x9f, 0xb7, 0x9b, 0xa6, + 0x25, 0x9a, 0x7d, 0x76, 0x7b, 0x6b, 0xf2, 0x4c, 0x8b, 0x01, 0x24, 0x4a, 0x4e, 0x41, 0x3e, 0x07, + 0x23, 0xd5, 0x36, 0xd3, 0x21, 0xdb, 0xd2, 0x3d, 0xdb, 0x11, 0xad, 0x45, 0xe9, 0x9a, 0x12, 0x5c, + 0x2a, 0x18, 0xa1, 0x27, 0x6f, 0x02, 0x94, 0x1f, 0xd6, 0x34, 0xbb, 0x45, 0xcb, 0xda, 0xa2, 0x50, + 0x06, 0x2c, 0xad, 0x6f, 0xb8, 0x75, 0xc7, 0x6e, 0xd1, 0xba, 0xee, 0xc8, 0xd5, 0x4a, 0xd4, 0x64, + 0x06, 0xc6, 0xca, 0x8d, 0x06, 0x75, 0x5d, 0x8d, 0xfe, 0x70, 0x97, 0xba, 0x9e, 0xab, 0xf4, 0x3f, + 0x5b, 0xb8, 0x36, 0x34, 0xf5, 0xcc, 0xf6, 0xd6, 0xe4, 0x53, 0x3a, 0x62, 0xea, 0x8e, 0x40, 0x49, + 0x2c, 0x62, 0x85, 0xc8, 0x14, 0x8c, 0x96, 0x3f, 0xec, 0x3a, 0xb4, 0x6a, 0x50, 0xcb, 0x33, 0xbd, + 0x4d, 0xa1, 0x21, 0x97, 0xb7, 0xb7, 0x26, 0x15, 0x9d, 0x21, 0xea, 0xa6, 0xc0, 0x48, 0x4c, 0xa2, + 0x45, 0xc8, 0x12, 0x4c, 0xdc, 0x99, 0x5e, 0xae, 0x51, 0xe7, 0xb1, 0xd9, 0xa0, 0xe5, 0x46, 0xc3, + 0xee, 0x5a, 0x9e, 0x32, 0x80, 0x7c, 0x9e, 0xdb, 0xde, 0x9a, 0x7c, 0xa6, 0xd9, 0xe8, 0xd4, 0x5d, + 0x8e, 0xad, 0xeb, 0x1c, 0x2d, 0x31, 0x4b, 0x96, 0x25, 0x5f, 0x84, 0xd1, 0x15, 0x87, 0x69, 0xa1, + 0x51, 0xa1, 0x0c, 0xae, 0x0c, 0xa2, 0xfe, 0x5f, 0xb8, 0x21, 0x26, 0x20, 0x0e, 0xf5, 0x7b, 0x96, + 0x37, 0xd6, 0xe3, 0x05, 0xea, 0x06, 0xe2, 0xe4, 0xc6, 0x46, 0x58, 0x11, 0x0a, 0x0a, 0xfb, 0x78, + 0xd3, 0xa1, 0x46, 0x42, 0xdb, 0x86, 0xb0, 0xcd, 0xd7, 0xb7, 0xb7, 0x26, 0x3f, 0xe9, 0x08, 0x9a, + 0x7a, 0x4f, 0xb5, 0xcb, 0x64, 0x45, 0x66, 0x60, 0x90, 0x69, 0xd3, 0x3d, 0xd3, 0x32, 0x14, 0x78, + 0x36, 0x77, 0x6d, 0xec, 0xd6, 0xb8, 0xdf, 0x7a, 0x1f, 0x3e, 0x75, 0x71, 0x7b, 0x6b, 0xf2, 0x2c, + 0xd3, 0xc1, 0xfa, 0x23, 0xd3, 0x92, 0xa7, 0x88, 0xa0, 0x28, 0x1b, 0x45, 0x53, 0xb6, 0x87, 0x43, + 0x77, 0x38, 0x1c, 0x45, 0xab, 0xb6, 0x17, 0x1f, 0xb6, 0x3e, 0x19, 0x99, 0x86, 0xd1, 0x29, 0xdb, + 0xab, 0x5a, 0xae, 0xa7, 0x5b, 0x0d, 0x5a, 0xad, 0x28, 0x23, 0x58, 0x0e, 0xd5, 0x82, 0x95, 0x33, + 0x05, 0xa6, 0x1e, 0x99, 0x94, 0xa2, 0x65, 0xd4, 0x7f, 0x59, 0x84, 0x31, 0xd6, 0x27, 0xd2, 0xf0, + 0x29, 0xb3, 0x99, 0x80, 0x41, 0x58, 0x2d, 0x6e, 0x47, 0x6f, 0x50, 0x31, 0x92, 0xf0, 0x2b, 0x2c, + 0x1f, 0x28, 0xf1, 0x8c, 0xd3, 0x93, 0xeb, 0x30, 0xc8, 0x41, 0xd5, 0x8a, 0x18, 0x5c, 0xa3, 0xdb, + 0x5b, 0x93, 0x43, 0x2e, 0xc2, 0xea, 0xa6, 0xa1, 0x05, 0x68, 0xa6, 0xdd, 0xfc, 0xef, 0x39, 0xdb, + 0xf5, 0x18, 0x73, 0x31, 0xb6, 0xf0, 0x33, 0x44, 0x81, 0x75, 0x81, 0x92, 0xb5, 0x3b, 0x5a, 0x88, + 0xbc, 0x01, 0xc0, 0x21, 0x65, 0xc3, 0x70, 0xc4, 0x00, 0x7b, 0x6a, 0x7b, 0x6b, 0xf2, 0xbc, 0x60, + 0xa1, 0x1b, 0x86, 0x3c, 0x3a, 0x25, 0x62, 0xd2, 0x86, 0x11, 0xfe, 0x6b, 0x5e, 0x5f, 0xa5, 0x2d, + 0x3e, 0xba, 0x86, 0x6f, 0x5d, 0xf3, 0x3b, 0x31, 0x2a, 0x9d, 0x1b, 0x32, 0xe9, 0x8c, 0xe5, 0x39, + 0x9b, 0x53, 0x93, 0x62, 0x42, 0xbe, 0x28, 0xaa, 0x6a, 0x21, 0x4e, 0x9e, 0x0a, 0xe4, 0x32, 0x6c, + 0x9e, 0x9e, 0xb5, 0x9d, 0x0d, 0xdd, 0x31, 0xa8, 0x31, 0xb5, 0x29, 0xcf, 0xd3, 0x6b, 0x3e, 0xb8, + 0xbe, 0x2a, 0xab, 0x9e, 0x4c, 0xce, 0x3a, 0x9d, 0x73, 0xab, 0x75, 0x57, 0x51, 0xe5, 0x06, 0x12, + 0xd2, 0x72, 0xbb, 0xab, 0x71, 0x35, 0x8b, 0x96, 0x61, 0x53, 0x01, 0x07, 0x3c, 0xa0, 0x0e, 0x9b, + 0xc4, 0x71, 0xd4, 0x89, 0xa9, 0x40, 0x30, 0x79, 0xcc, 0x31, 0x49, 0x1e, 0xa2, 0xc8, 0xa5, 0x77, + 0x61, 0x22, 0x21, 0x0a, 0x32, 0x0e, 0x85, 0x47, 0x74, 0x93, 0xab, 0x8b, 0xc6, 0xfe, 0x24, 0xe7, + 0xa0, 0xff, 0xb1, 0xde, 0xea, 0x8a, 0x25, 0x54, 0xe3, 0x3f, 0xde, 0xcc, 0x7f, 0x36, 0xc7, 0x56, + 0x1c, 0x32, 0x6d, 0x5b, 0x16, 0x6d, 0x78, 0xf2, 0xa2, 0xf3, 0x1a, 0x0c, 0xcd, 0xdb, 0x0d, 0xbd, + 0x85, 0xfd, 0xc8, 0xf5, 0x4e, 0xd9, 0xde, 0x9a, 0x3c, 0xc7, 0x3a, 0xf0, 0x46, 0x8b, 0x61, 0xa4, + 0x36, 0x85, 0xa4, 0x4c, 0x01, 0x34, 0xda, 0xb6, 0x3d, 0x8a, 0x05, 0xf3, 0xa1, 0x02, 0x60, 0x41, + 0x07, 0x51, 0xb2, 0x02, 0x84, 0xc4, 0xe4, 0x26, 0x0c, 0x2e, 0xb3, 0x75, 0xb6, 0x61, 0xb7, 0x84, + 0xf2, 0xe1, 0x52, 0x80, 0x6b, 0xaf, 0x3c, 0x56, 0x7d, 0x22, 0x75, 0x0e, 0xc6, 0xa6, 0x5b, 0x26, + 0xb5, 0x3c, 0xb9, 0xd5, 0x6c, 0x24, 0x97, 0x9b, 0xd4, 0xf2, 0xe4, 0x56, 0xe3, 0x98, 0xd7, 0x19, + 0x54, 0x6e, 0x75, 0x40, 0xaa, 0xfe, 0x5e, 0x01, 0x9e, 0xba, 0xd7, 0x5d, 0xa5, 0x8e, 0x45, 0x3d, + 0xea, 0x8a, 0x05, 0x39, 0xe0, 0xba, 0x08, 0x13, 0x09, 0xa4, 0xe0, 0x8e, 0x0b, 0xe5, 0xa3, 0x00, + 0x59, 0x17, 0x6b, 0xbc, 0x3c, 0xdb, 0x26, 0x8a, 0x92, 0x39, 0x38, 0x13, 0x02, 0x59, 0x23, 0x5c, + 0x25, 0x8f, 0x4b, 0xc9, 0x95, 0xed, 0xad, 0xc9, 0x4b, 0x12, 0x37, 0xd6, 0x6c, 0x59, 0x83, 0xe3, + 0xc5, 0xc8, 0x3d, 0x18, 0x0f, 0x41, 0x77, 0x1c, 0xbb, 0xdb, 0x71, 0x95, 0x02, 0xb2, 0x9a, 0xdc, + 0xde, 0x9a, 0x7c, 0x5a, 0x62, 0xd5, 0x44, 0xa4, 0xbc, 0x80, 0xc7, 0x0b, 0x92, 0x1f, 0xcd, 0xc9, + 0xdc, 0xc4, 0x28, 0x2c, 0xe2, 0x28, 0x7c, 0xdd, 0x1f, 0x85, 0x99, 0x42, 0xba, 0x11, 0x2f, 0x29, + 0x06, 0x65, 0xac, 0x19, 0x89, 0x41, 0x99, 0xa8, 0xf1, 0xd2, 0x34, 0x9c, 0x4f, 0xe5, 0xb5, 0x27, + 0xad, 0xfe, 0x17, 0x05, 0x99, 0xcb, 0xb2, 0x6d, 0x04, 0x9d, 0xb9, 0x24, 0x77, 0xe6, 0xb2, 0x6d, + 0xe0, 0x54, 0x9f, 0x0b, 0xd7, 0x4e, 0xa9, 0xb1, 0x1d, 0xdb, 0x88, 0xcf, 0xfa, 0xc9, 0xb2, 0xe4, + 0xcb, 0x70, 0x21, 0x01, 0xe4, 0xd3, 0x35, 0xd7, 0xfe, 0xab, 0xdb, 0x5b, 0x93, 0x6a, 0x0a, 0xd7, + 0xf8, 0xec, 0x9d, 0xc1, 0x85, 0xe8, 0x70, 0x51, 0x92, 0xba, 0x6d, 0x79, 0xba, 0x69, 0x09, 0xe3, + 0x92, 0x8f, 0x92, 0x4f, 0x6d, 0x6f, 0x4d, 0x3e, 0x2f, 0xeb, 0xa0, 0x4f, 0x13, 0x6f, 0x7c, 0x16, + 0x1f, 0x62, 0x80, 0x92, 0x82, 0xaa, 0xb6, 0xf5, 0xa6, 0x6f, 0x31, 0x5f, 0xdb, 0xde, 0x9a, 0xfc, + 0x44, 0x6a, 0x1d, 0x26, 0xa3, 0x92, 0x57, 0xe8, 0x2c, 0x4e, 0x44, 0x03, 0x12, 0xe2, 0x16, 0x6d, + 0x83, 0xe2, 0x37, 0xf4, 0x23, 0x7f, 0x75, 0x7b, 0x6b, 0xf2, 0x8a, 0xc4, 0xdf, 0xb2, 0x0d, 0x1a, + 0x6f, 0x7e, 0x4a, 0x69, 0xf5, 0x37, 0x0b, 0x70, 0xa5, 0x56, 0x5e, 0x98, 0xaf, 0x1a, 0xbe, 0x49, + 0xb3, 0xec, 0xd8, 0x8f, 0x4d, 0x43, 0x1a, 0xbd, 0xab, 0x70, 0x31, 0x86, 0x9a, 0x41, 0x2b, 0x2a, + 0x30, 0xa6, 0xf1, 0xdb, 0x7c, 0x73, 0xa9, 0x23, 0x68, 0xea, 0xdc, 0xd4, 0x8a, 0x2e, 0xda, 0x59, + 0x8c, 0x58, 0x1f, 0xc5, 0x50, 0xb5, 0x75, 0xdb, 0xf1, 0x1a, 0x5d, 0x4f, 0x28, 0x01, 0xf6, 0x51, + 0xa2, 0x0e, 0x57, 0x10, 0xf5, 0xa8, 0xc2, 0xe7, 0x43, 0x7e, 0x22, 0x07, 0xe3, 0x65, 0xcf, 0x73, + 0xcc, 0xd5, 0xae, 0x47, 0x17, 0xf4, 0x4e, 0xc7, 0xb4, 0x9a, 0x38, 0xd6, 0x87, 0x6f, 0xbd, 0x1d, + 0xac, 0x91, 0x3d, 0x25, 0x71, 0x23, 0x5e, 0x5c, 0x1a, 0xa2, 0xba, 0x8f, 0xaa, 0xb7, 0x39, 0x4e, + 0x1e, 0xa2, 0xf1, 0x72, 0x6c, 0x88, 0xa6, 0xf2, 0xda, 0xd3, 0x10, 0xfd, 0x66, 0x01, 0x2e, 0x2f, + 0x3d, 0xf2, 0x74, 0x8d, 0xba, 0x76, 0xd7, 0x69, 0x50, 0xf7, 0x7e, 0xc7, 0xd0, 0x3d, 0x1a, 0x8e, + 0xd4, 0x49, 0xe8, 0x2f, 0x1b, 0x06, 0x35, 0x90, 0x5d, 0x3f, 0xdf, 0xf6, 0xe9, 0x0c, 0xa0, 0x71, + 0x38, 0xf9, 0x24, 0x0c, 0x88, 0x32, 0xc8, 0xbd, 0x7f, 0x6a, 0x78, 0x7b, 0x6b, 0x72, 0xa0, 0xcb, + 0x41, 0x9a, 0x8f, 0x63, 0x64, 0x15, 0xda, 0xa2, 0x8c, 0xac, 0x10, 0x92, 0x19, 0x1c, 0xa4, 0xf9, + 0x38, 0xf2, 0x1e, 0x8c, 0x21, 0xdb, 0xa0, 0x3d, 0x62, 0xee, 0x3b, 0xe7, 0x4b, 0x57, 0x6e, 0x2c, + 0x5f, 0x9a, 0xb0, 0x35, 0x75, 0xc7, 0x2f, 0xa0, 0xc5, 0x18, 0x90, 0x87, 0x30, 0x2e, 0x1a, 0x11, + 0x32, 0xed, 0xef, 0xc1, 0xf4, 0xfc, 0xf6, 0xd6, 0xe4, 0x84, 0x68, 0xbf, 0xc4, 0x36, 0xc1, 0x84, + 0x31, 0x16, 0xcd, 0x0e, 0x19, 0x97, 0x76, 0x62, 0x2c, 0xbe, 0x58, 0x66, 0x1c, 0x67, 0xa2, 0xbe, + 0x0f, 0x23, 0x72, 0x41, 0x72, 0x01, 0xb7, 0xd6, 0x7c, 0x9c, 0xe0, 0xa6, 0xdc, 0x34, 0x70, 0x3f, + 0xfd, 0x32, 0x0c, 0x57, 0xa8, 0xdb, 0x70, 0xcc, 0x0e, 0xb3, 0x1a, 0x84, 0x92, 0x9f, 0xd9, 0xde, + 0x9a, 0x1c, 0x36, 0x42, 0xb0, 0x26, 0xd3, 0xa8, 0xff, 0x77, 0x0e, 0x2e, 0x30, 0xde, 0x65, 0xd7, + 0x35, 0x9b, 0x56, 0x5b, 0x5e, 0xb6, 0x5f, 0x84, 0x52, 0x0d, 0xeb, 0x13, 0x35, 0x9d, 0xdb, 0xde, + 0x9a, 0x1c, 0xe7, 0x2d, 0x90, 0xf4, 0x50, 0xd0, 0x04, 0xfb, 0xca, 0xfc, 0x0e, 0xfb, 0x4a, 0x66, + 0xd2, 0x7a, 0xba, 0xe3, 0x99, 0x56, 0xb3, 0xe6, 0xe9, 0x5e, 0xd7, 0x8d, 0x98, 0xb4, 0x02, 0x53, + 0x77, 0x11, 0x15, 0x31, 0x69, 0x23, 0x85, 0xc8, 0xbb, 0x30, 0x32, 0x63, 0x19, 0x21, 0x13, 0x3e, + 0x21, 0x3e, 0xcd, 0x2c, 0x4d, 0x8a, 0xf0, 0x24, 0x8b, 0x48, 0x01, 0xf5, 0xaf, 0xe7, 0x40, 0xe1, + 0x9b, 0xc0, 0x79, 0xd3, 0xf5, 0x16, 0x68, 0x7b, 0x55, 0x9a, 0x9d, 0x66, 0xfd, 0x5d, 0x25, 0xc3, + 0x49, 0x6b, 0x11, 0x9a, 0x02, 0x62, 0x57, 0xd9, 0x32, 0xdd, 0xc4, 0xf6, 0x23, 0x56, 0x8a, 0x54, + 0x61, 0x80, 0x73, 0xe6, 0xb6, 0xc4, 0xf0, 0x2d, 0xc5, 0x57, 0x84, 0x78, 0xd5, 0x5c, 0x19, 0xda, + 0x9c, 0x58, 0xde, 0xd0, 0x88, 0xf2, 0xea, 0xdf, 0xc8, 0xc3, 0x78, 0xbc, 0x10, 0x79, 0x08, 0x83, + 0x77, 0x6d, 0xd3, 0xa2, 0xc6, 0x92, 0x85, 0x2d, 0xec, 0x7d, 0x38, 0xe2, 0xdb, 0xe2, 0x67, 0x3f, + 0xc0, 0x32, 0x75, 0xd9, 0x82, 0xc5, 0xb3, 0x92, 0x80, 0x19, 0xf9, 0x22, 0x0c, 0x31, 0x1b, 0xf0, + 0x31, 0x72, 0xce, 0xef, 0xc8, 0xf9, 0x59, 0xc1, 0xf9, 0x9c, 0xc3, 0x0b, 0x25, 0x59, 0x87, 0xec, + 0x98, 0x5e, 0x69, 0x54, 0x77, 0x6d, 0x4b, 0xf4, 0x3c, 0xea, 0x95, 0x83, 0x10, 0x59, 0xaf, 0x38, + 0x0d, 0x33, 0x5d, 0xf9, 0xc7, 0x62, 0x37, 0x48, 0x7b, 0x17, 0x2e, 0xab, 0x78, 0x0f, 0x48, 0xc4, + 0xea, 0x8f, 0xe5, 0xe1, 0xa5, 0x50, 0x64, 0x1a, 0x7d, 0x6c, 0xd2, 0x0d, 0x21, 0xce, 0x75, 0xb3, + 0x23, 0xf6, 0xac, 0x4c, 0xe5, 0xdd, 0xe9, 0x75, 0xdd, 0x6a, 0x52, 0x83, 0x5c, 0x87, 0x7e, 0xcd, + 0x6e, 0x51, 0x57, 0xc9, 0xa1, 0xb9, 0x86, 0xd3, 0x89, 0xc3, 0x00, 0xf2, 0xa1, 0x07, 0x52, 0x10, + 0x1b, 0x4a, 0x2b, 0x8e, 0x6e, 0x7a, 0x7e, 0xcf, 0x96, 0x93, 0x3d, 0xbb, 0x8b, 0x1a, 0x6f, 0x70, + 0x1e, 0x7c, 0xce, 0x47, 0x41, 0x78, 0x08, 0x90, 0x05, 0xc1, 0x49, 0x2e, 0xbd, 0x01, 0xc3, 0x12, + 0xf1, 0x9e, 0x26, 0xf5, 0x6f, 0x15, 0x65, 0x5d, 0xf7, 0x9b, 0x25, 0x74, 0xfd, 0x26, 0xd3, 0x51, + 0xd7, 0x65, 0x56, 0x05, 0x57, 0x72, 0xa1, 0x89, 0x08, 0x8a, 0x6a, 0x22, 0x82, 0xc8, 0x2b, 0x30, + 0xc8, 0x59, 0x04, 0xfb, 0x57, 0xdc, 0xfb, 0x3a, 0x08, 0x8b, 0x2e, 0xcd, 0x01, 0x21, 0xf9, 0xc5, + 0x1c, 0x3c, 0xd3, 0x53, 0x12, 0xa8, 0x0c, 0xc3, 0xb7, 0x5e, 0xdd, 0x97, 0x18, 0xa7, 0x5e, 0xda, + 0xde, 0x9a, 0xbc, 0xde, 0x0e, 0x48, 0xea, 0x8e, 0x44, 0x53, 0x6f, 0x70, 0x22, 0xa9, 0x5d, 0xbd, + 0x9b, 0xc2, 0x8c, 0x47, 0x5e, 0xe9, 0x2c, 0x1e, 0x1d, 0x59, 0x8d, 0x4d, 0xbf, 0x91, 0xc5, 0xd0, + 0x78, 0x14, 0xdf, 0xbb, 0xe6, 0x93, 0xa4, 0x54, 0x93, 0xc1, 0x85, 0x34, 0xe0, 0x22, 0xc7, 0x54, + 0xf4, 0xcd, 0xa5, 0xb5, 0x05, 0xdb, 0xf2, 0xd6, 0xfd, 0x0a, 0xfa, 0xe5, 0xb3, 0x17, 0xac, 0xc0, + 0xd0, 0x37, 0xeb, 0xf6, 0x5a, 0xbd, 0xcd, 0xa8, 0x52, 0xea, 0xc8, 0xe2, 0xc4, 0x26, 0x5a, 0x31, + 0xe6, 0xfc, 0x29, 0xa8, 0x14, 0x9e, 0x8c, 0xf9, 0xe3, 0x34, 0x39, 0xe1, 0xc4, 0x0a, 0xa9, 0x55, + 0x18, 0x99, 0xb7, 0x1b, 0x8f, 0x02, 0x75, 0x79, 0x03, 0x4a, 0x2b, 0xba, 0xd3, 0xa4, 0x1e, 0xca, + 0x62, 0xf8, 0xd6, 0xc4, 0x0d, 0x7e, 0xda, 0xcc, 0x88, 0x38, 0x62, 0x6a, 0x4c, 0xcc, 0x06, 0x25, + 0x0f, 0x7f, 0x6b, 0xa2, 0x80, 0xfa, 0xdd, 0x7e, 0x18, 0x11, 0x27, 0xa3, 0x38, 0x9b, 0x93, 0x37, + 0xc3, 0xb3, 0x66, 0x31, 0x7d, 0x05, 0xa7, 0x43, 0xc1, 0xa9, 0xd6, 0x08, 0x63, 0xf6, 0x0f, 0xb7, + 0x26, 0x73, 0xdb, 0x5b, 0x93, 0x7d, 0xda, 0xa0, 0xb4, 0xa9, 0x0c, 0xd7, 0x1b, 0x69, 0x81, 0x95, + 0xcf, 0x3a, 0x63, 0x65, 0xf9, 0xfa, 0xf3, 0x2e, 0x0c, 0x88, 0x36, 0x08, 0x8d, 0xbb, 0x18, 0x9e, + 0x65, 0x44, 0x4e, 0x78, 0x63, 0xa5, 0xfd, 0x52, 0xe4, 0x6d, 0x28, 0xf1, 0xbd, 0xbd, 0x10, 0xc0, + 0x85, 0xf4, 0xb3, 0x90, 0x58, 0x71, 0x51, 0x86, 0xcc, 0x01, 0x84, 0xfb, 0xfa, 0xe0, 0x40, 0x5b, + 0x70, 0x48, 0xee, 0xf8, 0x63, 0x5c, 0xa4, 0xb2, 0xe4, 0x35, 0x18, 0x59, 0xa1, 0x4e, 0xdb, 0xb4, + 0xf4, 0x56, 0xcd, 0xfc, 0xd0, 0x3f, 0xd3, 0xc6, 0x85, 0xd7, 0x35, 0x3f, 0x94, 0x47, 0x6e, 0x84, + 0x8e, 0x7c, 0x29, 0x6d, 0xdf, 0x3c, 0x80, 0x0d, 0x79, 0x6e, 0xc7, 0x0d, 0x65, 0xac, 0x3d, 0x29, + 0xdb, 0xe8, 0xf7, 0x60, 0x34, 0xb2, 0x65, 0x12, 0x87, 0x96, 0xcf, 0x24, 0x59, 0x4b, 0xfb, 0xbf, + 0x18, 0xdb, 0x28, 0x07, 0xa6, 0xc9, 0x55, 0xcb, 0xf4, 0x4c, 0xbd, 0x35, 0x6d, 0xb7, 0xdb, 0xba, + 0x65, 0x28, 0x43, 0xa1, 0x26, 0x9b, 0x1c, 0x53, 0x6f, 0x70, 0x94, 0xac, 0xc9, 0xd1, 0x42, 0x6c, + 0x5b, 0x2e, 0xfa, 0x50, 0xa3, 0x0d, 0xdb, 0x61, 0xb6, 0x00, 0x9e, 0x49, 0x8a, 0x6d, 0xb9, 0xcb, + 0x71, 0x75, 0xc7, 0x47, 0xca, 0xc6, 0x76, 0xbc, 0xe0, 0xdd, 0xe2, 0xe0, 0xf0, 0xf8, 0x48, 0xfc, + 0x18, 0x59, 0xfd, 0x6b, 0x05, 0x18, 0x16, 0xa4, 0x6c, 0x29, 0x3d, 0x55, 0xf0, 0x83, 0x28, 0x78, + 0xaa, 0xa2, 0x96, 0x0e, 0x4b, 0x51, 0xd5, 0xaf, 0xe6, 0x83, 0xd9, 0x68, 0xd9, 0x31, 0xad, 0x83, + 0xcd, 0x46, 0x57, 0x01, 0xa6, 0xd7, 0xbb, 0xd6, 0x23, 0x7e, 0x5d, 0x96, 0x0f, 0xaf, 0xcb, 0x1a, + 0xa6, 0x26, 0x61, 0xc8, 0x33, 0x50, 0xac, 0x30, 0xfe, 0xac, 0x67, 0x46, 0xa6, 0x86, 0xbe, 0xc3, + 0x39, 0xe5, 0x5e, 0xd2, 0x10, 0xcc, 0x36, 0x57, 0x53, 0x9b, 0x1e, 0xe5, 0xe6, 0x6c, 0x81, 0x6f, + 0xae, 0x56, 0x19, 0x40, 0xe3, 0x70, 0x72, 0x1b, 0x26, 0x2a, 0xb4, 0xa5, 0x6f, 0x2e, 0x98, 0xad, + 0x96, 0xe9, 0xd2, 0x86, 0x6d, 0x19, 0x2e, 0x0a, 0x59, 0x54, 0xd7, 0x76, 0xb5, 0x24, 0x01, 0x51, + 0xa1, 0xb4, 0xb4, 0xb6, 0xe6, 0x52, 0x0f, 0xc5, 0x57, 0x98, 0x02, 0x36, 0x39, 0xdb, 0x08, 0xd1, + 0x04, 0x46, 0xfd, 0x95, 0x1c, 0xdb, 0xbd, 0xb8, 0x8f, 0x3c, 0xbb, 0x13, 0x68, 0xf9, 0x81, 0x44, + 0x72, 0x3d, 0xb4, 0x2b, 0xf2, 0xf8, 0xb5, 0x67, 0xc4, 0xd7, 0x0e, 0x08, 0xdb, 0x22, 0xb4, 0x28, + 0x52, 0xbf, 0xaa, 0xb0, 0xc3, 0x57, 0xa9, 0x7f, 0x90, 0x87, 0x8b, 0xa2, 0xc5, 0xd3, 0x2d, 0xb3, + 0xb3, 0x6a, 0xeb, 0x8e, 0xa1, 0xd1, 0x06, 0x35, 0x1f, 0xd3, 0xe3, 0x39, 0xf0, 0xa2, 0x43, 0xa7, + 0x78, 0x80, 0xa1, 0x73, 0x0b, 0x37, 0x82, 0x4c, 0x32, 0x78, 0xe0, 0xcb, 0x8d, 0x8a, 0xf1, 0xed, + 0xad, 0xc9, 0x11, 0x83, 0x83, 0xf1, 0xc8, 0x5f, 0x93, 0x89, 0x98, 0x92, 0xcc, 0x53, 0xab, 0xe9, + 0xad, 0xa3, 0x92, 0xf4, 0x73, 0x25, 0x69, 0x21, 0x44, 0x13, 0x18, 0xf5, 0x7f, 0xcf, 0xc3, 0xb9, + 0xb8, 0xc8, 0x6b, 0xd4, 0x32, 0x4e, 0xe5, 0xfd, 0xd1, 0xc8, 0xfb, 0x0f, 0x0b, 0xf0, 0xb4, 0x28, + 0x53, 0x5b, 0xd7, 0x1d, 0x6a, 0x54, 0x4c, 0x87, 0x36, 0x3c, 0xdb, 0xd9, 0x3c, 0xc6, 0x06, 0xd4, + 0xe1, 0x89, 0xfd, 0x36, 0x94, 0xc4, 0xf6, 0x9f, 0xaf, 0x33, 0x63, 0x41, 0x4b, 0x10, 0x9a, 0x58, + 0xa1, 0xf8, 0xd1, 0x41, 0xac, 0xb3, 0x4a, 0xbb, 0xe9, 0xac, 0xcf, 0xc2, 0x68, 0x20, 0x7a, 0xdc, + 0x88, 0x0e, 0x84, 0xd6, 0x96, 0xe1, 0x23, 0x70, 0x2f, 0xaa, 0x45, 0x09, 0xb1, 0x36, 0x1f, 0x50, + 0xad, 0xa0, 0x35, 0x34, 0x2a, 0x6a, 0x0b, 0xca, 0x99, 0x86, 0x26, 0x13, 0xa9, 0x5b, 0x45, 0xb8, + 0x94, 0xde, 0xed, 0x1a, 0xd5, 0x8d, 0xd3, 0x5e, 0xff, 0xbe, 0xec, 0x75, 0xf2, 0x1c, 0x14, 0x97, + 0x75, 0x6f, 0x5d, 0x5c, 0xbf, 0xe3, 0x9d, 0xf0, 0x9a, 0xd9, 0xa2, 0xf5, 0x8e, 0xee, 0xad, 0x6b, + 0x88, 0x92, 0xe6, 0x0c, 0x40, 0x8e, 0x29, 0x73, 0x86, 0xb4, 0xd8, 0x0f, 0x3f, 0x9b, 0xbb, 0x56, + 0x4c, 0x5d, 0xec, 0xbf, 0x5b, 0xcc, 0x9a, 0x57, 0x1e, 0x3a, 0xa6, 0x47, 0x4f, 0x35, 0xec, 0x54, + 0xc3, 0x0e, 0xa8, 0x61, 0xff, 0x38, 0x0f, 0xa3, 0xc1, 0xa6, 0xe9, 0x03, 0xda, 0x38, 0x9a, 0xb5, + 0x2a, 0xdc, 0xca, 0x14, 0x0e, 0xbc, 0x95, 0x39, 0x88, 0x42, 0xa9, 0xc1, 0x91, 0x27, 0x37, 0x0d, + 0x50, 0x62, 0xfc, 0xc8, 0x33, 0x38, 0xe8, 0x7c, 0x0e, 0x06, 0x16, 0xf4, 0x27, 0x66, 0xbb, 0xdb, + 0x16, 0x56, 0x3a, 0xba, 0x93, 0xb5, 0xf5, 0x27, 0x9a, 0x0f, 0x57, 0xff, 0xbb, 0x1c, 0x8c, 0x09, + 0xa1, 0x0a, 0xe6, 0x07, 0x92, 0x6a, 0x28, 0x9d, 0xfc, 0x81, 0xa5, 0x53, 0xd8, 0xbf, 0x74, 0xd4, + 0x3f, 0x5f, 0x00, 0x65, 0xd6, 0x6c, 0xd1, 0x15, 0x47, 0xb7, 0xdc, 0x35, 0xea, 0x88, 0xed, 0xf4, + 0x0c, 0x63, 0x75, 0xa0, 0x0f, 0x94, 0xa6, 0x94, 0xfc, 0xbe, 0xa6, 0x94, 0x4f, 0xc3, 0x90, 0x68, + 0x4c, 0xe0, 0xca, 0x88, 0xa3, 0xc6, 0xf1, 0x81, 0x5a, 0x88, 0x67, 0xc4, 0xe5, 0x4e, 0xc7, 0xb1, + 0x1f, 0x53, 0x87, 0xdf, 0x52, 0x09, 0x62, 0xdd, 0x07, 0x6a, 0x21, 0x5e, 0xe2, 0x4c, 0x7d, 0x7b, + 0x51, 0xe6, 0x4c, 0x1d, 0x2d, 0xc4, 0x93, 0x6b, 0x30, 0x38, 0x6f, 0x37, 0x74, 0x14, 0x34, 0x9f, + 0x56, 0x46, 0xb6, 0xb7, 0x26, 0x07, 0x5b, 0x02, 0xa6, 0x05, 0x58, 0x46, 0x59, 0xb1, 0x37, 0xac, + 0x96, 0xad, 0x73, 0xe7, 0x97, 0x41, 0x4e, 0x69, 0x08, 0x98, 0x16, 0x60, 0x19, 0x25, 0x93, 0x39, + 0x3a, 0x15, 0x0d, 0x86, 0x3c, 0xd7, 0x04, 0x4c, 0x0b, 0xb0, 0xea, 0xaf, 0x14, 0x99, 0xf6, 0xba, + 0xe6, 0x87, 0x27, 0x7e, 0x5d, 0x08, 0x07, 0x4c, 0xff, 0x3e, 0x06, 0xcc, 0x89, 0x39, 0xb0, 0x53, + 0xff, 0xe5, 0x00, 0x80, 0x90, 0xfe, 0xcc, 0xe9, 0xe6, 0xf0, 0x60, 0x5a, 0x53, 0x81, 0x89, 0x19, + 0x6b, 0x5d, 0xb7, 0x1a, 0xd4, 0x08, 0x8f, 0x2d, 0x4b, 0x38, 0xb4, 0xd1, 0x09, 0x92, 0x0a, 0x64, + 0x78, 0x6e, 0xa9, 0x25, 0x0b, 0x90, 0x97, 0x61, 0xb8, 0x6a, 0x79, 0xd4, 0xd1, 0x1b, 0x9e, 0xf9, + 0x98, 0x8a, 0xa9, 0x01, 0x6f, 0x86, 0xcd, 0x10, 0xac, 0xc9, 0x34, 0xe4, 0x36, 0x8c, 0x2c, 0xeb, + 0x8e, 0x67, 0x36, 0xcc, 0x8e, 0x6e, 0x79, 0xae, 0x32, 0x88, 0x33, 0x1a, 0x5a, 0x18, 0x1d, 0x09, + 0xae, 0x45, 0xa8, 0xc8, 0x97, 0x60, 0x08, 0xb7, 0xa6, 0xe8, 0xaf, 0x3d, 0xb4, 0xe3, 0xc5, 0xe1, + 0xf3, 0xa1, 0x7b, 0x20, 0x3f, 0x7d, 0xc5, 0x1b, 0xe0, 0xf8, 0xdd, 0x61, 0xc0, 0x91, 0x7c, 0x01, + 0x06, 0x66, 0x2c, 0x03, 0x99, 0xc3, 0x8e, 0xcc, 0x55, 0xc1, 0xfc, 0x42, 0xc8, 0xdc, 0xee, 0xc4, + 0x78, 0xfb, 0xec, 0xd2, 0x47, 0xd9, 0xf0, 0x47, 0x37, 0xca, 0x46, 0x3e, 0x82, 0x63, 0xf1, 0xd1, + 0xc3, 0x3a, 0x16, 0x1f, 0xdb, 0xe7, 0xb1, 0xb8, 0xfa, 0x21, 0x0c, 0x4f, 0x2d, 0xcf, 0x06, 0xa3, + 0xf7, 0x29, 0x28, 0x2c, 0x0b, 0x4f, 0x85, 0x22, 0xb7, 0x67, 0x3a, 0xa6, 0xa1, 0x31, 0x18, 0xb9, + 0x0e, 0x83, 0xd3, 0xe8, 0xfe, 0x26, 0x6e, 0x11, 0x8b, 0x7c, 0xfd, 0x6b, 0x20, 0x0c, 0xbd, 0x60, + 0x7d, 0x34, 0xf9, 0x24, 0x0c, 0x2c, 0x3b, 0x76, 0xd3, 0xd1, 0xdb, 0x62, 0x0d, 0x46, 0x57, 0x91, + 0x0e, 0x07, 0x69, 0x3e, 0x4e, 0xfd, 0xc9, 0x9c, 0x6f, 0xb6, 0xb3, 0x12, 0xb5, 0x2e, 0x1e, 0xcd, + 0x63, 0xdd, 0x83, 0xbc, 0x84, 0xcb, 0x41, 0x9a, 0x8f, 0x23, 0xd7, 0xa1, 0x7f, 0xc6, 0x71, 0x6c, + 0x47, 0xf6, 0x71, 0xa7, 0x0c, 0x20, 0x5f, 0xf7, 0x22, 0x05, 0x79, 0x1d, 0x86, 0xf9, 0x9c, 0xc3, + 0x4f, 0x34, 0x0b, 0xbd, 0x6e, 0x4a, 0x65, 0x4a, 0xf5, 0xdb, 0x05, 0xc9, 0x66, 0xe3, 0x12, 0x3f, + 0x81, 0xb7, 0x02, 0xaf, 0x40, 0x61, 0x6a, 0x79, 0x56, 0x4c, 0x80, 0x67, 0xfd, 0xa2, 0x92, 0xaa, + 0xc4, 0xca, 0x31, 0x6a, 0x72, 0x19, 0x8a, 0xcb, 0x4c, 0x7d, 0x4a, 0xa8, 0x1e, 0x83, 0xdb, 0x5b, + 0x93, 0xc5, 0x0e, 0xd3, 0x1f, 0x84, 0x22, 0x96, 0x6d, 0x66, 0xf8, 0x8e, 0x89, 0x63, 0xc3, 0x7d, + 0xcc, 0x65, 0x28, 0x96, 0x9d, 0xe6, 0x63, 0x31, 0x6b, 0x21, 0x56, 0x77, 0x9a, 0x8f, 0x35, 0x84, + 0x92, 0x9b, 0x00, 0x1a, 0xf5, 0xba, 0x8e, 0x85, 0xcf, 0x4f, 0x86, 0xf0, 0xfc, 0x0d, 0x67, 0x43, + 0x07, 0xa1, 0xf5, 0x86, 0x6d, 0x50, 0x4d, 0x22, 0x51, 0xff, 0x6a, 0x78, 0xb1, 0x53, 0x31, 0xdd, + 0x47, 0xa7, 0x5d, 0xb8, 0x87, 0x2e, 0xd4, 0xc5, 0x11, 0x67, 0xb2, 0x93, 0x26, 0xa1, 0x7f, 0xb6, + 0xa5, 0x37, 0x5d, 0xec, 0x43, 0xe1, 0x4b, 0xb6, 0xc6, 0x00, 0x1a, 0x87, 0xc7, 0xfa, 0x69, 0x70, + 0xe7, 0x7e, 0xfa, 0xe9, 0xfe, 0x60, 0xb4, 0x2d, 0x52, 0x6f, 0xc3, 0x76, 0x4e, 0xbb, 0x6a, 0xb7, + 0x5d, 0x75, 0x15, 0x06, 0x6a, 0x4e, 0x43, 0x3a, 0xba, 0xc0, 0xfd, 0x80, 0xeb, 0x34, 0xf8, 0xb1, + 0x85, 0x8f, 0x64, 0x74, 0x15, 0xd7, 0x43, 0xba, 0x81, 0x90, 0xce, 0x70, 0x3d, 0x41, 0x27, 0x90, + 0x82, 0x6e, 0xd9, 0x76, 0x3c, 0xd1, 0x71, 0x01, 0x5d, 0xc7, 0x76, 0x3c, 0xcd, 0x47, 0x92, 0x4f, + 0x03, 0xac, 0x4c, 0x2f, 0xfb, 0xce, 0xf6, 0x43, 0xa1, 0x2f, 0xa0, 0xf0, 0xb2, 0xd7, 0x24, 0x34, + 0x59, 0x81, 0xa1, 0xa5, 0x0e, 0x75, 0xf8, 0x56, 0x88, 0x3f, 0x28, 0xf9, 0x54, 0x4c, 0xb4, 0xa2, + 0xdf, 0x6f, 0x88, 0xff, 0x03, 0x72, 0xbe, 0xbe, 0xd8, 0xfe, 0x4f, 0x2d, 0x64, 0x44, 0x5e, 0x87, + 0x52, 0x99, 0xdb, 0x79, 0xc3, 0xc8, 0x32, 0x10, 0x19, 0x6e, 0x41, 0x39, 0x8a, 0xef, 0xd9, 0x75, + 0xfc, 0x5b, 0x13, 0xe4, 0xea, 0x75, 0x18, 0x8f, 0x57, 0x43, 0x86, 0x61, 0x60, 0x7a, 0x69, 0x71, + 0x71, 0x66, 0x7a, 0x65, 0xbc, 0x8f, 0x0c, 0x42, 0xb1, 0x36, 0xb3, 0x58, 0x19, 0xcf, 0xa9, 0xbf, + 0x24, 0xcd, 0x20, 0x4c, 0xb5, 0x4e, 0xaf, 0x86, 0x0f, 0x74, 0xdf, 0x32, 0x8e, 0xf7, 0xa1, 0x78, + 0x62, 0xd0, 0x36, 0x3d, 0x8f, 0x1a, 0x62, 0x95, 0xc0, 0xfb, 0x42, 0xef, 0x89, 0x96, 0xc0, 0x93, + 0x17, 0x61, 0x14, 0x61, 0xe2, 0x8a, 0x90, 0xef, 0x8f, 0x45, 0x01, 0xe7, 0x89, 0x16, 0x45, 0xaa, + 0xbf, 0x1b, 0xde, 0x0e, 0xcf, 0x53, 0xfd, 0xb8, 0xde, 0x28, 0x7e, 0x4c, 0xfa, 0x4b, 0xfd, 0xd7, + 0x45, 0xfe, 0x04, 0x84, 0xbf, 0x17, 0x3c, 0x0a, 0x51, 0x86, 0x47, 0xba, 0x85, 0x3d, 0x1c, 0xe9, + 0xbe, 0x08, 0xa5, 0x05, 0xea, 0xad, 0xdb, 0xbe, 0xe3, 0x17, 0x7a, 0xe8, 0xb5, 0x11, 0x22, 0x7b, + 0xe8, 0x71, 0x1a, 0xf2, 0x08, 0x88, 0xff, 0x18, 0x30, 0x70, 0xc4, 0xf6, 0x8f, 0x90, 0x2f, 0x26, + 0xf6, 0x29, 0x35, 0x7c, 0x09, 0x8c, 0x3e, 0xf6, 0xe7, 0x02, 0x47, 0x6f, 0xc9, 0x13, 0xeb, 0x5f, + 0x6d, 0x4d, 0x96, 0x38, 0x8d, 0x96, 0xc2, 0x96, 0xbc, 0x07, 0x43, 0x0b, 0xb3, 0x65, 0xf1, 0x30, + 0x90, 0x7b, 0x45, 0x3c, 0x15, 0x48, 0xd1, 0x47, 0x04, 0x22, 0xc1, 0xf7, 0x36, 0xed, 0x35, 0x3d, + 0xf9, 0x2e, 0x30, 0xe4, 0xc2, 0xb4, 0x85, 0xbf, 0xdc, 0x11, 0xa7, 0x0b, 0x81, 0xb6, 0x44, 0xdf, + 0xf3, 0xc4, 0x65, 0xc5, 0xb1, 0x31, 0x6d, 0x19, 0x3c, 0xc0, 0xe8, 0x5e, 0x82, 0x89, 0x72, 0xa7, + 0xd3, 0x32, 0xa9, 0x81, 0xfa, 0xa2, 0x75, 0x5b, 0xd4, 0x15, 0x2e, 0x3f, 0xf8, 0x18, 0x44, 0xe7, + 0xc8, 0x3a, 0x3e, 0x47, 0xad, 0x3b, 0xdd, 0xa8, 0x7f, 0x66, 0xb2, 0xac, 0xfa, 0x67, 0xf2, 0x70, + 0x61, 0xda, 0xa1, 0xba, 0x47, 0x17, 0x66, 0xcb, 0xe5, 0x2e, 0xfa, 0xc8, 0xb5, 0x5a, 0xd4, 0x6a, + 0x1e, 0xcd, 0xb0, 0x7e, 0x0b, 0xc6, 0x82, 0x06, 0xd4, 0x1a, 0x76, 0x87, 0xca, 0x0f, 0xab, 0x1a, + 0x3e, 0xa6, 0xee, 0x32, 0x94, 0x16, 0x23, 0x25, 0xf7, 0xe0, 0x6c, 0x00, 0x29, 0xb7, 0x5a, 0xf6, + 0x86, 0x46, 0xbb, 0x2e, 0x77, 0x8c, 0x1d, 0xe4, 0x8e, 0xb1, 0x21, 0x07, 0x9d, 0xe1, 0xeb, 0x0e, + 0x23, 0xd0, 0xd2, 0x4a, 0xa9, 0x3f, 0x57, 0x80, 0x8b, 0x0f, 0xf4, 0x96, 0x69, 0x84, 0xa2, 0xd1, + 0xa8, 0xdb, 0xb1, 0x2d, 0x97, 0x1e, 0xa3, 0x51, 0x1a, 0x19, 0x0a, 0xc5, 0x43, 0x19, 0x0a, 0xc9, + 0x2e, 0xea, 0x3f, 0x70, 0x17, 0x95, 0xf6, 0xd5, 0x45, 0xff, 0x5b, 0x0e, 0xc6, 0x7d, 0xc7, 0x7f, + 0xf9, 0x11, 0xb7, 0xe4, 0x95, 0x8e, 0x47, 0x88, 0x31, 0x3f, 0x68, 0xc4, 0x93, 0x1a, 0x0c, 0xcc, + 0x3c, 0xe9, 0x98, 0x0e, 0x75, 0x77, 0xe1, 0xc4, 0xfd, 0x8c, 0x38, 0x2e, 0x99, 0xa0, 0xbc, 0x48, + 0xe2, 0xa4, 0x84, 0x83, 0xf1, 0x39, 0x1f, 0x7f, 0xfa, 0x30, 0xe5, 0xbf, 0x4c, 0xe7, 0xcf, 0xf9, + 0xc4, 0x13, 0x89, 0xc8, 0xfb, 0xcc, 0x90, 0x94, 0x3c, 0x0f, 0x85, 0x95, 0x95, 0x79, 0x31, 0x93, + 0x62, 0x44, 0x00, 0xcf, 0x93, 0xdf, 0x2b, 0x32, 0xac, 0xfa, 0xcf, 0xf2, 0x00, 0x4c, 0x15, 0xf8, + 0x70, 0x3d, 0x12, 0x25, 0x9c, 0x82, 0x41, 0x5f, 0xe0, 0x42, 0x0d, 0x03, 0xaf, 0xfd, 0x78, 0x47, + 0xc4, 0xeb, 0x0e, 0x5e, 0x68, 0x4c, 0xfa, 0x8e, 0xe4, 0xfc, 0x1e, 0x00, 0x77, 0x36, 0xe8, 0x48, + 0xee, 0xbb, 0x8f, 0x7f, 0x1a, 0x86, 0xc4, 0x8c, 0x67, 0x47, 0xce, 0xff, 0x1b, 0x3e, 0x50, 0x0b, + 0xf1, 0xb1, 0xa9, 0xb5, 0x74, 0x80, 0x85, 0xd8, 0x17, 0x2f, 0xef, 0x95, 0x53, 0xf1, 0x1e, 0xb2, + 0x78, 0xbf, 0x2e, 0xc4, 0xcb, 0x5f, 0xf0, 0x1c, 0x5b, 0xf1, 0x1e, 0xda, 0xd9, 0xb7, 0xfa, 0x8f, + 0x73, 0x40, 0x58, 0xb3, 0x96, 0x75, 0xd7, 0xdd, 0xb0, 0x1d, 0x83, 0x3b, 0xa7, 0x1f, 0x89, 0x60, + 0x0e, 0xef, 0xbe, 0xf2, 0xdb, 0x83, 0x70, 0x36, 0xe2, 0xf8, 0x7b, 0xcc, 0x27, 0xab, 0xeb, 0xd1, + 0xd1, 0xd4, 0xeb, 0xd5, 0xcb, 0x27, 0xe4, 0x0b, 0xd1, 0xfe, 0xc8, 0x03, 0x34, 0xe9, 0x26, 0xf4, + 0x25, 0x18, 0x11, 0x3f, 0xd8, 0x0a, 0xed, 0xdf, 0x74, 0xe1, 0x28, 0x75, 0x19, 0x40, 0x8b, 0xa0, + 0xc9, 0xab, 0x30, 0xc4, 0x06, 0x4c, 0x13, 0x83, 0x87, 0x0c, 0x84, 0x2f, 0x4a, 0x0c, 0x1f, 0x28, + 0xaf, 0x27, 0x01, 0xa5, 0xf4, 0x8e, 0x68, 0x70, 0x17, 0xef, 0x88, 0xbe, 0x0c, 0xc3, 0x65, 0xcb, + 0xb2, 0x3d, 0xdc, 0xa4, 0xbb, 0xe2, 0x6a, 0x22, 0xd3, 0x2a, 0x7f, 0x1e, 0x1f, 0xc7, 0x87, 0xf4, + 0xa9, 0x66, 0xb9, 0xcc, 0x90, 0xdc, 0xf2, 0x5f, 0xc5, 0x50, 0x47, 0x78, 0x95, 0xe3, 0xf5, 0x8c, + 0x23, 0x60, 0xc9, 0x47, 0x31, 0xd8, 0x79, 0xa3, 0xcb, 0x8e, 0xdd, 0xb1, 0x5d, 0x6a, 0x70, 0x41, + 0x0d, 0x87, 0xa1, 0x06, 0x3a, 0x02, 0x81, 0xef, 0xd8, 0x22, 0x81, 0x3c, 0x22, 0x45, 0xc8, 0x1a, + 0x9c, 0xf3, 0x2f, 0x8a, 0x83, 0x17, 0x83, 0xd5, 0x8a, 0xab, 0x8c, 0xe0, 0xab, 0x24, 0x12, 0x57, + 0x86, 0x6a, 0x65, 0xea, 0x8a, 0x7f, 0x2d, 0xe2, 0x3f, 0x39, 0xac, 0x9b, 0x86, 0xdc, 0xd5, 0xa9, + 0xfc, 0xc8, 0x0f, 0xc1, 0xf0, 0x82, 0xfe, 0xa4, 0xd2, 0x15, 0x67, 0x2f, 0xa3, 0xbb, 0xbf, 0x7d, + 0x69, 0xeb, 0x4f, 0xea, 0x86, 0x28, 0x17, 0xb3, 0x29, 0x64, 0x96, 0xa4, 0x0e, 0x17, 0x96, 0x1d, + 0xbb, 0x6d, 0x7b, 0xd4, 0x88, 0x3d, 0xbe, 0x3b, 0x13, 0xbe, 0xd6, 0xed, 0x08, 0x8a, 0x7a, 0x8f, + 0x57, 0x78, 0x19, 0x6c, 0x48, 0x1b, 0xce, 0x94, 0x5d, 0xb7, 0xdb, 0xa6, 0xe1, 0x0d, 0xd5, 0xf8, + 0x8e, 0x9f, 0xf1, 0x29, 0xe1, 0xb5, 0xfc, 0xb4, 0x8e, 0x45, 0xf9, 0x05, 0x55, 0xdd, 0x33, 0xe5, + 0x1a, 0xf1, 0x5b, 0xe2, 0xbc, 0xef, 0x16, 0x07, 0xc7, 0xc6, 0xcf, 0x68, 0x17, 0x93, 0x8d, 0x59, + 0x31, 0xbd, 0x16, 0x55, 0x7f, 0x27, 0x07, 0x10, 0x0a, 0x98, 0xbc, 0x14, 0x8d, 0x50, 0x94, 0x0b, + 0x2f, 0x3a, 0x44, 0xf4, 0x82, 0x48, 0x48, 0x22, 0x72, 0x19, 0x8a, 0x18, 0xe1, 0x22, 0x1f, 0x1e, + 0xac, 0x3e, 0x32, 0x2d, 0x43, 0x43, 0x28, 0xc3, 0x4a, 0x4f, 0xd1, 0x11, 0x8b, 0x97, 0xfa, 0xdc, + 0x2a, 0xac, 0xc0, 0x99, 0x5a, 0x77, 0xd5, 0xaf, 0x5b, 0x7a, 0x57, 0x87, 0x81, 0x36, 0xdc, 0xee, + 0x6a, 0xf0, 0x18, 0x35, 0x12, 0xc6, 0x24, 0x5a, 0x44, 0xfd, 0x95, 0x5c, 0x6c, 0x16, 0x3c, 0xc2, + 0x45, 0xef, 0x13, 0x49, 0x3f, 0x8d, 0xe4, 0xb4, 0xa4, 0xfe, 0xc5, 0x3c, 0x0c, 0x2f, 0xdb, 0x8e, + 0x27, 0x42, 0x86, 0x1c, 0xef, 0x55, 0x48, 0xda, 0x2b, 0x15, 0xf7, 0xb0, 0x57, 0xba, 0x0c, 0x45, + 0xc9, 0x45, 0x99, 0xdf, 0x8b, 0x18, 0x86, 0xa3, 0x21, 0x54, 0xfd, 0x91, 0x3c, 0xc0, 0x17, 0x5e, + 0x7e, 0xf9, 0x04, 0x0b, 0x48, 0xfd, 0xd9, 0x1c, 0x9c, 0x11, 0x17, 0x75, 0x52, 0xac, 0xaf, 0x01, + 0xff, 0x8a, 0x55, 0x1e, 0x97, 0x1c, 0xa4, 0xf9, 0x38, 0xb6, 0x04, 0xcc, 0x3c, 0x31, 0x3d, 0xbc, + 0xab, 0x90, 0x82, 0x7d, 0x51, 0x01, 0x93, 0x97, 0x00, 0x9f, 0x8e, 0xbc, 0xe4, 0x5f, 0x41, 0x16, + 0xc2, 0x75, 0x8f, 0x15, 0x98, 0x49, 0xbd, 0x86, 0x54, 0x7f, 0xbd, 0x08, 0xc5, 0x99, 0x27, 0xb4, + 0x71, 0xcc, 0xbb, 0x46, 0x3a, 0xd8, 0x2c, 0x1e, 0xf0, 0x60, 0x73, 0x3f, 0x3e, 0x15, 0xef, 0x86, + 0xfd, 0x59, 0x8a, 0x56, 0x1f, 0xeb, 0xf9, 0x78, 0xf5, 0x7e, 0x4f, 0x1f, 0x3f, 0x97, 0x9c, 0xff, + 0xaa, 0x00, 0x85, 0xda, 0xf4, 0xf2, 0xa9, 0xde, 0x1c, 0xa9, 0xde, 0xf4, 0xbe, 0xb3, 0x56, 0x83, + 0x6b, 0xa8, 0xc1, 0xd0, 0x4b, 0x34, 0x76, 0xe3, 0xf4, 0x87, 0x05, 0x18, 0xab, 0xcd, 0xae, 0x2c, + 0x4b, 0x27, 0xc1, 0xf7, 0xb8, 0x27, 0x1f, 0xfa, 0x94, 0xf1, 0x2e, 0xbd, 0x9c, 0xb0, 0x67, 0xee, + 0x57, 0x2d, 0xef, 0xb5, 0xdb, 0x0f, 0xf4, 0x56, 0x97, 0xe2, 0xd1, 0x0b, 0xf7, 0xfb, 0x75, 0xcd, + 0x0f, 0xe9, 0xcf, 0xe1, 0xc3, 0x7f, 0x9f, 0x01, 0x79, 0x0b, 0x0a, 0xf7, 0x85, 0x47, 0x46, 0x16, + 0x9f, 0x57, 0x6e, 0x71, 0x3e, 0x6c, 0x12, 0x2c, 0x74, 0x4d, 0x03, 0x39, 0xb0, 0x52, 0xac, 0xf0, + 0x1d, 0xb1, 0x00, 0xef, 0xaa, 0x70, 0xd3, 0x2f, 0x7c, 0xa7, 0x5a, 0x21, 0x35, 0x18, 0x5e, 0xa6, + 0x4e, 0xdb, 0xc4, 0x8e, 0xf2, 0xe7, 0xec, 0xde, 0x4c, 0xd8, 0x4e, 0x65, 0xb8, 0x13, 0x16, 0x42, + 0x66, 0x32, 0x17, 0xf2, 0x3e, 0x00, 0xb7, 0x51, 0x76, 0x19, 0x3f, 0xf2, 0x19, 0xb4, 0xfb, 0xb9, + 0x69, 0x99, 0x62, 0xe3, 0x49, 0xcc, 0xc8, 0x23, 0x18, 0x5f, 0xb0, 0x0d, 0x73, 0xcd, 0xe4, 0xae, + 0x97, 0x58, 0x41, 0x69, 0x67, 0x87, 0x27, 0x66, 0x4a, 0xb6, 0xa5, 0x72, 0x69, 0xd5, 0x24, 0x18, + 0xab, 0xff, 0x45, 0x3f, 0x14, 0x59, 0xb7, 0x9f, 0x8e, 0xdf, 0x83, 0x8c, 0xdf, 0x32, 0x8c, 0x3f, + 0xb4, 0x9d, 0x47, 0xa6, 0xd5, 0x0c, 0xbc, 0xe2, 0xc5, 0xde, 0x14, 0x3d, 0x79, 0x36, 0x38, 0xae, + 0x1e, 0x38, 0xd0, 0x6b, 0x09, 0xf2, 0x1d, 0x46, 0xf0, 0x1b, 0x00, 0xfc, 0xad, 0x3b, 0xd2, 0x0c, + 0x86, 0xc1, 0x2a, 0xf8, 0x4b, 0x78, 0x74, 0xb4, 0x97, 0x83, 0x55, 0x84, 0xc4, 0x6c, 0x13, 0xce, + 0x7d, 0x21, 0x86, 0xd0, 0xef, 0x1e, 0x37, 0xe1, 0xe8, 0x0b, 0x21, 0x1b, 0x01, 0xdc, 0x2b, 0x62, + 0x19, 0x40, 0xba, 0x5f, 0x82, 0x98, 0x20, 0x22, 0x93, 0x83, 0x08, 0x0f, 0x97, 0x72, 0xbd, 0xa4, + 0x49, 0x3c, 0xc8, 0x6b, 0xb1, 0x0b, 0x70, 0x12, 0xe1, 0x96, 0x79, 0xff, 0x1d, 0x3a, 0x50, 0x8d, + 0xec, 0xe4, 0x40, 0xa5, 0x7e, 0x35, 0x0f, 0x43, 0xb5, 0xee, 0xaa, 0xbb, 0xe9, 0x7a, 0xb4, 0x7d, + 0xcc, 0xd5, 0xd8, 0xdf, 0x5e, 0x15, 0x53, 0xb7, 0x57, 0xcf, 0xfb, 0x42, 0x91, 0xce, 0x1d, 0x03, + 0x93, 0xce, 0x17, 0xc7, 0xdf, 0xcc, 0xc3, 0x38, 0xbf, 0x38, 0xab, 0x98, 0x6e, 0xe3, 0x10, 0x9c, + 0xf9, 0x8f, 0x5e, 0x2a, 0x07, 0xbb, 0x6c, 0xde, 0xc5, 0x13, 0x09, 0xf5, 0x2b, 0x79, 0x18, 0x2e, + 0x77, 0xbd, 0xf5, 0xb2, 0x87, 0xba, 0x75, 0x22, 0xf7, 0x27, 0x7f, 0x2f, 0x07, 0x67, 0x58, 0x43, + 0x56, 0xec, 0x47, 0xd4, 0x3a, 0x84, 0x83, 0x47, 0xf9, 0x00, 0x31, 0xbf, 0xcf, 0x03, 0x44, 0x5f, + 0x96, 0x85, 0xbd, 0xc9, 0x12, 0x8f, 0xcb, 0x35, 0xbb, 0x45, 0x8f, 0xf7, 0x67, 0x1c, 0xe2, 0x71, + 0xb9, 0x2f, 0x90, 0x43, 0xb8, 0x9e, 0xf9, 0xfe, 0x12, 0xc8, 0x21, 0x9c, 0x2d, 0x7d, 0x7f, 0x08, + 0xe4, 0xdb, 0x39, 0x18, 0x9a, 0xb2, 0xbd, 0x63, 0x3e, 0xf0, 0xc5, 0x57, 0x1c, 0x6f, 0x35, 0xf7, + 0xbf, 0xe2, 0x78, 0xeb, 0xa6, 0xfa, 0x33, 0x79, 0x38, 0x27, 0x62, 0x83, 0x8b, 0xf3, 0x87, 0xd3, + 0xe9, 0x58, 0x0c, 0xb6, 0xa4, 0x68, 0x4e, 0xe7, 0x21, 0x21, 0x9a, 0x5f, 0x28, 0xc0, 0x39, 0x0c, + 0x65, 0xca, 0xb6, 0x65, 0xdf, 0x07, 0xb6, 0x08, 0x69, 0x44, 0x2f, 0x41, 0x17, 0x52, 0x2e, 0x41, + 0xff, 0xd5, 0xd6, 0xe4, 0x6b, 0x4d, 0xd3, 0x5b, 0xef, 0xae, 0xde, 0x68, 0xd8, 0xed, 0x9b, 0x4d, + 0x47, 0x7f, 0x6c, 0xf2, 0xeb, 0x3f, 0xbd, 0x75, 0x33, 0x48, 0xb3, 0xa1, 0x77, 0x4c, 0x91, 0x80, + 0xa3, 0x86, 0x7b, 0x1d, 0xc6, 0xd5, 0xbf, 0x3e, 0x75, 0x01, 0xee, 0xda, 0xa6, 0x25, 0x7c, 0x0a, + 0xb9, 0xa1, 0x5b, 0x63, 0xfb, 0xc3, 0x0f, 0x6c, 0xd3, 0xaa, 0xc7, 0x1d, 0x0b, 0xf7, 0x5a, 0x5f, + 0xc8, 0x5a, 0x93, 0xaa, 0x51, 0xff, 0xdb, 0x1c, 0x3c, 0x15, 0xd5, 0xe2, 0xef, 0x07, 0xdb, 0xf1, + 0xcf, 0xe6, 0xe1, 0xfc, 0x1d, 0x14, 0x4e, 0xe0, 0xc8, 0x71, 0x3a, 0x6f, 0x89, 0xc1, 0x99, 0x22, + 0x9b, 0x53, 0x8b, 0x32, 0x5b, 0x36, 0xa7, 0x93, 0xba, 0x90, 0xcd, 0x3f, 0xc8, 0xc1, 0xd9, 0xa5, + 0x6a, 0x65, 0xfa, 0xfb, 0x64, 0x44, 0x25, 0xbf, 0xe7, 0x98, 0x1b, 0x9c, 0x89, 0xef, 0x39, 0xe6, + 0xa6, 0xe7, 0x37, 0xf3, 0x70, 0xb6, 0x56, 0x5e, 0x98, 0xff, 0x7e, 0x99, 0xc1, 0xa7, 0x65, 0xaf, + 0x43, 0xff, 0x10, 0x4c, 0xd8, 0x02, 0xf2, 0x67, 0x3e, 0xb8, 0x95, 0xed, 0x8d, 0x98, 0x14, 0xca, + 0x31, 0x9f, 0xba, 0x0f, 0x45, 0x28, 0x4c, 0xf3, 0x23, 0xd4, 0xc7, 0x5c, 0xf3, 0xff, 0xcb, 0x12, + 0x0c, 0xdf, 0xeb, 0xae, 0x52, 0xe1, 0x9c, 0x72, 0xa2, 0x4f, 0x7e, 0x6f, 0xc1, 0xb0, 0x10, 0x03, + 0xde, 0x9a, 0x48, 0xc1, 0xf3, 0x44, 0x30, 0x14, 0x1e, 0x9f, 0x48, 0x26, 0x22, 0x97, 0xa1, 0xf8, + 0x80, 0x3a, 0xab, 0xf2, 0xbb, 0xd2, 0xc7, 0xd4, 0x59, 0xd5, 0x10, 0x4a, 0xe6, 0x43, 0x97, 0xf9, + 0xf2, 0x72, 0x15, 0x13, 0xa9, 0x88, 0x0b, 0x1b, 0xcc, 0x0c, 0x13, 0xf8, 0xbd, 0xe9, 0x1d, 0x93, + 0xa7, 0x60, 0x91, 0xdf, 0xb4, 0xc7, 0x4b, 0x92, 0x45, 0x98, 0x90, 0x1d, 0x9f, 0x78, 0x16, 0x91, + 0xc1, 0x14, 0x76, 0x69, 0xf9, 0x43, 0x92, 0x45, 0xc9, 0xbb, 0x30, 0xe2, 0x03, 0xd1, 0x85, 0x6b, + 0x28, 0x0c, 0x5d, 0x1f, 0xb0, 0x8a, 0xa5, 0x28, 0x8a, 0x14, 0x90, 0x19, 0xe0, 0x35, 0x04, 0xa4, + 0x30, 0x88, 0xb9, 0xc4, 0x45, 0x0a, 0x90, 0x57, 0x91, 0x01, 0x3e, 0xf3, 0x40, 0x67, 0x95, 0x61, + 0x7c, 0x74, 0x89, 0x2e, 0xf9, 0x8e, 0x80, 0xf3, 0xa7, 0xb5, 0x11, 0x32, 0xb2, 0x04, 0x10, 0x3a, + 0x15, 0x88, 0x00, 0x06, 0x7b, 0x76, 0x77, 0x90, 0x58, 0xc8, 0xd7, 0x81, 0xa3, 0xfb, 0xb9, 0x0e, + 0x54, 0xff, 0x51, 0x1e, 0x86, 0xcb, 0x9d, 0x4e, 0x30, 0x14, 0x5e, 0x82, 0x52, 0xb9, 0xd3, 0xb9, + 0xaf, 0x55, 0xe5, 0x50, 0xe6, 0x7a, 0xa7, 0x53, 0xef, 0x3a, 0xa6, 0xec, 0x13, 0xca, 0x89, 0xc8, + 0x34, 0x8c, 0x96, 0x3b, 0x9d, 0xe5, 0xee, 0x6a, 0xcb, 0x6c, 0x48, 0x99, 0x91, 0x78, 0xee, 0xb8, + 0x4e, 0xa7, 0xde, 0x41, 0x4c, 0x3c, 0x3d, 0x56, 0xb4, 0x0c, 0xf9, 0x32, 0x86, 0xfd, 0x11, 0x89, + 0x79, 0x78, 0xea, 0x0f, 0x35, 0x08, 0x62, 0x1e, 0xb6, 0xed, 0x46, 0x40, 0xc4, 0x83, 0xbd, 0x5f, + 0xf6, 0x43, 0xe6, 0xb3, 0x8a, 0x12, 0x09, 0x78, 0x42, 0x96, 0xe4, 0x33, 0x30, 0x50, 0xee, 0x74, + 0xa4, 0xfb, 0x26, 0x74, 0x2a, 0x62, 0xa5, 0xe2, 0xb9, 0xcf, 0x04, 0xd9, 0xa5, 0xb7, 0x61, 0x2c, + 0x5a, 0xd9, 0x9e, 0x82, 0xc5, 0x7f, 0x2f, 0x87, 0x1f, 0x74, 0xcc, 0x7d, 0x9a, 0x5f, 0x81, 0x42, + 0xb9, 0xd3, 0x11, 0xf3, 0xd1, 0xd9, 0x94, 0xfe, 0x88, 0x3f, 0x81, 0x2e, 0x77, 0x3a, 0xfe, 0xa7, + 0x1f, 0xf3, 0xc7, 0x11, 0xfb, 0xfa, 0xf4, 0x6f, 0xf3, 0x4f, 0x3f, 0xde, 0x0f, 0x17, 0xd4, 0x5f, + 0x2f, 0xc0, 0x99, 0x72, 0xa7, 0x73, 0x1a, 0x64, 0xfe, 0xb0, 0x1e, 0x5a, 0xbf, 0x0c, 0x20, 0x4d, + 0x8f, 0x03, 0xc1, 0xd3, 0xad, 0x61, 0x69, 0x6a, 0x54, 0x72, 0x9a, 0x44, 0xe4, 0xab, 0xdf, 0xe0, + 0x9e, 0xd4, 0xef, 0x2b, 0x05, 0x9c, 0x8a, 0x8f, 0x7b, 0xd0, 0xa8, 0x8f, 0x4b, 0xb7, 0x89, 0x3e, + 0x28, 0xed, 0xa9, 0x0f, 0xfe, 0x4e, 0x64, 0xf0, 0x60, 0xd0, 0xf2, 0xd3, 0x5e, 0xe8, 0x3f, 0x90, + 0x59, 0x3c, 0x26, 0x0b, 0x53, 0x44, 0xb2, 0xf1, 0x13, 0x29, 0x89, 0xb8, 0x4a, 0x0d, 0x86, 0xaa, + 0x9b, 0x86, 0x16, 0xa3, 0xf5, 0xfb, 0x70, 0x60, 0x4f, 0x7d, 0xb8, 0x95, 0xc7, 0xb7, 0xd3, 0x41, + 0x5c, 0xa6, 0x83, 0xef, 0x2e, 0x6e, 0x02, 0x70, 0xcf, 0x83, 0xc0, 0xad, 0x79, 0x94, 0x87, 0x60, + 0xe1, 0xf9, 0x95, 0x44, 0x08, 0x96, 0x90, 0x24, 0xf0, 0x90, 0x2a, 0xa4, 0x7a, 0x48, 0x5d, 0x87, + 0x41, 0x4d, 0xdf, 0x78, 0xaf, 0x4b, 0x9d, 0x4d, 0x61, 0xce, 0xf0, 0xb0, 0x87, 0xfa, 0x46, 0xfd, + 0x87, 0x19, 0x50, 0x0b, 0xd0, 0x44, 0x0d, 0x1e, 0xdf, 0x4b, 0x1e, 0x21, 0xfc, 0x8c, 0x3c, 0x78, + 0x72, 0xbf, 0x1f, 0x45, 0x27, 0x6f, 0x42, 0xa1, 0xfc, 0xb0, 0x26, 0x24, 0x1b, 0x74, 0x6d, 0xf9, + 0x61, 0x4d, 0xc8, 0x2b, 0xb3, 0xec, 0xc3, 0x9a, 0xfa, 0x95, 0x3c, 0x90, 0x24, 0x25, 0x79, 0x0d, + 0x86, 0x10, 0xda, 0x64, 0x3a, 0x23, 0x27, 0xe6, 0xdc, 0x70, 0xeb, 0x0e, 0x42, 0x23, 0xc6, 0x9d, + 0x4f, 0x4a, 0xde, 0xc0, 0xd4, 0xc7, 0x22, 0x35, 0x5c, 0x24, 0x31, 0xe7, 0x86, 0xeb, 0x27, 0x0b, + 0x8e, 0x65, 0x3e, 0x16, 0xc4, 0x68, 0x17, 0x3e, 0xac, 0xcd, 0xd9, 0xae, 0x27, 0x44, 0xcd, 0xed, + 0xc2, 0x0d, 0x17, 0x33, 0xc2, 0x46, 0xec, 0x42, 0x4e, 0x86, 0x59, 0xad, 0x1e, 0xd6, 0xf8, 0x33, + 0x15, 0x43, 0xb3, 0x5b, 0xbe, 0x41, 0xc9, 0xb3, 0x5a, 0x6d, 0xb8, 0x75, 0xfe, 0xc4, 0xc5, 0xc0, + 0x9c, 0xcb, 0x91, 0xac, 0x56, 0x91, 0x52, 0xea, 0xd7, 0x06, 0x61, 0xbc, 0xa2, 0x7b, 0xfa, 0xaa, + 0xee, 0x52, 0x69, 0x37, 0x7d, 0xc6, 0x87, 0xf9, 0x9f, 0x23, 0xc9, 0xc1, 0x58, 0x4d, 0xf9, 0x9a, + 0x78, 0x01, 0xf2, 0x56, 0xc8, 0x37, 0xc8, 0x39, 0x2a, 0x27, 0x31, 0x5b, 0xad, 0x77, 0x04, 0x58, + 0x4b, 0x10, 0x92, 0x17, 0x61, 0xd8, 0x87, 0xb1, 0x0d, 0x40, 0x21, 0xd4, 0x19, 0x63, 0x95, 0xd9, + 0xff, 0x9a, 0x8c, 0x26, 0x6f, 0xc0, 0x88, 0xff, 0x53, 0x32, 0xad, 0x79, 0x46, 0xb6, 0xd5, 0xc4, + 0xee, 0x49, 0x26, 0x95, 0x8b, 0xe2, 0xfc, 0xd6, 0x1f, 0x29, 0x1a, 0x4b, 0x7a, 0x16, 0x21, 0x25, + 0x3f, 0x0c, 0x63, 0xfe, 0x6f, 0xb1, 0x61, 0xe0, 0xf9, 0xe1, 0x5e, 0x0c, 0x52, 0x3a, 0xc7, 0xc4, + 0x7a, 0x23, 0x4a, 0xce, 0xb7, 0x0e, 0x4f, 0xfb, 0x79, 0xbc, 0x8c, 0xd5, 0xe4, 0xce, 0x21, 0x56, + 0x01, 0xa9, 0xc2, 0x84, 0x0f, 0x09, 0x35, 0x74, 0x20, 0xdc, 0x31, 0x1a, 0xab, 0xf5, 0x54, 0x25, + 0x4d, 0x96, 0x22, 0x2d, 0xb8, 0x1c, 0x01, 0x1a, 0xee, 0xba, 0xb9, 0xe6, 0x89, 0xed, 0x9e, 0x88, + 0x41, 0x2c, 0x12, 0x37, 0x06, 0x5c, 0x39, 0x8d, 0x9f, 0x81, 0x35, 0x9a, 0x1d, 0xaa, 0x27, 0x37, + 0x52, 0x83, 0x73, 0x3e, 0xfe, 0xce, 0xf4, 0xf2, 0xb2, 0x63, 0x7f, 0x40, 0x1b, 0x5e, 0xb5, 0x22, + 0xb6, 0xcb, 0x18, 0x9b, 0xce, 0x58, 0xad, 0x37, 0x1b, 0x1d, 0xa6, 0x14, 0x0c, 0x17, 0x65, 0x9e, + 0x5a, 0x98, 0x3c, 0x80, 0xf3, 0x12, 0x5c, 0x4a, 0x0f, 0x0d, 0xe1, 0x7e, 0x5e, 0x70, 0x4d, 0xcf, + 0x10, 0x9d, 0x5e, 0x9c, 0xbc, 0x0d, 0xa3, 0x3e, 0x82, 0xdf, 0x22, 0x0e, 0xe3, 0x2d, 0x22, 0x0e, + 0x49, 0x63, 0xb5, 0x1e, 0x7f, 0x4d, 0x19, 0x25, 0x96, 0x35, 0x0a, 0x33, 0xea, 0x8f, 0x44, 0x34, + 0xca, 0xdb, 0xec, 0xa4, 0x2a, 0x23, 0x66, 0xd9, 0x7f, 0x37, 0xd4, 0xa8, 0x25, 0xc7, 0x6c, 0x9a, + 0x7c, 0x27, 0xed, 0x3f, 0xa0, 0x5c, 0xad, 0xdb, 0x08, 0x4c, 0xd3, 0x0f, 0x4e, 0x7e, 0xa9, 0x0c, + 0x67, 0x53, 0x74, 0x6c, 0x4f, 0x3b, 0xc6, 0xaf, 0xe6, 0xc3, 0x46, 0x1c, 0xf3, 0x6d, 0xe3, 0x14, + 0x0c, 0xfa, 0x5f, 0x22, 0x8c, 0x07, 0x25, 0x6b, 0x68, 0xc6, 0x79, 0xf8, 0xf8, 0x88, 0x38, 0x8e, + 0xf9, 0x56, 0xf2, 0x30, 0xc4, 0xf1, 0x9d, 0x5c, 0x28, 0x8e, 0x63, 0xbe, 0xbd, 0xfc, 0x07, 0x85, + 0x70, 0x4e, 0x3a, 0xdd, 0x63, 0x1e, 0x96, 0x99, 0x1c, 0xfa, 0xc1, 0x96, 0xf6, 0xf0, 0x90, 0x51, + 0x56, 0xcd, 0x81, 0x7d, 0xaa, 0xe6, 0x3f, 0x49, 0xf6, 0x27, 0x37, 0x3d, 0x8f, 0x65, 0x7f, 0x1e, + 0xc2, 0x60, 0x25, 0xb7, 0xc2, 0x75, 0x8c, 0xdb, 0xe8, 0xfd, 0x52, 0x88, 0xbf, 0x55, 0x61, 0xa2, + 0x47, 0x49, 0xc8, 0x0f, 0xc0, 0xc5, 0x08, 0x60, 0x59, 0x77, 0xf4, 0x36, 0xf5, 0xc2, 0x8c, 0x83, + 0x18, 0xb4, 0xc9, 0x2f, 0x5d, 0xef, 0x04, 0x68, 0x39, 0x8b, 0x61, 0x06, 0x07, 0x49, 0x39, 0x06, + 0xf6, 0xe0, 0x24, 0xfd, 0xd3, 0x85, 0xd0, 0x54, 0x89, 0x06, 0x5f, 0xd5, 0xa8, 0xdb, 0x6d, 0x79, + 0x27, 0xb7, 0x83, 0xf7, 0x97, 0xda, 0x62, 0x0e, 0xce, 0x94, 0xd7, 0xd6, 0x68, 0xc3, 0xf3, 0x63, + 0x4a, 0xbb, 0x22, 0xdc, 0x1e, 0xdf, 0x3a, 0x08, 0x94, 0x88, 0x11, 0x1c, 0xc9, 0x8d, 0x1f, 0x2b, + 0xa6, 0xfe, 0xd3, 0x22, 0x28, 0x81, 0xe9, 0x1e, 0x3c, 0xd4, 0x3a, 0xc2, 0x65, 0xf2, 0x63, 0xd1, + 0x2b, 0x26, 0x4c, 0x84, 0xc2, 0xa8, 0x75, 0xdb, 0x6d, 0x1d, 0x87, 0x1e, 0xdb, 0x1a, 0x4c, 0xc6, + 0x99, 0x85, 0x84, 0x7c, 0x37, 0x70, 0x49, 0xec, 0x06, 0x48, 0xf8, 0x10, 0xae, 0xee, 0x72, 0x16, + 0x5a, 0x92, 0x2b, 0xf9, 0x7a, 0x0e, 0xce, 0xf9, 0x9d, 0xb2, 0xb4, 0xca, 0xcc, 0xe2, 0x69, 0xbb, + 0x6b, 0x79, 0xfe, 0x4e, 0xe4, 0xcd, 0xec, 0xea, 0x78, 0x27, 0xdd, 0x48, 0x2b, 0xcc, 0x5b, 0x12, + 0x04, 0x96, 0x08, 0x14, 0xc2, 0x46, 0x9a, 0x7a, 0x03, 0x89, 0xb4, 0xd4, 0x7a, 0x2f, 0xdd, 0x81, + 0xa7, 0x32, 0x59, 0xee, 0x64, 0x86, 0xf6, 0xcb, 0x66, 0xe8, 0x7f, 0x9f, 0x0b, 0x27, 0xa2, 0x98, + 0x90, 0xc8, 0x0d, 0x80, 0x10, 0x24, 0x36, 0xa6, 0x63, 0xdb, 0x5b, 0x93, 0x10, 0x0a, 0x4d, 0x93, + 0x28, 0xc8, 0x12, 0x94, 0x84, 0x58, 0x78, 0x76, 0xdf, 0x4f, 0xef, 0xd0, 0x0b, 0x37, 0x64, 0x39, + 0xe0, 0xa6, 0x53, 0x7c, 0xb3, 0x60, 0x73, 0xe9, 0x0d, 0x18, 0xde, 0xef, 0x77, 0x7d, 0xbd, 0x00, + 0x44, 0xde, 0x45, 0x1e, 0xa1, 0x89, 0x7d, 0x8c, 0xa7, 0xb0, 0x6b, 0x30, 0xc8, 0x3e, 0x01, 0xf3, + 0x5d, 0x48, 0xf1, 0x6d, 0xbb, 0x02, 0xa6, 0x05, 0xd8, 0x30, 0xb8, 0xd4, 0x40, 0x7a, 0x70, 0x29, + 0xf5, 0xa7, 0x0a, 0x70, 0x41, 0xee, 0x90, 0x0a, 0xc5, 0x90, 0xf9, 0xa7, 0x9d, 0xf2, 0x11, 0x76, + 0x8a, 0x0a, 0x25, 0xbe, 0x79, 0x10, 0xb9, 0x0b, 0xf8, 0xc1, 0x0e, 0x42, 0x34, 0x81, 0x51, 0xff, + 0x97, 0x3c, 0x8c, 0x2e, 0xdb, 0xae, 0xd7, 0x74, 0xa8, 0xbb, 0xac, 0x3b, 0xee, 0x09, 0xee, 0x8e, + 0xcf, 0xc2, 0x28, 0x86, 0x07, 0x6a, 0x53, 0x8b, 0x87, 0xd0, 0xe9, 0x97, 0x92, 0x8d, 0xf8, 0x08, + 0x91, 0x57, 0x2a, 0x42, 0xc8, 0xb4, 0x9f, 0x5b, 0x7e, 0x52, 0xd0, 0x26, 0x6e, 0xf6, 0x71, 0xb8, + 0xfa, 0x97, 0x0a, 0x30, 0xe2, 0x4b, 0x79, 0xca, 0x3c, 0xae, 0x37, 0x35, 0x47, 0x2b, 0xe4, 0x9b, + 0x00, 0xcb, 0xb6, 0xe3, 0xe9, 0xad, 0xc5, 0x50, 0xf3, 0xf1, 0x88, 0xb3, 0x83, 0x50, 0x5e, 0x46, + 0x22, 0xc1, 0xf5, 0x2b, 0x34, 0xab, 0xf9, 0xc4, 0xc4, 0xd7, 0xaf, 0x00, 0xaa, 0x49, 0x14, 0xea, + 0x6f, 0xe7, 0xe1, 0x8c, 0xdf, 0x49, 0x33, 0x4f, 0x68, 0xa3, 0x7b, 0x92, 0xe7, 0xa6, 0xa8, 0xb4, + 0xfb, 0x77, 0x94, 0xb6, 0xfa, 0x7f, 0x49, 0x13, 0xc9, 0x74, 0xcb, 0x3e, 0x9d, 0x48, 0xfe, 0x28, + 0x74, 0x5c, 0xfd, 0xd1, 0x02, 0x9c, 0xf3, 0xa5, 0x3e, 0xdb, 0xb5, 0xf0, 0x70, 0x60, 0x5a, 0x6f, + 0xb5, 0x4e, 0xf2, 0x6e, 0x7c, 0xd8, 0x17, 0xc4, 0x92, 0x88, 0xb7, 0x27, 0x72, 0xfc, 0xad, 0x09, + 0x70, 0xdd, 0x36, 0x0d, 0x4d, 0x26, 0x22, 0xef, 0xc2, 0x88, 0xff, 0xb3, 0xec, 0x34, 0xfd, 0x2d, + 0x38, 0x1e, 0xf5, 0x07, 0x85, 0x74, 0x27, 0x12, 0x56, 0x20, 0x52, 0x40, 0xfd, 0xca, 0x00, 0x5c, + 0x7a, 0x68, 0x5a, 0x86, 0xbd, 0xe1, 0xfa, 0x29, 0x22, 0x8f, 0xfd, 0x51, 0xd7, 0x51, 0xa7, 0x86, + 0x7c, 0x0f, 0xce, 0xc7, 0x45, 0xea, 0x04, 0x81, 0xbb, 0x45, 0xef, 0x6c, 0x70, 0x82, 0xba, 0x9f, + 0x2c, 0x52, 0xdc, 0x97, 0x69, 0xe9, 0x25, 0xe3, 0xd9, 0x26, 0x07, 0x76, 0x93, 0x6d, 0xf2, 0x05, + 0x28, 0x55, 0xec, 0xb6, 0x6e, 0xfa, 0x01, 0x66, 0x70, 0x14, 0x07, 0xf5, 0x22, 0x46, 0x13, 0x14, + 0x8c, 0xbf, 0xa8, 0x18, 0xbb, 0x6c, 0x28, 0xe4, 0xef, 0x17, 0x60, 0x56, 0x9a, 0x26, 0x13, 0x11, + 0x1b, 0x46, 0x45, 0x75, 0xe2, 0x76, 0x0b, 0x70, 0xf3, 0xf4, 0xaa, 0x2f, 0xa3, 0x6c, 0xb5, 0xba, + 0x11, 0x29, 0xc7, 0xb7, 0x51, 0x3c, 0x09, 0xa6, 0xf8, 0x18, 0x7e, 0xcf, 0xa5, 0x45, 0xf9, 0x4b, + 0x42, 0xc0, 0x49, 0x66, 0x38, 0x29, 0x04, 0x9c, 0x65, 0x64, 0x22, 0x32, 0x03, 0x13, 0x18, 0x5e, + 0x39, 0xd8, 0x4a, 0x31, 0x95, 0x18, 0x41, 0xa3, 0x12, 0x2f, 0x4d, 0x78, 0x44, 0x66, 0xf6, 0x71, + 0xf5, 0x86, 0x40, 0x6b, 0xc9, 0x12, 0xe4, 0x29, 0x28, 0x2c, 0xce, 0x97, 0xf1, 0xb6, 0x65, 0x90, + 0xa7, 0x36, 0xb2, 0x5a, 0xba, 0xc6, 0x60, 0x97, 0x3e, 0x0f, 0x24, 0xf9, 0x39, 0x7b, 0xba, 0x51, + 0xf9, 0xaf, 0xa5, 0x2d, 0xdf, 0x71, 0xf7, 0x89, 0x39, 0x8c, 0x89, 0x30, 0x92, 0x55, 0xac, 0xff, + 0xa3, 0xcc, 0x2a, 0x56, 0x3a, 0xd4, 0xac, 0x62, 0xea, 0x2f, 0xe7, 0x60, 0x22, 0x11, 0x82, 0x9c, + 0xbc, 0x02, 0xc0, 0x21, 0x52, 0xa8, 0x47, 0x8c, 0x9d, 0x12, 0x86, 0x25, 0x17, 0xcb, 0x63, 0x48, + 0x46, 0x6e, 0xc2, 0x20, 0xff, 0x25, 0xc2, 0x33, 0x25, 0x8b, 0x74, 0xbb, 0xa6, 0xa1, 0x05, 0x44, + 0x61, 0x2d, 0x78, 0xa7, 0x58, 0x48, 0x2d, 0xe2, 0x6d, 0x76, 0x82, 0x5a, 0x18, 0x99, 0xfa, 0xb5, + 0x3c, 0x8c, 0x04, 0x0d, 0x2e, 0x1b, 0x47, 0xa5, 0x73, 0x25, 0x11, 0xcd, 0xbd, 0xb0, 0x53, 0x34, + 0xf7, 0xd8, 0x7c, 0x2b, 0xc2, 0xb7, 0x1f, 0xde, 0x93, 0xa8, 0x6f, 0xe4, 0xe1, 0x4c, 0x50, 0xeb, + 0x11, 0x5e, 0x5f, 0x7d, 0x8c, 0x44, 0xf2, 0xf5, 0x1c, 0x28, 0x53, 0x66, 0xab, 0x65, 0x5a, 0xcd, + 0xaa, 0xb5, 0x66, 0x3b, 0x6d, 0x9c, 0x10, 0x8f, 0xee, 0x08, 0x57, 0xfd, 0x13, 0x39, 0x98, 0x10, + 0x0d, 0x9a, 0xd6, 0x1d, 0xe3, 0xe8, 0xce, 0xc7, 0xe2, 0x2d, 0x39, 0x3a, 0x7d, 0x51, 0xbf, 0x95, + 0x07, 0x98, 0xb7, 0x1b, 0x8f, 0x8e, 0xf9, 0x8b, 0xaa, 0xb7, 0xa0, 0xc4, 0x63, 0x64, 0x09, 0x8d, + 0x9d, 0x10, 0x2f, 0x87, 0xd8, 0xa7, 0x71, 0xc4, 0xd4, 0xb8, 0x98, 0x8f, 0x4b, 0x3c, 0xc6, 0x96, + 0x92, 0xd3, 0x44, 0x11, 0x56, 0x29, 0xa3, 0x13, 0x0b, 0x46, 0x50, 0x29, 0x83, 0x45, 0x2b, 0xdd, + 0xde, 0x9a, 0x2c, 0xb6, 0xec, 0xc6, 0x23, 0x0d, 0xe9, 0xd5, 0x7f, 0x9d, 0xe3, 0xb2, 0x3b, 0xe6, + 0xef, 0x42, 0xfd, 0xcf, 0x2f, 0xee, 0xf1, 0xf3, 0xff, 0x64, 0x0e, 0xce, 0x69, 0xb4, 0x61, 0x3f, + 0xa6, 0xce, 0xe6, 0xb4, 0x6d, 0xd0, 0x3b, 0xd4, 0xa2, 0xce, 0x51, 0x8d, 0xa8, 0xff, 0x1c, 0xd3, + 0x5f, 0x84, 0x8d, 0xb9, 0xef, 0x52, 0xe3, 0xf8, 0xa4, 0x26, 0x51, 0x7f, 0x6d, 0x00, 0x94, 0x54, + 0xab, 0xf7, 0xd8, 0x9a, 0x73, 0x99, 0x5b, 0x99, 0xe2, 0x61, 0x6d, 0x65, 0xfa, 0xf7, 0xb6, 0x95, + 0x29, 0xed, 0x75, 0x2b, 0x33, 0xb0, 0x9b, 0xad, 0x4c, 0x3b, 0xbe, 0x95, 0x19, 0xc4, 0xad, 0xcc, + 0x2b, 0x3d, 0xb7, 0x32, 0x33, 0x96, 0xb1, 0xcf, 0x8d, 0xcc, 0xb1, 0x4d, 0x9b, 0xbb, 0x9f, 0x1d, + 0xd8, 0x35, 0x36, 0x29, 0x36, 0x6c, 0xc7, 0xa0, 0x86, 0xd8, 0x78, 0xe1, 0xa9, 0xbf, 0x23, 0x60, + 0x5a, 0x80, 0x4d, 0xe4, 0x20, 0x1e, 0xdd, 0x4d, 0x0e, 0xe2, 0x43, 0xd8, 0x7f, 0x7d, 0x35, 0x0f, + 0x13, 0xd3, 0xd4, 0xf1, 0x78, 0x10, 0xce, 0xc3, 0x70, 0x6a, 0x2b, 0xc3, 0x19, 0x89, 0x21, 0x5a, + 0xe4, 0xf9, 0xd0, 0x51, 0xaf, 0x41, 0x1d, 0x2f, 0xee, 0xe7, 0x17, 0xa7, 0x67, 0xd5, 0xfb, 0x79, + 0xc0, 0xc4, 0xd8, 0x0d, 0xaa, 0xf7, 0xe1, 0x5c, 0x90, 0xa6, 0xf8, 0xa5, 0x05, 0xf4, 0x52, 0x6a, + 0xaf, 0xe2, 0xde, 0x53, 0x7b, 0xa9, 0xbf, 0x94, 0x83, 0xab, 0x1a, 0xb5, 0xe8, 0x86, 0xbe, 0xda, + 0xa2, 0x52, 0xb3, 0xc4, 0xca, 0xc0, 0x66, 0x0d, 0xd3, 0x6d, 0xeb, 0x5e, 0x63, 0xfd, 0x40, 0x32, + 0x9a, 0x85, 0x11, 0x79, 0xfe, 0xda, 0xc3, 0xdc, 0x16, 0x29, 0xa7, 0xfe, 0x5a, 0x11, 0x06, 0xa6, + 0x6c, 0xef, 0xae, 0x7d, 0xc0, 0x5c, 0x73, 0xe1, 0x94, 0x9f, 0xdf, 0xc3, 0x59, 0xcf, 0x67, 0xb0, + 0x72, 0x29, 0xfc, 0x3e, 0x3a, 0x81, 0xae, 0xda, 0x89, 0x34, 0x05, 0x3e, 0xd9, 0x1e, 0xb3, 0xcc, + 0xbd, 0x06, 0x43, 0x18, 0xbf, 0x45, 0x3a, 0x8d, 0x45, 0x17, 0x6b, 0x8f, 0x01, 0xe3, 0x75, 0x84, + 0xa4, 0xe4, 0x07, 0x22, 0x51, 0x43, 0x4b, 0x07, 0xcf, 0x4a, 0x27, 0x07, 0x10, 0x7d, 0x85, 0x5f, + 0xe4, 0x61, 0x9b, 0xa4, 0x0c, 0x1e, 0x78, 0x8a, 0x12, 0x6b, 0x52, 0x40, 0x78, 0x88, 0x19, 0xe3, + 0xa6, 0x61, 0x74, 0xca, 0xf6, 0x24, 0x77, 0xde, 0xa1, 0xf0, 0x21, 0x27, 0x93, 0x7c, 0xba, 0x2f, + 0x6f, 0xb4, 0x8c, 0xfa, 0x87, 0x45, 0x18, 0xf1, 0x7f, 0x1e, 0x91, 0xee, 0xbc, 0x04, 0xa5, 0x39, + 0x5b, 0x4a, 0x62, 0x80, 0x2e, 0xc0, 0xeb, 0xb6, 0x1b, 0xf3, 0x6d, 0x16, 0x44, 0x4c, 0xea, 0x8b, + 0xb6, 0x21, 0x3b, 0xb0, 0xa3, 0xd4, 0x2d, 0xdb, 0x48, 0x3c, 0x00, 0x0e, 0x08, 0xc9, 0x55, 0x28, + 0xa2, 0xef, 0xbf, 0x74, 0x90, 0x1f, 0xf3, 0xf7, 0x47, 0xbc, 0xa4, 0x95, 0xa5, 0xbd, 0x6a, 0xe5, + 0xc0, 0x7e, 0xb5, 0x72, 0xf0, 0x70, 0xb5, 0xf2, 0x7d, 0x18, 0xc1, 0x9a, 0xfc, 0x1c, 0x68, 0x3b, + 0x2f, 0xac, 0x4f, 0x89, 0xb5, 0x6f, 0x94, 0xb7, 0x5b, 0x64, 0x42, 0xc3, 0x25, 0x2f, 0xc2, 0x2a, + 0xa6, 0xbb, 0x70, 0x80, 0xed, 0xf4, 0x3f, 0xc9, 0xc1, 0xc0, 0x7d, 0xeb, 0x91, 0x65, 0x6f, 0x1c, + 0x4c, 0xe3, 0x5e, 0x81, 0x61, 0xc1, 0x46, 0x5a, 0x5d, 0xf0, 0x4d, 0x77, 0x97, 0x83, 0xeb, 0xc8, + 0x49, 0x93, 0xa9, 0xc8, 0xdb, 0x41, 0x21, 0x7c, 0xde, 0x53, 0x08, 0xd3, 0x80, 0xf8, 0x85, 0x1a, + 0xd1, 0xcc, 0x05, 0x32, 0x39, 0xb9, 0x0c, 0xc5, 0x0a, 0x6b, 0xaa, 0x14, 0x07, 0x97, 0x35, 0x45, + 0x43, 0xa8, 0xfa, 0xd5, 0x22, 0x8c, 0xc5, 0x0e, 0xbe, 0x5e, 0x80, 0x21, 0x71, 0xf0, 0x64, 0xfa, + 0xa9, 0x14, 0xf0, 0xf9, 0x4f, 0x00, 0xd4, 0x06, 0xf9, 0x9f, 0x55, 0x83, 0x7c, 0x0e, 0x06, 0x6c, + 0x17, 0x17, 0x45, 0xfc, 0x96, 0xb1, 0x70, 0x08, 0x2d, 0xd5, 0x58, 0xdb, 0xf9, 0xe0, 0x10, 0x24, + 0xb2, 0x46, 0xda, 0x2e, 0x7e, 0xda, 0x6d, 0x18, 0xd2, 0x5d, 0x97, 0x7a, 0x75, 0x4f, 0x6f, 0xca, + 0xd9, 0x15, 0x02, 0xa0, 0x3c, 0x3a, 0x10, 0xb8, 0xa2, 0x37, 0xc9, 0xe7, 0x61, 0xb4, 0xe1, 0x50, + 0x5c, 0x36, 0xf5, 0x16, 0x6b, 0xa5, 0x64, 0xd6, 0x46, 0x10, 0xf2, 0xfd, 0x49, 0x88, 0xa8, 0x1a, + 0xe4, 0x01, 0x8c, 0x8a, 0xcf, 0xe1, 0xbe, 0xf7, 0x38, 0xd0, 0xc6, 0xc2, 0x65, 0x8c, 0x8b, 0x84, + 0x7b, 0xdf, 0x8b, 0x27, 0x18, 0x32, 0xb9, 0xcc, 0xd7, 0x90, 0x48, 0xc9, 0x12, 0x90, 0x0d, 0xba, + 0x5a, 0xd7, 0xbb, 0xde, 0x3a, 0xab, 0x8b, 0x07, 0x07, 0x17, 0x49, 0x05, 0xf1, 0xdd, 0x42, 0x12, + 0x2b, 0x3f, 0xe7, 0xd8, 0xa0, 0xab, 0xe5, 0x08, 0x92, 0x3c, 0x84, 0xf3, 0xc9, 0x22, 0xec, 0x93, + 0xf9, 0xe5, 0xc0, 0xf3, 0xdb, 0x5b, 0x93, 0x93, 0xa9, 0x04, 0x12, 0xdb, 0xb3, 0x09, 0xb6, 0x55, + 0xe3, 0x6e, 0x71, 0x70, 0x60, 0x7c, 0x50, 0x1b, 0x63, 0x65, 0x7d, 0x13, 0xd2, 0x34, 0xd4, 0xdf, + 0xcd, 0x31, 0x53, 0x91, 0x7d, 0x10, 0x66, 0x55, 0x66, 0xba, 0xde, 0xde, 0xa3, 0xae, 0xb7, 0xc3, + 0xfc, 0x87, 0x25, 0xb7, 0xc7, 0xec, 0xaa, 0x09, 0x2c, 0xb9, 0x01, 0x25, 0x43, 0x3e, 0x35, 0xbb, + 0x10, 0xed, 0x04, 0xbf, 0x1e, 0x4d, 0x50, 0x91, 0x6b, 0x50, 0x64, 0x4b, 0x56, 0x7c, 0xcb, 0x2c, + 0x5b, 0x17, 0x1a, 0x52, 0xa8, 0x3f, 0x92, 0x87, 0x11, 0xe9, 0x6b, 0x6e, 0x1d, 0xe8, 0x73, 0xde, + 0xdc, 0x5d, 0x33, 0x7d, 0xa7, 0x17, 0xdc, 0x4b, 0xf9, 0x4d, 0xbe, 0x1d, 0x88, 0x62, 0x57, 0x17, + 0x52, 0x42, 0x30, 0xaf, 0x89, 0x0f, 0x2d, 0xed, 0x7e, 0xfb, 0xc8, 0xe8, 0xef, 0x16, 0x07, 0xf3, + 0xe3, 0x85, 0xbb, 0xc5, 0xc1, 0xe2, 0x78, 0x3f, 0x46, 0xd2, 0xc2, 0xe0, 0xd5, 0x7c, 0x6f, 0x6e, + 0xad, 0x99, 0xcd, 0x63, 0xfe, 0xfa, 0xe3, 0x70, 0xa3, 0x8c, 0xc5, 0x64, 0x73, 0xcc, 0x9f, 0x82, + 0x7c, 0xa4, 0xb2, 0x39, 0xcd, 0x97, 0x28, 0x64, 0xf3, 0x4f, 0x73, 0xa0, 0xa4, 0xca, 0xa6, 0x7c, + 0x44, 0x7e, 0x10, 0x87, 0x97, 0x35, 0xf1, 0xf7, 0xf3, 0x30, 0x51, 0xb5, 0x3c, 0xda, 0xe4, 0x3b, + 0xc6, 0x63, 0x3e, 0x55, 0xdc, 0x83, 0x61, 0xe9, 0x63, 0x44, 0x9f, 0x3f, 0x1d, 0xec, 0xc7, 0x43, + 0x54, 0x06, 0x27, 0xb9, 0xf4, 0x21, 0x26, 0x5a, 0x8f, 0x09, 0xf9, 0x98, 0xcf, 0x39, 0xc7, 0x43, + 0xc8, 0xc7, 0x7c, 0xf2, 0xfa, 0x98, 0x0a, 0xf9, 0xff, 0xc8, 0xc1, 0xd9, 0x94, 0xca, 0xc9, 0x55, + 0x18, 0xa8, 0x75, 0x57, 0x31, 0x70, 0x56, 0x2e, 0xf4, 0x18, 0x76, 0xbb, 0xab, 0x18, 0x33, 0x4b, + 0xf3, 0x91, 0x64, 0x05, 0x9f, 0xc7, 0x2f, 0x55, 0x2b, 0xd3, 0x42, 0xaa, 0xaa, 0xf4, 0xd0, 0x9f, + 0x81, 0xd3, 0xbe, 0x2c, 0x78, 0x42, 0x6f, 0x9b, 0x46, 0x23, 0xf6, 0x84, 0x9e, 0x95, 0x21, 0x3f, + 0x08, 0x43, 0xe5, 0x0f, 0xbb, 0x0e, 0x45, 0xbe, 0x5c, 0xe2, 0x9f, 0x08, 0xf8, 0xfa, 0x88, 0x34, + 0xce, 0x3c, 0x1a, 0x00, 0xa3, 0x88, 0xf3, 0x0e, 0x19, 0xaa, 0x5f, 0xcb, 0xc1, 0xa5, 0xec, 0xd6, + 0x91, 0xcf, 0xc0, 0x00, 0xdb, 0x99, 0x97, 0xb5, 0x45, 0xf1, 0xe9, 0x3c, 0xc3, 0xa8, 0xdd, 0xa2, + 0x75, 0xdd, 0x91, 0x8d, 0x7d, 0x9f, 0x8c, 0xbc, 0x03, 0xc3, 0x55, 0xd7, 0xed, 0x52, 0xa7, 0xf6, + 0xca, 0x7d, 0xad, 0x2a, 0xf6, 0x84, 0xb8, 0xe7, 0x30, 0x11, 0x5c, 0x77, 0x5f, 0x89, 0x85, 0xc6, + 0x92, 0xe9, 0xd5, 0x1f, 0xcf, 0xc1, 0xe5, 0x5e, 0x5f, 0x45, 0x5e, 0x81, 0xc1, 0x15, 0x6a, 0xe9, + 0x96, 0x57, 0xad, 0x88, 0x26, 0xe1, 0x16, 0xcb, 0x43, 0x58, 0x74, 0xa7, 0x10, 0x10, 0xb2, 0x42, + 0xfc, 0x5c, 0x31, 0x70, 0x64, 0xe0, 0x67, 0xa0, 0x08, 0x8b, 0x15, 0xf2, 0x09, 0xd5, 0xdf, 0xcb, + 0xc3, 0xc8, 0x72, 0xab, 0xdb, 0x34, 0xa5, 0x85, 0x63, 0xdf, 0xf6, 0xb6, 0x6f, 0xfd, 0xe6, 0xf7, + 0x66, 0xfd, 0xb2, 0xe1, 0xe6, 0xec, 0x73, 0xb8, 0xf9, 0xe5, 0xc8, 0xdb, 0x50, 0xea, 0xe0, 0x77, + 0xc4, 0x4f, 0x62, 0xf9, 0xd7, 0x65, 0x9d, 0xc4, 0xf2, 0x32, 0x6c, 0x7c, 0x35, 0x0e, 0x30, 0xbe, + 0xc2, 0xb2, 0x92, 0x40, 0xc3, 0x45, 0xe2, 0x54, 0xa0, 0x87, 0x22, 0xd0, 0x70, 0x41, 0x38, 0x15, + 0xe8, 0x01, 0x04, 0xfa, 0x6b, 0x79, 0x18, 0x8b, 0x56, 0x49, 0x3e, 0x03, 0xc3, 0xbc, 0x1a, 0x7e, + 0x2e, 0x94, 0x93, 0x9c, 0x8a, 0x43, 0xb0, 0x06, 0xfc, 0x87, 0x38, 0xe0, 0x3a, 0xb3, 0xae, 0xbb, + 0xf5, 0xf0, 0x84, 0x86, 0xdf, 0xdf, 0x0e, 0x72, 0x4f, 0xa8, 0x18, 0x4a, 0x1b, 0x5b, 0xd7, 0xdd, + 0xe9, 0xf0, 0x37, 0x99, 0x01, 0xe2, 0xd0, 0xae, 0x4b, 0xa3, 0x0c, 0x8a, 0xc8, 0x40, 0xa4, 0x77, + 0x8e, 0x63, 0xb5, 0x09, 0x0e, 0x93, 0xd9, 0x7c, 0x29, 0x68, 0x36, 0x2a, 0x43, 0xff, 0x2e, 0x72, + 0x4f, 0x4b, 0xf4, 0xe9, 0xc7, 0x9c, 0x9c, 0xa0, 0xa2, 0x7b, 0x3a, 0xdf, 0x94, 0xfb, 0x1d, 0xa0, + 0xfe, 0x5d, 0x1b, 0xfa, 0x97, 0x2c, 0xba, 0xb4, 0x46, 0x5e, 0x86, 0x21, 0xa6, 0x30, 0xf3, 0x36, + 0xeb, 0xcb, 0x9c, 0xf0, 0x9f, 0x90, 0x34, 0x09, 0x11, 0x73, 0x7d, 0x5a, 0x48, 0x45, 0x6e, 0xf3, + 0xfc, 0xf5, 0x7c, 0x8e, 0x15, 0xda, 0x47, 0xe4, 0x32, 0x1c, 0x33, 0xd7, 0xa7, 0x49, 0x74, 0x7e, + 0x29, 0xf1, 0x40, 0xa7, 0x90, 0x2c, 0xc5, 0x31, 0x7e, 0x29, 0x31, 0x3e, 0xe6, 0xd3, 0x52, 0xc3, + 0xc7, 0x77, 0x4f, 0x49, 0x8a, 0xb9, 0x3e, 0x2d, 0x3d, 0xa5, 0xfc, 0x88, 0xec, 0x50, 0x1a, 0x77, + 0xfa, 0x90, 0x71, 0x73, 0x7d, 0x5a, 0x84, 0x96, 0xbc, 0x0e, 0xc3, 0xe2, 0xf7, 0x5d, 0x5b, 0xdc, + 0x28, 0x4b, 0xd1, 0x84, 0x24, 0xd4, 0x5c, 0x9f, 0x26, 0x53, 0x4a, 0x95, 0x2e, 0x3b, 0xa6, 0xe5, + 0x89, 0x37, 0xca, 0xf1, 0x4a, 0x11, 0x27, 0x55, 0x8a, 0xbf, 0xc9, 0x3b, 0x30, 0x1a, 0x84, 0x69, + 0xfa, 0x80, 0x36, 0x3c, 0x71, 0xf8, 0x7d, 0x3e, 0x56, 0x98, 0x23, 0xe7, 0xfa, 0xb4, 0x28, 0x35, + 0xb9, 0x06, 0x25, 0x8d, 0xba, 0xe6, 0x87, 0xfe, 0x75, 0xf1, 0x98, 0x34, 0xce, 0xcd, 0x0f, 0x99, + 0x94, 0x04, 0x9e, 0xf5, 0x4e, 0x78, 0x3f, 0x2d, 0x8e, 0xaa, 0x49, 0xac, 0x96, 0x19, 0xcb, 0x60, + 0xbd, 0x23, 0x39, 0x27, 0x7c, 0x3e, 0x0c, 0x5e, 0x25, 0x52, 0x5e, 0x0e, 0xc7, 0xa3, 0x04, 0xc8, + 0xd8, 0xb9, 0x3e, 0x2d, 0x46, 0x2f, 0x49, 0xb5, 0x62, 0xba, 0x8f, 0x44, 0xbc, 0xd0, 0xb8, 0x54, + 0x19, 0x4a, 0x92, 0x2a, 0xfb, 0x29, 0x55, 0xbd, 0x48, 0xbd, 0x0d, 0xdb, 0x79, 0x24, 0xa2, 0x83, + 0xc6, 0xab, 0x16, 0x58, 0xa9, 0x6a, 0x01, 0x91, 0xab, 0x66, 0x03, 0x6e, 0x2c, 0xbd, 0x6a, 0xdd, + 0xd3, 0xe5, 0xaa, 0xf9, 0x49, 0x9c, 0xdf, 0x49, 0xf3, 0x54, 0x7f, 0xcc, 0x33, 0x8f, 0x27, 0x3b, + 0x14, 0x71, 0x52, 0x87, 0xe2, 0x6f, 0x56, 0xa9, 0x94, 0x5d, 0x5a, 0xa4, 0x16, 0x0f, 0x2a, 0x95, + 0x50, 0xac, 0x52, 0x39, 0x0f, 0xf5, 0x6d, 0x39, 0xe9, 0xb2, 0x32, 0x11, 0xed, 0xa0, 0x10, 0xc3, + 0x3a, 0x48, 0x4a, 0xce, 0x3c, 0x89, 0x09, 0x5d, 0x15, 0x82, 0xe4, 0xc3, 0x41, 0x0b, 0xa7, 0x97, + 0xe7, 0xfa, 0x34, 0x4c, 0xf5, 0xaa, 0xf2, 0x54, 0xc1, 0xca, 0x59, 0xa4, 0x18, 0xf1, 0x29, 0x18, + 0x6c, 0xae, 0x4f, 0xe3, 0x69, 0x84, 0x5f, 0x96, 0x92, 0xf2, 0x29, 0xe7, 0xa2, 0x53, 0x44, 0x80, + 0x60, 0x53, 0x44, 0x98, 0xba, 0x6f, 0x36, 0x99, 0xb8, 0x4e, 0x39, 0x1f, 0x5d, 0x6a, 0xe2, 0xf8, + 0xb9, 0x3e, 0x2d, 0x99, 0xec, 0xee, 0xf5, 0x48, 0x2e, 0x37, 0xe5, 0x42, 0x2c, 0x84, 0x57, 0x88, + 0x62, 0xe2, 0x92, 0xb3, 0xbe, 0x2d, 0xc5, 0xf2, 0x8e, 0x8b, 0xc9, 0xea, 0x62, 0x74, 0xe3, 0x92, + 0x42, 0x32, 0xd7, 0xa7, 0xa5, 0x95, 0x24, 0xd3, 0x89, 0x8c, 0x6a, 0x8a, 0x12, 0xf5, 0x8d, 0x89, + 0xa1, 0xe7, 0xfa, 0xb4, 0x44, 0x0e, 0xb6, 0xdb, 0x72, 0x2a, 0x33, 0xe5, 0xa9, 0x68, 0x27, 0x86, + 0x18, 0xd6, 0x89, 0x52, 0xca, 0xb3, 0xdb, 0x72, 0x7a, 0x2b, 0xe5, 0x52, 0xb2, 0x54, 0x38, 0x73, + 0x4a, 0x69, 0xb0, 0xb4, 0xf4, 0x8c, 0x3d, 0xca, 0xd3, 0x22, 0x67, 0xaa, 0x28, 0x9f, 0x46, 0x33, + 0xd7, 0xa7, 0xa5, 0x67, 0xfb, 0xd1, 0xd2, 0x53, 0xdd, 0x28, 0x97, 0x7b, 0xf1, 0x0c, 0x5a, 0x97, + 0x9e, 0x26, 0x47, 0xef, 0x91, 0x78, 0x44, 0x79, 0x26, 0x1a, 0x3f, 0x38, 0x93, 0x70, 0xae, 0x4f, + 0xeb, 0x91, 0xbe, 0xe4, 0x7e, 0x46, 0x16, 0x10, 0xe5, 0x4a, 0x34, 0x65, 0x72, 0x2a, 0xd1, 0x5c, + 0x9f, 0x96, 0x91, 0x43, 0xe4, 0x7e, 0x46, 0x92, 0x08, 0x65, 0xb2, 0x27, 0xdb, 0x40, 0x1e, 0x19, + 0x29, 0x26, 0x96, 0x52, 0xf3, 0x2b, 0x28, 0xcf, 0x46, 0x55, 0x37, 0x85, 0x84, 0xa9, 0x6e, 0x5a, + 0x66, 0x86, 0xa5, 0xd4, 0x84, 0x00, 0xca, 0x73, 0x3d, 0x18, 0x06, 0x6d, 0x4c, 0x4d, 0x25, 0xb0, + 0x94, 0x1a, 0x91, 0x5f, 0x51, 0xa3, 0x0c, 0x53, 0x48, 0x18, 0xc3, 0xb4, 0x58, 0xfe, 0x4b, 0xa9, + 0x81, 0xdb, 0x95, 0xe7, 0x7b, 0x30, 0x0c, 0x5b, 0x98, 0x16, 0xf2, 0xfd, 0xf5, 0x48, 0xe4, 0x74, + 0xe5, 0x13, 0xd1, 0x79, 0x43, 0x42, 0xb1, 0x79, 0x43, 0x8e, 0xb1, 0x3e, 0x9d, 0x88, 0x0d, 0xab, + 0x7c, 0x32, 0x3a, 0xcc, 0x63, 0x68, 0x36, 0xcc, 0xe3, 0xd1, 0x64, 0xa7, 0x13, 0x31, 0x32, 0x95, + 0xab, 0x59, 0x4c, 0x10, 0x1d, 0x65, 0xc2, 0xa3, 0x6a, 0x56, 0x53, 0x82, 0x34, 0x2a, 0x9f, 0x8a, + 0xfa, 0x75, 0x27, 0x08, 0xe6, 0xfa, 0xb4, 0x94, 0xd0, 0x8e, 0x5a, 0x7a, 0x44, 0x22, 0xe5, 0x5a, + 0x74, 0xd8, 0xa6, 0xd1, 0xb0, 0x61, 0x9b, 0x1a, 0xcd, 0x68, 0x3e, 0xed, 0xf1, 0x89, 0x72, 0x3d, + 0x6a, 0x98, 0x25, 0x29, 0x98, 0x61, 0x96, 0xf2, 0x68, 0x45, 0x4b, 0x8f, 0xb1, 0xa3, 0xbc, 0xd0, + 0xb3, 0x85, 0x48, 0x93, 0xd2, 0x42, 0x1e, 0x72, 0x26, 0xb4, 0x9d, 0xee, 0x77, 0x5a, 0xb6, 0x6e, + 0x28, 0x9f, 0x4e, 0xb5, 0x9d, 0x38, 0x52, 0xb2, 0x9d, 0x38, 0x80, 0xad, 0xf2, 0xf2, 0x1b, 0x07, + 0xe5, 0xc5, 0xe8, 0x2a, 0x2f, 0xe3, 0xd8, 0x2a, 0x1f, 0x79, 0x0f, 0x31, 0x9d, 0x78, 0x0f, 0xa0, + 0xbc, 0x14, 0x55, 0x80, 0x18, 0x9a, 0x29, 0x40, 0xfc, 0x05, 0xc1, 0x97, 0xb3, 0x3d, 0xe8, 0x95, + 0x1b, 0xc8, 0xed, 0x59, 0x9f, 0x5b, 0x16, 0xdd, 0x5c, 0x9f, 0x96, 0xed, 0x85, 0x5f, 0x4d, 0x71, + 0x88, 0x57, 0x6e, 0x46, 0x15, 0x2c, 0x41, 0xc0, 0x14, 0x2c, 0xe9, 0x46, 0x5f, 0x4d, 0xf1, 0x68, + 0x57, 0x3e, 0x93, 0xc9, 0x2a, 0xf8, 0xe6, 0x14, 0x3f, 0xf8, 0xdb, 0xb2, 0x4b, 0xba, 0xf2, 0x72, + 0x74, 0xb1, 0x0b, 0x31, 0x6c, 0xb1, 0x93, 0x5c, 0xd7, 0x6f, 0xcb, 0xce, 0xd8, 0xca, 0xad, 0x64, + 0xa9, 0x70, 0x89, 0x94, 0x9c, 0xb6, 0xb5, 0x74, 0x1f, 0x66, 0xe5, 0x95, 0xa8, 0xd6, 0xa5, 0xd1, + 0x30, 0xad, 0x4b, 0xf5, 0x7f, 0x9e, 0x4d, 0xba, 0x22, 0x2b, 0xb7, 0xe3, 0x9b, 0xec, 0x28, 0x9e, + 0x59, 0x3e, 0x09, 0xf7, 0xe5, 0xcf, 0xc7, 0xc3, 0xe5, 0x29, 0xaf, 0xc6, 0xae, 0x7d, 0x23, 0x58, + 0x66, 0xdf, 0xc6, 0xc2, 0xeb, 0x7d, 0x3e, 0x1e, 0x61, 0x4e, 0x79, 0x2d, 0x9d, 0x43, 0xa0, 0x2b, + 0xf1, 0x88, 0x74, 0x9f, 0x8f, 0x07, 0x65, 0x53, 0x5e, 0x4f, 0xe7, 0x10, 0x48, 0x37, 0x1e, 0xc4, + 0xed, 0x65, 0x29, 0x4c, 0xbc, 0xf2, 0xd9, 0xa8, 0xe9, 0x18, 0x20, 0x98, 0xe9, 0x18, 0x06, 0x93, + 0x7f, 0x59, 0x0a, 0xaf, 0xae, 0xbc, 0x91, 0x28, 0x12, 0x34, 0x56, 0x0a, 0xc2, 0xfe, 0xb2, 0x14, + 0x96, 0x5c, 0x79, 0x33, 0x51, 0x24, 0x68, 0x9d, 0x14, 0xbc, 0xdc, 0xe8, 0xf5, 0x7e, 0x55, 0x79, + 0x2b, 0x7a, 0x18, 0x9c, 0x4d, 0x39, 0xd7, 0xa7, 0xf5, 0x7a, 0x07, 0xfb, 0xe5, 0x6c, 0xc7, 0x6e, + 0xe5, 0xed, 0xe8, 0x10, 0xce, 0xa2, 0x63, 0x43, 0x38, 0xd3, 0x39, 0xfc, 0x9d, 0x58, 0x2c, 0x0b, + 0xe5, 0x9d, 0xe8, 0x14, 0x17, 0x41, 0xb2, 0x29, 0x2e, 0x1e, 0xf9, 0x22, 0x12, 0xa4, 0x41, 0xf9, + 0x5c, 0x74, 0x8a, 0x93, 0x71, 0x6c, 0x8a, 0x8b, 0x04, 0x74, 0x98, 0x4e, 0xc4, 0x0e, 0x50, 0xde, + 0x8d, 0x4e, 0x71, 0x31, 0x34, 0x9b, 0xe2, 0xe2, 0xd1, 0x06, 0xde, 0x89, 0x3d, 0xa1, 0x57, 0x3e, + 0x9f, 0xde, 0x7e, 0x44, 0xca, 0xed, 0xe7, 0x0f, 0xee, 0xb5, 0xf4, 0xb7, 0xe0, 0x4a, 0x39, 0x3a, + 0x7e, 0xd3, 0x68, 0xd8, 0xf8, 0x4d, 0x7d, 0x47, 0x1e, 0xdf, 0x38, 0x08, 0xad, 0x9a, 0xea, 0xb1, + 0x71, 0x08, 0x4d, 0x91, 0x14, 0x70, 0x64, 0x8f, 0xcc, 0x37, 0x42, 0xd3, 0x19, 0x7b, 0x64, 0x7f, + 0x1b, 0x14, 0xa3, 0x67, 0xb3, 0x6b, 0xc2, 0xcf, 0x58, 0xa9, 0x44, 0x67, 0xd7, 0x04, 0x01, 0x9b, + 0x5d, 0x93, 0xde, 0xc9, 0xb3, 0x30, 0x2e, 0xb4, 0x88, 0xbb, 0x4f, 0x9b, 0x56, 0x53, 0x99, 0x89, + 0xbd, 0xb7, 0x8c, 0xe1, 0xd9, 0xec, 0x14, 0x87, 0xe1, 0x7a, 0xcd, 0x61, 0xd3, 0x2d, 0xb3, 0xb3, + 0x6a, 0xeb, 0x8e, 0x51, 0xa3, 0x96, 0xa1, 0xcc, 0xc6, 0xd6, 0xeb, 0x14, 0x1a, 0x5c, 0xaf, 0x53, + 0xe0, 0x18, 0x22, 0x2e, 0x06, 0xd7, 0x68, 0x83, 0x9a, 0x8f, 0xa9, 0x72, 0x07, 0xd9, 0x4e, 0x66, + 0xb1, 0x15, 0x64, 0x73, 0x7d, 0x5a, 0x16, 0x07, 0x66, 0xab, 0x2f, 0x6c, 0xd6, 0xde, 0x9b, 0x0f, + 0xc2, 0x0f, 0x2c, 0x3b, 0xb4, 0xa3, 0x3b, 0x54, 0x99, 0x8b, 0xda, 0xea, 0xa9, 0x44, 0xcc, 0x56, + 0x4f, 0x45, 0x24, 0xd9, 0xfa, 0x63, 0xa1, 0xda, 0x8b, 0x6d, 0x38, 0x22, 0xd2, 0x4b, 0xb3, 0xd9, + 0x29, 0x8a, 0x60, 0x02, 0x9a, 0xb7, 0xad, 0x26, 0x9e, 0x54, 0xdc, 0x8d, 0xce, 0x4e, 0xd9, 0x94, + 0x6c, 0x76, 0xca, 0xc6, 0x32, 0x55, 0x8f, 0x62, 0xf9, 0x18, 0xbc, 0x17, 0x55, 0xf5, 0x14, 0x12, + 0xa6, 0xea, 0x29, 0xe0, 0x24, 0x43, 0x8d, 0xba, 0xd4, 0x53, 0xe6, 0x7b, 0x31, 0x44, 0x92, 0x24, + 0x43, 0x04, 0x27, 0x19, 0xce, 0x52, 0xaf, 0xb1, 0xae, 0x2c, 0xf4, 0x62, 0x88, 0x24, 0x49, 0x86, + 0x08, 0x66, 0x9b, 0xcd, 0x28, 0x78, 0xaa, 0xdb, 0x7a, 0xe4, 0xf7, 0xd9, 0x62, 0x74, 0xb3, 0x99, + 0x49, 0xc8, 0x36, 0x9b, 0x99, 0x48, 0xf2, 0xe3, 0xbb, 0xf6, 0x83, 0x57, 0x96, 0xb0, 0xc2, 0x1b, + 0xa1, 0x5d, 0xb0, 0x9b, 0x52, 0x73, 0x7d, 0xda, 0x6e, 0xfd, 0xec, 0x3f, 0x1d, 0x38, 0x8d, 0x2a, + 0xcb, 0x58, 0xd5, 0x99, 0xe0, 0xac, 0x82, 0x83, 0xe7, 0xfa, 0xb4, 0xc0, 0xad, 0xf4, 0x75, 0x18, + 0xc6, 0x8f, 0xaa, 0x5a, 0xa6, 0x57, 0x99, 0x52, 0xde, 0x8b, 0x6e, 0x99, 0x24, 0x14, 0xdb, 0x32, + 0x49, 0x3f, 0xd9, 0x24, 0x8e, 0x3f, 0xf9, 0x14, 0x53, 0x99, 0x52, 0xb4, 0xe8, 0x24, 0x1e, 0x41, + 0xb2, 0x49, 0x3c, 0x02, 0x08, 0xea, 0xad, 0x38, 0x76, 0xa7, 0x32, 0xa5, 0xd4, 0x52, 0xea, 0xe5, + 0xa8, 0xa0, 0x5e, 0xfe, 0x33, 0xa8, 0xb7, 0xb6, 0xde, 0xf5, 0x2a, 0xec, 0x1b, 0x57, 0x52, 0xea, + 0xf5, 0x91, 0x41, 0xbd, 0x3e, 0x80, 0x4d, 0x85, 0x08, 0x58, 0x76, 0x6c, 0x36, 0x69, 0xdf, 0x33, + 0x5b, 0x2d, 0xe5, 0x7e, 0x74, 0x2a, 0x8c, 0xe3, 0xd9, 0x54, 0x18, 0x87, 0x31, 0xd3, 0x93, 0xb7, + 0x8a, 0xae, 0x76, 0x9b, 0xca, 0x83, 0xa8, 0xe9, 0x19, 0x62, 0x98, 0xe9, 0x19, 0xfe, 0xc2, 0xdd, + 0x05, 0xfb, 0xa5, 0xd1, 0x35, 0x87, 0xba, 0xeb, 0xca, 0xc3, 0xd8, 0xee, 0x42, 0xc2, 0xe1, 0xee, + 0x42, 0xfa, 0x4d, 0x9a, 0xf0, 0x74, 0x64, 0xa1, 0xf1, 0x2f, 0x6d, 0x6a, 0x54, 0x77, 0x1a, 0xeb, + 0xca, 0x17, 0x90, 0xd5, 0xf3, 0xa9, 0x4b, 0x55, 0x94, 0x74, 0xae, 0x4f, 0xeb, 0xc5, 0x09, 0xb7, + 0xe5, 0xef, 0xcd, 0xf3, 0x58, 0xae, 0xda, 0xf2, 0xb4, 0xbf, 0x09, 0x7d, 0x3f, 0xb6, 0x2d, 0x4f, + 0x92, 0xe0, 0xb6, 0x3c, 0x09, 0x26, 0x1d, 0xb8, 0x12, 0xdb, 0xaa, 0x2d, 0xe8, 0x2d, 0xb6, 0x2f, + 0xa1, 0xc6, 0xb2, 0xde, 0x78, 0x44, 0x3d, 0xe5, 0x8b, 0xc8, 0xfb, 0x6a, 0xc6, 0x86, 0x2f, 0x46, + 0x3d, 0xd7, 0xa7, 0xed, 0xc0, 0x8f, 0xa8, 0x50, 0xac, 0xcd, 0xae, 0x2c, 0x2b, 0x3f, 0x10, 0x3d, + 0xdf, 0x64, 0xb0, 0xb9, 0x3e, 0x0d, 0x71, 0xcc, 0x4a, 0xbb, 0xdf, 0x69, 0x3a, 0xba, 0x41, 0xb9, + 0xa1, 0x85, 0xb6, 0x9b, 0x30, 0x40, 0x7f, 0x30, 0x6a, 0xa5, 0x65, 0xd1, 0x31, 0x2b, 0x2d, 0x0b, + 0xc7, 0x14, 0x35, 0x92, 0xb6, 0x44, 0xf9, 0x52, 0x54, 0x51, 0x23, 0x48, 0xa6, 0xa8, 0xd1, 0x24, + 0x27, 0x5f, 0x80, 0x0b, 0xc1, 0x7e, 0x5e, 0xac, 0xbf, 0xbc, 0xd3, 0x94, 0x2f, 0x23, 0x9f, 0x2b, + 0x89, 0xcb, 0x80, 0x08, 0xd5, 0x5c, 0x9f, 0x96, 0x51, 0x9e, 0xad, 0xb8, 0x89, 0x8c, 0x5c, 0xc2, + 0xbc, 0xf8, 0xa1, 0xe8, 0x8a, 0x9b, 0x41, 0xc6, 0x56, 0xdc, 0x0c, 0x54, 0x2a, 0x73, 0x21, 0x54, + 0x7d, 0x07, 0xe6, 0x81, 0x4c, 0xb3, 0x38, 0xa4, 0x32, 0x17, 0x96, 0xda, 0xea, 0x0e, 0xcc, 0x03, + 0x6b, 0x2d, 0x8b, 0x03, 0xb9, 0x06, 0xa5, 0x5a, 0x6d, 0x41, 0xeb, 0x5a, 0x4a, 0x23, 0xe6, 0x2d, + 0x8b, 0xd0, 0xb9, 0x3e, 0x4d, 0xe0, 0x99, 0x19, 0x34, 0xd3, 0xd2, 0x5d, 0xcf, 0x6c, 0xb8, 0x38, + 0x62, 0xfc, 0x11, 0x62, 0x44, 0xcd, 0xa0, 0x34, 0x1a, 0x66, 0x06, 0xa5, 0xc1, 0x99, 0xbd, 0x38, + 0xad, 0xbb, 0xae, 0x6e, 0x19, 0x8e, 0x3e, 0x85, 0xcb, 0x04, 0x8d, 0xbd, 0xc6, 0x8a, 0x60, 0x99, + 0xbd, 0x18, 0x85, 0xe0, 0xe1, 0xbb, 0x0f, 0xf1, 0xcd, 0x9c, 0xb5, 0xd8, 0xe1, 0x7b, 0x0c, 0x8f, + 0x87, 0xef, 0x31, 0x18, 0xda, 0x9d, 0x3e, 0x4c, 0xa3, 0x4d, 0x93, 0x89, 0x48, 0x69, 0xc6, 0xec, + 0xce, 0x38, 0x01, 0xda, 0x9d, 0x71, 0x60, 0xa4, 0x49, 0xfe, 0x72, 0xbb, 0x9e, 0xd1, 0xa4, 0x70, + 0x95, 0x4d, 0x94, 0x61, 0xeb, 0x77, 0x38, 0x38, 0x2a, 0x9b, 0x96, 0xde, 0xb6, 0x2b, 0x53, 0xbe, + 0xd4, 0xcd, 0xe8, 0xfa, 0x9d, 0x49, 0xc8, 0xd6, 0xef, 0x4c, 0x24, 0x9b, 0x5d, 0xfd, 0x8d, 0xd6, + 0xba, 0xee, 0x50, 0xa3, 0x62, 0x3a, 0x78, 0xb2, 0xb8, 0xc9, 0xb7, 0x86, 0x1f, 0x44, 0x67, 0xd7, + 0x1e, 0xa4, 0x6c, 0x76, 0xed, 0x81, 0x66, 0x46, 0x5e, 0x3a, 0x5a, 0xa3, 0xba, 0xa1, 0x3c, 0x8a, + 0x1a, 0x79, 0xd9, 0x94, 0xcc, 0xc8, 0xcb, 0xc6, 0x66, 0x7f, 0xce, 0x43, 0xc7, 0xf4, 0xa8, 0xd2, + 0xda, 0xcd, 0xe7, 0x20, 0x69, 0xf6, 0xe7, 0x20, 0x9a, 0x6d, 0x08, 0xe3, 0x1d, 0xd2, 0x8e, 0x6e, + 0x08, 0x93, 0xdd, 0x10, 0x2f, 0xc1, 0x2c, 0x16, 0xf1, 0x28, 0x4f, 0xb1, 0xa2, 0x16, 0x8b, 0x00, + 0x33, 0x8b, 0x25, 0x7c, 0xb6, 0x17, 0x79, 0x8a, 0xa5, 0xd8, 0xd1, 0x35, 0x54, 0xc6, 0xb1, 0x35, + 0x34, 0xf2, 0x6c, 0xeb, 0xf5, 0xc8, 0x3b, 0x03, 0xa5, 0x13, 0xb5, 0x3a, 0x24, 0x14, 0xb3, 0x3a, + 0xe4, 0x17, 0x09, 0xd3, 0x70, 0x06, 0x6f, 0xc1, 0xb5, 0x6e, 0x70, 0x8f, 0xf3, 0xc3, 0xd1, 0xcf, + 0x8c, 0xa1, 0xd9, 0x67, 0xc6, 0x40, 0x11, 0x26, 0x62, 0xda, 0x72, 0x32, 0x98, 0x84, 0xe7, 0x83, + 0x31, 0x10, 0x99, 0x07, 0x52, 0x2b, 0x2f, 0xcc, 0x57, 0x8d, 0x65, 0xf9, 0x8a, 0xcc, 0x8d, 0x9e, + 0xc0, 0x26, 0x29, 0xe6, 0xfa, 0xb4, 0x94, 0x72, 0xe4, 0x03, 0xb8, 0x2c, 0xa0, 0xe2, 0xc5, 0x35, + 0x26, 0xee, 0x37, 0x82, 0x05, 0xc1, 0x8b, 0xfa, 0xb1, 0xf5, 0xa2, 0x9d, 0xeb, 0xd3, 0x7a, 0xf2, + 0xca, 0xae, 0x4b, 0xac, 0x0f, 0xdd, 0xdd, 0xd4, 0x15, 0x2c, 0x12, 0x3d, 0x79, 0x65, 0xd7, 0x25, + 0xe4, 0xfe, 0x78, 0x37, 0x75, 0x05, 0x9d, 0xd0, 0x93, 0x17, 0x71, 0x61, 0xb2, 0x17, 0xbe, 0xdc, + 0x6a, 0x29, 0x1b, 0x58, 0xdd, 0xa7, 0x76, 0x53, 0x5d, 0x19, 0x0d, 0xce, 0x9d, 0x38, 0xb2, 0x59, + 0x7a, 0xa9, 0x43, 0xad, 0x5a, 0x64, 0x01, 0x7a, 0x12, 0x9d, 0xa5, 0x13, 0x04, 0x6c, 0x96, 0x4e, + 0x00, 0xd9, 0x80, 0x92, 0x9f, 0xab, 0x28, 0x9b, 0xd1, 0x01, 0x25, 0xe3, 0xd8, 0x80, 0x8a, 0x3c, + 0x6d, 0x59, 0x82, 0xb3, 0x4b, 0x8f, 0x3c, 0xdd, 0xb7, 0x20, 0x5d, 0xd1, 0x95, 0x1f, 0xc6, 0x2e, + 0x99, 0x92, 0x24, 0x78, 0xc9, 0x94, 0x04, 0xb3, 0x31, 0xc2, 0xc0, 0xb5, 0x4d, 0xab, 0x31, 0xab, + 0x9b, 0xad, 0xae, 0x43, 0x95, 0x7f, 0x2b, 0x3a, 0x46, 0x62, 0x68, 0x36, 0x46, 0x62, 0x20, 0xb6, + 0x40, 0x33, 0x50, 0xd9, 0x75, 0xcd, 0xa6, 0x25, 0xf6, 0x95, 0xdd, 0x96, 0xa7, 0xfc, 0xdb, 0xd1, + 0x05, 0x3a, 0x8d, 0x86, 0x2d, 0xd0, 0x69, 0x70, 0x3c, 0x75, 0x62, 0xbd, 0xc0, 0x16, 0x0f, 0xf9, + 0xae, 0xf2, 0xdf, 0x89, 0x9d, 0x3a, 0xa5, 0xd0, 0xe0, 0xa9, 0x53, 0x0a, 0x9c, 0xad, 0x8f, 0xdc, + 0x26, 0x9b, 0x37, 0x83, 0xbb, 0xea, 0x7f, 0x37, 0xba, 0x3e, 0xc6, 0xf1, 0x6c, 0x7d, 0x8c, 0xc3, + 0xa2, 0x7c, 0x44, 0x17, 0xfc, 0x7b, 0x59, 0x7c, 0x02, 0xf9, 0x27, 0xca, 0x90, 0x3b, 0x32, 0x1f, + 0x31, 0x52, 0x7e, 0x24, 0x97, 0xc5, 0x28, 0x18, 0x1e, 0x89, 0x42, 0x51, 0x46, 0x1a, 0x7d, 0x6c, + 0xd2, 0x0d, 0xe5, 0x2b, 0x99, 0x8c, 0x38, 0x41, 0x94, 0x11, 0x87, 0x91, 0xf7, 0xe1, 0x42, 0x08, + 0x5b, 0xa0, 0xed, 0xd5, 0x60, 0x66, 0xfa, 0x63, 0xb9, 0xa8, 0x19, 0x9c, 0x4e, 0xc6, 0xcc, 0xe0, + 0x74, 0x4c, 0x1a, 0x6b, 0x21, 0xba, 0x7f, 0x7f, 0x07, 0xd6, 0x81, 0x04, 0x33, 0x18, 0xa4, 0xb1, + 0x16, 0xd2, 0xfc, 0xd1, 0x1d, 0x58, 0x07, 0x32, 0xcd, 0x60, 0x40, 0x7e, 0x22, 0x07, 0x57, 0xd3, + 0x51, 0xe5, 0x56, 0x6b, 0xd6, 0x76, 0x42, 0x9c, 0xf2, 0xc7, 0x73, 0xd1, 0x83, 0x86, 0xdd, 0x15, + 0x9b, 0xeb, 0xd3, 0x76, 0x59, 0x01, 0xf9, 0x1c, 0x8c, 0x96, 0xbb, 0x86, 0xe9, 0xe1, 0xc5, 0x1b, + 0x33, 0x9c, 0x7f, 0x2c, 0x17, 0xdb, 0xe2, 0xc8, 0x58, 0xdc, 0xe2, 0xc8, 0x00, 0x72, 0x17, 0x26, + 0x6a, 0xb4, 0xd1, 0x75, 0x4c, 0x6f, 0x53, 0xa3, 0x1d, 0xdb, 0xf1, 0x18, 0x8f, 0x3f, 0x91, 0x8b, + 0x4e, 0x62, 0x09, 0x0a, 0x36, 0x89, 0x25, 0x80, 0xe4, 0x41, 0xe2, 0x56, 0x5e, 0x74, 0xe6, 0x8f, + 0xe7, 0x7a, 0x5e, 0xcb, 0x07, 0x7d, 0x99, 0x5e, 0x9c, 0x2c, 0xc7, 0x6e, 0xd1, 0x05, 0xd7, 0x9f, + 0xc8, 0xf5, 0xb8, 0x46, 0x97, 0x66, 0xb8, 0x24, 0x98, 0x71, 0x4c, 0xc9, 0xe1, 0xae, 0xfc, 0xc9, + 0x5c, 0x8f, 0x6b, 0xef, 0x90, 0x63, 0x5a, 0xfa, 0xf7, 0x57, 0xb9, 0xa7, 0x88, 0x60, 0xf4, 0xa7, + 0x72, 0x49, 0x57, 0x91, 0xa0, 0xbc, 0x44, 0xc8, 0x8a, 0xdd, 0x77, 0x03, 0xa5, 0xff, 0x6a, 0x2e, + 0xe9, 0x9b, 0x17, 0x16, 0x0b, 0x7f, 0x11, 0x0a, 0x97, 0x66, 0x9e, 0x78, 0xd4, 0xb1, 0xf4, 0x16, + 0x76, 0x67, 0xcd, 0xb3, 0x1d, 0xbd, 0x49, 0x67, 0x2c, 0x7d, 0xb5, 0x45, 0x95, 0xaf, 0xe5, 0xa2, + 0x16, 0x6c, 0x36, 0x29, 0xb3, 0x60, 0xb3, 0xb1, 0x64, 0x1d, 0x9e, 0x4e, 0xc3, 0x56, 0x4c, 0x17, + 0xeb, 0xf9, 0x7a, 0x2e, 0x6a, 0xc2, 0xf6, 0xa0, 0x65, 0x26, 0x6c, 0x0f, 0x34, 0xb9, 0x05, 0x43, + 0x53, 0xb6, 0x3f, 0xfd, 0xfe, 0xe9, 0x98, 0x33, 0x64, 0x80, 0x99, 0xeb, 0xd3, 0x42, 0x32, 0x51, + 0x46, 0x0c, 0xea, 0x6f, 0x24, 0xcb, 0x84, 0x97, 0x4f, 0xc1, 0x0f, 0x51, 0x46, 0x88, 0xfb, 0x3f, + 0x48, 0x96, 0x09, 0xef, 0xb8, 0x82, 0x1f, 0x6c, 0x26, 0xe1, 0x35, 0x2e, 0xcc, 0x96, 0x99, 0xdd, + 0x36, 0xbd, 0xae, 0xb7, 0x5a, 0xd4, 0x6a, 0x52, 0xe5, 0x9b, 0xb1, 0x99, 0x24, 0x9d, 0x8c, 0xcd, + 0x24, 0xe9, 0x18, 0xf2, 0x83, 0x70, 0xf1, 0x81, 0xde, 0x32, 0x8d, 0x10, 0xe7, 0x67, 0xf4, 0x56, + 0x7e, 0x32, 0x17, 0xdd, 0x4d, 0x67, 0xd0, 0xb1, 0xdd, 0x74, 0x06, 0x8a, 0x2c, 0x00, 0xc1, 0x65, + 0x34, 0x98, 0x2d, 0xd8, 0xfa, 0xac, 0xfc, 0x87, 0xb9, 0xa8, 0x9d, 0x9a, 0x24, 0x61, 0x76, 0x6a, + 0x12, 0x4a, 0xea, 0xd9, 0xa9, 0x41, 0x94, 0x9f, 0xca, 0x45, 0x4f, 0x6b, 0xb2, 0x08, 0xe7, 0xfa, + 0xb4, 0xec, 0xfc, 0x22, 0x77, 0x60, 0xbc, 0xb6, 0x5c, 0x9d, 0x9d, 0x9d, 0xa9, 0x3d, 0xa8, 0x56, + 0xf0, 0xa1, 0x83, 0xa1, 0xfc, 0x99, 0xd8, 0x8a, 0x15, 0x27, 0x60, 0x2b, 0x56, 0x1c, 0x46, 0xde, + 0x82, 0x11, 0xd6, 0x7e, 0x36, 0x60, 0xf0, 0x93, 0x7f, 0x3a, 0x17, 0x35, 0xa7, 0x64, 0x24, 0x33, + 0xa7, 0xe4, 0xdf, 0xa4, 0x06, 0xe7, 0x98, 0x14, 0x97, 0x1d, 0xba, 0x46, 0x1d, 0x6a, 0x35, 0xfc, + 0x31, 0xfd, 0x33, 0xb9, 0xa8, 0x95, 0x91, 0x46, 0xc4, 0xac, 0x8c, 0x34, 0x38, 0x79, 0x04, 0x97, + 0xe3, 0x27, 0x41, 0xf2, 0xb3, 0x53, 0xe5, 0xcf, 0xe6, 0x62, 0xc6, 0x70, 0x0f, 0x62, 0x34, 0x86, + 0x7b, 0xe0, 0x89, 0x05, 0xcf, 0x88, 0x63, 0x15, 0xe1, 0x70, 0x19, 0xaf, 0xed, 0xcf, 0xf1, 0xda, + 0x3e, 0x19, 0x3a, 0x04, 0xf6, 0xa0, 0x9e, 0xeb, 0xd3, 0x7a, 0xb3, 0x63, 0x7a, 0x96, 0x4c, 0x80, + 0xa1, 0xfc, 0x6c, 0x2e, 0xdd, 0x23, 0x25, 0xe2, 0xa6, 0x9c, 0x96, 0x39, 0xe3, 0xfd, 0xac, 0xf4, + 0x0d, 0xca, 0x9f, 0x8f, 0x8d, 0xb7, 0x74, 0x32, 0x36, 0xde, 0x32, 0xf2, 0x3f, 0xdc, 0x85, 0x09, + 0xae, 0xd4, 0xcb, 0x3a, 0x0e, 0x43, 0xab, 0x49, 0x0d, 0xe5, 0x2f, 0xc4, 0x56, 0xbb, 0x04, 0x05, + 0xba, 0xf6, 0xc4, 0x81, 0x6c, 0xea, 0xae, 0x75, 0x74, 0xcb, 0xc2, 0x63, 0x56, 0xe5, 0x3f, 0x8a, + 0x4d, 0xdd, 0x21, 0x0a, 0x1d, 0x77, 0x83, 0x5f, 0x4c, 0x13, 0x7a, 0xa5, 0x3e, 0x52, 0xfe, 0x62, + 0x4c, 0x13, 0x7a, 0x11, 0x33, 0x4d, 0xe8, 0x99, 0x47, 0xe9, 0x41, 0xc6, 0x13, 0x70, 0xe5, 0xe7, + 0x62, 0x2b, 0x72, 0x2a, 0x15, 0x5b, 0x91, 0xd3, 0x5f, 0x90, 0x3f, 0xc8, 0x78, 0x3e, 0xad, 0xfc, + 0x7c, 0x6f, 0xbe, 0xe1, 0x4a, 0x9f, 0xfe, 0xfa, 0xfa, 0x41, 0xc6, 0xd3, 0x63, 0xe5, 0x2f, 0xf5, + 0xe6, 0x1b, 0x3a, 0xf6, 0xa5, 0xbf, 0x5c, 0xae, 0x67, 0x3f, 0xdb, 0x55, 0xfe, 0x72, 0x7c, 0xea, + 0xca, 0x20, 0xc4, 0xa9, 0x2b, 0xeb, 0xed, 0xef, 0x2a, 0x3c, 0xc5, 0x35, 0xe4, 0x8e, 0xa3, 0x77, + 0xd6, 0x6b, 0xd4, 0xf3, 0x4c, 0xab, 0xe9, 0xef, 0xc4, 0xfe, 0x4a, 0x2e, 0x76, 0x3c, 0x96, 0x45, + 0x89, 0xc7, 0x63, 0x59, 0x48, 0xa6, 0xbc, 0x89, 0x07, 0xba, 0xca, 0x5f, 0x8d, 0x29, 0x6f, 0x82, + 0x82, 0x29, 0x6f, 0xf2, 0x5d, 0xef, 0xdd, 0x94, 0x77, 0xa8, 0xca, 0x7f, 0x9c, 0xcd, 0x2b, 0x68, + 0x5f, 0xca, 0xf3, 0xd5, 0xbb, 0x29, 0xcf, 0x2d, 0x95, 0xff, 0x24, 0x9b, 0x57, 0xe8, 0x83, 0x94, + 0x7c, 0xa5, 0xf9, 0x3e, 0x5c, 0xe0, 0xb3, 0xf9, 0x2c, 0x35, 0x68, 0xe4, 0x43, 0x7f, 0x21, 0x36, + 0xf6, 0xd3, 0xc9, 0xf0, 0xc8, 0x3d, 0x15, 0x93, 0xc6, 0x5a, 0xb4, 0xf5, 0xaf, 0xed, 0xc0, 0x3a, + 0xdc, 0x10, 0xa4, 0x63, 0xd8, 0x7a, 0x23, 0x3f, 0x7e, 0x53, 0x7e, 0x31, 0xb6, 0xde, 0xc8, 0x48, + 0x74, 0xe7, 0x90, 0x5f, 0xca, 0xbd, 0x15, 0x7d, 0xe8, 0xa5, 0xfc, 0xa7, 0xa9, 0x85, 0x83, 0x0e, + 0x88, 0xbe, 0x0a, 0x7b, 0x2b, 0xfa, 0xa8, 0x49, 0xf9, 0xa5, 0xd4, 0xc2, 0xc1, 0x07, 0x44, 0x5f, + 0x40, 0xb1, 0x2d, 0x52, 0xd7, 0xb3, 0x39, 0xab, 0xc8, 0xf4, 0xf0, 0xd7, 0xe3, 0x5b, 0xa4, 0x54, + 0x32, 0xdc, 0x22, 0xa5, 0x62, 0xd2, 0x58, 0x8b, 0xcf, 0xfb, 0xe5, 0x1d, 0x58, 0x4b, 0x1b, 0xbb, + 0x54, 0x4c, 0x1a, 0x6b, 0xf1, 0xf1, 0xbf, 0xb2, 0x03, 0x6b, 0x69, 0x63, 0x97, 0x8a, 0x61, 0xe6, + 0x58, 0x88, 0x79, 0x40, 0x1d, 0x37, 0x54, 0xbf, 0xbf, 0x11, 0x33, 0xc7, 0x32, 0xe8, 0x98, 0x39, + 0x96, 0x81, 0x4a, 0xe5, 0x2e, 0x84, 0xf2, 0xab, 0x3b, 0x71, 0x0f, 0xef, 0x65, 0x32, 0x50, 0xa9, + 0xdc, 0x85, 0x5c, 0xfe, 0xe6, 0x4e, 0xdc, 0xc3, 0x8b, 0x99, 0x0c, 0x14, 0x33, 0x8a, 0x6a, 0x9e, + 0xee, 0x99, 0x8d, 0x39, 0xdb, 0xf5, 0xa4, 0x45, 0xfe, 0x6f, 0xc5, 0x8c, 0xa2, 0x34, 0x22, 0x66, + 0x14, 0xa5, 0xc1, 0x93, 0x4c, 0x85, 0x34, 0x7e, 0xad, 0x27, 0xd3, 0xd0, 0xd2, 0x4a, 0x83, 0x27, + 0x99, 0x0a, 0x21, 0xfc, 0x67, 0x3d, 0x99, 0x86, 0x9e, 0xf2, 0x69, 0x70, 0x66, 0x99, 0x4e, 0x3b, + 0xf6, 0x86, 0x75, 0x97, 0x6e, 0xd0, 0x96, 0xf8, 0xf4, 0x5f, 0x8f, 0x59, 0xa6, 0x71, 0x02, 0xbc, + 0x45, 0x89, 0xc1, 0xa2, 0x8c, 0xc4, 0xe7, 0xfe, 0x46, 0x26, 0xa3, 0xf0, 0x98, 0x28, 0x0e, 0x8b, + 0x32, 0x12, 0x9f, 0xf8, 0x9b, 0x99, 0x8c, 0xc2, 0x63, 0xa2, 0x38, 0x0c, 0x57, 0xae, 0xa0, 0xd3, + 0xcb, 0x4d, 0x6a, 0x79, 0xcb, 0x2d, 0xdd, 0xd7, 0xfa, 0x6f, 0xc5, 0x57, 0xae, 0x2c, 0x4a, 0x5c, + 0xb9, 0xb2, 0x90, 0x19, 0x75, 0x88, 0xcf, 0xff, 0xad, 0x9d, 0xeb, 0x90, 0x56, 0xc7, 0x2c, 0x64, + 0x46, 0x1d, 0x42, 0x32, 0xbf, 0xbd, 0x73, 0x1d, 0x81, 0x88, 0xb2, 0xd9, 0x4c, 0x0d, 0x40, 0x3f, + 0x9e, 0xb9, 0xaa, 0x3f, 0x97, 0x83, 0x91, 0x9a, 0xe7, 0x50, 0xbd, 0x2d, 0x22, 0xc3, 0x5d, 0x82, + 0x41, 0xee, 0xbc, 0xec, 0xbf, 0xb4, 0xd6, 0x82, 0xdf, 0xe4, 0x2a, 0x8c, 0xcd, 0xeb, 0xae, 0x87, + 0x25, 0xab, 0x96, 0x41, 0x9f, 0xe0, 0xc3, 0xbd, 0x82, 0x16, 0x83, 0x92, 0x79, 0x4e, 0xc7, 0xcb, + 0x61, 0x30, 0xd0, 0xc2, 0x8e, 0x01, 0xd1, 0x06, 0xbf, 0xb3, 0x35, 0xd9, 0x87, 0xf1, 0xcf, 0x62, + 0x65, 0xd5, 0xdf, 0xcd, 0x41, 0xc2, 0xad, 0x7a, 0xff, 0x11, 0x10, 0x96, 0xe0, 0x4c, 0x2c, 0x00, + 0xad, 0x78, 0x7d, 0xb8, 0xcb, 0xf8, 0xb4, 0xf1, 0xd2, 0xe4, 0x53, 0xc1, 0xab, 0xb7, 0xfb, 0xda, + 0xbc, 0x08, 0x76, 0x87, 0x69, 0x1a, 0xba, 0x4e, 0x4b, 0x93, 0x50, 0x22, 0x98, 0xd1, 0xf7, 0xc6, + 0xc3, 0xe8, 0x9a, 0xe4, 0xaa, 0x08, 0xc7, 0x90, 0x0b, 0x43, 0xe4, 0xc5, 0xd2, 0xba, 0xf3, 0xf0, + 0x0b, 0x9f, 0x83, 0x91, 0x6a, 0xbb, 0x43, 0x1d, 0xd7, 0xb6, 0x74, 0xcf, 0x76, 0xc4, 0x6b, 0x76, + 0x0c, 0x9f, 0x66, 0x4a, 0x70, 0x39, 0xa4, 0x97, 0x4c, 0x4f, 0xae, 0xfb, 0x99, 0xe6, 0x0a, 0x18, + 0xd7, 0x14, 0x9f, 0xa4, 0xc6, 0x53, 0x85, 0x73, 0x0a, 0x46, 0x7a, 0xdf, 0xd5, 0xf1, 0x7d, 0x64, + 0x40, 0xda, 0x65, 0x00, 0x99, 0x14, 0x29, 0xc8, 0x8b, 0x50, 0xc2, 0xfb, 0x24, 0x17, 0x33, 0x48, + 0x8a, 0xc0, 0x7d, 0x2d, 0x84, 0xc8, 0x61, 0xd2, 0x38, 0x0d, 0xb9, 0x07, 0xe3, 0xe1, 0x65, 0xf9, + 0x1d, 0xc7, 0xee, 0x76, 0xfc, 0x9c, 0x31, 0x98, 0x62, 0xfd, 0x51, 0x80, 0xab, 0x37, 0x11, 0x29, + 0xb1, 0x48, 0x14, 0x24, 0x73, 0x70, 0x26, 0x84, 0x31, 0x11, 0xf9, 0xb9, 0xaa, 0x30, 0x4f, 0xa8, + 0xc4, 0x8b, 0x89, 0x33, 0x92, 0x27, 0x34, 0x56, 0x8c, 0x54, 0x61, 0xc0, 0x8f, 0xda, 0x37, 0xb8, + 0xa3, 0x92, 0x9e, 0x15, 0x51, 0xfb, 0x06, 0xe4, 0x78, 0x7d, 0x7e, 0x79, 0x32, 0x0b, 0x63, 0x9a, + 0xdd, 0xf5, 0xe8, 0x8a, 0x2d, 0x76, 0x99, 0x22, 0x3a, 0x24, 0xb6, 0xc9, 0x61, 0x98, 0xba, 0x67, + 0xfb, 0x19, 0xea, 0xe5, 0x4c, 0xe9, 0xd1, 0x52, 0x64, 0x11, 0x26, 0x12, 0x6e, 0x05, 0x72, 0xde, + 0x78, 0xe9, 0xf3, 0x92, 0xcc, 0x92, 0x45, 0xc9, 0x8f, 0xe5, 0xa0, 0xb4, 0xe2, 0xe8, 0xa6, 0xe7, + 0x8a, 0xa7, 0x95, 0xe7, 0x6f, 0x6c, 0x38, 0x7a, 0x87, 0xe9, 0xc7, 0x0d, 0x0c, 0x5c, 0xfb, 0x40, + 0x6f, 0x75, 0xa9, 0x3b, 0xf5, 0x90, 0x7d, 0xdd, 0xff, 0xb0, 0x35, 0xf9, 0x56, 0x13, 0x0f, 0x2f, + 0x6f, 0x34, 0xec, 0xf6, 0xcd, 0xa6, 0xa3, 0x3f, 0x36, 0x3d, 0x34, 0x11, 0xf5, 0xd6, 0x4d, 0x8f, + 0xb6, 0xf0, 0x8c, 0xf4, 0xa6, 0xde, 0x31, 0x6f, 0x62, 0x80, 0xf4, 0x9b, 0x01, 0x27, 0x5e, 0x03, + 0x53, 0x01, 0x0f, 0xff, 0x92, 0x55, 0x80, 0xe3, 0xc8, 0x22, 0x80, 0xf8, 0xd4, 0x72, 0xa7, 0x23, + 0xde, 0x69, 0x4a, 0x27, 0x8b, 0x3e, 0x86, 0x2b, 0x76, 0x20, 0x30, 0xbd, 0x23, 0x05, 0x05, 0xd6, + 0x24, 0x0e, 0x4c, 0x0b, 0x56, 0x44, 0x8b, 0x7c, 0x31, 0x8d, 0x86, 0x12, 0xf7, 0x1b, 0x9b, 0x22, + 0xa4, 0x78, 0x31, 0xb2, 0x0a, 0x67, 0x04, 0xdf, 0x20, 0x85, 0xc8, 0x58, 0x74, 0x56, 0x88, 0xa1, + 0xb9, 0xd2, 0x06, 0x6d, 0x34, 0x04, 0x58, 0xae, 0x23, 0x56, 0x82, 0x4c, 0x85, 0x29, 0x8f, 0x17, + 0xf5, 0x36, 0x75, 0x95, 0x33, 0xa8, 0xb1, 0x97, 0xb7, 0xb7, 0x26, 0x15, 0xbf, 0x3c, 0x06, 0xb0, + 0x4c, 0x4d, 0xe0, 0x8f, 0x45, 0x64, 0x1e, 0x5c, 0xeb, 0xc7, 0x53, 0x78, 0xc4, 0x75, 0x3e, 0x5a, + 0x84, 0x4c, 0xc3, 0x68, 0xf0, 0x4c, 0xe4, 0xfe, 0xfd, 0x6a, 0x05, 0x1f, 0x82, 0x8a, 0x18, 0xa6, + 0xb1, 0x24, 0x1f, 0x32, 0x93, 0x48, 0x19, 0x29, 0xb6, 0x06, 0x7f, 0x19, 0x1a, 0x8b, 0xad, 0xd1, + 0x49, 0x89, 0xad, 0xb1, 0x4c, 0xde, 0x81, 0xe1, 0xf2, 0xc3, 0x9a, 0x88, 0x19, 0xe2, 0x2a, 0x67, + 0xc3, 0x8c, 0x51, 0xfa, 0x86, 0x5b, 0xf7, 0xe3, 0x8b, 0xc8, 0x4d, 0x97, 0xe9, 0xc9, 0x0c, 0x8c, + 0x45, 0x3c, 0xcd, 0x5c, 0xe5, 0x1c, 0x72, 0xc0, 0x96, 0xeb, 0x88, 0xa9, 0x3b, 0x02, 0x25, 0x0f, + 0xaf, 0x68, 0x21, 0xa6, 0x35, 0x15, 0xd3, 0xc5, 0xec, 0x3b, 0x1a, 0xc5, 0xf0, 0x24, 0xf8, 0xac, + 0x74, 0x90, 0x6b, 0x8d, 0x21, 0x50, 0x75, 0x87, 0xe3, 0xe4, 0x1e, 0x8d, 0x15, 0x23, 0x1f, 0x00, + 0xc1, 0x7c, 0x3d, 0xd4, 0xf0, 0x2f, 0x1e, 0xab, 0x15, 0x57, 0xb9, 0x80, 0x01, 0xbc, 0x49, 0x3c, + 0x1c, 0x42, 0xb5, 0x32, 0x75, 0x55, 0x4c, 0x1f, 0x57, 0x74, 0x5e, 0xaa, 0xee, 0x87, 0x42, 0xa8, + 0x9b, 0x91, 0x64, 0xc6, 0x29, 0x5c, 0xc9, 0x06, 0x5c, 0x5c, 0x76, 0xe8, 0x63, 0xd3, 0xee, 0xba, + 0xfe, 0xf2, 0xe1, 0xcf, 0x5b, 0x17, 0x77, 0x9c, 0xb7, 0x9e, 0x13, 0x15, 0x9f, 0xef, 0x38, 0xf4, + 0x71, 0xdd, 0x0f, 0xdb, 0x1c, 0x89, 0x3a, 0x9a, 0xc5, 0x1d, 0x53, 0x32, 0x7f, 0xd8, 0x75, 0xa8, + 0x80, 0x9b, 0xd4, 0x55, 0x94, 0x70, 0xaa, 0xe5, 0x91, 0x66, 0xcc, 0x00, 0x17, 0x49, 0xc9, 0x1c, + 0x2d, 0x46, 0x34, 0x20, 0x77, 0xa6, 0xfd, 0x4b, 0xe8, 0x72, 0x83, 0x27, 0xae, 0x55, 0x9e, 0x42, + 0x66, 0x2a, 0x13, 0x4b, 0xb3, 0x11, 0x84, 0x70, 0xaf, 0xeb, 0x02, 0x2f, 0x8b, 0x25, 0x59, 0x9a, + 0xcc, 0xc3, 0xf8, 0xb2, 0x83, 0x47, 0x62, 0xf7, 0xe8, 0xe6, 0xb2, 0xdd, 0x32, 0x1b, 0x9b, 0xf8, + 0xba, 0x55, 0x4c, 0x95, 0x1d, 0x8e, 0xab, 0x3f, 0xa2, 0x9b, 0xf5, 0x0e, 0x62, 0xe5, 0x65, 0x25, + 0x5e, 0x52, 0x0e, 0xa9, 0xfc, 0xf4, 0xee, 0x42, 0x2a, 0x53, 0x18, 0x17, 0x57, 0xd8, 0x4f, 0x3c, + 0x6a, 0xb1, 0xa5, 0xde, 0x15, 0x2f, 0x59, 0x95, 0xd8, 0x95, 0x77, 0x80, 0xe7, 0x53, 0x87, 0x18, + 0x65, 0x34, 0x00, 0xcb, 0x0d, 0x8b, 0x17, 0x49, 0xc6, 0x1d, 0x7e, 0x66, 0x1f, 0x71, 0x87, 0xff, + 0x56, 0x41, 0x9e, 0x7f, 0xc9, 0x65, 0x28, 0x4a, 0x69, 0x81, 0x30, 0xa8, 0x2a, 0x86, 0x50, 0x2f, + 0x8a, 0x58, 0xd1, 0x43, 0xc2, 0x76, 0x09, 0xa2, 0xe7, 0x60, 0x1e, 0xc8, 0x30, 0xd0, 0xa6, 0x16, + 0x12, 0x60, 0x0e, 0xbe, 0xee, 0x6a, 0xcb, 0x6c, 0x60, 0x60, 0xfd, 0x82, 0x14, 0x2e, 0x03, 0xa1, + 0x3c, 0xae, 0xbe, 0x44, 0x42, 0x6e, 0xc1, 0xb0, 0x7f, 0x14, 0x1b, 0x06, 0x15, 0xc6, 0x78, 0xeb, + 0x62, 0xb6, 0x16, 0xe1, 0xdc, 0x25, 0x22, 0xf2, 0x26, 0x40, 0x38, 0x1d, 0x08, 0x4b, 0x0b, 0x97, + 0x0a, 0x79, 0xf6, 0x90, 0x97, 0x8a, 0x90, 0x9a, 0x4d, 0x9c, 0xb2, 0x3a, 0xfa, 0x59, 0x47, 0x71, + 0xe2, 0x8c, 0xe8, 0xb0, 0xac, 0x20, 0xd1, 0x22, 0x64, 0x09, 0x26, 0x12, 0x1a, 0x28, 0x42, 0x10, + 0x63, 0xe6, 0xf9, 0x14, 0xf5, 0x95, 0x17, 0xe6, 0x44, 0x59, 0xf2, 0x3c, 0x14, 0xee, 0x6b, 0x55, + 0x11, 0x06, 0x95, 0x47, 0xd0, 0x8d, 0xc4, 0x48, 0x62, 0x58, 0xf5, 0x8f, 0xe5, 0x13, 0x6b, 0x13, + 0x93, 0x9e, 0x60, 0x25, 0xf5, 0x20, 0x4a, 0xcf, 0xaf, 0x9f, 0x4b, 0x4f, 0x22, 0x22, 0xd7, 0x60, + 0x70, 0x99, 0xcd, 0x0c, 0x0d, 0xbb, 0x25, 0xfa, 0x13, 0x03, 0x5a, 0x75, 0x04, 0x4c, 0x0b, 0xb0, + 0xe4, 0x96, 0x94, 0x2c, 0x57, 0x8a, 0x2c, 0xee, 0x27, 0xcb, 0x8d, 0x87, 0xd8, 0xc6, 0xb4, 0xb9, + 0xb7, 0x62, 0xc9, 0xb7, 0x44, 0x99, 0x94, 0x75, 0x31, 0x4c, 0xb6, 0x15, 0x58, 0xa5, 0xfd, 0x3b, + 0x59, 0xa5, 0xea, 0xdf, 0xce, 0x25, 0xc7, 0x19, 0xb9, 0x9d, 0x0c, 0xf2, 0x8b, 0x8b, 0x50, 0x00, + 0x94, 0x6b, 0x0d, 0xc2, 0xfd, 0x46, 0xc2, 0xf5, 0xe6, 0xf7, 0x1d, 0xae, 0xb7, 0xb0, 0xc7, 0x70, + 0xbd, 0xea, 0xff, 0x5b, 0xec, 0xe9, 0x72, 0x7d, 0x24, 0x61, 0xdd, 0xde, 0x60, 0x3b, 0x2b, 0x56, + 0x7b, 0xd9, 0x4d, 0xec, 0x0f, 0xb8, 0x47, 0x69, 0x5d, 0xe7, 0x43, 0xcb, 0xd5, 0xa2, 0x94, 0xe4, + 0x5d, 0x18, 0xf1, 0x3f, 0x00, 0xc3, 0x40, 0x4b, 0xe1, 0x8b, 0x83, 0x55, 0x2d, 0x16, 0x30, 0x39, + 0x52, 0x80, 0xbc, 0x0a, 0x43, 0x68, 0xd3, 0x74, 0xf4, 0x86, 0x1f, 0x23, 0x9c, 0x07, 0x15, 0xf7, + 0x81, 0x72, 0xe8, 0xb2, 0x80, 0x92, 0x7c, 0x09, 0x4a, 0x22, 0x51, 0x06, 0xcf, 0x23, 0x7f, 0x73, + 0x17, 0x3e, 0xea, 0x37, 0xe4, 0x24, 0x19, 0x7c, 0x97, 0x82, 0x80, 0xc8, 0x2e, 0x85, 0xe7, 0xc7, + 0x58, 0x81, 0xb3, 0xcb, 0x0e, 0x35, 0xf0, 0x35, 0xc4, 0xcc, 0x93, 0x8e, 0x23, 0x52, 0x98, 0xf0, + 0x51, 0x8e, 0x8b, 0x54, 0xc7, 0x47, 0xb3, 0xe5, 0x53, 0xe0, 0xe5, 0x40, 0xc5, 0x29, 0xc5, 0x99, + 0xe5, 0xc2, 0x5b, 0x72, 0x8f, 0x6e, 0x6e, 0xd8, 0x8e, 0xc1, 0xb3, 0x7c, 0x88, 0xf9, 0x5b, 0x08, + 0xfa, 0x91, 0x40, 0xc9, 0x96, 0x4b, 0xb4, 0xd0, 0xa5, 0x37, 0x60, 0x78, 0xbf, 0x89, 0x26, 0x7e, + 0x35, 0x9f, 0xf1, 0x78, 0xe9, 0xe4, 0xe6, 0xfa, 0x0b, 0x12, 0x50, 0xf7, 0x67, 0x24, 0xa0, 0xfe, + 0xc3, 0x7c, 0xc6, 0xcb, 0xac, 0x13, 0x9d, 0x28, 0x36, 0x10, 0x46, 0x34, 0x51, 0x6c, 0x98, 0xa3, + 0xd7, 0x34, 0x34, 0x99, 0x28, 0x96, 0x52, 0xba, 0xb4, 0x63, 0x4a, 0xe9, 0x5f, 0x28, 0xf4, 0x7a, + 0xb9, 0x76, 0x2a, 0xfb, 0xbd, 0xc8, 0xfe, 0x16, 0x0c, 0x07, 0x92, 0xad, 0x56, 0xd0, 0xe8, 0x19, + 0x0d, 0xd2, 0xda, 0x70, 0x30, 0x96, 0x91, 0x88, 0xc8, 0x75, 0xde, 0xd6, 0x9a, 0xf9, 0x21, 0x4f, + 0xb0, 0x30, 0x2a, 0x42, 0xe7, 0xeb, 0x9e, 0x5e, 0x77, 0xcd, 0x0f, 0xa9, 0x16, 0xa0, 0xd5, 0xbf, + 0x9b, 0x4f, 0x7d, 0xfe, 0x77, 0xda, 0x47, 0x7b, 0xe8, 0xa3, 0x14, 0x21, 0xf2, 0x87, 0x8b, 0xa7, + 0x42, 0xdc, 0x83, 0x10, 0xff, 0x20, 0x9f, 0xfa, 0xcc, 0xf3, 0x54, 0x88, 0x7b, 0x99, 0x2d, 0x5e, + 0x84, 0x21, 0xcd, 0xde, 0x70, 0xa7, 0x71, 0x63, 0xc3, 0xe7, 0x0a, 0x9c, 0xa8, 0x1d, 0x7b, 0xc3, + 0xad, 0xe3, 0x96, 0x45, 0x0b, 0x09, 0xd4, 0xef, 0xe5, 0x7b, 0x3c, 0x84, 0x3d, 0x15, 0xfc, 0x47, + 0xb9, 0x44, 0xfe, 0x46, 0x3e, 0xf2, 0xd0, 0xf6, 0xe4, 0x0a, 0xfb, 0x26, 0x40, 0xad, 0xb1, 0x4e, + 0xdb, 0xba, 0x94, 0xa4, 0x0a, 0xcf, 0x1d, 0x5c, 0x84, 0x8a, 0xe4, 0xc6, 0x21, 0x89, 0xfa, 0xad, + 0x7c, 0xec, 0xa5, 0xf1, 0xa9, 0xec, 0x76, 0x2d, 0xbb, 0x40, 0xeb, 0xc4, 0xe3, 0xe9, 0x53, 0xc9, + 0xed, 0x56, 0x72, 0x3f, 0x9e, 0x8f, 0xbd, 0x33, 0x3f, 0xb1, 0xb2, 0x63, 0x03, 0x30, 0xf9, 0xfe, + 0xfd, 0xc4, 0x6a, 0xd2, 0x8b, 0x30, 0x24, 0xe4, 0x10, 0x2c, 0x15, 0x7c, 0xde, 0xe7, 0x40, 0x3c, + 0x65, 0x0d, 0x08, 0xd4, 0x3f, 0x9e, 0x87, 0xe8, 0xfb, 0xff, 0x13, 0xaa, 0x43, 0xbf, 0x91, 0x8f, + 0x46, 0x3e, 0x38, 0xb9, 0xfa, 0x73, 0x03, 0xa0, 0xd6, 0x5d, 0x6d, 0x88, 0xc0, 0xb9, 0xfd, 0xd2, + 0x31, 0x7d, 0x00, 0xd5, 0x24, 0x0a, 0xf5, 0xff, 0xcb, 0xa7, 0x86, 0x63, 0x38, 0xb9, 0x02, 0x7c, + 0x05, 0x4f, 0xc5, 0x1b, 0x56, 0x38, 0x91, 0xe3, 0x21, 0x24, 0x1b, 0x7f, 0x89, 0xcc, 0x86, 0x3e, + 0x21, 0xf9, 0x6c, 0x8a, 0xb9, 0x86, 0x79, 0x17, 0x42, 0x73, 0x4d, 0xbe, 0x86, 0x90, 0x0c, 0xb7, + 0xbf, 0x9f, 0xdf, 0x29, 0x7a, 0xc5, 0x49, 0x5e, 0x55, 0x07, 0x96, 0xf5, 0x4d, 0x8c, 0xb2, 0xc8, + 0x7a, 0x62, 0x84, 0xe7, 0xdd, 0xeb, 0x70, 0x90, 0x7c, 0xf7, 0x26, 0xa8, 0xd4, 0x7f, 0xd1, 0x9f, + 0x1e, 0x3a, 0xe1, 0xe4, 0x8a, 0xf0, 0x32, 0x14, 0x97, 0x75, 0x6f, 0x5d, 0x68, 0x32, 0x5e, 0xe9, + 0x75, 0x74, 0x6f, 0x5d, 0x43, 0x28, 0xb9, 0x0e, 0x83, 0x9a, 0xbe, 0xc1, 0xcf, 0x3c, 0x4b, 0x61, + 0x4e, 0x44, 0x47, 0xdf, 0xa8, 0xf3, 0x73, 0xcf, 0x00, 0x4d, 0xd4, 0x20, 0x27, 0x27, 0x3f, 0xf9, + 0xc6, 0x84, 0x70, 0x3c, 0x27, 0x67, 0x90, 0x89, 0xf3, 0x32, 0x14, 0xa7, 0x6c, 0x63, 0x13, 0xaf, + 0xaf, 0x46, 0x78, 0x65, 0xab, 0xb6, 0xb1, 0xa9, 0x21, 0x94, 0xfc, 0x44, 0x0e, 0x06, 0xe6, 0xa8, + 0x6e, 0xb0, 0x11, 0x32, 0xd4, 0xcb, 0xeb, 0xe4, 0x0b, 0x87, 0xe3, 0x75, 0x32, 0xb1, 0xce, 0x2b, + 0x93, 0x15, 0x45, 0xd4, 0x4f, 0xee, 0xc0, 0xe0, 0xb4, 0xee, 0xd1, 0xa6, 0xed, 0x6c, 0xa2, 0x1f, + 0xcd, 0x58, 0xe8, 0x7e, 0x1f, 0xd1, 0x1f, 0x9f, 0x88, 0xdf, 0x8c, 0x35, 0xc4, 0x2f, 0x2d, 0x28, + 0xcc, 0xc4, 0xc2, 0x53, 0xfe, 0x8b, 0xfc, 0xd3, 0x28, 0x16, 0x0f, 0x21, 0x9a, 0xc0, 0x84, 0xc7, + 0xca, 0x23, 0xe9, 0xc7, 0xca, 0x68, 0x3d, 0xa2, 0xaf, 0x1d, 0x66, 0xc2, 0x1c, 0xc5, 0x45, 0x9f, + 0x5b, 0x8f, 0x08, 0xc5, 0x44, 0x98, 0x9a, 0x44, 0xa2, 0x7e, 0xb7, 0x1f, 0x52, 0x1f, 0x5a, 0x9f, + 0x2a, 0xf9, 0xa9, 0x92, 0x87, 0x4a, 0x5e, 0x49, 0x28, 0xf9, 0xa5, 0xe4, 0xd3, 0xfd, 0x8f, 0xa9, + 0x86, 0xff, 0x74, 0x31, 0x11, 0xf8, 0xe3, 0x64, 0xef, 0x2e, 0x43, 0xe9, 0xf5, 0xef, 0x28, 0xbd, + 0x60, 0x40, 0x94, 0x76, 0x1c, 0x10, 0x03, 0xbb, 0x1d, 0x10, 0x83, 0x99, 0x03, 0x22, 0x54, 0x90, + 0xa1, 0x4c, 0x05, 0xa9, 0x8a, 0x41, 0x03, 0xbd, 0xf3, 0x8f, 0x5c, 0xde, 0xde, 0x9a, 0x1c, 0x63, + 0xa3, 0x29, 0x35, 0xf1, 0x08, 0xb2, 0x50, 0x7f, 0xb7, 0xd8, 0x23, 0x5a, 0xcf, 0x91, 0xe8, 0xc8, + 0x2b, 0x50, 0x28, 0x77, 0x3a, 0x42, 0x3f, 0xce, 0x4a, 0x81, 0x82, 0x32, 0x4a, 0x31, 0x6a, 0xf2, + 0x26, 0x14, 0xca, 0x0f, 0x6b, 0xf1, 0x9c, 0x23, 0xe5, 0x87, 0x35, 0xf1, 0x25, 0x99, 0x65, 0x1f, + 0xd6, 0xc8, 0xdb, 0x61, 0xf0, 0xcf, 0xf5, 0xae, 0xf5, 0x48, 0x6c, 0x14, 0x85, 0xbb, 0xad, 0xef, + 0x8e, 0xd3, 0x60, 0x28, 0xb6, 0x5d, 0x8c, 0xd1, 0xc6, 0xb4, 0xa9, 0xb4, 0x7b, 0x6d, 0x1a, 0xd8, + 0x51, 0x9b, 0x06, 0x77, 0xab, 0x4d, 0x43, 0xbb, 0xd0, 0x26, 0xd8, 0x51, 0x9b, 0x86, 0x0f, 0xae, + 0x4d, 0x1d, 0xb8, 0x94, 0x8c, 0xb0, 0x16, 0x68, 0x84, 0x06, 0x24, 0x89, 0x15, 0x8e, 0x25, 0x78, + 0xf5, 0xdf, 0xe5, 0xd8, 0xfa, 0x06, 0xa2, 0xeb, 0x2e, 0xc3, 0xcb, 0xfe, 0x69, 0xc9, 0xd2, 0xea, + 0xaf, 0xe6, 0xb3, 0x03, 0xc3, 0x1d, 0xcf, 0x29, 0xee, 0x87, 0x52, 0xa5, 0x54, 0x8c, 0x3e, 0xd4, + 0xcf, 0x96, 0x72, 0x8c, 0x6d, 0x9a, 0xcc, 0xbe, 0x9d, 0xcb, 0x8a, 0x56, 0x77, 0x20, 0x89, 0x7d, + 0x32, 0xe9, 0xd1, 0x86, 0x7e, 0xfa, 0x6e, 0xd4, 0x95, 0x6d, 0x16, 0x46, 0x64, 0x21, 0x0a, 0x29, + 0xed, 0x46, 0xc0, 0x91, 0x72, 0xea, 0xdf, 0xce, 0xc1, 0xd9, 0x7b, 0xdd, 0x55, 0x2a, 0x3c, 0xd8, + 0x82, 0x66, 0x7c, 0x00, 0xc0, 0xc0, 0xc2, 0x89, 0x25, 0x87, 0x4e, 0x2c, 0x9f, 0x96, 0x23, 0xcd, + 0xc5, 0x0a, 0xdc, 0x08, 0xa9, 0xb9, 0x03, 0xcb, 0x33, 0xbe, 0x33, 0xe7, 0xa3, 0xee, 0x2a, 0xad, + 0x27, 0x3c, 0x59, 0x24, 0xee, 0x97, 0xde, 0xe1, 0x6e, 0xf2, 0xfb, 0x75, 0x1a, 0xf9, 0xe5, 0x7c, + 0x66, 0x70, 0xbf, 0x63, 0x9b, 0x85, 0xf2, 0x07, 0x52, 0x7b, 0x25, 0x9e, 0x8d, 0x32, 0x85, 0x24, + 0xc6, 0x31, 0x8d, 0x4b, 0xba, 0xc0, 0x8e, 0x79, 0x6e, 0xd4, 0x8f, 0x54, 0x60, 0xff, 0x28, 0x97, + 0x19, 0x84, 0xf1, 0xb8, 0x0a, 0x4c, 0xfd, 0x5f, 0x0b, 0x7e, 0xec, 0xc7, 0x03, 0x7d, 0xc2, 0x8b, + 0x30, 0x24, 0x9e, 0xc0, 0x47, 0x1d, 0x70, 0xc5, 0x51, 0x1e, 0x1e, 0x0d, 0x07, 0x04, 0x6c, 0x99, + 0x97, 0xbc, 0x83, 0x25, 0x07, 0x5c, 0xc9, 0x33, 0x58, 0x93, 0x48, 0xd8, 0x42, 0x3e, 0xf3, 0xc4, + 0xf4, 0xd0, 0x2a, 0x60, 0x7d, 0x59, 0xe0, 0x0b, 0x39, 0x7d, 0x62, 0x7a, 0xdc, 0x26, 0x08, 0xd0, + 0x6c, 0x91, 0xae, 0x85, 0x99, 0xdf, 0xc5, 0x22, 0xed, 0x8a, 0x04, 0xf8, 0xe2, 0xd9, 0xd8, 0x8b, + 0x30, 0x24, 0xbc, 0x5a, 0x85, 0x9b, 0x89, 0x68, 0xad, 0xf0, 0x83, 0xc5, 0xd6, 0x06, 0x04, 0x8c, + 0xa3, 0x46, 0x9b, 0xa1, 0x63, 0x1d, 0x72, 0x74, 0x10, 0xa2, 0x09, 0x0c, 0xb9, 0x05, 0x63, 0x35, + 0x4f, 0xb7, 0x0c, 0xdd, 0x31, 0x96, 0xba, 0x5e, 0xa7, 0xeb, 0xc9, 0x46, 0xa9, 0xeb, 0x19, 0x76, + 0xd7, 0xd3, 0x62, 0x14, 0xe4, 0x33, 0x30, 0xea, 0x43, 0x66, 0x1c, 0xc7, 0x76, 0x64, 0xcb, 0xc3, + 0xf5, 0x0c, 0xea, 0x38, 0x5a, 0x94, 0x80, 0x7c, 0x16, 0x46, 0xab, 0xd6, 0x63, 0xbb, 0xc1, 0x9f, + 0x81, 0x6b, 0xf3, 0xc2, 0x0e, 0xc1, 0xa7, 0x58, 0x66, 0x80, 0xa8, 0x77, 0x9d, 0x96, 0x16, 0x25, + 0x54, 0xb7, 0xf3, 0xc9, 0x10, 0x99, 0x27, 0x77, 0xd3, 0x72, 0x3d, 0xea, 0x4c, 0x87, 0x1e, 0xa4, + 0x68, 0x10, 0xca, 0xbe, 0xbc, 0xdc, 0x2e, 0xbc, 0x05, 0x83, 0xf7, 0xe8, 0x26, 0xf7, 0xfb, 0x2c, + 0x85, 0xae, 0xc2, 0x8f, 0x04, 0x4c, 0x3e, 0x71, 0xf5, 0xe9, 0xd4, 0xdf, 0xc9, 0x27, 0x83, 0x7f, + 0x9e, 0x5c, 0x61, 0x7f, 0x06, 0x06, 0x50, 0x94, 0x55, 0xff, 0xc8, 0x1f, 0x05, 0x88, 0xe2, 0x8e, + 0x7a, 0x20, 0xfb, 0x64, 0xea, 0xcf, 0x97, 0xe2, 0x11, 0x61, 0x4f, 0xae, 0xf4, 0xde, 0x82, 0xe1, + 0x69, 0xdb, 0x72, 0x4d, 0xd7, 0xa3, 0x56, 0xc3, 0x57, 0xd8, 0xa7, 0x98, 0x41, 0xd5, 0x08, 0xc1, + 0xf2, 0x1b, 0x24, 0x89, 0x7a, 0x3f, 0xca, 0x4b, 0x5e, 0x83, 0x21, 0x14, 0x39, 0xfa, 0x49, 0xf3, + 0x09, 0x0f, 0x6f, 0x0b, 0x56, 0x19, 0x30, 0xee, 0x24, 0x1d, 0x92, 0x92, 0xfb, 0x30, 0x38, 0xbd, + 0x6e, 0xb6, 0x0c, 0x87, 0x5a, 0xe8, 0x2f, 0x2c, 0x3d, 0xfb, 0x8d, 0xf6, 0xe5, 0x0d, 0xfc, 0x17, + 0x69, 0x79, 0x73, 0x1a, 0xa2, 0x58, 0xe4, 0x15, 0x96, 0x80, 0x5d, 0xfa, 0xa9, 0x3c, 0x40, 0x58, + 0x80, 0x3c, 0x0b, 0xf9, 0x20, 0xa9, 0x32, 0xba, 0xa9, 0x44, 0x34, 0x28, 0x8f, 0x4b, 0x85, 0x18, + 0xdb, 0xf9, 0x1d, 0xc7, 0xf6, 0x7d, 0x28, 0xf1, 0x13, 0x2f, 0xf4, 0x24, 0x97, 0x82, 0x54, 0x66, + 0x36, 0xf8, 0x06, 0xd2, 0xf3, 0xcd, 0x2c, 0x5a, 0x9e, 0x11, 0xaf, 0x6c, 0xce, 0xec, 0x52, 0x03, + 0xfa, 0xf1, 0x2f, 0x72, 0x15, 0x8a, 0x2b, 0x7e, 0x42, 0xd6, 0x51, 0x3e, 0x4b, 0xc7, 0xe4, 0x87, + 0x78, 0xd6, 0x4d, 0xd3, 0xb6, 0xe5, 0xb1, 0xaa, 0xb1, 0xd5, 0x23, 0x42, 0x2e, 0x02, 0x16, 0x91, + 0x8b, 0x80, 0xa9, 0xff, 0x4d, 0x3e, 0x25, 0x56, 0xf1, 0xc9, 0x1d, 0x26, 0x6f, 0x00, 0xe0, 0x93, + 0x6e, 0x26, 0x4f, 0xff, 0x89, 0x06, 0x8e, 0x12, 0x64, 0x84, 0x6a, 0x1b, 0xd9, 0x76, 0x84, 0xc4, + 0xea, 0xdf, 0xcb, 0x25, 0x02, 0xdc, 0x1e, 0x48, 0x8e, 0xb2, 0x55, 0x96, 0xdf, 0xa7, 0x19, 0xeb, + 0xf7, 0x45, 0x61, 0x6f, 0x7d, 0x11, 0xfd, 0x96, 0x43, 0xb0, 0x4c, 0x8f, 0xf2, 0x5b, 0xbe, 0x9b, + 0x4f, 0x0b, 0xf7, 0x7b, 0x3c, 0x55, 0xfc, 0x76, 0x60, 0x94, 0x16, 0x63, 0x01, 0xd6, 0x11, 0x1a, + 0x4f, 0x1a, 0x2d, 0xcc, 0xd4, 0x2f, 0xc3, 0x99, 0x58, 0x10, 0x5c, 0x91, 0xbf, 0xf7, 0x6a, 0xef, + 0x68, 0xba, 0xd9, 0xc1, 0x00, 0x22, 0x64, 0xea, 0xff, 0x9f, 0xeb, 0x1d, 0x02, 0xf9, 0xc8, 0x55, + 0x27, 0x45, 0x00, 0x85, 0x3f, 0x1a, 0x01, 0x1c, 0xc2, 0x36, 0xf8, 0x78, 0x0b, 0xe0, 0x63, 0x32, + 0x79, 0x7c, 0xd4, 0x02, 0xf8, 0xf9, 0xdc, 0x8e, 0x11, 0xac, 0x8f, 0x5a, 0x06, 0xea, 0xff, 0x94, + 0x4b, 0x8d, 0x34, 0x7d, 0xa0, 0x76, 0xbd, 0x0d, 0x25, 0xee, 0x56, 0x23, 0x5a, 0x25, 0xe5, 0xe6, + 0x62, 0xd0, 0xac, 0x6c, 0xf6, 0x1c, 0x4b, 0xe6, 0x61, 0x80, 0xb7, 0xc1, 0x10, 0xbd, 0xf1, 0x89, + 0x1e, 0xe1, 0xae, 0x8d, 0xac, 0xc9, 0x51, 0xa0, 0xd5, 0xbf, 0x93, 0x4b, 0x04, 0xbe, 0x3e, 0xc2, + 0x6f, 0x0b, 0xa7, 0xea, 0xc2, 0xee, 0xa7, 0x6a, 0xf5, 0x9f, 0xe7, 0xd3, 0xe3, 0x6e, 0x1f, 0xe1, + 0x87, 0x1c, 0xc6, 0x71, 0xda, 0xfe, 0xd6, 0xad, 0x15, 0x18, 0x8b, 0xca, 0x42, 0x2c, 0x5b, 0x57, + 0xd2, 0xa3, 0x8f, 0x67, 0xb4, 0x22, 0xc6, 0x43, 0xfd, 0x4e, 0x2e, 0x19, 0x32, 0xfc, 0xc8, 0xe7, + 0xa7, 0xfd, 0x69, 0x4b, 0xf4, 0x53, 0x3e, 0x26, 0x6b, 0xcd, 0x61, 0x7c, 0xca, 0xc7, 0x64, 0xd5, + 0xd8, 0xdf, 0xa7, 0xfc, 0x62, 0x3e, 0x2b, 0xe2, 0xfa, 0x91, 0x7f, 0xd0, 0x17, 0x65, 0x21, 0xf3, + 0x96, 0x89, 0x4f, 0x7b, 0x36, 0x2b, 0xc4, 0x79, 0x06, 0xcf, 0x04, 0x9f, 0xfd, 0x8d, 0xf1, 0x54, + 0x61, 0x7d, 0x4c, 0x14, 0xf9, 0x78, 0x08, 0xeb, 0x63, 0x32, 0x54, 0x3e, 0x7e, 0xc2, 0xfa, 0xad, + 0xfc, 0x6e, 0xc3, 0xfc, 0x9f, 0x0a, 0x2f, 0x21, 0xbc, 0x6f, 0xe4, 0x93, 0xe9, 0x27, 0x8e, 0x5c, + 0x4c, 0xb3, 0x50, 0x12, 0x89, 0x30, 0x32, 0x85, 0xc3, 0xf1, 0x59, 0x16, 0x8d, 0xf8, 0x8e, 0xdb, + 0x20, 0x2e, 0x72, 0x76, 0x27, 0x12, 0x4e, 0xab, 0x7e, 0x2f, 0x17, 0xcb, 0xd5, 0x70, 0x24, 0x47, + 0x08, 0xfb, 0x5a, 0x92, 0xc8, 0x3b, 0xfe, 0x61, 0x66, 0x31, 0x16, 0x2b, 0x3b, 0xf8, 0x9e, 0x0a, + 0xf5, 0x74, 0xb3, 0x15, 0x2f, 0x2f, 0x62, 0x02, 0xfc, 0x4e, 0x1e, 0x26, 0x12, 0xa4, 0xe4, 0x6a, + 0x24, 0x94, 0x0e, 0x1e, 0x4b, 0xc6, 0x9c, 0xc7, 0x79, 0x50, 0x9d, 0x3d, 0x9c, 0xa4, 0x5e, 0x85, + 0x62, 0x45, 0xdf, 0xe4, 0xdf, 0xd6, 0xcf, 0x59, 0x1a, 0xfa, 0xa6, 0x7c, 0xe2, 0x86, 0x78, 0xb2, + 0x0a, 0xe7, 0xf9, 0x7d, 0x88, 0x69, 0x5b, 0x2b, 0x66, 0x9b, 0x56, 0xad, 0x05, 0xb3, 0xd5, 0x32, + 0x5d, 0x71, 0xa9, 0xf7, 0xe2, 0xf6, 0xd6, 0xe4, 0x35, 0xcf, 0xf6, 0xf4, 0x56, 0x9d, 0xfa, 0x64, + 0x75, 0xcf, 0x6c, 0xd3, 0xba, 0x69, 0xd5, 0xdb, 0x48, 0x29, 0xb1, 0x4c, 0x67, 0x45, 0xaa, 0x3c, + 0x2c, 0x7a, 0xad, 0xa1, 0x5b, 0x16, 0x35, 0xaa, 0xd6, 0xd4, 0xa6, 0x47, 0xf9, 0x65, 0x60, 0x81, + 0x1f, 0x09, 0xf2, 0xb7, 0xe1, 0x1c, 0xcd, 0x18, 0xaf, 0x32, 0x02, 0x2d, 0xa5, 0x90, 0xfa, 0xdb, + 0xc5, 0x94, 0x34, 0x1d, 0xc7, 0x48, 0x7d, 0xfc, 0x9e, 0x2e, 0xee, 0xd0, 0xd3, 0x37, 0x61, 0x40, + 0xc4, 0x9d, 0x15, 0x17, 0x0c, 0xe8, 0xcc, 0xfe, 0x98, 0x83, 0xe4, 0x1b, 0x1a, 0x41, 0x45, 0x5a, + 0x70, 0x69, 0x85, 0x75, 0x53, 0x7a, 0x67, 0x96, 0xf6, 0xd1, 0x99, 0x3d, 0xf8, 0x91, 0xf7, 0xe1, + 0x22, 0x62, 0x53, 0xba, 0x75, 0x00, 0xab, 0xc2, 0x18, 0x55, 0xbc, 0xaa, 0xf4, 0xce, 0xcd, 0x2a, + 0x4f, 0xbe, 0x08, 0x23, 0xc1, 0x00, 0x31, 0xa9, 0x2b, 0x6e, 0x2e, 0x7a, 0x8c, 0x33, 0x1e, 0x00, + 0x8e, 0x81, 0xd1, 0x85, 0x2c, 0x1a, 0x44, 0x2c, 0xc2, 0x4b, 0xfd, 0x1f, 0x73, 0xbd, 0xd2, 0x85, + 0x1c, 0xf9, 0xac, 0xfc, 0x0e, 0x0c, 0x18, 0xfc, 0xa3, 0x84, 0x4e, 0xf5, 0x4e, 0x28, 0xc2, 0x49, + 0x35, 0xbf, 0x8c, 0xfa, 0xcf, 0x72, 0x3d, 0xb3, 0x94, 0x1c, 0xf7, 0xcf, 0xfb, 0x46, 0x21, 0xe3, + 0xf3, 0xc4, 0x24, 0x7a, 0x1d, 0xc6, 0xcd, 0x30, 0x8c, 0x7a, 0x3d, 0x0c, 0x3f, 0xa5, 0x9d, 0x91, + 0xe0, 0x38, 0xba, 0x6e, 0xc3, 0x05, 0xdf, 0xf1, 0xd1, 0xf1, 0x3d, 0xc4, 0xdc, 0x7a, 0xd7, 0x31, + 0xf9, 0xb8, 0xd4, 0xce, 0xb9, 0x31, 0xf7, 0x31, 0xf7, 0xbe, 0x63, 0xb2, 0x0a, 0x74, 0x6f, 0x9d, + 0x5a, 0x7a, 0x7d, 0xc3, 0x76, 0x1e, 0x61, 0x94, 0x51, 0x3e, 0x38, 0xb5, 0x33, 0x1c, 0xfe, 0xd0, + 0x07, 0x93, 0xe7, 0x61, 0xb4, 0xd9, 0xea, 0xd2, 0x20, 0xae, 0x23, 0xbf, 0xeb, 0xd3, 0x46, 0x18, + 0x30, 0xb8, 0x21, 0x79, 0x06, 0x00, 0x89, 0x3c, 0xcc, 0x21, 0x83, 0x17, 0x7b, 0xda, 0x10, 0x83, + 0xac, 0x88, 0xee, 0xba, 0xc4, 0xb5, 0x9a, 0x0b, 0xa9, 0xde, 0xb2, 0xad, 0x66, 0xdd, 0xa3, 0x4e, + 0x1b, 0x1b, 0x8a, 0xce, 0x0c, 0xda, 0x05, 0xa4, 0xc0, 0xab, 0x13, 0x77, 0xde, 0xb6, 0x9a, 0x2b, + 0xd4, 0x69, 0xb3, 0xa6, 0xbe, 0x08, 0x44, 0x34, 0xd5, 0xc1, 0x43, 0x0f, 0xfe, 0x71, 0xe8, 0xcd, + 0xa0, 0x89, 0x8f, 0xe0, 0xa7, 0x21, 0xf8, 0x61, 0x93, 0x30, 0xcc, 0x83, 0xdb, 0x71, 0xa1, 0xa1, + 0x0b, 0x83, 0x06, 0x1c, 0x84, 0xf2, 0xba, 0x00, 0xc2, 0xbb, 0x82, 0x7b, 0x75, 0x6b, 0xe2, 0x97, + 0xfa, 0xd5, 0x42, 0x5a, 0x62, 0x95, 0x03, 0x29, 0x5a, 0x38, 0xad, 0xe6, 0xf7, 0x34, 0xad, 0x9e, + 0xb1, 0xba, 0xed, 0xba, 0xde, 0xe9, 0xd4, 0xd7, 0xcc, 0x16, 0x3e, 0xab, 0xc2, 0x85, 0x4f, 0x1b, + 0xb5, 0xba, 0xed, 0x72, 0xa7, 0x33, 0xcb, 0x81, 0xe4, 0x05, 0x98, 0x60, 0x74, 0xd8, 0x49, 0x01, + 0x65, 0x11, 0x29, 0x19, 0x03, 0x8c, 0x0e, 0xeb, 0xd3, 0x3e, 0x05, 0x83, 0x82, 0x27, 0x5f, 0xab, + 0xfa, 0xb5, 0x01, 0xce, 0xcc, 0x65, 0x3d, 0x17, 0xb0, 0xe1, 0x93, 0x6b, 0xbf, 0x36, 0xe4, 0x97, + 0xc7, 0x18, 0xc8, 0x56, 0xb7, 0xcd, 0x23, 0x62, 0x0d, 0x20, 0x32, 0xf8, 0x4d, 0xae, 0xc2, 0x18, + 0xe3, 0x12, 0x08, 0x8c, 0x87, 0x8d, 0xed, 0xd7, 0x62, 0x50, 0x72, 0x0b, 0xce, 0x45, 0x20, 0xdc, + 0x06, 0xe5, 0xcf, 0x04, 0xfa, 0xb5, 0x54, 0x9c, 0xfa, 0xad, 0x42, 0x34, 0xdd, 0xcb, 0x11, 0x74, + 0xc4, 0x45, 0x18, 0xb0, 0x9d, 0x66, 0xbd, 0xeb, 0xb4, 0xc4, 0xd8, 0x2b, 0xd9, 0x4e, 0xf3, 0xbe, + 0xd3, 0x22, 0xe7, 0xa1, 0xc4, 0x7a, 0xc7, 0x34, 0xc4, 0x10, 0xeb, 0xd7, 0x3b, 0x9d, 0xaa, 0x41, + 0xca, 0xbc, 0x43, 0x30, 0xe4, 0x68, 0xbd, 0x81, 0x5b, 0x7b, 0xee, 0x94, 0xd0, 0xcf, 0x57, 0xbc, + 0x04, 0x12, 0xfb, 0x09, 0x03, 0x91, 0xf2, 0x83, 0x80, 0x18, 0x0b, 0x03, 0xb7, 0x25, 0x06, 0xef, + 0x93, 0x38, 0x0b, 0x81, 0x0c, 0x59, 0xf0, 0x4d, 0x8c, 0x41, 0x2a, 0x40, 0x42, 0xaa, 0xb6, 0x6d, + 0x98, 0x6b, 0x26, 0xe5, 0xaf, 0x3a, 0xfa, 0xf9, 0xc5, 0x6f, 0x12, 0xab, 0x8d, 0xfb, 0x4c, 0x16, + 0x04, 0x84, 0xbc, 0xc5, 0x95, 0x90, 0xd3, 0xe1, 0xda, 0xc7, 0xfb, 0x96, 0xdb, 0x69, 0x31, 0x14, + 0x6a, 0x26, 0x96, 0xc7, 0x85, 0x50, 0xfd, 0x2b, 0xc5, 0x64, 0xce, 0x9f, 0x23, 0xb1, 0x6b, 0xe6, + 0x00, 0x44, 0x4a, 0xaf, 0xf0, 0x72, 0x2d, 0xf0, 0x38, 0x0f, 0x31, 0x19, 0x3c, 0xa4, 0xb2, 0xe4, + 0x3a, 0x0c, 0xf2, 0x2f, 0xaa, 0x56, 0x84, 0xbd, 0x83, 0x2e, 0x62, 0x6e, 0xc7, 0x5c, 0x5b, 0x43, + 0x7f, 0xb2, 0x00, 0x4d, 0xae, 0xc2, 0x40, 0x65, 0xb1, 0x56, 0x2b, 0x2f, 0xfa, 0x37, 0xc5, 0xf8, + 0xbe, 0xc4, 0xb0, 0xdc, 0xba, 0xab, 0x5b, 0xae, 0xe6, 0x23, 0xc9, 0xf3, 0x50, 0xaa, 0x2e, 0x23, + 0x19, 0x7f, 0x35, 0x39, 0xbc, 0xbd, 0x35, 0x39, 0x60, 0x76, 0x38, 0x95, 0x40, 0x61, 0xbd, 0x0f, + 0xaa, 0x15, 0xc9, 0x5d, 0x82, 0xd7, 0xfb, 0xd8, 0x34, 0xf0, 0xda, 0x59, 0x0b, 0xd0, 0xe4, 0x55, + 0x18, 0xa9, 0x51, 0xc7, 0xd4, 0x5b, 0x8b, 0x5d, 0xdc, 0x2a, 0x4a, 0xa1, 0x14, 0x5d, 0x84, 0xd7, + 0x2d, 0x44, 0x68, 0x11, 0x32, 0x72, 0x19, 0x8a, 0x73, 0xa6, 0xe5, 0x3f, 0x61, 0x40, 0x1f, 0xf7, + 0x75, 0xd3, 0xf2, 0x34, 0x84, 0x92, 0xe7, 0xa1, 0x70, 0x77, 0xa5, 0x2a, 0x3c, 0xc1, 0x90, 0xd7, + 0x07, 0x5e, 0x24, 0x2c, 0xe3, 0xdd, 0x95, 0x2a, 0x79, 0x15, 0x86, 0xd8, 0x22, 0x46, 0xad, 0x06, + 0x75, 0x95, 0x61, 0xfc, 0x18, 0x1e, 0x46, 0xd0, 0x07, 0xca, 0x3e, 0x1d, 0x01, 0xa5, 0xfa, 0x7f, + 0xe6, 0xd3, 0x93, 0x32, 0x1d, 0xc1, 0x50, 0xdf, 0xe7, 0x2d, 0x72, 0x4c, 0xc1, 0x8a, 0x07, 0x50, + 0xb0, 0x35, 0x38, 0x53, 0x36, 0xda, 0xa6, 0x55, 0xc6, 0x9f, 0xee, 0xc2, 0x6c, 0x19, 0xa7, 0x0e, + 0xe9, 0x79, 0x5e, 0x0c, 0x2d, 0xbe, 0x87, 0x07, 0xfc, 0x65, 0xa8, 0xba, 0xce, 0x71, 0xf5, 0xf6, + 0x9a, 0x5e, 0x6f, 0xf0, 0x7c, 0x46, 0x5a, 0x9c, 0xa9, 0xfa, 0x93, 0xf9, 0x1d, 0xf2, 0x48, 0x9d, + 0x44, 0xe9, 0xab, 0xdf, 0xcc, 0xf7, 0x4e, 0xe5, 0x75, 0x22, 0x85, 0xf2, 0x07, 0xf9, 0x94, 0xc4, + 0x5a, 0x07, 0x92, 0xc4, 0x75, 0x18, 0xe4, 0x6c, 0x02, 0x37, 0x5e, 0x9c, 0xcd, 0xb8, 0xb2, 0xe2, + 0x2c, 0xea, 0xa3, 0xc9, 0x22, 0x9c, 0x2b, 0xaf, 0xad, 0xd1, 0x86, 0x17, 0x86, 0x7e, 0x5e, 0x0c, + 0x83, 0xb0, 0xf2, 0x50, 0xb7, 0x02, 0x1f, 0x86, 0x8e, 0xc6, 0x60, 0x23, 0xa9, 0xe5, 0xc8, 0x0a, + 0x5c, 0x88, 0xc3, 0x6b, 0x7c, 0x0b, 0x50, 0x94, 0xa2, 0xdf, 0x26, 0x38, 0xf2, 0xff, 0xb4, 0x8c, + 0xb2, 0x69, 0xad, 0xc4, 0xa9, 0xba, 0xbf, 0x57, 0x2b, 0x71, 0xde, 0x4e, 0x2d, 0xa7, 0xfe, 0x4e, + 0x41, 0xce, 0x3f, 0x76, 0x72, 0x1d, 0xae, 0x6e, 0x47, 0xdc, 0xac, 0x77, 0x3b, 0x64, 0x5e, 0x15, + 0x11, 0x44, 0x8c, 0xae, 0xe3, 0x7b, 0x24, 0x06, 0x11, 0x0c, 0x10, 0x28, 0xaf, 0x43, 0x01, 0x25, + 0xa9, 0x42, 0xb1, 0xec, 0x34, 0xb9, 0x79, 0xbb, 0xd3, 0xa3, 0x2a, 0xdd, 0x69, 0xba, 0xe9, 0x8f, + 0xaa, 0x18, 0x0b, 0xf5, 0x4f, 0xe7, 0x7b, 0xa4, 0x0c, 0x3b, 0x91, 0x93, 0xc8, 0x9f, 0xcb, 0x67, + 0x25, 0xff, 0x3a, 0xae, 0xae, 0x63, 0x1f, 0xb1, 0x70, 0x8e, 0xb7, 0x5f, 0xdd, 0x21, 0x0b, 0x27, + 0x23, 0x11, 0xd9, 0xa9, 0x70, 0xbe, 0x9a, 0xcf, 0xca, 0xc5, 0x76, 0x62, 0x67, 0x99, 0x8c, 0xf4, + 0x6f, 0xa7, 0xba, 0xf2, 0xb3, 0xf9, 0xcc, 0x0c, 0x78, 0xa7, 0xd2, 0x51, 0xbf, 0x96, 0xcf, 0xcc, + 0xe0, 0x77, 0x22, 0x87, 0x52, 0xaa, 0xb6, 0x9c, 0x8e, 0x25, 0x21, 0x9d, 0xdf, 0xcb, 0xa7, 0xe7, + 0x4c, 0x3c, 0x02, 0x55, 0x39, 0x0c, 0x0f, 0x3c, 0x5f, 0xa0, 0xc5, 0x03, 0x09, 0xb4, 0xff, 0x50, + 0x05, 0x7a, 0x64, 0x63, 0xef, 0xfb, 0x55, 0xa0, 0x87, 0x30, 0x78, 0x4f, 0xb2, 0x40, 0xff, 0x54, + 0x21, 0x99, 0x27, 0xf4, 0x44, 0x1e, 0x51, 0x4e, 0xc1, 0xa0, 0x7f, 0x86, 0x21, 0x04, 0xba, 0xeb, + 0xee, 0xf4, 0xcb, 0x91, 0x77, 0xe1, 0x4c, 0x28, 0x4b, 0x39, 0x32, 0x15, 0x5e, 0x6f, 0x34, 0x18, + 0xaa, 0xfe, 0x01, 0xc3, 0x89, 0x10, 0x2a, 0x71, 0x6a, 0xf5, 0x7b, 0x85, 0x64, 0xb2, 0xd5, 0xd3, + 0xde, 0xd8, 0x67, 0x6f, 0xdc, 0x87, 0x0b, 0xd3, 0x5d, 0xc7, 0xa1, 0x96, 0x97, 0xde, 0x29, 0x78, + 0xb8, 0xdc, 0xe0, 0x14, 0xf5, 0x64, 0xe7, 0x64, 0x14, 0x66, 0x6c, 0x85, 0xf7, 0x7d, 0x9c, 0xed, + 0x40, 0xc8, 0xb6, 0xcb, 0x29, 0xd2, 0xd8, 0xa6, 0x17, 0x56, 0xff, 0x7e, 0x3e, 0x99, 0x1e, 0xf7, + 0xb4, 0xeb, 0xf7, 0xd7, 0xf5, 0xea, 0x5f, 0xc8, 0xf7, 0x48, 0x11, 0x7c, 0x6a, 0xe8, 0xf1, 0x93, + 0xbc, 0xcc, 0xbc, 0xc4, 0x27, 0x71, 0x63, 0x90, 0xa1, 0x31, 0xa7, 0x5b, 0x03, 0x4e, 0xf1, 0xc2, + 0x02, 0x4f, 0x15, 0x77, 0xcf, 0xb4, 0x0c, 0xf2, 0x14, 0x9c, 0xbf, 0x5f, 0x9b, 0xd1, 0xea, 0xf7, + 0xaa, 0x8b, 0x95, 0xfa, 0xfd, 0xc5, 0xda, 0xf2, 0xcc, 0x74, 0x75, 0xb6, 0x3a, 0x53, 0x19, 0xef, + 0x23, 0x67, 0xe1, 0x4c, 0x88, 0x9a, 0xbb, 0xbf, 0x50, 0x5e, 0x1c, 0xcf, 0x91, 0x09, 0x18, 0x0d, + 0x81, 0x53, 0x4b, 0x2b, 0xe3, 0xf9, 0x17, 0x3e, 0x05, 0xc3, 0xe8, 0x0b, 0xc3, 0xef, 0xee, 0xc8, + 0x08, 0x0c, 0x2e, 0x4d, 0xd5, 0x66, 0xb4, 0x07, 0xc8, 0x04, 0xa0, 0x54, 0x99, 0x59, 0x64, 0x0c, + 0x73, 0x2f, 0xfc, 0x3f, 0x39, 0x80, 0xda, 0xec, 0xca, 0xb2, 0x20, 0x1c, 0x86, 0x81, 0xea, 0xe2, + 0x83, 0xf2, 0x7c, 0x95, 0xd1, 0x0d, 0x42, 0x71, 0x69, 0x79, 0x86, 0xd5, 0x30, 0x04, 0xfd, 0xd3, + 0xf3, 0x4b, 0xb5, 0x99, 0xf1, 0x3c, 0x03, 0x6a, 0x33, 0xe5, 0xca, 0x78, 0x81, 0x01, 0x1f, 0x6a, + 0xd5, 0x95, 0x99, 0xf1, 0x22, 0xfb, 0x73, 0xbe, 0xb6, 0x52, 0x5e, 0x19, 0xef, 0x67, 0x7f, 0xce, + 0xe2, 0x9f, 0x25, 0xc6, 0xac, 0x36, 0xb3, 0x82, 0x3f, 0x06, 0x58, 0x13, 0x66, 0xfd, 0x5f, 0x83, + 0x0c, 0xc5, 0x58, 0x57, 0xaa, 0xda, 0xf8, 0x10, 0xfb, 0xc1, 0x58, 0xb2, 0x1f, 0xc0, 0x1a, 0xa7, + 0xcd, 0x2c, 0x2c, 0x3d, 0x98, 0x19, 0x1f, 0x66, 0xbc, 0x16, 0xee, 0x31, 0xf0, 0x08, 0xfb, 0x53, + 0x5b, 0x60, 0x7f, 0x8e, 0x32, 0x4e, 0xda, 0x4c, 0x79, 0x7e, 0xb9, 0xbc, 0x32, 0x37, 0x3e, 0xc6, + 0xda, 0x83, 0x3c, 0xcf, 0xf0, 0x92, 0x8b, 0xe5, 0x85, 0x99, 0xf1, 0x71, 0x41, 0x53, 0x99, 0xaf, + 0x2e, 0xde, 0x1b, 0x9f, 0xc0, 0x86, 0xbc, 0xbf, 0x80, 0x3f, 0x08, 0x2b, 0x80, 0x7f, 0x9d, 0x7d, + 0xe1, 0x07, 0xa1, 0xb4, 0x54, 0xc3, 0xdb, 0xef, 0x8b, 0x70, 0x76, 0xa9, 0x56, 0x5f, 0x79, 0x7f, + 0x79, 0x26, 0x26, 0xef, 0x09, 0x18, 0xf5, 0x11, 0xf3, 0xd5, 0xc5, 0xfb, 0x5f, 0xe0, 0xd2, 0xf6, + 0x41, 0x0b, 0xe5, 0xe9, 0xa5, 0xda, 0x78, 0x9e, 0xf5, 0x8a, 0x0f, 0x7a, 0x58, 0x5d, 0xac, 0x2c, + 0x3d, 0xac, 0x8d, 0x17, 0x5e, 0x78, 0x0c, 0x23, 0x3c, 0xd1, 0xde, 0x92, 0x63, 0x36, 0x4d, 0x8b, + 0x3c, 0x03, 0x4f, 0x55, 0x66, 0x1e, 0x54, 0xa7, 0x67, 0xea, 0x4b, 0x5a, 0xf5, 0x4e, 0x75, 0x31, + 0x56, 0xd3, 0x79, 0x98, 0x88, 0xa2, 0xcb, 0xcb, 0xd5, 0xf1, 0x1c, 0xb9, 0x00, 0x24, 0x0a, 0xbe, + 0x5b, 0x5e, 0x98, 0x1d, 0xcf, 0x13, 0x05, 0xce, 0x45, 0xe1, 0xd5, 0xc5, 0x95, 0xfb, 0x8b, 0x33, + 0xe3, 0x85, 0x17, 0xfe, 0x72, 0x0e, 0xce, 0xa7, 0x06, 0x63, 0x25, 0x2a, 0x5c, 0x99, 0x99, 0x2f, + 0xd7, 0x56, 0xaa, 0xd3, 0xb5, 0x99, 0xb2, 0x36, 0x3d, 0x57, 0x9f, 0x2e, 0xaf, 0xcc, 0xdc, 0x59, + 0xd2, 0xde, 0xaf, 0xdf, 0x99, 0x59, 0x9c, 0xd1, 0xca, 0xf3, 0xe3, 0x7d, 0xe4, 0x79, 0x98, 0xcc, + 0xa0, 0xa9, 0xcd, 0x4c, 0xdf, 0xd7, 0xaa, 0x2b, 0xef, 0x8f, 0xe7, 0xc8, 0x73, 0xf0, 0x4c, 0x26, + 0x11, 0xfb, 0x3d, 0x9e, 0x27, 0x57, 0xe0, 0x52, 0x16, 0xc9, 0x7b, 0xf3, 0xe3, 0x85, 0x17, 0x7e, + 0x26, 0x07, 0x24, 0x19, 0x4d, 0x93, 0x3c, 0x0b, 0x97, 0x99, 0x5e, 0xd4, 0xb3, 0x1b, 0xf8, 0x1c, + 0x3c, 0x93, 0x4a, 0x21, 0x35, 0x6f, 0x12, 0x9e, 0xce, 0x20, 0x11, 0x8d, 0xbb, 0x0c, 0x4a, 0x3a, + 0x01, 0x36, 0xed, 0xd7, 0x73, 0x70, 0x3e, 0xf5, 0xba, 0x9c, 0x5c, 0x83, 0x4f, 0x94, 0x2b, 0x0b, + 0xac, 0x6f, 0xa6, 0x57, 0xaa, 0x4b, 0x8b, 0xb5, 0xfa, 0xc2, 0x6c, 0xb9, 0xce, 0xb4, 0xef, 0x7e, + 0x2d, 0xd6, 0x9b, 0x57, 0x41, 0xed, 0x41, 0x39, 0x3d, 0x57, 0x5e, 0xbc, 0xc3, 0x86, 0x1f, 0xf9, + 0x04, 0x3c, 0x9b, 0x49, 0x37, 0xb3, 0x58, 0x9e, 0x9a, 0x9f, 0xa9, 0x8c, 0xe7, 0xc9, 0x27, 0xe1, + 0xb9, 0x4c, 0xaa, 0x4a, 0xb5, 0xc6, 0xc9, 0x0a, 0x53, 0x95, 0xef, 0xfc, 0xcf, 0x57, 0xfa, 0xbe, + 0xf3, 0xfb, 0x57, 0x72, 0xff, 0xf0, 0xf7, 0xaf, 0xe4, 0xfe, 0xf9, 0xef, 0x5f, 0xc9, 0x7d, 0xf1, + 0xd6, 0x5e, 0xa2, 0xa4, 0xf2, 0x69, 0x6b, 0xb5, 0x84, 0x57, 0x57, 0xaf, 0xfc, 0x9b, 0x00, 0x00, + 0x00, 0xff, 0xff, 0x6a, 0x20, 0x2b, 0xb4, 0x52, 0x79, 0x01, 0x00, } func (m *Metadata) Marshal() (dAtA []byte, err error) { @@ -30504,6 +30695,75 @@ func (m *OneOf_CrownJewelDelete) MarshalToSizedBuffer(dAtA []byte) (int, error) } return len(dAtA) - i, nil } +func (m *OneOf_AutoUpdateAgentPlanCreate) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *OneOf_AutoUpdateAgentPlanCreate) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + if m.AutoUpdateAgentPlanCreate != nil { + { + size, err := m.AutoUpdateAgentPlanCreate.MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintEvents(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0xb + i-- + dAtA[i] = 0xca + } + return len(dAtA) - i, nil +} +func (m *OneOf_AutoUpdateAgentPlanUpdate) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *OneOf_AutoUpdateAgentPlanUpdate) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + if m.AutoUpdateAgentPlanUpdate != nil { + { + size, err := m.AutoUpdateAgentPlanUpdate.MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintEvents(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0xb + i-- + dAtA[i] = 0xd2 + } + return len(dAtA) - i, nil +} +func (m *OneOf_AutoUpdateAgentPlanDelete) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *OneOf_AutoUpdateAgentPlanDelete) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + if m.AutoUpdateAgentPlanDelete != nil { + { + size, err := m.AutoUpdateAgentPlanDelete.MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintEvents(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0xb + i-- + dAtA[i] = 0xda + } + return len(dAtA) - i, nil +} func (m *StreamStatus) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) @@ -30528,12 +30788,12 @@ func (m *StreamStatus) MarshalToSizedBuffer(dAtA []byte) (int, error) { i -= len(m.XXX_unrecognized) copy(dAtA[i:], m.XXX_unrecognized) } - n645, err645 := github_com_gogo_protobuf_types.StdTimeMarshalTo(m.LastUploadTime, dAtA[i-github_com_gogo_protobuf_types.SizeOfStdTime(m.LastUploadTime):]) - if err645 != nil { - return 0, err645 + n648, err648 := github_com_gogo_protobuf_types.StdTimeMarshalTo(m.LastUploadTime, dAtA[i-github_com_gogo_protobuf_types.SizeOfStdTime(m.LastUploadTime):]) + if err648 != nil { + return 0, err648 } - i -= n645 - i = encodeVarintEvents(dAtA, i, uint64(n645)) + i -= n648 + i = encodeVarintEvents(dAtA, i, uint64(n648)) i-- dAtA[i] = 0x1a if m.LastEventIndex != 0 { @@ -30692,12 +30952,12 @@ func (m *Identity) MarshalToSizedBuffer(dAtA []byte) (int, error) { dAtA[i] = 0xc2 } } - n649, err649 := github_com_gogo_protobuf_types.StdTimeMarshalTo(m.PreviousIdentityExpires, dAtA[i-github_com_gogo_protobuf_types.SizeOfStdTime(m.PreviousIdentityExpires):]) - if err649 != nil { - return 0, err649 + n652, err652 := github_com_gogo_protobuf_types.StdTimeMarshalTo(m.PreviousIdentityExpires, dAtA[i-github_com_gogo_protobuf_types.SizeOfStdTime(m.PreviousIdentityExpires):]) + if err652 != nil { + return 0, err652 } - i -= n649 - i = encodeVarintEvents(dAtA, i, uint64(n649)) + i -= n652 + i = encodeVarintEvents(dAtA, i, uint64(n652)) i-- dAtA[i] = 0x1 i-- @@ -30845,12 +31105,12 @@ func (m *Identity) MarshalToSizedBuffer(dAtA []byte) (int, error) { i-- dAtA[i] = 0x4a } - n653, err653 := github_com_gogo_protobuf_types.StdTimeMarshalTo(m.Expires, dAtA[i-github_com_gogo_protobuf_types.SizeOfStdTime(m.Expires):]) - if err653 != nil { - return 0, err653 + n656, err656 := github_com_gogo_protobuf_types.StdTimeMarshalTo(m.Expires, dAtA[i-github_com_gogo_protobuf_types.SizeOfStdTime(m.Expires):]) + if err656 != nil { + return 0, err656 } - i -= n653 - i = encodeVarintEvents(dAtA, i, uint64(n653)) + i -= n656 + i = encodeVarintEvents(dAtA, i, uint64(n656)) i-- dAtA[i] = 0x42 if len(m.KubernetesUsers) > 0 { @@ -36757,7 +37017,259 @@ func (m *StaticHostUserUpdate) MarshalToSizedBuffer(dAtA []byte) (int, error) { return len(dAtA) - i, nil } -func (m *StaticHostUserDelete) Marshal() (dAtA []byte, err error) { +func (m *StaticHostUserDelete) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBuffer(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *StaticHostUserDelete) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *StaticHostUserDelete) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if m.XXX_unrecognized != nil { + i -= len(m.XXX_unrecognized) + copy(dAtA[i:], m.XXX_unrecognized) + } + { + size, err := m.ConnectionMetadata.MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintEvents(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x2a + { + size, err := m.UserMetadata.MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintEvents(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x22 + { + size, err := m.ResourceMetadata.MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintEvents(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x1a + { + size, err := m.Status.MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintEvents(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x12 + { + size, err := m.Metadata.MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintEvents(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0xa + return len(dAtA) - i, nil +} + +func (m *CrownJewelCreate) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBuffer(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *CrownJewelCreate) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *CrownJewelCreate) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if m.XXX_unrecognized != nil { + i -= len(m.XXX_unrecognized) + copy(dAtA[i:], m.XXX_unrecognized) + } + if len(m.CrownJewelQuery) > 0 { + i -= len(m.CrownJewelQuery) + copy(dAtA[i:], m.CrownJewelQuery) + i = encodeVarintEvents(dAtA, i, uint64(len(m.CrownJewelQuery))) + i-- + dAtA[i] = 0x32 + } + { + size, err := m.ResourceMetadata.MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintEvents(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x2a + { + size, err := m.ConnectionMetadata.MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintEvents(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x22 + { + size, err := m.UserMetadata.MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintEvents(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x1a + { + size, err := m.Status.MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintEvents(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x12 + { + size, err := m.Metadata.MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintEvents(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0xa + return len(dAtA) - i, nil +} + +func (m *CrownJewelUpdate) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBuffer(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *CrownJewelUpdate) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *CrownJewelUpdate) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if m.XXX_unrecognized != nil { + i -= len(m.XXX_unrecognized) + copy(dAtA[i:], m.XXX_unrecognized) + } + if len(m.UpdatedCrownJewelQuery) > 0 { + i -= len(m.UpdatedCrownJewelQuery) + copy(dAtA[i:], m.UpdatedCrownJewelQuery) + i = encodeVarintEvents(dAtA, i, uint64(len(m.UpdatedCrownJewelQuery))) + i-- + dAtA[i] = 0x3a + } + if len(m.CurrentCrownJewelQuery) > 0 { + i -= len(m.CurrentCrownJewelQuery) + copy(dAtA[i:], m.CurrentCrownJewelQuery) + i = encodeVarintEvents(dAtA, i, uint64(len(m.CurrentCrownJewelQuery))) + i-- + dAtA[i] = 0x32 + } + { + size, err := m.ResourceMetadata.MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintEvents(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x2a + { + size, err := m.ConnectionMetadata.MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintEvents(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x22 + { + size, err := m.UserMetadata.MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintEvents(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x1a + { + size, err := m.Status.MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintEvents(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x12 + { + size, err := m.Metadata.MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintEvents(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0xa + return len(dAtA) - i, nil +} + +func (m *CrownJewelDelete) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) n, err := m.MarshalToSizedBuffer(dAtA[:size]) @@ -36767,12 +37279,12 @@ func (m *StaticHostUserDelete) Marshal() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *StaticHostUserDelete) MarshalTo(dAtA []byte) (int, error) { +func (m *CrownJewelDelete) MarshalTo(dAtA []byte) (int, error) { size := m.Size() return m.MarshalToSizedBuffer(dAtA[:size]) } -func (m *StaticHostUserDelete) MarshalToSizedBuffer(dAtA []byte) (int, error) { +func (m *CrownJewelDelete) MarshalToSizedBuffer(dAtA []byte) (int, error) { i := len(dAtA) _ = i var l int @@ -36782,7 +37294,7 @@ func (m *StaticHostUserDelete) MarshalToSizedBuffer(dAtA []byte) (int, error) { copy(dAtA[i:], m.XXX_unrecognized) } { - size, err := m.ConnectionMetadata.MarshalToSizedBuffer(dAtA[:i]) + size, err := m.ResourceMetadata.MarshalToSizedBuffer(dAtA[:i]) if err != nil { return 0, err } @@ -36792,7 +37304,7 @@ func (m *StaticHostUserDelete) MarshalToSizedBuffer(dAtA []byte) (int, error) { i-- dAtA[i] = 0x2a { - size, err := m.UserMetadata.MarshalToSizedBuffer(dAtA[:i]) + size, err := m.ConnectionMetadata.MarshalToSizedBuffer(dAtA[:i]) if err != nil { return 0, err } @@ -36802,7 +37314,7 @@ func (m *StaticHostUserDelete) MarshalToSizedBuffer(dAtA []byte) (int, error) { i-- dAtA[i] = 0x22 { - size, err := m.ResourceMetadata.MarshalToSizedBuffer(dAtA[:i]) + size, err := m.UserMetadata.MarshalToSizedBuffer(dAtA[:i]) if err != nil { return 0, err } @@ -36834,7 +37346,7 @@ func (m *StaticHostUserDelete) MarshalToSizedBuffer(dAtA []byte) (int, error) { return len(dAtA) - i, nil } -func (m *CrownJewelCreate) Marshal() (dAtA []byte, err error) { +func (m *AutoUpdateAgentPlanCreate) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) n, err := m.MarshalToSizedBuffer(dAtA[:size]) @@ -36844,12 +37356,12 @@ func (m *CrownJewelCreate) Marshal() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *CrownJewelCreate) MarshalTo(dAtA []byte) (int, error) { +func (m *AutoUpdateAgentPlanCreate) MarshalTo(dAtA []byte) (int, error) { size := m.Size() return m.MarshalToSizedBuffer(dAtA[:size]) } -func (m *CrownJewelCreate) MarshalToSizedBuffer(dAtA []byte) (int, error) { +func (m *AutoUpdateAgentPlanCreate) MarshalToSizedBuffer(dAtA []byte) (int, error) { i := len(dAtA) _ = i var l int @@ -36858,23 +37370,6 @@ func (m *CrownJewelCreate) MarshalToSizedBuffer(dAtA []byte) (int, error) { i -= len(m.XXX_unrecognized) copy(dAtA[i:], m.XXX_unrecognized) } - if len(m.CrownJewelQuery) > 0 { - i -= len(m.CrownJewelQuery) - copy(dAtA[i:], m.CrownJewelQuery) - i = encodeVarintEvents(dAtA, i, uint64(len(m.CrownJewelQuery))) - i-- - dAtA[i] = 0x32 - } - { - size, err := m.ResourceMetadata.MarshalToSizedBuffer(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = encodeVarintEvents(dAtA, i, uint64(size)) - } - i-- - dAtA[i] = 0x2a { size, err := m.ConnectionMetadata.MarshalToSizedBuffer(dAtA[:i]) if err != nil { @@ -36896,7 +37391,7 @@ func (m *CrownJewelCreate) MarshalToSizedBuffer(dAtA []byte) (int, error) { i-- dAtA[i] = 0x1a { - size, err := m.Status.MarshalToSizedBuffer(dAtA[:i]) + size, err := m.ResourceMetadata.MarshalToSizedBuffer(dAtA[:i]) if err != nil { return 0, err } @@ -36918,7 +37413,7 @@ func (m *CrownJewelCreate) MarshalToSizedBuffer(dAtA []byte) (int, error) { return len(dAtA) - i, nil } -func (m *CrownJewelUpdate) Marshal() (dAtA []byte, err error) { +func (m *AutoUpdateAgentPlanUpdate) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) n, err := m.MarshalToSizedBuffer(dAtA[:size]) @@ -36928,12 +37423,12 @@ func (m *CrownJewelUpdate) Marshal() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *CrownJewelUpdate) MarshalTo(dAtA []byte) (int, error) { +func (m *AutoUpdateAgentPlanUpdate) MarshalTo(dAtA []byte) (int, error) { size := m.Size() return m.MarshalToSizedBuffer(dAtA[:size]) } -func (m *CrownJewelUpdate) MarshalToSizedBuffer(dAtA []byte) (int, error) { +func (m *AutoUpdateAgentPlanUpdate) MarshalToSizedBuffer(dAtA []byte) (int, error) { i := len(dAtA) _ = i var l int @@ -36942,30 +37437,6 @@ func (m *CrownJewelUpdate) MarshalToSizedBuffer(dAtA []byte) (int, error) { i -= len(m.XXX_unrecognized) copy(dAtA[i:], m.XXX_unrecognized) } - if len(m.UpdatedCrownJewelQuery) > 0 { - i -= len(m.UpdatedCrownJewelQuery) - copy(dAtA[i:], m.UpdatedCrownJewelQuery) - i = encodeVarintEvents(dAtA, i, uint64(len(m.UpdatedCrownJewelQuery))) - i-- - dAtA[i] = 0x3a - } - if len(m.CurrentCrownJewelQuery) > 0 { - i -= len(m.CurrentCrownJewelQuery) - copy(dAtA[i:], m.CurrentCrownJewelQuery) - i = encodeVarintEvents(dAtA, i, uint64(len(m.CurrentCrownJewelQuery))) - i-- - dAtA[i] = 0x32 - } - { - size, err := m.ResourceMetadata.MarshalToSizedBuffer(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = encodeVarintEvents(dAtA, i, uint64(size)) - } - i-- - dAtA[i] = 0x2a { size, err := m.ConnectionMetadata.MarshalToSizedBuffer(dAtA[:i]) if err != nil { @@ -37009,7 +37480,7 @@ func (m *CrownJewelUpdate) MarshalToSizedBuffer(dAtA []byte) (int, error) { return len(dAtA) - i, nil } -func (m *CrownJewelDelete) Marshal() (dAtA []byte, err error) { +func (m *AutoUpdateAgentPlanDelete) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) n, err := m.MarshalToSizedBuffer(dAtA[:size]) @@ -37019,12 +37490,12 @@ func (m *CrownJewelDelete) Marshal() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *CrownJewelDelete) MarshalTo(dAtA []byte) (int, error) { +func (m *AutoUpdateAgentPlanDelete) MarshalTo(dAtA []byte) (int, error) { size := m.Size() return m.MarshalToSizedBuffer(dAtA[:size]) } -func (m *CrownJewelDelete) MarshalToSizedBuffer(dAtA []byte) (int, error) { +func (m *AutoUpdateAgentPlanDelete) MarshalToSizedBuffer(dAtA []byte) (int, error) { i := len(dAtA) _ = i var l int @@ -37033,16 +37504,6 @@ func (m *CrownJewelDelete) MarshalToSizedBuffer(dAtA []byte) (int, error) { i -= len(m.XXX_unrecognized) copy(dAtA[i:], m.XXX_unrecognized) } - { - size, err := m.ResourceMetadata.MarshalToSizedBuffer(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = encodeVarintEvents(dAtA, i, uint64(size)) - } - i-- - dAtA[i] = 0x2a { size, err := m.ConnectionMetadata.MarshalToSizedBuffer(dAtA[:i]) if err != nil { @@ -37064,7 +37525,7 @@ func (m *CrownJewelDelete) MarshalToSizedBuffer(dAtA []byte) (int, error) { i-- dAtA[i] = 0x1a { - size, err := m.Status.MarshalToSizedBuffer(dAtA[:i]) + size, err := m.ResourceMetadata.MarshalToSizedBuffer(dAtA[:i]) if err != nil { return 0, err } @@ -43111,6 +43572,42 @@ func (m *OneOf_CrownJewelDelete) Size() (n int) { } return n } +func (m *OneOf_AutoUpdateAgentPlanCreate) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.AutoUpdateAgentPlanCreate != nil { + l = m.AutoUpdateAgentPlanCreate.Size() + n += 2 + l + sovEvents(uint64(l)) + } + return n +} +func (m *OneOf_AutoUpdateAgentPlanUpdate) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.AutoUpdateAgentPlanUpdate != nil { + l = m.AutoUpdateAgentPlanUpdate.Size() + n += 2 + l + sovEvents(uint64(l)) + } + return n +} +func (m *OneOf_AutoUpdateAgentPlanDelete) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.AutoUpdateAgentPlanDelete != nil { + l = m.AutoUpdateAgentPlanDelete.Size() + n += 2 + l + sovEvents(uint64(l)) + } + return n +} func (m *StreamStatus) Size() (n int) { if m == nil { return 0 @@ -45472,6 +45969,66 @@ func (m *CrownJewelDelete) Size() (n int) { return n } +func (m *AutoUpdateAgentPlanCreate) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = m.Metadata.Size() + n += 1 + l + sovEvents(uint64(l)) + l = m.ResourceMetadata.Size() + n += 1 + l + sovEvents(uint64(l)) + l = m.UserMetadata.Size() + n += 1 + l + sovEvents(uint64(l)) + l = m.ConnectionMetadata.Size() + n += 1 + l + sovEvents(uint64(l)) + if m.XXX_unrecognized != nil { + n += len(m.XXX_unrecognized) + } + return n +} + +func (m *AutoUpdateAgentPlanUpdate) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = m.Metadata.Size() + n += 1 + l + sovEvents(uint64(l)) + l = m.Status.Size() + n += 1 + l + sovEvents(uint64(l)) + l = m.UserMetadata.Size() + n += 1 + l + sovEvents(uint64(l)) + l = m.ConnectionMetadata.Size() + n += 1 + l + sovEvents(uint64(l)) + if m.XXX_unrecognized != nil { + n += len(m.XXX_unrecognized) + } + return n +} + +func (m *AutoUpdateAgentPlanDelete) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = m.Metadata.Size() + n += 1 + l + sovEvents(uint64(l)) + l = m.ResourceMetadata.Size() + n += 1 + l + sovEvents(uint64(l)) + l = m.UserMetadata.Size() + n += 1 + l + sovEvents(uint64(l)) + l = m.ConnectionMetadata.Size() + n += 1 + l + sovEvents(uint64(l)) + if m.XXX_unrecognized != nil { + n += len(m.XXX_unrecognized) + } + return n +} + func sovEvents(x uint64) (n int) { return (math_bits.Len64(x|1) + 6) / 7 } @@ -82973,15 +83530,120 @@ func (m *OneOf) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - v := &PluginCreate{} + v := &PluginCreate{} + if err := v.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + m.Event = &OneOf_PluginCreate{v} + iNdEx = postIndex + case 171: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field PluginUpdate", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowEvents + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthEvents + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthEvents + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + v := &PluginUpdate{} + if err := v.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + m.Event = &OneOf_PluginUpdate{v} + iNdEx = postIndex + case 172: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field PluginDelete", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowEvents + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthEvents + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthEvents + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + v := &PluginDelete{} + if err := v.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + m.Event = &OneOf_PluginDelete{v} + iNdEx = postIndex + case 173: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field AutoUpdateConfigCreate", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowEvents + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthEvents + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthEvents + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + v := &AutoUpdateConfigCreate{} if err := v.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err } - m.Event = &OneOf_PluginCreate{v} + m.Event = &OneOf_AutoUpdateConfigCreate{v} iNdEx = postIndex - case 171: + case 174: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field PluginUpdate", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field AutoUpdateConfigUpdate", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -83008,15 +83670,15 @@ func (m *OneOf) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - v := &PluginUpdate{} + v := &AutoUpdateConfigUpdate{} if err := v.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err } - m.Event = &OneOf_PluginUpdate{v} + m.Event = &OneOf_AutoUpdateConfigUpdate{v} iNdEx = postIndex - case 172: + case 175: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field PluginDelete", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field AutoUpdateConfigDelete", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -83043,15 +83705,15 @@ func (m *OneOf) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - v := &PluginDelete{} + v := &AutoUpdateConfigDelete{} if err := v.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err } - m.Event = &OneOf_PluginDelete{v} + m.Event = &OneOf_AutoUpdateConfigDelete{v} iNdEx = postIndex - case 173: + case 176: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field AutoUpdateConfigCreate", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field AutoUpdateVersionCreate", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -83078,15 +83740,15 @@ func (m *OneOf) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - v := &AutoUpdateConfigCreate{} + v := &AutoUpdateVersionCreate{} if err := v.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err } - m.Event = &OneOf_AutoUpdateConfigCreate{v} + m.Event = &OneOf_AutoUpdateVersionCreate{v} iNdEx = postIndex - case 174: + case 177: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field AutoUpdateConfigUpdate", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field AutoUpdateVersionUpdate", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -83113,15 +83775,15 @@ func (m *OneOf) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - v := &AutoUpdateConfigUpdate{} + v := &AutoUpdateVersionUpdate{} if err := v.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err } - m.Event = &OneOf_AutoUpdateConfigUpdate{v} + m.Event = &OneOf_AutoUpdateVersionUpdate{v} iNdEx = postIndex - case 175: + case 178: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field AutoUpdateConfigDelete", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field AutoUpdateVersionDelete", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -83148,15 +83810,15 @@ func (m *OneOf) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - v := &AutoUpdateConfigDelete{} + v := &AutoUpdateVersionDelete{} if err := v.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err } - m.Event = &OneOf_AutoUpdateConfigDelete{v} + m.Event = &OneOf_AutoUpdateVersionDelete{v} iNdEx = postIndex - case 176: + case 179: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field AutoUpdateVersionCreate", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field StaticHostUserCreate", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -83183,15 +83845,15 @@ func (m *OneOf) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - v := &AutoUpdateVersionCreate{} + v := &StaticHostUserCreate{} if err := v.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err } - m.Event = &OneOf_AutoUpdateVersionCreate{v} + m.Event = &OneOf_StaticHostUserCreate{v} iNdEx = postIndex - case 177: + case 180: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field AutoUpdateVersionUpdate", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field StaticHostUserUpdate", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -83218,15 +83880,15 @@ func (m *OneOf) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - v := &AutoUpdateVersionUpdate{} + v := &StaticHostUserUpdate{} if err := v.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err } - m.Event = &OneOf_AutoUpdateVersionUpdate{v} + m.Event = &OneOf_StaticHostUserUpdate{v} iNdEx = postIndex - case 178: + case 181: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field AutoUpdateVersionDelete", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field StaticHostUserDelete", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -83253,15 +83915,15 @@ func (m *OneOf) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - v := &AutoUpdateVersionDelete{} + v := &StaticHostUserDelete{} if err := v.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err } - m.Event = &OneOf_AutoUpdateVersionDelete{v} + m.Event = &OneOf_StaticHostUserDelete{v} iNdEx = postIndex - case 179: + case 182: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field StaticHostUserCreate", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field CrownJewelCreate", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -83288,15 +83950,15 @@ func (m *OneOf) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - v := &StaticHostUserCreate{} + v := &CrownJewelCreate{} if err := v.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err } - m.Event = &OneOf_StaticHostUserCreate{v} + m.Event = &OneOf_CrownJewelCreate{v} iNdEx = postIndex - case 180: + case 183: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field StaticHostUserUpdate", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field CrownJewelUpdate", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -83323,15 +83985,15 @@ func (m *OneOf) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - v := &StaticHostUserUpdate{} + v := &CrownJewelUpdate{} if err := v.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err } - m.Event = &OneOf_StaticHostUserUpdate{v} + m.Event = &OneOf_CrownJewelUpdate{v} iNdEx = postIndex - case 181: + case 184: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field StaticHostUserDelete", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field CrownJewelDelete", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -83358,15 +84020,15 @@ func (m *OneOf) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - v := &StaticHostUserDelete{} + v := &CrownJewelDelete{} if err := v.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err } - m.Event = &OneOf_StaticHostUserDelete{v} + m.Event = &OneOf_CrownJewelDelete{v} iNdEx = postIndex - case 182: + case 185: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field CrownJewelCreate", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field AutoUpdateAgentPlanCreate", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -83393,15 +84055,15 @@ func (m *OneOf) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - v := &CrownJewelCreate{} + v := &AutoUpdateAgentPlanCreate{} if err := v.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err } - m.Event = &OneOf_CrownJewelCreate{v} + m.Event = &OneOf_AutoUpdateAgentPlanCreate{v} iNdEx = postIndex - case 183: + case 186: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field CrownJewelUpdate", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field AutoUpdateAgentPlanUpdate", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -83428,15 +84090,15 @@ func (m *OneOf) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - v := &CrownJewelUpdate{} + v := &AutoUpdateAgentPlanUpdate{} if err := v.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err } - m.Event = &OneOf_CrownJewelUpdate{v} + m.Event = &OneOf_AutoUpdateAgentPlanUpdate{v} iNdEx = postIndex - case 184: + case 187: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field CrownJewelDelete", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field AutoUpdateAgentPlanDelete", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -83463,11 +84125,11 @@ func (m *OneOf) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - v := &CrownJewelDelete{} + v := &AutoUpdateAgentPlanDelete{} if err := v.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err } - m.Event = &OneOf_CrownJewelDelete{v} + m.Event = &OneOf_AutoUpdateAgentPlanDelete{v} iNdEx = postIndex default: iNdEx = preIndex @@ -98618,13 +99280,224 @@ func (m *SPIFFESVIDIssued) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - m.IPSANs = append(m.IPSANs, string(dAtA[iNdEx:postIndex])) + m.IPSANs = append(m.IPSANs, string(dAtA[iNdEx:postIndex])) + iNdEx = postIndex + case 7: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field SVIDType", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowEvents + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthEvents + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthEvents + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.SVIDType = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 8: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field SerialNumber", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowEvents + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthEvents + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthEvents + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.SerialNumber = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 9: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Hint", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowEvents + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthEvents + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthEvents + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Hint = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 10: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field JTI", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowEvents + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthEvents + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthEvents + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.JTI = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 11: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Audiences", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowEvents + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthEvents + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthEvents + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Audiences = append(m.Audiences, string(dAtA[iNdEx:postIndex])) iNdEx = postIndex - case 7: + default: + iNdEx = preIndex + skippy, err := skipEvents(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthEvents + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...) + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *AuthPreferenceUpdate) Unmarshal(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowEvents + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: AuthPreferenceUpdate: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: AuthPreferenceUpdate: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field SVIDType", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Metadata", wireType) } - var stringLen uint64 + var msglen int for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowEvents @@ -98634,29 +99507,30 @@ func (m *SPIFFESVIDIssued) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= uint64(b&0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } } - intStringLen := int(stringLen) - if intStringLen < 0 { + if msglen < 0 { return ErrInvalidLengthEvents } - postIndex := iNdEx + intStringLen + postIndex := iNdEx + msglen if postIndex < 0 { return ErrInvalidLengthEvents } if postIndex > l { return io.ErrUnexpectedEOF } - m.SVIDType = string(dAtA[iNdEx:postIndex]) + if err := m.Metadata.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } iNdEx = postIndex - case 8: + case 2: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field SerialNumber", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Status", wireType) } - var stringLen uint64 + var msglen int for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowEvents @@ -98666,29 +99540,30 @@ func (m *SPIFFESVIDIssued) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= uint64(b&0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } } - intStringLen := int(stringLen) - if intStringLen < 0 { + if msglen < 0 { return ErrInvalidLengthEvents } - postIndex := iNdEx + intStringLen + postIndex := iNdEx + msglen if postIndex < 0 { return ErrInvalidLengthEvents } if postIndex > l { return io.ErrUnexpectedEOF } - m.SerialNumber = string(dAtA[iNdEx:postIndex]) + if err := m.Status.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } iNdEx = postIndex - case 9: + case 3: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Hint", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field UserMetadata", wireType) } - var stringLen uint64 + var msglen int for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowEvents @@ -98698,29 +99573,30 @@ func (m *SPIFFESVIDIssued) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= uint64(b&0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } } - intStringLen := int(stringLen) - if intStringLen < 0 { + if msglen < 0 { return ErrInvalidLengthEvents } - postIndex := iNdEx + intStringLen + postIndex := iNdEx + msglen if postIndex < 0 { return ErrInvalidLengthEvents } if postIndex > l { return io.ErrUnexpectedEOF } - m.Hint = string(dAtA[iNdEx:postIndex]) + if err := m.UserMetadata.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } iNdEx = postIndex - case 10: + case 4: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field JTI", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field ConnectionMetadata", wireType) } - var stringLen uint64 + var msglen int for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowEvents @@ -98730,29 +99606,30 @@ func (m *SPIFFESVIDIssued) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= uint64(b&0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } } - intStringLen := int(stringLen) - if intStringLen < 0 { + if msglen < 0 { return ErrInvalidLengthEvents } - postIndex := iNdEx + intStringLen + postIndex := iNdEx + msglen if postIndex < 0 { return ErrInvalidLengthEvents } if postIndex > l { return io.ErrUnexpectedEOF } - m.JTI = string(dAtA[iNdEx:postIndex]) + if err := m.ConnectionMetadata.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } iNdEx = postIndex - case 11: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Audiences", wireType) + case 5: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field AdminActionsMFA", wireType) } - var stringLen uint64 + m.AdminActionsMFA = 0 for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowEvents @@ -98762,24 +99639,11 @@ func (m *SPIFFESVIDIssued) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= uint64(b&0x7F) << shift + m.AdminActionsMFA |= AdminActionsMFAStatus(b&0x7F) << shift if b < 0x80 { break } } - intStringLen := int(stringLen) - if intStringLen < 0 { - return ErrInvalidLengthEvents - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return ErrInvalidLengthEvents - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.Audiences = append(m.Audiences, string(dAtA[iNdEx:postIndex])) - iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipEvents(dAtA[iNdEx:]) @@ -98802,7 +99666,7 @@ func (m *SPIFFESVIDIssued) Unmarshal(dAtA []byte) error { } return nil } -func (m *AuthPreferenceUpdate) Unmarshal(dAtA []byte) error { +func (m *ClusterNetworkingConfigUpdate) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -98825,10 +99689,10 @@ func (m *AuthPreferenceUpdate) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: AuthPreferenceUpdate: wiretype end group for non-group") + return fmt.Errorf("proto: ClusterNetworkingConfigUpdate: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: AuthPreferenceUpdate: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: ClusterNetworkingConfigUpdate: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: @@ -98963,25 +99827,6 @@ func (m *AuthPreferenceUpdate) Unmarshal(dAtA []byte) error { return err } iNdEx = postIndex - case 5: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field AdminActionsMFA", wireType) - } - m.AdminActionsMFA = 0 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowEvents - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - m.AdminActionsMFA |= AdminActionsMFAStatus(b&0x7F) << shift - if b < 0x80 { - break - } - } default: iNdEx = preIndex skippy, err := skipEvents(dAtA[iNdEx:]) @@ -99004,7 +99849,7 @@ func (m *AuthPreferenceUpdate) Unmarshal(dAtA []byte) error { } return nil } -func (m *ClusterNetworkingConfigUpdate) Unmarshal(dAtA []byte) error { +func (m *SessionRecordingConfigUpdate) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -99027,10 +99872,10 @@ func (m *ClusterNetworkingConfigUpdate) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: ClusterNetworkingConfigUpdate: wiretype end group for non-group") + return fmt.Errorf("proto: SessionRecordingConfigUpdate: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: ClusterNetworkingConfigUpdate: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: SessionRecordingConfigUpdate: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: @@ -99187,7 +100032,7 @@ func (m *ClusterNetworkingConfigUpdate) Unmarshal(dAtA []byte) error { } return nil } -func (m *SessionRecordingConfigUpdate) Unmarshal(dAtA []byte) error { +func (m *AccessPathChanged) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -99210,10 +100055,10 @@ func (m *SessionRecordingConfigUpdate) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: SessionRecordingConfigUpdate: wiretype end group for non-group") + return fmt.Errorf("proto: AccessPathChanged: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: SessionRecordingConfigUpdate: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: AccessPathChanged: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: @@ -99251,9 +100096,9 @@ func (m *SessionRecordingConfigUpdate) Unmarshal(dAtA []byte) error { iNdEx = postIndex case 2: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Status", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field ChangeID", wireType) } - var msglen int + var stringLen uint64 for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowEvents @@ -99263,30 +100108,29 @@ func (m *SessionRecordingConfigUpdate) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= int(b&0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } } - if msglen < 0 { + intStringLen := int(stringLen) + if intStringLen < 0 { return ErrInvalidLengthEvents } - postIndex := iNdEx + msglen + postIndex := iNdEx + intStringLen if postIndex < 0 { return ErrInvalidLengthEvents } if postIndex > l { return io.ErrUnexpectedEOF } - if err := m.Status.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { - return err - } + m.ChangeID = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex case 3: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field UserMetadata", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field AffectedResourceName", wireType) } - var msglen int + var stringLen uint64 for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowEvents @@ -99296,30 +100140,29 @@ func (m *SessionRecordingConfigUpdate) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= int(b&0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } } - if msglen < 0 { + intStringLen := int(stringLen) + if intStringLen < 0 { return ErrInvalidLengthEvents } - postIndex := iNdEx + msglen + postIndex := iNdEx + intStringLen if postIndex < 0 { return ErrInvalidLengthEvents } if postIndex > l { return io.ErrUnexpectedEOF } - if err := m.UserMetadata.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { - return err - } + m.AffectedResourceName = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex case 4: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field ConnectionMetadata", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field AffectedResourceSource", wireType) } - var msglen int + var stringLen uint64 for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowEvents @@ -99329,24 +100172,55 @@ func (m *SessionRecordingConfigUpdate) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= int(b&0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } } - if msglen < 0 { + intStringLen := int(stringLen) + if intStringLen < 0 { return ErrInvalidLengthEvents } - postIndex := iNdEx + msglen + postIndex := iNdEx + intStringLen if postIndex < 0 { return ErrInvalidLengthEvents } if postIndex > l { return io.ErrUnexpectedEOF } - if err := m.ConnectionMetadata.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { - return err + m.AffectedResourceSource = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 5: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field AffectedResourceType", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowEvents + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthEvents + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthEvents + } + if postIndex > l { + return io.ErrUnexpectedEOF } + m.AffectedResourceType = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex default: iNdEx = preIndex @@ -99370,7 +100244,7 @@ func (m *SessionRecordingConfigUpdate) Unmarshal(dAtA []byte) error { } return nil } -func (m *AccessPathChanged) Unmarshal(dAtA []byte) error { +func (m *SpannerRPC) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -99393,10 +100267,10 @@ func (m *AccessPathChanged) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: AccessPathChanged: wiretype end group for non-group") + return fmt.Errorf("proto: SpannerRPC: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: AccessPathChanged: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: SpannerRPC: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: @@ -99434,9 +100308,9 @@ func (m *AccessPathChanged) Unmarshal(dAtA []byte) error { iNdEx = postIndex case 2: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field ChangeID", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field UserMetadata", wireType) } - var stringLen uint64 + var msglen int for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowEvents @@ -99446,29 +100320,30 @@ func (m *AccessPathChanged) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= uint64(b&0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } } - intStringLen := int(stringLen) - if intStringLen < 0 { + if msglen < 0 { return ErrInvalidLengthEvents } - postIndex := iNdEx + intStringLen + postIndex := iNdEx + msglen if postIndex < 0 { return ErrInvalidLengthEvents } if postIndex > l { return io.ErrUnexpectedEOF } - m.ChangeID = string(dAtA[iNdEx:postIndex]) + if err := m.UserMetadata.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } iNdEx = postIndex case 3: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field AffectedResourceName", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field SessionMetadata", wireType) } - var stringLen uint64 + var msglen int for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowEvents @@ -99478,29 +100353,30 @@ func (m *AccessPathChanged) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= uint64(b&0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } } - intStringLen := int(stringLen) - if intStringLen < 0 { + if msglen < 0 { return ErrInvalidLengthEvents } - postIndex := iNdEx + intStringLen + postIndex := iNdEx + msglen if postIndex < 0 { return ErrInvalidLengthEvents } if postIndex > l { return io.ErrUnexpectedEOF } - m.AffectedResourceName = string(dAtA[iNdEx:postIndex]) + if err := m.SessionMetadata.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } iNdEx = postIndex case 4: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field AffectedResourceSource", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field DatabaseMetadata", wireType) } - var stringLen uint64 + var msglen int for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowEvents @@ -99510,27 +100386,61 @@ func (m *AccessPathChanged) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= uint64(b&0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } } - intStringLen := int(stringLen) - if intStringLen < 0 { + if msglen < 0 { return ErrInvalidLengthEvents } - postIndex := iNdEx + intStringLen + postIndex := iNdEx + msglen if postIndex < 0 { return ErrInvalidLengthEvents } if postIndex > l { return io.ErrUnexpectedEOF } - m.AffectedResourceSource = string(dAtA[iNdEx:postIndex]) + if err := m.DatabaseMetadata.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } iNdEx = postIndex case 5: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field AffectedResourceType", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Status", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowEvents + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthEvents + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthEvents + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.Status.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 6: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Procedure", wireType) } var stringLen uint64 for shift := uint(0); ; shift += 7 { @@ -99558,7 +100468,43 @@ func (m *AccessPathChanged) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - m.AffectedResourceType = string(dAtA[iNdEx:postIndex]) + m.Procedure = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 7: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Args", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowEvents + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthEvents + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthEvents + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.Args == nil { + m.Args = &Struct{} + } + if err := m.Args.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } iNdEx = postIndex default: iNdEx = preIndex @@ -99582,7 +100528,7 @@ func (m *AccessPathChanged) Unmarshal(dAtA []byte) error { } return nil } -func (m *SpannerRPC) Unmarshal(dAtA []byte) error { +func (m *AccessGraphSettingsUpdate) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -99605,10 +100551,10 @@ func (m *SpannerRPC) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: SpannerRPC: wiretype end group for non-group") + return fmt.Errorf("proto: AccessGraphSettingsUpdate: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: SpannerRPC: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: AccessGraphSettingsUpdate: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: @@ -99646,7 +100592,7 @@ func (m *SpannerRPC) Unmarshal(dAtA []byte) error { iNdEx = postIndex case 2: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field UserMetadata", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Status", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -99673,13 +100619,13 @@ func (m *SpannerRPC) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if err := m.UserMetadata.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + if err := m.Status.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex case 3: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field SessionMetadata", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field UserMetadata", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -99706,111 +100652,13 @@ func (m *SpannerRPC) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if err := m.SessionMetadata.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + if err := m.UserMetadata.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex case 4: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field DatabaseMetadata", wireType) - } - var msglen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowEvents - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - msglen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if msglen < 0 { - return ErrInvalidLengthEvents - } - postIndex := iNdEx + msglen - if postIndex < 0 { - return ErrInvalidLengthEvents - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - if err := m.DatabaseMetadata.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { - return err - } - iNdEx = postIndex - case 5: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Status", wireType) - } - var msglen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowEvents - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - msglen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if msglen < 0 { - return ErrInvalidLengthEvents - } - postIndex := iNdEx + msglen - if postIndex < 0 { - return ErrInvalidLengthEvents - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - if err := m.Status.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { - return err - } - iNdEx = postIndex - case 6: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Procedure", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowEvents - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return ErrInvalidLengthEvents - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return ErrInvalidLengthEvents - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.Procedure = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - case 7: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Args", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field ConnectionMetadata", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -99837,10 +100685,7 @@ func (m *SpannerRPC) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if m.Args == nil { - m.Args = &Struct{} - } - if err := m.Args.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + if err := m.ConnectionMetadata.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex @@ -99866,7 +100711,7 @@ func (m *SpannerRPC) Unmarshal(dAtA []byte) error { } return nil } -func (m *AccessGraphSettingsUpdate) Unmarshal(dAtA []byte) error { +func (m *SPIFFEFederationCreate) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -99889,10 +100734,10 @@ func (m *AccessGraphSettingsUpdate) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: AccessGraphSettingsUpdate: wiretype end group for non-group") + return fmt.Errorf("proto: SPIFFEFederationCreate: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: AccessGraphSettingsUpdate: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: SPIFFEFederationCreate: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: @@ -99930,7 +100775,7 @@ func (m *AccessGraphSettingsUpdate) Unmarshal(dAtA []byte) error { iNdEx = postIndex case 2: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Status", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field ResourceMetadata", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -99957,7 +100802,7 @@ func (m *AccessGraphSettingsUpdate) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if err := m.Status.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + if err := m.ResourceMetadata.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex @@ -100049,7 +100894,7 @@ func (m *AccessGraphSettingsUpdate) Unmarshal(dAtA []byte) error { } return nil } -func (m *SPIFFEFederationCreate) Unmarshal(dAtA []byte) error { +func (m *SPIFFEFederationDelete) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -100072,10 +100917,10 @@ func (m *SPIFFEFederationCreate) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: SPIFFEFederationCreate: wiretype end group for non-group") + return fmt.Errorf("proto: SPIFFEFederationDelete: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: SPIFFEFederationCreate: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: SPIFFEFederationDelete: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: @@ -100232,7 +101077,7 @@ func (m *SPIFFEFederationCreate) Unmarshal(dAtA []byte) error { } return nil } -func (m *SPIFFEFederationDelete) Unmarshal(dAtA []byte) error { +func (m *AutoUpdateConfigCreate) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -100255,10 +101100,10 @@ func (m *SPIFFEFederationDelete) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: SPIFFEFederationDelete: wiretype end group for non-group") + return fmt.Errorf("proto: AutoUpdateConfigCreate: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: SPIFFEFederationDelete: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: AutoUpdateConfigCreate: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: @@ -100415,7 +101260,7 @@ func (m *SPIFFEFederationDelete) Unmarshal(dAtA []byte) error { } return nil } -func (m *AutoUpdateConfigCreate) Unmarshal(dAtA []byte) error { +func (m *AutoUpdateConfigUpdate) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -100438,10 +101283,10 @@ func (m *AutoUpdateConfigCreate) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: AutoUpdateConfigCreate: wiretype end group for non-group") + return fmt.Errorf("proto: AutoUpdateConfigUpdate: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: AutoUpdateConfigCreate: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: AutoUpdateConfigUpdate: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: @@ -100479,7 +101324,7 @@ func (m *AutoUpdateConfigCreate) Unmarshal(dAtA []byte) error { iNdEx = postIndex case 2: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field ResourceMetadata", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Status", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -100506,7 +101351,7 @@ func (m *AutoUpdateConfigCreate) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if err := m.ResourceMetadata.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + if err := m.Status.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex @@ -100598,7 +101443,7 @@ func (m *AutoUpdateConfigCreate) Unmarshal(dAtA []byte) error { } return nil } -func (m *AutoUpdateConfigUpdate) Unmarshal(dAtA []byte) error { +func (m *AutoUpdateConfigDelete) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -100621,10 +101466,10 @@ func (m *AutoUpdateConfigUpdate) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: AutoUpdateConfigUpdate: wiretype end group for non-group") + return fmt.Errorf("proto: AutoUpdateConfigDelete: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: AutoUpdateConfigUpdate: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: AutoUpdateConfigDelete: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: @@ -100662,7 +101507,7 @@ func (m *AutoUpdateConfigUpdate) Unmarshal(dAtA []byte) error { iNdEx = postIndex case 2: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Status", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field ResourceMetadata", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -100689,7 +101534,7 @@ func (m *AutoUpdateConfigUpdate) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if err := m.Status.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + if err := m.ResourceMetadata.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex @@ -100781,7 +101626,7 @@ func (m *AutoUpdateConfigUpdate) Unmarshal(dAtA []byte) error { } return nil } -func (m *AutoUpdateConfigDelete) Unmarshal(dAtA []byte) error { +func (m *AutoUpdateVersionCreate) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -100804,10 +101649,10 @@ func (m *AutoUpdateConfigDelete) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: AutoUpdateConfigDelete: wiretype end group for non-group") + return fmt.Errorf("proto: AutoUpdateVersionCreate: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: AutoUpdateConfigDelete: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: AutoUpdateVersionCreate: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: @@ -100964,7 +101809,7 @@ func (m *AutoUpdateConfigDelete) Unmarshal(dAtA []byte) error { } return nil } -func (m *AutoUpdateVersionCreate) Unmarshal(dAtA []byte) error { +func (m *AutoUpdateVersionUpdate) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -100987,10 +101832,193 @@ func (m *AutoUpdateVersionCreate) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: AutoUpdateVersionCreate: wiretype end group for non-group") + return fmt.Errorf("proto: AutoUpdateVersionUpdate: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: AutoUpdateVersionCreate: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: AutoUpdateVersionUpdate: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Metadata", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowEvents + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthEvents + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthEvents + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.Metadata.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Status", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowEvents + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthEvents + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthEvents + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.Status.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field UserMetadata", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowEvents + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthEvents + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthEvents + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.UserMetadata.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 4: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field ConnectionMetadata", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowEvents + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthEvents + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthEvents + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.ConnectionMetadata.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipEvents(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthEvents + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...) + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *AutoUpdateVersionDelete) Unmarshal(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowEvents + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: AutoUpdateVersionDelete: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: AutoUpdateVersionDelete: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: @@ -101147,7 +102175,7 @@ func (m *AutoUpdateVersionCreate) Unmarshal(dAtA []byte) error { } return nil } -func (m *AutoUpdateVersionUpdate) Unmarshal(dAtA []byte) error { +func (m *StaticHostUserCreate) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -101170,10 +102198,10 @@ func (m *AutoUpdateVersionUpdate) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: AutoUpdateVersionUpdate: wiretype end group for non-group") + return fmt.Errorf("proto: StaticHostUserCreate: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: AutoUpdateVersionUpdate: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: StaticHostUserCreate: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: @@ -101238,11 +102266,44 @@ func (m *AutoUpdateVersionUpdate) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if err := m.Status.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + if err := m.Status.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field ResourceMetadata", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowEvents + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthEvents + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthEvents + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.ResourceMetadata.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex - case 3: + case 4: if wireType != 2 { return fmt.Errorf("proto: wrong wireType = %d for field UserMetadata", wireType) } @@ -101275,7 +102336,7 @@ func (m *AutoUpdateVersionUpdate) Unmarshal(dAtA []byte) error { return err } iNdEx = postIndex - case 4: + case 5: if wireType != 2 { return fmt.Errorf("proto: wrong wireType = %d for field ConnectionMetadata", wireType) } @@ -101330,7 +102391,7 @@ func (m *AutoUpdateVersionUpdate) Unmarshal(dAtA []byte) error { } return nil } -func (m *AutoUpdateVersionDelete) Unmarshal(dAtA []byte) error { +func (m *StaticHostUserUpdate) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -101353,10 +102414,10 @@ func (m *AutoUpdateVersionDelete) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: AutoUpdateVersionDelete: wiretype end group for non-group") + return fmt.Errorf("proto: StaticHostUserUpdate: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: AutoUpdateVersionDelete: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: StaticHostUserUpdate: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: @@ -101393,6 +102454,39 @@ func (m *AutoUpdateVersionDelete) Unmarshal(dAtA []byte) error { } iNdEx = postIndex case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Status", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowEvents + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthEvents + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthEvents + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.Status.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 3: if wireType != 2 { return fmt.Errorf("proto: wrong wireType = %d for field ResourceMetadata", wireType) } @@ -101425,7 +102519,7 @@ func (m *AutoUpdateVersionDelete) Unmarshal(dAtA []byte) error { return err } iNdEx = postIndex - case 3: + case 4: if wireType != 2 { return fmt.Errorf("proto: wrong wireType = %d for field UserMetadata", wireType) } @@ -101458,7 +102552,7 @@ func (m *AutoUpdateVersionDelete) Unmarshal(dAtA []byte) error { return err } iNdEx = postIndex - case 4: + case 5: if wireType != 2 { return fmt.Errorf("proto: wrong wireType = %d for field ConnectionMetadata", wireType) } @@ -101513,7 +102607,7 @@ func (m *AutoUpdateVersionDelete) Unmarshal(dAtA []byte) error { } return nil } -func (m *StaticHostUserCreate) Unmarshal(dAtA []byte) error { +func (m *StaticHostUserDelete) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -101536,10 +102630,10 @@ func (m *StaticHostUserCreate) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: StaticHostUserCreate: wiretype end group for non-group") + return fmt.Errorf("proto: StaticHostUserDelete: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: StaticHostUserCreate: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: StaticHostUserDelete: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: @@ -101729,7 +102823,7 @@ func (m *StaticHostUserCreate) Unmarshal(dAtA []byte) error { } return nil } -func (m *StaticHostUserUpdate) Unmarshal(dAtA []byte) error { +func (m *CrownJewelCreate) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -101752,10 +102846,10 @@ func (m *StaticHostUserUpdate) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: StaticHostUserUpdate: wiretype end group for non-group") + return fmt.Errorf("proto: CrownJewelCreate: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: StaticHostUserUpdate: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: CrownJewelCreate: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: @@ -101826,7 +102920,7 @@ func (m *StaticHostUserUpdate) Unmarshal(dAtA []byte) error { iNdEx = postIndex case 3: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field ResourceMetadata", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field UserMetadata", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -101853,13 +102947,13 @@ func (m *StaticHostUserUpdate) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if err := m.ResourceMetadata.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + if err := m.UserMetadata.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex case 4: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field UserMetadata", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field ConnectionMetadata", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -101886,13 +102980,13 @@ func (m *StaticHostUserUpdate) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if err := m.UserMetadata.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + if err := m.ConnectionMetadata.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex case 5: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field ConnectionMetadata", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field ResourceMetadata", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -101919,10 +103013,42 @@ func (m *StaticHostUserUpdate) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if err := m.ConnectionMetadata.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + if err := m.ResourceMetadata.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex + case 6: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field CrownJewelQuery", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowEvents + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthEvents + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthEvents + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.CrownJewelQuery = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipEvents(dAtA[iNdEx:]) @@ -101945,7 +103071,7 @@ func (m *StaticHostUserUpdate) Unmarshal(dAtA []byte) error { } return nil } -func (m *StaticHostUserDelete) Unmarshal(dAtA []byte) error { +func (m *CrownJewelUpdate) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -101968,10 +103094,10 @@ func (m *StaticHostUserDelete) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: StaticHostUserDelete: wiretype end group for non-group") + return fmt.Errorf("proto: CrownJewelUpdate: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: StaticHostUserDelete: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: CrownJewelUpdate: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: @@ -102042,7 +103168,7 @@ func (m *StaticHostUserDelete) Unmarshal(dAtA []byte) error { iNdEx = postIndex case 3: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field ResourceMetadata", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field UserMetadata", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -102069,13 +103195,13 @@ func (m *StaticHostUserDelete) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if err := m.ResourceMetadata.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + if err := m.UserMetadata.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex case 4: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field UserMetadata", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field ConnectionMetadata", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -102102,13 +103228,13 @@ func (m *StaticHostUserDelete) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if err := m.UserMetadata.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + if err := m.ConnectionMetadata.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex case 5: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field ConnectionMetadata", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field ResourceMetadata", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -102135,10 +103261,74 @@ func (m *StaticHostUserDelete) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if err := m.ConnectionMetadata.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + if err := m.ResourceMetadata.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex + case 6: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field CurrentCrownJewelQuery", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowEvents + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthEvents + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthEvents + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.CurrentCrownJewelQuery = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 7: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field UpdatedCrownJewelQuery", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowEvents + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthEvents + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthEvents + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.UpdatedCrownJewelQuery = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipEvents(dAtA[iNdEx:]) @@ -102161,7 +103351,7 @@ func (m *StaticHostUserDelete) Unmarshal(dAtA []byte) error { } return nil } -func (m *CrownJewelCreate) Unmarshal(dAtA []byte) error { +func (m *CrownJewelDelete) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -102184,10 +103374,10 @@ func (m *CrownJewelCreate) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: CrownJewelCreate: wiretype end group for non-group") + return fmt.Errorf("proto: CrownJewelDelete: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: CrownJewelCreate: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: CrownJewelDelete: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: @@ -102219,13 +103409,79 @@ func (m *CrownJewelCreate) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if err := m.Metadata.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + if err := m.Metadata.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Status", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowEvents + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthEvents + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthEvents + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.Status.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field UserMetadata", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowEvents + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthEvents + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthEvents + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.UserMetadata.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex - case 2: + case 4: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Status", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field ConnectionMetadata", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -102252,13 +103508,13 @@ func (m *CrownJewelCreate) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if err := m.Status.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + if err := m.ConnectionMetadata.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex - case 3: + case 5: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field UserMetadata", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field ResourceMetadata", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -102285,13 +103541,64 @@ func (m *CrownJewelCreate) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if err := m.UserMetadata.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + if err := m.ResourceMetadata.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex - case 4: + default: + iNdEx = preIndex + skippy, err := skipEvents(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthEvents + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...) + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *AutoUpdateAgentPlanCreate) Unmarshal(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowEvents + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: AutoUpdateAgentPlanCreate: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: AutoUpdateAgentPlanCreate: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field ConnectionMetadata", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Metadata", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -102318,11 +103625,11 @@ func (m *CrownJewelCreate) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if err := m.ConnectionMetadata.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + if err := m.Metadata.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex - case 5: + case 2: if wireType != 2 { return fmt.Errorf("proto: wrong wireType = %d for field ResourceMetadata", wireType) } @@ -102355,11 +103662,11 @@ func (m *CrownJewelCreate) Unmarshal(dAtA []byte) error { return err } iNdEx = postIndex - case 6: + case 3: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field CrownJewelQuery", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field UserMetadata", wireType) } - var stringLen uint64 + var msglen int for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowEvents @@ -102369,23 +103676,57 @@ func (m *CrownJewelCreate) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= uint64(b&0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } } - intStringLen := int(stringLen) - if intStringLen < 0 { + if msglen < 0 { return ErrInvalidLengthEvents } - postIndex := iNdEx + intStringLen + postIndex := iNdEx + msglen if postIndex < 0 { return ErrInvalidLengthEvents } if postIndex > l { return io.ErrUnexpectedEOF } - m.CrownJewelQuery = string(dAtA[iNdEx:postIndex]) + if err := m.UserMetadata.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 4: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field ConnectionMetadata", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowEvents + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthEvents + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthEvents + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.ConnectionMetadata.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } iNdEx = postIndex default: iNdEx = preIndex @@ -102409,7 +103750,7 @@ func (m *CrownJewelCreate) Unmarshal(dAtA []byte) error { } return nil } -func (m *CrownJewelUpdate) Unmarshal(dAtA []byte) error { +func (m *AutoUpdateAgentPlanUpdate) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -102432,10 +103773,10 @@ func (m *CrownJewelUpdate) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: CrownJewelUpdate: wiretype end group for non-group") + return fmt.Errorf("proto: AutoUpdateAgentPlanUpdate: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: CrownJewelUpdate: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: AutoUpdateAgentPlanUpdate: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: @@ -102570,103 +103911,6 @@ func (m *CrownJewelUpdate) Unmarshal(dAtA []byte) error { return err } iNdEx = postIndex - case 5: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field ResourceMetadata", wireType) - } - var msglen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowEvents - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - msglen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if msglen < 0 { - return ErrInvalidLengthEvents - } - postIndex := iNdEx + msglen - if postIndex < 0 { - return ErrInvalidLengthEvents - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - if err := m.ResourceMetadata.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { - return err - } - iNdEx = postIndex - case 6: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field CurrentCrownJewelQuery", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowEvents - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return ErrInvalidLengthEvents - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return ErrInvalidLengthEvents - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.CurrentCrownJewelQuery = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - case 7: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field UpdatedCrownJewelQuery", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowEvents - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return ErrInvalidLengthEvents - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return ErrInvalidLengthEvents - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.UpdatedCrownJewelQuery = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipEvents(dAtA[iNdEx:]) @@ -102689,7 +103933,7 @@ func (m *CrownJewelUpdate) Unmarshal(dAtA []byte) error { } return nil } -func (m *CrownJewelDelete) Unmarshal(dAtA []byte) error { +func (m *AutoUpdateAgentPlanDelete) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -102712,10 +103956,10 @@ func (m *CrownJewelDelete) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: CrownJewelDelete: wiretype end group for non-group") + return fmt.Errorf("proto: AutoUpdateAgentPlanDelete: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: CrownJewelDelete: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: AutoUpdateAgentPlanDelete: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: @@ -102753,7 +103997,7 @@ func (m *CrownJewelDelete) Unmarshal(dAtA []byte) error { iNdEx = postIndex case 2: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Status", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field ResourceMetadata", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -102780,7 +104024,7 @@ func (m *CrownJewelDelete) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if err := m.Status.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + if err := m.ResourceMetadata.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex @@ -102850,39 +104094,6 @@ func (m *CrownJewelDelete) Unmarshal(dAtA []byte) error { return err } iNdEx = postIndex - case 5: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field ResourceMetadata", wireType) - } - var msglen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowEvents - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - msglen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if msglen < 0 { - return ErrInvalidLengthEvents - } - postIndex := iNdEx + msglen - if postIndex < 0 { - return ErrInvalidLengthEvents - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - if err := m.ResourceMetadata.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { - return err - } - iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipEvents(dAtA[iNdEx:]) diff --git a/lib/auth/autoupdate/autoupdatev1/service_test.go b/lib/auth/autoupdate/autoupdatev1/service_test.go index 840fd9bbf94cd..862b85b90e400 100644 --- a/lib/auth/autoupdate/autoupdatev1/service_test.go +++ b/lib/auth/autoupdate/autoupdatev1/service_test.go @@ -210,9 +210,21 @@ func TestServiceAccess(t *testing.T) { }) } + // TODO(hugoShaka): remove this exclusion list once the methods are implemented + var notImplementedYetMethods = []string{ + "GetAutoUpdateAgentPlan", + "CreateAutoUpdateAgentPlan", + "UpdateAutoUpdateAgentPlan", + "UpsertAutoUpdateAgentPlan", + "DeleteAutoUpdateAgentPlan", + } + // verify that all declared methods have matching test cases t.Run("verify coverage", func(t *testing.T) { for _, method := range autoupdate.AutoUpdateService_ServiceDesc.Methods { + if slices.Contains(notImplementedYetMethods, method.MethodName) { + continue + } t.Run(method.MethodName, func(t *testing.T) { match := false for _, testCase := range testCases { From 4c5970efc91449bc7d68ed37de73fffd10420f1f Mon Sep 17 00:00:00 2001 From: Ben Arent Date: Fri, 4 Oct 2024 13:43:55 -0700 Subject: [PATCH 3/8] Add Docs about Standing Privileges (#47209) * Add Docs about Standing Privileges * Make linter happy --- docs/img/access-graph/standing-privileges.png | Bin 0 -> 338852 bytes .../teleport-policy/policy-how-to-use.mdx | 9 +++++++++ 2 files changed, 9 insertions(+) create mode 100644 docs/img/access-graph/standing-privileges.png diff --git a/docs/img/access-graph/standing-privileges.png b/docs/img/access-graph/standing-privileges.png new file mode 100644 index 0000000000000000000000000000000000000000..30bfdc642314c5d735f1dfaaecca1c3256692e47 GIT binary patch literal 338852 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�@`># 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 KRaHnE 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 MmbsgANB7bH0T`9T-2eap literal 0 HcmV?d00001 diff --git a/docs/pages/admin-guides/teleport-policy/policy-how-to-use.mdx b/docs/pages/admin-guides/teleport-policy/policy-how-to-use.mdx index 5457013c37d3f..974c28cb9d5d2 100644 --- a/docs/pages/admin-guides/teleport-policy/policy-how-to-use.mdx +++ b/docs/pages/admin-guides/teleport-policy/policy-how-to-use.mdx @@ -25,6 +25,15 @@ At a glance, you can view all the resources a user can access: ![Show Access Path](../../../img/access-graph/show-access-path.gif) +## Dashboard: Standing Privileges + +Teleport Policy's Access Graph dashboard provides a high-level overview of standing privileges across +your infrastructure. Standing privileges are the number of resources that an identity can access +without creating an Access Request. Details about standing privileges can be found by clicking on the +user or bot. + +![Standing Privileges](../../../img/access-graph/standing-privileges.png) + ## Graph View Graph view is the main view that shows the connections between identities and resources. From e1e563fd29bf9a65496cfa8f536fa1da74ff6b80 Mon Sep 17 00:00:00 2001 From: Zac Bergquist Date: Fri, 4 Oct 2024 15:30:48 -0600 Subject: [PATCH 4/8] docs: update `tsh play` description (#47226) - Improve examples - Add new --format options --- docs/pages/connect-your-client/tsh.mdx | 3 ++- docs/pages/reference/cli/tsh.mdx | 26 ++++++++++++++++---------- 2 files changed, 18 insertions(+), 11 deletions(-) diff --git a/docs/pages/connect-your-client/tsh.mdx b/docs/pages/connect-your-client/tsh.mdx index 74a94a0f2b11b..eea0a3a42f9b0 100644 --- a/docs/pages/connect-your-client/tsh.mdx +++ b/docs/pages/connect-your-client/tsh.mdx @@ -942,13 +942,14 @@ the session recording backend. This requires either a self-hosted Teleport cluster or [external audit storage](../admin-guides/management/external-audit-storage.mdx). -The `tsh play` command can print recordings in three formats, depending on the +The `tsh play` command can print recordings in several formats, depending on the kind of resource the recorded session interacts with. To choose a format, use the `--format` flag of `tsh play`: | `--format` value | Supported resources | Description | |------------------|---------------------|-------------| | `pty` (default) | Servers, Kubernetes clusters | `tsh` opens a pseudo-terminal to play each command executed in the session. | +| `text` | Servers, Kubernetes clusters | `tsh` dumps the entire recording directly to standard out. Timing data is ignored. | | `json` | Servers, Kubernetes clusters, applications, databases | `tsh` prints a JSON-serialized list of audit events, separated by newlines. | | `yaml` | Servers, Kubernetes clusters, applications, databases | `tsh` prints a YAML-serialized list of audit events, separated by `---` characters. | diff --git a/docs/pages/reference/cli/tsh.mdx b/docs/pages/reference/cli/tsh.mdx index a511d1d1702f8..d5f91affbc852 100644 --- a/docs/pages/reference/cli/tsh.mdx +++ b/docs/pages/reference/cli/tsh.mdx @@ -499,22 +499,23 @@ $ tsh mfa rm Plays back a prior session: ```code -$ tsh play [] +$ tsh play [] ``` ### Arguments -`` +`` -- `session-id` The UUID of a past Teleport Session obtained by `teleport status` within - the session or from the Web UI. +- `id-or-file` The UUID of a past Teleport session, or the path to a local recording file. ### Flags | Name | Default Value(s) | Allowed Value(s) | Description | | - | - | - | - | -| `--cluster` | none | a cluster_name | Specify the cluster to connect | -| `--format` | `pty` | json, pty | Format for playback | +| `--cluster` | none | a cluster_name | Specify the cluster to connect | +| `--format` | `pty` | `json`, `yaml`, `pty`, `text` | Format for playback | +| `--speed` | `1x` | `0.5x`, `1x`, `2x`, `4x`, `8x` | Playback speed | +| `--skip-idle-time` | `false` | `true, `false` | Skip idle time during playback | ### Global flags @@ -526,11 +527,17 @@ Run `tsh help ` or see the [Global Flags section](#tsh-global-flags) ```code $ tsh --proxy proxy.example.com play -# Playing back a session using pty format using a downloaded session recording. -$ tsh play --format=pty 1fe153d1-ce8b-4ef4-9908-6539457ba4ad.tar +# Playing back a session streamed from the server. +$ tsh play 1fe153d1-ce8b-4ef4-9908-6539457ba4ad -# Playing back a session in json format using jq to filter on events +# Playing back a local session in JSON format using jq to filter on events $ tsh play --format=json ~/play/0c0b81ed-91a9-4a2a-8d7c-7495891a6ca0.tar | jq '.event + +# Playing back a session at 2x speed while also skipping idle time +$ tsh play --speed=2x --skip-idle-time 1fe153d1-ce8b-4ef4-9908-6539457ba4ad + +# Dump an SSH session recording to standard out, without respecting timing data. +$ tsh play --format=text 1fe153d1-ce8b-4ef4-9908-6539457ba4ad ``` ## tsh proxy app @@ -1192,4 +1199,3 @@ Only display the `tsh` binary version: $ tsh version --client Teleport v(=teleport.version=) git: go(=teleport.golang=) ``` - From a6c3742c21c1efbbac22e9529278c4ad17a82c14 Mon Sep 17 00:00:00 2001 From: Lisa Kim Date: Fri, 4 Oct 2024 15:02:49 -0700 Subject: [PATCH 5/8] Web: Define fetch kube resource web api endpoint (#46741) * Define fetch kube resource web api endpoint * Remove unused endpoints and funcs --- lib/web/apiserver.go | 2 +- lib/web/apiserver_test.go | 145 +++++++++++++----- lib/web/servers.go | 25 ++- web/packages/teleport/src/config.ts | 22 +++ .../teleport/src/generateResourcePath.test.ts | 18 ++- .../teleport/src/generateResourcePath.ts | 3 + .../teleport/src/services/kube/kube.ts | 27 +++- .../teleport/src/services/kube/makeKube.ts | 17 +- .../teleport/src/services/kube/types.ts | 30 ++++ .../services/resources/makeUnifiedResource.ts | 2 +- 10 files changed, 240 insertions(+), 51 deletions(-) diff --git a/lib/web/apiserver.go b/lib/web/apiserver.go index 4885330a94102..0ec9f7f4efb75 100644 --- a/lib/web/apiserver.go +++ b/lib/web/apiserver.go @@ -872,7 +872,7 @@ func (h *Handler) bindDefaultEndpoints() { // Kube access handlers. h.GET("/webapi/sites/:site/kubernetes", h.WithClusterAuth(h.clusterKubesGet)) - h.GET("/webapi/sites/:site/pods", h.WithClusterAuth(h.clusterKubePodsGet)) + h.GET("/webapi/sites/:site/kubernetes/resources", h.WithClusterAuth(h.clusterKubeResourcesGet)) // Github connector handlers h.GET("/webapi/github/login/web", h.WithRedirect(h.githubLoginWeb)) diff --git a/lib/web/apiserver_test.go b/lib/web/apiserver_test.go index 640b7395ea7ee..8fe04777a6513 100644 --- a/lib/web/apiserver_test.go +++ b/lib/web/apiserver_test.go @@ -4259,7 +4259,7 @@ func TestClusterKubesGet(t *testing.T) { } } -func TestClusterKubePodsGet(t *testing.T) { +func TestClusterKubeResourcesGet(t *testing.T) { t.Parallel() kubeClusterName := "kube_cluster" @@ -4278,6 +4278,10 @@ func TestClusterKubePodsGet(t *testing.T) { Namespace: types.Wildcard, Name: types.Wildcard, }, + { + Kind: types.KindKubeNamespace, + Name: types.Wildcard, + }, }, }, }) @@ -4296,11 +4300,15 @@ func TestClusterKubePodsGet(t *testing.T) { tt := []struct { name string user string + kind string + kubeCluster string expectedResponse []ui.KubeResource + wantErr bool }{ { - name: "get pods from gRPC server", - user: "test-user@example.com", + name: "get pods from gRPC server", + kind: types.KindKubePod, + kubeCluster: kubeClusterName, expectedResponse: []ui.KubeResource{ { Kind: types.KindKubePod, @@ -4318,6 +4326,38 @@ func TestClusterKubePodsGet(t *testing.T) { }, }, }, + { + name: "get namespaces", + kind: types.KindKubeNamespace, + kubeCluster: kubeClusterName, + expectedResponse: []ui.KubeResource{ + { + Kind: types.KindKubeNamespace, + Name: "default", + Namespace: "", + Labels: []ui.Label{{Name: "app", Value: "test"}}, + KubeCluster: kubeClusterName, + }, + }, + }, + { + name: "missing kind", + kind: "", + kubeCluster: kubeClusterName, + wantErr: true, + }, + { + name: "invalid kind", + kind: "invalid-kind", + kubeCluster: kubeClusterName, + wantErr: true, + }, + { + name: "missing kube cluster", + kind: types.KindKubeNamespace, + kubeCluster: "", + wantErr: true, + }, } proxy := env.proxies[0] listener, err := net.Listen("tcp", "127.0.0.1:0") @@ -4327,22 +4367,27 @@ func TestClusterKubePodsGet(t *testing.T) { addr := utils.MustParseAddr(listener.Addr().String()) proxy.handler.handler.cfg.ProxyWebAddr = *addr + user := "test-user@example.com" + pack := proxy.authPack(t, user, roleWithFullAccess(user)) + for _, tc := range tt { tc := tc t.Run(tc.name, func(t *testing.T) { - pack := proxy.authPack(t, tc.user, roleWithFullAccess(tc.user)) - - endpoint := pack.clt.Endpoint("webapi", "sites", env.server.ClusterName(), "pods") + endpoint := pack.clt.Endpoint("webapi", "sites", env.server.ClusterName(), "kubernetes", "resources") params := url.Values{} - params.Add("kubeCluster", kubeClusterName) + params.Add("kubeCluster", tc.kubeCluster) + params.Add("kind", tc.kind) re, err := pack.clt.Get(context.Background(), endpoint, params) - require.NoError(t, err) - resp := testResponse{} - require.NoError(t, json.Unmarshal(re.Bytes(), &resp)) - require.Len(t, resp.Items, 2) - require.Equal(t, 2, resp.TotalCount) - require.ElementsMatch(t, tc.expectedResponse, resp.Items) + if tc.wantErr { + require.True(t, trace.IsBadParameter(err)) + } else { + require.NoError(t, err) + resp := testResponse{} + require.NoError(t, json.Unmarshal(re.Bytes(), &resp)) + require.ElementsMatch(t, tc.expectedResponse, resp.Items) + } + }) } } @@ -9536,35 +9581,59 @@ type fakeKubeService struct { } func (s *fakeKubeService) ListKubernetesResources(ctx context.Context, req *kubeproto.ListKubernetesResourcesRequest) (*kubeproto.ListKubernetesResourcesResponse, error) { - return &kubeproto.ListKubernetesResourcesResponse{ - Resources: []*types.KubernetesResourceV1{ - { - Kind: types.KindKubePod, - Metadata: types.Metadata{ - Name: "test-pod", - Labels: map[string]string{ - "app": "test", + switch req.GetResourceType() { + case types.KindKubePod: + { + return &kubeproto.ListKubernetesResourcesResponse{ + Resources: []*types.KubernetesResourceV1{ + { + Kind: types.KindKubePod, + Metadata: types.Metadata{ + Name: "test-pod", + Labels: map[string]string{ + "app": "test", + }, + }, + Spec: types.KubernetesResourceSpecV1{ + Namespace: "default", + }, }, - }, - Spec: types.KubernetesResourceSpecV1{ - Namespace: "default", - }, - }, - { - Kind: types.KindKubePod, - Metadata: types.Metadata{ - Name: "test-pod2", - Labels: map[string]string{ - "app": "test2", + { + Kind: types.KindKubePod, + Metadata: types.Metadata{ + Name: "test-pod2", + Labels: map[string]string{ + "app": "test2", + }, + }, + Spec: types.KubernetesResourceSpecV1{ + Namespace: "default", + }, }, }, - Spec: types.KubernetesResourceSpecV1{ - Namespace: "default", + TotalCount: 2, + }, nil + } + case types.KindKubeNamespace: + { + return &kubeproto.ListKubernetesResourcesResponse{ + Resources: []*types.KubernetesResourceV1{ + { + Kind: types.KindNamespace, + Metadata: types.Metadata{ + Name: "default", + Labels: map[string]string{ + "app": "test", + }, + }, + }, }, - }, - }, - TotalCount: 2, - }, nil + TotalCount: 1, + }, nil + } + default: + return nil, trace.BadParameter("kubernetes resource kind %q is not mocked", req.GetResourceType()) + } } func TestWebSocketAuthenticateRequest(t *testing.T) { diff --git a/lib/web/servers.go b/lib/web/servers.go index 62919e6194637..da7a4d75ccb3a 100644 --- a/lib/web/servers.go +++ b/lib/web/servers.go @@ -20,6 +20,7 @@ package web import ( "net/http" + "slices" "github.com/gravitational/trace" "github.com/julienschmidt/httprouter" @@ -61,21 +62,35 @@ func (h *Handler) clusterKubesGet(w http.ResponseWriter, r *http.Request, p http }, nil } -// clusterKubePodsGet returns a list of Kubernetes Pods in a form the -// UI can present. -func (h *Handler) clusterKubePodsGet(w http.ResponseWriter, r *http.Request, p httprouter.Params, sctx *SessionContext, site reversetunnelclient.RemoteSite) (interface{}, error) { +// clusterKubeResourcesGet returns supported requested kubernetes subresources eg: pods, namespaces, secrets etc. +func (h *Handler) clusterKubeResourcesGet(w http.ResponseWriter, r *http.Request, p httprouter.Params, sctx *SessionContext, site reversetunnelclient.RemoteSite) (interface{}, error) { + kind := r.URL.Query().Get("kind") + kubeCluster := r.URL.Query().Get("kubeCluster") + + if kubeCluster == "" { + return nil, trace.BadParameter("missing param %q", "kubeCluster") + } + + if kind == "" { + return nil, trace.BadParameter("missing param %q", "kind") + } + + if !slices.Contains(types.KubernetesResourcesKinds, kind) { + return nil, trace.BadParameter("kind is not valid, valid kinds %v", types.KubernetesResourcesKinds) + } + clt, err := sctx.NewKubernetesServiceClient(r.Context(), h.cfg.ProxyWebAddr.Addr) if err != nil { return nil, trace.Wrap(err) } - resp, err := listKubeResources(r.Context(), clt, r.URL.Query(), site.GetName(), types.KindKubePod) + resp, err := listKubeResources(r.Context(), clt, r.URL.Query(), site.GetName(), kind) if err != nil { return nil, trace.Wrap(err) } return listResourcesGetResponse{ - Items: ui.MakeKubeResources(resp.Resources, r.URL.Query().Get("kubeCluster")), + Items: ui.MakeKubeResources(resp.Resources, kubeCluster), StartKey: resp.NextKey, TotalCount: int(resp.TotalCount), }, nil diff --git a/web/packages/teleport/src/config.ts b/web/packages/teleport/src/config.ts index 14129fef320d7..977bfbc480dcd 100644 --- a/web/packages/teleport/src/config.ts +++ b/web/packages/teleport/src/config.ts @@ -38,6 +38,7 @@ import type { WebauthnAssertionResponse } from './services/auth'; import type { PluginKind, Regions } from './services/integrations'; import type { ParticipantMode } from 'teleport/services/session'; import type { YamlSupportedResourceKind } from './services/yaml/types'; +import type { KubeResourceKind } from './services/kube/types'; const cfg = { /** @deprecated Use cfg.edition instead. */ @@ -249,6 +250,8 @@ const cfg = { kubernetesPath: '/v1/webapi/sites/:clusterId/kubernetes?searchAsRoles=:searchAsRoles?&limit=:limit?&startKey=:startKey?&query=:query?&search=:search?&sort=:sort?', + kubernetesResourcesPath: + '/v1/webapi/sites/:clusterId/kubernetes/resources?searchAsRoles=:searchAsRoles?&limit=:limit?&startKey=:startKey?&query=:query?&search=:search?&sort=:sort?&kubeCluster=:kubeCluster?&kubeNamespace=:kubeNamespace?&kind=:kind?', usersPath: '/v1/webapi/users', userWithUsernamePath: '/v1/webapi/users/:username', @@ -880,6 +883,13 @@ const cfg = { }); }, + getKubernetesResourcesUrl(clusterId: string, params: UrlKubeResourcesParams) { + return generateResourcePath(cfg.api.kubernetesResourcesPath, { + clusterId, + ...params, + }); + }, + getAuthnChallengeWithTokenUrl(tokenId: string) { return generatePath(cfg.api.mfaAuthnChallengeWithTokenPath, { tokenId, @@ -1232,6 +1242,18 @@ export interface UrlResourcesParams { kinds?: string[]; } +export interface UrlKubeResourcesParams { + query?: string; + search?: string; + sort?: SortType; + limit?: number; + startKey?: string; + searchAsRoles?: 'yes' | ''; + kubeNamespace?: string; + kubeCluster: string; + kind: KubeResourceKind; +} + export interface UrlDeployServiceIamConfigureScriptParams { integrationName: string; region: Regions; diff --git a/web/packages/teleport/src/generateResourcePath.test.ts b/web/packages/teleport/src/generateResourcePath.test.ts index f224dc024662c..cead245d24005 100644 --- a/web/packages/teleport/src/generateResourcePath.test.ts +++ b/web/packages/teleport/src/generateResourcePath.test.ts @@ -16,7 +16,7 @@ * along with this program. If not, see . */ -import cfg, { UrlResourcesParams } from './config'; +import cfg, { UrlKubeResourcesParams, UrlResourcesParams } from './config'; import generateResourcePath from './generateResourcePath'; test('undefined params are set to empty string', () => { @@ -66,3 +66,19 @@ test('defined params but set to empty values are set to empty string', () => { '/v1/webapi/sites/cluster/resources?searchAsRoles=&limit=&startKey=&kinds=&query=&search=&sort=&pinnedOnly=&includedResourceMode=' ); }); + +test('defined kube related params are set', () => { + const params: UrlKubeResourcesParams = { + kind: 'namespace', + kubeCluster: 'kubecluster', + kubeNamespace: 'kubenamespace', + }; + expect( + generateResourcePath(cfg.api.kubernetesResourcesPath, { + clusterId: 'cluster', + ...params, + }) + ).toStrictEqual( + '/v1/webapi/sites/cluster/kubernetes/resources?searchAsRoles=&limit=&startKey=&query=&search=&sort=&kubeCluster=kubecluster&kubeNamespace=kubenamespace&kind=namespace' + ); +}); diff --git a/web/packages/teleport/src/generateResourcePath.ts b/web/packages/teleport/src/generateResourcePath.ts index a3a034af33d92..908299cde6d88 100644 --- a/web/packages/teleport/src/generateResourcePath.ts +++ b/web/packages/teleport/src/generateResourcePath.ts @@ -56,7 +56,10 @@ export default function generateResourcePath( .replace(':search?', processedParams.search || '') .replace(':searchAsRoles?', processedParams.searchAsRoles || '') .replace(':sort?', processedParams.sort || '') + .replace(':kind?', processedParams.kind || '') .replace(':kinds?', processedParams.kinds || '') + .replace(':kubeCluster?', processedParams.kubeCluster || '') + .replace(':kubeNamespace?', processedParams.kubeNamespace || '') .replace(':pinnedOnly?', processedParams.pinnedOnly || '') .replace( ':includedResourceMode?', diff --git a/web/packages/teleport/src/services/kube/kube.ts b/web/packages/teleport/src/services/kube/kube.ts index f81f46e22a0c8..82886438aba9c 100644 --- a/web/packages/teleport/src/services/kube/kube.ts +++ b/web/packages/teleport/src/services/kube/kube.ts @@ -17,11 +17,14 @@ */ import api from 'teleport/services/api'; -import cfg, { UrlResourcesParams } from 'teleport/config'; +import cfg, { + UrlKubeResourcesParams, + UrlResourcesParams, +} from 'teleport/config'; import { ResourcesResponse } from 'teleport/services/agents'; -import { Kube } from './types'; -import makeKube from './makeKube'; +import { Kube, KubeResourceResponse } from './types'; +import { makeKube, makeKubeResource } from './makeKube'; class KubeService { fetchKubernetes( @@ -41,6 +44,24 @@ class KubeService { }; }); } + + fetchKubernetesResources( + clusterId, + params: UrlKubeResourcesParams, + signal?: AbortSignal + ): Promise { + return api + .get(cfg.getKubernetesResourcesUrl(clusterId, params), signal) + .then(json => { + const items = json?.items || []; + + return { + items: items.map(makeKubeResource), + startKey: json?.startKey, + totalCount: json?.totalCount, + }; + }); + } } export default KubeService; diff --git a/web/packages/teleport/src/services/kube/makeKube.ts b/web/packages/teleport/src/services/kube/makeKube.ts index 7831cd097fc21..49c1957fe696d 100644 --- a/web/packages/teleport/src/services/kube/makeKube.ts +++ b/web/packages/teleport/src/services/kube/makeKube.ts @@ -16,9 +16,9 @@ * along with this program. If not, see . */ -import { Kube } from './types'; +import { Kube, KubeResource } from './types'; -export default function makeKube(json): Kube { +export function makeKube(json): Kube { const { name, requiresRequest } = json; const labels = json.labels || []; @@ -31,3 +31,16 @@ export default function makeKube(json): Kube { requiresRequest, }; } + +export function makeKubeResource(json): KubeResource { + const { kind, name, namespace, cluster } = json; + const labels = json.labels || []; + + return { + kind, + name, + namespace, + labels, + cluster, + }; +} diff --git a/web/packages/teleport/src/services/kube/types.ts b/web/packages/teleport/src/services/kube/types.ts index 4925517ef86d7..554249a287b64 100644 --- a/web/packages/teleport/src/services/kube/types.ts +++ b/web/packages/teleport/src/services/kube/types.ts @@ -25,3 +25,33 @@ export interface Kube { groups?: string[]; requiresRequest?: boolean; } + +/** + * Add kind consts as we go. + * Supported kube subresources: + * https://github.com/gravitational/teleport/blob/c86f46db17fe149240e30fa0748621239e36c72a/api/types/constants.go#L1233 + */ +export type KubeResourceKind = 'namespace'; + +/** + * Refers to kube_cluster's subresources like namespaces, pods, etc + */ +export type KubeResource = { + kind: KubeResourceKind; + name: string; + /** + * namespace will be left blank, if the field `kind` is `namespace` + */ + namespace?: string; + labels: ResourceLabel[]; + /** + * the kube cluster where this subresource belongs to + */ + cluster: string; +}; + +export interface KubeResourceResponse { + items: KubeResource[]; + startKey?: string; + totalCount?: number; +} diff --git a/web/packages/teleport/src/services/resources/makeUnifiedResource.ts b/web/packages/teleport/src/services/resources/makeUnifiedResource.ts index d0343d1f575fb..0dc4072c92719 100644 --- a/web/packages/teleport/src/services/resources/makeUnifiedResource.ts +++ b/web/packages/teleport/src/services/resources/makeUnifiedResource.ts @@ -20,7 +20,7 @@ import { UnifiedResource, UnifiedResourceKind } from '../agents'; import makeApp from '../apps/makeApps'; import { makeDatabase } from '../databases/makeDatabase'; import { makeDesktop } from '../desktops/makeDesktop'; -import makeKube from '../kube/makeKube'; +import { makeKube } from '../kube/makeKube'; import makeNode from '../nodes/makeNode'; export function makeUnifiedResource(json: any): UnifiedResource { From 3b7047db580e3098a2986a6a2837b2bd3eaee520 Mon Sep 17 00:00:00 2001 From: Bernard Kim Date: Fri, 4 Oct 2024 15:41:22 -0700 Subject: [PATCH 6/8] Toggle light/dark themes (#47149) * Toggle light/dark themes * Fix lint * Remove openai icons --- .../src/ResourceIcon/assets/entra-id.svg | 9 ++++ web/packages/design/src/ResourceIcon/icons.ts | 2 + .../src/ResourceIcon/resourceIconSpecs.ts | 1 + .../src/Integrations/IntegrationList.tsx | 49 ++++++------------- 4 files changed, 28 insertions(+), 33 deletions(-) create mode 100644 web/packages/design/src/ResourceIcon/assets/entra-id.svg diff --git a/web/packages/design/src/ResourceIcon/assets/entra-id.svg b/web/packages/design/src/ResourceIcon/assets/entra-id.svg new file mode 100644 index 0000000000000..0ed35fb73bcf4 --- /dev/null +++ b/web/packages/design/src/ResourceIcon/assets/entra-id.svg @@ -0,0 +1,9 @@ + + + + + + + + + \ No newline at end of file diff --git a/web/packages/design/src/ResourceIcon/icons.ts b/web/packages/design/src/ResourceIcon/icons.ts index aee4ef7939276..e9803ad24e662 100644 --- a/web/packages/design/src/ResourceIcon/icons.ts +++ b/web/packages/design/src/ResourceIcon/icons.ts @@ -105,6 +105,7 @@ import eks from './assets/eks.svg'; import elastic from './assets/elastic.svg'; import emailDark from './assets/email-dark.svg'; import emailLight from './assets/email-light.svg'; +import entraid from './assets/entra-id.svg'; import eventbrite from './assets/eventbrite.svg'; import excalidraw from './assets/excalidraw.svg'; import figma from './assets/figma.svg'; @@ -384,6 +385,7 @@ export { elastic, emailDark, emailLight, + entraid, eventbrite, excalidraw, figma, diff --git a/web/packages/design/src/ResourceIcon/resourceIconSpecs.ts b/web/packages/design/src/ResourceIcon/resourceIconSpecs.ts index 26edb1aea66ba..1b4ea1f4df45e 100644 --- a/web/packages/design/src/ResourceIcon/resourceIconSpecs.ts +++ b/web/packages/design/src/ResourceIcon/resourceIconSpecs.ts @@ -106,6 +106,7 @@ export const resourceIconSpecs = { eks: forAllThemes(i.eks), elastic: forAllThemes(i.elastic), email: { dark: i.emailDark, light: i.emailLight }, + entraid: forAllThemes(i.entraid), eventbrite: forAllThemes(i.eventbrite), excalidraw: forAllThemes(i.excalidraw), diff --git a/web/packages/teleport/src/Integrations/IntegrationList.tsx b/web/packages/teleport/src/Integrations/IntegrationList.tsx index 303f1408e29ea..5c6a5fa67ec86 100644 --- a/web/packages/teleport/src/Integrations/IntegrationList.tsx +++ b/web/packages/teleport/src/Integrations/IntegrationList.tsx @@ -21,25 +21,12 @@ import styled from 'styled-components'; import { useHistory } from 'react-router'; import { Link as InternalRouteLink } from 'react-router-dom'; -import { Box, Flex, Image } from 'design'; +import { Box, Flex } from 'design'; import { AWSIcon, AzureIcon } from 'design/SVGIcon'; -import slackIcon from 'design/assets/images/icons/slack.svg'; -import openaiIcon from 'design/assets/images/icons/openai.svg'; -import jamfIcon from 'design/assets/images/icons/jamf.svg'; -import opsgenieIcon from 'design/assets/images/icons/opsgenie.svg'; -import oktaIcon from 'design/assets/images/icons/okta.svg'; -import jiraIcon from 'design/assets/images/icons/jira.svg'; -import mattermostIcon from 'design/assets/images/icons/mattermost.svg'; -import pagerdutyIcon from 'design/assets/images/icons/pagerduty.svg'; -import servicenowIcon from 'design/assets/images/icons/servicenow.svg'; -import discordIcon from 'design/assets/images/icons/discord.svg'; -import emailIcon from 'design/assets/images/icons/email.svg'; -import msteamIcon from 'design/assets/images/icons/msteams.svg'; -import entraIdIcon from 'design/assets/images/icons/entra-id.svg'; -import datadogIcon from 'design/assets/images/icons/datadog.svg'; import Table, { Cell } from 'design/DataTable'; import { MenuButton, MenuItem } from 'shared/components/MenuAction'; import { ToolTipInfo } from 'shared/components/ToolTip'; +import { ResourceIcon } from 'design/ResourceIcon'; import { getStatusCodeDescription, @@ -303,59 +290,55 @@ const IconCell = ({ item }: { item: IntegrationLike }) => { switch (item.kind) { case 'slack': formattedText = 'Slack'; - icon = ; - break; - case 'openai': - formattedText = 'OpenAI'; - icon = ; + icon = ; break; case 'jamf': formattedText = 'Jamf'; - icon = ; + icon = ; break; case 'okta': formattedText = 'Okta'; - icon = ; + icon = ; break; case 'opsgenie': formattedText = 'Opsgenie'; - icon = ; + icon = ; break; case 'jira': formattedText = 'Jira'; - icon = ; + icon = ; break; case 'mattermost': formattedText = 'Mattermost'; - icon = ; + icon = ; break; case 'servicenow': formattedText = 'ServiceNow'; - icon = ; + icon = ; break; case 'pagerduty': formattedText = 'PagerDuty'; - icon = ; + icon = ; break; case 'discord': formattedText = 'Discord'; - icon = ; + icon = ; break; case 'email': formattedText = 'Email'; - icon = ; + icon = ; break; case 'msteams': formattedText = 'Microsoft Teams'; - icon = ; + icon = ; break; case 'entra-id': formattedText = 'Microsoft Entra ID'; - icon = ; + icon = ; break; case 'datadog': formattedText = 'Datadog Incident Management'; - icon = ; + icon = ; break; } } else { @@ -395,7 +378,7 @@ const IconCell = ({ item }: { item: IntegrationLike }) => { ); }; -const IconContainer = styled(Image)` +const IconContainer = styled(ResourceIcon)` width: 22px; margin-right: 10px; `; From d442bd3a20646bf8c1c15a55c5ea541873b918e8 Mon Sep 17 00:00:00 2001 From: Steven Martin Date: Fri, 4 Oct 2024 18:55:35 -0400 Subject: [PATCH 7/8] rfd spell fixes (#47227) Co-authored-by: Steven Martin --- rfd/0171-database-session-playback.md | 4 ++-- rfd/0181-pg-database-access-webui.md | 6 +++--- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/rfd/0171-database-session-playback.md b/rfd/0171-database-session-playback.md index 3ef556829d009..93d13d22f675c 100644 --- a/rfd/0171-database-session-playback.md +++ b/rfd/0171-database-session-playback.md @@ -211,7 +211,7 @@ It will present the session recording events in different text formats: Example of player visualization: ```code -mydatabse=# SELECT id, name FROM events; +mydatabase=# SELECT id, name FROM events; SUCCESS (3 rows returned) @@ -247,7 +247,7 @@ executed, following the same format described earlier. Example: ```code -mydatabse=# SELECT id, name FROM events; +mydatabase=# SELECT id, name FROM events; mydatabase=# INSERT INTO events (name) VALUES ('session.query'); diff --git a/rfd/0181-pg-database-access-webui.md b/rfd/0181-pg-database-access-webui.md index d90851f81cd7d..ddaf60725eae7 100644 --- a/rfd/0181-pg-database-access-webui.md +++ b/rfd/0181-pg-database-access-webui.md @@ -162,7 +162,7 @@ Supported list of commands and output examples: ``` -##### Limitations/Unpported commands +##### Limitations/Unsupported commands Teleport PostgreSQL interactive shell will not be a complete feature pair with `psql`. Those limitations will be due to security measures or the shell's @@ -285,7 +285,7 @@ type DatabaseSessionRequest struct { DatabaseName string `json:"db_name"` // DatabaseUser is the database user used on the session. DatabaseUser string `json:"db_user"` - // DatabaseRoles are ratabase roles that will be attached to the user when connecting to the database. + // DatabaseRoles are database roles that will be attached to the user when connecting to the database. DatabaseRoles []string `json:"db_roles"` } ``` @@ -347,7 +347,7 @@ This will simplify the protocol interaction and cover most use cases. The `pgconn.PgConn` will be started during the REPL initialization process. -Query cancelation won't be covered in the initial version. The executions will +Query cancellation won't be covered in the initial version. The executions will use the session context, meaning that if the session is closed, the queries will get canceled. From c8b364efb112912cb468da59c0195b95a09c6be6 Mon Sep 17 00:00:00 2001 From: Zac Bergquist Date: Fri, 4 Oct 2024 17:31:00 -0600 Subject: [PATCH 8/8] Set min macOS version to 11 (#46461) Go 1.23 has a hard requirement of macOS11 Big Sur or later. --- Makefile | 5 ++--- build.assets/build-fido2-macos.sh | 2 +- build.assets/macos/tctl/tctl.app/Contents/Info.plist | 2 +- build.assets/macos/tctldev/tctl.app/Contents/Info.plist | 2 +- build.assets/macos/tsh/tsh.app/Contents/Info.plist | 2 +- build.assets/macos/tshdev/tsh.app/Contents/Info.plist | 2 +- .../admin-guides/access-controls/guides/passwordless.mdx | 3 +-- docs/pages/installation.mdx | 3 +-- e | 2 +- lib/auth/touchid/api_darwin.go | 2 +- lib/devicetrust/native/device_darwin.go | 2 +- lib/vnet/daemon/common_darwin.go | 2 +- lib/web/scripts/node-join/README.md | 2 +- 13 files changed, 14 insertions(+), 17 deletions(-) diff --git a/Makefile b/Makefile index 7b5ac542dad49..f0ad54f8fe5e7 100644 --- a/Makefile +++ b/Makefile @@ -316,9 +316,8 @@ endif ifeq ("$(OS)","darwin") # Set the minimum version for macOS builds for Go, Rust and Xcode builds. -# Note the minimum version for Apple silicon (ARM64) is 11.0 and will be automatically -# clamped to the value for builds of that architecture -MINIMUM_SUPPORTED_MACOS_VERSION = 10.15 +# (as of Go 1.23 we require macOS 11) +MINIMUM_SUPPORTED_MACOS_VERSION = 11.0 MACOSX_VERSION_MIN_FLAG = -mmacosx-version-min=$(MINIMUM_SUPPORTED_MACOS_VERSION) # Go diff --git a/build.assets/build-fido2-macos.sh b/build.assets/build-fido2-macos.sh index a74d5a9b10196..6291b0abdf4b3 100755 --- a/build.assets/build-fido2-macos.sh +++ b/build.assets/build-fido2-macos.sh @@ -11,7 +11,7 @@ # Written mainly for macOS builders. set -eu -readonly MACOS_VERSION_MIN=10.15 +readonly MACOS_VERSION_MIN=11.0 # Cross-architecture building # Set C_ARCH to $(uname -m) if unset, and validate supported architecture diff --git a/build.assets/macos/tctl/tctl.app/Contents/Info.plist b/build.assets/macos/tctl/tctl.app/Contents/Info.plist index bfb71f81bd539..8efa60cb751fa 100644 --- a/build.assets/macos/tctl/tctl.app/Contents/Info.plist +++ b/build.assets/macos/tctl/tctl.app/Contents/Info.plist @@ -43,7 +43,7 @@ DTXcodeBuild 13C100 LSMinimumSystemVersion - 10.15.0 + 11.0.0 NSHumanReadableCopyright NSMainStoryboardFile diff --git a/build.assets/macos/tctldev/tctl.app/Contents/Info.plist b/build.assets/macos/tctldev/tctl.app/Contents/Info.plist index c9bd3e9c18124..62628f2618d70 100644 --- a/build.assets/macos/tctldev/tctl.app/Contents/Info.plist +++ b/build.assets/macos/tctldev/tctl.app/Contents/Info.plist @@ -41,7 +41,7 @@ DTXcodeBuild 13C100 LSMinimumSystemVersion - 10.15.0 + 11.0.0 NSHumanReadableCopyright NSMainStoryboardFile diff --git a/build.assets/macos/tsh/tsh.app/Contents/Info.plist b/build.assets/macos/tsh/tsh.app/Contents/Info.plist index ae95535403cb0..97ae953de6353 100644 --- a/build.assets/macos/tsh/tsh.app/Contents/Info.plist +++ b/build.assets/macos/tsh/tsh.app/Contents/Info.plist @@ -43,7 +43,7 @@ DTXcodeBuild 13C100 LSMinimumSystemVersion - 10.15.0 + 11.0.0 NSHumanReadableCopyright NSMainStoryboardFile diff --git a/build.assets/macos/tshdev/tsh.app/Contents/Info.plist b/build.assets/macos/tshdev/tsh.app/Contents/Info.plist index 5417165e676cb..f8ed424da1831 100644 --- a/build.assets/macos/tshdev/tsh.app/Contents/Info.plist +++ b/build.assets/macos/tshdev/tsh.app/Contents/Info.plist @@ -41,7 +41,7 @@ DTXcodeBuild 13C100 LSMinimumSystemVersion - 10.15.0 + 11.0.0 NSHumanReadableCopyright NSMainStoryboardFile diff --git a/docs/pages/admin-guides/access-controls/guides/passwordless.mdx b/docs/pages/admin-guides/access-controls/guides/passwordless.mdx index ee373a1215fdd..1ece97815ff4c 100644 --- a/docs/pages/admin-guides/access-controls/guides/passwordless.mdx +++ b/docs/pages/admin-guides/access-controls/guides/passwordless.mdx @@ -224,8 +224,7 @@ necessary udev rules. If you are having trouble with Touch ID, make sure that you are using the latest standalone version of `tsh`. [Download the macOS tsh installer](../../../installation.mdx). -Touch ID support requires Macs with a Touch ID sensor and Secure Enclave. It also -requires macOS >= 10.15 (macOS Catalina). +Touch ID support requires Macs with a Touch ID sensor and Secure Enclave. You can run the `tsh touchid diag` command to verify requirements. A capable device and `tsh` binary should show an output similar to the one below: diff --git a/docs/pages/installation.mdx b/docs/pages/installation.mdx index b052d91acd268..04bf752645955 100644 --- a/docs/pages/installation.mdx +++ b/docs/pages/installation.mdx @@ -34,7 +34,7 @@ running Teleport on UNIX variants other than Linux \[1]. | Operating System | `teleport` Daemon | `tctl` Admin Tool | `tsh` and Teleport Connect User Clients [2] | Web UI (via the browser) | `tbot` Daemon | | - | - | - | - | - | - | | Linux v2.6.23+ (RHEL/CentOS 7+, Amazon Linux 2+, Amazon Linux 2023+, Ubuntu 16.04+, Debian 9+, SLES 12 SP 5+, and SLES 15 SP 5+) \[3] | yes | yes | yes | yes | yes | -| macOS v10.15+ (Catalina)| yes | yes | yes | yes | yes | +| macOS 11+ (Big Sur)| yes | yes | yes | yes | yes | | Windows 10+ (rev. 1607) \[4] | no | yes | yes | yes | no | \[1] *Teleport is written in Go and many of these system requirements are due to the requirements @@ -854,4 +854,3 @@ infrastructure. Get started with: - [Application Access](enroll-resources/application-access/introduction.mdx) - [Desktop Access](enroll-resources/desktop-access/introduction.mdx) - [Machine ID](enroll-resources/machine-id/introduction.mdx) - diff --git a/e b/e index 00e171b167c5f..5023849437efc 160000 --- a/e +++ b/e @@ -1 +1 @@ -Subproject commit 00e171b167c5fbb967ae3243eda3079542bbfec3 +Subproject commit 5023849437efc896368000075405b75c11d98d15 diff --git a/lib/auth/touchid/api_darwin.go b/lib/auth/touchid/api_darwin.go index 7990a03c9b78c..a7ac71653a863 100644 --- a/lib/auth/touchid/api_darwin.go +++ b/lib/auth/touchid/api_darwin.go @@ -21,7 +21,7 @@ package touchid -// #cgo CFLAGS: -Wall -xobjective-c -fblocks -fobjc-arc -mmacosx-version-min=10.15 +// #cgo CFLAGS: -Wall -xobjective-c -fblocks -fobjc-arc -mmacosx-version-min=11.0 // #cgo LDFLAGS: -framework CoreFoundation -framework Foundation -framework LocalAuthentication -framework Security // #include // #include "authenticate.h" diff --git a/lib/devicetrust/native/device_darwin.go b/lib/devicetrust/native/device_darwin.go index d64fd43da2b84..9167b567aec9a 100644 --- a/lib/devicetrust/native/device_darwin.go +++ b/lib/devicetrust/native/device_darwin.go @@ -18,7 +18,7 @@ package native -// #cgo CFLAGS: -Wall -xobjective-c -fblocks -fobjc-arc -mmacosx-version-min=10.15 +// #cgo CFLAGS: -Wall -xobjective-c -fblocks -fobjc-arc -mmacosx-version-min=11.0 // #cgo LDFLAGS: -framework CoreFoundation -framework Foundation -framework IOKit -framework Security // #include // #include diff --git a/lib/vnet/daemon/common_darwin.go b/lib/vnet/daemon/common_darwin.go index 1daae730aa9a3..b3f50add2b3ce 100644 --- a/lib/vnet/daemon/common_darwin.go +++ b/lib/vnet/daemon/common_darwin.go @@ -19,7 +19,7 @@ package daemon -// #cgo CFLAGS: -Wall -xobjective-c -fblocks -fobjc-arc -mmacosx-version-min=10.15 +// #cgo CFLAGS: -Wall -xobjective-c -fblocks -fobjc-arc -mmacosx-version-min=11.0 // #cgo LDFLAGS: -framework Foundation -framework ServiceManagement // #include "common_darwin.h" import "C" diff --git a/lib/web/scripts/node-join/README.md b/lib/web/scripts/node-join/README.md index d3c4f020b810d..4f06563fa1a30 100644 --- a/lib/web/scripts/node-join/README.md +++ b/lib/web/scripts/node-join/README.md @@ -45,7 +45,7 @@ Things it doesn't do (yet): - Architectures - x86_64 - aarch64 - - MacOS 10.15+ + - macOS 11.0+ - uses `.tar.gz` tarball package ## Arguments