// @generated by the capnpc-rust plugin to the Cap'n Proto schema compiler.
// DO NOT EDIT.
// source: rpc.capnp
// capnp binary version: 1.0.1
// capnpc crate version: 0.25.3

pub mod message {
    pub use self::Which::{
        Abort, Accept, Bootstrap, Call, Disembargo, Finish, Join, ObsoleteDelete, ObsoleteSave,
        Provide, Release, Resolve, Return, Unimplemented,
    };

    #[derive(Copy, Clone)]
    pub struct Owned(());
    impl ::capnp::introspect::Introspect for Owned {
        fn introspect() -> ::capnp::introspect::Type {
            ::capnp::introspect::TypeVariant::Struct(::capnp::introspect::RawBrandedStructSchema {
                generic: &_private::RAW_SCHEMA,
                field_types: _private::get_field_types,
                annotation_types: _private::get_annotation_types,
            })
            .into()
        }
    }
    impl ::capnp::traits::Owned for Owned {
        type Reader<'a> = Reader<'a>;
        type Builder<'a> = Builder<'a>;
    }
    impl ::capnp::traits::OwnedStruct for Owned {
        type Reader<'a> = Reader<'a>;
        type Builder<'a> = Builder<'a>;
    }
    impl ::capnp::traits::Pipelined for Owned {
        type Pipeline = Pipeline;
    }

    pub struct Reader<'a> {
        reader: ::capnp::private::layout::StructReader<'a>,
    }
    impl ::core::marker::Copy for Reader<'_> {}
    impl ::core::clone::Clone for Reader<'_> {
        fn clone(&self) -> Self {
            *self
        }
    }

    impl ::capnp::traits::HasTypeId for Reader<'_> {
        const TYPE_ID: u64 = _private::TYPE_ID;
    }
    impl<'a> ::core::convert::From<::capnp::private::layout::StructReader<'a>> for Reader<'a> {
        fn from(reader: ::capnp::private::layout::StructReader<'a>) -> Self {
            Self { reader }
        }
    }

    impl<'a> ::core::convert::From<Reader<'a>> for ::capnp::dynamic_value::Reader<'a> {
        fn from(reader: Reader<'a>) -> Self {
            Self::Struct(::capnp::dynamic_struct::Reader::new(
                reader.reader,
                ::capnp::schema::StructSchema::new(::capnp::introspect::RawBrandedStructSchema {
                    generic: &_private::RAW_SCHEMA,
                    field_types: _private::get_field_types,
                    annotation_types: _private::get_annotation_types,
                }),
            ))
        }
    }

    impl ::core::fmt::Debug for Reader<'_> {
        fn fmt(
            &self,
            f: &mut ::core::fmt::Formatter<'_>,
        ) -> ::core::result::Result<(), ::core::fmt::Error> {
            core::fmt::Debug::fmt(
                &::core::convert::Into::<::capnp::dynamic_value::Reader<'_>>::into(*self),
                f,
            )
        }
    }

    impl<'a> ::capnp::traits::FromPointerReader<'a> for Reader<'a> {
        fn get_from_pointer(
            reader: &::capnp::private::layout::PointerReader<'a>,
            default: ::core::option::Option<&'a [::capnp::Word]>,
        ) -> ::capnp::Result<Self> {
            ::core::result::Result::Ok(reader.get_struct(default)?.into())
        }
    }

    impl<'a> ::capnp::traits::IntoInternalStructReader<'a> for Reader<'a> {
        fn into_internal_struct_reader(self) -> ::capnp::private::layout::StructReader<'a> {
            self.reader
        }
    }

    impl<'a> ::capnp::traits::Imbue<'a> for Reader<'a> {
        fn imbue(&mut self, cap_table: &'a ::capnp::private::layout::CapTable) {
            self.reader
                .imbue(::capnp::private::layout::CapTableReader::Plain(cap_table))
        }
    }

    impl<'a> Reader<'a> {
        pub fn reborrow(&self) -> Reader<'_> {
            Self { ..*self }
        }

        pub fn total_size(&self) -> ::capnp::Result<::capnp::MessageSize> {
            self.reader.total_size()
        }
        #[inline]
        pub fn has_unimplemented(&self) -> bool {
            if self.reader.get_data_field::<u16>(0) != 0 {
                return false;
            }
            !self.reader.get_pointer_field(0).is_null()
        }
        #[inline]
        pub fn has_abort(&self) -> bool {
            if self.reader.get_data_field::<u16>(0) != 1 {
                return false;
            }
            !self.reader.get_pointer_field(0).is_null()
        }
        #[inline]
        pub fn has_call(&self) -> bool {
            if self.reader.get_data_field::<u16>(0) != 2 {
                return false;
            }
            !self.reader.get_pointer_field(0).is_null()
        }
        #[inline]
        pub fn has_return(&self) -> bool {
            if self.reader.get_data_field::<u16>(0) != 3 {
                return false;
            }
            !self.reader.get_pointer_field(0).is_null()
        }
        #[inline]
        pub fn has_finish(&self) -> bool {
            if self.reader.get_data_field::<u16>(0) != 4 {
                return false;
            }
            !self.reader.get_pointer_field(0).is_null()
        }
        #[inline]
        pub fn has_resolve(&self) -> bool {
            if self.reader.get_data_field::<u16>(0) != 5 {
                return false;
            }
            !self.reader.get_pointer_field(0).is_null()
        }
        #[inline]
        pub fn has_release(&self) -> bool {
            if self.reader.get_data_field::<u16>(0) != 6 {
                return false;
            }
            !self.reader.get_pointer_field(0).is_null()
        }
        #[inline]
        pub fn has_obsolete_save(&self) -> bool {
            if self.reader.get_data_field::<u16>(0) != 7 {
                return false;
            }
            !self.reader.get_pointer_field(0).is_null()
        }
        #[inline]
        pub fn has_bootstrap(&self) -> bool {
            if self.reader.get_data_field::<u16>(0) != 8 {
                return false;
            }
            !self.reader.get_pointer_field(0).is_null()
        }
        #[inline]
        pub fn has_obsolete_delete(&self) -> bool {
            if self.reader.get_data_field::<u16>(0) != 9 {
                return false;
            }
            !self.reader.get_pointer_field(0).is_null()
        }
        #[inline]
        pub fn has_provide(&self) -> bool {
            if self.reader.get_data_field::<u16>(0) != 10 {
                return false;
            }
            !self.reader.get_pointer_field(0).is_null()
        }
        #[inline]
        pub fn has_accept(&self) -> bool {
            if self.reader.get_data_field::<u16>(0) != 11 {
                return false;
            }
            !self.reader.get_pointer_field(0).is_null()
        }
        #[inline]
        pub fn has_join(&self) -> bool {
            if self.reader.get_data_field::<u16>(0) != 12 {
                return false;
            }
            !self.reader.get_pointer_field(0).is_null()
        }
        #[inline]
        pub fn has_disembargo(&self) -> bool {
            if self.reader.get_data_field::<u16>(0) != 13 {
                return false;
            }
            !self.reader.get_pointer_field(0).is_null()
        }
        #[inline]
        pub fn which(self) -> ::core::result::Result<WhichReader<'a>, ::capnp::NotInSchema> {
            match self.reader.get_data_field::<u16>(0) {
                0 => ::core::result::Result::Ok(Unimplemented(
                    ::capnp::traits::FromPointerReader::get_from_pointer(
                        &self.reader.get_pointer_field(0),
                        ::core::option::Option::None,
                    ),
                )),
                1 => ::core::result::Result::Ok(Abort(
                    ::capnp::traits::FromPointerReader::get_from_pointer(
                        &self.reader.get_pointer_field(0),
                        ::core::option::Option::None,
                    ),
                )),
                2 => ::core::result::Result::Ok(Call(
                    ::capnp::traits::FromPointerReader::get_from_pointer(
                        &self.reader.get_pointer_field(0),
                        ::core::option::Option::None,
                    ),
                )),
                3 => ::core::result::Result::Ok(Return(
                    ::capnp::traits::FromPointerReader::get_from_pointer(
                        &self.reader.get_pointer_field(0),
                        ::core::option::Option::None,
                    ),
                )),
                4 => ::core::result::Result::Ok(Finish(
                    ::capnp::traits::FromPointerReader::get_from_pointer(
                        &self.reader.get_pointer_field(0),
                        ::core::option::Option::None,
                    ),
                )),
                5 => ::core::result::Result::Ok(Resolve(
                    ::capnp::traits::FromPointerReader::get_from_pointer(
                        &self.reader.get_pointer_field(0),
                        ::core::option::Option::None,
                    ),
                )),
                6 => ::core::result::Result::Ok(Release(
                    ::capnp::traits::FromPointerReader::get_from_pointer(
                        &self.reader.get_pointer_field(0),
                        ::core::option::Option::None,
                    ),
                )),
                7 => ::core::result::Result::Ok(ObsoleteSave(::capnp::any_pointer::Reader::new(
                    self.reader.get_pointer_field(0),
                ))),
                8 => ::core::result::Result::Ok(Bootstrap(
                    ::capnp::traits::FromPointerReader::get_from_pointer(
                        &self.reader.get_pointer_field(0),
                        ::core::option::Option::None,
                    ),
                )),
                9 => ::core::result::Result::Ok(ObsoleteDelete(::capnp::any_pointer::Reader::new(
                    self.reader.get_pointer_field(0),
                ))),
                10 => ::core::result::Result::Ok(Provide(
                    ::capnp::traits::FromPointerReader::get_from_pointer(
                        &self.reader.get_pointer_field(0),
                        ::core::option::Option::None,
                    ),
                )),
                11 => ::core::result::Result::Ok(Accept(
                    ::capnp::traits::FromPointerReader::get_from_pointer(
                        &self.reader.get_pointer_field(0),
                        ::core::option::Option::None,
                    ),
                )),
                12 => ::core::result::Result::Ok(Join(
                    ::capnp::traits::FromPointerReader::get_from_pointer(
                        &self.reader.get_pointer_field(0),
                        ::core::option::Option::None,
                    ),
                )),
                13 => ::core::result::Result::Ok(Disembargo(
                    ::capnp::traits::FromPointerReader::get_from_pointer(
                        &self.reader.get_pointer_field(0),
                        ::core::option::Option::None,
                    ),
                )),
                x => ::core::result::Result::Err(::capnp::NotInSchema(x)),
            }
        }
    }

    pub struct Builder<'a> {
        builder: ::capnp::private::layout::StructBuilder<'a>,
    }
    impl ::capnp::traits::HasStructSize for Builder<'_> {
        const STRUCT_SIZE: ::capnp::private::layout::StructSize =
            ::capnp::private::layout::StructSize {
                data: 1,
                pointers: 1,
            };
    }
    impl ::capnp::traits::HasTypeId for Builder<'_> {
        const TYPE_ID: u64 = _private::TYPE_ID;
    }
    impl<'a> ::core::convert::From<::capnp::private::layout::StructBuilder<'a>> for Builder<'a> {
        fn from(builder: ::capnp::private::layout::StructBuilder<'a>) -> Self {
            Self { builder }
        }
    }

    impl<'a> ::core::convert::From<Builder<'a>> for ::capnp::dynamic_value::Builder<'a> {
        fn from(builder: Builder<'a>) -> Self {
            Self::Struct(::capnp::dynamic_struct::Builder::new(
                builder.builder,
                ::capnp::schema::StructSchema::new(::capnp::introspect::RawBrandedStructSchema {
                    generic: &_private::RAW_SCHEMA,
                    field_types: _private::get_field_types,
                    annotation_types: _private::get_annotation_types,
                }),
            ))
        }
    }

    impl<'a> ::capnp::traits::ImbueMut<'a> for Builder<'a> {
        fn imbue_mut(&mut self, cap_table: &'a mut ::capnp::private::layout::CapTable) {
            self.builder
                .imbue(::capnp::private::layout::CapTableBuilder::Plain(cap_table))
        }
    }

    impl<'a> ::capnp::traits::FromPointerBuilder<'a> for Builder<'a> {
        fn init_pointer(builder: ::capnp::private::layout::PointerBuilder<'a>, _size: u32) -> Self {
            builder
                .init_struct(<Self as ::capnp::traits::HasStructSize>::STRUCT_SIZE)
                .into()
        }
        fn get_from_pointer(
            builder: ::capnp::private::layout::PointerBuilder<'a>,
            default: ::core::option::Option<&'a [::capnp::Word]>,
        ) -> ::capnp::Result<Self> {
            ::core::result::Result::Ok(
                builder
                    .get_struct(
                        <Self as ::capnp::traits::HasStructSize>::STRUCT_SIZE,
                        default,
                    )?
                    .into(),
            )
        }
    }

    impl ::capnp::traits::SetterInput<Owned> for Reader<'_> {
        fn set_pointer_builder(
            mut pointer: ::capnp::private::layout::PointerBuilder<'_>,
            value: Self,
            canonicalize: bool,
        ) -> ::capnp::Result<()> {
            pointer.set_struct(&value.reader, canonicalize)
        }
    }

    impl<'a> Builder<'a> {
        pub fn into_reader(self) -> Reader<'a> {
            self.builder.into_reader().into()
        }
        pub fn reborrow(&mut self) -> Builder<'_> {
            Builder {
                builder: self.builder.reborrow(),
            }
        }
        pub fn reborrow_as_reader(&self) -> Reader<'_> {
            self.builder.as_reader().into()
        }

        pub fn total_size(&self) -> ::capnp::Result<::capnp::MessageSize> {
            self.builder.as_reader().total_size()
        }
        #[inline]
        pub fn set_unimplemented(
            &mut self,
            value: crate::rpc_capnp::message::Reader<'_>,
        ) -> ::capnp::Result<()> {
            self.builder.set_data_field::<u16>(0, 0);
            ::capnp::traits::SetterInput::set_pointer_builder(
                self.builder.reborrow().get_pointer_field(0),
                value,
                false,
            )
        }
        #[inline]
        pub fn init_unimplemented(self) -> crate::rpc_capnp::message::Builder<'a> {
            self.builder.set_data_field::<u16>(0, 0);
            ::capnp::traits::FromPointerBuilder::init_pointer(self.builder.get_pointer_field(0), 0)
        }
        #[inline]
        pub fn has_unimplemented(&self) -> bool {
            if self.builder.get_data_field::<u16>(0) != 0 {
                return false;
            }
            !self.builder.is_pointer_field_null(0)
        }
        #[inline]
        pub fn set_abort(
            &mut self,
            value: crate::rpc_capnp::exception::Reader<'_>,
        ) -> ::capnp::Result<()> {
            self.builder.set_data_field::<u16>(0, 1);
            ::capnp::traits::SetterInput::set_pointer_builder(
                self.builder.reborrow().get_pointer_field(0),
                value,
                false,
            )
        }
        #[inline]
        pub fn init_abort(self) -> crate::rpc_capnp::exception::Builder<'a> {
            self.builder.set_data_field::<u16>(0, 1);
            ::capnp::traits::FromPointerBuilder::init_pointer(self.builder.get_pointer_field(0), 0)
        }
        #[inline]
        pub fn has_abort(&self) -> bool {
            if self.builder.get_data_field::<u16>(0) != 1 {
                return false;
            }
            !self.builder.is_pointer_field_null(0)
        }
        #[inline]
        pub fn set_call(
            &mut self,
            value: crate::rpc_capnp::call::Reader<'_>,
        ) -> ::capnp::Result<()> {
            self.builder.set_data_field::<u16>(0, 2);
            ::capnp::traits::SetterInput::set_pointer_builder(
                self.builder.reborrow().get_pointer_field(0),
                value,
                false,
            )
        }
        #[inline]
        pub fn init_call(self) -> crate::rpc_capnp::call::Builder<'a> {
            self.builder.set_data_field::<u16>(0, 2);
            ::capnp::traits::FromPointerBuilder::init_pointer(self.builder.get_pointer_field(0), 0)
        }
        #[inline]
        pub fn has_call(&self) -> bool {
            if self.builder.get_data_field::<u16>(0) != 2 {
                return false;
            }
            !self.builder.is_pointer_field_null(0)
        }
        #[inline]
        pub fn set_return(
            &mut self,
            value: crate::rpc_capnp::return_::Reader<'_>,
        ) -> ::capnp::Result<()> {
            self.builder.set_data_field::<u16>(0, 3);
            ::capnp::traits::SetterInput::set_pointer_builder(
                self.builder.reborrow().get_pointer_field(0),
                value,
                false,
            )
        }
        #[inline]
        pub fn init_return(self) -> crate::rpc_capnp::return_::Builder<'a> {
            self.builder.set_data_field::<u16>(0, 3);
            ::capnp::traits::FromPointerBuilder::init_pointer(self.builder.get_pointer_field(0), 0)
        }
        #[inline]
        pub fn has_return(&self) -> bool {
            if self.builder.get_data_field::<u16>(0) != 3 {
                return false;
            }
            !self.builder.is_pointer_field_null(0)
        }
        #[inline]
        pub fn set_finish(
            &mut self,
            value: crate::rpc_capnp::finish::Reader<'_>,
        ) -> ::capnp::Result<()> {
            self.builder.set_data_field::<u16>(0, 4);
            ::capnp::traits::SetterInput::set_pointer_builder(
                self.builder.reborrow().get_pointer_field(0),
                value,
                false,
            )
        }
        #[inline]
        pub fn init_finish(self) -> crate::rpc_capnp::finish::Builder<'a> {
            self.builder.set_data_field::<u16>(0, 4);
            ::capnp::traits::FromPointerBuilder::init_pointer(self.builder.get_pointer_field(0), 0)
        }
        #[inline]
        pub fn has_finish(&self) -> bool {
            if self.builder.get_data_field::<u16>(0) != 4 {
                return false;
            }
            !self.builder.is_pointer_field_null(0)
        }
        #[inline]
        pub fn set_resolve(
            &mut self,
            value: crate::rpc_capnp::resolve::Reader<'_>,
        ) -> ::capnp::Result<()> {
            self.builder.set_data_field::<u16>(0, 5);
            ::capnp::traits::SetterInput::set_pointer_builder(
                self.builder.reborrow().get_pointer_field(0),
                value,
                false,
            )
        }
        #[inline]
        pub fn init_resolve(self) -> crate::rpc_capnp::resolve::Builder<'a> {
            self.builder.set_data_field::<u16>(0, 5);
            ::capnp::traits::FromPointerBuilder::init_pointer(self.builder.get_pointer_field(0), 0)
        }
        #[inline]
        pub fn has_resolve(&self) -> bool {
            if self.builder.get_data_field::<u16>(0) != 5 {
                return false;
            }
            !self.builder.is_pointer_field_null(0)
        }
        #[inline]
        pub fn set_release(
            &mut self,
            value: crate::rpc_capnp::release::Reader<'_>,
        ) -> ::capnp::Result<()> {
            self.builder.set_data_field::<u16>(0, 6);
            ::capnp::traits::SetterInput::set_pointer_builder(
                self.builder.reborrow().get_pointer_field(0),
                value,
                false,
            )
        }
        #[inline]
        pub fn init_release(self) -> crate::rpc_capnp::release::Builder<'a> {
            self.builder.set_data_field::<u16>(0, 6);
            ::capnp::traits::FromPointerBuilder::init_pointer(self.builder.get_pointer_field(0), 0)
        }
        #[inline]
        pub fn has_release(&self) -> bool {
            if self.builder.get_data_field::<u16>(0) != 6 {
                return false;
            }
            !self.builder.is_pointer_field_null(0)
        }
        #[inline]
        pub fn init_obsolete_save(self) -> ::capnp::any_pointer::Builder<'a> {
            self.builder.set_data_field::<u16>(0, 7);
            let mut result = ::capnp::any_pointer::Builder::new(self.builder.get_pointer_field(0));
            result.clear();
            result
        }
        #[inline]
        pub fn has_obsolete_save(&self) -> bool {
            if self.builder.get_data_field::<u16>(0) != 7 {
                return false;
            }
            !self.builder.is_pointer_field_null(0)
        }
        #[inline]
        pub fn set_bootstrap(
            &mut self,
            value: crate::rpc_capnp::bootstrap::Reader<'_>,
        ) -> ::capnp::Result<()> {
            self.builder.set_data_field::<u16>(0, 8);
            ::capnp::traits::SetterInput::set_pointer_builder(
                self.builder.reborrow().get_pointer_field(0),
                value,
                false,
            )
        }
        #[inline]
        pub fn init_bootstrap(self) -> crate::rpc_capnp::bootstrap::Builder<'a> {
            self.builder.set_data_field::<u16>(0, 8);
            ::capnp::traits::FromPointerBuilder::init_pointer(self.builder.get_pointer_field(0), 0)
        }
        #[inline]
        pub fn has_bootstrap(&self) -> bool {
            if self.builder.get_data_field::<u16>(0) != 8 {
                return false;
            }
            !self.builder.is_pointer_field_null(0)
        }
        #[inline]
        pub fn init_obsolete_delete(self) -> ::capnp::any_pointer::Builder<'a> {
            self.builder.set_data_field::<u16>(0, 9);
            let mut result = ::capnp::any_pointer::Builder::new(self.builder.get_pointer_field(0));
            result.clear();
            result
        }
        #[inline]
        pub fn has_obsolete_delete(&self) -> bool {
            if self.builder.get_data_field::<u16>(0) != 9 {
                return false;
            }
            !self.builder.is_pointer_field_null(0)
        }
        #[inline]
        pub fn set_provide(
            &mut self,
            value: crate::rpc_capnp::provide::Reader<'_>,
        ) -> ::capnp::Result<()> {
            self.builder.set_data_field::<u16>(0, 10);
            ::capnp::traits::SetterInput::set_pointer_builder(
                self.builder.reborrow().get_pointer_field(0),
                value,
                false,
            )
        }
        #[inline]
        pub fn init_provide(self) -> crate::rpc_capnp::provide::Builder<'a> {
            self.builder.set_data_field::<u16>(0, 10);
            ::capnp::traits::FromPointerBuilder::init_pointer(self.builder.get_pointer_field(0), 0)
        }
        #[inline]
        pub fn has_provide(&self) -> bool {
            if self.builder.get_data_field::<u16>(0) != 10 {
                return false;
            }
            !self.builder.is_pointer_field_null(0)
        }
        #[inline]
        pub fn set_accept(
            &mut self,
            value: crate::rpc_capnp::accept::Reader<'_>,
        ) -> ::capnp::Result<()> {
            self.builder.set_data_field::<u16>(0, 11);
            ::capnp::traits::SetterInput::set_pointer_builder(
                self.builder.reborrow().get_pointer_field(0),
                value,
                false,
            )
        }
        #[inline]
        pub fn init_accept(self) -> crate::rpc_capnp::accept::Builder<'a> {
            self.builder.set_data_field::<u16>(0, 11);
            ::capnp::traits::FromPointerBuilder::init_pointer(self.builder.get_pointer_field(0), 0)
        }
        #[inline]
        pub fn has_accept(&self) -> bool {
            if self.builder.get_data_field::<u16>(0) != 11 {
                return false;
            }
            !self.builder.is_pointer_field_null(0)
        }
        #[inline]
        pub fn set_join(
            &mut self,
            value: crate::rpc_capnp::join::Reader<'_>,
        ) -> ::capnp::Result<()> {
            self.builder.set_data_field::<u16>(0, 12);
            ::capnp::traits::SetterInput::set_pointer_builder(
                self.builder.reborrow().get_pointer_field(0),
                value,
                false,
            )
        }
        #[inline]
        pub fn init_join(self) -> crate::rpc_capnp::join::Builder<'a> {
            self.builder.set_data_field::<u16>(0, 12);
            ::capnp::traits::FromPointerBuilder::init_pointer(self.builder.get_pointer_field(0), 0)
        }
        #[inline]
        pub fn has_join(&self) -> bool {
            if self.builder.get_data_field::<u16>(0) != 12 {
                return false;
            }
            !self.builder.is_pointer_field_null(0)
        }
        #[inline]
        pub fn set_disembargo(
            &mut self,
            value: crate::rpc_capnp::disembargo::Reader<'_>,
        ) -> ::capnp::Result<()> {
            self.builder.set_data_field::<u16>(0, 13);
            ::capnp::traits::SetterInput::set_pointer_builder(
                self.builder.reborrow().get_pointer_field(0),
                value,
                false,
            )
        }
        #[inline]
        pub fn init_disembargo(self) -> crate::rpc_capnp::disembargo::Builder<'a> {
            self.builder.set_data_field::<u16>(0, 13);
            ::capnp::traits::FromPointerBuilder::init_pointer(self.builder.get_pointer_field(0), 0)
        }
        #[inline]
        pub fn has_disembargo(&self) -> bool {
            if self.builder.get_data_field::<u16>(0) != 13 {
                return false;
            }
            !self.builder.is_pointer_field_null(0)
        }
        #[inline]
        pub fn which(self) -> ::core::result::Result<WhichBuilder<'a>, ::capnp::NotInSchema> {
            match self.builder.get_data_field::<u16>(0) {
                0 => ::core::result::Result::Ok(Unimplemented(
                    ::capnp::traits::FromPointerBuilder::get_from_pointer(
                        self.builder.get_pointer_field(0),
                        ::core::option::Option::None,
                    ),
                )),
                1 => ::core::result::Result::Ok(Abort(
                    ::capnp::traits::FromPointerBuilder::get_from_pointer(
                        self.builder.get_pointer_field(0),
                        ::core::option::Option::None,
                    ),
                )),
                2 => ::core::result::Result::Ok(Call(
                    ::capnp::traits::FromPointerBuilder::get_from_pointer(
                        self.builder.get_pointer_field(0),
                        ::core::option::Option::None,
                    ),
                )),
                3 => ::core::result::Result::Ok(Return(
                    ::capnp::traits::FromPointerBuilder::get_from_pointer(
                        self.builder.get_pointer_field(0),
                        ::core::option::Option::None,
                    ),
                )),
                4 => ::core::result::Result::Ok(Finish(
                    ::capnp::traits::FromPointerBuilder::get_from_pointer(
                        self.builder.get_pointer_field(0),
                        ::core::option::Option::None,
                    ),
                )),
                5 => ::core::result::Result::Ok(Resolve(
                    ::capnp::traits::FromPointerBuilder::get_from_pointer(
                        self.builder.get_pointer_field(0),
                        ::core::option::Option::None,
                    ),
                )),
                6 => ::core::result::Result::Ok(Release(
                    ::capnp::traits::FromPointerBuilder::get_from_pointer(
                        self.builder.get_pointer_field(0),
                        ::core::option::Option::None,
                    ),
                )),
                7 => ::core::result::Result::Ok(ObsoleteSave(::capnp::any_pointer::Builder::new(
                    self.builder.get_pointer_field(0),
                ))),
                8 => ::core::result::Result::Ok(Bootstrap(
                    ::capnp::traits::FromPointerBuilder::get_from_pointer(
                        self.builder.get_pointer_field(0),
                        ::core::option::Option::None,
                    ),
                )),
                9 => ::core::result::Result::Ok(ObsoleteDelete(
                    ::capnp::any_pointer::Builder::new(self.builder.get_pointer_field(0)),
                )),
                10 => ::core::result::Result::Ok(Provide(
                    ::capnp::traits::FromPointerBuilder::get_from_pointer(
                        self.builder.get_pointer_field(0),
                        ::core::option::Option::None,
                    ),
                )),
                11 => ::core::result::Result::Ok(Accept(
                    ::capnp::traits::FromPointerBuilder::get_from_pointer(
                        self.builder.get_pointer_field(0),
                        ::core::option::Option::None,
                    ),
                )),
                12 => ::core::result::Result::Ok(Join(
                    ::capnp::traits::FromPointerBuilder::get_from_pointer(
                        self.builder.get_pointer_field(0),
                        ::core::option::Option::None,
                    ),
                )),
                13 => ::core::result::Result::Ok(Disembargo(
                    ::capnp::traits::FromPointerBuilder::get_from_pointer(
                        self.builder.get_pointer_field(0),
                        ::core::option::Option::None,
                    ),
                )),
                x => ::core::result::Result::Err(::capnp::NotInSchema(x)),
            }
        }
    }

    pub struct Pipeline {
        _typeless: ::capnp::any_pointer::Pipeline,
    }
    impl ::capnp::capability::FromTypelessPipeline for Pipeline {
        fn new(typeless: ::capnp::any_pointer::Pipeline) -> Self {
            Self {
                _typeless: typeless,
            }
        }
    }
    impl Pipeline {}
    mod _private {
        pub(crate) static ENCODED_NODE: [::capnp::Word; 232] = [
            ::capnp::word(0, 0, 0, 0, 5, 0, 6, 0),
            ::capnp::word(50, 176, 141, 128, 31, 159, 183, 145),
            ::capnp::word(10, 0, 0, 0, 1, 0, 1, 0),
            ::capnp::word(80, 162, 82, 37, 27, 152, 18, 179),
            ::capnp::word(1, 0, 7, 0, 0, 0, 14, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(21, 0, 0, 0, 146, 0, 0, 0),
            ::capnp::word(29, 0, 0, 0, 7, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(25, 0, 0, 0, 23, 3, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(114, 112, 99, 46, 99, 97, 112, 110),
            ::capnp::word(112, 58, 77, 101, 115, 115, 97, 103),
            ::capnp::word(101, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 1, 0, 1, 0),
            ::capnp::word(56, 0, 0, 0, 3, 0, 4, 0),
            ::capnp::word(0, 0, 255, 255, 0, 0, 0, 0),
            ::capnp::word(0, 0, 1, 0, 0, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(121, 1, 0, 0, 114, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(120, 1, 0, 0, 3, 0, 1, 0),
            ::capnp::word(132, 1, 0, 0, 2, 0, 1, 0),
            ::capnp::word(1, 0, 254, 255, 0, 0, 0, 0),
            ::capnp::word(0, 0, 1, 0, 1, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(129, 1, 0, 0, 50, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(124, 1, 0, 0, 3, 0, 1, 0),
            ::capnp::word(136, 1, 0, 0, 2, 0, 1, 0),
            ::capnp::word(3, 0, 253, 255, 0, 0, 0, 0),
            ::capnp::word(0, 0, 1, 0, 2, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(133, 1, 0, 0, 42, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(128, 1, 0, 0, 3, 0, 1, 0),
            ::capnp::word(140, 1, 0, 0, 2, 0, 1, 0),
            ::capnp::word(4, 0, 252, 255, 0, 0, 0, 0),
            ::capnp::word(0, 0, 1, 0, 3, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(137, 1, 0, 0, 58, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(132, 1, 0, 0, 3, 0, 1, 0),
            ::capnp::word(144, 1, 0, 0, 2, 0, 1, 0),
            ::capnp::word(5, 0, 251, 255, 0, 0, 0, 0),
            ::capnp::word(0, 0, 1, 0, 4, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(141, 1, 0, 0, 58, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(136, 1, 0, 0, 3, 0, 1, 0),
            ::capnp::word(148, 1, 0, 0, 2, 0, 1, 0),
            ::capnp::word(6, 0, 250, 255, 0, 0, 0, 0),
            ::capnp::word(0, 0, 1, 0, 5, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(145, 1, 0, 0, 66, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(140, 1, 0, 0, 3, 0, 1, 0),
            ::capnp::word(152, 1, 0, 0, 2, 0, 1, 0),
            ::capnp::word(7, 0, 249, 255, 0, 0, 0, 0),
            ::capnp::word(0, 0, 1, 0, 6, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(149, 1, 0, 0, 66, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(144, 1, 0, 0, 3, 0, 1, 0),
            ::capnp::word(156, 1, 0, 0, 2, 0, 1, 0),
            ::capnp::word(9, 0, 248, 255, 0, 0, 0, 0),
            ::capnp::word(0, 0, 1, 0, 7, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(153, 1, 0, 0, 106, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(152, 1, 0, 0, 3, 0, 1, 0),
            ::capnp::word(164, 1, 0, 0, 2, 0, 1, 0),
            ::capnp::word(2, 0, 247, 255, 0, 0, 0, 0),
            ::capnp::word(0, 0, 1, 0, 8, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(161, 1, 0, 0, 82, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(160, 1, 0, 0, 3, 0, 1, 0),
            ::capnp::word(172, 1, 0, 0, 2, 0, 1, 0),
            ::capnp::word(10, 0, 246, 255, 0, 0, 0, 0),
            ::capnp::word(0, 0, 1, 0, 9, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(169, 1, 0, 0, 122, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(168, 1, 0, 0, 3, 0, 1, 0),
            ::capnp::word(180, 1, 0, 0, 2, 0, 1, 0),
            ::capnp::word(11, 0, 245, 255, 0, 0, 0, 0),
            ::capnp::word(0, 0, 1, 0, 10, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(177, 1, 0, 0, 66, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(172, 1, 0, 0, 3, 0, 1, 0),
            ::capnp::word(184, 1, 0, 0, 2, 0, 1, 0),
            ::capnp::word(12, 0, 244, 255, 0, 0, 0, 0),
            ::capnp::word(0, 0, 1, 0, 11, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(181, 1, 0, 0, 58, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(176, 1, 0, 0, 3, 0, 1, 0),
            ::capnp::word(188, 1, 0, 0, 2, 0, 1, 0),
            ::capnp::word(13, 0, 243, 255, 0, 0, 0, 0),
            ::capnp::word(0, 0, 1, 0, 12, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(185, 1, 0, 0, 42, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(180, 1, 0, 0, 3, 0, 1, 0),
            ::capnp::word(192, 1, 0, 0, 2, 0, 1, 0),
            ::capnp::word(8, 0, 242, 255, 0, 0, 0, 0),
            ::capnp::word(0, 0, 1, 0, 13, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(189, 1, 0, 0, 90, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(188, 1, 0, 0, 3, 0, 1, 0),
            ::capnp::word(200, 1, 0, 0, 2, 0, 1, 0),
            ::capnp::word(117, 110, 105, 109, 112, 108, 101, 109),
            ::capnp::word(101, 110, 116, 101, 100, 0, 0, 0),
            ::capnp::word(16, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(50, 176, 141, 128, 31, 159, 183, 145),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(16, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(97, 98, 111, 114, 116, 0, 0, 0),
            ::capnp::word(16, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(26, 105, 207, 58, 6, 183, 37, 214),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(16, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(99, 97, 108, 108, 0, 0, 0, 0),
            ::capnp::word(16, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(212, 76, 157, 120, 206, 83, 106, 131),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(16, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(114, 101, 116, 117, 114, 110, 0, 0),
            ::capnp::word(16, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(58, 87, 179, 61, 141, 178, 25, 158),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(16, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(102, 105, 110, 105, 115, 104, 0, 0),
            ::capnp::word(16, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(99, 14, 248, 194, 178, 46, 125, 211),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(16, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(114, 101, 115, 111, 108, 118, 101, 0),
            ::capnp::word(16, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(110, 8, 137, 250, 85, 150, 194, 187),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(16, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(114, 101, 108, 101, 97, 115, 101, 0),
            ::capnp::word(16, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(151, 116, 208, 125, 13, 108, 26, 173),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(16, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(111, 98, 115, 111, 108, 101, 116, 101),
            ::capnp::word(83, 97, 118, 101, 0, 0, 0, 0),
            ::capnp::word(18, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(18, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(98, 111, 111, 116, 115, 116, 114, 97),
            ::capnp::word(112, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(16, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(196, 110, 23, 49, 128, 207, 76, 233),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(16, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(111, 98, 115, 111, 108, 101, 116, 101),
            ::capnp::word(68, 101, 108, 101, 116, 101, 0, 0),
            ::capnp::word(18, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(18, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(112, 114, 111, 118, 105, 100, 101, 0),
            ::capnp::word(16, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(90, 172, 193, 251, 107, 4, 106, 156),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(16, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(97, 99, 99, 101, 112, 116, 0, 0),
            ::capnp::word(16, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(22, 64, 85, 144, 98, 181, 201, 212),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(16, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(106, 111, 105, 110, 0, 0, 0, 0),
            ::capnp::word(16, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(175, 1, 224, 144, 4, 152, 225, 251),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(16, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(100, 105, 115, 101, 109, 98, 97, 114),
            ::capnp::word(103, 111, 0, 0, 0, 0, 0, 0),
            ::capnp::word(16, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(17, 55, 189, 15, 139, 54, 100, 249),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(16, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
        ];
        pub(crate) fn get_field_types(index: u16) -> ::capnp::introspect::Type {
            match index {
                0 => <crate::rpc_capnp::message::Owned as ::capnp::introspect::Introspect>::introspect(),
                1 => <crate::rpc_capnp::exception::Owned as ::capnp::introspect::Introspect>::introspect(),
                2 => <crate::rpc_capnp::call::Owned as ::capnp::introspect::Introspect>::introspect(),
                3 => <crate::rpc_capnp::return_::Owned as ::capnp::introspect::Introspect>::introspect(),
                4 => <crate::rpc_capnp::finish::Owned as ::capnp::introspect::Introspect>::introspect(),
                5 => <crate::rpc_capnp::resolve::Owned as ::capnp::introspect::Introspect>::introspect(),
                6 => <crate::rpc_capnp::release::Owned as ::capnp::introspect::Introspect>::introspect(),
                7 => <::capnp::any_pointer::Owned as ::capnp::introspect::Introspect>::introspect(),
                8 => <crate::rpc_capnp::bootstrap::Owned as ::capnp::introspect::Introspect>::introspect(),
                9 => <::capnp::any_pointer::Owned as ::capnp::introspect::Introspect>::introspect(),
                10 => <crate::rpc_capnp::provide::Owned as ::capnp::introspect::Introspect>::introspect(),
                11 => <crate::rpc_capnp::accept::Owned as ::capnp::introspect::Introspect>::introspect(),
                12 => <crate::rpc_capnp::join::Owned as ::capnp::introspect::Introspect>::introspect(),
                13 => <crate::rpc_capnp::disembargo::Owned as ::capnp::introspect::Introspect>::introspect(),
                _ => ::capnp::introspect::panic_invalid_field_index(index),
            }
        }
        pub(crate) fn get_annotation_types(
            child_index: Option<u16>,
            index: u32,
        ) -> ::capnp::introspect::Type {
            ::capnp::introspect::panic_invalid_annotation_indices(child_index, index)
        }
        pub(crate) static ARENA: ::capnp::private::arena::GeneratedCodeArena =
            ::capnp::private::arena::GeneratedCodeArena::new(&ENCODED_NODE);
        pub(crate) static RAW_SCHEMA: ::capnp::introspect::RawStructSchema =
            ::capnp::introspect::RawStructSchema::new(
                &ARENA,
                NONUNION_MEMBERS,
                MEMBERS_BY_DISCRIMINANT,
                MEMBERS_BY_NAME,
            );
        pub(crate) static NONUNION_MEMBERS: &[u16] = &[];
        pub(crate) static MEMBERS_BY_DISCRIMINANT: &[u16] =
            &[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13];
        pub(crate) static MEMBERS_BY_NAME: &[u16] = &[1, 11, 8, 2, 13, 4, 12, 9, 7, 10, 6, 5, 3, 0];
        pub(crate) const TYPE_ID: u64 = 0x91b7_9f1f_808d_b032;
    }
    pub enum Which<A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13> {
        Unimplemented(A0),
        Abort(A1),
        Call(A2),
        Return(A3),
        Finish(A4),
        Resolve(A5),
        Release(A6),
        ObsoleteSave(A7),
        Bootstrap(A8),
        ObsoleteDelete(A9),
        Provide(A10),
        Accept(A11),
        Join(A12),
        Disembargo(A13),
    }
    pub type WhichReader<'a> = Which<
        ::capnp::Result<crate::rpc_capnp::message::Reader<'a>>,
        ::capnp::Result<crate::rpc_capnp::exception::Reader<'a>>,
        ::capnp::Result<crate::rpc_capnp::call::Reader<'a>>,
        ::capnp::Result<crate::rpc_capnp::return_::Reader<'a>>,
        ::capnp::Result<crate::rpc_capnp::finish::Reader<'a>>,
        ::capnp::Result<crate::rpc_capnp::resolve::Reader<'a>>,
        ::capnp::Result<crate::rpc_capnp::release::Reader<'a>>,
        ::capnp::any_pointer::Reader<'a>,
        ::capnp::Result<crate::rpc_capnp::bootstrap::Reader<'a>>,
        ::capnp::any_pointer::Reader<'a>,
        ::capnp::Result<crate::rpc_capnp::provide::Reader<'a>>,
        ::capnp::Result<crate::rpc_capnp::accept::Reader<'a>>,
        ::capnp::Result<crate::rpc_capnp::join::Reader<'a>>,
        ::capnp::Result<crate::rpc_capnp::disembargo::Reader<'a>>,
    >;
    pub type WhichBuilder<'a> = Which<
        ::capnp::Result<crate::rpc_capnp::message::Builder<'a>>,
        ::capnp::Result<crate::rpc_capnp::exception::Builder<'a>>,
        ::capnp::Result<crate::rpc_capnp::call::Builder<'a>>,
        ::capnp::Result<crate::rpc_capnp::return_::Builder<'a>>,
        ::capnp::Result<crate::rpc_capnp::finish::Builder<'a>>,
        ::capnp::Result<crate::rpc_capnp::resolve::Builder<'a>>,
        ::capnp::Result<crate::rpc_capnp::release::Builder<'a>>,
        ::capnp::any_pointer::Builder<'a>,
        ::capnp::Result<crate::rpc_capnp::bootstrap::Builder<'a>>,
        ::capnp::any_pointer::Builder<'a>,
        ::capnp::Result<crate::rpc_capnp::provide::Builder<'a>>,
        ::capnp::Result<crate::rpc_capnp::accept::Builder<'a>>,
        ::capnp::Result<crate::rpc_capnp::join::Builder<'a>>,
        ::capnp::Result<crate::rpc_capnp::disembargo::Builder<'a>>,
    >;
}

pub mod bootstrap {
    #[derive(Copy, Clone)]
    pub struct Owned(());
    impl ::capnp::introspect::Introspect for Owned {
        fn introspect() -> ::capnp::introspect::Type {
            ::capnp::introspect::TypeVariant::Struct(::capnp::introspect::RawBrandedStructSchema {
                generic: &_private::RAW_SCHEMA,
                field_types: _private::get_field_types,
                annotation_types: _private::get_annotation_types,
            })
            .into()
        }
    }
    impl ::capnp::traits::Owned for Owned {
        type Reader<'a> = Reader<'a>;
        type Builder<'a> = Builder<'a>;
    }
    impl ::capnp::traits::OwnedStruct for Owned {
        type Reader<'a> = Reader<'a>;
        type Builder<'a> = Builder<'a>;
    }
    impl ::capnp::traits::Pipelined for Owned {
        type Pipeline = Pipeline;
    }

    pub struct Reader<'a> {
        reader: ::capnp::private::layout::StructReader<'a>,
    }
    impl ::core::marker::Copy for Reader<'_> {}
    impl ::core::clone::Clone for Reader<'_> {
        fn clone(&self) -> Self {
            *self
        }
    }

    impl ::capnp::traits::HasTypeId for Reader<'_> {
        const TYPE_ID: u64 = _private::TYPE_ID;
    }
    impl<'a> ::core::convert::From<::capnp::private::layout::StructReader<'a>> for Reader<'a> {
        fn from(reader: ::capnp::private::layout::StructReader<'a>) -> Self {
            Self { reader }
        }
    }

    impl<'a> ::core::convert::From<Reader<'a>> for ::capnp::dynamic_value::Reader<'a> {
        fn from(reader: Reader<'a>) -> Self {
            Self::Struct(::capnp::dynamic_struct::Reader::new(
                reader.reader,
                ::capnp::schema::StructSchema::new(::capnp::introspect::RawBrandedStructSchema {
                    generic: &_private::RAW_SCHEMA,
                    field_types: _private::get_field_types,
                    annotation_types: _private::get_annotation_types,
                }),
            ))
        }
    }

    impl ::core::fmt::Debug for Reader<'_> {
        fn fmt(
            &self,
            f: &mut ::core::fmt::Formatter<'_>,
        ) -> ::core::result::Result<(), ::core::fmt::Error> {
            core::fmt::Debug::fmt(
                &::core::convert::Into::<::capnp::dynamic_value::Reader<'_>>::into(*self),
                f,
            )
        }
    }

    impl<'a> ::capnp::traits::FromPointerReader<'a> for Reader<'a> {
        fn get_from_pointer(
            reader: &::capnp::private::layout::PointerReader<'a>,
            default: ::core::option::Option<&'a [::capnp::Word]>,
        ) -> ::capnp::Result<Self> {
            ::core::result::Result::Ok(reader.get_struct(default)?.into())
        }
    }

    impl<'a> ::capnp::traits::IntoInternalStructReader<'a> for Reader<'a> {
        fn into_internal_struct_reader(self) -> ::capnp::private::layout::StructReader<'a> {
            self.reader
        }
    }

    impl<'a> ::capnp::traits::Imbue<'a> for Reader<'a> {
        fn imbue(&mut self, cap_table: &'a ::capnp::private::layout::CapTable) {
            self.reader
                .imbue(::capnp::private::layout::CapTableReader::Plain(cap_table))
        }
    }

    impl<'a> Reader<'a> {
        pub fn reborrow(&self) -> Reader<'_> {
            Self { ..*self }
        }

        pub fn total_size(&self) -> ::capnp::Result<::capnp::MessageSize> {
            self.reader.total_size()
        }
        #[inline]
        pub fn get_question_id(self) -> u32 {
            self.reader.get_data_field::<u32>(0)
        }
        #[inline]
        pub fn get_deprecated_object_id(self) -> ::capnp::any_pointer::Reader<'a> {
            ::capnp::any_pointer::Reader::new(self.reader.get_pointer_field(0))
        }
        #[inline]
        pub fn has_deprecated_object_id(&self) -> bool {
            !self.reader.get_pointer_field(0).is_null()
        }
    }

    pub struct Builder<'a> {
        builder: ::capnp::private::layout::StructBuilder<'a>,
    }
    impl ::capnp::traits::HasStructSize for Builder<'_> {
        const STRUCT_SIZE: ::capnp::private::layout::StructSize =
            ::capnp::private::layout::StructSize {
                data: 1,
                pointers: 1,
            };
    }
    impl ::capnp::traits::HasTypeId for Builder<'_> {
        const TYPE_ID: u64 = _private::TYPE_ID;
    }
    impl<'a> ::core::convert::From<::capnp::private::layout::StructBuilder<'a>> for Builder<'a> {
        fn from(builder: ::capnp::private::layout::StructBuilder<'a>) -> Self {
            Self { builder }
        }
    }

    impl<'a> ::core::convert::From<Builder<'a>> for ::capnp::dynamic_value::Builder<'a> {
        fn from(builder: Builder<'a>) -> Self {
            Self::Struct(::capnp::dynamic_struct::Builder::new(
                builder.builder,
                ::capnp::schema::StructSchema::new(::capnp::introspect::RawBrandedStructSchema {
                    generic: &_private::RAW_SCHEMA,
                    field_types: _private::get_field_types,
                    annotation_types: _private::get_annotation_types,
                }),
            ))
        }
    }

    impl<'a> ::capnp::traits::ImbueMut<'a> for Builder<'a> {
        fn imbue_mut(&mut self, cap_table: &'a mut ::capnp::private::layout::CapTable) {
            self.builder
                .imbue(::capnp::private::layout::CapTableBuilder::Plain(cap_table))
        }
    }

    impl<'a> ::capnp::traits::FromPointerBuilder<'a> for Builder<'a> {
        fn init_pointer(builder: ::capnp::private::layout::PointerBuilder<'a>, _size: u32) -> Self {
            builder
                .init_struct(<Self as ::capnp::traits::HasStructSize>::STRUCT_SIZE)
                .into()
        }
        fn get_from_pointer(
            builder: ::capnp::private::layout::PointerBuilder<'a>,
            default: ::core::option::Option<&'a [::capnp::Word]>,
        ) -> ::capnp::Result<Self> {
            ::core::result::Result::Ok(
                builder
                    .get_struct(
                        <Self as ::capnp::traits::HasStructSize>::STRUCT_SIZE,
                        default,
                    )?
                    .into(),
            )
        }
    }

    impl ::capnp::traits::SetterInput<Owned> for Reader<'_> {
        fn set_pointer_builder(
            mut pointer: ::capnp::private::layout::PointerBuilder<'_>,
            value: Self,
            canonicalize: bool,
        ) -> ::capnp::Result<()> {
            pointer.set_struct(&value.reader, canonicalize)
        }
    }

    impl<'a> Builder<'a> {
        pub fn into_reader(self) -> Reader<'a> {
            self.builder.into_reader().into()
        }
        pub fn reborrow(&mut self) -> Builder<'_> {
            Builder {
                builder: self.builder.reborrow(),
            }
        }
        pub fn reborrow_as_reader(&self) -> Reader<'_> {
            self.builder.as_reader().into()
        }

        pub fn total_size(&self) -> ::capnp::Result<::capnp::MessageSize> {
            self.builder.as_reader().total_size()
        }
        #[inline]
        pub fn get_question_id(self) -> u32 {
            self.builder.get_data_field::<u32>(0)
        }
        #[inline]
        pub fn set_question_id(&mut self, value: u32) {
            self.builder.set_data_field::<u32>(0, value);
        }
        #[inline]
        pub fn get_deprecated_object_id(self) -> ::capnp::any_pointer::Builder<'a> {
            ::capnp::any_pointer::Builder::new(self.builder.get_pointer_field(0))
        }
        #[inline]
        pub fn init_deprecated_object_id(self) -> ::capnp::any_pointer::Builder<'a> {
            let mut result = ::capnp::any_pointer::Builder::new(self.builder.get_pointer_field(0));
            result.clear();
            result
        }
        #[inline]
        pub fn has_deprecated_object_id(&self) -> bool {
            !self.builder.is_pointer_field_null(0)
        }
    }

    pub struct Pipeline {
        _typeless: ::capnp::any_pointer::Pipeline,
    }
    impl ::capnp::capability::FromTypelessPipeline for Pipeline {
        fn new(typeless: ::capnp::any_pointer::Pipeline) -> Self {
            Self {
                _typeless: typeless,
            }
        }
    }
    impl Pipeline {
        pub fn get_deprecated_object_id(&self) -> ::capnp::any_pointer::Pipeline {
            ::capnp::capability::FromTypelessPipeline::new(self._typeless.get_pointer_field(0))
        }
    }
    mod _private {
        pub(crate) static ENCODED_NODE: [::capnp::Word; 50] = [
            ::capnp::word(0, 0, 0, 0, 5, 0, 6, 0),
            ::capnp::word(196, 110, 23, 49, 128, 207, 76, 233),
            ::capnp::word(10, 0, 0, 0, 1, 0, 1, 0),
            ::capnp::word(80, 162, 82, 37, 27, 152, 18, 179),
            ::capnp::word(1, 0, 7, 0, 0, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(21, 0, 0, 0, 162, 0, 0, 0),
            ::capnp::word(29, 0, 0, 0, 7, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(25, 0, 0, 0, 119, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(114, 112, 99, 46, 99, 97, 112, 110),
            ::capnp::word(112, 58, 66, 111, 111, 116, 115, 116),
            ::capnp::word(114, 97, 112, 0, 0, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 1, 0, 1, 0),
            ::capnp::word(8, 0, 0, 0, 3, 0, 4, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(0, 0, 1, 0, 0, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(41, 0, 0, 0, 90, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(40, 0, 0, 0, 3, 0, 1, 0),
            ::capnp::word(52, 0, 0, 0, 2, 0, 1, 0),
            ::capnp::word(1, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(0, 0, 1, 0, 1, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(49, 0, 0, 0, 154, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(52, 0, 0, 0, 3, 0, 1, 0),
            ::capnp::word(64, 0, 0, 0, 2, 0, 1, 0),
            ::capnp::word(113, 117, 101, 115, 116, 105, 111, 110),
            ::capnp::word(73, 100, 0, 0, 0, 0, 0, 0),
            ::capnp::word(8, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(8, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(100, 101, 112, 114, 101, 99, 97, 116),
            ::capnp::word(101, 100, 79, 98, 106, 101, 99, 116),
            ::capnp::word(73, 100, 0, 0, 0, 0, 0, 0),
            ::capnp::word(18, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(18, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
        ];
        pub(crate) fn get_field_types(index: u16) -> ::capnp::introspect::Type {
            match index {
                0 => <u32 as ::capnp::introspect::Introspect>::introspect(),
                1 => <::capnp::any_pointer::Owned as ::capnp::introspect::Introspect>::introspect(),
                _ => ::capnp::introspect::panic_invalid_field_index(index),
            }
        }
        pub(crate) fn get_annotation_types(
            child_index: Option<u16>,
            index: u32,
        ) -> ::capnp::introspect::Type {
            ::capnp::introspect::panic_invalid_annotation_indices(child_index, index)
        }
        pub(crate) static ARENA: ::capnp::private::arena::GeneratedCodeArena =
            ::capnp::private::arena::GeneratedCodeArena::new(&ENCODED_NODE);
        pub(crate) static RAW_SCHEMA: ::capnp::introspect::RawStructSchema =
            ::capnp::introspect::RawStructSchema::new(
                &ARENA,
                NONUNION_MEMBERS,
                MEMBERS_BY_DISCRIMINANT,
                MEMBERS_BY_NAME,
            );
        pub(crate) static NONUNION_MEMBERS: &[u16] = &[0, 1];
        pub(crate) static MEMBERS_BY_DISCRIMINANT: &[u16] = &[];
        pub(crate) static MEMBERS_BY_NAME: &[u16] = &[1, 0];
        pub(crate) const TYPE_ID: u64 = 0xe94c_cf80_3117_6ec4;
    }
}

pub mod call {
    #[derive(Copy, Clone)]
    pub struct Owned(());
    impl ::capnp::introspect::Introspect for Owned {
        fn introspect() -> ::capnp::introspect::Type {
            ::capnp::introspect::TypeVariant::Struct(::capnp::introspect::RawBrandedStructSchema {
                generic: &_private::RAW_SCHEMA,
                field_types: _private::get_field_types,
                annotation_types: _private::get_annotation_types,
            })
            .into()
        }
    }
    impl ::capnp::traits::Owned for Owned {
        type Reader<'a> = Reader<'a>;
        type Builder<'a> = Builder<'a>;
    }
    impl ::capnp::traits::OwnedStruct for Owned {
        type Reader<'a> = Reader<'a>;
        type Builder<'a> = Builder<'a>;
    }
    impl ::capnp::traits::Pipelined for Owned {
        type Pipeline = Pipeline;
    }

    pub struct Reader<'a> {
        reader: ::capnp::private::layout::StructReader<'a>,
    }
    impl ::core::marker::Copy for Reader<'_> {}
    impl ::core::clone::Clone for Reader<'_> {
        fn clone(&self) -> Self {
            *self
        }
    }

    impl ::capnp::traits::HasTypeId for Reader<'_> {
        const TYPE_ID: u64 = _private::TYPE_ID;
    }
    impl<'a> ::core::convert::From<::capnp::private::layout::StructReader<'a>> for Reader<'a> {
        fn from(reader: ::capnp::private::layout::StructReader<'a>) -> Self {
            Self { reader }
        }
    }

    impl<'a> ::core::convert::From<Reader<'a>> for ::capnp::dynamic_value::Reader<'a> {
        fn from(reader: Reader<'a>) -> Self {
            Self::Struct(::capnp::dynamic_struct::Reader::new(
                reader.reader,
                ::capnp::schema::StructSchema::new(::capnp::introspect::RawBrandedStructSchema {
                    generic: &_private::RAW_SCHEMA,
                    field_types: _private::get_field_types,
                    annotation_types: _private::get_annotation_types,
                }),
            ))
        }
    }

    impl ::core::fmt::Debug for Reader<'_> {
        fn fmt(
            &self,
            f: &mut ::core::fmt::Formatter<'_>,
        ) -> ::core::result::Result<(), ::core::fmt::Error> {
            core::fmt::Debug::fmt(
                &::core::convert::Into::<::capnp::dynamic_value::Reader<'_>>::into(*self),
                f,
            )
        }
    }

    impl<'a> ::capnp::traits::FromPointerReader<'a> for Reader<'a> {
        fn get_from_pointer(
            reader: &::capnp::private::layout::PointerReader<'a>,
            default: ::core::option::Option<&'a [::capnp::Word]>,
        ) -> ::capnp::Result<Self> {
            ::core::result::Result::Ok(reader.get_struct(default)?.into())
        }
    }

    impl<'a> ::capnp::traits::IntoInternalStructReader<'a> for Reader<'a> {
        fn into_internal_struct_reader(self) -> ::capnp::private::layout::StructReader<'a> {
            self.reader
        }
    }

    impl<'a> ::capnp::traits::Imbue<'a> for Reader<'a> {
        fn imbue(&mut self, cap_table: &'a ::capnp::private::layout::CapTable) {
            self.reader
                .imbue(::capnp::private::layout::CapTableReader::Plain(cap_table))
        }
    }

    impl<'a> Reader<'a> {
        pub fn reborrow(&self) -> Reader<'_> {
            Self { ..*self }
        }

        pub fn total_size(&self) -> ::capnp::Result<::capnp::MessageSize> {
            self.reader.total_size()
        }
        #[inline]
        pub fn get_question_id(self) -> u32 {
            self.reader.get_data_field::<u32>(0)
        }
        #[inline]
        pub fn get_target(self) -> ::capnp::Result<crate::rpc_capnp::message_target::Reader<'a>> {
            ::capnp::traits::FromPointerReader::get_from_pointer(
                &self.reader.get_pointer_field(0),
                ::core::option::Option::None,
            )
        }
        #[inline]
        pub fn has_target(&self) -> bool {
            !self.reader.get_pointer_field(0).is_null()
        }
        #[inline]
        pub fn get_interface_id(self) -> u64 {
            self.reader.get_data_field::<u64>(1)
        }
        #[inline]
        pub fn get_method_id(self) -> u16 {
            self.reader.get_data_field::<u16>(2)
        }
        #[inline]
        pub fn get_params(self) -> ::capnp::Result<crate::rpc_capnp::payload::Reader<'a>> {
            ::capnp::traits::FromPointerReader::get_from_pointer(
                &self.reader.get_pointer_field(1),
                ::core::option::Option::None,
            )
        }
        #[inline]
        pub fn has_params(&self) -> bool {
            !self.reader.get_pointer_field(1).is_null()
        }
        #[inline]
        pub fn get_send_results_to(self) -> crate::rpc_capnp::call::send_results_to::Reader<'a> {
            self.reader.into()
        }
        #[inline]
        pub fn get_allow_third_party_tail_call(self) -> bool {
            self.reader.get_bool_field(128)
        }
        #[inline]
        pub fn get_no_promise_pipelining(self) -> bool {
            self.reader.get_bool_field(129)
        }
        #[inline]
        pub fn get_only_promise_pipeline(self) -> bool {
            self.reader.get_bool_field(130)
        }
    }

    pub struct Builder<'a> {
        builder: ::capnp::private::layout::StructBuilder<'a>,
    }
    impl ::capnp::traits::HasStructSize for Builder<'_> {
        const STRUCT_SIZE: ::capnp::private::layout::StructSize =
            ::capnp::private::layout::StructSize {
                data: 3,
                pointers: 3,
            };
    }
    impl ::capnp::traits::HasTypeId for Builder<'_> {
        const TYPE_ID: u64 = _private::TYPE_ID;
    }
    impl<'a> ::core::convert::From<::capnp::private::layout::StructBuilder<'a>> for Builder<'a> {
        fn from(builder: ::capnp::private::layout::StructBuilder<'a>) -> Self {
            Self { builder }
        }
    }

    impl<'a> ::core::convert::From<Builder<'a>> for ::capnp::dynamic_value::Builder<'a> {
        fn from(builder: Builder<'a>) -> Self {
            Self::Struct(::capnp::dynamic_struct::Builder::new(
                builder.builder,
                ::capnp::schema::StructSchema::new(::capnp::introspect::RawBrandedStructSchema {
                    generic: &_private::RAW_SCHEMA,
                    field_types: _private::get_field_types,
                    annotation_types: _private::get_annotation_types,
                }),
            ))
        }
    }

    impl<'a> ::capnp::traits::ImbueMut<'a> for Builder<'a> {
        fn imbue_mut(&mut self, cap_table: &'a mut ::capnp::private::layout::CapTable) {
            self.builder
                .imbue(::capnp::private::layout::CapTableBuilder::Plain(cap_table))
        }
    }

    impl<'a> ::capnp::traits::FromPointerBuilder<'a> for Builder<'a> {
        fn init_pointer(builder: ::capnp::private::layout::PointerBuilder<'a>, _size: u32) -> Self {
            builder
                .init_struct(<Self as ::capnp::traits::HasStructSize>::STRUCT_SIZE)
                .into()
        }
        fn get_from_pointer(
            builder: ::capnp::private::layout::PointerBuilder<'a>,
            default: ::core::option::Option<&'a [::capnp::Word]>,
        ) -> ::capnp::Result<Self> {
            ::core::result::Result::Ok(
                builder
                    .get_struct(
                        <Self as ::capnp::traits::HasStructSize>::STRUCT_SIZE,
                        default,
                    )?
                    .into(),
            )
        }
    }

    impl ::capnp::traits::SetterInput<Owned> for Reader<'_> {
        fn set_pointer_builder(
            mut pointer: ::capnp::private::layout::PointerBuilder<'_>,
            value: Self,
            canonicalize: bool,
        ) -> ::capnp::Result<()> {
            pointer.set_struct(&value.reader, canonicalize)
        }
    }

    impl<'a> Builder<'a> {
        pub fn into_reader(self) -> Reader<'a> {
            self.builder.into_reader().into()
        }
        pub fn reborrow(&mut self) -> Builder<'_> {
            Builder {
                builder: self.builder.reborrow(),
            }
        }
        pub fn reborrow_as_reader(&self) -> Reader<'_> {
            self.builder.as_reader().into()
        }

        pub fn total_size(&self) -> ::capnp::Result<::capnp::MessageSize> {
            self.builder.as_reader().total_size()
        }
        #[inline]
        pub fn get_question_id(self) -> u32 {
            self.builder.get_data_field::<u32>(0)
        }
        #[inline]
        pub fn set_question_id(&mut self, value: u32) {
            self.builder.set_data_field::<u32>(0, value);
        }
        #[inline]
        pub fn get_target(self) -> ::capnp::Result<crate::rpc_capnp::message_target::Builder<'a>> {
            ::capnp::traits::FromPointerBuilder::get_from_pointer(
                self.builder.get_pointer_field(0),
                ::core::option::Option::None,
            )
        }
        #[inline]
        pub fn set_target(
            &mut self,
            value: crate::rpc_capnp::message_target::Reader<'_>,
        ) -> ::capnp::Result<()> {
            ::capnp::traits::SetterInput::set_pointer_builder(
                self.builder.reborrow().get_pointer_field(0),
                value,
                false,
            )
        }
        #[inline]
        pub fn init_target(self) -> crate::rpc_capnp::message_target::Builder<'a> {
            ::capnp::traits::FromPointerBuilder::init_pointer(self.builder.get_pointer_field(0), 0)
        }
        #[inline]
        pub fn has_target(&self) -> bool {
            !self.builder.is_pointer_field_null(0)
        }
        #[inline]
        pub fn get_interface_id(self) -> u64 {
            self.builder.get_data_field::<u64>(1)
        }
        #[inline]
        pub fn set_interface_id(&mut self, value: u64) {
            self.builder.set_data_field::<u64>(1, value);
        }
        #[inline]
        pub fn get_method_id(self) -> u16 {
            self.builder.get_data_field::<u16>(2)
        }
        #[inline]
        pub fn set_method_id(&mut self, value: u16) {
            self.builder.set_data_field::<u16>(2, value);
        }
        #[inline]
        pub fn get_params(self) -> ::capnp::Result<crate::rpc_capnp::payload::Builder<'a>> {
            ::capnp::traits::FromPointerBuilder::get_from_pointer(
                self.builder.get_pointer_field(1),
                ::core::option::Option::None,
            )
        }
        #[inline]
        pub fn set_params(
            &mut self,
            value: crate::rpc_capnp::payload::Reader<'_>,
        ) -> ::capnp::Result<()> {
            ::capnp::traits::SetterInput::set_pointer_builder(
                self.builder.reborrow().get_pointer_field(1),
                value,
                false,
            )
        }
        #[inline]
        pub fn init_params(self) -> crate::rpc_capnp::payload::Builder<'a> {
            ::capnp::traits::FromPointerBuilder::init_pointer(self.builder.get_pointer_field(1), 0)
        }
        #[inline]
        pub fn has_params(&self) -> bool {
            !self.builder.is_pointer_field_null(1)
        }
        #[inline]
        pub fn get_send_results_to(self) -> crate::rpc_capnp::call::send_results_to::Builder<'a> {
            self.builder.into()
        }
        #[inline]
        pub fn init_send_results_to(
            mut self,
        ) -> crate::rpc_capnp::call::send_results_to::Builder<'a> {
            self.builder.set_data_field::<u16>(3, 0);
            self.builder.reborrow().get_pointer_field(2).clear();
            self.builder.into()
        }
        #[inline]
        pub fn get_allow_third_party_tail_call(self) -> bool {
            self.builder.get_bool_field(128)
        }
        #[inline]
        pub fn set_allow_third_party_tail_call(&mut self, value: bool) {
            self.builder.set_bool_field(128, value);
        }
        #[inline]
        pub fn get_no_promise_pipelining(self) -> bool {
            self.builder.get_bool_field(129)
        }
        #[inline]
        pub fn set_no_promise_pipelining(&mut self, value: bool) {
            self.builder.set_bool_field(129, value);
        }
        #[inline]
        pub fn get_only_promise_pipeline(self) -> bool {
            self.builder.get_bool_field(130)
        }
        #[inline]
        pub fn set_only_promise_pipeline(&mut self, value: bool) {
            self.builder.set_bool_field(130, value);
        }
    }

    pub struct Pipeline {
        _typeless: ::capnp::any_pointer::Pipeline,
    }
    impl ::capnp::capability::FromTypelessPipeline for Pipeline {
        fn new(typeless: ::capnp::any_pointer::Pipeline) -> Self {
            Self {
                _typeless: typeless,
            }
        }
    }
    impl Pipeline {
        pub fn get_target(&self) -> crate::rpc_capnp::message_target::Pipeline {
            ::capnp::capability::FromTypelessPipeline::new(self._typeless.get_pointer_field(0))
        }
        pub fn get_params(&self) -> crate::rpc_capnp::payload::Pipeline {
            ::capnp::capability::FromTypelessPipeline::new(self._typeless.get_pointer_field(1))
        }
        pub fn get_send_results_to(&self) -> crate::rpc_capnp::call::send_results_to::Pipeline {
            ::capnp::capability::FromTypelessPipeline::new(self._typeless.noop())
        }
    }
    mod _private {
        pub(crate) static ENCODED_NODE: [::capnp::Word; 154] = [
            ::capnp::word(0, 0, 0, 0, 5, 0, 6, 0),
            ::capnp::word(212, 76, 157, 120, 206, 83, 106, 131),
            ::capnp::word(10, 0, 0, 0, 1, 0, 3, 0),
            ::capnp::word(80, 162, 82, 37, 27, 152, 18, 179),
            ::capnp::word(3, 0, 7, 0, 0, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(21, 0, 0, 0, 122, 0, 0, 0),
            ::capnp::word(25, 0, 0, 0, 7, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(21, 0, 0, 0, 255, 1, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(114, 112, 99, 46, 99, 97, 112, 110),
            ::capnp::word(112, 58, 67, 97, 108, 108, 0, 0),
            ::capnp::word(0, 0, 0, 0, 1, 0, 1, 0),
            ::capnp::word(36, 0, 0, 0, 3, 0, 4, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(0, 0, 1, 0, 0, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(237, 0, 0, 0, 90, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(236, 0, 0, 0, 3, 0, 1, 0),
            ::capnp::word(248, 0, 0, 0, 2, 0, 1, 0),
            ::capnp::word(1, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(0, 0, 1, 0, 1, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(245, 0, 0, 0, 58, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(240, 0, 0, 0, 3, 0, 1, 0),
            ::capnp::word(252, 0, 0, 0, 2, 0, 1, 0),
            ::capnp::word(2, 0, 0, 0, 1, 0, 0, 0),
            ::capnp::word(0, 0, 1, 0, 2, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(249, 0, 0, 0, 98, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(248, 0, 0, 0, 3, 0, 1, 0),
            ::capnp::word(4, 1, 0, 0, 2, 0, 1, 0),
            ::capnp::word(3, 0, 0, 0, 2, 0, 0, 0),
            ::capnp::word(0, 0, 1, 0, 3, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(1, 1, 0, 0, 74, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(0, 1, 0, 0, 3, 0, 1, 0),
            ::capnp::word(12, 1, 0, 0, 2, 0, 1, 0),
            ::capnp::word(7, 0, 0, 0, 1, 0, 0, 0),
            ::capnp::word(0, 0, 1, 0, 4, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(9, 1, 0, 0, 58, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(4, 1, 0, 0, 3, 0, 1, 0),
            ::capnp::word(16, 1, 0, 0, 2, 0, 1, 0),
            ::capnp::word(8, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(1, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(153, 95, 171, 26, 246, 176, 232, 218),
            ::capnp::word(13, 1, 0, 0, 114, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(4, 0, 0, 0, 128, 0, 0, 0),
            ::capnp::word(0, 0, 1, 0, 8, 0, 0, 0),
            ::capnp::word(1, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(249, 0, 0, 0, 194, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(252, 0, 0, 0, 3, 0, 1, 0),
            ::capnp::word(8, 1, 0, 0, 2, 0, 1, 0),
            ::capnp::word(5, 0, 0, 0, 129, 0, 0, 0),
            ::capnp::word(0, 0, 1, 0, 9, 0, 0, 0),
            ::capnp::word(1, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(5, 1, 0, 0, 162, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(8, 1, 0, 0, 3, 0, 1, 0),
            ::capnp::word(20, 1, 0, 0, 2, 0, 1, 0),
            ::capnp::word(6, 0, 0, 0, 130, 0, 0, 0),
            ::capnp::word(0, 0, 1, 0, 10, 0, 0, 0),
            ::capnp::word(1, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(17, 1, 0, 0, 162, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(20, 1, 0, 0, 3, 0, 1, 0),
            ::capnp::word(32, 1, 0, 0, 2, 0, 1, 0),
            ::capnp::word(113, 117, 101, 115, 116, 105, 111, 110),
            ::capnp::word(73, 100, 0, 0, 0, 0, 0, 0),
            ::capnp::word(8, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(8, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(116, 97, 114, 103, 101, 116, 0, 0),
            ::capnp::word(16, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(193, 251, 19, 88, 84, 20, 188, 149),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(16, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(105, 110, 116, 101, 114, 102, 97, 99),
            ::capnp::word(101, 73, 100, 0, 0, 0, 0, 0),
            ::capnp::word(9, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(9, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(109, 101, 116, 104, 111, 100, 73, 100),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(7, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(7, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(112, 97, 114, 97, 109, 115, 0, 0),
            ::capnp::word(16, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(59, 116, 150, 61, 34, 97, 14, 154),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(16, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(115, 101, 110, 100, 82, 101, 115, 117),
            ::capnp::word(108, 116, 115, 84, 111, 0, 0, 0),
            ::capnp::word(97, 108, 108, 111, 119, 84, 104, 105),
            ::capnp::word(114, 100, 80, 97, 114, 116, 121, 84),
            ::capnp::word(97, 105, 108, 67, 97, 108, 108, 0),
            ::capnp::word(1, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(1, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(110, 111, 80, 114, 111, 109, 105, 115),
            ::capnp::word(101, 80, 105, 112, 101, 108, 105, 110),
            ::capnp::word(105, 110, 103, 0, 0, 0, 0, 0),
            ::capnp::word(1, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(1, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(111, 110, 108, 121, 80, 114, 111, 109),
            ::capnp::word(105, 115, 101, 80, 105, 112, 101, 108),
            ::capnp::word(105, 110, 101, 0, 0, 0, 0, 0),
            ::capnp::word(1, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(1, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
        ];
        pub(crate) fn get_field_types(index: u16) -> ::capnp::introspect::Type {
            match index {
                0 => <u32 as ::capnp::introspect::Introspect>::introspect(),
                1 => <crate::rpc_capnp::message_target::Owned as ::capnp::introspect::Introspect>::introspect(),
                2 => <u64 as ::capnp::introspect::Introspect>::introspect(),
                3 => <u16 as ::capnp::introspect::Introspect>::introspect(),
                4 => <crate::rpc_capnp::payload::Owned as ::capnp::introspect::Introspect>::introspect(),
                5 => <crate::rpc_capnp::call::send_results_to::Owned as ::capnp::introspect::Introspect>::introspect(),
                6 => <bool as ::capnp::introspect::Introspect>::introspect(),
                7 => <bool as ::capnp::introspect::Introspect>::introspect(),
                8 => <bool as ::capnp::introspect::Introspect>::introspect(),
                _ => ::capnp::introspect::panic_invalid_field_index(index),
            }
        }
        pub(crate) fn get_annotation_types(
            child_index: Option<u16>,
            index: u32,
        ) -> ::capnp::introspect::Type {
            ::capnp::introspect::panic_invalid_annotation_indices(child_index, index)
        }
        pub(crate) static ARENA: ::capnp::private::arena::GeneratedCodeArena =
            ::capnp::private::arena::GeneratedCodeArena::new(&ENCODED_NODE);
        pub(crate) static RAW_SCHEMA: ::capnp::introspect::RawStructSchema =
            ::capnp::introspect::RawStructSchema::new(
                &ARENA,
                NONUNION_MEMBERS,
                MEMBERS_BY_DISCRIMINANT,
                MEMBERS_BY_NAME,
            );
        pub(crate) static NONUNION_MEMBERS: &[u16] = &[0, 1, 2, 3, 4, 5, 6, 7, 8];
        pub(crate) static MEMBERS_BY_DISCRIMINANT: &[u16] = &[];
        pub(crate) static MEMBERS_BY_NAME: &[u16] = &[6, 2, 3, 7, 8, 4, 0, 5, 1];
        pub(crate) const TYPE_ID: u64 = 0x836a_53ce_789d_4cd4;
    }

    pub mod send_results_to {
        pub use self::Which::{Caller, ThirdParty, Yourself};

        #[derive(Copy, Clone)]
        pub struct Owned(());
        impl ::capnp::introspect::Introspect for Owned {
            fn introspect() -> ::capnp::introspect::Type {
                ::capnp::introspect::TypeVariant::Struct(
                    ::capnp::introspect::RawBrandedStructSchema {
                        generic: &_private::RAW_SCHEMA,
                        field_types: _private::get_field_types,
                        annotation_types: _private::get_annotation_types,
                    },
                )
                .into()
            }
        }
        impl ::capnp::traits::Owned for Owned {
            type Reader<'a> = Reader<'a>;
            type Builder<'a> = Builder<'a>;
        }
        impl ::capnp::traits::OwnedStruct for Owned {
            type Reader<'a> = Reader<'a>;
            type Builder<'a> = Builder<'a>;
        }
        impl ::capnp::traits::Pipelined for Owned {
            type Pipeline = Pipeline;
        }

        pub struct Reader<'a> {
            reader: ::capnp::private::layout::StructReader<'a>,
        }
        impl ::core::marker::Copy for Reader<'_> {}
        impl ::core::clone::Clone for Reader<'_> {
            fn clone(&self) -> Self {
                *self
            }
        }

        impl ::capnp::traits::HasTypeId for Reader<'_> {
            const TYPE_ID: u64 = _private::TYPE_ID;
        }
        impl<'a> ::core::convert::From<::capnp::private::layout::StructReader<'a>> for Reader<'a> {
            fn from(reader: ::capnp::private::layout::StructReader<'a>) -> Self {
                Self { reader }
            }
        }

        impl<'a> ::core::convert::From<Reader<'a>> for ::capnp::dynamic_value::Reader<'a> {
            fn from(reader: Reader<'a>) -> Self {
                Self::Struct(::capnp::dynamic_struct::Reader::new(
                    reader.reader,
                    ::capnp::schema::StructSchema::new(
                        ::capnp::introspect::RawBrandedStructSchema {
                            generic: &_private::RAW_SCHEMA,
                            field_types: _private::get_field_types,
                            annotation_types: _private::get_annotation_types,
                        },
                    ),
                ))
            }
        }

        impl ::core::fmt::Debug for Reader<'_> {
            fn fmt(
                &self,
                f: &mut ::core::fmt::Formatter<'_>,
            ) -> ::core::result::Result<(), ::core::fmt::Error> {
                core::fmt::Debug::fmt(
                    &::core::convert::Into::<::capnp::dynamic_value::Reader<'_>>::into(*self),
                    f,
                )
            }
        }

        impl<'a> ::capnp::traits::FromPointerReader<'a> for Reader<'a> {
            fn get_from_pointer(
                reader: &::capnp::private::layout::PointerReader<'a>,
                default: ::core::option::Option<&'a [::capnp::Word]>,
            ) -> ::capnp::Result<Self> {
                ::core::result::Result::Ok(reader.get_struct(default)?.into())
            }
        }

        impl<'a> ::capnp::traits::IntoInternalStructReader<'a> for Reader<'a> {
            fn into_internal_struct_reader(self) -> ::capnp::private::layout::StructReader<'a> {
                self.reader
            }
        }

        impl<'a> ::capnp::traits::Imbue<'a> for Reader<'a> {
            fn imbue(&mut self, cap_table: &'a ::capnp::private::layout::CapTable) {
                self.reader
                    .imbue(::capnp::private::layout::CapTableReader::Plain(cap_table))
            }
        }

        impl<'a> Reader<'a> {
            pub fn reborrow(&self) -> Reader<'_> {
                Self { ..*self }
            }

            pub fn total_size(&self) -> ::capnp::Result<::capnp::MessageSize> {
                self.reader.total_size()
            }
            #[inline]
            pub fn has_third_party(&self) -> bool {
                if self.reader.get_data_field::<u16>(3) != 2 {
                    return false;
                }
                !self.reader.get_pointer_field(2).is_null()
            }
            #[inline]
            pub fn which(self) -> ::core::result::Result<WhichReader<'a>, ::capnp::NotInSchema> {
                match self.reader.get_data_field::<u16>(3) {
                    0 => ::core::result::Result::Ok(Caller(())),
                    1 => ::core::result::Result::Ok(Yourself(())),
                    2 => ::core::result::Result::Ok(ThirdParty(::capnp::any_pointer::Reader::new(
                        self.reader.get_pointer_field(2),
                    ))),
                    x => ::core::result::Result::Err(::capnp::NotInSchema(x)),
                }
            }
        }

        pub struct Builder<'a> {
            builder: ::capnp::private::layout::StructBuilder<'a>,
        }
        impl ::capnp::traits::HasStructSize for Builder<'_> {
            const STRUCT_SIZE: ::capnp::private::layout::StructSize =
                ::capnp::private::layout::StructSize {
                    data: 3,
                    pointers: 3,
                };
        }
        impl ::capnp::traits::HasTypeId for Builder<'_> {
            const TYPE_ID: u64 = _private::TYPE_ID;
        }
        impl<'a> ::core::convert::From<::capnp::private::layout::StructBuilder<'a>> for Builder<'a> {
            fn from(builder: ::capnp::private::layout::StructBuilder<'a>) -> Self {
                Self { builder }
            }
        }

        impl<'a> ::core::convert::From<Builder<'a>> for ::capnp::dynamic_value::Builder<'a> {
            fn from(builder: Builder<'a>) -> Self {
                Self::Struct(::capnp::dynamic_struct::Builder::new(
                    builder.builder,
                    ::capnp::schema::StructSchema::new(
                        ::capnp::introspect::RawBrandedStructSchema {
                            generic: &_private::RAW_SCHEMA,
                            field_types: _private::get_field_types,
                            annotation_types: _private::get_annotation_types,
                        },
                    ),
                ))
            }
        }

        impl<'a> ::capnp::traits::ImbueMut<'a> for Builder<'a> {
            fn imbue_mut(&mut self, cap_table: &'a mut ::capnp::private::layout::CapTable) {
                self.builder
                    .imbue(::capnp::private::layout::CapTableBuilder::Plain(cap_table))
            }
        }

        impl<'a> ::capnp::traits::FromPointerBuilder<'a> for Builder<'a> {
            fn init_pointer(
                builder: ::capnp::private::layout::PointerBuilder<'a>,
                _size: u32,
            ) -> Self {
                builder
                    .init_struct(<Self as ::capnp::traits::HasStructSize>::STRUCT_SIZE)
                    .into()
            }
            fn get_from_pointer(
                builder: ::capnp::private::layout::PointerBuilder<'a>,
                default: ::core::option::Option<&'a [::capnp::Word]>,
            ) -> ::capnp::Result<Self> {
                ::core::result::Result::Ok(
                    builder
                        .get_struct(
                            <Self as ::capnp::traits::HasStructSize>::STRUCT_SIZE,
                            default,
                        )?
                        .into(),
                )
            }
        }

        impl ::capnp::traits::SetterInput<Owned> for Reader<'_> {
            fn set_pointer_builder(
                mut pointer: ::capnp::private::layout::PointerBuilder<'_>,
                value: Self,
                canonicalize: bool,
            ) -> ::capnp::Result<()> {
                pointer.set_struct(&value.reader, canonicalize)
            }
        }

        impl<'a> Builder<'a> {
            pub fn into_reader(self) -> Reader<'a> {
                self.builder.into_reader().into()
            }
            pub fn reborrow(&mut self) -> Builder<'_> {
                Builder {
                    builder: self.builder.reborrow(),
                }
            }
            pub fn reborrow_as_reader(&self) -> Reader<'_> {
                self.builder.as_reader().into()
            }

            pub fn total_size(&self) -> ::capnp::Result<::capnp::MessageSize> {
                self.builder.as_reader().total_size()
            }
            #[inline]
            pub fn set_caller(&mut self, _value: ()) {
                self.builder.set_data_field::<u16>(3, 0);
            }
            #[inline]
            pub fn set_yourself(&mut self, _value: ()) {
                self.builder.set_data_field::<u16>(3, 1);
            }
            #[inline]
            pub fn init_third_party(self) -> ::capnp::any_pointer::Builder<'a> {
                self.builder.set_data_field::<u16>(3, 2);
                let mut result =
                    ::capnp::any_pointer::Builder::new(self.builder.get_pointer_field(2));
                result.clear();
                result
            }
            #[inline]
            pub fn has_third_party(&self) -> bool {
                if self.builder.get_data_field::<u16>(3) != 2 {
                    return false;
                }
                !self.builder.is_pointer_field_null(2)
            }
            #[inline]
            pub fn which(self) -> ::core::result::Result<WhichBuilder<'a>, ::capnp::NotInSchema> {
                match self.builder.get_data_field::<u16>(3) {
                    0 => ::core::result::Result::Ok(Caller(())),
                    1 => ::core::result::Result::Ok(Yourself(())),
                    2 => ::core::result::Result::Ok(ThirdParty(
                        ::capnp::any_pointer::Builder::new(self.builder.get_pointer_field(2)),
                    )),
                    x => ::core::result::Result::Err(::capnp::NotInSchema(x)),
                }
            }
        }

        pub struct Pipeline {
            _typeless: ::capnp::any_pointer::Pipeline,
        }
        impl ::capnp::capability::FromTypelessPipeline for Pipeline {
            fn new(typeless: ::capnp::any_pointer::Pipeline) -> Self {
                Self {
                    _typeless: typeless,
                }
            }
        }
        impl Pipeline {}
        mod _private {
            pub(crate) static ENCODED_NODE: [::capnp::Word; 64] = [
                ::capnp::word(0, 0, 0, 0, 5, 0, 6, 0),
                ::capnp::word(153, 95, 171, 26, 246, 176, 232, 218),
                ::capnp::word(15, 0, 0, 0, 1, 0, 3, 0),
                ::capnp::word(212, 76, 157, 120, 206, 83, 106, 131),
                ::capnp::word(3, 0, 7, 0, 1, 0, 3, 0),
                ::capnp::word(3, 0, 0, 0, 0, 0, 0, 0),
                ::capnp::word(21, 0, 0, 0, 234, 0, 0, 0),
                ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
                ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
                ::capnp::word(25, 0, 0, 0, 175, 0, 0, 0),
                ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
                ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
                ::capnp::word(114, 112, 99, 46, 99, 97, 112, 110),
                ::capnp::word(112, 58, 67, 97, 108, 108, 46, 115),
                ::capnp::word(101, 110, 100, 82, 101, 115, 117, 108),
                ::capnp::word(116, 115, 84, 111, 0, 0, 0, 0),
                ::capnp::word(12, 0, 0, 0, 3, 0, 4, 0),
                ::capnp::word(0, 0, 255, 255, 0, 0, 0, 0),
                ::capnp::word(0, 0, 1, 0, 5, 0, 0, 0),
                ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
                ::capnp::word(69, 0, 0, 0, 58, 0, 0, 0),
                ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
                ::capnp::word(64, 0, 0, 0, 3, 0, 1, 0),
                ::capnp::word(76, 0, 0, 0, 2, 0, 1, 0),
                ::capnp::word(1, 0, 254, 255, 0, 0, 0, 0),
                ::capnp::word(0, 0, 1, 0, 6, 0, 0, 0),
                ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
                ::capnp::word(73, 0, 0, 0, 74, 0, 0, 0),
                ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
                ::capnp::word(72, 0, 0, 0, 3, 0, 1, 0),
                ::capnp::word(84, 0, 0, 0, 2, 0, 1, 0),
                ::capnp::word(2, 0, 253, 255, 2, 0, 0, 0),
                ::capnp::word(0, 0, 1, 0, 7, 0, 0, 0),
                ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
                ::capnp::word(81, 0, 0, 0, 90, 0, 0, 0),
                ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
                ::capnp::word(80, 0, 0, 0, 3, 0, 1, 0),
                ::capnp::word(92, 0, 0, 0, 2, 0, 1, 0),
                ::capnp::word(99, 97, 108, 108, 101, 114, 0, 0),
                ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
                ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
                ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
                ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
                ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
                ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
                ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
                ::capnp::word(121, 111, 117, 114, 115, 101, 108, 102),
                ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
                ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
                ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
                ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
                ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
                ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
                ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
                ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
                ::capnp::word(116, 104, 105, 114, 100, 80, 97, 114),
                ::capnp::word(116, 121, 0, 0, 0, 0, 0, 0),
                ::capnp::word(18, 0, 0, 0, 0, 0, 0, 0),
                ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
                ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
                ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
                ::capnp::word(18, 0, 0, 0, 0, 0, 0, 0),
                ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
                ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ];
            pub(crate) fn get_field_types(index: u16) -> ::capnp::introspect::Type {
                match index {
                    0 => <() as ::capnp::introspect::Introspect>::introspect(),
                    1 => <() as ::capnp::introspect::Introspect>::introspect(),
                    2 => {
                        <::capnp::any_pointer::Owned as ::capnp::introspect::Introspect>::introspect(
                        )
                    }
                    _ => ::capnp::introspect::panic_invalid_field_index(index),
                }
            }
            pub(crate) fn get_annotation_types(
                child_index: Option<u16>,
                index: u32,
            ) -> ::capnp::introspect::Type {
                ::capnp::introspect::panic_invalid_annotation_indices(child_index, index)
            }
            pub(crate) static ARENA: ::capnp::private::arena::GeneratedCodeArena =
                ::capnp::private::arena::GeneratedCodeArena::new(&ENCODED_NODE);
            pub(crate) static RAW_SCHEMA: ::capnp::introspect::RawStructSchema =
                ::capnp::introspect::RawStructSchema::new(
                    &ARENA,
                    NONUNION_MEMBERS,
                    MEMBERS_BY_DISCRIMINANT,
                    MEMBERS_BY_NAME,
                );
            pub(crate) static NONUNION_MEMBERS: &[u16] = &[];
            pub(crate) static MEMBERS_BY_DISCRIMINANT: &[u16] = &[0, 1, 2];
            pub(crate) static MEMBERS_BY_NAME: &[u16] = &[0, 2, 1];
            pub(crate) const TYPE_ID: u64 = 0xdae8_b0f6_1aab_5f99;
        }
        pub enum Which<A0> {
            Caller(()),
            Yourself(()),
            ThirdParty(A0),
        }
        pub type WhichReader<'a> = Which<::capnp::any_pointer::Reader<'a>>;
        pub type WhichBuilder<'a> = Which<::capnp::any_pointer::Builder<'a>>;
    }
}

pub mod return_ {
    pub use self::Which::{
        AcceptFromThirdParty, Canceled, Exception, Results, ResultsSentElsewhere,
        TakeFromOtherQuestion,
    };

    #[derive(Copy, Clone)]
    pub struct Owned(());
    impl ::capnp::introspect::Introspect for Owned {
        fn introspect() -> ::capnp::introspect::Type {
            ::capnp::introspect::TypeVariant::Struct(::capnp::introspect::RawBrandedStructSchema {
                generic: &_private::RAW_SCHEMA,
                field_types: _private::get_field_types,
                annotation_types: _private::get_annotation_types,
            })
            .into()
        }
    }
    impl ::capnp::traits::Owned for Owned {
        type Reader<'a> = Reader<'a>;
        type Builder<'a> = Builder<'a>;
    }
    impl ::capnp::traits::OwnedStruct for Owned {
        type Reader<'a> = Reader<'a>;
        type Builder<'a> = Builder<'a>;
    }
    impl ::capnp::traits::Pipelined for Owned {
        type Pipeline = Pipeline;
    }

    pub struct Reader<'a> {
        reader: ::capnp::private::layout::StructReader<'a>,
    }
    impl ::core::marker::Copy for Reader<'_> {}
    impl ::core::clone::Clone for Reader<'_> {
        fn clone(&self) -> Self {
            *self
        }
    }

    impl ::capnp::traits::HasTypeId for Reader<'_> {
        const TYPE_ID: u64 = _private::TYPE_ID;
    }
    impl<'a> ::core::convert::From<::capnp::private::layout::StructReader<'a>> for Reader<'a> {
        fn from(reader: ::capnp::private::layout::StructReader<'a>) -> Self {
            Self { reader }
        }
    }

    impl<'a> ::core::convert::From<Reader<'a>> for ::capnp::dynamic_value::Reader<'a> {
        fn from(reader: Reader<'a>) -> Self {
            Self::Struct(::capnp::dynamic_struct::Reader::new(
                reader.reader,
                ::capnp::schema::StructSchema::new(::capnp::introspect::RawBrandedStructSchema {
                    generic: &_private::RAW_SCHEMA,
                    field_types: _private::get_field_types,
                    annotation_types: _private::get_annotation_types,
                }),
            ))
        }
    }

    impl ::core::fmt::Debug for Reader<'_> {
        fn fmt(
            &self,
            f: &mut ::core::fmt::Formatter<'_>,
        ) -> ::core::result::Result<(), ::core::fmt::Error> {
            core::fmt::Debug::fmt(
                &::core::convert::Into::<::capnp::dynamic_value::Reader<'_>>::into(*self),
                f,
            )
        }
    }

    impl<'a> ::capnp::traits::FromPointerReader<'a> for Reader<'a> {
        fn get_from_pointer(
            reader: &::capnp::private::layout::PointerReader<'a>,
            default: ::core::option::Option<&'a [::capnp::Word]>,
        ) -> ::capnp::Result<Self> {
            ::core::result::Result::Ok(reader.get_struct(default)?.into())
        }
    }

    impl<'a> ::capnp::traits::IntoInternalStructReader<'a> for Reader<'a> {
        fn into_internal_struct_reader(self) -> ::capnp::private::layout::StructReader<'a> {
            self.reader
        }
    }

    impl<'a> ::capnp::traits::Imbue<'a> for Reader<'a> {
        fn imbue(&mut self, cap_table: &'a ::capnp::private::layout::CapTable) {
            self.reader
                .imbue(::capnp::private::layout::CapTableReader::Plain(cap_table))
        }
    }

    impl<'a> Reader<'a> {
        pub fn reborrow(&self) -> Reader<'_> {
            Self { ..*self }
        }

        pub fn total_size(&self) -> ::capnp::Result<::capnp::MessageSize> {
            self.reader.total_size()
        }
        #[inline]
        pub fn get_answer_id(self) -> u32 {
            self.reader.get_data_field::<u32>(0)
        }
        #[inline]
        pub fn get_release_param_caps(self) -> bool {
            self.reader.get_bool_field_mask(32, true)
        }
        #[inline]
        pub fn has_results(&self) -> bool {
            if self.reader.get_data_field::<u16>(3) != 0 {
                return false;
            }
            !self.reader.get_pointer_field(0).is_null()
        }
        #[inline]
        pub fn has_exception(&self) -> bool {
            if self.reader.get_data_field::<u16>(3) != 1 {
                return false;
            }
            !self.reader.get_pointer_field(0).is_null()
        }
        #[inline]
        pub fn has_accept_from_third_party(&self) -> bool {
            if self.reader.get_data_field::<u16>(3) != 5 {
                return false;
            }
            !self.reader.get_pointer_field(0).is_null()
        }
        #[inline]
        pub fn get_no_finish_needed(self) -> bool {
            self.reader.get_bool_field(33)
        }
        #[inline]
        pub fn which(self) -> ::core::result::Result<WhichReader<'a>, ::capnp::NotInSchema> {
            match self.reader.get_data_field::<u16>(3) {
                0 => ::core::result::Result::Ok(Results(
                    ::capnp::traits::FromPointerReader::get_from_pointer(
                        &self.reader.get_pointer_field(0),
                        ::core::option::Option::None,
                    ),
                )),
                1 => ::core::result::Result::Ok(Exception(
                    ::capnp::traits::FromPointerReader::get_from_pointer(
                        &self.reader.get_pointer_field(0),
                        ::core::option::Option::None,
                    ),
                )),
                2 => ::core::result::Result::Ok(Canceled(())),
                3 => ::core::result::Result::Ok(ResultsSentElsewhere(())),
                4 => ::core::result::Result::Ok(TakeFromOtherQuestion(
                    self.reader.get_data_field::<u32>(2),
                )),
                5 => ::core::result::Result::Ok(AcceptFromThirdParty(
                    ::capnp::any_pointer::Reader::new(self.reader.get_pointer_field(0)),
                )),
                x => ::core::result::Result::Err(::capnp::NotInSchema(x)),
            }
        }
    }

    pub struct Builder<'a> {
        builder: ::capnp::private::layout::StructBuilder<'a>,
    }
    impl ::capnp::traits::HasStructSize for Builder<'_> {
        const STRUCT_SIZE: ::capnp::private::layout::StructSize =
            ::capnp::private::layout::StructSize {
                data: 2,
                pointers: 1,
            };
    }
    impl ::capnp::traits::HasTypeId for Builder<'_> {
        const TYPE_ID: u64 = _private::TYPE_ID;
    }
    impl<'a> ::core::convert::From<::capnp::private::layout::StructBuilder<'a>> for Builder<'a> {
        fn from(builder: ::capnp::private::layout::StructBuilder<'a>) -> Self {
            Self { builder }
        }
    }

    impl<'a> ::core::convert::From<Builder<'a>> for ::capnp::dynamic_value::Builder<'a> {
        fn from(builder: Builder<'a>) -> Self {
            Self::Struct(::capnp::dynamic_struct::Builder::new(
                builder.builder,
                ::capnp::schema::StructSchema::new(::capnp::introspect::RawBrandedStructSchema {
                    generic: &_private::RAW_SCHEMA,
                    field_types: _private::get_field_types,
                    annotation_types: _private::get_annotation_types,
                }),
            ))
        }
    }

    impl<'a> ::capnp::traits::ImbueMut<'a> for Builder<'a> {
        fn imbue_mut(&mut self, cap_table: &'a mut ::capnp::private::layout::CapTable) {
            self.builder
                .imbue(::capnp::private::layout::CapTableBuilder::Plain(cap_table))
        }
    }

    impl<'a> ::capnp::traits::FromPointerBuilder<'a> for Builder<'a> {
        fn init_pointer(builder: ::capnp::private::layout::PointerBuilder<'a>, _size: u32) -> Self {
            builder
                .init_struct(<Self as ::capnp::traits::HasStructSize>::STRUCT_SIZE)
                .into()
        }
        fn get_from_pointer(
            builder: ::capnp::private::layout::PointerBuilder<'a>,
            default: ::core::option::Option<&'a [::capnp::Word]>,
        ) -> ::capnp::Result<Self> {
            ::core::result::Result::Ok(
                builder
                    .get_struct(
                        <Self as ::capnp::traits::HasStructSize>::STRUCT_SIZE,
                        default,
                    )?
                    .into(),
            )
        }
    }

    impl ::capnp::traits::SetterInput<Owned> for Reader<'_> {
        fn set_pointer_builder(
            mut pointer: ::capnp::private::layout::PointerBuilder<'_>,
            value: Self,
            canonicalize: bool,
        ) -> ::capnp::Result<()> {
            pointer.set_struct(&value.reader, canonicalize)
        }
    }

    impl<'a> Builder<'a> {
        pub fn into_reader(self) -> Reader<'a> {
            self.builder.into_reader().into()
        }
        pub fn reborrow(&mut self) -> Builder<'_> {
            Builder {
                builder: self.builder.reborrow(),
            }
        }
        pub fn reborrow_as_reader(&self) -> Reader<'_> {
            self.builder.as_reader().into()
        }

        pub fn total_size(&self) -> ::capnp::Result<::capnp::MessageSize> {
            self.builder.as_reader().total_size()
        }
        #[inline]
        pub fn get_answer_id(self) -> u32 {
            self.builder.get_data_field::<u32>(0)
        }
        #[inline]
        pub fn set_answer_id(&mut self, value: u32) {
            self.builder.set_data_field::<u32>(0, value);
        }
        #[inline]
        pub fn get_release_param_caps(self) -> bool {
            self.builder.get_bool_field_mask(32, true)
        }
        #[inline]
        pub fn set_release_param_caps(&mut self, value: bool) {
            self.builder.set_bool_field_mask(32, value, true);
        }
        #[inline]
        pub fn set_results(
            &mut self,
            value: crate::rpc_capnp::payload::Reader<'_>,
        ) -> ::capnp::Result<()> {
            self.builder.set_data_field::<u16>(3, 0);
            ::capnp::traits::SetterInput::set_pointer_builder(
                self.builder.reborrow().get_pointer_field(0),
                value,
                false,
            )
        }
        #[inline]
        pub fn init_results(self) -> crate::rpc_capnp::payload::Builder<'a> {
            self.builder.set_data_field::<u16>(3, 0);
            ::capnp::traits::FromPointerBuilder::init_pointer(self.builder.get_pointer_field(0), 0)
        }
        #[inline]
        pub fn has_results(&self) -> bool {
            if self.builder.get_data_field::<u16>(3) != 0 {
                return false;
            }
            !self.builder.is_pointer_field_null(0)
        }
        #[inline]
        pub fn set_exception(
            &mut self,
            value: crate::rpc_capnp::exception::Reader<'_>,
        ) -> ::capnp::Result<()> {
            self.builder.set_data_field::<u16>(3, 1);
            ::capnp::traits::SetterInput::set_pointer_builder(
                self.builder.reborrow().get_pointer_field(0),
                value,
                false,
            )
        }
        #[inline]
        pub fn init_exception(self) -> crate::rpc_capnp::exception::Builder<'a> {
            self.builder.set_data_field::<u16>(3, 1);
            ::capnp::traits::FromPointerBuilder::init_pointer(self.builder.get_pointer_field(0), 0)
        }
        #[inline]
        pub fn has_exception(&self) -> bool {
            if self.builder.get_data_field::<u16>(3) != 1 {
                return false;
            }
            !self.builder.is_pointer_field_null(0)
        }
        #[inline]
        pub fn set_canceled(&mut self, _value: ()) {
            self.builder.set_data_field::<u16>(3, 2);
        }
        #[inline]
        pub fn set_results_sent_elsewhere(&mut self, _value: ()) {
            self.builder.set_data_field::<u16>(3, 3);
        }
        #[inline]
        pub fn set_take_from_other_question(&mut self, value: u32) {
            self.builder.set_data_field::<u16>(3, 4);
            self.builder.set_data_field::<u32>(2, value);
        }
        #[inline]
        pub fn init_accept_from_third_party(self) -> ::capnp::any_pointer::Builder<'a> {
            self.builder.set_data_field::<u16>(3, 5);
            let mut result = ::capnp::any_pointer::Builder::new(self.builder.get_pointer_field(0));
            result.clear();
            result
        }
        #[inline]
        pub fn has_accept_from_third_party(&self) -> bool {
            if self.builder.get_data_field::<u16>(3) != 5 {
                return false;
            }
            !self.builder.is_pointer_field_null(0)
        }
        #[inline]
        pub fn get_no_finish_needed(self) -> bool {
            self.builder.get_bool_field(33)
        }
        #[inline]
        pub fn set_no_finish_needed(&mut self, value: bool) {
            self.builder.set_bool_field(33, value);
        }
        #[inline]
        pub fn which(self) -> ::core::result::Result<WhichBuilder<'a>, ::capnp::NotInSchema> {
            match self.builder.get_data_field::<u16>(3) {
                0 => ::core::result::Result::Ok(Results(
                    ::capnp::traits::FromPointerBuilder::get_from_pointer(
                        self.builder.get_pointer_field(0),
                        ::core::option::Option::None,
                    ),
                )),
                1 => ::core::result::Result::Ok(Exception(
                    ::capnp::traits::FromPointerBuilder::get_from_pointer(
                        self.builder.get_pointer_field(0),
                        ::core::option::Option::None,
                    ),
                )),
                2 => ::core::result::Result::Ok(Canceled(())),
                3 => ::core::result::Result::Ok(ResultsSentElsewhere(())),
                4 => ::core::result::Result::Ok(TakeFromOtherQuestion(
                    self.builder.get_data_field::<u32>(2),
                )),
                5 => ::core::result::Result::Ok(AcceptFromThirdParty(
                    ::capnp::any_pointer::Builder::new(self.builder.get_pointer_field(0)),
                )),
                x => ::core::result::Result::Err(::capnp::NotInSchema(x)),
            }
        }
    }

    pub struct Pipeline {
        _typeless: ::capnp::any_pointer::Pipeline,
    }
    impl ::capnp::capability::FromTypelessPipeline for Pipeline {
        fn new(typeless: ::capnp::any_pointer::Pipeline) -> Self {
            Self {
                _typeless: typeless,
            }
        }
    }
    impl Pipeline {}
    mod _private {
        pub(crate) static ENCODED_NODE: [::capnp::Word; 164] = [
            ::capnp::word(0, 0, 0, 0, 5, 0, 6, 0),
            ::capnp::word(58, 87, 179, 61, 141, 178, 25, 158),
            ::capnp::word(10, 0, 0, 0, 1, 0, 2, 0),
            ::capnp::word(80, 162, 82, 37, 27, 152, 18, 179),
            ::capnp::word(1, 0, 7, 0, 0, 0, 6, 0),
            ::capnp::word(3, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(21, 0, 0, 0, 138, 0, 0, 0),
            ::capnp::word(29, 0, 0, 0, 7, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(25, 0, 0, 0, 255, 1, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(114, 112, 99, 46, 99, 97, 112, 110),
            ::capnp::word(112, 58, 82, 101, 116, 117, 114, 110),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 1, 0, 1, 0),
            ::capnp::word(36, 0, 0, 0, 3, 0, 4, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(0, 0, 1, 0, 0, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(237, 0, 0, 0, 74, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(236, 0, 0, 0, 3, 0, 1, 0),
            ::capnp::word(248, 0, 0, 0, 2, 0, 1, 0),
            ::capnp::word(1, 0, 0, 0, 32, 0, 0, 0),
            ::capnp::word(0, 0, 1, 0, 1, 0, 0, 0),
            ::capnp::word(1, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(245, 0, 0, 0, 138, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(248, 0, 0, 0, 3, 0, 1, 0),
            ::capnp::word(4, 1, 0, 0, 2, 0, 1, 0),
            ::capnp::word(3, 0, 255, 255, 0, 0, 0, 0),
            ::capnp::word(0, 0, 1, 0, 2, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(1, 1, 0, 0, 66, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(252, 0, 0, 0, 3, 0, 1, 0),
            ::capnp::word(8, 1, 0, 0, 2, 0, 1, 0),
            ::capnp::word(4, 0, 254, 255, 0, 0, 0, 0),
            ::capnp::word(0, 0, 1, 0, 3, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(5, 1, 0, 0, 82, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(4, 1, 0, 0, 3, 0, 1, 0),
            ::capnp::word(16, 1, 0, 0, 2, 0, 1, 0),
            ::capnp::word(5, 0, 253, 255, 0, 0, 0, 0),
            ::capnp::word(0, 0, 1, 0, 4, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(13, 1, 0, 0, 74, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(12, 1, 0, 0, 3, 0, 1, 0),
            ::capnp::word(24, 1, 0, 0, 2, 0, 1, 0),
            ::capnp::word(6, 0, 252, 255, 0, 0, 0, 0),
            ::capnp::word(0, 0, 1, 0, 5, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(21, 1, 0, 0, 170, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(24, 1, 0, 0, 3, 0, 1, 0),
            ::capnp::word(36, 1, 0, 0, 2, 0, 1, 0),
            ::capnp::word(7, 0, 251, 255, 2, 0, 0, 0),
            ::capnp::word(0, 0, 1, 0, 6, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(33, 1, 0, 0, 178, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(36, 1, 0, 0, 3, 0, 1, 0),
            ::capnp::word(48, 1, 0, 0, 2, 0, 1, 0),
            ::capnp::word(8, 0, 250, 255, 0, 0, 0, 0),
            ::capnp::word(0, 0, 1, 0, 7, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(45, 1, 0, 0, 170, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(48, 1, 0, 0, 3, 0, 1, 0),
            ::capnp::word(60, 1, 0, 0, 2, 0, 1, 0),
            ::capnp::word(2, 0, 0, 0, 33, 0, 0, 0),
            ::capnp::word(0, 0, 1, 0, 8, 0, 0, 0),
            ::capnp::word(1, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(57, 1, 0, 0, 122, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(56, 1, 0, 0, 3, 0, 1, 0),
            ::capnp::word(68, 1, 0, 0, 2, 0, 1, 0),
            ::capnp::word(97, 110, 115, 119, 101, 114, 73, 100),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(8, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(8, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(114, 101, 108, 101, 97, 115, 101, 80),
            ::capnp::word(97, 114, 97, 109, 67, 97, 112, 115),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(1, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(1, 0, 1, 0, 0, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(114, 101, 115, 117, 108, 116, 115, 0),
            ::capnp::word(16, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(59, 116, 150, 61, 34, 97, 14, 154),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(16, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(101, 120, 99, 101, 112, 116, 105, 111),
            ::capnp::word(110, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(16, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(26, 105, 207, 58, 6, 183, 37, 214),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(16, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(99, 97, 110, 99, 101, 108, 101, 100),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(114, 101, 115, 117, 108, 116, 115, 83),
            ::capnp::word(101, 110, 116, 69, 108, 115, 101, 119),
            ::capnp::word(104, 101, 114, 101, 0, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(116, 97, 107, 101, 70, 114, 111, 109),
            ::capnp::word(79, 116, 104, 101, 114, 81, 117, 101),
            ::capnp::word(115, 116, 105, 111, 110, 0, 0, 0),
            ::capnp::word(8, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(8, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(97, 99, 99, 101, 112, 116, 70, 114),
            ::capnp::word(111, 109, 84, 104, 105, 114, 100, 80),
            ::capnp::word(97, 114, 116, 121, 0, 0, 0, 0),
            ::capnp::word(18, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(18, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(110, 111, 70, 105, 110, 105, 115, 104),
            ::capnp::word(78, 101, 101, 100, 101, 100, 0, 0),
            ::capnp::word(1, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(1, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
        ];
        pub(crate) fn get_field_types(index: u16) -> ::capnp::introspect::Type {
            match index {
                0 => <u32 as ::capnp::introspect::Introspect>::introspect(),
                1 => <bool as ::capnp::introspect::Introspect>::introspect(),
                2 => <crate::rpc_capnp::payload::Owned as ::capnp::introspect::Introspect>::introspect(),
                3 => <crate::rpc_capnp::exception::Owned as ::capnp::introspect::Introspect>::introspect(),
                4 => <() as ::capnp::introspect::Introspect>::introspect(),
                5 => <() as ::capnp::introspect::Introspect>::introspect(),
                6 => <u32 as ::capnp::introspect::Introspect>::introspect(),
                7 => <::capnp::any_pointer::Owned as ::capnp::introspect::Introspect>::introspect(),
                8 => <bool as ::capnp::introspect::Introspect>::introspect(),
                _ => ::capnp::introspect::panic_invalid_field_index(index),
            }
        }
        pub(crate) fn get_annotation_types(
            child_index: Option<u16>,
            index: u32,
        ) -> ::capnp::introspect::Type {
            ::capnp::introspect::panic_invalid_annotation_indices(child_index, index)
        }
        pub(crate) static ARENA: ::capnp::private::arena::GeneratedCodeArena =
            ::capnp::private::arena::GeneratedCodeArena::new(&ENCODED_NODE);
        pub(crate) static RAW_SCHEMA: ::capnp::introspect::RawStructSchema =
            ::capnp::introspect::RawStructSchema::new(
                &ARENA,
                NONUNION_MEMBERS,
                MEMBERS_BY_DISCRIMINANT,
                MEMBERS_BY_NAME,
            );
        pub(crate) static NONUNION_MEMBERS: &[u16] = &[0, 1, 8];
        pub(crate) static MEMBERS_BY_DISCRIMINANT: &[u16] = &[2, 3, 4, 5, 6, 7];
        pub(crate) static MEMBERS_BY_NAME: &[u16] = &[7, 0, 4, 3, 8, 1, 2, 5, 6];
        pub(crate) const TYPE_ID: u64 = 0x9e19_b28d_3db3_573a;
    }
    pub enum Which<A0, A1, A2> {
        Results(A0),
        Exception(A1),
        Canceled(()),
        ResultsSentElsewhere(()),
        TakeFromOtherQuestion(u32),
        AcceptFromThirdParty(A2),
    }
    pub type WhichReader<'a> = Which<
        ::capnp::Result<crate::rpc_capnp::payload::Reader<'a>>,
        ::capnp::Result<crate::rpc_capnp::exception::Reader<'a>>,
        ::capnp::any_pointer::Reader<'a>,
    >;
    pub type WhichBuilder<'a> = Which<
        ::capnp::Result<crate::rpc_capnp::payload::Builder<'a>>,
        ::capnp::Result<crate::rpc_capnp::exception::Builder<'a>>,
        ::capnp::any_pointer::Builder<'a>,
    >;
}

pub mod finish {
    #[derive(Copy, Clone)]
    pub struct Owned(());
    impl ::capnp::introspect::Introspect for Owned {
        fn introspect() -> ::capnp::introspect::Type {
            ::capnp::introspect::TypeVariant::Struct(::capnp::introspect::RawBrandedStructSchema {
                generic: &_private::RAW_SCHEMA,
                field_types: _private::get_field_types,
                annotation_types: _private::get_annotation_types,
            })
            .into()
        }
    }
    impl ::capnp::traits::Owned for Owned {
        type Reader<'a> = Reader<'a>;
        type Builder<'a> = Builder<'a>;
    }
    impl ::capnp::traits::OwnedStruct for Owned {
        type Reader<'a> = Reader<'a>;
        type Builder<'a> = Builder<'a>;
    }
    impl ::capnp::traits::Pipelined for Owned {
        type Pipeline = Pipeline;
    }

    pub struct Reader<'a> {
        reader: ::capnp::private::layout::StructReader<'a>,
    }
    impl ::core::marker::Copy for Reader<'_> {}
    impl ::core::clone::Clone for Reader<'_> {
        fn clone(&self) -> Self {
            *self
        }
    }

    impl ::capnp::traits::HasTypeId for Reader<'_> {
        const TYPE_ID: u64 = _private::TYPE_ID;
    }
    impl<'a> ::core::convert::From<::capnp::private::layout::StructReader<'a>> for Reader<'a> {
        fn from(reader: ::capnp::private::layout::StructReader<'a>) -> Self {
            Self { reader }
        }
    }

    impl<'a> ::core::convert::From<Reader<'a>> for ::capnp::dynamic_value::Reader<'a> {
        fn from(reader: Reader<'a>) -> Self {
            Self::Struct(::capnp::dynamic_struct::Reader::new(
                reader.reader,
                ::capnp::schema::StructSchema::new(::capnp::introspect::RawBrandedStructSchema {
                    generic: &_private::RAW_SCHEMA,
                    field_types: _private::get_field_types,
                    annotation_types: _private::get_annotation_types,
                }),
            ))
        }
    }

    impl ::core::fmt::Debug for Reader<'_> {
        fn fmt(
            &self,
            f: &mut ::core::fmt::Formatter<'_>,
        ) -> ::core::result::Result<(), ::core::fmt::Error> {
            core::fmt::Debug::fmt(
                &::core::convert::Into::<::capnp::dynamic_value::Reader<'_>>::into(*self),
                f,
            )
        }
    }

    impl<'a> ::capnp::traits::FromPointerReader<'a> for Reader<'a> {
        fn get_from_pointer(
            reader: &::capnp::private::layout::PointerReader<'a>,
            default: ::core::option::Option<&'a [::capnp::Word]>,
        ) -> ::capnp::Result<Self> {
            ::core::result::Result::Ok(reader.get_struct(default)?.into())
        }
    }

    impl<'a> ::capnp::traits::IntoInternalStructReader<'a> for Reader<'a> {
        fn into_internal_struct_reader(self) -> ::capnp::private::layout::StructReader<'a> {
            self.reader
        }
    }

    impl<'a> ::capnp::traits::Imbue<'a> for Reader<'a> {
        fn imbue(&mut self, cap_table: &'a ::capnp::private::layout::CapTable) {
            self.reader
                .imbue(::capnp::private::layout::CapTableReader::Plain(cap_table))
        }
    }

    impl Reader<'_> {
        pub fn reborrow(&self) -> Reader<'_> {
            Self { ..*self }
        }

        pub fn total_size(&self) -> ::capnp::Result<::capnp::MessageSize> {
            self.reader.total_size()
        }
        #[inline]
        pub fn get_question_id(self) -> u32 {
            self.reader.get_data_field::<u32>(0)
        }
        #[inline]
        pub fn get_release_result_caps(self) -> bool {
            self.reader.get_bool_field_mask(32, true)
        }
        #[inline]
        pub fn get_require_early_cancellation_workaround(self) -> bool {
            self.reader.get_bool_field_mask(33, true)
        }
    }

    pub struct Builder<'a> {
        builder: ::capnp::private::layout::StructBuilder<'a>,
    }
    impl ::capnp::traits::HasStructSize for Builder<'_> {
        const STRUCT_SIZE: ::capnp::private::layout::StructSize =
            ::capnp::private::layout::StructSize {
                data: 1,
                pointers: 0,
            };
    }
    impl ::capnp::traits::HasTypeId for Builder<'_> {
        const TYPE_ID: u64 = _private::TYPE_ID;
    }
    impl<'a> ::core::convert::From<::capnp::private::layout::StructBuilder<'a>> for Builder<'a> {
        fn from(builder: ::capnp::private::layout::StructBuilder<'a>) -> Self {
            Self { builder }
        }
    }

    impl<'a> ::core::convert::From<Builder<'a>> for ::capnp::dynamic_value::Builder<'a> {
        fn from(builder: Builder<'a>) -> Self {
            Self::Struct(::capnp::dynamic_struct::Builder::new(
                builder.builder,
                ::capnp::schema::StructSchema::new(::capnp::introspect::RawBrandedStructSchema {
                    generic: &_private::RAW_SCHEMA,
                    field_types: _private::get_field_types,
                    annotation_types: _private::get_annotation_types,
                }),
            ))
        }
    }

    impl<'a> ::capnp::traits::ImbueMut<'a> for Builder<'a> {
        fn imbue_mut(&mut self, cap_table: &'a mut ::capnp::private::layout::CapTable) {
            self.builder
                .imbue(::capnp::private::layout::CapTableBuilder::Plain(cap_table))
        }
    }

    impl<'a> ::capnp::traits::FromPointerBuilder<'a> for Builder<'a> {
        fn init_pointer(builder: ::capnp::private::layout::PointerBuilder<'a>, _size: u32) -> Self {
            builder
                .init_struct(<Self as ::capnp::traits::HasStructSize>::STRUCT_SIZE)
                .into()
        }
        fn get_from_pointer(
            builder: ::capnp::private::layout::PointerBuilder<'a>,
            default: ::core::option::Option<&'a [::capnp::Word]>,
        ) -> ::capnp::Result<Self> {
            ::core::result::Result::Ok(
                builder
                    .get_struct(
                        <Self as ::capnp::traits::HasStructSize>::STRUCT_SIZE,
                        default,
                    )?
                    .into(),
            )
        }
    }

    impl ::capnp::traits::SetterInput<Owned> for Reader<'_> {
        fn set_pointer_builder(
            mut pointer: ::capnp::private::layout::PointerBuilder<'_>,
            value: Self,
            canonicalize: bool,
        ) -> ::capnp::Result<()> {
            pointer.set_struct(&value.reader, canonicalize)
        }
    }

    impl<'a> Builder<'a> {
        pub fn into_reader(self) -> Reader<'a> {
            self.builder.into_reader().into()
        }
        pub fn reborrow(&mut self) -> Builder<'_> {
            Builder {
                builder: self.builder.reborrow(),
            }
        }
        pub fn reborrow_as_reader(&self) -> Reader<'_> {
            self.builder.as_reader().into()
        }

        pub fn total_size(&self) -> ::capnp::Result<::capnp::MessageSize> {
            self.builder.as_reader().total_size()
        }
        #[inline]
        pub fn get_question_id(self) -> u32 {
            self.builder.get_data_field::<u32>(0)
        }
        #[inline]
        pub fn set_question_id(&mut self, value: u32) {
            self.builder.set_data_field::<u32>(0, value);
        }
        #[inline]
        pub fn get_release_result_caps(self) -> bool {
            self.builder.get_bool_field_mask(32, true)
        }
        #[inline]
        pub fn set_release_result_caps(&mut self, value: bool) {
            self.builder.set_bool_field_mask(32, value, true);
        }
        #[inline]
        pub fn get_require_early_cancellation_workaround(self) -> bool {
            self.builder.get_bool_field_mask(33, true)
        }
        #[inline]
        pub fn set_require_early_cancellation_workaround(&mut self, value: bool) {
            self.builder.set_bool_field_mask(33, value, true);
        }
    }

    pub struct Pipeline {
        _typeless: ::capnp::any_pointer::Pipeline,
    }
    impl ::capnp::capability::FromTypelessPipeline for Pipeline {
        fn new(typeless: ::capnp::any_pointer::Pipeline) -> Self {
            Self {
                _typeless: typeless,
            }
        }
    }
    impl Pipeline {}
    mod _private {
        pub(crate) static ENCODED_NODE: [::capnp::Word; 69] = [
            ::capnp::word(0, 0, 0, 0, 5, 0, 6, 0),
            ::capnp::word(99, 14, 248, 194, 178, 46, 125, 211),
            ::capnp::word(10, 0, 0, 0, 1, 0, 1, 0),
            ::capnp::word(80, 162, 82, 37, 27, 152, 18, 179),
            ::capnp::word(0, 0, 7, 0, 0, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(21, 0, 0, 0, 138, 0, 0, 0),
            ::capnp::word(29, 0, 0, 0, 7, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(25, 0, 0, 0, 175, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(114, 112, 99, 46, 99, 97, 112, 110),
            ::capnp::word(112, 58, 70, 105, 110, 105, 115, 104),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 1, 0, 1, 0),
            ::capnp::word(12, 0, 0, 0, 3, 0, 4, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(0, 0, 1, 0, 0, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(69, 0, 0, 0, 90, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(68, 0, 0, 0, 3, 0, 1, 0),
            ::capnp::word(80, 0, 0, 0, 2, 0, 1, 0),
            ::capnp::word(1, 0, 0, 0, 32, 0, 0, 0),
            ::capnp::word(0, 0, 1, 0, 1, 0, 0, 0),
            ::capnp::word(1, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(77, 0, 0, 0, 146, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(80, 0, 0, 0, 3, 0, 1, 0),
            ::capnp::word(92, 0, 0, 0, 2, 0, 1, 0),
            ::capnp::word(2, 0, 0, 0, 33, 0, 0, 0),
            ::capnp::word(0, 0, 1, 0, 2, 0, 0, 0),
            ::capnp::word(1, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(89, 0, 0, 0, 26, 1, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(100, 0, 0, 0, 3, 0, 1, 0),
            ::capnp::word(112, 0, 0, 0, 2, 0, 1, 0),
            ::capnp::word(113, 117, 101, 115, 116, 105, 111, 110),
            ::capnp::word(73, 100, 0, 0, 0, 0, 0, 0),
            ::capnp::word(8, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(8, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(114, 101, 108, 101, 97, 115, 101, 82),
            ::capnp::word(101, 115, 117, 108, 116, 67, 97, 112),
            ::capnp::word(115, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(1, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(1, 0, 1, 0, 0, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(114, 101, 113, 117, 105, 114, 101, 69),
            ::capnp::word(97, 114, 108, 121, 67, 97, 110, 99),
            ::capnp::word(101, 108, 108, 97, 116, 105, 111, 110),
            ::capnp::word(87, 111, 114, 107, 97, 114, 111, 117),
            ::capnp::word(110, 100, 0, 0, 0, 0, 0, 0),
            ::capnp::word(1, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(1, 0, 1, 0, 0, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
        ];
        pub(crate) fn get_field_types(index: u16) -> ::capnp::introspect::Type {
            match index {
                0 => <u32 as ::capnp::introspect::Introspect>::introspect(),
                1 => <bool as ::capnp::introspect::Introspect>::introspect(),
                2 => <bool as ::capnp::introspect::Introspect>::introspect(),
                _ => ::capnp::introspect::panic_invalid_field_index(index),
            }
        }
        pub(crate) fn get_annotation_types(
            child_index: Option<u16>,
            index: u32,
        ) -> ::capnp::introspect::Type {
            ::capnp::introspect::panic_invalid_annotation_indices(child_index, index)
        }
        pub(crate) static ARENA: ::capnp::private::arena::GeneratedCodeArena =
            ::capnp::private::arena::GeneratedCodeArena::new(&ENCODED_NODE);
        pub(crate) static RAW_SCHEMA: ::capnp::introspect::RawStructSchema =
            ::capnp::introspect::RawStructSchema::new(
                &ARENA,
                NONUNION_MEMBERS,
                MEMBERS_BY_DISCRIMINANT,
                MEMBERS_BY_NAME,
            );
        pub(crate) static NONUNION_MEMBERS: &[u16] = &[0, 1, 2];
        pub(crate) static MEMBERS_BY_DISCRIMINANT: &[u16] = &[];
        pub(crate) static MEMBERS_BY_NAME: &[u16] = &[0, 1, 2];
        pub(crate) const TYPE_ID: u64 = 0xd37d_2eb2_c2f8_0e63;
    }
}

pub mod resolve {
    pub use self::Which::{Cap, Exception};

    #[derive(Copy, Clone)]
    pub struct Owned(());
    impl ::capnp::introspect::Introspect for Owned {
        fn introspect() -> ::capnp::introspect::Type {
            ::capnp::introspect::TypeVariant::Struct(::capnp::introspect::RawBrandedStructSchema {
                generic: &_private::RAW_SCHEMA,
                field_types: _private::get_field_types,
                annotation_types: _private::get_annotation_types,
            })
            .into()
        }
    }
    impl ::capnp::traits::Owned for Owned {
        type Reader<'a> = Reader<'a>;
        type Builder<'a> = Builder<'a>;
    }
    impl ::capnp::traits::OwnedStruct for Owned {
        type Reader<'a> = Reader<'a>;
        type Builder<'a> = Builder<'a>;
    }
    impl ::capnp::traits::Pipelined for Owned {
        type Pipeline = Pipeline;
    }

    pub struct Reader<'a> {
        reader: ::capnp::private::layout::StructReader<'a>,
    }
    impl ::core::marker::Copy for Reader<'_> {}
    impl ::core::clone::Clone for Reader<'_> {
        fn clone(&self) -> Self {
            *self
        }
    }

    impl ::capnp::traits::HasTypeId for Reader<'_> {
        const TYPE_ID: u64 = _private::TYPE_ID;
    }
    impl<'a> ::core::convert::From<::capnp::private::layout::StructReader<'a>> for Reader<'a> {
        fn from(reader: ::capnp::private::layout::StructReader<'a>) -> Self {
            Self { reader }
        }
    }

    impl<'a> ::core::convert::From<Reader<'a>> for ::capnp::dynamic_value::Reader<'a> {
        fn from(reader: Reader<'a>) -> Self {
            Self::Struct(::capnp::dynamic_struct::Reader::new(
                reader.reader,
                ::capnp::schema::StructSchema::new(::capnp::introspect::RawBrandedStructSchema {
                    generic: &_private::RAW_SCHEMA,
                    field_types: _private::get_field_types,
                    annotation_types: _private::get_annotation_types,
                }),
            ))
        }
    }

    impl ::core::fmt::Debug for Reader<'_> {
        fn fmt(
            &self,
            f: &mut ::core::fmt::Formatter<'_>,
        ) -> ::core::result::Result<(), ::core::fmt::Error> {
            core::fmt::Debug::fmt(
                &::core::convert::Into::<::capnp::dynamic_value::Reader<'_>>::into(*self),
                f,
            )
        }
    }

    impl<'a> ::capnp::traits::FromPointerReader<'a> for Reader<'a> {
        fn get_from_pointer(
            reader: &::capnp::private::layout::PointerReader<'a>,
            default: ::core::option::Option<&'a [::capnp::Word]>,
        ) -> ::capnp::Result<Self> {
            ::core::result::Result::Ok(reader.get_struct(default)?.into())
        }
    }

    impl<'a> ::capnp::traits::IntoInternalStructReader<'a> for Reader<'a> {
        fn into_internal_struct_reader(self) -> ::capnp::private::layout::StructReader<'a> {
            self.reader
        }
    }

    impl<'a> ::capnp::traits::Imbue<'a> for Reader<'a> {
        fn imbue(&mut self, cap_table: &'a ::capnp::private::layout::CapTable) {
            self.reader
                .imbue(::capnp::private::layout::CapTableReader::Plain(cap_table))
        }
    }

    impl<'a> Reader<'a> {
        pub fn reborrow(&self) -> Reader<'_> {
            Self { ..*self }
        }

        pub fn total_size(&self) -> ::capnp::Result<::capnp::MessageSize> {
            self.reader.total_size()
        }
        #[inline]
        pub fn get_promise_id(self) -> u32 {
            self.reader.get_data_field::<u32>(0)
        }
        #[inline]
        pub fn has_cap(&self) -> bool {
            if self.reader.get_data_field::<u16>(2) != 0 {
                return false;
            }
            !self.reader.get_pointer_field(0).is_null()
        }
        #[inline]
        pub fn has_exception(&self) -> bool {
            if self.reader.get_data_field::<u16>(2) != 1 {
                return false;
            }
            !self.reader.get_pointer_field(0).is_null()
        }
        #[inline]
        pub fn which(self) -> ::core::result::Result<WhichReader<'a>, ::capnp::NotInSchema> {
            match self.reader.get_data_field::<u16>(2) {
                0 => ::core::result::Result::Ok(Cap(
                    ::capnp::traits::FromPointerReader::get_from_pointer(
                        &self.reader.get_pointer_field(0),
                        ::core::option::Option::None,
                    ),
                )),
                1 => ::core::result::Result::Ok(Exception(
                    ::capnp::traits::FromPointerReader::get_from_pointer(
                        &self.reader.get_pointer_field(0),
                        ::core::option::Option::None,
                    ),
                )),
                x => ::core::result::Result::Err(::capnp::NotInSchema(x)),
            }
        }
    }

    pub struct Builder<'a> {
        builder: ::capnp::private::layout::StructBuilder<'a>,
    }
    impl ::capnp::traits::HasStructSize for Builder<'_> {
        const STRUCT_SIZE: ::capnp::private::layout::StructSize =
            ::capnp::private::layout::StructSize {
                data: 1,
                pointers: 1,
            };
    }
    impl ::capnp::traits::HasTypeId for Builder<'_> {
        const TYPE_ID: u64 = _private::TYPE_ID;
    }
    impl<'a> ::core::convert::From<::capnp::private::layout::StructBuilder<'a>> for Builder<'a> {
        fn from(builder: ::capnp::private::layout::StructBuilder<'a>) -> Self {
            Self { builder }
        }
    }

    impl<'a> ::core::convert::From<Builder<'a>> for ::capnp::dynamic_value::Builder<'a> {
        fn from(builder: Builder<'a>) -> Self {
            Self::Struct(::capnp::dynamic_struct::Builder::new(
                builder.builder,
                ::capnp::schema::StructSchema::new(::capnp::introspect::RawBrandedStructSchema {
                    generic: &_private::RAW_SCHEMA,
                    field_types: _private::get_field_types,
                    annotation_types: _private::get_annotation_types,
                }),
            ))
        }
    }

    impl<'a> ::capnp::traits::ImbueMut<'a> for Builder<'a> {
        fn imbue_mut(&mut self, cap_table: &'a mut ::capnp::private::layout::CapTable) {
            self.builder
                .imbue(::capnp::private::layout::CapTableBuilder::Plain(cap_table))
        }
    }

    impl<'a> ::capnp::traits::FromPointerBuilder<'a> for Builder<'a> {
        fn init_pointer(builder: ::capnp::private::layout::PointerBuilder<'a>, _size: u32) -> Self {
            builder
                .init_struct(<Self as ::capnp::traits::HasStructSize>::STRUCT_SIZE)
                .into()
        }
        fn get_from_pointer(
            builder: ::capnp::private::layout::PointerBuilder<'a>,
            default: ::core::option::Option<&'a [::capnp::Word]>,
        ) -> ::capnp::Result<Self> {
            ::core::result::Result::Ok(
                builder
                    .get_struct(
                        <Self as ::capnp::traits::HasStructSize>::STRUCT_SIZE,
                        default,
                    )?
                    .into(),
            )
        }
    }

    impl ::capnp::traits::SetterInput<Owned> for Reader<'_> {
        fn set_pointer_builder(
            mut pointer: ::capnp::private::layout::PointerBuilder<'_>,
            value: Self,
            canonicalize: bool,
        ) -> ::capnp::Result<()> {
            pointer.set_struct(&value.reader, canonicalize)
        }
    }

    impl<'a> Builder<'a> {
        pub fn into_reader(self) -> Reader<'a> {
            self.builder.into_reader().into()
        }
        pub fn reborrow(&mut self) -> Builder<'_> {
            Builder {
                builder: self.builder.reborrow(),
            }
        }
        pub fn reborrow_as_reader(&self) -> Reader<'_> {
            self.builder.as_reader().into()
        }

        pub fn total_size(&self) -> ::capnp::Result<::capnp::MessageSize> {
            self.builder.as_reader().total_size()
        }
        #[inline]
        pub fn get_promise_id(self) -> u32 {
            self.builder.get_data_field::<u32>(0)
        }
        #[inline]
        pub fn set_promise_id(&mut self, value: u32) {
            self.builder.set_data_field::<u32>(0, value);
        }
        #[inline]
        pub fn set_cap(
            &mut self,
            value: crate::rpc_capnp::cap_descriptor::Reader<'_>,
        ) -> ::capnp::Result<()> {
            self.builder.set_data_field::<u16>(2, 0);
            ::capnp::traits::SetterInput::set_pointer_builder(
                self.builder.reborrow().get_pointer_field(0),
                value,
                false,
            )
        }
        #[inline]
        pub fn init_cap(self) -> crate::rpc_capnp::cap_descriptor::Builder<'a> {
            self.builder.set_data_field::<u16>(2, 0);
            ::capnp::traits::FromPointerBuilder::init_pointer(self.builder.get_pointer_field(0), 0)
        }
        #[inline]
        pub fn has_cap(&self) -> bool {
            if self.builder.get_data_field::<u16>(2) != 0 {
                return false;
            }
            !self.builder.is_pointer_field_null(0)
        }
        #[inline]
        pub fn set_exception(
            &mut self,
            value: crate::rpc_capnp::exception::Reader<'_>,
        ) -> ::capnp::Result<()> {
            self.builder.set_data_field::<u16>(2, 1);
            ::capnp::traits::SetterInput::set_pointer_builder(
                self.builder.reborrow().get_pointer_field(0),
                value,
                false,
            )
        }
        #[inline]
        pub fn init_exception(self) -> crate::rpc_capnp::exception::Builder<'a> {
            self.builder.set_data_field::<u16>(2, 1);
            ::capnp::traits::FromPointerBuilder::init_pointer(self.builder.get_pointer_field(0), 0)
        }
        #[inline]
        pub fn has_exception(&self) -> bool {
            if self.builder.get_data_field::<u16>(2) != 1 {
                return false;
            }
            !self.builder.is_pointer_field_null(0)
        }
        #[inline]
        pub fn which(self) -> ::core::result::Result<WhichBuilder<'a>, ::capnp::NotInSchema> {
            match self.builder.get_data_field::<u16>(2) {
                0 => ::core::result::Result::Ok(Cap(
                    ::capnp::traits::FromPointerBuilder::get_from_pointer(
                        self.builder.get_pointer_field(0),
                        ::core::option::Option::None,
                    ),
                )),
                1 => ::core::result::Result::Ok(Exception(
                    ::capnp::traits::FromPointerBuilder::get_from_pointer(
                        self.builder.get_pointer_field(0),
                        ::core::option::Option::None,
                    ),
                )),
                x => ::core::result::Result::Err(::capnp::NotInSchema(x)),
            }
        }
    }

    pub struct Pipeline {
        _typeless: ::capnp::any_pointer::Pipeline,
    }
    impl ::capnp::capability::FromTypelessPipeline for Pipeline {
        fn new(typeless: ::capnp::any_pointer::Pipeline) -> Self {
            Self {
                _typeless: typeless,
            }
        }
    }
    impl Pipeline {}
    mod _private {
        pub(crate) static ENCODED_NODE: [::capnp::Word; 64] = [
            ::capnp::word(0, 0, 0, 0, 5, 0, 6, 0),
            ::capnp::word(110, 8, 137, 250, 85, 150, 194, 187),
            ::capnp::word(10, 0, 0, 0, 1, 0, 1, 0),
            ::capnp::word(80, 162, 82, 37, 27, 152, 18, 179),
            ::capnp::word(1, 0, 7, 0, 0, 0, 2, 0),
            ::capnp::word(2, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(21, 0, 0, 0, 146, 0, 0, 0),
            ::capnp::word(29, 0, 0, 0, 7, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(25, 0, 0, 0, 175, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(114, 112, 99, 46, 99, 97, 112, 110),
            ::capnp::word(112, 58, 82, 101, 115, 111, 108, 118),
            ::capnp::word(101, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 1, 0, 1, 0),
            ::capnp::word(12, 0, 0, 0, 3, 0, 4, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(0, 0, 1, 0, 0, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(69, 0, 0, 0, 82, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(68, 0, 0, 0, 3, 0, 1, 0),
            ::capnp::word(80, 0, 0, 0, 2, 0, 1, 0),
            ::capnp::word(1, 0, 255, 255, 0, 0, 0, 0),
            ::capnp::word(0, 0, 1, 0, 1, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(77, 0, 0, 0, 34, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(72, 0, 0, 0, 3, 0, 1, 0),
            ::capnp::word(84, 0, 0, 0, 2, 0, 1, 0),
            ::capnp::word(2, 0, 254, 255, 0, 0, 0, 0),
            ::capnp::word(0, 0, 1, 0, 2, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(81, 0, 0, 0, 82, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(80, 0, 0, 0, 3, 0, 1, 0),
            ::capnp::word(92, 0, 0, 0, 2, 0, 1, 0),
            ::capnp::word(112, 114, 111, 109, 105, 115, 101, 73),
            ::capnp::word(100, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(8, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(8, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(99, 97, 112, 0, 0, 0, 0, 0),
            ::capnp::word(16, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(176, 184, 134, 11, 196, 221, 35, 133),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(16, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(101, 120, 99, 101, 112, 116, 105, 111),
            ::capnp::word(110, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(16, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(26, 105, 207, 58, 6, 183, 37, 214),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(16, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
        ];
        pub(crate) fn get_field_types(index: u16) -> ::capnp::introspect::Type {
            match index {
                0 => <u32 as ::capnp::introspect::Introspect>::introspect(),
                1 => <crate::rpc_capnp::cap_descriptor::Owned as ::capnp::introspect::Introspect>::introspect(),
                2 => <crate::rpc_capnp::exception::Owned as ::capnp::introspect::Introspect>::introspect(),
                _ => ::capnp::introspect::panic_invalid_field_index(index),
            }
        }
        pub(crate) fn get_annotation_types(
            child_index: Option<u16>,
            index: u32,
        ) -> ::capnp::introspect::Type {
            ::capnp::introspect::panic_invalid_annotation_indices(child_index, index)
        }
        pub(crate) static ARENA: ::capnp::private::arena::GeneratedCodeArena =
            ::capnp::private::arena::GeneratedCodeArena::new(&ENCODED_NODE);
        pub(crate) static RAW_SCHEMA: ::capnp::introspect::RawStructSchema =
            ::capnp::introspect::RawStructSchema::new(
                &ARENA,
                NONUNION_MEMBERS,
                MEMBERS_BY_DISCRIMINANT,
                MEMBERS_BY_NAME,
            );
        pub(crate) static NONUNION_MEMBERS: &[u16] = &[0];
        pub(crate) static MEMBERS_BY_DISCRIMINANT: &[u16] = &[1, 2];
        pub(crate) static MEMBERS_BY_NAME: &[u16] = &[1, 2, 0];
        pub(crate) const TYPE_ID: u64 = 0xbbc2_9655_fa89_086e;
    }
    pub enum Which<A0, A1> {
        Cap(A0),
        Exception(A1),
    }
    pub type WhichReader<'a> = Which<
        ::capnp::Result<crate::rpc_capnp::cap_descriptor::Reader<'a>>,
        ::capnp::Result<crate::rpc_capnp::exception::Reader<'a>>,
    >;
    pub type WhichBuilder<'a> = Which<
        ::capnp::Result<crate::rpc_capnp::cap_descriptor::Builder<'a>>,
        ::capnp::Result<crate::rpc_capnp::exception::Builder<'a>>,
    >;
}

pub mod release {
    #[derive(Copy, Clone)]
    pub struct Owned(());
    impl ::capnp::introspect::Introspect for Owned {
        fn introspect() -> ::capnp::introspect::Type {
            ::capnp::introspect::TypeVariant::Struct(::capnp::introspect::RawBrandedStructSchema {
                generic: &_private::RAW_SCHEMA,
                field_types: _private::get_field_types,
                annotation_types: _private::get_annotation_types,
            })
            .into()
        }
    }
    impl ::capnp::traits::Owned for Owned {
        type Reader<'a> = Reader<'a>;
        type Builder<'a> = Builder<'a>;
    }
    impl ::capnp::traits::OwnedStruct for Owned {
        type Reader<'a> = Reader<'a>;
        type Builder<'a> = Builder<'a>;
    }
    impl ::capnp::traits::Pipelined for Owned {
        type Pipeline = Pipeline;
    }

    pub struct Reader<'a> {
        reader: ::capnp::private::layout::StructReader<'a>,
    }
    impl ::core::marker::Copy for Reader<'_> {}
    impl ::core::clone::Clone for Reader<'_> {
        fn clone(&self) -> Self {
            *self
        }
    }

    impl ::capnp::traits::HasTypeId for Reader<'_> {
        const TYPE_ID: u64 = _private::TYPE_ID;
    }
    impl<'a> ::core::convert::From<::capnp::private::layout::StructReader<'a>> for Reader<'a> {
        fn from(reader: ::capnp::private::layout::StructReader<'a>) -> Self {
            Self { reader }
        }
    }

    impl<'a> ::core::convert::From<Reader<'a>> for ::capnp::dynamic_value::Reader<'a> {
        fn from(reader: Reader<'a>) -> Self {
            Self::Struct(::capnp::dynamic_struct::Reader::new(
                reader.reader,
                ::capnp::schema::StructSchema::new(::capnp::introspect::RawBrandedStructSchema {
                    generic: &_private::RAW_SCHEMA,
                    field_types: _private::get_field_types,
                    annotation_types: _private::get_annotation_types,
                }),
            ))
        }
    }

    impl ::core::fmt::Debug for Reader<'_> {
        fn fmt(
            &self,
            f: &mut ::core::fmt::Formatter<'_>,
        ) -> ::core::result::Result<(), ::core::fmt::Error> {
            core::fmt::Debug::fmt(
                &::core::convert::Into::<::capnp::dynamic_value::Reader<'_>>::into(*self),
                f,
            )
        }
    }

    impl<'a> ::capnp::traits::FromPointerReader<'a> for Reader<'a> {
        fn get_from_pointer(
            reader: &::capnp::private::layout::PointerReader<'a>,
            default: ::core::option::Option<&'a [::capnp::Word]>,
        ) -> ::capnp::Result<Self> {
            ::core::result::Result::Ok(reader.get_struct(default)?.into())
        }
    }

    impl<'a> ::capnp::traits::IntoInternalStructReader<'a> for Reader<'a> {
        fn into_internal_struct_reader(self) -> ::capnp::private::layout::StructReader<'a> {
            self.reader
        }
    }

    impl<'a> ::capnp::traits::Imbue<'a> for Reader<'a> {
        fn imbue(&mut self, cap_table: &'a ::capnp::private::layout::CapTable) {
            self.reader
                .imbue(::capnp::private::layout::CapTableReader::Plain(cap_table))
        }
    }

    impl Reader<'_> {
        pub fn reborrow(&self) -> Reader<'_> {
            Self { ..*self }
        }

        pub fn total_size(&self) -> ::capnp::Result<::capnp::MessageSize> {
            self.reader.total_size()
        }
        #[inline]
        pub fn get_id(self) -> u32 {
            self.reader.get_data_field::<u32>(0)
        }
        #[inline]
        pub fn get_reference_count(self) -> u32 {
            self.reader.get_data_field::<u32>(1)
        }
    }

    pub struct Builder<'a> {
        builder: ::capnp::private::layout::StructBuilder<'a>,
    }
    impl ::capnp::traits::HasStructSize for Builder<'_> {
        const STRUCT_SIZE: ::capnp::private::layout::StructSize =
            ::capnp::private::layout::StructSize {
                data: 1,
                pointers: 0,
            };
    }
    impl ::capnp::traits::HasTypeId for Builder<'_> {
        const TYPE_ID: u64 = _private::TYPE_ID;
    }
    impl<'a> ::core::convert::From<::capnp::private::layout::StructBuilder<'a>> for Builder<'a> {
        fn from(builder: ::capnp::private::layout::StructBuilder<'a>) -> Self {
            Self { builder }
        }
    }

    impl<'a> ::core::convert::From<Builder<'a>> for ::capnp::dynamic_value::Builder<'a> {
        fn from(builder: Builder<'a>) -> Self {
            Self::Struct(::capnp::dynamic_struct::Builder::new(
                builder.builder,
                ::capnp::schema::StructSchema::new(::capnp::introspect::RawBrandedStructSchema {
                    generic: &_private::RAW_SCHEMA,
                    field_types: _private::get_field_types,
                    annotation_types: _private::get_annotation_types,
                }),
            ))
        }
    }

    impl<'a> ::capnp::traits::ImbueMut<'a> for Builder<'a> {
        fn imbue_mut(&mut self, cap_table: &'a mut ::capnp::private::layout::CapTable) {
            self.builder
                .imbue(::capnp::private::layout::CapTableBuilder::Plain(cap_table))
        }
    }

    impl<'a> ::capnp::traits::FromPointerBuilder<'a> for Builder<'a> {
        fn init_pointer(builder: ::capnp::private::layout::PointerBuilder<'a>, _size: u32) -> Self {
            builder
                .init_struct(<Self as ::capnp::traits::HasStructSize>::STRUCT_SIZE)
                .into()
        }
        fn get_from_pointer(
            builder: ::capnp::private::layout::PointerBuilder<'a>,
            default: ::core::option::Option<&'a [::capnp::Word]>,
        ) -> ::capnp::Result<Self> {
            ::core::result::Result::Ok(
                builder
                    .get_struct(
                        <Self as ::capnp::traits::HasStructSize>::STRUCT_SIZE,
                        default,
                    )?
                    .into(),
            )
        }
    }

    impl ::capnp::traits::SetterInput<Owned> for Reader<'_> {
        fn set_pointer_builder(
            mut pointer: ::capnp::private::layout::PointerBuilder<'_>,
            value: Self,
            canonicalize: bool,
        ) -> ::capnp::Result<()> {
            pointer.set_struct(&value.reader, canonicalize)
        }
    }

    impl<'a> Builder<'a> {
        pub fn into_reader(self) -> Reader<'a> {
            self.builder.into_reader().into()
        }
        pub fn reborrow(&mut self) -> Builder<'_> {
            Builder {
                builder: self.builder.reborrow(),
            }
        }
        pub fn reborrow_as_reader(&self) -> Reader<'_> {
            self.builder.as_reader().into()
        }

        pub fn total_size(&self) -> ::capnp::Result<::capnp::MessageSize> {
            self.builder.as_reader().total_size()
        }
        #[inline]
        pub fn get_id(self) -> u32 {
            self.builder.get_data_field::<u32>(0)
        }
        #[inline]
        pub fn set_id(&mut self, value: u32) {
            self.builder.set_data_field::<u32>(0, value);
        }
        #[inline]
        pub fn get_reference_count(self) -> u32 {
            self.builder.get_data_field::<u32>(1)
        }
        #[inline]
        pub fn set_reference_count(&mut self, value: u32) {
            self.builder.set_data_field::<u32>(1, value);
        }
    }

    pub struct Pipeline {
        _typeless: ::capnp::any_pointer::Pipeline,
    }
    impl ::capnp::capability::FromTypelessPipeline for Pipeline {
        fn new(typeless: ::capnp::any_pointer::Pipeline) -> Self {
            Self {
                _typeless: typeless,
            }
        }
    }
    impl Pipeline {}
    mod _private {
        pub(crate) static ENCODED_NODE: [::capnp::Word; 48] = [
            ::capnp::word(0, 0, 0, 0, 5, 0, 6, 0),
            ::capnp::word(151, 116, 208, 125, 13, 108, 26, 173),
            ::capnp::word(10, 0, 0, 0, 1, 0, 1, 0),
            ::capnp::word(80, 162, 82, 37, 27, 152, 18, 179),
            ::capnp::word(0, 0, 7, 0, 0, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(21, 0, 0, 0, 146, 0, 0, 0),
            ::capnp::word(29, 0, 0, 0, 7, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(25, 0, 0, 0, 119, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(114, 112, 99, 46, 99, 97, 112, 110),
            ::capnp::word(112, 58, 82, 101, 108, 101, 97, 115),
            ::capnp::word(101, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 1, 0, 1, 0),
            ::capnp::word(8, 0, 0, 0, 3, 0, 4, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(0, 0, 1, 0, 0, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(41, 0, 0, 0, 26, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(36, 0, 0, 0, 3, 0, 1, 0),
            ::capnp::word(48, 0, 0, 0, 2, 0, 1, 0),
            ::capnp::word(1, 0, 0, 0, 1, 0, 0, 0),
            ::capnp::word(0, 0, 1, 0, 1, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(45, 0, 0, 0, 122, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(44, 0, 0, 0, 3, 0, 1, 0),
            ::capnp::word(56, 0, 0, 0, 2, 0, 1, 0),
            ::capnp::word(105, 100, 0, 0, 0, 0, 0, 0),
            ::capnp::word(8, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(8, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(114, 101, 102, 101, 114, 101, 110, 99),
            ::capnp::word(101, 67, 111, 117, 110, 116, 0, 0),
            ::capnp::word(8, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(8, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
        ];
        pub(crate) fn get_field_types(index: u16) -> ::capnp::introspect::Type {
            match index {
                0 => <u32 as ::capnp::introspect::Introspect>::introspect(),
                1 => <u32 as ::capnp::introspect::Introspect>::introspect(),
                _ => ::capnp::introspect::panic_invalid_field_index(index),
            }
        }
        pub(crate) fn get_annotation_types(
            child_index: Option<u16>,
            index: u32,
        ) -> ::capnp::introspect::Type {
            ::capnp::introspect::panic_invalid_annotation_indices(child_index, index)
        }
        pub(crate) static ARENA: ::capnp::private::arena::GeneratedCodeArena =
            ::capnp::private::arena::GeneratedCodeArena::new(&ENCODED_NODE);
        pub(crate) static RAW_SCHEMA: ::capnp::introspect::RawStructSchema =
            ::capnp::introspect::RawStructSchema::new(
                &ARENA,
                NONUNION_MEMBERS,
                MEMBERS_BY_DISCRIMINANT,
                MEMBERS_BY_NAME,
            );
        pub(crate) static NONUNION_MEMBERS: &[u16] = &[0, 1];
        pub(crate) static MEMBERS_BY_DISCRIMINANT: &[u16] = &[];
        pub(crate) static MEMBERS_BY_NAME: &[u16] = &[0, 1];
        pub(crate) const TYPE_ID: u64 = 0xad1a_6c0d_7dd0_7497;
    }
}

pub mod disembargo {
    #[derive(Copy, Clone)]
    pub struct Owned(());
    impl ::capnp::introspect::Introspect for Owned {
        fn introspect() -> ::capnp::introspect::Type {
            ::capnp::introspect::TypeVariant::Struct(::capnp::introspect::RawBrandedStructSchema {
                generic: &_private::RAW_SCHEMA,
                field_types: _private::get_field_types,
                annotation_types: _private::get_annotation_types,
            })
            .into()
        }
    }
    impl ::capnp::traits::Owned for Owned {
        type Reader<'a> = Reader<'a>;
        type Builder<'a> = Builder<'a>;
    }
    impl ::capnp::traits::OwnedStruct for Owned {
        type Reader<'a> = Reader<'a>;
        type Builder<'a> = Builder<'a>;
    }
    impl ::capnp::traits::Pipelined for Owned {
        type Pipeline = Pipeline;
    }

    pub struct Reader<'a> {
        reader: ::capnp::private::layout::StructReader<'a>,
    }
    impl ::core::marker::Copy for Reader<'_> {}
    impl ::core::clone::Clone for Reader<'_> {
        fn clone(&self) -> Self {
            *self
        }
    }

    impl ::capnp::traits::HasTypeId for Reader<'_> {
        const TYPE_ID: u64 = _private::TYPE_ID;
    }
    impl<'a> ::core::convert::From<::capnp::private::layout::StructReader<'a>> for Reader<'a> {
        fn from(reader: ::capnp::private::layout::StructReader<'a>) -> Self {
            Self { reader }
        }
    }

    impl<'a> ::core::convert::From<Reader<'a>> for ::capnp::dynamic_value::Reader<'a> {
        fn from(reader: Reader<'a>) -> Self {
            Self::Struct(::capnp::dynamic_struct::Reader::new(
                reader.reader,
                ::capnp::schema::StructSchema::new(::capnp::introspect::RawBrandedStructSchema {
                    generic: &_private::RAW_SCHEMA,
                    field_types: _private::get_field_types,
                    annotation_types: _private::get_annotation_types,
                }),
            ))
        }
    }

    impl ::core::fmt::Debug for Reader<'_> {
        fn fmt(
            &self,
            f: &mut ::core::fmt::Formatter<'_>,
        ) -> ::core::result::Result<(), ::core::fmt::Error> {
            core::fmt::Debug::fmt(
                &::core::convert::Into::<::capnp::dynamic_value::Reader<'_>>::into(*self),
                f,
            )
        }
    }

    impl<'a> ::capnp::traits::FromPointerReader<'a> for Reader<'a> {
        fn get_from_pointer(
            reader: &::capnp::private::layout::PointerReader<'a>,
            default: ::core::option::Option<&'a [::capnp::Word]>,
        ) -> ::capnp::Result<Self> {
            ::core::result::Result::Ok(reader.get_struct(default)?.into())
        }
    }

    impl<'a> ::capnp::traits::IntoInternalStructReader<'a> for Reader<'a> {
        fn into_internal_struct_reader(self) -> ::capnp::private::layout::StructReader<'a> {
            self.reader
        }
    }

    impl<'a> ::capnp::traits::Imbue<'a> for Reader<'a> {
        fn imbue(&mut self, cap_table: &'a ::capnp::private::layout::CapTable) {
            self.reader
                .imbue(::capnp::private::layout::CapTableReader::Plain(cap_table))
        }
    }

    impl<'a> Reader<'a> {
        pub fn reborrow(&self) -> Reader<'_> {
            Self { ..*self }
        }

        pub fn total_size(&self) -> ::capnp::Result<::capnp::MessageSize> {
            self.reader.total_size()
        }
        #[inline]
        pub fn get_target(self) -> ::capnp::Result<crate::rpc_capnp::message_target::Reader<'a>> {
            ::capnp::traits::FromPointerReader::get_from_pointer(
                &self.reader.get_pointer_field(0),
                ::core::option::Option::None,
            )
        }
        #[inline]
        pub fn has_target(&self) -> bool {
            !self.reader.get_pointer_field(0).is_null()
        }
        #[inline]
        pub fn get_context(self) -> crate::rpc_capnp::disembargo::context::Reader<'a> {
            self.reader.into()
        }
    }

    pub struct Builder<'a> {
        builder: ::capnp::private::layout::StructBuilder<'a>,
    }
    impl ::capnp::traits::HasStructSize for Builder<'_> {
        const STRUCT_SIZE: ::capnp::private::layout::StructSize =
            ::capnp::private::layout::StructSize {
                data: 1,
                pointers: 1,
            };
    }
    impl ::capnp::traits::HasTypeId for Builder<'_> {
        const TYPE_ID: u64 = _private::TYPE_ID;
    }
    impl<'a> ::core::convert::From<::capnp::private::layout::StructBuilder<'a>> for Builder<'a> {
        fn from(builder: ::capnp::private::layout::StructBuilder<'a>) -> Self {
            Self { builder }
        }
    }

    impl<'a> ::core::convert::From<Builder<'a>> for ::capnp::dynamic_value::Builder<'a> {
        fn from(builder: Builder<'a>) -> Self {
            Self::Struct(::capnp::dynamic_struct::Builder::new(
                builder.builder,
                ::capnp::schema::StructSchema::new(::capnp::introspect::RawBrandedStructSchema {
                    generic: &_private::RAW_SCHEMA,
                    field_types: _private::get_field_types,
                    annotation_types: _private::get_annotation_types,
                }),
            ))
        }
    }

    impl<'a> ::capnp::traits::ImbueMut<'a> for Builder<'a> {
        fn imbue_mut(&mut self, cap_table: &'a mut ::capnp::private::layout::CapTable) {
            self.builder
                .imbue(::capnp::private::layout::CapTableBuilder::Plain(cap_table))
        }
    }

    impl<'a> ::capnp::traits::FromPointerBuilder<'a> for Builder<'a> {
        fn init_pointer(builder: ::capnp::private::layout::PointerBuilder<'a>, _size: u32) -> Self {
            builder
                .init_struct(<Self as ::capnp::traits::HasStructSize>::STRUCT_SIZE)
                .into()
        }
        fn get_from_pointer(
            builder: ::capnp::private::layout::PointerBuilder<'a>,
            default: ::core::option::Option<&'a [::capnp::Word]>,
        ) -> ::capnp::Result<Self> {
            ::core::result::Result::Ok(
                builder
                    .get_struct(
                        <Self as ::capnp::traits::HasStructSize>::STRUCT_SIZE,
                        default,
                    )?
                    .into(),
            )
        }
    }

    impl ::capnp::traits::SetterInput<Owned> for Reader<'_> {
        fn set_pointer_builder(
            mut pointer: ::capnp::private::layout::PointerBuilder<'_>,
            value: Self,
            canonicalize: bool,
        ) -> ::capnp::Result<()> {
            pointer.set_struct(&value.reader, canonicalize)
        }
    }

    impl<'a> Builder<'a> {
        pub fn into_reader(self) -> Reader<'a> {
            self.builder.into_reader().into()
        }
        pub fn reborrow(&mut self) -> Builder<'_> {
            Builder {
                builder: self.builder.reborrow(),
            }
        }
        pub fn reborrow_as_reader(&self) -> Reader<'_> {
            self.builder.as_reader().into()
        }

        pub fn total_size(&self) -> ::capnp::Result<::capnp::MessageSize> {
            self.builder.as_reader().total_size()
        }
        #[inline]
        pub fn get_target(self) -> ::capnp::Result<crate::rpc_capnp::message_target::Builder<'a>> {
            ::capnp::traits::FromPointerBuilder::get_from_pointer(
                self.builder.get_pointer_field(0),
                ::core::option::Option::None,
            )
        }
        #[inline]
        pub fn set_target(
            &mut self,
            value: crate::rpc_capnp::message_target::Reader<'_>,
        ) -> ::capnp::Result<()> {
            ::capnp::traits::SetterInput::set_pointer_builder(
                self.builder.reborrow().get_pointer_field(0),
                value,
                false,
            )
        }
        #[inline]
        pub fn init_target(self) -> crate::rpc_capnp::message_target::Builder<'a> {
            ::capnp::traits::FromPointerBuilder::init_pointer(self.builder.get_pointer_field(0), 0)
        }
        #[inline]
        pub fn has_target(&self) -> bool {
            !self.builder.is_pointer_field_null(0)
        }
        #[inline]
        pub fn get_context(self) -> crate::rpc_capnp::disembargo::context::Builder<'a> {
            self.builder.into()
        }
        #[inline]
        pub fn init_context(self) -> crate::rpc_capnp::disembargo::context::Builder<'a> {
            self.builder.set_data_field::<u16>(2, 0);
            self.builder.set_data_field::<u32>(0, 0u32);
            self.builder.into()
        }
    }

    pub struct Pipeline {
        _typeless: ::capnp::any_pointer::Pipeline,
    }
    impl ::capnp::capability::FromTypelessPipeline for Pipeline {
        fn new(typeless: ::capnp::any_pointer::Pipeline) -> Self {
            Self {
                _typeless: typeless,
            }
        }
    }
    impl Pipeline {
        pub fn get_target(&self) -> crate::rpc_capnp::message_target::Pipeline {
            ::capnp::capability::FromTypelessPipeline::new(self._typeless.get_pointer_field(0))
        }
        pub fn get_context(&self) -> crate::rpc_capnp::disembargo::context::Pipeline {
            ::capnp::capability::FromTypelessPipeline::new(self._typeless.noop())
        }
    }
    mod _private {
        pub(crate) static ENCODED_NODE: [::capnp::Word; 40] = [
            ::capnp::word(0, 0, 0, 0, 5, 0, 6, 0),
            ::capnp::word(17, 55, 189, 15, 139, 54, 100, 249),
            ::capnp::word(10, 0, 0, 0, 1, 0, 1, 0),
            ::capnp::word(80, 162, 82, 37, 27, 152, 18, 179),
            ::capnp::word(1, 0, 7, 0, 0, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(21, 0, 0, 0, 170, 0, 0, 0),
            ::capnp::word(29, 0, 0, 0, 7, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(25, 0, 0, 0, 119, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(114, 112, 99, 46, 99, 97, 112, 110),
            ::capnp::word(112, 58, 68, 105, 115, 101, 109, 98),
            ::capnp::word(97, 114, 103, 111, 0, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 1, 0, 1, 0),
            ::capnp::word(8, 0, 0, 0, 3, 0, 4, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(0, 0, 1, 0, 0, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(41, 0, 0, 0, 58, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(36, 0, 0, 0, 3, 0, 1, 0),
            ::capnp::word(48, 0, 0, 0, 2, 0, 1, 0),
            ::capnp::word(1, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(1, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(77, 221, 91, 101, 223, 180, 98, 213),
            ::capnp::word(45, 0, 0, 0, 66, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(116, 97, 114, 103, 101, 116, 0, 0),
            ::capnp::word(16, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(193, 251, 19, 88, 84, 20, 188, 149),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(16, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(99, 111, 110, 116, 101, 120, 116, 0),
        ];
        pub(crate) fn get_field_types(index: u16) -> ::capnp::introspect::Type {
            match index {
                0 => <crate::rpc_capnp::message_target::Owned as ::capnp::introspect::Introspect>::introspect(),
                1 => <crate::rpc_capnp::disembargo::context::Owned as ::capnp::introspect::Introspect>::introspect(),
                _ => ::capnp::introspect::panic_invalid_field_index(index),
            }
        }
        pub(crate) fn get_annotation_types(
            child_index: Option<u16>,
            index: u32,
        ) -> ::capnp::introspect::Type {
            ::capnp::introspect::panic_invalid_annotation_indices(child_index, index)
        }
        pub(crate) static ARENA: ::capnp::private::arena::GeneratedCodeArena =
            ::capnp::private::arena::GeneratedCodeArena::new(&ENCODED_NODE);
        pub(crate) static RAW_SCHEMA: ::capnp::introspect::RawStructSchema =
            ::capnp::introspect::RawStructSchema::new(
                &ARENA,
                NONUNION_MEMBERS,
                MEMBERS_BY_DISCRIMINANT,
                MEMBERS_BY_NAME,
            );
        pub(crate) static NONUNION_MEMBERS: &[u16] = &[0, 1];
        pub(crate) static MEMBERS_BY_DISCRIMINANT: &[u16] = &[];
        pub(crate) static MEMBERS_BY_NAME: &[u16] = &[1, 0];
        pub(crate) const TYPE_ID: u64 = 0xf964_368b_0fbd_3711;
    }

    pub mod context {
        pub use self::Which::{Accept, Provide, ReceiverLoopback, SenderLoopback};

        #[derive(Copy, Clone)]
        pub struct Owned(());
        impl ::capnp::introspect::Introspect for Owned {
            fn introspect() -> ::capnp::introspect::Type {
                ::capnp::introspect::TypeVariant::Struct(
                    ::capnp::introspect::RawBrandedStructSchema {
                        generic: &_private::RAW_SCHEMA,
                        field_types: _private::get_field_types,
                        annotation_types: _private::get_annotation_types,
                    },
                )
                .into()
            }
        }
        impl ::capnp::traits::Owned for Owned {
            type Reader<'a> = Reader<'a>;
            type Builder<'a> = Builder<'a>;
        }
        impl ::capnp::traits::OwnedStruct for Owned {
            type Reader<'a> = Reader<'a>;
            type Builder<'a> = Builder<'a>;
        }
        impl ::capnp::traits::Pipelined for Owned {
            type Pipeline = Pipeline;
        }

        pub struct Reader<'a> {
            reader: ::capnp::private::layout::StructReader<'a>,
        }
        impl ::core::marker::Copy for Reader<'_> {}
        impl ::core::clone::Clone for Reader<'_> {
            fn clone(&self) -> Self {
                *self
            }
        }

        impl ::capnp::traits::HasTypeId for Reader<'_> {
            const TYPE_ID: u64 = _private::TYPE_ID;
        }
        impl<'a> ::core::convert::From<::capnp::private::layout::StructReader<'a>> for Reader<'a> {
            fn from(reader: ::capnp::private::layout::StructReader<'a>) -> Self {
                Self { reader }
            }
        }

        impl<'a> ::core::convert::From<Reader<'a>> for ::capnp::dynamic_value::Reader<'a> {
            fn from(reader: Reader<'a>) -> Self {
                Self::Struct(::capnp::dynamic_struct::Reader::new(
                    reader.reader,
                    ::capnp::schema::StructSchema::new(
                        ::capnp::introspect::RawBrandedStructSchema {
                            generic: &_private::RAW_SCHEMA,
                            field_types: _private::get_field_types,
                            annotation_types: _private::get_annotation_types,
                        },
                    ),
                ))
            }
        }

        impl ::core::fmt::Debug for Reader<'_> {
            fn fmt(
                &self,
                f: &mut ::core::fmt::Formatter<'_>,
            ) -> ::core::result::Result<(), ::core::fmt::Error> {
                core::fmt::Debug::fmt(
                    &::core::convert::Into::<::capnp::dynamic_value::Reader<'_>>::into(*self),
                    f,
                )
            }
        }

        impl<'a> ::capnp::traits::FromPointerReader<'a> for Reader<'a> {
            fn get_from_pointer(
                reader: &::capnp::private::layout::PointerReader<'a>,
                default: ::core::option::Option<&'a [::capnp::Word]>,
            ) -> ::capnp::Result<Self> {
                ::core::result::Result::Ok(reader.get_struct(default)?.into())
            }
        }

        impl<'a> ::capnp::traits::IntoInternalStructReader<'a> for Reader<'a> {
            fn into_internal_struct_reader(self) -> ::capnp::private::layout::StructReader<'a> {
                self.reader
            }
        }

        impl<'a> ::capnp::traits::Imbue<'a> for Reader<'a> {
            fn imbue(&mut self, cap_table: &'a ::capnp::private::layout::CapTable) {
                self.reader
                    .imbue(::capnp::private::layout::CapTableReader::Plain(cap_table))
            }
        }

        impl Reader<'_> {
            pub fn reborrow(&self) -> Reader<'_> {
                Self { ..*self }
            }

            pub fn total_size(&self) -> ::capnp::Result<::capnp::MessageSize> {
                self.reader.total_size()
            }
            #[inline]
            pub fn which(self) -> ::core::result::Result<WhichReader, ::capnp::NotInSchema> {
                match self.reader.get_data_field::<u16>(2) {
                    0 => ::core::result::Result::Ok(SenderLoopback(
                        self.reader.get_data_field::<u32>(0),
                    )),
                    1 => ::core::result::Result::Ok(ReceiverLoopback(
                        self.reader.get_data_field::<u32>(0),
                    )),
                    2 => ::core::result::Result::Ok(Accept(())),
                    3 => ::core::result::Result::Ok(Provide(self.reader.get_data_field::<u32>(0))),
                    x => ::core::result::Result::Err(::capnp::NotInSchema(x)),
                }
            }
        }

        pub struct Builder<'a> {
            builder: ::capnp::private::layout::StructBuilder<'a>,
        }
        impl ::capnp::traits::HasStructSize for Builder<'_> {
            const STRUCT_SIZE: ::capnp::private::layout::StructSize =
                ::capnp::private::layout::StructSize {
                    data: 1,
                    pointers: 1,
                };
        }
        impl ::capnp::traits::HasTypeId for Builder<'_> {
            const TYPE_ID: u64 = _private::TYPE_ID;
        }
        impl<'a> ::core::convert::From<::capnp::private::layout::StructBuilder<'a>> for Builder<'a> {
            fn from(builder: ::capnp::private::layout::StructBuilder<'a>) -> Self {
                Self { builder }
            }
        }

        impl<'a> ::core::convert::From<Builder<'a>> for ::capnp::dynamic_value::Builder<'a> {
            fn from(builder: Builder<'a>) -> Self {
                Self::Struct(::capnp::dynamic_struct::Builder::new(
                    builder.builder,
                    ::capnp::schema::StructSchema::new(
                        ::capnp::introspect::RawBrandedStructSchema {
                            generic: &_private::RAW_SCHEMA,
                            field_types: _private::get_field_types,
                            annotation_types: _private::get_annotation_types,
                        },
                    ),
                ))
            }
        }

        impl<'a> ::capnp::traits::ImbueMut<'a> for Builder<'a> {
            fn imbue_mut(&mut self, cap_table: &'a mut ::capnp::private::layout::CapTable) {
                self.builder
                    .imbue(::capnp::private::layout::CapTableBuilder::Plain(cap_table))
            }
        }

        impl<'a> ::capnp::traits::FromPointerBuilder<'a> for Builder<'a> {
            fn init_pointer(
                builder: ::capnp::private::layout::PointerBuilder<'a>,
                _size: u32,
            ) -> Self {
                builder
                    .init_struct(<Self as ::capnp::traits::HasStructSize>::STRUCT_SIZE)
                    .into()
            }
            fn get_from_pointer(
                builder: ::capnp::private::layout::PointerBuilder<'a>,
                default: ::core::option::Option<&'a [::capnp::Word]>,
            ) -> ::capnp::Result<Self> {
                ::core::result::Result::Ok(
                    builder
                        .get_struct(
                            <Self as ::capnp::traits::HasStructSize>::STRUCT_SIZE,
                            default,
                        )?
                        .into(),
                )
            }
        }

        impl ::capnp::traits::SetterInput<Owned> for Reader<'_> {
            fn set_pointer_builder(
                mut pointer: ::capnp::private::layout::PointerBuilder<'_>,
                value: Self,
                canonicalize: bool,
            ) -> ::capnp::Result<()> {
                pointer.set_struct(&value.reader, canonicalize)
            }
        }

        impl<'a> Builder<'a> {
            pub fn into_reader(self) -> Reader<'a> {
                self.builder.into_reader().into()
            }
            pub fn reborrow(&mut self) -> Builder<'_> {
                Builder {
                    builder: self.builder.reborrow(),
                }
            }
            pub fn reborrow_as_reader(&self) -> Reader<'_> {
                self.builder.as_reader().into()
            }

            pub fn total_size(&self) -> ::capnp::Result<::capnp::MessageSize> {
                self.builder.as_reader().total_size()
            }
            #[inline]
            pub fn set_sender_loopback(&mut self, value: u32) {
                self.builder.set_data_field::<u16>(2, 0);
                self.builder.set_data_field::<u32>(0, value);
            }
            #[inline]
            pub fn set_receiver_loopback(&mut self, value: u32) {
                self.builder.set_data_field::<u16>(2, 1);
                self.builder.set_data_field::<u32>(0, value);
            }
            #[inline]
            pub fn set_accept(&mut self, _value: ()) {
                self.builder.set_data_field::<u16>(2, 2);
            }
            #[inline]
            pub fn set_provide(&mut self, value: u32) {
                self.builder.set_data_field::<u16>(2, 3);
                self.builder.set_data_field::<u32>(0, value);
            }
            #[inline]
            pub fn which(self) -> ::core::result::Result<WhichBuilder, ::capnp::NotInSchema> {
                match self.builder.get_data_field::<u16>(2) {
                    0 => ::core::result::Result::Ok(SenderLoopback(
                        self.builder.get_data_field::<u32>(0),
                    )),
                    1 => ::core::result::Result::Ok(ReceiverLoopback(
                        self.builder.get_data_field::<u32>(0),
                    )),
                    2 => ::core::result::Result::Ok(Accept(())),
                    3 => ::core::result::Result::Ok(Provide(self.builder.get_data_field::<u32>(0))),
                    x => ::core::result::Result::Err(::capnp::NotInSchema(x)),
                }
            }
        }

        pub struct Pipeline {
            _typeless: ::capnp::any_pointer::Pipeline,
        }
        impl ::capnp::capability::FromTypelessPipeline for Pipeline {
            fn new(typeless: ::capnp::any_pointer::Pipeline) -> Self {
                Self {
                    _typeless: typeless,
                }
            }
        }
        impl Pipeline {}
        mod _private {
            pub(crate) static ENCODED_NODE: [::capnp::Word; 80] = [
                ::capnp::word(0, 0, 0, 0, 5, 0, 6, 0),
                ::capnp::word(77, 221, 91, 101, 223, 180, 98, 213),
                ::capnp::word(21, 0, 0, 0, 1, 0, 1, 0),
                ::capnp::word(17, 55, 189, 15, 139, 54, 100, 249),
                ::capnp::word(1, 0, 7, 0, 1, 0, 4, 0),
                ::capnp::word(2, 0, 0, 0, 0, 0, 0, 0),
                ::capnp::word(21, 0, 0, 0, 234, 0, 0, 0),
                ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
                ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
                ::capnp::word(25, 0, 0, 0, 231, 0, 0, 0),
                ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
                ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
                ::capnp::word(114, 112, 99, 46, 99, 97, 112, 110),
                ::capnp::word(112, 58, 68, 105, 115, 101, 109, 98),
                ::capnp::word(97, 114, 103, 111, 46, 99, 111, 110),
                ::capnp::word(116, 101, 120, 116, 0, 0, 0, 0),
                ::capnp::word(16, 0, 0, 0, 3, 0, 4, 0),
                ::capnp::word(0, 0, 255, 255, 0, 0, 0, 0),
                ::capnp::word(0, 0, 1, 0, 1, 0, 0, 0),
                ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
                ::capnp::word(97, 0, 0, 0, 122, 0, 0, 0),
                ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
                ::capnp::word(96, 0, 0, 0, 3, 0, 1, 0),
                ::capnp::word(108, 0, 0, 0, 2, 0, 1, 0),
                ::capnp::word(1, 0, 254, 255, 0, 0, 0, 0),
                ::capnp::word(0, 0, 1, 0, 2, 0, 0, 0),
                ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
                ::capnp::word(105, 0, 0, 0, 138, 0, 0, 0),
                ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
                ::capnp::word(108, 0, 0, 0, 3, 0, 1, 0),
                ::capnp::word(120, 0, 0, 0, 2, 0, 1, 0),
                ::capnp::word(2, 0, 253, 255, 0, 0, 0, 0),
                ::capnp::word(0, 0, 1, 0, 3, 0, 0, 0),
                ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
                ::capnp::word(117, 0, 0, 0, 58, 0, 0, 0),
                ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
                ::capnp::word(112, 0, 0, 0, 3, 0, 1, 0),
                ::capnp::word(124, 0, 0, 0, 2, 0, 1, 0),
                ::capnp::word(3, 0, 252, 255, 0, 0, 0, 0),
                ::capnp::word(0, 0, 1, 0, 4, 0, 0, 0),
                ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
                ::capnp::word(121, 0, 0, 0, 66, 0, 0, 0),
                ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
                ::capnp::word(116, 0, 0, 0, 3, 0, 1, 0),
                ::capnp::word(128, 0, 0, 0, 2, 0, 1, 0),
                ::capnp::word(115, 101, 110, 100, 101, 114, 76, 111),
                ::capnp::word(111, 112, 98, 97, 99, 107, 0, 0),
                ::capnp::word(8, 0, 0, 0, 0, 0, 0, 0),
                ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
                ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
                ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
                ::capnp::word(8, 0, 0, 0, 0, 0, 0, 0),
                ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
                ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
                ::capnp::word(114, 101, 99, 101, 105, 118, 101, 114),
                ::capnp::word(76, 111, 111, 112, 98, 97, 99, 107),
                ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
                ::capnp::word(8, 0, 0, 0, 0, 0, 0, 0),
                ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
                ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
                ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
                ::capnp::word(8, 0, 0, 0, 0, 0, 0, 0),
                ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
                ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
                ::capnp::word(97, 99, 99, 101, 112, 116, 0, 0),
                ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
                ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
                ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
                ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
                ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
                ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
                ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
                ::capnp::word(112, 114, 111, 118, 105, 100, 101, 0),
                ::capnp::word(8, 0, 0, 0, 0, 0, 0, 0),
                ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
                ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
                ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
                ::capnp::word(8, 0, 0, 0, 0, 0, 0, 0),
                ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
                ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ];
            pub(crate) fn get_field_types(index: u16) -> ::capnp::introspect::Type {
                match index {
                    0 => <u32 as ::capnp::introspect::Introspect>::introspect(),
                    1 => <u32 as ::capnp::introspect::Introspect>::introspect(),
                    2 => <() as ::capnp::introspect::Introspect>::introspect(),
                    3 => <u32 as ::capnp::introspect::Introspect>::introspect(),
                    _ => ::capnp::introspect::panic_invalid_field_index(index),
                }
            }
            pub(crate) fn get_annotation_types(
                child_index: Option<u16>,
                index: u32,
            ) -> ::capnp::introspect::Type {
                ::capnp::introspect::panic_invalid_annotation_indices(child_index, index)
            }
            pub(crate) static ARENA: ::capnp::private::arena::GeneratedCodeArena =
                ::capnp::private::arena::GeneratedCodeArena::new(&ENCODED_NODE);
            pub(crate) static RAW_SCHEMA: ::capnp::introspect::RawStructSchema =
                ::capnp::introspect::RawStructSchema::new(
                    &ARENA,
                    NONUNION_MEMBERS,
                    MEMBERS_BY_DISCRIMINANT,
                    MEMBERS_BY_NAME,
                );
            pub(crate) static NONUNION_MEMBERS: &[u16] = &[];
            pub(crate) static MEMBERS_BY_DISCRIMINANT: &[u16] = &[0, 1, 2, 3];
            pub(crate) static MEMBERS_BY_NAME: &[u16] = &[2, 3, 1, 0];
            pub(crate) const TYPE_ID: u64 = 0xd562_b4df_655b_dd4d;
        }
        pub enum Which {
            SenderLoopback(u32),
            ReceiverLoopback(u32),
            Accept(()),
            Provide(u32),
        }
        pub type WhichReader = Which;
        pub type WhichBuilder = Which;
    }
}

pub mod provide {
    #[derive(Copy, Clone)]
    pub struct Owned(());
    impl ::capnp::introspect::Introspect for Owned {
        fn introspect() -> ::capnp::introspect::Type {
            ::capnp::introspect::TypeVariant::Struct(::capnp::introspect::RawBrandedStructSchema {
                generic: &_private::RAW_SCHEMA,
                field_types: _private::get_field_types,
                annotation_types: _private::get_annotation_types,
            })
            .into()
        }
    }
    impl ::capnp::traits::Owned for Owned {
        type Reader<'a> = Reader<'a>;
        type Builder<'a> = Builder<'a>;
    }
    impl ::capnp::traits::OwnedStruct for Owned {
        type Reader<'a> = Reader<'a>;
        type Builder<'a> = Builder<'a>;
    }
    impl ::capnp::traits::Pipelined for Owned {
        type Pipeline = Pipeline;
    }

    pub struct Reader<'a> {
        reader: ::capnp::private::layout::StructReader<'a>,
    }
    impl ::core::marker::Copy for Reader<'_> {}
    impl ::core::clone::Clone for Reader<'_> {
        fn clone(&self) -> Self {
            *self
        }
    }

    impl ::capnp::traits::HasTypeId for Reader<'_> {
        const TYPE_ID: u64 = _private::TYPE_ID;
    }
    impl<'a> ::core::convert::From<::capnp::private::layout::StructReader<'a>> for Reader<'a> {
        fn from(reader: ::capnp::private::layout::StructReader<'a>) -> Self {
            Self { reader }
        }
    }

    impl<'a> ::core::convert::From<Reader<'a>> for ::capnp::dynamic_value::Reader<'a> {
        fn from(reader: Reader<'a>) -> Self {
            Self::Struct(::capnp::dynamic_struct::Reader::new(
                reader.reader,
                ::capnp::schema::StructSchema::new(::capnp::introspect::RawBrandedStructSchema {
                    generic: &_private::RAW_SCHEMA,
                    field_types: _private::get_field_types,
                    annotation_types: _private::get_annotation_types,
                }),
            ))
        }
    }

    impl ::core::fmt::Debug for Reader<'_> {
        fn fmt(
            &self,
            f: &mut ::core::fmt::Formatter<'_>,
        ) -> ::core::result::Result<(), ::core::fmt::Error> {
            core::fmt::Debug::fmt(
                &::core::convert::Into::<::capnp::dynamic_value::Reader<'_>>::into(*self),
                f,
            )
        }
    }

    impl<'a> ::capnp::traits::FromPointerReader<'a> for Reader<'a> {
        fn get_from_pointer(
            reader: &::capnp::private::layout::PointerReader<'a>,
            default: ::core::option::Option<&'a [::capnp::Word]>,
        ) -> ::capnp::Result<Self> {
            ::core::result::Result::Ok(reader.get_struct(default)?.into())
        }
    }

    impl<'a> ::capnp::traits::IntoInternalStructReader<'a> for Reader<'a> {
        fn into_internal_struct_reader(self) -> ::capnp::private::layout::StructReader<'a> {
            self.reader
        }
    }

    impl<'a> ::capnp::traits::Imbue<'a> for Reader<'a> {
        fn imbue(&mut self, cap_table: &'a ::capnp::private::layout::CapTable) {
            self.reader
                .imbue(::capnp::private::layout::CapTableReader::Plain(cap_table))
        }
    }

    impl<'a> Reader<'a> {
        pub fn reborrow(&self) -> Reader<'_> {
            Self { ..*self }
        }

        pub fn total_size(&self) -> ::capnp::Result<::capnp::MessageSize> {
            self.reader.total_size()
        }
        #[inline]
        pub fn get_question_id(self) -> u32 {
            self.reader.get_data_field::<u32>(0)
        }
        #[inline]
        pub fn get_target(self) -> ::capnp::Result<crate::rpc_capnp::message_target::Reader<'a>> {
            ::capnp::traits::FromPointerReader::get_from_pointer(
                &self.reader.get_pointer_field(0),
                ::core::option::Option::None,
            )
        }
        #[inline]
        pub fn has_target(&self) -> bool {
            !self.reader.get_pointer_field(0).is_null()
        }
        #[inline]
        pub fn get_recipient(self) -> ::capnp::any_pointer::Reader<'a> {
            ::capnp::any_pointer::Reader::new(self.reader.get_pointer_field(1))
        }
        #[inline]
        pub fn has_recipient(&self) -> bool {
            !self.reader.get_pointer_field(1).is_null()
        }
    }

    pub struct Builder<'a> {
        builder: ::capnp::private::layout::StructBuilder<'a>,
    }
    impl ::capnp::traits::HasStructSize for Builder<'_> {
        const STRUCT_SIZE: ::capnp::private::layout::StructSize =
            ::capnp::private::layout::StructSize {
                data: 1,
                pointers: 2,
            };
    }
    impl ::capnp::traits::HasTypeId for Builder<'_> {
        const TYPE_ID: u64 = _private::TYPE_ID;
    }
    impl<'a> ::core::convert::From<::capnp::private::layout::StructBuilder<'a>> for Builder<'a> {
        fn from(builder: ::capnp::private::layout::StructBuilder<'a>) -> Self {
            Self { builder }
        }
    }

    impl<'a> ::core::convert::From<Builder<'a>> for ::capnp::dynamic_value::Builder<'a> {
        fn from(builder: Builder<'a>) -> Self {
            Self::Struct(::capnp::dynamic_struct::Builder::new(
                builder.builder,
                ::capnp::schema::StructSchema::new(::capnp::introspect::RawBrandedStructSchema {
                    generic: &_private::RAW_SCHEMA,
                    field_types: _private::get_field_types,
                    annotation_types: _private::get_annotation_types,
                }),
            ))
        }
    }

    impl<'a> ::capnp::traits::ImbueMut<'a> for Builder<'a> {
        fn imbue_mut(&mut self, cap_table: &'a mut ::capnp::private::layout::CapTable) {
            self.builder
                .imbue(::capnp::private::layout::CapTableBuilder::Plain(cap_table))
        }
    }

    impl<'a> ::capnp::traits::FromPointerBuilder<'a> for Builder<'a> {
        fn init_pointer(builder: ::capnp::private::layout::PointerBuilder<'a>, _size: u32) -> Self {
            builder
                .init_struct(<Self as ::capnp::traits::HasStructSize>::STRUCT_SIZE)
                .into()
        }
        fn get_from_pointer(
            builder: ::capnp::private::layout::PointerBuilder<'a>,
            default: ::core::option::Option<&'a [::capnp::Word]>,
        ) -> ::capnp::Result<Self> {
            ::core::result::Result::Ok(
                builder
                    .get_struct(
                        <Self as ::capnp::traits::HasStructSize>::STRUCT_SIZE,
                        default,
                    )?
                    .into(),
            )
        }
    }

    impl ::capnp::traits::SetterInput<Owned> for Reader<'_> {
        fn set_pointer_builder(
            mut pointer: ::capnp::private::layout::PointerBuilder<'_>,
            value: Self,
            canonicalize: bool,
        ) -> ::capnp::Result<()> {
            pointer.set_struct(&value.reader, canonicalize)
        }
    }

    impl<'a> Builder<'a> {
        pub fn into_reader(self) -> Reader<'a> {
            self.builder.into_reader().into()
        }
        pub fn reborrow(&mut self) -> Builder<'_> {
            Builder {
                builder: self.builder.reborrow(),
            }
        }
        pub fn reborrow_as_reader(&self) -> Reader<'_> {
            self.builder.as_reader().into()
        }

        pub fn total_size(&self) -> ::capnp::Result<::capnp::MessageSize> {
            self.builder.as_reader().total_size()
        }
        #[inline]
        pub fn get_question_id(self) -> u32 {
            self.builder.get_data_field::<u32>(0)
        }
        #[inline]
        pub fn set_question_id(&mut self, value: u32) {
            self.builder.set_data_field::<u32>(0, value);
        }
        #[inline]
        pub fn get_target(self) -> ::capnp::Result<crate::rpc_capnp::message_target::Builder<'a>> {
            ::capnp::traits::FromPointerBuilder::get_from_pointer(
                self.builder.get_pointer_field(0),
                ::core::option::Option::None,
            )
        }
        #[inline]
        pub fn set_target(
            &mut self,
            value: crate::rpc_capnp::message_target::Reader<'_>,
        ) -> ::capnp::Result<()> {
            ::capnp::traits::SetterInput::set_pointer_builder(
                self.builder.reborrow().get_pointer_field(0),
                value,
                false,
            )
        }
        #[inline]
        pub fn init_target(self) -> crate::rpc_capnp::message_target::Builder<'a> {
            ::capnp::traits::FromPointerBuilder::init_pointer(self.builder.get_pointer_field(0), 0)
        }
        #[inline]
        pub fn has_target(&self) -> bool {
            !self.builder.is_pointer_field_null(0)
        }
        #[inline]
        pub fn get_recipient(self) -> ::capnp::any_pointer::Builder<'a> {
            ::capnp::any_pointer::Builder::new(self.builder.get_pointer_field(1))
        }
        #[inline]
        pub fn init_recipient(self) -> ::capnp::any_pointer::Builder<'a> {
            let mut result = ::capnp::any_pointer::Builder::new(self.builder.get_pointer_field(1));
            result.clear();
            result
        }
        #[inline]
        pub fn has_recipient(&self) -> bool {
            !self.builder.is_pointer_field_null(1)
        }
    }

    pub struct Pipeline {
        _typeless: ::capnp::any_pointer::Pipeline,
    }
    impl ::capnp::capability::FromTypelessPipeline for Pipeline {
        fn new(typeless: ::capnp::any_pointer::Pipeline) -> Self {
            Self {
                _typeless: typeless,
            }
        }
    }
    impl Pipeline {
        pub fn get_target(&self) -> crate::rpc_capnp::message_target::Pipeline {
            ::capnp::capability::FromTypelessPipeline::new(self._typeless.get_pointer_field(0))
        }
        pub fn get_recipient(&self) -> ::capnp::any_pointer::Pipeline {
            ::capnp::capability::FromTypelessPipeline::new(self._typeless.get_pointer_field(1))
        }
    }
    mod _private {
        pub(crate) static ENCODED_NODE: [::capnp::Word; 64] = [
            ::capnp::word(0, 0, 0, 0, 5, 0, 6, 0),
            ::capnp::word(90, 172, 193, 251, 107, 4, 106, 156),
            ::capnp::word(10, 0, 0, 0, 1, 0, 1, 0),
            ::capnp::word(80, 162, 82, 37, 27, 152, 18, 179),
            ::capnp::word(2, 0, 7, 0, 0, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(21, 0, 0, 0, 146, 0, 0, 0),
            ::capnp::word(29, 0, 0, 0, 7, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(25, 0, 0, 0, 175, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(114, 112, 99, 46, 99, 97, 112, 110),
            ::capnp::word(112, 58, 80, 114, 111, 118, 105, 100),
            ::capnp::word(101, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 1, 0, 1, 0),
            ::capnp::word(12, 0, 0, 0, 3, 0, 4, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(0, 0, 1, 0, 0, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(69, 0, 0, 0, 90, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(68, 0, 0, 0, 3, 0, 1, 0),
            ::capnp::word(80, 0, 0, 0, 2, 0, 1, 0),
            ::capnp::word(1, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(0, 0, 1, 0, 1, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(77, 0, 0, 0, 58, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(72, 0, 0, 0, 3, 0, 1, 0),
            ::capnp::word(84, 0, 0, 0, 2, 0, 1, 0),
            ::capnp::word(2, 0, 0, 0, 1, 0, 0, 0),
            ::capnp::word(0, 0, 1, 0, 2, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(81, 0, 0, 0, 82, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(80, 0, 0, 0, 3, 0, 1, 0),
            ::capnp::word(92, 0, 0, 0, 2, 0, 1, 0),
            ::capnp::word(113, 117, 101, 115, 116, 105, 111, 110),
            ::capnp::word(73, 100, 0, 0, 0, 0, 0, 0),
            ::capnp::word(8, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(8, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(116, 97, 114, 103, 101, 116, 0, 0),
            ::capnp::word(16, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(193, 251, 19, 88, 84, 20, 188, 149),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(16, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(114, 101, 99, 105, 112, 105, 101, 110),
            ::capnp::word(116, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(18, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(18, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
        ];
        pub(crate) fn get_field_types(index: u16) -> ::capnp::introspect::Type {
            match index {
                0 => <u32 as ::capnp::introspect::Introspect>::introspect(),
                1 => <crate::rpc_capnp::message_target::Owned as ::capnp::introspect::Introspect>::introspect(),
                2 => <::capnp::any_pointer::Owned as ::capnp::introspect::Introspect>::introspect(),
                _ => ::capnp::introspect::panic_invalid_field_index(index),
            }
        }
        pub(crate) fn get_annotation_types(
            child_index: Option<u16>,
            index: u32,
        ) -> ::capnp::introspect::Type {
            ::capnp::introspect::panic_invalid_annotation_indices(child_index, index)
        }
        pub(crate) static ARENA: ::capnp::private::arena::GeneratedCodeArena =
            ::capnp::private::arena::GeneratedCodeArena::new(&ENCODED_NODE);
        pub(crate) static RAW_SCHEMA: ::capnp::introspect::RawStructSchema =
            ::capnp::introspect::RawStructSchema::new(
                &ARENA,
                NONUNION_MEMBERS,
                MEMBERS_BY_DISCRIMINANT,
                MEMBERS_BY_NAME,
            );
        pub(crate) static NONUNION_MEMBERS: &[u16] = &[0, 1, 2];
        pub(crate) static MEMBERS_BY_DISCRIMINANT: &[u16] = &[];
        pub(crate) static MEMBERS_BY_NAME: &[u16] = &[0, 2, 1];
        pub(crate) const TYPE_ID: u64 = 0x9c6a_046b_fbc1_ac5a;
    }
}

pub mod accept {
    #[derive(Copy, Clone)]
    pub struct Owned(());
    impl ::capnp::introspect::Introspect for Owned {
        fn introspect() -> ::capnp::introspect::Type {
            ::capnp::introspect::TypeVariant::Struct(::capnp::introspect::RawBrandedStructSchema {
                generic: &_private::RAW_SCHEMA,
                field_types: _private::get_field_types,
                annotation_types: _private::get_annotation_types,
            })
            .into()
        }
    }
    impl ::capnp::traits::Owned for Owned {
        type Reader<'a> = Reader<'a>;
        type Builder<'a> = Builder<'a>;
    }
    impl ::capnp::traits::OwnedStruct for Owned {
        type Reader<'a> = Reader<'a>;
        type Builder<'a> = Builder<'a>;
    }
    impl ::capnp::traits::Pipelined for Owned {
        type Pipeline = Pipeline;
    }

    pub struct Reader<'a> {
        reader: ::capnp::private::layout::StructReader<'a>,
    }
    impl ::core::marker::Copy for Reader<'_> {}
    impl ::core::clone::Clone for Reader<'_> {
        fn clone(&self) -> Self {
            *self
        }
    }

    impl ::capnp::traits::HasTypeId for Reader<'_> {
        const TYPE_ID: u64 = _private::TYPE_ID;
    }
    impl<'a> ::core::convert::From<::capnp::private::layout::StructReader<'a>> for Reader<'a> {
        fn from(reader: ::capnp::private::layout::StructReader<'a>) -> Self {
            Self { reader }
        }
    }

    impl<'a> ::core::convert::From<Reader<'a>> for ::capnp::dynamic_value::Reader<'a> {
        fn from(reader: Reader<'a>) -> Self {
            Self::Struct(::capnp::dynamic_struct::Reader::new(
                reader.reader,
                ::capnp::schema::StructSchema::new(::capnp::introspect::RawBrandedStructSchema {
                    generic: &_private::RAW_SCHEMA,
                    field_types: _private::get_field_types,
                    annotation_types: _private::get_annotation_types,
                }),
            ))
        }
    }

    impl ::core::fmt::Debug for Reader<'_> {
        fn fmt(
            &self,
            f: &mut ::core::fmt::Formatter<'_>,
        ) -> ::core::result::Result<(), ::core::fmt::Error> {
            core::fmt::Debug::fmt(
                &::core::convert::Into::<::capnp::dynamic_value::Reader<'_>>::into(*self),
                f,
            )
        }
    }

    impl<'a> ::capnp::traits::FromPointerReader<'a> for Reader<'a> {
        fn get_from_pointer(
            reader: &::capnp::private::layout::PointerReader<'a>,
            default: ::core::option::Option<&'a [::capnp::Word]>,
        ) -> ::capnp::Result<Self> {
            ::core::result::Result::Ok(reader.get_struct(default)?.into())
        }
    }

    impl<'a> ::capnp::traits::IntoInternalStructReader<'a> for Reader<'a> {
        fn into_internal_struct_reader(self) -> ::capnp::private::layout::StructReader<'a> {
            self.reader
        }
    }

    impl<'a> ::capnp::traits::Imbue<'a> for Reader<'a> {
        fn imbue(&mut self, cap_table: &'a ::capnp::private::layout::CapTable) {
            self.reader
                .imbue(::capnp::private::layout::CapTableReader::Plain(cap_table))
        }
    }

    impl<'a> Reader<'a> {
        pub fn reborrow(&self) -> Reader<'_> {
            Self { ..*self }
        }

        pub fn total_size(&self) -> ::capnp::Result<::capnp::MessageSize> {
            self.reader.total_size()
        }
        #[inline]
        pub fn get_question_id(self) -> u32 {
            self.reader.get_data_field::<u32>(0)
        }
        #[inline]
        pub fn get_provision(self) -> ::capnp::any_pointer::Reader<'a> {
            ::capnp::any_pointer::Reader::new(self.reader.get_pointer_field(0))
        }
        #[inline]
        pub fn has_provision(&self) -> bool {
            !self.reader.get_pointer_field(0).is_null()
        }
        #[inline]
        pub fn get_embargo(self) -> bool {
            self.reader.get_bool_field(32)
        }
    }

    pub struct Builder<'a> {
        builder: ::capnp::private::layout::StructBuilder<'a>,
    }
    impl ::capnp::traits::HasStructSize for Builder<'_> {
        const STRUCT_SIZE: ::capnp::private::layout::StructSize =
            ::capnp::private::layout::StructSize {
                data: 1,
                pointers: 1,
            };
    }
    impl ::capnp::traits::HasTypeId for Builder<'_> {
        const TYPE_ID: u64 = _private::TYPE_ID;
    }
    impl<'a> ::core::convert::From<::capnp::private::layout::StructBuilder<'a>> for Builder<'a> {
        fn from(builder: ::capnp::private::layout::StructBuilder<'a>) -> Self {
            Self { builder }
        }
    }

    impl<'a> ::core::convert::From<Builder<'a>> for ::capnp::dynamic_value::Builder<'a> {
        fn from(builder: Builder<'a>) -> Self {
            Self::Struct(::capnp::dynamic_struct::Builder::new(
                builder.builder,
                ::capnp::schema::StructSchema::new(::capnp::introspect::RawBrandedStructSchema {
                    generic: &_private::RAW_SCHEMA,
                    field_types: _private::get_field_types,
                    annotation_types: _private::get_annotation_types,
                }),
            ))
        }
    }

    impl<'a> ::capnp::traits::ImbueMut<'a> for Builder<'a> {
        fn imbue_mut(&mut self, cap_table: &'a mut ::capnp::private::layout::CapTable) {
            self.builder
                .imbue(::capnp::private::layout::CapTableBuilder::Plain(cap_table))
        }
    }

    impl<'a> ::capnp::traits::FromPointerBuilder<'a> for Builder<'a> {
        fn init_pointer(builder: ::capnp::private::layout::PointerBuilder<'a>, _size: u32) -> Self {
            builder
                .init_struct(<Self as ::capnp::traits::HasStructSize>::STRUCT_SIZE)
                .into()
        }
        fn get_from_pointer(
            builder: ::capnp::private::layout::PointerBuilder<'a>,
            default: ::core::option::Option<&'a [::capnp::Word]>,
        ) -> ::capnp::Result<Self> {
            ::core::result::Result::Ok(
                builder
                    .get_struct(
                        <Self as ::capnp::traits::HasStructSize>::STRUCT_SIZE,
                        default,
                    )?
                    .into(),
            )
        }
    }

    impl ::capnp::traits::SetterInput<Owned> for Reader<'_> {
        fn set_pointer_builder(
            mut pointer: ::capnp::private::layout::PointerBuilder<'_>,
            value: Self,
            canonicalize: bool,
        ) -> ::capnp::Result<()> {
            pointer.set_struct(&value.reader, canonicalize)
        }
    }

    impl<'a> Builder<'a> {
        pub fn into_reader(self) -> Reader<'a> {
            self.builder.into_reader().into()
        }
        pub fn reborrow(&mut self) -> Builder<'_> {
            Builder {
                builder: self.builder.reborrow(),
            }
        }
        pub fn reborrow_as_reader(&self) -> Reader<'_> {
            self.builder.as_reader().into()
        }

        pub fn total_size(&self) -> ::capnp::Result<::capnp::MessageSize> {
            self.builder.as_reader().total_size()
        }
        #[inline]
        pub fn get_question_id(self) -> u32 {
            self.builder.get_data_field::<u32>(0)
        }
        #[inline]
        pub fn set_question_id(&mut self, value: u32) {
            self.builder.set_data_field::<u32>(0, value);
        }
        #[inline]
        pub fn get_provision(self) -> ::capnp::any_pointer::Builder<'a> {
            ::capnp::any_pointer::Builder::new(self.builder.get_pointer_field(0))
        }
        #[inline]
        pub fn init_provision(self) -> ::capnp::any_pointer::Builder<'a> {
            let mut result = ::capnp::any_pointer::Builder::new(self.builder.get_pointer_field(0));
            result.clear();
            result
        }
        #[inline]
        pub fn has_provision(&self) -> bool {
            !self.builder.is_pointer_field_null(0)
        }
        #[inline]
        pub fn get_embargo(self) -> bool {
            self.builder.get_bool_field(32)
        }
        #[inline]
        pub fn set_embargo(&mut self, value: bool) {
            self.builder.set_bool_field(32, value);
        }
    }

    pub struct Pipeline {
        _typeless: ::capnp::any_pointer::Pipeline,
    }
    impl ::capnp::capability::FromTypelessPipeline for Pipeline {
        fn new(typeless: ::capnp::any_pointer::Pipeline) -> Self {
            Self {
                _typeless: typeless,
            }
        }
    }
    impl Pipeline {
        pub fn get_provision(&self) -> ::capnp::any_pointer::Pipeline {
            ::capnp::capability::FromTypelessPipeline::new(self._typeless.get_pointer_field(0))
        }
    }
    mod _private {
        pub(crate) static ENCODED_NODE: [::capnp::Word; 64] = [
            ::capnp::word(0, 0, 0, 0, 5, 0, 6, 0),
            ::capnp::word(22, 64, 85, 144, 98, 181, 201, 212),
            ::capnp::word(10, 0, 0, 0, 1, 0, 1, 0),
            ::capnp::word(80, 162, 82, 37, 27, 152, 18, 179),
            ::capnp::word(1, 0, 7, 0, 0, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(21, 0, 0, 0, 138, 0, 0, 0),
            ::capnp::word(29, 0, 0, 0, 7, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(25, 0, 0, 0, 175, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(114, 112, 99, 46, 99, 97, 112, 110),
            ::capnp::word(112, 58, 65, 99, 99, 101, 112, 116),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 1, 0, 1, 0),
            ::capnp::word(12, 0, 0, 0, 3, 0, 4, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(0, 0, 1, 0, 0, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(69, 0, 0, 0, 90, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(68, 0, 0, 0, 3, 0, 1, 0),
            ::capnp::word(80, 0, 0, 0, 2, 0, 1, 0),
            ::capnp::word(1, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(0, 0, 1, 0, 1, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(77, 0, 0, 0, 82, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(76, 0, 0, 0, 3, 0, 1, 0),
            ::capnp::word(88, 0, 0, 0, 2, 0, 1, 0),
            ::capnp::word(2, 0, 0, 0, 32, 0, 0, 0),
            ::capnp::word(0, 0, 1, 0, 2, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(85, 0, 0, 0, 66, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(80, 0, 0, 0, 3, 0, 1, 0),
            ::capnp::word(92, 0, 0, 0, 2, 0, 1, 0),
            ::capnp::word(113, 117, 101, 115, 116, 105, 111, 110),
            ::capnp::word(73, 100, 0, 0, 0, 0, 0, 0),
            ::capnp::word(8, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(8, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(112, 114, 111, 118, 105, 115, 105, 111),
            ::capnp::word(110, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(18, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(18, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(101, 109, 98, 97, 114, 103, 111, 0),
            ::capnp::word(1, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(1, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
        ];
        pub(crate) fn get_field_types(index: u16) -> ::capnp::introspect::Type {
            match index {
                0 => <u32 as ::capnp::introspect::Introspect>::introspect(),
                1 => <::capnp::any_pointer::Owned as ::capnp::introspect::Introspect>::introspect(),
                2 => <bool as ::capnp::introspect::Introspect>::introspect(),
                _ => ::capnp::introspect::panic_invalid_field_index(index),
            }
        }
        pub(crate) fn get_annotation_types(
            child_index: Option<u16>,
            index: u32,
        ) -> ::capnp::introspect::Type {
            ::capnp::introspect::panic_invalid_annotation_indices(child_index, index)
        }
        pub(crate) static ARENA: ::capnp::private::arena::GeneratedCodeArena =
            ::capnp::private::arena::GeneratedCodeArena::new(&ENCODED_NODE);
        pub(crate) static RAW_SCHEMA: ::capnp::introspect::RawStructSchema =
            ::capnp::introspect::RawStructSchema::new(
                &ARENA,
                NONUNION_MEMBERS,
                MEMBERS_BY_DISCRIMINANT,
                MEMBERS_BY_NAME,
            );
        pub(crate) static NONUNION_MEMBERS: &[u16] = &[0, 1, 2];
        pub(crate) static MEMBERS_BY_DISCRIMINANT: &[u16] = &[];
        pub(crate) static MEMBERS_BY_NAME: &[u16] = &[2, 1, 0];
        pub(crate) const TYPE_ID: u64 = 0xd4c9_b562_9055_4016;
    }
}

pub mod join {
    #[derive(Copy, Clone)]
    pub struct Owned(());
    impl ::capnp::introspect::Introspect for Owned {
        fn introspect() -> ::capnp::introspect::Type {
            ::capnp::introspect::TypeVariant::Struct(::capnp::introspect::RawBrandedStructSchema {
                generic: &_private::RAW_SCHEMA,
                field_types: _private::get_field_types,
                annotation_types: _private::get_annotation_types,
            })
            .into()
        }
    }
    impl ::capnp::traits::Owned for Owned {
        type Reader<'a> = Reader<'a>;
        type Builder<'a> = Builder<'a>;
    }
    impl ::capnp::traits::OwnedStruct for Owned {
        type Reader<'a> = Reader<'a>;
        type Builder<'a> = Builder<'a>;
    }
    impl ::capnp::traits::Pipelined for Owned {
        type Pipeline = Pipeline;
    }

    pub struct Reader<'a> {
        reader: ::capnp::private::layout::StructReader<'a>,
    }
    impl ::core::marker::Copy for Reader<'_> {}
    impl ::core::clone::Clone for Reader<'_> {
        fn clone(&self) -> Self {
            *self
        }
    }

    impl ::capnp::traits::HasTypeId for Reader<'_> {
        const TYPE_ID: u64 = _private::TYPE_ID;
    }
    impl<'a> ::core::convert::From<::capnp::private::layout::StructReader<'a>> for Reader<'a> {
        fn from(reader: ::capnp::private::layout::StructReader<'a>) -> Self {
            Self { reader }
        }
    }

    impl<'a> ::core::convert::From<Reader<'a>> for ::capnp::dynamic_value::Reader<'a> {
        fn from(reader: Reader<'a>) -> Self {
            Self::Struct(::capnp::dynamic_struct::Reader::new(
                reader.reader,
                ::capnp::schema::StructSchema::new(::capnp::introspect::RawBrandedStructSchema {
                    generic: &_private::RAW_SCHEMA,
                    field_types: _private::get_field_types,
                    annotation_types: _private::get_annotation_types,
                }),
            ))
        }
    }

    impl ::core::fmt::Debug for Reader<'_> {
        fn fmt(
            &self,
            f: &mut ::core::fmt::Formatter<'_>,
        ) -> ::core::result::Result<(), ::core::fmt::Error> {
            core::fmt::Debug::fmt(
                &::core::convert::Into::<::capnp::dynamic_value::Reader<'_>>::into(*self),
                f,
            )
        }
    }

    impl<'a> ::capnp::traits::FromPointerReader<'a> for Reader<'a> {
        fn get_from_pointer(
            reader: &::capnp::private::layout::PointerReader<'a>,
            default: ::core::option::Option<&'a [::capnp::Word]>,
        ) -> ::capnp::Result<Self> {
            ::core::result::Result::Ok(reader.get_struct(default)?.into())
        }
    }

    impl<'a> ::capnp::traits::IntoInternalStructReader<'a> for Reader<'a> {
        fn into_internal_struct_reader(self) -> ::capnp::private::layout::StructReader<'a> {
            self.reader
        }
    }

    impl<'a> ::capnp::traits::Imbue<'a> for Reader<'a> {
        fn imbue(&mut self, cap_table: &'a ::capnp::private::layout::CapTable) {
            self.reader
                .imbue(::capnp::private::layout::CapTableReader::Plain(cap_table))
        }
    }

    impl<'a> Reader<'a> {
        pub fn reborrow(&self) -> Reader<'_> {
            Self { ..*self }
        }

        pub fn total_size(&self) -> ::capnp::Result<::capnp::MessageSize> {
            self.reader.total_size()
        }
        #[inline]
        pub fn get_question_id(self) -> u32 {
            self.reader.get_data_field::<u32>(0)
        }
        #[inline]
        pub fn get_target(self) -> ::capnp::Result<crate::rpc_capnp::message_target::Reader<'a>> {
            ::capnp::traits::FromPointerReader::get_from_pointer(
                &self.reader.get_pointer_field(0),
                ::core::option::Option::None,
            )
        }
        #[inline]
        pub fn has_target(&self) -> bool {
            !self.reader.get_pointer_field(0).is_null()
        }
        #[inline]
        pub fn get_key_part(self) -> ::capnp::any_pointer::Reader<'a> {
            ::capnp::any_pointer::Reader::new(self.reader.get_pointer_field(1))
        }
        #[inline]
        pub fn has_key_part(&self) -> bool {
            !self.reader.get_pointer_field(1).is_null()
        }
    }

    pub struct Builder<'a> {
        builder: ::capnp::private::layout::StructBuilder<'a>,
    }
    impl ::capnp::traits::HasStructSize for Builder<'_> {
        const STRUCT_SIZE: ::capnp::private::layout::StructSize =
            ::capnp::private::layout::StructSize {
                data: 1,
                pointers: 2,
            };
    }
    impl ::capnp::traits::HasTypeId for Builder<'_> {
        const TYPE_ID: u64 = _private::TYPE_ID;
    }
    impl<'a> ::core::convert::From<::capnp::private::layout::StructBuilder<'a>> for Builder<'a> {
        fn from(builder: ::capnp::private::layout::StructBuilder<'a>) -> Self {
            Self { builder }
        }
    }

    impl<'a> ::core::convert::From<Builder<'a>> for ::capnp::dynamic_value::Builder<'a> {
        fn from(builder: Builder<'a>) -> Self {
            Self::Struct(::capnp::dynamic_struct::Builder::new(
                builder.builder,
                ::capnp::schema::StructSchema::new(::capnp::introspect::RawBrandedStructSchema {
                    generic: &_private::RAW_SCHEMA,
                    field_types: _private::get_field_types,
                    annotation_types: _private::get_annotation_types,
                }),
            ))
        }
    }

    impl<'a> ::capnp::traits::ImbueMut<'a> for Builder<'a> {
        fn imbue_mut(&mut self, cap_table: &'a mut ::capnp::private::layout::CapTable) {
            self.builder
                .imbue(::capnp::private::layout::CapTableBuilder::Plain(cap_table))
        }
    }

    impl<'a> ::capnp::traits::FromPointerBuilder<'a> for Builder<'a> {
        fn init_pointer(builder: ::capnp::private::layout::PointerBuilder<'a>, _size: u32) -> Self {
            builder
                .init_struct(<Self as ::capnp::traits::HasStructSize>::STRUCT_SIZE)
                .into()
        }
        fn get_from_pointer(
            builder: ::capnp::private::layout::PointerBuilder<'a>,
            default: ::core::option::Option<&'a [::capnp::Word]>,
        ) -> ::capnp::Result<Self> {
            ::core::result::Result::Ok(
                builder
                    .get_struct(
                        <Self as ::capnp::traits::HasStructSize>::STRUCT_SIZE,
                        default,
                    )?
                    .into(),
            )
        }
    }

    impl ::capnp::traits::SetterInput<Owned> for Reader<'_> {
        fn set_pointer_builder(
            mut pointer: ::capnp::private::layout::PointerBuilder<'_>,
            value: Self,
            canonicalize: bool,
        ) -> ::capnp::Result<()> {
            pointer.set_struct(&value.reader, canonicalize)
        }
    }

    impl<'a> Builder<'a> {
        pub fn into_reader(self) -> Reader<'a> {
            self.builder.into_reader().into()
        }
        pub fn reborrow(&mut self) -> Builder<'_> {
            Builder {
                builder: self.builder.reborrow(),
            }
        }
        pub fn reborrow_as_reader(&self) -> Reader<'_> {
            self.builder.as_reader().into()
        }

        pub fn total_size(&self) -> ::capnp::Result<::capnp::MessageSize> {
            self.builder.as_reader().total_size()
        }
        #[inline]
        pub fn get_question_id(self) -> u32 {
            self.builder.get_data_field::<u32>(0)
        }
        #[inline]
        pub fn set_question_id(&mut self, value: u32) {
            self.builder.set_data_field::<u32>(0, value);
        }
        #[inline]
        pub fn get_target(self) -> ::capnp::Result<crate::rpc_capnp::message_target::Builder<'a>> {
            ::capnp::traits::FromPointerBuilder::get_from_pointer(
                self.builder.get_pointer_field(0),
                ::core::option::Option::None,
            )
        }
        #[inline]
        pub fn set_target(
            &mut self,
            value: crate::rpc_capnp::message_target::Reader<'_>,
        ) -> ::capnp::Result<()> {
            ::capnp::traits::SetterInput::set_pointer_builder(
                self.builder.reborrow().get_pointer_field(0),
                value,
                false,
            )
        }
        #[inline]
        pub fn init_target(self) -> crate::rpc_capnp::message_target::Builder<'a> {
            ::capnp::traits::FromPointerBuilder::init_pointer(self.builder.get_pointer_field(0), 0)
        }
        #[inline]
        pub fn has_target(&self) -> bool {
            !self.builder.is_pointer_field_null(0)
        }
        #[inline]
        pub fn get_key_part(self) -> ::capnp::any_pointer::Builder<'a> {
            ::capnp::any_pointer::Builder::new(self.builder.get_pointer_field(1))
        }
        #[inline]
        pub fn init_key_part(self) -> ::capnp::any_pointer::Builder<'a> {
            let mut result = ::capnp::any_pointer::Builder::new(self.builder.get_pointer_field(1));
            result.clear();
            result
        }
        #[inline]
        pub fn has_key_part(&self) -> bool {
            !self.builder.is_pointer_field_null(1)
        }
    }

    pub struct Pipeline {
        _typeless: ::capnp::any_pointer::Pipeline,
    }
    impl ::capnp::capability::FromTypelessPipeline for Pipeline {
        fn new(typeless: ::capnp::any_pointer::Pipeline) -> Self {
            Self {
                _typeless: typeless,
            }
        }
    }
    impl Pipeline {
        pub fn get_target(&self) -> crate::rpc_capnp::message_target::Pipeline {
            ::capnp::capability::FromTypelessPipeline::new(self._typeless.get_pointer_field(0))
        }
        pub fn get_key_part(&self) -> ::capnp::any_pointer::Pipeline {
            ::capnp::capability::FromTypelessPipeline::new(self._typeless.get_pointer_field(1))
        }
    }
    mod _private {
        pub(crate) static ENCODED_NODE: [::capnp::Word; 62] = [
            ::capnp::word(0, 0, 0, 0, 5, 0, 6, 0),
            ::capnp::word(175, 1, 224, 144, 4, 152, 225, 251),
            ::capnp::word(10, 0, 0, 0, 1, 0, 1, 0),
            ::capnp::word(80, 162, 82, 37, 27, 152, 18, 179),
            ::capnp::word(2, 0, 7, 0, 0, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(21, 0, 0, 0, 122, 0, 0, 0),
            ::capnp::word(25, 0, 0, 0, 7, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(21, 0, 0, 0, 175, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(114, 112, 99, 46, 99, 97, 112, 110),
            ::capnp::word(112, 58, 74, 111, 105, 110, 0, 0),
            ::capnp::word(0, 0, 0, 0, 1, 0, 1, 0),
            ::capnp::word(12, 0, 0, 0, 3, 0, 4, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(0, 0, 1, 0, 0, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(69, 0, 0, 0, 90, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(68, 0, 0, 0, 3, 0, 1, 0),
            ::capnp::word(80, 0, 0, 0, 2, 0, 1, 0),
            ::capnp::word(1, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(0, 0, 1, 0, 1, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(77, 0, 0, 0, 58, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(72, 0, 0, 0, 3, 0, 1, 0),
            ::capnp::word(84, 0, 0, 0, 2, 0, 1, 0),
            ::capnp::word(2, 0, 0, 0, 1, 0, 0, 0),
            ::capnp::word(0, 0, 1, 0, 2, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(81, 0, 0, 0, 66, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(76, 0, 0, 0, 3, 0, 1, 0),
            ::capnp::word(88, 0, 0, 0, 2, 0, 1, 0),
            ::capnp::word(113, 117, 101, 115, 116, 105, 111, 110),
            ::capnp::word(73, 100, 0, 0, 0, 0, 0, 0),
            ::capnp::word(8, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(8, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(116, 97, 114, 103, 101, 116, 0, 0),
            ::capnp::word(16, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(193, 251, 19, 88, 84, 20, 188, 149),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(16, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(107, 101, 121, 80, 97, 114, 116, 0),
            ::capnp::word(18, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(18, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
        ];
        pub(crate) fn get_field_types(index: u16) -> ::capnp::introspect::Type {
            match index {
                0 => <u32 as ::capnp::introspect::Introspect>::introspect(),
                1 => <crate::rpc_capnp::message_target::Owned as ::capnp::introspect::Introspect>::introspect(),
                2 => <::capnp::any_pointer::Owned as ::capnp::introspect::Introspect>::introspect(),
                _ => ::capnp::introspect::panic_invalid_field_index(index),
            }
        }
        pub(crate) fn get_annotation_types(
            child_index: Option<u16>,
            index: u32,
        ) -> ::capnp::introspect::Type {
            ::capnp::introspect::panic_invalid_annotation_indices(child_index, index)
        }
        pub(crate) static ARENA: ::capnp::private::arena::GeneratedCodeArena =
            ::capnp::private::arena::GeneratedCodeArena::new(&ENCODED_NODE);
        pub(crate) static RAW_SCHEMA: ::capnp::introspect::RawStructSchema =
            ::capnp::introspect::RawStructSchema::new(
                &ARENA,
                NONUNION_MEMBERS,
                MEMBERS_BY_DISCRIMINANT,
                MEMBERS_BY_NAME,
            );
        pub(crate) static NONUNION_MEMBERS: &[u16] = &[0, 1, 2];
        pub(crate) static MEMBERS_BY_DISCRIMINANT: &[u16] = &[];
        pub(crate) static MEMBERS_BY_NAME: &[u16] = &[2, 0, 1];
        pub(crate) const TYPE_ID: u64 = 0xfbe1_9804_90e0_01af;
    }
}

pub mod message_target {
    pub use self::Which::{ImportedCap, PromisedAnswer};

    #[derive(Copy, Clone)]
    pub struct Owned(());
    impl ::capnp::introspect::Introspect for Owned {
        fn introspect() -> ::capnp::introspect::Type {
            ::capnp::introspect::TypeVariant::Struct(::capnp::introspect::RawBrandedStructSchema {
                generic: &_private::RAW_SCHEMA,
                field_types: _private::get_field_types,
                annotation_types: _private::get_annotation_types,
            })
            .into()
        }
    }
    impl ::capnp::traits::Owned for Owned {
        type Reader<'a> = Reader<'a>;
        type Builder<'a> = Builder<'a>;
    }
    impl ::capnp::traits::OwnedStruct for Owned {
        type Reader<'a> = Reader<'a>;
        type Builder<'a> = Builder<'a>;
    }
    impl ::capnp::traits::Pipelined for Owned {
        type Pipeline = Pipeline;
    }

    pub struct Reader<'a> {
        reader: ::capnp::private::layout::StructReader<'a>,
    }
    impl ::core::marker::Copy for Reader<'_> {}
    impl ::core::clone::Clone for Reader<'_> {
        fn clone(&self) -> Self {
            *self
        }
    }

    impl ::capnp::traits::HasTypeId for Reader<'_> {
        const TYPE_ID: u64 = _private::TYPE_ID;
    }
    impl<'a> ::core::convert::From<::capnp::private::layout::StructReader<'a>> for Reader<'a> {
        fn from(reader: ::capnp::private::layout::StructReader<'a>) -> Self {
            Self { reader }
        }
    }

    impl<'a> ::core::convert::From<Reader<'a>> for ::capnp::dynamic_value::Reader<'a> {
        fn from(reader: Reader<'a>) -> Self {
            Self::Struct(::capnp::dynamic_struct::Reader::new(
                reader.reader,
                ::capnp::schema::StructSchema::new(::capnp::introspect::RawBrandedStructSchema {
                    generic: &_private::RAW_SCHEMA,
                    field_types: _private::get_field_types,
                    annotation_types: _private::get_annotation_types,
                }),
            ))
        }
    }

    impl ::core::fmt::Debug for Reader<'_> {
        fn fmt(
            &self,
            f: &mut ::core::fmt::Formatter<'_>,
        ) -> ::core::result::Result<(), ::core::fmt::Error> {
            core::fmt::Debug::fmt(
                &::core::convert::Into::<::capnp::dynamic_value::Reader<'_>>::into(*self),
                f,
            )
        }
    }

    impl<'a> ::capnp::traits::FromPointerReader<'a> for Reader<'a> {
        fn get_from_pointer(
            reader: &::capnp::private::layout::PointerReader<'a>,
            default: ::core::option::Option<&'a [::capnp::Word]>,
        ) -> ::capnp::Result<Self> {
            ::core::result::Result::Ok(reader.get_struct(default)?.into())
        }
    }

    impl<'a> ::capnp::traits::IntoInternalStructReader<'a> for Reader<'a> {
        fn into_internal_struct_reader(self) -> ::capnp::private::layout::StructReader<'a> {
            self.reader
        }
    }

    impl<'a> ::capnp::traits::Imbue<'a> for Reader<'a> {
        fn imbue(&mut self, cap_table: &'a ::capnp::private::layout::CapTable) {
            self.reader
                .imbue(::capnp::private::layout::CapTableReader::Plain(cap_table))
        }
    }

    impl<'a> Reader<'a> {
        pub fn reborrow(&self) -> Reader<'_> {
            Self { ..*self }
        }

        pub fn total_size(&self) -> ::capnp::Result<::capnp::MessageSize> {
            self.reader.total_size()
        }
        #[inline]
        pub fn has_promised_answer(&self) -> bool {
            if self.reader.get_data_field::<u16>(2) != 1 {
                return false;
            }
            !self.reader.get_pointer_field(0).is_null()
        }
        #[inline]
        pub fn which(self) -> ::core::result::Result<WhichReader<'a>, ::capnp::NotInSchema> {
            match self.reader.get_data_field::<u16>(2) {
                0 => ::core::result::Result::Ok(ImportedCap(self.reader.get_data_field::<u32>(0))),
                1 => ::core::result::Result::Ok(PromisedAnswer(
                    ::capnp::traits::FromPointerReader::get_from_pointer(
                        &self.reader.get_pointer_field(0),
                        ::core::option::Option::None,
                    ),
                )),
                x => ::core::result::Result::Err(::capnp::NotInSchema(x)),
            }
        }
    }

    pub struct Builder<'a> {
        builder: ::capnp::private::layout::StructBuilder<'a>,
    }
    impl ::capnp::traits::HasStructSize for Builder<'_> {
        const STRUCT_SIZE: ::capnp::private::layout::StructSize =
            ::capnp::private::layout::StructSize {
                data: 1,
                pointers: 1,
            };
    }
    impl ::capnp::traits::HasTypeId for Builder<'_> {
        const TYPE_ID: u64 = _private::TYPE_ID;
    }
    impl<'a> ::core::convert::From<::capnp::private::layout::StructBuilder<'a>> for Builder<'a> {
        fn from(builder: ::capnp::private::layout::StructBuilder<'a>) -> Self {
            Self { builder }
        }
    }

    impl<'a> ::core::convert::From<Builder<'a>> for ::capnp::dynamic_value::Builder<'a> {
        fn from(builder: Builder<'a>) -> Self {
            Self::Struct(::capnp::dynamic_struct::Builder::new(
                builder.builder,
                ::capnp::schema::StructSchema::new(::capnp::introspect::RawBrandedStructSchema {
                    generic: &_private::RAW_SCHEMA,
                    field_types: _private::get_field_types,
                    annotation_types: _private::get_annotation_types,
                }),
            ))
        }
    }

    impl<'a> ::capnp::traits::ImbueMut<'a> for Builder<'a> {
        fn imbue_mut(&mut self, cap_table: &'a mut ::capnp::private::layout::CapTable) {
            self.builder
                .imbue(::capnp::private::layout::CapTableBuilder::Plain(cap_table))
        }
    }

    impl<'a> ::capnp::traits::FromPointerBuilder<'a> for Builder<'a> {
        fn init_pointer(builder: ::capnp::private::layout::PointerBuilder<'a>, _size: u32) -> Self {
            builder
                .init_struct(<Self as ::capnp::traits::HasStructSize>::STRUCT_SIZE)
                .into()
        }
        fn get_from_pointer(
            builder: ::capnp::private::layout::PointerBuilder<'a>,
            default: ::core::option::Option<&'a [::capnp::Word]>,
        ) -> ::capnp::Result<Self> {
            ::core::result::Result::Ok(
                builder
                    .get_struct(
                        <Self as ::capnp::traits::HasStructSize>::STRUCT_SIZE,
                        default,
                    )?
                    .into(),
            )
        }
    }

    impl ::capnp::traits::SetterInput<Owned> for Reader<'_> {
        fn set_pointer_builder(
            mut pointer: ::capnp::private::layout::PointerBuilder<'_>,
            value: Self,
            canonicalize: bool,
        ) -> ::capnp::Result<()> {
            pointer.set_struct(&value.reader, canonicalize)
        }
    }

    impl<'a> Builder<'a> {
        pub fn into_reader(self) -> Reader<'a> {
            self.builder.into_reader().into()
        }
        pub fn reborrow(&mut self) -> Builder<'_> {
            Builder {
                builder: self.builder.reborrow(),
            }
        }
        pub fn reborrow_as_reader(&self) -> Reader<'_> {
            self.builder.as_reader().into()
        }

        pub fn total_size(&self) -> ::capnp::Result<::capnp::MessageSize> {
            self.builder.as_reader().total_size()
        }
        #[inline]
        pub fn set_imported_cap(&mut self, value: u32) {
            self.builder.set_data_field::<u16>(2, 0);
            self.builder.set_data_field::<u32>(0, value);
        }
        #[inline]
        pub fn set_promised_answer(
            &mut self,
            value: crate::rpc_capnp::promised_answer::Reader<'_>,
        ) -> ::capnp::Result<()> {
            self.builder.set_data_field::<u16>(2, 1);
            ::capnp::traits::SetterInput::set_pointer_builder(
                self.builder.reborrow().get_pointer_field(0),
                value,
                false,
            )
        }
        #[inline]
        pub fn init_promised_answer(self) -> crate::rpc_capnp::promised_answer::Builder<'a> {
            self.builder.set_data_field::<u16>(2, 1);
            ::capnp::traits::FromPointerBuilder::init_pointer(self.builder.get_pointer_field(0), 0)
        }
        #[inline]
        pub fn has_promised_answer(&self) -> bool {
            if self.builder.get_data_field::<u16>(2) != 1 {
                return false;
            }
            !self.builder.is_pointer_field_null(0)
        }
        #[inline]
        pub fn which(self) -> ::core::result::Result<WhichBuilder<'a>, ::capnp::NotInSchema> {
            match self.builder.get_data_field::<u16>(2) {
                0 => ::core::result::Result::Ok(ImportedCap(self.builder.get_data_field::<u32>(0))),
                1 => ::core::result::Result::Ok(PromisedAnswer(
                    ::capnp::traits::FromPointerBuilder::get_from_pointer(
                        self.builder.get_pointer_field(0),
                        ::core::option::Option::None,
                    ),
                )),
                x => ::core::result::Result::Err(::capnp::NotInSchema(x)),
            }
        }
    }

    pub struct Pipeline {
        _typeless: ::capnp::any_pointer::Pipeline,
    }
    impl ::capnp::capability::FromTypelessPipeline for Pipeline {
        fn new(typeless: ::capnp::any_pointer::Pipeline) -> Self {
            Self {
                _typeless: typeless,
            }
        }
    }
    impl Pipeline {}
    mod _private {
        pub(crate) static ENCODED_NODE: [::capnp::Word; 49] = [
            ::capnp::word(0, 0, 0, 0, 5, 0, 6, 0),
            ::capnp::word(193, 251, 19, 88, 84, 20, 188, 149),
            ::capnp::word(10, 0, 0, 0, 1, 0, 1, 0),
            ::capnp::word(80, 162, 82, 37, 27, 152, 18, 179),
            ::capnp::word(1, 0, 7, 0, 0, 0, 2, 0),
            ::capnp::word(2, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(21, 0, 0, 0, 194, 0, 0, 0),
            ::capnp::word(29, 0, 0, 0, 7, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(25, 0, 0, 0, 119, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(114, 112, 99, 46, 99, 97, 112, 110),
            ::capnp::word(112, 58, 77, 101, 115, 115, 97, 103),
            ::capnp::word(101, 84, 97, 114, 103, 101, 116, 0),
            ::capnp::word(0, 0, 0, 0, 1, 0, 1, 0),
            ::capnp::word(8, 0, 0, 0, 3, 0, 4, 0),
            ::capnp::word(0, 0, 255, 255, 0, 0, 0, 0),
            ::capnp::word(0, 0, 1, 0, 0, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(41, 0, 0, 0, 98, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(40, 0, 0, 0, 3, 0, 1, 0),
            ::capnp::word(52, 0, 0, 0, 2, 0, 1, 0),
            ::capnp::word(1, 0, 254, 255, 0, 0, 0, 0),
            ::capnp::word(0, 0, 1, 0, 1, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(49, 0, 0, 0, 122, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(48, 0, 0, 0, 3, 0, 1, 0),
            ::capnp::word(60, 0, 0, 0, 2, 0, 1, 0),
            ::capnp::word(105, 109, 112, 111, 114, 116, 101, 100),
            ::capnp::word(67, 97, 112, 0, 0, 0, 0, 0),
            ::capnp::word(8, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(8, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(112, 114, 111, 109, 105, 115, 101, 100),
            ::capnp::word(65, 110, 115, 119, 101, 114, 0, 0),
            ::capnp::word(16, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(160, 28, 111, 205, 214, 177, 0, 216),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(16, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
        ];
        pub(crate) fn get_field_types(index: u16) -> ::capnp::introspect::Type {
            match index {
                0 => <u32 as ::capnp::introspect::Introspect>::introspect(),
                1 => <crate::rpc_capnp::promised_answer::Owned as ::capnp::introspect::Introspect>::introspect(),
                _ => ::capnp::introspect::panic_invalid_field_index(index),
            }
        }
        pub(crate) fn get_annotation_types(
            child_index: Option<u16>,
            index: u32,
        ) -> ::capnp::introspect::Type {
            ::capnp::introspect::panic_invalid_annotation_indices(child_index, index)
        }
        pub(crate) static ARENA: ::capnp::private::arena::GeneratedCodeArena =
            ::capnp::private::arena::GeneratedCodeArena::new(&ENCODED_NODE);
        pub(crate) static RAW_SCHEMA: ::capnp::introspect::RawStructSchema =
            ::capnp::introspect::RawStructSchema::new(
                &ARENA,
                NONUNION_MEMBERS,
                MEMBERS_BY_DISCRIMINANT,
                MEMBERS_BY_NAME,
            );
        pub(crate) static NONUNION_MEMBERS: &[u16] = &[];
        pub(crate) static MEMBERS_BY_DISCRIMINANT: &[u16] = &[0, 1];
        pub(crate) static MEMBERS_BY_NAME: &[u16] = &[0, 1];
        pub(crate) const TYPE_ID: u64 = 0x95bc_1454_5813_fbc1;
    }
    pub enum Which<A0> {
        ImportedCap(u32),
        PromisedAnswer(A0),
    }
    pub type WhichReader<'a> =
        Which<::capnp::Result<crate::rpc_capnp::promised_answer::Reader<'a>>>;
    pub type WhichBuilder<'a> =
        Which<::capnp::Result<crate::rpc_capnp::promised_answer::Builder<'a>>>;
}

pub mod payload {
    #[derive(Copy, Clone)]
    pub struct Owned(());
    impl ::capnp::introspect::Introspect for Owned {
        fn introspect() -> ::capnp::introspect::Type {
            ::capnp::introspect::TypeVariant::Struct(::capnp::introspect::RawBrandedStructSchema {
                generic: &_private::RAW_SCHEMA,
                field_types: _private::get_field_types,
                annotation_types: _private::get_annotation_types,
            })
            .into()
        }
    }
    impl ::capnp::traits::Owned for Owned {
        type Reader<'a> = Reader<'a>;
        type Builder<'a> = Builder<'a>;
    }
    impl ::capnp::traits::OwnedStruct for Owned {
        type Reader<'a> = Reader<'a>;
        type Builder<'a> = Builder<'a>;
    }
    impl ::capnp::traits::Pipelined for Owned {
        type Pipeline = Pipeline;
    }

    pub struct Reader<'a> {
        reader: ::capnp::private::layout::StructReader<'a>,
    }
    impl ::core::marker::Copy for Reader<'_> {}
    impl ::core::clone::Clone for Reader<'_> {
        fn clone(&self) -> Self {
            *self
        }
    }

    impl ::capnp::traits::HasTypeId for Reader<'_> {
        const TYPE_ID: u64 = _private::TYPE_ID;
    }
    impl<'a> ::core::convert::From<::capnp::private::layout::StructReader<'a>> for Reader<'a> {
        fn from(reader: ::capnp::private::layout::StructReader<'a>) -> Self {
            Self { reader }
        }
    }

    impl<'a> ::core::convert::From<Reader<'a>> for ::capnp::dynamic_value::Reader<'a> {
        fn from(reader: Reader<'a>) -> Self {
            Self::Struct(::capnp::dynamic_struct::Reader::new(
                reader.reader,
                ::capnp::schema::StructSchema::new(::capnp::introspect::RawBrandedStructSchema {
                    generic: &_private::RAW_SCHEMA,
                    field_types: _private::get_field_types,
                    annotation_types: _private::get_annotation_types,
                }),
            ))
        }
    }

    impl ::core::fmt::Debug for Reader<'_> {
        fn fmt(
            &self,
            f: &mut ::core::fmt::Formatter<'_>,
        ) -> ::core::result::Result<(), ::core::fmt::Error> {
            core::fmt::Debug::fmt(
                &::core::convert::Into::<::capnp::dynamic_value::Reader<'_>>::into(*self),
                f,
            )
        }
    }

    impl<'a> ::capnp::traits::FromPointerReader<'a> for Reader<'a> {
        fn get_from_pointer(
            reader: &::capnp::private::layout::PointerReader<'a>,
            default: ::core::option::Option<&'a [::capnp::Word]>,
        ) -> ::capnp::Result<Self> {
            ::core::result::Result::Ok(reader.get_struct(default)?.into())
        }
    }

    impl<'a> ::capnp::traits::IntoInternalStructReader<'a> for Reader<'a> {
        fn into_internal_struct_reader(self) -> ::capnp::private::layout::StructReader<'a> {
            self.reader
        }
    }

    impl<'a> ::capnp::traits::Imbue<'a> for Reader<'a> {
        fn imbue(&mut self, cap_table: &'a ::capnp::private::layout::CapTable) {
            self.reader
                .imbue(::capnp::private::layout::CapTableReader::Plain(cap_table))
        }
    }

    impl<'a> Reader<'a> {
        pub fn reborrow(&self) -> Reader<'_> {
            Self { ..*self }
        }

        pub fn total_size(&self) -> ::capnp::Result<::capnp::MessageSize> {
            self.reader.total_size()
        }
        #[inline]
        pub fn get_content(self) -> ::capnp::any_pointer::Reader<'a> {
            ::capnp::any_pointer::Reader::new(self.reader.get_pointer_field(0))
        }
        #[inline]
        pub fn has_content(&self) -> bool {
            !self.reader.get_pointer_field(0).is_null()
        }
        #[inline]
        pub fn get_cap_table(
            self,
        ) -> ::capnp::Result<
            ::capnp::struct_list::Reader<'a, crate::rpc_capnp::cap_descriptor::Owned>,
        > {
            ::capnp::traits::FromPointerReader::get_from_pointer(
                &self.reader.get_pointer_field(1),
                ::core::option::Option::None,
            )
        }
        #[inline]
        pub fn has_cap_table(&self) -> bool {
            !self.reader.get_pointer_field(1).is_null()
        }
    }

    pub struct Builder<'a> {
        builder: ::capnp::private::layout::StructBuilder<'a>,
    }
    impl ::capnp::traits::HasStructSize for Builder<'_> {
        const STRUCT_SIZE: ::capnp::private::layout::StructSize =
            ::capnp::private::layout::StructSize {
                data: 0,
                pointers: 2,
            };
    }
    impl ::capnp::traits::HasTypeId for Builder<'_> {
        const TYPE_ID: u64 = _private::TYPE_ID;
    }
    impl<'a> ::core::convert::From<::capnp::private::layout::StructBuilder<'a>> for Builder<'a> {
        fn from(builder: ::capnp::private::layout::StructBuilder<'a>) -> Self {
            Self { builder }
        }
    }

    impl<'a> ::core::convert::From<Builder<'a>> for ::capnp::dynamic_value::Builder<'a> {
        fn from(builder: Builder<'a>) -> Self {
            Self::Struct(::capnp::dynamic_struct::Builder::new(
                builder.builder,
                ::capnp::schema::StructSchema::new(::capnp::introspect::RawBrandedStructSchema {
                    generic: &_private::RAW_SCHEMA,
                    field_types: _private::get_field_types,
                    annotation_types: _private::get_annotation_types,
                }),
            ))
        }
    }

    impl<'a> ::capnp::traits::ImbueMut<'a> for Builder<'a> {
        fn imbue_mut(&mut self, cap_table: &'a mut ::capnp::private::layout::CapTable) {
            self.builder
                .imbue(::capnp::private::layout::CapTableBuilder::Plain(cap_table))
        }
    }

    impl<'a> ::capnp::traits::FromPointerBuilder<'a> for Builder<'a> {
        fn init_pointer(builder: ::capnp::private::layout::PointerBuilder<'a>, _size: u32) -> Self {
            builder
                .init_struct(<Self as ::capnp::traits::HasStructSize>::STRUCT_SIZE)
                .into()
        }
        fn get_from_pointer(
            builder: ::capnp::private::layout::PointerBuilder<'a>,
            default: ::core::option::Option<&'a [::capnp::Word]>,
        ) -> ::capnp::Result<Self> {
            ::core::result::Result::Ok(
                builder
                    .get_struct(
                        <Self as ::capnp::traits::HasStructSize>::STRUCT_SIZE,
                        default,
                    )?
                    .into(),
            )
        }
    }

    impl ::capnp::traits::SetterInput<Owned> for Reader<'_> {
        fn set_pointer_builder(
            mut pointer: ::capnp::private::layout::PointerBuilder<'_>,
            value: Self,
            canonicalize: bool,
        ) -> ::capnp::Result<()> {
            pointer.set_struct(&value.reader, canonicalize)
        }
    }

    impl<'a> Builder<'a> {
        pub fn into_reader(self) -> Reader<'a> {
            self.builder.into_reader().into()
        }
        pub fn reborrow(&mut self) -> Builder<'_> {
            Builder {
                builder: self.builder.reborrow(),
            }
        }
        pub fn reborrow_as_reader(&self) -> Reader<'_> {
            self.builder.as_reader().into()
        }

        pub fn total_size(&self) -> ::capnp::Result<::capnp::MessageSize> {
            self.builder.as_reader().total_size()
        }
        #[inline]
        pub fn get_content(self) -> ::capnp::any_pointer::Builder<'a> {
            ::capnp::any_pointer::Builder::new(self.builder.get_pointer_field(0))
        }
        #[inline]
        pub fn init_content(self) -> ::capnp::any_pointer::Builder<'a> {
            let mut result = ::capnp::any_pointer::Builder::new(self.builder.get_pointer_field(0));
            result.clear();
            result
        }
        #[inline]
        pub fn has_content(&self) -> bool {
            !self.builder.is_pointer_field_null(0)
        }
        #[inline]
        pub fn get_cap_table(
            self,
        ) -> ::capnp::Result<
            ::capnp::struct_list::Builder<'a, crate::rpc_capnp::cap_descriptor::Owned>,
        > {
            ::capnp::traits::FromPointerBuilder::get_from_pointer(
                self.builder.get_pointer_field(1),
                ::core::option::Option::None,
            )
        }
        #[inline]
        pub fn set_cap_table(
            &mut self,
            value: ::capnp::struct_list::Reader<'_, crate::rpc_capnp::cap_descriptor::Owned>,
        ) -> ::capnp::Result<()> {
            ::capnp::traits::SetterInput::set_pointer_builder(
                self.builder.reborrow().get_pointer_field(1),
                value,
                false,
            )
        }
        #[inline]
        pub fn init_cap_table(
            self,
            size: u32,
        ) -> ::capnp::struct_list::Builder<'a, crate::rpc_capnp::cap_descriptor::Owned> {
            ::capnp::traits::FromPointerBuilder::init_pointer(
                self.builder.get_pointer_field(1),
                size,
            )
        }
        #[inline]
        pub fn has_cap_table(&self) -> bool {
            !self.builder.is_pointer_field_null(1)
        }
    }

    pub struct Pipeline {
        _typeless: ::capnp::any_pointer::Pipeline,
    }
    impl ::capnp::capability::FromTypelessPipeline for Pipeline {
        fn new(typeless: ::capnp::any_pointer::Pipeline) -> Self {
            Self {
                _typeless: typeless,
            }
        }
    }
    impl Pipeline {
        pub fn get_content(&self) -> ::capnp::any_pointer::Pipeline {
            ::capnp::capability::FromTypelessPipeline::new(self._typeless.get_pointer_field(0))
        }
    }
    mod _private {
        pub(crate) static ENCODED_NODE: [::capnp::Word; 52] = [
            ::capnp::word(0, 0, 0, 0, 5, 0, 6, 0),
            ::capnp::word(59, 116, 150, 61, 34, 97, 14, 154),
            ::capnp::word(10, 0, 0, 0, 1, 0, 0, 0),
            ::capnp::word(80, 162, 82, 37, 27, 152, 18, 179),
            ::capnp::word(2, 0, 7, 0, 0, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(21, 0, 0, 0, 146, 0, 0, 0),
            ::capnp::word(29, 0, 0, 0, 7, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(25, 0, 0, 0, 119, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(114, 112, 99, 46, 99, 97, 112, 110),
            ::capnp::word(112, 58, 80, 97, 121, 108, 111, 97),
            ::capnp::word(100, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 1, 0, 1, 0),
            ::capnp::word(8, 0, 0, 0, 3, 0, 4, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(0, 0, 1, 0, 0, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(41, 0, 0, 0, 66, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(36, 0, 0, 0, 3, 0, 1, 0),
            ::capnp::word(48, 0, 0, 0, 2, 0, 1, 0),
            ::capnp::word(1, 0, 0, 0, 1, 0, 0, 0),
            ::capnp::word(0, 0, 1, 0, 1, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(45, 0, 0, 0, 74, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(44, 0, 0, 0, 3, 0, 1, 0),
            ::capnp::word(72, 0, 0, 0, 2, 0, 1, 0),
            ::capnp::word(99, 111, 110, 116, 101, 110, 116, 0),
            ::capnp::word(18, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(18, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(99, 97, 112, 84, 97, 98, 108, 101),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(14, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 3, 0, 1, 0),
            ::capnp::word(16, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(176, 184, 134, 11, 196, 221, 35, 133),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(14, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
        ];
        pub(crate) fn get_field_types(index: u16) -> ::capnp::introspect::Type {
            match index {
                0 => <::capnp::any_pointer::Owned as ::capnp::introspect::Introspect>::introspect(),
                1 => <::capnp::struct_list::Owned<crate::rpc_capnp::cap_descriptor::Owned> as ::capnp::introspect::Introspect>::introspect(),
                _ => ::capnp::introspect::panic_invalid_field_index(index),
            }
        }
        pub(crate) fn get_annotation_types(
            child_index: Option<u16>,
            index: u32,
        ) -> ::capnp::introspect::Type {
            ::capnp::introspect::panic_invalid_annotation_indices(child_index, index)
        }
        pub(crate) static ARENA: ::capnp::private::arena::GeneratedCodeArena =
            ::capnp::private::arena::GeneratedCodeArena::new(&ENCODED_NODE);
        pub(crate) static RAW_SCHEMA: ::capnp::introspect::RawStructSchema =
            ::capnp::introspect::RawStructSchema::new(
                &ARENA,
                NONUNION_MEMBERS,
                MEMBERS_BY_DISCRIMINANT,
                MEMBERS_BY_NAME,
            );
        pub(crate) static NONUNION_MEMBERS: &[u16] = &[0, 1];
        pub(crate) static MEMBERS_BY_DISCRIMINANT: &[u16] = &[];
        pub(crate) static MEMBERS_BY_NAME: &[u16] = &[1, 0];
        pub(crate) const TYPE_ID: u64 = 0x9a0e_6122_3d96_743b;
    }
}

pub mod cap_descriptor {
    pub use self::Which::{
        None, ReceiverAnswer, ReceiverHosted, SenderHosted, SenderPromise, ThirdPartyHosted,
    };

    #[derive(Copy, Clone)]
    pub struct Owned(());
    impl ::capnp::introspect::Introspect for Owned {
        fn introspect() -> ::capnp::introspect::Type {
            ::capnp::introspect::TypeVariant::Struct(::capnp::introspect::RawBrandedStructSchema {
                generic: &_private::RAW_SCHEMA,
                field_types: _private::get_field_types,
                annotation_types: _private::get_annotation_types,
            })
            .into()
        }
    }
    impl ::capnp::traits::Owned for Owned {
        type Reader<'a> = Reader<'a>;
        type Builder<'a> = Builder<'a>;
    }
    impl ::capnp::traits::OwnedStruct for Owned {
        type Reader<'a> = Reader<'a>;
        type Builder<'a> = Builder<'a>;
    }
    impl ::capnp::traits::Pipelined for Owned {
        type Pipeline = Pipeline;
    }

    pub struct Reader<'a> {
        reader: ::capnp::private::layout::StructReader<'a>,
    }
    impl ::core::marker::Copy for Reader<'_> {}
    impl ::core::clone::Clone for Reader<'_> {
        fn clone(&self) -> Self {
            *self
        }
    }

    impl ::capnp::traits::HasTypeId for Reader<'_> {
        const TYPE_ID: u64 = _private::TYPE_ID;
    }
    impl<'a> ::core::convert::From<::capnp::private::layout::StructReader<'a>> for Reader<'a> {
        fn from(reader: ::capnp::private::layout::StructReader<'a>) -> Self {
            Self { reader }
        }
    }

    impl<'a> ::core::convert::From<Reader<'a>> for ::capnp::dynamic_value::Reader<'a> {
        fn from(reader: Reader<'a>) -> Self {
            Self::Struct(::capnp::dynamic_struct::Reader::new(
                reader.reader,
                ::capnp::schema::StructSchema::new(::capnp::introspect::RawBrandedStructSchema {
                    generic: &_private::RAW_SCHEMA,
                    field_types: _private::get_field_types,
                    annotation_types: _private::get_annotation_types,
                }),
            ))
        }
    }

    impl ::core::fmt::Debug for Reader<'_> {
        fn fmt(
            &self,
            f: &mut ::core::fmt::Formatter<'_>,
        ) -> ::core::result::Result<(), ::core::fmt::Error> {
            core::fmt::Debug::fmt(
                &::core::convert::Into::<::capnp::dynamic_value::Reader<'_>>::into(*self),
                f,
            )
        }
    }

    impl<'a> ::capnp::traits::FromPointerReader<'a> for Reader<'a> {
        fn get_from_pointer(
            reader: &::capnp::private::layout::PointerReader<'a>,
            default: ::core::option::Option<&'a [::capnp::Word]>,
        ) -> ::capnp::Result<Self> {
            ::core::result::Result::Ok(reader.get_struct(default)?.into())
        }
    }

    impl<'a> ::capnp::traits::IntoInternalStructReader<'a> for Reader<'a> {
        fn into_internal_struct_reader(self) -> ::capnp::private::layout::StructReader<'a> {
            self.reader
        }
    }

    impl<'a> ::capnp::traits::Imbue<'a> for Reader<'a> {
        fn imbue(&mut self, cap_table: &'a ::capnp::private::layout::CapTable) {
            self.reader
                .imbue(::capnp::private::layout::CapTableReader::Plain(cap_table))
        }
    }

    impl<'a> Reader<'a> {
        pub fn reborrow(&self) -> Reader<'_> {
            Self { ..*self }
        }

        pub fn total_size(&self) -> ::capnp::Result<::capnp::MessageSize> {
            self.reader.total_size()
        }
        #[inline]
        pub fn has_receiver_answer(&self) -> bool {
            if self.reader.get_data_field::<u16>(0) != 4 {
                return false;
            }
            !self.reader.get_pointer_field(0).is_null()
        }
        #[inline]
        pub fn has_third_party_hosted(&self) -> bool {
            if self.reader.get_data_field::<u16>(0) != 5 {
                return false;
            }
            !self.reader.get_pointer_field(0).is_null()
        }
        #[inline]
        pub fn get_attached_fd(self) -> u8 {
            self.reader.get_data_field_mask::<u8>(2, 255)
        }
        #[inline]
        pub fn which(self) -> ::core::result::Result<WhichReader<'a>, ::capnp::NotInSchema> {
            match self.reader.get_data_field::<u16>(0) {
                0 => ::core::result::Result::Ok(None(())),
                1 => ::core::result::Result::Ok(SenderHosted(self.reader.get_data_field::<u32>(1))),
                2 => {
                    ::core::result::Result::Ok(SenderPromise(self.reader.get_data_field::<u32>(1)))
                }
                3 => {
                    ::core::result::Result::Ok(ReceiverHosted(self.reader.get_data_field::<u32>(1)))
                }
                4 => ::core::result::Result::Ok(ReceiverAnswer(
                    ::capnp::traits::FromPointerReader::get_from_pointer(
                        &self.reader.get_pointer_field(0),
                        ::core::option::Option::None,
                    ),
                )),
                5 => ::core::result::Result::Ok(ThirdPartyHosted(
                    ::capnp::traits::FromPointerReader::get_from_pointer(
                        &self.reader.get_pointer_field(0),
                        ::core::option::Option::None,
                    ),
                )),
                x => ::core::result::Result::Err(::capnp::NotInSchema(x)),
            }
        }
    }

    pub struct Builder<'a> {
        builder: ::capnp::private::layout::StructBuilder<'a>,
    }
    impl ::capnp::traits::HasStructSize for Builder<'_> {
        const STRUCT_SIZE: ::capnp::private::layout::StructSize =
            ::capnp::private::layout::StructSize {
                data: 1,
                pointers: 1,
            };
    }
    impl ::capnp::traits::HasTypeId for Builder<'_> {
        const TYPE_ID: u64 = _private::TYPE_ID;
    }
    impl<'a> ::core::convert::From<::capnp::private::layout::StructBuilder<'a>> for Builder<'a> {
        fn from(builder: ::capnp::private::layout::StructBuilder<'a>) -> Self {
            Self { builder }
        }
    }

    impl<'a> ::core::convert::From<Builder<'a>> for ::capnp::dynamic_value::Builder<'a> {
        fn from(builder: Builder<'a>) -> Self {
            Self::Struct(::capnp::dynamic_struct::Builder::new(
                builder.builder,
                ::capnp::schema::StructSchema::new(::capnp::introspect::RawBrandedStructSchema {
                    generic: &_private::RAW_SCHEMA,
                    field_types: _private::get_field_types,
                    annotation_types: _private::get_annotation_types,
                }),
            ))
        }
    }

    impl<'a> ::capnp::traits::ImbueMut<'a> for Builder<'a> {
        fn imbue_mut(&mut self, cap_table: &'a mut ::capnp::private::layout::CapTable) {
            self.builder
                .imbue(::capnp::private::layout::CapTableBuilder::Plain(cap_table))
        }
    }

    impl<'a> ::capnp::traits::FromPointerBuilder<'a> for Builder<'a> {
        fn init_pointer(builder: ::capnp::private::layout::PointerBuilder<'a>, _size: u32) -> Self {
            builder
                .init_struct(<Self as ::capnp::traits::HasStructSize>::STRUCT_SIZE)
                .into()
        }
        fn get_from_pointer(
            builder: ::capnp::private::layout::PointerBuilder<'a>,
            default: ::core::option::Option<&'a [::capnp::Word]>,
        ) -> ::capnp::Result<Self> {
            ::core::result::Result::Ok(
                builder
                    .get_struct(
                        <Self as ::capnp::traits::HasStructSize>::STRUCT_SIZE,
                        default,
                    )?
                    .into(),
            )
        }
    }

    impl ::capnp::traits::SetterInput<Owned> for Reader<'_> {
        fn set_pointer_builder(
            mut pointer: ::capnp::private::layout::PointerBuilder<'_>,
            value: Self,
            canonicalize: bool,
        ) -> ::capnp::Result<()> {
            pointer.set_struct(&value.reader, canonicalize)
        }
    }

    impl<'a> Builder<'a> {
        pub fn into_reader(self) -> Reader<'a> {
            self.builder.into_reader().into()
        }
        pub fn reborrow(&mut self) -> Builder<'_> {
            Builder {
                builder: self.builder.reborrow(),
            }
        }
        pub fn reborrow_as_reader(&self) -> Reader<'_> {
            self.builder.as_reader().into()
        }

        pub fn total_size(&self) -> ::capnp::Result<::capnp::MessageSize> {
            self.builder.as_reader().total_size()
        }
        #[inline]
        pub fn set_none(&mut self, _value: ()) {
            self.builder.set_data_field::<u16>(0, 0);
        }
        #[inline]
        pub fn set_sender_hosted(&mut self, value: u32) {
            self.builder.set_data_field::<u16>(0, 1);
            self.builder.set_data_field::<u32>(1, value);
        }
        #[inline]
        pub fn set_sender_promise(&mut self, value: u32) {
            self.builder.set_data_field::<u16>(0, 2);
            self.builder.set_data_field::<u32>(1, value);
        }
        #[inline]
        pub fn set_receiver_hosted(&mut self, value: u32) {
            self.builder.set_data_field::<u16>(0, 3);
            self.builder.set_data_field::<u32>(1, value);
        }
        #[inline]
        pub fn set_receiver_answer(
            &mut self,
            value: crate::rpc_capnp::promised_answer::Reader<'_>,
        ) -> ::capnp::Result<()> {
            self.builder.set_data_field::<u16>(0, 4);
            ::capnp::traits::SetterInput::set_pointer_builder(
                self.builder.reborrow().get_pointer_field(0),
                value,
                false,
            )
        }
        #[inline]
        pub fn init_receiver_answer(self) -> crate::rpc_capnp::promised_answer::Builder<'a> {
            self.builder.set_data_field::<u16>(0, 4);
            ::capnp::traits::FromPointerBuilder::init_pointer(self.builder.get_pointer_field(0), 0)
        }
        #[inline]
        pub fn has_receiver_answer(&self) -> bool {
            if self.builder.get_data_field::<u16>(0) != 4 {
                return false;
            }
            !self.builder.is_pointer_field_null(0)
        }
        #[inline]
        pub fn set_third_party_hosted(
            &mut self,
            value: crate::rpc_capnp::third_party_cap_descriptor::Reader<'_>,
        ) -> ::capnp::Result<()> {
            self.builder.set_data_field::<u16>(0, 5);
            ::capnp::traits::SetterInput::set_pointer_builder(
                self.builder.reborrow().get_pointer_field(0),
                value,
                false,
            )
        }
        #[inline]
        pub fn init_third_party_hosted(
            self,
        ) -> crate::rpc_capnp::third_party_cap_descriptor::Builder<'a> {
            self.builder.set_data_field::<u16>(0, 5);
            ::capnp::traits::FromPointerBuilder::init_pointer(self.builder.get_pointer_field(0), 0)
        }
        #[inline]
        pub fn has_third_party_hosted(&self) -> bool {
            if self.builder.get_data_field::<u16>(0) != 5 {
                return false;
            }
            !self.builder.is_pointer_field_null(0)
        }
        #[inline]
        pub fn get_attached_fd(self) -> u8 {
            self.builder.get_data_field_mask::<u8>(2, 255)
        }
        #[inline]
        pub fn set_attached_fd(&mut self, value: u8) {
            self.builder.set_data_field_mask::<u8>(2, value, 255);
        }
        #[inline]
        pub fn which(self) -> ::core::result::Result<WhichBuilder<'a>, ::capnp::NotInSchema> {
            match self.builder.get_data_field::<u16>(0) {
                0 => ::core::result::Result::Ok(None(())),
                1 => {
                    ::core::result::Result::Ok(SenderHosted(self.builder.get_data_field::<u32>(1)))
                }
                2 => {
                    ::core::result::Result::Ok(SenderPromise(self.builder.get_data_field::<u32>(1)))
                }
                3 => ::core::result::Result::Ok(ReceiverHosted(
                    self.builder.get_data_field::<u32>(1),
                )),
                4 => ::core::result::Result::Ok(ReceiverAnswer(
                    ::capnp::traits::FromPointerBuilder::get_from_pointer(
                        self.builder.get_pointer_field(0),
                        ::core::option::Option::None,
                    ),
                )),
                5 => ::core::result::Result::Ok(ThirdPartyHosted(
                    ::capnp::traits::FromPointerBuilder::get_from_pointer(
                        self.builder.get_pointer_field(0),
                        ::core::option::Option::None,
                    ),
                )),
                x => ::core::result::Result::Err(::capnp::NotInSchema(x)),
            }
        }
    }

    pub struct Pipeline {
        _typeless: ::capnp::any_pointer::Pipeline,
    }
    impl ::capnp::capability::FromTypelessPipeline for Pipeline {
        fn new(typeless: ::capnp::any_pointer::Pipeline) -> Self {
            Self {
                _typeless: typeless,
            }
        }
    }
    impl Pipeline {}
    mod _private {
        pub(crate) static ENCODED_NODE: [::capnp::Word; 129] = [
            ::capnp::word(0, 0, 0, 0, 5, 0, 6, 0),
            ::capnp::word(176, 184, 134, 11, 196, 221, 35, 133),
            ::capnp::word(10, 0, 0, 0, 1, 0, 1, 0),
            ::capnp::word(80, 162, 82, 37, 27, 152, 18, 179),
            ::capnp::word(1, 0, 7, 0, 0, 0, 6, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(21, 0, 0, 0, 194, 0, 0, 0),
            ::capnp::word(29, 0, 0, 0, 7, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(25, 0, 0, 0, 143, 1, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(114, 112, 99, 46, 99, 97, 112, 110),
            ::capnp::word(112, 58, 67, 97, 112, 68, 101, 115),
            ::capnp::word(99, 114, 105, 112, 116, 111, 114, 0),
            ::capnp::word(0, 0, 0, 0, 1, 0, 1, 0),
            ::capnp::word(28, 0, 0, 0, 3, 0, 4, 0),
            ::capnp::word(0, 0, 255, 255, 0, 0, 0, 0),
            ::capnp::word(0, 0, 1, 0, 0, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(181, 0, 0, 0, 42, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(176, 0, 0, 0, 3, 0, 1, 0),
            ::capnp::word(188, 0, 0, 0, 2, 0, 1, 0),
            ::capnp::word(1, 0, 254, 255, 1, 0, 0, 0),
            ::capnp::word(0, 0, 1, 0, 1, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(185, 0, 0, 0, 106, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(184, 0, 0, 0, 3, 0, 1, 0),
            ::capnp::word(196, 0, 0, 0, 2, 0, 1, 0),
            ::capnp::word(2, 0, 253, 255, 1, 0, 0, 0),
            ::capnp::word(0, 0, 1, 0, 2, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(193, 0, 0, 0, 114, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(192, 0, 0, 0, 3, 0, 1, 0),
            ::capnp::word(204, 0, 0, 0, 2, 0, 1, 0),
            ::capnp::word(3, 0, 252, 255, 1, 0, 0, 0),
            ::capnp::word(0, 0, 1, 0, 3, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(201, 0, 0, 0, 122, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(200, 0, 0, 0, 3, 0, 1, 0),
            ::capnp::word(212, 0, 0, 0, 2, 0, 1, 0),
            ::capnp::word(4, 0, 251, 255, 0, 0, 0, 0),
            ::capnp::word(0, 0, 1, 0, 4, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(209, 0, 0, 0, 122, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(208, 0, 0, 0, 3, 0, 1, 0),
            ::capnp::word(220, 0, 0, 0, 2, 0, 1, 0),
            ::capnp::word(5, 0, 250, 255, 0, 0, 0, 0),
            ::capnp::word(0, 0, 1, 0, 5, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(217, 0, 0, 0, 138, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(220, 0, 0, 0, 3, 0, 1, 0),
            ::capnp::word(232, 0, 0, 0, 2, 0, 1, 0),
            ::capnp::word(6, 0, 0, 0, 2, 0, 0, 0),
            ::capnp::word(0, 0, 1, 0, 6, 0, 0, 0),
            ::capnp::word(1, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(229, 0, 0, 0, 90, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(228, 0, 0, 0, 3, 0, 1, 0),
            ::capnp::word(240, 0, 0, 0, 2, 0, 1, 0),
            ::capnp::word(110, 111, 110, 101, 0, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(115, 101, 110, 100, 101, 114, 72, 111),
            ::capnp::word(115, 116, 101, 100, 0, 0, 0, 0),
            ::capnp::word(8, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(8, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(115, 101, 110, 100, 101, 114, 80, 114),
            ::capnp::word(111, 109, 105, 115, 101, 0, 0, 0),
            ::capnp::word(8, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(8, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(114, 101, 99, 101, 105, 118, 101, 114),
            ::capnp::word(72, 111, 115, 116, 101, 100, 0, 0),
            ::capnp::word(8, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(8, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(114, 101, 99, 101, 105, 118, 101, 114),
            ::capnp::word(65, 110, 115, 119, 101, 114, 0, 0),
            ::capnp::word(16, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(160, 28, 111, 205, 214, 177, 0, 216),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(16, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(116, 104, 105, 114, 100, 80, 97, 114),
            ::capnp::word(116, 121, 72, 111, 115, 116, 101, 100),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(16, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(125, 2, 240, 225, 253, 7, 112, 211),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(16, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(97, 116, 116, 97, 99, 104, 101, 100),
            ::capnp::word(70, 100, 0, 0, 0, 0, 0, 0),
            ::capnp::word(6, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(6, 0, 255, 0, 0, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
        ];
        pub(crate) fn get_field_types(index: u16) -> ::capnp::introspect::Type {
            match index {
                0 => <() as ::capnp::introspect::Introspect>::introspect(),
                1 => <u32 as ::capnp::introspect::Introspect>::introspect(),
                2 => <u32 as ::capnp::introspect::Introspect>::introspect(),
                3 => <u32 as ::capnp::introspect::Introspect>::introspect(),
                4 => <crate::rpc_capnp::promised_answer::Owned as ::capnp::introspect::Introspect>::introspect(),
                5 => <crate::rpc_capnp::third_party_cap_descriptor::Owned as ::capnp::introspect::Introspect>::introspect(),
                6 => <u8 as ::capnp::introspect::Introspect>::introspect(),
                _ => ::capnp::introspect::panic_invalid_field_index(index),
            }
        }
        pub(crate) fn get_annotation_types(
            child_index: Option<u16>,
            index: u32,
        ) -> ::capnp::introspect::Type {
            ::capnp::introspect::panic_invalid_annotation_indices(child_index, index)
        }
        pub(crate) static ARENA: ::capnp::private::arena::GeneratedCodeArena =
            ::capnp::private::arena::GeneratedCodeArena::new(&ENCODED_NODE);
        pub(crate) static RAW_SCHEMA: ::capnp::introspect::RawStructSchema =
            ::capnp::introspect::RawStructSchema::new(
                &ARENA,
                NONUNION_MEMBERS,
                MEMBERS_BY_DISCRIMINANT,
                MEMBERS_BY_NAME,
            );
        pub(crate) static NONUNION_MEMBERS: &[u16] = &[6];
        pub(crate) static MEMBERS_BY_DISCRIMINANT: &[u16] = &[0, 1, 2, 3, 4, 5];
        pub(crate) static MEMBERS_BY_NAME: &[u16] = &[6, 0, 4, 3, 1, 2, 5];
        pub(crate) const TYPE_ID: u64 = 0x8523_ddc4_0b86_b8b0;
    }
    pub enum Which<A0, A1> {
        None(()),
        SenderHosted(u32),
        SenderPromise(u32),
        ReceiverHosted(u32),
        ReceiverAnswer(A0),
        ThirdPartyHosted(A1),
    }
    pub type WhichReader<'a> = Which<
        ::capnp::Result<crate::rpc_capnp::promised_answer::Reader<'a>>,
        ::capnp::Result<crate::rpc_capnp::third_party_cap_descriptor::Reader<'a>>,
    >;
    pub type WhichBuilder<'a> = Which<
        ::capnp::Result<crate::rpc_capnp::promised_answer::Builder<'a>>,
        ::capnp::Result<crate::rpc_capnp::third_party_cap_descriptor::Builder<'a>>,
    >;
}

pub mod promised_answer {
    #[derive(Copy, Clone)]
    pub struct Owned(());
    impl ::capnp::introspect::Introspect for Owned {
        fn introspect() -> ::capnp::introspect::Type {
            ::capnp::introspect::TypeVariant::Struct(::capnp::introspect::RawBrandedStructSchema {
                generic: &_private::RAW_SCHEMA,
                field_types: _private::get_field_types,
                annotation_types: _private::get_annotation_types,
            })
            .into()
        }
    }
    impl ::capnp::traits::Owned for Owned {
        type Reader<'a> = Reader<'a>;
        type Builder<'a> = Builder<'a>;
    }
    impl ::capnp::traits::OwnedStruct for Owned {
        type Reader<'a> = Reader<'a>;
        type Builder<'a> = Builder<'a>;
    }
    impl ::capnp::traits::Pipelined for Owned {
        type Pipeline = Pipeline;
    }

    pub struct Reader<'a> {
        reader: ::capnp::private::layout::StructReader<'a>,
    }
    impl ::core::marker::Copy for Reader<'_> {}
    impl ::core::clone::Clone for Reader<'_> {
        fn clone(&self) -> Self {
            *self
        }
    }

    impl ::capnp::traits::HasTypeId for Reader<'_> {
        const TYPE_ID: u64 = _private::TYPE_ID;
    }
    impl<'a> ::core::convert::From<::capnp::private::layout::StructReader<'a>> for Reader<'a> {
        fn from(reader: ::capnp::private::layout::StructReader<'a>) -> Self {
            Self { reader }
        }
    }

    impl<'a> ::core::convert::From<Reader<'a>> for ::capnp::dynamic_value::Reader<'a> {
        fn from(reader: Reader<'a>) -> Self {
            Self::Struct(::capnp::dynamic_struct::Reader::new(
                reader.reader,
                ::capnp::schema::StructSchema::new(::capnp::introspect::RawBrandedStructSchema {
                    generic: &_private::RAW_SCHEMA,
                    field_types: _private::get_field_types,
                    annotation_types: _private::get_annotation_types,
                }),
            ))
        }
    }

    impl ::core::fmt::Debug for Reader<'_> {
        fn fmt(
            &self,
            f: &mut ::core::fmt::Formatter<'_>,
        ) -> ::core::result::Result<(), ::core::fmt::Error> {
            core::fmt::Debug::fmt(
                &::core::convert::Into::<::capnp::dynamic_value::Reader<'_>>::into(*self),
                f,
            )
        }
    }

    impl<'a> ::capnp::traits::FromPointerReader<'a> for Reader<'a> {
        fn get_from_pointer(
            reader: &::capnp::private::layout::PointerReader<'a>,
            default: ::core::option::Option<&'a [::capnp::Word]>,
        ) -> ::capnp::Result<Self> {
            ::core::result::Result::Ok(reader.get_struct(default)?.into())
        }
    }

    impl<'a> ::capnp::traits::IntoInternalStructReader<'a> for Reader<'a> {
        fn into_internal_struct_reader(self) -> ::capnp::private::layout::StructReader<'a> {
            self.reader
        }
    }

    impl<'a> ::capnp::traits::Imbue<'a> for Reader<'a> {
        fn imbue(&mut self, cap_table: &'a ::capnp::private::layout::CapTable) {
            self.reader
                .imbue(::capnp::private::layout::CapTableReader::Plain(cap_table))
        }
    }

    impl<'a> Reader<'a> {
        pub fn reborrow(&self) -> Reader<'_> {
            Self { ..*self }
        }

        pub fn total_size(&self) -> ::capnp::Result<::capnp::MessageSize> {
            self.reader.total_size()
        }
        #[inline]
        pub fn get_question_id(self) -> u32 {
            self.reader.get_data_field::<u32>(0)
        }
        #[inline]
        pub fn get_transform(
            self,
        ) -> ::capnp::Result<
            ::capnp::struct_list::Reader<'a, crate::rpc_capnp::promised_answer::op::Owned>,
        > {
            ::capnp::traits::FromPointerReader::get_from_pointer(
                &self.reader.get_pointer_field(0),
                ::core::option::Option::None,
            )
        }
        #[inline]
        pub fn has_transform(&self) -> bool {
            !self.reader.get_pointer_field(0).is_null()
        }
    }

    pub struct Builder<'a> {
        builder: ::capnp::private::layout::StructBuilder<'a>,
    }
    impl ::capnp::traits::HasStructSize for Builder<'_> {
        const STRUCT_SIZE: ::capnp::private::layout::StructSize =
            ::capnp::private::layout::StructSize {
                data: 1,
                pointers: 1,
            };
    }
    impl ::capnp::traits::HasTypeId for Builder<'_> {
        const TYPE_ID: u64 = _private::TYPE_ID;
    }
    impl<'a> ::core::convert::From<::capnp::private::layout::StructBuilder<'a>> for Builder<'a> {
        fn from(builder: ::capnp::private::layout::StructBuilder<'a>) -> Self {
            Self { builder }
        }
    }

    impl<'a> ::core::convert::From<Builder<'a>> for ::capnp::dynamic_value::Builder<'a> {
        fn from(builder: Builder<'a>) -> Self {
            Self::Struct(::capnp::dynamic_struct::Builder::new(
                builder.builder,
                ::capnp::schema::StructSchema::new(::capnp::introspect::RawBrandedStructSchema {
                    generic: &_private::RAW_SCHEMA,
                    field_types: _private::get_field_types,
                    annotation_types: _private::get_annotation_types,
                }),
            ))
        }
    }

    impl<'a> ::capnp::traits::ImbueMut<'a> for Builder<'a> {
        fn imbue_mut(&mut self, cap_table: &'a mut ::capnp::private::layout::CapTable) {
            self.builder
                .imbue(::capnp::private::layout::CapTableBuilder::Plain(cap_table))
        }
    }

    impl<'a> ::capnp::traits::FromPointerBuilder<'a> for Builder<'a> {
        fn init_pointer(builder: ::capnp::private::layout::PointerBuilder<'a>, _size: u32) -> Self {
            builder
                .init_struct(<Self as ::capnp::traits::HasStructSize>::STRUCT_SIZE)
                .into()
        }
        fn get_from_pointer(
            builder: ::capnp::private::layout::PointerBuilder<'a>,
            default: ::core::option::Option<&'a [::capnp::Word]>,
        ) -> ::capnp::Result<Self> {
            ::core::result::Result::Ok(
                builder
                    .get_struct(
                        <Self as ::capnp::traits::HasStructSize>::STRUCT_SIZE,
                        default,
                    )?
                    .into(),
            )
        }
    }

    impl ::capnp::traits::SetterInput<Owned> for Reader<'_> {
        fn set_pointer_builder(
            mut pointer: ::capnp::private::layout::PointerBuilder<'_>,
            value: Self,
            canonicalize: bool,
        ) -> ::capnp::Result<()> {
            pointer.set_struct(&value.reader, canonicalize)
        }
    }

    impl<'a> Builder<'a> {
        pub fn into_reader(self) -> Reader<'a> {
            self.builder.into_reader().into()
        }
        pub fn reborrow(&mut self) -> Builder<'_> {
            Builder {
                builder: self.builder.reborrow(),
            }
        }
        pub fn reborrow_as_reader(&self) -> Reader<'_> {
            self.builder.as_reader().into()
        }

        pub fn total_size(&self) -> ::capnp::Result<::capnp::MessageSize> {
            self.builder.as_reader().total_size()
        }
        #[inline]
        pub fn get_question_id(self) -> u32 {
            self.builder.get_data_field::<u32>(0)
        }
        #[inline]
        pub fn set_question_id(&mut self, value: u32) {
            self.builder.set_data_field::<u32>(0, value);
        }
        #[inline]
        pub fn get_transform(
            self,
        ) -> ::capnp::Result<
            ::capnp::struct_list::Builder<'a, crate::rpc_capnp::promised_answer::op::Owned>,
        > {
            ::capnp::traits::FromPointerBuilder::get_from_pointer(
                self.builder.get_pointer_field(0),
                ::core::option::Option::None,
            )
        }
        #[inline]
        pub fn set_transform(
            &mut self,
            value: ::capnp::struct_list::Reader<'_, crate::rpc_capnp::promised_answer::op::Owned>,
        ) -> ::capnp::Result<()> {
            ::capnp::traits::SetterInput::set_pointer_builder(
                self.builder.reborrow().get_pointer_field(0),
                value,
                false,
            )
        }
        #[inline]
        pub fn init_transform(
            self,
            size: u32,
        ) -> ::capnp::struct_list::Builder<'a, crate::rpc_capnp::promised_answer::op::Owned>
        {
            ::capnp::traits::FromPointerBuilder::init_pointer(
                self.builder.get_pointer_field(0),
                size,
            )
        }
        #[inline]
        pub fn has_transform(&self) -> bool {
            !self.builder.is_pointer_field_null(0)
        }
    }

    pub struct Pipeline {
        _typeless: ::capnp::any_pointer::Pipeline,
    }
    impl ::capnp::capability::FromTypelessPipeline for Pipeline {
        fn new(typeless: ::capnp::any_pointer::Pipeline) -> Self {
            Self {
                _typeless: typeless,
            }
        }
    }
    impl Pipeline {}
    mod _private {
        pub(crate) static ENCODED_NODE: [::capnp::Word; 57] = [
            ::capnp::word(0, 0, 0, 0, 5, 0, 6, 0),
            ::capnp::word(160, 28, 111, 205, 214, 177, 0, 216),
            ::capnp::word(10, 0, 0, 0, 1, 0, 1, 0),
            ::capnp::word(80, 162, 82, 37, 27, 152, 18, 179),
            ::capnp::word(1, 0, 7, 0, 0, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(21, 0, 0, 0, 202, 0, 0, 0),
            ::capnp::word(33, 0, 0, 0, 23, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(41, 0, 0, 0, 119, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(114, 112, 99, 46, 99, 97, 112, 110),
            ::capnp::word(112, 58, 80, 114, 111, 109, 105, 115),
            ::capnp::word(101, 100, 65, 110, 115, 119, 101, 114),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(4, 0, 0, 0, 1, 0, 1, 0),
            ::capnp::word(129, 144, 86, 21, 68, 148, 22, 243),
            ::capnp::word(1, 0, 0, 0, 26, 0, 0, 0),
            ::capnp::word(79, 112, 0, 0, 0, 0, 0, 0),
            ::capnp::word(8, 0, 0, 0, 3, 0, 4, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(0, 0, 1, 0, 0, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(41, 0, 0, 0, 90, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(40, 0, 0, 0, 3, 0, 1, 0),
            ::capnp::word(52, 0, 0, 0, 2, 0, 1, 0),
            ::capnp::word(1, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(0, 0, 1, 0, 1, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(49, 0, 0, 0, 82, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(48, 0, 0, 0, 3, 0, 1, 0),
            ::capnp::word(76, 0, 0, 0, 2, 0, 1, 0),
            ::capnp::word(113, 117, 101, 115, 116, 105, 111, 110),
            ::capnp::word(73, 100, 0, 0, 0, 0, 0, 0),
            ::capnp::word(8, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(8, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(116, 114, 97, 110, 115, 102, 111, 114),
            ::capnp::word(109, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(14, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 3, 0, 1, 0),
            ::capnp::word(16, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(129, 144, 86, 21, 68, 148, 22, 243),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(14, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
        ];
        pub(crate) fn get_field_types(index: u16) -> ::capnp::introspect::Type {
            match index {
                0 => <u32 as ::capnp::introspect::Introspect>::introspect(),
                1 => <::capnp::struct_list::Owned<crate::rpc_capnp::promised_answer::op::Owned> as ::capnp::introspect::Introspect>::introspect(),
                _ => ::capnp::introspect::panic_invalid_field_index(index),
            }
        }
        pub(crate) fn get_annotation_types(
            child_index: Option<u16>,
            index: u32,
        ) -> ::capnp::introspect::Type {
            ::capnp::introspect::panic_invalid_annotation_indices(child_index, index)
        }
        pub(crate) static ARENA: ::capnp::private::arena::GeneratedCodeArena =
            ::capnp::private::arena::GeneratedCodeArena::new(&ENCODED_NODE);
        pub(crate) static RAW_SCHEMA: ::capnp::introspect::RawStructSchema =
            ::capnp::introspect::RawStructSchema::new(
                &ARENA,
                NONUNION_MEMBERS,
                MEMBERS_BY_DISCRIMINANT,
                MEMBERS_BY_NAME,
            );
        pub(crate) static NONUNION_MEMBERS: &[u16] = &[0, 1];
        pub(crate) static MEMBERS_BY_DISCRIMINANT: &[u16] = &[];
        pub(crate) static MEMBERS_BY_NAME: &[u16] = &[0, 1];
        pub(crate) const TYPE_ID: u64 = 0xd800_b1d6_cd6f_1ca0;
    }

    pub mod op {
        pub use self::Which::{GetPointerField, Noop};

        #[derive(Copy, Clone)]
        pub struct Owned(());
        impl ::capnp::introspect::Introspect for Owned {
            fn introspect() -> ::capnp::introspect::Type {
                ::capnp::introspect::TypeVariant::Struct(
                    ::capnp::introspect::RawBrandedStructSchema {
                        generic: &_private::RAW_SCHEMA,
                        field_types: _private::get_field_types,
                        annotation_types: _private::get_annotation_types,
                    },
                )
                .into()
            }
        }
        impl ::capnp::traits::Owned for Owned {
            type Reader<'a> = Reader<'a>;
            type Builder<'a> = Builder<'a>;
        }
        impl ::capnp::traits::OwnedStruct for Owned {
            type Reader<'a> = Reader<'a>;
            type Builder<'a> = Builder<'a>;
        }
        impl ::capnp::traits::Pipelined for Owned {
            type Pipeline = Pipeline;
        }

        pub struct Reader<'a> {
            reader: ::capnp::private::layout::StructReader<'a>,
        }
        impl ::core::marker::Copy for Reader<'_> {}
        impl ::core::clone::Clone for Reader<'_> {
            fn clone(&self) -> Self {
                *self
            }
        }

        impl ::capnp::traits::HasTypeId for Reader<'_> {
            const TYPE_ID: u64 = _private::TYPE_ID;
        }
        impl<'a> ::core::convert::From<::capnp::private::layout::StructReader<'a>> for Reader<'a> {
            fn from(reader: ::capnp::private::layout::StructReader<'a>) -> Self {
                Self { reader }
            }
        }

        impl<'a> ::core::convert::From<Reader<'a>> for ::capnp::dynamic_value::Reader<'a> {
            fn from(reader: Reader<'a>) -> Self {
                Self::Struct(::capnp::dynamic_struct::Reader::new(
                    reader.reader,
                    ::capnp::schema::StructSchema::new(
                        ::capnp::introspect::RawBrandedStructSchema {
                            generic: &_private::RAW_SCHEMA,
                            field_types: _private::get_field_types,
                            annotation_types: _private::get_annotation_types,
                        },
                    ),
                ))
            }
        }

        impl ::core::fmt::Debug for Reader<'_> {
            fn fmt(
                &self,
                f: &mut ::core::fmt::Formatter<'_>,
            ) -> ::core::result::Result<(), ::core::fmt::Error> {
                core::fmt::Debug::fmt(
                    &::core::convert::Into::<::capnp::dynamic_value::Reader<'_>>::into(*self),
                    f,
                )
            }
        }

        impl<'a> ::capnp::traits::FromPointerReader<'a> for Reader<'a> {
            fn get_from_pointer(
                reader: &::capnp::private::layout::PointerReader<'a>,
                default: ::core::option::Option<&'a [::capnp::Word]>,
            ) -> ::capnp::Result<Self> {
                ::core::result::Result::Ok(reader.get_struct(default)?.into())
            }
        }

        impl<'a> ::capnp::traits::IntoInternalStructReader<'a> for Reader<'a> {
            fn into_internal_struct_reader(self) -> ::capnp::private::layout::StructReader<'a> {
                self.reader
            }
        }

        impl<'a> ::capnp::traits::Imbue<'a> for Reader<'a> {
            fn imbue(&mut self, cap_table: &'a ::capnp::private::layout::CapTable) {
                self.reader
                    .imbue(::capnp::private::layout::CapTableReader::Plain(cap_table))
            }
        }

        impl Reader<'_> {
            pub fn reborrow(&self) -> Reader<'_> {
                Self { ..*self }
            }

            pub fn total_size(&self) -> ::capnp::Result<::capnp::MessageSize> {
                self.reader.total_size()
            }
            #[inline]
            pub fn which(self) -> ::core::result::Result<WhichReader, ::capnp::NotInSchema> {
                match self.reader.get_data_field::<u16>(0) {
                    0 => ::core::result::Result::Ok(Noop(())),
                    1 => ::core::result::Result::Ok(GetPointerField(
                        self.reader.get_data_field::<u16>(1),
                    )),
                    x => ::core::result::Result::Err(::capnp::NotInSchema(x)),
                }
            }
        }

        pub struct Builder<'a> {
            builder: ::capnp::private::layout::StructBuilder<'a>,
        }
        impl ::capnp::traits::HasStructSize for Builder<'_> {
            const STRUCT_SIZE: ::capnp::private::layout::StructSize =
                ::capnp::private::layout::StructSize {
                    data: 1,
                    pointers: 0,
                };
        }
        impl ::capnp::traits::HasTypeId for Builder<'_> {
            const TYPE_ID: u64 = _private::TYPE_ID;
        }
        impl<'a> ::core::convert::From<::capnp::private::layout::StructBuilder<'a>> for Builder<'a> {
            fn from(builder: ::capnp::private::layout::StructBuilder<'a>) -> Self {
                Self { builder }
            }
        }

        impl<'a> ::core::convert::From<Builder<'a>> for ::capnp::dynamic_value::Builder<'a> {
            fn from(builder: Builder<'a>) -> Self {
                Self::Struct(::capnp::dynamic_struct::Builder::new(
                    builder.builder,
                    ::capnp::schema::StructSchema::new(
                        ::capnp::introspect::RawBrandedStructSchema {
                            generic: &_private::RAW_SCHEMA,
                            field_types: _private::get_field_types,
                            annotation_types: _private::get_annotation_types,
                        },
                    ),
                ))
            }
        }

        impl<'a> ::capnp::traits::ImbueMut<'a> for Builder<'a> {
            fn imbue_mut(&mut self, cap_table: &'a mut ::capnp::private::layout::CapTable) {
                self.builder
                    .imbue(::capnp::private::layout::CapTableBuilder::Plain(cap_table))
            }
        }

        impl<'a> ::capnp::traits::FromPointerBuilder<'a> for Builder<'a> {
            fn init_pointer(
                builder: ::capnp::private::layout::PointerBuilder<'a>,
                _size: u32,
            ) -> Self {
                builder
                    .init_struct(<Self as ::capnp::traits::HasStructSize>::STRUCT_SIZE)
                    .into()
            }
            fn get_from_pointer(
                builder: ::capnp::private::layout::PointerBuilder<'a>,
                default: ::core::option::Option<&'a [::capnp::Word]>,
            ) -> ::capnp::Result<Self> {
                ::core::result::Result::Ok(
                    builder
                        .get_struct(
                            <Self as ::capnp::traits::HasStructSize>::STRUCT_SIZE,
                            default,
                        )?
                        .into(),
                )
            }
        }

        impl ::capnp::traits::SetterInput<Owned> for Reader<'_> {
            fn set_pointer_builder(
                mut pointer: ::capnp::private::layout::PointerBuilder<'_>,
                value: Self,
                canonicalize: bool,
            ) -> ::capnp::Result<()> {
                pointer.set_struct(&value.reader, canonicalize)
            }
        }

        impl<'a> Builder<'a> {
            pub fn into_reader(self) -> Reader<'a> {
                self.builder.into_reader().into()
            }
            pub fn reborrow(&mut self) -> Builder<'_> {
                Builder {
                    builder: self.builder.reborrow(),
                }
            }
            pub fn reborrow_as_reader(&self) -> Reader<'_> {
                self.builder.as_reader().into()
            }

            pub fn total_size(&self) -> ::capnp::Result<::capnp::MessageSize> {
                self.builder.as_reader().total_size()
            }
            #[inline]
            pub fn set_noop(&mut self, _value: ()) {
                self.builder.set_data_field::<u16>(0, 0);
            }
            #[inline]
            pub fn set_get_pointer_field(&mut self, value: u16) {
                self.builder.set_data_field::<u16>(0, 1);
                self.builder.set_data_field::<u16>(1, value);
            }
            #[inline]
            pub fn which(self) -> ::core::result::Result<WhichBuilder, ::capnp::NotInSchema> {
                match self.builder.get_data_field::<u16>(0) {
                    0 => ::core::result::Result::Ok(Noop(())),
                    1 => ::core::result::Result::Ok(GetPointerField(
                        self.builder.get_data_field::<u16>(1),
                    )),
                    x => ::core::result::Result::Err(::capnp::NotInSchema(x)),
                }
            }
        }

        pub struct Pipeline {
            _typeless: ::capnp::any_pointer::Pipeline,
        }
        impl ::capnp::capability::FromTypelessPipeline for Pipeline {
            fn new(typeless: ::capnp::any_pointer::Pipeline) -> Self {
                Self {
                    _typeless: typeless,
                }
            }
        }
        impl Pipeline {}
        mod _private {
            pub(crate) static ENCODED_NODE: [::capnp::Word; 49] = [
                ::capnp::word(0, 0, 0, 0, 5, 0, 6, 0),
                ::capnp::word(129, 144, 86, 21, 68, 148, 22, 243),
                ::capnp::word(25, 0, 0, 0, 1, 0, 1, 0),
                ::capnp::word(160, 28, 111, 205, 214, 177, 0, 216),
                ::capnp::word(0, 0, 7, 0, 0, 0, 2, 0),
                ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
                ::capnp::word(21, 0, 0, 0, 226, 0, 0, 0),
                ::capnp::word(33, 0, 0, 0, 7, 0, 0, 0),
                ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
                ::capnp::word(29, 0, 0, 0, 119, 0, 0, 0),
                ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
                ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
                ::capnp::word(114, 112, 99, 46, 99, 97, 112, 110),
                ::capnp::word(112, 58, 80, 114, 111, 109, 105, 115),
                ::capnp::word(101, 100, 65, 110, 115, 119, 101, 114),
                ::capnp::word(46, 79, 112, 0, 0, 0, 0, 0),
                ::capnp::word(0, 0, 0, 0, 1, 0, 1, 0),
                ::capnp::word(8, 0, 0, 0, 3, 0, 4, 0),
                ::capnp::word(0, 0, 255, 255, 0, 0, 0, 0),
                ::capnp::word(0, 0, 1, 0, 0, 0, 0, 0),
                ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
                ::capnp::word(41, 0, 0, 0, 42, 0, 0, 0),
                ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
                ::capnp::word(36, 0, 0, 0, 3, 0, 1, 0),
                ::capnp::word(48, 0, 0, 0, 2, 0, 1, 0),
                ::capnp::word(1, 0, 254, 255, 1, 0, 0, 0),
                ::capnp::word(0, 0, 1, 0, 1, 0, 0, 0),
                ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
                ::capnp::word(45, 0, 0, 0, 130, 0, 0, 0),
                ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
                ::capnp::word(44, 0, 0, 0, 3, 0, 1, 0),
                ::capnp::word(56, 0, 0, 0, 2, 0, 1, 0),
                ::capnp::word(110, 111, 111, 112, 0, 0, 0, 0),
                ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
                ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
                ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
                ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
                ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
                ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
                ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
                ::capnp::word(103, 101, 116, 80, 111, 105, 110, 116),
                ::capnp::word(101, 114, 70, 105, 101, 108, 100, 0),
                ::capnp::word(7, 0, 0, 0, 0, 0, 0, 0),
                ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
                ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
                ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
                ::capnp::word(7, 0, 0, 0, 0, 0, 0, 0),
                ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
                ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ];
            pub(crate) fn get_field_types(index: u16) -> ::capnp::introspect::Type {
                match index {
                    0 => <() as ::capnp::introspect::Introspect>::introspect(),
                    1 => <u16 as ::capnp::introspect::Introspect>::introspect(),
                    _ => ::capnp::introspect::panic_invalid_field_index(index),
                }
            }
            pub(crate) fn get_annotation_types(
                child_index: Option<u16>,
                index: u32,
            ) -> ::capnp::introspect::Type {
                ::capnp::introspect::panic_invalid_annotation_indices(child_index, index)
            }
            pub(crate) static ARENA: ::capnp::private::arena::GeneratedCodeArena =
                ::capnp::private::arena::GeneratedCodeArena::new(&ENCODED_NODE);
            pub(crate) static RAW_SCHEMA: ::capnp::introspect::RawStructSchema =
                ::capnp::introspect::RawStructSchema::new(
                    &ARENA,
                    NONUNION_MEMBERS,
                    MEMBERS_BY_DISCRIMINANT,
                    MEMBERS_BY_NAME,
                );
            pub(crate) static NONUNION_MEMBERS: &[u16] = &[];
            pub(crate) static MEMBERS_BY_DISCRIMINANT: &[u16] = &[0, 1];
            pub(crate) static MEMBERS_BY_NAME: &[u16] = &[1, 0];
            pub(crate) const TYPE_ID: u64 = 0xf316_9444_1556_9081;
        }
        pub enum Which {
            Noop(()),
            GetPointerField(u16),
        }
        pub type WhichReader = Which;
        pub type WhichBuilder = Which;
    }
}

pub mod third_party_cap_descriptor {
    #[derive(Copy, Clone)]
    pub struct Owned(());
    impl ::capnp::introspect::Introspect for Owned {
        fn introspect() -> ::capnp::introspect::Type {
            ::capnp::introspect::TypeVariant::Struct(::capnp::introspect::RawBrandedStructSchema {
                generic: &_private::RAW_SCHEMA,
                field_types: _private::get_field_types,
                annotation_types: _private::get_annotation_types,
            })
            .into()
        }
    }
    impl ::capnp::traits::Owned for Owned {
        type Reader<'a> = Reader<'a>;
        type Builder<'a> = Builder<'a>;
    }
    impl ::capnp::traits::OwnedStruct for Owned {
        type Reader<'a> = Reader<'a>;
        type Builder<'a> = Builder<'a>;
    }
    impl ::capnp::traits::Pipelined for Owned {
        type Pipeline = Pipeline;
    }

    pub struct Reader<'a> {
        reader: ::capnp::private::layout::StructReader<'a>,
    }
    impl ::core::marker::Copy for Reader<'_> {}
    impl ::core::clone::Clone for Reader<'_> {
        fn clone(&self) -> Self {
            *self
        }
    }

    impl ::capnp::traits::HasTypeId for Reader<'_> {
        const TYPE_ID: u64 = _private::TYPE_ID;
    }
    impl<'a> ::core::convert::From<::capnp::private::layout::StructReader<'a>> for Reader<'a> {
        fn from(reader: ::capnp::private::layout::StructReader<'a>) -> Self {
            Self { reader }
        }
    }

    impl<'a> ::core::convert::From<Reader<'a>> for ::capnp::dynamic_value::Reader<'a> {
        fn from(reader: Reader<'a>) -> Self {
            Self::Struct(::capnp::dynamic_struct::Reader::new(
                reader.reader,
                ::capnp::schema::StructSchema::new(::capnp::introspect::RawBrandedStructSchema {
                    generic: &_private::RAW_SCHEMA,
                    field_types: _private::get_field_types,
                    annotation_types: _private::get_annotation_types,
                }),
            ))
        }
    }

    impl ::core::fmt::Debug for Reader<'_> {
        fn fmt(
            &self,
            f: &mut ::core::fmt::Formatter<'_>,
        ) -> ::core::result::Result<(), ::core::fmt::Error> {
            core::fmt::Debug::fmt(
                &::core::convert::Into::<::capnp::dynamic_value::Reader<'_>>::into(*self),
                f,
            )
        }
    }

    impl<'a> ::capnp::traits::FromPointerReader<'a> for Reader<'a> {
        fn get_from_pointer(
            reader: &::capnp::private::layout::PointerReader<'a>,
            default: ::core::option::Option<&'a [::capnp::Word]>,
        ) -> ::capnp::Result<Self> {
            ::core::result::Result::Ok(reader.get_struct(default)?.into())
        }
    }

    impl<'a> ::capnp::traits::IntoInternalStructReader<'a> for Reader<'a> {
        fn into_internal_struct_reader(self) -> ::capnp::private::layout::StructReader<'a> {
            self.reader
        }
    }

    impl<'a> ::capnp::traits::Imbue<'a> for Reader<'a> {
        fn imbue(&mut self, cap_table: &'a ::capnp::private::layout::CapTable) {
            self.reader
                .imbue(::capnp::private::layout::CapTableReader::Plain(cap_table))
        }
    }

    impl<'a> Reader<'a> {
        pub fn reborrow(&self) -> Reader<'_> {
            Self { ..*self }
        }

        pub fn total_size(&self) -> ::capnp::Result<::capnp::MessageSize> {
            self.reader.total_size()
        }
        #[inline]
        pub fn get_id(self) -> ::capnp::any_pointer::Reader<'a> {
            ::capnp::any_pointer::Reader::new(self.reader.get_pointer_field(0))
        }
        #[inline]
        pub fn has_id(&self) -> bool {
            !self.reader.get_pointer_field(0).is_null()
        }
        #[inline]
        pub fn get_vine_id(self) -> u32 {
            self.reader.get_data_field::<u32>(0)
        }
    }

    pub struct Builder<'a> {
        builder: ::capnp::private::layout::StructBuilder<'a>,
    }
    impl ::capnp::traits::HasStructSize for Builder<'_> {
        const STRUCT_SIZE: ::capnp::private::layout::StructSize =
            ::capnp::private::layout::StructSize {
                data: 1,
                pointers: 1,
            };
    }
    impl ::capnp::traits::HasTypeId for Builder<'_> {
        const TYPE_ID: u64 = _private::TYPE_ID;
    }
    impl<'a> ::core::convert::From<::capnp::private::layout::StructBuilder<'a>> for Builder<'a> {
        fn from(builder: ::capnp::private::layout::StructBuilder<'a>) -> Self {
            Self { builder }
        }
    }

    impl<'a> ::core::convert::From<Builder<'a>> for ::capnp::dynamic_value::Builder<'a> {
        fn from(builder: Builder<'a>) -> Self {
            Self::Struct(::capnp::dynamic_struct::Builder::new(
                builder.builder,
                ::capnp::schema::StructSchema::new(::capnp::introspect::RawBrandedStructSchema {
                    generic: &_private::RAW_SCHEMA,
                    field_types: _private::get_field_types,
                    annotation_types: _private::get_annotation_types,
                }),
            ))
        }
    }

    impl<'a> ::capnp::traits::ImbueMut<'a> for Builder<'a> {
        fn imbue_mut(&mut self, cap_table: &'a mut ::capnp::private::layout::CapTable) {
            self.builder
                .imbue(::capnp::private::layout::CapTableBuilder::Plain(cap_table))
        }
    }

    impl<'a> ::capnp::traits::FromPointerBuilder<'a> for Builder<'a> {
        fn init_pointer(builder: ::capnp::private::layout::PointerBuilder<'a>, _size: u32) -> Self {
            builder
                .init_struct(<Self as ::capnp::traits::HasStructSize>::STRUCT_SIZE)
                .into()
        }
        fn get_from_pointer(
            builder: ::capnp::private::layout::PointerBuilder<'a>,
            default: ::core::option::Option<&'a [::capnp::Word]>,
        ) -> ::capnp::Result<Self> {
            ::core::result::Result::Ok(
                builder
                    .get_struct(
                        <Self as ::capnp::traits::HasStructSize>::STRUCT_SIZE,
                        default,
                    )?
                    .into(),
            )
        }
    }

    impl ::capnp::traits::SetterInput<Owned> for Reader<'_> {
        fn set_pointer_builder(
            mut pointer: ::capnp::private::layout::PointerBuilder<'_>,
            value: Self,
            canonicalize: bool,
        ) -> ::capnp::Result<()> {
            pointer.set_struct(&value.reader, canonicalize)
        }
    }

    impl<'a> Builder<'a> {
        pub fn into_reader(self) -> Reader<'a> {
            self.builder.into_reader().into()
        }
        pub fn reborrow(&mut self) -> Builder<'_> {
            Builder {
                builder: self.builder.reborrow(),
            }
        }
        pub fn reborrow_as_reader(&self) -> Reader<'_> {
            self.builder.as_reader().into()
        }

        pub fn total_size(&self) -> ::capnp::Result<::capnp::MessageSize> {
            self.builder.as_reader().total_size()
        }
        #[inline]
        pub fn get_id(self) -> ::capnp::any_pointer::Builder<'a> {
            ::capnp::any_pointer::Builder::new(self.builder.get_pointer_field(0))
        }
        #[inline]
        pub fn init_id(self) -> ::capnp::any_pointer::Builder<'a> {
            let mut result = ::capnp::any_pointer::Builder::new(self.builder.get_pointer_field(0));
            result.clear();
            result
        }
        #[inline]
        pub fn has_id(&self) -> bool {
            !self.builder.is_pointer_field_null(0)
        }
        #[inline]
        pub fn get_vine_id(self) -> u32 {
            self.builder.get_data_field::<u32>(0)
        }
        #[inline]
        pub fn set_vine_id(&mut self, value: u32) {
            self.builder.set_data_field::<u32>(0, value);
        }
    }

    pub struct Pipeline {
        _typeless: ::capnp::any_pointer::Pipeline,
    }
    impl ::capnp::capability::FromTypelessPipeline for Pipeline {
        fn new(typeless: ::capnp::any_pointer::Pipeline) -> Self {
            Self {
                _typeless: typeless,
            }
        }
    }
    impl Pipeline {
        pub fn get_id(&self) -> ::capnp::any_pointer::Pipeline {
            ::capnp::capability::FromTypelessPipeline::new(self._typeless.get_pointer_field(0))
        }
    }
    mod _private {
        pub(crate) static ENCODED_NODE: [::capnp::Word; 49] = [
            ::capnp::word(0, 0, 0, 0, 5, 0, 6, 0),
            ::capnp::word(125, 2, 240, 225, 253, 7, 112, 211),
            ::capnp::word(10, 0, 0, 0, 1, 0, 1, 0),
            ::capnp::word(80, 162, 82, 37, 27, 152, 18, 179),
            ::capnp::word(1, 0, 7, 0, 0, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(21, 0, 0, 0, 18, 1, 0, 0),
            ::capnp::word(37, 0, 0, 0, 7, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(33, 0, 0, 0, 119, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(114, 112, 99, 46, 99, 97, 112, 110),
            ::capnp::word(112, 58, 84, 104, 105, 114, 100, 80),
            ::capnp::word(97, 114, 116, 121, 67, 97, 112, 68),
            ::capnp::word(101, 115, 99, 114, 105, 112, 116, 111),
            ::capnp::word(114, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 1, 0, 1, 0),
            ::capnp::word(8, 0, 0, 0, 3, 0, 4, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(0, 0, 1, 0, 0, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(41, 0, 0, 0, 26, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(36, 0, 0, 0, 3, 0, 1, 0),
            ::capnp::word(48, 0, 0, 0, 2, 0, 1, 0),
            ::capnp::word(1, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(0, 0, 1, 0, 1, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(45, 0, 0, 0, 58, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(40, 0, 0, 0, 3, 0, 1, 0),
            ::capnp::word(52, 0, 0, 0, 2, 0, 1, 0),
            ::capnp::word(105, 100, 0, 0, 0, 0, 0, 0),
            ::capnp::word(18, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(18, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(118, 105, 110, 101, 73, 100, 0, 0),
            ::capnp::word(8, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(8, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
        ];
        pub(crate) fn get_field_types(index: u16) -> ::capnp::introspect::Type {
            match index {
                0 => <::capnp::any_pointer::Owned as ::capnp::introspect::Introspect>::introspect(),
                1 => <u32 as ::capnp::introspect::Introspect>::introspect(),
                _ => ::capnp::introspect::panic_invalid_field_index(index),
            }
        }
        pub(crate) fn get_annotation_types(
            child_index: Option<u16>,
            index: u32,
        ) -> ::capnp::introspect::Type {
            ::capnp::introspect::panic_invalid_annotation_indices(child_index, index)
        }
        pub(crate) static ARENA: ::capnp::private::arena::GeneratedCodeArena =
            ::capnp::private::arena::GeneratedCodeArena::new(&ENCODED_NODE);
        pub(crate) static RAW_SCHEMA: ::capnp::introspect::RawStructSchema =
            ::capnp::introspect::RawStructSchema::new(
                &ARENA,
                NONUNION_MEMBERS,
                MEMBERS_BY_DISCRIMINANT,
                MEMBERS_BY_NAME,
            );
        pub(crate) static NONUNION_MEMBERS: &[u16] = &[0, 1];
        pub(crate) static MEMBERS_BY_DISCRIMINANT: &[u16] = &[];
        pub(crate) static MEMBERS_BY_NAME: &[u16] = &[0, 1];
        pub(crate) const TYPE_ID: u64 = 0xd370_07fd_e1f0_027d;
    }
}

pub mod exception {
    #[derive(Copy, Clone)]
    pub struct Owned(());
    impl ::capnp::introspect::Introspect for Owned {
        fn introspect() -> ::capnp::introspect::Type {
            ::capnp::introspect::TypeVariant::Struct(::capnp::introspect::RawBrandedStructSchema {
                generic: &_private::RAW_SCHEMA,
                field_types: _private::get_field_types,
                annotation_types: _private::get_annotation_types,
            })
            .into()
        }
    }
    impl ::capnp::traits::Owned for Owned {
        type Reader<'a> = Reader<'a>;
        type Builder<'a> = Builder<'a>;
    }
    impl ::capnp::traits::OwnedStruct for Owned {
        type Reader<'a> = Reader<'a>;
        type Builder<'a> = Builder<'a>;
    }
    impl ::capnp::traits::Pipelined for Owned {
        type Pipeline = Pipeline;
    }

    pub struct Reader<'a> {
        reader: ::capnp::private::layout::StructReader<'a>,
    }
    impl ::core::marker::Copy for Reader<'_> {}
    impl ::core::clone::Clone for Reader<'_> {
        fn clone(&self) -> Self {
            *self
        }
    }

    impl ::capnp::traits::HasTypeId for Reader<'_> {
        const TYPE_ID: u64 = _private::TYPE_ID;
    }
    impl<'a> ::core::convert::From<::capnp::private::layout::StructReader<'a>> for Reader<'a> {
        fn from(reader: ::capnp::private::layout::StructReader<'a>) -> Self {
            Self { reader }
        }
    }

    impl<'a> ::core::convert::From<Reader<'a>> for ::capnp::dynamic_value::Reader<'a> {
        fn from(reader: Reader<'a>) -> Self {
            Self::Struct(::capnp::dynamic_struct::Reader::new(
                reader.reader,
                ::capnp::schema::StructSchema::new(::capnp::introspect::RawBrandedStructSchema {
                    generic: &_private::RAW_SCHEMA,
                    field_types: _private::get_field_types,
                    annotation_types: _private::get_annotation_types,
                }),
            ))
        }
    }

    impl ::core::fmt::Debug for Reader<'_> {
        fn fmt(
            &self,
            f: &mut ::core::fmt::Formatter<'_>,
        ) -> ::core::result::Result<(), ::core::fmt::Error> {
            core::fmt::Debug::fmt(
                &::core::convert::Into::<::capnp::dynamic_value::Reader<'_>>::into(*self),
                f,
            )
        }
    }

    impl<'a> ::capnp::traits::FromPointerReader<'a> for Reader<'a> {
        fn get_from_pointer(
            reader: &::capnp::private::layout::PointerReader<'a>,
            default: ::core::option::Option<&'a [::capnp::Word]>,
        ) -> ::capnp::Result<Self> {
            ::core::result::Result::Ok(reader.get_struct(default)?.into())
        }
    }

    impl<'a> ::capnp::traits::IntoInternalStructReader<'a> for Reader<'a> {
        fn into_internal_struct_reader(self) -> ::capnp::private::layout::StructReader<'a> {
            self.reader
        }
    }

    impl<'a> ::capnp::traits::Imbue<'a> for Reader<'a> {
        fn imbue(&mut self, cap_table: &'a ::capnp::private::layout::CapTable) {
            self.reader
                .imbue(::capnp::private::layout::CapTableReader::Plain(cap_table))
        }
    }

    impl<'a> Reader<'a> {
        pub fn reborrow(&self) -> Reader<'_> {
            Self { ..*self }
        }

        pub fn total_size(&self) -> ::capnp::Result<::capnp::MessageSize> {
            self.reader.total_size()
        }
        #[inline]
        pub fn get_reason(self) -> ::capnp::Result<::capnp::text::Reader<'a>> {
            ::capnp::traits::FromPointerReader::get_from_pointer(
                &self.reader.get_pointer_field(0),
                ::core::option::Option::None,
            )
        }
        #[inline]
        pub fn has_reason(&self) -> bool {
            !self.reader.get_pointer_field(0).is_null()
        }
        #[inline]
        pub fn get_obsolete_is_callers_fault(self) -> bool {
            self.reader.get_bool_field(0)
        }
        #[inline]
        pub fn get_obsolete_durability(self) -> u16 {
            self.reader.get_data_field::<u16>(1)
        }
        #[inline]
        pub fn get_type(
            self,
        ) -> ::core::result::Result<crate::rpc_capnp::exception::Type, ::capnp::NotInSchema>
        {
            ::core::convert::TryFrom::try_from(self.reader.get_data_field::<u16>(2))
        }
        #[inline]
        pub fn get_trace(self) -> ::capnp::Result<::capnp::text::Reader<'a>> {
            ::capnp::traits::FromPointerReader::get_from_pointer(
                &self.reader.get_pointer_field(1),
                ::core::option::Option::None,
            )
        }
        #[inline]
        pub fn has_trace(&self) -> bool {
            !self.reader.get_pointer_field(1).is_null()
        }
    }

    pub struct Builder<'a> {
        builder: ::capnp::private::layout::StructBuilder<'a>,
    }
    impl ::capnp::traits::HasStructSize for Builder<'_> {
        const STRUCT_SIZE: ::capnp::private::layout::StructSize =
            ::capnp::private::layout::StructSize {
                data: 1,
                pointers: 2,
            };
    }
    impl ::capnp::traits::HasTypeId for Builder<'_> {
        const TYPE_ID: u64 = _private::TYPE_ID;
    }
    impl<'a> ::core::convert::From<::capnp::private::layout::StructBuilder<'a>> for Builder<'a> {
        fn from(builder: ::capnp::private::layout::StructBuilder<'a>) -> Self {
            Self { builder }
        }
    }

    impl<'a> ::core::convert::From<Builder<'a>> for ::capnp::dynamic_value::Builder<'a> {
        fn from(builder: Builder<'a>) -> Self {
            Self::Struct(::capnp::dynamic_struct::Builder::new(
                builder.builder,
                ::capnp::schema::StructSchema::new(::capnp::introspect::RawBrandedStructSchema {
                    generic: &_private::RAW_SCHEMA,
                    field_types: _private::get_field_types,
                    annotation_types: _private::get_annotation_types,
                }),
            ))
        }
    }

    impl<'a> ::capnp::traits::ImbueMut<'a> for Builder<'a> {
        fn imbue_mut(&mut self, cap_table: &'a mut ::capnp::private::layout::CapTable) {
            self.builder
                .imbue(::capnp::private::layout::CapTableBuilder::Plain(cap_table))
        }
    }

    impl<'a> ::capnp::traits::FromPointerBuilder<'a> for Builder<'a> {
        fn init_pointer(builder: ::capnp::private::layout::PointerBuilder<'a>, _size: u32) -> Self {
            builder
                .init_struct(<Self as ::capnp::traits::HasStructSize>::STRUCT_SIZE)
                .into()
        }
        fn get_from_pointer(
            builder: ::capnp::private::layout::PointerBuilder<'a>,
            default: ::core::option::Option<&'a [::capnp::Word]>,
        ) -> ::capnp::Result<Self> {
            ::core::result::Result::Ok(
                builder
                    .get_struct(
                        <Self as ::capnp::traits::HasStructSize>::STRUCT_SIZE,
                        default,
                    )?
                    .into(),
            )
        }
    }

    impl ::capnp::traits::SetterInput<Owned> for Reader<'_> {
        fn set_pointer_builder(
            mut pointer: ::capnp::private::layout::PointerBuilder<'_>,
            value: Self,
            canonicalize: bool,
        ) -> ::capnp::Result<()> {
            pointer.set_struct(&value.reader, canonicalize)
        }
    }

    impl<'a> Builder<'a> {
        pub fn into_reader(self) -> Reader<'a> {
            self.builder.into_reader().into()
        }
        pub fn reborrow(&mut self) -> Builder<'_> {
            Builder {
                builder: self.builder.reborrow(),
            }
        }
        pub fn reborrow_as_reader(&self) -> Reader<'_> {
            self.builder.as_reader().into()
        }

        pub fn total_size(&self) -> ::capnp::Result<::capnp::MessageSize> {
            self.builder.as_reader().total_size()
        }
        #[inline]
        pub fn get_reason(self) -> ::capnp::Result<::capnp::text::Builder<'a>> {
            ::capnp::traits::FromPointerBuilder::get_from_pointer(
                self.builder.get_pointer_field(0),
                ::core::option::Option::None,
            )
        }
        #[inline]
        pub fn set_reason(
            &mut self,
            value: impl ::capnp::traits::SetterInput<::capnp::text::Owned>,
        ) {
            ::capnp::traits::SetterInput::set_pointer_builder(
                self.builder.reborrow().get_pointer_field(0),
                value,
                false,
            )
            .unwrap()
        }
        #[inline]
        pub fn init_reason(self, size: u32) -> ::capnp::text::Builder<'a> {
            self.builder.get_pointer_field(0).init_text(size)
        }
        #[inline]
        pub fn has_reason(&self) -> bool {
            !self.builder.is_pointer_field_null(0)
        }
        #[inline]
        pub fn get_obsolete_is_callers_fault(self) -> bool {
            self.builder.get_bool_field(0)
        }
        #[inline]
        pub fn set_obsolete_is_callers_fault(&mut self, value: bool) {
            self.builder.set_bool_field(0, value);
        }
        #[inline]
        pub fn get_obsolete_durability(self) -> u16 {
            self.builder.get_data_field::<u16>(1)
        }
        #[inline]
        pub fn set_obsolete_durability(&mut self, value: u16) {
            self.builder.set_data_field::<u16>(1, value);
        }
        #[inline]
        pub fn get_type(
            self,
        ) -> ::core::result::Result<crate::rpc_capnp::exception::Type, ::capnp::NotInSchema>
        {
            ::core::convert::TryFrom::try_from(self.builder.get_data_field::<u16>(2))
        }
        #[inline]
        pub fn set_type(&mut self, value: crate::rpc_capnp::exception::Type) {
            self.builder.set_data_field::<u16>(2, value as u16);
        }
        #[inline]
        pub fn get_trace(self) -> ::capnp::Result<::capnp::text::Builder<'a>> {
            ::capnp::traits::FromPointerBuilder::get_from_pointer(
                self.builder.get_pointer_field(1),
                ::core::option::Option::None,
            )
        }
        #[inline]
        pub fn set_trace(
            &mut self,
            value: impl ::capnp::traits::SetterInput<::capnp::text::Owned>,
        ) {
            ::capnp::traits::SetterInput::set_pointer_builder(
                self.builder.reborrow().get_pointer_field(1),
                value,
                false,
            )
            .unwrap()
        }
        #[inline]
        pub fn init_trace(self, size: u32) -> ::capnp::text::Builder<'a> {
            self.builder.get_pointer_field(1).init_text(size)
        }
        #[inline]
        pub fn has_trace(&self) -> bool {
            !self.builder.is_pointer_field_null(1)
        }
    }

    pub struct Pipeline {
        _typeless: ::capnp::any_pointer::Pipeline,
    }
    impl ::capnp::capability::FromTypelessPipeline for Pipeline {
        fn new(typeless: ::capnp::any_pointer::Pipeline) -> Self {
            Self {
                _typeless: typeless,
            }
        }
    }
    impl Pipeline {}
    mod _private {
        pub(crate) static ENCODED_NODE: [::capnp::Word; 99] = [
            ::capnp::word(0, 0, 0, 0, 5, 0, 6, 0),
            ::capnp::word(26, 105, 207, 58, 6, 183, 37, 214),
            ::capnp::word(10, 0, 0, 0, 1, 0, 1, 0),
            ::capnp::word(80, 162, 82, 37, 27, 152, 18, 179),
            ::capnp::word(2, 0, 7, 0, 0, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(21, 0, 0, 0, 162, 0, 0, 0),
            ::capnp::word(29, 0, 0, 0, 23, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(37, 0, 0, 0, 31, 1, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(114, 112, 99, 46, 99, 97, 112, 110),
            ::capnp::word(112, 58, 69, 120, 99, 101, 112, 116),
            ::capnp::word(105, 111, 110, 0, 0, 0, 0, 0),
            ::capnp::word(4, 0, 0, 0, 1, 0, 1, 0),
            ::capnp::word(88, 189, 76, 63, 226, 150, 140, 178),
            ::capnp::word(1, 0, 0, 0, 42, 0, 0, 0),
            ::capnp::word(84, 121, 112, 101, 0, 0, 0, 0),
            ::capnp::word(20, 0, 0, 0, 3, 0, 4, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(0, 0, 1, 0, 0, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(125, 0, 0, 0, 58, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(120, 0, 0, 0, 3, 0, 1, 0),
            ::capnp::word(132, 0, 0, 0, 2, 0, 1, 0),
            ::capnp::word(2, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(0, 0, 1, 0, 1, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(129, 0, 0, 0, 186, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(132, 0, 0, 0, 3, 0, 1, 0),
            ::capnp::word(144, 0, 0, 0, 2, 0, 1, 0),
            ::capnp::word(3, 0, 0, 0, 1, 0, 0, 0),
            ::capnp::word(0, 0, 1, 0, 2, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(141, 0, 0, 0, 154, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(144, 0, 0, 0, 3, 0, 1, 0),
            ::capnp::word(156, 0, 0, 0, 2, 0, 1, 0),
            ::capnp::word(1, 0, 0, 0, 2, 0, 0, 0),
            ::capnp::word(0, 0, 1, 0, 3, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(153, 0, 0, 0, 42, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(148, 0, 0, 0, 3, 0, 1, 0),
            ::capnp::word(160, 0, 0, 0, 2, 0, 1, 0),
            ::capnp::word(4, 0, 0, 0, 1, 0, 0, 0),
            ::capnp::word(0, 0, 1, 0, 4, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(157, 0, 0, 0, 50, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(152, 0, 0, 0, 3, 0, 1, 0),
            ::capnp::word(164, 0, 0, 0, 2, 0, 1, 0),
            ::capnp::word(114, 101, 97, 115, 111, 110, 0, 0),
            ::capnp::word(12, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(12, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(111, 98, 115, 111, 108, 101, 116, 101),
            ::capnp::word(73, 115, 67, 97, 108, 108, 101, 114),
            ::capnp::word(115, 70, 97, 117, 108, 116, 0, 0),
            ::capnp::word(1, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(1, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(111, 98, 115, 111, 108, 101, 116, 101),
            ::capnp::word(68, 117, 114, 97, 98, 105, 108, 105),
            ::capnp::word(116, 121, 0, 0, 0, 0, 0, 0),
            ::capnp::word(7, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(7, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(116, 121, 112, 101, 0, 0, 0, 0),
            ::capnp::word(15, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(88, 189, 76, 63, 226, 150, 140, 178),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(15, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(116, 114, 97, 99, 101, 0, 0, 0),
            ::capnp::word(12, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(12, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
        ];
        pub(crate) fn get_field_types(index: u16) -> ::capnp::introspect::Type {
            match index {
                0 => <::capnp::text::Owned as ::capnp::introspect::Introspect>::introspect(),
                1 => <bool as ::capnp::introspect::Introspect>::introspect(),
                2 => <u16 as ::capnp::introspect::Introspect>::introspect(),
                3 => <crate::rpc_capnp::exception::Type as ::capnp::introspect::Introspect>::introspect(),
                4 => <::capnp::text::Owned as ::capnp::introspect::Introspect>::introspect(),
                _ => ::capnp::introspect::panic_invalid_field_index(index),
            }
        }
        pub(crate) fn get_annotation_types(
            child_index: Option<u16>,
            index: u32,
        ) -> ::capnp::introspect::Type {
            ::capnp::introspect::panic_invalid_annotation_indices(child_index, index)
        }
        pub(crate) static ARENA: ::capnp::private::arena::GeneratedCodeArena =
            ::capnp::private::arena::GeneratedCodeArena::new(&ENCODED_NODE);
        pub(crate) static RAW_SCHEMA: ::capnp::introspect::RawStructSchema =
            ::capnp::introspect::RawStructSchema::new(
                &ARENA,
                NONUNION_MEMBERS,
                MEMBERS_BY_DISCRIMINANT,
                MEMBERS_BY_NAME,
            );
        pub(crate) static NONUNION_MEMBERS: &[u16] = &[0, 1, 2, 3, 4];
        pub(crate) static MEMBERS_BY_DISCRIMINANT: &[u16] = &[];
        pub(crate) static MEMBERS_BY_NAME: &[u16] = &[2, 1, 0, 4, 3];
        pub(crate) const TYPE_ID: u64 = 0xd625_b706_3acf_691a;
    }

    #[repr(u16)]
    #[derive(Clone, Copy, Debug, PartialEq, Eq)]
    pub enum Type {
        Failed = 0,
        Overloaded = 1,
        Disconnected = 2,
        Unimplemented = 3,
    }

    impl ::capnp::introspect::Introspect for Type {
        fn introspect() -> ::capnp::introspect::Type {
            ::capnp::introspect::TypeVariant::Enum(::capnp::introspect::RawEnumSchema {
                encoded_node: &type_::ENCODED_NODE,
                annotation_types: type_::get_annotation_types,
            })
            .into()
        }
    }
    impl ::core::convert::From<Type> for ::capnp::dynamic_value::Reader<'_> {
        fn from(e: Type) -> Self {
            ::capnp::dynamic_value::Enum::new(
                e.into(),
                ::capnp::introspect::RawEnumSchema {
                    encoded_node: &type_::ENCODED_NODE,
                    annotation_types: type_::get_annotation_types,
                }
                .into(),
            )
            .into()
        }
    }
    impl ::core::convert::TryFrom<u16> for Type {
        type Error = ::capnp::NotInSchema;
        fn try_from(
            value: u16,
        ) -> ::core::result::Result<Self, <Type as ::core::convert::TryFrom<u16>>::Error> {
            match value {
                0 => ::core::result::Result::Ok(Self::Failed),
                1 => ::core::result::Result::Ok(Self::Overloaded),
                2 => ::core::result::Result::Ok(Self::Disconnected),
                3 => ::core::result::Result::Ok(Self::Unimplemented),
                n => ::core::result::Result::Err(::capnp::NotInSchema(n)),
            }
        }
    }
    impl From<Type> for u16 {
        #[inline]
        fn from(x: Type) -> u16 {
            x as u16
        }
    }
    impl ::capnp::traits::HasTypeId for Type {
        const TYPE_ID: u64 = 0xb28c_96e2_3f4c_bd58u64;
    }
    mod type_ {
        pub(crate) static ENCODED_NODE: [::capnp::Word; 37] = [
            ::capnp::word(0, 0, 0, 0, 5, 0, 6, 0),
            ::capnp::word(88, 189, 76, 63, 226, 150, 140, 178),
            ::capnp::word(20, 0, 0, 0, 2, 0, 0, 0),
            ::capnp::word(26, 105, 207, 58, 6, 183, 37, 214),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(21, 0, 0, 0, 202, 0, 0, 0),
            ::capnp::word(33, 0, 0, 0, 7, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(29, 0, 0, 0, 103, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(114, 112, 99, 46, 99, 97, 112, 110),
            ::capnp::word(112, 58, 69, 120, 99, 101, 112, 116),
            ::capnp::word(105, 111, 110, 46, 84, 121, 112, 101),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 1, 0, 1, 0),
            ::capnp::word(16, 0, 0, 0, 1, 0, 2, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(41, 0, 0, 0, 58, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(1, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(33, 0, 0, 0, 90, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(2, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(29, 0, 0, 0, 106, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(3, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(25, 0, 0, 0, 114, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(102, 97, 105, 108, 101, 100, 0, 0),
            ::capnp::word(111, 118, 101, 114, 108, 111, 97, 100),
            ::capnp::word(101, 100, 0, 0, 0, 0, 0, 0),
            ::capnp::word(100, 105, 115, 99, 111, 110, 110, 101),
            ::capnp::word(99, 116, 101, 100, 0, 0, 0, 0),
            ::capnp::word(117, 110, 105, 109, 112, 108, 101, 109),
            ::capnp::word(101, 110, 116, 101, 100, 0, 0, 0),
        ];
        pub(crate) fn get_annotation_types(
            child_index: Option<u16>,
            index: u32,
        ) -> ::capnp::introspect::Type {
            ::capnp::introspect::panic_invalid_annotation_indices(child_index, index)
        }
    }
}
