// @generated by the capnpc-rust plugin to the Cap'n Proto schema compiler.
// DO NOT EDIT.
// source: plugin.capnp


pub mod plugin {
  #[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 <'a,> ::core::marker::Copy for Reader<'a,>  {}
  impl <'a,> ::core::clone::Clone for Reader<'a,>  {
    fn clone(&self) -> Self { *self }
  }

  impl <'a,> ::capnp::traits::HasTypeId for Reader<'a,>  {
    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 <'a,> ::core::fmt::Debug for Reader<'a,>  {
    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_version(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_version(&self) -> bool {
      !self.reader.get_pointer_field(0).is_null()
    }
    #[inline]
    pub fn get_info(self) -> ::capnp::Result<crate::plugin_capnp::plugin::plugin_info::Reader<'a>> {
      ::capnp::traits::FromPointerReader::get_from_pointer(&self.reader.get_pointer_field(1), ::core::option::Option::None)
    }
    #[inline]
    pub fn has_info(&self) -> bool {
      !self.reader.get_pointer_field(1).is_null()
    }
    #[inline]
    pub fn get_replace(self) -> ::capnp::Result<crate::plugin_capnp::plugin::plugin_replace::Reader<'a>> {
      ::capnp::traits::FromPointerReader::get_from_pointer(&self.reader.get_pointer_field(2), ::core::option::Option::None)
    }
    #[inline]
    pub fn has_replace(&self) -> bool {
      !self.reader.get_pointer_field(2).is_null()
    }
    #[inline]
    pub fn get_bins(self) -> ::capnp::Result<crate::plugin_capnp::plugin::plugin_bins::Reader<'a>> {
      ::capnp::traits::FromPointerReader::get_from_pointer(&self.reader.get_pointer_field(3), ::core::option::Option::None)
    }
    #[inline]
    pub fn has_bins(&self) -> bool {
      !self.reader.get_pointer_field(3).is_null()
    }
    #[inline]
    pub fn get_plugins(self) -> ::capnp::Result<crate::plugin_capnp::plugin::plugin_plugins::Reader<'a>> {
      ::capnp::traits::FromPointerReader::get_from_pointer(&self.reader.get_pointer_field(4), ::core::option::Option::None)
    }
    #[inline]
    pub fn has_plugins(&self) -> bool {
      !self.reader.get_pointer_field(4).is_null()
    }
  }

  pub struct Builder<'a> { builder: ::capnp::private::layout::StructBuilder<'a> }
  impl <'a,> ::capnp::traits::HasStructSize for Builder<'a,>  {
    const STRUCT_SIZE: ::capnp::private::layout::StructSize = ::capnp::private::layout::StructSize { data: 0, pointers: 5 };
  }
  impl <'a,> ::capnp::traits::HasTypeId for Builder<'a,>  {
    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 <'a,> ::capnp::traits::SetterInput<Owned<>> for Reader<'a,>  {
    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_version(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_version(&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_version(self, size: u32) -> ::capnp::text::Builder<'a> {
      self.builder.get_pointer_field(0).init_text(size)
    }
    #[inline]
    pub fn has_version(&self) -> bool {
      !self.builder.is_pointer_field_null(0)
    }
    #[inline]
    pub fn get_info(self) -> ::capnp::Result<crate::plugin_capnp::plugin::plugin_info::Builder<'a>> {
      ::capnp::traits::FromPointerBuilder::get_from_pointer(self.builder.get_pointer_field(1), ::core::option::Option::None)
    }
    #[inline]
    pub fn set_info(&mut self, value: crate::plugin_capnp::plugin::plugin_info::Reader<'_>) -> ::capnp::Result<()> {
      ::capnp::traits::SetterInput::set_pointer_builder(self.builder.reborrow().get_pointer_field(1), value, false)
    }
    #[inline]
    pub fn init_info(self, ) -> crate::plugin_capnp::plugin::plugin_info::Builder<'a> {
      ::capnp::traits::FromPointerBuilder::init_pointer(self.builder.get_pointer_field(1), 0)
    }
    #[inline]
    pub fn has_info(&self) -> bool {
      !self.builder.is_pointer_field_null(1)
    }
    #[inline]
    pub fn get_replace(self) -> ::capnp::Result<crate::plugin_capnp::plugin::plugin_replace::Builder<'a>> {
      ::capnp::traits::FromPointerBuilder::get_from_pointer(self.builder.get_pointer_field(2), ::core::option::Option::None)
    }
    #[inline]
    pub fn set_replace(&mut self, value: crate::plugin_capnp::plugin::plugin_replace::Reader<'_>) -> ::capnp::Result<()> {
      ::capnp::traits::SetterInput::set_pointer_builder(self.builder.reborrow().get_pointer_field(2), value, false)
    }
    #[inline]
    pub fn init_replace(self, ) -> crate::plugin_capnp::plugin::plugin_replace::Builder<'a> {
      ::capnp::traits::FromPointerBuilder::init_pointer(self.builder.get_pointer_field(2), 0)
    }
    #[inline]
    pub fn has_replace(&self) -> bool {
      !self.builder.is_pointer_field_null(2)
    }
    #[inline]
    pub fn get_bins(self) -> ::capnp::Result<crate::plugin_capnp::plugin::plugin_bins::Builder<'a>> {
      ::capnp::traits::FromPointerBuilder::get_from_pointer(self.builder.get_pointer_field(3), ::core::option::Option::None)
    }
    #[inline]
    pub fn set_bins(&mut self, value: crate::plugin_capnp::plugin::plugin_bins::Reader<'_>) -> ::capnp::Result<()> {
      ::capnp::traits::SetterInput::set_pointer_builder(self.builder.reborrow().get_pointer_field(3), value, false)
    }
    #[inline]
    pub fn init_bins(self, ) -> crate::plugin_capnp::plugin::plugin_bins::Builder<'a> {
      ::capnp::traits::FromPointerBuilder::init_pointer(self.builder.get_pointer_field(3), 0)
    }
    #[inline]
    pub fn has_bins(&self) -> bool {
      !self.builder.is_pointer_field_null(3)
    }
    #[inline]
    pub fn get_plugins(self) -> ::capnp::Result<crate::plugin_capnp::plugin::plugin_plugins::Builder<'a>> {
      ::capnp::traits::FromPointerBuilder::get_from_pointer(self.builder.get_pointer_field(4), ::core::option::Option::None)
    }
    #[inline]
    pub fn set_plugins(&mut self, value: crate::plugin_capnp::plugin::plugin_plugins::Reader<'_>) -> ::capnp::Result<()> {
      ::capnp::traits::SetterInput::set_pointer_builder(self.builder.reborrow().get_pointer_field(4), value, false)
    }
    #[inline]
    pub fn init_plugins(self, ) -> crate::plugin_capnp::plugin::plugin_plugins::Builder<'a> {
      ::capnp::traits::FromPointerBuilder::init_pointer(self.builder.get_pointer_field(4), 0)
    }
    #[inline]
    pub fn has_plugins(&self) -> bool {
      !self.builder.is_pointer_field_null(4)
    }
  }

  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_info(&self) -> crate::plugin_capnp::plugin::plugin_info::Pipeline {
      ::capnp::capability::FromTypelessPipeline::new(self._typeless.get_pointer_field(1))
    }
    pub fn get_replace(&self) -> crate::plugin_capnp::plugin::plugin_replace::Pipeline {
      ::capnp::capability::FromTypelessPipeline::new(self._typeless.get_pointer_field(2))
    }
    pub fn get_bins(&self) -> crate::plugin_capnp::plugin::plugin_bins::Pipeline {
      ::capnp::capability::FromTypelessPipeline::new(self._typeless.get_pointer_field(3))
    }
    pub fn get_plugins(&self) -> crate::plugin_capnp::plugin::plugin_plugins::Pipeline {
      ::capnp::capability::FromTypelessPipeline::new(self._typeless.get_pointer_field(4))
    }
  }
  mod _private {
    pub static ENCODED_NODE: [::capnp::Word; 108] = [
      ::capnp::word(0, 0, 0, 0, 5, 0, 6, 0),
      ::capnp::word(92, 101, 1, 68, 164, 204, 248, 159),
      ::capnp::word(13, 0, 0, 0, 1, 0, 0, 0),
      ::capnp::word(243, 146, 152, 81, 196, 170, 213, 150),
      ::capnp::word(5, 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, 71, 0, 0, 0),
      ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
      ::capnp::word(89, 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(112, 108, 117, 103, 105, 110, 46, 99),
      ::capnp::word(97, 112, 110, 112, 58, 80, 108, 117),
      ::capnp::word(103, 105, 110, 0, 0, 0, 0, 0),
      ::capnp::word(16, 0, 0, 0, 1, 0, 1, 0),
      ::capnp::word(210, 52, 175, 111, 107, 161, 231, 161),
      ::capnp::word(25, 0, 0, 0, 90, 0, 0, 0),
      ::capnp::word(158, 39, 107, 47, 97, 247, 34, 130),
      ::capnp::word(25, 0, 0, 0, 114, 0, 0, 0),
      ::capnp::word(110, 60, 225, 90, 70, 139, 64, 208),
      ::capnp::word(25, 0, 0, 0, 90, 0, 0, 0),
      ::capnp::word(72, 146, 45, 0, 197, 146, 163, 230),
      ::capnp::word(25, 0, 0, 0, 114, 0, 0, 0),
      ::capnp::word(80, 108, 117, 103, 105, 110, 73, 110),
      ::capnp::word(102, 111, 0, 0, 0, 0, 0, 0),
      ::capnp::word(80, 108, 117, 103, 105, 110, 82, 101),
      ::capnp::word(112, 108, 97, 99, 101, 0, 0, 0),
      ::capnp::word(80, 108, 117, 103, 105, 110, 66, 105),
      ::capnp::word(110, 115, 0, 0, 0, 0, 0, 0),
      ::capnp::word(80, 108, 117, 103, 105, 110, 80, 108),
      ::capnp::word(117, 103, 105, 110, 115, 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, 66, 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(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(129, 0, 0, 0, 42, 0, 0, 0),
      ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
      ::capnp::word(124, 0, 0, 0, 3, 0, 1, 0),
      ::capnp::word(136, 0, 0, 0, 2, 0, 1, 0),
      ::capnp::word(2, 0, 0, 0, 2, 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, 0, 0, 0, 66, 0, 0, 0),
      ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
      ::capnp::word(128, 0, 0, 0, 3, 0, 1, 0),
      ::capnp::word(140, 0, 0, 0, 2, 0, 1, 0),
      ::capnp::word(3, 0, 0, 0, 3, 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, 0, 0, 0, 42, 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(4, 0, 0, 0, 4, 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, 0, 0, 0, 66, 0, 0, 0),
      ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
      ::capnp::word(136, 0, 0, 0, 3, 0, 1, 0),
      ::capnp::word(148, 0, 0, 0, 2, 0, 1, 0),
      ::capnp::word(118, 101, 114, 115, 105, 111, 110, 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(105, 110, 102, 111, 0, 0, 0, 0),
      ::capnp::word(16, 0, 0, 0, 0, 0, 0, 0),
      ::capnp::word(210, 52, 175, 111, 107, 161, 231, 161),
      ::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, 112, 108, 97, 99, 101, 0),
      ::capnp::word(16, 0, 0, 0, 0, 0, 0, 0),
      ::capnp::word(158, 39, 107, 47, 97, 247, 34, 130),
      ::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(98, 105, 110, 115, 0, 0, 0, 0),
      ::capnp::word(16, 0, 0, 0, 0, 0, 0, 0),
      ::capnp::word(110, 60, 225, 90, 70, 139, 64, 208),
      ::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(112, 108, 117, 103, 105, 110, 115, 0),
      ::capnp::word(16, 0, 0, 0, 0, 0, 0, 0),
      ::capnp::word(72, 146, 45, 0, 197, 146, 163, 230),
      ::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 fn get_field_types(index: u16) -> ::capnp::introspect::Type {
      match index {
        0 => <::capnp::text::Owned as ::capnp::introspect::Introspect>::introspect(),
        1 => <crate::plugin_capnp::plugin::plugin_info::Owned as ::capnp::introspect::Introspect>::introspect(),
        2 => <crate::plugin_capnp::plugin::plugin_replace::Owned as ::capnp::introspect::Introspect>::introspect(),
        3 => <crate::plugin_capnp::plugin::plugin_bins::Owned as ::capnp::introspect::Introspect>::introspect(),
        4 => <crate::plugin_capnp::plugin::plugin_plugins::Owned as ::capnp::introspect::Introspect>::introspect(),
        _ => panic!("invalid field index {}", index),
      }
    }
    pub fn get_annotation_types(child_index: Option<u16>, index: u32) -> ::capnp::introspect::Type {
      panic!("invalid annotation indices ({:?}, {}) ", child_index, index)
    }
    pub static RAW_SCHEMA: ::capnp::introspect::RawStructSchema = ::capnp::introspect::RawStructSchema {
      encoded_node: &ENCODED_NODE,
      nonunion_members: NONUNION_MEMBERS,
      members_by_discriminant: MEMBERS_BY_DISCRIMINANT,
      members_by_name: MEMBERS_BY_NAME,
    };
    pub static NONUNION_MEMBERS : &[u16] = &[0,1,2,3,4];
    pub static MEMBERS_BY_DISCRIMINANT : &[u16] = &[];
    pub static MEMBERS_BY_NAME : &[u16] = &[3,1,4,2,0];
    pub const TYPE_ID: u64 = 0x9ff8_cca4_4401_655c;
  }

  pub mod plugin_info {
    #[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 <'a,> ::core::marker::Copy for Reader<'a,>  {}
    impl <'a,> ::core::clone::Clone for Reader<'a,>  {
      fn clone(&self) -> Self { *self }
    }

    impl <'a,> ::capnp::traits::HasTypeId for Reader<'a,>  {
      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 <'a,> ::core::fmt::Debug for Reader<'a,>  {
      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_plugin_name(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_plugin_name(&self) -> bool {
        !self.reader.get_pointer_field(0).is_null()
      }
      #[inline]
      pub fn get_author(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_author(&self) -> bool {
        !self.reader.get_pointer_field(1).is_null()
      }
      #[inline]
      pub fn get_version(self) -> ::capnp::Result<::capnp::text::Reader<'a>> {
        ::capnp::traits::FromPointerReader::get_from_pointer(&self.reader.get_pointer_field(2), ::core::option::Option::None)
      }
      #[inline]
      pub fn has_version(&self) -> bool {
        !self.reader.get_pointer_field(2).is_null()
      }
      #[inline]
      pub fn get_desc(self) -> ::capnp::Result<::capnp::text::Reader<'a>> {
        ::capnp::traits::FromPointerReader::get_from_pointer(&self.reader.get_pointer_field(3), ::core::option::Option::None)
      }
      #[inline]
      pub fn has_desc(&self) -> bool {
        !self.reader.get_pointer_field(3).is_null()
      }
    }

    pub struct Builder<'a> { builder: ::capnp::private::layout::StructBuilder<'a> }
    impl <'a,> ::capnp::traits::HasStructSize for Builder<'a,>  {
      const STRUCT_SIZE: ::capnp::private::layout::StructSize = ::capnp::private::layout::StructSize { data: 0, pointers: 4 };
    }
    impl <'a,> ::capnp::traits::HasTypeId for Builder<'a,>  {
      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 <'a,> ::capnp::traits::SetterInput<Owned<>> for Reader<'a,>  {
      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_plugin_name(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_plugin_name(&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_plugin_name(self, size: u32) -> ::capnp::text::Builder<'a> {
        self.builder.get_pointer_field(0).init_text(size)
      }
      #[inline]
      pub fn has_plugin_name(&self) -> bool {
        !self.builder.is_pointer_field_null(0)
      }
      #[inline]
      pub fn get_author(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_author(&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_author(self, size: u32) -> ::capnp::text::Builder<'a> {
        self.builder.get_pointer_field(1).init_text(size)
      }
      #[inline]
      pub fn has_author(&self) -> bool {
        !self.builder.is_pointer_field_null(1)
      }
      #[inline]
      pub fn get_version(self) -> ::capnp::Result<::capnp::text::Builder<'a>> {
        ::capnp::traits::FromPointerBuilder::get_from_pointer(self.builder.get_pointer_field(2), ::core::option::Option::None)
      }
      #[inline]
      pub fn set_version(&mut self, value: impl ::capnp::traits::SetterInput<::capnp::text::Owned>)  {
        ::capnp::traits::SetterInput::set_pointer_builder(self.builder.reborrow().get_pointer_field(2), value, false).unwrap()
      }
      #[inline]
      pub fn init_version(self, size: u32) -> ::capnp::text::Builder<'a> {
        self.builder.get_pointer_field(2).init_text(size)
      }
      #[inline]
      pub fn has_version(&self) -> bool {
        !self.builder.is_pointer_field_null(2)
      }
      #[inline]
      pub fn get_desc(self) -> ::capnp::Result<::capnp::text::Builder<'a>> {
        ::capnp::traits::FromPointerBuilder::get_from_pointer(self.builder.get_pointer_field(3), ::core::option::Option::None)
      }
      #[inline]
      pub fn set_desc(&mut self, value: impl ::capnp::traits::SetterInput<::capnp::text::Owned>)  {
        ::capnp::traits::SetterInput::set_pointer_builder(self.builder.reborrow().get_pointer_field(3), value, false).unwrap()
      }
      #[inline]
      pub fn init_desc(self, size: u32) -> ::capnp::text::Builder<'a> {
        self.builder.get_pointer_field(3).init_text(size)
      }
      #[inline]
      pub fn has_desc(&self) -> bool {
        !self.builder.is_pointer_field_null(3)
      }
    }

    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 static ENCODED_NODE: [::capnp::Word; 79] = [
        ::capnp::word(0, 0, 0, 0, 5, 0, 6, 0),
        ::capnp::word(210, 52, 175, 111, 107, 161, 231, 161),
        ::capnp::word(20, 0, 0, 0, 1, 0, 0, 0),
        ::capnp::word(92, 101, 1, 68, 164, 204, 248, 159),
        ::capnp::word(4, 0, 7, 0, 0, 0, 0, 0),
        ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
        ::capnp::word(21, 0, 0, 0, 250, 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, 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(112, 108, 117, 103, 105, 110, 46, 99),
        ::capnp::word(97, 112, 110, 112, 58, 80, 108, 117),
        ::capnp::word(103, 105, 110, 46, 80, 108, 117, 103),
        ::capnp::word(105, 110, 73, 110, 102, 111, 0, 0),
        ::capnp::word(0, 0, 0, 0, 1, 0, 1, 0),
        ::capnp::word(16, 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(97, 0, 0, 0, 90, 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, 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(105, 0, 0, 0, 58, 0, 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(2, 0, 0, 0, 2, 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(109, 0, 0, 0, 66, 0, 0, 0),
        ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
        ::capnp::word(104, 0, 0, 0, 3, 0, 1, 0),
        ::capnp::word(116, 0, 0, 0, 2, 0, 1, 0),
        ::capnp::word(3, 0, 0, 0, 3, 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(113, 0, 0, 0, 42, 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(112, 108, 117, 103, 105, 110, 78, 97),
        ::capnp::word(109, 101, 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(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(97, 117, 116, 104, 111, 114, 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(118, 101, 114, 115, 105, 111, 110, 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(100, 101, 115, 99, 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(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 fn get_field_types(index: u16) -> ::capnp::introspect::Type {
        match index {
          0 => <::capnp::text::Owned as ::capnp::introspect::Introspect>::introspect(),
          1 => <::capnp::text::Owned as ::capnp::introspect::Introspect>::introspect(),
          2 => <::capnp::text::Owned as ::capnp::introspect::Introspect>::introspect(),
          3 => <::capnp::text::Owned as ::capnp::introspect::Introspect>::introspect(),
          _ => panic!("invalid field index {}", index),
        }
      }
      pub fn get_annotation_types(child_index: Option<u16>, index: u32) -> ::capnp::introspect::Type {
        panic!("invalid annotation indices ({:?}, {}) ", child_index, index)
      }
      pub static RAW_SCHEMA: ::capnp::introspect::RawStructSchema = ::capnp::introspect::RawStructSchema {
        encoded_node: &ENCODED_NODE,
        nonunion_members: NONUNION_MEMBERS,
        members_by_discriminant: MEMBERS_BY_DISCRIMINANT,
        members_by_name: MEMBERS_BY_NAME,
      };
      pub static NONUNION_MEMBERS : &[u16] = &[0,1,2,3];
      pub static MEMBERS_BY_DISCRIMINANT : &[u16] = &[];
      pub static MEMBERS_BY_NAME : &[u16] = &[1,3,0,2];
      pub const TYPE_ID: u64 = 0xa1e7_a16b_6faf_34d2;
    }
  }

  pub mod plugin_replace {
    #[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 <'a,> ::core::marker::Copy for Reader<'a,>  {}
    impl <'a,> ::core::clone::Clone for Reader<'a,>  {
      fn clone(&self) -> Self { *self }
    }

    impl <'a,> ::capnp::traits::HasTypeId for Reader<'a,>  {
      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 <'a,> ::core::fmt::Debug for Reader<'a,>  {
      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_src_prefix(self) -> ::capnp::Result<::capnp::data::Reader<'a>> {
        ::capnp::traits::FromPointerReader::get_from_pointer(&self.reader.get_pointer_field(0), ::core::option::Option::None)
      }
      #[inline]
      pub fn has_src_prefix(&self) -> bool {
        !self.reader.get_pointer_field(0).is_null()
      }
      #[inline]
      pub fn get_size_holder(self) -> ::capnp::Result<::capnp::data::Reader<'a>> {
        ::capnp::traits::FromPointerReader::get_from_pointer(&self.reader.get_pointer_field(1), ::core::option::Option::None)
      }
      #[inline]
      pub fn has_size_holder(&self) -> bool {
        !self.reader.get_pointer_field(1).is_null()
      }
      #[inline]
      pub fn get_max_len(self) -> u64 {
        self.reader.get_data_field::<u64>(0)
      }
    }

    pub struct Builder<'a> { builder: ::capnp::private::layout::StructBuilder<'a> }
    impl <'a,> ::capnp::traits::HasStructSize for Builder<'a,>  {
      const STRUCT_SIZE: ::capnp::private::layout::StructSize = ::capnp::private::layout::StructSize { data: 1, pointers: 2 };
    }
    impl <'a,> ::capnp::traits::HasTypeId for Builder<'a,>  {
      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 <'a,> ::capnp::traits::SetterInput<Owned<>> for Reader<'a,>  {
      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_src_prefix(self) -> ::capnp::Result<::capnp::data::Builder<'a>> {
        ::capnp::traits::FromPointerBuilder::get_from_pointer(self.builder.get_pointer_field(0), ::core::option::Option::None)
      }
      #[inline]
      pub fn set_src_prefix(&mut self, value: ::capnp::data::Reader<'_>)  {
        self.builder.reborrow().get_pointer_field(0).set_data(value);
      }
      #[inline]
      pub fn init_src_prefix(self, size: u32) -> ::capnp::data::Builder<'a> {
        self.builder.get_pointer_field(0).init_data(size)
      }
      #[inline]
      pub fn has_src_prefix(&self) -> bool {
        !self.builder.is_pointer_field_null(0)
      }
      #[inline]
      pub fn get_size_holder(self) -> ::capnp::Result<::capnp::data::Builder<'a>> {
        ::capnp::traits::FromPointerBuilder::get_from_pointer(self.builder.get_pointer_field(1), ::core::option::Option::None)
      }
      #[inline]
      pub fn set_size_holder(&mut self, value: ::capnp::data::Reader<'_>)  {
        self.builder.reborrow().get_pointer_field(1).set_data(value);
      }
      #[inline]
      pub fn init_size_holder(self, size: u32) -> ::capnp::data::Builder<'a> {
        self.builder.get_pointer_field(1).init_data(size)
      }
      #[inline]
      pub fn has_size_holder(&self) -> bool {
        !self.builder.is_pointer_field_null(1)
      }
      #[inline]
      pub fn get_max_len(self) -> u64 {
        self.builder.get_data_field::<u64>(0)
      }
      #[inline]
      pub fn set_max_len(&mut self, value: u64)  {
        self.builder.set_data_field::<u64>(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  {
    }
    mod _private {
      pub static ENCODED_NODE: [::capnp::Word; 66] = [
        ::capnp::word(0, 0, 0, 0, 5, 0, 6, 0),
        ::capnp::word(158, 39, 107, 47, 97, 247, 34, 130),
        ::capnp::word(20, 0, 0, 0, 1, 0, 1, 0),
        ::capnp::word(92, 101, 1, 68, 164, 204, 248, 159),
        ::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, 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, 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(112, 108, 117, 103, 105, 110, 46, 99),
        ::capnp::word(97, 112, 110, 112, 58, 80, 108, 117),
        ::capnp::word(103, 105, 110, 46, 80, 108, 117, 103),
        ::capnp::word(105, 110, 82, 101, 112, 108, 97, 99),
        ::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, 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(77, 0, 0, 0, 90, 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, 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(85, 0, 0, 0, 58, 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(115, 114, 99, 80, 114, 101, 102, 105),
        ::capnp::word(120, 0, 0, 0, 0, 0, 0, 0),
        ::capnp::word(13, 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(13, 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, 105, 122, 101, 72, 111, 108, 100),
        ::capnp::word(101, 114, 0, 0, 0, 0, 0, 0),
        ::capnp::word(13, 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(13, 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, 97, 120, 76, 101, 110, 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),
      ];
      pub fn get_field_types(index: u16) -> ::capnp::introspect::Type {
        match index {
          0 => <::capnp::data::Owned as ::capnp::introspect::Introspect>::introspect(),
          1 => <::capnp::data::Owned as ::capnp::introspect::Introspect>::introspect(),
          2 => <u64 as ::capnp::introspect::Introspect>::introspect(),
          _ => panic!("invalid field index {}", index),
        }
      }
      pub fn get_annotation_types(child_index: Option<u16>, index: u32) -> ::capnp::introspect::Type {
        panic!("invalid annotation indices ({:?}, {}) ", child_index, index)
      }
      pub static RAW_SCHEMA: ::capnp::introspect::RawStructSchema = ::capnp::introspect::RawStructSchema {
        encoded_node: &ENCODED_NODE,
        nonunion_members: NONUNION_MEMBERS,
        members_by_discriminant: MEMBERS_BY_DISCRIMINANT,
        members_by_name: MEMBERS_BY_NAME,
      };
      pub static NONUNION_MEMBERS : &[u16] = &[0,1,2];
      pub static MEMBERS_BY_DISCRIMINANT : &[u16] = &[];
      pub static MEMBERS_BY_NAME : &[u16] = &[2,1,0];
      pub const TYPE_ID: u64 = 0x8222_f761_2f6b_279e;
    }
  }

  pub mod plugin_bins {
    #[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 <'a,> ::core::marker::Copy for Reader<'a,>  {}
    impl <'a,> ::core::clone::Clone for Reader<'a,>  {
      fn clone(&self) -> Self { *self }
    }

    impl <'a,> ::capnp::traits::HasTypeId for Reader<'a,>  {
      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 <'a,> ::core::fmt::Debug for Reader<'a,>  {
      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_windows(self) -> ::capnp::Result<crate::plugin_capnp::plugin::plugin_bins::bins::Reader<'a>> {
        ::capnp::traits::FromPointerReader::get_from_pointer(&self.reader.get_pointer_field(0), ::core::option::Option::None)
      }
      #[inline]
      pub fn has_windows(&self) -> bool {
        !self.reader.get_pointer_field(0).is_null()
      }
      #[inline]
      pub fn get_linux(self) -> ::capnp::Result<crate::plugin_capnp::plugin::plugin_bins::bins::Reader<'a>> {
        ::capnp::traits::FromPointerReader::get_from_pointer(&self.reader.get_pointer_field(1), ::core::option::Option::None)
      }
      #[inline]
      pub fn has_linux(&self) -> bool {
        !self.reader.get_pointer_field(1).is_null()
      }
      #[inline]
      pub fn get_darwin(self) -> ::capnp::Result<crate::plugin_capnp::plugin::plugin_bins::bins::Reader<'a>> {
        ::capnp::traits::FromPointerReader::get_from_pointer(&self.reader.get_pointer_field(2), ::core::option::Option::None)
      }
      #[inline]
      pub fn has_darwin(&self) -> bool {
        !self.reader.get_pointer_field(2).is_null()
      }
    }

    pub struct Builder<'a> { builder: ::capnp::private::layout::StructBuilder<'a> }
    impl <'a,> ::capnp::traits::HasStructSize for Builder<'a,>  {
      const STRUCT_SIZE: ::capnp::private::layout::StructSize = ::capnp::private::layout::StructSize { data: 0, pointers: 3 };
    }
    impl <'a,> ::capnp::traits::HasTypeId for Builder<'a,>  {
      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 <'a,> ::capnp::traits::SetterInput<Owned<>> for Reader<'a,>  {
      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_windows(self) -> ::capnp::Result<crate::plugin_capnp::plugin::plugin_bins::bins::Builder<'a>> {
        ::capnp::traits::FromPointerBuilder::get_from_pointer(self.builder.get_pointer_field(0), ::core::option::Option::None)
      }
      #[inline]
      pub fn set_windows(&mut self, value: crate::plugin_capnp::plugin::plugin_bins::bins::Reader<'_>) -> ::capnp::Result<()> {
        ::capnp::traits::SetterInput::set_pointer_builder(self.builder.reborrow().get_pointer_field(0), value, false)
      }
      #[inline]
      pub fn init_windows(self, ) -> crate::plugin_capnp::plugin::plugin_bins::bins::Builder<'a> {
        ::capnp::traits::FromPointerBuilder::init_pointer(self.builder.get_pointer_field(0), 0)
      }
      #[inline]
      pub fn has_windows(&self) -> bool {
        !self.builder.is_pointer_field_null(0)
      }
      #[inline]
      pub fn get_linux(self) -> ::capnp::Result<crate::plugin_capnp::plugin::plugin_bins::bins::Builder<'a>> {
        ::capnp::traits::FromPointerBuilder::get_from_pointer(self.builder.get_pointer_field(1), ::core::option::Option::None)
      }
      #[inline]
      pub fn set_linux(&mut self, value: crate::plugin_capnp::plugin::plugin_bins::bins::Reader<'_>) -> ::capnp::Result<()> {
        ::capnp::traits::SetterInput::set_pointer_builder(self.builder.reborrow().get_pointer_field(1), value, false)
      }
      #[inline]
      pub fn init_linux(self, ) -> crate::plugin_capnp::plugin::plugin_bins::bins::Builder<'a> {
        ::capnp::traits::FromPointerBuilder::init_pointer(self.builder.get_pointer_field(1), 0)
      }
      #[inline]
      pub fn has_linux(&self) -> bool {
        !self.builder.is_pointer_field_null(1)
      }
      #[inline]
      pub fn get_darwin(self) -> ::capnp::Result<crate::plugin_capnp::plugin::plugin_bins::bins::Builder<'a>> {
        ::capnp::traits::FromPointerBuilder::get_from_pointer(self.builder.get_pointer_field(2), ::core::option::Option::None)
      }
      #[inline]
      pub fn set_darwin(&mut self, value: crate::plugin_capnp::plugin::plugin_bins::bins::Reader<'_>) -> ::capnp::Result<()> {
        ::capnp::traits::SetterInput::set_pointer_builder(self.builder.reborrow().get_pointer_field(2), value, false)
      }
      #[inline]
      pub fn init_darwin(self, ) -> crate::plugin_capnp::plugin::plugin_bins::bins::Builder<'a> {
        ::capnp::traits::FromPointerBuilder::init_pointer(self.builder.get_pointer_field(2), 0)
      }
      #[inline]
      pub fn has_darwin(&self) -> bool {
        !self.builder.is_pointer_field_null(2)
      }
    }

    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_windows(&self) -> crate::plugin_capnp::plugin::plugin_bins::bins::Pipeline {
        ::capnp::capability::FromTypelessPipeline::new(self._typeless.get_pointer_field(0))
      }
      pub fn get_linux(&self) -> crate::plugin_capnp::plugin::plugin_bins::bins::Pipeline {
        ::capnp::capability::FromTypelessPipeline::new(self._typeless.get_pointer_field(1))
      }
      pub fn get_darwin(&self) -> crate::plugin_capnp::plugin::plugin_bins::bins::Pipeline {
        ::capnp::capability::FromTypelessPipeline::new(self._typeless.get_pointer_field(2))
      }
    }
    mod _private {
      pub static ENCODED_NODE: [::capnp::Word; 66] = [
        ::capnp::word(0, 0, 0, 0, 5, 0, 6, 0),
        ::capnp::word(110, 60, 225, 90, 70, 139, 64, 208),
        ::capnp::word(20, 0, 0, 0, 1, 0, 0, 0),
        ::capnp::word(92, 101, 1, 68, 164, 204, 248, 159),
        ::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, 250, 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, 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(112, 108, 117, 103, 105, 110, 46, 99),
        ::capnp::word(97, 112, 110, 112, 58, 80, 108, 117),
        ::capnp::word(103, 105, 110, 46, 80, 108, 117, 103),
        ::capnp::word(105, 110, 66, 105, 110, 115, 0, 0),
        ::capnp::word(4, 0, 0, 0, 1, 0, 1, 0),
        ::capnp::word(198, 25, 55, 83, 10, 246, 121, 196),
        ::capnp::word(1, 0, 0, 0, 42, 0, 0, 0),
        ::capnp::word(66, 105, 110, 115, 0, 0, 0, 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, 66, 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, 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(73, 0, 0, 0, 50, 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(2, 0, 0, 0, 2, 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(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(119, 105, 110, 100, 111, 119, 115, 0),
        ::capnp::word(16, 0, 0, 0, 0, 0, 0, 0),
        ::capnp::word(198, 25, 55, 83, 10, 246, 121, 196),
        ::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(108, 105, 110, 117, 120, 0, 0, 0),
        ::capnp::word(16, 0, 0, 0, 0, 0, 0, 0),
        ::capnp::word(198, 25, 55, 83, 10, 246, 121, 196),
        ::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, 97, 114, 119, 105, 110, 0, 0),
        ::capnp::word(16, 0, 0, 0, 0, 0, 0, 0),
        ::capnp::word(198, 25, 55, 83, 10, 246, 121, 196),
        ::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 fn get_field_types(index: u16) -> ::capnp::introspect::Type {
        match index {
          0 => <crate::plugin_capnp::plugin::plugin_bins::bins::Owned as ::capnp::introspect::Introspect>::introspect(),
          1 => <crate::plugin_capnp::plugin::plugin_bins::bins::Owned as ::capnp::introspect::Introspect>::introspect(),
          2 => <crate::plugin_capnp::plugin::plugin_bins::bins::Owned as ::capnp::introspect::Introspect>::introspect(),
          _ => panic!("invalid field index {}", index),
        }
      }
      pub fn get_annotation_types(child_index: Option<u16>, index: u32) -> ::capnp::introspect::Type {
        panic!("invalid annotation indices ({:?}, {}) ", child_index, index)
      }
      pub static RAW_SCHEMA: ::capnp::introspect::RawStructSchema = ::capnp::introspect::RawStructSchema {
        encoded_node: &ENCODED_NODE,
        nonunion_members: NONUNION_MEMBERS,
        members_by_discriminant: MEMBERS_BY_DISCRIMINANT,
        members_by_name: MEMBERS_BY_NAME,
      };
      pub static NONUNION_MEMBERS : &[u16] = &[0,1,2];
      pub static MEMBERS_BY_DISCRIMINANT : &[u16] = &[];
      pub static MEMBERS_BY_NAME : &[u16] = &[2,1,0];
      pub const TYPE_ID: u64 = 0xd040_8b46_5ae1_3c6e;
    }

    pub mod bins {
      #[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 <'a,> ::core::marker::Copy for Reader<'a,>  {}
      impl <'a,> ::core::clone::Clone for Reader<'a,>  {
        fn clone(&self) -> Self { *self }
      }

      impl <'a,> ::capnp::traits::HasTypeId for Reader<'a,>  {
        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 <'a,> ::core::fmt::Debug for Reader<'a,>  {
        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_executable(self) -> ::capnp::Result<::capnp::data::Reader<'a>> {
          ::capnp::traits::FromPointerReader::get_from_pointer(&self.reader.get_pointer_field(0), ::core::option::Option::None)
        }
        #[inline]
        pub fn has_executable(&self) -> bool {
          !self.reader.get_pointer_field(0).is_null()
        }
        #[inline]
        pub fn get_dynamic_library(self) -> ::capnp::Result<::capnp::data::Reader<'a>> {
          ::capnp::traits::FromPointerReader::get_from_pointer(&self.reader.get_pointer_field(1), ::core::option::Option::None)
        }
        #[inline]
        pub fn has_dynamic_library(&self) -> bool {
          !self.reader.get_pointer_field(1).is_null()
        }
      }

      pub struct Builder<'a> { builder: ::capnp::private::layout::StructBuilder<'a> }
      impl <'a,> ::capnp::traits::HasStructSize for Builder<'a,>  {
        const STRUCT_SIZE: ::capnp::private::layout::StructSize = ::capnp::private::layout::StructSize { data: 0, pointers: 2 };
      }
      impl <'a,> ::capnp::traits::HasTypeId for Builder<'a,>  {
        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 <'a,> ::capnp::traits::SetterInput<Owned<>> for Reader<'a,>  {
        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_executable(self) -> ::capnp::Result<::capnp::data::Builder<'a>> {
          ::capnp::traits::FromPointerBuilder::get_from_pointer(self.builder.get_pointer_field(0), ::core::option::Option::None)
        }
        #[inline]
        pub fn set_executable(&mut self, value: ::capnp::data::Reader<'_>)  {
          self.builder.reborrow().get_pointer_field(0).set_data(value);
        }
        #[inline]
        pub fn init_executable(self, size: u32) -> ::capnp::data::Builder<'a> {
          self.builder.get_pointer_field(0).init_data(size)
        }
        #[inline]
        pub fn has_executable(&self) -> bool {
          !self.builder.is_pointer_field_null(0)
        }
        #[inline]
        pub fn get_dynamic_library(self) -> ::capnp::Result<::capnp::data::Builder<'a>> {
          ::capnp::traits::FromPointerBuilder::get_from_pointer(self.builder.get_pointer_field(1), ::core::option::Option::None)
        }
        #[inline]
        pub fn set_dynamic_library(&mut self, value: ::capnp::data::Reader<'_>)  {
          self.builder.reborrow().get_pointer_field(1).set_data(value);
        }
        #[inline]
        pub fn init_dynamic_library(self, size: u32) -> ::capnp::data::Builder<'a> {
          self.builder.get_pointer_field(1).init_data(size)
        }
        #[inline]
        pub fn has_dynamic_library(&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 static ENCODED_NODE: [::capnp::Word; 51] = [
          ::capnp::word(0, 0, 0, 0, 5, 0, 6, 0),
          ::capnp::word(198, 25, 55, 83, 10, 246, 121, 196),
          ::capnp::word(31, 0, 0, 0, 1, 0, 0, 0),
          ::capnp::word(110, 60, 225, 90, 70, 139, 64, 208),
          ::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, 34, 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(112, 108, 117, 103, 105, 110, 46, 99),
          ::capnp::word(97, 112, 110, 112, 58, 80, 108, 117),
          ::capnp::word(103, 105, 110, 46, 80, 108, 117, 103),
          ::capnp::word(105, 110, 66, 105, 110, 115, 46, 66),
          ::capnp::word(105, 110, 115, 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, 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(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(101, 120, 101, 99, 117, 116, 97, 98),
          ::capnp::word(108, 101, 0, 0, 0, 0, 0, 0),
          ::capnp::word(13, 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(13, 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, 121, 110, 97, 109, 105, 99, 76),
          ::capnp::word(105, 98, 114, 97, 114, 121, 0, 0),
          ::capnp::word(13, 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(13, 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 fn get_field_types(index: u16) -> ::capnp::introspect::Type {
          match index {
            0 => <::capnp::data::Owned as ::capnp::introspect::Introspect>::introspect(),
            1 => <::capnp::data::Owned as ::capnp::introspect::Introspect>::introspect(),
            _ => panic!("invalid field index {}", index),
          }
        }
        pub fn get_annotation_types(child_index: Option<u16>, index: u32) -> ::capnp::introspect::Type {
          panic!("invalid annotation indices ({:?}, {}) ", child_index, index)
        }
        pub static RAW_SCHEMA: ::capnp::introspect::RawStructSchema = ::capnp::introspect::RawStructSchema {
          encoded_node: &ENCODED_NODE,
          nonunion_members: NONUNION_MEMBERS,
          members_by_discriminant: MEMBERS_BY_DISCRIMINANT,
          members_by_name: MEMBERS_BY_NAME,
        };
        pub static NONUNION_MEMBERS : &[u16] = &[0,1];
        pub static MEMBERS_BY_DISCRIMINANT : &[u16] = &[];
        pub static MEMBERS_BY_NAME : &[u16] = &[1,0];
        pub const TYPE_ID: u64 = 0xc479_f60a_5337_19c6;
      }
    }
  }

  pub mod plugin_plugins {
    #[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 <'a,> ::core::marker::Copy for Reader<'a,>  {}
    impl <'a,> ::core::clone::Clone for Reader<'a,>  {
      fn clone(&self) -> Self { *self }
    }

    impl <'a,> ::capnp::traits::HasTypeId for Reader<'a,>  {
      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 <'a,> ::core::fmt::Debug for Reader<'a,>  {
      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_encrypt_shellcode(self) -> ::capnp::Result<::capnp::data::Reader<'a>> {
        ::capnp::traits::FromPointerReader::get_from_pointer(&self.reader.get_pointer_field(0), ::core::option::Option::None)
      }
      #[inline]
      pub fn has_encrypt_shellcode(&self) -> bool {
        !self.reader.get_pointer_field(0).is_null()
      }
      #[inline]
      pub fn get_format_encrypted_shellcode(self) -> ::capnp::Result<::capnp::data::Reader<'a>> {
        ::capnp::traits::FromPointerReader::get_from_pointer(&self.reader.get_pointer_field(1), ::core::option::Option::None)
      }
      #[inline]
      pub fn has_format_encrypted_shellcode(&self) -> bool {
        !self.reader.get_pointer_field(1).is_null()
      }
      #[inline]
      pub fn get_format_url_remote(self) -> ::capnp::Result<::capnp::data::Reader<'a>> {
        ::capnp::traits::FromPointerReader::get_from_pointer(&self.reader.get_pointer_field(2), ::core::option::Option::None)
      }
      #[inline]
      pub fn has_format_url_remote(&self) -> bool {
        !self.reader.get_pointer_field(2).is_null()
      }
      #[inline]
      pub fn get_upload_final_shellcode_remote(self) -> ::capnp::Result<::capnp::data::Reader<'a>> {
        ::capnp::traits::FromPointerReader::get_from_pointer(&self.reader.get_pointer_field(3), ::core::option::Option::None)
      }
      #[inline]
      pub fn has_upload_final_shellcode_remote(&self) -> bool {
        !self.reader.get_pointer_field(3).is_null()
      }
    }

    pub struct Builder<'a> { builder: ::capnp::private::layout::StructBuilder<'a> }
    impl <'a,> ::capnp::traits::HasStructSize for Builder<'a,>  {
      const STRUCT_SIZE: ::capnp::private::layout::StructSize = ::capnp::private::layout::StructSize { data: 0, pointers: 4 };
    }
    impl <'a,> ::capnp::traits::HasTypeId for Builder<'a,>  {
      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 <'a,> ::capnp::traits::SetterInput<Owned<>> for Reader<'a,>  {
      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_encrypt_shellcode(self) -> ::capnp::Result<::capnp::data::Builder<'a>> {
        ::capnp::traits::FromPointerBuilder::get_from_pointer(self.builder.get_pointer_field(0), ::core::option::Option::None)
      }
      #[inline]
      pub fn set_encrypt_shellcode(&mut self, value: ::capnp::data::Reader<'_>)  {
        self.builder.reborrow().get_pointer_field(0).set_data(value);
      }
      #[inline]
      pub fn init_encrypt_shellcode(self, size: u32) -> ::capnp::data::Builder<'a> {
        self.builder.get_pointer_field(0).init_data(size)
      }
      #[inline]
      pub fn has_encrypt_shellcode(&self) -> bool {
        !self.builder.is_pointer_field_null(0)
      }
      #[inline]
      pub fn get_format_encrypted_shellcode(self) -> ::capnp::Result<::capnp::data::Builder<'a>> {
        ::capnp::traits::FromPointerBuilder::get_from_pointer(self.builder.get_pointer_field(1), ::core::option::Option::None)
      }
      #[inline]
      pub fn set_format_encrypted_shellcode(&mut self, value: ::capnp::data::Reader<'_>)  {
        self.builder.reborrow().get_pointer_field(1).set_data(value);
      }
      #[inline]
      pub fn init_format_encrypted_shellcode(self, size: u32) -> ::capnp::data::Builder<'a> {
        self.builder.get_pointer_field(1).init_data(size)
      }
      #[inline]
      pub fn has_format_encrypted_shellcode(&self) -> bool {
        !self.builder.is_pointer_field_null(1)
      }
      #[inline]
      pub fn get_format_url_remote(self) -> ::capnp::Result<::capnp::data::Builder<'a>> {
        ::capnp::traits::FromPointerBuilder::get_from_pointer(self.builder.get_pointer_field(2), ::core::option::Option::None)
      }
      #[inline]
      pub fn set_format_url_remote(&mut self, value: ::capnp::data::Reader<'_>)  {
        self.builder.reborrow().get_pointer_field(2).set_data(value);
      }
      #[inline]
      pub fn init_format_url_remote(self, size: u32) -> ::capnp::data::Builder<'a> {
        self.builder.get_pointer_field(2).init_data(size)
      }
      #[inline]
      pub fn has_format_url_remote(&self) -> bool {
        !self.builder.is_pointer_field_null(2)
      }
      #[inline]
      pub fn get_upload_final_shellcode_remote(self) -> ::capnp::Result<::capnp::data::Builder<'a>> {
        ::capnp::traits::FromPointerBuilder::get_from_pointer(self.builder.get_pointer_field(3), ::core::option::Option::None)
      }
      #[inline]
      pub fn set_upload_final_shellcode_remote(&mut self, value: ::capnp::data::Reader<'_>)  {
        self.builder.reborrow().get_pointer_field(3).set_data(value);
      }
      #[inline]
      pub fn init_upload_final_shellcode_remote(self, size: u32) -> ::capnp::data::Builder<'a> {
        self.builder.get_pointer_field(3).init_data(size)
      }
      #[inline]
      pub fn has_upload_final_shellcode_remote(&self) -> bool {
        !self.builder.is_pointer_field_null(3)
      }
    }

    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 static ENCODED_NODE: [::capnp::Word; 88] = [
        ::capnp::word(0, 0, 0, 0, 5, 0, 6, 0),
        ::capnp::word(72, 146, 45, 0, 197, 146, 163, 230),
        ::capnp::word(20, 0, 0, 0, 1, 0, 0, 0),
        ::capnp::word(92, 101, 1, 68, 164, 204, 248, 159),
        ::capnp::word(4, 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, 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(112, 108, 117, 103, 105, 110, 46, 99),
        ::capnp::word(97, 112, 110, 112, 58, 80, 108, 117),
        ::capnp::word(103, 105, 110, 46, 80, 108, 117, 103),
        ::capnp::word(105, 110, 80, 108, 117, 103, 105, 110),
        ::capnp::word(115, 0, 0, 0, 0, 0, 0, 0),
        ::capnp::word(0, 0, 0, 0, 1, 0, 1, 0),
        ::capnp::word(16, 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(97, 0, 0, 0, 138, 0, 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(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(109, 0, 0, 0, 202, 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(2, 0, 0, 0, 2, 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(125, 0, 0, 0, 130, 0, 0, 0),
        ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
        ::capnp::word(124, 0, 0, 0, 3, 0, 1, 0),
        ::capnp::word(136, 0, 0, 0, 2, 0, 1, 0),
        ::capnp::word(3, 0, 0, 0, 3, 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(133, 0, 0, 0, 218, 0, 0, 0),
        ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
        ::capnp::word(140, 0, 0, 0, 3, 0, 1, 0),
        ::capnp::word(152, 0, 0, 0, 2, 0, 1, 0),
        ::capnp::word(101, 110, 99, 114, 121, 112, 116, 83),
        ::capnp::word(104, 101, 108, 108, 99, 111, 100, 101),
        ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
        ::capnp::word(13, 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(13, 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, 111, 114, 109, 97, 116, 69, 110),
        ::capnp::word(99, 114, 121, 112, 116, 101, 100, 83),
        ::capnp::word(104, 101, 108, 108, 99, 111, 100, 101),
        ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
        ::capnp::word(13, 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(13, 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, 111, 114, 109, 97, 116, 85, 114),
        ::capnp::word(108, 82, 101, 109, 111, 116, 101, 0),
        ::capnp::word(13, 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(13, 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(117, 112, 108, 111, 97, 100, 70, 105),
        ::capnp::word(110, 97, 108, 83, 104, 101, 108, 108),
        ::capnp::word(99, 111, 100, 101, 82, 101, 109, 111),
        ::capnp::word(116, 101, 0, 0, 0, 0, 0, 0),
        ::capnp::word(13, 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(13, 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 fn get_field_types(index: u16) -> ::capnp::introspect::Type {
        match index {
          0 => <::capnp::data::Owned as ::capnp::introspect::Introspect>::introspect(),
          1 => <::capnp::data::Owned as ::capnp::introspect::Introspect>::introspect(),
          2 => <::capnp::data::Owned as ::capnp::introspect::Introspect>::introspect(),
          3 => <::capnp::data::Owned as ::capnp::introspect::Introspect>::introspect(),
          _ => panic!("invalid field index {}", index),
        }
      }
      pub fn get_annotation_types(child_index: Option<u16>, index: u32) -> ::capnp::introspect::Type {
        panic!("invalid annotation indices ({:?}, {}) ", child_index, index)
      }
      pub static RAW_SCHEMA: ::capnp::introspect::RawStructSchema = ::capnp::introspect::RawStructSchema {
        encoded_node: &ENCODED_NODE,
        nonunion_members: NONUNION_MEMBERS,
        members_by_discriminant: MEMBERS_BY_DISCRIMINANT,
        members_by_name: MEMBERS_BY_NAME,
      };
      pub static NONUNION_MEMBERS : &[u16] = &[0,1,2,3];
      pub static MEMBERS_BY_DISCRIMINANT : &[u16] = &[];
      pub static MEMBERS_BY_NAME : &[u16] = &[0,1,2,3];
      pub const TYPE_ID: u64 = 0xe6a3_92c5_002d_9248;
    }
  }
}
