diff --git a/.changes/unreleased/Changed-20260905-231500.yaml b/.changes/unreleased/Changed-20260905-231500.yaml new file mode 100644 index 00000000..27933098 --- /dev/null +++ b/.changes/unreleased/Changed-20260905-231500.yaml @@ -0,0 +1,11 @@ +kind: Changed +body: |- + **Updated to buffa 0.9.2; `connectrpc-health` and `connectrpc-reflection` + ship message code regenerated with it.** buffa 0.9.2 is a hardening + release: on the generated path, `decode_view` now attaches the + element-memory budget and the view decoders merge split map values the way + the owned decoder does. `connectrpc-build` users pick this up on their next + build; `buf generate` and `protoc-gen-connect-rust` users should reinstall + `protoc-gen-buffa` at 0.9.2 and regenerate, although code generated by + 0.9.1 still compiles and runs against the new runtime. +time: 2026-09-05T23:15:00.000000000+00:00 diff --git a/Cargo.toml b/Cargo.toml index 1e69a2f4..9da8e5bb 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -30,23 +30,23 @@ pin-project = "1" sync_wrapper = "1" async-trait = "0.1" -# Protobuf. 0.9.1 is a hard floor rather than a preference, for two reasons. +# Protobuf. The 0.9.x floor is hard rather than a preference, for two reasons. # 0.9.0 widens `types::put_len_delimited_header` and the # `map_codec::field_len` accumulator to `u64`, so code emitted by a 0.8.x # codegen does not compile against a 0.9 runtime; and the codegen paths call # `buffa_codegen::decode_request` and `tooling_decode_options`, which arrived -# in 0.9.1. The floor also matches the regen baseline for the checked-in +# in 0.9.1. Within 0.9.x the floor tracks the regen baseline for the checked-in # generated code — regenerate whenever it moves. # (connectrpc-build also sources the generated `mod.rs` `#[allow(...)]` list # from `buffa_codegen::ALLOW_LINTS`.) # NOTE: the `connectrpc` crate pins `buffa` directly (not `workspace = true`) # so its `json` cargo feature can gate `buffa/json` for proto-only builds — # keep that floor aligned with this one when bumping. -buffa = { version = "0.9.1", features = ["json"] } -buffa-types = { version = "0.9.1", features = ["json"] } -buffa-codegen = { version = "0.9.1" } +buffa = { version = "0.9.2", features = ["json"] } +buffa-types = { version = "0.9.2", features = ["json"] } +buffa-codegen = { version = "0.9.2" } # `reflect` is needed for `DescriptorPool`, which backs connectrpc-reflection. -buffa-descriptor = { version = "0.9.1", features = ["reflect"] } +buffa-descriptor = { version = "0.9.2", features = ["reflect"] } # Serialization serde = { version = "1", features = ["derive"] } diff --git a/benches/rpc/src/generated/buffa/bench.__view.rs b/benches/rpc/src/generated/buffa/bench.__view.rs index 2df1678d..95b7d7cf 100644 --- a/benches/rpc/src/generated/buffa/bench.__view.rs +++ b/benches/rpc/src/generated/buffa/bench.__view.rs @@ -11,9 +11,11 @@ impl<'a> ::buffa::MessageView<'a> for EchoRequestView<'a> { type Owned = super::super::EchoRequest; fn decode_view(buf: &'a [u8]) -> ::core::result::Result { let __limit = ::core::cell::Cell::new(::buffa::DEFAULT_UNKNOWN_FIELD_LIMIT); + let __elem = ::core::cell::Cell::new(::buffa::DEFAULT_ELEMENT_MEMORY_LIMIT); ::decode_view_ctx( buf, - ::buffa::DecodeContext::new(::buffa::RECURSION_LIMIT, &__limit), + ::buffa::DecodeContext::new(::buffa::RECURSION_LIMIT, &__limit) + .with_element_memory(&__elem), ) } fn decode_view_with_ctx( @@ -254,9 +256,11 @@ impl<'a> ::buffa::MessageView<'a> for EchoResponseView<'a> { type Owned = super::super::EchoResponse; fn decode_view(buf: &'a [u8]) -> ::core::result::Result { let __limit = ::core::cell::Cell::new(::buffa::DEFAULT_UNKNOWN_FIELD_LIMIT); + let __elem = ::core::cell::Cell::new(::buffa::DEFAULT_ELEMENT_MEMORY_LIMIT); ::decode_view_ctx( buf, - ::buffa::DecodeContext::new(::buffa::RECURSION_LIMIT, &__limit), + ::buffa::DecodeContext::new(::buffa::RECURSION_LIMIT, &__limit) + .with_element_memory(&__elem), ) } fn decode_view_with_ctx( @@ -506,9 +510,11 @@ impl<'a> ::buffa::MessageView<'a> for BenchRequestView<'a> { type Owned = super::super::BenchRequest; fn decode_view(buf: &'a [u8]) -> ::core::result::Result { let __limit = ::core::cell::Cell::new(::buffa::DEFAULT_UNKNOWN_FIELD_LIMIT); + let __elem = ::core::cell::Cell::new(::buffa::DEFAULT_ELEMENT_MEMORY_LIMIT); ::decode_view_ctx( buf, - ::buffa::DecodeContext::new(::buffa::RECURSION_LIMIT, &__limit), + ::buffa::DecodeContext::new(::buffa::RECURSION_LIMIT, &__limit) + .with_element_memory(&__elem), ) } fn decode_view_with_ctx( @@ -817,9 +823,11 @@ impl<'a> ::buffa::MessageView<'a> for BenchResponseView<'a> { type Owned = super::super::BenchResponse; fn decode_view(buf: &'a [u8]) -> ::core::result::Result { let __limit = ::core::cell::Cell::new(::buffa::DEFAULT_UNKNOWN_FIELD_LIMIT); + let __elem = ::core::cell::Cell::new(::buffa::DEFAULT_ELEMENT_MEMORY_LIMIT); ::decode_view_ctx( buf, - ::buffa::DecodeContext::new(::buffa::RECURSION_LIMIT, &__limit), + ::buffa::DecodeContext::new(::buffa::RECURSION_LIMIT, &__limit) + .with_element_memory(&__elem), ) } fn decode_view_with_ctx( @@ -1143,9 +1151,11 @@ impl<'a> ::buffa::MessageView<'a> for PayloadView<'a> { type Owned = super::super::Payload; fn decode_view(buf: &'a [u8]) -> ::core::result::Result { let __limit = ::core::cell::Cell::new(::buffa::DEFAULT_UNKNOWN_FIELD_LIMIT); + let __elem = ::core::cell::Cell::new(::buffa::DEFAULT_ELEMENT_MEMORY_LIMIT); ::decode_view_ctx( buf, - ::buffa::DecodeContext::new(::buffa::RECURSION_LIMIT, &__limit), + ::buffa::DecodeContext::new(::buffa::RECURSION_LIMIT, &__limit) + .with_element_memory(&__elem), ) } fn decode_view_with_ctx( @@ -1883,9 +1893,11 @@ impl<'a> ::buffa::MessageView<'a> for MetadataView<'a> { type Owned = super::super::Metadata; fn decode_view(buf: &'a [u8]) -> ::core::result::Result { let __limit = ::core::cell::Cell::new(::buffa::DEFAULT_UNKNOWN_FIELD_LIMIT); + let __elem = ::core::cell::Cell::new(::buffa::DEFAULT_ELEMENT_MEMORY_LIMIT); ::decode_view_ctx( buf, - ::buffa::DecodeContext::new(::buffa::RECURSION_LIMIT, &__limit), + ::buffa::DecodeContext::new(::buffa::RECURSION_LIMIT, &__limit) + .with_element_memory(&__elem), ) } fn decode_view_with_ctx( @@ -2276,9 +2288,11 @@ impl<'a> ::buffa::MessageView<'a> for LogRequestView<'a> { type Owned = super::super::LogRequest; fn decode_view(buf: &'a [u8]) -> ::core::result::Result { let __limit = ::core::cell::Cell::new(::buffa::DEFAULT_UNKNOWN_FIELD_LIMIT); + let __elem = ::core::cell::Cell::new(::buffa::DEFAULT_ELEMENT_MEMORY_LIMIT); ::decode_view_ctx( buf, - ::buffa::DecodeContext::new(::buffa::RECURSION_LIMIT, &__limit), + ::buffa::DecodeContext::new(::buffa::RECURSION_LIMIT, &__limit) + .with_element_memory(&__elem), ) } fn decode_view_with_ctx( @@ -2546,9 +2560,11 @@ impl<'a> ::buffa::MessageView<'a> for LogResponseView<'a> { type Owned = super::super::LogResponse; fn decode_view(buf: &'a [u8]) -> ::core::result::Result { let __limit = ::core::cell::Cell::new(::buffa::DEFAULT_UNKNOWN_FIELD_LIMIT); + let __elem = ::core::cell::Cell::new(::buffa::DEFAULT_ELEMENT_MEMORY_LIMIT); ::decode_view_ctx( buf, - ::buffa::DecodeContext::new(::buffa::RECURSION_LIMIT, &__limit), + ::buffa::DecodeContext::new(::buffa::RECURSION_LIMIT, &__limit) + .with_element_memory(&__elem), ) } fn decode_view_with_ctx( @@ -2811,9 +2827,11 @@ impl<'a> ::buffa::MessageView<'a> for LogRecordView<'a> { type Owned = super::super::LogRecord; fn decode_view(buf: &'a [u8]) -> ::core::result::Result { let __limit = ::core::cell::Cell::new(::buffa::DEFAULT_UNKNOWN_FIELD_LIMIT); + let __elem = ::core::cell::Cell::new(::buffa::DEFAULT_ELEMENT_MEMORY_LIMIT); ::decode_view_ctx( buf, - ::buffa::DecodeContext::new(::buffa::RECURSION_LIMIT, &__limit), + ::buffa::DecodeContext::new(::buffa::RECURSION_LIMIT, &__limit) + .with_element_memory(&__elem), ) } fn decode_view_with_ctx( @@ -3358,9 +3376,11 @@ impl<'a> ::buffa::MessageView<'a> for LogSourceView<'a> { type Owned = super::super::LogSource; fn decode_view(buf: &'a [u8]) -> ::core::result::Result { let __limit = ::core::cell::Cell::new(::buffa::DEFAULT_UNKNOWN_FIELD_LIMIT); + let __elem = ::core::cell::Cell::new(::buffa::DEFAULT_ELEMENT_MEMORY_LIMIT); ::decode_view_ctx( buf, - ::buffa::DecodeContext::new(::buffa::RECURSION_LIMIT, &__limit), + ::buffa::DecodeContext::new(::buffa::RECURSION_LIMIT, &__limit) + .with_element_memory(&__elem), ) } fn decode_view_with_ctx( @@ -3661,9 +3681,11 @@ impl<'a> ::buffa::MessageView<'a> for LogIngestResponseView<'a> { type Owned = super::super::LogIngestResponse; fn decode_view(buf: &'a [u8]) -> ::core::result::Result { let __limit = ::core::cell::Cell::new(::buffa::DEFAULT_UNKNOWN_FIELD_LIMIT); + let __elem = ::core::cell::Cell::new(::buffa::DEFAULT_ELEMENT_MEMORY_LIMIT); ::decode_view_ctx( buf, - ::buffa::DecodeContext::new(::buffa::RECURSION_LIMIT, &__limit), + ::buffa::DecodeContext::new(::buffa::RECURSION_LIMIT, &__limit) + .with_element_memory(&__elem), ) } fn decode_view_with_ctx( diff --git a/benches/rpc/src/generated/buffa/bench.rs b/benches/rpc/src/generated/buffa/bench.rs index 358d6b18..18143b0c 100644 --- a/benches/rpc/src/generated/buffa/bench.rs +++ b/benches/rpc/src/generated/buffa/bench.rs @@ -1,6 +1,7 @@ // @generated by buffa-codegen. DO NOT EDIT. // source: bench.proto +#[allow(non_camel_case_types)] #[derive(Clone, Copy, PartialEq, Eq, Hash, Debug)] #[repr(i32)] pub enum Status { @@ -2064,6 +2065,7 @@ pub const __LOG_RECORD_JSON_ANY: ::buffa::type_registry::JsonAnyEntry = ::buffa: pub mod log_record { #[allow(unused_imports)] use super::*; + #[allow(non_camel_case_types)] #[derive(Clone, Copy, PartialEq, Eq, Hash, Debug)] #[repr(i32)] pub enum Severity { diff --git a/benches/rpc/src/generated/buffa/bench_noutf8.__view.rs b/benches/rpc/src/generated/buffa/bench_noutf8.__view.rs index 408a33bf..5dcd7162 100644 --- a/benches/rpc/src/generated/buffa/bench_noutf8.__view.rs +++ b/benches/rpc/src/generated/buffa/bench_noutf8.__view.rs @@ -14,9 +14,11 @@ impl<'a> ::buffa::MessageView<'a> for LogRequestView<'a> { type Owned = super::super::LogRequest; fn decode_view(buf: &'a [u8]) -> ::core::result::Result { let __limit = ::core::cell::Cell::new(::buffa::DEFAULT_UNKNOWN_FIELD_LIMIT); + let __elem = ::core::cell::Cell::new(::buffa::DEFAULT_ELEMENT_MEMORY_LIMIT); ::decode_view_ctx( buf, - ::buffa::DecodeContext::new(::buffa::RECURSION_LIMIT, &__limit), + ::buffa::DecodeContext::new(::buffa::RECURSION_LIMIT, &__limit) + .with_element_memory(&__elem), ) } fn decode_view_with_ctx( @@ -304,9 +306,11 @@ impl<'a> ::buffa::MessageView<'a> for LogRecordView<'a> { type Owned = super::super::LogRecord; fn decode_view(buf: &'a [u8]) -> ::core::result::Result { let __limit = ::core::cell::Cell::new(::buffa::DEFAULT_UNKNOWN_FIELD_LIMIT); + let __elem = ::core::cell::Cell::new(::buffa::DEFAULT_ELEMENT_MEMORY_LIMIT); ::decode_view_ctx( buf, - ::buffa::DecodeContext::new(::buffa::RECURSION_LIMIT, &__limit), + ::buffa::DecodeContext::new(::buffa::RECURSION_LIMIT, &__limit) + .with_element_memory(&__elem), ) } fn decode_view_with_ctx( @@ -846,9 +850,11 @@ impl<'a> ::buffa::MessageView<'a> for LogSourceView<'a> { type Owned = super::super::LogSource; fn decode_view(buf: &'a [u8]) -> ::core::result::Result { let __limit = ::core::cell::Cell::new(::buffa::DEFAULT_UNKNOWN_FIELD_LIMIT); + let __elem = ::core::cell::Cell::new(::buffa::DEFAULT_ELEMENT_MEMORY_LIMIT); ::decode_view_ctx( buf, - ::buffa::DecodeContext::new(::buffa::RECURSION_LIMIT, &__limit), + ::buffa::DecodeContext::new(::buffa::RECURSION_LIMIT, &__limit) + .with_element_memory(&__elem), ) } fn decode_view_with_ctx( @@ -1139,9 +1145,11 @@ impl<'a> ::buffa::MessageView<'a> for LogIngestResponseView<'a> { type Owned = super::super::LogIngestResponse; fn decode_view(buf: &'a [u8]) -> ::core::result::Result { let __limit = ::core::cell::Cell::new(::buffa::DEFAULT_UNKNOWN_FIELD_LIMIT); + let __elem = ::core::cell::Cell::new(::buffa::DEFAULT_ELEMENT_MEMORY_LIMIT); ::decode_view_ctx( buf, - ::buffa::DecodeContext::new(::buffa::RECURSION_LIMIT, &__limit), + ::buffa::DecodeContext::new(::buffa::RECURSION_LIMIT, &__limit) + .with_element_memory(&__elem), ) } fn decode_view_with_ctx( diff --git a/benches/rpc/src/generated/buffa/bench_noutf8.rs b/benches/rpc/src/generated/buffa/bench_noutf8.rs index 4ea3f567..21dd3d05 100644 --- a/benches/rpc/src/generated/buffa/bench_noutf8.rs +++ b/benches/rpc/src/generated/buffa/bench_noutf8.rs @@ -563,6 +563,7 @@ pub const __LOG_RECORD_JSON_ANY: ::buffa::type_registry::JsonAnyEntry = ::buffa: pub mod log_record { #[allow(unused_imports)] use super::*; + #[allow(non_camel_case_types)] #[derive(Clone, Copy, PartialEq, Eq, Hash, Debug)] #[repr(i32)] pub enum Severity { diff --git a/benches/rpc/src/generated/buffa/echo_bloat.__view.rs b/benches/rpc/src/generated/buffa/echo_bloat.__view.rs index 0d2618b8..f6a54a5d 100644 --- a/benches/rpc/src/generated/buffa/echo_bloat.__view.rs +++ b/benches/rpc/src/generated/buffa/echo_bloat.__view.rs @@ -58,9 +58,11 @@ impl<'a> ::buffa::MessageView<'a> for BloatEchoView<'a> { type Owned = super::super::BloatEcho; fn decode_view(buf: &'a [u8]) -> ::core::result::Result { let __limit = ::core::cell::Cell::new(::buffa::DEFAULT_UNKNOWN_FIELD_LIMIT); + let __elem = ::core::cell::Cell::new(::buffa::DEFAULT_ELEMENT_MEMORY_LIMIT); ::decode_view_ctx( buf, - ::buffa::DecodeContext::new(::buffa::RECURSION_LIMIT, &__limit), + ::buffa::DecodeContext::new(::buffa::RECURSION_LIMIT, &__limit) + .with_element_memory(&__elem), ) } fn decode_view_with_ctx( @@ -816,9 +818,11 @@ impl<'a> ::buffa::MessageView<'a> for BloatHeaderView<'a> { type Owned = super::super::BloatHeader; fn decode_view(buf: &'a [u8]) -> ::core::result::Result { let __limit = ::core::cell::Cell::new(::buffa::DEFAULT_UNKNOWN_FIELD_LIMIT); + let __elem = ::core::cell::Cell::new(::buffa::DEFAULT_ELEMENT_MEMORY_LIMIT); ::decode_view_ctx( buf, - ::buffa::DecodeContext::new(::buffa::RECURSION_LIMIT, &__limit), + ::buffa::DecodeContext::new(::buffa::RECURSION_LIMIT, &__limit) + .with_element_memory(&__elem), ) } fn decode_view_with_ctx( @@ -1167,9 +1171,11 @@ impl<'a> ::buffa::MessageView<'a> for ScalarHeavyView<'a> { type Owned = super::super::ScalarHeavy; fn decode_view(buf: &'a [u8]) -> ::core::result::Result { let __limit = ::core::cell::Cell::new(::buffa::DEFAULT_UNKNOWN_FIELD_LIMIT); + let __elem = ::core::cell::Cell::new(::buffa::DEFAULT_ELEMENT_MEMORY_LIMIT); ::decode_view_ctx( buf, - ::buffa::DecodeContext::new(::buffa::RECURSION_LIMIT, &__limit), + ::buffa::DecodeContext::new(::buffa::RECURSION_LIMIT, &__limit) + .with_element_memory(&__elem), ) } fn decode_view_with_ctx( @@ -1795,9 +1801,11 @@ impl<'a> ::buffa::MessageView<'a> for FewLargeStringsView<'a> { type Owned = super::super::FewLargeStrings; fn decode_view(buf: &'a [u8]) -> ::core::result::Result { let __limit = ::core::cell::Cell::new(::buffa::DEFAULT_UNKNOWN_FIELD_LIMIT); + let __elem = ::core::cell::Cell::new(::buffa::DEFAULT_ELEMENT_MEMORY_LIMIT); ::decode_view_ctx( buf, - ::buffa::DecodeContext::new(::buffa::RECURSION_LIMIT, &__limit), + ::buffa::DecodeContext::new(::buffa::RECURSION_LIMIT, &__limit) + .with_element_memory(&__elem), ) } fn decode_view_with_ctx( @@ -2154,9 +2162,11 @@ impl<'a> ::buffa::MessageView<'a> for NestL5View<'a> { type Owned = super::super::NestL5; fn decode_view(buf: &'a [u8]) -> ::core::result::Result { let __limit = ::core::cell::Cell::new(::buffa::DEFAULT_UNKNOWN_FIELD_LIMIT); + let __elem = ::core::cell::Cell::new(::buffa::DEFAULT_ELEMENT_MEMORY_LIMIT); ::decode_view_ctx( buf, - ::buffa::DecodeContext::new(::buffa::RECURSION_LIMIT, &__limit), + ::buffa::DecodeContext::new(::buffa::RECURSION_LIMIT, &__limit) + .with_element_memory(&__elem), ) } fn decode_view_with_ctx( @@ -2417,9 +2427,11 @@ impl<'a> ::buffa::MessageView<'a> for NestL4View<'a> { type Owned = super::super::NestL4; fn decode_view(buf: &'a [u8]) -> ::core::result::Result { let __limit = ::core::cell::Cell::new(::buffa::DEFAULT_UNKNOWN_FIELD_LIMIT); + let __elem = ::core::cell::Cell::new(::buffa::DEFAULT_ELEMENT_MEMORY_LIMIT); ::decode_view_ctx( buf, - ::buffa::DecodeContext::new(::buffa::RECURSION_LIMIT, &__limit), + ::buffa::DecodeContext::new(::buffa::RECURSION_LIMIT, &__limit) + .with_element_memory(&__elem), ) } fn decode_view_with_ctx( @@ -2738,9 +2750,11 @@ impl<'a> ::buffa::MessageView<'a> for NestL3View<'a> { type Owned = super::super::NestL3; fn decode_view(buf: &'a [u8]) -> ::core::result::Result { let __limit = ::core::cell::Cell::new(::buffa::DEFAULT_UNKNOWN_FIELD_LIMIT); + let __elem = ::core::cell::Cell::new(::buffa::DEFAULT_ELEMENT_MEMORY_LIMIT); ::decode_view_ctx( buf, - ::buffa::DecodeContext::new(::buffa::RECURSION_LIMIT, &__limit), + ::buffa::DecodeContext::new(::buffa::RECURSION_LIMIT, &__limit) + .with_element_memory(&__elem), ) } fn decode_view_with_ctx( @@ -3059,9 +3073,11 @@ impl<'a> ::buffa::MessageView<'a> for NestL2View<'a> { type Owned = super::super::NestL2; fn decode_view(buf: &'a [u8]) -> ::core::result::Result { let __limit = ::core::cell::Cell::new(::buffa::DEFAULT_UNKNOWN_FIELD_LIMIT); + let __elem = ::core::cell::Cell::new(::buffa::DEFAULT_ELEMENT_MEMORY_LIMIT); ::decode_view_ctx( buf, - ::buffa::DecodeContext::new(::buffa::RECURSION_LIMIT, &__limit), + ::buffa::DecodeContext::new(::buffa::RECURSION_LIMIT, &__limit) + .with_element_memory(&__elem), ) } fn decode_view_with_ctx( @@ -3380,9 +3396,11 @@ impl<'a> ::buffa::MessageView<'a> for NestL1View<'a> { type Owned = super::super::NestL1; fn decode_view(buf: &'a [u8]) -> ::core::result::Result { let __limit = ::core::cell::Cell::new(::buffa::DEFAULT_UNKNOWN_FIELD_LIMIT); + let __elem = ::core::cell::Cell::new(::buffa::DEFAULT_ELEMENT_MEMORY_LIMIT); ::decode_view_ctx( buf, - ::buffa::DecodeContext::new(::buffa::RECURSION_LIMIT, &__limit), + ::buffa::DecodeContext::new(::buffa::RECURSION_LIMIT, &__limit) + .with_element_memory(&__elem), ) } fn decode_view_with_ctx( @@ -3701,9 +3719,11 @@ impl<'a> ::buffa::MessageView<'a> for DeepNestedView<'a> { type Owned = super::super::DeepNested; fn decode_view(buf: &'a [u8]) -> ::core::result::Result { let __limit = ::core::cell::Cell::new(::buffa::DEFAULT_UNKNOWN_FIELD_LIMIT); + let __elem = ::core::cell::Cell::new(::buffa::DEFAULT_ELEMENT_MEMORY_LIMIT); ::decode_view_ctx( buf, - ::buffa::DecodeContext::new(::buffa::RECURSION_LIMIT, &__limit), + ::buffa::DecodeContext::new(::buffa::RECURSION_LIMIT, &__limit) + .with_element_memory(&__elem), ) } fn decode_view_with_ctx( @@ -4030,9 +4050,11 @@ impl<'a> ::buffa::MessageView<'a> for MapDominatedView<'a> { type Owned = super::super::MapDominated; fn decode_view(buf: &'a [u8]) -> ::core::result::Result { let __limit = ::core::cell::Cell::new(::buffa::DEFAULT_UNKNOWN_FIELD_LIMIT); + let __elem = ::core::cell::Cell::new(::buffa::DEFAULT_ELEMENT_MEMORY_LIMIT); ::decode_view_ctx( buf, - ::buffa::DecodeContext::new(::buffa::RECURSION_LIMIT, &__limit), + ::buffa::DecodeContext::new(::buffa::RECURSION_LIMIT, &__limit) + .with_element_memory(&__elem), ) } fn decode_view_with_ctx( diff --git a/benches/rpc/src/generated/buffa/filter.__view.rs b/benches/rpc/src/generated/buffa/filter.__view.rs index 312da264..f702a0bb 100644 --- a/benches/rpc/src/generated/buffa/filter.__view.rs +++ b/benches/rpc/src/generated/buffa/filter.__view.rs @@ -27,9 +27,11 @@ impl<'a> ::buffa::MessageView<'a> for RecordView<'a> { type Owned = super::super::Record; fn decode_view(buf: &'a [u8]) -> ::core::result::Result { let __limit = ::core::cell::Cell::new(::buffa::DEFAULT_UNKNOWN_FIELD_LIMIT); + let __elem = ::core::cell::Cell::new(::buffa::DEFAULT_ELEMENT_MEMORY_LIMIT); ::decode_view_ctx( buf, - ::buffa::DecodeContext::new(::buffa::RECURSION_LIMIT, &__limit), + ::buffa::DecodeContext::new(::buffa::RECURSION_LIMIT, &__limit) + .with_element_memory(&__elem), ) } fn decode_view_with_ctx( diff --git a/benches/rpc/src/generated/buffa/fortune.__view.rs b/benches/rpc/src/generated/buffa/fortune.__view.rs index 59b2bb61..03df5de9 100644 --- a/benches/rpc/src/generated/buffa/fortune.__view.rs +++ b/benches/rpc/src/generated/buffa/fortune.__view.rs @@ -9,9 +9,11 @@ impl<'a> ::buffa::MessageView<'a> for GetFortunesRequestView<'a> { type Owned = super::super::GetFortunesRequest; fn decode_view(buf: &'a [u8]) -> ::core::result::Result { let __limit = ::core::cell::Cell::new(::buffa::DEFAULT_UNKNOWN_FIELD_LIMIT); + let __elem = ::core::cell::Cell::new(::buffa::DEFAULT_ELEMENT_MEMORY_LIMIT); ::decode_view_ctx( buf, - ::buffa::DecodeContext::new(::buffa::RECURSION_LIMIT, &__limit), + ::buffa::DecodeContext::new(::buffa::RECURSION_LIMIT, &__limit) + .with_element_memory(&__elem), ) } fn decode_view_with_ctx( @@ -237,9 +239,11 @@ impl<'a> ::buffa::MessageView<'a> for GetFortunesResponseView<'a> { type Owned = super::super::GetFortunesResponse; fn decode_view(buf: &'a [u8]) -> ::core::result::Result { let __limit = ::core::cell::Cell::new(::buffa::DEFAULT_UNKNOWN_FIELD_LIMIT); + let __elem = ::core::cell::Cell::new(::buffa::DEFAULT_ELEMENT_MEMORY_LIMIT); ::decode_view_ctx( buf, - ::buffa::DecodeContext::new(::buffa::RECURSION_LIMIT, &__limit), + ::buffa::DecodeContext::new(::buffa::RECURSION_LIMIT, &__limit) + .with_element_memory(&__elem), ) } fn decode_view_with_ctx( @@ -519,9 +523,11 @@ impl<'a> ::buffa::MessageView<'a> for FortuneView<'a> { type Owned = super::super::Fortune; fn decode_view(buf: &'a [u8]) -> ::core::result::Result { let __limit = ::core::cell::Cell::new(::buffa::DEFAULT_UNKNOWN_FIELD_LIMIT); + let __elem = ::core::cell::Cell::new(::buffa::DEFAULT_ELEMENT_MEMORY_LIMIT); ::decode_view_ctx( buf, - ::buffa::DecodeContext::new(::buffa::RECURSION_LIMIT, &__limit), + ::buffa::DecodeContext::new(::buffa::RECURSION_LIMIT, &__limit) + .with_element_memory(&__elem), ) } fn decode_view_with_ctx( diff --git a/conformance/src/generated/buffa/connectrpc.conformance.v1.client_compat.__oneof.rs b/conformance/src/generated/buffa/connectrpc.conformance.v1.client_compat.__oneof.rs index 3a86cff5..18a508c0 100644 --- a/conformance/src/generated/buffa/connectrpc.conformance.v1.client_compat.__oneof.rs +++ b/conformance/src/generated/buffa/connectrpc.conformance.v1.client_compat.__oneof.rs @@ -26,16 +26,16 @@ pub mod client_compat_request { Self::BeforeCloseSend(::buffa::alloc::boxed::Box::new(v)) } } - impl serde::Serialize for CancelTiming { - fn serialize( + impl ::serde::Serialize for CancelTiming { + fn serialize( &self, s: S, ) -> ::core::result::Result { - use serde::ser::SerializeMap; + use ::serde::ser::SerializeMap; let mut map = s.serialize_map(Some(1))?; match self { Self::BeforeCloseSend(v) => { - map.serialize_entry("beforeCloseSend", v)?; + map.serialize_entry("beforeCloseSend", &**v)?; } Self::AfterCloseSendMs(v) => { map.serialize_entry( @@ -95,19 +95,19 @@ pub mod client_compat_response { Self::Some(Result::from(v)) } } - impl serde::Serialize for Result { - fn serialize( + impl ::serde::Serialize for Result { + fn serialize( &self, s: S, ) -> ::core::result::Result { - use serde::ser::SerializeMap; + use ::serde::ser::SerializeMap; let mut map = s.serialize_map(Some(1))?; match self { Self::Response(v) => { - map.serialize_entry("response", v)?; + map.serialize_entry("response", &**v)?; } Self::Error(v) => { - map.serialize_entry("error", v)?; + map.serialize_entry("error", &**v)?; } } map.end() diff --git a/conformance/src/generated/buffa/connectrpc.conformance.v1.client_compat.__view.rs b/conformance/src/generated/buffa/connectrpc.conformance.v1.client_compat.__view.rs index 2ac68201..5fad7922 100644 --- a/conformance/src/generated/buffa/connectrpc.conformance.v1.client_compat.__view.rs +++ b/conformance/src/generated/buffa/connectrpc.conformance.v1.client_compat.__view.rs @@ -146,9 +146,11 @@ impl<'a> ::buffa::MessageView<'a> for ClientCompatRequestView<'a> { type Owned = super::super::ClientCompatRequest; fn decode_view(buf: &'a [u8]) -> ::core::result::Result { let __limit = ::core::cell::Cell::new(::buffa::DEFAULT_UNKNOWN_FIELD_LIMIT); + let __elem = ::core::cell::Cell::new(::buffa::DEFAULT_ELEMENT_MEMORY_LIMIT); ::decode_view_ctx( buf, - ::buffa::DecodeContext::new(::buffa::RECURSION_LIMIT, &__limit), + ::buffa::DecodeContext::new(::buffa::RECURSION_LIMIT, &__limit) + .with_element_memory(&__elem), ) } fn decode_view_with_ctx( @@ -1138,9 +1140,11 @@ pub mod client_compat_request { buf: &'a [u8], ) -> ::core::result::Result { let __limit = ::core::cell::Cell::new(::buffa::DEFAULT_UNKNOWN_FIELD_LIMIT); + let __elem = ::core::cell::Cell::new(::buffa::DEFAULT_ELEMENT_MEMORY_LIMIT); ::decode_view_ctx( buf, - ::buffa::DecodeContext::new(::buffa::RECURSION_LIMIT, &__limit), + ::buffa::DecodeContext::new(::buffa::RECURSION_LIMIT, &__limit) + .with_element_memory(&__elem), ) } fn decode_view_with_ctx( @@ -1545,9 +1549,11 @@ impl<'a> ::buffa::MessageView<'a> for ClientCompatResponseView<'a> { type Owned = super::super::ClientCompatResponse; fn decode_view(buf: &'a [u8]) -> ::core::result::Result { let __limit = ::core::cell::Cell::new(::buffa::DEFAULT_UNKNOWN_FIELD_LIMIT); + let __elem = ::core::cell::Cell::new(::buffa::DEFAULT_ELEMENT_MEMORY_LIMIT); ::decode_view_ctx( buf, - ::buffa::DecodeContext::new(::buffa::RECURSION_LIMIT, &__limit), + ::buffa::DecodeContext::new(::buffa::RECURSION_LIMIT, &__limit) + .with_element_memory(&__elem), ) } fn decode_view_with_ctx( @@ -2011,9 +2017,11 @@ impl<'a> ::buffa::MessageView<'a> for ClientResponseResultView<'a> { type Owned = super::super::ClientResponseResult; fn decode_view(buf: &'a [u8]) -> ::core::result::Result { let __limit = ::core::cell::Cell::new(::buffa::DEFAULT_UNKNOWN_FIELD_LIMIT); + let __elem = ::core::cell::Cell::new(::buffa::DEFAULT_ELEMENT_MEMORY_LIMIT); ::decode_view_ctx( buf, - ::buffa::DecodeContext::new(::buffa::RECURSION_LIMIT, &__limit), + ::buffa::DecodeContext::new(::buffa::RECURSION_LIMIT, &__limit) + .with_element_memory(&__elem), ) } fn decode_view_with_ctx( @@ -2567,9 +2575,11 @@ impl<'a> ::buffa::MessageView<'a> for ClientErrorResultView<'a> { type Owned = super::super::ClientErrorResult; fn decode_view(buf: &'a [u8]) -> ::core::result::Result { let __limit = ::core::cell::Cell::new(::buffa::DEFAULT_UNKNOWN_FIELD_LIMIT); + let __elem = ::core::cell::Cell::new(::buffa::DEFAULT_ELEMENT_MEMORY_LIMIT); ::decode_view_ctx( buf, - ::buffa::DecodeContext::new(::buffa::RECURSION_LIMIT, &__limit), + ::buffa::DecodeContext::new(::buffa::RECURSION_LIMIT, &__limit) + .with_element_memory(&__elem), ) } fn decode_view_with_ctx( @@ -2849,9 +2859,11 @@ impl<'a> ::buffa::MessageView<'a> for WireDetailsView<'a> { type Owned = super::super::WireDetails; fn decode_view(buf: &'a [u8]) -> ::core::result::Result { let __limit = ::core::cell::Cell::new(::buffa::DEFAULT_UNKNOWN_FIELD_LIMIT); + let __elem = ::core::cell::Cell::new(::buffa::DEFAULT_ELEMENT_MEMORY_LIMIT); ::decode_view_ctx( buf, - ::buffa::DecodeContext::new(::buffa::RECURSION_LIMIT, &__limit), + ::buffa::DecodeContext::new(::buffa::RECURSION_LIMIT, &__limit) + .with_element_memory(&__elem), ) } fn decode_view_with_ctx( diff --git a/conformance/src/generated/buffa/connectrpc.conformance.v1.client_compat.rs b/conformance/src/generated/buffa/connectrpc.conformance.v1.client_compat.rs index 5d75bdf0..cdff83a2 100644 --- a/conformance/src/generated/buffa/connectrpc.conformance.v1.client_compat.rs +++ b/conformance/src/generated/buffa/connectrpc.conformance.v1.client_compat.rs @@ -980,21 +980,21 @@ pub mod client_compat_request { &mut self.__buffa_unknown_fields } } - impl<'de> serde::Deserialize<'de> for Cancel { - fn deserialize>( + impl<'de> ::serde::Deserialize<'de> for Cancel { + fn deserialize>( d: D, ) -> ::core::result::Result { struct _V; - impl<'de> serde::de::Visitor<'de> for _V { + impl<'de> ::serde::de::Visitor<'de> for _V { type Value = Cancel; fn expecting( &self, - f: &mut core::fmt::Formatter<'_>, - ) -> core::fmt::Result { + f: &mut ::core::fmt::Formatter<'_>, + ) -> ::core::fmt::Result { f.write_str("struct Cancel") } #[allow(clippy::field_reassign_with_default)] - fn visit_map>( + fn visit_map>( self, mut map: A, ) -> ::core::result::Result { @@ -1019,7 +1019,7 @@ pub mod client_compat_request { if let Some(v) = v { if __oneof_cancel_timing.is_some() { return Err( - serde::de::Error::custom( + ::serde::de::Error::custom( "multiple oneof fields set for 'cancel_timing'", ), ); @@ -1033,9 +1033,9 @@ pub mod client_compat_request { } "afterCloseSendMs" | "after_close_send_ms" => { struct _DeserSeed; - impl<'de> serde::de::DeserializeSeed<'de> for _DeserSeed { + impl<'de> ::serde::de::DeserializeSeed<'de> for _DeserSeed { type Value = u32; - fn deserialize>( + fn deserialize>( self, d: D, ) -> ::core::result::Result { @@ -1049,7 +1049,7 @@ pub mod client_compat_request { if let Some(v) = v { if __oneof_cancel_timing.is_some() { return Err( - serde::de::Error::custom( + ::serde::de::Error::custom( "multiple oneof fields set for 'cancel_timing'", ), ); @@ -1063,9 +1063,9 @@ pub mod client_compat_request { } "afterNumResponses" | "after_num_responses" => { struct _DeserSeed; - impl<'de> serde::de::DeserializeSeed<'de> for _DeserSeed { + impl<'de> ::serde::de::DeserializeSeed<'de> for _DeserSeed { type Value = u32; - fn deserialize>( + fn deserialize>( self, d: D, ) -> ::core::result::Result { @@ -1079,7 +1079,7 @@ pub mod client_compat_request { if let Some(v) = v { if __oneof_cancel_timing.is_some() { return Err( - serde::de::Error::custom( + ::serde::de::Error::custom( "multiple oneof fields set for 'cancel_timing'", ), ); @@ -1092,7 +1092,7 @@ pub mod client_compat_request { } } _ => { - map.next_value::()?; + map.next_value::<::serde::de::IgnoredAny>()?; } } } @@ -1335,18 +1335,21 @@ impl ::buffa::ExtensionSet for ClientCompatResponse { &mut self.__buffa_unknown_fields } } -impl<'de> serde::Deserialize<'de> for ClientCompatResponse { - fn deserialize>( +impl<'de> ::serde::Deserialize<'de> for ClientCompatResponse { + fn deserialize>( d: D, ) -> ::core::result::Result { struct _V; - impl<'de> serde::de::Visitor<'de> for _V { + impl<'de> ::serde::de::Visitor<'de> for _V { type Value = ClientCompatResponse; - fn expecting(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { + fn expecting( + &self, + f: &mut ::core::fmt::Formatter<'_>, + ) -> ::core::fmt::Result { f.write_str("struct ClientCompatResponse") } #[allow(clippy::field_reassign_with_default)] - fn visit_map>( + fn visit_map>( self, mut map: A, ) -> ::core::result::Result { @@ -1361,9 +1364,9 @@ impl<'de> serde::Deserialize<'de> for ClientCompatResponse { "testName" | "test_name" => { __f_test_name = Some({ struct _S; - impl<'de> serde::de::DeserializeSeed<'de> for _S { + impl<'de> ::serde::de::DeserializeSeed<'de> for _S { type Value = ::buffa::alloc::string::String; - fn deserialize>( + fn deserialize>( self, d: D, ) -> ::core::result::Result< @@ -1388,7 +1391,7 @@ impl<'de> serde::Deserialize<'de> for ClientCompatResponse { if let Some(v) = v { if __oneof_result.is_some() { return Err( - serde::de::Error::custom( + ::serde::de::Error::custom( "multiple oneof fields set for 'result'", ), ); @@ -1412,7 +1415,7 @@ impl<'de> serde::Deserialize<'de> for ClientCompatResponse { if let Some(v) = v { if __oneof_result.is_some() { return Err( - serde::de::Error::custom( + ::serde::de::Error::custom( "multiple oneof fields set for 'result'", ), ); @@ -1425,7 +1428,7 @@ impl<'de> serde::Deserialize<'de> for ClientCompatResponse { } } _ => { - map.next_value::()?; + map.next_value::<::serde::de::IgnoredAny>()?; } } } diff --git a/conformance/src/generated/buffa/connectrpc.conformance.v1.config.__view.rs b/conformance/src/generated/buffa/connectrpc.conformance.v1.config.__view.rs index dc9c7730..1740b18f 100644 --- a/conformance/src/generated/buffa/connectrpc.conformance.v1.config.__view.rs +++ b/conformance/src/generated/buffa/connectrpc.conformance.v1.config.__view.rs @@ -36,9 +36,11 @@ impl<'a> ::buffa::MessageView<'a> for ConfigView<'a> { type Owned = super::super::Config; fn decode_view(buf: &'a [u8]) -> ::core::result::Result { let __limit = ::core::cell::Cell::new(::buffa::DEFAULT_UNKNOWN_FIELD_LIMIT); + let __elem = ::core::cell::Cell::new(::buffa::DEFAULT_ELEMENT_MEMORY_LIMIT); ::decode_view_ctx( buf, - ::buffa::DecodeContext::new(::buffa::RECURSION_LIMIT, &__limit), + ::buffa::DecodeContext::new(::buffa::RECURSION_LIMIT, &__limit) + .with_element_memory(&__elem), ) } fn decode_view_with_ctx( @@ -498,9 +500,11 @@ impl<'a> ::buffa::MessageView<'a> for FeaturesView<'a> { type Owned = super::super::Features; fn decode_view(buf: &'a [u8]) -> ::core::result::Result { let __limit = ::core::cell::Cell::new(::buffa::DEFAULT_UNKNOWN_FIELD_LIMIT); + let __elem = ::core::cell::Cell::new(::buffa::DEFAULT_ELEMENT_MEMORY_LIMIT); ::decode_view_ctx( buf, - ::buffa::DecodeContext::new(::buffa::RECURSION_LIMIT, &__limit), + ::buffa::DecodeContext::new(::buffa::RECURSION_LIMIT, &__limit) + .with_element_memory(&__elem), ) } fn decode_view_with_ctx( @@ -1278,9 +1282,11 @@ impl<'a> ::buffa::MessageView<'a> for ConfigCaseView<'a> { type Owned = super::super::ConfigCase; fn decode_view(buf: &'a [u8]) -> ::core::result::Result { let __limit = ::core::cell::Cell::new(::buffa::DEFAULT_UNKNOWN_FIELD_LIMIT); + let __elem = ::core::cell::Cell::new(::buffa::DEFAULT_ELEMENT_MEMORY_LIMIT); ::decode_view_ctx( buf, - ::buffa::DecodeContext::new(::buffa::RECURSION_LIMIT, &__limit), + ::buffa::DecodeContext::new(::buffa::RECURSION_LIMIT, &__limit) + .with_element_memory(&__elem), ) } fn decode_view_with_ctx( @@ -1742,9 +1748,11 @@ impl<'a> ::buffa::MessageView<'a> for TLSCredsView<'a> { type Owned = super::super::TLSCreds; fn decode_view(buf: &'a [u8]) -> ::core::result::Result { let __limit = ::core::cell::Cell::new(::buffa::DEFAULT_UNKNOWN_FIELD_LIMIT); + let __elem = ::core::cell::Cell::new(::buffa::DEFAULT_ELEMENT_MEMORY_LIMIT); ::decode_view_ctx( buf, - ::buffa::DecodeContext::new(::buffa::RECURSION_LIMIT, &__limit), + ::buffa::DecodeContext::new(::buffa::RECURSION_LIMIT, &__limit) + .with_element_memory(&__elem), ) } fn decode_view_with_ctx( diff --git a/conformance/src/generated/buffa/connectrpc.conformance.v1.config.rs b/conformance/src/generated/buffa/connectrpc.conformance.v1.config.rs index 8b7f4ac7..a37af7dc 100644 --- a/conformance/src/generated/buffa/connectrpc.conformance.v1.config.rs +++ b/conformance/src/generated/buffa/connectrpc.conformance.v1.config.rs @@ -1,6 +1,7 @@ // @generated by buffa-codegen. DO NOT EDIT. // source: connectrpc/conformance/v1/config.proto +#[allow(non_camel_case_types)] #[derive(Clone, Copy, PartialEq, Eq, Hash, Debug)] #[repr(i32)] pub enum HTTPVersion { @@ -155,6 +156,7 @@ impl ::buffa::Enumeration for HTTPVersion { ] } } +#[allow(non_camel_case_types)] #[derive(Clone, Copy, PartialEq, Eq, Hash, Debug)] #[repr(i32)] pub enum Protocol { @@ -312,6 +314,7 @@ impl ::buffa::Enumeration for Protocol { ] } } +#[allow(non_camel_case_types)] #[derive(Clone, Copy, PartialEq, Eq, Hash, Debug)] #[repr(i32)] pub enum Codec { @@ -460,6 +463,7 @@ impl ::buffa::Enumeration for Codec { &[Self::CODEC_UNSPECIFIED, Self::CODEC_PROTO, Self::CODEC_JSON, Self::CODEC_TEXT] } } +#[allow(non_camel_case_types)] #[derive(Clone, Copy, PartialEq, Eq, Hash, Debug)] #[repr(i32)] pub enum Compression { @@ -644,6 +648,7 @@ impl ::buffa::Enumeration for Compression { ] } } +#[allow(non_camel_case_types)] #[derive(Clone, Copy, PartialEq, Eq, Hash, Debug)] #[repr(i32)] pub enum StreamType { @@ -830,6 +835,7 @@ impl ::buffa::Enumeration for StreamType { ] } } +#[allow(non_camel_case_types)] #[derive(Clone, Copy, PartialEq, Eq, Hash, Debug)] #[repr(i32)] pub enum Code { diff --git a/conformance/src/generated/buffa/connectrpc.conformance.v1.server_compat.__view.rs b/conformance/src/generated/buffa/connectrpc.conformance.v1.server_compat.__view.rs index 6a532cdc..11761265 100644 --- a/conformance/src/generated/buffa/connectrpc.conformance.v1.server_compat.__view.rs +++ b/conformance/src/generated/buffa/connectrpc.conformance.v1.server_compat.__view.rs @@ -83,9 +83,11 @@ impl<'a> ::buffa::MessageView<'a> for ServerCompatRequestView<'a> { type Owned = super::super::ServerCompatRequest; fn decode_view(buf: &'a [u8]) -> ::core::result::Result { let __limit = ::core::cell::Cell::new(::buffa::DEFAULT_UNKNOWN_FIELD_LIMIT); + let __elem = ::core::cell::Cell::new(::buffa::DEFAULT_ELEMENT_MEMORY_LIMIT); ::decode_view_ctx( buf, - ::buffa::DecodeContext::new(::buffa::RECURSION_LIMIT, &__limit), + ::buffa::DecodeContext::new(::buffa::RECURSION_LIMIT, &__limit) + .with_element_memory(&__elem), ) } fn decode_view_with_ctx( @@ -572,9 +574,11 @@ impl<'a> ::buffa::MessageView<'a> for ServerCompatResponseView<'a> { type Owned = super::super::ServerCompatResponse; fn decode_view(buf: &'a [u8]) -> ::core::result::Result { let __limit = ::core::cell::Cell::new(::buffa::DEFAULT_UNKNOWN_FIELD_LIMIT); + let __elem = ::core::cell::Cell::new(::buffa::DEFAULT_ELEMENT_MEMORY_LIMIT); ::decode_view_ctx( buf, - ::buffa::DecodeContext::new(::buffa::RECURSION_LIMIT, &__limit), + ::buffa::DecodeContext::new(::buffa::RECURSION_LIMIT, &__limit) + .with_element_memory(&__elem), ) } fn decode_view_with_ctx( diff --git a/conformance/src/generated/buffa/connectrpc.conformance.v1.service.__oneof.rs b/conformance/src/generated/buffa/connectrpc.conformance.v1.service.__oneof.rs index 781db19a..9fe703b5 100644 --- a/conformance/src/generated/buffa/connectrpc.conformance.v1.service.__oneof.rs +++ b/conformance/src/generated/buffa/connectrpc.conformance.v1.service.__oneof.rs @@ -20,12 +20,12 @@ pub mod unary_response_definition { Self::Some(Response::from(v)) } } - impl serde::Serialize for Response { - fn serialize( + impl ::serde::Serialize for Response { + fn serialize( &self, s: S, ) -> ::core::result::Result { - use serde::ser::SerializeMap; + use ::serde::ser::SerializeMap; let mut map = s.serialize_map(Some(1))?; match self { Self::ResponseData(v) => { @@ -35,7 +35,7 @@ pub mod unary_response_definition { )?; } Self::Error(v) => { - map.serialize_entry("error", v)?; + map.serialize_entry("error", &**v)?; } } map.end() @@ -71,19 +71,19 @@ pub mod raw_http_request { Self::Some(Body::from(v)) } } - impl serde::Serialize for Body { - fn serialize( + impl ::serde::Serialize for Body { + fn serialize( &self, s: S, ) -> ::core::result::Result { - use serde::ser::SerializeMap; + use ::serde::ser::SerializeMap; let mut map = s.serialize_map(Some(1))?; match self { Self::Unary(v) => { - map.serialize_entry("unary", v)?; + map.serialize_entry("unary", &**v)?; } Self::Stream(v) => { - map.serialize_entry("stream", v)?; + map.serialize_entry("stream", &**v)?; } } map.end() @@ -106,12 +106,12 @@ pub mod message_contents { Self::BinaryMessage(::buffa::alloc::boxed::Box::new(v)) } } - impl serde::Serialize for Data { - fn serialize( + impl ::serde::Serialize for Data { + fn serialize( &self, s: S, ) -> ::core::result::Result { - use serde::ser::SerializeMap; + use ::serde::ser::SerializeMap; let mut map = s.serialize_map(Some(1))?; match self { Self::Binary(v) => { @@ -121,7 +121,7 @@ pub mod message_contents { map.serialize_entry("text", v)?; } Self::BinaryMessage(v) => { - map.serialize_entry("binaryMessage", v)?; + map.serialize_entry("binaryMessage", &**v)?; } } map.end() @@ -157,19 +157,19 @@ pub mod raw_http_response { Self::Some(Body::from(v)) } } - impl serde::Serialize for Body { - fn serialize( + impl ::serde::Serialize for Body { + fn serialize( &self, s: S, ) -> ::core::result::Result { - use serde::ser::SerializeMap; + use ::serde::ser::SerializeMap; let mut map = s.serialize_map(Some(1))?; match self { Self::Unary(v) => { - map.serialize_entry("unary", v)?; + map.serialize_entry("unary", &**v)?; } Self::Stream(v) => { - map.serialize_entry("stream", v)?; + map.serialize_entry("stream", &**v)?; } } map.end() diff --git a/conformance/src/generated/buffa/connectrpc.conformance.v1.service.__view.rs b/conformance/src/generated/buffa/connectrpc.conformance.v1.service.__view.rs index 759fd769..6ad1db19 100644 --- a/conformance/src/generated/buffa/connectrpc.conformance.v1.service.__view.rs +++ b/conformance/src/generated/buffa/connectrpc.conformance.v1.service.__view.rs @@ -42,9 +42,11 @@ impl<'a> ::buffa::MessageView<'a> for UnaryResponseDefinitionView<'a> { type Owned = super::super::UnaryResponseDefinition; fn decode_view(buf: &'a [u8]) -> ::core::result::Result { let __limit = ::core::cell::Cell::new(::buffa::DEFAULT_UNKNOWN_FIELD_LIMIT); + let __elem = ::core::cell::Cell::new(::buffa::DEFAULT_ELEMENT_MEMORY_LIMIT); ::decode_view_ctx( buf, - ::buffa::DecodeContext::new(::buffa::RECURSION_LIMIT, &__limit), + ::buffa::DecodeContext::new(::buffa::RECURSION_LIMIT, &__limit) + .with_element_memory(&__elem), ) } fn decode_view_with_ctx( @@ -643,9 +645,11 @@ impl<'a> ::buffa::MessageView<'a> for StreamResponseDefinitionView<'a> { type Owned = super::super::StreamResponseDefinition; fn decode_view(buf: &'a [u8]) -> ::core::result::Result { let __limit = ::core::cell::Cell::new(::buffa::DEFAULT_UNKNOWN_FIELD_LIMIT); + let __elem = ::core::cell::Cell::new(::buffa::DEFAULT_ELEMENT_MEMORY_LIMIT); ::decode_view_ctx( buf, - ::buffa::DecodeContext::new(::buffa::RECURSION_LIMIT, &__limit), + ::buffa::DecodeContext::new(::buffa::RECURSION_LIMIT, &__limit) + .with_element_memory(&__elem), ) } fn decode_view_with_ctx( @@ -1176,9 +1180,11 @@ impl<'a> ::buffa::MessageView<'a> for UnaryRequestView<'a> { type Owned = super::super::UnaryRequest; fn decode_view(buf: &'a [u8]) -> ::core::result::Result { let __limit = ::core::cell::Cell::new(::buffa::DEFAULT_UNKNOWN_FIELD_LIMIT); + let __elem = ::core::cell::Cell::new(::buffa::DEFAULT_ELEMENT_MEMORY_LIMIT); ::decode_view_ctx( buf, - ::buffa::DecodeContext::new(::buffa::RECURSION_LIMIT, &__limit), + ::buffa::DecodeContext::new(::buffa::RECURSION_LIMIT, &__limit) + .with_element_memory(&__elem), ) } fn decode_view_with_ctx( @@ -1494,9 +1500,11 @@ impl<'a> ::buffa::MessageView<'a> for UnaryResponseView<'a> { type Owned = super::super::UnaryResponse; fn decode_view(buf: &'a [u8]) -> ::core::result::Result { let __limit = ::core::cell::Cell::new(::buffa::DEFAULT_UNKNOWN_FIELD_LIMIT); + let __elem = ::core::cell::Cell::new(::buffa::DEFAULT_ELEMENT_MEMORY_LIMIT); ::decode_view_ctx( buf, - ::buffa::DecodeContext::new(::buffa::RECURSION_LIMIT, &__limit), + ::buffa::DecodeContext::new(::buffa::RECURSION_LIMIT, &__limit) + .with_element_memory(&__elem), ) } fn decode_view_with_ctx( @@ -1785,9 +1793,11 @@ impl<'a> ::buffa::MessageView<'a> for IdempotentUnaryRequestView<'a> { type Owned = super::super::IdempotentUnaryRequest; fn decode_view(buf: &'a [u8]) -> ::core::result::Result { let __limit = ::core::cell::Cell::new(::buffa::DEFAULT_UNKNOWN_FIELD_LIMIT); + let __elem = ::core::cell::Cell::new(::buffa::DEFAULT_ELEMENT_MEMORY_LIMIT); ::decode_view_ctx( buf, - ::buffa::DecodeContext::new(::buffa::RECURSION_LIMIT, &__limit), + ::buffa::DecodeContext::new(::buffa::RECURSION_LIMIT, &__limit) + .with_element_memory(&__elem), ) } fn decode_view_with_ctx( @@ -2113,9 +2123,11 @@ impl<'a> ::buffa::MessageView<'a> for IdempotentUnaryResponseView<'a> { type Owned = super::super::IdempotentUnaryResponse; fn decode_view(buf: &'a [u8]) -> ::core::result::Result { let __limit = ::core::cell::Cell::new(::buffa::DEFAULT_UNKNOWN_FIELD_LIMIT); + let __elem = ::core::cell::Cell::new(::buffa::DEFAULT_ELEMENT_MEMORY_LIMIT); ::decode_view_ctx( buf, - ::buffa::DecodeContext::new(::buffa::RECURSION_LIMIT, &__limit), + ::buffa::DecodeContext::new(::buffa::RECURSION_LIMIT, &__limit) + .with_element_memory(&__elem), ) } fn decode_view_with_ctx( @@ -2414,9 +2426,11 @@ impl<'a> ::buffa::MessageView<'a> for ServerStreamRequestView<'a> { type Owned = super::super::ServerStreamRequest; fn decode_view(buf: &'a [u8]) -> ::core::result::Result { let __limit = ::core::cell::Cell::new(::buffa::DEFAULT_UNKNOWN_FIELD_LIMIT); + let __elem = ::core::cell::Cell::new(::buffa::DEFAULT_ELEMENT_MEMORY_LIMIT); ::decode_view_ctx( buf, - ::buffa::DecodeContext::new(::buffa::RECURSION_LIMIT, &__limit), + ::buffa::DecodeContext::new(::buffa::RECURSION_LIMIT, &__limit) + .with_element_memory(&__elem), ) } fn decode_view_with_ctx( @@ -2742,9 +2756,11 @@ impl<'a> ::buffa::MessageView<'a> for ServerStreamResponseView<'a> { type Owned = super::super::ServerStreamResponse; fn decode_view(buf: &'a [u8]) -> ::core::result::Result { let __limit = ::core::cell::Cell::new(::buffa::DEFAULT_UNKNOWN_FIELD_LIMIT); + let __elem = ::core::cell::Cell::new(::buffa::DEFAULT_ELEMENT_MEMORY_LIMIT); ::decode_view_ctx( buf, - ::buffa::DecodeContext::new(::buffa::RECURSION_LIMIT, &__limit), + ::buffa::DecodeContext::new(::buffa::RECURSION_LIMIT, &__limit) + .with_element_memory(&__elem), ) } fn decode_view_with_ctx( @@ -3046,9 +3062,11 @@ impl<'a> ::buffa::MessageView<'a> for ClientStreamRequestView<'a> { type Owned = super::super::ClientStreamRequest; fn decode_view(buf: &'a [u8]) -> ::core::result::Result { let __limit = ::core::cell::Cell::new(::buffa::DEFAULT_UNKNOWN_FIELD_LIMIT); + let __elem = ::core::cell::Cell::new(::buffa::DEFAULT_ELEMENT_MEMORY_LIMIT); ::decode_view_ctx( buf, - ::buffa::DecodeContext::new(::buffa::RECURSION_LIMIT, &__limit), + ::buffa::DecodeContext::new(::buffa::RECURSION_LIMIT, &__limit) + .with_element_memory(&__elem), ) } fn decode_view_with_ctx( @@ -3377,9 +3395,11 @@ impl<'a> ::buffa::MessageView<'a> for ClientStreamResponseView<'a> { type Owned = super::super::ClientStreamResponse; fn decode_view(buf: &'a [u8]) -> ::core::result::Result { let __limit = ::core::cell::Cell::new(::buffa::DEFAULT_UNKNOWN_FIELD_LIMIT); + let __elem = ::core::cell::Cell::new(::buffa::DEFAULT_ELEMENT_MEMORY_LIMIT); ::decode_view_ctx( buf, - ::buffa::DecodeContext::new(::buffa::RECURSION_LIMIT, &__limit), + ::buffa::DecodeContext::new(::buffa::RECURSION_LIMIT, &__limit) + .with_element_memory(&__elem), ) } fn decode_view_with_ctx( @@ -3696,9 +3716,11 @@ impl<'a> ::buffa::MessageView<'a> for BidiStreamRequestView<'a> { type Owned = super::super::BidiStreamRequest; fn decode_view(buf: &'a [u8]) -> ::core::result::Result { let __limit = ::core::cell::Cell::new(::buffa::DEFAULT_UNKNOWN_FIELD_LIMIT); + let __elem = ::core::cell::Cell::new(::buffa::DEFAULT_ELEMENT_MEMORY_LIMIT); ::decode_view_ctx( buf, - ::buffa::DecodeContext::new(::buffa::RECURSION_LIMIT, &__limit), + ::buffa::DecodeContext::new(::buffa::RECURSION_LIMIT, &__limit) + .with_element_memory(&__elem), ) } fn decode_view_with_ctx( @@ -4056,9 +4078,11 @@ impl<'a> ::buffa::MessageView<'a> for BidiStreamResponseView<'a> { type Owned = super::super::BidiStreamResponse; fn decode_view(buf: &'a [u8]) -> ::core::result::Result { let __limit = ::core::cell::Cell::new(::buffa::DEFAULT_UNKNOWN_FIELD_LIMIT); + let __elem = ::core::cell::Cell::new(::buffa::DEFAULT_ELEMENT_MEMORY_LIMIT); ::decode_view_ctx( buf, - ::buffa::DecodeContext::new(::buffa::RECURSION_LIMIT, &__limit), + ::buffa::DecodeContext::new(::buffa::RECURSION_LIMIT, &__limit) + .with_element_memory(&__elem), ) } fn decode_view_with_ctx( @@ -4341,9 +4365,11 @@ impl<'a> ::buffa::MessageView<'a> for UnimplementedRequestView<'a> { type Owned = super::super::UnimplementedRequest; fn decode_view(buf: &'a [u8]) -> ::core::result::Result { let __limit = ::core::cell::Cell::new(::buffa::DEFAULT_UNKNOWN_FIELD_LIMIT); + let __elem = ::core::cell::Cell::new(::buffa::DEFAULT_ELEMENT_MEMORY_LIMIT); ::decode_view_ctx( buf, - ::buffa::DecodeContext::new(::buffa::RECURSION_LIMIT, &__limit), + ::buffa::DecodeContext::new(::buffa::RECURSION_LIMIT, &__limit) + .with_element_memory(&__elem), ) } fn decode_view_with_ctx( @@ -4570,9 +4596,11 @@ impl<'a> ::buffa::MessageView<'a> for UnimplementedResponseView<'a> { type Owned = super::super::UnimplementedResponse; fn decode_view(buf: &'a [u8]) -> ::core::result::Result { let __limit = ::core::cell::Cell::new(::buffa::DEFAULT_UNKNOWN_FIELD_LIMIT); + let __elem = ::core::cell::Cell::new(::buffa::DEFAULT_ELEMENT_MEMORY_LIMIT); ::decode_view_ctx( buf, - ::buffa::DecodeContext::new(::buffa::RECURSION_LIMIT, &__limit), + ::buffa::DecodeContext::new(::buffa::RECURSION_LIMIT, &__limit) + .with_element_memory(&__elem), ) } fn decode_view_with_ctx( @@ -4810,9 +4838,11 @@ impl<'a> ::buffa::MessageView<'a> for ConformancePayloadView<'a> { type Owned = super::super::ConformancePayload; fn decode_view(buf: &'a [u8]) -> ::core::result::Result { let __limit = ::core::cell::Cell::new(::buffa::DEFAULT_UNKNOWN_FIELD_LIMIT); + let __elem = ::core::cell::Cell::new(::buffa::DEFAULT_ELEMENT_MEMORY_LIMIT); ::decode_view_ctx( buf, - ::buffa::DecodeContext::new(::buffa::RECURSION_LIMIT, &__limit), + ::buffa::DecodeContext::new(::buffa::RECURSION_LIMIT, &__limit) + .with_element_memory(&__elem), ) } fn decode_view_with_ctx( @@ -5163,9 +5193,11 @@ pub mod conformance_payload { buf: &'a [u8], ) -> ::core::result::Result { let __limit = ::core::cell::Cell::new(::buffa::DEFAULT_UNKNOWN_FIELD_LIMIT); + let __elem = ::core::cell::Cell::new(::buffa::DEFAULT_ELEMENT_MEMORY_LIMIT); ::decode_view_ctx( buf, - ::buffa::DecodeContext::new(::buffa::RECURSION_LIMIT, &__limit), + ::buffa::DecodeContext::new(::buffa::RECURSION_LIMIT, &__limit) + .with_element_memory(&__elem), ) } fn decode_view_with_ctx( @@ -5627,9 +5659,11 @@ pub mod conformance_payload { buf: &'a [u8], ) -> ::core::result::Result { let __limit = ::core::cell::Cell::new(::buffa::DEFAULT_UNKNOWN_FIELD_LIMIT); + let __elem = ::core::cell::Cell::new(::buffa::DEFAULT_ELEMENT_MEMORY_LIMIT); ::decode_view_ctx( buf, - ::buffa::DecodeContext::new(::buffa::RECURSION_LIMIT, &__limit), + ::buffa::DecodeContext::new(::buffa::RECURSION_LIMIT, &__limit) + .with_element_memory(&__elem), ) } fn decode_view_with_ctx( @@ -5935,9 +5969,11 @@ impl<'a> ::buffa::MessageView<'a> for ErrorView<'a> { type Owned = super::super::Error; fn decode_view(buf: &'a [u8]) -> ::core::result::Result { let __limit = ::core::cell::Cell::new(::buffa::DEFAULT_UNKNOWN_FIELD_LIMIT); + let __elem = ::core::cell::Cell::new(::buffa::DEFAULT_ELEMENT_MEMORY_LIMIT); ::decode_view_ctx( buf, - ::buffa::DecodeContext::new(::buffa::RECURSION_LIMIT, &__limit), + ::buffa::DecodeContext::new(::buffa::RECURSION_LIMIT, &__limit) + .with_element_memory(&__elem), ) } fn decode_view_with_ctx( @@ -6275,9 +6311,11 @@ impl<'a> ::buffa::MessageView<'a> for HeaderView<'a> { type Owned = super::super::Header; fn decode_view(buf: &'a [u8]) -> ::core::result::Result { let __limit = ::core::cell::Cell::new(::buffa::DEFAULT_UNKNOWN_FIELD_LIMIT); + let __elem = ::core::cell::Cell::new(::buffa::DEFAULT_ELEMENT_MEMORY_LIMIT); ::decode_view_ctx( buf, - ::buffa::DecodeContext::new(::buffa::RECURSION_LIMIT, &__limit), + ::buffa::DecodeContext::new(::buffa::RECURSION_LIMIT, &__limit) + .with_element_memory(&__elem), ) } fn decode_view_with_ctx( @@ -6576,9 +6614,11 @@ impl<'a> ::buffa::MessageView<'a> for RawHTTPRequestView<'a> { type Owned = super::super::RawHTTPRequest; fn decode_view(buf: &'a [u8]) -> ::core::result::Result { let __limit = ::core::cell::Cell::new(::buffa::DEFAULT_UNKNOWN_FIELD_LIMIT); + let __elem = ::core::cell::Cell::new(::buffa::DEFAULT_ELEMENT_MEMORY_LIMIT); ::decode_view_ctx( buf, - ::buffa::DecodeContext::new(::buffa::RECURSION_LIMIT, &__limit), + ::buffa::DecodeContext::new(::buffa::RECURSION_LIMIT, &__limit) + .with_element_memory(&__elem), ) } fn decode_view_with_ctx( @@ -7179,9 +7219,11 @@ pub mod raw_http_request { buf: &'a [u8], ) -> ::core::result::Result { let __limit = ::core::cell::Cell::new(::buffa::DEFAULT_UNKNOWN_FIELD_LIMIT); + let __elem = ::core::cell::Cell::new(::buffa::DEFAULT_ELEMENT_MEMORY_LIMIT); ::decode_view_ctx( buf, - ::buffa::DecodeContext::new(::buffa::RECURSION_LIMIT, &__limit), + ::buffa::DecodeContext::new(::buffa::RECURSION_LIMIT, &__limit) + .with_element_memory(&__elem), ) } fn decode_view_with_ctx( @@ -7536,9 +7578,11 @@ impl<'a> ::buffa::MessageView<'a> for MessageContentsView<'a> { type Owned = super::super::MessageContents; fn decode_view(buf: &'a [u8]) -> ::core::result::Result { let __limit = ::core::cell::Cell::new(::buffa::DEFAULT_UNKNOWN_FIELD_LIMIT); + let __elem = ::core::cell::Cell::new(::buffa::DEFAULT_ELEMENT_MEMORY_LIMIT); ::decode_view_ctx( buf, - ::buffa::DecodeContext::new(::buffa::RECURSION_LIMIT, &__limit), + ::buffa::DecodeContext::new(::buffa::RECURSION_LIMIT, &__limit) + .with_element_memory(&__elem), ) } fn decode_view_with_ctx( @@ -7957,9 +8001,11 @@ impl<'a> ::buffa::MessageView<'a> for StreamContentsView<'a> { type Owned = super::super::StreamContents; fn decode_view(buf: &'a [u8]) -> ::core::result::Result { let __limit = ::core::cell::Cell::new(::buffa::DEFAULT_UNKNOWN_FIELD_LIMIT); + let __elem = ::core::cell::Cell::new(::buffa::DEFAULT_ELEMENT_MEMORY_LIMIT); ::decode_view_ctx( buf, - ::buffa::DecodeContext::new(::buffa::RECURSION_LIMIT, &__limit), + ::buffa::DecodeContext::new(::buffa::RECURSION_LIMIT, &__limit) + .with_element_memory(&__elem), ) } fn decode_view_with_ctx( @@ -8251,9 +8297,11 @@ pub mod stream_contents { buf: &'a [u8], ) -> ::core::result::Result { let __limit = ::core::cell::Cell::new(::buffa::DEFAULT_UNKNOWN_FIELD_LIMIT); + let __elem = ::core::cell::Cell::new(::buffa::DEFAULT_ELEMENT_MEMORY_LIMIT); ::decode_view_ctx( buf, - ::buffa::DecodeContext::new(::buffa::RECURSION_LIMIT, &__limit), + ::buffa::DecodeContext::new(::buffa::RECURSION_LIMIT, &__limit) + .with_element_memory(&__elem), ) } fn decode_view_with_ctx( @@ -8616,9 +8664,11 @@ impl<'a> ::buffa::MessageView<'a> for RawHTTPResponseView<'a> { type Owned = super::super::RawHTTPResponse; fn decode_view(buf: &'a [u8]) -> ::core::result::Result { let __limit = ::core::cell::Cell::new(::buffa::DEFAULT_UNKNOWN_FIELD_LIMIT); + let __elem = ::core::cell::Cell::new(::buffa::DEFAULT_ELEMENT_MEMORY_LIMIT); ::decode_view_ctx( buf, - ::buffa::DecodeContext::new(::buffa::RECURSION_LIMIT, &__limit), + ::buffa::DecodeContext::new(::buffa::RECURSION_LIMIT, &__limit) + .with_element_memory(&__elem), ) } fn decode_view_with_ctx( diff --git a/conformance/src/generated/buffa/connectrpc.conformance.v1.service.rs b/conformance/src/generated/buffa/connectrpc.conformance.v1.service.rs index d80b6903..45c9d784 100644 --- a/conformance/src/generated/buffa/connectrpc.conformance.v1.service.rs +++ b/conformance/src/generated/buffa/connectrpc.conformance.v1.service.rs @@ -308,18 +308,21 @@ impl ::buffa::ExtensionSet for UnaryResponseDefinition { &mut self.__buffa_unknown_fields } } -impl<'de> serde::Deserialize<'de> for UnaryResponseDefinition { - fn deserialize>( +impl<'de> ::serde::Deserialize<'de> for UnaryResponseDefinition { + fn deserialize>( d: D, ) -> ::core::result::Result { struct _V; - impl<'de> serde::de::Visitor<'de> for _V { + impl<'de> ::serde::de::Visitor<'de> for _V { type Value = UnaryResponseDefinition; - fn expecting(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { + fn expecting( + &self, + f: &mut ::core::fmt::Formatter<'_>, + ) -> ::core::fmt::Result { f.write_str("struct UnaryResponseDefinition") } #[allow(clippy::field_reassign_with_default)] - fn visit_map>( + fn visit_map>( self, mut map: A, ) -> ::core::result::Result { @@ -344,9 +347,9 @@ impl<'de> serde::Deserialize<'de> for UnaryResponseDefinition { "responseHeaders" | "response_headers" => { __f_response_headers = Some({ struct _S; - impl<'de> serde::de::DeserializeSeed<'de> for _S { + impl<'de> ::serde::de::DeserializeSeed<'de> for _S { type Value = ::buffa::alloc::vec::Vec
; - fn deserialize>( + fn deserialize>( self, d: D, ) -> ::core::result::Result< @@ -362,9 +365,9 @@ impl<'de> serde::Deserialize<'de> for UnaryResponseDefinition { "responseTrailers" | "response_trailers" => { __f_response_trailers = Some({ struct _S; - impl<'de> serde::de::DeserializeSeed<'de> for _S { + impl<'de> ::serde::de::DeserializeSeed<'de> for _S { type Value = ::buffa::alloc::vec::Vec
; - fn deserialize>( + fn deserialize>( self, d: D, ) -> ::core::result::Result< @@ -380,9 +383,9 @@ impl<'de> serde::Deserialize<'de> for UnaryResponseDefinition { "responseDelayMs" | "response_delay_ms" => { __f_response_delay_ms = Some({ struct _S; - impl<'de> serde::de::DeserializeSeed<'de> for _S { + impl<'de> ::serde::de::DeserializeSeed<'de> for _S { type Value = u32; - fn deserialize>( + fn deserialize>( self, d: D, ) -> ::core::result::Result { @@ -405,9 +408,9 @@ impl<'de> serde::Deserialize<'de> for UnaryResponseDefinition { } "responseData" | "response_data" => { struct _DeserSeed; - impl<'de> serde::de::DeserializeSeed<'de> for _DeserSeed { + impl<'de> ::serde::de::DeserializeSeed<'de> for _DeserSeed { type Value = ::buffa::alloc::vec::Vec; - fn deserialize>( + fn deserialize>( self, d: D, ) -> ::core::result::Result< @@ -426,7 +429,7 @@ impl<'de> serde::Deserialize<'de> for UnaryResponseDefinition { if let Some(v) = v { if __oneof_response.is_some() { return Err( - serde::de::Error::custom( + ::serde::de::Error::custom( "multiple oneof fields set for 'response'", ), ); @@ -450,7 +453,7 @@ impl<'de> serde::Deserialize<'de> for UnaryResponseDefinition { if let Some(v) = v { if __oneof_response.is_some() { return Err( - serde::de::Error::custom( + ::serde::de::Error::custom( "multiple oneof fields set for 'response'", ), ); @@ -463,7 +466,7 @@ impl<'de> serde::Deserialize<'de> for UnaryResponseDefinition { } } _ => { - map.next_value::()?; + map.next_value::<::serde::de::IgnoredAny>()?; } } } @@ -3966,18 +3969,21 @@ impl ::buffa::ExtensionSet for RawHTTPRequest { &mut self.__buffa_unknown_fields } } -impl<'de> serde::Deserialize<'de> for RawHTTPRequest { - fn deserialize>( +impl<'de> ::serde::Deserialize<'de> for RawHTTPRequest { + fn deserialize>( d: D, ) -> ::core::result::Result { struct _V; - impl<'de> serde::de::Visitor<'de> for _V { + impl<'de> ::serde::de::Visitor<'de> for _V { type Value = RawHTTPRequest; - fn expecting(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { + fn expecting( + &self, + f: &mut ::core::fmt::Formatter<'_>, + ) -> ::core::fmt::Result { f.write_str("struct RawHTTPRequest") } #[allow(clippy::field_reassign_with_default)] - fn visit_map>( + fn visit_map>( self, mut map: A, ) -> ::core::result::Result { @@ -4004,9 +4010,9 @@ impl<'de> serde::Deserialize<'de> for RawHTTPRequest { "verb" => { __f_verb = Some({ struct _S; - impl<'de> serde::de::DeserializeSeed<'de> for _S { + impl<'de> ::serde::de::DeserializeSeed<'de> for _S { type Value = ::buffa::alloc::string::String; - fn deserialize>( + fn deserialize>( self, d: D, ) -> ::core::result::Result< @@ -4022,9 +4028,9 @@ impl<'de> serde::Deserialize<'de> for RawHTTPRequest { "uri" => { __f_uri = Some({ struct _S; - impl<'de> serde::de::DeserializeSeed<'de> for _S { + impl<'de> ::serde::de::DeserializeSeed<'de> for _S { type Value = ::buffa::alloc::string::String; - fn deserialize>( + fn deserialize>( self, d: D, ) -> ::core::result::Result< @@ -4040,9 +4046,9 @@ impl<'de> serde::Deserialize<'de> for RawHTTPRequest { "headers" => { __f_headers = Some({ struct _S; - impl<'de> serde::de::DeserializeSeed<'de> for _S { + impl<'de> ::serde::de::DeserializeSeed<'de> for _S { type Value = ::buffa::alloc::vec::Vec
; - fn deserialize>( + fn deserialize>( self, d: D, ) -> ::core::result::Result< @@ -4058,9 +4064,9 @@ impl<'de> serde::Deserialize<'de> for RawHTTPRequest { "rawQueryParams" | "raw_query_params" => { __f_raw_query_params = Some({ struct _S; - impl<'de> serde::de::DeserializeSeed<'de> for _S { + impl<'de> ::serde::de::DeserializeSeed<'de> for _S { type Value = ::buffa::alloc::vec::Vec
; - fn deserialize>( + fn deserialize>( self, d: D, ) -> ::core::result::Result< @@ -4076,11 +4082,11 @@ impl<'de> serde::Deserialize<'de> for RawHTTPRequest { "encodedQueryParams" | "encoded_query_params" => { __f_encoded_query_params = Some({ struct _S; - impl<'de> serde::de::DeserializeSeed<'de> for _S { + impl<'de> ::serde::de::DeserializeSeed<'de> for _S { type Value = ::buffa::alloc::vec::Vec< raw_http_request::EncodedQueryParam, >; - fn deserialize>( + fn deserialize>( self, d: D, ) -> ::core::result::Result< @@ -4107,7 +4113,7 @@ impl<'de> serde::Deserialize<'de> for RawHTTPRequest { if let Some(v) = v { if __oneof_body.is_some() { return Err( - serde::de::Error::custom( + ::serde::de::Error::custom( "multiple oneof fields set for 'body'", ), ); @@ -4131,7 +4137,7 @@ impl<'de> serde::Deserialize<'de> for RawHTTPRequest { if let Some(v) = v { if __oneof_body.is_some() { return Err( - serde::de::Error::custom( + ::serde::de::Error::custom( "multiple oneof fields set for 'body'", ), ); @@ -4144,7 +4150,7 @@ impl<'de> serde::Deserialize<'de> for RawHTTPRequest { } } _ => { - map.next_value::()?; + map.next_value::<::serde::de::IgnoredAny>()?; } } } @@ -4599,18 +4605,21 @@ impl ::buffa::ExtensionSet for MessageContents { &mut self.__buffa_unknown_fields } } -impl<'de> serde::Deserialize<'de> for MessageContents { - fn deserialize>( +impl<'de> ::serde::Deserialize<'de> for MessageContents { + fn deserialize>( d: D, ) -> ::core::result::Result { struct _V; - impl<'de> serde::de::Visitor<'de> for _V { + impl<'de> ::serde::de::Visitor<'de> for _V { type Value = MessageContents; - fn expecting(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { + fn expecting( + &self, + f: &mut ::core::fmt::Formatter<'_>, + ) -> ::core::fmt::Result { f.write_str("struct MessageContents") } #[allow(clippy::field_reassign_with_default)] - fn visit_map>( + fn visit_map>( self, mut map: A, ) -> ::core::result::Result { @@ -4625,9 +4634,9 @@ impl<'de> serde::Deserialize<'de> for MessageContents { "compression" => { __f_compression = Some({ struct _S; - impl<'de> serde::de::DeserializeSeed<'de> for _S { + impl<'de> ::serde::de::DeserializeSeed<'de> for _S { type Value = ::buffa::EnumValue; - fn deserialize>( + fn deserialize>( self, d: D, ) -> ::core::result::Result< @@ -4642,9 +4651,9 @@ impl<'de> serde::Deserialize<'de> for MessageContents { } "binary" => { struct _DeserSeed; - impl<'de> serde::de::DeserializeSeed<'de> for _DeserSeed { + impl<'de> ::serde::de::DeserializeSeed<'de> for _DeserSeed { type Value = ::buffa::alloc::vec::Vec; - fn deserialize>( + fn deserialize>( self, d: D, ) -> ::core::result::Result< @@ -4663,7 +4672,7 @@ impl<'de> serde::Deserialize<'de> for MessageContents { if let Some(v) = v { if __oneof_data.is_some() { return Err( - serde::de::Error::custom( + ::serde::de::Error::custom( "multiple oneof fields set for 'data'", ), ); @@ -4687,7 +4696,7 @@ impl<'de> serde::Deserialize<'de> for MessageContents { if let Some(v) = v { if __oneof_data.is_some() { return Err( - serde::de::Error::custom( + ::serde::de::Error::custom( "multiple oneof fields set for 'data'", ), ); @@ -4711,7 +4720,7 @@ impl<'de> serde::Deserialize<'de> for MessageContents { if let Some(v) = v { if __oneof_data.is_some() { return Err( - serde::de::Error::custom( + ::serde::de::Error::custom( "multiple oneof fields set for 'data'", ), ); @@ -4724,7 +4733,7 @@ impl<'de> serde::Deserialize<'de> for MessageContents { } } _ => { - map.next_value::()?; + map.next_value::<::serde::de::IgnoredAny>()?; } } } @@ -5392,18 +5401,21 @@ impl ::buffa::ExtensionSet for RawHTTPResponse { &mut self.__buffa_unknown_fields } } -impl<'de> serde::Deserialize<'de> for RawHTTPResponse { - fn deserialize>( +impl<'de> ::serde::Deserialize<'de> for RawHTTPResponse { + fn deserialize>( d: D, ) -> ::core::result::Result { struct _V; - impl<'de> serde::de::Visitor<'de> for _V { + impl<'de> ::serde::de::Visitor<'de> for _V { type Value = RawHTTPResponse; - fn expecting(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { + fn expecting( + &self, + f: &mut ::core::fmt::Formatter<'_>, + ) -> ::core::fmt::Result { f.write_str("struct RawHTTPResponse") } #[allow(clippy::field_reassign_with_default)] - fn visit_map>( + fn visit_map>( self, mut map: A, ) -> ::core::result::Result { @@ -5422,9 +5434,9 @@ impl<'de> serde::Deserialize<'de> for RawHTTPResponse { "statusCode" | "status_code" => { __f_status_code = Some({ struct _S; - impl<'de> serde::de::DeserializeSeed<'de> for _S { + impl<'de> ::serde::de::DeserializeSeed<'de> for _S { type Value = u32; - fn deserialize>( + fn deserialize>( self, d: D, ) -> ::core::result::Result { @@ -5437,9 +5449,9 @@ impl<'de> serde::Deserialize<'de> for RawHTTPResponse { "headers" => { __f_headers = Some({ struct _S; - impl<'de> serde::de::DeserializeSeed<'de> for _S { + impl<'de> ::serde::de::DeserializeSeed<'de> for _S { type Value = ::buffa::alloc::vec::Vec
; - fn deserialize>( + fn deserialize>( self, d: D, ) -> ::core::result::Result< @@ -5455,9 +5467,9 @@ impl<'de> serde::Deserialize<'de> for RawHTTPResponse { "trailers" => { __f_trailers = Some({ struct _S; - impl<'de> serde::de::DeserializeSeed<'de> for _S { + impl<'de> ::serde::de::DeserializeSeed<'de> for _S { type Value = ::buffa::alloc::vec::Vec
; - fn deserialize>( + fn deserialize>( self, d: D, ) -> ::core::result::Result< @@ -5482,7 +5494,7 @@ impl<'de> serde::Deserialize<'de> for RawHTTPResponse { if let Some(v) = v { if __oneof_body.is_some() { return Err( - serde::de::Error::custom( + ::serde::de::Error::custom( "multiple oneof fields set for 'body'", ), ); @@ -5506,7 +5518,7 @@ impl<'de> serde::Deserialize<'de> for RawHTTPResponse { if let Some(v) = v { if __oneof_body.is_some() { return Err( - serde::de::Error::custom( + ::serde::de::Error::custom( "multiple oneof fields set for 'body'", ), ); @@ -5519,7 +5531,7 @@ impl<'de> serde::Deserialize<'de> for RawHTTPResponse { } } _ => { - map.next_value::()?; + map.next_value::<::serde::de::IgnoredAny>()?; } } } diff --git a/conformance/src/generated/buffa/connectrpc.conformance.v1.suite.__view.rs b/conformance/src/generated/buffa/connectrpc.conformance.v1.suite.__view.rs index 8c5ac15e..66b328f1 100644 --- a/conformance/src/generated/buffa/connectrpc.conformance.v1.suite.__view.rs +++ b/conformance/src/generated/buffa/connectrpc.conformance.v1.suite.__view.rs @@ -93,9 +93,11 @@ impl<'a> ::buffa::MessageView<'a> for TestSuiteView<'a> { type Owned = super::super::TestSuite; fn decode_view(buf: &'a [u8]) -> ::core::result::Result { let __limit = ::core::cell::Cell::new(::buffa::DEFAULT_UNKNOWN_FIELD_LIMIT); + let __elem = ::core::cell::Cell::new(::buffa::DEFAULT_ELEMENT_MEMORY_LIMIT); ::decode_view_ctx( buf, - ::buffa::DecodeContext::new(::buffa::RECURSION_LIMIT, &__limit), + ::buffa::DecodeContext::new(::buffa::RECURSION_LIMIT, &__limit) + .with_element_memory(&__elem), ) } fn decode_view_with_ctx( @@ -908,9 +910,11 @@ impl<'a> ::buffa::MessageView<'a> for TestCaseView<'a> { type Owned = super::super::TestCase; fn decode_view(buf: &'a [u8]) -> ::core::result::Result { let __limit = ::core::cell::Cell::new(::buffa::DEFAULT_UNKNOWN_FIELD_LIMIT); + let __elem = ::core::cell::Cell::new(::buffa::DEFAULT_ELEMENT_MEMORY_LIMIT); ::decode_view_ctx( buf, - ::buffa::DecodeContext::new(::buffa::RECURSION_LIMIT, &__limit), + ::buffa::DecodeContext::new(::buffa::RECURSION_LIMIT, &__limit) + .with_element_memory(&__elem), ) } fn decode_view_with_ctx( @@ -1423,9 +1427,11 @@ pub mod test_case { buf: &'a [u8], ) -> ::core::result::Result { let __limit = ::core::cell::Cell::new(::buffa::DEFAULT_UNKNOWN_FIELD_LIMIT); + let __elem = ::core::cell::Cell::new(::buffa::DEFAULT_ELEMENT_MEMORY_LIMIT); ::decode_view_ctx( buf, - ::buffa::DecodeContext::new(::buffa::RECURSION_LIMIT, &__limit), + ::buffa::DecodeContext::new(::buffa::RECURSION_LIMIT, &__limit) + .with_element_memory(&__elem), ) } fn decode_view_with_ctx( diff --git a/conformance/src/generated/buffa/connectrpc.conformance.v1.suite.rs b/conformance/src/generated/buffa/connectrpc.conformance.v1.suite.rs index 504d4fea..5877a879 100644 --- a/conformance/src/generated/buffa/connectrpc.conformance.v1.suite.rs +++ b/conformance/src/generated/buffa/connectrpc.conformance.v1.suite.rs @@ -639,6 +639,7 @@ pub const __TEST_SUITE_JSON_ANY: ::buffa::type_registry::JsonAnyEntry = ::buffa: pub mod test_suite { #[allow(unused_imports)] use super::*; + #[allow(non_camel_case_types)] #[derive(Clone, Copy, PartialEq, Eq, Hash, Debug)] #[repr(i32)] pub enum TestMode { @@ -798,6 +799,7 @@ pub mod test_suite { ] } } + #[allow(non_camel_case_types)] #[derive(Clone, Copy, PartialEq, Eq, Hash, Debug)] #[repr(i32)] pub enum ConnectVersionMode { diff --git a/connectrpc-health/src/generated/buffa/grpc.health.v1.health.__view.rs b/connectrpc-health/src/generated/buffa/grpc.health.v1.health.__view.rs index 1960be86..fb20436d 100644 --- a/connectrpc-health/src/generated/buffa/grpc.health.v1.health.__view.rs +++ b/connectrpc-health/src/generated/buffa/grpc.health.v1.health.__view.rs @@ -11,9 +11,11 @@ impl<'a> ::buffa::MessageView<'a> for HealthCheckRequestView<'a> { type Owned = super::super::HealthCheckRequest; fn decode_view(buf: &'a [u8]) -> ::core::result::Result { let __limit = ::core::cell::Cell::new(::buffa::DEFAULT_UNKNOWN_FIELD_LIMIT); + let __elem = ::core::cell::Cell::new(::buffa::DEFAULT_ELEMENT_MEMORY_LIMIT); ::decode_view_ctx( buf, - ::buffa::DecodeContext::new(::buffa::RECURSION_LIMIT, &__limit), + ::buffa::DecodeContext::new(::buffa::RECURSION_LIMIT, &__limit) + .with_element_memory(&__elem), ) } fn decode_view_with_ctx( @@ -258,9 +260,11 @@ impl<'a> ::buffa::MessageView<'a> for HealthCheckResponseView<'a> { type Owned = super::super::HealthCheckResponse; fn decode_view(buf: &'a [u8]) -> ::core::result::Result { let __limit = ::core::cell::Cell::new(::buffa::DEFAULT_UNKNOWN_FIELD_LIMIT); + let __elem = ::core::cell::Cell::new(::buffa::DEFAULT_ELEMENT_MEMORY_LIMIT); ::decode_view_ctx( buf, - ::buffa::DecodeContext::new(::buffa::RECURSION_LIMIT, &__limit), + ::buffa::DecodeContext::new(::buffa::RECURSION_LIMIT, &__limit) + .with_element_memory(&__elem), ) } fn decode_view_with_ctx( diff --git a/connectrpc-health/src/generated/buffa/grpc.health.v1.health.rs b/connectrpc-health/src/generated/buffa/grpc.health.v1.health.rs index e3c7d9cd..0a7b8477 100644 --- a/connectrpc-health/src/generated/buffa/grpc.health.v1.health.rs +++ b/connectrpc-health/src/generated/buffa/grpc.health.v1.health.rs @@ -260,6 +260,7 @@ pub const __HEALTH_CHECK_RESPONSE_JSON_ANY: ::buffa::type_registry::JsonAnyEntry pub mod health_check_response { #[allow(unused_imports)] use super::*; + #[allow(non_camel_case_types)] #[derive(Clone, Copy, PartialEq, Eq, Hash, Debug)] #[repr(i32)] pub enum ServingStatus { diff --git a/connectrpc-reflection/src/generated/buffa/grpc.reflection.v1.reflection.__oneof.rs b/connectrpc-reflection/src/generated/buffa/grpc.reflection.v1.reflection.__oneof.rs index 9af13a3d..a2600d97 100644 --- a/connectrpc-reflection/src/generated/buffa/grpc.reflection.v1.reflection.__oneof.rs +++ b/connectrpc-reflection/src/generated/buffa/grpc.reflection.v1.reflection.__oneof.rs @@ -29,12 +29,12 @@ pub mod server_reflection_request { Self::Some(MessageRequest::from(v)) } } - impl serde::Serialize for MessageRequest { - fn serialize( + impl ::serde::Serialize for MessageRequest { + fn serialize( &self, s: S, ) -> ::core::result::Result { - use serde::ser::SerializeMap; + use ::serde::ser::SerializeMap; let mut map = s.serialize_map(Some(1))?; match self { Self::FileByFilename(v) => { @@ -44,7 +44,7 @@ pub mod server_reflection_request { map.serialize_entry("fileContainingSymbol", v)?; } Self::FileContainingExtension(v) => { - map.serialize_entry("fileContainingExtension", v)?; + map.serialize_entry("fileContainingExtension", &**v)?; } Self::AllExtensionNumbersOfType(v) => { map.serialize_entry("allExtensionNumbersOfType", v)?; @@ -120,25 +120,25 @@ pub mod server_reflection_response { Self::Some(MessageResponse::from(v)) } } - impl serde::Serialize for MessageResponse { - fn serialize( + impl ::serde::Serialize for MessageResponse { + fn serialize( &self, s: S, ) -> ::core::result::Result { - use serde::ser::SerializeMap; + use ::serde::ser::SerializeMap; let mut map = s.serialize_map(Some(1))?; match self { Self::FileDescriptorResponse(v) => { - map.serialize_entry("fileDescriptorResponse", v)?; + map.serialize_entry("fileDescriptorResponse", &**v)?; } Self::AllExtensionNumbersResponse(v) => { - map.serialize_entry("allExtensionNumbersResponse", v)?; + map.serialize_entry("allExtensionNumbersResponse", &**v)?; } Self::ListServicesResponse(v) => { - map.serialize_entry("listServicesResponse", v)?; + map.serialize_entry("listServicesResponse", &**v)?; } Self::ErrorResponse(v) => { - map.serialize_entry("errorResponse", v)?; + map.serialize_entry("errorResponse", &**v)?; } } map.end() diff --git a/connectrpc-reflection/src/generated/buffa/grpc.reflection.v1.reflection.__view.rs b/connectrpc-reflection/src/generated/buffa/grpc.reflection.v1.reflection.__view.rs index 1dbaf4e4..afb64353 100644 --- a/connectrpc-reflection/src/generated/buffa/grpc.reflection.v1.reflection.__view.rs +++ b/connectrpc-reflection/src/generated/buffa/grpc.reflection.v1.reflection.__view.rs @@ -15,9 +15,11 @@ impl<'a> ::buffa::MessageView<'a> for ServerReflectionRequestView<'a> { type Owned = super::super::ServerReflectionRequest; fn decode_view(buf: &'a [u8]) -> ::core::result::Result { let __limit = ::core::cell::Cell::new(::buffa::DEFAULT_UNKNOWN_FIELD_LIMIT); + let __elem = ::core::cell::Cell::new(::buffa::DEFAULT_ELEMENT_MEMORY_LIMIT); ::decode_view_ctx( buf, - ::buffa::DecodeContext::new(::buffa::RECURSION_LIMIT, &__limit), + ::buffa::DecodeContext::new(::buffa::RECURSION_LIMIT, &__limit) + .with_element_memory(&__elem), ) } fn decode_view_with_ctx( @@ -503,9 +505,11 @@ impl<'a> ::buffa::MessageView<'a> for ExtensionRequestView<'a> { type Owned = super::super::ExtensionRequest; fn decode_view(buf: &'a [u8]) -> ::core::result::Result { let __limit = ::core::cell::Cell::new(::buffa::DEFAULT_UNKNOWN_FIELD_LIMIT); + let __elem = ::core::cell::Cell::new(::buffa::DEFAULT_ELEMENT_MEMORY_LIMIT); ::decode_view_ctx( buf, - ::buffa::DecodeContext::new(::buffa::RECURSION_LIMIT, &__limit), + ::buffa::DecodeContext::new(::buffa::RECURSION_LIMIT, &__limit) + .with_element_memory(&__elem), ) } fn decode_view_with_ctx( @@ -790,9 +794,11 @@ impl<'a> ::buffa::MessageView<'a> for ServerReflectionResponseView<'a> { type Owned = super::super::ServerReflectionResponse; fn decode_view(buf: &'a [u8]) -> ::core::result::Result { let __limit = ::core::cell::Cell::new(::buffa::DEFAULT_UNKNOWN_FIELD_LIMIT); + let __elem = ::core::cell::Cell::new(::buffa::DEFAULT_ELEMENT_MEMORY_LIMIT); ::decode_view_ctx( buf, - ::buffa::DecodeContext::new(::buffa::RECURSION_LIMIT, &__limit), + ::buffa::DecodeContext::new(::buffa::RECURSION_LIMIT, &__limit) + .with_element_memory(&__elem), ) } fn decode_view_with_ctx( @@ -1403,9 +1409,11 @@ impl<'a> ::buffa::MessageView<'a> for FileDescriptorResponseView<'a> { type Owned = super::super::FileDescriptorResponse; fn decode_view(buf: &'a [u8]) -> ::core::result::Result { let __limit = ::core::cell::Cell::new(::buffa::DEFAULT_UNKNOWN_FIELD_LIMIT); + let __elem = ::core::cell::Cell::new(::buffa::DEFAULT_ELEMENT_MEMORY_LIMIT); ::decode_view_ctx( buf, - ::buffa::DecodeContext::new(::buffa::RECURSION_LIMIT, &__limit), + ::buffa::DecodeContext::new(::buffa::RECURSION_LIMIT, &__limit) + .with_element_memory(&__elem), ) } fn decode_view_with_ctx( @@ -1679,9 +1687,11 @@ impl<'a> ::buffa::MessageView<'a> for ExtensionNumberResponseView<'a> { type Owned = super::super::ExtensionNumberResponse; fn decode_view(buf: &'a [u8]) -> ::core::result::Result { let __limit = ::core::cell::Cell::new(::buffa::DEFAULT_UNKNOWN_FIELD_LIMIT); + let __elem = ::core::cell::Cell::new(::buffa::DEFAULT_ELEMENT_MEMORY_LIMIT); ::decode_view_ctx( buf, - ::buffa::DecodeContext::new(::buffa::RECURSION_LIMIT, &__limit), + ::buffa::DecodeContext::new(::buffa::RECURSION_LIMIT, &__limit) + .with_element_memory(&__elem), ) } fn decode_view_with_ctx( @@ -1995,9 +2005,11 @@ impl<'a> ::buffa::MessageView<'a> for ListServiceResponseView<'a> { type Owned = super::super::ListServiceResponse; fn decode_view(buf: &'a [u8]) -> ::core::result::Result { let __limit = ::core::cell::Cell::new(::buffa::DEFAULT_UNKNOWN_FIELD_LIMIT); + let __elem = ::core::cell::Cell::new(::buffa::DEFAULT_ELEMENT_MEMORY_LIMIT); ::decode_view_ctx( buf, - ::buffa::DecodeContext::new(::buffa::RECURSION_LIMIT, &__limit), + ::buffa::DecodeContext::new(::buffa::RECURSION_LIMIT, &__limit) + .with_element_memory(&__elem), ) } fn decode_view_with_ctx( @@ -2288,9 +2300,11 @@ impl<'a> ::buffa::MessageView<'a> for ServiceResponseView<'a> { type Owned = super::super::ServiceResponse; fn decode_view(buf: &'a [u8]) -> ::core::result::Result { let __limit = ::core::cell::Cell::new(::buffa::DEFAULT_UNKNOWN_FIELD_LIMIT); + let __elem = ::core::cell::Cell::new(::buffa::DEFAULT_ELEMENT_MEMORY_LIMIT); ::decode_view_ctx( buf, - ::buffa::DecodeContext::new(::buffa::RECURSION_LIMIT, &__limit), + ::buffa::DecodeContext::new(::buffa::RECURSION_LIMIT, &__limit) + .with_element_memory(&__elem), ) } fn decode_view_with_ctx( @@ -2541,9 +2555,11 @@ impl<'a> ::buffa::MessageView<'a> for ErrorResponseView<'a> { type Owned = super::super::ErrorResponse; fn decode_view(buf: &'a [u8]) -> ::core::result::Result { let __limit = ::core::cell::Cell::new(::buffa::DEFAULT_UNKNOWN_FIELD_LIMIT); + let __elem = ::core::cell::Cell::new(::buffa::DEFAULT_ELEMENT_MEMORY_LIMIT); ::decode_view_ctx( buf, - ::buffa::DecodeContext::new(::buffa::RECURSION_LIMIT, &__limit), + ::buffa::DecodeContext::new(::buffa::RECURSION_LIMIT, &__limit) + .with_element_memory(&__elem), ) } fn decode_view_with_ctx( diff --git a/connectrpc-reflection/src/generated/buffa/grpc.reflection.v1.reflection.rs b/connectrpc-reflection/src/generated/buffa/grpc.reflection.v1.reflection.rs index e0fe083f..0f0cfe4d 100644 --- a/connectrpc-reflection/src/generated/buffa/grpc.reflection.v1.reflection.rs +++ b/connectrpc-reflection/src/generated/buffa/grpc.reflection.v1.reflection.rs @@ -248,18 +248,21 @@ impl ::buffa::ExtensionSet for ServerReflectionRequest { &mut self.__buffa_unknown_fields } } -impl<'de> serde::Deserialize<'de> for ServerReflectionRequest { - fn deserialize>( +impl<'de> ::serde::Deserialize<'de> for ServerReflectionRequest { + fn deserialize>( d: D, ) -> ::core::result::Result { struct _V; - impl<'de> serde::de::Visitor<'de> for _V { + impl<'de> ::serde::de::Visitor<'de> for _V { type Value = ServerReflectionRequest; - fn expecting(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { + fn expecting( + &self, + f: &mut ::core::fmt::Formatter<'_>, + ) -> ::core::fmt::Result { f.write_str("struct ServerReflectionRequest") } #[allow(clippy::field_reassign_with_default)] - fn visit_map>( + fn visit_map>( self, mut map: A, ) -> ::core::result::Result { @@ -274,9 +277,9 @@ impl<'de> serde::Deserialize<'de> for ServerReflectionRequest { "host" => { __f_host = Some({ struct _S; - impl<'de> serde::de::DeserializeSeed<'de> for _S { + impl<'de> ::serde::de::DeserializeSeed<'de> for _S { type Value = ::buffa::alloc::string::String; - fn deserialize>( + fn deserialize>( self, d: D, ) -> ::core::result::Result< @@ -303,7 +306,7 @@ impl<'de> serde::Deserialize<'de> for ServerReflectionRequest { if let Some(v) = v { if __oneof_message_request.is_some() { return Err( - serde::de::Error::custom( + ::serde::de::Error::custom( "multiple oneof fields set for 'message_request'", ), ); @@ -329,7 +332,7 @@ impl<'de> serde::Deserialize<'de> for ServerReflectionRequest { if let Some(v) = v { if __oneof_message_request.is_some() { return Err( - serde::de::Error::custom( + ::serde::de::Error::custom( "multiple oneof fields set for 'message_request'", ), ); @@ -353,7 +356,7 @@ impl<'de> serde::Deserialize<'de> for ServerReflectionRequest { if let Some(v) = v { if __oneof_message_request.is_some() { return Err( - serde::de::Error::custom( + ::serde::de::Error::custom( "multiple oneof fields set for 'message_request'", ), ); @@ -380,7 +383,7 @@ impl<'de> serde::Deserialize<'de> for ServerReflectionRequest { if let Some(v) = v { if __oneof_message_request.is_some() { return Err( - serde::de::Error::custom( + ::serde::de::Error::custom( "multiple oneof fields set for 'message_request'", ), ); @@ -406,7 +409,7 @@ impl<'de> serde::Deserialize<'de> for ServerReflectionRequest { if let Some(v) = v { if __oneof_message_request.is_some() { return Err( - serde::de::Error::custom( + ::serde::de::Error::custom( "multiple oneof fields set for 'message_request'", ), ); @@ -419,7 +422,7 @@ impl<'de> serde::Deserialize<'de> for ServerReflectionRequest { } } _ => { - map.next_value::()?; + map.next_value::<::serde::de::IgnoredAny>()?; } } } @@ -949,18 +952,21 @@ impl ::buffa::ExtensionSet for ServerReflectionResponse { &mut self.__buffa_unknown_fields } } -impl<'de> serde::Deserialize<'de> for ServerReflectionResponse { - fn deserialize>( +impl<'de> ::serde::Deserialize<'de> for ServerReflectionResponse { + fn deserialize>( d: D, ) -> ::core::result::Result { struct _V; - impl<'de> serde::de::Visitor<'de> for _V { + impl<'de> ::serde::de::Visitor<'de> for _V { type Value = ServerReflectionResponse; - fn expecting(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { + fn expecting( + &self, + f: &mut ::core::fmt::Formatter<'_>, + ) -> ::core::fmt::Result { f.write_str("struct ServerReflectionResponse") } #[allow(clippy::field_reassign_with_default)] - fn visit_map>( + fn visit_map>( self, mut map: A, ) -> ::core::result::Result { @@ -981,9 +987,9 @@ impl<'de> serde::Deserialize<'de> for ServerReflectionResponse { "validHost" | "valid_host" => { __f_valid_host = Some({ struct _S; - impl<'de> serde::de::DeserializeSeed<'de> for _S { + impl<'de> ::serde::de::DeserializeSeed<'de> for _S { type Value = ::buffa::alloc::string::String; - fn deserialize>( + fn deserialize>( self, d: D, ) -> ::core::result::Result< @@ -1019,7 +1025,7 @@ impl<'de> serde::Deserialize<'de> for ServerReflectionResponse { if let Some(v) = v { if __oneof_message_response.is_some() { return Err( - serde::de::Error::custom( + ::serde::de::Error::custom( "multiple oneof fields set for 'message_response'", ), ); @@ -1044,7 +1050,7 @@ impl<'de> serde::Deserialize<'de> for ServerReflectionResponse { if let Some(v) = v { if __oneof_message_response.is_some() { return Err( - serde::de::Error::custom( + ::serde::de::Error::custom( "multiple oneof fields set for 'message_response'", ), ); @@ -1068,7 +1074,7 @@ impl<'de> serde::Deserialize<'de> for ServerReflectionResponse { if let Some(v) = v { if __oneof_message_response.is_some() { return Err( - serde::de::Error::custom( + ::serde::de::Error::custom( "multiple oneof fields set for 'message_response'", ), ); @@ -1092,7 +1098,7 @@ impl<'de> serde::Deserialize<'de> for ServerReflectionResponse { if let Some(v) = v { if __oneof_message_response.is_some() { return Err( - serde::de::Error::custom( + ::serde::de::Error::custom( "multiple oneof fields set for 'message_response'", ), ); @@ -1105,7 +1111,7 @@ impl<'de> serde::Deserialize<'de> for ServerReflectionResponse { } } _ => { - map.next_value::()?; + map.next_value::<::serde::de::IgnoredAny>()?; } } } diff --git a/connectrpc-reflection/src/generated/buffa/grpc.reflection.v1alpha.reflection.__oneof.rs b/connectrpc-reflection/src/generated/buffa/grpc.reflection.v1alpha.reflection.__oneof.rs index e8e71023..6663d269 100644 --- a/connectrpc-reflection/src/generated/buffa/grpc.reflection.v1alpha.reflection.__oneof.rs +++ b/connectrpc-reflection/src/generated/buffa/grpc.reflection.v1alpha.reflection.__oneof.rs @@ -29,12 +29,12 @@ pub mod server_reflection_request { Self::Some(MessageRequest::from(v)) } } - impl serde::Serialize for MessageRequest { - fn serialize( + impl ::serde::Serialize for MessageRequest { + fn serialize( &self, s: S, ) -> ::core::result::Result { - use serde::ser::SerializeMap; + use ::serde::ser::SerializeMap; let mut map = s.serialize_map(Some(1))?; match self { Self::FileByFilename(v) => { @@ -44,7 +44,7 @@ pub mod server_reflection_request { map.serialize_entry("fileContainingSymbol", v)?; } Self::FileContainingExtension(v) => { - map.serialize_entry("fileContainingExtension", v)?; + map.serialize_entry("fileContainingExtension", &**v)?; } Self::AllExtensionNumbersOfType(v) => { map.serialize_entry("allExtensionNumbersOfType", v)?; @@ -120,25 +120,25 @@ pub mod server_reflection_response { Self::Some(MessageResponse::from(v)) } } - impl serde::Serialize for MessageResponse { - fn serialize( + impl ::serde::Serialize for MessageResponse { + fn serialize( &self, s: S, ) -> ::core::result::Result { - use serde::ser::SerializeMap; + use ::serde::ser::SerializeMap; let mut map = s.serialize_map(Some(1))?; match self { Self::FileDescriptorResponse(v) => { - map.serialize_entry("fileDescriptorResponse", v)?; + map.serialize_entry("fileDescriptorResponse", &**v)?; } Self::AllExtensionNumbersResponse(v) => { - map.serialize_entry("allExtensionNumbersResponse", v)?; + map.serialize_entry("allExtensionNumbersResponse", &**v)?; } Self::ListServicesResponse(v) => { - map.serialize_entry("listServicesResponse", v)?; + map.serialize_entry("listServicesResponse", &**v)?; } Self::ErrorResponse(v) => { - map.serialize_entry("errorResponse", v)?; + map.serialize_entry("errorResponse", &**v)?; } } map.end() diff --git a/connectrpc-reflection/src/generated/buffa/grpc.reflection.v1alpha.reflection.__view.rs b/connectrpc-reflection/src/generated/buffa/grpc.reflection.v1alpha.reflection.__view.rs index f15ec4f4..402804cb 100644 --- a/connectrpc-reflection/src/generated/buffa/grpc.reflection.v1alpha.reflection.__view.rs +++ b/connectrpc-reflection/src/generated/buffa/grpc.reflection.v1alpha.reflection.__view.rs @@ -15,9 +15,11 @@ impl<'a> ::buffa::MessageView<'a> for ServerReflectionRequestView<'a> { type Owned = super::super::ServerReflectionRequest; fn decode_view(buf: &'a [u8]) -> ::core::result::Result { let __limit = ::core::cell::Cell::new(::buffa::DEFAULT_UNKNOWN_FIELD_LIMIT); + let __elem = ::core::cell::Cell::new(::buffa::DEFAULT_ELEMENT_MEMORY_LIMIT); ::decode_view_ctx( buf, - ::buffa::DecodeContext::new(::buffa::RECURSION_LIMIT, &__limit), + ::buffa::DecodeContext::new(::buffa::RECURSION_LIMIT, &__limit) + .with_element_memory(&__elem), ) } fn decode_view_with_ctx( @@ -503,9 +505,11 @@ impl<'a> ::buffa::MessageView<'a> for ExtensionRequestView<'a> { type Owned = super::super::ExtensionRequest; fn decode_view(buf: &'a [u8]) -> ::core::result::Result { let __limit = ::core::cell::Cell::new(::buffa::DEFAULT_UNKNOWN_FIELD_LIMIT); + let __elem = ::core::cell::Cell::new(::buffa::DEFAULT_ELEMENT_MEMORY_LIMIT); ::decode_view_ctx( buf, - ::buffa::DecodeContext::new(::buffa::RECURSION_LIMIT, &__limit), + ::buffa::DecodeContext::new(::buffa::RECURSION_LIMIT, &__limit) + .with_element_memory(&__elem), ) } fn decode_view_with_ctx( @@ -790,9 +794,11 @@ impl<'a> ::buffa::MessageView<'a> for ServerReflectionResponseView<'a> { type Owned = super::super::ServerReflectionResponse; fn decode_view(buf: &'a [u8]) -> ::core::result::Result { let __limit = ::core::cell::Cell::new(::buffa::DEFAULT_UNKNOWN_FIELD_LIMIT); + let __elem = ::core::cell::Cell::new(::buffa::DEFAULT_ELEMENT_MEMORY_LIMIT); ::decode_view_ctx( buf, - ::buffa::DecodeContext::new(::buffa::RECURSION_LIMIT, &__limit), + ::buffa::DecodeContext::new(::buffa::RECURSION_LIMIT, &__limit) + .with_element_memory(&__elem), ) } fn decode_view_with_ctx( @@ -1403,9 +1409,11 @@ impl<'a> ::buffa::MessageView<'a> for FileDescriptorResponseView<'a> { type Owned = super::super::FileDescriptorResponse; fn decode_view(buf: &'a [u8]) -> ::core::result::Result { let __limit = ::core::cell::Cell::new(::buffa::DEFAULT_UNKNOWN_FIELD_LIMIT); + let __elem = ::core::cell::Cell::new(::buffa::DEFAULT_ELEMENT_MEMORY_LIMIT); ::decode_view_ctx( buf, - ::buffa::DecodeContext::new(::buffa::RECURSION_LIMIT, &__limit), + ::buffa::DecodeContext::new(::buffa::RECURSION_LIMIT, &__limit) + .with_element_memory(&__elem), ) } fn decode_view_with_ctx( @@ -1679,9 +1687,11 @@ impl<'a> ::buffa::MessageView<'a> for ExtensionNumberResponseView<'a> { type Owned = super::super::ExtensionNumberResponse; fn decode_view(buf: &'a [u8]) -> ::core::result::Result { let __limit = ::core::cell::Cell::new(::buffa::DEFAULT_UNKNOWN_FIELD_LIMIT); + let __elem = ::core::cell::Cell::new(::buffa::DEFAULT_ELEMENT_MEMORY_LIMIT); ::decode_view_ctx( buf, - ::buffa::DecodeContext::new(::buffa::RECURSION_LIMIT, &__limit), + ::buffa::DecodeContext::new(::buffa::RECURSION_LIMIT, &__limit) + .with_element_memory(&__elem), ) } fn decode_view_with_ctx( @@ -1995,9 +2005,11 @@ impl<'a> ::buffa::MessageView<'a> for ListServiceResponseView<'a> { type Owned = super::super::ListServiceResponse; fn decode_view(buf: &'a [u8]) -> ::core::result::Result { let __limit = ::core::cell::Cell::new(::buffa::DEFAULT_UNKNOWN_FIELD_LIMIT); + let __elem = ::core::cell::Cell::new(::buffa::DEFAULT_ELEMENT_MEMORY_LIMIT); ::decode_view_ctx( buf, - ::buffa::DecodeContext::new(::buffa::RECURSION_LIMIT, &__limit), + ::buffa::DecodeContext::new(::buffa::RECURSION_LIMIT, &__limit) + .with_element_memory(&__elem), ) } fn decode_view_with_ctx( @@ -2288,9 +2300,11 @@ impl<'a> ::buffa::MessageView<'a> for ServiceResponseView<'a> { type Owned = super::super::ServiceResponse; fn decode_view(buf: &'a [u8]) -> ::core::result::Result { let __limit = ::core::cell::Cell::new(::buffa::DEFAULT_UNKNOWN_FIELD_LIMIT); + let __elem = ::core::cell::Cell::new(::buffa::DEFAULT_ELEMENT_MEMORY_LIMIT); ::decode_view_ctx( buf, - ::buffa::DecodeContext::new(::buffa::RECURSION_LIMIT, &__limit), + ::buffa::DecodeContext::new(::buffa::RECURSION_LIMIT, &__limit) + .with_element_memory(&__elem), ) } fn decode_view_with_ctx( @@ -2541,9 +2555,11 @@ impl<'a> ::buffa::MessageView<'a> for ErrorResponseView<'a> { type Owned = super::super::ErrorResponse; fn decode_view(buf: &'a [u8]) -> ::core::result::Result { let __limit = ::core::cell::Cell::new(::buffa::DEFAULT_UNKNOWN_FIELD_LIMIT); + let __elem = ::core::cell::Cell::new(::buffa::DEFAULT_ELEMENT_MEMORY_LIMIT); ::decode_view_ctx( buf, - ::buffa::DecodeContext::new(::buffa::RECURSION_LIMIT, &__limit), + ::buffa::DecodeContext::new(::buffa::RECURSION_LIMIT, &__limit) + .with_element_memory(&__elem), ) } fn decode_view_with_ctx( diff --git a/connectrpc-reflection/src/generated/buffa/grpc.reflection.v1alpha.reflection.rs b/connectrpc-reflection/src/generated/buffa/grpc.reflection.v1alpha.reflection.rs index 38cc7a99..7617b4ea 100644 --- a/connectrpc-reflection/src/generated/buffa/grpc.reflection.v1alpha.reflection.rs +++ b/connectrpc-reflection/src/generated/buffa/grpc.reflection.v1alpha.reflection.rs @@ -248,18 +248,21 @@ impl ::buffa::ExtensionSet for ServerReflectionRequest { &mut self.__buffa_unknown_fields } } -impl<'de> serde::Deserialize<'de> for ServerReflectionRequest { - fn deserialize>( +impl<'de> ::serde::Deserialize<'de> for ServerReflectionRequest { + fn deserialize>( d: D, ) -> ::core::result::Result { struct _V; - impl<'de> serde::de::Visitor<'de> for _V { + impl<'de> ::serde::de::Visitor<'de> for _V { type Value = ServerReflectionRequest; - fn expecting(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { + fn expecting( + &self, + f: &mut ::core::fmt::Formatter<'_>, + ) -> ::core::fmt::Result { f.write_str("struct ServerReflectionRequest") } #[allow(clippy::field_reassign_with_default)] - fn visit_map>( + fn visit_map>( self, mut map: A, ) -> ::core::result::Result { @@ -274,9 +277,9 @@ impl<'de> serde::Deserialize<'de> for ServerReflectionRequest { "host" => { __f_host = Some({ struct _S; - impl<'de> serde::de::DeserializeSeed<'de> for _S { + impl<'de> ::serde::de::DeserializeSeed<'de> for _S { type Value = ::buffa::alloc::string::String; - fn deserialize>( + fn deserialize>( self, d: D, ) -> ::core::result::Result< @@ -303,7 +306,7 @@ impl<'de> serde::Deserialize<'de> for ServerReflectionRequest { if let Some(v) = v { if __oneof_message_request.is_some() { return Err( - serde::de::Error::custom( + ::serde::de::Error::custom( "multiple oneof fields set for 'message_request'", ), ); @@ -329,7 +332,7 @@ impl<'de> serde::Deserialize<'de> for ServerReflectionRequest { if let Some(v) = v { if __oneof_message_request.is_some() { return Err( - serde::de::Error::custom( + ::serde::de::Error::custom( "multiple oneof fields set for 'message_request'", ), ); @@ -353,7 +356,7 @@ impl<'de> serde::Deserialize<'de> for ServerReflectionRequest { if let Some(v) = v { if __oneof_message_request.is_some() { return Err( - serde::de::Error::custom( + ::serde::de::Error::custom( "multiple oneof fields set for 'message_request'", ), ); @@ -380,7 +383,7 @@ impl<'de> serde::Deserialize<'de> for ServerReflectionRequest { if let Some(v) = v { if __oneof_message_request.is_some() { return Err( - serde::de::Error::custom( + ::serde::de::Error::custom( "multiple oneof fields set for 'message_request'", ), ); @@ -406,7 +409,7 @@ impl<'de> serde::Deserialize<'de> for ServerReflectionRequest { if let Some(v) = v { if __oneof_message_request.is_some() { return Err( - serde::de::Error::custom( + ::serde::de::Error::custom( "multiple oneof fields set for 'message_request'", ), ); @@ -419,7 +422,7 @@ impl<'de> serde::Deserialize<'de> for ServerReflectionRequest { } } _ => { - map.next_value::()?; + map.next_value::<::serde::de::IgnoredAny>()?; } } } @@ -949,18 +952,21 @@ impl ::buffa::ExtensionSet for ServerReflectionResponse { &mut self.__buffa_unknown_fields } } -impl<'de> serde::Deserialize<'de> for ServerReflectionResponse { - fn deserialize>( +impl<'de> ::serde::Deserialize<'de> for ServerReflectionResponse { + fn deserialize>( d: D, ) -> ::core::result::Result { struct _V; - impl<'de> serde::de::Visitor<'de> for _V { + impl<'de> ::serde::de::Visitor<'de> for _V { type Value = ServerReflectionResponse; - fn expecting(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { + fn expecting( + &self, + f: &mut ::core::fmt::Formatter<'_>, + ) -> ::core::fmt::Result { f.write_str("struct ServerReflectionResponse") } #[allow(clippy::field_reassign_with_default)] - fn visit_map>( + fn visit_map>( self, mut map: A, ) -> ::core::result::Result { @@ -981,9 +987,9 @@ impl<'de> serde::Deserialize<'de> for ServerReflectionResponse { "validHost" | "valid_host" => { __f_valid_host = Some({ struct _S; - impl<'de> serde::de::DeserializeSeed<'de> for _S { + impl<'de> ::serde::de::DeserializeSeed<'de> for _S { type Value = ::buffa::alloc::string::String; - fn deserialize>( + fn deserialize>( self, d: D, ) -> ::core::result::Result< @@ -1019,7 +1025,7 @@ impl<'de> serde::Deserialize<'de> for ServerReflectionResponse { if let Some(v) = v { if __oneof_message_response.is_some() { return Err( - serde::de::Error::custom( + ::serde::de::Error::custom( "multiple oneof fields set for 'message_response'", ), ); @@ -1044,7 +1050,7 @@ impl<'de> serde::Deserialize<'de> for ServerReflectionResponse { if let Some(v) = v { if __oneof_message_response.is_some() { return Err( - serde::de::Error::custom( + ::serde::de::Error::custom( "multiple oneof fields set for 'message_response'", ), ); @@ -1068,7 +1074,7 @@ impl<'de> serde::Deserialize<'de> for ServerReflectionResponse { if let Some(v) = v { if __oneof_message_response.is_some() { return Err( - serde::de::Error::custom( + ::serde::de::Error::custom( "multiple oneof fields set for 'message_response'", ), ); @@ -1092,7 +1098,7 @@ impl<'de> serde::Deserialize<'de> for ServerReflectionResponse { if let Some(v) = v { if __oneof_message_response.is_some() { return Err( - serde::de::Error::custom( + ::serde::de::Error::custom( "multiple oneof fields set for 'message_response'", ), ); @@ -1105,7 +1111,7 @@ impl<'de> serde::Deserialize<'de> for ServerReflectionResponse { } } _ => { - map.next_value::()?; + map.next_value::<::serde::de::IgnoredAny>()?; } } } diff --git a/connectrpc/Cargo.toml b/connectrpc/Cargo.toml index 412bfe39..6b8678fa 100644 --- a/connectrpc/Cargo.toml +++ b/connectrpc/Cargo.toml @@ -48,7 +48,7 @@ async-trait = { workspace = true } # silently drop it. Keep the version in sync with the # `[workspace.dependencies]` `buffa` entry, which documents why the floor is # where it is. -buffa = { version = "0.9.1", default-features = false, features = ["std", "fast-utf8"] } +buffa = { version = "0.9.2", default-features = false, features = ["std", "fast-utf8"] } # Serialization. Non-optional even in proto-only builds: the Connect error and # streaming end-of-stream wire frames are always JSON regardless of the message diff --git a/examples/eliza/src/generated/buffa/connectrpc.eliza.v1.eliza.__view.rs b/examples/eliza/src/generated/buffa/connectrpc.eliza.v1.eliza.__view.rs index 3dc80ace..28c0307c 100644 --- a/examples/eliza/src/generated/buffa/connectrpc.eliza.v1.eliza.__view.rs +++ b/examples/eliza/src/generated/buffa/connectrpc.eliza.v1.eliza.__view.rs @@ -12,9 +12,11 @@ impl<'a> ::buffa::MessageView<'a> for SayRequestView<'a> { type Owned = super::super::SayRequest; fn decode_view(buf: &'a [u8]) -> ::core::result::Result { let __limit = ::core::cell::Cell::new(::buffa::DEFAULT_UNKNOWN_FIELD_LIMIT); + let __elem = ::core::cell::Cell::new(::buffa::DEFAULT_ELEMENT_MEMORY_LIMIT); ::decode_view_ctx( buf, - ::buffa::DecodeContext::new(::buffa::RECURSION_LIMIT, &__limit), + ::buffa::DecodeContext::new(::buffa::RECURSION_LIMIT, &__limit) + .with_element_memory(&__elem), ) } fn decode_view_with_ctx( @@ -256,9 +258,11 @@ impl<'a> ::buffa::MessageView<'a> for SayResponseView<'a> { type Owned = super::super::SayResponse; fn decode_view(buf: &'a [u8]) -> ::core::result::Result { let __limit = ::core::cell::Cell::new(::buffa::DEFAULT_UNKNOWN_FIELD_LIMIT); + let __elem = ::core::cell::Cell::new(::buffa::DEFAULT_ELEMENT_MEMORY_LIMIT); ::decode_view_ctx( buf, - ::buffa::DecodeContext::new(::buffa::RECURSION_LIMIT, &__limit), + ::buffa::DecodeContext::new(::buffa::RECURSION_LIMIT, &__limit) + .with_element_memory(&__elem), ) } fn decode_view_with_ctx( @@ -501,9 +505,11 @@ impl<'a> ::buffa::MessageView<'a> for ConverseRequestView<'a> { type Owned = super::super::ConverseRequest; fn decode_view(buf: &'a [u8]) -> ::core::result::Result { let __limit = ::core::cell::Cell::new(::buffa::DEFAULT_UNKNOWN_FIELD_LIMIT); + let __elem = ::core::cell::Cell::new(::buffa::DEFAULT_ELEMENT_MEMORY_LIMIT); ::decode_view_ctx( buf, - ::buffa::DecodeContext::new(::buffa::RECURSION_LIMIT, &__limit), + ::buffa::DecodeContext::new(::buffa::RECURSION_LIMIT, &__limit) + .with_element_memory(&__elem), ) } fn decode_view_with_ctx( @@ -748,9 +754,11 @@ impl<'a> ::buffa::MessageView<'a> for ConverseResponseView<'a> { type Owned = super::super::ConverseResponse; fn decode_view(buf: &'a [u8]) -> ::core::result::Result { let __limit = ::core::cell::Cell::new(::buffa::DEFAULT_UNKNOWN_FIELD_LIMIT); + let __elem = ::core::cell::Cell::new(::buffa::DEFAULT_ELEMENT_MEMORY_LIMIT); ::decode_view_ctx( buf, - ::buffa::DecodeContext::new(::buffa::RECURSION_LIMIT, &__limit), + ::buffa::DecodeContext::new(::buffa::RECURSION_LIMIT, &__limit) + .with_element_memory(&__elem), ) } fn decode_view_with_ctx( @@ -994,9 +1002,11 @@ impl<'a> ::buffa::MessageView<'a> for IntroduceRequestView<'a> { type Owned = super::super::IntroduceRequest; fn decode_view(buf: &'a [u8]) -> ::core::result::Result { let __limit = ::core::cell::Cell::new(::buffa::DEFAULT_UNKNOWN_FIELD_LIMIT); + let __elem = ::core::cell::Cell::new(::buffa::DEFAULT_ELEMENT_MEMORY_LIMIT); ::decode_view_ctx( buf, - ::buffa::DecodeContext::new(::buffa::RECURSION_LIMIT, &__limit), + ::buffa::DecodeContext::new(::buffa::RECURSION_LIMIT, &__limit) + .with_element_memory(&__elem), ) } fn decode_view_with_ctx( @@ -1240,9 +1250,11 @@ impl<'a> ::buffa::MessageView<'a> for IntroduceResponseView<'a> { type Owned = super::super::IntroduceResponse; fn decode_view(buf: &'a [u8]) -> ::core::result::Result { let __limit = ::core::cell::Cell::new(::buffa::DEFAULT_UNKNOWN_FIELD_LIMIT); + let __elem = ::core::cell::Cell::new(::buffa::DEFAULT_ELEMENT_MEMORY_LIMIT); ::decode_view_ctx( buf, - ::buffa::DecodeContext::new(::buffa::RECURSION_LIMIT, &__limit), + ::buffa::DecodeContext::new(::buffa::RECURSION_LIMIT, &__limit) + .with_element_memory(&__elem), ) } fn decode_view_with_ctx( diff --git a/examples/multiservice/src/generated/buffa/anthropic.connectrpc.greet.v1.greet.__view.rs b/examples/multiservice/src/generated/buffa/anthropic.connectrpc.greet.v1.greet.__view.rs index 9db6ec64..f86749cf 100644 --- a/examples/multiservice/src/generated/buffa/anthropic.connectrpc.greet.v1.greet.__view.rs +++ b/examples/multiservice/src/generated/buffa/anthropic.connectrpc.greet.v1.greet.__view.rs @@ -14,9 +14,11 @@ impl<'a> ::buffa::MessageView<'a> for GreetRequestView<'a> { type Owned = super::super::GreetRequest; fn decode_view(buf: &'a [u8]) -> ::core::result::Result { let __limit = ::core::cell::Cell::new(::buffa::DEFAULT_UNKNOWN_FIELD_LIMIT); + let __elem = ::core::cell::Cell::new(::buffa::DEFAULT_ELEMENT_MEMORY_LIMIT); ::decode_view_ctx( buf, - ::buffa::DecodeContext::new(::buffa::RECURSION_LIMIT, &__limit), + ::buffa::DecodeContext::new(::buffa::RECURSION_LIMIT, &__limit) + .with_element_memory(&__elem), ) } fn decode_view_with_ctx( @@ -262,9 +264,11 @@ impl<'a> ::buffa::MessageView<'a> for GreetResponseView<'a> { type Owned = super::super::GreetResponse; fn decode_view(buf: &'a [u8]) -> ::core::result::Result { let __limit = ::core::cell::Cell::new(::buffa::DEFAULT_UNKNOWN_FIELD_LIMIT); + let __elem = ::core::cell::Cell::new(::buffa::DEFAULT_ELEMENT_MEMORY_LIMIT); ::decode_view_ctx( buf, - ::buffa::DecodeContext::new(::buffa::RECURSION_LIMIT, &__limit), + ::buffa::DecodeContext::new(::buffa::RECURSION_LIMIT, &__limit) + .with_element_memory(&__elem), ) } fn decode_view_with_ctx( diff --git a/examples/multiservice/src/generated/buffa/anthropic.connectrpc.greet.v1.mod.rs b/examples/multiservice/src/generated/buffa/anthropic.connectrpc.greet.v1.mod.rs index aa6a8de1..60ff1e27 100644 --- a/examples/multiservice/src/generated/buffa/anthropic.connectrpc.greet.v1.mod.rs +++ b/examples/multiservice/src/generated/buffa/anthropic.connectrpc.greet.v1.mod.rs @@ -36,317 +36,7 @@ pub mod __buffa { /// also suitable for shipping the schema over the wire. /// Re-exported at the package root — prefer that path over /// going through `__buffa`. - pub const FILE_DESCRIPTOR_SET_BYTES: &[u8] = &[ - 10u8, 154u8, 2u8, 10u8, 41u8, 97u8, 110u8, 116u8, 104u8, 114u8, 111u8, 112u8, - 105u8, 99u8, 47u8, 99u8, 111u8, 110u8, 110u8, 101u8, 99u8, 116u8, 114u8, - 112u8, 99u8, 47u8, 103u8, 114u8, 101u8, 101u8, 116u8, 47u8, 118u8, 49u8, - 47u8, 103u8, 114u8, 101u8, 101u8, 116u8, 46u8, 112u8, 114u8, 111u8, 116u8, - 111u8, 18u8, 29u8, 97u8, 110u8, 116u8, 104u8, 114u8, 111u8, 112u8, 105u8, - 99u8, 46u8, 99u8, 111u8, 110u8, 110u8, 101u8, 99u8, 116u8, 114u8, 112u8, - 99u8, 46u8, 103u8, 114u8, 101u8, 101u8, 116u8, 46u8, 118u8, 49u8, 34u8, 34u8, - 10u8, 12u8, 71u8, 114u8, 101u8, 101u8, 116u8, 82u8, 101u8, 113u8, 117u8, - 101u8, 115u8, 116u8, 18u8, 18u8, 10u8, 4u8, 110u8, 97u8, 109u8, 101u8, 24u8, - 1u8, 32u8, 1u8, 40u8, 9u8, 82u8, 4u8, 110u8, 97u8, 109u8, 101u8, 34u8, 41u8, - 10u8, 13u8, 71u8, 114u8, 101u8, 101u8, 116u8, 82u8, 101u8, 115u8, 112u8, - 111u8, 110u8, 115u8, 101u8, 18u8, 24u8, 10u8, 7u8, 109u8, 101u8, 115u8, - 115u8, 97u8, 103u8, 101u8, 24u8, 1u8, 32u8, 1u8, 40u8, 9u8, 82u8, 7u8, 109u8, - 101u8, 115u8, 115u8, 97u8, 103u8, 101u8, 50u8, 119u8, 10u8, 12u8, 71u8, - 114u8, 101u8, 101u8, 116u8, 83u8, 101u8, 114u8, 118u8, 105u8, 99u8, 101u8, - 18u8, 103u8, 10u8, 5u8, 71u8, 114u8, 101u8, 101u8, 116u8, 18u8, 43u8, 46u8, - 97u8, 110u8, 116u8, 104u8, 114u8, 111u8, 112u8, 105u8, 99u8, 46u8, 99u8, - 111u8, 110u8, 110u8, 101u8, 99u8, 116u8, 114u8, 112u8, 99u8, 46u8, 103u8, - 114u8, 101u8, 101u8, 116u8, 46u8, 118u8, 49u8, 46u8, 71u8, 114u8, 101u8, - 101u8, 116u8, 82u8, 101u8, 113u8, 117u8, 101u8, 115u8, 116u8, 26u8, 44u8, - 46u8, 97u8, 110u8, 116u8, 104u8, 114u8, 111u8, 112u8, 105u8, 99u8, 46u8, - 99u8, 111u8, 110u8, 110u8, 101u8, 99u8, 116u8, 114u8, 112u8, 99u8, 46u8, - 103u8, 114u8, 101u8, 101u8, 116u8, 46u8, 118u8, 49u8, 46u8, 71u8, 114u8, - 101u8, 101u8, 116u8, 82u8, 101u8, 115u8, 112u8, 111u8, 110u8, 115u8, 101u8, - 34u8, 3u8, 144u8, 2u8, 1u8, 98u8, 6u8, 112u8, 114u8, 111u8, 116u8, 111u8, - 51u8, 10u8, 139u8, 2u8, 10u8, 39u8, 97u8, 110u8, 116u8, 104u8, 114u8, 111u8, - 112u8, 105u8, 99u8, 47u8, 99u8, 111u8, 110u8, 110u8, 101u8, 99u8, 116u8, - 114u8, 112u8, 99u8, 47u8, 109u8, 97u8, 116u8, 104u8, 47u8, 118u8, 49u8, 47u8, - 109u8, 97u8, 116u8, 104u8, 46u8, 112u8, 114u8, 111u8, 116u8, 111u8, 18u8, - 28u8, 97u8, 110u8, 116u8, 104u8, 114u8, 111u8, 112u8, 105u8, 99u8, 46u8, - 99u8, 111u8, 110u8, 110u8, 101u8, 99u8, 116u8, 114u8, 112u8, 99u8, 46u8, - 109u8, 97u8, 116u8, 104u8, 46u8, 118u8, 49u8, 34u8, 40u8, 10u8, 10u8, 65u8, - 100u8, 100u8, 82u8, 101u8, 113u8, 117u8, 101u8, 115u8, 116u8, 18u8, 12u8, - 10u8, 1u8, 97u8, 24u8, 1u8, 32u8, 1u8, 40u8, 5u8, 82u8, 1u8, 97u8, 18u8, - 12u8, 10u8, 1u8, 98u8, 24u8, 2u8, 32u8, 1u8, 40u8, 5u8, 82u8, 1u8, 98u8, - 34u8, 37u8, 10u8, 11u8, 65u8, 100u8, 100u8, 82u8, 101u8, 115u8, 112u8, 111u8, - 110u8, 115u8, 101u8, 18u8, 22u8, 10u8, 6u8, 114u8, 101u8, 115u8, 117u8, - 108u8, 116u8, 24u8, 1u8, 32u8, 1u8, 40u8, 5u8, 82u8, 6u8, 114u8, 101u8, - 115u8, 117u8, 108u8, 116u8, 50u8, 105u8, 10u8, 11u8, 77u8, 97u8, 116u8, - 104u8, 83u8, 101u8, 114u8, 118u8, 105u8, 99u8, 101u8, 18u8, 90u8, 10u8, 3u8, - 65u8, 100u8, 100u8, 18u8, 40u8, 46u8, 97u8, 110u8, 116u8, 104u8, 114u8, - 111u8, 112u8, 105u8, 99u8, 46u8, 99u8, 111u8, 110u8, 110u8, 101u8, 99u8, - 116u8, 114u8, 112u8, 99u8, 46u8, 109u8, 97u8, 116u8, 104u8, 46u8, 118u8, - 49u8, 46u8, 65u8, 100u8, 100u8, 82u8, 101u8, 113u8, 117u8, 101u8, 115u8, - 116u8, 26u8, 41u8, 46u8, 97u8, 110u8, 116u8, 104u8, 114u8, 111u8, 112u8, - 105u8, 99u8, 46u8, 99u8, 111u8, 110u8, 110u8, 101u8, 99u8, 116u8, 114u8, - 112u8, 99u8, 46u8, 109u8, 97u8, 116u8, 104u8, 46u8, 118u8, 49u8, 46u8, 65u8, - 100u8, 100u8, 82u8, 101u8, 115u8, 112u8, 111u8, 110u8, 115u8, 101u8, 98u8, - 6u8, 112u8, 114u8, 111u8, 116u8, 111u8, 51u8, 10u8, 190u8, 1u8, 10u8, 27u8, - 103u8, 111u8, 111u8, 103u8, 108u8, 101u8, 47u8, 112u8, 114u8, 111u8, 116u8, - 111u8, 98u8, 117u8, 102u8, 47u8, 101u8, 109u8, 112u8, 116u8, 121u8, 46u8, - 112u8, 114u8, 111u8, 116u8, 111u8, 18u8, 15u8, 103u8, 111u8, 111u8, 103u8, - 108u8, 101u8, 46u8, 112u8, 114u8, 111u8, 116u8, 111u8, 98u8, 117u8, 102u8, - 34u8, 7u8, 10u8, 5u8, 69u8, 109u8, 112u8, 116u8, 121u8, 66u8, 125u8, 10u8, - 19u8, 99u8, 111u8, 109u8, 46u8, 103u8, 111u8, 111u8, 103u8, 108u8, 101u8, - 46u8, 112u8, 114u8, 111u8, 116u8, 111u8, 98u8, 117u8, 102u8, 66u8, 10u8, - 69u8, 109u8, 112u8, 116u8, 121u8, 80u8, 114u8, 111u8, 116u8, 111u8, 80u8, - 1u8, 90u8, 46u8, 103u8, 111u8, 111u8, 103u8, 108u8, 101u8, 46u8, 103u8, - 111u8, 108u8, 97u8, 110u8, 103u8, 46u8, 111u8, 114u8, 103u8, 47u8, 112u8, - 114u8, 111u8, 116u8, 111u8, 98u8, 117u8, 102u8, 47u8, 116u8, 121u8, 112u8, - 101u8, 115u8, 47u8, 107u8, 110u8, 111u8, 119u8, 110u8, 47u8, 101u8, 109u8, - 112u8, 116u8, 121u8, 112u8, 98u8, 248u8, 1u8, 1u8, 162u8, 2u8, 3u8, 71u8, - 80u8, 66u8, 170u8, 2u8, 30u8, 71u8, 111u8, 111u8, 103u8, 108u8, 101u8, 46u8, - 80u8, 114u8, 111u8, 116u8, 111u8, 98u8, 117u8, 102u8, 46u8, 87u8, 101u8, - 108u8, 108u8, 75u8, 110u8, 111u8, 119u8, 110u8, 84u8, 121u8, 112u8, 101u8, - 115u8, 98u8, 6u8, 112u8, 114u8, 111u8, 116u8, 111u8, 51u8, 10u8, 255u8, 1u8, - 10u8, 31u8, 103u8, 111u8, 111u8, 103u8, 108u8, 101u8, 47u8, 112u8, 114u8, - 111u8, 116u8, 111u8, 98u8, 117u8, 102u8, 47u8, 116u8, 105u8, 109u8, 101u8, - 115u8, 116u8, 97u8, 109u8, 112u8, 46u8, 112u8, 114u8, 111u8, 116u8, 111u8, - 18u8, 15u8, 103u8, 111u8, 111u8, 103u8, 108u8, 101u8, 46u8, 112u8, 114u8, - 111u8, 116u8, 111u8, 98u8, 117u8, 102u8, 34u8, 59u8, 10u8, 9u8, 84u8, 105u8, - 109u8, 101u8, 115u8, 116u8, 97u8, 109u8, 112u8, 18u8, 24u8, 10u8, 7u8, 115u8, - 101u8, 99u8, 111u8, 110u8, 100u8, 115u8, 24u8, 1u8, 32u8, 1u8, 40u8, 3u8, - 82u8, 7u8, 115u8, 101u8, 99u8, 111u8, 110u8, 100u8, 115u8, 18u8, 20u8, 10u8, - 5u8, 110u8, 97u8, 110u8, 111u8, 115u8, 24u8, 2u8, 32u8, 1u8, 40u8, 5u8, 82u8, - 5u8, 110u8, 97u8, 110u8, 111u8, 115u8, 66u8, 133u8, 1u8, 10u8, 19u8, 99u8, - 111u8, 109u8, 46u8, 103u8, 111u8, 111u8, 103u8, 108u8, 101u8, 46u8, 112u8, - 114u8, 111u8, 116u8, 111u8, 98u8, 117u8, 102u8, 66u8, 14u8, 84u8, 105u8, - 109u8, 101u8, 115u8, 116u8, 97u8, 109u8, 112u8, 80u8, 114u8, 111u8, 116u8, - 111u8, 80u8, 1u8, 90u8, 50u8, 103u8, 111u8, 111u8, 103u8, 108u8, 101u8, 46u8, - 103u8, 111u8, 108u8, 97u8, 110u8, 103u8, 46u8, 111u8, 114u8, 103u8, 47u8, - 112u8, 114u8, 111u8, 116u8, 111u8, 98u8, 117u8, 102u8, 47u8, 116u8, 121u8, - 112u8, 101u8, 115u8, 47u8, 107u8, 110u8, 111u8, 119u8, 110u8, 47u8, 116u8, - 105u8, 109u8, 101u8, 115u8, 116u8, 97u8, 109u8, 112u8, 112u8, 98u8, 248u8, - 1u8, 1u8, 162u8, 2u8, 3u8, 71u8, 80u8, 66u8, 170u8, 2u8, 30u8, 71u8, 111u8, - 111u8, 103u8, 108u8, 101u8, 46u8, 80u8, 114u8, 111u8, 116u8, 111u8, 98u8, - 117u8, 102u8, 46u8, 87u8, 101u8, 108u8, 108u8, 75u8, 110u8, 111u8, 119u8, - 110u8, 84u8, 121u8, 112u8, 101u8, 115u8, 98u8, 6u8, 112u8, 114u8, 111u8, - 116u8, 111u8, 51u8, 10u8, 251u8, 1u8, 10u8, 30u8, 103u8, 111u8, 111u8, 103u8, - 108u8, 101u8, 47u8, 112u8, 114u8, 111u8, 116u8, 111u8, 98u8, 117u8, 102u8, - 47u8, 100u8, 117u8, 114u8, 97u8, 116u8, 105u8, 111u8, 110u8, 46u8, 112u8, - 114u8, 111u8, 116u8, 111u8, 18u8, 15u8, 103u8, 111u8, 111u8, 103u8, 108u8, - 101u8, 46u8, 112u8, 114u8, 111u8, 116u8, 111u8, 98u8, 117u8, 102u8, 34u8, - 58u8, 10u8, 8u8, 68u8, 117u8, 114u8, 97u8, 116u8, 105u8, 111u8, 110u8, 18u8, - 24u8, 10u8, 7u8, 115u8, 101u8, 99u8, 111u8, 110u8, 100u8, 115u8, 24u8, 1u8, - 32u8, 1u8, 40u8, 3u8, 82u8, 7u8, 115u8, 101u8, 99u8, 111u8, 110u8, 100u8, - 115u8, 18u8, 20u8, 10u8, 5u8, 110u8, 97u8, 110u8, 111u8, 115u8, 24u8, 2u8, - 32u8, 1u8, 40u8, 5u8, 82u8, 5u8, 110u8, 97u8, 110u8, 111u8, 115u8, 66u8, - 131u8, 1u8, 10u8, 19u8, 99u8, 111u8, 109u8, 46u8, 103u8, 111u8, 111u8, 103u8, - 108u8, 101u8, 46u8, 112u8, 114u8, 111u8, 116u8, 111u8, 98u8, 117u8, 102u8, - 66u8, 13u8, 68u8, 117u8, 114u8, 97u8, 116u8, 105u8, 111u8, 110u8, 80u8, - 114u8, 111u8, 116u8, 111u8, 80u8, 1u8, 90u8, 49u8, 103u8, 111u8, 111u8, - 103u8, 108u8, 101u8, 46u8, 103u8, 111u8, 108u8, 97u8, 110u8, 103u8, 46u8, - 111u8, 114u8, 103u8, 47u8, 112u8, 114u8, 111u8, 116u8, 111u8, 98u8, 117u8, - 102u8, 47u8, 116u8, 121u8, 112u8, 101u8, 115u8, 47u8, 107u8, 110u8, 111u8, - 119u8, 110u8, 47u8, 100u8, 117u8, 114u8, 97u8, 116u8, 105u8, 111u8, 110u8, - 112u8, 98u8, 248u8, 1u8, 1u8, 162u8, 2u8, 3u8, 71u8, 80u8, 66u8, 170u8, 2u8, - 30u8, 71u8, 111u8, 111u8, 103u8, 108u8, 101u8, 46u8, 80u8, 114u8, 111u8, - 116u8, 111u8, 98u8, 117u8, 102u8, 46u8, 87u8, 101u8, 108u8, 108u8, 75u8, - 110u8, 111u8, 119u8, 110u8, 84u8, 121u8, 112u8, 101u8, 115u8, 98u8, 6u8, - 112u8, 114u8, 111u8, 116u8, 111u8, 51u8, 10u8, 226u8, 5u8, 10u8, 28u8, 103u8, - 111u8, 111u8, 103u8, 108u8, 101u8, 47u8, 112u8, 114u8, 111u8, 116u8, 111u8, - 98u8, 117u8, 102u8, 47u8, 115u8, 116u8, 114u8, 117u8, 99u8, 116u8, 46u8, - 112u8, 114u8, 111u8, 116u8, 111u8, 18u8, 15u8, 103u8, 111u8, 111u8, 103u8, - 108u8, 101u8, 46u8, 112u8, 114u8, 111u8, 116u8, 111u8, 98u8, 117u8, 102u8, - 34u8, 152u8, 1u8, 10u8, 6u8, 83u8, 116u8, 114u8, 117u8, 99u8, 116u8, 18u8, - 59u8, 10u8, 6u8, 102u8, 105u8, 101u8, 108u8, 100u8, 115u8, 24u8, 1u8, 32u8, - 3u8, 40u8, 11u8, 50u8, 35u8, 46u8, 103u8, 111u8, 111u8, 103u8, 108u8, 101u8, - 46u8, 112u8, 114u8, 111u8, 116u8, 111u8, 98u8, 117u8, 102u8, 46u8, 83u8, - 116u8, 114u8, 117u8, 99u8, 116u8, 46u8, 70u8, 105u8, 101u8, 108u8, 100u8, - 115u8, 69u8, 110u8, 116u8, 114u8, 121u8, 82u8, 6u8, 102u8, 105u8, 101u8, - 108u8, 100u8, 115u8, 26u8, 81u8, 10u8, 11u8, 70u8, 105u8, 101u8, 108u8, - 100u8, 115u8, 69u8, 110u8, 116u8, 114u8, 121u8, 18u8, 16u8, 10u8, 3u8, 107u8, - 101u8, 121u8, 24u8, 1u8, 32u8, 1u8, 40u8, 9u8, 82u8, 3u8, 107u8, 101u8, - 121u8, 18u8, 44u8, 10u8, 5u8, 118u8, 97u8, 108u8, 117u8, 101u8, 24u8, 2u8, - 32u8, 1u8, 40u8, 11u8, 50u8, 22u8, 46u8, 103u8, 111u8, 111u8, 103u8, 108u8, - 101u8, 46u8, 112u8, 114u8, 111u8, 116u8, 111u8, 98u8, 117u8, 102u8, 46u8, - 86u8, 97u8, 108u8, 117u8, 101u8, 82u8, 5u8, 118u8, 97u8, 108u8, 117u8, 101u8, - 58u8, 2u8, 56u8, 1u8, 34u8, 178u8, 2u8, 10u8, 5u8, 86u8, 97u8, 108u8, 117u8, - 101u8, 18u8, 59u8, 10u8, 10u8, 110u8, 117u8, 108u8, 108u8, 95u8, 118u8, 97u8, - 108u8, 117u8, 101u8, 24u8, 1u8, 32u8, 1u8, 40u8, 14u8, 50u8, 26u8, 46u8, - 103u8, 111u8, 111u8, 103u8, 108u8, 101u8, 46u8, 112u8, 114u8, 111u8, 116u8, - 111u8, 98u8, 117u8, 102u8, 46u8, 78u8, 117u8, 108u8, 108u8, 86u8, 97u8, - 108u8, 117u8, 101u8, 72u8, 0u8, 82u8, 9u8, 110u8, 117u8, 108u8, 108u8, 86u8, - 97u8, 108u8, 117u8, 101u8, 18u8, 35u8, 10u8, 12u8, 110u8, 117u8, 109u8, 98u8, - 101u8, 114u8, 95u8, 118u8, 97u8, 108u8, 117u8, 101u8, 24u8, 2u8, 32u8, 1u8, - 40u8, 1u8, 72u8, 0u8, 82u8, 11u8, 110u8, 117u8, 109u8, 98u8, 101u8, 114u8, - 86u8, 97u8, 108u8, 117u8, 101u8, 18u8, 35u8, 10u8, 12u8, 115u8, 116u8, 114u8, - 105u8, 110u8, 103u8, 95u8, 118u8, 97u8, 108u8, 117u8, 101u8, 24u8, 3u8, 32u8, - 1u8, 40u8, 9u8, 72u8, 0u8, 82u8, 11u8, 115u8, 116u8, 114u8, 105u8, 110u8, - 103u8, 86u8, 97u8, 108u8, 117u8, 101u8, 18u8, 31u8, 10u8, 10u8, 98u8, 111u8, - 111u8, 108u8, 95u8, 118u8, 97u8, 108u8, 117u8, 101u8, 24u8, 4u8, 32u8, 1u8, - 40u8, 8u8, 72u8, 0u8, 82u8, 9u8, 98u8, 111u8, 111u8, 108u8, 86u8, 97u8, - 108u8, 117u8, 101u8, 18u8, 60u8, 10u8, 12u8, 115u8, 116u8, 114u8, 117u8, - 99u8, 116u8, 95u8, 118u8, 97u8, 108u8, 117u8, 101u8, 24u8, 5u8, 32u8, 1u8, - 40u8, 11u8, 50u8, 23u8, 46u8, 103u8, 111u8, 111u8, 103u8, 108u8, 101u8, 46u8, - 112u8, 114u8, 111u8, 116u8, 111u8, 98u8, 117u8, 102u8, 46u8, 83u8, 116u8, - 114u8, 117u8, 99u8, 116u8, 72u8, 0u8, 82u8, 11u8, 115u8, 116u8, 114u8, 117u8, - 99u8, 116u8, 86u8, 97u8, 108u8, 117u8, 101u8, 18u8, 59u8, 10u8, 10u8, 108u8, - 105u8, 115u8, 116u8, 95u8, 118u8, 97u8, 108u8, 117u8, 101u8, 24u8, 6u8, 32u8, - 1u8, 40u8, 11u8, 50u8, 26u8, 46u8, 103u8, 111u8, 111u8, 103u8, 108u8, 101u8, - 46u8, 112u8, 114u8, 111u8, 116u8, 111u8, 98u8, 117u8, 102u8, 46u8, 76u8, - 105u8, 115u8, 116u8, 86u8, 97u8, 108u8, 117u8, 101u8, 72u8, 0u8, 82u8, 9u8, - 108u8, 105u8, 115u8, 116u8, 86u8, 97u8, 108u8, 117u8, 101u8, 66u8, 6u8, 10u8, - 4u8, 107u8, 105u8, 110u8, 100u8, 34u8, 59u8, 10u8, 9u8, 76u8, 105u8, 115u8, - 116u8, 86u8, 97u8, 108u8, 117u8, 101u8, 18u8, 46u8, 10u8, 6u8, 118u8, 97u8, - 108u8, 117u8, 101u8, 115u8, 24u8, 1u8, 32u8, 3u8, 40u8, 11u8, 50u8, 22u8, - 46u8, 103u8, 111u8, 111u8, 103u8, 108u8, 101u8, 46u8, 112u8, 114u8, 111u8, - 116u8, 111u8, 98u8, 117u8, 102u8, 46u8, 86u8, 97u8, 108u8, 117u8, 101u8, - 82u8, 6u8, 118u8, 97u8, 108u8, 117u8, 101u8, 115u8, 42u8, 27u8, 10u8, 9u8, - 78u8, 117u8, 108u8, 108u8, 86u8, 97u8, 108u8, 117u8, 101u8, 18u8, 14u8, 10u8, - 10u8, 78u8, 85u8, 76u8, 76u8, 95u8, 86u8, 65u8, 76u8, 85u8, 69u8, 16u8, 0u8, - 66u8, 127u8, 10u8, 19u8, 99u8, 111u8, 109u8, 46u8, 103u8, 111u8, 111u8, - 103u8, 108u8, 101u8, 46u8, 112u8, 114u8, 111u8, 116u8, 111u8, 98u8, 117u8, - 102u8, 66u8, 11u8, 83u8, 116u8, 114u8, 117u8, 99u8, 116u8, 80u8, 114u8, - 111u8, 116u8, 111u8, 80u8, 1u8, 90u8, 47u8, 103u8, 111u8, 111u8, 103u8, - 108u8, 101u8, 46u8, 103u8, 111u8, 108u8, 97u8, 110u8, 103u8, 46u8, 111u8, - 114u8, 103u8, 47u8, 112u8, 114u8, 111u8, 116u8, 111u8, 98u8, 117u8, 102u8, - 47u8, 116u8, 121u8, 112u8, 101u8, 115u8, 47u8, 107u8, 110u8, 111u8, 119u8, - 110u8, 47u8, 115u8, 116u8, 114u8, 117u8, 99u8, 116u8, 112u8, 98u8, 248u8, - 1u8, 1u8, 162u8, 2u8, 3u8, 71u8, 80u8, 66u8, 170u8, 2u8, 30u8, 71u8, 111u8, - 111u8, 103u8, 108u8, 101u8, 46u8, 80u8, 114u8, 111u8, 116u8, 111u8, 98u8, - 117u8, 102u8, 46u8, 87u8, 101u8, 108u8, 108u8, 75u8, 110u8, 111u8, 119u8, - 110u8, 84u8, 121u8, 112u8, 101u8, 115u8, 98u8, 6u8, 112u8, 114u8, 111u8, - 116u8, 111u8, 51u8, 10u8, 245u8, 11u8, 10u8, 37u8, 97u8, 110u8, 116u8, 104u8, - 114u8, 111u8, 112u8, 105u8, 99u8, 47u8, 99u8, 111u8, 110u8, 110u8, 101u8, - 99u8, 116u8, 114u8, 112u8, 99u8, 47u8, 119u8, 107u8, 116u8, 47u8, 118u8, - 49u8, 47u8, 119u8, 107u8, 116u8, 46u8, 112u8, 114u8, 111u8, 116u8, 111u8, - 18u8, 27u8, 97u8, 110u8, 116u8, 104u8, 114u8, 111u8, 112u8, 105u8, 99u8, - 46u8, 99u8, 111u8, 110u8, 110u8, 101u8, 99u8, 116u8, 114u8, 112u8, 99u8, - 46u8, 119u8, 107u8, 116u8, 46u8, 118u8, 49u8, 26u8, 27u8, 103u8, 111u8, - 111u8, 103u8, 108u8, 101u8, 47u8, 112u8, 114u8, 111u8, 116u8, 111u8, 98u8, - 117u8, 102u8, 47u8, 101u8, 109u8, 112u8, 116u8, 121u8, 46u8, 112u8, 114u8, - 111u8, 116u8, 111u8, 26u8, 31u8, 103u8, 111u8, 111u8, 103u8, 108u8, 101u8, - 47u8, 112u8, 114u8, 111u8, 116u8, 111u8, 98u8, 117u8, 102u8, 47u8, 116u8, - 105u8, 109u8, 101u8, 115u8, 116u8, 97u8, 109u8, 112u8, 46u8, 112u8, 114u8, - 111u8, 116u8, 111u8, 26u8, 30u8, 103u8, 111u8, 111u8, 103u8, 108u8, 101u8, - 47u8, 112u8, 114u8, 111u8, 116u8, 111u8, 98u8, 117u8, 102u8, 47u8, 100u8, - 117u8, 114u8, 97u8, 116u8, 105u8, 111u8, 110u8, 46u8, 112u8, 114u8, 111u8, - 116u8, 111u8, 26u8, 28u8, 103u8, 111u8, 111u8, 103u8, 108u8, 101u8, 47u8, - 112u8, 114u8, 111u8, 116u8, 111u8, 98u8, 117u8, 102u8, 47u8, 115u8, 116u8, - 114u8, 117u8, 99u8, 116u8, 46u8, 112u8, 114u8, 111u8, 116u8, 111u8, 34u8, - 156u8, 1u8, 10u8, 18u8, 67u8, 114u8, 101u8, 97u8, 116u8, 101u8, 69u8, 118u8, - 101u8, 110u8, 116u8, 82u8, 101u8, 113u8, 117u8, 101u8, 115u8, 116u8, 18u8, - 18u8, 10u8, 4u8, 110u8, 97u8, 109u8, 101u8, 24u8, 1u8, 32u8, 1u8, 40u8, 9u8, - 82u8, 4u8, 110u8, 97u8, 109u8, 101u8, 18u8, 59u8, 10u8, 11u8, 111u8, 99u8, - 99u8, 117u8, 114u8, 114u8, 101u8, 100u8, 95u8, 97u8, 116u8, 24u8, 2u8, 32u8, - 1u8, 40u8, 11u8, 50u8, 26u8, 46u8, 103u8, 111u8, 111u8, 103u8, 108u8, 101u8, - 46u8, 112u8, 114u8, 111u8, 116u8, 111u8, 98u8, 117u8, 102u8, 46u8, 84u8, - 105u8, 109u8, 101u8, 115u8, 116u8, 97u8, 109u8, 112u8, 82u8, 10u8, 111u8, - 99u8, 99u8, 117u8, 114u8, 114u8, 101u8, 100u8, 65u8, 116u8, 18u8, 53u8, 10u8, - 8u8, 100u8, 117u8, 114u8, 97u8, 116u8, 105u8, 111u8, 110u8, 24u8, 3u8, 32u8, - 1u8, 40u8, 11u8, 50u8, 25u8, 46u8, 103u8, 111u8, 111u8, 103u8, 108u8, 101u8, - 46u8, 112u8, 114u8, 111u8, 116u8, 111u8, 98u8, 117u8, 102u8, 46u8, 68u8, - 117u8, 114u8, 97u8, 116u8, 105u8, 111u8, 110u8, 82u8, 8u8, 100u8, 117u8, - 114u8, 97u8, 116u8, 105u8, 111u8, 110u8, 34u8, 79u8, 10u8, 19u8, 67u8, 114u8, - 101u8, 97u8, 116u8, 101u8, 69u8, 118u8, 101u8, 110u8, 116u8, 82u8, 101u8, - 115u8, 112u8, 111u8, 110u8, 115u8, 101u8, 18u8, 56u8, 10u8, 5u8, 101u8, - 118u8, 101u8, 110u8, 116u8, 24u8, 1u8, 32u8, 1u8, 40u8, 11u8, 50u8, 34u8, - 46u8, 97u8, 110u8, 116u8, 104u8, 114u8, 111u8, 112u8, 105u8, 99u8, 46u8, - 99u8, 111u8, 110u8, 110u8, 101u8, 99u8, 116u8, 114u8, 112u8, 99u8, 46u8, - 119u8, 107u8, 116u8, 46u8, 118u8, 49u8, 46u8, 69u8, 118u8, 101u8, 110u8, - 116u8, 82u8, 5u8, 101u8, 118u8, 101u8, 110u8, 116u8, 34u8, 218u8, 1u8, 10u8, - 5u8, 69u8, 118u8, 101u8, 110u8, 116u8, 18u8, 14u8, 10u8, 2u8, 105u8, 100u8, - 24u8, 1u8, 32u8, 1u8, 40u8, 9u8, 82u8, 2u8, 105u8, 100u8, 18u8, 18u8, 10u8, - 4u8, 110u8, 97u8, 109u8, 101u8, 24u8, 2u8, 32u8, 1u8, 40u8, 9u8, 82u8, 4u8, - 110u8, 97u8, 109u8, 101u8, 18u8, 59u8, 10u8, 11u8, 111u8, 99u8, 99u8, 117u8, - 114u8, 114u8, 101u8, 100u8, 95u8, 97u8, 116u8, 24u8, 3u8, 32u8, 1u8, 40u8, - 11u8, 50u8, 26u8, 46u8, 103u8, 111u8, 111u8, 103u8, 108u8, 101u8, 46u8, - 112u8, 114u8, 111u8, 116u8, 111u8, 98u8, 117u8, 102u8, 46u8, 84u8, 105u8, - 109u8, 101u8, 115u8, 116u8, 97u8, 109u8, 112u8, 82u8, 10u8, 111u8, 99u8, - 99u8, 117u8, 114u8, 114u8, 101u8, 100u8, 65u8, 116u8, 18u8, 53u8, 10u8, 8u8, - 100u8, 117u8, 114u8, 97u8, 116u8, 105u8, 111u8, 110u8, 24u8, 4u8, 32u8, 1u8, - 40u8, 11u8, 50u8, 25u8, 46u8, 103u8, 111u8, 111u8, 103u8, 108u8, 101u8, 46u8, - 112u8, 114u8, 111u8, 116u8, 111u8, 98u8, 117u8, 102u8, 46u8, 68u8, 117u8, - 114u8, 97u8, 116u8, 105u8, 111u8, 110u8, 82u8, 8u8, 100u8, 117u8, 114u8, - 97u8, 116u8, 105u8, 111u8, 110u8, 18u8, 57u8, 10u8, 10u8, 99u8, 114u8, 101u8, - 97u8, 116u8, 101u8, 100u8, 95u8, 97u8, 116u8, 24u8, 5u8, 32u8, 1u8, 40u8, - 11u8, 50u8, 26u8, 46u8, 103u8, 111u8, 111u8, 103u8, 108u8, 101u8, 46u8, - 112u8, 114u8, 111u8, 116u8, 111u8, 98u8, 117u8, 102u8, 46u8, 84u8, 105u8, - 109u8, 101u8, 115u8, 116u8, 97u8, 109u8, 112u8, 82u8, 9u8, 99u8, 114u8, - 101u8, 97u8, 116u8, 101u8, 100u8, 65u8, 116u8, 34u8, 122u8, 10u8, 24u8, 67u8, - 97u8, 108u8, 99u8, 117u8, 108u8, 97u8, 116u8, 101u8, 68u8, 117u8, 114u8, - 97u8, 116u8, 105u8, 111u8, 110u8, 82u8, 101u8, 113u8, 117u8, 101u8, 115u8, - 116u8, 18u8, 48u8, 10u8, 5u8, 115u8, 116u8, 97u8, 114u8, 116u8, 24u8, 1u8, - 32u8, 1u8, 40u8, 11u8, 50u8, 26u8, 46u8, 103u8, 111u8, 111u8, 103u8, 108u8, - 101u8, 46u8, 112u8, 114u8, 111u8, 116u8, 111u8, 98u8, 117u8, 102u8, 46u8, - 84u8, 105u8, 109u8, 101u8, 115u8, 116u8, 97u8, 109u8, 112u8, 82u8, 5u8, - 115u8, 116u8, 97u8, 114u8, 116u8, 18u8, 44u8, 10u8, 3u8, 101u8, 110u8, 100u8, - 24u8, 2u8, 32u8, 1u8, 40u8, 11u8, 50u8, 26u8, 46u8, 103u8, 111u8, 111u8, - 103u8, 108u8, 101u8, 46u8, 112u8, 114u8, 111u8, 116u8, 111u8, 98u8, 117u8, - 102u8, 46u8, 84u8, 105u8, 109u8, 101u8, 115u8, 116u8, 97u8, 109u8, 112u8, - 82u8, 3u8, 101u8, 110u8, 100u8, 34u8, 82u8, 10u8, 25u8, 67u8, 97u8, 108u8, - 99u8, 117u8, 108u8, 97u8, 116u8, 101u8, 68u8, 117u8, 114u8, 97u8, 116u8, - 105u8, 111u8, 110u8, 82u8, 101u8, 115u8, 112u8, 111u8, 110u8, 115u8, 101u8, - 18u8, 53u8, 10u8, 8u8, 100u8, 117u8, 114u8, 97u8, 116u8, 105u8, 111u8, 110u8, - 24u8, 1u8, 32u8, 1u8, 40u8, 11u8, 50u8, 25u8, 46u8, 103u8, 111u8, 111u8, - 103u8, 108u8, 101u8, 46u8, 112u8, 114u8, 111u8, 116u8, 111u8, 98u8, 117u8, - 102u8, 46u8, 68u8, 117u8, 114u8, 97u8, 116u8, 105u8, 111u8, 110u8, 82u8, 8u8, - 100u8, 117u8, 114u8, 97u8, 116u8, 105u8, 111u8, 110u8, 34u8, 77u8, 10u8, - 22u8, 80u8, 114u8, 111u8, 99u8, 101u8, 115u8, 115u8, 77u8, 101u8, 116u8, - 97u8, 100u8, 97u8, 116u8, 97u8, 82u8, 101u8, 113u8, 117u8, 101u8, 115u8, - 116u8, 18u8, 51u8, 10u8, 8u8, 109u8, 101u8, 116u8, 97u8, 100u8, 97u8, 116u8, - 97u8, 24u8, 1u8, 32u8, 1u8, 40u8, 11u8, 50u8, 23u8, 46u8, 103u8, 111u8, - 111u8, 103u8, 108u8, 101u8, 46u8, 112u8, 114u8, 111u8, 116u8, 111u8, 98u8, - 117u8, 102u8, 46u8, 83u8, 116u8, 114u8, 117u8, 99u8, 116u8, 82u8, 8u8, 109u8, - 101u8, 116u8, 97u8, 100u8, 97u8, 116u8, 97u8, 34u8, 111u8, 10u8, 23u8, 80u8, - 114u8, 111u8, 99u8, 101u8, 115u8, 115u8, 77u8, 101u8, 116u8, 97u8, 100u8, - 97u8, 116u8, 97u8, 82u8, 101u8, 115u8, 112u8, 111u8, 110u8, 115u8, 101u8, - 18u8, 51u8, 10u8, 8u8, 109u8, 101u8, 116u8, 97u8, 100u8, 97u8, 116u8, 97u8, - 24u8, 1u8, 32u8, 1u8, 40u8, 11u8, 50u8, 23u8, 46u8, 103u8, 111u8, 111u8, - 103u8, 108u8, 101u8, 46u8, 112u8, 114u8, 111u8, 116u8, 111u8, 98u8, 117u8, - 102u8, 46u8, 83u8, 116u8, 114u8, 117u8, 99u8, 116u8, 82u8, 8u8, 109u8, 101u8, - 116u8, 97u8, 100u8, 97u8, 116u8, 97u8, 18u8, 31u8, 10u8, 11u8, 102u8, 105u8, - 101u8, 108u8, 100u8, 95u8, 99u8, 111u8, 117u8, 110u8, 116u8, 24u8, 2u8, 32u8, - 1u8, 40u8, 5u8, 82u8, 10u8, 102u8, 105u8, 101u8, 108u8, 100u8, 67u8, 111u8, - 117u8, 110u8, 116u8, 50u8, 205u8, 3u8, 10u8, 21u8, 87u8, 101u8, 108u8, 108u8, - 75u8, 110u8, 111u8, 119u8, 110u8, 84u8, 121u8, 112u8, 101u8, 115u8, 83u8, - 101u8, 114u8, 118u8, 105u8, 99u8, 101u8, 18u8, 112u8, 10u8, 11u8, 67u8, - 114u8, 101u8, 97u8, 116u8, 101u8, 69u8, 118u8, 101u8, 110u8, 116u8, 18u8, - 47u8, 46u8, 97u8, 110u8, 116u8, 104u8, 114u8, 111u8, 112u8, 105u8, 99u8, - 46u8, 99u8, 111u8, 110u8, 110u8, 101u8, 99u8, 116u8, 114u8, 112u8, 99u8, - 46u8, 119u8, 107u8, 116u8, 46u8, 118u8, 49u8, 46u8, 67u8, 114u8, 101u8, 97u8, - 116u8, 101u8, 69u8, 118u8, 101u8, 110u8, 116u8, 82u8, 101u8, 113u8, 117u8, - 101u8, 115u8, 116u8, 26u8, 48u8, 46u8, 97u8, 110u8, 116u8, 104u8, 114u8, - 111u8, 112u8, 105u8, 99u8, 46u8, 99u8, 111u8, 110u8, 110u8, 101u8, 99u8, - 116u8, 114u8, 112u8, 99u8, 46u8, 119u8, 107u8, 116u8, 46u8, 118u8, 49u8, - 46u8, 67u8, 114u8, 101u8, 97u8, 116u8, 101u8, 69u8, 118u8, 101u8, 110u8, - 116u8, 82u8, 101u8, 115u8, 112u8, 111u8, 110u8, 115u8, 101u8, 18u8, 130u8, - 1u8, 10u8, 17u8, 67u8, 97u8, 108u8, 99u8, 117u8, 108u8, 97u8, 116u8, 101u8, - 68u8, 117u8, 114u8, 97u8, 116u8, 105u8, 111u8, 110u8, 18u8, 53u8, 46u8, 97u8, - 110u8, 116u8, 104u8, 114u8, 111u8, 112u8, 105u8, 99u8, 46u8, 99u8, 111u8, - 110u8, 110u8, 101u8, 99u8, 116u8, 114u8, 112u8, 99u8, 46u8, 119u8, 107u8, - 116u8, 46u8, 118u8, 49u8, 46u8, 67u8, 97u8, 108u8, 99u8, 117u8, 108u8, 97u8, - 116u8, 101u8, 68u8, 117u8, 114u8, 97u8, 116u8, 105u8, 111u8, 110u8, 82u8, - 101u8, 113u8, 117u8, 101u8, 115u8, 116u8, 26u8, 54u8, 46u8, 97u8, 110u8, - 116u8, 104u8, 114u8, 111u8, 112u8, 105u8, 99u8, 46u8, 99u8, 111u8, 110u8, - 110u8, 101u8, 99u8, 116u8, 114u8, 112u8, 99u8, 46u8, 119u8, 107u8, 116u8, - 46u8, 118u8, 49u8, 46u8, 67u8, 97u8, 108u8, 99u8, 117u8, 108u8, 97u8, 116u8, - 101u8, 68u8, 117u8, 114u8, 97u8, 116u8, 105u8, 111u8, 110u8, 82u8, 101u8, - 115u8, 112u8, 111u8, 110u8, 115u8, 101u8, 18u8, 124u8, 10u8, 15u8, 80u8, - 114u8, 111u8, 99u8, 101u8, 115u8, 115u8, 77u8, 101u8, 116u8, 97u8, 100u8, - 97u8, 116u8, 97u8, 18u8, 51u8, 46u8, 97u8, 110u8, 116u8, 104u8, 114u8, 111u8, - 112u8, 105u8, 99u8, 46u8, 99u8, 111u8, 110u8, 110u8, 101u8, 99u8, 116u8, - 114u8, 112u8, 99u8, 46u8, 119u8, 107u8, 116u8, 46u8, 118u8, 49u8, 46u8, 80u8, - 114u8, 111u8, 99u8, 101u8, 115u8, 115u8, 77u8, 101u8, 116u8, 97u8, 100u8, - 97u8, 116u8, 97u8, 82u8, 101u8, 113u8, 117u8, 101u8, 115u8, 116u8, 26u8, - 52u8, 46u8, 97u8, 110u8, 116u8, 104u8, 114u8, 111u8, 112u8, 105u8, 99u8, - 46u8, 99u8, 111u8, 110u8, 110u8, 101u8, 99u8, 116u8, 114u8, 112u8, 99u8, - 46u8, 119u8, 107u8, 116u8, 46u8, 118u8, 49u8, 46u8, 80u8, 114u8, 111u8, 99u8, - 101u8, 115u8, 115u8, 77u8, 101u8, 116u8, 97u8, 100u8, 97u8, 116u8, 97u8, - 82u8, 101u8, 115u8, 112u8, 111u8, 110u8, 115u8, 101u8, 18u8, 63u8, 10u8, 9u8, - 72u8, 101u8, 97u8, 114u8, 116u8, 98u8, 101u8, 97u8, 116u8, 18u8, 22u8, 46u8, - 103u8, 111u8, 111u8, 103u8, 108u8, 101u8, 46u8, 112u8, 114u8, 111u8, 116u8, - 111u8, 98u8, 117u8, 102u8, 46u8, 69u8, 109u8, 112u8, 116u8, 121u8, 26u8, - 26u8, 46u8, 103u8, 111u8, 111u8, 103u8, 108u8, 101u8, 46u8, 112u8, 114u8, - 111u8, 116u8, 111u8, 98u8, 117u8, 102u8, 46u8, 84u8, 105u8, 109u8, 101u8, - 115u8, 116u8, 97u8, 109u8, 112u8, 98u8, 6u8, 112u8, 114u8, 111u8, 116u8, - 111u8, 51u8, - ]; + pub const FILE_DESCRIPTOR_SET_BYTES: &[u8] = b"\n\x9A\x02\n)anthropic/connectrpc/greet/v1/greet.proto\x12\x1Danthropic.connectrpc.greet.v1\"\"\n\x0CGreetRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\")\n\rGreetResponse\x12\x18\n\x07message\x18\x01 \x01(\tR\x07message2w\n\x0CGreetService\x12g\n\x05Greet\x12+.anthropic.connectrpc.greet.v1.GreetRequest\x1A,.anthropic.connectrpc.greet.v1.GreetResponse\"\x03\x90\x02\x01b\x06proto3\n\x8B\x02\n'anthropic/connectrpc/math/v1/math.proto\x12\x1Canthropic.connectrpc.math.v1\"(\n\nAddRequest\x12\x0C\n\x01a\x18\x01 \x01(\x05R\x01a\x12\x0C\n\x01b\x18\x02 \x01(\x05R\x01b\"%\n\x0BAddResponse\x12\x16\n\x06result\x18\x01 \x01(\x05R\x06result2i\n\x0BMathService\x12Z\n\x03Add\x12(.anthropic.connectrpc.math.v1.AddRequest\x1A).anthropic.connectrpc.math.v1.AddResponseb\x06proto3\n\xBE\x01\n\x1Bgoogle/protobuf/empty.proto\x12\x0Fgoogle.protobuf\"\x07\n\x05EmptyB}\n\x13com.google.protobufB\nEmptyProtoP\x01Z.google.golang.org/protobuf/types/known/emptypb\xF8\x01\x01\xA2\x02\x03GPB\xAA\x02\x1EGoogle.Protobuf.WellKnownTypesb\x06proto3\n\xFF\x01\n\x1Fgoogle/protobuf/timestamp.proto\x12\x0Fgoogle.protobuf\";\n\tTimestamp\x12\x18\n\x07seconds\x18\x01 \x01(\x03R\x07seconds\x12\x14\n\x05nanos\x18\x02 \x01(\x05R\x05nanosB\x85\x01\n\x13com.google.protobufB\x0ETimestampProtoP\x01Z2google.golang.org/protobuf/types/known/timestamppb\xF8\x01\x01\xA2\x02\x03GPB\xAA\x02\x1EGoogle.Protobuf.WellKnownTypesb\x06proto3\n\xFB\x01\n\x1Egoogle/protobuf/duration.proto\x12\x0Fgoogle.protobuf\":\n\x08Duration\x12\x18\n\x07seconds\x18\x01 \x01(\x03R\x07seconds\x12\x14\n\x05nanos\x18\x02 \x01(\x05R\x05nanosB\x83\x01\n\x13com.google.protobufB\rDurationProtoP\x01Z1google.golang.org/protobuf/types/known/durationpb\xF8\x01\x01\xA2\x02\x03GPB\xAA\x02\x1EGoogle.Protobuf.WellKnownTypesb\x06proto3\n\xE2\x05\n\x1Cgoogle/protobuf/struct.proto\x12\x0Fgoogle.protobuf\"\x98\x01\n\x06Struct\x12;\n\x06fields\x18\x01 \x03(\x0B2#.google.protobuf.Struct.FieldsEntryR\x06fields\x1AQ\n\x0BFieldsEntry\x12\x10\n\x03key\x18\x01 \x01(\tR\x03key\x12,\n\x05value\x18\x02 \x01(\x0B2\x16.google.protobuf.ValueR\x05value:\x028\x01\"\xB2\x02\n\x05Value\x12;\n\nnull_value\x18\x01 \x01(\x0E2\x1A.google.protobuf.NullValueH\0R\tnullValue\x12#\n\x0Cnumber_value\x18\x02 \x01(\x01H\0R\x0BnumberValue\x12#\n\x0Cstring_value\x18\x03 \x01(\tH\0R\x0BstringValue\x12\x1F\n\nbool_value\x18\x04 \x01(\x08H\0R\tboolValue\x12<\n\x0Cstruct_value\x18\x05 \x01(\x0B2\x17.google.protobuf.StructH\0R\x0BstructValue\x12;\n\nlist_value\x18\x06 \x01(\x0B2\x1A.google.protobuf.ListValueH\0R\tlistValueB\x06\n\x04kind\";\n\tListValue\x12.\n\x06values\x18\x01 \x03(\x0B2\x16.google.protobuf.ValueR\x06values*\x1B\n\tNullValue\x12\x0E\n\nNULL_VALUE\x10\0B\x7F\n\x13com.google.protobufB\x0BStructProtoP\x01Z/google.golang.org/protobuf/types/known/structpb\xF8\x01\x01\xA2\x02\x03GPB\xAA\x02\x1EGoogle.Protobuf.WellKnownTypesb\x06proto3\n\xF5\x0B\n%anthropic/connectrpc/wkt/v1/wkt.proto\x12\x1Banthropic.connectrpc.wkt.v1\x1A\x1Bgoogle/protobuf/empty.proto\x1A\x1Fgoogle/protobuf/timestamp.proto\x1A\x1Egoogle/protobuf/duration.proto\x1A\x1Cgoogle/protobuf/struct.proto\"\x9C\x01\n\x12CreateEventRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12;\n\x0Boccurred_at\x18\x02 \x01(\x0B2\x1A.google.protobuf.TimestampR\noccurredAt\x125\n\x08duration\x18\x03 \x01(\x0B2\x19.google.protobuf.DurationR\x08duration\"O\n\x13CreateEventResponse\x128\n\x05event\x18\x01 \x01(\x0B2\".anthropic.connectrpc.wkt.v1.EventR\x05event\"\xDA\x01\n\x05Event\x12\x0E\n\x02id\x18\x01 \x01(\tR\x02id\x12\x12\n\x04name\x18\x02 \x01(\tR\x04name\x12;\n\x0Boccurred_at\x18\x03 \x01(\x0B2\x1A.google.protobuf.TimestampR\noccurredAt\x125\n\x08duration\x18\x04 \x01(\x0B2\x19.google.protobuf.DurationR\x08duration\x129\n\ncreated_at\x18\x05 \x01(\x0B2\x1A.google.protobuf.TimestampR\tcreatedAt\"z\n\x18CalculateDurationRequest\x120\n\x05start\x18\x01 \x01(\x0B2\x1A.google.protobuf.TimestampR\x05start\x12,\n\x03end\x18\x02 \x01(\x0B2\x1A.google.protobuf.TimestampR\x03end\"R\n\x19CalculateDurationResponse\x125\n\x08duration\x18\x01 \x01(\x0B2\x19.google.protobuf.DurationR\x08duration\"M\n\x16ProcessMetadataRequest\x123\n\x08metadata\x18\x01 \x01(\x0B2\x17.google.protobuf.StructR\x08metadata\"o\n\x17ProcessMetadataResponse\x123\n\x08metadata\x18\x01 \x01(\x0B2\x17.google.protobuf.StructR\x08metadata\x12\x1F\n\x0Bfield_count\x18\x02 \x01(\x05R\nfieldCount2\xCD\x03\n\x15WellKnownTypesService\x12p\n\x0BCreateEvent\x12/.anthropic.connectrpc.wkt.v1.CreateEventRequest\x1A0.anthropic.connectrpc.wkt.v1.CreateEventResponse\x12\x82\x01\n\x11CalculateDuration\x125.anthropic.connectrpc.wkt.v1.CalculateDurationRequest\x1A6.anthropic.connectrpc.wkt.v1.CalculateDurationResponse\x12|\n\x0FProcessMetadata\x123.anthropic.connectrpc.wkt.v1.ProcessMetadataRequest\x1A4.anthropic.connectrpc.wkt.v1.ProcessMetadataResponse\x12?\n\tHeartbeat\x12\x16.google.protobuf.Empty\x1A\x1A.google.protobuf.Timestampb\x06proto3"; /// The lazily-built descriptor pool for this package's /// `Reflectable` impls. Built from /// [`FILE_DESCRIPTOR_SET_BYTES`] on first access. @@ -359,6 +49,10 @@ pub mod __buffa { /// finite, so corrupt embedded bytes still fail rather than /// exhausting memory. /// + /// The scaled bound is floored at + /// [`DEFAULT_ELEMENT_MEMORY_LIMIT`](::buffa::DEFAULT_ELEMENT_MEMORY_LIMIT), + /// so it is never tighter than the untrusted-input default. + /// /// # Panics /// /// Panics on first access if the embedded bytes are malformed — @@ -374,7 +68,10 @@ pub mod __buffa { POOL.get_or_init(|| { let options = ::buffa::DecodeOptions::new() .with_element_memory_limit( - FILE_DESCRIPTOR_SET_BYTES.len().saturating_mul(64), + FILE_DESCRIPTOR_SET_BYTES + .len() + .saturating_mul(64) + .max(::buffa::DEFAULT_ELEMENT_MEMORY_LIMIT), ); ::buffa::alloc::sync::Arc::new( ::buffa_descriptor::DescriptorPool::decode_with_options( diff --git a/examples/multiservice/src/generated/buffa/anthropic.connectrpc.math.v1.math.__view.rs b/examples/multiservice/src/generated/buffa/anthropic.connectrpc.math.v1.math.__view.rs index 8bdd9106..c0d1090d 100644 --- a/examples/multiservice/src/generated/buffa/anthropic.connectrpc.math.v1.math.__view.rs +++ b/examples/multiservice/src/generated/buffa/anthropic.connectrpc.math.v1.math.__view.rs @@ -18,9 +18,11 @@ impl<'a> ::buffa::MessageView<'a> for AddRequestView<'a> { type Owned = super::super::AddRequest; fn decode_view(buf: &'a [u8]) -> ::core::result::Result { let __limit = ::core::cell::Cell::new(::buffa::DEFAULT_UNKNOWN_FIELD_LIMIT); + let __elem = ::core::cell::Cell::new(::buffa::DEFAULT_ELEMENT_MEMORY_LIMIT); ::decode_view_ctx( buf, - ::buffa::DecodeContext::new(::buffa::RECURSION_LIMIT, &__limit), + ::buffa::DecodeContext::new(::buffa::RECURSION_LIMIT, &__limit) + .with_element_memory(&__elem), ) } fn decode_view_with_ctx( @@ -290,9 +292,11 @@ impl<'a> ::buffa::MessageView<'a> for AddResponseView<'a> { type Owned = super::super::AddResponse; fn decode_view(buf: &'a [u8]) -> ::core::result::Result { let __limit = ::core::cell::Cell::new(::buffa::DEFAULT_UNKNOWN_FIELD_LIMIT); + let __elem = ::core::cell::Cell::new(::buffa::DEFAULT_ELEMENT_MEMORY_LIMIT); ::decode_view_ctx( buf, - ::buffa::DecodeContext::new(::buffa::RECURSION_LIMIT, &__limit), + ::buffa::DecodeContext::new(::buffa::RECURSION_LIMIT, &__limit) + .with_element_memory(&__elem), ) } fn decode_view_with_ctx( diff --git a/examples/multiservice/src/generated/buffa/anthropic.connectrpc.math.v1.mod.rs b/examples/multiservice/src/generated/buffa/anthropic.connectrpc.math.v1.mod.rs index e6036c1b..44ddf47a 100644 --- a/examples/multiservice/src/generated/buffa/anthropic.connectrpc.math.v1.mod.rs +++ b/examples/multiservice/src/generated/buffa/anthropic.connectrpc.math.v1.mod.rs @@ -36,317 +36,7 @@ pub mod __buffa { /// also suitable for shipping the schema over the wire. /// Re-exported at the package root — prefer that path over /// going through `__buffa`. - pub const FILE_DESCRIPTOR_SET_BYTES: &[u8] = &[ - 10u8, 154u8, 2u8, 10u8, 41u8, 97u8, 110u8, 116u8, 104u8, 114u8, 111u8, 112u8, - 105u8, 99u8, 47u8, 99u8, 111u8, 110u8, 110u8, 101u8, 99u8, 116u8, 114u8, - 112u8, 99u8, 47u8, 103u8, 114u8, 101u8, 101u8, 116u8, 47u8, 118u8, 49u8, - 47u8, 103u8, 114u8, 101u8, 101u8, 116u8, 46u8, 112u8, 114u8, 111u8, 116u8, - 111u8, 18u8, 29u8, 97u8, 110u8, 116u8, 104u8, 114u8, 111u8, 112u8, 105u8, - 99u8, 46u8, 99u8, 111u8, 110u8, 110u8, 101u8, 99u8, 116u8, 114u8, 112u8, - 99u8, 46u8, 103u8, 114u8, 101u8, 101u8, 116u8, 46u8, 118u8, 49u8, 34u8, 34u8, - 10u8, 12u8, 71u8, 114u8, 101u8, 101u8, 116u8, 82u8, 101u8, 113u8, 117u8, - 101u8, 115u8, 116u8, 18u8, 18u8, 10u8, 4u8, 110u8, 97u8, 109u8, 101u8, 24u8, - 1u8, 32u8, 1u8, 40u8, 9u8, 82u8, 4u8, 110u8, 97u8, 109u8, 101u8, 34u8, 41u8, - 10u8, 13u8, 71u8, 114u8, 101u8, 101u8, 116u8, 82u8, 101u8, 115u8, 112u8, - 111u8, 110u8, 115u8, 101u8, 18u8, 24u8, 10u8, 7u8, 109u8, 101u8, 115u8, - 115u8, 97u8, 103u8, 101u8, 24u8, 1u8, 32u8, 1u8, 40u8, 9u8, 82u8, 7u8, 109u8, - 101u8, 115u8, 115u8, 97u8, 103u8, 101u8, 50u8, 119u8, 10u8, 12u8, 71u8, - 114u8, 101u8, 101u8, 116u8, 83u8, 101u8, 114u8, 118u8, 105u8, 99u8, 101u8, - 18u8, 103u8, 10u8, 5u8, 71u8, 114u8, 101u8, 101u8, 116u8, 18u8, 43u8, 46u8, - 97u8, 110u8, 116u8, 104u8, 114u8, 111u8, 112u8, 105u8, 99u8, 46u8, 99u8, - 111u8, 110u8, 110u8, 101u8, 99u8, 116u8, 114u8, 112u8, 99u8, 46u8, 103u8, - 114u8, 101u8, 101u8, 116u8, 46u8, 118u8, 49u8, 46u8, 71u8, 114u8, 101u8, - 101u8, 116u8, 82u8, 101u8, 113u8, 117u8, 101u8, 115u8, 116u8, 26u8, 44u8, - 46u8, 97u8, 110u8, 116u8, 104u8, 114u8, 111u8, 112u8, 105u8, 99u8, 46u8, - 99u8, 111u8, 110u8, 110u8, 101u8, 99u8, 116u8, 114u8, 112u8, 99u8, 46u8, - 103u8, 114u8, 101u8, 101u8, 116u8, 46u8, 118u8, 49u8, 46u8, 71u8, 114u8, - 101u8, 101u8, 116u8, 82u8, 101u8, 115u8, 112u8, 111u8, 110u8, 115u8, 101u8, - 34u8, 3u8, 144u8, 2u8, 1u8, 98u8, 6u8, 112u8, 114u8, 111u8, 116u8, 111u8, - 51u8, 10u8, 139u8, 2u8, 10u8, 39u8, 97u8, 110u8, 116u8, 104u8, 114u8, 111u8, - 112u8, 105u8, 99u8, 47u8, 99u8, 111u8, 110u8, 110u8, 101u8, 99u8, 116u8, - 114u8, 112u8, 99u8, 47u8, 109u8, 97u8, 116u8, 104u8, 47u8, 118u8, 49u8, 47u8, - 109u8, 97u8, 116u8, 104u8, 46u8, 112u8, 114u8, 111u8, 116u8, 111u8, 18u8, - 28u8, 97u8, 110u8, 116u8, 104u8, 114u8, 111u8, 112u8, 105u8, 99u8, 46u8, - 99u8, 111u8, 110u8, 110u8, 101u8, 99u8, 116u8, 114u8, 112u8, 99u8, 46u8, - 109u8, 97u8, 116u8, 104u8, 46u8, 118u8, 49u8, 34u8, 40u8, 10u8, 10u8, 65u8, - 100u8, 100u8, 82u8, 101u8, 113u8, 117u8, 101u8, 115u8, 116u8, 18u8, 12u8, - 10u8, 1u8, 97u8, 24u8, 1u8, 32u8, 1u8, 40u8, 5u8, 82u8, 1u8, 97u8, 18u8, - 12u8, 10u8, 1u8, 98u8, 24u8, 2u8, 32u8, 1u8, 40u8, 5u8, 82u8, 1u8, 98u8, - 34u8, 37u8, 10u8, 11u8, 65u8, 100u8, 100u8, 82u8, 101u8, 115u8, 112u8, 111u8, - 110u8, 115u8, 101u8, 18u8, 22u8, 10u8, 6u8, 114u8, 101u8, 115u8, 117u8, - 108u8, 116u8, 24u8, 1u8, 32u8, 1u8, 40u8, 5u8, 82u8, 6u8, 114u8, 101u8, - 115u8, 117u8, 108u8, 116u8, 50u8, 105u8, 10u8, 11u8, 77u8, 97u8, 116u8, - 104u8, 83u8, 101u8, 114u8, 118u8, 105u8, 99u8, 101u8, 18u8, 90u8, 10u8, 3u8, - 65u8, 100u8, 100u8, 18u8, 40u8, 46u8, 97u8, 110u8, 116u8, 104u8, 114u8, - 111u8, 112u8, 105u8, 99u8, 46u8, 99u8, 111u8, 110u8, 110u8, 101u8, 99u8, - 116u8, 114u8, 112u8, 99u8, 46u8, 109u8, 97u8, 116u8, 104u8, 46u8, 118u8, - 49u8, 46u8, 65u8, 100u8, 100u8, 82u8, 101u8, 113u8, 117u8, 101u8, 115u8, - 116u8, 26u8, 41u8, 46u8, 97u8, 110u8, 116u8, 104u8, 114u8, 111u8, 112u8, - 105u8, 99u8, 46u8, 99u8, 111u8, 110u8, 110u8, 101u8, 99u8, 116u8, 114u8, - 112u8, 99u8, 46u8, 109u8, 97u8, 116u8, 104u8, 46u8, 118u8, 49u8, 46u8, 65u8, - 100u8, 100u8, 82u8, 101u8, 115u8, 112u8, 111u8, 110u8, 115u8, 101u8, 98u8, - 6u8, 112u8, 114u8, 111u8, 116u8, 111u8, 51u8, 10u8, 190u8, 1u8, 10u8, 27u8, - 103u8, 111u8, 111u8, 103u8, 108u8, 101u8, 47u8, 112u8, 114u8, 111u8, 116u8, - 111u8, 98u8, 117u8, 102u8, 47u8, 101u8, 109u8, 112u8, 116u8, 121u8, 46u8, - 112u8, 114u8, 111u8, 116u8, 111u8, 18u8, 15u8, 103u8, 111u8, 111u8, 103u8, - 108u8, 101u8, 46u8, 112u8, 114u8, 111u8, 116u8, 111u8, 98u8, 117u8, 102u8, - 34u8, 7u8, 10u8, 5u8, 69u8, 109u8, 112u8, 116u8, 121u8, 66u8, 125u8, 10u8, - 19u8, 99u8, 111u8, 109u8, 46u8, 103u8, 111u8, 111u8, 103u8, 108u8, 101u8, - 46u8, 112u8, 114u8, 111u8, 116u8, 111u8, 98u8, 117u8, 102u8, 66u8, 10u8, - 69u8, 109u8, 112u8, 116u8, 121u8, 80u8, 114u8, 111u8, 116u8, 111u8, 80u8, - 1u8, 90u8, 46u8, 103u8, 111u8, 111u8, 103u8, 108u8, 101u8, 46u8, 103u8, - 111u8, 108u8, 97u8, 110u8, 103u8, 46u8, 111u8, 114u8, 103u8, 47u8, 112u8, - 114u8, 111u8, 116u8, 111u8, 98u8, 117u8, 102u8, 47u8, 116u8, 121u8, 112u8, - 101u8, 115u8, 47u8, 107u8, 110u8, 111u8, 119u8, 110u8, 47u8, 101u8, 109u8, - 112u8, 116u8, 121u8, 112u8, 98u8, 248u8, 1u8, 1u8, 162u8, 2u8, 3u8, 71u8, - 80u8, 66u8, 170u8, 2u8, 30u8, 71u8, 111u8, 111u8, 103u8, 108u8, 101u8, 46u8, - 80u8, 114u8, 111u8, 116u8, 111u8, 98u8, 117u8, 102u8, 46u8, 87u8, 101u8, - 108u8, 108u8, 75u8, 110u8, 111u8, 119u8, 110u8, 84u8, 121u8, 112u8, 101u8, - 115u8, 98u8, 6u8, 112u8, 114u8, 111u8, 116u8, 111u8, 51u8, 10u8, 255u8, 1u8, - 10u8, 31u8, 103u8, 111u8, 111u8, 103u8, 108u8, 101u8, 47u8, 112u8, 114u8, - 111u8, 116u8, 111u8, 98u8, 117u8, 102u8, 47u8, 116u8, 105u8, 109u8, 101u8, - 115u8, 116u8, 97u8, 109u8, 112u8, 46u8, 112u8, 114u8, 111u8, 116u8, 111u8, - 18u8, 15u8, 103u8, 111u8, 111u8, 103u8, 108u8, 101u8, 46u8, 112u8, 114u8, - 111u8, 116u8, 111u8, 98u8, 117u8, 102u8, 34u8, 59u8, 10u8, 9u8, 84u8, 105u8, - 109u8, 101u8, 115u8, 116u8, 97u8, 109u8, 112u8, 18u8, 24u8, 10u8, 7u8, 115u8, - 101u8, 99u8, 111u8, 110u8, 100u8, 115u8, 24u8, 1u8, 32u8, 1u8, 40u8, 3u8, - 82u8, 7u8, 115u8, 101u8, 99u8, 111u8, 110u8, 100u8, 115u8, 18u8, 20u8, 10u8, - 5u8, 110u8, 97u8, 110u8, 111u8, 115u8, 24u8, 2u8, 32u8, 1u8, 40u8, 5u8, 82u8, - 5u8, 110u8, 97u8, 110u8, 111u8, 115u8, 66u8, 133u8, 1u8, 10u8, 19u8, 99u8, - 111u8, 109u8, 46u8, 103u8, 111u8, 111u8, 103u8, 108u8, 101u8, 46u8, 112u8, - 114u8, 111u8, 116u8, 111u8, 98u8, 117u8, 102u8, 66u8, 14u8, 84u8, 105u8, - 109u8, 101u8, 115u8, 116u8, 97u8, 109u8, 112u8, 80u8, 114u8, 111u8, 116u8, - 111u8, 80u8, 1u8, 90u8, 50u8, 103u8, 111u8, 111u8, 103u8, 108u8, 101u8, 46u8, - 103u8, 111u8, 108u8, 97u8, 110u8, 103u8, 46u8, 111u8, 114u8, 103u8, 47u8, - 112u8, 114u8, 111u8, 116u8, 111u8, 98u8, 117u8, 102u8, 47u8, 116u8, 121u8, - 112u8, 101u8, 115u8, 47u8, 107u8, 110u8, 111u8, 119u8, 110u8, 47u8, 116u8, - 105u8, 109u8, 101u8, 115u8, 116u8, 97u8, 109u8, 112u8, 112u8, 98u8, 248u8, - 1u8, 1u8, 162u8, 2u8, 3u8, 71u8, 80u8, 66u8, 170u8, 2u8, 30u8, 71u8, 111u8, - 111u8, 103u8, 108u8, 101u8, 46u8, 80u8, 114u8, 111u8, 116u8, 111u8, 98u8, - 117u8, 102u8, 46u8, 87u8, 101u8, 108u8, 108u8, 75u8, 110u8, 111u8, 119u8, - 110u8, 84u8, 121u8, 112u8, 101u8, 115u8, 98u8, 6u8, 112u8, 114u8, 111u8, - 116u8, 111u8, 51u8, 10u8, 251u8, 1u8, 10u8, 30u8, 103u8, 111u8, 111u8, 103u8, - 108u8, 101u8, 47u8, 112u8, 114u8, 111u8, 116u8, 111u8, 98u8, 117u8, 102u8, - 47u8, 100u8, 117u8, 114u8, 97u8, 116u8, 105u8, 111u8, 110u8, 46u8, 112u8, - 114u8, 111u8, 116u8, 111u8, 18u8, 15u8, 103u8, 111u8, 111u8, 103u8, 108u8, - 101u8, 46u8, 112u8, 114u8, 111u8, 116u8, 111u8, 98u8, 117u8, 102u8, 34u8, - 58u8, 10u8, 8u8, 68u8, 117u8, 114u8, 97u8, 116u8, 105u8, 111u8, 110u8, 18u8, - 24u8, 10u8, 7u8, 115u8, 101u8, 99u8, 111u8, 110u8, 100u8, 115u8, 24u8, 1u8, - 32u8, 1u8, 40u8, 3u8, 82u8, 7u8, 115u8, 101u8, 99u8, 111u8, 110u8, 100u8, - 115u8, 18u8, 20u8, 10u8, 5u8, 110u8, 97u8, 110u8, 111u8, 115u8, 24u8, 2u8, - 32u8, 1u8, 40u8, 5u8, 82u8, 5u8, 110u8, 97u8, 110u8, 111u8, 115u8, 66u8, - 131u8, 1u8, 10u8, 19u8, 99u8, 111u8, 109u8, 46u8, 103u8, 111u8, 111u8, 103u8, - 108u8, 101u8, 46u8, 112u8, 114u8, 111u8, 116u8, 111u8, 98u8, 117u8, 102u8, - 66u8, 13u8, 68u8, 117u8, 114u8, 97u8, 116u8, 105u8, 111u8, 110u8, 80u8, - 114u8, 111u8, 116u8, 111u8, 80u8, 1u8, 90u8, 49u8, 103u8, 111u8, 111u8, - 103u8, 108u8, 101u8, 46u8, 103u8, 111u8, 108u8, 97u8, 110u8, 103u8, 46u8, - 111u8, 114u8, 103u8, 47u8, 112u8, 114u8, 111u8, 116u8, 111u8, 98u8, 117u8, - 102u8, 47u8, 116u8, 121u8, 112u8, 101u8, 115u8, 47u8, 107u8, 110u8, 111u8, - 119u8, 110u8, 47u8, 100u8, 117u8, 114u8, 97u8, 116u8, 105u8, 111u8, 110u8, - 112u8, 98u8, 248u8, 1u8, 1u8, 162u8, 2u8, 3u8, 71u8, 80u8, 66u8, 170u8, 2u8, - 30u8, 71u8, 111u8, 111u8, 103u8, 108u8, 101u8, 46u8, 80u8, 114u8, 111u8, - 116u8, 111u8, 98u8, 117u8, 102u8, 46u8, 87u8, 101u8, 108u8, 108u8, 75u8, - 110u8, 111u8, 119u8, 110u8, 84u8, 121u8, 112u8, 101u8, 115u8, 98u8, 6u8, - 112u8, 114u8, 111u8, 116u8, 111u8, 51u8, 10u8, 226u8, 5u8, 10u8, 28u8, 103u8, - 111u8, 111u8, 103u8, 108u8, 101u8, 47u8, 112u8, 114u8, 111u8, 116u8, 111u8, - 98u8, 117u8, 102u8, 47u8, 115u8, 116u8, 114u8, 117u8, 99u8, 116u8, 46u8, - 112u8, 114u8, 111u8, 116u8, 111u8, 18u8, 15u8, 103u8, 111u8, 111u8, 103u8, - 108u8, 101u8, 46u8, 112u8, 114u8, 111u8, 116u8, 111u8, 98u8, 117u8, 102u8, - 34u8, 152u8, 1u8, 10u8, 6u8, 83u8, 116u8, 114u8, 117u8, 99u8, 116u8, 18u8, - 59u8, 10u8, 6u8, 102u8, 105u8, 101u8, 108u8, 100u8, 115u8, 24u8, 1u8, 32u8, - 3u8, 40u8, 11u8, 50u8, 35u8, 46u8, 103u8, 111u8, 111u8, 103u8, 108u8, 101u8, - 46u8, 112u8, 114u8, 111u8, 116u8, 111u8, 98u8, 117u8, 102u8, 46u8, 83u8, - 116u8, 114u8, 117u8, 99u8, 116u8, 46u8, 70u8, 105u8, 101u8, 108u8, 100u8, - 115u8, 69u8, 110u8, 116u8, 114u8, 121u8, 82u8, 6u8, 102u8, 105u8, 101u8, - 108u8, 100u8, 115u8, 26u8, 81u8, 10u8, 11u8, 70u8, 105u8, 101u8, 108u8, - 100u8, 115u8, 69u8, 110u8, 116u8, 114u8, 121u8, 18u8, 16u8, 10u8, 3u8, 107u8, - 101u8, 121u8, 24u8, 1u8, 32u8, 1u8, 40u8, 9u8, 82u8, 3u8, 107u8, 101u8, - 121u8, 18u8, 44u8, 10u8, 5u8, 118u8, 97u8, 108u8, 117u8, 101u8, 24u8, 2u8, - 32u8, 1u8, 40u8, 11u8, 50u8, 22u8, 46u8, 103u8, 111u8, 111u8, 103u8, 108u8, - 101u8, 46u8, 112u8, 114u8, 111u8, 116u8, 111u8, 98u8, 117u8, 102u8, 46u8, - 86u8, 97u8, 108u8, 117u8, 101u8, 82u8, 5u8, 118u8, 97u8, 108u8, 117u8, 101u8, - 58u8, 2u8, 56u8, 1u8, 34u8, 178u8, 2u8, 10u8, 5u8, 86u8, 97u8, 108u8, 117u8, - 101u8, 18u8, 59u8, 10u8, 10u8, 110u8, 117u8, 108u8, 108u8, 95u8, 118u8, 97u8, - 108u8, 117u8, 101u8, 24u8, 1u8, 32u8, 1u8, 40u8, 14u8, 50u8, 26u8, 46u8, - 103u8, 111u8, 111u8, 103u8, 108u8, 101u8, 46u8, 112u8, 114u8, 111u8, 116u8, - 111u8, 98u8, 117u8, 102u8, 46u8, 78u8, 117u8, 108u8, 108u8, 86u8, 97u8, - 108u8, 117u8, 101u8, 72u8, 0u8, 82u8, 9u8, 110u8, 117u8, 108u8, 108u8, 86u8, - 97u8, 108u8, 117u8, 101u8, 18u8, 35u8, 10u8, 12u8, 110u8, 117u8, 109u8, 98u8, - 101u8, 114u8, 95u8, 118u8, 97u8, 108u8, 117u8, 101u8, 24u8, 2u8, 32u8, 1u8, - 40u8, 1u8, 72u8, 0u8, 82u8, 11u8, 110u8, 117u8, 109u8, 98u8, 101u8, 114u8, - 86u8, 97u8, 108u8, 117u8, 101u8, 18u8, 35u8, 10u8, 12u8, 115u8, 116u8, 114u8, - 105u8, 110u8, 103u8, 95u8, 118u8, 97u8, 108u8, 117u8, 101u8, 24u8, 3u8, 32u8, - 1u8, 40u8, 9u8, 72u8, 0u8, 82u8, 11u8, 115u8, 116u8, 114u8, 105u8, 110u8, - 103u8, 86u8, 97u8, 108u8, 117u8, 101u8, 18u8, 31u8, 10u8, 10u8, 98u8, 111u8, - 111u8, 108u8, 95u8, 118u8, 97u8, 108u8, 117u8, 101u8, 24u8, 4u8, 32u8, 1u8, - 40u8, 8u8, 72u8, 0u8, 82u8, 9u8, 98u8, 111u8, 111u8, 108u8, 86u8, 97u8, - 108u8, 117u8, 101u8, 18u8, 60u8, 10u8, 12u8, 115u8, 116u8, 114u8, 117u8, - 99u8, 116u8, 95u8, 118u8, 97u8, 108u8, 117u8, 101u8, 24u8, 5u8, 32u8, 1u8, - 40u8, 11u8, 50u8, 23u8, 46u8, 103u8, 111u8, 111u8, 103u8, 108u8, 101u8, 46u8, - 112u8, 114u8, 111u8, 116u8, 111u8, 98u8, 117u8, 102u8, 46u8, 83u8, 116u8, - 114u8, 117u8, 99u8, 116u8, 72u8, 0u8, 82u8, 11u8, 115u8, 116u8, 114u8, 117u8, - 99u8, 116u8, 86u8, 97u8, 108u8, 117u8, 101u8, 18u8, 59u8, 10u8, 10u8, 108u8, - 105u8, 115u8, 116u8, 95u8, 118u8, 97u8, 108u8, 117u8, 101u8, 24u8, 6u8, 32u8, - 1u8, 40u8, 11u8, 50u8, 26u8, 46u8, 103u8, 111u8, 111u8, 103u8, 108u8, 101u8, - 46u8, 112u8, 114u8, 111u8, 116u8, 111u8, 98u8, 117u8, 102u8, 46u8, 76u8, - 105u8, 115u8, 116u8, 86u8, 97u8, 108u8, 117u8, 101u8, 72u8, 0u8, 82u8, 9u8, - 108u8, 105u8, 115u8, 116u8, 86u8, 97u8, 108u8, 117u8, 101u8, 66u8, 6u8, 10u8, - 4u8, 107u8, 105u8, 110u8, 100u8, 34u8, 59u8, 10u8, 9u8, 76u8, 105u8, 115u8, - 116u8, 86u8, 97u8, 108u8, 117u8, 101u8, 18u8, 46u8, 10u8, 6u8, 118u8, 97u8, - 108u8, 117u8, 101u8, 115u8, 24u8, 1u8, 32u8, 3u8, 40u8, 11u8, 50u8, 22u8, - 46u8, 103u8, 111u8, 111u8, 103u8, 108u8, 101u8, 46u8, 112u8, 114u8, 111u8, - 116u8, 111u8, 98u8, 117u8, 102u8, 46u8, 86u8, 97u8, 108u8, 117u8, 101u8, - 82u8, 6u8, 118u8, 97u8, 108u8, 117u8, 101u8, 115u8, 42u8, 27u8, 10u8, 9u8, - 78u8, 117u8, 108u8, 108u8, 86u8, 97u8, 108u8, 117u8, 101u8, 18u8, 14u8, 10u8, - 10u8, 78u8, 85u8, 76u8, 76u8, 95u8, 86u8, 65u8, 76u8, 85u8, 69u8, 16u8, 0u8, - 66u8, 127u8, 10u8, 19u8, 99u8, 111u8, 109u8, 46u8, 103u8, 111u8, 111u8, - 103u8, 108u8, 101u8, 46u8, 112u8, 114u8, 111u8, 116u8, 111u8, 98u8, 117u8, - 102u8, 66u8, 11u8, 83u8, 116u8, 114u8, 117u8, 99u8, 116u8, 80u8, 114u8, - 111u8, 116u8, 111u8, 80u8, 1u8, 90u8, 47u8, 103u8, 111u8, 111u8, 103u8, - 108u8, 101u8, 46u8, 103u8, 111u8, 108u8, 97u8, 110u8, 103u8, 46u8, 111u8, - 114u8, 103u8, 47u8, 112u8, 114u8, 111u8, 116u8, 111u8, 98u8, 117u8, 102u8, - 47u8, 116u8, 121u8, 112u8, 101u8, 115u8, 47u8, 107u8, 110u8, 111u8, 119u8, - 110u8, 47u8, 115u8, 116u8, 114u8, 117u8, 99u8, 116u8, 112u8, 98u8, 248u8, - 1u8, 1u8, 162u8, 2u8, 3u8, 71u8, 80u8, 66u8, 170u8, 2u8, 30u8, 71u8, 111u8, - 111u8, 103u8, 108u8, 101u8, 46u8, 80u8, 114u8, 111u8, 116u8, 111u8, 98u8, - 117u8, 102u8, 46u8, 87u8, 101u8, 108u8, 108u8, 75u8, 110u8, 111u8, 119u8, - 110u8, 84u8, 121u8, 112u8, 101u8, 115u8, 98u8, 6u8, 112u8, 114u8, 111u8, - 116u8, 111u8, 51u8, 10u8, 245u8, 11u8, 10u8, 37u8, 97u8, 110u8, 116u8, 104u8, - 114u8, 111u8, 112u8, 105u8, 99u8, 47u8, 99u8, 111u8, 110u8, 110u8, 101u8, - 99u8, 116u8, 114u8, 112u8, 99u8, 47u8, 119u8, 107u8, 116u8, 47u8, 118u8, - 49u8, 47u8, 119u8, 107u8, 116u8, 46u8, 112u8, 114u8, 111u8, 116u8, 111u8, - 18u8, 27u8, 97u8, 110u8, 116u8, 104u8, 114u8, 111u8, 112u8, 105u8, 99u8, - 46u8, 99u8, 111u8, 110u8, 110u8, 101u8, 99u8, 116u8, 114u8, 112u8, 99u8, - 46u8, 119u8, 107u8, 116u8, 46u8, 118u8, 49u8, 26u8, 27u8, 103u8, 111u8, - 111u8, 103u8, 108u8, 101u8, 47u8, 112u8, 114u8, 111u8, 116u8, 111u8, 98u8, - 117u8, 102u8, 47u8, 101u8, 109u8, 112u8, 116u8, 121u8, 46u8, 112u8, 114u8, - 111u8, 116u8, 111u8, 26u8, 31u8, 103u8, 111u8, 111u8, 103u8, 108u8, 101u8, - 47u8, 112u8, 114u8, 111u8, 116u8, 111u8, 98u8, 117u8, 102u8, 47u8, 116u8, - 105u8, 109u8, 101u8, 115u8, 116u8, 97u8, 109u8, 112u8, 46u8, 112u8, 114u8, - 111u8, 116u8, 111u8, 26u8, 30u8, 103u8, 111u8, 111u8, 103u8, 108u8, 101u8, - 47u8, 112u8, 114u8, 111u8, 116u8, 111u8, 98u8, 117u8, 102u8, 47u8, 100u8, - 117u8, 114u8, 97u8, 116u8, 105u8, 111u8, 110u8, 46u8, 112u8, 114u8, 111u8, - 116u8, 111u8, 26u8, 28u8, 103u8, 111u8, 111u8, 103u8, 108u8, 101u8, 47u8, - 112u8, 114u8, 111u8, 116u8, 111u8, 98u8, 117u8, 102u8, 47u8, 115u8, 116u8, - 114u8, 117u8, 99u8, 116u8, 46u8, 112u8, 114u8, 111u8, 116u8, 111u8, 34u8, - 156u8, 1u8, 10u8, 18u8, 67u8, 114u8, 101u8, 97u8, 116u8, 101u8, 69u8, 118u8, - 101u8, 110u8, 116u8, 82u8, 101u8, 113u8, 117u8, 101u8, 115u8, 116u8, 18u8, - 18u8, 10u8, 4u8, 110u8, 97u8, 109u8, 101u8, 24u8, 1u8, 32u8, 1u8, 40u8, 9u8, - 82u8, 4u8, 110u8, 97u8, 109u8, 101u8, 18u8, 59u8, 10u8, 11u8, 111u8, 99u8, - 99u8, 117u8, 114u8, 114u8, 101u8, 100u8, 95u8, 97u8, 116u8, 24u8, 2u8, 32u8, - 1u8, 40u8, 11u8, 50u8, 26u8, 46u8, 103u8, 111u8, 111u8, 103u8, 108u8, 101u8, - 46u8, 112u8, 114u8, 111u8, 116u8, 111u8, 98u8, 117u8, 102u8, 46u8, 84u8, - 105u8, 109u8, 101u8, 115u8, 116u8, 97u8, 109u8, 112u8, 82u8, 10u8, 111u8, - 99u8, 99u8, 117u8, 114u8, 114u8, 101u8, 100u8, 65u8, 116u8, 18u8, 53u8, 10u8, - 8u8, 100u8, 117u8, 114u8, 97u8, 116u8, 105u8, 111u8, 110u8, 24u8, 3u8, 32u8, - 1u8, 40u8, 11u8, 50u8, 25u8, 46u8, 103u8, 111u8, 111u8, 103u8, 108u8, 101u8, - 46u8, 112u8, 114u8, 111u8, 116u8, 111u8, 98u8, 117u8, 102u8, 46u8, 68u8, - 117u8, 114u8, 97u8, 116u8, 105u8, 111u8, 110u8, 82u8, 8u8, 100u8, 117u8, - 114u8, 97u8, 116u8, 105u8, 111u8, 110u8, 34u8, 79u8, 10u8, 19u8, 67u8, 114u8, - 101u8, 97u8, 116u8, 101u8, 69u8, 118u8, 101u8, 110u8, 116u8, 82u8, 101u8, - 115u8, 112u8, 111u8, 110u8, 115u8, 101u8, 18u8, 56u8, 10u8, 5u8, 101u8, - 118u8, 101u8, 110u8, 116u8, 24u8, 1u8, 32u8, 1u8, 40u8, 11u8, 50u8, 34u8, - 46u8, 97u8, 110u8, 116u8, 104u8, 114u8, 111u8, 112u8, 105u8, 99u8, 46u8, - 99u8, 111u8, 110u8, 110u8, 101u8, 99u8, 116u8, 114u8, 112u8, 99u8, 46u8, - 119u8, 107u8, 116u8, 46u8, 118u8, 49u8, 46u8, 69u8, 118u8, 101u8, 110u8, - 116u8, 82u8, 5u8, 101u8, 118u8, 101u8, 110u8, 116u8, 34u8, 218u8, 1u8, 10u8, - 5u8, 69u8, 118u8, 101u8, 110u8, 116u8, 18u8, 14u8, 10u8, 2u8, 105u8, 100u8, - 24u8, 1u8, 32u8, 1u8, 40u8, 9u8, 82u8, 2u8, 105u8, 100u8, 18u8, 18u8, 10u8, - 4u8, 110u8, 97u8, 109u8, 101u8, 24u8, 2u8, 32u8, 1u8, 40u8, 9u8, 82u8, 4u8, - 110u8, 97u8, 109u8, 101u8, 18u8, 59u8, 10u8, 11u8, 111u8, 99u8, 99u8, 117u8, - 114u8, 114u8, 101u8, 100u8, 95u8, 97u8, 116u8, 24u8, 3u8, 32u8, 1u8, 40u8, - 11u8, 50u8, 26u8, 46u8, 103u8, 111u8, 111u8, 103u8, 108u8, 101u8, 46u8, - 112u8, 114u8, 111u8, 116u8, 111u8, 98u8, 117u8, 102u8, 46u8, 84u8, 105u8, - 109u8, 101u8, 115u8, 116u8, 97u8, 109u8, 112u8, 82u8, 10u8, 111u8, 99u8, - 99u8, 117u8, 114u8, 114u8, 101u8, 100u8, 65u8, 116u8, 18u8, 53u8, 10u8, 8u8, - 100u8, 117u8, 114u8, 97u8, 116u8, 105u8, 111u8, 110u8, 24u8, 4u8, 32u8, 1u8, - 40u8, 11u8, 50u8, 25u8, 46u8, 103u8, 111u8, 111u8, 103u8, 108u8, 101u8, 46u8, - 112u8, 114u8, 111u8, 116u8, 111u8, 98u8, 117u8, 102u8, 46u8, 68u8, 117u8, - 114u8, 97u8, 116u8, 105u8, 111u8, 110u8, 82u8, 8u8, 100u8, 117u8, 114u8, - 97u8, 116u8, 105u8, 111u8, 110u8, 18u8, 57u8, 10u8, 10u8, 99u8, 114u8, 101u8, - 97u8, 116u8, 101u8, 100u8, 95u8, 97u8, 116u8, 24u8, 5u8, 32u8, 1u8, 40u8, - 11u8, 50u8, 26u8, 46u8, 103u8, 111u8, 111u8, 103u8, 108u8, 101u8, 46u8, - 112u8, 114u8, 111u8, 116u8, 111u8, 98u8, 117u8, 102u8, 46u8, 84u8, 105u8, - 109u8, 101u8, 115u8, 116u8, 97u8, 109u8, 112u8, 82u8, 9u8, 99u8, 114u8, - 101u8, 97u8, 116u8, 101u8, 100u8, 65u8, 116u8, 34u8, 122u8, 10u8, 24u8, 67u8, - 97u8, 108u8, 99u8, 117u8, 108u8, 97u8, 116u8, 101u8, 68u8, 117u8, 114u8, - 97u8, 116u8, 105u8, 111u8, 110u8, 82u8, 101u8, 113u8, 117u8, 101u8, 115u8, - 116u8, 18u8, 48u8, 10u8, 5u8, 115u8, 116u8, 97u8, 114u8, 116u8, 24u8, 1u8, - 32u8, 1u8, 40u8, 11u8, 50u8, 26u8, 46u8, 103u8, 111u8, 111u8, 103u8, 108u8, - 101u8, 46u8, 112u8, 114u8, 111u8, 116u8, 111u8, 98u8, 117u8, 102u8, 46u8, - 84u8, 105u8, 109u8, 101u8, 115u8, 116u8, 97u8, 109u8, 112u8, 82u8, 5u8, - 115u8, 116u8, 97u8, 114u8, 116u8, 18u8, 44u8, 10u8, 3u8, 101u8, 110u8, 100u8, - 24u8, 2u8, 32u8, 1u8, 40u8, 11u8, 50u8, 26u8, 46u8, 103u8, 111u8, 111u8, - 103u8, 108u8, 101u8, 46u8, 112u8, 114u8, 111u8, 116u8, 111u8, 98u8, 117u8, - 102u8, 46u8, 84u8, 105u8, 109u8, 101u8, 115u8, 116u8, 97u8, 109u8, 112u8, - 82u8, 3u8, 101u8, 110u8, 100u8, 34u8, 82u8, 10u8, 25u8, 67u8, 97u8, 108u8, - 99u8, 117u8, 108u8, 97u8, 116u8, 101u8, 68u8, 117u8, 114u8, 97u8, 116u8, - 105u8, 111u8, 110u8, 82u8, 101u8, 115u8, 112u8, 111u8, 110u8, 115u8, 101u8, - 18u8, 53u8, 10u8, 8u8, 100u8, 117u8, 114u8, 97u8, 116u8, 105u8, 111u8, 110u8, - 24u8, 1u8, 32u8, 1u8, 40u8, 11u8, 50u8, 25u8, 46u8, 103u8, 111u8, 111u8, - 103u8, 108u8, 101u8, 46u8, 112u8, 114u8, 111u8, 116u8, 111u8, 98u8, 117u8, - 102u8, 46u8, 68u8, 117u8, 114u8, 97u8, 116u8, 105u8, 111u8, 110u8, 82u8, 8u8, - 100u8, 117u8, 114u8, 97u8, 116u8, 105u8, 111u8, 110u8, 34u8, 77u8, 10u8, - 22u8, 80u8, 114u8, 111u8, 99u8, 101u8, 115u8, 115u8, 77u8, 101u8, 116u8, - 97u8, 100u8, 97u8, 116u8, 97u8, 82u8, 101u8, 113u8, 117u8, 101u8, 115u8, - 116u8, 18u8, 51u8, 10u8, 8u8, 109u8, 101u8, 116u8, 97u8, 100u8, 97u8, 116u8, - 97u8, 24u8, 1u8, 32u8, 1u8, 40u8, 11u8, 50u8, 23u8, 46u8, 103u8, 111u8, - 111u8, 103u8, 108u8, 101u8, 46u8, 112u8, 114u8, 111u8, 116u8, 111u8, 98u8, - 117u8, 102u8, 46u8, 83u8, 116u8, 114u8, 117u8, 99u8, 116u8, 82u8, 8u8, 109u8, - 101u8, 116u8, 97u8, 100u8, 97u8, 116u8, 97u8, 34u8, 111u8, 10u8, 23u8, 80u8, - 114u8, 111u8, 99u8, 101u8, 115u8, 115u8, 77u8, 101u8, 116u8, 97u8, 100u8, - 97u8, 116u8, 97u8, 82u8, 101u8, 115u8, 112u8, 111u8, 110u8, 115u8, 101u8, - 18u8, 51u8, 10u8, 8u8, 109u8, 101u8, 116u8, 97u8, 100u8, 97u8, 116u8, 97u8, - 24u8, 1u8, 32u8, 1u8, 40u8, 11u8, 50u8, 23u8, 46u8, 103u8, 111u8, 111u8, - 103u8, 108u8, 101u8, 46u8, 112u8, 114u8, 111u8, 116u8, 111u8, 98u8, 117u8, - 102u8, 46u8, 83u8, 116u8, 114u8, 117u8, 99u8, 116u8, 82u8, 8u8, 109u8, 101u8, - 116u8, 97u8, 100u8, 97u8, 116u8, 97u8, 18u8, 31u8, 10u8, 11u8, 102u8, 105u8, - 101u8, 108u8, 100u8, 95u8, 99u8, 111u8, 117u8, 110u8, 116u8, 24u8, 2u8, 32u8, - 1u8, 40u8, 5u8, 82u8, 10u8, 102u8, 105u8, 101u8, 108u8, 100u8, 67u8, 111u8, - 117u8, 110u8, 116u8, 50u8, 205u8, 3u8, 10u8, 21u8, 87u8, 101u8, 108u8, 108u8, - 75u8, 110u8, 111u8, 119u8, 110u8, 84u8, 121u8, 112u8, 101u8, 115u8, 83u8, - 101u8, 114u8, 118u8, 105u8, 99u8, 101u8, 18u8, 112u8, 10u8, 11u8, 67u8, - 114u8, 101u8, 97u8, 116u8, 101u8, 69u8, 118u8, 101u8, 110u8, 116u8, 18u8, - 47u8, 46u8, 97u8, 110u8, 116u8, 104u8, 114u8, 111u8, 112u8, 105u8, 99u8, - 46u8, 99u8, 111u8, 110u8, 110u8, 101u8, 99u8, 116u8, 114u8, 112u8, 99u8, - 46u8, 119u8, 107u8, 116u8, 46u8, 118u8, 49u8, 46u8, 67u8, 114u8, 101u8, 97u8, - 116u8, 101u8, 69u8, 118u8, 101u8, 110u8, 116u8, 82u8, 101u8, 113u8, 117u8, - 101u8, 115u8, 116u8, 26u8, 48u8, 46u8, 97u8, 110u8, 116u8, 104u8, 114u8, - 111u8, 112u8, 105u8, 99u8, 46u8, 99u8, 111u8, 110u8, 110u8, 101u8, 99u8, - 116u8, 114u8, 112u8, 99u8, 46u8, 119u8, 107u8, 116u8, 46u8, 118u8, 49u8, - 46u8, 67u8, 114u8, 101u8, 97u8, 116u8, 101u8, 69u8, 118u8, 101u8, 110u8, - 116u8, 82u8, 101u8, 115u8, 112u8, 111u8, 110u8, 115u8, 101u8, 18u8, 130u8, - 1u8, 10u8, 17u8, 67u8, 97u8, 108u8, 99u8, 117u8, 108u8, 97u8, 116u8, 101u8, - 68u8, 117u8, 114u8, 97u8, 116u8, 105u8, 111u8, 110u8, 18u8, 53u8, 46u8, 97u8, - 110u8, 116u8, 104u8, 114u8, 111u8, 112u8, 105u8, 99u8, 46u8, 99u8, 111u8, - 110u8, 110u8, 101u8, 99u8, 116u8, 114u8, 112u8, 99u8, 46u8, 119u8, 107u8, - 116u8, 46u8, 118u8, 49u8, 46u8, 67u8, 97u8, 108u8, 99u8, 117u8, 108u8, 97u8, - 116u8, 101u8, 68u8, 117u8, 114u8, 97u8, 116u8, 105u8, 111u8, 110u8, 82u8, - 101u8, 113u8, 117u8, 101u8, 115u8, 116u8, 26u8, 54u8, 46u8, 97u8, 110u8, - 116u8, 104u8, 114u8, 111u8, 112u8, 105u8, 99u8, 46u8, 99u8, 111u8, 110u8, - 110u8, 101u8, 99u8, 116u8, 114u8, 112u8, 99u8, 46u8, 119u8, 107u8, 116u8, - 46u8, 118u8, 49u8, 46u8, 67u8, 97u8, 108u8, 99u8, 117u8, 108u8, 97u8, 116u8, - 101u8, 68u8, 117u8, 114u8, 97u8, 116u8, 105u8, 111u8, 110u8, 82u8, 101u8, - 115u8, 112u8, 111u8, 110u8, 115u8, 101u8, 18u8, 124u8, 10u8, 15u8, 80u8, - 114u8, 111u8, 99u8, 101u8, 115u8, 115u8, 77u8, 101u8, 116u8, 97u8, 100u8, - 97u8, 116u8, 97u8, 18u8, 51u8, 46u8, 97u8, 110u8, 116u8, 104u8, 114u8, 111u8, - 112u8, 105u8, 99u8, 46u8, 99u8, 111u8, 110u8, 110u8, 101u8, 99u8, 116u8, - 114u8, 112u8, 99u8, 46u8, 119u8, 107u8, 116u8, 46u8, 118u8, 49u8, 46u8, 80u8, - 114u8, 111u8, 99u8, 101u8, 115u8, 115u8, 77u8, 101u8, 116u8, 97u8, 100u8, - 97u8, 116u8, 97u8, 82u8, 101u8, 113u8, 117u8, 101u8, 115u8, 116u8, 26u8, - 52u8, 46u8, 97u8, 110u8, 116u8, 104u8, 114u8, 111u8, 112u8, 105u8, 99u8, - 46u8, 99u8, 111u8, 110u8, 110u8, 101u8, 99u8, 116u8, 114u8, 112u8, 99u8, - 46u8, 119u8, 107u8, 116u8, 46u8, 118u8, 49u8, 46u8, 80u8, 114u8, 111u8, 99u8, - 101u8, 115u8, 115u8, 77u8, 101u8, 116u8, 97u8, 100u8, 97u8, 116u8, 97u8, - 82u8, 101u8, 115u8, 112u8, 111u8, 110u8, 115u8, 101u8, 18u8, 63u8, 10u8, 9u8, - 72u8, 101u8, 97u8, 114u8, 116u8, 98u8, 101u8, 97u8, 116u8, 18u8, 22u8, 46u8, - 103u8, 111u8, 111u8, 103u8, 108u8, 101u8, 46u8, 112u8, 114u8, 111u8, 116u8, - 111u8, 98u8, 117u8, 102u8, 46u8, 69u8, 109u8, 112u8, 116u8, 121u8, 26u8, - 26u8, 46u8, 103u8, 111u8, 111u8, 103u8, 108u8, 101u8, 46u8, 112u8, 114u8, - 111u8, 116u8, 111u8, 98u8, 117u8, 102u8, 46u8, 84u8, 105u8, 109u8, 101u8, - 115u8, 116u8, 97u8, 109u8, 112u8, 98u8, 6u8, 112u8, 114u8, 111u8, 116u8, - 111u8, 51u8, - ]; + pub const FILE_DESCRIPTOR_SET_BYTES: &[u8] = b"\n\x9A\x02\n)anthropic/connectrpc/greet/v1/greet.proto\x12\x1Danthropic.connectrpc.greet.v1\"\"\n\x0CGreetRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\")\n\rGreetResponse\x12\x18\n\x07message\x18\x01 \x01(\tR\x07message2w\n\x0CGreetService\x12g\n\x05Greet\x12+.anthropic.connectrpc.greet.v1.GreetRequest\x1A,.anthropic.connectrpc.greet.v1.GreetResponse\"\x03\x90\x02\x01b\x06proto3\n\x8B\x02\n'anthropic/connectrpc/math/v1/math.proto\x12\x1Canthropic.connectrpc.math.v1\"(\n\nAddRequest\x12\x0C\n\x01a\x18\x01 \x01(\x05R\x01a\x12\x0C\n\x01b\x18\x02 \x01(\x05R\x01b\"%\n\x0BAddResponse\x12\x16\n\x06result\x18\x01 \x01(\x05R\x06result2i\n\x0BMathService\x12Z\n\x03Add\x12(.anthropic.connectrpc.math.v1.AddRequest\x1A).anthropic.connectrpc.math.v1.AddResponseb\x06proto3\n\xBE\x01\n\x1Bgoogle/protobuf/empty.proto\x12\x0Fgoogle.protobuf\"\x07\n\x05EmptyB}\n\x13com.google.protobufB\nEmptyProtoP\x01Z.google.golang.org/protobuf/types/known/emptypb\xF8\x01\x01\xA2\x02\x03GPB\xAA\x02\x1EGoogle.Protobuf.WellKnownTypesb\x06proto3\n\xFF\x01\n\x1Fgoogle/protobuf/timestamp.proto\x12\x0Fgoogle.protobuf\";\n\tTimestamp\x12\x18\n\x07seconds\x18\x01 \x01(\x03R\x07seconds\x12\x14\n\x05nanos\x18\x02 \x01(\x05R\x05nanosB\x85\x01\n\x13com.google.protobufB\x0ETimestampProtoP\x01Z2google.golang.org/protobuf/types/known/timestamppb\xF8\x01\x01\xA2\x02\x03GPB\xAA\x02\x1EGoogle.Protobuf.WellKnownTypesb\x06proto3\n\xFB\x01\n\x1Egoogle/protobuf/duration.proto\x12\x0Fgoogle.protobuf\":\n\x08Duration\x12\x18\n\x07seconds\x18\x01 \x01(\x03R\x07seconds\x12\x14\n\x05nanos\x18\x02 \x01(\x05R\x05nanosB\x83\x01\n\x13com.google.protobufB\rDurationProtoP\x01Z1google.golang.org/protobuf/types/known/durationpb\xF8\x01\x01\xA2\x02\x03GPB\xAA\x02\x1EGoogle.Protobuf.WellKnownTypesb\x06proto3\n\xE2\x05\n\x1Cgoogle/protobuf/struct.proto\x12\x0Fgoogle.protobuf\"\x98\x01\n\x06Struct\x12;\n\x06fields\x18\x01 \x03(\x0B2#.google.protobuf.Struct.FieldsEntryR\x06fields\x1AQ\n\x0BFieldsEntry\x12\x10\n\x03key\x18\x01 \x01(\tR\x03key\x12,\n\x05value\x18\x02 \x01(\x0B2\x16.google.protobuf.ValueR\x05value:\x028\x01\"\xB2\x02\n\x05Value\x12;\n\nnull_value\x18\x01 \x01(\x0E2\x1A.google.protobuf.NullValueH\0R\tnullValue\x12#\n\x0Cnumber_value\x18\x02 \x01(\x01H\0R\x0BnumberValue\x12#\n\x0Cstring_value\x18\x03 \x01(\tH\0R\x0BstringValue\x12\x1F\n\nbool_value\x18\x04 \x01(\x08H\0R\tboolValue\x12<\n\x0Cstruct_value\x18\x05 \x01(\x0B2\x17.google.protobuf.StructH\0R\x0BstructValue\x12;\n\nlist_value\x18\x06 \x01(\x0B2\x1A.google.protobuf.ListValueH\0R\tlistValueB\x06\n\x04kind\";\n\tListValue\x12.\n\x06values\x18\x01 \x03(\x0B2\x16.google.protobuf.ValueR\x06values*\x1B\n\tNullValue\x12\x0E\n\nNULL_VALUE\x10\0B\x7F\n\x13com.google.protobufB\x0BStructProtoP\x01Z/google.golang.org/protobuf/types/known/structpb\xF8\x01\x01\xA2\x02\x03GPB\xAA\x02\x1EGoogle.Protobuf.WellKnownTypesb\x06proto3\n\xF5\x0B\n%anthropic/connectrpc/wkt/v1/wkt.proto\x12\x1Banthropic.connectrpc.wkt.v1\x1A\x1Bgoogle/protobuf/empty.proto\x1A\x1Fgoogle/protobuf/timestamp.proto\x1A\x1Egoogle/protobuf/duration.proto\x1A\x1Cgoogle/protobuf/struct.proto\"\x9C\x01\n\x12CreateEventRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12;\n\x0Boccurred_at\x18\x02 \x01(\x0B2\x1A.google.protobuf.TimestampR\noccurredAt\x125\n\x08duration\x18\x03 \x01(\x0B2\x19.google.protobuf.DurationR\x08duration\"O\n\x13CreateEventResponse\x128\n\x05event\x18\x01 \x01(\x0B2\".anthropic.connectrpc.wkt.v1.EventR\x05event\"\xDA\x01\n\x05Event\x12\x0E\n\x02id\x18\x01 \x01(\tR\x02id\x12\x12\n\x04name\x18\x02 \x01(\tR\x04name\x12;\n\x0Boccurred_at\x18\x03 \x01(\x0B2\x1A.google.protobuf.TimestampR\noccurredAt\x125\n\x08duration\x18\x04 \x01(\x0B2\x19.google.protobuf.DurationR\x08duration\x129\n\ncreated_at\x18\x05 \x01(\x0B2\x1A.google.protobuf.TimestampR\tcreatedAt\"z\n\x18CalculateDurationRequest\x120\n\x05start\x18\x01 \x01(\x0B2\x1A.google.protobuf.TimestampR\x05start\x12,\n\x03end\x18\x02 \x01(\x0B2\x1A.google.protobuf.TimestampR\x03end\"R\n\x19CalculateDurationResponse\x125\n\x08duration\x18\x01 \x01(\x0B2\x19.google.protobuf.DurationR\x08duration\"M\n\x16ProcessMetadataRequest\x123\n\x08metadata\x18\x01 \x01(\x0B2\x17.google.protobuf.StructR\x08metadata\"o\n\x17ProcessMetadataResponse\x123\n\x08metadata\x18\x01 \x01(\x0B2\x17.google.protobuf.StructR\x08metadata\x12\x1F\n\x0Bfield_count\x18\x02 \x01(\x05R\nfieldCount2\xCD\x03\n\x15WellKnownTypesService\x12p\n\x0BCreateEvent\x12/.anthropic.connectrpc.wkt.v1.CreateEventRequest\x1A0.anthropic.connectrpc.wkt.v1.CreateEventResponse\x12\x82\x01\n\x11CalculateDuration\x125.anthropic.connectrpc.wkt.v1.CalculateDurationRequest\x1A6.anthropic.connectrpc.wkt.v1.CalculateDurationResponse\x12|\n\x0FProcessMetadata\x123.anthropic.connectrpc.wkt.v1.ProcessMetadataRequest\x1A4.anthropic.connectrpc.wkt.v1.ProcessMetadataResponse\x12?\n\tHeartbeat\x12\x16.google.protobuf.Empty\x1A\x1A.google.protobuf.Timestampb\x06proto3"; /// The lazily-built descriptor pool for this package's /// `Reflectable` impls. Built from /// [`FILE_DESCRIPTOR_SET_BYTES`] on first access. @@ -359,6 +49,10 @@ pub mod __buffa { /// finite, so corrupt embedded bytes still fail rather than /// exhausting memory. /// + /// The scaled bound is floored at + /// [`DEFAULT_ELEMENT_MEMORY_LIMIT`](::buffa::DEFAULT_ELEMENT_MEMORY_LIMIT), + /// so it is never tighter than the untrusted-input default. + /// /// # Panics /// /// Panics on first access if the embedded bytes are malformed — @@ -374,7 +68,10 @@ pub mod __buffa { POOL.get_or_init(|| { let options = ::buffa::DecodeOptions::new() .with_element_memory_limit( - FILE_DESCRIPTOR_SET_BYTES.len().saturating_mul(64), + FILE_DESCRIPTOR_SET_BYTES + .len() + .saturating_mul(64) + .max(::buffa::DEFAULT_ELEMENT_MEMORY_LIMIT), ); ::buffa::alloc::sync::Arc::new( ::buffa_descriptor::DescriptorPool::decode_with_options( diff --git a/examples/multiservice/src/generated/buffa/anthropic.connectrpc.wkt.v1.mod.rs b/examples/multiservice/src/generated/buffa/anthropic.connectrpc.wkt.v1.mod.rs index 340eaf59..9fbcd7e9 100644 --- a/examples/multiservice/src/generated/buffa/anthropic.connectrpc.wkt.v1.mod.rs +++ b/examples/multiservice/src/generated/buffa/anthropic.connectrpc.wkt.v1.mod.rs @@ -41,317 +41,7 @@ pub mod __buffa { /// also suitable for shipping the schema over the wire. /// Re-exported at the package root — prefer that path over /// going through `__buffa`. - pub const FILE_DESCRIPTOR_SET_BYTES: &[u8] = &[ - 10u8, 154u8, 2u8, 10u8, 41u8, 97u8, 110u8, 116u8, 104u8, 114u8, 111u8, 112u8, - 105u8, 99u8, 47u8, 99u8, 111u8, 110u8, 110u8, 101u8, 99u8, 116u8, 114u8, - 112u8, 99u8, 47u8, 103u8, 114u8, 101u8, 101u8, 116u8, 47u8, 118u8, 49u8, - 47u8, 103u8, 114u8, 101u8, 101u8, 116u8, 46u8, 112u8, 114u8, 111u8, 116u8, - 111u8, 18u8, 29u8, 97u8, 110u8, 116u8, 104u8, 114u8, 111u8, 112u8, 105u8, - 99u8, 46u8, 99u8, 111u8, 110u8, 110u8, 101u8, 99u8, 116u8, 114u8, 112u8, - 99u8, 46u8, 103u8, 114u8, 101u8, 101u8, 116u8, 46u8, 118u8, 49u8, 34u8, 34u8, - 10u8, 12u8, 71u8, 114u8, 101u8, 101u8, 116u8, 82u8, 101u8, 113u8, 117u8, - 101u8, 115u8, 116u8, 18u8, 18u8, 10u8, 4u8, 110u8, 97u8, 109u8, 101u8, 24u8, - 1u8, 32u8, 1u8, 40u8, 9u8, 82u8, 4u8, 110u8, 97u8, 109u8, 101u8, 34u8, 41u8, - 10u8, 13u8, 71u8, 114u8, 101u8, 101u8, 116u8, 82u8, 101u8, 115u8, 112u8, - 111u8, 110u8, 115u8, 101u8, 18u8, 24u8, 10u8, 7u8, 109u8, 101u8, 115u8, - 115u8, 97u8, 103u8, 101u8, 24u8, 1u8, 32u8, 1u8, 40u8, 9u8, 82u8, 7u8, 109u8, - 101u8, 115u8, 115u8, 97u8, 103u8, 101u8, 50u8, 119u8, 10u8, 12u8, 71u8, - 114u8, 101u8, 101u8, 116u8, 83u8, 101u8, 114u8, 118u8, 105u8, 99u8, 101u8, - 18u8, 103u8, 10u8, 5u8, 71u8, 114u8, 101u8, 101u8, 116u8, 18u8, 43u8, 46u8, - 97u8, 110u8, 116u8, 104u8, 114u8, 111u8, 112u8, 105u8, 99u8, 46u8, 99u8, - 111u8, 110u8, 110u8, 101u8, 99u8, 116u8, 114u8, 112u8, 99u8, 46u8, 103u8, - 114u8, 101u8, 101u8, 116u8, 46u8, 118u8, 49u8, 46u8, 71u8, 114u8, 101u8, - 101u8, 116u8, 82u8, 101u8, 113u8, 117u8, 101u8, 115u8, 116u8, 26u8, 44u8, - 46u8, 97u8, 110u8, 116u8, 104u8, 114u8, 111u8, 112u8, 105u8, 99u8, 46u8, - 99u8, 111u8, 110u8, 110u8, 101u8, 99u8, 116u8, 114u8, 112u8, 99u8, 46u8, - 103u8, 114u8, 101u8, 101u8, 116u8, 46u8, 118u8, 49u8, 46u8, 71u8, 114u8, - 101u8, 101u8, 116u8, 82u8, 101u8, 115u8, 112u8, 111u8, 110u8, 115u8, 101u8, - 34u8, 3u8, 144u8, 2u8, 1u8, 98u8, 6u8, 112u8, 114u8, 111u8, 116u8, 111u8, - 51u8, 10u8, 139u8, 2u8, 10u8, 39u8, 97u8, 110u8, 116u8, 104u8, 114u8, 111u8, - 112u8, 105u8, 99u8, 47u8, 99u8, 111u8, 110u8, 110u8, 101u8, 99u8, 116u8, - 114u8, 112u8, 99u8, 47u8, 109u8, 97u8, 116u8, 104u8, 47u8, 118u8, 49u8, 47u8, - 109u8, 97u8, 116u8, 104u8, 46u8, 112u8, 114u8, 111u8, 116u8, 111u8, 18u8, - 28u8, 97u8, 110u8, 116u8, 104u8, 114u8, 111u8, 112u8, 105u8, 99u8, 46u8, - 99u8, 111u8, 110u8, 110u8, 101u8, 99u8, 116u8, 114u8, 112u8, 99u8, 46u8, - 109u8, 97u8, 116u8, 104u8, 46u8, 118u8, 49u8, 34u8, 40u8, 10u8, 10u8, 65u8, - 100u8, 100u8, 82u8, 101u8, 113u8, 117u8, 101u8, 115u8, 116u8, 18u8, 12u8, - 10u8, 1u8, 97u8, 24u8, 1u8, 32u8, 1u8, 40u8, 5u8, 82u8, 1u8, 97u8, 18u8, - 12u8, 10u8, 1u8, 98u8, 24u8, 2u8, 32u8, 1u8, 40u8, 5u8, 82u8, 1u8, 98u8, - 34u8, 37u8, 10u8, 11u8, 65u8, 100u8, 100u8, 82u8, 101u8, 115u8, 112u8, 111u8, - 110u8, 115u8, 101u8, 18u8, 22u8, 10u8, 6u8, 114u8, 101u8, 115u8, 117u8, - 108u8, 116u8, 24u8, 1u8, 32u8, 1u8, 40u8, 5u8, 82u8, 6u8, 114u8, 101u8, - 115u8, 117u8, 108u8, 116u8, 50u8, 105u8, 10u8, 11u8, 77u8, 97u8, 116u8, - 104u8, 83u8, 101u8, 114u8, 118u8, 105u8, 99u8, 101u8, 18u8, 90u8, 10u8, 3u8, - 65u8, 100u8, 100u8, 18u8, 40u8, 46u8, 97u8, 110u8, 116u8, 104u8, 114u8, - 111u8, 112u8, 105u8, 99u8, 46u8, 99u8, 111u8, 110u8, 110u8, 101u8, 99u8, - 116u8, 114u8, 112u8, 99u8, 46u8, 109u8, 97u8, 116u8, 104u8, 46u8, 118u8, - 49u8, 46u8, 65u8, 100u8, 100u8, 82u8, 101u8, 113u8, 117u8, 101u8, 115u8, - 116u8, 26u8, 41u8, 46u8, 97u8, 110u8, 116u8, 104u8, 114u8, 111u8, 112u8, - 105u8, 99u8, 46u8, 99u8, 111u8, 110u8, 110u8, 101u8, 99u8, 116u8, 114u8, - 112u8, 99u8, 46u8, 109u8, 97u8, 116u8, 104u8, 46u8, 118u8, 49u8, 46u8, 65u8, - 100u8, 100u8, 82u8, 101u8, 115u8, 112u8, 111u8, 110u8, 115u8, 101u8, 98u8, - 6u8, 112u8, 114u8, 111u8, 116u8, 111u8, 51u8, 10u8, 190u8, 1u8, 10u8, 27u8, - 103u8, 111u8, 111u8, 103u8, 108u8, 101u8, 47u8, 112u8, 114u8, 111u8, 116u8, - 111u8, 98u8, 117u8, 102u8, 47u8, 101u8, 109u8, 112u8, 116u8, 121u8, 46u8, - 112u8, 114u8, 111u8, 116u8, 111u8, 18u8, 15u8, 103u8, 111u8, 111u8, 103u8, - 108u8, 101u8, 46u8, 112u8, 114u8, 111u8, 116u8, 111u8, 98u8, 117u8, 102u8, - 34u8, 7u8, 10u8, 5u8, 69u8, 109u8, 112u8, 116u8, 121u8, 66u8, 125u8, 10u8, - 19u8, 99u8, 111u8, 109u8, 46u8, 103u8, 111u8, 111u8, 103u8, 108u8, 101u8, - 46u8, 112u8, 114u8, 111u8, 116u8, 111u8, 98u8, 117u8, 102u8, 66u8, 10u8, - 69u8, 109u8, 112u8, 116u8, 121u8, 80u8, 114u8, 111u8, 116u8, 111u8, 80u8, - 1u8, 90u8, 46u8, 103u8, 111u8, 111u8, 103u8, 108u8, 101u8, 46u8, 103u8, - 111u8, 108u8, 97u8, 110u8, 103u8, 46u8, 111u8, 114u8, 103u8, 47u8, 112u8, - 114u8, 111u8, 116u8, 111u8, 98u8, 117u8, 102u8, 47u8, 116u8, 121u8, 112u8, - 101u8, 115u8, 47u8, 107u8, 110u8, 111u8, 119u8, 110u8, 47u8, 101u8, 109u8, - 112u8, 116u8, 121u8, 112u8, 98u8, 248u8, 1u8, 1u8, 162u8, 2u8, 3u8, 71u8, - 80u8, 66u8, 170u8, 2u8, 30u8, 71u8, 111u8, 111u8, 103u8, 108u8, 101u8, 46u8, - 80u8, 114u8, 111u8, 116u8, 111u8, 98u8, 117u8, 102u8, 46u8, 87u8, 101u8, - 108u8, 108u8, 75u8, 110u8, 111u8, 119u8, 110u8, 84u8, 121u8, 112u8, 101u8, - 115u8, 98u8, 6u8, 112u8, 114u8, 111u8, 116u8, 111u8, 51u8, 10u8, 255u8, 1u8, - 10u8, 31u8, 103u8, 111u8, 111u8, 103u8, 108u8, 101u8, 47u8, 112u8, 114u8, - 111u8, 116u8, 111u8, 98u8, 117u8, 102u8, 47u8, 116u8, 105u8, 109u8, 101u8, - 115u8, 116u8, 97u8, 109u8, 112u8, 46u8, 112u8, 114u8, 111u8, 116u8, 111u8, - 18u8, 15u8, 103u8, 111u8, 111u8, 103u8, 108u8, 101u8, 46u8, 112u8, 114u8, - 111u8, 116u8, 111u8, 98u8, 117u8, 102u8, 34u8, 59u8, 10u8, 9u8, 84u8, 105u8, - 109u8, 101u8, 115u8, 116u8, 97u8, 109u8, 112u8, 18u8, 24u8, 10u8, 7u8, 115u8, - 101u8, 99u8, 111u8, 110u8, 100u8, 115u8, 24u8, 1u8, 32u8, 1u8, 40u8, 3u8, - 82u8, 7u8, 115u8, 101u8, 99u8, 111u8, 110u8, 100u8, 115u8, 18u8, 20u8, 10u8, - 5u8, 110u8, 97u8, 110u8, 111u8, 115u8, 24u8, 2u8, 32u8, 1u8, 40u8, 5u8, 82u8, - 5u8, 110u8, 97u8, 110u8, 111u8, 115u8, 66u8, 133u8, 1u8, 10u8, 19u8, 99u8, - 111u8, 109u8, 46u8, 103u8, 111u8, 111u8, 103u8, 108u8, 101u8, 46u8, 112u8, - 114u8, 111u8, 116u8, 111u8, 98u8, 117u8, 102u8, 66u8, 14u8, 84u8, 105u8, - 109u8, 101u8, 115u8, 116u8, 97u8, 109u8, 112u8, 80u8, 114u8, 111u8, 116u8, - 111u8, 80u8, 1u8, 90u8, 50u8, 103u8, 111u8, 111u8, 103u8, 108u8, 101u8, 46u8, - 103u8, 111u8, 108u8, 97u8, 110u8, 103u8, 46u8, 111u8, 114u8, 103u8, 47u8, - 112u8, 114u8, 111u8, 116u8, 111u8, 98u8, 117u8, 102u8, 47u8, 116u8, 121u8, - 112u8, 101u8, 115u8, 47u8, 107u8, 110u8, 111u8, 119u8, 110u8, 47u8, 116u8, - 105u8, 109u8, 101u8, 115u8, 116u8, 97u8, 109u8, 112u8, 112u8, 98u8, 248u8, - 1u8, 1u8, 162u8, 2u8, 3u8, 71u8, 80u8, 66u8, 170u8, 2u8, 30u8, 71u8, 111u8, - 111u8, 103u8, 108u8, 101u8, 46u8, 80u8, 114u8, 111u8, 116u8, 111u8, 98u8, - 117u8, 102u8, 46u8, 87u8, 101u8, 108u8, 108u8, 75u8, 110u8, 111u8, 119u8, - 110u8, 84u8, 121u8, 112u8, 101u8, 115u8, 98u8, 6u8, 112u8, 114u8, 111u8, - 116u8, 111u8, 51u8, 10u8, 251u8, 1u8, 10u8, 30u8, 103u8, 111u8, 111u8, 103u8, - 108u8, 101u8, 47u8, 112u8, 114u8, 111u8, 116u8, 111u8, 98u8, 117u8, 102u8, - 47u8, 100u8, 117u8, 114u8, 97u8, 116u8, 105u8, 111u8, 110u8, 46u8, 112u8, - 114u8, 111u8, 116u8, 111u8, 18u8, 15u8, 103u8, 111u8, 111u8, 103u8, 108u8, - 101u8, 46u8, 112u8, 114u8, 111u8, 116u8, 111u8, 98u8, 117u8, 102u8, 34u8, - 58u8, 10u8, 8u8, 68u8, 117u8, 114u8, 97u8, 116u8, 105u8, 111u8, 110u8, 18u8, - 24u8, 10u8, 7u8, 115u8, 101u8, 99u8, 111u8, 110u8, 100u8, 115u8, 24u8, 1u8, - 32u8, 1u8, 40u8, 3u8, 82u8, 7u8, 115u8, 101u8, 99u8, 111u8, 110u8, 100u8, - 115u8, 18u8, 20u8, 10u8, 5u8, 110u8, 97u8, 110u8, 111u8, 115u8, 24u8, 2u8, - 32u8, 1u8, 40u8, 5u8, 82u8, 5u8, 110u8, 97u8, 110u8, 111u8, 115u8, 66u8, - 131u8, 1u8, 10u8, 19u8, 99u8, 111u8, 109u8, 46u8, 103u8, 111u8, 111u8, 103u8, - 108u8, 101u8, 46u8, 112u8, 114u8, 111u8, 116u8, 111u8, 98u8, 117u8, 102u8, - 66u8, 13u8, 68u8, 117u8, 114u8, 97u8, 116u8, 105u8, 111u8, 110u8, 80u8, - 114u8, 111u8, 116u8, 111u8, 80u8, 1u8, 90u8, 49u8, 103u8, 111u8, 111u8, - 103u8, 108u8, 101u8, 46u8, 103u8, 111u8, 108u8, 97u8, 110u8, 103u8, 46u8, - 111u8, 114u8, 103u8, 47u8, 112u8, 114u8, 111u8, 116u8, 111u8, 98u8, 117u8, - 102u8, 47u8, 116u8, 121u8, 112u8, 101u8, 115u8, 47u8, 107u8, 110u8, 111u8, - 119u8, 110u8, 47u8, 100u8, 117u8, 114u8, 97u8, 116u8, 105u8, 111u8, 110u8, - 112u8, 98u8, 248u8, 1u8, 1u8, 162u8, 2u8, 3u8, 71u8, 80u8, 66u8, 170u8, 2u8, - 30u8, 71u8, 111u8, 111u8, 103u8, 108u8, 101u8, 46u8, 80u8, 114u8, 111u8, - 116u8, 111u8, 98u8, 117u8, 102u8, 46u8, 87u8, 101u8, 108u8, 108u8, 75u8, - 110u8, 111u8, 119u8, 110u8, 84u8, 121u8, 112u8, 101u8, 115u8, 98u8, 6u8, - 112u8, 114u8, 111u8, 116u8, 111u8, 51u8, 10u8, 226u8, 5u8, 10u8, 28u8, 103u8, - 111u8, 111u8, 103u8, 108u8, 101u8, 47u8, 112u8, 114u8, 111u8, 116u8, 111u8, - 98u8, 117u8, 102u8, 47u8, 115u8, 116u8, 114u8, 117u8, 99u8, 116u8, 46u8, - 112u8, 114u8, 111u8, 116u8, 111u8, 18u8, 15u8, 103u8, 111u8, 111u8, 103u8, - 108u8, 101u8, 46u8, 112u8, 114u8, 111u8, 116u8, 111u8, 98u8, 117u8, 102u8, - 34u8, 152u8, 1u8, 10u8, 6u8, 83u8, 116u8, 114u8, 117u8, 99u8, 116u8, 18u8, - 59u8, 10u8, 6u8, 102u8, 105u8, 101u8, 108u8, 100u8, 115u8, 24u8, 1u8, 32u8, - 3u8, 40u8, 11u8, 50u8, 35u8, 46u8, 103u8, 111u8, 111u8, 103u8, 108u8, 101u8, - 46u8, 112u8, 114u8, 111u8, 116u8, 111u8, 98u8, 117u8, 102u8, 46u8, 83u8, - 116u8, 114u8, 117u8, 99u8, 116u8, 46u8, 70u8, 105u8, 101u8, 108u8, 100u8, - 115u8, 69u8, 110u8, 116u8, 114u8, 121u8, 82u8, 6u8, 102u8, 105u8, 101u8, - 108u8, 100u8, 115u8, 26u8, 81u8, 10u8, 11u8, 70u8, 105u8, 101u8, 108u8, - 100u8, 115u8, 69u8, 110u8, 116u8, 114u8, 121u8, 18u8, 16u8, 10u8, 3u8, 107u8, - 101u8, 121u8, 24u8, 1u8, 32u8, 1u8, 40u8, 9u8, 82u8, 3u8, 107u8, 101u8, - 121u8, 18u8, 44u8, 10u8, 5u8, 118u8, 97u8, 108u8, 117u8, 101u8, 24u8, 2u8, - 32u8, 1u8, 40u8, 11u8, 50u8, 22u8, 46u8, 103u8, 111u8, 111u8, 103u8, 108u8, - 101u8, 46u8, 112u8, 114u8, 111u8, 116u8, 111u8, 98u8, 117u8, 102u8, 46u8, - 86u8, 97u8, 108u8, 117u8, 101u8, 82u8, 5u8, 118u8, 97u8, 108u8, 117u8, 101u8, - 58u8, 2u8, 56u8, 1u8, 34u8, 178u8, 2u8, 10u8, 5u8, 86u8, 97u8, 108u8, 117u8, - 101u8, 18u8, 59u8, 10u8, 10u8, 110u8, 117u8, 108u8, 108u8, 95u8, 118u8, 97u8, - 108u8, 117u8, 101u8, 24u8, 1u8, 32u8, 1u8, 40u8, 14u8, 50u8, 26u8, 46u8, - 103u8, 111u8, 111u8, 103u8, 108u8, 101u8, 46u8, 112u8, 114u8, 111u8, 116u8, - 111u8, 98u8, 117u8, 102u8, 46u8, 78u8, 117u8, 108u8, 108u8, 86u8, 97u8, - 108u8, 117u8, 101u8, 72u8, 0u8, 82u8, 9u8, 110u8, 117u8, 108u8, 108u8, 86u8, - 97u8, 108u8, 117u8, 101u8, 18u8, 35u8, 10u8, 12u8, 110u8, 117u8, 109u8, 98u8, - 101u8, 114u8, 95u8, 118u8, 97u8, 108u8, 117u8, 101u8, 24u8, 2u8, 32u8, 1u8, - 40u8, 1u8, 72u8, 0u8, 82u8, 11u8, 110u8, 117u8, 109u8, 98u8, 101u8, 114u8, - 86u8, 97u8, 108u8, 117u8, 101u8, 18u8, 35u8, 10u8, 12u8, 115u8, 116u8, 114u8, - 105u8, 110u8, 103u8, 95u8, 118u8, 97u8, 108u8, 117u8, 101u8, 24u8, 3u8, 32u8, - 1u8, 40u8, 9u8, 72u8, 0u8, 82u8, 11u8, 115u8, 116u8, 114u8, 105u8, 110u8, - 103u8, 86u8, 97u8, 108u8, 117u8, 101u8, 18u8, 31u8, 10u8, 10u8, 98u8, 111u8, - 111u8, 108u8, 95u8, 118u8, 97u8, 108u8, 117u8, 101u8, 24u8, 4u8, 32u8, 1u8, - 40u8, 8u8, 72u8, 0u8, 82u8, 9u8, 98u8, 111u8, 111u8, 108u8, 86u8, 97u8, - 108u8, 117u8, 101u8, 18u8, 60u8, 10u8, 12u8, 115u8, 116u8, 114u8, 117u8, - 99u8, 116u8, 95u8, 118u8, 97u8, 108u8, 117u8, 101u8, 24u8, 5u8, 32u8, 1u8, - 40u8, 11u8, 50u8, 23u8, 46u8, 103u8, 111u8, 111u8, 103u8, 108u8, 101u8, 46u8, - 112u8, 114u8, 111u8, 116u8, 111u8, 98u8, 117u8, 102u8, 46u8, 83u8, 116u8, - 114u8, 117u8, 99u8, 116u8, 72u8, 0u8, 82u8, 11u8, 115u8, 116u8, 114u8, 117u8, - 99u8, 116u8, 86u8, 97u8, 108u8, 117u8, 101u8, 18u8, 59u8, 10u8, 10u8, 108u8, - 105u8, 115u8, 116u8, 95u8, 118u8, 97u8, 108u8, 117u8, 101u8, 24u8, 6u8, 32u8, - 1u8, 40u8, 11u8, 50u8, 26u8, 46u8, 103u8, 111u8, 111u8, 103u8, 108u8, 101u8, - 46u8, 112u8, 114u8, 111u8, 116u8, 111u8, 98u8, 117u8, 102u8, 46u8, 76u8, - 105u8, 115u8, 116u8, 86u8, 97u8, 108u8, 117u8, 101u8, 72u8, 0u8, 82u8, 9u8, - 108u8, 105u8, 115u8, 116u8, 86u8, 97u8, 108u8, 117u8, 101u8, 66u8, 6u8, 10u8, - 4u8, 107u8, 105u8, 110u8, 100u8, 34u8, 59u8, 10u8, 9u8, 76u8, 105u8, 115u8, - 116u8, 86u8, 97u8, 108u8, 117u8, 101u8, 18u8, 46u8, 10u8, 6u8, 118u8, 97u8, - 108u8, 117u8, 101u8, 115u8, 24u8, 1u8, 32u8, 3u8, 40u8, 11u8, 50u8, 22u8, - 46u8, 103u8, 111u8, 111u8, 103u8, 108u8, 101u8, 46u8, 112u8, 114u8, 111u8, - 116u8, 111u8, 98u8, 117u8, 102u8, 46u8, 86u8, 97u8, 108u8, 117u8, 101u8, - 82u8, 6u8, 118u8, 97u8, 108u8, 117u8, 101u8, 115u8, 42u8, 27u8, 10u8, 9u8, - 78u8, 117u8, 108u8, 108u8, 86u8, 97u8, 108u8, 117u8, 101u8, 18u8, 14u8, 10u8, - 10u8, 78u8, 85u8, 76u8, 76u8, 95u8, 86u8, 65u8, 76u8, 85u8, 69u8, 16u8, 0u8, - 66u8, 127u8, 10u8, 19u8, 99u8, 111u8, 109u8, 46u8, 103u8, 111u8, 111u8, - 103u8, 108u8, 101u8, 46u8, 112u8, 114u8, 111u8, 116u8, 111u8, 98u8, 117u8, - 102u8, 66u8, 11u8, 83u8, 116u8, 114u8, 117u8, 99u8, 116u8, 80u8, 114u8, - 111u8, 116u8, 111u8, 80u8, 1u8, 90u8, 47u8, 103u8, 111u8, 111u8, 103u8, - 108u8, 101u8, 46u8, 103u8, 111u8, 108u8, 97u8, 110u8, 103u8, 46u8, 111u8, - 114u8, 103u8, 47u8, 112u8, 114u8, 111u8, 116u8, 111u8, 98u8, 117u8, 102u8, - 47u8, 116u8, 121u8, 112u8, 101u8, 115u8, 47u8, 107u8, 110u8, 111u8, 119u8, - 110u8, 47u8, 115u8, 116u8, 114u8, 117u8, 99u8, 116u8, 112u8, 98u8, 248u8, - 1u8, 1u8, 162u8, 2u8, 3u8, 71u8, 80u8, 66u8, 170u8, 2u8, 30u8, 71u8, 111u8, - 111u8, 103u8, 108u8, 101u8, 46u8, 80u8, 114u8, 111u8, 116u8, 111u8, 98u8, - 117u8, 102u8, 46u8, 87u8, 101u8, 108u8, 108u8, 75u8, 110u8, 111u8, 119u8, - 110u8, 84u8, 121u8, 112u8, 101u8, 115u8, 98u8, 6u8, 112u8, 114u8, 111u8, - 116u8, 111u8, 51u8, 10u8, 245u8, 11u8, 10u8, 37u8, 97u8, 110u8, 116u8, 104u8, - 114u8, 111u8, 112u8, 105u8, 99u8, 47u8, 99u8, 111u8, 110u8, 110u8, 101u8, - 99u8, 116u8, 114u8, 112u8, 99u8, 47u8, 119u8, 107u8, 116u8, 47u8, 118u8, - 49u8, 47u8, 119u8, 107u8, 116u8, 46u8, 112u8, 114u8, 111u8, 116u8, 111u8, - 18u8, 27u8, 97u8, 110u8, 116u8, 104u8, 114u8, 111u8, 112u8, 105u8, 99u8, - 46u8, 99u8, 111u8, 110u8, 110u8, 101u8, 99u8, 116u8, 114u8, 112u8, 99u8, - 46u8, 119u8, 107u8, 116u8, 46u8, 118u8, 49u8, 26u8, 27u8, 103u8, 111u8, - 111u8, 103u8, 108u8, 101u8, 47u8, 112u8, 114u8, 111u8, 116u8, 111u8, 98u8, - 117u8, 102u8, 47u8, 101u8, 109u8, 112u8, 116u8, 121u8, 46u8, 112u8, 114u8, - 111u8, 116u8, 111u8, 26u8, 31u8, 103u8, 111u8, 111u8, 103u8, 108u8, 101u8, - 47u8, 112u8, 114u8, 111u8, 116u8, 111u8, 98u8, 117u8, 102u8, 47u8, 116u8, - 105u8, 109u8, 101u8, 115u8, 116u8, 97u8, 109u8, 112u8, 46u8, 112u8, 114u8, - 111u8, 116u8, 111u8, 26u8, 30u8, 103u8, 111u8, 111u8, 103u8, 108u8, 101u8, - 47u8, 112u8, 114u8, 111u8, 116u8, 111u8, 98u8, 117u8, 102u8, 47u8, 100u8, - 117u8, 114u8, 97u8, 116u8, 105u8, 111u8, 110u8, 46u8, 112u8, 114u8, 111u8, - 116u8, 111u8, 26u8, 28u8, 103u8, 111u8, 111u8, 103u8, 108u8, 101u8, 47u8, - 112u8, 114u8, 111u8, 116u8, 111u8, 98u8, 117u8, 102u8, 47u8, 115u8, 116u8, - 114u8, 117u8, 99u8, 116u8, 46u8, 112u8, 114u8, 111u8, 116u8, 111u8, 34u8, - 156u8, 1u8, 10u8, 18u8, 67u8, 114u8, 101u8, 97u8, 116u8, 101u8, 69u8, 118u8, - 101u8, 110u8, 116u8, 82u8, 101u8, 113u8, 117u8, 101u8, 115u8, 116u8, 18u8, - 18u8, 10u8, 4u8, 110u8, 97u8, 109u8, 101u8, 24u8, 1u8, 32u8, 1u8, 40u8, 9u8, - 82u8, 4u8, 110u8, 97u8, 109u8, 101u8, 18u8, 59u8, 10u8, 11u8, 111u8, 99u8, - 99u8, 117u8, 114u8, 114u8, 101u8, 100u8, 95u8, 97u8, 116u8, 24u8, 2u8, 32u8, - 1u8, 40u8, 11u8, 50u8, 26u8, 46u8, 103u8, 111u8, 111u8, 103u8, 108u8, 101u8, - 46u8, 112u8, 114u8, 111u8, 116u8, 111u8, 98u8, 117u8, 102u8, 46u8, 84u8, - 105u8, 109u8, 101u8, 115u8, 116u8, 97u8, 109u8, 112u8, 82u8, 10u8, 111u8, - 99u8, 99u8, 117u8, 114u8, 114u8, 101u8, 100u8, 65u8, 116u8, 18u8, 53u8, 10u8, - 8u8, 100u8, 117u8, 114u8, 97u8, 116u8, 105u8, 111u8, 110u8, 24u8, 3u8, 32u8, - 1u8, 40u8, 11u8, 50u8, 25u8, 46u8, 103u8, 111u8, 111u8, 103u8, 108u8, 101u8, - 46u8, 112u8, 114u8, 111u8, 116u8, 111u8, 98u8, 117u8, 102u8, 46u8, 68u8, - 117u8, 114u8, 97u8, 116u8, 105u8, 111u8, 110u8, 82u8, 8u8, 100u8, 117u8, - 114u8, 97u8, 116u8, 105u8, 111u8, 110u8, 34u8, 79u8, 10u8, 19u8, 67u8, 114u8, - 101u8, 97u8, 116u8, 101u8, 69u8, 118u8, 101u8, 110u8, 116u8, 82u8, 101u8, - 115u8, 112u8, 111u8, 110u8, 115u8, 101u8, 18u8, 56u8, 10u8, 5u8, 101u8, - 118u8, 101u8, 110u8, 116u8, 24u8, 1u8, 32u8, 1u8, 40u8, 11u8, 50u8, 34u8, - 46u8, 97u8, 110u8, 116u8, 104u8, 114u8, 111u8, 112u8, 105u8, 99u8, 46u8, - 99u8, 111u8, 110u8, 110u8, 101u8, 99u8, 116u8, 114u8, 112u8, 99u8, 46u8, - 119u8, 107u8, 116u8, 46u8, 118u8, 49u8, 46u8, 69u8, 118u8, 101u8, 110u8, - 116u8, 82u8, 5u8, 101u8, 118u8, 101u8, 110u8, 116u8, 34u8, 218u8, 1u8, 10u8, - 5u8, 69u8, 118u8, 101u8, 110u8, 116u8, 18u8, 14u8, 10u8, 2u8, 105u8, 100u8, - 24u8, 1u8, 32u8, 1u8, 40u8, 9u8, 82u8, 2u8, 105u8, 100u8, 18u8, 18u8, 10u8, - 4u8, 110u8, 97u8, 109u8, 101u8, 24u8, 2u8, 32u8, 1u8, 40u8, 9u8, 82u8, 4u8, - 110u8, 97u8, 109u8, 101u8, 18u8, 59u8, 10u8, 11u8, 111u8, 99u8, 99u8, 117u8, - 114u8, 114u8, 101u8, 100u8, 95u8, 97u8, 116u8, 24u8, 3u8, 32u8, 1u8, 40u8, - 11u8, 50u8, 26u8, 46u8, 103u8, 111u8, 111u8, 103u8, 108u8, 101u8, 46u8, - 112u8, 114u8, 111u8, 116u8, 111u8, 98u8, 117u8, 102u8, 46u8, 84u8, 105u8, - 109u8, 101u8, 115u8, 116u8, 97u8, 109u8, 112u8, 82u8, 10u8, 111u8, 99u8, - 99u8, 117u8, 114u8, 114u8, 101u8, 100u8, 65u8, 116u8, 18u8, 53u8, 10u8, 8u8, - 100u8, 117u8, 114u8, 97u8, 116u8, 105u8, 111u8, 110u8, 24u8, 4u8, 32u8, 1u8, - 40u8, 11u8, 50u8, 25u8, 46u8, 103u8, 111u8, 111u8, 103u8, 108u8, 101u8, 46u8, - 112u8, 114u8, 111u8, 116u8, 111u8, 98u8, 117u8, 102u8, 46u8, 68u8, 117u8, - 114u8, 97u8, 116u8, 105u8, 111u8, 110u8, 82u8, 8u8, 100u8, 117u8, 114u8, - 97u8, 116u8, 105u8, 111u8, 110u8, 18u8, 57u8, 10u8, 10u8, 99u8, 114u8, 101u8, - 97u8, 116u8, 101u8, 100u8, 95u8, 97u8, 116u8, 24u8, 5u8, 32u8, 1u8, 40u8, - 11u8, 50u8, 26u8, 46u8, 103u8, 111u8, 111u8, 103u8, 108u8, 101u8, 46u8, - 112u8, 114u8, 111u8, 116u8, 111u8, 98u8, 117u8, 102u8, 46u8, 84u8, 105u8, - 109u8, 101u8, 115u8, 116u8, 97u8, 109u8, 112u8, 82u8, 9u8, 99u8, 114u8, - 101u8, 97u8, 116u8, 101u8, 100u8, 65u8, 116u8, 34u8, 122u8, 10u8, 24u8, 67u8, - 97u8, 108u8, 99u8, 117u8, 108u8, 97u8, 116u8, 101u8, 68u8, 117u8, 114u8, - 97u8, 116u8, 105u8, 111u8, 110u8, 82u8, 101u8, 113u8, 117u8, 101u8, 115u8, - 116u8, 18u8, 48u8, 10u8, 5u8, 115u8, 116u8, 97u8, 114u8, 116u8, 24u8, 1u8, - 32u8, 1u8, 40u8, 11u8, 50u8, 26u8, 46u8, 103u8, 111u8, 111u8, 103u8, 108u8, - 101u8, 46u8, 112u8, 114u8, 111u8, 116u8, 111u8, 98u8, 117u8, 102u8, 46u8, - 84u8, 105u8, 109u8, 101u8, 115u8, 116u8, 97u8, 109u8, 112u8, 82u8, 5u8, - 115u8, 116u8, 97u8, 114u8, 116u8, 18u8, 44u8, 10u8, 3u8, 101u8, 110u8, 100u8, - 24u8, 2u8, 32u8, 1u8, 40u8, 11u8, 50u8, 26u8, 46u8, 103u8, 111u8, 111u8, - 103u8, 108u8, 101u8, 46u8, 112u8, 114u8, 111u8, 116u8, 111u8, 98u8, 117u8, - 102u8, 46u8, 84u8, 105u8, 109u8, 101u8, 115u8, 116u8, 97u8, 109u8, 112u8, - 82u8, 3u8, 101u8, 110u8, 100u8, 34u8, 82u8, 10u8, 25u8, 67u8, 97u8, 108u8, - 99u8, 117u8, 108u8, 97u8, 116u8, 101u8, 68u8, 117u8, 114u8, 97u8, 116u8, - 105u8, 111u8, 110u8, 82u8, 101u8, 115u8, 112u8, 111u8, 110u8, 115u8, 101u8, - 18u8, 53u8, 10u8, 8u8, 100u8, 117u8, 114u8, 97u8, 116u8, 105u8, 111u8, 110u8, - 24u8, 1u8, 32u8, 1u8, 40u8, 11u8, 50u8, 25u8, 46u8, 103u8, 111u8, 111u8, - 103u8, 108u8, 101u8, 46u8, 112u8, 114u8, 111u8, 116u8, 111u8, 98u8, 117u8, - 102u8, 46u8, 68u8, 117u8, 114u8, 97u8, 116u8, 105u8, 111u8, 110u8, 82u8, 8u8, - 100u8, 117u8, 114u8, 97u8, 116u8, 105u8, 111u8, 110u8, 34u8, 77u8, 10u8, - 22u8, 80u8, 114u8, 111u8, 99u8, 101u8, 115u8, 115u8, 77u8, 101u8, 116u8, - 97u8, 100u8, 97u8, 116u8, 97u8, 82u8, 101u8, 113u8, 117u8, 101u8, 115u8, - 116u8, 18u8, 51u8, 10u8, 8u8, 109u8, 101u8, 116u8, 97u8, 100u8, 97u8, 116u8, - 97u8, 24u8, 1u8, 32u8, 1u8, 40u8, 11u8, 50u8, 23u8, 46u8, 103u8, 111u8, - 111u8, 103u8, 108u8, 101u8, 46u8, 112u8, 114u8, 111u8, 116u8, 111u8, 98u8, - 117u8, 102u8, 46u8, 83u8, 116u8, 114u8, 117u8, 99u8, 116u8, 82u8, 8u8, 109u8, - 101u8, 116u8, 97u8, 100u8, 97u8, 116u8, 97u8, 34u8, 111u8, 10u8, 23u8, 80u8, - 114u8, 111u8, 99u8, 101u8, 115u8, 115u8, 77u8, 101u8, 116u8, 97u8, 100u8, - 97u8, 116u8, 97u8, 82u8, 101u8, 115u8, 112u8, 111u8, 110u8, 115u8, 101u8, - 18u8, 51u8, 10u8, 8u8, 109u8, 101u8, 116u8, 97u8, 100u8, 97u8, 116u8, 97u8, - 24u8, 1u8, 32u8, 1u8, 40u8, 11u8, 50u8, 23u8, 46u8, 103u8, 111u8, 111u8, - 103u8, 108u8, 101u8, 46u8, 112u8, 114u8, 111u8, 116u8, 111u8, 98u8, 117u8, - 102u8, 46u8, 83u8, 116u8, 114u8, 117u8, 99u8, 116u8, 82u8, 8u8, 109u8, 101u8, - 116u8, 97u8, 100u8, 97u8, 116u8, 97u8, 18u8, 31u8, 10u8, 11u8, 102u8, 105u8, - 101u8, 108u8, 100u8, 95u8, 99u8, 111u8, 117u8, 110u8, 116u8, 24u8, 2u8, 32u8, - 1u8, 40u8, 5u8, 82u8, 10u8, 102u8, 105u8, 101u8, 108u8, 100u8, 67u8, 111u8, - 117u8, 110u8, 116u8, 50u8, 205u8, 3u8, 10u8, 21u8, 87u8, 101u8, 108u8, 108u8, - 75u8, 110u8, 111u8, 119u8, 110u8, 84u8, 121u8, 112u8, 101u8, 115u8, 83u8, - 101u8, 114u8, 118u8, 105u8, 99u8, 101u8, 18u8, 112u8, 10u8, 11u8, 67u8, - 114u8, 101u8, 97u8, 116u8, 101u8, 69u8, 118u8, 101u8, 110u8, 116u8, 18u8, - 47u8, 46u8, 97u8, 110u8, 116u8, 104u8, 114u8, 111u8, 112u8, 105u8, 99u8, - 46u8, 99u8, 111u8, 110u8, 110u8, 101u8, 99u8, 116u8, 114u8, 112u8, 99u8, - 46u8, 119u8, 107u8, 116u8, 46u8, 118u8, 49u8, 46u8, 67u8, 114u8, 101u8, 97u8, - 116u8, 101u8, 69u8, 118u8, 101u8, 110u8, 116u8, 82u8, 101u8, 113u8, 117u8, - 101u8, 115u8, 116u8, 26u8, 48u8, 46u8, 97u8, 110u8, 116u8, 104u8, 114u8, - 111u8, 112u8, 105u8, 99u8, 46u8, 99u8, 111u8, 110u8, 110u8, 101u8, 99u8, - 116u8, 114u8, 112u8, 99u8, 46u8, 119u8, 107u8, 116u8, 46u8, 118u8, 49u8, - 46u8, 67u8, 114u8, 101u8, 97u8, 116u8, 101u8, 69u8, 118u8, 101u8, 110u8, - 116u8, 82u8, 101u8, 115u8, 112u8, 111u8, 110u8, 115u8, 101u8, 18u8, 130u8, - 1u8, 10u8, 17u8, 67u8, 97u8, 108u8, 99u8, 117u8, 108u8, 97u8, 116u8, 101u8, - 68u8, 117u8, 114u8, 97u8, 116u8, 105u8, 111u8, 110u8, 18u8, 53u8, 46u8, 97u8, - 110u8, 116u8, 104u8, 114u8, 111u8, 112u8, 105u8, 99u8, 46u8, 99u8, 111u8, - 110u8, 110u8, 101u8, 99u8, 116u8, 114u8, 112u8, 99u8, 46u8, 119u8, 107u8, - 116u8, 46u8, 118u8, 49u8, 46u8, 67u8, 97u8, 108u8, 99u8, 117u8, 108u8, 97u8, - 116u8, 101u8, 68u8, 117u8, 114u8, 97u8, 116u8, 105u8, 111u8, 110u8, 82u8, - 101u8, 113u8, 117u8, 101u8, 115u8, 116u8, 26u8, 54u8, 46u8, 97u8, 110u8, - 116u8, 104u8, 114u8, 111u8, 112u8, 105u8, 99u8, 46u8, 99u8, 111u8, 110u8, - 110u8, 101u8, 99u8, 116u8, 114u8, 112u8, 99u8, 46u8, 119u8, 107u8, 116u8, - 46u8, 118u8, 49u8, 46u8, 67u8, 97u8, 108u8, 99u8, 117u8, 108u8, 97u8, 116u8, - 101u8, 68u8, 117u8, 114u8, 97u8, 116u8, 105u8, 111u8, 110u8, 82u8, 101u8, - 115u8, 112u8, 111u8, 110u8, 115u8, 101u8, 18u8, 124u8, 10u8, 15u8, 80u8, - 114u8, 111u8, 99u8, 101u8, 115u8, 115u8, 77u8, 101u8, 116u8, 97u8, 100u8, - 97u8, 116u8, 97u8, 18u8, 51u8, 46u8, 97u8, 110u8, 116u8, 104u8, 114u8, 111u8, - 112u8, 105u8, 99u8, 46u8, 99u8, 111u8, 110u8, 110u8, 101u8, 99u8, 116u8, - 114u8, 112u8, 99u8, 46u8, 119u8, 107u8, 116u8, 46u8, 118u8, 49u8, 46u8, 80u8, - 114u8, 111u8, 99u8, 101u8, 115u8, 115u8, 77u8, 101u8, 116u8, 97u8, 100u8, - 97u8, 116u8, 97u8, 82u8, 101u8, 113u8, 117u8, 101u8, 115u8, 116u8, 26u8, - 52u8, 46u8, 97u8, 110u8, 116u8, 104u8, 114u8, 111u8, 112u8, 105u8, 99u8, - 46u8, 99u8, 111u8, 110u8, 110u8, 101u8, 99u8, 116u8, 114u8, 112u8, 99u8, - 46u8, 119u8, 107u8, 116u8, 46u8, 118u8, 49u8, 46u8, 80u8, 114u8, 111u8, 99u8, - 101u8, 115u8, 115u8, 77u8, 101u8, 116u8, 97u8, 100u8, 97u8, 116u8, 97u8, - 82u8, 101u8, 115u8, 112u8, 111u8, 110u8, 115u8, 101u8, 18u8, 63u8, 10u8, 9u8, - 72u8, 101u8, 97u8, 114u8, 116u8, 98u8, 101u8, 97u8, 116u8, 18u8, 22u8, 46u8, - 103u8, 111u8, 111u8, 103u8, 108u8, 101u8, 46u8, 112u8, 114u8, 111u8, 116u8, - 111u8, 98u8, 117u8, 102u8, 46u8, 69u8, 109u8, 112u8, 116u8, 121u8, 26u8, - 26u8, 46u8, 103u8, 111u8, 111u8, 103u8, 108u8, 101u8, 46u8, 112u8, 114u8, - 111u8, 116u8, 111u8, 98u8, 117u8, 102u8, 46u8, 84u8, 105u8, 109u8, 101u8, - 115u8, 116u8, 97u8, 109u8, 112u8, 98u8, 6u8, 112u8, 114u8, 111u8, 116u8, - 111u8, 51u8, - ]; + pub const FILE_DESCRIPTOR_SET_BYTES: &[u8] = b"\n\x9A\x02\n)anthropic/connectrpc/greet/v1/greet.proto\x12\x1Danthropic.connectrpc.greet.v1\"\"\n\x0CGreetRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\")\n\rGreetResponse\x12\x18\n\x07message\x18\x01 \x01(\tR\x07message2w\n\x0CGreetService\x12g\n\x05Greet\x12+.anthropic.connectrpc.greet.v1.GreetRequest\x1A,.anthropic.connectrpc.greet.v1.GreetResponse\"\x03\x90\x02\x01b\x06proto3\n\x8B\x02\n'anthropic/connectrpc/math/v1/math.proto\x12\x1Canthropic.connectrpc.math.v1\"(\n\nAddRequest\x12\x0C\n\x01a\x18\x01 \x01(\x05R\x01a\x12\x0C\n\x01b\x18\x02 \x01(\x05R\x01b\"%\n\x0BAddResponse\x12\x16\n\x06result\x18\x01 \x01(\x05R\x06result2i\n\x0BMathService\x12Z\n\x03Add\x12(.anthropic.connectrpc.math.v1.AddRequest\x1A).anthropic.connectrpc.math.v1.AddResponseb\x06proto3\n\xBE\x01\n\x1Bgoogle/protobuf/empty.proto\x12\x0Fgoogle.protobuf\"\x07\n\x05EmptyB}\n\x13com.google.protobufB\nEmptyProtoP\x01Z.google.golang.org/protobuf/types/known/emptypb\xF8\x01\x01\xA2\x02\x03GPB\xAA\x02\x1EGoogle.Protobuf.WellKnownTypesb\x06proto3\n\xFF\x01\n\x1Fgoogle/protobuf/timestamp.proto\x12\x0Fgoogle.protobuf\";\n\tTimestamp\x12\x18\n\x07seconds\x18\x01 \x01(\x03R\x07seconds\x12\x14\n\x05nanos\x18\x02 \x01(\x05R\x05nanosB\x85\x01\n\x13com.google.protobufB\x0ETimestampProtoP\x01Z2google.golang.org/protobuf/types/known/timestamppb\xF8\x01\x01\xA2\x02\x03GPB\xAA\x02\x1EGoogle.Protobuf.WellKnownTypesb\x06proto3\n\xFB\x01\n\x1Egoogle/protobuf/duration.proto\x12\x0Fgoogle.protobuf\":\n\x08Duration\x12\x18\n\x07seconds\x18\x01 \x01(\x03R\x07seconds\x12\x14\n\x05nanos\x18\x02 \x01(\x05R\x05nanosB\x83\x01\n\x13com.google.protobufB\rDurationProtoP\x01Z1google.golang.org/protobuf/types/known/durationpb\xF8\x01\x01\xA2\x02\x03GPB\xAA\x02\x1EGoogle.Protobuf.WellKnownTypesb\x06proto3\n\xE2\x05\n\x1Cgoogle/protobuf/struct.proto\x12\x0Fgoogle.protobuf\"\x98\x01\n\x06Struct\x12;\n\x06fields\x18\x01 \x03(\x0B2#.google.protobuf.Struct.FieldsEntryR\x06fields\x1AQ\n\x0BFieldsEntry\x12\x10\n\x03key\x18\x01 \x01(\tR\x03key\x12,\n\x05value\x18\x02 \x01(\x0B2\x16.google.protobuf.ValueR\x05value:\x028\x01\"\xB2\x02\n\x05Value\x12;\n\nnull_value\x18\x01 \x01(\x0E2\x1A.google.protobuf.NullValueH\0R\tnullValue\x12#\n\x0Cnumber_value\x18\x02 \x01(\x01H\0R\x0BnumberValue\x12#\n\x0Cstring_value\x18\x03 \x01(\tH\0R\x0BstringValue\x12\x1F\n\nbool_value\x18\x04 \x01(\x08H\0R\tboolValue\x12<\n\x0Cstruct_value\x18\x05 \x01(\x0B2\x17.google.protobuf.StructH\0R\x0BstructValue\x12;\n\nlist_value\x18\x06 \x01(\x0B2\x1A.google.protobuf.ListValueH\0R\tlistValueB\x06\n\x04kind\";\n\tListValue\x12.\n\x06values\x18\x01 \x03(\x0B2\x16.google.protobuf.ValueR\x06values*\x1B\n\tNullValue\x12\x0E\n\nNULL_VALUE\x10\0B\x7F\n\x13com.google.protobufB\x0BStructProtoP\x01Z/google.golang.org/protobuf/types/known/structpb\xF8\x01\x01\xA2\x02\x03GPB\xAA\x02\x1EGoogle.Protobuf.WellKnownTypesb\x06proto3\n\xF5\x0B\n%anthropic/connectrpc/wkt/v1/wkt.proto\x12\x1Banthropic.connectrpc.wkt.v1\x1A\x1Bgoogle/protobuf/empty.proto\x1A\x1Fgoogle/protobuf/timestamp.proto\x1A\x1Egoogle/protobuf/duration.proto\x1A\x1Cgoogle/protobuf/struct.proto\"\x9C\x01\n\x12CreateEventRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12;\n\x0Boccurred_at\x18\x02 \x01(\x0B2\x1A.google.protobuf.TimestampR\noccurredAt\x125\n\x08duration\x18\x03 \x01(\x0B2\x19.google.protobuf.DurationR\x08duration\"O\n\x13CreateEventResponse\x128\n\x05event\x18\x01 \x01(\x0B2\".anthropic.connectrpc.wkt.v1.EventR\x05event\"\xDA\x01\n\x05Event\x12\x0E\n\x02id\x18\x01 \x01(\tR\x02id\x12\x12\n\x04name\x18\x02 \x01(\tR\x04name\x12;\n\x0Boccurred_at\x18\x03 \x01(\x0B2\x1A.google.protobuf.TimestampR\noccurredAt\x125\n\x08duration\x18\x04 \x01(\x0B2\x19.google.protobuf.DurationR\x08duration\x129\n\ncreated_at\x18\x05 \x01(\x0B2\x1A.google.protobuf.TimestampR\tcreatedAt\"z\n\x18CalculateDurationRequest\x120\n\x05start\x18\x01 \x01(\x0B2\x1A.google.protobuf.TimestampR\x05start\x12,\n\x03end\x18\x02 \x01(\x0B2\x1A.google.protobuf.TimestampR\x03end\"R\n\x19CalculateDurationResponse\x125\n\x08duration\x18\x01 \x01(\x0B2\x19.google.protobuf.DurationR\x08duration\"M\n\x16ProcessMetadataRequest\x123\n\x08metadata\x18\x01 \x01(\x0B2\x17.google.protobuf.StructR\x08metadata\"o\n\x17ProcessMetadataResponse\x123\n\x08metadata\x18\x01 \x01(\x0B2\x17.google.protobuf.StructR\x08metadata\x12\x1F\n\x0Bfield_count\x18\x02 \x01(\x05R\nfieldCount2\xCD\x03\n\x15WellKnownTypesService\x12p\n\x0BCreateEvent\x12/.anthropic.connectrpc.wkt.v1.CreateEventRequest\x1A0.anthropic.connectrpc.wkt.v1.CreateEventResponse\x12\x82\x01\n\x11CalculateDuration\x125.anthropic.connectrpc.wkt.v1.CalculateDurationRequest\x1A6.anthropic.connectrpc.wkt.v1.CalculateDurationResponse\x12|\n\x0FProcessMetadata\x123.anthropic.connectrpc.wkt.v1.ProcessMetadataRequest\x1A4.anthropic.connectrpc.wkt.v1.ProcessMetadataResponse\x12?\n\tHeartbeat\x12\x16.google.protobuf.Empty\x1A\x1A.google.protobuf.Timestampb\x06proto3"; /// The lazily-built descriptor pool for this package's /// `Reflectable` impls. Built from /// [`FILE_DESCRIPTOR_SET_BYTES`] on first access. @@ -364,6 +54,10 @@ pub mod __buffa { /// finite, so corrupt embedded bytes still fail rather than /// exhausting memory. /// + /// The scaled bound is floored at + /// [`DEFAULT_ELEMENT_MEMORY_LIMIT`](::buffa::DEFAULT_ELEMENT_MEMORY_LIMIT), + /// so it is never tighter than the untrusted-input default. + /// /// # Panics /// /// Panics on first access if the embedded bytes are malformed — @@ -379,7 +73,10 @@ pub mod __buffa { POOL.get_or_init(|| { let options = ::buffa::DecodeOptions::new() .with_element_memory_limit( - FILE_DESCRIPTOR_SET_BYTES.len().saturating_mul(64), + FILE_DESCRIPTOR_SET_BYTES + .len() + .saturating_mul(64) + .max(::buffa::DEFAULT_ELEMENT_MEMORY_LIMIT), ); ::buffa::alloc::sync::Arc::new( ::buffa_descriptor::DescriptorPool::decode_with_options( diff --git a/examples/multiservice/src/generated/buffa/anthropic.connectrpc.wkt.v1.wkt.__view.rs b/examples/multiservice/src/generated/buffa/anthropic.connectrpc.wkt.v1.wkt.__view.rs index 078aed56..b902d01f 100644 --- a/examples/multiservice/src/generated/buffa/anthropic.connectrpc.wkt.v1.wkt.__view.rs +++ b/examples/multiservice/src/generated/buffa/anthropic.connectrpc.wkt.v1.wkt.__view.rs @@ -26,9 +26,11 @@ impl<'a> ::buffa::MessageView<'a> for CreateEventRequestView<'a> { type Owned = super::super::CreateEventRequest; fn decode_view(buf: &'a [u8]) -> ::core::result::Result { let __limit = ::core::cell::Cell::new(::buffa::DEFAULT_UNKNOWN_FIELD_LIMIT); + let __elem = ::core::cell::Cell::new(::buffa::DEFAULT_ELEMENT_MEMORY_LIMIT); ::decode_view_ctx( buf, - ::buffa::DecodeContext::new(::buffa::RECURSION_LIMIT, &__limit), + ::buffa::DecodeContext::new(::buffa::RECURSION_LIMIT, &__limit) + .with_element_memory(&__elem), ) } fn decode_view_with_ctx( @@ -402,9 +404,11 @@ impl<'a> ::buffa::MessageView<'a> for CreateEventResponseView<'a> { type Owned = super::super::CreateEventResponse; fn decode_view(buf: &'a [u8]) -> ::core::result::Result { let __limit = ::core::cell::Cell::new(::buffa::DEFAULT_UNKNOWN_FIELD_LIMIT); + let __elem = ::core::cell::Cell::new(::buffa::DEFAULT_ELEMENT_MEMORY_LIMIT); ::decode_view_ctx( buf, - ::buffa::DecodeContext::new(::buffa::RECURSION_LIMIT, &__limit), + ::buffa::DecodeContext::new(::buffa::RECURSION_LIMIT, &__limit) + .with_element_memory(&__elem), ) } fn decode_view_with_ctx( @@ -718,9 +722,11 @@ impl<'a> ::buffa::MessageView<'a> for EventView<'a> { type Owned = super::super::Event; fn decode_view(buf: &'a [u8]) -> ::core::result::Result { let __limit = ::core::cell::Cell::new(::buffa::DEFAULT_UNKNOWN_FIELD_LIMIT); + let __elem = ::core::cell::Cell::new(::buffa::DEFAULT_ELEMENT_MEMORY_LIMIT); ::decode_view_ctx( buf, - ::buffa::DecodeContext::new(::buffa::RECURSION_LIMIT, &__limit), + ::buffa::DecodeContext::new(::buffa::RECURSION_LIMIT, &__limit) + .with_element_memory(&__elem), ) } fn decode_view_with_ctx( @@ -1177,9 +1183,11 @@ impl<'a> ::buffa::MessageView<'a> for CalculateDurationRequestView<'a> { type Owned = super::super::CalculateDurationRequest; fn decode_view(buf: &'a [u8]) -> ::core::result::Result { let __limit = ::core::cell::Cell::new(::buffa::DEFAULT_UNKNOWN_FIELD_LIMIT); + let __elem = ::core::cell::Cell::new(::buffa::DEFAULT_ELEMENT_MEMORY_LIMIT); ::decode_view_ctx( buf, - ::buffa::DecodeContext::new(::buffa::RECURSION_LIMIT, &__limit), + ::buffa::DecodeContext::new(::buffa::RECURSION_LIMIT, &__limit) + .with_element_memory(&__elem), ) } fn decode_view_with_ctx( @@ -1537,9 +1545,11 @@ impl<'a> ::buffa::MessageView<'a> for CalculateDurationResponseView<'a> { type Owned = super::super::CalculateDurationResponse; fn decode_view(buf: &'a [u8]) -> ::core::result::Result { let __limit = ::core::cell::Cell::new(::buffa::DEFAULT_UNKNOWN_FIELD_LIMIT); + let __elem = ::core::cell::Cell::new(::buffa::DEFAULT_ELEMENT_MEMORY_LIMIT); ::decode_view_ctx( buf, - ::buffa::DecodeContext::new(::buffa::RECURSION_LIMIT, &__limit), + ::buffa::DecodeContext::new(::buffa::RECURSION_LIMIT, &__limit) + .with_element_memory(&__elem), ) } fn decode_view_with_ctx( @@ -1835,9 +1845,11 @@ impl<'a> ::buffa::MessageView<'a> for ProcessMetadataRequestView<'a> { type Owned = super::super::ProcessMetadataRequest; fn decode_view(buf: &'a [u8]) -> ::core::result::Result { let __limit = ::core::cell::Cell::new(::buffa::DEFAULT_UNKNOWN_FIELD_LIMIT); + let __elem = ::core::cell::Cell::new(::buffa::DEFAULT_ELEMENT_MEMORY_LIMIT); ::decode_view_ctx( buf, - ::buffa::DecodeContext::new(::buffa::RECURSION_LIMIT, &__limit), + ::buffa::DecodeContext::new(::buffa::RECURSION_LIMIT, &__limit) + .with_element_memory(&__elem), ) } fn decode_view_with_ctx( @@ -2137,9 +2149,11 @@ impl<'a> ::buffa::MessageView<'a> for ProcessMetadataResponseView<'a> { type Owned = super::super::ProcessMetadataResponse; fn decode_view(buf: &'a [u8]) -> ::core::result::Result { let __limit = ::core::cell::Cell::new(::buffa::DEFAULT_UNKNOWN_FIELD_LIMIT); + let __elem = ::core::cell::Cell::new(::buffa::DEFAULT_ELEMENT_MEMORY_LIMIT); ::decode_view_ctx( buf, - ::buffa::DecodeContext::new(::buffa::RECURSION_LIMIT, &__limit), + ::buffa::DecodeContext::new(::buffa::RECURSION_LIMIT, &__limit) + .with_element_memory(&__elem), ) } fn decode_view_with_ctx(